summaryrefslogtreecommitdiff
path: root/lisp/mail
AgeCommit message (Collapse)Author
2026-05-29Merge from origin/emacs-31Sean Whitton
c3babe4b896 Fix lax whitespace highlight during query-replace 2e70b88623e Fix fill-paragraph combining text with preceding comment ea54c33950f ; * etc/PROBLEMS: Link to bug#81124. 02897e208d0 emacsclient quote_argument is void c6181780663 ; Mark process-test-stderr-buffer as :unstable when runni... 2c1b45f5c56 ; Improve documentation of 'vc-dir-auto-hide-up-to-date' 768c8bf0045 Revert "* admin/notes/documentation: Recommend not using ... a7414f18598 native--compile-skip-on-battery-p: Try to fix ?b, ?B cond... 7cee526a8cc Save and restore original local keymap in grep-edit-mode 4d87d203cfb Fix display of inline SVG images in Rmail 4c55d04ebe3 Add treesit-ready-p check back to tree-sitter major modes... 7892ae5eaf4 Fix pathological slowness in flex completion 12eec781ed6 No longer raise error on HTTP 402 (Payment Required) (bug... 1800350b186 Avoid compilation-mode matching rust as gnu
2026-05-24Fix display of inline SVG images in RmailEli Zaretskii
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Support Content-type of "svg+xml" if SVG images are supported,
2026-05-18shr.el: Don't insert image at outdated destination (bug#80945)Stefan Monnier
When fetching images asynchronously, keep track of the destination region and refrain from inserting the image if that region has been modified in the mean time. * lisp/net/shr.el (shr--image-fetched, shr--async-put-image): New functions. (shr-insert-image, shr-zoom-image, shr-image-displayer, shr-tag-img): Use them. * lisp/mail/rmailmm.el (rmail-mime-render-html-shr): Add FIXME.
2026-05-16Merge from origin/emacs-31Eli Zaretskii
7eab6ef3cee Fix 'sgml-parse-tag-backward' to handle tags in comments 09dc864b0b8 Fix eww-submit for forms with no action (bug#80918) 0e7a24d9313 * lisp/progmodes/hideshow.el (hs--set-variable): Use 'set... f12b01582db Fix Completions buffer disappearing with tmm-menubar (bug... 519fd832111 Fix secrets.el when Emacs is a flatpak 9e4ea934f23 Fix 'prepare-user-lisp' to follow symlinks e613e38021e Update "timeout" to 2.1.6 196fd80689e [GTK3, HiDPI] Fix width/height round-trip through Configu... acc07f1a030 [GTK3] On Expose, repaint the border before the content 5323eebcffc Test read-passwd behavior (bug#80838) 01c5990dd06 Fix nested read-passwd calls (bug#80838) 027043df257 ; * lisp/gnus/message.el (message-server-alist): Doc fix ... 3b608b233ed Fix terminal emulation of "ESC [ K" sequence 6a605c65a83 Fix vertical-motion across overlay strings with embedded ... e4d529c67b6 ; Fix last change d54faa0f1bf Mark gnus-dbus.el as obsolete 9bf2a19bb21 Move gnus-dbus.el to obsolete/gnus-dbus.el 984024daf3c Gnus: Use new sleep library d7c130972e0 ; * lisp/term/pgtk-win.el (icon-map-list): Fix :type. 5579893ed7c ; Don't block/unblock input in text_extents methods 547b1ee7b6d Fix Rmail behavior wrt globalized minor modes 6ba05106f4e Fix display images in the display margins 56f27dd9f06 Eglot: fix eglot--sig-info with non-UTF-32 positionEncoding 543d8a7a9d7 [NS] Fix deprecated variable (bug#80985) # Conflicts: # etc/NEWS
2026-05-14The summary scan should include the current msg and run to end.Richard Stallman
* lisp/mail/rmailsum.el (rmail-new-summary-1): If we are before, or close to, msg number rmail-summary-starting-message, start the search a little before there.
2026-05-09Fix Rmail behavior wrt globalized minor modesEli Zaretskii
Previously, "M-x rmail" would not call 'run-mode-hooks', which didn't let globalized minor modes a chance to turn on themselves in Rmail buffers. This modifies the way Rmail runs the various hooks so as to abide by behavior required by Emacs 30 and later. * lisp/mail/rmail.el (rmail-mode-2): Call 'run-mode-hooks'. (rmail-mode): Call 'run-hooks', not 'run-mode-hooks'. Suggested by Mark Lillibridge <mdl@alum.mit.edu>. (Bug#80879)
2026-04-22(mail-citation-prefix-regexp): Fix excessive backtracking (bug#80808)Stefan Monnier
* lisp/mail/sendmail.el (mail-citation-prefix-regexp): Simplify regexp and fix docstring to reflect reality since commit 0b8ee42164cc4569.
2026-03-10Use single-arg form of `signal` to re-throw an errorStefan Monnier
* lisp/vc/smerge-mode.el (smerge-extend): * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): * lisp/transient.el (transient--with-emergency-exit): * lisp/textmodes/tex-mode.el (latex-forward-sexp): * lisp/tar-mode.el (tar-mode): * lisp/savehist.el (savehist--reload): * lisp/progmodes/octave.el (inferior-octave-resync-dirs): * lisp/progmodes/js.el (js--re-search-forward): * lisp/plstore.el (plstore--decrypt): * lisp/net/dbus.el (dbus-ignore-errors, dbus-register-signal) (dbus-handle-event): * lisp/mouse.el (mouse-drag-track, mouse-drag-region-rectangle): * lisp/minibuffer.el (completion-pcm--find-all-completions): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rfc2047.el (rfc2047-encode-region): * lisp/jit-lock.el (jit-lock-fontify-now): * lisp/international/ja-dic-utl.el (skkdic-lookup-key): * lisp/gnus/nnselect.el (nnselect-generate-artlist): * lisp/gnus/mml-sec.el (mml-secure-epg-encrypt, mml-secure-epg-sign): * lisp/gnus/mail-source.el (mail-source-fetch-pop) (mail-source-check-pop): * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): * lisp/files.el (basic-save-buffer-2, files--ensure-directory) (files--force, copy-directory): * lisp/eshell/esh-io.el (eshell-output-object-to-target): * lisp/epa.el (epa-decrypt-file, epa-verify-file, epa-sign-file) (epa-encrypt-file, epa-decrypt-region, epa-verify-region) (epa-sign-region, epa-encrypt-region, epa-delete-keys) (epa-export-keys, epa-insert-keys): * lisp/emacs-lisp/package.el (package--unless-error): * lisp/emacs-lisp/multisession.el (multisession--read-file-value): * lisp/emacs-lisp/lisp.el (up-list-default-function): * lisp/desktop.el (desktop-kill): * lisp/calendar/time-date.el (date-to-time): * lisp/calendar/appt.el (appt-display-message): * lisp/calc/calc.el (calc-do): * lisp/bookmark.el (bookmark-handle-bookmark): * src/fileio.c (report_file_errno): * lisp/vc/vc.el (vc-checkout, vc-pull): Use `(signal err)` instead of `(signal (car err) (cdr err))`.
2026-03-10Use the new error API functionsStefan Monnier
* lisp/epa-file.el (epa-file--find-file-not-found-function): Use `error-slot-value` and `error-data`. (epa-file-insert-file-contents): Use `error-has-type-p`, `error-slot-value`, and `error-data`. * lisp/jka-compr.el (jka-compr-insert-file-contents): Use `error-has-type-p` and `error-slot-value` as well as new re-signaling form of `signal`. * lisp/simple.el (minibuffer-error-function): Use `error-has-type-p`. * lisp/startup.el (startup--load-user-init-file): Use `error-message-string`. (command-line): Use `error-has-type-p` and `error-message-string`. * lisp/type-break.el (type-break-demo-life): Use `error-message-string`. * lisp/emacs-lisp/bytecomp.el (batch-byte-compile-file): Use `error-message-string` and `error-has-type-p`. * lisp/emacs-lisp/edebug.el (edebug-safe-eval, edebug-report-error) (edebug-eval-expression): * lisp/emacs-lisp/debug.el (debugger-eval-expression): Use `error-message-string`. * lisp/emacs-lisp/ert.el (ert--should-error-handle-error): Use `error-has-type-p` and `error-type`. * lisp/net/sasl.el (sasl-error): Use `define-error`. * lisp/net/tramp-compat.el (tramp-error-type-p): New function. (tramp-permission-denied, tramp-compat-permission-denied): Use it. * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Use `error-type-p`. * lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal) (turn-off-xterm-mouse-tracking-on-terminal): Use `error-slot-value`. * lisp/simple.el (next-line, previous-line): Remove useless `condition-case` handler, and hence the whole `condition-case`, and then simplify. * lisp/gnus/nnrss.el (nnrss-insert): Use `with-demoted-errors`. * lisp/gnus/nnmaildir.el (nnmaildir--emlink-p, nnmaildir--enoent-p) (nnmaildir--eexist-p): Use `error-has-type-p`. (nnmaildir--new-number, nnmaildir-request-set-mark): Use single-arg `signal`. * lisp/ffap.el (ffap-machine-p): Use `error-slot-value`. * lisp/emacs-lisp/comp.el (comp--native-compile): Use `error-has-type-p` as well as single-arg `signal`. * lisp/net/ange-ftp.el (ange-ftp-hook-function): Use single-arg `signal`. * lisp/ebuff-menu.el (electric-buffer-menu-looper): Use `error-has-type-p`. * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper): Use `error-has-type-p`. (ebrowse-electric-position-looper): Make it an alias of `ebrowse-electric-list-looper`. * lisp/ibuffer.el (ibuffer-confirm-operation-on): * lisp/ls-lisp.el (ls-lisp--insert-directory): * lisp/gnus/gnus-search.el (gnus-search-run-query): * lisp/mail/mail-extr.el (mail-extr-safe-move-sexp): * lisp/net/dbus.el (dbus-set-property): * lisp/net/eudc-export.el (eudc-bbdbify-phone): * lisp/net/imap.el (imap-fetch-safe): * lisp/vc/vc.el (vc-root-dir): Use `error-slot-value` and single-arg `signal` to re-signal.
2026-02-21; * lisp/mail/rmailsum.el (mail-parse): Require.Eli Zaretskii
2026-02-21Make Rmail summary address display customizablePaul Nelson
* lisp/mail/rmailsum.el (rmail-summary-sender-function) (rmail-summary-recipient-function, rmail-summary-address-width): New user options. (rmail-summary--address-display, rmail-summary-name-or-address) (rmail-summary-recipient-strip-quoted-names) (rmail-summary-recipient-names): New functions. (rmail-header-summary): Use them when formatting sender and recipient fields (bug#80406). * doc/emacs/rmail.texi (Rmail Make Summary): Document them. * test/lisp/mail/rmailsum-tests.el: New file. (rmailsum-tests-name-or-address-prefers-name) (rmailsum-tests-name-or-address-fallback-to-address) (rmailsum-tests-recipient-strip-quoted-names-first-line) (rmailsum-tests-recipient-names-folded) (rmailsum-tests-recipient-names-fallback-to-address): New tests.
2026-01-17; Remove redundant cl-lib runtime dependencies across lisp/USAMI Kenta
* lisp/editorconfig-tools.el: * lisp/emacs-lisp/shorthands.el: * lisp/info-xref.el: * lisp/international/quail.el: * lisp/international/rfc1843.el: * lisp/mail/ietf-drums.el: * lisp/mail/rfc2047.el: * lisp/mail/yenc.el: * lisp/net/pop3.el: * lisp/net/sasl-scram-sha256.el: * lisp/net/shr-color.el: * lisp/progmodes/grep.el: * lisp/scroll-bar.el: * lisp/textmodes/emacs-news-mode.el: * lisp/textmodes/reftex-auc.el: * lisp/textmodes/reftex-dcr.el: * lisp/textmodes/reftex-global.el: * lisp/textmodes/reftex-sel.el: * lisp/url/url-dav.el: * lisp/vc/vc-src.el: * lisp/xwidget.el: * lisp/yank-media.el: Remove redundant (require 'cl-lib). (Bug#80129)
2026-01-03Rmail: fix misplaced "D" after auto-filePaul Nelson
* lisp/mail/rmailsum.el (rmail-summary-mark-deleted): Move to beginning of line before searching for status indicator. (Bug#80097)
2026-01-01; Add 2026 to copyright years.Sean Whitton
2025-11-05* lisp/image.el (image-supported-file-p): Fix autoload cookie (bug#79764).Juri Linkov
* lisp/emacs-lisp/icons.el (icons--create): * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Remove unnecessary '(fboundp 'image-supported-file-p)'.
2025-10-18Merge from origin/emacs-30Eli Zaretskii
53aac6aecd2 ; Improve documentation of commands that split current wi...
2025-10-18; Improve documentation of commands that split current windowEli Zaretskii
* doc/emacs/sending.texi (Sending Mail): * doc/emacs/dired.texi (Dired Enter, Dired Visiting): * doc/emacs/maintaining.texi (Old Revisions) (Change Log Commands, Looking Up Identifiers): * doc/emacs/windows.texi (Displaying Buffers): * doc/emacs/files.texi (Visiting): Add cross-references to where user options are described which control how windows are split. * lisp/mail/sendmail.el (mail-other-window): * lisp/gnus/message.el (message-mail-other-window) (message-news-other-window): * lisp/replace.el (occur-mode-goto-occurrence-other-window): * lisp/vc/vc.el (vc-revision-other-window): * lisp/vc/vc-dir.el (vc-dir-find-file-other-window): * lisp/progmodes/xref.el (xref-find-definitions-other-window): * lisp/simple.el (compose-mail-other-window) (clone-indirect-buffer-other-window): * lisp/vc/add-log.el (add-change-log-entry-other-window): * lisp/view.el (view-file-other-window) (view-buffer-other-window): * lisp/window.el (switch-to-buffer-other-window): * lisp/files.el (find-file-other-window) (find-file-read-only-other-window) (find-alternate-file-other-window): * lisp/dired.el (dired-other-window) (dired-mouse-find-file-other-window) (dired-find-file-other-window, dired-jump-other-window): Mention in the doc strings how to control the way the current window is split.
2025-09-29; Fix typosRobert Pluim
* lisp/mail/mail-utils.el (mail-fetch-field, mail-mbox-from): 'headers', not 'header'.
2025-09-28Detect suspicious email addresses in Rmail and SendmailEli Zaretskii
* lisp/mail/rmail.el (rmail-detect-suspicious-headers): New user option. (rmail-check-suspicious-from): New function, highlights suspicious "From" addresses. (rmail-show-message-1): Call 'rmail-check-suspicious-from' if 'rmail-detect-suspicious-headers' is non-nil. * lisp/mail/sendmail.el (mail-send): Detect suspicious addresses before sending. * etc/NEWS: Announce the new features.
2025-08-28Prefer tls to ssl in nnimap and smtpmail codeRobert Pluim
* lisp/gnus/nnimap.el (nnimap-open-connection): Use 'tls. (nnimap-open-connection-1): Check 'tls before 'ssl. * lisp/mail/smtpmail.el (smtpmail-stream-type): Add 'ssl to allowed values, state 'tls is preferred.
2025-08-23Rmail can fetch email from several inboxes with different passwordsEli Zaretskii
* lisp/mail/rmail.el (rmail--remote-password-host) (rmail--remote-password-user): New variables. (rmail-get-remote-password): Use them to ask for the password whenever we need to fetch email from an inbox whose user or host are different from the last ones. (Bug#79214)
2025-08-21Fix 'submit-emacs-patch' MIME typeSteven Allen
* lisp/mail/emacsbug.el (submit-emacs-patch): Use the correct MIME type for patches. Otherwise, `mm-inline-media-tests' won't recognize and fontify the patch. (Bug#79287)
2025-08-02Fix index error when checking edited bug reportsAntero Mejr
* lisp/mail/emacsbug.el (report-emacs-bug-check-org): Improve regex check. (Bug#79080)
2025-07-26Add post-save actions for Rmail attachmentsPaul Nelson
* lisp/mail/rmailmm.el (rmail-mime-save-action): New user option. (rmail-mime-save): Use it. * doc/emacs/rmail.texi (Rmail Display): Document it (bug#78971).
2025-07-05Check for text about Org-mode when submitting emacs bugsAntero Mejr
* lisp/mail/emacsbug.el (report-emacs-bug-hook): Add regex check for references to Org, and warn user if matches are found. (Bug#78823)
2025-06-03Make xoauth2 auth fail when a smtp server replies 334 (Bug#78366)Xiyue Deng
* lisp/mail/smtpmail.el (smtpmail-try-auth-method): Throw error 535 when receiving a "334 server challenge" reply. (cherry picked from commit 53371c959462a677a29ee869b3b6627facf3ed79)
2025-05-26Make xoauth2 auth fail when a smtp server replies 334 (Bug#78366)Xiyue Deng
* lisp/mail/smtpmail.el (smtpmail-try-auth-method): Throw error 535 when receiving a "334 server challenge" reply.
2025-04-19Fix 'rfc6068-parse-mailto-url' with 'inhibit-eol-conversion'Kazuhiro Ito
* lisp/mail/rfc6068.el (rfc6068-parse-mailto-url): Fix EOL type to CRLF and never inhibit EOL conversion in decoding. (Bug#77776)
2025-04-18Match mail headers case-insensitively when encodingRobert Pluim
* lisp/mail/rfc2047.el (rfc2047-encode-message-header): Bind 'case-fold-search' to t when looking up the encoding method, otherwise a header spelled "CC" is encoded using the wrong method. (Bug#77866)
2025-03-19; Avoid scraping non-readable files for maintainersPhilip Kaludercic
* lisp/mail/emacsbug.el (submit-emacs-patch): Check if a file mentioned in a patch can be opened. (Bug#77083)
2025-03-15Recommend using 'keymap-set' in CommentariesStefan Kangas
* lisp/calendar/timeclock.el, lisp/comint.el, lisp/ehelp.el: * lisp/gnus/gnus-bookmark.el, lisp/gnus/smiley.el, lisp/ido.el: * lisp/isearchb.el, lisp/mail/mailabbrev.el, lisp/net/ange-ftp.el: * lisp/net/goto-addr.el, lisp/play/fortune.el, lisp/saveplace.el: * lisp/shell.el, lisp/term.el, lisp/textmodes/makeinfo.el: * lisp/textmodes/refer.el, lisp/textmodes/remember.el: * lisp/textmodes/table.el, lisp/woman.el: Recommend using 'keymap-set' instead of 'define-key' in Commentaries.
2025-03-15Recommend using 'keymap-global-set' in CommentariesStefan Kangas
* lisp/bs.el, lisp/calculator.el, lisp/cedet/data-debug.el: * lisp/help-at-pt.el, lisp/hilit-chg.el, lisp/mail/mspools.el: * lisp/mh-e/mh-e.el, lisp/mouse-copy.el, lisp/mouse-drag.el: * lisp/net/browse-url.el, lisp/net/webjump.el, lisp/printing.el: * lisp/progmodes/cfengine.el, lisp/progmodes/ebnf2ps.el: * lisp/ps-print.el, lisp/repeat.el, lisp/term/wyse50.el: * lisp/term/x-win.el, lisp/vcursor.el, lisp/woman.el: Recommend using 'keymap-global-set' instead of 'global-set-key'.
2025-03-01Merge from origin/emacs-30Eli Zaretskii
0460177451d ; * lisp/progmodes/java-ts-mode.el (treesit-node-end): De... 8481170eb29 Fix 'M-q' in 'makefile-mode' 44a770b8713 ; Improve documentation of 'rmail-movemail-program' # Conflicts: # lisp/progmodes/java-ts-mode.el
2025-03-01; Improve documentation of 'rmail-movemail-program'Eli Zaretskii
* lisp/mail/rmail.el (rmail-movemail-program): * doc/emacs/rmail.texi (Movemail): Document how to change the value of 'rmail-movemail-program' safely. (Bug#76595)
2025-02-26Prefer incf to cl-incf in remaining filesStefan Kangas
* admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table): * admin/unidata/unidata-gen.el (unidata-gen-table-word-list): * lisp/arc-mode.el (archive--summarize-descs): * lisp/auth-source.el (auth-source-forget+): * lisp/battery.el (battery-linux-proc-acpi, battery-linux-sysfs): * lisp/calendar/parse-time.el (parse-time-tokenize): * lisp/calendar/time-date.el (decoded-time-add) (decoded-time--alter-month, decoded-time--alter-day): * lisp/cedet/semantic/ede-grammar.el (project-compile-target): * lisp/dired.el (dired-insert-set-properties): * lisp/edmacro.el (edmacro-format-keys): * lisp/epa-file.el (epa-file--replace-text): * lisp/eshell/esh-cmd.el (eshell-for-iterate): * lisp/eshell/esh-io.el (eshell-create-handles) (eshell-duplicate-handles, eshell-protect-handles) (eshell-copy-output-handle, eshell-buffered-print): * lisp/font-lock.el (font-lock-fontify-keywords-region): * lisp/help-fns.el: * lisp/ibuf-ext.el (ibuffer-generate-filter-groups) (ibuffer-insert-filter-group-before): * lisp/ibuffer.el (ibuffer-confirm-operation-on, ibuffer-map-lines): * lisp/image/image-dired-external.el (image-dired-thumb-queue-run): * lisp/image/image-dired.el (image-dired-display-thumbs) (image-dired-line-up): * lisp/imenu.el (imenu--split): * lisp/info-xref.el (info-xref-check-node, info-xref-check-all-custom): * lisp/international/quail.el (quail-insert-decode-map): * lisp/international/rfc1843.el (rfc1843-decode): * lisp/mail/ietf-drums-date.el (ietf-drums-date--tokenize-string): * lisp/mail/ietf-drums.el (ietf-drums-token-to-list): * lisp/mail/rfc2047.el (rfc2047-qp-or-base64): * lisp/mail/rfc2231.el (rfc2231-encode-string): * lisp/mail/yenc.el (yenc-decode-region): * lisp/mh-e/mh-e.el (mh-xargs): * lisp/mh-e/mh-folder.el (mh-recenter): * lisp/mh-e/mh-mime.el (mh-mime-part-index): * lisp/mh-e/mh-search.el (mh-search): * lisp/mh-e/mh-thread.el (mh-thread-current-indentation-level): * lisp/mh-e/mh-utils.el (mh-sub-folders-parse): * lisp/minibuffer.el (minibuffer--sort-by-position) (completion-pcm--pattern-point-idx): * lisp/mpc.el (mpc-cmd-find, mpc-cmd-move, mpc-select-extend) (mpc-songs-refresh, mpc-songpointer-score) (mpc-songpointer-refresh-hairy): * lisp/msb.el (msb--mode-menu-cond, msb--most-recently-used-menu) (msb--split-menus-2, msb--make-keymap-menu): * lisp/net/pop3.el (pop3-send-streaming-command): * lisp/net/puny.el (puny-encode-complex, puny-decode-string-internal): * lisp/net/shr-color.el (shr-color-hue-to-rgb): * lisp/net/soap-client.el (soap-encode-xs-complex-type) (soap-decode-xs-complex-type, soap-resolve-references-for-operation) (soap-wsdl-resolve-references): * lisp/play/5x5.el (5x5-made-move, 5x5-down, 5x5-right): * lisp/play/decipher.el (key, decipher-mode-syntax-table) (decipher-add-undo, decipher-complete-alphabet, decipher--analyze) (decipher--digram-counts, decipher--digram-total): * lisp/play/hanoi.el (hanoi-move-ring): * lisp/play/snake.el (snake-reset-game, snake-update-game): * lisp/profiler.el (profiler-calltree-depth, profiler-calltree-build-1) (profiler-calltree-build-unified) (profiler-calltree-compute-percentages): * lisp/registry.el (registry-reindex): * lisp/simple.el (completion-list-candidate-at-point): * lisp/strokes.el (strokes-xpm-to-compressed-string): * lisp/term.el (term-emulate-terminal, term--handle-colors-list): * lisp/treesit.el (treesit-node-index, treesit-indent-region): * lisp/url/url-cookie.el (url-cookie-parse-file-netscape): * lisp/url/url-dav.el (url-dav-file-name-completion): * lisp/url/url-queue.el (url-queue-setup-runners) (url-queue-run-queue): * lisp/wdired.el (wdired-finish-edit): * lisp/wid-edit.el (widget-move): * lisp/window-tool-bar.el (window-tool-bar-string): * lisp/winner.el (winner-undo): * lisp/xwidget.el (xwidget-webkit-isearch-forward) (xwidget-webkit-isearch-backward): Prefer incf to cl-incf.
2025-02-25Improve 'send-mail-function' defcustom.Robert Pluim
* lisp/mail/sendmail.el (send-mail-function): Provide better :doc for the available values.
2025-02-24Move hashcash.el to lisp/obsoleteStefan Kangas
* lisp/mail/hashcash.el: Move from here... * lisp/obsolete/hashcash.el: ...to here. (Bug#76195)
2025-02-24Use 'password-colon-equivalents' when matching "Re" variantsRobert Pluim
* lisp/mail/mail-utils.el (mail--wrap-re-regexp): Use 'password-colon-equivalents'.
2025-02-23Prefer decf to cl-decfStefan Kangas
* lisp/auth-source-pass.el (auth-source-pass--find-match-many): * lisp/calendar/time-date.el (decoded-time-add) (decoded-time--alter-month, decoded-time--alter-day): * lisp/dired.el (dired--move-to-next-line): * lisp/dom.el (dom-pp): * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-substitute): * lisp/emacs-lisp/comp-cstr.el (comp--range-union) (comp--range-intersection): * lisp/emacs-lisp/comp.el (comp-vec-prepend, comp--emit-narg-prologue): * lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation): * lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): * lisp/emacs-lisp/pp.el (pp--format-definition): * lisp/emacs-lisp/smie.el (smie-config--guess-1): * lisp/eshell/esh-io.el (eshell-close-handle, eshell-set-output-handle): * lisp/gnus/gnus-async.el (gnus-async-prefetch-article): * lisp/gnus/gnus-group.el (gnus-group-mark-group) (gnus-group-yank-group): * lisp/gnus/gnus-salt.el (gnus-tree-forward-line): * lisp/gnus/gnus-score.el (gnus-decay-scores): * lisp/gnus/gnus-srvr.el (gnus-browse-toggle-subscription-at-point): * lisp/gnus/gnus-sum.el (gnus-build-sparse-threads, gnus-parent-headers) (gnus-update-marks, gnus-summary-work-articles) (gnus-summary-refer-parent-article, gnus-summary-next-thread) (gnus-read-header, gnus-summary-insert-new-articles): * lisp/gnus/gnus-topic.el (gnus-topic-forward-topic): * lisp/gnus/gnus.el (gnus-short-group-name): * lisp/gnus/message.el (message-remove-first-header) (message-shorten-references, message-insert-screenshot): * lisp/gnus/mm-url.el (mm-url-insert): * lisp/gnus/nnselect.el (nnselect-push-info): * lisp/ibuffer.el (ibuffer-backward-line, ibuffer-forward-line) (ibuffer-map-lines): * lisp/icomplete.el (icomplete--render-vertical): * lisp/image/image-dired-external.el (image-dired-create-thumb-1): * lisp/image/image-dired.el (image-dired-delete-char): * lisp/mail/ietf-drums-date.el (ietf-drums-date--tokenize-string): * lisp/mh-e/mh-utils.el (mh-sub-folders-parse): * lisp/minibuffer.el (minibuffer-completion-help): * lisp/mpc.el (mpc-cmd-move, mpc-songpointer-refresh-hairy): * lisp/net/eww.el (eww-process-text-input): * lisp/net/pop3.el (pop3-wait-for-messages, pop3-uidl-stat) (pop3-uidl-dele): * lisp/net/shr-color.el (shr-color-hue-to-rgb): * lisp/play/5x5.el (5x5-up, 5x5-left): * lisp/play/decipher.el (decipher-read-alphabet, decipher--digram-total) (decipher-analyze-buffer): * lisp/play/hanoi.el (hanoi-insert-ring, hanoi-move-ring): * lisp/profiler.el (profiler-format-number) (profiler-calltree-build-unified): * lisp/progmodes/antlr-mode.el (antlr-next-rule, antlr-indent-line): * lisp/progmodes/c-ts-common.el (c-ts-common-statement-offset): * lisp/progmodes/ebrowse.el (ebrowse-cyclic-display-next/previous-member-list): * lisp/progmodes/hideif.el (hif-backward-comment): * lisp/progmodes/js.el (js-beginning-of-defun, js-end-of-defun) (js-ts--syntax-propertize): * lisp/progmodes/typescript-ts-mode.el (tsx-ts--syntax-propertize-captures): * lisp/rect.el (rectangle--*-char): * lisp/term.el (term-emulate-terminal): * lisp/textmodes/reftex-cite.el (reftex-do-citation): * lisp/textmodes/reftex-index.el (reftex-index-next-phrase): * lisp/textmodes/reftex-parse.el (reftex-init-section-numbers): * lisp/textmodes/reftex-sel.el (reftex-select-unmark): * lisp/textmodes/reftex.el (reftex-silence-toc-markers): * lisp/treesit.el (treesit-navigate-thing): * lisp/vc/diff-mode.el (diff-sanity-check-context-hunk-half, (diff-sanity-check-hunk): * lisp/vc/pcvs-util.el (cvs-first): * lisp/vc/smerge-mode.el (smerge-get-current): * lisp/vc/vc-hg.el (vc-hg--glob-to-pcre): * test/lisp/net/socks-tests.el (socks-tests-perform-hello-world-http-request): * test/src/buffer-tests.el (test-overlay-randomly): Prefer decf to cl-defc in all code where we can.
2025-02-22; Fix typosStefan Kangas
2025-02-20Have 'submit-emacs-patch' insert maintainers into X-Debbugs-CcPhilip Kaludercic
* lisp/mail/emacsbug.el (submit-emacs-patch): Go through all files mentioned in the diff and check for maintainers. (submit-emacs-patch-excluded-maintainers): Add constant. (Bug#69646)
2025-02-17Prefer '(evenp A)' to '(= 0 (% A 2))'Stefan Kangas
* lisp/calc/calc-comb.el (math-prime-test): * lisp/calc/calc-keypd.el (calc-keypad-press): * lisp/calc/calc-math.el (math-sqrt): (math-sqrt-raw): * lisp/calc/calc-misc.el (math-iipow): (math-iipow-show): * lisp/calc/calc-stat.el (calcFunc-vmedian): * lisp/calendar/cal-tex.el (cal-tex-cursor-filofax-2week): (cal-tex-cursor-filofax-daily): * lisp/elec-pair.el (electric-pair-post-self-insert-function): * lisp/emacs-lisp/checkdoc.el (checkdoc-in-example-string-p): * lisp/emacs-lisp/eieio.el (defclass): * lisp/emacs-lisp/ert-x.el (ert-propertized-string): * lisp/emacs-lisp/ert.el (ert--significant-plist-keys): (ert--plist-difference-explanation): * lisp/emacs-lisp/helper.el (Helper-help-scroller): * lisp/emacs-lisp/pcase.el (pcase-setq): * lisp/files-x.el (setq-connection-local): * lisp/gnus/gnus-uu.el (gnus-uu-post-encoded): * lisp/gnus/message.el (message-make-in-reply-to): * lisp/gnus/nndiary.el (nndiary-last-occurrence): (nndiary-next-occurrence): * lisp/mail/rfc2047.el (rfc2047-decode-region): * lisp/play/5x5.el (5x5-draw-grid): * lisp/play/gametree.el (gametree-compute-reduced-score): (gametree-insert-new-leaf): (gametree-break-line-here): * lisp/play/zone.el (zone-fret): * lisp/vc/ediff-ptch.el (ediff-get-patch-buffer): * lisp/yank-media.el (yank-media--utf-16-p): Prefer '(evenp A)' to '(= 0 (% A 2))' and variations thereof.
2025-02-14Correct docstrings describing "Re" alternatives.Robert Pluim
* lisp/mail/mail-utils.el (mail-re-regexps): Use "Re", not "Re:". * lisp/mail/rmail.el (rmail-re-abbrevs): Here also.
2025-02-13Support non-ascii SMTP user and password stringsRobert Pluim
The user and more importantly the password used when authenticating SMTP connections MUST be encoded in utf-8, and 'base64-encode-string' requires unibyte strings, so call 'encode-coding-string' on them before base64 encoding them in case they are multibyte strings. This applies to the CRAM-MD5, LOGIN, and PLAIN auth methods. XOAUTH2 access tokens are specified to contain only characters in the range #x20-#x7E (SPC through ~), so utf-8 encoding is not necessary. See RFC 4616 and RFC 4954 (or their later updates). * lisp/mail/smtpmail.el (smtpmail-try-auth-method): Encode user and password using utf-8 before base64 encoding. (Bug#75628)
2025-02-13Teach gnus/message about international Re: variantsRobert Pluim
* lisp/mail/mail-utils.el (mail-re-regexps): New defcustom, contains the components used to construct 'rmail-re-abbrevs' and 'message-subject-re-regexp'. * lisp/gnus/message.el (message-subject-re-regexp): Derive from 'mail-re-regexps'. (message-strip-subject-re): Make the match case-insensitive. * lisp/mail/rmail.el (rmail-re-abbrevs): Derive from 'mail-re-regexps'. Update 'rmail-reply-regexp' when it changes. (rmail-reply-regexp): Set to nil, 'rmail-re-abbrevs' will set it. * doc/emacs/rmail.texi (Rmail Reply): Describe 'mail-re-regexps'. * doc/misc/message.texi (Message Headers): Describe 'mail-re-regexps'. (Bug#72442)
2025-02-11Remove `smtpmail-address-buffer' temporary bufferManuel Giraud
* lisp/mail/smtpmail.el (smtpmail-address-buffer): Remove variable. (smtpmail-send-it): (smtpmail-deduce-address-list): Replace `smtpmail-address-buffer' with a temporary buffer. Set `smtpmail-recipient-address-list' only in caller. (Bug#72128)
2025-02-11Delete redundant lambdas around unary functionsStefan Kangas
This is not just stylistic, but also slightly faster. These are all regular defuns, of course, as this won't work with macros and defsubsts. * lisp/calc/calc-nlfit.el (math-nlfit-fit-curve) (calc-fit-hubbert-linear-curve): * lisp/calendar/cal-tex.el (cal-tex-latexify-list): * lisp/calendar/todo-mode.el (todo-sort): * lisp/cedet/semantic/ctxt.el (semantic-ctxt-end-of-symbol-default) (semantic-ctxt-current-symbol-default): * lisp/cedet/semantic/symref.el (semantic-symref-result-get-files): * lisp/cedet/semantic/texi.el (semantic-texi-command-completion-list): * lisp/descr-text.el (describe-char): * lisp/emacs-lisp/eieio-datadebug.el (data-debug-add-specialized-thing): * lisp/emacs-lisp/rmc.el (read-multiple-choice--short-answers): * lisp/eshell/em-pred.el (eshell-modifier-alist): * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group): * lisp/gnus/gnus-dired.el (gnus-dired-attach): * lisp/help-mode.el (help-package-def): * lisp/ibuf-ext.el (ibuffer-mark-modified-buffers): * lisp/image/image-dired.el: * lisp/international/quail.el (quail-keyseq-translate) (quail-get-translations): * lisp/isearch.el (isearch-pre-command-hook) (search-within-boundaries): * lisp/mail/supercite.el (sc-ask): * lisp/mh-e/mh-e.el (mh-variant-set): * lisp/net/rcirc.el (rcirc-nick-channels, rcirc-channel-nicks): (rcirc-browse-url): * lisp/obsolete/thumbs.el (thumbs-cleanup-thumbsdir): * lisp/org/org-agenda.el (org-agenda-filter-completion-function): * lisp/org/org-table.el (org-table-eval-formula): * lisp/org/org.el (org-set-regexps-and-options): * lisp/org/ox.el (org-export--get-inbuffer-options): * lisp/ses.el (ses-range): * lisp/textmodes/emacs-news-mode.el (emacs-news--buttonize): * lisp/textmodes/ispell.el (ispell-begin-tex-skip-regexp): * lisp/vc/vc-cvs.el (vc-cvs-stay-local-p): * lisp/window.el (window--state-get-1): * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-all-groups-work): Delete redundant lambdas around unary functions. (Bug#66816)
2025-02-09; Simplify last commitStefan Kangas
* lisp/mail/footnote.el (footnote-mode): Simplify last change.
2025-02-09Improve filling with footnote-modeStefan Kangas
* lisp/mail/footnote.el (footnote-mode): Add regexp for footnotes to sentence-end-base to improve filling.
2025-02-01Merge branch 'scratch/no-purespace' into 'master'Stefan Kangas