summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog.112
-rw-r--r--lisp/ChangeLog.138
-rw-r--r--lisp/ChangeLog.1528
-rw-r--r--lisp/ChangeLog.1636
-rw-r--r--lisp/ChangeLog.1760
-rw-r--r--lisp/Makefile.in6
-rw-r--r--lisp/bindings.el4
-rw-r--r--lisp/calendar/cal-dst.el2
-rw-r--r--lisp/calendar/cal-menu.el2
-rw-r--r--lisp/calendar/diary-lib.el6
-rw-r--r--lisp/calendar/todo-mode.el2
-rw-r--r--lisp/char-fold.el2
-rw-r--r--lisp/comint.el2
-rw-r--r--lisp/cus-edit.el2
-rw-r--r--lisp/delsel.el12
-rw-r--r--lisp/dired-aux.el2
-rw-r--r--lisp/dnd.el2
-rw-r--r--lisp/emacs-lisp/byte-run.el9
-rw-r--r--lisp/emacs-lisp/lisp.el6
-rw-r--r--lisp/emacs-lisp/package.el4
-rw-r--r--lisp/emacs-lisp/subr-x.el2
-rw-r--r--lisp/epg.el2
-rw-r--r--lisp/erc/erc-goodies.el14
-rw-r--r--lisp/eshell/em-unix.el2
-rw-r--r--lisp/faces.el2
-rw-r--r--lisp/ffap.el2
-rw-r--r--lisp/files.el58
-rw-r--r--lisp/finder.el2
-rw-r--r--lisp/follow.el1
-rw-r--r--lisp/frame.el2
-rw-r--r--lisp/gnus/ChangeLog.32
-rw-r--r--lisp/gnus/message.el4
-rw-r--r--lisp/htmlfontify.el2
-rw-r--r--lisp/info.el2
-rw-r--r--lisp/international/quail.el2
-rw-r--r--lisp/ls-lisp.el18
-rw-r--r--lisp/mail/emacsbug.el2
-rw-r--r--lisp/mail/rmail.el4
-rw-r--r--lisp/mail/supercite.el2
-rw-r--r--lisp/menu-bar.el3
-rw-r--r--lisp/net/rlogin.el2
-rw-r--r--lisp/net/shr.el4
-rw-r--r--lisp/net/tramp-gvfs.el8
-rw-r--r--lisp/obsolete/complete.el2
-rw-r--r--lisp/org/ChangeLog.16
-rw-r--r--lisp/org/ox-odt.el2
-rw-r--r--lisp/pixel-scroll.el2
-rw-r--r--lisp/plstore.el4
-rw-r--r--lisp/proced.el2
-rw-r--r--lisp/progmodes/cc-cmds.el22
-rw-r--r--lisp/progmodes/cc-menus.el2
-rw-r--r--lisp/progmodes/cc-vars.el4
-rw-r--r--lisp/progmodes/compile.el4
-rw-r--r--lisp/progmodes/flymake-proc.el2
-rw-r--r--lisp/progmodes/octave.el2
-rw-r--r--lisp/progmodes/ruby-mode.el149
-rw-r--r--lisp/progmodes/verilog-mode.el2
-rw-r--r--lisp/simple.el17
-rw-r--r--lisp/startup.el4
-rw-r--r--lisp/subr.el12
-rw-r--r--lisp/term/ns-win.el4
-rw-r--r--lisp/term/x-win.el2
-rw-r--r--lisp/textmodes/mhtml-mode.el9
-rw-r--r--lisp/textmodes/nroff-mode.el2
-rw-r--r--lisp/textmodes/tex-mode.el2
-rw-r--r--lisp/vc/diff-mode.el2
-rw-r--r--lisp/vc/smerge-mode.el2
-rw-r--r--lisp/vc/vc-git.el2
-rw-r--r--lisp/vc/vc-rcs.el2
-rw-r--r--lisp/view.el2
-rw-r--r--lisp/wid-edit.el2
-rw-r--r--lisp/windmove.el2
-rw-r--r--lisp/window.el27
73 files changed, 392 insertions, 245 deletions
diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11
index 52f5189228e..94a3cbfb582 100644
--- a/lisp/ChangeLog.11
+++ b/lisp/ChangeLog.11
@@ -6395,7 +6395,7 @@
* vc-svn.el (vc-svn-checkin): Use `nconc' instead of `list*',
because the latter is a CL-ism. This fixes the bug reported by
Shawn Boyette <mdxi@collapsar.net> in
- https://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html.
+ https://lists.gnu.org/r/emacs-devel/2004-05/msg00442.html.
2004-06-04 Miles Bader <miles@gnu.org>
diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13
index 8869cc46eb8..d14325b5ff1 100644
--- a/lisp/ChangeLog.13
+++ b/lisp/ChangeLog.13
@@ -4667,7 +4667,7 @@
2008-01-02 Karl Fogel <kfogel@red-bean.com>
Change a return type, for greater extensibility.
- See https://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01077.html
+ See https://lists.gnu.org/r/emacs-devel/2007-12/msg01077.html
and its thread for discussion leading to this change.
* bookmark.el (bookmark-jump-noselect):
@@ -14464,7 +14464,7 @@
* bookmark.el: Revert 2007-07-13T18:16:17Z!kfogel@red-bean.com,
thus restoring bookmark bindings to three slots under C-x r. See
- https://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00705.html.
+ https://lists.gnu.org/r/emacs-devel/2007-07/msg00705.html.
2007-07-15 Jeff Miller <jmiller@cablespeed.com> (tiny change)
@@ -14511,7 +14511,7 @@
* bookmark.el (bookmark-jump-other-window): New function.
(bookmark-map): Bind it to "o".
- https://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00633.html
+ https://lists.gnu.org/r/emacs-devel/2007-07/msg00633.html
and its thread contains discussion about this change.
The original patch was slightly tweaked by Karl Fogel
<kfogel@red-bean.com> before committing.
@@ -14525,7 +14525,7 @@
* bookmark.el: Don't define bookmark keys under the "C-xr" map;
instead, make "C-xp" a prefix for bookmark-map. Patch by Drew
Adams <drew.adams@oracle.com>, mildly tweaked by me. See
- https://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00633.html.
+ https://lists.gnu.org/r/emacs-devel/2007-07/msg00633.html.
2007-07-13 Carsten Dominik <dominik@science.uva.nl>
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15
index 3e6d664aa6b..11bc31f3b29 100644
--- a/lisp/ChangeLog.15
+++ b/lisp/ChangeLog.15
@@ -9833,7 +9833,7 @@
* window.el (pop-to-buffer): Remove the conditional that
compares new-window and old-window, so it will reselect
the selected window unconditionally.
- https://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00078.html
+ https://lists.gnu.org/r/emacs-devel/2010-06/msg00078.html
2010-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -9882,7 +9882,7 @@
of kill-ring: don't call menu-bar-update-yank-menu, don't push
interprogram-paste strings to kill-ring, and don't push the input
argument `string' to kill-ring.
- https://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00072.html
+ https://lists.gnu.org/r/emacs-devel/2010-06/msg00072.html
2010-06-04 Juanma Barranquero <lekktu@gmail.com>
@@ -10445,7 +10445,7 @@
* dired-x.el (dired-jump, dired-jump-other-window): Add arg
FILE-NAME to read from the minibuffer when called interactively
with prefix argument instead of using buffer-file-name.
- https://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00534.html
+ https://lists.gnu.org/r/emacs-devel/2010-05/msg00534.html
* dired.el: Update autoloads.
@@ -11998,7 +11998,7 @@
2010-04-05 Juri Linkov <juri@jurta.org>
Scrolling commands which scroll a line instead of full screen.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01452.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg01452.html
* simple.el (scroll-up-line, scroll-down-line): New commands.
Put property isearch-scroll=t on them.
@@ -12009,7 +12009,7 @@
2010-04-05 Juri Linkov <juri@jurta.org>
Scrolling commands which do not signal errors at top/bottom.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01452.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg01452.html
* simple.el (scroll-up-command, scroll-down-command): New commands.
Put property isearch-scroll=t on them.
@@ -12063,7 +12063,7 @@
(electric-help-mode): Set it to original major-mode. Doc fix.
(with-electric-help): Use `electric-help-orig-major-mode' instead
of (default-value 'major-mode). Doc fix.
- https://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00069.html
+ https://lists.gnu.org/r/emacs-devel/2010-04/msg00069.html
2010-04-02 Sam Steingold <sds@gnu.org>
@@ -12089,13 +12089,13 @@
* simple.el (next-line, previous-line): Re-throw a signal
with `signal' instead of using `ding'.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01432.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg01432.html
2010-03-31 Juri Linkov <juri@jurta.org>
* simple.el (keyboard-escape-quit): Raise deselecting the active
region higher than exiting the minibuffer.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00904.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg00904.html
2010-03-31 Juri Linkov <juri@jurta.org>
@@ -12184,7 +12184,7 @@
2010-03-30 Juri Linkov <juri@jurta.org>
Make occur handle multi-line matches cleanly with context.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01280.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg01280.html
* replace.el (occur-accumulate-lines): Add optional arg `pt'.
(occur-engine): Add local variables `ret', `prev-after-lines',
@@ -12379,7 +12379,7 @@
2010-03-23 Juri Linkov <juri@jurta.org>
Implement Occur multi-line matches.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01044.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg01044.html
* replace.el (occur): Doc fix.
(occur-engine): Set `begpt' to the beginning of the first line.
@@ -12456,7 +12456,7 @@
2010-03-21 Juri Linkov <juri@jurta.org>
Fix message of multi-line occur regexps and multi-buffer header lines.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00457.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg00457.html
* replace.el (occur-1): Don't display regexp if it is longer
than window-width. Use `query-replace-descr' to display regexp.
@@ -12750,7 +12750,7 @@
2010-03-10 Kim F. Storm <storm@cua.dk>
Animated image API.
- https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00211.html
+ https://lists.gnu.org/r/emacs-devel/2010-03/msg00211.html
* image.el (image-animate-max-time): New defcustom.
(image-animated-types): New defconst.
@@ -13908,7 +13908,7 @@
positions by using `bookmark-bmenu-marks-width', instead of hardcoding.
This fixes the `bookmark-bmenu-execute-deletions' bug reported here:
- https://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00819.html
+ https://lists.gnu.org/r/emacs-devel/2009-12/msg00819.html
From: Sun Yijiang <sunyijiang {_AT_} gmail.com>
To: emacs-devel {_AT_} gnu.org
Subject: bookmark.el bug report
@@ -19816,7 +19816,7 @@
* files.el (find-alternate-file): If the old buffer is modified
and visiting a file, behave similarly to `kill-buffer' when
killing it, thus reverting to the pre-1.878 behavior; see
- https://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00101.html
+ https://lists.gnu.org/r/emacs-devel/2009-09/msg00101.html
for discussion. Also, consult `buffer-file-name' as a variable
not as a function, for consistency with the rest of the code.
diff --git a/lisp/ChangeLog.16 b/lisp/ChangeLog.16
index 33bd9a03323..dcf2fd071d0 100644
--- a/lisp/ChangeLog.16
+++ b/lisp/ChangeLog.16
@@ -1371,7 +1371,7 @@
* frame.el (toggle-frame-maximized, toggle-frame-fullscreen):
Use fullboth as an alias for fullscreen. Suggested by Jan Djärv in
- <https://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00203.html>.
+ <https://lists.gnu.org/r/emacs-devel/2013-01/msg00203.html>.
2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -2422,7 +2422,7 @@
* epg.el: Support pinentry-curses.
Suggested by Werner Koch in
- <https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00755.html>.
+ <https://lists.gnu.org/r/emacs-devel/2007-02/msg00755.html>.
(epg-agent-file, epg-agent-mtime): New variable.
(epg--start): Record the modified time of gpg-agent socket file,
to restore Emacs frame after pinentry-curses termination.
@@ -2448,7 +2448,7 @@
(toggle-frame-maximized): Rewrite and bind to M-<f10>.
(toggle-frame-fullscreen): New command bound to <f11> instead of
`toggle-frame-maximized'.
- https://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html
+ https://lists.gnu.org/r/emacs-devel/2012-12/msg00703.html
2012-12-27 Michael Albinus <michael.albinus@gmx.de>
@@ -2686,7 +2686,7 @@
(isearch-insert-char-by-name): New command.
* international/mule-cmds.el (read-char-by-name): Let-bind
`enable-recursive-minibuffers' to t.
- https://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00234.html
+ https://lists.gnu.org/r/emacs-devel/2012-12/msg00234.html
2012-12-15 Juri Linkov <juri@jurta.org>
@@ -4831,7 +4831,7 @@
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Adjust the msft regexp to the output of Studio 2010, and move msft
before edg-1. See the discussion on emacs-devel,
- https://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00579.html,
+ https://lists.gnu.org/r/emacs-devel/2012-09/msg00579.html,
for the details.
2012-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -5453,7 +5453,7 @@
* profiler.el (profiler-sampling-interval): Change default back to 1.
See Stefan Monnier in
- <https://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00863.html>.
+ <https://lists.gnu.org/r/emacs-devel/2012-09/msg00863.html>.
2012-10-01 Fabián Ezequiel Gallina <fgallina@cuca>
@@ -6641,7 +6641,7 @@
search-whitespace-regexp if isearch-lax-whitespace or
isearch-regexp-lax-whitespace is non-nil.
(Info-mode): Don't set local variable search-whitespace-regexp.
- https://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html
+ https://lists.gnu.org/r/emacs-devel/2012-08/msg00811.html
2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -7037,7 +7037,7 @@
2012-09-02 Juri Linkov <juri@jurta.org>
Toggle whitespace matching mode with M-s SPC.
- https://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html
+ https://lists.gnu.org/r/emacs-devel/2012-09/msg00008.html
* isearch.el (search-whitespace-regexp): Doc fix.
Remove cons cell customization.
@@ -8109,7 +8109,7 @@
* whitespace.el (whitespace-display-mappings): Use Unicode
codepoints, instead of emacs-mule codepoints. See
- https://lists.gnu.org/archive/html/help-gnu-emacs/2012-07/msg00366.html
+ https://lists.gnu.org/r/help-gnu-emacs/2012-07/msg00366.html
for the details.
* files.el (file-truename): Don't skip symlink-chasing part on
@@ -8513,7 +8513,7 @@
* startup.el (command-line): Don't display an empty user name in
the error message about non-existent home directory, when
init-file-user was set to an empty string. See
- https://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html
+ https://lists.gnu.org/r/bug-gnu-emacs/2012-07/msg00835.html
for the details and context.
2012-07-22 Vincent Belaïche <vincentb1@users.sourceforge.net>
@@ -9419,7 +9419,7 @@
* calendar/calendar.el (calendar-exit): Don't try to delete or
iconify last frame. See:
- https://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00372.html
+ https://lists.gnu.org/r/emacs-devel/2012-06/msg00372.html
2012-06-25 Jim Diamond <Jim.Diamond@AcadiaU.ca> (tiny change)
@@ -10430,7 +10430,7 @@
* descr-text.el (describe-char): Mention how to insert the
character, if the current input method doesn't support it.
See the discussion in this thread for the details:
- https://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html.
+ https://lists.gnu.org/r/emacs-devel/2012-05/msg00533.html.
2012-06-08 Sam Steingold <sds@gnu.org>
@@ -13909,7 +13909,7 @@
Insert invisible LRM characters before each character in a keyboard
layout cell, to prevent their reordering by bidi display engine.
For details, see the discussion in
- https://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00085.html.
+ https://lists.gnu.org/r/emacs-devel/2012-03/msg00085.html.
2012-03-08 Alan Mackenzie <acm@muc.de>
@@ -13927,7 +13927,7 @@
* international/quail.el (quail-help):
Force bidi-paragraph-direction be left-to-right. See discussion in
- https://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00062.html
+ https://lists.gnu.org/r/emacs-devel/2012-03/msg00062.html
for the reason.
2012-03-07 Michael Albinus <michael.albinus@gmx.de>
@@ -15004,7 +15004,7 @@
* descr-text.el (describe-char): Show the raw character, not only
its display form at POS. Suggested by Kenichi Handa <handa@m17n.org>.
- See https://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html
+ See https://lists.gnu.org/r/emacs-devel/2012-01/msg00760.html
for the reasons.
2012-01-28 Phil Hagelberg <phil@hagelb.org>
@@ -15362,7 +15362,7 @@
* time.el (display-time-load-average)
(display-time-default-load-average): Doc fixes. See the thread
starting at
- https://lists.gnu.org/archive/html/help-gnu-emacs/2012-01/msg00059.html
+ https://lists.gnu.org/r/help-gnu-emacs/2012-01/msg00059.html
for the details.
2012-01-06 Glenn Morris <rgm@gnu.org>
@@ -15769,7 +15769,7 @@
(texinfo-insert-master-menu-list): Improve the error message
displayed if there's no menu in the Top node.
(Bug#2975) See also this thread:
- https://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00156.html.
+ https://lists.gnu.org/r/emacs-devel/2011-12/msg00156.html.
2011-12-09 Manuel Gómez <mgrojo@gmail.com> (tiny change)
@@ -24381,7 +24381,7 @@
* help-fns.el (describe-variable): Complete all variables having
documentation, including keywords.
- https://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
+ https://lists.gnu.org/r/emacs-devel/2011-04/msg00112.html
2011-04-04 Juanma Barranquero <lekktu@gmail.com>
diff --git a/lisp/ChangeLog.17 b/lisp/ChangeLog.17
index bb3375be9a6..b2d315c53f3 100644
--- a/lisp/ChangeLog.17
+++ b/lisp/ChangeLog.17
@@ -3598,7 +3598,7 @@
* comint.el (comint-history-isearch-message): Use field-beginning
instead of comint-line-beginning-position - that's more fixes for
- https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html
+ https://lists.gnu.org/r/emacs-devel/2014-12/msg00305.html
(comint-history-isearch-message): Fix args of isearch-message-prefix.
2014-12-29 Juri Linkov <juri@linkov.net>
@@ -3698,7 +3698,7 @@
* language/misc-lang.el (composition-function-table): Add Syriac
characters and also ZWJ/ZWNJ.
- See https://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html
+ See https://lists.gnu.org/r/help-gnu-emacs/2014-12/msg00248.html
for the details.
2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
@@ -4489,14 +4489,14 @@
comint-line-beginning-position.
(comint-send-input): Go to the end of the field instead of the end
of the line to accept whole multi-line input.
- https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html
+ https://lists.gnu.org/r/emacs-devel/2014-12/msg00305.html
2014-12-05 Juri Linkov <juri@linkov.net>
* minibuffer.el (minibuffer-completion-help):
Compare selected-window with minibuffer-window to check whether
completions should be displayed near the minibuffer. (Bug#17809)
- https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00311.html
+ https://lists.gnu.org/r/emacs-devel/2014-12/msg00311.html
2014-12-05 Michael Albinus <michael.albinus@gmx.de>
@@ -4605,7 +4605,7 @@
the remote repository were unreachable, because the VC hooks tried
to run "svn status -u" on the file, where the "-u" tells svn to
get update information from the remote repository.
- https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html
+ https://lists.gnu.org/r/emacs-devel/2014-12/msg00174.html
* vc/vc-svn.el (vc-svn-state): Remove optional `localp'
argument and always pass "-v" to "svn status", never "-u".
@@ -5306,7 +5306,7 @@
(query-replace-read-from): Call custom-reevaluate-setting on
query-replace-from-to-separator to reevaluate the separator
depending on the return value of char-displayable-p.
- https://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00466.html
+ https://lists.gnu.org/r/emacs-devel/2014-11/msg00466.html
2014-11-18 Juri Linkov <juri@linkov.net>
@@ -5316,7 +5316,7 @@
* simple.el (next-line-or-history-element)
(previous-line-or-history-element): New commands.
- https://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00822.html
+ https://lists.gnu.org/r/emacs-devel/2014-11/msg00822.html
2014-11-18 Leo Liu <sdl.web@gmail.com>
@@ -5441,7 +5441,7 @@
Improve time stamp handling, and be more consistent about it.
This implements a suggestion made in:
- https://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00587.html
+ https://lists.gnu.org/r/emacs-devel/2014-10/msg00587.html
Among other things, this means timer.el no longer needs to
autoload the time-date module.
* allout-widgets.el (allout-elapsed-time-seconds): Doc fix.
@@ -5682,7 +5682,7 @@
2014-11-10 Sylvain Chouleur <sylvain.chouleur@gmail.com> (tiny change)
Allow VTIMEZONE where daylight and standard time zones are equal.
- See: https://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00494.html
+ See: https://lists.gnu.org/r/emacs-devel/2014-11/msg00494.html
* calendar/icalendar.el (icalendar--convert-tz-offset):
Support timezone without daylight saving time.
@@ -5813,7 +5813,7 @@
to the history variables.
(query-replace-read-to): Add FROM-TO pairs to query-replace-defaults.
(query-replace-regexp-eval): Let-bind query-replace-defaults to nil.
- https://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00253.html
+ https://lists.gnu.org/r/emacs-devel/2014-11/msg00253.html
* isearch.el (isearch-text-char-description): Keep characters
intact and put formatted strings with the `display' property.
@@ -7565,7 +7565,7 @@
(lisp--form-quoted-p): New functions.
(lisp-completion-at-point): Use them to see if we're completing a
variable reference, a function name, or just any symbol.
- https://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00229.html
+ https://lists.gnu.org/r/emacs-devel/2014-02/msg00229.html
2014-09-18 Ivan Kanis <ivan@kanis.fr>
@@ -9937,7 +9937,7 @@
`window-configuration-change-hook'.
(desktop-auto-save-set-timer): Change REPEAT arg of
`run-with-idle-timer' from t to nil.
- https://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00147.html
+ https://lists.gnu.org/r/emacs-devel/2014-06/msg00147.html
2014-06-08 Santiago Payà i Miralta <santiagopim@gmail.com>
@@ -10488,7 +10488,7 @@
* emacs-lisp/package.el (package-generate-description-file):
Output first-line comment to set buffer-local var `no-byte-compile'.
Suggested by Dmitry Gutov:
- <https://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00401.html>.
+ <https://lists.gnu.org/r/emacs-devel/2014-05/msg00401.html>.
2014-05-25 Thien-Thi Nguyen <ttn@gnu.org>
@@ -12170,7 +12170,7 @@
to `comment-start-skip' if not `comment-use-syntax'. (Bug#16971)
(comment-beginning): Use `narrow-to-region' instead of moving back
one character.
- (https://lists.gnu.org/archive/html/emacs-devel/2014-03/msg00488.html)
+ (https://lists.gnu.org/r/emacs-devel/2014-03/msg00488.html)
(comment-start-skip): Update the docstring.
2014-03-18 Richard Stallman <rms@gnu.org>
@@ -12467,7 +12467,7 @@
from `xterm-standard-colors' that look well on the default white
background (and also on the black background) to avoid illegible
color combinations like yellow-on-white and white-on-white.
- https://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00157.html
+ https://lists.gnu.org/r/emacs-devel/2014-02/msg00157.html
2014-03-08 Juanma Barranquero <lekktu@gmail.com>
@@ -13224,7 +13224,7 @@
2014-02-12 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/js.el (js-indent-line): Don't widen.
- https://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00276.html
+ https://lists.gnu.org/r/emacs-devel/2012-06/msg00276.html
2014-02-12 Glenn Morris <rgm@gnu.org>
@@ -13965,7 +13965,7 @@
choices.
(ruby-smie-rules): Instead of using a hardcoded list of alignable
keywords, check against the value of `ruby-alignable-keywords'
- (https://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01439.html).
+ (https://lists.gnu.org/r/emacs-devel/2014-01/msg01439.html).
2014-01-17 Glenn Morris <rgm@gnu.org>
@@ -15408,7 +15408,7 @@
* simple.el (blink-matching--overlay): New variable.
(blink-matching-open): Instead of moving point, highlight the
matching paren with an overlay
- (https://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00333.html).
+ (https://lists.gnu.org/r/emacs-devel/2013-12/msg00333.html).
* faces.el (paren-showing-faces, show-paren-match)
(show-paren-mismatch): Move from paren.el.
@@ -16628,7 +16628,7 @@
* textmodes/ispell.el (ispell-lookup-words): When `look' is not
available and the word has no wildcards, append one to the grep pattern.
- https://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00258.html
+ https://lists.gnu.org/r/emacs-devel/2013-11/msg00258.html
(ispell-complete-word): Call `ispell-lookup-words' with the value
independent of `ispell-look-p'.
@@ -18282,7 +18282,7 @@
* emacs-lisp/package.el (package-buffer-info, describe-package-1):
Use :url instead of :homepage, as per
- https://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00622.html
+ https://lists.gnu.org/r/emacs-devel/2013-09/msg00622.html
* newcomment.el (comment-beginning): When `comment-use-syntax' is
non-nil, use `syntax-ppss' (Bug#15251).
@@ -19828,7 +19828,7 @@
* xml.el (xml-parse-tag-1): Use looking-at (this reverts change in
2013-08-11T00:07:48Z!lekktu@gmail.com, which breaks the test suite).
- https://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00263.html
+ https://lists.gnu.org/r/emacs-devel/2013-08/msg00263.html
2013-08-12 Eli Zaretskii <eliz@gnu.org>
@@ -21942,7 +21942,7 @@
2013-06-25 Martin Rudalics <rudalics@gmx.at>
* window.el (window--state-get-1): Workaround for bug#14527.
- https://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00941.html
+ https://lists.gnu.org/r/emacs-devel/2013-06/msg00941.html
2013-06-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -22055,7 +22055,7 @@
* progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `catch',
add some more keyword-like methods.
- https://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00911.html
+ https://lists.gnu.org/r/emacs-devel/2013-06/msg00911.html
2013-06-22 Juanma Barranquero <lekktu@gmail.com>
@@ -22674,7 +22674,7 @@
2013-06-18 Matthias Meulien <orontee@gmail.com>
* tabify.el (untabify, tabify): With prefix, apply to entire buffer.
- <https://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00545.html>
+ <https://lists.gnu.org/r/emacs-devel/2013-03/msg00545.html>
2013-06-18 Glenn Morris <rgm@gnu.org>
@@ -22704,7 +22704,7 @@
* emacs-lisp/package.el (package-load-descriptor):
Remove `with-syntax-table' call, `read' doesn't need it.
- https://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00539.html
+ https://lists.gnu.org/r/emacs-devel/2013-06/msg00539.html
2013-06-17 Juanma Barranquero <lekktu@gmail.com>
@@ -25118,7 +25118,7 @@
(desktop-auto-save, desktop-auto-save-set-timer): New functions.
(after-init-hook): Call `desktop-auto-save-set-timer'.
Suggested by Reuben Thomas <rrt@sc3d.org> in
- <https://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00327.html>.
+ <https://lists.gnu.org/r/emacs-devel/2013-04/msg00327.html>.
2013-04-27 Leo Liu <sdl.web@gmail.com>
@@ -25144,7 +25144,7 @@
* ls-lisp.el (ls-lisp-insert-directory): If no files are
displayed, move point to after the totals line.
- See https://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00677.html
+ See https://lists.gnu.org/r/emacs-devel/2013-04/msg00677.html
for the details.
2013-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -25757,7 +25757,7 @@
Do not set x-display-name until X connection is established.
This is needed to prevent from weird situation described at
- <https://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00212.html>.
+ <https://lists.gnu.org/r/emacs-devel/2013-04/msg00212.html>.
* frame.el (make-frame): Set x-display-name after call to
window system initialization function, not before.
* term/x-win.el (x-initialize-window-system): Add optional
@@ -26079,7 +26079,7 @@
(batch-skkdic-convert): Suppress most of the chatter.
It's not needed so much now that machines are faster,
and its non-ASCII component was confusing; see Dmitry Gutov in
- <https://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00508.html>.
+ <https://lists.gnu.org/r/emacs-devel/2013-03/msg00508.html>.
2013-03-20 Leo Liu <sdl.web@gmail.com>
@@ -26223,7 +26223,7 @@
* startup.el (command-line-normalize-file-name): Fix handling of
backslashes in DOS and Windows file names. Reported by Xue Fuqiao
<xfq.free@gmail.com> in
- https://lists.gnu.org/archive/html/help-gnu-emacs/2013-03/msg00245.html.
+ https://lists.gnu.org/r/help-gnu-emacs/2013-03/msg00245.html.
2013-03-15 Michael Albinus <michael.albinus@gmx.de>
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index b628444aad1..de3dc186170 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -132,13 +132,13 @@ PHONY_EXTRAS =
# This could lead to problems in parallel builds if automatically
# generated *.el files (eg loaddefs etc) were being changed at the same time.
# One solution was to add autoloads as a prerequisite:
-# https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00469.html
-# https://lists.gnu.org/archive/html/bug-gnu-emacs/2007-12/msg00171.html
+# https://lists.gnu.org/r/emacs-pretest-bug/2007-01/msg00469.html
+# https://lists.gnu.org/r/bug-gnu-emacs/2007-12/msg00171.html
# However, this meant that running these targets modified loaddefs.el,
# every time (due to time-stamping). Calling these rules from
# bootstrap-after would modify loaddefs after src/emacs, resulting
# in make install remaking src/emacs for no real reason:
-# https://lists.gnu.org/archive/html/emacs-devel/2008-02/msg00311.html
+# https://lists.gnu.org/r/emacs-devel/2008-02/msg00311.html
# Nowadays these commands don't scan automatically generated files,
# since they will never contain any useful information
# (see finder-no-scan-regexp and custom-dependencies-no-scan-regexp).
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 3a679f778ab..2b664044de8 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -689,6 +689,7 @@ okay. See `mode-line-format'.")
;; `kill-all-local-variables', because they have no default value.
;; For consistency, we give them the `permanent-local' property, even
;; though `kill-all-local-variables' does not actually consult it.
+;; See init_buffer_once in buffer.c for the origins of this list.
(mapc (lambda (sym) (put sym 'permanent-local t))
'(buffer-file-name default-directory buffer-backed-up
@@ -697,7 +698,8 @@ okay. See `mode-line-format'.")
point-before-scroll buffer-file-truename
buffer-file-format buffer-auto-save-file-format
buffer-display-count buffer-display-time
- enable-multibyte-characters))
+ enable-multibyte-characters
+ buffer-file-coding-system))
;; We have base64, md5 and sha1 functions built in now.
(provide 'base64)
diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el
index 6a4054d73fa..301dc29c56a 100644
--- a/lisp/calendar/cal-dst.el
+++ b/lisp/calendar/cal-dst.el
@@ -248,7 +248,7 @@ The result has the proper form for `calendar-daylight-savings-starts'."
;; TODO it might be better to extract this information directly from
;; the system timezone database. But cross-platform...?
;; See thread
-;; https://lists.gnu.org/archive/html/emacs-pretest-bug/2006-11/msg00060.html
+;; https://lists.gnu.org/r/emacs-pretest-bug/2006-11/msg00060.html
(defun calendar-dst-find-data (&optional time)
"Find data on the first daylight saving time transitions after TIME.
TIME defaults to `current-time'. Return value is as described
diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el
index 32769332df5..b2079797b6c 100644
--- a/lisp/calendar/cal-menu.el
+++ b/lisp/calendar/cal-menu.el
@@ -100,7 +100,7 @@
;; Show 11 years--5 before, 5 after year of middle month.
;; We used to use :suffix rather than :label and bumped into
;; an easymenu bug:
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01813.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-11/msg01813.html
;; The bug has since been fixed.
(dotimes (i 11)
(push (vector (format "hol-year-%d" i)
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index d8d2dd4aafa..e45f8b27622 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -425,7 +425,7 @@ Only used if `diary-header-line-flag' is non-nil."
;; display does not create the fancy buffer, nor does it set
;; diary-selective-display in the diary buffer. This means some
;; customizations will not take effect, eg:
-;; https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-03/msg00466.html
+;; https://lists.gnu.org/r/emacs-pretest-bug/2007-03/msg00466.html
;; So the check for diary-selective-display was dropped. This means the
;; diary will be displayed if one customizes a diary variable while
;; just visiting the diary-file. This is i) unlikely, and ii) no great loss.
@@ -814,8 +814,8 @@ LIST-ONLY is non-nil, in which case it just returns the list."
;; diary-header-line-flag after diary has been displayed
;; take effect. Unconditionally calling (diary-mode)
;; clobbers file local variables.
- ;; https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-03/msg00363.html
- ;; https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-04/msg00404.html
+ ;; https://lists.gnu.org/r/emacs-pretest-bug/2007-03/msg00363.html
+ ;; https://lists.gnu.org/r/emacs-pretest-bug/2007-04/msg00404.html
(if (eq major-mode 'diary-mode)
(setq header-line-format (and diary-header-line-flag
diary-header-line-format)))))
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index 3e568213a63..0ae59c58804 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -5210,7 +5210,7 @@ If the category's done items are visible, this command called
with a prefix argument only moves point to a higher item, e.g.,
with point on the first done item and called with prefix 1, it
moves to the last todo item; but if called with point on the
-first done item without a prefix argument, it moves point the the
+first done item without a prefix argument, it moves point to the
empty line above the done items separator."
(let* ((done (todo-done-item-p)))
(todo-item-start)
diff --git a/lisp/char-fold.el b/lisp/char-fold.el
index 18ce5bea4f6..b24363530f3 100644
--- a/lisp/char-fold.el
+++ b/lisp/char-fold.el
@@ -196,7 +196,7 @@ from which to start."
;;; If N suffixes match, we "branch" out into N+1 executions for the
;;; length of the longest match. This means "fix" will match "fix" but
;;; not "fⅸ", but it's necessary to keep the regexp size from scaling
-;;; exponentially. See https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02562.html
+;;; exponentially. See https://lists.gnu.org/r/emacs-devel/2015-11/msg02562.html
(let ((subs (substring string (1+ i) (+ i 1 max-length))))
;; `i' is still going to inc by 1 below.
(setq i (+ i max-length))
diff --git a/lisp/comint.el b/lisp/comint.el
index 9bbb362d9ce..aa7dab28f32 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -678,7 +678,7 @@ Entry to this mode runs the hooks on `comint-mode-hook'."
;; comint-scroll-show-maximum-output is nil, and no-one can remember
;; what the original problem was. If there are problems with point
;; not going to the end, consider re-enabling this.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00827.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-08/msg00827.html
;;
;; This makes it really work to keep point at the bottom.
;; (make-local-variable 'scroll-conservatively)
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index edf3545cadd..4965adfd56c 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -2799,7 +2799,7 @@ If STATE is nil, the value is computed by `custom-variable-state'."
;; init-file-user rather than user-init-file. This is in case
;; cus-edit is loaded by something in site-start.el, because
;; user-init-file is not set at that stage.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00310.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-10/msg00310.html
,@(when (or custom-file init-file-user)
'(("Save for Future Sessions" custom-variable-save
(lambda (widget)
diff --git a/lisp/delsel.el b/lisp/delsel.el
index 17b46efc7cb..65b2cb85cea 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -256,12 +256,18 @@ See `delete-selection-helper'."
(get this-command 'delete-selection)))))
(defun delete-selection-uses-region-p ()
- "Return t when the current command will be using the region
-rather than having `delete-selection' delete it, nil otherwise.
+ "Return t when `delete-selection-mode' should not delete the region.
+
+The `self-insert-command' could be the current command or may be
+called by the current command. If this function returns nil,
+then `delete-selection' is allowed to delete the region.
This function is intended for use as the value of the
`delete-selection' property of a command, and shouldn't be used
-for anything else."
+for anything else. In particular, `self-insert-command' has this
+function as its `delete-selection' property, so that \"electric\"
+self-insert commands that act on the region could adapt themselves
+to `delete-selection-mode'."
(not (run-hook-with-args-until-success
'self-insert-uses-region-functions)))
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 3f9912980ba..f1f7cf0b0ef 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1014,7 +1014,7 @@ ARGS are command switches passed to PROGRAM.")
"Control the compression shell command for `dired-do-compress-to'.
Each element is (REGEXP . CMD), where REGEXP is the name of the
-archive to which you want to compress, and CMD the the
+archive to which you want to compress, and CMD is the
corresponding command.
Within CMD, %i denotes the input file(s), and %o denotes the
diff --git a/lisp/dnd.el b/lisp/dnd.el
index a0c91b13742..c5ee8975ac6 100644
--- a/lisp/dnd.el
+++ b/lisp/dnd.el
@@ -144,7 +144,7 @@ Return nil if URI is not a local file."
str))
uri t t))
-;; https://lists.gnu.org/archive/html/emacs-devel/2006-05/msg01060.html
+;; https://lists.gnu.org/r/emacs-devel/2006-05/msg01060.html
(defun dnd-get-local-file-name (uri &optional must-exist)
"Return file name converted from file:/// or file: syntax.
URI is the uri for the file. If MUST-EXIST is given and non-nil,
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index abfcdb347a3..d6c43ecf462 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -286,8 +286,12 @@ The return value is undefined.
;; Redefined in byte-opt.el.
-;; This is not documented--it's not clear that we should promote it.
-(fset 'inline 'progn)
+;; This was undocumented and unused for decades.
+(defalias 'inline 'progn
+ "Like `progn', but when compiled inline top-level function calls in body.
+You don't need this. (See bytecomp.el commentary for more details.)
+
+\(fn BODY...)")
;;; Interface to inline functions.
@@ -318,6 +322,7 @@ The return value is undefined.
(defmacro defsubst (name arglist &rest body)
"Define an inline function. The syntax is just like that of `defun'.
+
\(fn NAME ARGLIST &optional DOCSTRING DECL &rest BODY)"
(declare (debug defun) (doc-string 3))
(or (memq (get name 'byte-optimizer)
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index c54828e7b43..6952ef4cf49 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -402,7 +402,7 @@ is called as a function to find the defun's beginning."
"Return non-nil if the point is in an \"emptyish\" line.
This means a line that consists entirely of comments and/or
whitespace."
-;; See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-08/msg00141.html
+;; See https://lists.gnu.org/r/help-gnu-emacs/2016-08/msg00141.html
(save-excursion
(forward-line 0)
(< (line-end-position)
@@ -525,7 +525,7 @@ the one(s) already marked."
(interactive "p")
(setq arg (or arg 1))
;; There is no `mark-defun-back' function - see
- ;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-11/msg00079.html
+ ;; https://lists.gnu.org/r/bug-gnu-emacs/2016-11/msg00079.html
;; for explanation
(when (eq last-command 'mark-defun-back)
(setq arg (- arg)))
@@ -574,7 +574,7 @@ the one(s) already marked."
(goto-char beg)
(unless (= arg -1) ; beginning-of-defun behaves
; strange with zero arg - see
- ; https://lists.gnu.org/archive/html/bug-gnu-emacs/2017-02/msg00196.html
+ ; https://lists.gnu.org/r/bug-gnu-emacs/2017-02/msg00196.html
(beginning-of-defun (1- (- arg))))
(push-mark end nil t))))))
(skip-chars-backward "[:space:]\n")
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 68ca1972d1e..61bff5cfbca 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -3397,7 +3397,9 @@ This function is called after `package-refresh-contents'."
"Display a list of packages.
This first fetches the updated list of packages before
displaying, unless a prefix argument NO-FETCH is specified.
-The list is displayed in a buffer named `*Packages*'."
+The list is displayed in a buffer named `*Packages*', and
+includes the package's version, availability status, and a
+short description."
(interactive "P")
(require 'finder-inf nil t)
;; Initialize the package system if necessary.
diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el
index 8ed29d8659d..9ff742c4331 100644
--- a/lisp/emacs-lisp/subr-x.el
+++ b/lisp/emacs-lisp/subr-x.el
@@ -28,7 +28,7 @@
;; in subr.el.
;; Do not document these functions in the lispref.
-;; https://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01006.html
+;; https://lists.gnu.org/r/emacs-devel/2014-01/msg01006.html
;; NB If you want to use this library, it's almost always correct to use:
;; (eval-when-compile (require 'subr-x))
diff --git a/lisp/epg.el b/lisp/epg.el
index 903cbd62eeb..b2d80023f0f 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -608,7 +608,7 @@ callback data (if any)."
;; Record modified time of gpg-agent socket to restore the Emacs
;; frame on text terminal in `epg-wait-for-completion'.
;; See
- ;; <https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00755.html>
+ ;; <https://lists.gnu.org/r/emacs-devel/2007-02/msg00755.html>
;; for more details.
(when (and agent-info (string-match "\\(.*\\):[0-9]+:[0-9]+" agent-info))
(setq agent-file (match-string 1 agent-info)
diff --git a/lisp/erc/erc-goodies.el b/lisp/erc/erc-goodies.el
index a655d48a6ac..8906da1e47d 100644
--- a/lisp/erc/erc-goodies.el
+++ b/lisp/erc/erc-goodies.el
@@ -147,7 +147,19 @@ Put this function on `erc-insert-post-hook' and/or `erc-send-post-hook'."
(>= (point) erc-insert-marker))
(deactivate-mark)
(goto-char (erc-beg-of-input-line))
- (forward-line -1)))
+ (forward-line -1)
+ ;; if `switch-to-buffer-preserve-window-point' is set,
+ ;; we cannot rely on point being saved, and must commit
+ ;; it to window-prev-buffers.
+ (when switch-to-buffer-preserve-window-point
+ (dolist (frame (frame-list))
+ (walk-window-tree
+ (lambda (window)
+ (let ((prev (assq (current-buffer)
+ (window-prev-buffers window))))
+ (when prev
+ (setf (nth 2 prev) (point-marker)))))
+ frame nil 'nominibuf)))))
;;; Distinguish non-commands
(defvar erc-noncommands-list '(erc-cmd-ME
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index c486d2c51d1..e5c799ea167 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -961,7 +961,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
;; after setting
(throw 'eshell-replace-command
(eshell-parse-command (car time-args)
-;;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2007-08/msg00205.html
+;;; https://lists.gnu.org/r/bug-gnu-emacs/2007-08/msg00205.html
(eshell-stringify-list
(eshell-flatten-list (cdr time-args))))))))
diff --git a/lisp/faces.el b/lisp/faces.el
index a5f1d1dd328..d8ec454e626 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2361,7 +2361,7 @@ If you set `term-file-prefix' to nil, this function does nothing."
(defface variable-pitch
'((((type w32))
;; This is a workaround for an issue discussed in
- ;; https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00746.html.
+ ;; https://lists.gnu.org/r/emacs-devel/2016-04/msg00746.html.
;; We need (a) the splash screen not to pick up bold-italics variant of
;; the font, and (b) still be able to request bold/italic/larger size
;; variants in the likes of EWW.
diff --git a/lisp/ffap.el b/lisp/ffap.el
index 810afd5739b..a776668d109 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -786,7 +786,7 @@ This uses `ffap-file-exists-string', which may try adding suffixes from
("\\`~/" . ffap-lcd) ; |~/misc/ffap.el.Z|
;; This used to have a blank, but ffap-string-at-point doesn't
;; handle blanks.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2008-01/msg01058.html
+ ;; https://lists.gnu.org/r/emacs-devel/2008-01/msg01058.html
("\\`[Rr][Ff][Cc][-#]?\\([0-9]+\\)" ; no $
. ffap-rfc) ; "100% RFC2100 compliant"
(dired-mode . ffap-dired) ; maybe in a subdirectory
diff --git a/lisp/files.el b/lisp/files.el
index 63dd509eab8..5d78cd07b6e 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1859,9 +1859,9 @@ home directory is a root directory) and removes automounter prefixes
When this function is first called, it caches the user's home
directory as a regexp in `abbreviated-home-dir', and reuses it
-afterwards. Lisp programs that temporarily set the home directory
-to a different value should let-bind `abbreviated-home-dir' for
-the modified home directory to take effect."
+afterwards (so long as the home directory does not change;
+if you want to permanently change your home directory after having
+started Emacs, set `abbreviated-home-dir' to nil so it will be recalculated)."
;; Get rid of the prefixes added by the automounter.
(save-match-data
(if (and automount-dir-prefix
@@ -1883,29 +1883,37 @@ the modified home directory to take effect."
;; give time for directory-abbrev-alist to be set properly.
;; We include a slash at the end, to avoid spurious matches
;; such as `/usr/foobar' when the home dir is `/usr/foo'.
- (or abbreviated-home-dir
- (setq abbreviated-home-dir
- (let ((abbreviated-home-dir "$foo"))
- (setq abbreviated-home-dir
- (concat "\\`"
- (abbreviate-file-name (expand-file-name "~"))
- "\\(/\\|\\'\\)"))
- ;; Depending on whether default-directory does or
- ;; doesn't include non-ASCII characters, the value
- ;; of abbreviated-home-dir could be multibyte or
- ;; unibyte. In the latter case, we need to decode
- ;; it. Note that this function is called for the
- ;; first time (from startup.el) when
- ;; locale-coding-system is already set up.
- (if (multibyte-string-p abbreviated-home-dir)
- abbreviated-home-dir
- (decode-coding-string abbreviated-home-dir
- (if (eq system-type 'windows-nt)
- 'utf-8
- locale-coding-system))))))
+ (unless abbreviated-home-dir
+ (put 'abbreviated-home-dir 'home (expand-file-name "~"))
+ (setq abbreviated-home-dir
+ (let ((abbreviated-home-dir "$foo"))
+ (setq abbreviated-home-dir
+ (concat "\\`"
+ (abbreviate-file-name
+ (get 'abbreviated-home-dir 'home))
+ "\\(/\\|\\'\\)"))
+ ;; Depending on whether default-directory does or
+ ;; doesn't include non-ASCII characters, the value
+ ;; of abbreviated-home-dir could be multibyte or
+ ;; unibyte. In the latter case, we need to decode
+ ;; it. Note that this function is called for the
+ ;; first time (from startup.el) when
+ ;; locale-coding-system is already set up.
+ (if (multibyte-string-p abbreviated-home-dir)
+ abbreviated-home-dir
+ (decode-coding-string abbreviated-home-dir
+ (if (eq system-type 'windows-nt)
+ 'utf-8
+ locale-coding-system))))))
;; If FILENAME starts with the abbreviated homedir,
+ ;; and ~ hasn't changed since abbreviated-home-dir was set,
;; make it start with `~' instead.
+ ;; If ~ has changed, we ignore abbreviated-home-dir rather than
+ ;; invalidating it, on the assumption that a change in HOME
+ ;; is likely temporary (eg for testing).
+ ;; FIXME Is it even worth caching abbreviated-home-dir?
+ ;; Ref: https://debbugs.gnu.org/19657#20
(if (and (string-match abbreviated-home-dir filename)
;; If the home dir is just /, don't change it.
(not (and (= (match-end 0) 1)
@@ -1914,7 +1922,9 @@ the modified home directory to take effect."
;; Novell Netware allows drive letters beyond `Z:'.
(not (and (memq system-type '(ms-dos windows-nt cygwin))
(save-match-data
- (string-match "^[a-zA-`]:/$" filename)))))
+ (string-match "^[a-zA-`]:/$" filename))))
+ (equal (get 'abbreviated-home-dir 'home)
+ (expand-file-name "~")))
(setq filename
(concat "~"
(match-string 1 filename)
diff --git a/lisp/finder.el b/lisp/finder.el
index ab37ed7fc24..1cebad7b546 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -129,7 +129,7 @@ Keywords and package names both should be symbols.")
;; Skip autogenerated files, because they will never contain anything
;; useful, and because in parallel builds of Emacs they may get
;; modified while we are trying to read them.
-;; https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00469.html
+;; https://lists.gnu.org/r/emacs-pretest-bug/2007-01/msg00469.html
;; ldefs-boot is not auto-generated, but has nothing useful.
(defvar finder-no-scan-regexp "\\(^\\.#\\|\\(loaddefs\\|ldefs-boot\\|\
cus-load\\|finder-inf\\|esh-groups\\|subdirs\\|leim-list\\)\\.el$\\)"
diff --git a/lisp/follow.el b/lisp/follow.el
index 4893cad3fdc..1ec6ff30f26 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -416,6 +416,7 @@ This command runs the normal hook `follow-mode-hook'.
Keys specific to Follow mode:
\\{follow-mode-map}"
+ :lighter follow-mode-line-text
:keymap follow-mode-map
(if follow-mode
(progn
diff --git a/lisp/frame.el b/lisp/frame.el
index b6c066462b0..2e925325a9e 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1075,7 +1075,7 @@ is given and non-nil, the unwanted frames are iconified instead."
(when mini (setq parms (delq mini parms)))
;; Leave name in iff it was set explicitly.
;; This should fix the behavior reported in
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01632.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-08/msg01632.html
(when (and name (not explicit-name))
(setq parms (delq name parms)))
parms))
diff --git a/lisp/gnus/ChangeLog.3 b/lisp/gnus/ChangeLog.3
index 43681f6eb7d..2d030b61b99 100644
--- a/lisp/gnus/ChangeLog.3
+++ b/lisp/gnus/ChangeLog.3
@@ -3819,7 +3819,7 @@
2012-02-15 Paul Eggert <eggert@cs.ucla.edu>
* shr.el (shr-rescale-image): Undo previous change; see
- <https://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00540.html>.
+ <https://lists.gnu.org/r/emacs-devel/2012-02/msg00540.html>.
2012-02-13 Lars Ingebrigtsen <larsi@gnus.org>
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index f6777c5e884..445911fc6d5 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4095,7 +4095,7 @@ Instead, just auto-save the buffer and then bury it."
"Bury this mail BUFFER."
;; Note that this is not quite the same as (bury-buffer buffer),
;; since bury-buffer does extra stuff with a nil argument.
- ;; Eg https://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00539.html
+ ;; Eg https://lists.gnu.org/r/emacs-devel/2014-01/msg00539.html
(with-current-buffer buffer (bury-buffer))
(if message-return-action
(apply (car message-return-action) (cdr message-return-action))))
@@ -6679,7 +6679,7 @@ is a function used to switch to and display the mail buffer."
;; C-h f compose-mail says that headers should be specified as
;; (string . value); however all the rest of message expects
;; headers to be symbols, not strings (eg message-header-format-alist).
- ;; https://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00337.html
+ ;; https://lists.gnu.org/r/emacs-devel/2011-01/msg00337.html
;; We need to convert any string input, eg from rmail-start-mail.
(dolist (h other-headers other-headers)
(if (stringp (car h)) (setcar h (intern (capitalize (car h)))))))
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index 791b110bf49..a4c68d329b7 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -650,7 +650,7 @@ STYLE is the inline CSS stylesheet (or tag referring to an external sheet)."
var even = false;
// if arguments are provided to specify the colors
- // of the even & odd rows, then use the them;
+ // of the even & odd rows, then use them;
// otherwise use the following defaults:
var evenColor = arguments[1] ? arguments[1] : \"#fff\";
var oddColor = arguments[2] ? arguments[2] : \"#ddd\";
diff --git a/lisp/info.el b/lisp/info.el
index e2f9953f7c7..0a4f672b9f2 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -1347,7 +1347,7 @@ is non-nil)."
;; Shouldn't really happen, but sometimes does,
;; eg on Debian systems with buggy packages;
;; so may as well try it.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00005.html
+ ;; https://lists.gnu.org/r/emacs-devel/2012-03/msg00005.html
(progn (setq file (expand-file-name "dir.gz" truename))
(file-attributes file)))))
(setq dirs-done
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index f2c7bcb1f77..1bbbb174d49 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -2513,7 +2513,7 @@ package to describe."
(setq buffer-read-only nil)
;; Without this, a keyboard layout with R2L characters might be
;; displayed reversed, right to left. See the thread starting at
- ;; https://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00062.html
+ ;; https://lists.gnu.org/r/emacs-devel/2012-03/msg00062.html
;; for a description of one such situation.
(setq bidi-paragraph-direction 'left-to-right)
(insert "Input method: " (quail-name)
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index caddc7f760b..ad2a770430f 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -713,23 +713,26 @@ SWITCHES is a list of characters. Default sorting is alphabetic."
(defun ls-lisp-classify-file (filename fattr)
"Append a character to FILENAME indicating the file type.
+This function puts the `dired-filename' property on FILENAME, but
+not on the character indicator it appends.
FATTR is the file attributes returned by `file-attributes' for the file.
The file type indicators are `/' for directories, `@' for symbolic
links, `|' for FIFOs, `=' for sockets, `*' for regular files that
are executable, and nothing for other types of files."
(let* ((type (car fattr))
(modestr (nth 8 fattr))
- (typestr (substring modestr 0 1)))
+ (typestr (substring modestr 0 1))
+ (file-name (propertize filename 'dired-filename t)))
(cond
(type
- (concat filename (if (eq type t) "/" "@")))
+ (concat file-name (if (eq type t) "/" "@")))
((string-match "x" modestr)
- (concat filename "*"))
+ (concat file-name "*"))
((string= "p" typestr)
- (concat filename "|"))
+ (concat file-name "|"))
((string= "s" typestr)
- (concat filename "="))
- (t filename))))
+ (concat file-name "="))
+ (t file-name))))
(defun ls-lisp-classify (filedata)
"Append a character to file name in FILEDATA indicating the file type.
@@ -742,7 +745,6 @@ links, `|' for FIFOs, `=' for sockets, `*' for regular files that
are executable, and nothing for other types of files."
(let ((file-name (car filedata))
(fattr (cdr filedata)))
- (setq file-name (propertize file-name 'dired-filename t))
(cons (ls-lisp-classify-file file-name fattr) fattr)))
(defun ls-lisp-extension (filename)
@@ -841,7 +843,7 @@ SWITCHES and TIME-INDEX give the full switch list and time data."
" "
(ls-lisp-format-time file-attr time-index)
" "
- (if (not (memq ?F switches)) ; ls-lisp-classify already did that
+ (if (not (memq ?F switches)) ; ls-lisp-classify-file already did that
(propertize file-name 'dired-filename t)
file-name)
(if (stringp file-type) ; is a symbolic link
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index dc25e8005ce..92f39659360 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -179,7 +179,7 @@ Prompts for bug subject. Leaves you in a mail buffer."
'face 'link
'help-echo (concat "mouse-2, RET: Follow this link")
'action (lambda (button)
- (browse-url "https://lists.gnu.org/archive/html/bug-gnu-emacs/"))
+ (browse-url "https://lists.gnu.org/r/bug-gnu-emacs/"))
'follow-link t)
(insert " mailing list\nand the GNU bug tracker at ")
(insert-text-button
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 1a24d87addd..994570edcb2 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -278,7 +278,7 @@ Otherwise, look for `movemail' in the directories in
;; rmail-insert-inbox-text before r1.439 fell back to using
;; (expand-file-name "movemail" exec-directory) and just
;; assuming it would work.
- ;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2008-02/msg00087.html
+ ;; https://lists.gnu.org/r/bug-gnu-emacs/2008-02/msg00087.html
(let ((progname (expand-file-name
(concat "movemail"
(if (memq system-type '(ms-dos windows-nt))
@@ -534,7 +534,7 @@ still the current message in the Rmail buffer.")
;; It's not clear what it should do now, since there is nothing that
;; records when a message is shown for the first time (unseen is not
;; necessarily the same thing).
-;; See https://lists.gnu.org/archive/html/emacs-devel/2009-03/msg00013.html
+;; See https://lists.gnu.org/r/emacs-devel/2009-03/msg00013.html
(defcustom rmail-message-filter nil
"If non-nil, a filter function for new messages in RMAIL.
Called with region narrowed to the message, including headers,
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el
index 0cb8a1791ff..4a424ece0b1 100644
--- a/lisp/mail/supercite.el
+++ b/lisp/mail/supercite.el
@@ -713,7 +713,7 @@ the list should be unique."
;; regi functions
-;; https://lists.gnu.org/archive/html/emacs-devel/2009-02/msg00691.html
+;; https://lists.gnu.org/r/emacs-devel/2009-02/msg00691.html
;; When rmail replies to a message with full headers visible, the "From "
;; line can be included.
(defun sc-mail-check-from ()
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 972f84ee6c7..2b38cb5f2b0 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -669,7 +669,8 @@ The selected font will be the default on both the existing and future frames."
(let ((need-save nil))
;; These are set with menu-bar-make-mm-toggle, which does not
;; put on a customized-value property.
- (dolist (elt '(line-number-mode column-number-mode size-indication-mode
+ (dolist (elt '(global-display-line-numbers-mode display-line-numbers-type
+ line-number-mode column-number-mode size-indication-mode
cua-mode show-paren-mode transient-mark-mode
blink-cursor-mode display-time-mode display-battery-mode
;; These are set by other functions that don't set
diff --git a/lisp/net/rlogin.el b/lisp/net/rlogin.el
index 297aa0230c8..2843833a27a 100644
--- a/lisp/net/rlogin.el
+++ b/lisp/net/rlogin.el
@@ -38,7 +38,7 @@
;; FIXME?
;; Maybe this file should be obsolete.
-;; https://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00517.html
+;; https://lists.gnu.org/r/emacs-devel/2013-02/msg00517.html
;; It only adds rlogin-directory-tracking-mode. Is that useful?
(require 'comint)
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 4ba452e4b94..ab7240c8c3d 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -2289,8 +2289,10 @@ flags that control whether to collect or render objects."
(<= (car (cdr attr)) width))
(setq result (cdr attr)))))))
result))
- (let ((result (shr-render-td-1 dom width fill)))
+ (let* ((pt (point))
+ (result (shr-render-td-1 dom width fill)))
(dom-set-attribute dom cache result)
+ (goto-char pt)
result))))
(defun shr-render-td-1 (dom width fill)
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 424e77b0eba..404af983b50 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -1056,11 +1056,11 @@ If FILE-SYSTEM is non-nil, return file system attributes."
(defun tramp-gvfs-handle-file-local-copy (filename)
"Like `file-local-copy' for Tramp files."
(with-parsed-tramp-file-name filename nil
+ (unless (file-exists-p filename)
+ (tramp-error
+ v tramp-file-missing
+ "Cannot make local copy of non-existing file `%s'" filename))
(let ((tmpfile (tramp-compat-make-temp-file filename)))
- (unless (file-exists-p filename)
- (tramp-error
- v tramp-file-missing
- "Cannot make local copy of non-existing file `%s'" filename))
(copy-file filename tmpfile 'ok-if-already-exists 'keep-time)
tmpfile)))
diff --git a/lisp/obsolete/complete.el b/lisp/obsolete/complete.el
index 40123ccacaf..1f154a4d2e9 100644
--- a/lisp/obsolete/complete.el
+++ b/lisp/obsolete/complete.el
@@ -924,7 +924,7 @@ or properties are considered."
(or (boundp sym) (fboundp sym)
(symbol-plist sym))))))
(PC-not-minibuffer t))
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-03/msg01211.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-03/msg01211.html
;;
;; This deals with cases like running PC-l-c-s on "M-: (n-f".
;; The first call to PC-l-c-s expands this to "(ne-f", and moves
diff --git a/lisp/org/ChangeLog.1 b/lisp/org/ChangeLog.1
index ee5f01479a8..b7cfd1e4aa1 100644
--- a/lisp/org/ChangeLog.1
+++ b/lisp/org/ChangeLog.1
@@ -11560,7 +11560,7 @@
break after the last footnote definition. This is an an implicit
assumption made by the org-lparse.el library. With this change,
footnote definitions can reliably be exported with ODT backend.
- See https://lists.gnu.org/archive/html/emacs-orgmode/2012-02/msg01013.html.
+ See https://lists.gnu.org/r/emacs-orgmode/2012-02/msg01013.html.
2012-04-01 Eric Schulte <eric.schulte@gmx.com>
@@ -13952,7 +13952,7 @@
* org.el (org-mode): Force left-to-right paragraphs in Org
buffers. For a related discussions, see
- https://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00349.html.
+ https://lists.gnu.org/r/emacs-devel/2011-09/msg00349.html.
2012-01-03 Nicolas Goaziou <n.goaziou@gmail.com>
@@ -14933,7 +14933,7 @@
* org.el (org-mode): Force left-to-right paragraphs in Org
buffers. For a related discussions, see
- https://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00349.html.
+ https://lists.gnu.org/r/emacs-devel/2011-09/msg00349.html.
2011-09-17 Juanma Barranquero <lekktu@gmail.com>
diff --git a/lisp/org/ox-odt.el b/lisp/org/ox-odt.el
index f00fd99fc3e..7355eaab6de 100644
--- a/lisp/org/ox-odt.el
+++ b/lisp/org/ox-odt.el
@@ -3890,7 +3890,7 @@ contextual information."
;; themselves and the list can be arbitrarily deep.
;;
;; Inspired by following thread:
-;; https://lists.gnu.org/archive/html/emacs-orgmode/2011-03/msg01101.html
+;; https://lists.gnu.org/r/emacs-orgmode/2011-03/msg01101.html
;; Translate lists to tables
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index 2213a0239db..9bfe5c91f57 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -261,7 +261,7 @@ unseen line above the first line, respectively, is provided."
;; obtain height by (line-pixel-height). This is based on
;; expected response from display engine. See following
;; discussion.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00621.html
+ ;; https://lists.gnu.org/r/emacs-devel/2017-10/msg00621.html
((equal (count-lines (window-start) (point)) 1)
(line-pixel-height))
;; No char of line is shown and the line is not at the top,
diff --git a/lisp/plstore.el b/lisp/plstore.el
index b49e3d40fc4..da260096eaf 100644
--- a/lisp/plstore.el
+++ b/lisp/plstore.el
@@ -521,7 +521,7 @@ If no one is selected, symmetric encryption will be performed. "
t)))
(defun plstore-mode-original ()
- "Show the original form of the this buffer."
+ "Show the original form of this buffer."
(interactive)
(when plstore-encoded
(if (and (buffer-modified-p)
@@ -533,7 +533,7 @@ If no one is selected, symmetric encryption will be performed. "
(setq plstore-encoded nil)))
(defun plstore-mode-decoded ()
- "Show the decoded form of the this buffer."
+ "Show the decoded form of this buffer."
(interactive)
(unless plstore-encoded
(if (and (buffer-modified-p)
diff --git a/lisp/proced.el b/lisp/proced.el
index aec54b59211..b4bdbb05f0d 100644
--- a/lisp/proced.el
+++ b/lisp/proced.el
@@ -1804,7 +1804,7 @@ supported but discouraged. It will be removed in a future version of Emacs."
(let (failures)
;; Why not always use `signal-process'? See
- ;; https://lists.gnu.org/archive/html/emacs-devel/2008-03/msg02955.html
+ ;; https://lists.gnu.org/r/emacs-devel/2008-03/msg02955.html
(if (functionp proced-signal-function)
;; use built-in `signal-process'
(let ((signal (if (stringp signal)
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 2b663135932..471560e19d4 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -1849,7 +1849,15 @@ with a brace block."
;; Pick out the defun name, according to the type of defun.
(cond
;; struct, union, enum, or similar:
- ((looking-at c-type-prefix-key)
+ ((save-excursion
+ (and
+ (looking-at c-type-prefix-key)
+ (consp (c-forward-decl-or-cast-1 (c-point 'bosws) 'top nil))
+ (or (not (or (eq (char-after) ?{)
+ (and c-recognize-knr-p
+ (c-in-knr-argdecl))))
+ (progn (c-backward-syntactic-ws)
+ (not (eq (char-before) ?\)))))))
(let ((key-pos (point)))
(c-forward-over-token-and-ws) ; over "struct ".
(cond
@@ -1897,8 +1905,16 @@ with a brace block."
(t
;; Normal function or initializer.
- (when (c-syntactic-re-search-forward "[{(]" nil t)
- (backward-char)
+ (when
+ (and
+ (consp (c-forward-decl-or-cast-1 (c-point 'bosws) 'top nil))
+ (or (eq (char-after) ?{)
+ (and c-recognize-knr-p
+ (c-in-knr-argdecl)))
+ (progn
+ (c-backward-syntactic-ws)
+ (eq (char-before) ?\)))
+ (c-go-list-backward))
(c-backward-syntactic-ws)
(when (eq (char-before) ?\=) ; struct foo bar = {0, 0} ;
(c-backward-token-2)
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index 9339dcd83cc..7dae8297fd3 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -117,7 +117,7 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
,(concat
"^\\<" ; line MUST start with word char
;; \n added to prevent overflow in regexp matcher.
- ;; https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-02/msg00021.html
+ ;; https://lists.gnu.org/r/emacs-pretest-bug/2007-02/msg00021.html
"[^()\n]*" ; no parentheses before
"[^" c-alnum "_:<>~]" ; match any non-identifier char
"\\([" c-alpha "_][" c-alnum "_:<>~]*\\)" ; match function name
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index df202e9cd2f..c4213797636 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1227,8 +1227,8 @@ As described below, each cons cell in this list has the form:
When a line is indented, CC Mode first determines the syntactic
context of it by generating a list of symbols called syntactic
-elements. The global variable `c-syntactic-context' is bound to the
-that list. Each element in the list is in turn a list where the first
+elements. The global variable `c-syntactic-context' is bound to that
+list. Each element in the list is in turn a list where the first
element is a syntactic symbol which tells what kind of construct the
indentation point is located within. More elements in the syntactic
element lists are optional. If there is one more and it isn't nil,
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 0794830fcb8..4cce47e5d8c 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1740,7 +1740,7 @@ Returns the compilation buffer created."
(setq thisdir default-directory))
(set-buffer-modified-p nil))
;; Pop up the compilation buffer.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01638.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-11/msg01638.html
(setq outwin (display-buffer outbuf '(nil (allow-no-window . t))))
(with-current-buffer outbuf
(let ((process-environment
@@ -2855,7 +2855,7 @@ TRUE-DIRNAME is the `file-truename' of DIRNAME, if given."
;; The gethash used to not use spec-directory, but
;; this leads to errors when files in different
;; directories have the same name:
- ;; https://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00463.html
+ ;; https://lists.gnu.org/r/emacs-devel/2007-08/msg00463.html
(or (gethash (cons filename spec-directory) compilation-locs)
(puthash (cons filename spec-directory)
(compilation--make-file-struct
diff --git a/lisp/progmodes/flymake-proc.el b/lisp/progmodes/flymake-proc.el
index e28451d9417..e207de5da6c 100644
--- a/lisp/progmodes/flymake-proc.el
+++ b/lisp/progmodes/flymake-proc.el
@@ -768,7 +768,7 @@ can also be executed interactively independently of
;; trying if the directory is read-only (bug#8954).
(file-writable-p (file-name-directory buffer-file-name))
(flymake-proc--get-init-function buffer-file-name))))
- (unless init-f (error "Can find a suitable init function"))
+ (unless init-f (error "Can't find a suitable init function"))
(flymake-proc--clear-buildfile-cache)
(flymake-proc--clear-project-include-dirs-cache)
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index 103b6ce7c51..dc6bba44f32 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -1497,7 +1497,7 @@ current buffer file unless called with a prefix arg \\[universal-argument]."
(string (buffer-substring-no-properties beg end))
line)
(with-current-buffer inferior-octave-buffer
- ;; https://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00095.html
+ ;; https://lists.gnu.org/r/emacs-devel/2013-10/msg00095.html
(compilation-forget-errors)
(setq inferior-octave-output-list nil)
(while (not (string-equal string ""))
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index da08bb0788e..dc1b0f8e2da 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -2254,24 +2254,38 @@ See `font-lock-syntax-table'.")
(ruby-match-expression-expansion limit)))))
;;; Flymake support
-(defcustom ruby-flymake-command '("ruby" "-w" "-c")
- "External tool used to check Ruby source code.
-This is a non empty list of strings, the checker tool possibly
-followed by required arguments. Once launched it will receive
-the Ruby source to be checked as its standard input."
- :group 'ruby
- :type '(repeat string))
-
(defvar-local ruby--flymake-proc nil)
-(defun ruby-flymake (report-fn &rest _args)
- "Ruby backend for Flymake. Launches
-`ruby-flymake-command' (which see) and passes to its standard
-input the contents of the current buffer. The output of this
-command is analyzed for error and warning messages."
- (unless (executable-find (car ruby-flymake-command))
- (error "Cannot find a suitable checker"))
-
+(defun ruby-flymake-simple (report-fn &rest _args)
+ "`ruby -wc' backend for Flymake."
+ (unless (executable-find "ruby")
+ (error "Cannot find the ruby executable"))
+
+ (ruby-flymake--helper
+ "ruby-flymake"
+ '("ruby" "-w" "-c")
+ (lambda (_proc source)
+ (goto-char (point-min))
+ (cl-loop
+ while (search-forward-regexp
+ "^\\(?:.*.rb\\|-\\):\\([0-9]+\\): \\(.*\\)$"
+ nil t)
+ for msg = (match-string 2)
+ for (beg . end) = (flymake-diag-region
+ source
+ (string-to-number (match-string 1)))
+ for type = (if (string-match "^warning" msg)
+ :warning
+ :error)
+ collect (flymake-make-diagnostic source
+ beg
+ end
+ type
+ msg)
+ into diags
+ finally (funcall report-fn diags)))))
+
+(defun ruby-flymake--helper (process-name command parser-fn)
(when (process-live-p ruby--flymake-proc)
(kill-process ruby--flymake-proc))
@@ -2281,40 +2295,97 @@ command is analyzed for error and warning messages."
(setq
ruby--flymake-proc
(make-process
- :name "ruby-flymake" :noquery t :connection-type 'pipe
- :buffer (generate-new-buffer " *ruby-flymake*")
- :command ruby-flymake-command
+ :name process-name :noquery t :connection-type 'pipe
+ :buffer (generate-new-buffer (format " *%s*" process-name))
+ :command command
:sentinel
(lambda (proc _event)
(when (eq 'exit (process-status proc))
(unwind-protect
(if (with-current-buffer source (eq proc ruby--flymake-proc))
(with-current-buffer (process-buffer proc)
- (goto-char (point-min))
- (cl-loop
- while (search-forward-regexp
- "^\\(?:.*.rb\\|-\\):\\([0-9]+\\): \\(.*\\)$"
- nil t)
- for msg = (match-string 2)
- for (beg . end) = (flymake-diag-region
- source
- (string-to-number (match-string 1)))
- for type = (if (string-match "^warning" msg)
- :warning
- :error)
- collect (flymake-make-diagnostic source
- beg
- end
- type
- msg)
- into diags
- finally (funcall report-fn diags)))
+ (funcall parser-fn proc source))
(flymake-log :debug "Canceling obsolete check %s"
proc))
(kill-buffer (process-buffer proc)))))))
(process-send-region ruby--flymake-proc (point-min) (point-max))
(process-send-eof ruby--flymake-proc))))
+(defcustom ruby-flymake-use-rubocop-if-available t
+ "Non-nil to use the Rubocop Flymake backend.
+Only takes effect if Rubocop is installed."
+ :type 'boolean
+ :group 'ruby
+ :safe 'booleanp)
+
+(defcustom ruby-rubocop-config ".rubocop.yml"
+ "Configuration file for `ruby-flymake-rubocop'."
+ :type 'string
+ :group 'ruby
+ :safe 'stringp)
+
+(defun ruby-flymake-rubocop (report-fn &rest _args)
+ "Rubocop backend for Flymake."
+ (unless (executable-find "rubocop")
+ (error "Cannot find the rubocop executable"))
+
+ (let ((command (list "rubocop" "--stdin" buffer-file-name "--format" "emacs"
+ "--cache" "false" ; Work around a bug in old version.
+ "--display-cop-names"))
+ config-dir)
+ (when buffer-file-name
+ (setq config-dir (locate-dominating-file buffer-file-name
+ ruby-rubocop-config))
+ (when config-dir
+ (setq command (append command (list "--config"
+ (expand-file-name ruby-rubocop-config
+ config-dir)))))
+
+ (ruby-flymake--helper
+ "rubocop-flymake"
+ command
+ (lambda (proc source)
+ ;; Finding the executable is no guarantee of
+ ;; rubocop working, especially in the presence
+ ;; of rbenv shims (which cross ruby versions).
+ (when (eq (process-exit-status proc) 127)
+ ;; Not sure what to do in this case. Maybe ideally we'd
+ ;; switch back to ruby-flymake-simple.
+ (flymake-log :warning "Rubocop returned status 127: %s"
+ (buffer-string)))
+ (goto-char (point-min))
+ (cl-loop
+ while (search-forward-regexp
+ "^\\(?:.*.rb\\|-\\):\\([0-9]+\\):\\([0-9]+\\): \\(.*\\)$"
+ nil t)
+ for msg = (match-string 3)
+ for (beg . end) = (flymake-diag-region
+ source
+ (string-to-number (match-string 1))
+ (string-to-number (match-string 2)))
+ for type = (cond
+ ((string-match "^[EF]: " msg)
+ :error)
+ ((string-match "^W: " msg)
+ :warning)
+ (t :note))
+ collect (flymake-make-diagnostic source
+ beg
+ end
+ type
+ (substring msg 3))
+ into diags
+ finally (funcall report-fn diags)))))))
+
+(defun ruby-flymake-auto (report-fn &rest args)
+ (apply
+ (if (and ruby-flymake-use-rubocop-if-available
+ (executable-find "rubocop"))
+ #'ruby-flymake-rubocop
+ #'ruby-flymake-simple)
+ report-fn
+ args))
+
;;;###autoload
(define-derived-mode ruby-mode prog-mode "Ruby"
"Major mode for editing Ruby code."
@@ -2327,7 +2398,7 @@ command is analyzed for error and warning messages."
(add-hook 'after-save-hook 'ruby-mode-set-encoding nil 'local)
(add-hook 'electric-indent-functions 'ruby--electric-indent-p nil 'local)
- (add-hook 'flymake-diagnostic-functions 'ruby-flymake nil 'local)
+ (add-hook 'flymake-diagnostic-functions 'ruby-flymake-auto nil 'local)
(setq-local font-lock-defaults '((ruby-font-lock-keywords) nil nil))
(setq-local font-lock-keywords ruby-font-lock-keywords)
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index a6e3ae54559..e2bd89ec46c 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -284,7 +284,7 @@ STRING should be given if the last search was by `string-match' on STRING."
;; This function is lifted directly from emacs's subr.el
;; so that it can be used by xemacs.
;; The idea for this was borrowed from org-mode via this link:
-;; https://lists.gnu.org/archive/html/emacs-orgmode/2009-12/msg00032.html
+;; https://lists.gnu.org/r/emacs-orgmode/2009-12/msg00032.html
(eval-and-compile
(cond
((fboundp 'looking-back)
diff --git a/lisp/simple.el b/lisp/simple.el
index 41f22b2396d..24ecf6929d9 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -406,9 +406,18 @@ Other major modes are defined by comparison with this one."
(defvar self-insert-uses-region-functions nil
"Special hook to tell if `self-insert-command' will use the region.
It must be called via `run-hook-with-args-until-success' with no arguments.
-Any `post-self-insert-command' which consumes the region should
-register a function on this hook so that things like `delete-selection-mode'
-can refrain from consuming the region.")
+
+If any function on this hook returns a non-nil value, `delete-selection-mode'
+will act on that value (see `delete-selection-helper'), and will
+usually delete the region. If all the functions on this hook return
+nil, it is an indiction that `self-insert-command' needs the region
+untouched by `delete-selection-mode', and will itself do whatever is
+appropriate with the region.
+Any function on `post-self-insert-hook' which act on the region should
+add a function to this hook so that `delete-selection-mode' could
+refrain from deleting the region before `post-self-insert-hook'
+functions are called.
+This hook is run by `delete-selection-uses-region-p', which see.")
(defvar hard-newline (propertize "\n" 'hard t 'rear-nonsticky '(hard))
"Propertized string representing a hard newline character.")
@@ -8816,7 +8825,7 @@ If it does not exist, create and it switch it to `messages-buffer-mode'."
;; rms says this should be done by specifying symbols that define
;; versions together with bad values. This is therefore not as
;; flexible as it could be. See the thread:
-;; https://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00300.html
+;; https://lists.gnu.org/r/emacs-devel/2007-08/msg00300.html
(defconst bad-packages-alist
;; Not sure exactly which semantic versions have problems.
;; Definitely 2.0pre3, probably all 2.0pre's before this.
diff --git a/lisp/startup.el b/lisp/startup.el
index 4b538d130e7..a39c8f0fe76 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -513,7 +513,7 @@ It is the default value of the variable `top-level'."
(let ((default-directory dir))
(load (expand-file-name "subdirs.el") t t t))
;; Do not scan standard directories that won't contain a leim-list.el.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html
+ ;; https://lists.gnu.org/r/emacs-devel/2009-10/msg00502.html
;; (Except the preloaded one in lisp/leim.)
(or (string-prefix-p lispdir dir)
(let ((default-directory dir))
@@ -1371,7 +1371,7 @@ the `--debug-init' option to view a complete error backtrace."
;; trying to load gnus could load the wrong file.
;; OK, it would not matter if .emacs.d were at the end of load-path.
;; but for the sake of simplicity, we discourage it full-stop.
- ;; Ref eg https://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00056.html
+ ;; Ref eg https://lists.gnu.org/r/emacs-devel/2012-03/msg00056.html
;;
;; A bad element could come from user-emacs-file, the command line,
;; or EMACSLOADPATH, so we basically always have to check.
diff --git a/lisp/subr.el b/lisp/subr.el
index 01acc336262..7ec727ef19c 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -577,7 +577,7 @@ one is kept."
(setq tail (cdr tail))))))
list)
-;; See https://lists.gnu.org/archive/html/emacs-devel/2013-05/msg00204.html
+;; See https://lists.gnu.org/r/emacs-devel/2013-05/msg00204.html
(defun delete-consecutive-dups (list &optional circular)
"Destructively remove `equal' consecutive duplicates from LIST.
First and last elements are considered consecutive if CIRCULAR is
@@ -2426,7 +2426,7 @@ in milliseconds; this was useful when Emacs was built without
floating point support."
(declare (advertised-calling-convention (seconds &optional nodisp) "22.1"))
;; This used to be implemented in C until the following discussion:
- ;; https://lists.gnu.org/archive/html/emacs-devel/2006-07/msg00401.html
+ ;; https://lists.gnu.org/r/emacs-devel/2006-07/msg00401.html
;; Then it was moved here using an implementation based on an idle timer,
;; which was then replaced by the use of read-event.
(if (numberp nodisp)
@@ -2465,7 +2465,7 @@ floating point support."
(read-event nil t seconds))))
(or (null read)
(progn
- ;; https://lists.gnu.org/archive/html/emacs-devel/2006-10/msg00394.html
+ ;; https://lists.gnu.org/r/emacs-devel/2006-10/msg00394.html
;; We want `read' appear in the next command's this-command-event
;; but not in the current one.
;; By pushing (cons t read), we indicate that `read' has not
@@ -3098,7 +3098,7 @@ Do nothing if FACE is nil."
(put-text-property start end 'face face)))
;; This removes `mouse-face' properties in *Help* buffer buttons:
-;; https://lists.gnu.org/archive/html/emacs-devel/2002-04/msg00648.html
+;; https://lists.gnu.org/r/emacs-devel/2002-04/msg00648.html
(defun yank-handle-category-property (category start end)
"Apply property category CATEGORY's properties between START and END."
(when category
@@ -4213,7 +4213,7 @@ Used from `delayed-warnings-hook' (which see)."
(setq delayed-warnings-list (nreverse collapsed))))
;; At present this is only used for Emacs internals.
-;; Ref https://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00085.html
+;; Ref https://lists.gnu.org/r/emacs-devel/2012-02/msg00085.html
(defvar delayed-warnings-hook '(collapse-delayed-warnings
display-delayed-warnings)
"Normal hook run to process and display delayed warnings.
@@ -5223,7 +5223,7 @@ or \"gnus-article-toto-\".")
;; The following statement ought to be in print.c, but `provide' can't
;; be used there.
-;; https://lists.gnu.org/archive/html/emacs-devel/2009-08/msg00236.html
+;; https://lists.gnu.org/r/emacs-devel/2009-08/msg00236.html
(when (hash-table-p (car (read-from-string
(prin1-to-string (make-hash-table)))))
(provide 'hashtable-print-readable))
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el
index b8d1a436909..e895d09bb4f 100644
--- a/lisp/term/ns-win.el
+++ b/lisp/term/ns-win.el
@@ -594,7 +594,7 @@ the last file dropped is selected."
(declare-function tool-bar-mode "tool-bar" (&optional arg))
;; Based on a function by David Reitter <dreitter@inf.ed.ac.uk> ;
-;; see https://lists.gnu.org/archive/html/emacs-devel/2005-09/msg00681.html .
+;; see https://lists.gnu.org/r/emacs-devel/2005-09/msg00681.html .
(defun ns-toggle-toolbar (&optional frame)
"Switches the tool bar on and off in frame FRAME.
If FRAME is nil, the change applies to the selected frame."
@@ -878,7 +878,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
;; Mac OS X Lion introduces PressAndHold, which is unsupported by this port.
;; See this thread for more details:
- ;; https://lists.gnu.org/archive/html/emacs-devel/2011-06/msg00505.html
+ ;; https://lists.gnu.org/r/emacs-devel/2011-06/msg00505.html
(ns-set-resource nil "ApplePressAndHoldEnabled" "NO")
(x-apply-session-resources)
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 62200bf2cbd..e7b1e08b038 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -1287,7 +1287,7 @@ This returns an error if any Emacs frames are X frames."
;; During initialization, we defer sending size hints to the window
;; manager, because that can induce a race condition:
- ;; https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00033.html
+ ;; https://lists.gnu.org/r/emacs-devel/2008-10/msg00033.html
;; Send the size hints once initialization is done.
(add-hook 'after-init-hook 'x-wm-set-size-hint)
diff --git a/lisp/textmodes/mhtml-mode.el b/lisp/textmodes/mhtml-mode.el
index 8df251276b5..09da155f487 100644
--- a/lisp/textmodes/mhtml-mode.el
+++ b/lisp/textmodes/mhtml-mode.el
@@ -198,6 +198,12 @@ smallest."
(get-text-property orig-end 'mhtml-submode))
(cl-decf font-lock-end)))
+ ;; Also handle the multiline property -- but handle it here, and
+ ;; not via font-lock-extend-region-functions, to avoid the
+ ;; situation where the two extension functions disagree.
+ ;; See bug#29159.
+ (font-lock-extend-region-multiline)
+
(or (/= font-lock-beg orig-beg)
(/= font-lock-end orig-end))))
@@ -365,8 +371,7 @@ the rules from `css-mode'."
(setq-local font-lock-fontify-region-function
#'mhtml--submode-fontify-region)
(setq-local font-lock-extend-region-functions
- '(mhtml--extend-font-lock-region
- font-lock-extend-region-multiline))
+ '(mhtml--extend-font-lock-region))
;; Attach this to both pre- and post- hooks just in case it ever
;; changes a key binding that might be accessed from the menu bar.
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index eb7068f3d03..82cb2d4dc05 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -195,7 +195,7 @@ Puts a full-stop before comments on a line by themselves."
9) 8)))))) ; add 9 to ensure at least two blanks
(goto-char pt))))
-;; https://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01869.html
+;; https://lists.gnu.org/r/emacs-devel/2007-10/msg01869.html
(defun nroff-insert-comment-function ()
"Function for `comment-insert-comment-function' in `nroff-mode'."
(indent-to (nroff-comment-indent))
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 10ee10243ad..5c585ea46ca 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -1792,7 +1792,7 @@ Mark is left at original location."
;; Note this does not handle things like mismatched brackets inside
;; begin/end blocks.
;; Needs to handle escaped parens for tex-validate-*.
-;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2007-09/msg00038.html
+;; https://lists.gnu.org/r/bug-gnu-emacs/2007-09/msg00038.html
;; Does not handle escaped parens when latex-handle-escaped-parens is nil.
(defun latex-forward-sexp-1 ()
"Like (forward-sexp 1) but aware of multi-char elements and escaped parens."
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 9d56ed256a2..df9627abdf0 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -432,7 +432,7 @@ and the face `diff-added' for added lines.")
"If non-nil, empty lines are valid in unified diffs.
Some versions of diff replace all-blank context lines in unified format with
empty lines. This makes the format less robust, but is tolerated.
-See https://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01990.html")
+See https://lists.gnu.org/r/emacs-devel/2007-11/msg01990.html")
(defconst diff-hunk-header-re
(concat "^\\(?:" diff-hunk-header-re-unified ".*\\|\\*\\{15\\}.*\n\\*\\*\\* .+ \\*\\*\\*\\*\\|[0-9]+\\(,[0-9]+\\)?[acd][0-9]+\\(,[0-9]+\\)?\\)$"))
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 34fea232feb..b988463de1e 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1094,7 +1094,7 @@ used to replace chars to try and eliminate some spurious differences."
;; also and more importantly because otherwise it
;; may happen that diff doesn't behave like
;; smerge-refine-weight-hack expects it to.
- ;; See https://lists.gnu.org/archive/html/emacs-devel/2007-11/msg00401.html
+ ;; See https://lists.gnu.org/r/emacs-devel/2007-11/msg00401.html
"-awd" "-ad")
file1 file2))
;; Process diff's output.
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index dff0fd1365c..2c807a38cd5 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -979,7 +979,7 @@ This prompts for a branch to merge from."
;; FIXME
;; 1) the net result is to call git twice per file.
;; 2) v-g-c-f is documented to take a directory.
- ;; https://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01126.html
+ ;; https://lists.gnu.org/r/emacs-devel/2014-01/msg01126.html
(vc-git-conflicted-files buffer-file-name)
(save-excursion
(goto-char (point-min))
diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el
index 84ab10b14fe..4634e76088f 100644
--- a/lisp/vc/vc-rcs.el
+++ b/lisp/vc/vc-rcs.el
@@ -851,7 +851,7 @@ and CVS."
;; You might think that this should be distributed with RCS, but
;; apparently not. CVS sometimes provides a version of it.
-;; https://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00288.html
+;; https://lists.gnu.org/r/emacs-devel/2014-05/msg00288.html
(defvar vc-rcs-rcs2log-program
(let (exe)
(cond ((file-executable-p
diff --git a/lisp/view.el b/lisp/view.el
index 8e40cffce2e..6a4705acd6f 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -982,7 +982,7 @@ for highlighting the match that is found."
;; This is the dumb approach, looking at each line. The original
;; version of this function looked like it might have been trying to
;; do something clever, but not succeeding:
-;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2007-09/msg00073.html
+;; https://lists.gnu.org/r/bug-gnu-emacs/2007-09/msg00073.html
(defun view-search-no-match-lines (times regexp)
"Search for the TIMESth occurrence of a line with no match for REGEXP.
If such a line is found, return non-nil and set the match-data to that line.
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index dca06ca3595..4fa36edb9c6 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -832,7 +832,7 @@ button end points."
;; This alias exists only so that one can choose in doc-strings (e.g.
;; Custom-mode) which key-binding of widget-keymap one wants to refer to.
-;; https://lists.gnu.org/archive/html/emacs-devel/2008-11/msg00480.html
+;; https://lists.gnu.org/r/emacs-devel/2008-11/msg00480.html
(define-obsolete-function-alias 'advertised-widget-backward
'widget-backward "23.2")
diff --git a/lisp/windmove.el b/lisp/windmove.el
index b573000fd7b..f8de303fffb 100644
--- a/lisp/windmove.el
+++ b/lisp/windmove.el
@@ -425,7 +425,7 @@ supplied, if ARG is greater or smaller than zero, respectively."
top-left
;; Don't care whether window is horizontally scrolled -
;; `posn-at-point' handles that already. See also:
- ;; https://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00638.html
+ ;; https://lists.gnu.org/r/emacs-devel/2012-01/msg00638.html
(posn-col-row
(posn-at-point (window-point window) window))))))))
diff --git a/lisp/window.el b/lisp/window.el
index 8939e7d589b..b7736d85cd1 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -7655,10 +7655,11 @@ another window. In interactive use, if the selected window is
strongly dedicated to its buffer, the value of the option
`switch-to-buffer-in-dedicated-window' specifies how to proceed.
-If called interactively, read the buffer name using the
-minibuffer. The variable `confirm-nonexistent-file-or-buffer'
-determines whether to request confirmation before creating a new
-buffer.
+If called interactively, read the buffer name using `read-buffer'.
+The variable `confirm-nonexistent-file-or-buffer' determines
+whether to request confirmation before creating a new buffer.
+See `read-buffer' for features related to input and completion
+of buffer names.
BUFFER-OR-NAME may be a buffer, a string (a buffer name), or nil.
If BUFFER-OR-NAME is a string that does not identify an existing
@@ -7735,10 +7736,11 @@ Return the buffer switched to."
BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil. Return the buffer switched to.
-If called interactively, prompt for the buffer name using the
-minibuffer. The variable `confirm-nonexistent-file-or-buffer'
-determines whether to request confirmation before creating a new
-buffer.
+If called interactively, read the buffer name using `read-buffer'.
+The variable `confirm-nonexistent-file-or-buffer' determines
+whether to request confirmation before creating a new buffer.
+See `read-buffer' for features related to input and completion
+of buffer names.
If BUFFER-OR-NAME is a string and does not identify an existing
buffer, create a new buffer with that name. If BUFFER-OR-NAME is
@@ -7759,10 +7761,11 @@ documentation for additional customization information."
BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil. Return the buffer switched to.
-If called interactively, prompt for the buffer name using the
-minibuffer. The variable `confirm-nonexistent-file-or-buffer'
-determines whether to request confirmation before creating a new
-buffer.
+If called interactively, read the buffer name using `read-buffer'.
+The variable `confirm-nonexistent-file-or-buffer' determines
+whether to request confirmation before creating a new buffer.
+See `read-buffer' for features related to input and completion
+of buffer names.
If BUFFER-OR-NAME is a string and does not identify an existing
buffer, create a new buffer with that name. If BUFFER-OR-NAME is