aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2020-04-15 07:50:15 -0700
committerGlenn Morris2020-04-15 07:50:15 -0700
commit97e48510ad4fec9ca5f576a750018a231523f7a6 (patch)
tree06f50ebc5da12038bc4851b44946462a498ac755
parentafa542c914379538f986f1428f176ffe42f62609 (diff)
parenta5f7c269075180e4531f0a784201a09b49731a27 (diff)
downloademacs-97e48510ad4fec9ca5f576a750018a231523f7a6.tar.gz
emacs-97e48510ad4fec9ca5f576a750018a231523f7a6.zip
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
-rw-r--r--ChangeLog.31090
-rw-r--r--admin/authors.el13
-rw-r--r--doc/lispref/windows.texi39
-rw-r--r--etc/AUTHORS108
-rw-r--r--etc/NEWS.2710
-rw-r--r--lisp/auth-source-pass.el2
-rw-r--r--lisp/calendar/todo-mode.el14
-rw-r--r--lisp/cedet/semantic/db-ebrowse.el4
-rw-r--r--lisp/cedet/semantic/texi.el2
-rw-r--r--lisp/cedet/srecode/map.el2
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/emacs-lisp/autoload.el2
-rw-r--r--lisp/emacs-lisp/shadow.el3
-rw-r--r--lisp/erc/erc-track.el32
-rw-r--r--lisp/erc/erc.el47
-rw-r--r--lisp/files.el6
-rw-r--r--lisp/finder.el2
-rw-r--r--lisp/generic-x.el8
-rw-r--r--lisp/gnus/gnus-agent.el7
-rw-r--r--lisp/gnus/gnus-cache.el2
-rw-r--r--lisp/gnus/gnus-score.el2
-rw-r--r--lisp/gnus/gnus-util.el2
-rw-r--r--lisp/gnus/gnus-uu.el2
-rw-r--r--lisp/gnus/nndraft.el2
-rw-r--r--lisp/gnus/nnmh.el10
-rw-r--r--lisp/gnus/nnspool.el2
-rw-r--r--lisp/gnus/spam-stat.el4
-rw-r--r--lisp/help-fns.el2
-rw-r--r--lisp/help.el2
-rw-r--r--lisp/international/quail.el2
-rw-r--r--lisp/international/titdic-cnv.el2
-rw-r--r--lisp/mail/mspools.el4
-rw-r--r--lisp/mail/rmail.el5
-rw-r--r--lisp/net/ange-ftp.el3
-rw-r--r--lisp/net/tramp.el2
-rw-r--r--lisp/obsolete/gulp.el2
-rw-r--r--lisp/obsolete/vc-arch.el8
-rw-r--r--lisp/org/ob-core.el2
-rw-r--r--lisp/progmodes/ebnf2ps.el4
-rw-r--r--lisp/progmodes/executable.el2
-rw-r--r--lisp/simple.el9
-rw-r--r--lisp/startup.el4
-rw-r--r--lisp/textmodes/refer.el2
-rw-r--r--lisp/url/url-about.el2
-rw-r--r--lisp/vc/vc-rcs.el5
-rw-r--r--src/nsterm.m15
-rw-r--r--test/lisp/net/tramp-archive-tests.el2
-rw-r--r--test/lisp/net/tramp-tests.el2
48 files changed, 1327 insertions, 173 deletions
diff --git a/ChangeLog.3 b/ChangeLog.3
index fc41c1f7dc3..c5bc7b3120d 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -1,3 +1,1091 @@
12020-04-14 Mattias EngdegÄrd <mattiase@acm.org>
2
3 Fix edge case errors in filename-matching regexps
4
5 These changes fix actual or latent bugs in regexps that match
6 file names, such as PATTERN arguments to 'directory-files'. See
7 https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html
8
9 * admin/authors.el (authors-obsolete-files-regexps)
10 (authors-renamed-files-regexps):
11 * lisp/auth-source-pass.el (auth-source-pass-entries):
12 * lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file)
13 (todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string)
14 (todo-reset-comment-string, todo-reset-highlight-item):
15 * lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
16 * lisp/cedet/semantic/texi.el (semantic-texi-associated-files):
17 * lisp/cedet/srecode/map.el (srecode-map-update-map):
18 * lisp/dired.el (dired-re-no-dot):
19 * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
20 * lisp/emacs-lisp/shadow.el (load-path-shadows-find):
21 * lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp):
22 * lisp/finder.el (finder-compile-keywords):
23 * lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode)
24 (resolve-conf-generic-mode, etc-modules-conf-generic-mode):
25 * lisp/gnus/gnus-agent.el (gnus-agent-read-agentview)
26 (gnus-agent-regenerate-group, gnus-agent-update-files-total-fetched-for):
27 * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group):
28 * lisp/gnus/gnus-score.el (gnus-score-search-global-directories):
29 * lisp/gnus/gnus-util.el (gnus-delete-directory):
30 * lisp/gnus/gnus-uu.el (gnus-uu-dir-files):
31 * lisp/gnus/nndraft.el (nndraft-request-group):
32 * lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group):
33 (nnmh-request-delete-group, nnmh-active-number, nnmh-update-gnus-unreads):
34 * lisp/gnus/nnspool.el (nnspool-request-group):
35 * lisp/gnus/spam-stat.el (spam-stat-process-directory)
36 (spam-stat-test-directory):
37 * lisp/help-fns.el (help-fns--first-release):
38 * lisp/help.el (view-emacs-news):
39 * lisp/international/quail.el (quail-update-leim-list-file):
40 * lisp/international/titdic-cnv.el (batch-titdic-convert):
41 * lisp/mail/mspools.el (mspools-set-vm-spool-files)
42 (mspools-get-spool-files):
43 * lisp/mail/rmail.el (rmail-secondary-file-regexp)
44 (rmail-speedbar-match-folder-regexp):
45 * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
46 * lisp/net/tramp.el (tramp-use-absolute-autoload-file-names):
47 * lisp/obsolete/gulp.el (gulp-send-requests):
48 * lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
49 * lisp/org/ob-core.el (org-babel-remove-temporary-directory):
50 * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp, ebnf-style-database):
51 * lisp/progmodes/executable.el (executable-command-find-posix-p):
52 * lisp/startup.el (command-line):
53 * lisp/textmodes/refer.el (refer-get-bib-files):
54 * lisp/url/url-about.el (url-probe-protocols):
55 * lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister):
56 * test/lisp/net/tramp-archive-tests.el
57 (tramp-archive-test19-directory-files-and-attributes):
58 * test/lisp/net/tramp-tests.el (tramp-test19-directory-files-and-attributes):
59 Replace ^ and $ with \` and \', respectively.
60 Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.",
61 to match anything but "." and "..", instead of several incorrect
62 regexps.
63
642020-04-14 Eli Zaretskii <eliz@gnu.org>
65
66 Clarify the doc string of 'yank'
67
68 * lisp/simple.el (yank): Mention 'current-kill' in the doc string,
69 so that people could find all the gory details of what is "the most
70 recent kill" for this purpose. (Bug#40375)
71
722020-04-14 Amin Bandali <bandali@gnu.org>
73
74 New function erc-track-switch-buffer-other-window
75
76 * lisp/erc/erc-track.el (erc-track-switch-buffer): Factor out the
77 implementation from here ...
78 (erc-track--switch-buffer): ... to here.
79 (erc-track-switch-buffer-other-window): New function, like
80 `erc-track-switch-buffer', but uses `switch-to-buffer-other-window'
81 instead, to open the buffer in another window.
82
832020-04-14 Amin Bandali <bandali@gnu.org>
84
85 New function erc-switch-to-buffer-other-window
86
87 * lisp/erc/erc.el (erc-switch-to-buffer): Factor out the buffer choice
88 implementation from here ...
89 (erc--switch-to-buffer): ... to here.
90 (erc-switch-to-buffer-other-window): New function, like
91 `erc-switch-to-buffer', but uses `switch-to-buffer-other-window'
92 instead, to open the buffer in another window.
93
942020-04-13 Ơtěpán Němec <stepnem@gmail.com>
95
96 Clarify documentation on inhibit-modification-hooks intended usage
97
98 Cf. bug#40332 and the discussion at
99 https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00921.html
100
101 * doc/lispref/text.texi (Change Hooks):
102 * src/insdel.c (syms_of_insdel): Clarify the intended usage of
103 'inhibit-modification-hooks'.
104
1052020-04-13 Ơtěpán Němec <stepnem@gmail.com>
106
107 gnus-shorten-url: Improve and avoid args-out-of-range error
108
109 'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored
110 fragment identifiers and didn't check substring bounds, in some cases
111 leading to runtime errors, e.g.:
112
113 (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40)
114 ;; => Lisp error: (args-out-of-range "/path/and" -18 nil)
115
116 This commit makes it account for #fragments and fixes faulty string
117 computation. (bug#39980)
118
119 Do not merge to master, where the helper is put to subr-x.el.
120
121 * lisp/gnus/gnus-sum.el (gnus--string-truncate-left): New helper
122 function (copied from 'ediff-truncate-string-left').
123 (gnus-shorten-url): Use it and don't drop #fragments.
124
1252020-04-13 Eli Zaretskii <eliz@gnu.org>
126
127 Minor wording change in Introduction to Programming in Emacs Lisp
128
129 * doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Mention
130 that dynamic scoping is only the default in Emacs Lisp, not the
131 only scoping rule. (Bug#40594)
132
1332020-04-13 Eli Zaretskii <eliz@gnu.org>
134
135 Fix 'flymake-show-diagnostics-buffer' when line numbers are displayed
136
137 * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
138 Do nothing if 'flymake--diagnostics-buffer-source' is not a
139 buffer. (Bug#40529)
140
1412020-04-12 Eli Zaretskii <eliz@gnu.org>
142
143 Fix last changes describing mail commands
144
145 * doc/emacs/sending.texi (Sending Mail): Fix the description of
146 the behavior of 'C-x m' without prefix argument. (Bug#40561)
147
1482020-04-12 JoĂŁo TĂĄvora <joaotavora@gmail.com>
149
150 Do setup Flymake in file-less Elisp buffers
151
152 (Bug#40573)
153
154 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Change
155 condition for setting flymake-diagnostic-functions.
156
1572020-04-12 Philipp Stephani <phst@google.com>
158
159 Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)
160
161 * lisp/emacs-lisp/cl-macs.el (cl-struct-unknown-slot): Remove spurious
162 format specifiers.
163
1642020-04-12 Eli Zaretskii <eliz@gnu.org>
165
166 Fix and improve documentation of mail-related features
167
168 * lisp/simple.el (compose-mail): Clarify the effect of the
169 CONTINUE argument.
170 * lisp/mail/sendmail.el (mail-from-style): Update the RFC value in
171 the obsolescence warning text.
172
173 * doc/emacs/sending.texi (Sending Mail): Fix the description of
174 the behavior of 'C-x m' wrt prefix argument.
175 (Mail Headers): Remove the description of 'mail-from-style'.
176
177 * etc/NEWS: Mention that 'mail-from-style' is obsolete.
178
179 (Bug#40561)
180
1812020-04-12 Martin Rudalics <rudalics@gmx.at>
182
183 Fix build failure with Fx_gtk_debug
184
185 * src/xfns.c (Fx_gtk_debug, Sx_gtk_debug): Define only for GTK
186 versions >= 3.14.0 so gtk_window_set_interactive_debugging is
187 defined. Reported by Andreas Schwab <schwab@linux-m68k.org>.
188
1892020-04-11 Alan Mackenzie <acm@muc.de>
190
191 Mention jit-lock deferred as an alternative to fast-but-imprecise-scrolling
192
193 * doc/emacs/display.texi (Scrolling): Add a paragraph on using jit-lock
194 deferred fontification as a way of obviating Emacs hanging after
195 auto-repeated scrolling.
196
1972020-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
198
199 * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :key-sequence
200
201 Don't make it sound like `:key-sequence nil` is any different than the
202 absence of `:key-sequence`. And the performance advantage of
203 `:key-sequence` disappeared long ago.
204
2052020-04-10 Eli Zaretskii <eliz@gnu.org>
206
207 Fix redisplay when scrolling under redisplay-dont-pause
208
209 * src/dispnew.c (update_window): Reset the window's
210 'must_be_updated_p' flag if the window's update was completed
211 without interruption. This fixes redisplay glitches when
212 'redisplay-dont-pause' is nil, at least on MS-Windows, because
213 'expose_window' doesn't redraw the exposed rectangle when the
214 window's 'must_be_updated_p' flag is set.
215
2162020-04-09 Eli Zaretskii <eliz@gnu.org>
217
218 Fix face extension in pulse.el
219
220 * lisp/cedet/pulse.el (pulse-reset-face): Propagate the :extend
221 attribute of FACE to the face used for displaying the pulse.
222 Reported by Adam Porter <adam@alphapapa.net>.
223
2242020-04-09 Michael Albinus <michael.albinus@gmx.de>
225
226 * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in traces.
227
2282020-04-09 Eli Zaretskii <eliz@gnu.org>
229
230 Avoid assertion violation in intervals.c
231
232 * src/intervals.c (delete_interval): Allow negative values of
233 LENGTH (i). This happens when delete_interval is called from
234 set_intervals_multibyte_1, because the caller zeroes out the
235 total_length field of the interval to be deleted. See
236 https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00131.html
237 for more details. See also a related old discussion at
238 https://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00399.html.
239
2402020-04-08 Eli Zaretskii <eliz@gnu.org>
241
242 Improve documentation of 'jit-lock-contextually'
243
244 * lisp/jit-lock.el (jit-lock-contextually): Clarify the jit-lock
245 operation when 'jit-lock-contextually' is non-nil and non-t.
246
247 * doc/lispref/modes.texi (Syntactic Font Lock)
248 (Other Font Lock Variables): Document the relation between
249 'jit-lock-register', 'font-lock-keywords-only', and syntactic
250 refontification.
251
2522020-04-08 Dmitry Gutov <dgutov@yandex.ru>
253
254 Speed up 'resize-mode' child frames a little
255
256 * src/gtkutil.c (xg_frame_set_char_size): Skip resizing if the
257 target dimensions are unchanged for child frames with
258 'resize-mode' resize policy as well.
259
2602020-04-06 Martin Rudalics <rudalics@gmx.at>
261
262 Fix some problems with moving and resizing child frames
263
264 (1) Provide new option 'x-gtk-resize-child-frames' which allows
265 to either hide a child frame during resizing or asks GTK to
266 resize it "immediately". This is needed because desktops like
267 GNOME shell otherwise won't allow resizing child frames at all.
268 (2) Do not try to synchronize the position of a child frame
269 after moving it. Needed because the present implementation
270 introduces a 0.5 secs delay which makes dragging child frames
271 virtually impossible with Lucid and Motif toolkits on desktops
272 like GNOME shell that use invisible outer frame borders.
273
274 For further information see the thread starting with
275 https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00343.html
276
277 * src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4.
278 * src/gtkutil.c (xg_frame_set_char_size): Hide child frame
279 during resizing when 'x-gtk-resize-child-frames' equals 'hide'.
280 * src/xfns.c (x_set_parent_frame, Fx_create_frame): Set
281 gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child
282 frames when'x-gtk-resize-child-frames' equals 'resize-mode'.
283 (Fx_gtk_debug): New function to toggle interactive GTK debugging
284 from within Emacs.
285 (syms_of_xfns): New symbols Qhide and Qresize_mode.
286 (x-gtk-resize-child-frames): New option that allows to resize
287 child frames on desktops like GNOME shell (with the mutter WM)
288 that otherwise refuse to resize them.
289 * src/xterm.c (x_set_offset): Don't x_sync_with_move for child
290 frames, it makes moving child frames virtually impossible with
291 the Lucid and Motif toolkits.
292
2932020-04-05 Philipp Stephani <phst@google.com>
294
295 Fix syntax error in man page.
296
297 * doc/man/emacs.1.in: Fix syntax of --script argument. The Info
298 manual states that --script has to be followed by a space, and the
299 syntax with the equals sign doesn't actually work.
300
3012020-04-05 Noam Postavsky <npostavs@gmail.com>
302
303 Handle filling of indented ChangeLog function entries
304
305 * lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
306 recognize function entries with leading blanks.
307 * test/lisp/vc/log-edit-tests.el: New test.
308
3092020-04-05 Noam Postavsky <npostavs@gmail.com>
310
311 Fix void-variable n-reb in re-builder (Bug#40409)
312
313 * lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of
314 the counter instead of its name.
315 (reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and
316 don't wrongly treat it as dynamicly bound.
317
3182020-04-03 Philipp Stephani <phst@google.com>
319
320 Fix small bug in copy_string_contents.
321
322 * src/emacs-module.c (module_copy_string_contents): Fix incorrect
323 variable use. In this branch 'lisp_str_utf8' is always nil, so it
324 makes little sense to add it as error data.
325
3262020-04-03 Eli Zaretskii <eliz@gnu.org>
327
328 Fix invocations of gpg from Gnus
329
330 * lisp/epg-config.el (epg-config--make-gpg-configuration): Bind
331 coding-system-for-read/write to 'undecided', to countermand
332 possible values of 'no-conversion' or somesuch by the callers.
333 (Bug#40248)
334
3352020-04-03 Martin Rudalics <rudalics@gmx.at>
336
337 Don't draw GTK's internal border and tab bar on top of each other
338
339 * src/xterm.c (x_clear_under_internal_border): For GTK builds
340 have 'margin' count in the height of the tab bar to avoid that
341 tab bar and internal border are drawn on top of each other.
342
3432020-04-03 Amin Bandali <bandali@gnu.org>
344
345 Tweak htmlfontify's generated output
346
347 * lisp/htmlfontify.el (hfy-default-header): declare the character
348 encoding for the generated HTML file. This helps browsers display
349 UTF-8 characters like the copyright symbol correctly.
350 (hfy-sprintf-stylesheet): apply the default style to all of the text
351 consistently, so that unstyled bits (which are not wrapped in span
352 tags and are directly part of the surrounding pre tag's "innerHTML")
353 have a look consistent with the rest of the document.
354
3552020-03-30 Dmitry Gutov <dgutov@yandex.ru>
356
357 Handle project--files-in-directory finding no files better
358
359 * lisp/progmodes/project.el (project--find-regexp-in-files):
360 Signal user-error when passed an empty list of files.
361
362 * lisp/progmodes/xref.el (xref-matches-in-files):
363 Make sure FILES is not empty.
364
3652020-03-30 Alan Mackenzie <acm@muc.de>
366
367 Let imenu to work on the menu bar when its list is a single non-nested member.
368
369 * lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as
370 being sufficient evidence for a nested list structure. Instead, additionally
371 check whether or not certain elements are atoms.
372
3732020-03-30 Juri Linkov <juri@linkov.net>
374
375 * lisp/image/image-converter.el: Fix customization of image-converter.
376
377 * lisp/image/image-converter.el (image-convert-p): Update
378 image-converter-regexp when image-converter was customized (bug#39994).
379
3802020-03-29 Andreas Schwab <schwab@linux-m68k.org>
381
382 Fix url-cookie.el for lexical binding
383
384 * lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Use setq
385 instead of set to modify lexical binding.
386
3872020-03-29 Noam Postavsky <npostavs@gmail.com>
388
389 Don't suggest setting face-remapping-alist to a literal (Bug#39812)
390
391 * src/xfaces.c (syms_of_xfaces) <face-remapping-alist>: Use copy-tree
392 in the costring example code, and note why.
393
3942020-03-27 Mattias EngdegÄrd <mattiase@acm.org>
395
396 Calc: don't treat nil as an integer (bug#40155)
397
398 Make Math-num-integerp return false for nil, following Math-integerp
399 which was changed in the bignum reform. This fixes a crash in
400 calc-graph-fast.
401
402 Reported by Narendra Joshi.
403
404 * lisp/calc/calc-macs.el (Math-num-integerp): Not true for nil.
405 * test/lisp/calc/calc-tests.el (calc-Math-integerp): New tests.
406
4072020-03-25 Eli Zaretskii <eliz@gnu.org>
408
409 * lisp/files.el (directory-files-recursively): Doc fix. (Bug#40202)
410
4112020-03-25 Michael Albinus <michael.albinus@gmx.de>
412
413 Document how to disable Tramp file archives
414
415 * doc/misc/tramp.texi (Archive file names): Explain how to disable
416 file archives.
417
4182020-03-24 Lars Ingebrigtsen <larsi@gnus.org>
419
420 Don't add repeated xlmns:xlink declarations in svg-create
421
422 * lisp/svg.el (svg-create): Fix previous unconditional addition of
423 the xmlns:xlink declaration -- callers may already add one, and
424 having it twice is something most svg libraries doesn't like.
425
4262020-03-23 Mattias EngdegÄrd <mattiase@acm.org>
427
428 Calc: Declare dynamic variable bound in lexbind code (bug#40185)
429
430 * lisp/calc/calc.el: Declare math-comp-selected as dynamic.
431
4322020-03-23 Eli Zaretskii <eliz@gnu.org>
433
434 Don't build the Gnulib 'utimens' module on MinGW
435
436 * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_utimens): Omit the
437 'utimens' module in the MinGW build: 'utimens' is not used by
438 Emacs, and 'fdutimens' is implemented in w32.c.
439
4402020-03-23 Phillip Lord <phillip.lord@russet.org.uk>
441
442 Add Harfbuzz dependency
443
444 * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as a dependency.
445
4462020-03-23 Noam Postavsky <npostavs@gmail.com>
447
448 Don't signal during backtrace unrewind (Bug#40088)
449
450 backtrace_eval_unrewind is used to temporarily reverse
451 let-bindings (it's called with a positive argument to reverse
452 bindings, and then a negative argument to re-apply them) by
453 backtrace--locals and backtrace-eval. For the SPECPDL_LET_DEFAULT and
454 SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
455 variables), the code calls Fdefault_value and Fbuffer_local_value on
456 the symbol.
457
458 For symbols which are unbound at top-level, the first (with positive
459 argument) call to backtrace_eval_unrewind will set the symbol's value
460 to unbound (putting the current value in the specpdl's "old value"
461 slot). On the second (with negative argument) call,
462 backtrace_eval_unrewind attempts to retrieve the symbol's value with
463 Fdefault_value or Fbuffer_local_value, but that raises a void-variable
464 signal. This interrupts the restoration of the let-bindings, so any
465 other variables more recent on the stack will now have the wrong
466 value.
467
468 * src/data.c (default_value): Make non-static.
469 * src/lisp.h: Declare it.
470 * src/eval.c (backtrace_eval_unrewind): Replace the calls to
471 Fdefault_value and Fbuffer_local_value with default_value and
472 buffer_local_value, respectively. The latter do exactly the same as
473 the former, except if the symbol's value is Qunbound they just return
474 it instead of signaling void-variable.
475
4762020-03-23 Noam Postavsky <npostavs@gmail.com>
477
478 Fix a couple of problems in changelog generating functions
479
480 * lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
481 scan-error when calling end-of-defun, go to end of hunk. This can
482 easily happen since we are calling end-of-defun on a partial code
483 fragment from a diff.
484 * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
485 display-buffer-overriding-action around the log-edit-show-diff call
486 only. Otherwise, it can affect, for example, debugger windows
487 triggered by the diff-add-log-current-defuns call.
488
4892020-03-23 Noam Postavsky <npostavs@gmail.com>
490
491 Fix cl-concatenate (Bug#40180)
492
493 * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
494 adding extra nesting of args.
495 * test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.
496
4972020-03-21 Eli Zaretskii <eliz@gnu.org>
498
499 Improve documentation of project.el commands
500
501 * lisp/progmodes/project.el (project-find-regexp): Require 'grep'
502 to be able to call 'grep-read-files'.
503 (project-search, project-query-replace-regexp): Doc fixes.
504
505 * doc/emacs/maintaining.texi (Projects): New section.
506 * doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.
507
5082020-03-20 Zhu Zihao <all_but_last@163.com> (tiny change)
509
510 Make svg images with links valid
511
512 * lisp/svg.el (svg-create): Specify xlink namespace for svg images
513 (bug#40010).
514
5152020-03-20 Juri Linkov <juri@linkov.net>
516
517 * lisp/tab-line.el (tab-line-new-button-show): New defcustom.
518
519 * lisp/tab-line.el (tab-line-format-template): Use tab-line-new-button-show.
520 (tab-line-new-tab-choice): Remove choice 'nil' with "No button".
521 (tab-line-separator): Add docstring.
522
5232020-03-19 Lars Ingebrigtsen <larsi@gnus.org>
524
525 Don't have exif bugging out on short strings
526
527 * lisp/image/exif.el (exif--direct-ascii-value): New function
528 (bug#40127).
529 (exif--parse-directory): Use it to get the correct values for
530 in-directory (i.e., shorter than 4 octets) strings.
531
5322020-03-19 Robert Pluim <rpluim@gmail.com>
533
534 Use correct registry name for windows-1251 charset
535
536 * src/ftfont.c (fc_charset_table): The registry to use to lookup
537 windows-1251 charset is microsoft-cp1251, not windows-1251.
538 (Bug#40097)
539
5402020-03-19 Amin Bandali <bandali@gnu.org>
541
542 ERC: Update maintainer address
543
5442020-03-18 Philipp Stephani <phst@google.com>
545
546 Remove raw carriage return characters from test file.
547
548 This protects against tools that mangle newline characters in text
549 files.
550
551 * test/lisp/electric-tests.el (electric-pair-mode-newline-between-parens)
552 (electric-layout-mode-newline-between-parens-without-e-p-m)
553 (electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
554 carriage return characters.
555
5562020-03-17 Robert Pluim <rpluim@gmail.com>
557
558 Recalculate default font when switching font backend
559
560 This is an updated version of the patch by Dmitry Antipov
561 <dmantipov@yandex.ru> in
562 <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.
563
564 Fixes Bug#23386
565
566 * src/dispextern.h (struct redisplay_interface): New member
567 default_font_parameter.
568 * src/xterm.h: Add prototype for x_default_font_parameter.
569 * src/xterm.c (x_redisplay_interface): Initialize
570 default_font_parameter member.
571 * src/xfns.c (x_default_font_parameter): Make non-static.
572 * src/w32term.h: Add prototype for w32_default_font_parameter
573 * src/w32fns.c (w32_default_font_parameter): Make non-static.
574 * src/w32term.c (w32_redisplay_interface): Initialize
575 default_font_parameter member.
576 * src/nsterm.m (ns_redisplay_interface): Add dummy
577 ns_default_font_parameter (there is currently only one possible font
578 backend on macOS). Initialize default_font_parameter member.
579 * src/frame.c (gui_set_font_backend): Recalculate default font using
580 RIF default_font_parameter to avoid crash when changing font backend.
581
5822020-03-17 Juri Linkov <juri@linkov.net>
583
584 * lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.
585
586 * lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
587 instead of just buffer object to invalidate the cache on buffer renaming.
588 (tab-line-format-template): Always leave the separator after the last tab
589 like tab-bar.el already does.
590
5912020-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
592
593 * etc/NEWS: Make the `--eval` example slightly more precise
594
5952020-03-15 Juri Linkov <juri@linkov.net>
596
597 * lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)
598
599 * lisp/image/image-converter.el (image-converter--probe): Match
600 a possible additional second column in some ImageMagick versions
601 of "convert -list format".
602
6032020-03-14 Eli Zaretskii <eliz@gnu.org>
604
605 Support Unicode 13.0
606
607 * admin/unidata/BidiBrackets.txt:
608 * admin/unidata/BidiMirroring.txt:
609 * admin/unidata/Blocks.txt:
610 * admin/unidata/NormalizationTest.txt:
611 * admin/unidata/SpecialCasing.txt:
612 * admin/unidata/UnicodeData.txt:
613 * admin/unidata/copyright.html:
614 * test/manual/BidiCharacterTest.txt: Updated files imported from
615 Unicode v13.0.
616
617 * admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
618 known aliases.
619
620 * lisp/international/fontset.el (script-representative-chars)
621 (setup-default-fontset): Add new scripts.
622 * lisp/international/characters.el: Set syntax for Symbols for
623 Legacy Computing characters. Update setting of char-width-table.
624 * lisp/international/mule-cmds.el (ucs-names): Update ranges of
625 characters for which we want names in 'ucs-names'.
626
627 * test/lisp/international/ucs-normalize-tests.el
628 (ucs-normalize-tests--failing-lines-part1)
629 (ucs-normalize-tests--failing-lines-part2): Update according to
630 'ucs-normalize-check-failing-lines'.
631
6322020-03-14 Lars Ingebrigtsen <larsi@gnus.org>
633
634 Fix regression in wisent-total-conflicts
635
636 * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
637 There may not be a current source file. In that case, don't try
638 to keep track of the number of expected conflicts (bug#39911).
639
6402020-03-14 Alan Mackenzie <acm@muc.de>
641
642 * lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1
643
644 Don't merge to master.
645
6462020-03-14 Philipp Stephani <phst@google.com>
647
648 * lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.
649
6502020-03-14 Stefan Kangas <stefankangas@gmail.com>
651
652 Improve Package Menu hiding docstrings
653
654 * lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
655 reference to 'package-menu-hidden-regexps'.
656 * lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
657 docstring to say that hiding is saved in a user option. Fix a
658 typo. (Bug#39436)
659
6602020-03-14 Eli Zaretskii <eliz@gnu.org>
661
662 Fix display of Big5 characters when using Fontconfig
663
664 * src/ftfont.c (fc_charset_table): Fix the value of the big-5
665 representative codepoint. Reported by Brian Schack
666 <bschack-cocoa@usa.net>. (Bug#40057)
667
668 * src/macfont.m (cf_charset_table): Adjust the comment.
669
6702020-03-13 Eli Zaretskii <eliz@gnu.org>
671
672 Fix a recent documentation change
673
674 * doc/emacs/frames.texi (Mouse Commands): More detailed
675 description of how tilting the mouse-wheel works.
676
677 * lisp/mwheel.el (mouse-wheel-tilt-scroll)
678 (mouse-wheel-flip-direction): Fix the wording of doc strings.
679 (Bug#39979)
680
6812020-03-13 Eli Zaretskii <eliz@gnu.org>
682
683 Fix last change
684
685 * lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
686 doc string.
687
6882020-03-13 Juri Linkov <juri@linkov.net>
689
690 * lisp/tab-bar.el: Last-minute changes.
691
692 * lisp/tab-bar.el (tab-bar-mode): Check for non-nil
693 tab-bar-new-button and tab-bar-close-button.
694 (tab-bar-new-button-show): New defcustom.
695 (tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
696 (tab-bar-separator): Add docstring.
697
6982020-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
699
700 * lisp/subr.el (cancel-change-group): Fix bug#39680
701
702 Don't re-use an existing `pending-undo-list` even if (eq last-command 'undo)
703 since there might have been changes to the buffer since that `undo` command
704 and the `pending-undo-list` can hence be invalid for the current
705 buffer contents.
706
7072020-03-12 İ. Göktuğ Kayaalp <self@gkayaalp.com>
708
709 Improve docs for horizontal scrolling with mouse and touchpad (Bug#39979)
710
711 * lisp/mwheel.el (mouse-wheel-tilt-scroll,
712 mouse-wheel-flip-direction): Improve docstrings.
713 * doc/emacs/frames.texi (Mouse Commands): Mention touchpads.
714
7152020-03-10 Juri Linkov <juri@linkov.net>
716
717 * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
718
7192020-03-09 Paul Eggert <eggert@cs.ucla.edu>
720
721 Port .gdbinit to clang with -gdwarf-4
722
723 * src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
724 doesn’t output the type of lispsym anywhere other than emacs.o
725 (Bug#39962).
726
7272020-03-09 Mattias EngdegÄrd <mattiase@acm.org>
728
729 Simplify rx example in manual
730
731 * doc/lispref/searching.texi (Rx Notation):
732 Use the 'not' shorthand introduced in Emacs 27.
733
7342020-03-09 Paul Eggert <eggert@cs.ucla.edu>
735
736 * src/timefns.c: Add comments.
737
7382020-03-08 Paul Eggert <eggert@cs.ucla.edu>
739
740 * src/timefns.c: Add comments.
741
7422020-03-08 Andrew Eggenberger <andrew.eggenberger@gmail.com> (tiny change)
743
744 Eliminate use of cl-concatenate in 'seq' package
745
746 Fixes (Bug#39761) by making cl-extra dependent on seq rather than
747 vice versa.
748 * lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
749 code here instead of calling it.
750 * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.
751
7522020-03-07 Paul Eggert <eggert@cs.ucla.edu>
753
754 Fix bug with JIT stealth timers
755
756 * lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
757 time values must be conses (Bug#39944).
758
7592020-03-07 Paul Eggert <eggert@cs.ucla.edu>
760
761 * doc/lispref/os.texi (time-subtract): Doc fix.
762
7632020-03-07 Alan Third <alan@idiocy.org>
764
765 NS port documentation updates
766
767 * doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
768 more of the ns- variables and remove incorrect font back-end
769 information.
770 * etc/NEWS: Update the documentation status of macOS news entries.
771
7722020-03-07 JoĂŁo TĂĄvora <joaotavora@gmail.com>
773
774 Let fido-mode users force a minibuffer-exit
775
776 * lisp/icomplete.el (icomplete-fido-exit):
777 Add FORCE arg. Rewrite docstring. (bug#38992)
778
7792020-03-07 Dmitry Gutov <dgutov@yandex.ru>
780
781 icomplete-fido-exit: New command for the M-j binding
782
783 * lisp/icomplete.el (icomplete-fido-exit): New command.
784 (icomplete-fido-mode-map): Use it (bug#38992).
785
7862020-03-07 Dmitry Gutov <dgutov@yandex.ru>
787
788 minibuffer-force-complete-and-exit: Allow input with no matches
789
790 * lisp/minibuffer.el (minibuffer--require-match): New variable.
791 (completing-read-default): Bind it to the REQUIRE-MATCH value.
792 (minibuffer-force-complete-and-exit): Consult it to allow input
793 with no matches when a match is not required (bug#38992).
794
795 * lisp/icomplete.el (icomplete-exhibit): Use it to render the
796 correct parens around matches.
797
7982020-03-07 Eli Zaretskii <eliz@gnu.org>
799
800 Document that 'byte-compile-dynamic' is obsolete
801
802 * doc/lispref/compile.texi (Dynamic Loading): Document that this
803 is deprecated.
804
805 * etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.
806
8072020-03-07 Eli Zaretskii <eliz@gnu.org>
808
809 Document the changes in 'read-answer'
810
811 * doc/lispref/minibuf.texi (Multiple Queries): Document the
812 fact that 'read-answer' can now accept non-character input
813 events.
814
8152020-03-07 Eli Zaretskii <eliz@gnu.org>
816
817 Document changes in lexical-binding
818
819 * doc/lispref/variables.texi (Using Lexical Binding): Document
820 that lexical-binding is now turned on by default in more cases.
821
822 * etc/NEWS: Fix wording of the NEWS entry about the above, and mark it
823 as fully documented.
824
8252020-03-06 Amin Bandali <mab@gnu.org>
826
827 Update ERC mailing list address
828
829 * lisp/erc/erc.el (erc-official-location): As part of bringing ERC
830 under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
831 and will be *the* mailing list for discussions and announcements about
832 ERC going forward. The other two lists, erc-announce and erc-commit,
833 are now retired. For more details, see the announcement at
834 <https://lists.gnu.org/archive/html/emacs-erc/2020-03/msg00001.html>.
835
8362020-03-06 Roland Winkler <winkler@gnu.org>
837
838 Use regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686)
839
8402020-03-06 Eli Zaretskii <eliz@gnu.org>
841
842 Improve documentation of 'table-generate-source'
843
844 * lisp/textmodes/table.el (table-generate-source): Doc fix.
845 (Bug#39935)
846
847 * etc/NEWS: Fix wording of the 'table-generate-source' entry and
848 mark it as documented.
849
8502020-03-06 Eli Zaretskii <eliz@gnu.org>
851
852 Attempt to avoid rare segfaults in show_mouse_face
853
854 * src/xdisp.c (show_mouse_face): Don't display the active region
855 if called on a frame different from the one recorded in HLINFO.
856 (Bug#37671)
857
8582020-03-05 Eli Zaretskii <eliz@gnu.org>
859
860 Avoid crashes when a fontset has strange entries
861
862 * src/fontset.c (reorder_font_vector): Skip nil entries in the
863 loop that assigns scores to rfont_def's.
864 (fontset_compare_rfontdef): Cope with nil. This has the effect of
865 moving any nil entries to the end of the font-group, and avoids
866 crashing if an element other than the last in the font-group is
867 nil. (Bug#39892)
868
8692020-03-05 Mattias EngdegÄrd <mattiase@acm.org>
870
871 Fix rx error with ? and ??
872
873 The ? and ?? rx operators are special in that they can be written as
874 characters (space and '?' respectively). This confused the definition
875 look-up mechanism in rare cases.
876
877 * lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
878 * test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.
879
8802020-03-05 Mattias EngdegÄrd <mattiase@acm.org>
881
882 * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.
883
8842020-03-05 Justin Burkett <justin@burkett.cc> (tiny change)
885
886 Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'
887
888 * lisp/window.el (fit-window-to-buffer): Fix arguments in
889 'window-text-pixel-size' call.
890
8912020-03-04 JoĂŁo TĂĄvora <joaotavora@gmail.com>
892
893 Have pulse.el preserve existing overlay priorities
894
895 (Bug#39821)
896
897 * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
898 overlay priority.
899 (pulse-momentary-unhighlight): Restore.
900
9012020-03-04 Alan Mackenzie <acm@muc.de>
902
903 CC Mode: Fix the handling of two adjacent after-change-functionses.
904
905 The bug involved failing to set c-new-END correctly, which lead to an
906 args-out-of-range error when after-change-functions was invoked twice without
907 an intervening invocation of before-change-functions.
908
909 * lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
910 handling of c-just-done-before-change.
911
9122020-03-04 Alan Mackenzie <acm@muc.de>
913
914 Fix combine-change-calls-1 for when buffer-undo-list is t
915
916 * lisp/subr.el (combine-change-calls-1): Bind before/after-change-functions to
917 nil also when buffer-undo-list is t.
918
9192020-03-04 Mattias EngdegÄrd <mattiase@acm.org>
920
921 Don't misinterpret doc string as initial value
922
923 * lisp/loadhist.el (loadhist--restore-autoload):
924 * lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
925 Prevent the doc string from being used as initial value.
926
9272020-03-04 Stefan Kangas <stefankangas@gmail.com>
928
929 Bump checkdoc-version to match library header
930
931 * lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
932
9332020-03-04 Noam Postavsky <npostavs@gmail.com>
934
935 Explain how to unset mode bindings (Bug#39802)
936
937 * doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
938 define-key will unbind keys, and extend the example accordingly.
939
9402020-03-04 Noam Postavsky <npostavs@gmail.com>
941
942 Fix describe-variable on values with circular syntax (Bug#39805)
943
944 * lisp/help-fns.el (describe-variable): Set syntax tables before
945 calling pp-buffer.
946
9472020-03-04 Juri Linkov <juri@linkov.net>
948
949 Improve documentation of next-error-highlight-no-select (bug#38778)
950
951 * doc/emacs/building.texi (Compilation Mode):
952 Mention next-error-highlight-no-select.
953
954 * lisp/simple.el (next-error-highlight): Add reference to
955 next-error-highlight-no-select.
956 (next-error-highlight-no-select): Add reference to
957 next-error-highlight.
958
9592020-03-03 Andreas Schwab <schwab@linux-m68k.org>
960
961 Fix implicit declaration of getenv and atol
962
963 * src/gtkutil.c: Include <stdlib.h>.
964
9652020-03-03 Eli Zaretskii <eliz@gnu.org>
966
967 Fix handling MS-Windows keyboard input above the BMP
968
969 * src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
970 with a surrogate codepoint, assemble the corresponding character
971 code above the BMP from its UTF-16 encoding, communicated in two
972 consecutive WM_UNICHAR messages.
973
9742020-03-03 Mattias EngdegÄrd <mattiase@acm.org>
975
976 * etc/NEWS: More complete description of rx 'not' changes.
977
9782020-03-02 Juri Linkov <juri@linkov.net>
979
980 * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer.
981
9822020-03-02 Robert Pluim <rpluim@gmail.com>
983
984 Don't attempt to cache glyph metrics for FONT_INVALID_CODE
985
986 This was causing massive slowdown in redisplay when eg #xfe0f
987 (VARIATION SELECTOR-16) was present, as the cache ended up very large,
988 unused, and being recreated on every call to font_fill_lglyph_metrics
989 (Bug#39133).
990
991 * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
992 of loop. Calculate glyph code and check for FONT_INVALID_CODE before
993 calling font_fill_lglyph_metrics. Pass glyph code to it.
994
995 * src/font.c (font_fill_lglyph_metrics): Add code parameter, move
996 glyph code calculation up the call stack into fill_gstring_body.
997
998 * src/font.h: Adjust font_fill_lglyph_metrics prototype.
999
10002020-03-01 Sergey Trofimov <sarg@sarg.org.ru> (tiny change)
1001
1002 Fix fit-frame-to-buffer for multi-monitor setup
1003
1004 * lisp/window.el (fit-frame-to-buffer): Call
1005 'frame-monitor-attributes' instead of
1006 'display-monitor-attributes-list'. Fix geometry calculations for
1007 multiple monitors.
1008
10092020-03-01 Mattias EngdegÄrd <mattiase@acm.org>
1010
1011 rx: Improve 'or' compositionality (bug#37659)
1012
1013 Perform 'regexp-opt' on nested 'or' forms, and after expansion of
1014 user-defined and 'eval' forms. Characters are now turned into strings
1015 for wider 'regexp-opt' scope. This preserves the longest-match
1016 semantics for string in 'or' forms over composition.
1017
1018 * doc/lispref/searching.texi (Rx Constructs): Document.
1019 * lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
1020 (rx--all-string-or-args): New.
1021 (rx--translate-or): Normalise arguments first, and check for strings
1022 in subforms.
1023 (rx--expand-eval): Extracted from rx--translate-eval.
1024 (rx--translate-eval): Call rx--expand-eval.
1025 * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
1026 * etc/NEWS: Announce.
1027
10282020-02-29 Juri Linkov <juri@linkov.net>
1029
1030 * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
1031
1032 Distinguish offsets between manual-vs-automatic scrolling
1033 as integers-vs-floats instead of positive-vs-negative integers.
1034
1035 * lisp/tab-line.el (tab-line-format-template): Use 'numberp'
1036 instead of 'integerp', and 'truncate' instead of 'abs'.
1037 (tab-line-format): When the window-buffer was updated, set window-parameter
1038 to float to enable auto-hscroll after it was disabled on manual scrolling.
1039 (tab-line-auto-hscroll-buffer): New variable with internal buffer.
1040 (tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
1041 Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
1042 and 'float' instead of '-'.
1043 (tab-line-hscroll): Use 'numberp' instead of 'integerp',
1044 and 'truncate' instead of 'abs'.
1045
10462020-02-29 Mattias EngdegÄrd <mattiase@acm.org>
1047
1048 Fix rx charset generation
1049
1050 * lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
1051 (rx--generate-alt): Generate '.' for negated newline.
1052 * test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.
1053
10542020-02-28 Mattias EngdegÄrd <mattiase@acm.org>
1055
1056 Fix overquoting in mule.el
1057
1058 * lisp/international/mule.el (sgml-xml-auto-coding-function):
1059 Remove accidental quote.
1060
10612020-02-28 Paul Eggert <eggert@cs.ucla.edu>
1062
1063 * src/timefns.c (time_arith): Omit incorrect comment.
1064
10652020-02-28 Mattias EngdegÄrd <mattiase@acm.org>
1066
1067 * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
1068
10692020-02-28 Ơtěpán Němec <stepnem@gmail.com>
1070
1071 checkdoc: Don't mistake "cf." for sentence end
1072
1073 * lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
1074 Recognize "cf." as an abbreviation, not a sentence end.
1075
10762020-02-27 Nicolas Petton <nicolas@petton.fr>
1077
1078 Bump Emacs version to 27.0.90
1079
1080 * README:
1081 * configure.ac:
1082 * msdos/sed2v2.inp:
1083 * nt/README.W32: Bump Emacs version.
1084
10852020-02-27 Nicolas Petton <nicolas@petton.fr>
1086
1087 * etc/AUTHORS: Update.
1088
12020-02-27 Nicolas Petton <nicolas@petton.fr> 10892020-02-27 Nicolas Petton <nicolas@petton.fr>
2 1090
3 * admin/authors.el (authors-ignored-files): Fix entries. 1091 * admin/authors.el (authors-ignored-files): Fix entries.
@@ -139450,7 +140538,7 @@
139450 140538
139451This file records repository revisions from 140539This file records repository revisions from
139452commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to 140540commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
139453commit 9261b1ed49755284bb9dc194b6c2a9b407151ee5 (inclusive). 140541commit 4acdd7fe58ae9f94102afeca67b0383141d597da (inclusive).
139454See ChangeLog.2 for earlier changes. 140542See ChangeLog.2 for earlier changes.
139455 140543
139456;; Local Variables: 140544;; Local Variables:
diff --git a/admin/authors.el b/admin/authors.el
index dc42bc72ef3..fd17a3394d8 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -207,6 +207,11 @@ files.")
207 ("Yoshinori Koseki" "KOSEKI Yoshinori" "氏閱 搉扇") 207 ("Yoshinori Koseki" "KOSEKI Yoshinori" "氏閱 搉扇")
208 ("Yutaka NIIBE" "NIIBE Yutaka") 208 ("Yutaka NIIBE" "NIIBE Yutaka")
209 (nil "stardiviner") 209 (nil "stardiviner")
210 (nil "lin.sun")
211 ("Nitish Chinta" "nitishch")
212 ("Carlos Pita" "memeplex")
213 ("Vinicius Jose Latorre" "viniciusjl")
214 ("Gaby Launay" "galaunay")
210 ) 215 )
211 "Alist of author aliases. 216 "Alist of author aliases.
212 217
@@ -278,7 +283,7 @@ If REALNAME is nil, ignore that author.")
278 283
279 284
280(defvar authors-obsolete-files-regexps 285(defvar authors-obsolete-files-regexps
281 '(".*loaddefs.el$" ; not obsolete, but auto-generated 286 '(".*loaddefs\\.el$" ; not obsolete, but auto-generated
282 "\\.\\(bzr\\|cvs\\|git\\)ignore$" ; obsolete or uninteresting 287 "\\.\\(bzr\\|cvs\\|git\\)ignore$" ; obsolete or uninteresting
283 "\\.arch-inventory$" 288 "\\.arch-inventory$"
284 "ChangeLog\\(\\.[0-9]+\\)?\\'" 289 "ChangeLog\\(\\.[0-9]+\\)?\\'"
@@ -288,9 +293,9 @@ If REALNAME is nil, ignore that author.")
288 "\\`\\(indent\\|automated\\)\\'" "indent/" "mod-test/" 293 "\\`\\(indent\\|automated\\)\\'" "indent/" "mod-test/"
289 "-resources/" 294 "-resources/"
290 "unidata/.*\\.txt\\'" 295 "unidata/.*\\.txt\\'"
291 "BidiCharacterTest.txt" 296 "BidiCharacterTest\\.txt"
292 ;; TODO lib/? Matches other things? 297 ;; TODO lib/? Matches other things?
293 "build-aux/" "m4/" "Emacs.xcodeproj" "mapfiles" "\\.map\\'" 298 "build-aux/" "m4/" "Emacs\\.xcodeproj" "mapfiles" "\\.map\\'"
294 "preferences\\.\\(nib\\|gorm\\)" 299 "preferences\\.\\(nib\\|gorm\\)"
295 ;; Generated files that have since been removed. 300 ;; Generated files that have since been removed.
296 "\\(refcard\\(-de\\|-pl\\)?\\|calccard\\|dired-ref\\|orgcard\\|\ 301 "\\(refcard\\(-de\\|-pl\\)?\\|calccard\\|dired-ref\\|orgcard\\|\
@@ -1183,7 +1188,7 @@ ediff\\|emerge\\|log-edit\\|log-view\\|pcvs\\|smerge-mode\\|vc\\)\\.el\\'"
1183 ("\\`org-\\(ascii\\|beamer\\|html\\|icalendar\\|jsinfo\\|latex\ 1188 ("\\`org-\\(ascii\\|beamer\\|html\\|icalendar\\|jsinfo\\|latex\
1184\\|odt\\|publish\\)\\.el\\'" "ox-\\1.el") 1189\\|odt\\|publish\\)\\.el\\'" "ox-\\1.el")
1185 ;; From test/ to test/automated/. 1190 ;; From test/ to test/automated/.
1186 ("comint-testsuite.el" "automated/\\&") 1191 ("comint-testsuite\\.el" "automated/\\&")
1187 ("\\`\\(bytecomp\\|font-parse\\|icalendar\\|occur\\|newsticker\\)\ 1192 ("\\`\\(bytecomp\\|font-parse\\|icalendar\\|occur\\|newsticker\\)\
1188-testsuite\\.el" "\\1-tests.el") 1193-testsuite\\.el" "\\1-tests.el")
1189 ("automated/flymake/warnpred/\\(Makefile\\|test\\.\\(?:c\\|pl\\)\\)\\'" 1194 ("automated/flymake/warnpred/\\(Makefile\\|test\\.\\(?:c\\|pl\\)\\)\\'"
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index af2f3acd467..5ec23a9c876 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.
5871 5871
5872@defun set-window-configuration configuration 5872@defun set-window-configuration configuration
5873This function restores the configuration of windows and buffers as 5873This function restores the configuration of windows and buffers as
5874specified by @var{configuration}, for the frame that @var{configuration} 5874specified by @var{configuration}, for the frame that
5875was created for. 5875@var{configuration} was created for, regardless of whether that frame
5876 5876is selected or not. The argument @var{configuration} must be a value
5877The argument @var{configuration} must be a value that was previously 5877that was previously returned by @code{current-window-configuration}
5878returned by @code{current-window-configuration}. The configuration is 5878for that frame.
5879restored in the frame from which @var{configuration} was made, whether 5879
5880that frame is selected or not. In some rare cases this may trigger 5880If the frame from which @var{configuration} was saved is dead, all
5881execution of the @code{window-size-change-functions} (@pxref{Window 5881this function does is to restore the value of the variable
5882Hooks}) even if the size of windows did not change at all. The 5882@code{minibuffer-scroll-window} and to adjust the value returned by
5883@code{window-configuration-change-hook} functions will be called if and 5883@code{minibuffer-selected-window}. In this case, the function returns
5884only if at least one window was added to or deleted from the frame. 5884@code{nil}. Otherwise, it returns @code{t}.
5885 5885
5886If the frame from which @var{configuration} was saved is dead, all this 5886If the buffer of a window of @var{configuration} has been killed since
5887function does is restore the three variables @code{window-min-height}, 5887@var{configuration} was made, that window is, as a rule, removed from
5888@code{window-min-width} and @code{minibuffer-scroll-window}. In this 5888the restored configuration. However, if that window is the last
5889case, the function returns @code{nil}. Otherwise, it returns @code{t}. 5889window remaining in the restored configuration, another live buffer is
5890 5890shown in it.
5891Here is a way of using this function to get the same effect 5891
5892as @code{save-window-excursion}: 5892Here is a way of using this function to get the same effect as
5893@code{save-window-excursion}:
5893 5894
5894@example 5895@example
5895@group 5896@group
diff --git a/etc/AUTHORS b/etc/AUTHORS
index ab0cbeefc83..aff24a8d8d3 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -97,11 +97,11 @@ Alakazam Petrofsky: changed hanoi.el
97Alan Mackenzie: wrote cc-awk.el 97Alan Mackenzie: wrote cc-awk.el
98and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el 98and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el
99 cc-langs.el cc-mode.el cc-styles.el cc-vars.el 99 cc-langs.el cc-mode.el cc-styles.el cc-vars.el
100and changed cc-mode.texi bytecomp.el follow.el display.texi subr.el 100and changed cc-mode.texi bytecomp.el display.texi follow.el subr.el
101 edebug.el progmodes/compile.el programs.texi syntax.texi modes.texi 101 edebug.el progmodes/compile.el programs.texi syntax.texi modes.texi
102 font-lock.el isearch.el text.texi help.el ispell.el lread.c syntax.c 102 font-lock.el isearch.el text.texi help.el ispell.el lread.c syntax.c
103 windows.texi .dir-locals.el control.texi cus-start.el 103 windows.texi .dir-locals.el control.texi cus-start.el
104 and 147 other files 104 and 148 other files
105 105
106Alan Modra: changed unexelf.c 106Alan Modra: changed unexelf.c
107 107
@@ -113,9 +113,9 @@ Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el
113 113
114Alan Third: wrote dabbrev-tests.el image-transforms-tests.el 114Alan Third: wrote dabbrev-tests.el image-transforms-tests.el
115and changed nsterm.m nsterm.h nsfns.m nsmenu.m ns-win.el nsimage.m 115and changed nsterm.m nsterm.h nsfns.m nsmenu.m ns-win.el nsimage.m
116 image.c macfont.m configure.ac frame.el xdisp.c display.texi image.el 116 image.c macfont.m configure.ac frame.el xdisp.c macos.texi display.texi
117 macos.texi xterm.c Info.plist.in conf_post.h dispextern.h frame.c 117 image.el xterm.c Info.plist.in conf_post.h dispextern.h frame.c frame.h
118 frame.h frames.texi and 21 other files 118 frames.texi and 21 other files
119 119
120Alastair Burt: changed gnus-art.el smiley.el 120Alastair Burt: changed gnus-art.el smiley.el
121 121
@@ -235,12 +235,11 @@ Alp Aker: changed nsfont.m nsterm.m buff-menu.el nsfns.m nsmenu.m
235Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c 235Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c
236 savehist.el vc-git.el 236 savehist.el vc-git.el
237 237
238Amin Bandali: changed erc-button.el erc-desktop-notifications.el 238Amin Bandali: changed erc.el erc-button.el erc-desktop-notifications.el
239 erc-autoaway.el erc-compat.el erc-fill.el erc-ibuffer.el erc-imenu.el 239 erc-track.el erc-autoaway.el erc-compat.el erc-fill.el erc-ibuffer.el
240 erc-join.el erc-lang.el erc-list.el erc-log.el erc-match.el 240 erc-imenu.el erc-join.el erc-lang.el erc-list.el erc-log.el
241 erc-notify.el erc-pcomplete.el erc-replace.el erc-ring.el 241 erc-match.el erc-notify.el erc-pcomplete.el erc-replace.el erc-ring.el
242 erc-services.el erc-sound.el erc-speedbar.el erc-spelling.el 242 erc-services.el erc-sound.el erc-speedbar.el and 5 other files
243 erc-stamp.el and 4 other files
244 243
245Anand Mitra: changed gnus-sum.el 244Anand Mitra: changed gnus-sum.el
246 245
@@ -298,7 +297,7 @@ Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el
298Andreas Schwab: changed configure.ac lisp.h xdisp.c process.c alloc.c 297Andreas Schwab: changed configure.ac lisp.h xdisp.c process.c alloc.c
299 coding.c Makefile.in files.el fileio.c keyboard.c lread.c xterm.c fns.c 298 coding.c Makefile.in files.el fileio.c keyboard.c lread.c xterm.c fns.c
300 editfns.c emacs.c src/Makefile.in print.c eval.c font.c xfns.c sysdep.c 299 editfns.c emacs.c src/Makefile.in print.c eval.c font.c xfns.c sysdep.c
301 and 650 other files 300 and 651 other files
302 301
303Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el 302Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
304 gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el 303 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
332 331
333Andrew Csillag: wrote m4-mode.el 332Andrew Csillag: wrote m4-mode.el
334 333
334Andrew Eggenberger: changed cl-extra.el seq.el
335
335Andrew G Cohen: changed gnus-sum.el gnus-art.el 336Andrew G Cohen: changed gnus-sum.el gnus-art.el
336 337
337Andrew Hall: changed paren.el 338Andrew Hall: changed paren.el
@@ -695,8 +696,8 @@ Carl Edman: co-wrote ns-win.el
695 696
696Carl Henrik Lunde: changed format-spec.el 697Carl Henrik Lunde: changed format-spec.el
697 698
698Carlos Pita: changed erc-pcomplete.el image-mode.el progmodes/python.el 699Carlos Pita: changed progmodes/python.el erc-pcomplete.el fringe.c
699 sh-script.el 700 gtkutil.c image-mode.el keyboard.c sh-script.el
700 701
701Carsten Bormann: changed ibmrs6000.h latin-post.el 702Carsten Bormann: changed ibmrs6000.h latin-post.el
702 703
@@ -1354,9 +1355,9 @@ Dmitry Gutov: wrote elisp-mode-tests.el jit-lock-tests.el json-tests.el
1354 vc-hg-tests.el xref-tests.el 1355 vc-hg-tests.el xref-tests.el
1355and changed ruby-mode.el xref.el project.el vc-git.el elisp-mode.el 1356and changed ruby-mode.el xref.el project.el vc-git.el elisp-mode.el
1356 etags.el ruby-mode-tests.el js.el package.el vc-hg.el vc.el 1357 etags.el ruby-mode-tests.el js.el package.el vc-hg.el vc.el
1357 symref/grep.el log-edit.el dired-aux.el simple.el menu-bar.el 1358 symref/grep.el log-edit.el dired-aux.el simple.el minibuffer.el
1358 minibuffer.el package-test.el progmodes/grep.el vc-svn.el eldoc.el 1359 menu-bar.el package-test.el progmodes/grep.el vc-svn.el eldoc.el
1359 and 110 other files 1360 and 111 other files
1360 1361
1361Dmitry Kurochkin: changed isearch.el 1362Dmitry Kurochkin: changed isearch.el
1362 1363
@@ -1444,7 +1445,7 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c]
1444and changed xdisp.c msdos.c w32.c display.texi w32fns.c simple.el 1445and changed xdisp.c msdos.c w32.c display.texi w32fns.c simple.el
1445 files.el fileio.c keyboard.c w32term.c w32proc.c emacs.c files.texi 1446 files.el fileio.c keyboard.c w32term.c w32proc.c emacs.c files.texi
1446 text.texi dispnew.c frames.texi lisp.h dispextern.h window.c process.c 1447 text.texi dispnew.c frames.texi lisp.h dispextern.h window.c process.c
1447 term.c and 1184 other files 1448 term.c and 1187 other files
1448 1449
1449Emanuele Giaquinta: changed configure.ac rxvt.el charset.c etags.c 1450Emanuele Giaquinta: changed configure.ac rxvt.el charset.c etags.c
1450 fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el 1451 fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el
@@ -2039,7 +2040,7 @@ Ian Lance Taylor: changed sco4.h
2039Ian T Zimmerman: wrote gametree.el 2040Ian T Zimmerman: wrote gametree.el
2040and changed ange-ftp.el desktop.el tex-mode.el 2041and changed ange-ftp.el desktop.el tex-mode.el
2041 2042
2042İ. Göktuğ Kayaalp: changed eww.el vc-rcs.el 2043İ. Göktuğ Kayaalp: changed eww.el frames.texi mwheel.el vc-rcs.el
2043 2044
2044Igor Kuzmin: wrote cconv.el 2045Igor Kuzmin: wrote cconv.el
2045 2046
@@ -2433,7 +2434,7 @@ and changed flymake.el flymake-proc.el icomplete.el minibuffer.el
2433 flymake-tests.el flymake.texi elisp-mode.el flymake-elisp.el 2434 flymake-tests.el flymake.texi elisp-mode.el flymake-elisp.el
2434 electric.el flymake-ui.el text.texi json-tests.el tex-mode.el 2435 electric.el flymake-ui.el text.texi json-tests.el tex-mode.el
2435 errors-and-warnings.c json.c xref.el auth-source-pass.el linum.el 2436 errors-and-warnings.c json.c xref.el auth-source-pass.el linum.el
2436 maintaining.texi message.el progmodes/python.el and 29 other files 2437 maintaining.texi message.el progmodes/python.el and 30 other files
2437 2438
2438Jochen Hein: changed gnus-art.el 2439Jochen Hein: changed gnus-art.el
2439 2440
@@ -2713,13 +2714,15 @@ Juri Linkov: wrote files-x.el misearch.el replace-tests.el tab-bar.el
2713and changed isearch.el info.el simple.el replace.el dired.el dired-aux.el 2714and changed isearch.el info.el simple.el replace.el dired.el dired-aux.el
2714 progmodes/grep.el progmodes/compile.el startup.el subr.el diff-mode.el 2715 progmodes/grep.el progmodes/compile.el startup.el subr.el diff-mode.el
2715 files.el menu-bar.el faces.el bindings.el display.texi image-mode.el 2716 files.el menu-bar.el faces.el bindings.el display.texi image-mode.el
2716 desktop.el comint.el minibuffer.el search.texi and 418 other files 2717 desktop.el comint.el minibuffer.el search.texi and 419 other files
2717 2718
2718Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h 2719Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h
2719 w32console.c w32heap.c w32inevt.c w32term.h 2720 w32console.c w32heap.c w32inevt.c w32term.h
2720 2721
2721Justin Bogner: changed fortune.el 2722Justin Bogner: changed fortune.el
2722 2723
2724Justin Burkett: changed window.el
2725
2723Justin Gordon: changed ox-md.el 2726Justin Gordon: changed ox-md.el
2724 2727
2725Justin Sheehy: changed gnus-sum.el nntp.el 2728Justin Sheehy: changed gnus-sum.el nntp.el
@@ -3119,8 +3122,6 @@ Liam Stitt: changed url-file.el url-vars.el
3119 3122
3120Liang Wang: changed etags.el 3123Liang Wang: changed etags.el
3121 3124
3122Lin Sun: changed makefile-edit.el
3123
3124Lixin Chin: changed bibtex.el 3125Lixin Chin: changed bibtex.el
3125 3126
3126Lloyd Zusman: changed mml.el pgg-gpg.el 3127Lloyd Zusman: changed mml.el pgg-gpg.el
@@ -3348,9 +3349,9 @@ Martin Neitzel: changed supercite.el
3348Martin Pohlack: changed iimage.el pc-select.el 3349Martin Pohlack: changed iimage.el pc-select.el
3349 3350
3350Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c 3351Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c
3351 w32fns.c frames.texi xterm.c w32term.c frame.el xfns.c display.texi 3352 w32fns.c xterm.c frames.texi w32term.c xfns.c frame.el display.texi
3352 help.el buffer.c window.h cus-start.el frame.h dispnew.c mouse.el 3353 help.el buffer.c window.h cus-start.el frame.h dispnew.c mouse.el
3353 nsfns.m dired.el and 209 other files 3354 nsfns.m gtkutil.c and 209 other files
3354 3355
3355Martin Stjernholm: wrote cc-bytecomp.el 3356Martin Stjernholm: wrote cc-bytecomp.el
3356and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el 3357and 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
3450 locate.el paragraphs.el pcomplete.el repeat.el and 3 other files 3451 locate.el paragraphs.el pcomplete.el repeat.el and 3 other files
3451 3452
3452Mattias EngdegÄrd: changed rx.el searching.texi rx-tests.el autorevert.el 3453Mattias EngdegÄrd: changed rx.el searching.texi rx-tests.el autorevert.el
3453 regexp-opt.el calc-tests.el filenotify.el subr.el progmodes/compile.el 3454 calc-tests.el regexp-opt.el filenotify.el subr.el files.el
3454 files.el mouse.el bytecomp.el compile-tests.el autorevert-tests.el 3455 progmodes/compile.el mouse.el bytecomp.el compile-tests.el
3455 byte-opt.el bytecomp-tests.el calc-alg.el compilation.txt font.c 3456 autorevert-tests.el byte-opt.el bytecomp-tests.el calc-alg.el
3456 regex-emacs.c regexp-opt-tests.el and 121 other files 3457 compilation.txt dired.el font.c regex-emacs.c and 161 other files
3457 3458
3458Matt Lundin: changed org-agenda.el org.el org-bibtex.el org-footnote.el 3459Matt Lundin: changed org-agenda.el org.el org-bibtex.el org-footnote.el
3459 ox-publish.el org-bbdb.el org-datetree.el org-gnus.el 3460 ox-publish.el org-bbdb.el org-datetree.el org-gnus.el
@@ -3854,7 +3855,7 @@ Nil Geisweiller: changed flymake.el
3854 3855
3855Nils Ackermann: changed message.el nnmh.el reftex-vars.el 3856Nils Ackermann: changed message.el nnmh.el reftex-vars.el
3856 3857
3857Nitish Chandra: changed simple.el 3858Nitish Chinta: changed progmodes/python.el sendmail.el simple.el
3858 3859
3859N. Jackson: changed emacs.texi forms.texi 3860N. Jackson: changed emacs.texi forms.texi
3860 3861
@@ -3870,10 +3871,10 @@ Noah Lavine: changed tramp.el
3870Noah Swainland: changed calc.el 3871Noah Swainland: changed calc.el
3871 3872
3872Noam Postavsky: changed progmodes/python.el lisp-mode.el bytecomp.el 3873Noam Postavsky: changed progmodes/python.el lisp-mode.el bytecomp.el
3873 lisp-mode-tests.el term.el xdisp.c cl-macs.el eval.c 3874 lisp-mode-tests.el term.el xdisp.c eval.c cl-macs.el data.c
3874 emacs-lisp/debug.el simple.el data.c modes.texi subr.el elisp-mode.el 3875 emacs-lisp/debug.el simple.el help-fns.el modes.texi subr.el
3875 ert.el help-fns.el isearch.el processes.texi cl-print.el ffap.el 3876 elisp-mode.el ert.el isearch.el processes.texi cl-print.el diff-mode.el
3876 print.c and 357 other files 3877 ffap.el and 359 other files
3877 3878
3878Nobuyoshi Nakada: co-wrote ruby-mode.el 3879Nobuyoshi Nakada: co-wrote ruby-mode.el
3879and changed ruby-mode-tests.el 3880and changed ruby-mode-tests.el
@@ -4168,15 +4169,15 @@ Philipp Stephani: wrote callint-tests.el checkdoc-tests.el
4168 lread-tests.el mouse-tests.el xt-mouse-tests.el 4169 lread-tests.el mouse-tests.el xt-mouse-tests.el
4169and changed emacs-module.c emacs-module-tests.el json.c json-tests.el 4170and changed emacs-module.c emacs-module-tests.el json.c json-tests.el
4170 eval.c mod-test.c lisp.h lread.c nsterm.m configure.ac bytecomp.el 4171 eval.c mod-test.c lisp.h lread.c nsterm.m configure.ac bytecomp.el
4171 internals.texi gtkutil.c emacs-module.h.in files.el alloc.c electric.el 4172 internals.texi gtkutil.c emacs-module.h.in files.el alloc.c
4172 test/Makefile.in editfns.c electric-tests.el emacs.c 4173 electric-tests.el electric.el test/Makefile.in editfns.c emacs.c
4173 and 126 other files 4174 and 127 other files
4174 4175
4175Phillip Lord: wrote ps-print-tests.el 4176Phillip Lord: wrote ps-print-tests.el
4176and changed build-zips.sh lisp/Makefile.in undo.c simple.el 4177and changed build-zips.sh lisp/Makefile.in undo.c build-dep-zips.py
4177 build-dep-zips.py test/Makefile.in Makefile Makefile.in emacs.nsi 4178 simple.el test/Makefile.in Makefile Makefile.in emacs.nsi keyboard.c
4178 keyboard.c viper-cmd.el README-windows-binaries README.W32 4179 viper-cmd.el README-windows-binaries README.W32 elisp-mode-tests.el
4179 elisp-mode-tests.el ldefs-clean.el loadup.el README-scripts autoload.el 4180 ldefs-clean.el loadup.el README-scripts autoload.el
4180 automated/Makefile.in cmds.c dired.el and 171 other files 4181 automated/Makefile.in cmds.c dired.el and 171 other files
4181 4182
4182Phil Sainty: wrote autoload-longlines-mode-tests.el 4183Phil Sainty: wrote autoload-longlines-mode-tests.el
@@ -4412,11 +4413,11 @@ Roberto RodrĂ­guez: changed glossary.texi widget.texi
4412Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el 4413Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el
4413 4414
4414Robert Pluim: wrote nsm-tests.el 4415Robert Pluim: wrote nsm-tests.el
4415and changed process.c gtkutil.c processes.texi vc-git.el configure.ac 4416and changed process.c ftfont.c gtkutil.c processes.texi vc-git.el
4416 ftfont.c network-stream.el nsm.el process-tests.el files.texi font.c 4417 configure.ac font.c network-stream.el nsm.el process-tests.el xfns.c
4417 ftcrfont.c gnus-icalendar.el gnutls.el gtkutil.h 4418 dispextern.h files.texi ftcrfont.c gnus-icalendar.el gnutls.el
4418 network-stream-tests.el text.texi w32.c xfns.c xftfont.c auth.texi 4419 gtkutil.h network-stream-tests.el nsterm.m text.texi w32.c
4419 and 83 other files 4420 and 90 other files
4420 4421
4421Robert Thorpe: changed cus-start.el indent.el 4422Robert Thorpe: changed cus-start.el indent.el
4422 4423
@@ -4649,6 +4650,8 @@ and changed ob-maxima.el ob-octave.el
4649 4650
4650Sergey Poznyakoff: changed rmail.el mh-mime.el rmail.texi smtpmail.el 4651Sergey Poznyakoff: changed rmail.el mh-mime.el rmail.texi smtpmail.el
4651 4652
4653Sergey Trofimov: changed window.el
4654
4652Sergey Vinokurov: changed emacs-module-tests.el emacs-module.c mod-test.c 4655Sergey Vinokurov: changed emacs-module-tests.el emacs-module.c mod-test.c
4653 4656
4654Sergio Durigan Junior: changed eudcb-bbdb.el gdb-mi.el 4657Sergio 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
4772and changed bookmark.el package.el efaq.texi package.texi ibuffer.el 4775and changed bookmark.el package.el efaq.texi package.texi ibuffer.el
4773 mwheel.el cperl-mode.el fns.c gud.el simple.el subr.el autoinsert.el 4776 mwheel.el cperl-mode.el fns.c gud.el simple.el subr.el autoinsert.el
4774 comint-tests.el cus-edit.el delim-col.el dired-aux.el dired-x.el 4777 comint-tests.el cus-edit.el delim-col.el dired-aux.el dired-x.el
4775 em-term.el ert.texi flow-fill.el frames.texi and 146 other files 4778 em-term.el ert.texi flow-fill.el frames.texi and 147 other files
4776 4779
4777Stefan Merten: co-wrote rst.el 4780Stefan Merten: co-wrote rst.el
4778 4781
@@ -4806,10 +4809,11 @@ Stefan Wiens: changed gnus-sum.el
4806 4809
4807Steinar Bang: changed gnus-setup.el imap.el 4810Steinar Bang: changed gnus-setup.el imap.el
4808 4811
4809Ơtěpán Němec: changed INSTALL calc-ext.el cl.texi comint.el edebug.texi 4812Ơtěpán Němec: changed INSTALL calc-ext.el checkdoc.el cl.texi comint.el
4810 font-lock.el functions.texi leim-ext.el loading.texi maps.texi 4813 edebug.texi font-lock.el functions.texi gnus-sum.el insdel.c
4811 mark.texi message.texi mini.texi minibuf.texi misc.texi programs.texi 4814 leim-ext.el loading.texi maps.texi mark.texi message.texi mini.texi
4812 subr.el tips.texi url-vars.el url.texi vc-git.el and 3 other files 4815 minibuf.texi misc.texi programs.texi subr.el text.texi
4816 and 7 other files
4813 4817
4814Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi 4818Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
4815 ediff-mult.el 4819 ediff-mult.el
@@ -5567,6 +5571,8 @@ Zhang Weize: wrote ob-plantuml.el
5567 5571
5568Zhongwei Yao: changed tramp-adb.el 5572Zhongwei Yao: changed tramp-adb.el
5569 5573
5574Zhu Zihao: changed svg.el
5575
5570Zoltan Kemenczy: changed gud.el 5576Zoltan Kemenczy: changed gud.el
5571 5577
5572Zoran Milojevic: changed avoid.el 5578Zoran Milojevic: changed avoid.el
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index f4edfaf9bec..aba3028184b 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -1647,6 +1647,16 @@ adjacent to an apostrophe, like "nick's".
1647*** Set 'erc-button-url-regexp' to 'browse-url-button-regexp' 1647*** Set 'erc-button-url-regexp' to 'browse-url-button-regexp'
1648which better handles surrounding pair of parentheses. 1648which better handles surrounding pair of parentheses.
1649 1649
1650---
1651*** New function 'erc-switch-to-buffer-other-window'
1652which is like 'erc-switch-to-buffer', but opens the buffer in another
1653window.
1654
1655---
1656*** New function 'erc-track-switch-buffer-other-window'
1657which is like 'erc-track-switch-buffer', but opens the buffer in
1658another window.
1659
1650** EUDC 1660** EUDC
1651 1661
1652--- 1662---
diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index e2a6bfefb5d..ba66d0bb5df 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."
190 (let ((store-dir (expand-file-name auth-source-pass-filename))) 190 (let ((store-dir (expand-file-name auth-source-pass-filename)))
191 (mapcar 191 (mapcar
192 (lambda (file) (file-name-sans-extension (file-relative-name file store-dir))) 192 (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
193 (directory-files-recursively store-dir "\\.gpg$")))) 193 (directory-files-recursively store-dir "\\.gpg\\'"))))
194 194
195(defun auth-source-pass--find-match (host user port) 195(defun auth-source-pass--find-match (host user port)
196 "Return password-store entry data matching HOST, USER and PORT. 196 "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 6d8fe9c998f..a49f428a3c8 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."
707 shortf todo-show-first))) 707 shortf todo-show-first)))
708 (when (eq todo-show-first 'regexp) 708 (when (eq todo-show-first 'regexp)
709 (let ((rxfiles (directory-files todo-directory t 709 (let ((rxfiles (directory-files todo-directory t
710 ".*\\.todr$" t))) 710 "\\.todr\\'" t)))
711 (when (and rxfiles (> (length rxfiles) 1)) 711 (when (and rxfiles (> (length rxfiles) 1))
712 (let ((rxf (mapcar #'todo-short-file-name rxfiles))) 712 (let ((rxf (mapcar #'todo-short-file-name rxfiles)))
713 (setq fi-file (todo-absolute-file-name 713 (setq fi-file (todo-absolute-file-name
@@ -4054,7 +4054,7 @@ regexp items."
4054(defun todo-find-filtered-items-file () 4054(defun todo-find-filtered-items-file ()
4055 "Choose a filtered items file and visit it." 4055 "Choose a filtered items file and visit it."
4056 (interactive) 4056 (interactive)
4057 (let ((files (directory-files todo-directory t "\\.tod[rty]$" t)) 4057 (let ((files (directory-files todo-directory t "\\.tod[rty]\\'" t))
4058 falist file) 4058 falist file)
4059 (dolist (f files) 4059 (dolist (f files)
4060 (let ((sf-name (todo-short-file-name f)) 4060 (let ((sf-name (todo-short-file-name f))
@@ -4187,7 +4187,7 @@ multifile commands for further details."
4187 (regexp ".todr"))))) 4187 (regexp ".todr")))))
4188 (multi (> (length flist) 1)) 4188 (multi (> (length flist) 1))
4189 (rxfiles (when regexp 4189 (rxfiles (when regexp
4190 (directory-files todo-directory t ".*\\.todr$" t))) 4190 (directory-files todo-directory t "\\.todr\\'" t)))
4191 (file-exists (or (file-exists-p fname) rxfiles)) 4191 (file-exists (or (file-exists-p fname) rxfiles))
4192 bufname) 4192 bufname)
4193 (cond ((and top new (natnump new)) 4193 (cond ((and top new (natnump new))
@@ -6154,7 +6154,7 @@ the empty string (i.e., no time string)."
6154 "The :set function for user option `todo-nondiary-marker'." 6154 "The :set function for user option `todo-nondiary-marker'."
6155 (let* ((oldvalue (symbol-value symbol)) 6155 (let* ((oldvalue (symbol-value symbol))
6156 (files (append todo-files todo-archives 6156 (files (append todo-files todo-archives
6157 (directory-files todo-directory t "\\.tod[rty]$" t)))) 6157 (directory-files todo-directory t "\\.tod[rty]\\'" t))))
6158 (custom-set-default symbol value) 6158 (custom-set-default symbol value)
6159 ;; Need to reset these to get font-locking right. 6159 ;; Need to reset these to get font-locking right.
6160 (setq todo-nondiary-start (nth 0 todo-nondiary-marker) 6160 (setq todo-nondiary-start (nth 0 todo-nondiary-marker)
@@ -6207,7 +6207,7 @@ the empty string (i.e., no time string)."
6207 "The :set function for user option `todo-done-string'." 6207 "The :set function for user option `todo-done-string'."
6208 (let ((oldvalue (symbol-value symbol)) 6208 (let ((oldvalue (symbol-value symbol))
6209 (files (append todo-files todo-archives 6209 (files (append todo-files todo-archives
6210 (directory-files todo-directory t "\\.todr$" t)))) 6210 (directory-files todo-directory t "\\.todr\\'" t))))
6211 (custom-set-default symbol value) 6211 (custom-set-default symbol value)
6212 ;; Need to reset this to get font-locking right. 6212 ;; Need to reset this to get font-locking right.
6213 (setq todo-done-string-start 6213 (setq todo-done-string-start
@@ -6236,7 +6236,7 @@ the empty string (i.e., no time string)."
6236 "The :set function for user option `todo-comment-string'." 6236 "The :set function for user option `todo-comment-string'."
6237 (let ((oldvalue (symbol-value symbol)) 6237 (let ((oldvalue (symbol-value symbol))
6238 (files (append todo-files todo-archives 6238 (files (append todo-files todo-archives
6239 (directory-files todo-directory t "\\.todr$" t)))) 6239 (directory-files todo-directory t "\\.todr\\'" t))))
6240 (custom-set-default symbol value) 6240 (custom-set-default symbol value)
6241 (when (not (equal value oldvalue)) 6241 (when (not (equal value oldvalue))
6242 (dolist (f files) 6242 (dolist (f files)
@@ -6262,7 +6262,7 @@ the empty string (i.e., no time string)."
6262 "The :set function for user option `todo-highlight-item'." 6262 "The :set function for user option `todo-highlight-item'."
6263 (let ((oldvalue (symbol-value symbol)) 6263 (let ((oldvalue (symbol-value symbol))
6264 (files (append todo-files todo-archives 6264 (files (append todo-files todo-archives
6265 (directory-files todo-directory t "\\.tod[rty]$" t)))) 6265 (directory-files todo-directory t "\\.tod[rty]\\'" t))))
6266 (custom-set-default symbol value) 6266 (custom-set-default symbol value)
6267 (when (not (equal value oldvalue)) 6267 (when (not (equal value oldvalue))
6268 (dolist (f files) 6268 (dolist (f files)
diff --git a/lisp/cedet/semantic/db-ebrowse.el b/lisp/cedet/semantic/db-ebrowse.el
index 214291797db..6262efb5b8f 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'."
181 "Load all semanticdb controlled EBROWSE caches." 181 "Load all semanticdb controlled EBROWSE caches."
182 (interactive) 182 (interactive)
183 (let ((f (directory-files semanticdb-default-save-directory 183 (let ((f (directory-files semanticdb-default-save-directory
184 t (concat semanticdb-ebrowse-default-file-name "-load.el$") t))) 184 t (concat semanticdb-ebrowse-default-file-name
185 "-load\\.el\\'")
186 t)))
185 (while f 187 (while f
186 (load (car f) nil t) 188 (load (car f) nil t)
187 (setq f (cdr f))) 189 (setq f (cdr f)))
diff --git a/lisp/cedet/semantic/texi.el b/lisp/cedet/semantic/texi.el
index 760cb192159..8e8d362ceb5 100644
--- a/lisp/cedet/semantic/texi.el
+++ b/lisp/cedet/semantic/texi.el
@@ -495,7 +495,7 @@ that start with that symbol."
495 (setq tabs (cdr tabs))) 495 (setq tabs (cdr tabs)))
496 r)) 496 r))
497 (t 497 (t
498 (directory-files default-directory nil "\\.texi$")) 498 (directory-files default-directory nil "\\.texi\\'"))
499 ))) 499 )))
500 500
501;; Turns out this might not be useful. 501;; Turns out this might not be useful.
diff --git a/lisp/cedet/srecode/map.el b/lisp/cedet/srecode/map.el
index 784ebffe17c..dc949200968 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."
327 ;; 4) - Find new files and add them to the map. 327 ;; 4) - Find new files and add them to the map.
328 (dolist (dir srecode-map-load-path) 328 (dolist (dir srecode-map-load-path)
329 (when (file-exists-p dir) 329 (when (file-exists-p dir)
330 (dolist (f (directory-files dir t "\\.srt$")) 330 (dolist (f (directory-files dir t "\\.srt\\'"))
331 (when (and (not (backup-file-name-p f)) 331 (when (and (not (backup-file-name-p f))
332 (not (auto-save-file-name-p f)) 332 (not (auto-save-file-name-p f))
333 (file-readable-p f)) 333 (file-readable-p f))
diff --git a/lisp/dired.el b/lisp/dired.el
index 62e232b79fd..9583d5d809e 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3236,7 +3236,7 @@ Any other value means to ask for each directory."
3236 :group 'dired) 3236 :group 'dired)
3237 3237
3238;; Match anything but `.' and `..'. 3238;; Match anything but `.' and `..'.
3239(defvar dired-re-no-dot "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*") 3239(defvar dired-re-no-dot (rx (or (not ".") "...")))
3240 3240
3241;; Delete file, possibly delete a directory and all its files. 3241;; Delete file, possibly delete a directory and all its files.
3242;; This function is useful outside of dired. One could change its name 3242;; 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 e9f76583272..ede4edcd57e 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."
1047 ;; what is the suffix for the underlying OS. 1047 ;; what is the suffix for the underlying OS.
1048 (unless (string-match "\\.\\(elc\\|so\\|dll\\)" suf) 1048 (unless (string-match "\\.\\(elc\\|so\\|dll\\)" suf)
1049 (push suf tmp))) 1049 (push suf tmp)))
1050 (concat "^[^=.].*" (regexp-opt tmp t) "\\'"))) 1050 (concat "\\`[^=.].*" (regexp-opt tmp t) "\\'")))
1051 (files (apply #'nconc 1051 (files (apply #'nconc
1052 (mapcar (lambda (dir) 1052 (mapcar (lambda (dir)
1053 (directory-files (expand-file-name dir) 1053 (directory-files (expand-file-name dir)
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index f0a4870a698..4ff129e367a 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."
99 (setq true-names (append true-names (list dir))) 99 (setq true-names (append true-names (list dir)))
100 (setq dir (directory-file-name (or pp "."))) 100 (setq dir (directory-file-name (or pp ".")))
101 (setq curr-files (if (file-accessible-directory-p dir) 101 (setq curr-files (if (file-accessible-directory-p dir)
102 (directory-files dir nil ".\\.elc?\\(\\.gz\\)?$" t))) 102 (directory-files dir nil
103 "\\.elc?\\(?:\\.gz\\)?\\'" t)))
103 (and curr-files 104 (and curr-files
104 (not noninteractive) 105 (not noninteractive)
105 (message "Checking %d files in %s..." (length curr-files) dir)) 106 (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 db8ccbb4a79..41d8fc1a98f 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -921,11 +921,7 @@ is relative to `erc-track-switch-direction'."
921 (setq offset 0))) 921 (setq offset 0)))
922 (car (nth offset erc-modified-channels-alist)))) 922 (car (nth offset erc-modified-channels-alist))))
923 923
924(defun erc-track-switch-buffer (arg) 924(defun erc-track--switch-buffer (fun arg)
925 "Switch to the next active ERC buffer, or if there are no active buffers,
926switch back to the last non-ERC buffer visited. Next is defined by
927`erc-track-switch-direction', a negative argument will reverse this."
928 (interactive "p")
929 (if (not erc-track-mode) 925 (if (not erc-track-mode)
930 (message (concat "Enable the ERC track module if you want to use the" 926 (message (concat "Enable the ERC track module if you want to use the"
931 " tracking minor mode")) 927 " tracking minor mode"))
@@ -934,12 +930,30 @@ switch back to the last non-ERC buffer visited. Next is defined by
934 (unless (eq major-mode 'erc-mode) 930 (unless (eq major-mode 'erc-mode)
935 (setq erc-track-last-non-erc-buffer (current-buffer))) 931 (setq erc-track-last-non-erc-buffer (current-buffer)))
936 ;; and jump to the next active channel 932 ;; and jump to the next active channel
937 (switch-to-buffer (erc-track-get-active-buffer arg))) 933 (funcall fun (erc-track-get-active-buffer arg)))
938 ;; if no active channels, switch back to what we were doing before 934 ;; if no active channels, switch back to what we were doing before
939 ((and erc-track-last-non-erc-buffer 935 ((and erc-track-last-non-erc-buffer
940 erc-track-switch-from-erc 936 erc-track-switch-from-erc
941 (buffer-live-p erc-track-last-non-erc-buffer)) 937 (buffer-live-p erc-track-last-non-erc-buffer))
942 (switch-to-buffer erc-track-last-non-erc-buffer))))) 938 (funcall fun erc-track-last-non-erc-buffer)))))
939
940(defun erc-track-switch-buffer (arg)
941 "Switch to the next active ERC buffer.
942If there are no active ERC buffers, switch back to the last
943non-ERC buffer visited. The order of buffers is defined by
944`erc-track-switch-direction', and a negative argument will
945reverse it."
946 (interactive "p")
947 (erc-track--switch-buffer 'switch-to-buffer arg))
948
949(defun erc-track-switch-buffer-other-window (arg)
950 "Switch to the next active ERC buffer in another window.
951If there are no active ERC buffers, switch back to the last
952non-ERC buffer visited. The order of buffers is defined by
953`erc-track-switch-direction', and a negative argument will
954reverse it."
955 (interactive "p")
956 (erc-track--switch-buffer 'switch-to-buffer-other-window arg))
943 957
944(provide 'erc-track) 958(provide 'erc-track)
945 959
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 5c63382d86f..cc5226bf6ed 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1762,29 +1762,38 @@ nil."
1762 res))) 1762 res)))
1763 1763
1764(define-obsolete-function-alias 'erc-iswitchb 'erc-switch-to-buffer "25.1") 1764(define-obsolete-function-alias 'erc-iswitchb 'erc-switch-to-buffer "25.1")
1765(defun erc--switch-to-buffer (&optional arg)
1766 (read-buffer "Switch to ERC buffer: "
1767 (when (boundp 'erc-modified-channels-alist)
1768 (buffer-name (caar (last erc-modified-channels-alist))))
1769 t
1770 ;; Only allow ERC buffers in the same session.
1771 (let ((proc (unless arg erc-server-process)))
1772 (lambda (bufname)
1773 (let ((buf (if (consp bufname)
1774 (cdr bufname) (get-buffer bufname))))
1775 (when buf
1776 (erc--buffer-p buf (lambda () t) proc)
1777 (with-current-buffer buf
1778 (and (derived-mode-p 'erc-mode)
1779 (or (null proc)
1780 (eq proc erc-server-process))))))))))
1765(defun erc-switch-to-buffer (&optional arg) 1781(defun erc-switch-to-buffer (&optional arg)
1766 "Prompt for a ERC buffer to switch to. 1782 "Prompt for an ERC buffer to switch to.
1767When invoked with prefix argument, use all erc buffers. Without prefix 1783When invoked with prefix argument, use all ERC buffers. Without
1768ARG, allow only buffers related to same session server. 1784prefix ARG, allow only buffers related to same session server.
1769If `erc-track-mode' is in enabled, put the last element of 1785If `erc-track-mode' is in enabled, put the last element of
1770`erc-modified-channels-alist' in front of the buffer list." 1786`erc-modified-channels-alist' in front of the buffer list."
1771 (interactive "P") 1787 (interactive "P")
1772 (switch-to-buffer 1788 (switch-to-buffer (erc--switch-to-buffer arg)))
1773 (read-buffer "Switch to ERC buffer: " 1789(defun erc-switch-to-buffer-other-window (&optional arg)
1774 (when (boundp 'erc-modified-channels-alist) 1790 "Prompt for an ERC buffer to switch to in another window.
1775 (buffer-name (caar (last erc-modified-channels-alist)))) 1791When invoked with prefix argument, use all ERC buffers. Without
1776 t 1792prefix ARG, allow only buffers related to same session server.
1777 ;; Only allow ERC buffers in the same session. 1793If `erc-track-mode' is in enabled, put the last element of
1778 (let ((proc (unless arg erc-server-process))) 1794`erc-modified-channels-alist' in front of the buffer list."
1779 (lambda (bufname) 1795 (interactive "P")
1780 (let ((buf (if (consp bufname) 1796 (switch-to-buffer-other-window (erc--switch-to-buffer arg)))
1781 (cdr bufname) (get-buffer bufname))))
1782 (when buf
1783 (erc--buffer-p buf (lambda () t) proc)
1784 (with-current-buffer buf
1785 (and (derived-mode-p 'erc-mode)
1786 (or (null proc)
1787 (eq proc erc-server-process)))))))))))
1788 1797
1789(defun erc-channel-list (proc) 1798(defun erc-channel-list (proc)
1790 "Return a list of channel buffers. 1799 "Return a list of channel buffers.
diff --git a/lisp/files.el b/lisp/files.el
index f49be4f21d8..04c271d7966 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."
2668 ("\\.pas\\'" . pascal-mode) 2668 ("\\.pas\\'" . pascal-mode)
2669 ("\\.\\(dpr\\|DPR\\)\\'" . delphi-mode) 2669 ("\\.\\(dpr\\|DPR\\)\\'" . delphi-mode)
2670 ("\\.ad[abs]\\'" . ada-mode) 2670 ("\\.ad[abs]\\'" . ada-mode)
2671 ("\\.ad[bs].dg\\'" . ada-mode) 2671 ("\\.ad[bs]\\.dg\\'" . ada-mode)
2672 ("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode) 2672 ("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode)
2673 ("Imakefile\\'" . makefile-imake-mode) 2673 ("Imakefile\\'" . makefile-imake-mode)
2674 ("Makeppfile\\(?:\\.mk\\)?\\'" . makefile-makepp-mode) ; Put this before .mk 2674 ("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
2819 ("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode) 2819 ("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode)
2820 ("\\.toml\\'" . conf-toml-mode) 2820 ("\\.toml\\'" . conf-toml-mode)
2821 ("\\.desktop\\'" . conf-desktop-mode) 2821 ("\\.desktop\\'" . conf-desktop-mode)
2822 ("/\\.redshift.conf\\'" . conf-windows-mode) 2822 ("/\\.redshift\\.conf\\'" . conf-windows-mode)
2823 ("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode) 2823 ("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode)
2824 ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode) 2824 ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode)
2825 ;; ChangeLog.old etc. Other change-log-mode entries are above; 2825 ;; ChangeLog.old etc. Other change-log-mode entries are above;
@@ -5753,7 +5753,7 @@ If called interactively, then PARENTS is non-nil."
5753 (write-region "" nil filename nil 0)) 5753 (write-region "" nil filename nil 0))
5754 5754
5755(defconst directory-files-no-dot-files-regexp 5755(defconst directory-files-no-dot-files-regexp
5756 "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*" 5756 "[^.]\\|\\.\\.\\."
5757 "Regexp matching any file name except \".\" and \"..\".") 5757 "Regexp matching any file name except \".\" and \"..\".")
5758 5758
5759(defun files--force (no-such fn &rest args) 5759(defun files--force (no-such fn &rest args)
diff --git a/lisp/finder.el b/lisp/finder.el
index dc14b27a753..f04d73e098f 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -188,7 +188,7 @@ from; the default is `load-path'."
188 ;; Allow compressed files also. 188 ;; Allow compressed files also.
189 (setq package--builtins nil) 189 (setq package--builtins nil)
190 (setq finder-keywords-hash (make-hash-table :test 'eq)) 190 (setq finder-keywords-hash (make-hash-table :test 'eq))
191 (let* ((el-file-regexp "^\\([^=].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?$") 191 (let* ((el-file-regexp "\\`\\([^=].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?\\'")
192 (file-count 0) 192 (file-count 0)
193 (files (cl-loop for d in (or dirs load-path) 193 (files (cl-loop for d in (or dirs load-path)
194 when (file-exists-p (directory-file-name d)) 194 when (file-exists-p (directory-file-name d))
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index d49193ccfc5..cd24f497c96 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'."
1430 "nowait" 1430 "nowait"
1431 "internal") 1431 "internal")
1432 '(("^\\([-A-Za-z0-9_]+\\)" 1 font-lock-type-face)) 1432 '(("^\\([-A-Za-z0-9_]+\\)" 1 font-lock-type-face))
1433 '("/etc/inetd.conf\\'") 1433 '("/etc/inetd\\.conf\\'")
1434 (list 1434 (list
1435 (function 1435 (function
1436 (lambda () 1436 (lambda ()
@@ -1630,7 +1630,7 @@ like an INI file. You can add this hook to `find-file-hook'."
1630 (2 font-lock-variable-name-face) 1630 (2 font-lock-variable-name-face)
1631 (3 font-lock-constant-face))) 1631 (3 font-lock-constant-face)))
1632 ;; List of additional automode-alist expressions 1632 ;; List of additional automode-alist expressions
1633 '("/etc/named.boot\\'") 1633 '("/etc/named\\.boot\\'")
1634 ;; List of set up functions to call 1634 ;; List of set up functions to call
1635 nil)) 1635 nil))
1636 1636
@@ -1667,7 +1667,7 @@ like an INI file. You can add this hook to `find-file-hook'."
1667 ;; List of additional font-lock-expressions 1667 ;; List of additional font-lock-expressions
1668 nil 1668 nil
1669 ;; List of additional auto-mode-alist expressions 1669 ;; List of additional auto-mode-alist expressions
1670 '("/etc/resolv[e]?.conf\\'") 1670 '("/etc/resolve?\\.conf\\'")
1671 ;; List of set up functions to call 1671 ;; List of set up functions to call
1672 nil)) 1672 nil))
1673 1673
@@ -1803,7 +1803,7 @@ like an INI file. You can add this hook to `find-file-hook'."
1803 ;; List of additional font-lock-expressions 1803 ;; List of additional font-lock-expressions
1804 nil 1804 nil
1805 ;; List of additional automode-alist expressions 1805 ;; List of additional automode-alist expressions
1806 '("/etc/modules.conf" "/etc/conf.modules") 1806 '("/etc/modules\\.conf" "/etc/conf\\.modules")
1807 ;; List of set up functions to call 1807 ;; List of set up functions to call
1808 nil)) 1808 nil))
1809 1809
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 80bf21bb443..1ed5000eb36 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."
2074 (file-attributes (directory-files-and-attributes 2074 (file-attributes (directory-files-and-attributes
2075 (gnus-agent-article-name 2075 (gnus-agent-article-name
2076 "" gnus-agent-read-agentview) 2076 "" gnus-agent-read-agentview)
2077 nil "^[0-9]+$" t))) 2077 nil "\\`[0-9]+\\'" t)))
2078 (while file-attributes 2078 (while file-attributes
2079 (let ((fa (pop file-attributes))) 2079 (let ((fa (pop file-attributes)))
2080 (unless (file-attribute-type (cdr fa)) 2080 (unless (file-attribute-type (cdr fa))
@@ -3850,7 +3850,8 @@ If REREAD is not nil, downloaded articles are marked as unread."
3850 (sort (delq nil (mapcar (lambda (name) 3850 (sort (delq nil (mapcar (lambda (name)
3851 (and (not (file-directory-p (nnheader-concat dir name))) 3851 (and (not (file-directory-p (nnheader-concat dir name)))
3852 (string-to-number name))) 3852 (string-to-number name)))
3853 (directory-files dir nil "^[0-9]+$" t))) 3853 (directory-files
3854 dir nil "\\`[0-9]+\\'" t)))
3854 '>) 3855 '>)
3855 (progn (gnus-make-directory dir) nil))) 3856 (progn (gnus-make-directory dir) nil)))
3856 nov-arts 3857 nov-arts
@@ -4110,7 +4111,7 @@ agent has fetched."
4110 (setq delta sum)) 4111 (setq delta sum))
4111 (let ((sum (- (nth 2 entry))) 4112 (let ((sum (- (nth 2 entry)))
4112 (info (directory-files-and-attributes 4113 (info (directory-files-and-attributes
4113 path nil "^-?[0-9]+$" t)) 4114 path nil "\\`-?[0-9]+\\'" t))
4114 file) 4115 file)
4115 (while (setq file (pop info)) 4116 (while (setq file (pop info))
4116 (cl-incf sum (float (or (file-attribute-size (cdr file)) 0)))) 4117 (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 8b9acfe0510..02a8ea723d3 100644
--- a/lisp/gnus/gnus-cache.el
+++ b/lisp/gnus/gnus-cache.el
@@ -501,7 +501,7 @@ Returns the list of articles removed."
501 (when (file-exists-p dir) 501 (when (file-exists-p dir)
502 (setq articles 502 (setq articles
503 (sort (mapcar (lambda (name) (string-to-number name)) 503 (sort (mapcar (lambda (name) (string-to-number name))
504 (directory-files dir nil "^[0-9]+$" t)) 504 (directory-files dir nil "\\`[0-9]+\\'" t))
505 '<)) 505 '<))
506 ;; Update the cache active file, just to synch more. 506 ;; Update the cache active file, just to synch more.
507 (if articles 507 (if articles
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 41b63e23232..46b70eaf275 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'."
2981 (if (file-directory-p (car files)) 2981 (if (file-directory-p (car files))
2982 (setq out (nconc (directory-files 2982 (setq out (nconc (directory-files
2983 (car files) t 2983 (car files) t
2984 (concat (gnus-score-file-regexp) "$")))) 2984 (concat (gnus-score-file-regexp) "\\'"))))
2985 (push (car files) out)) 2985 (push (car files) out))
2986 (setq files (cdr files))) 2986 (setq files (cdr files)))
2987 (setq gnus-internal-global-score-files out))) 2987 (setq gnus-internal-global-score-files out)))
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 83a85161aa0..f0d328d334f 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -768,7 +768,7 @@ nil. See also `gnus-bind-print-variables'."
768If there's no subdirectory, delete DIRECTORY as well." 768If there's no subdirectory, delete DIRECTORY as well."
769 (when (file-directory-p directory) 769 (when (file-directory-p directory)
770 (let ((files (directory-files 770 (let ((files (directory-files
771 directory t "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")) 771 directory t (rx (or (not ".") "..."))))
772 file dir) 772 file dir)
773 (while files 773 (while files
774 (setq file (pop files)) 774 (setq file (pop files))
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index 4037221f496..af37df07f97 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.")
1674 did-unpack)) 1674 did-unpack))
1675 1675
1676(defun gnus-uu-dir-files (dir) 1676(defun gnus-uu-dir-files (dir)
1677 (let ((dirs (directory-files dir t "[^/][^\\.][^\\.]?$")) 1677 (let ((dirs (directory-files dir t (rx (or (not ".") "..."))))
1678 files file) 1678 files file)
1679 (while dirs 1679 (while dirs
1680 (if (file-directory-p (setq file (car dirs))) 1680 (if (file-directory-p (setq file (car dirs)))
diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el
index e5dda990d6b..a3c26ea4ac0 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'."
219 (nnheader-re-read-dir pathname) 219 (nnheader-re-read-dir pathname)
220 (setq dir (mapcar (lambda (name) (string-to-number (substring name 1))) 220 (setq dir (mapcar (lambda (name) (string-to-number (substring name 1)))
221 (ignore-errors (directory-files 221 (ignore-errors (directory-files
222 pathname nil "^#[0-9]+#$" t)))) 222 pathname nil "\\`#[0-9]+#\\'" t))))
223 (dolist (n dir) 223 (dolist (n dir)
224 (unless (file-exists-p 224 (unless (file-exists-p
225 (setq file (expand-file-name (int-to-string n) pathname))) 225 (setq file (expand-file-name (int-to-string n) pathname)))
diff --git a/lisp/gnus/nnmh.el b/lisp/gnus/nnmh.el
index d2f63bd3db1..581a408009d 100644
--- a/lisp/gnus/nnmh.el
+++ b/lisp/gnus/nnmh.el
@@ -172,7 +172,7 @@ as unread by Gnus.")
172 (setq dir 172 (setq dir
173 (sort 173 (sort
174 (mapcar 'string-to-number 174 (mapcar 'string-to-number
175 (directory-files pathname nil "^[0-9]+$" t)) 175 (directory-files pathname nil "\\`[0-9]+\\'" t))
176 '<)) 176 '<))
177 (cond 177 (cond
178 (dir 178 (dir
@@ -360,7 +360,7 @@ as unread by Gnus.")
360 (nnmh-possibly-change-directory group server) 360 (nnmh-possibly-change-directory group server)
361 (let ((articles (mapcar 'string-to-number 361 (let ((articles (mapcar 'string-to-number
362 (directory-files 362 (directory-files
363 nnmh-current-directory nil "^[0-9]+$")))) 363 nnmh-current-directory nil "\\`[0-9]+\\'"))))
364 (when articles 364 (when articles
365 (setcar active (apply 'min articles)) 365 (setcar active (apply 'min articles))
366 (setcdr active (apply 'max articles)))))) 366 (setcdr active (apply 'max articles))))))
@@ -371,7 +371,7 @@ as unread by Gnus.")
371 ;; Delete all articles in GROUP. 371 ;; Delete all articles in GROUP.
372 (if (not force) 372 (if (not force)
373 () ; Don't delete the articles. 373 () ; Don't delete the articles.
374 (let ((articles (directory-files nnmh-current-directory t "^[0-9]+$"))) 374 (let ((articles (directory-files nnmh-current-directory t "\\`[0-9]+\\'")))
375 (while articles 375 (while articles
376 (when (file-writable-p (car articles)) 376 (when (file-writable-p (car articles))
377 (nnheader-message 5 "Deleting article %s in %s..." 377 (nnheader-message 5 "Deleting article %s in %s..."
@@ -485,7 +485,7 @@ as unread by Gnus.")
485 ;; Find the highest number in the group. 485 ;; Find the highest number in the group.
486 (let ((files (sort 486 (let ((files (sort
487 (mapcar 'string-to-number 487 (mapcar 'string-to-number
488 (directory-files dir nil "^[0-9]+$")) 488 (directory-files dir nil "\\`[0-9]+\\'"))
489 '>))) 489 '>)))
490 (when files 490 (when files
491 (setcdr active (car files))))) 491 (setcdr active (car files)))))
@@ -509,7 +509,7 @@ as unread by Gnus.")
509 (let* ((dir nnmh-current-directory) 509 (let* ((dir nnmh-current-directory)
510 (files (sort (mapcar 'string-to-number 510 (files (sort (mapcar 'string-to-number
511 (directory-files nnmh-current-directory 511 (directory-files nnmh-current-directory
512 nil "^[0-9]+$" t)) 512 nil "\\`[0-9]+\\'" t))
513 '<)) 513 '<))
514 (nnmh-file (concat dir ".nnmh-articles")) 514 (nnmh-file (concat dir ".nnmh-articles"))
515 new articles) 515 new articles)
diff --git a/lisp/gnus/nnspool.el b/lisp/gnus/nnspool.el
index da13a56001b..33b68fa989e 100644
--- a/lisp/gnus/nnspool.el
+++ b/lisp/gnus/nnspool.el
@@ -260,7 +260,7 @@ there.")
260 t) 260 t)
261 ;; Yes, completely empty spool directories *are* possible. 261 ;; Yes, completely empty spool directories *are* possible.
262 ;; Fix by Sudish Joseph <joseph@cis.ohio-state.edu> 262 ;; Fix by Sudish Joseph <joseph@cis.ohio-state.edu>
263 (when (setq dir (directory-files pathname nil "^[0-9]+$" t)) 263 (when (setq dir (directory-files pathname nil "\\`[0-9]+\\'" t))
264 (setq dir (sort (mapcar 'string-to-number dir) '<))) 264 (setq dir (sort (mapcar 'string-to-number dir) '<)))
265 (if dir 265 (if dir
266 (nnheader-insert 266 (nnheader-insert
diff --git a/lisp/gnus/spam-stat.el b/lisp/gnus/spam-stat.el
index 2e03608b5df..3da45a2b623 100644
--- a/lisp/gnus/spam-stat.el
+++ b/lisp/gnus/spam-stat.el
@@ -557,7 +557,7 @@ check the variable `spam-stat-score-data'."
557 557
558(defun spam-stat-process-directory (dir func) 558(defun spam-stat-process-directory (dir func)
559 "Process all the regular files in directory DIR using function FUNC." 559 "Process all the regular files in directory DIR using function FUNC."
560 (let* ((files (directory-files dir t "^[^.]")) 560 (let* ((files (directory-files dir t "\\`[^.]"))
561 (max (/ (length files) 100.0)) 561 (max (/ (length files) 100.0))
562 (count 0)) 562 (count 0))
563 (with-temp-buffer 563 (with-temp-buffer
@@ -601,7 +601,7 @@ If VERBOSE is non-nil display names of files detected as spam or
601non-spam in a temporary buffer. If it is the symbol `ham', 601non-spam in a temporary buffer. If it is the symbol `ham',
602display non-spam files; otherwise display spam files." 602display non-spam files; otherwise display spam files."
603 (interactive "DDirectory: ") 603 (interactive "DDirectory: ")
604 (let* ((files (directory-files dir t "^[^.]")) 604 (let* ((files (directory-files dir t "\\`[^.]"))
605 display-files 605 display-files
606 buffer-score 606 buffer-score
607 (total (length files)) 607 (total (length files))
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index cc00c722ccc..0a99b8d6a36 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -623,7 +623,7 @@ FILE is the file where FUNCTION was probably defined."
623 ;; of the *packages* in which the function is defined. 623 ;; of the *packages* in which the function is defined.
624 (let* ((name (symbol-name symbol)) 624 (let* ((name (symbol-name symbol))
625 (re (concat "\\_<" (regexp-quote name) "\\_>")) 625 (re (concat "\\_<" (regexp-quote name) "\\_>"))
626 (news (directory-files data-directory t "\\`NEWS.[1-9]")) 626 (news (directory-files data-directory t "\\`NEWS\\.[1-9]"))
627 (place nil) 627 (place nil)
628 (first nil)) 628 (first nil))
629 (with-temp-buffer 629 (with-temp-buffer
diff --git a/lisp/help.el b/lisp/help.el
index e40ed479e0d..b7d867eb70e 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -361,7 +361,7 @@ With argument, display info only for the selected version."
361 (setq res (cons (match-string-no-properties 1) res))))) 361 (setq res (cons (match-string-no-properties 1) res)))))
362 (cons "NEWS" 362 (cons "NEWS"
363 (directory-files data-directory nil 363 (directory-files data-directory nil
364 "^NEWS\\.[0-9][-0-9]*$" nil))) 364 "\\`NEWS\\.[0-9][-0-9]*\\'" nil)))
365 (sort (delete-dups res) #'string>))) 365 (sort (delete-dups res) #'string>)))
366 (current (car all-versions))) 366 (current (car all-versions)))
367 (setq version (completing-read 367 (setq version (completing-read
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 193b1d7c2c2..3299cc55a28 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -3059,7 +3059,7 @@ of each directory."
3059 (while quail-dirs 3059 (while quail-dirs
3060 (setq dirname (car quail-dirs)) 3060 (setq dirname (car quail-dirs))
3061 (when dirname 3061 (when dirname
3062 (setq pkg-list (directory-files dirname 'full "\\.el$")) 3062 (setq pkg-list (directory-files dirname 'full "\\.el\\'"))
3063 (while pkg-list 3063 (while pkg-list
3064 (with-temp-buffer 3064 (with-temp-buffer
3065 (insert-file-contents (car pkg-list)) 3065 (insert-file-contents (car pkg-list))
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index eec20ee3294..a6dcd02dc68 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\"."
553 (if (file-directory-p filename) 553 (if (file-directory-p filename)
554 (progn 554 (progn
555 (message "Converting all tit files in the directory %s" filename) 555 (message "Converting all tit files in the directory %s" filename)
556 (setq files (directory-files filename t "\\.tit$"))) 556 (setq files (directory-files filename t "\\.tit\\'")))
557 (setq files (list filename))) 557 (setq files (list filename)))
558 (while files 558 (while files
559 (setq file (expand-file-name (car files))) 559 (setq file (expand-file-name (car files)))
diff --git a/lisp/mail/mspools.el b/lisp/mail/mspools.el
index 9c0c3fe5ca9..94b0886c75f 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
223 ;; So I create a vm-spool-files entry for each of those mail drops 223 ;; So I create a vm-spool-files entry for each of those mail drops
224 (mapcar 'file-name-sans-extension 224 (mapcar 'file-name-sans-extension
225 (directory-files mspools-folder-directory nil 225 (directory-files mspools-folder-directory nil
226 (format "^[^.]+\\.%s" mspools-suffix))) 226 (format "\\`[^.]+\\.%s" mspools-suffix)))
227 )) 227 ))
228 )) 228 ))
229 229
@@ -357,7 +357,7 @@ nil."
357 (if (null mspools-folder-directory) 357 (if (null mspools-folder-directory)
358 (error "Set `mspools-folder-directory' to where the spool files are")) 358 (error "Set `mspools-folder-directory' to where the spool files are"))
359 (setq folders (directory-files mspools-folder-directory nil 359 (setq folders (directory-files mspools-folder-directory nil
360 (format "^[^.]+\\.%s$" mspools-suffix))) 360 (format "\\`[^.]+\\.%s\\'" mspools-suffix)))
361 (setq folders (mapcar 'mspools-size-folder folders)) 361 (setq folders (mapcar 'mspools-size-folder folders))
362 (setq folders (delq nil folders)) 362 (setq folders (delq nil folders))
363 (setq mspools-files folders) 363 (setq mspools-files folders)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 40d34702e4e..44cde7cb5a9 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -474,7 +474,7 @@ the frame where you have the RMAIL buffer displayed."
474 :type 'directory 474 :type 'directory
475 :group 'rmail-files) 475 :group 'rmail-files)
476;;;###autoload 476;;;###autoload
477(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail$") 477(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail\\'")
478 "Regexp for which files are secondary Rmail files." 478 "Regexp for which files are secondary Rmail files."
479 :type 'regexp 479 :type 'regexp
480 :group 'rmail-files) 480 :group 'rmail-files)
@@ -4364,7 +4364,8 @@ This has an effect only if a summary buffer exists."
4364 (font-lock-fontify-region (point-min) (point-max))))))) 4364 (font-lock-fontify-region (point-min) (point-max)))))))
4365 4365
4366;;; Speedbar support for RMAIL files. 4366;;; Speedbar support for RMAIL files.
4367(defcustom rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$" 4367(defcustom rmail-speedbar-match-folder-regexp
4368 "\\`[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?\\'"
4368 "Regexp matching Rmail folder names to be displayed in Speedbar. 4369 "Regexp matching Rmail folder names to be displayed in Speedbar.
4369Enabling this permits Speedbar to display your folders for easy 4370Enabling this permits Speedbar to display your folders for easy
4370browsing, and moving of messages." 4371browsing, and moving of messages."
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index e2d4d7dd057..bf20128b612 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."
4170 (ange-ftp-delete-directory file recursive trash) 4170 (ange-ftp-delete-directory file recursive trash)
4171 (delete-file file trash))) 4171 (delete-file file trash)))
4172 ;; We do not want to delete "." and "..". 4172 ;; We do not want to delete "." and "..".
4173 (directory-files 4173 (directory-files dir 'full (rx (or (not ".") "...")))))
4174 dir 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
4175 (if parsed 4174 (if parsed
4176 (let* ((host (nth 0 parsed)) 4175 (let* ((host (nth 0 parsed))
4177 (user (nth 1 parsed)) 4176 (user (nth 1 parsed))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index a16085d7fb0..c8fdc5d7285 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2464,7 +2464,7 @@ remote file names."
2464 (regexp-opt 2464 (regexp-opt
2465 (mapcar 2465 (mapcar
2466 #'file-name-sans-extension 2466 #'file-name-sans-extension
2467 (directory-files dir nil "^tramp.+\\.elc?$")) 2467 (directory-files dir nil "\\`tramp.+\\.elc?\\'"))
2468 'paren)))) 2468 'paren))))
2469 (mapatoms 2469 (mapatoms
2470 (lambda (atom) 2470 (lambda (atom)
diff --git a/lisp/obsolete/gulp.el b/lisp/obsolete/gulp.el
index 6589ede69db..08ab3884d41 100644
--- a/lisp/obsolete/gulp.el
+++ b/lisp/obsolete/gulp.el
@@ -94,7 +94,7 @@ is left in the `*gulp*' buffer at the end."
94 (interactive "DRequest updates for Lisp directory: \nP") 94 (interactive "DRequest updates for Lisp directory: \nP")
95 (with-current-buffer (get-buffer-create gulp-tmp-buffer) 95 (with-current-buffer (get-buffer-create gulp-tmp-buffer)
96 (let ((m-p-alist (gulp-create-m-p-alist 96 (let ((m-p-alist (gulp-create-m-p-alist
97 (directory-files dir nil "^[^=].*\\.el$" t) 97 (directory-files dir nil "\\`[^=].*\\.el\\'" t)
98 dir)) 98 dir))
99 ;; Temporarily inhibit undo in the *gulp* buffer. 99 ;; Temporarily inhibit undo in the *gulp* buffer.
100 (buffer-undo-list t) 100 (buffer-undo-list t)
diff --git a/lisp/obsolete/vc-arch.el b/lisp/obsolete/vc-arch.el
index b186a5c52a2..bcdefac5187 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
597 (unless (file-writable-p rl-dir) 597 (unless (file-writable-p rl-dir)
598 (error "No writable revlib directory found")) 598 (error "No writable revlib directory found"))
599 (message "Revlib at %s" rl-dir) 599 (message "Revlib at %s" rl-dir)
600 (let* ((archives (directory-files rl-dir 'full "[^.]\\|...")) 600 (let* ((archives (directory-files rl-dir 'full (rx (or (not ".") "..."))))
601 (categories 601 (categories
602 (apply 'append 602 (apply 'append
603 (mapcar (lambda (dir) 603 (mapcar (lambda (dir)
604 (when (file-directory-p dir) 604 (when (file-directory-p dir)
605 (directory-files dir 'full "[^.]\\|..."))) 605 (directory-files dir 'full
606 (rx (or (not ".") "...")))))
606 archives))) 607 archives)))
607 (branches 608 (branches
608 (apply 'append 609 (apply 'append
609 (mapcar (lambda (dir) 610 (mapcar (lambda (dir)
610 (when (file-directory-p dir) 611 (when (file-directory-p dir)
611 (directory-files dir 'full "[^.]\\|..."))) 612 (directory-files dir 'full
613 (rx (or (not ".") "...")))))
612 categories))) 614 categories)))
613 (versions 615 (versions
614 (apply 'append 616 (apply 'append
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el
index a5ad97a468b..debc27cfbff 100644
--- a/lisp/org/ob-core.el
+++ b/lisp/org/ob-core.el
@@ -3055,7 +3055,7 @@ of `org-babel-temporary-directory'."
3055 (delete-file file))) 3055 (delete-file file)))
3056 ;; We do not want to delete "." and "..". 3056 ;; We do not want to delete "." and "..".
3057 (directory-files org-babel-temporary-directory 'full 3057 (directory-files org-babel-temporary-directory 'full
3058 "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")) 3058 (rx (or (not ".") "..."))))
3059 (delete-directory org-babel-temporary-directory)) 3059 (delete-directory org-babel-temporary-directory))
3060 (error 3060 (error
3061 (message "Failed to remove temporary Org-babel directory %s" 3061 (message "Failed to remove temporary Org-babel directory %s"
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index f7ac9d36032..28e7667cda1 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'."
1883 :group 'ebnf-syntactic) 1883 :group 'ebnf-syntactic)
1884 1884
1885 1885
1886(defcustom ebnf-file-suffix-regexp "\\.[Bb][Nn][Ff]$" 1886(defcustom ebnf-file-suffix-regexp "\\.[Bb][Nn][Ff]\\'"
1887 "Specify file name suffix that contains EBNF. 1887 "Specify file name suffix that contains EBNF.
1888 1888
1889See `ebnf-eps-directory' command." 1889See `ebnf-eps-directory' command."
@@ -2715,7 +2715,7 @@ Used in functions `ebnf-reset-style', `ebnf-push-style' and
2715 (ebnf-syntax . 'ebnf) 2715 (ebnf-syntax . 'ebnf)
2716 (ebnf-iso-alternative-p . nil) 2716 (ebnf-iso-alternative-p . nil)
2717 (ebnf-iso-normalize-p . nil) 2717 (ebnf-iso-normalize-p . nil)
2718 (ebnf-file-suffix-regexp . "\\.[Bb][Nn][Ff]$") 2718 (ebnf-file-suffix-regexp . "\\.[Bb][Nn][Ff]\\'")
2719 (ebnf-eps-prefix . "ebnf--") 2719 (ebnf-eps-prefix . "ebnf--")
2720 (ebnf-eps-header-font . '(11 Helvetica "Black" "White" bold)) 2720 (ebnf-eps-header-font . '(11 Helvetica "Black" "White" bold))
2721 (ebnf-eps-header . nil) 2721 (ebnf-eps-header . nil)
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index b42e6f73ab9..bae2bb66403 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -155,7 +155,7 @@ See `compilation-error-regexp-alist'.")
155If PROGRAM is non-nil, use that instead of \"find\"." 155If PROGRAM is non-nil, use that instead of \"find\"."
156 ;; Pick file to search from location we know 156 ;; Pick file to search from location we know
157 (let* ((dir (file-truename data-directory)) 157 (let* ((dir (file-truename data-directory))
158 (file (car (directory-files dir nil "^[^.]")))) 158 (file (car (directory-files dir nil "\\`[^.]"))))
159 (with-temp-buffer 159 (with-temp-buffer
160 (call-process (or program "find") 160 (call-process (or program "find")
161 nil 161 nil
diff --git a/lisp/simple.el b/lisp/simple.el
index 7c8ac413d35..abf5ee26251 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -5146,10 +5146,11 @@ property, in the way that `yank' does."
5146 5146
5147(defun yank (&optional arg) 5147(defun yank (&optional arg)
5148 "Reinsert (\"paste\") the last stretch of killed text. 5148 "Reinsert (\"paste\") the last stretch of killed text.
5149More precisely, reinsert the most recent kill, which is the 5149More precisely, reinsert the most recent kill, which is the stretch of
5150stretch of killed text most recently killed OR yanked. Put point 5150text most recently killed OR yanked, as returned by `current-kill' (which
5151at the end, and set mark at the beginning without activating it. 5151see). Put point at the end, and set mark at the beginning without
5152With just \\[universal-argument] as argument, put point at beginning, and mark at end. 5152activating it. With just \\[universal-argument] as argument, put point
5153at beginning, and mark at end.
5153With argument N, reinsert the Nth most recent kill. 5154With argument N, reinsert the Nth most recent kill.
5154 5155
5155This command honors the `yank-handled-properties' and 5156This command honors the `yank-handled-properties' and
diff --git a/lisp/startup.el b/lisp/startup.el
index 1f545c66922..5af264e3ef7 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1373,10 +1373,10 @@ please check its value")
1373 ((not (eq system-type 'windows-nt)) 1373 ((not (eq system-type 'windows-nt))
1374 (concat "~" init-file-user "/.emacs")) 1374 (concat "~" init-file-user "/.emacs"))
1375 ;; Else deal with the Windows situation. 1375 ;; Else deal with the Windows situation.
1376 ((directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$") 1376 ((directory-files "~" nil "\\`\\.emacs\\(\\.elc?\\)?\\'")
1377 ;; Prefer .emacs on Windows. 1377 ;; Prefer .emacs on Windows.
1378 "~/.emacs") 1378 "~/.emacs")
1379 ((directory-files "~" nil "^_emacs\\(\\.elc?\\)?$") 1379 ((directory-files "~" nil "\\`_emacs\\(\\.elc?\\)?\\'")
1380 ;; Also support _emacs for compatibility, but warn about it. 1380 ;; Also support _emacs for compatibility, but warn about it.
1381 (push `(initialization 1381 (push `(initialization
1382 ,(format-message 1382 ,(format-message
diff --git a/lisp/textmodes/refer.el b/lisp/textmodes/refer.el
index 2865b422732..8d8223a7326 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'."
377 dir files) 377 dir files)
378 (while (setq dir (car dirs)) 378 (while (setq dir (car dirs))
379 (setq files 379 (setq files
380 (append (directory-files dir t "\\.bib$") 380 (append (directory-files dir t "\\.bib\\'")
381 files)) 381 files))
382 (setq dirs (cdr dirs))) 382 (setq dirs (cdr dirs)))
383 files)) 383 files))
diff --git a/lisp/url/url-about.el b/lisp/url/url-about.el
index 59c233b58cf..5fe817cc0e8 100644
--- a/lisp/url/url-about.el
+++ b/lisp/url/url-about.el
@@ -37,7 +37,7 @@
37 (mapc (lambda (f) 37 (mapc (lambda (f)
38 (if (string-match "url-\\(.*\\).el$" f) 38 (if (string-match "url-\\(.*\\).el$" f)
39 (push (match-string 1 f) schemes))) 39 (push (match-string 1 f) schemes)))
40 (directory-files d nil "^url-.*\\.el$"))) 40 (directory-files d nil "\\`url-.*\\.el\\'")))
41 load-path) 41 load-path)
42 (put 'url-extension-protocols 'schemes schemes) 42 (put 'url-extension-protocols 'schemes schemes)
43 schemes))))) 43 schemes)))))
diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el
index 00796e5d63f..273f37c10d6 100644
--- a/lisp/vc/vc-rcs.el
+++ b/lisp/vc/vc-rcs.el
@@ -247,7 +247,7 @@ to the RCS command."
247 (setq subdir (expand-file-name "RCS" 247 (setq subdir (expand-file-name "RCS"
248 (file-name-directory file))))) 248 (file-name-directory file)))))
249 (not (directory-files (file-name-directory file) 249 (not (directory-files (file-name-directory file)
250 nil ".*,v$" t)) 250 nil ",v\\'" t))
251 (yes-or-no-p "Create RCS subdirectory? ") 251 (yes-or-no-p "Create RCS subdirectory? ")
252 (make-directory subdir)) 252 (make-directory subdir))
253 (apply #'vc-do-command "*vc*" 0 "ci" file 253 (apply #'vc-do-command "*vc*" 0 "ci" file
@@ -312,8 +312,7 @@ whether to remove it."
312 (and (string= (file-name-nondirectory (directory-file-name dir)) "RCS") 312 (and (string= (file-name-nondirectory (directory-file-name dir)) "RCS")
313 ;; check whether RCS dir is empty, i.e. it does not 313 ;; check whether RCS dir is empty, i.e. it does not
314 ;; contain any files except "." and ".." 314 ;; contain any files except "." and ".."
315 (not (directory-files dir nil 315 (not (directory-files dir nil (rx (or (not ".") "..."))))
316 "^\\([^.]\\|\\.[^.]\\|\\.\\.[^.]\\).*"))
317 (yes-or-no-p (format "Directory %s is empty; remove it? " dir)) 316 (yes-or-no-p (format "Directory %s is empty; remove it? " dir))
318 (delete-directory dir))))) 317 (delete-directory dir)))))
319 318
diff --git a/src/nsterm.m b/src/nsterm.m
index 3ce223307ba..2f181eafd03 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5837,6 +5837,21 @@ ns_term_shutdown (int sig)
5837#endif 5837#endif
5838 5838
5839#ifdef NS_IMPL_COCOA 5839#ifdef NS_IMPL_COCOA
5840 /* Some functions/methods in CoreFoundation/Foundation increase the
5841 maximum number of open files for the process in their first call.
5842 We make dummy calls to them and then reduce the resource limit
5843 here, since pselect cannot handle file descriptors that are
5844 greater than or equal to FD_SETSIZE. */
5845 CFSocketGetTypeID ();
5846 CFFileDescriptorGetTypeID ();
5847 [[NSFileHandle alloc] init];
5848 struct rlimit rlim;
5849 if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
5850 && rlim.rlim_cur > FD_SETSIZE)
5851 {
5852 rlim.rlim_cur = FD_SETSIZE;
5853 setrlimit (RLIMIT_NOFILE, &rlim);
5854 }
5840 if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) { 5855 if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) {
5841 /* Set the app's activation policy to regular when we run outside 5856 /* Set the app's activation policy to regular when we run outside
5842 of a bundle. This is already done for us by Info.plist when we 5857 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 b3fc129ef08..8c75d91bb58 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'."
668 (setq attr (directory-files-and-attributes tmp-name 'full)) 668 (setq attr (directory-files-and-attributes tmp-name 'full))
669 (dolist (elt attr) 669 (dolist (elt attr)
670 (should (equal (file-attributes (car elt)) (cdr elt)))) 670 (should (equal (file-attributes (car elt)) (cdr elt))))
671 (setq attr (directory-files-and-attributes tmp-name nil "^b")) 671 (setq attr (directory-files-and-attributes tmp-name nil "\\`b"))
672 (should (equal (mapcar #'car attr) '("bar")))) 672 (should (equal (mapcar #'car attr) '("bar"))))
673 673
674 ;; Cleanup. 674 ;; Cleanup.
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 7db9ad42f1b..49668258407 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."
3350 (tramp--test-file-attributes-equal-p 3350 (tramp--test-file-attributes-equal-p
3351 (file-attributes (car elt)) (cdr elt)))) 3351 (file-attributes (car elt)) (cdr elt))))
3352 3352
3353 (setq attr (directory-files-and-attributes tmp-name2 nil "^b")) 3353 (setq attr (directory-files-and-attributes tmp-name2 nil "\\`b"))
3354 (should (equal (mapcar #'car attr) '("bar" "boz")))) 3354 (should (equal (mapcar #'car attr) '("bar" "boz"))))
3355 3355
3356 ;; Cleanup. 3356 ;; Cleanup.