[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 97e4851: Merge from origin/emacs-27
From: |
Glenn Morris |
Subject: |
master 97e4851: Merge from origin/emacs-27 |
Date: |
Wed, 15 Apr 2020 10:55:13 -0400 (EDT) |
branch: master
commit 97e48510ad4fec9ca5f576a750018a231523f7a6
Merge: afa542c a5f7c26
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>
Merge from origin/emacs-27
a5f7c26907 (origin/emacs-27) * admin/authors.el: Add an author alias.
d87a4d1f4e Limit RLIMIT_NOFILE to FD_SETSIZE on macOS
e5ca8e5e73 Fix Elisp manual entry on 'set-window-configuration'
485f24223f ; Update ChangeLog.3
8f200254fb ; Update etc/AUTHORS
c7adc851ad * admin/authors.el: Add missing author aliases.
4acdd7fe58 Fix edge case errors in filename-matching regexps
5f36e21fe5 Clarify the doc string of 'yank'
13301d4266 New function erc-track-switch-buffer-other-window
38f7538d8f New function erc-switch-to-buffer-other-window
# Conflicts:
# etc/NEWS
---
ChangeLog.3 | 1090 +++++++++++++++++++++++++++++++++-
admin/authors.el | 13 +-
doc/lispref/windows.texi | 39 +-
etc/AUTHORS | 108 ++--
etc/NEWS.27 | 10 +
lisp/auth-source-pass.el | 2 +-
lisp/calendar/todo-mode.el | 14 +-
lisp/cedet/semantic/db-ebrowse.el | 4 +-
lisp/cedet/semantic/texi.el | 2 +-
lisp/cedet/srecode/map.el | 2 +-
lisp/dired.el | 2 +-
lisp/emacs-lisp/autoload.el | 2 +-
lisp/emacs-lisp/shadow.el | 3 +-
lisp/erc/erc-track.el | 32 +-
lisp/erc/erc.el | 47 +-
lisp/files.el | 6 +-
lisp/finder.el | 2 +-
lisp/generic-x.el | 8 +-
lisp/gnus/gnus-agent.el | 7 +-
lisp/gnus/gnus-cache.el | 2 +-
lisp/gnus/gnus-score.el | 2 +-
lisp/gnus/gnus-util.el | 2 +-
lisp/gnus/gnus-uu.el | 2 +-
lisp/gnus/nndraft.el | 2 +-
lisp/gnus/nnmh.el | 10 +-
lisp/gnus/nnspool.el | 2 +-
lisp/gnus/spam-stat.el | 4 +-
lisp/help-fns.el | 2 +-
lisp/help.el | 2 +-
lisp/international/quail.el | 2 +-
lisp/international/titdic-cnv.el | 2 +-
lisp/mail/mspools.el | 4 +-
lisp/mail/rmail.el | 5 +-
lisp/net/ange-ftp.el | 3 +-
lisp/net/tramp.el | 2 +-
lisp/obsolete/gulp.el | 2 +-
lisp/obsolete/vc-arch.el | 8 +-
lisp/org/ob-core.el | 2 +-
lisp/progmodes/ebnf2ps.el | 4 +-
lisp/progmodes/executable.el | 2 +-
lisp/simple.el | 9 +-
lisp/startup.el | 4 +-
lisp/textmodes/refer.el | 2 +-
lisp/url/url-about.el | 2 +-
lisp/vc/vc-rcs.el | 5 +-
src/nsterm.m | 15 +
test/lisp/net/tramp-archive-tests.el | 2 +-
test/lisp/net/tramp-tests.el | 2 +-
48 files changed, 1327 insertions(+), 173 deletions(-)
diff --git a/ChangeLog.3 b/ChangeLog.3
index fc41c1f..c5bc7b3 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -1,3 +1,1091 @@
+2020-04-14 Mattias Engdegård <address@hidden>
+
+ Fix edge case errors in filename-matching regexps
+
+ These changes fix actual or latent bugs in regexps that match
+ file names, such as PATTERN arguments to 'directory-files'. See
+ https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html
+
+ * admin/authors.el (authors-obsolete-files-regexps)
+ (authors-renamed-files-regexps):
+ * lisp/auth-source-pass.el (auth-source-pass-entries):
+ * lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file)
+ (todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string)
+ (todo-reset-comment-string, todo-reset-highlight-item):
+ * lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
+ * lisp/cedet/semantic/texi.el (semantic-texi-associated-files):
+ * lisp/cedet/srecode/map.el (srecode-map-update-map):
+ * lisp/dired.el (dired-re-no-dot):
+ * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
+ * lisp/emacs-lisp/shadow.el (load-path-shadows-find):
+ * lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp):
+ * lisp/finder.el (finder-compile-keywords):
+ * lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode)
+ (resolve-conf-generic-mode, etc-modules-conf-generic-mode):
+ * lisp/gnus/gnus-agent.el (gnus-agent-read-agentview)
+ (gnus-agent-regenerate-group,
gnus-agent-update-files-total-fetched-for):
+ * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group):
+ * lisp/gnus/gnus-score.el (gnus-score-search-global-directories):
+ * lisp/gnus/gnus-util.el (gnus-delete-directory):
+ * lisp/gnus/gnus-uu.el (gnus-uu-dir-files):
+ * lisp/gnus/nndraft.el (nndraft-request-group):
+ * lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group):
+ (nnmh-request-delete-group, nnmh-active-number,
nnmh-update-gnus-unreads):
+ * lisp/gnus/nnspool.el (nnspool-request-group):
+ * lisp/gnus/spam-stat.el (spam-stat-process-directory)
+ (spam-stat-test-directory):
+ * lisp/help-fns.el (help-fns--first-release):
+ * lisp/help.el (view-emacs-news):
+ * lisp/international/quail.el (quail-update-leim-list-file):
+ * lisp/international/titdic-cnv.el (batch-titdic-convert):
+ * lisp/mail/mspools.el (mspools-set-vm-spool-files)
+ (mspools-get-spool-files):
+ * lisp/mail/rmail.el (rmail-secondary-file-regexp)
+ (rmail-speedbar-match-folder-regexp):
+ * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
+ * lisp/net/tramp.el (tramp-use-absolute-autoload-file-names):
+ * lisp/obsolete/gulp.el (gulp-send-requests):
+ * lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
+ * lisp/org/ob-core.el (org-babel-remove-temporary-directory):
+ * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp,
ebnf-style-database):
+ * lisp/progmodes/executable.el (executable-command-find-posix-p):
+ * lisp/startup.el (command-line):
+ * lisp/textmodes/refer.el (refer-get-bib-files):
+ * lisp/url/url-about.el (url-probe-protocols):
+ * lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister):
+ * test/lisp/net/tramp-archive-tests.el
+ (tramp-archive-test19-directory-files-and-attributes):
+ * test/lisp/net/tramp-tests.el
(tramp-test19-directory-files-and-attributes):
+ Replace ^ and $ with \` and \', respectively.
+ Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.",
+ to match anything but "." and "..", instead of several incorrect
+ regexps.
+
+2020-04-14 Eli Zaretskii <address@hidden>
+
+ Clarify the doc string of 'yank'
+
+ * lisp/simple.el (yank): Mention 'current-kill' in the doc string,
+ so that people could find all the gory details of what is "the most
+ recent kill" for this purpose. (Bug#40375)
+
+2020-04-14 Amin Bandali <address@hidden>
+
+ New function erc-track-switch-buffer-other-window
+
+ * lisp/erc/erc-track.el (erc-track-switch-buffer): Factor out the
+ implementation from here ...
+ (erc-track--switch-buffer): ... to here.
+ (erc-track-switch-buffer-other-window): New function, like
+ `erc-track-switch-buffer', but uses `switch-to-buffer-other-window'
+ instead, to open the buffer in another window.
+
+2020-04-14 Amin Bandali <address@hidden>
+
+ New function erc-switch-to-buffer-other-window
+
+ * lisp/erc/erc.el (erc-switch-to-buffer): Factor out the buffer choice
+ implementation from here ...
+ (erc--switch-to-buffer): ... to here.
+ (erc-switch-to-buffer-other-window): New function, like
+ `erc-switch-to-buffer', but uses `switch-to-buffer-other-window'
+ instead, to open the buffer in another window.
+
+2020-04-13 Štěpán Němec <address@hidden>
+
+ Clarify documentation on inhibit-modification-hooks intended usage
+
+ Cf. bug#40332 and the discussion at
+ https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00921.html
+
+ * doc/lispref/text.texi (Change Hooks):
+ * src/insdel.c (syms_of_insdel): Clarify the intended usage of
+ 'inhibit-modification-hooks'.
+
+2020-04-13 Štěpán Němec <address@hidden>
+
+ gnus-shorten-url: Improve and avoid args-out-of-range error
+
+ 'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored
+ fragment identifiers and didn't check substring bounds, in some cases
+ leading to runtime errors, e.g.:
+
+ (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target";
40)
+ ;; => Lisp error: (args-out-of-range "/path/and" -18 nil)
+
+ This commit makes it account for #fragments and fixes faulty string
+ computation. (bug#39980)
+
+ Do not merge to master, where the helper is put to subr-x.el.
+
+ * lisp/gnus/gnus-sum.el (gnus--string-truncate-left): New helper
+ function (copied from 'ediff-truncate-string-left').
+ (gnus-shorten-url): Use it and don't drop #fragments.
+
+2020-04-13 Eli Zaretskii <address@hidden>
+
+ Minor wording change in Introduction to Programming in Emacs Lisp
+
+ * doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Mention
+ that dynamic scoping is only the default in Emacs Lisp, not the
+ only scoping rule. (Bug#40594)
+
+2020-04-13 Eli Zaretskii <address@hidden>
+
+ Fix 'flymake-show-diagnostics-buffer' when line numbers are displayed
+
+ * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
+ Do nothing if 'flymake--diagnostics-buffer-source' is not a
+ buffer. (Bug#40529)
+
+2020-04-12 Eli Zaretskii <address@hidden>
+
+ Fix last changes describing mail commands
+
+ * doc/emacs/sending.texi (Sending Mail): Fix the description of
+ the behavior of 'C-x m' without prefix argument. (Bug#40561)
+
+2020-04-12 João Távora <address@hidden>
+
+ Do setup Flymake in file-less Elisp buffers
+
+ (Bug#40573)
+
+ * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Change
+ condition for setting flymake-diagnostic-functions.
+
+2020-04-12 Philipp Stephani <address@hidden>
+
+ Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)
+
+ * lisp/emacs-lisp/cl-macs.el (cl-struct-unknown-slot): Remove spurious
+ format specifiers.
+
+2020-04-12 Eli Zaretskii <address@hidden>
+
+ Fix and improve documentation of mail-related features
+
+ * lisp/simple.el (compose-mail): Clarify the effect of the
+ CONTINUE argument.
+ * lisp/mail/sendmail.el (mail-from-style): Update the RFC value in
+ the obsolescence warning text.
+
+ * doc/emacs/sending.texi (Sending Mail): Fix the description of
+ the behavior of 'C-x m' wrt prefix argument.
+ (Mail Headers): Remove the description of 'mail-from-style'.
+
+ * etc/NEWS: Mention that 'mail-from-style' is obsolete.
+
+ (Bug#40561)
+
+2020-04-12 Martin Rudalics <address@hidden>
+
+ Fix build failure with Fx_gtk_debug
+
+ * src/xfns.c (Fx_gtk_debug, Sx_gtk_debug): Define only for GTK
+ versions >= 3.14.0 so gtk_window_set_interactive_debugging is
+ defined. Reported by Andreas Schwab <address@hidden>.
+
+2020-04-11 Alan Mackenzie <address@hidden>
+
+ Mention jit-lock deferred as an alternative to
fast-but-imprecise-scrolling
+
+ * doc/emacs/display.texi (Scrolling): Add a paragraph on using jit-lock
+ deferred fontification as a way of obviating Emacs hanging after
+ auto-repeated scrolling.
+
+2020-04-10 Stefan Monnier <address@hidden>
+
+ * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :key-sequence
+
+ Don't make it sound like `:key-sequence nil` is any different than the
+ absence of `:key-sequence`. And the performance advantage of
+ `:key-sequence` disappeared long ago.
+
+2020-04-10 Eli Zaretskii <address@hidden>
+
+ Fix redisplay when scrolling under redisplay-dont-pause
+
+ * src/dispnew.c (update_window): Reset the window's
+ 'must_be_updated_p' flag if the window's update was completed
+ without interruption. This fixes redisplay glitches when
+ 'redisplay-dont-pause' is nil, at least on MS-Windows, because
+ 'expose_window' doesn't redraw the exposed rectangle when the
+ window's 'must_be_updated_p' flag is set.
+
+2020-04-09 Eli Zaretskii <address@hidden>
+
+ Fix face extension in pulse.el
+
+ * lisp/cedet/pulse.el (pulse-reset-face): Propagate the :extend
+ attribute of FACE to the face used for displaying the pulse.
+ Reported by Adam Porter <address@hidden>.
+
+2020-04-09 Michael Albinus <address@hidden>
+
+ * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in traces.
+
+2020-04-09 Eli Zaretskii <address@hidden>
+
+ Avoid assertion violation in intervals.c
+
+ * src/intervals.c (delete_interval): Allow negative values of
+ LENGTH (i). This happens when delete_interval is called from
+ set_intervals_multibyte_1, because the caller zeroes out the
+ total_length field of the interval to be deleted. See
+ https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00131.html
+ for more details. See also a related old discussion at
+ https://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00399.html.
+
+2020-04-08 Eli Zaretskii <address@hidden>
+
+ Improve documentation of 'jit-lock-contextually'
+
+ * lisp/jit-lock.el (jit-lock-contextually): Clarify the jit-lock
+ operation when 'jit-lock-contextually' is non-nil and non-t.
+
+ * doc/lispref/modes.texi (Syntactic Font Lock)
+ (Other Font Lock Variables): Document the relation between
+ 'jit-lock-register', 'font-lock-keywords-only', and syntactic
+ refontification.
+
+2020-04-08 Dmitry Gutov <address@hidden>
+
+ Speed up 'resize-mode' child frames a little
+
+ * src/gtkutil.c (xg_frame_set_char_size): Skip resizing if the
+ target dimensions are unchanged for child frames with
+ 'resize-mode' resize policy as well.
+
+2020-04-06 Martin Rudalics <address@hidden>
+
+ Fix some problems with moving and resizing child frames
+
+ (1) Provide new option 'x-gtk-resize-child-frames' which allows
+ to either hide a child frame during resizing or asks GTK to
+ resize it "immediately". This is needed because desktops like
+ GNOME shell otherwise won't allow resizing child frames at all.
+ (2) Do not try to synchronize the position of a child frame
+ after moving it. Needed because the present implementation
+ introduces a 0.5 secs delay which makes dragging child frames
+ virtually impossible with Lucid and Motif toolkits on desktops
+ like GNOME shell that use invisible outer frame borders.
+
+ For further information see the thread starting with
+ https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00343.html
+
+ * src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4.
+ * src/gtkutil.c (xg_frame_set_char_size): Hide child frame
+ during resizing when 'x-gtk-resize-child-frames' equals 'hide'.
+ * src/xfns.c (x_set_parent_frame, Fx_create_frame): Set
+ gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child
+ frames when'x-gtk-resize-child-frames' equals 'resize-mode'.
+ (Fx_gtk_debug): New function to toggle interactive GTK debugging
+ from within Emacs.
+ (syms_of_xfns): New symbols Qhide and Qresize_mode.
+ (x-gtk-resize-child-frames): New option that allows to resize
+ child frames on desktops like GNOME shell (with the mutter WM)
+ that otherwise refuse to resize them.
+ * src/xterm.c (x_set_offset): Don't x_sync_with_move for child
+ frames, it makes moving child frames virtually impossible with
+ the Lucid and Motif toolkits.
+
+2020-04-05 Philipp Stephani <address@hidden>
+
+ Fix syntax error in man page.
+
+ * doc/man/emacs.1.in: Fix syntax of --script argument. The Info
+ manual states that --script has to be followed by a space, and the
+ syntax with the equals sign doesn't actually work.
+
+2020-04-05 Noam Postavsky <address@hidden>
+
+ Handle filling of indented ChangeLog function entries
+
+ * lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
+ recognize function entries with leading blanks.
+ * test/lisp/vc/log-edit-tests.el: New test.
+
+2020-04-05 Noam Postavsky <address@hidden>
+
+ Fix void-variable n-reb in re-builder (Bug#40409)
+
+ * lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of
+ the counter instead of its name.
+ (reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and
+ don't wrongly treat it as dynamicly bound.
+
+2020-04-03 Philipp Stephani <address@hidden>
+
+ Fix small bug in copy_string_contents.
+
+ * src/emacs-module.c (module_copy_string_contents): Fix incorrect
+ variable use. In this branch 'lisp_str_utf8' is always nil, so it
+ makes little sense to add it as error data.
+
+2020-04-03 Eli Zaretskii <address@hidden>
+
+ Fix invocations of gpg from Gnus
+
+ * lisp/epg-config.el (epg-config--make-gpg-configuration): Bind
+ coding-system-for-read/write to 'undecided', to countermand
+ possible values of 'no-conversion' or somesuch by the callers.
+ (Bug#40248)
+
+2020-04-03 Martin Rudalics <address@hidden>
+
+ Don't draw GTK's internal border and tab bar on top of each other
+
+ * src/xterm.c (x_clear_under_internal_border): For GTK builds
+ have 'margin' count in the height of the tab bar to avoid that
+ tab bar and internal border are drawn on top of each other.
+
+2020-04-03 Amin Bandali <address@hidden>
+
+ Tweak htmlfontify's generated output
+
+ * lisp/htmlfontify.el (hfy-default-header): declare the character
+ encoding for the generated HTML file. This helps browsers display
+ UTF-8 characters like the copyright symbol correctly.
+ (hfy-sprintf-stylesheet): apply the default style to all of the text
+ consistently, so that unstyled bits (which are not wrapped in span
+ tags and are directly part of the surrounding pre tag's "innerHTML")
+ have a look consistent with the rest of the document.
+
+2020-03-30 Dmitry Gutov <address@hidden>
+
+ Handle project--files-in-directory finding no files better
+
+ * lisp/progmodes/project.el (project--find-regexp-in-files):
+ Signal user-error when passed an empty list of files.
+
+ * lisp/progmodes/xref.el (xref-matches-in-files):
+ Make sure FILES is not empty.
+
+2020-03-30 Alan Mackenzie <address@hidden>
+
+ Let imenu to work on the menu bar when its list is a single non-nested
member.
+
+ * lisp/imenu.el (imenu-update-menubar): No longer accept a list of
length 1 as
+ being sufficient evidence for a nested list structure. Instead,
additionally
+ check whether or not certain elements are atoms.
+
+2020-03-30 Juri Linkov <address@hidden>
+
+ * lisp/image/image-converter.el: Fix customization of image-converter.
+
+ * lisp/image/image-converter.el (image-convert-p): Update
+ image-converter-regexp when image-converter was customized (bug#39994).
+
+2020-03-29 Andreas Schwab <address@hidden>
+
+ Fix url-cookie.el for lexical binding
+
+ * lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Use setq
+ instead of set to modify lexical binding.
+
+2020-03-29 Noam Postavsky <address@hidden>
+
+ Don't suggest setting face-remapping-alist to a literal (Bug#39812)
+
+ * src/xfaces.c (syms_of_xfaces) <face-remapping-alist>: Use copy-tree
+ in the costring example code, and note why.
+
+2020-03-27 Mattias Engdegård <address@hidden>
+
+ Calc: don't treat nil as an integer (bug#40155)
+
+ Make Math-num-integerp return false for nil, following Math-integerp
+ which was changed in the bignum reform. This fixes a crash in
+ calc-graph-fast.
+
+ Reported by Narendra Joshi.
+
+ * lisp/calc/calc-macs.el (Math-num-integerp): Not true for nil.
+ * test/lisp/calc/calc-tests.el (calc-Math-integerp): New tests.
+
+2020-03-25 Eli Zaretskii <address@hidden>
+
+ * lisp/files.el (directory-files-recursively): Doc fix. (Bug#40202)
+
+2020-03-25 Michael Albinus <address@hidden>
+
+ Document how to disable Tramp file archives
+
+ * doc/misc/tramp.texi (Archive file names): Explain how to disable
+ file archives.
+
+2020-03-24 Lars Ingebrigtsen <address@hidden>
+
+ Don't add repeated xlmns:xlink declarations in svg-create
+
+ * lisp/svg.el (svg-create): Fix previous unconditional addition of
+ the xmlns:xlink declaration -- callers may already add one, and
+ having it twice is something most svg libraries doesn't like.
+
+2020-03-23 Mattias Engdegård <address@hidden>
+
+ Calc: Declare dynamic variable bound in lexbind code (bug#40185)
+
+ * lisp/calc/calc.el: Declare math-comp-selected as dynamic.
+
+2020-03-23 Eli Zaretskii <address@hidden>
+
+ Don't build the Gnulib 'utimens' module on MinGW
+
+ * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_utimens): Omit the
+ 'utimens' module in the MinGW build: 'utimens' is not used by
+ Emacs, and 'fdutimens' is implemented in w32.c.
+
+2020-03-23 Phillip Lord <address@hidden>
+
+ Add Harfbuzz dependency
+
+ * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as a dependency.
+
+2020-03-23 Noam Postavsky <address@hidden>
+
+ Don't signal during backtrace unrewind (Bug#40088)
+
+ backtrace_eval_unrewind is used to temporarily reverse
+ let-bindings (it's called with a positive argument to reverse
+ bindings, and then a negative argument to re-apply them) by
+ backtrace--locals and backtrace-eval. For the SPECPDL_LET_DEFAULT and
+ SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
+ variables), the code calls Fdefault_value and Fbuffer_local_value on
+ the symbol.
+
+ For symbols which are unbound at top-level, the first (with positive
+ argument) call to backtrace_eval_unrewind will set the symbol's value
+ to unbound (putting the current value in the specpdl's "old value"
+ slot). On the second (with negative argument) call,
+ backtrace_eval_unrewind attempts to retrieve the symbol's value with
+ Fdefault_value or Fbuffer_local_value, but that raises a void-variable
+ signal. This interrupts the restoration of the let-bindings, so any
+ other variables more recent on the stack will now have the wrong
+ value.
+
+ * src/data.c (default_value): Make non-static.
+ * src/lisp.h: Declare it.
+ * src/eval.c (backtrace_eval_unrewind): Replace the calls to
+ Fdefault_value and Fbuffer_local_value with default_value and
+ buffer_local_value, respectively. The latter do exactly the same as
+ the former, except if the symbol's value is Qunbound they just return
+ it instead of signaling void-variable.
+
+2020-03-23 Noam Postavsky <address@hidden>
+
+ Fix a couple of problems in changelog generating functions
+
+ * lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
+ scan-error when calling end-of-defun, go to end of hunk. This can
+ easily happen since we are calling end-of-defun on a partial code
+ fragment from a diff.
+ * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
+ display-buffer-overriding-action around the log-edit-show-diff call
+ only. Otherwise, it can affect, for example, debugger windows
+ triggered by the diff-add-log-current-defuns call.
+
+2020-03-23 Noam Postavsky <address@hidden>
+
+ Fix cl-concatenate (Bug#40180)
+
+ * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
+ adding extra nesting of args.
+ * test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.
+
+2020-03-21 Eli Zaretskii <address@hidden>
+
+ Improve documentation of project.el commands
+
+ * lisp/progmodes/project.el (project-find-regexp): Require 'grep'
+ to be able to call 'grep-read-files'.
+ (project-search, project-query-replace-regexp): Doc fixes.
+
+ * doc/emacs/maintaining.texi (Projects): New section.
+ * doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.
+
+2020-03-20 Zhu Zihao <address@hidden> (tiny change)
+
+ Make svg images with links valid
+
+ * lisp/svg.el (svg-create): Specify xlink namespace for svg images
+ (bug#40010).
+
+2020-03-20 Juri Linkov <address@hidden>
+
+ * lisp/tab-line.el (tab-line-new-button-show): New defcustom.
+
+ * lisp/tab-line.el (tab-line-format-template): Use
tab-line-new-button-show.
+ (tab-line-new-tab-choice): Remove choice 'nil' with "No button".
+ (tab-line-separator): Add docstring.
+
+2020-03-19 Lars Ingebrigtsen <address@hidden>
+
+ Don't have exif bugging out on short strings
+
+ * lisp/image/exif.el (exif--direct-ascii-value): New function
+ (bug#40127).
+ (exif--parse-directory): Use it to get the correct values for
+ in-directory (i.e., shorter than 4 octets) strings.
+
+2020-03-19 Robert Pluim <address@hidden>
+
+ Use correct registry name for windows-1251 charset
+
+ * src/ftfont.c (fc_charset_table): The registry to use to lookup
+ windows-1251 charset is microsoft-cp1251, not windows-1251.
+ (Bug#40097)
+
+2020-03-19 Amin Bandali <address@hidden>
+
+ ERC: Update maintainer address
+
+2020-03-18 Philipp Stephani <address@hidden>
+
+ Remove raw carriage return characters from test file.
+
+ This protects against tools that mangle newline characters in text
+ files.
+
+ * test/lisp/electric-tests.el
(electric-pair-mode-newline-between-parens)
+ (electric-layout-mode-newline-between-parens-without-e-p-m)
+ (electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
+ carriage return characters.
+
+2020-03-17 Robert Pluim <address@hidden>
+
+ Recalculate default font when switching font backend
+
+ This is an updated version of the patch by Dmitry Antipov
+ <address@hidden> in
+ <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.
+
+ Fixes Bug#23386
+
+ * src/dispextern.h (struct redisplay_interface): New member
+ default_font_parameter.
+ * src/xterm.h: Add prototype for x_default_font_parameter.
+ * src/xterm.c (x_redisplay_interface): Initialize
+ default_font_parameter member.
+ * src/xfns.c (x_default_font_parameter): Make non-static.
+ * src/w32term.h: Add prototype for w32_default_font_parameter
+ * src/w32fns.c (w32_default_font_parameter): Make non-static.
+ * src/w32term.c (w32_redisplay_interface): Initialize
+ default_font_parameter member.
+ * src/nsterm.m (ns_redisplay_interface): Add dummy
+ ns_default_font_parameter (there is currently only one possible font
+ backend on macOS). Initialize default_font_parameter member.
+ * src/frame.c (gui_set_font_backend): Recalculate default font using
+ RIF default_font_parameter to avoid crash when changing font backend.
+
+2020-03-17 Juri Linkov <address@hidden>
+
+ * lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.
+
+ * lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
+ instead of just buffer object to invalidate the cache on buffer
renaming.
+ (tab-line-format-template): Always leave the separator after the last
tab
+ like tab-bar.el already does.
+
+2020-03-16 Stefan Monnier <address@hidden>
+
+ * etc/NEWS: Make the `--eval` example slightly more precise
+
+2020-03-15 Juri Linkov <address@hidden>
+
+ * lisp/image/image-converter.el: Support more ImageMagick versions
(bug#39994)
+
+ * lisp/image/image-converter.el (image-converter--probe): Match
+ a possible additional second column in some ImageMagick versions
+ of "convert -list format".
+
+2020-03-14 Eli Zaretskii <address@hidden>
+
+ Support Unicode 13.0
+
+ * admin/unidata/BidiBrackets.txt:
+ * admin/unidata/BidiMirroring.txt:
+ * admin/unidata/Blocks.txt:
+ * admin/unidata/NormalizationTest.txt:
+ * admin/unidata/SpecialCasing.txt:
+ * admin/unidata/UnicodeData.txt:
+ * admin/unidata/copyright.html:
+ * test/manual/BidiCharacterTest.txt: Updated files imported from
+ Unicode v13.0.
+
+ * admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
+ known aliases.
+
+ * lisp/international/fontset.el (script-representative-chars)
+ (setup-default-fontset): Add new scripts.
+ * lisp/international/characters.el: Set syntax for Symbols for
+ Legacy Computing characters. Update setting of char-width-table.
+ * lisp/international/mule-cmds.el (ucs-names): Update ranges of
+ characters for which we want names in 'ucs-names'.
+
+ * test/lisp/international/ucs-normalize-tests.el
+ (ucs-normalize-tests--failing-lines-part1)
+ (ucs-normalize-tests--failing-lines-part2): Update according to
+ 'ucs-normalize-check-failing-lines'.
+
+2020-03-14 Lars Ingebrigtsen <address@hidden>
+
+ Fix regression in wisent-total-conflicts
+
+ * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
+ There may not be a current source file. In that case, don't try
+ to keep track of the number of expected conflicts (bug#39911).
+
+2020-03-14 Alan Mackenzie <address@hidden>
+
+ * lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1
+
+ Don't merge to master.
+
+2020-03-14 Philipp Stephani <address@hidden>
+
+ * lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.
+
+2020-03-14 Stefan Kangas <address@hidden>
+
+ Improve Package Menu hiding docstrings
+
+ * lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
+ reference to 'package-menu-hidden-regexps'.
+ * lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
+ docstring to say that hiding is saved in a user option. Fix a
+ typo. (Bug#39436)
+
+2020-03-14 Eli Zaretskii <address@hidden>
+
+ Fix display of Big5 characters when using Fontconfig
+
+ * src/ftfont.c (fc_charset_table): Fix the value of the big-5
+ representative codepoint. Reported by Brian Schack
+ <address@hidden>. (Bug#40057)
+
+ * src/macfont.m (cf_charset_table): Adjust the comment.
+
+2020-03-13 Eli Zaretskii <address@hidden>
+
+ Fix a recent documentation change
+
+ * doc/emacs/frames.texi (Mouse Commands): More detailed
+ description of how tilting the mouse-wheel works.
+
+ * lisp/mwheel.el (mouse-wheel-tilt-scroll)
+ (mouse-wheel-flip-direction): Fix the wording of doc strings.
+ (Bug#39979)
+
+2020-03-13 Eli Zaretskii <address@hidden>
+
+ Fix last change
+
+ * lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
+ doc string.
+
+2020-03-13 Juri Linkov <address@hidden>
+
+ * lisp/tab-bar.el: Last-minute changes.
+
+ * lisp/tab-bar.el (tab-bar-mode): Check for non-nil
+ tab-bar-new-button and tab-bar-close-button.
+ (tab-bar-new-button-show): New defcustom.
+ (tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
+ (tab-bar-separator): Add docstring.
+
+2020-03-12 Stefan Monnier <address@hidden>
+
+ * lisp/subr.el (cancel-change-group): Fix bug#39680
+
+ Don't re-use an existing `pending-undo-list` even if (eq last-command
'undo)
+ since there might have been changes to the buffer since that `undo`
command
+ and the `pending-undo-list` can hence be invalid for the current
+ buffer contents.
+
+2020-03-12 İ. Göktuğ Kayaalp <address@hidden>
+
+ Improve docs for horizontal scrolling with mouse and touchpad
(Bug#39979)
+
+ * lisp/mwheel.el (mouse-wheel-tilt-scroll,
+ mouse-wheel-flip-direction): Improve docstrings.
+ * doc/emacs/frames.texi (Mouse Commands): Mention touchpads.
+
+2020-03-10 Juri Linkov <address@hidden>
+
+ * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
+
+2020-03-09 Paul Eggert <address@hidden>
+
+ Port .gdbinit to clang with -gdwarf-4
+
+ * src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
+ doesn’t output the type of lispsym anywhere other than emacs.o
+ (Bug#39962).
+
+2020-03-09 Mattias Engdegård <address@hidden>
+
+ Simplify rx example in manual
+
+ * doc/lispref/searching.texi (Rx Notation):
+ Use the 'not' shorthand introduced in Emacs 27.
+
+2020-03-09 Paul Eggert <address@hidden>
+
+ * src/timefns.c: Add comments.
+
+2020-03-08 Paul Eggert <address@hidden>
+
+ * src/timefns.c: Add comments.
+
+2020-03-08 Andrew Eggenberger <address@hidden> (tiny change)
+
+ Eliminate use of cl-concatenate in 'seq' package
+
+ Fixes (Bug#39761) by making cl-extra dependent on seq rather than
+ vice versa.
+ * lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
+ code here instead of calling it.
+ * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.
+
+2020-03-07 Paul Eggert <address@hidden>
+
+ Fix bug with JIT stealth timers
+
+ * lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
+ time values must be conses (Bug#39944).
+
+2020-03-07 Paul Eggert <address@hidden>
+
+ * doc/lispref/os.texi (time-subtract): Doc fix.
+
+2020-03-07 Alan Third <address@hidden>
+
+ NS port documentation updates
+
+ * doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
+ more of the ns- variables and remove incorrect font back-end
+ information.
+ * etc/NEWS: Update the documentation status of macOS news entries.
+
+2020-03-07 João Távora <address@hidden>
+
+ Let fido-mode users force a minibuffer-exit
+
+ * lisp/icomplete.el (icomplete-fido-exit):
+ Add FORCE arg. Rewrite docstring. (bug#38992)
+
+2020-03-07 Dmitry Gutov <address@hidden>
+
+ icomplete-fido-exit: New command for the M-j binding
+
+ * lisp/icomplete.el (icomplete-fido-exit): New command.
+ (icomplete-fido-mode-map): Use it (bug#38992).
+
+2020-03-07 Dmitry Gutov <address@hidden>
+
+ minibuffer-force-complete-and-exit: Allow input with no matches
+
+ * lisp/minibuffer.el (minibuffer--require-match): New variable.
+ (completing-read-default): Bind it to the REQUIRE-MATCH value.
+ (minibuffer-force-complete-and-exit): Consult it to allow input
+ with no matches when a match is not required (bug#38992).
+
+ * lisp/icomplete.el (icomplete-exhibit): Use it to render the
+ correct parens around matches.
+
+2020-03-07 Eli Zaretskii <address@hidden>
+
+ Document that 'byte-compile-dynamic' is obsolete
+
+ * doc/lispref/compile.texi (Dynamic Loading): Document that this
+ is deprecated.
+
+ * etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.
+
+2020-03-07 Eli Zaretskii <address@hidden>
+
+ Document the changes in 'read-answer'
+
+ * doc/lispref/minibuf.texi (Multiple Queries): Document the
+ fact that 'read-answer' can now accept non-character input
+ events.
+
+2020-03-07 Eli Zaretskii <address@hidden>
+
+ Document changes in lexical-binding
+
+ * doc/lispref/variables.texi (Using Lexical Binding): Document
+ that lexical-binding is now turned on by default in more cases.
+
+ * etc/NEWS: Fix wording of the NEWS entry about the above, and mark it
+ as fully documented.
+
+2020-03-06 Amin Bandali <address@hidden>
+
+ Update ERC mailing list address
+
+ * lisp/erc/erc.el (erc-official-location): As part of bringing ERC
+ under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
+ and will be *the* mailing list for discussions and announcements about
+ ERC going forward. The other two lists, erc-announce and erc-commit,
+ are now retired. For more details, see the announcement at
+ <https://lists.gnu.org/archive/html/emacs-erc/2020-03/msg00001.html>.
+
+2020-03-06 Roland Winkler <address@hidden>
+
+ Use regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686)
+
+2020-03-06 Eli Zaretskii <address@hidden>
+
+ Improve documentation of 'table-generate-source'
+
+ * lisp/textmodes/table.el (table-generate-source): Doc fix.
+ (Bug#39935)
+
+ * etc/NEWS: Fix wording of the 'table-generate-source' entry and
+ mark it as documented.
+
+2020-03-06 Eli Zaretskii <address@hidden>
+
+ Attempt to avoid rare segfaults in show_mouse_face
+
+ * src/xdisp.c (show_mouse_face): Don't display the active region
+ if called on a frame different from the one recorded in HLINFO.
+ (Bug#37671)
+
+2020-03-05 Eli Zaretskii <address@hidden>
+
+ Avoid crashes when a fontset has strange entries
+
+ * src/fontset.c (reorder_font_vector): Skip nil entries in the
+ loop that assigns scores to rfont_def's.
+ (fontset_compare_rfontdef): Cope with nil. This has the effect of
+ moving any nil entries to the end of the font-group, and avoids
+ crashing if an element other than the last in the font-group is
+ nil. (Bug#39892)
+
+2020-03-05 Mattias Engdegård <address@hidden>
+
+ Fix rx error with ? and ??
+
+ The ? and ?? rx operators are special in that they can be written as
+ characters (space and '?' respectively). This confused the definition
+ look-up mechanism in rare cases.
+
+ * lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
+ * test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.
+
+2020-03-05 Mattias Engdegård <address@hidden>
+
+ * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.
+
+2020-03-05 Justin Burkett <address@hidden> (tiny change)
+
+ Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'
+
+ * lisp/window.el (fit-window-to-buffer): Fix arguments in
+ 'window-text-pixel-size' call.
+
+2020-03-04 João Távora <address@hidden>
+
+ Have pulse.el preserve existing overlay priorities
+
+ (Bug#39821)
+
+ * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
+ overlay priority.
+ (pulse-momentary-unhighlight): Restore.
+
+2020-03-04 Alan Mackenzie <address@hidden>
+
+ CC Mode: Fix the handling of two adjacent after-change-functionses.
+
+ The bug involved failing to set c-new-END correctly, which lead to an
+ args-out-of-range error when after-change-functions was invoked twice
without
+ an intervening invocation of before-change-functions.
+
+ * lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in
the
+ handling of c-just-done-before-change.
+
+2020-03-04 Alan Mackenzie <address@hidden>
+
+ Fix combine-change-calls-1 for when buffer-undo-list is t
+
+ * lisp/subr.el (combine-change-calls-1): Bind
before/after-change-functions to
+ nil also when buffer-undo-list is t.
+
+2020-03-04 Mattias Engdegård <address@hidden>
+
+ Don't misinterpret doc string as initial value
+
+ * lisp/loadhist.el (loadhist--restore-autoload):
+ * lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
+ Prevent the doc string from being used as initial value.
+
+2020-03-04 Stefan Kangas <address@hidden>
+
+ Bump checkdoc-version to match library header
+
+ * lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
+
+2020-03-04 Noam Postavsky <address@hidden>
+
+ Explain how to unset mode bindings (Bug#39802)
+
+ * doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
+ define-key will unbind keys, and extend the example accordingly.
+
+2020-03-04 Noam Postavsky <address@hidden>
+
+ Fix describe-variable on values with circular syntax (Bug#39805)
+
+ * lisp/help-fns.el (describe-variable): Set syntax tables before
+ calling pp-buffer.
+
+2020-03-04 Juri Linkov <address@hidden>
+
+ Improve documentation of next-error-highlight-no-select (bug#38778)
+
+ * doc/emacs/building.texi (Compilation Mode):
+ Mention next-error-highlight-no-select.
+
+ * lisp/simple.el (next-error-highlight): Add reference to
+ next-error-highlight-no-select.
+ (next-error-highlight-no-select): Add reference to
+ next-error-highlight.
+
+2020-03-03 Andreas Schwab <address@hidden>
+
+ Fix implicit declaration of getenv and atol
+
+ * src/gtkutil.c: Include <stdlib.h>.
+
+2020-03-03 Eli Zaretskii <address@hidden>
+
+ Fix handling MS-Windows keyboard input above the BMP
+
+ * src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
+ with a surrogate codepoint, assemble the corresponding character
+ code above the BMP from its UTF-16 encoding, communicated in two
+ consecutive WM_UNICHAR messages.
+
+2020-03-03 Mattias Engdegård <address@hidden>
+
+ * etc/NEWS: More complete description of rx 'not' changes.
+
+2020-03-02 Juri Linkov <address@hidden>
+
+ * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the
minibuffer.
+
+2020-03-02 Robert Pluim <address@hidden>
+
+ Don't attempt to cache glyph metrics for FONT_INVALID_CODE
+
+ This was causing massive slowdown in redisplay when eg #xfe0f
+ (VARIATION SELECTOR-16) was present, as the cache ended up very large,
+ unused, and being recreated on every call to font_fill_lglyph_metrics
+ (Bug#39133).
+
+ * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
+ of loop. Calculate glyph code and check for FONT_INVALID_CODE before
+ calling font_fill_lglyph_metrics. Pass glyph code to it.
+
+ * src/font.c (font_fill_lglyph_metrics): Add code parameter, move
+ glyph code calculation up the call stack into fill_gstring_body.
+
+ * src/font.h: Adjust font_fill_lglyph_metrics prototype.
+
+2020-03-01 Sergey Trofimov <address@hidden> (tiny change)
+
+ Fix fit-frame-to-buffer for multi-monitor setup
+
+ * lisp/window.el (fit-frame-to-buffer): Call
+ 'frame-monitor-attributes' instead of
+ 'display-monitor-attributes-list'. Fix geometry calculations for
+ multiple monitors.
+
+2020-03-01 Mattias Engdegård <address@hidden>
+
+ rx: Improve 'or' compositionality (bug#37659)
+
+ Perform 'regexp-opt' on nested 'or' forms, and after expansion of
+ user-defined and 'eval' forms. Characters are now turned into strings
+ for wider 'regexp-opt' scope. This preserves the longest-match
+ semantics for string in 'or' forms over composition.
+
+ * doc/lispref/searching.texi (Rx Constructs): Document.
+ * lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
+ (rx--all-string-or-args): New.
+ (rx--translate-or): Normalise arguments first, and check for strings
+ in subforms.
+ (rx--expand-eval): Extracted from rx--translate-eval.
+ (rx--translate-eval): Call rx--expand-eval.
+ * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
+ * etc/NEWS: Announce.
+
+2020-02-29 Juri Linkov <address@hidden>
+
+ * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
+
+ Distinguish offsets between manual-vs-automatic scrolling
+ as integers-vs-floats instead of positive-vs-negative integers.
+
+ * lisp/tab-line.el (tab-line-format-template): Use 'numberp'
+ instead of 'integerp', and 'truncate' instead of 'abs'.
+ (tab-line-format): When the window-buffer was updated, set
window-parameter
+ to float to enable auto-hscroll after it was disabled on manual
scrolling.
+ (tab-line-auto-hscroll-buffer): New variable with internal buffer.
+ (tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
+ Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
+ and 'float' instead of '-'.
+ (tab-line-hscroll): Use 'numberp' instead of 'integerp',
+ and 'truncate' instead of 'abs'.
+
+2020-02-29 Mattias Engdegård <address@hidden>
+
+ Fix rx charset generation
+
+ * lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
+ (rx--generate-alt): Generate '.' for negated newline.
+ * test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.
+
+2020-02-28 Mattias Engdegård <address@hidden>
+
+ Fix overquoting in mule.el
+
+ * lisp/international/mule.el (sgml-xml-auto-coding-function):
+ Remove accidental quote.
+
+2020-02-28 Paul Eggert <address@hidden>
+
+ * src/timefns.c (time_arith): Omit incorrect comment.
+
+2020-02-28 Mattias Engdegård <address@hidden>
+
+ * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
+
+2020-02-28 Štěpán Němec <address@hidden>
+
+ checkdoc: Don't mistake "cf." for sentence end
+
+ * lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
+ Recognize "cf." as an abbreviation, not a sentence end.
+
+2020-02-27 Nicolas Petton <address@hidden>
+
+ Bump Emacs version to 27.0.90
+
+ * README:
+ * configure.ac:
+ * msdos/sed2v2.inp:
+ * nt/README.W32: Bump Emacs version.
+
+2020-02-27 Nicolas Petton <address@hidden>
+
+ * etc/AUTHORS: Update.
+
2020-02-27 Nicolas Petton <address@hidden>
* admin/authors.el (authors-ignored-files): Fix entries.
@@ -139450,7 +140538,7 @@
This file records repository revisions from
commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
-commit 9261b1ed49755284bb9dc194b6c2a9b407151ee5 (inclusive).
+commit 4acdd7fe58ae9f94102afeca67b0383141d597da (inclusive).
See ChangeLog.2 for earlier changes.
;; Local Variables:
diff --git a/admin/authors.el b/admin/authors.el
index dc42bc7..fd17a33 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -207,6 +207,11 @@ files.")
("Yoshinori Koseki" "KOSEKI Yoshinori" "小関 吉則")
("Yutaka NIIBE" "NIIBE Yutaka")
(nil "stardiviner")
+ (nil "lin.sun")
+ ("Nitish Chinta" "nitishch")
+ ("Carlos Pita" "memeplex")
+ ("Vinicius Jose Latorre" "viniciusjl")
+ ("Gaby Launay" "galaunay")
)
"Alist of author aliases.
@@ -278,7 +283,7 @@ If REALNAME is nil, ignore that author.")
(defvar authors-obsolete-files-regexps
- '(".*loaddefs.el$" ; not obsolete, but auto-generated
+ '(".*loaddefs\\.el$" ; not obsolete, but auto-generated
"\\.\\(bzr\\|cvs\\|git\\)ignore$" ; obsolete or uninteresting
"\\.arch-inventory$"
"ChangeLog\\(\\.[0-9]+\\)?\\'"
@@ -288,9 +293,9 @@ If REALNAME is nil, ignore that author.")
"\\`\\(indent\\|automated\\)\\'" "indent/" "mod-test/"
"-resources/"
"unidata/.*\\.txt\\'"
- "BidiCharacterTest.txt"
+ "BidiCharacterTest\\.txt"
;; TODO lib/? Matches other things?
- "build-aux/" "m4/" "Emacs.xcodeproj" "mapfiles" "\\.map\\'"
+ "build-aux/" "m4/" "Emacs\\.xcodeproj" "mapfiles" "\\.map\\'"
"preferences\\.\\(nib\\|gorm\\)"
;; Generated files that have since been removed.
"\\(refcard\\(-de\\|-pl\\)?\\|calccard\\|dired-ref\\|orgcard\\|\
@@ -1183,7 +1188,7 @@
ediff\\|emerge\\|log-edit\\|log-view\\|pcvs\\|smerge-mode\\|vc\\)\\.el\\'"
("\\`org-\\(ascii\\|beamer\\|html\\|icalendar\\|jsinfo\\|latex\
\\|odt\\|publish\\)\\.el\\'" "ox-\\1.el")
;; From test/ to test/automated/.
- ("comint-testsuite.el" "automated/\\&")
+ ("comint-testsuite\\.el" "automated/\\&")
("\\`\\(bytecomp\\|font-parse\\|icalendar\\|occur\\|newsticker\\)\
-testsuite\\.el" "\\1-tests.el")
("automated/flymake/warnpred/\\(Makefile\\|test\\.\\(?:c\\|pl\\)\\)\\'"
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index af2f3ac..5ec23a9 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -5871,25 +5871,26 @@ which window parameters (if any) are saved by this
function.
@defun set-window-configuration configuration
This function restores the configuration of windows and buffers as
-specified by @var{configuration}, for the frame that @var{configuration}
-was created for.
-
-The argument @var{configuration} must be a value that was previously
-returned by @code{current-window-configuration}. The configuration is
-restored in the frame from which @var{configuration} was made, whether
-that frame is selected or not. In some rare cases this may trigger
-execution of the @code{window-size-change-functions} (@pxref{Window
-Hooks}) even if the size of windows did not change at all. The
-@code{window-configuration-change-hook} functions will be called if and
-only if at least one window was added to or deleted from the frame.
-
-If the frame from which @var{configuration} was saved is dead, all this
-function does is restore the three variables @code{window-min-height},
-@code{window-min-width} and @code{minibuffer-scroll-window}. In this
-case, the function returns @code{nil}. Otherwise, it returns @code{t}.
-
-Here is a way of using this function to get the same effect
-as @code{save-window-excursion}:
+specified by @var{configuration}, for the frame that
+@var{configuration} was created for, regardless of whether that frame
+is selected or not. The argument @var{configuration} must be a value
+that was previously returned by @code{current-window-configuration}
+for that frame.
+
+If the frame from which @var{configuration} was saved is dead, all
+this function does is to restore the value of the variable
+@code{minibuffer-scroll-window} and to adjust the value returned by
+@code{minibuffer-selected-window}. In this case, the function returns
+@code{nil}. Otherwise, it returns @code{t}.
+
+If the buffer of a window of @var{configuration} has been killed since
+@var{configuration} was made, that window is, as a rule, removed from
+the restored configuration. However, if that window is the last
+window remaining in the restored configuration, another live buffer is
+shown in it.
+
+Here is a way of using this function to get the same effect as
+@code{save-window-excursion}:
@example
@group
diff --git a/etc/AUTHORS b/etc/AUTHORS
index ab0cbee..aff24a8 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -97,11 +97,11 @@ Alakazam Petrofsky: changed hanoi.el
Alan Mackenzie: wrote cc-awk.el
and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el
cc-langs.el cc-mode.el cc-styles.el cc-vars.el
-and changed cc-mode.texi bytecomp.el follow.el display.texi subr.el
+and changed cc-mode.texi bytecomp.el display.texi follow.el subr.el
edebug.el progmodes/compile.el programs.texi syntax.texi modes.texi
font-lock.el isearch.el text.texi help.el ispell.el lread.c syntax.c
windows.texi .dir-locals.el control.texi cus-start.el
- and 147 other files
+ and 148 other files
Alan Modra: changed unexelf.c
@@ -113,9 +113,9 @@ Alan Shutko: changed diary-lib.el calendar.el bindings.el
cal-hebrew.el
Alan Third: wrote dabbrev-tests.el image-transforms-tests.el
and changed nsterm.m nsterm.h nsfns.m nsmenu.m ns-win.el nsimage.m
- image.c macfont.m configure.ac frame.el xdisp.c display.texi image.el
- macos.texi xterm.c Info.plist.in conf_post.h dispextern.h frame.c
- frame.h frames.texi and 21 other files
+ image.c macfont.m configure.ac frame.el xdisp.c macos.texi display.texi
+ image.el xterm.c Info.plist.in conf_post.h dispextern.h frame.c frame.h
+ frames.texi and 21 other files
Alastair Burt: changed gnus-art.el smiley.el
@@ -235,12 +235,11 @@ Alp Aker: changed nsfont.m nsterm.m buff-menu.el nsfns.m
nsmenu.m
Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c
savehist.el vc-git.el
-Amin Bandali: changed erc-button.el erc-desktop-notifications.el
- erc-autoaway.el erc-compat.el erc-fill.el erc-ibuffer.el erc-imenu.el
- erc-join.el erc-lang.el erc-list.el erc-log.el erc-match.el
- erc-notify.el erc-pcomplete.el erc-replace.el erc-ring.el
- erc-services.el erc-sound.el erc-speedbar.el erc-spelling.el
- erc-stamp.el and 4 other files
+Amin Bandali: changed erc.el erc-button.el erc-desktop-notifications.el
+ erc-track.el erc-autoaway.el erc-compat.el erc-fill.el erc-ibuffer.el
+ erc-imenu.el erc-join.el erc-lang.el erc-list.el erc-log.el
+ erc-match.el erc-notify.el erc-pcomplete.el erc-replace.el erc-ring.el
+ erc-services.el erc-sound.el erc-speedbar.el and 5 other files
Anand Mitra: changed gnus-sum.el
@@ -298,7 +297,7 @@ Andreas Rottmann: changed emacsclient.1 emacsclient.c
misc.texi server.el
Andreas Schwab: changed configure.ac lisp.h xdisp.c process.c alloc.c
coding.c Makefile.in files.el fileio.c keyboard.c lread.c xterm.c fns.c
editfns.c emacs.c src/Makefile.in print.c eval.c font.c xfns.c sysdep.c
- and 650 other files
+ and 651 other files
Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el
@@ -332,6 +331,8 @@ and changed nnir.el gnus-sum.el nnimap.el gnus-msg.el
gnus.texi
Andrew Csillag: wrote m4-mode.el
+Andrew Eggenberger: changed cl-extra.el seq.el
+
Andrew G Cohen: changed gnus-sum.el gnus-art.el
Andrew Hall: changed paren.el
@@ -695,8 +696,8 @@ Carl Edman: co-wrote ns-win.el
Carl Henrik Lunde: changed format-spec.el
-Carlos Pita: changed erc-pcomplete.el image-mode.el progmodes/python.el
- sh-script.el
+Carlos Pita: changed progmodes/python.el erc-pcomplete.el fringe.c
+ gtkutil.c image-mode.el keyboard.c sh-script.el
Carsten Bormann: changed ibmrs6000.h latin-post.el
@@ -1354,9 +1355,9 @@ Dmitry Gutov: wrote elisp-mode-tests.el jit-lock-tests.el
json-tests.el
vc-hg-tests.el xref-tests.el
and changed ruby-mode.el xref.el project.el vc-git.el elisp-mode.el
etags.el ruby-mode-tests.el js.el package.el vc-hg.el vc.el
- symref/grep.el log-edit.el dired-aux.el simple.el menu-bar.el
- minibuffer.el package-test.el progmodes/grep.el vc-svn.el eldoc.el
- and 110 other files
+ symref/grep.el log-edit.el dired-aux.el simple.el minibuffer.el
+ menu-bar.el package-test.el progmodes/grep.el vc-svn.el eldoc.el
+ and 111 other files
Dmitry Kurochkin: changed isearch.el
@@ -1444,7 +1445,7 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c]
and changed xdisp.c msdos.c w32.c display.texi w32fns.c simple.el
files.el fileio.c keyboard.c w32term.c w32proc.c emacs.c files.texi
text.texi dispnew.c frames.texi lisp.h dispextern.h window.c process.c
- term.c and 1184 other files
+ term.c and 1187 other files
Emanuele Giaquinta: changed configure.ac rxvt.el charset.c etags.c
fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el
@@ -2039,7 +2040,7 @@ Ian Lance Taylor: changed sco4.h
Ian T Zimmerman: wrote gametree.el
and changed ange-ftp.el desktop.el tex-mode.el
-İ. Göktuğ Kayaalp: changed eww.el vc-rcs.el
+İ. Göktuğ Kayaalp: changed eww.el frames.texi mwheel.el vc-rcs.el
Igor Kuzmin: wrote cconv.el
@@ -2433,7 +2434,7 @@ and changed flymake.el flymake-proc.el icomplete.el
minibuffer.el
flymake-tests.el flymake.texi elisp-mode.el flymake-elisp.el
electric.el flymake-ui.el text.texi json-tests.el tex-mode.el
errors-and-warnings.c json.c xref.el auth-source-pass.el linum.el
- maintaining.texi message.el progmodes/python.el and 29 other files
+ maintaining.texi message.el progmodes/python.el and 30 other files
Jochen Hein: changed gnus-art.el
@@ -2713,13 +2714,15 @@ Juri Linkov: wrote files-x.el misearch.el
replace-tests.el tab-bar.el
and changed isearch.el info.el simple.el replace.el dired.el dired-aux.el
progmodes/grep.el progmodes/compile.el startup.el subr.el diff-mode.el
files.el menu-bar.el faces.el bindings.el display.texi image-mode.el
- desktop.el comint.el minibuffer.el search.texi and 418 other files
+ desktop.el comint.el minibuffer.el search.texi and 419 other files
Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h
w32console.c w32heap.c w32inevt.c w32term.h
Justin Bogner: changed fortune.el
+Justin Burkett: changed window.el
+
Justin Gordon: changed ox-md.el
Justin Sheehy: changed gnus-sum.el nntp.el
@@ -3119,8 +3122,6 @@ Liam Stitt: changed url-file.el url-vars.el
Liang Wang: changed etags.el
-Lin Sun: changed makefile-edit.el
-
Lixin Chin: changed bibtex.el
Lloyd Zusman: changed mml.el pgg-gpg.el
@@ -3348,9 +3349,9 @@ Martin Neitzel: changed supercite.el
Martin Pohlack: changed iimage.el pc-select.el
Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c
- w32fns.c frames.texi xterm.c w32term.c frame.el xfns.c display.texi
+ w32fns.c xterm.c frames.texi w32term.c xfns.c frame.el display.texi
help.el buffer.c window.h cus-start.el frame.h dispnew.c mouse.el
- nsfns.m dired.el and 209 other files
+ nsfns.m gtkutil.c and 209 other files
Martin Stjernholm: wrote cc-bytecomp.el
and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
@@ -3450,10 +3451,10 @@ Matt Hodges: changed textmodes/table.el faces.el
iswitchb.el simple.el
locate.el paragraphs.el pcomplete.el repeat.el and 3 other files
Mattias Engdegård: changed rx.el searching.texi rx-tests.el autorevert.el
- regexp-opt.el calc-tests.el filenotify.el subr.el progmodes/compile.el
- files.el mouse.el bytecomp.el compile-tests.el autorevert-tests.el
- byte-opt.el bytecomp-tests.el calc-alg.el compilation.txt font.c
- regex-emacs.c regexp-opt-tests.el and 121 other files
+ calc-tests.el regexp-opt.el filenotify.el subr.el files.el
+ progmodes/compile.el mouse.el bytecomp.el compile-tests.el
+ autorevert-tests.el byte-opt.el bytecomp-tests.el calc-alg.el
+ compilation.txt dired.el font.c regex-emacs.c and 161 other files
Matt Lundin: changed org-agenda.el org.el org-bibtex.el org-footnote.el
ox-publish.el org-bbdb.el org-datetree.el org-gnus.el
@@ -3854,7 +3855,7 @@ Nil Geisweiller: changed flymake.el
Nils Ackermann: changed message.el nnmh.el reftex-vars.el
-Nitish Chandra: changed simple.el
+Nitish Chinta: changed progmodes/python.el sendmail.el simple.el
N. Jackson: changed emacs.texi forms.texi
@@ -3870,10 +3871,10 @@ Noah Lavine: changed tramp.el
Noah Swainland: changed calc.el
Noam Postavsky: changed progmodes/python.el lisp-mode.el bytecomp.el
- lisp-mode-tests.el term.el xdisp.c cl-macs.el eval.c
- emacs-lisp/debug.el simple.el data.c modes.texi subr.el elisp-mode.el
- ert.el help-fns.el isearch.el processes.texi cl-print.el ffap.el
- print.c and 357 other files
+ lisp-mode-tests.el term.el xdisp.c eval.c cl-macs.el data.c
+ emacs-lisp/debug.el simple.el help-fns.el modes.texi subr.el
+ elisp-mode.el ert.el isearch.el processes.texi cl-print.el diff-mode.el
+ ffap.el and 359 other files
Nobuyoshi Nakada: co-wrote ruby-mode.el
and changed ruby-mode-tests.el
@@ -4168,15 +4169,15 @@ Philipp Stephani: wrote callint-tests.el
checkdoc-tests.el
lread-tests.el mouse-tests.el xt-mouse-tests.el
and changed emacs-module.c emacs-module-tests.el json.c json-tests.el
eval.c mod-test.c lisp.h lread.c nsterm.m configure.ac bytecomp.el
- internals.texi gtkutil.c emacs-module.h.in files.el alloc.c electric.el
- test/Makefile.in editfns.c electric-tests.el emacs.c
- and 126 other files
+ internals.texi gtkutil.c emacs-module.h.in files.el alloc.c
+ electric-tests.el electric.el test/Makefile.in editfns.c emacs.c
+ and 127 other files
Phillip Lord: wrote ps-print-tests.el
-and changed build-zips.sh lisp/Makefile.in undo.c simple.el
- build-dep-zips.py test/Makefile.in Makefile Makefile.in emacs.nsi
- keyboard.c viper-cmd.el README-windows-binaries README.W32
- elisp-mode-tests.el ldefs-clean.el loadup.el README-scripts autoload.el
+and changed build-zips.sh lisp/Makefile.in undo.c build-dep-zips.py
+ simple.el test/Makefile.in Makefile Makefile.in emacs.nsi keyboard.c
+ viper-cmd.el README-windows-binaries README.W32 elisp-mode-tests.el
+ ldefs-clean.el loadup.el README-scripts autoload.el
automated/Makefile.in cmds.c dired.el and 171 other files
Phil Sainty: wrote autoload-longlines-mode-tests.el
@@ -4412,11 +4413,11 @@ Roberto Rodríguez: changed glossary.texi widget.texi
Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el
Robert Pluim: wrote nsm-tests.el
-and changed process.c gtkutil.c processes.texi vc-git.el configure.ac
- ftfont.c network-stream.el nsm.el process-tests.el files.texi font.c
- ftcrfont.c gnus-icalendar.el gnutls.el gtkutil.h
- network-stream-tests.el text.texi w32.c xfns.c xftfont.c auth.texi
- and 83 other files
+and changed process.c ftfont.c gtkutil.c processes.texi vc-git.el
+ configure.ac font.c network-stream.el nsm.el process-tests.el xfns.c
+ dispextern.h files.texi ftcrfont.c gnus-icalendar.el gnutls.el
+ gtkutil.h network-stream-tests.el nsterm.m text.texi w32.c
+ and 90 other files
Robert Thorpe: changed cus-start.el indent.el
@@ -4649,6 +4650,8 @@ and changed ob-maxima.el ob-octave.el
Sergey Poznyakoff: changed rmail.el mh-mime.el rmail.texi smtpmail.el
+Sergey Trofimov: changed window.el
+
Sergey Vinokurov: changed emacs-module-tests.el emacs-module.c mod-test.c
Sergio Durigan Junior: changed eudcb-bbdb.el gdb-mi.el
@@ -4772,7 +4775,7 @@ Stefan Kangas: wrote bookmark-tests.el delim-col-tests.el
morse-tests.el
and changed bookmark.el package.el efaq.texi package.texi ibuffer.el
mwheel.el cperl-mode.el fns.c gud.el simple.el subr.el autoinsert.el
comint-tests.el cus-edit.el delim-col.el dired-aux.el dired-x.el
- em-term.el ert.texi flow-fill.el frames.texi and 146 other files
+ em-term.el ert.texi flow-fill.el frames.texi and 147 other files
Stefan Merten: co-wrote rst.el
@@ -4806,10 +4809,11 @@ Stefan Wiens: changed gnus-sum.el
Steinar Bang: changed gnus-setup.el imap.el
-Štěpán Němec: changed INSTALL calc-ext.el cl.texi comint.el edebug.texi
- font-lock.el functions.texi leim-ext.el loading.texi maps.texi
- mark.texi message.texi mini.texi minibuf.texi misc.texi programs.texi
- subr.el tips.texi url-vars.el url.texi vc-git.el and 3 other files
+Štěpán Němec: changed INSTALL calc-ext.el checkdoc.el cl.texi comint.el
+ edebug.texi font-lock.el functions.texi gnus-sum.el insdel.c
+ leim-ext.el loading.texi maps.texi mark.texi message.texi mini.texi
+ minibuf.texi misc.texi programs.texi subr.el text.texi
+ and 7 other files
Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
ediff-mult.el
@@ -5567,6 +5571,8 @@ Zhang Weize: wrote ob-plantuml.el
Zhongwei Yao: changed tramp-adb.el
+Zhu Zihao: changed svg.el
+
Zoltan Kemenczy: changed gud.el
Zoran Milojevic: changed avoid.el
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index f4edfaf..aba3028 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -1647,6 +1647,16 @@ adjacent to an apostrophe, like "nick's".
*** Set 'erc-button-url-regexp' to 'browse-url-button-regexp'
which better handles surrounding pair of parentheses.
+---
+*** New function 'erc-switch-to-buffer-other-window'
+which is like 'erc-switch-to-buffer', but opens the buffer in another
+window.
+
+---
+*** New function 'erc-track-switch-buffer-other-window'
+which is like 'erc-track-switch-buffer', but opens the buffer in
+another window.
+
** EUDC
---
diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index e2a6bfe..ba66d0b 100644
--- a/lisp/auth-source-pass.el
+++ b/lisp/auth-source-pass.el
@@ -190,7 +190,7 @@ CONTENTS is the contents of a password-store formatted
file."
(let ((store-dir (expand-file-name auth-source-pass-filename)))
(mapcar
(lambda (file) (file-name-sans-extension (file-relative-name file
store-dir)))
- (directory-files-recursively store-dir "\\.gpg$"))))
+ (directory-files-recursively store-dir "\\.gpg\\'"))))
(defun auth-source-pass--find-match (host user port)
"Return password-store entry data matching HOST, USER and PORT.
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index 6d8fe9c..a49f428 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -707,7 +707,7 @@ and done items are always shown on visiting a category."
shortf todo-show-first)))
(when (eq todo-show-first 'regexp)
(let ((rxfiles (directory-files todo-directory t
- ".*\\.todr$" t)))
+ "\\.todr\\'" t)))
(when (and rxfiles (> (length rxfiles) 1))
(let ((rxf (mapcar #'todo-short-file-name rxfiles)))
(setq fi-file (todo-absolute-file-name
@@ -4054,7 +4054,7 @@ regexp items."
(defun todo-find-filtered-items-file ()
"Choose a filtered items file and visit it."
(interactive)
- (let ((files (directory-files todo-directory t "\\.tod[rty]$" t))
+ (let ((files (directory-files todo-directory t "\\.tod[rty]\\'" t))
falist file)
(dolist (f files)
(let ((sf-name (todo-short-file-name f))
@@ -4187,7 +4187,7 @@ multifile commands for further details."
(regexp ".todr")))))
(multi (> (length flist) 1))
(rxfiles (when regexp
- (directory-files todo-directory t ".*\\.todr$" t)))
+ (directory-files todo-directory t "\\.todr\\'" t)))
(file-exists (or (file-exists-p fname) rxfiles))
bufname)
(cond ((and top new (natnump new))
@@ -6154,7 +6154,7 @@ the empty string (i.e., no time string)."
"The :set function for user option `todo-nondiary-marker'."
(let* ((oldvalue (symbol-value symbol))
(files (append todo-files todo-archives
- (directory-files todo-directory t "\\.tod[rty]$" t))))
+ (directory-files todo-directory t "\\.tod[rty]\\'" t))))
(custom-set-default symbol value)
;; Need to reset these to get font-locking right.
(setq todo-nondiary-start (nth 0 todo-nondiary-marker)
@@ -6207,7 +6207,7 @@ the empty string (i.e., no time string)."
"The :set function for user option `todo-done-string'."
(let ((oldvalue (symbol-value symbol))
(files (append todo-files todo-archives
- (directory-files todo-directory t "\\.todr$" t))))
+ (directory-files todo-directory t "\\.todr\\'" t))))
(custom-set-default symbol value)
;; Need to reset this to get font-locking right.
(setq todo-done-string-start
@@ -6236,7 +6236,7 @@ the empty string (i.e., no time string)."
"The :set function for user option `todo-comment-string'."
(let ((oldvalue (symbol-value symbol))
(files (append todo-files todo-archives
- (directory-files todo-directory t "\\.todr$" t))))
+ (directory-files todo-directory t "\\.todr\\'" t))))
(custom-set-default symbol value)
(when (not (equal value oldvalue))
(dolist (f files)
@@ -6262,7 +6262,7 @@ the empty string (i.e., no time string)."
"The :set function for user option `todo-highlight-item'."
(let ((oldvalue (symbol-value symbol))
(files (append todo-files todo-archives
- (directory-files todo-directory t "\\.tod[rty]$" t))))
+ (directory-files todo-directory t "\\.tod[rty]\\'" t))))
(custom-set-default symbol value)
(when (not (equal value oldvalue))
(dolist (f files)
diff --git a/lisp/cedet/semantic/db-ebrowse.el
b/lisp/cedet/semantic/db-ebrowse.el
index 2142917..6262efb 100644
--- a/lisp/cedet/semantic/db-ebrowse.el
+++ b/lisp/cedet/semantic/db-ebrowse.el
@@ -181,7 +181,9 @@ is specified by `semanticdb-default-save-directory'."
"Load all semanticdb controlled EBROWSE caches."
(interactive)
(let ((f (directory-files semanticdb-default-save-directory
- t (concat semanticdb-ebrowse-default-file-name
"-load.el$") t)))
+ t (concat semanticdb-ebrowse-default-file-name
+ "-load\\.el\\'")
+ t)))
(while f
(load (car f) nil t)
(setq f (cdr f)))
diff --git a/lisp/cedet/semantic/texi.el b/lisp/cedet/semantic/texi.el
index 760cb19..8e8d362 100644
--- a/lisp/cedet/semantic/texi.el
+++ b/lisp/cedet/semantic/texi.el
@@ -495,7 +495,7 @@ that start with that symbol."
(setq tabs (cdr tabs)))
r))
(t
- (directory-files default-directory nil "\\.texi$"))
+ (directory-files default-directory nil "\\.texi\\'"))
)))
;; Turns out this might not be useful.
diff --git a/lisp/cedet/srecode/map.el b/lisp/cedet/srecode/map.el
index 784ebff..dc94920 100644
--- a/lisp/cedet/srecode/map.el
+++ b/lisp/cedet/srecode/map.el
@@ -327,7 +327,7 @@ if that file is NEW, otherwise assume the mode has not
changed."
;; 4) - Find new files and add them to the map.
(dolist (dir srecode-map-load-path)
(when (file-exists-p dir)
- (dolist (f (directory-files dir t "\\.srt$"))
+ (dolist (f (directory-files dir t "\\.srt\\'"))
(when (and (not (backup-file-name-p f))
(not (auto-save-file-name-p f))
(file-readable-p f))
diff --git a/lisp/dired.el b/lisp/dired.el
index 62e232b..9583d5d 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3236,7 +3236,7 @@ Any other value means to ask for each directory."
:group 'dired)
;; Match anything but `.' and `..'.
-(defvar dired-re-no-dot "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")
+(defvar dired-re-no-dot (rx (or (not ".") "...")))
;; Delete file, possibly delete a directory and all its files.
;; This function is useful outside of dired. One could change its name
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index e9f7658..ede4edc 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -1047,7 +1047,7 @@ write its autoloads into the specified file instead."
;; what is the suffix for the underlying OS.
(unless (string-match "\\.\\(elc\\|so\\|dll\\)" suf)
(push suf tmp)))
- (concat "^[^=.].*" (regexp-opt tmp t) "\\'")))
+ (concat "\\`[^=.].*" (regexp-opt tmp t) "\\'")))
(files (apply #'nconc
(mapcar (lambda (dir)
(directory-files (expand-file-name dir)
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index f0a4870..4ff129e 100644
--- a/lisp/emacs-lisp/shadow.el
+++ b/lisp/emacs-lisp/shadow.el
@@ -99,7 +99,8 @@ See the documentation for `list-load-path-shadows' for
further information."
(setq true-names (append true-names (list dir)))
(setq dir (directory-file-name (or pp ".")))
(setq curr-files (if (file-accessible-directory-p dir)
- (directory-files dir nil ".\\.elc?\\(\\.gz\\)?$"
t)))
+ (directory-files dir nil
+ "\\.elc?\\(?:\\.gz\\)?\\'" t)))
(and curr-files
(not noninteractive)
(message "Checking %d files in %s..." (length curr-files) dir))
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index db8ccbb..41d8fc1 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -921,11 +921,7 @@ is relative to `erc-track-switch-direction'."
(setq offset 0)))
(car (nth offset erc-modified-channels-alist))))
-(defun erc-track-switch-buffer (arg)
- "Switch to the next active ERC buffer, or if there are no active buffers,
-switch back to the last non-ERC buffer visited. Next is defined by
-`erc-track-switch-direction', a negative argument will reverse this."
- (interactive "p")
+(defun erc-track--switch-buffer (fun arg)
(if (not erc-track-mode)
(message (concat "Enable the ERC track module if you want to use the"
" tracking minor mode"))
@@ -934,12 +930,30 @@ switch back to the last non-ERC buffer visited. Next is
defined by
(unless (eq major-mode 'erc-mode)
(setq erc-track-last-non-erc-buffer (current-buffer)))
;; and jump to the next active channel
- (switch-to-buffer (erc-track-get-active-buffer arg)))
+ (funcall fun (erc-track-get-active-buffer arg)))
;; if no active channels, switch back to what we were doing before
((and erc-track-last-non-erc-buffer
- erc-track-switch-from-erc
- (buffer-live-p erc-track-last-non-erc-buffer))
- (switch-to-buffer erc-track-last-non-erc-buffer)))))
+ erc-track-switch-from-erc
+ (buffer-live-p erc-track-last-non-erc-buffer))
+ (funcall fun erc-track-last-non-erc-buffer)))))
+
+(defun erc-track-switch-buffer (arg)
+ "Switch to the next active ERC buffer.
+If there are no active ERC buffers, switch back to the last
+non-ERC buffer visited. The order of buffers is defined by
+`erc-track-switch-direction', and a negative argument will
+reverse it."
+ (interactive "p")
+ (erc-track--switch-buffer 'switch-to-buffer arg))
+
+(defun erc-track-switch-buffer-other-window (arg)
+ "Switch to the next active ERC buffer in another window.
+If there are no active ERC buffers, switch back to the last
+non-ERC buffer visited. The order of buffers is defined by
+`erc-track-switch-direction', and a negative argument will
+reverse it."
+ (interactive "p")
+ (erc-track--switch-buffer 'switch-to-buffer-other-window arg))
(provide 'erc-track)
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 5c63382..cc5226b 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1762,29 +1762,38 @@ nil."
res)))
(define-obsolete-function-alias 'erc-iswitchb 'erc-switch-to-buffer "25.1")
+(defun erc--switch-to-buffer (&optional arg)
+ (read-buffer "Switch to ERC buffer: "
+ (when (boundp 'erc-modified-channels-alist)
+ (buffer-name (caar (last erc-modified-channels-alist))))
+ t
+ ;; Only allow ERC buffers in the same session.
+ (let ((proc (unless arg erc-server-process)))
+ (lambda (bufname)
+ (let ((buf (if (consp bufname)
+ (cdr bufname) (get-buffer bufname))))
+ (when buf
+ (erc--buffer-p buf (lambda () t) proc)
+ (with-current-buffer buf
+ (and (derived-mode-p 'erc-mode)
+ (or (null proc)
+ (eq proc erc-server-process))))))))))
(defun erc-switch-to-buffer (&optional arg)
- "Prompt for a ERC buffer to switch to.
-When invoked with prefix argument, use all erc buffers. Without prefix
-ARG, allow only buffers related to same session server.
+ "Prompt for an ERC buffer to switch to.
+When invoked with prefix argument, use all ERC buffers. Without
+prefix ARG, allow only buffers related to same session server.
If `erc-track-mode' is in enabled, put the last element of
`erc-modified-channels-alist' in front of the buffer list."
(interactive "P")
- (switch-to-buffer
- (read-buffer "Switch to ERC buffer: "
- (when (boundp 'erc-modified-channels-alist)
- (buffer-name (caar (last erc-modified-channels-alist))))
- t
- ;; Only allow ERC buffers in the same session.
- (let ((proc (unless arg erc-server-process)))
- (lambda (bufname)
- (let ((buf (if (consp bufname)
- (cdr bufname) (get-buffer bufname))))
- (when buf
- (erc--buffer-p buf (lambda () t) proc)
- (with-current-buffer buf
- (and (derived-mode-p 'erc-mode)
- (or (null proc)
- (eq proc erc-server-process)))))))))))
+ (switch-to-buffer (erc--switch-to-buffer arg)))
+(defun erc-switch-to-buffer-other-window (&optional arg)
+ "Prompt for an ERC buffer to switch to in another window.
+When invoked with prefix argument, use all ERC buffers. Without
+prefix ARG, allow only buffers related to same session server.
+If `erc-track-mode' is in enabled, put the last element of
+`erc-modified-channels-alist' in front of the buffer list."
+ (interactive "P")
+ (switch-to-buffer-other-window (erc--switch-to-buffer arg)))
(defun erc-channel-list (proc)
"Return a list of channel buffers.
diff --git a/lisp/files.el b/lisp/files.el
index f49be4f..04c271d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2668,7 +2668,7 @@ since only a single case-insensitive search through the
alist is made."
("\\.pas\\'" . pascal-mode)
("\\.\\(dpr\\|DPR\\)\\'" . delphi-mode)
("\\.ad[abs]\\'" . ada-mode)
- ("\\.ad[bs].dg\\'" . ada-mode)
+ ("\\.ad[bs]\\.dg\\'" . ada-mode)
("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode)
("Imakefile\\'" . makefile-imake-mode)
("Makeppfile\\(?:\\.mk\\)?\\'" . makefile-makepp-mode) ; Put this before
.mk
@@ -2819,7 +2819,7 @@
ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|CBR\\|7Z\\)\\'" . archive-mo
("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode)
("\\.toml\\'" . conf-toml-mode)
("\\.desktop\\'" . conf-desktop-mode)
- ("/\\.redshift.conf\\'" . conf-windows-mode)
+ ("/\\.redshift\\.conf\\'" . conf-windows-mode)
("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'"
. conf-space-mode)
("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'"
. conf-mode)
;; ChangeLog.old etc. Other change-log-mode entries are above;
@@ -5753,7 +5753,7 @@ If called interactively, then PARENTS is non-nil."
(write-region "" nil filename nil 0))
(defconst directory-files-no-dot-files-regexp
- "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"
+ "[^.]\\|\\.\\.\\."
"Regexp matching any file name except \".\" and \"..\".")
(defun files--force (no-such fn &rest args)
diff --git a/lisp/finder.el b/lisp/finder.el
index dc14b27..f04d73e 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -188,7 +188,7 @@ from; the default is `load-path'."
;; Allow compressed files also.
(setq package--builtins nil)
(setq finder-keywords-hash (make-hash-table :test 'eq))
- (let* ((el-file-regexp "^\\([^=].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?$")
+ (let* ((el-file-regexp "\\`\\([^=].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?\\'")
(file-count 0)
(files (cl-loop for d in (or dirs load-path)
when (file-exists-p (directory-file-name d))
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index d49193c..cd24f49 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1430,7 +1430,7 @@ like an INI file. You can add this hook to
`find-file-hook'."
"nowait"
"internal")
'(("^\\([-A-Za-z0-9_]+\\)" 1 font-lock-type-face))
- '("/etc/inetd.conf\\'")
+ '("/etc/inetd\\.conf\\'")
(list
(function
(lambda ()
@@ -1630,7 +1630,7 @@ like an INI file. You can add this hook to
`find-file-hook'."
(2 font-lock-variable-name-face)
(3 font-lock-constant-face)))
;; List of additional automode-alist expressions
- '("/etc/named.boot\\'")
+ '("/etc/named\\.boot\\'")
;; List of set up functions to call
nil))
@@ -1667,7 +1667,7 @@ like an INI file. You can add this hook to
`find-file-hook'."
;; List of additional font-lock-expressions
nil
;; List of additional auto-mode-alist expressions
- '("/etc/resolv[e]?.conf\\'")
+ '("/etc/resolve?\\.conf\\'")
;; List of set up functions to call
nil))
@@ -1803,7 +1803,7 @@ like an INI file. You can add this hook to
`find-file-hook'."
;; List of additional font-lock-expressions
nil
;; List of additional automode-alist expressions
- '("/etc/modules.conf" "/etc/conf.modules")
+ '("/etc/modules\\.conf" "/etc/conf\\.modules")
;; List of set up functions to call
nil))
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 80bf21b..1ed5000 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -2074,7 +2074,7 @@ doesn't exist, to valid the overview buffer."
(file-attributes (directory-files-and-attributes
(gnus-agent-article-name
"" gnus-agent-read-agentview)
- nil "^[0-9]+$" t)))
+ nil "\\`[0-9]+\\'" t)))
(while file-attributes
(let ((fa (pop file-attributes)))
(unless (file-attribute-type (cdr fa))
@@ -3850,7 +3850,8 @@ If REREAD is not nil, downloaded articles are marked as
unread."
(sort (delq nil (mapcar (lambda (name)
(and (not
(file-directory-p (nnheader-concat dir name)))
(string-to-number
name)))
- (directory-files dir nil
"^[0-9]+$" t)))
+ (directory-files
+ dir nil "\\`[0-9]+\\'" t)))
'>)
(progn (gnus-make-directory dir) nil)))
nov-arts
@@ -4110,7 +4111,7 @@ agent has fetched."
(setq delta sum))
(let ((sum (- (nth 2 entry)))
(info (directory-files-and-attributes
- path nil "^-?[0-9]+$" t))
+ path nil "\\`-?[0-9]+\\'" t))
file)
(while (setq file (pop info))
(cl-incf sum (float (or (file-attribute-size (cdr file)) 0))))
diff --git a/lisp/gnus/gnus-cache.el b/lisp/gnus/gnus-cache.el
index 8b9acfe..02a8ea7 100644
--- a/lisp/gnus/gnus-cache.el
+++ b/lisp/gnus/gnus-cache.el
@@ -501,7 +501,7 @@ Returns the list of articles removed."
(when (file-exists-p dir)
(setq articles
(sort (mapcar (lambda (name) (string-to-number name))
- (directory-files dir nil "^[0-9]+$" t))
+ (directory-files dir nil "\\`[0-9]+\\'" t))
'<))
;; Update the cache active file, just to synch more.
(if articles
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 41b63e2..46b70ea 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -2981,7 +2981,7 @@ The list is determined from the variable
`gnus-score-file-alist'."
(if (file-directory-p (car files))
(setq out (nconc (directory-files
(car files) t
- (concat (gnus-score-file-regexp) "$"))))
+ (concat (gnus-score-file-regexp) "\\'"))))
(push (car files) out))
(setq files (cdr files)))
(setq gnus-internal-global-score-files out)))
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 83a8516..f0d328d 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -768,7 +768,7 @@ nil. See also `gnus-bind-print-variables'."
If there's no subdirectory, delete DIRECTORY as well."
(when (file-directory-p directory)
(let ((files (directory-files
- directory t "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))
+ directory t (rx (or (not ".") "..."))))
file dir)
(while files
(setq file (pop files))
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index 4037221..af37df0 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -1674,7 +1674,7 @@ Gnus might fail to display all of it.")
did-unpack))
(defun gnus-uu-dir-files (dir)
- (let ((dirs (directory-files dir t "[^/][^\\.][^\\.]?$"))
+ (let ((dirs (directory-files dir t (rx (or (not ".") "..."))))
files file)
(while dirs
(if (file-directory-p (setq file (car dirs)))
diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el
index e5dda99..a3c26ea 100644
--- a/lisp/gnus/nndraft.el
+++ b/lisp/gnus/nndraft.el
@@ -219,7 +219,7 @@ are generated if and only if they are also in
`message-draft-headers'."
(nnheader-re-read-dir pathname)
(setq dir (mapcar (lambda (name) (string-to-number (substring name 1)))
(ignore-errors (directory-files
- pathname nil "^#[0-9]+#$" t))))
+ pathname nil "\\`#[0-9]+#\\'" t))))
(dolist (n dir)
(unless (file-exists-p
(setq file (expand-file-name (int-to-string n) pathname)))
diff --git a/lisp/gnus/nnmh.el b/lisp/gnus/nnmh.el
index d2f63bd..581a408 100644
--- a/lisp/gnus/nnmh.el
+++ b/lisp/gnus/nnmh.el
@@ -172,7 +172,7 @@ as unread by Gnus.")
(setq dir
(sort
(mapcar 'string-to-number
- (directory-files pathname nil "^[0-9]+$" t))
+ (directory-files pathname nil "\\`[0-9]+\\'" t))
'<))
(cond
(dir
@@ -360,7 +360,7 @@ as unread by Gnus.")
(nnmh-possibly-change-directory group server)
(let ((articles (mapcar 'string-to-number
(directory-files
- nnmh-current-directory nil "^[0-9]+$"))))
+ nnmh-current-directory nil "\\`[0-9]+\\'"))))
(when articles
(setcar active (apply 'min articles))
(setcdr active (apply 'max articles))))))
@@ -371,7 +371,7 @@ as unread by Gnus.")
;; Delete all articles in GROUP.
(if (not force)
() ; Don't delete the articles.
- (let ((articles (directory-files nnmh-current-directory t "^[0-9]+$")))
+ (let ((articles (directory-files nnmh-current-directory t "\\`[0-9]+\\'")))
(while articles
(when (file-writable-p (car articles))
(nnheader-message 5 "Deleting article %s in %s..."
@@ -485,7 +485,7 @@ as unread by Gnus.")
;; Find the highest number in the group.
(let ((files (sort
(mapcar 'string-to-number
- (directory-files dir nil "^[0-9]+$"))
+ (directory-files dir nil "\\`[0-9]+\\'"))
'>)))
(when files
(setcdr active (car files)))))
@@ -509,7 +509,7 @@ as unread by Gnus.")
(let* ((dir nnmh-current-directory)
(files (sort (mapcar 'string-to-number
(directory-files nnmh-current-directory
- nil "^[0-9]+$" t))
+ nil "\\`[0-9]+\\'" t))
'<))
(nnmh-file (concat dir ".nnmh-articles"))
new articles)
diff --git a/lisp/gnus/nnspool.el b/lisp/gnus/nnspool.el
index da13a56..33b68fa 100644
--- a/lisp/gnus/nnspool.el
+++ b/lisp/gnus/nnspool.el
@@ -260,7 +260,7 @@ there.")
t)
;; Yes, completely empty spool directories *are* possible.
;; Fix by Sudish Joseph <address@hidden>
- (when (setq dir (directory-files pathname nil "^[0-9]+$" t))
+ (when (setq dir (directory-files pathname nil "\\`[0-9]+\\'" t))
(setq dir (sort (mapcar 'string-to-number dir) '<)))
(if dir
(nnheader-insert
diff --git a/lisp/gnus/spam-stat.el b/lisp/gnus/spam-stat.el
index 2e03608..3da45a2 100644
--- a/lisp/gnus/spam-stat.el
+++ b/lisp/gnus/spam-stat.el
@@ -557,7 +557,7 @@ check the variable `spam-stat-score-data'."
(defun spam-stat-process-directory (dir func)
"Process all the regular files in directory DIR using function FUNC."
- (let* ((files (directory-files dir t "^[^.]"))
+ (let* ((files (directory-files dir t "\\`[^.]"))
(max (/ (length files) 100.0))
(count 0))
(with-temp-buffer
@@ -601,7 +601,7 @@ If VERBOSE is non-nil display names of files detected as
spam or
non-spam in a temporary buffer. If it is the symbol `ham',
display non-spam files; otherwise display spam files."
(interactive "DDirectory: ")
- (let* ((files (directory-files dir t "^[^.]"))
+ (let* ((files (directory-files dir t "\\`[^.]"))
display-files
buffer-score
(total (length files))
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index cc00c72..0a99b8d 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -623,7 +623,7 @@ FILE is the file where FUNCTION was probably defined."
;; of the *packages* in which the function is defined.
(let* ((name (symbol-name symbol))
(re (concat "\\_<" (regexp-quote name) "\\_>"))
- (news (directory-files data-directory t "\\`NEWS.[1-9]"))
+ (news (directory-files data-directory t "\\`NEWS\\.[1-9]"))
(place nil)
(first nil))
(with-temp-buffer
diff --git a/lisp/help.el b/lisp/help.el
index e40ed47..b7d867e 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -361,7 +361,7 @@ With argument, display info only for the selected version."
(setq res (cons (match-string-no-properties 1) res)))))
(cons "NEWS"
(directory-files data-directory nil
- "^NEWS\\.[0-9][-0-9]*$" nil)))
+ "\\`NEWS\\.[0-9][-0-9]*\\'" nil)))
(sort (delete-dups res) #'string>)))
(current (car all-versions)))
(setq version (completing-read
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 193b1d7..3299cc5 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -3059,7 +3059,7 @@ of each directory."
(while quail-dirs
(setq dirname (car quail-dirs))
(when dirname
- (setq pkg-list (directory-files dirname 'full "\\.el$"))
+ (setq pkg-list (directory-files dirname 'full "\\.el\\'"))
(while pkg-list
(with-temp-buffer
(insert-file-contents (car pkg-list))
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index eec20ee..a6dcd02 100644
--- a/lisp/international/titdic-cnv.el
+++ b/lisp/international/titdic-cnv.el
@@ -553,7 +553,7 @@ To get complete usage, invoke \"emacs -batch -f
batch-titdic-convert -h\"."
(if (file-directory-p filename)
(progn
(message "Converting all tit files in the directory %s" filename)
- (setq files (directory-files filename t "\\.tit$")))
+ (setq files (directory-files filename t "\\.tit\\'")))
(setq files (list filename)))
(while files
(setq file (expand-file-name (car files)))
diff --git a/lisp/mail/mspools.el b/lisp/mail/mspools.el
index 9c0c3fe..94b0886 100644
--- a/lisp/mail/mspools.el
+++ b/lisp/mail/mspools.el
@@ -223,7 +223,7 @@ your primary spool is. If this fails, set it to something
like
;; So I create a vm-spool-files entry for each of those mail drops
(mapcar 'file-name-sans-extension
(directory-files mspools-folder-directory nil
- (format "^[^.]+\\.%s" mspools-suffix)))
+ (format "\\`[^.]+\\.%s" mspools-suffix)))
))
))
@@ -357,7 +357,7 @@ nil."
(if (null mspools-folder-directory)
(error "Set `mspools-folder-directory' to where the spool files are"))
(setq folders (directory-files mspools-folder-directory nil
- (format "^[^.]+\\.%s$" mspools-suffix)))
+ (format "\\`[^.]+\\.%s\\'" mspools-suffix)))
(setq folders (mapcar 'mspools-size-folder folders))
(setq folders (delq nil folders))
(setq mspools-files folders)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 40d3470..44cde7c 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -474,7 +474,7 @@ the frame where you have the RMAIL buffer displayed."
:type 'directory
:group 'rmail-files)
;;;###autoload
-(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail$")
+(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail\\'")
"Regexp for which files are secondary Rmail files."
:type 'regexp
:group 'rmail-files)
@@ -4364,7 +4364,8 @@ This has an effect only if a summary buffer exists."
(font-lock-fontify-region (point-min) (point-max)))))))
;;; Speedbar support for RMAIL files.
-(defcustom rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$"
+(defcustom rmail-speedbar-match-folder-regexp
+ "\\`[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?\\'"
"Regexp matching Rmail folder names to be displayed in Speedbar.
Enabling this permits Speedbar to display your folders for easy
browsing, and moving of messages."
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index e2d4d7d..bf20128 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -4170,8 +4170,7 @@ directory, so that Emacs will know its current contents."
(ange-ftp-delete-directory file recursive trash)
(delete-file file trash)))
;; We do not want to delete "." and "..".
- (directory-files
- dir 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
+ (directory-files dir 'full (rx (or (not ".") "...")))))
(if parsed
(let* ((host (nth 0 parsed))
(user (nth 1 parsed))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index a16085d..c8fdc5d 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2464,7 +2464,7 @@ remote file names."
(regexp-opt
(mapcar
#'file-name-sans-extension
- (directory-files dir nil "^tramp.+\\.elc?$"))
+ (directory-files dir nil "\\`tramp.+\\.elc?\\'"))
'paren))))
(mapatoms
(lambda (atom)
diff --git a/lisp/obsolete/gulp.el b/lisp/obsolete/gulp.el
index 6589ede..08ab388 100644
--- a/lisp/obsolete/gulp.el
+++ b/lisp/obsolete/gulp.el
@@ -94,7 +94,7 @@ is left in the `*gulp*' buffer at the end."
(interactive "DRequest updates for Lisp directory: \nP")
(with-current-buffer (get-buffer-create gulp-tmp-buffer)
(let ((m-p-alist (gulp-create-m-p-alist
- (directory-files dir nil "^[^=].*\\.el$" t)
+ (directory-files dir nil "\\`[^=].*\\.el\\'" t)
dir))
;; Temporarily inhibit undo in the *gulp* buffer.
(buffer-undo-list t)
diff --git a/lisp/obsolete/vc-arch.el b/lisp/obsolete/vc-arch.el
index b186a5c..bcdefac 100644
--- a/lisp/obsolete/vc-arch.el
+++ b/lisp/obsolete/vc-arch.el
@@ -597,18 +597,20 @@ CALLBACK expects (ENTRIES &optional MORE-TO-COME); see
(unless (file-writable-p rl-dir)
(error "No writable revlib directory found"))
(message "Revlib at %s" rl-dir)
- (let* ((archives (directory-files rl-dir 'full "[^.]\\|..."))
+ (let* ((archives (directory-files rl-dir 'full (rx (or (not ".") "..."))))
(categories
(apply 'append
(mapcar (lambda (dir)
(when (file-directory-p dir)
- (directory-files dir 'full "[^.]\\|...")))
+ (directory-files dir 'full
+ (rx (or (not ".") "...")))))
archives)))
(branches
(apply 'append
(mapcar (lambda (dir)
(when (file-directory-p dir)
- (directory-files dir 'full "[^.]\\|...")))
+ (directory-files dir 'full
+ (rx (or (not ".") "...")))))
categories)))
(versions
(apply 'append
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el
index a5ad97a..debc27c 100644
--- a/lisp/org/ob-core.el
+++ b/lisp/org/ob-core.el
@@ -3055,7 +3055,7 @@ of `org-babel-temporary-directory'."
(delete-file file)))
;; We do not want to delete "." and "..".
(directory-files org-babel-temporary-directory 'full
- "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))
+ (rx (or (not ".") "..."))))
(delete-directory org-babel-temporary-directory))
(error
(message "Failed to remove temporary Org-babel directory %s"
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index f7ac9d3..28e7667 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -1883,7 +1883,7 @@ It's only used when `ebnf-syntax' is `iso-ebnf'."
:group 'ebnf-syntactic)
-(defcustom ebnf-file-suffix-regexp "\\.[Bb][Nn][Ff]$"
+(defcustom ebnf-file-suffix-regexp "\\.[Bb][Nn][Ff]\\'"
"Specify file name suffix that contains EBNF.
See `ebnf-eps-directory' command."
@@ -2715,7 +2715,7 @@ Used in functions `ebnf-reset-style', `ebnf-push-style'
and
(ebnf-syntax . 'ebnf)
(ebnf-iso-alternative-p . nil)
(ebnf-iso-normalize-p . nil)
- (ebnf-file-suffix-regexp . "\\.[Bb][Nn][Ff]$")
+ (ebnf-file-suffix-regexp . "\\.[Bb][Nn][Ff]\\'")
(ebnf-eps-prefix . "ebnf--")
(ebnf-eps-header-font . '(11 Helvetica "Black" "White" bold))
(ebnf-eps-header . nil)
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index b42e6f7..bae2bb6 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -155,7 +155,7 @@ See `compilation-error-regexp-alist'.")
If PROGRAM is non-nil, use that instead of \"find\"."
;; Pick file to search from location we know
(let* ((dir (file-truename data-directory))
- (file (car (directory-files dir nil "^[^.]"))))
+ (file (car (directory-files dir nil "\\`[^.]"))))
(with-temp-buffer
(call-process (or program "find")
nil
diff --git a/lisp/simple.el b/lisp/simple.el
index 7c8ac41..abf5ee2 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -5146,10 +5146,11 @@ property, in the way that `yank' does."
(defun yank (&optional arg)
"Reinsert (\"paste\") the last stretch of killed text.
-More precisely, reinsert the most recent kill, which is the
-stretch of killed text most recently killed OR yanked. Put point
-at the end, and set mark at the beginning without activating it.
-With just \\[universal-argument] as argument, put point at beginning, and mark
at end.
+More precisely, reinsert the most recent kill, which is the stretch of
+text most recently killed OR yanked, as returned by `current-kill' (which
+see). Put point at the end, and set mark at the beginning without
+activating it. With just \\[universal-argument] as argument, put point
+at beginning, and mark at end.
With argument N, reinsert the Nth most recent kill.
This command honors the `yank-handled-properties' and
diff --git a/lisp/startup.el b/lisp/startup.el
index 1f545c6..5af264e 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1373,10 +1373,10 @@ please check its value")
((not (eq system-type 'windows-nt))
(concat "~" init-file-user "/.emacs"))
;; Else deal with the Windows situation.
- ((directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$")
+ ((directory-files "~" nil "\\`\\.emacs\\(\\.elc?\\)?\\'")
;; Prefer .emacs on Windows.
"~/.emacs")
- ((directory-files "~" nil "^_emacs\\(\\.elc?\\)?$")
+ ((directory-files "~" nil "\\`_emacs\\(\\.elc?\\)?\\'")
;; Also support _emacs for compatibility, but warn about it.
(push `(initialization
,(format-message
diff --git a/lisp/textmodes/refer.el b/lisp/textmodes/refer.el
index 2865b42..8d8223a 100644
--- a/lisp/textmodes/refer.el
+++ b/lisp/textmodes/refer.el
@@ -377,7 +377,7 @@ found on the last `refer-find-entry' or
`refer-find-next-entry'."
dir files)
(while (setq dir (car dirs))
(setq files
- (append (directory-files dir t "\\.bib$")
+ (append (directory-files dir t "\\.bib\\'")
files))
(setq dirs (cdr dirs)))
files))
diff --git a/lisp/url/url-about.el b/lisp/url/url-about.el
index 59c233b..5fe817c 100644
--- a/lisp/url/url-about.el
+++ b/lisp/url/url-about.el
@@ -37,7 +37,7 @@
(mapc (lambda (f)
(if (string-match "url-\\(.*\\).el$" f)
(push (match-string 1 f) schemes)))
- (directory-files d nil "^url-.*\\.el$")))
+ (directory-files d nil "\\`url-.*\\.el\\'")))
load-path)
(put 'url-extension-protocols 'schemes schemes)
schemes)))))
diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el
index 00796e5..273f37c 100644
--- a/lisp/vc/vc-rcs.el
+++ b/lisp/vc/vc-rcs.el
@@ -247,7 +247,7 @@ to the RCS command."
(setq subdir (expand-file-name "RCS"
(file-name-directory file)))))
(not (directory-files (file-name-directory file)
- nil ".*,v$" t))
+ nil ",v\\'" t))
(yes-or-no-p "Create RCS subdirectory? ")
(make-directory subdir))
(apply #'vc-do-command "*vc*" 0 "ci" file
@@ -312,8 +312,7 @@ whether to remove it."
(and (string= (file-name-nondirectory (directory-file-name dir)) "RCS")
;; check whether RCS dir is empty, i.e. it does not
;; contain any files except "." and ".."
- (not (directory-files dir nil
- "^\\([^.]\\|\\.[^.]\\|\\.\\.[^.]\\).*"))
+ (not (directory-files dir nil (rx (or (not ".") "..."))))
(yes-or-no-p (format "Directory %s is empty; remove it? " dir))
(delete-directory dir)))))
diff --git a/src/nsterm.m b/src/nsterm.m
index 3ce2233..2f181ea 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5837,6 +5837,21 @@ ns_term_shutdown (int sig)
#endif
#ifdef NS_IMPL_COCOA
+ /* Some functions/methods in CoreFoundation/Foundation increase the
+ maximum number of open files for the process in their first call.
+ We make dummy calls to them and then reduce the resource limit
+ here, since pselect cannot handle file descriptors that are
+ greater than or equal to FD_SETSIZE. */
+ CFSocketGetTypeID ();
+ CFFileDescriptorGetTypeID ();
+ [[NSFileHandle alloc] init];
+ struct rlimit rlim;
+ if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+ && rlim.rlim_cur > FD_SETSIZE)
+ {
+ rlim.rlim_cur = FD_SETSIZE;
+ setrlimit (RLIMIT_NOFILE, &rlim);
+ }
if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) {
/* Set the app's activation policy to regular when we run outside
of a bundle. This is already done for us by Info.plist when we
diff --git a/test/lisp/net/tramp-archive-tests.el
b/test/lisp/net/tramp-archive-tests.el
index b3fc129..8c75d91 100644
--- a/test/lisp/net/tramp-archive-tests.el
+++ b/test/lisp/net/tramp-archive-tests.el
@@ -668,7 +668,7 @@ This tests also `access-file', `file-readable-p' and
`file-regular-p'."
(setq attr (directory-files-and-attributes tmp-name 'full))
(dolist (elt attr)
(should (equal (file-attributes (car elt)) (cdr elt))))
- (setq attr (directory-files-and-attributes tmp-name nil "^b"))
+ (setq attr (directory-files-and-attributes tmp-name nil "\\`b"))
(should (equal (mapcar #'car attr) '("bar"))))
;; Cleanup.
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 7db9ad4..4966825 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -3350,7 +3350,7 @@ They might differ only in time attributes or directory
size."
(tramp--test-file-attributes-equal-p
(file-attributes (car elt)) (cdr elt))))
- (setq attr (directory-files-and-attributes tmp-name2 nil "^b"))
+ (setq attr (directory-files-and-attributes tmp-name2 nil "\\`b"))
(should (equal (mapcar #'car attr) '("bar" "boz"))))
;; Cleanup.