aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrea Corallo2020-03-09 07:49:33 +0000
committerAndrea Corallo2020-03-09 07:49:33 +0000
commit87ee6ff4eb6df369965f37fba073e3ef1bb5d0bd (patch)
tree2af79516bca28e875879e01cb45b16fa4525a905
parent9838ee7ed870844470703b2648f8b59c0575bd46 (diff)
parenta461baae79af3cea8780e9d9a845a1e859e96e5e (diff)
downloademacs-87ee6ff4eb6df369965f37fba073e3ef1bb5d0bd.tar.gz
emacs-87ee6ff4eb6df369965f37fba073e3ef1bb5d0bd.zip
Merge remote-tracking branch 'savannah/master' into HEAD
-rw-r--r--ChangeLog.3519
-rw-r--r--admin/authors.el13
-rwxr-xr-xadmin/merge-gnulib4
-rw-r--r--doc/emacs/building.texi5
-rw-r--r--doc/emacs/custom.texi17
-rw-r--r--doc/emacs/macos.texi69
-rw-r--r--doc/emacs/mini.texi47
-rw-r--r--doc/lispref/compile.texi6
-rw-r--r--doc/lispref/files.texi10
-rw-r--r--doc/lispref/frames.texi2
-rw-r--r--doc/lispref/minibuf.texi20
-rw-r--r--doc/lispref/os.texi5
-rw-r--r--doc/lispref/searching.texi5
-rw-r--r--doc/lispref/tips.texi2
-rw-r--r--doc/lispref/variables.texi12
-rw-r--r--doc/misc/cc-mode.texi52
-rw-r--r--doc/misc/eieio.texi4
-rw-r--r--doc/misc/gnus.texi6
-rw-r--r--etc/AUTHORS1324
-rw-r--r--etc/DEBUG4
-rw-r--r--etc/NEWS4
-rw-r--r--etc/NEWS.2775
-rw-r--r--etc/TODO71
-rw-r--r--lib-src/etags.c5
-rw-r--r--lib/futimens.c37
-rw-r--r--lib/gnulib.mk.in28
-rw-r--r--lib/open.c4
-rw-r--r--lib/utimensat.c160
-rw-r--r--lisp/cedet/pulse.el2
-rw-r--r--lisp/emacs-lisp/bytecomp.el68
-rw-r--r--lisp/emacs-lisp/checkdoc.el4
-rw-r--r--lisp/emacs-lisp/cl-extra.el6
-rw-r--r--lisp/emacs-lisp/cursor-sensor.el112
-rw-r--r--lisp/emacs-lisp/rx.el86
-rw-r--r--lisp/emacs-lisp/seq.el10
-rw-r--r--lisp/emacs-lisp/timer.el3
-rw-r--r--lisp/erc/erc.el2
-rw-r--r--lisp/files.el7
-rw-r--r--lisp/frame.el12
-rw-r--r--lisp/gnus/gnus-art.el6
-rw-r--r--lisp/gnus/gnus-cloud.el4
-rw-r--r--lisp/gnus/spam-stat.el2
-rw-r--r--lisp/help-fns.el6
-rw-r--r--lisp/icomplete.el15
-rw-r--r--lisp/international/mule.el2
-rw-r--r--lisp/loadhist.el2
-rw-r--r--lisp/minibuffer.el11
-rw-r--r--lisp/net/tramp-adb.el6
-rw-r--r--lisp/net/tramp-gvfs.el4
-rw-r--r--lisp/net/tramp-sh.el3
-rw-r--r--lisp/net/tramp-smb.el3
-rw-r--r--lisp/net/tramp-sudoedit.el3
-rw-r--r--lisp/progmodes/cc-cmds.el93
-rw-r--r--lisp/progmodes/cc-langs.el9
-rw-r--r--lisp/progmodes/cc-mode.el111
-rw-r--r--lisp/progmodes/cc-vars.el9
-rw-r--r--lisp/progmodes/vhdl-mode.el2
-rw-r--r--lisp/simple.el13
-rw-r--r--lisp/subr.el25
-rw-r--r--lisp/tab-line.el36
-rw-r--r--lisp/tar-mode.el2
-rw-r--r--lisp/term/rxvt.el21
-rw-r--r--lisp/textmodes/bibtex.el50
-rw-r--r--lisp/textmodes/table.el21
-rw-r--r--lisp/vc/vc-cvs.el21
-rw-r--r--lisp/vc/vc-dir.el7
-rw-r--r--lisp/vc/vc.el18
-rw-r--r--lisp/windmove.el12
-rw-r--r--lisp/window.el27
-rw-r--r--m4/futimens.m465
-rw-r--r--m4/gnulib-comp.m438
-rw-r--r--m4/utimensat.m469
-rw-r--r--nt/gnulib-cfg.mk2
-rw-r--r--nt/inc/sys/stat.h5
-rw-r--r--nt/mingw-cfg.site4
-rw-r--r--src/composite.c18
-rw-r--r--src/conf_post.h7
-rw-r--r--src/editfns.c19
-rw-r--r--src/emacs.c1
-rw-r--r--src/fileio.c53
-rw-r--r--src/font.c4
-rw-r--r--src/font.h2
-rw-r--r--src/fontset.c12
-rw-r--r--src/fringe.c7
-rw-r--r--src/gnutls.c19
-rw-r--r--src/intervals.c12
-rw-r--r--src/intervals.h24
-rw-r--r--src/nsterm.m11
-rw-r--r--src/pdumper.c9
-rw-r--r--src/process.c13
-rw-r--r--src/sysdep.c15
-rw-r--r--src/systime.h3
-rw-r--r--src/timefns.c83
-rw-r--r--src/w32.c106
-rw-r--r--src/w32term.c42
-rw-r--r--src/xdisp.c4
-rw-r--r--test/lisp/emacs-lisp/rx-tests.el26
-rw-r--r--test/lisp/filenotify-tests.el11
-rw-r--r--test/lisp/files-tests.el4
-rw-r--r--test/lisp/net/tramp-tests.el3
100 files changed, 2782 insertions, 1275 deletions
diff --git a/ChangeLog.3 b/ChangeLog.3
index d35a01aa74b..fc41c1f7dc3 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -1,3 +1,186 @@
12020-02-27 Nicolas Petton <nicolas@petton.fr>
2
3 * admin/authors.el (authors-ignored-files): Fix entries.
4
52020-02-26 Eric Abrahamsen <eric@ericabrahamsen.net>
6
7 Fix documented slot name of eieio-instance-tracker class
8
9 * doc/misc/eieio.texi (eieio-instance-tracker): The code has the slot
10 name as `tracking-symbol', not `tracker-symbol'.
11
122020-02-26 Robert Pluim <rpluim@gmail.com>
13
14 Range-check width passed to define-fringe-bitmap
15
16 This prevents a crash when attempting to create a zero-width bitmap.
17
18 * src/fringe.c (Fdefine_fringe_bitmap): Check value of width,
19 signal an error if outside documented range (Bug#39662).
20
212020-02-26 Nicolas Petton <nicolas@petton.fr>
22
23 * admin/authors.el: Add missing entries
24
252020-02-26 Noam Postavsky <npostavs@gmail.com>
26
27 Define libgnutls-version properly
28
29 * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: Define with
30 DEFVAR_LISP and add docstring, so that this variable will accessible by
31 help facilities.
32
332020-02-25 Dmitry Gutov <dgutov@yandex.ru>
34
35 vc-dir-ignore: More accurately choose base directory
36
37 * lisp/vc/vc-dir.el:
38 (vc-dir-ignore): Use it (bug#37189).
39
40 * lisp/vc/vc.el:
41 (vc--ignore-base-dir): Extract from vc-ignore.
42
432020-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
44
45 * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix
46
47 Make sure we always work in the selected-window's buffer.
48
492020-02-23 Alan Mackenzie <acm@muc.de>
50
51 CC Mode: Protect against consecutive calls to before-change-functions ...
52
53 without an intervening call to after-change-functions. This would have been a
54 workaround to bug #38691 had the causes of that bug not been removed.
55
56 * lisp/progmodes/cc-mode.el (c-just-done-before-change): Add an extra value to
57 this variable, 'whole-buffer, this being set by c-before-change as a signal to
58 c-after-change that although c-before-change has run, it has assumed the
59 entire buffer as the change region.
60 (c-before-change, c-after-change): Adapt to the new meaning of the above.
61
622020-02-23 Noam Postavsky <npostavs@gmail.com>
63
64 Shorten some ppss struct field names
65
66 * lisp/emacs-lisp/syntax.el (ppss): Capitalize docstrings.
67 (ppss-comment-depth): Renamed from ppss-comment-nesting.
68 (ppss-quoted-p): Renamed from ppss-after-quote-p.
69 (ppss-min-depth): Renamed from ppss-minimum-paren-depth.
70 (ppss-open-parens): Renamed from ppss-open-paren-positions.
71 * etc/NEWS: Announce the ppss-* accessors.
72
732020-02-23 Alan Mackenzie <acm@muc.de>
74
75 Java Mode: Fix fontification of variable decl inside `for'
76
77 * lisp/progmodes/cc-engine.el (c-forward-declarator): In place of a test for
78 C++ Mode, test for either C++ Mode or Java Mode.
79
802020-02-23 Alan Mackenzie <acm@muc.de>
81
82 CC Mode: Fontify foo in "const auto foo :" correctly
83
84 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While attempting to
85 find a declaration's identifier, recast the latest found id. as that
86 identifier when there is no other type identifier and the result of the most
87 recent c-forward-type call is 'maybe or 'found. In the latter case, remove
88 the id. from the found types list, too.
89
902020-02-23 Juri Linkov <juri@linkov.net>
91
92 * lisp/replace.el (occur-engine-line): Revert part of fb16313025 (bug#39597)
93
942020-02-23 Dmitry Gutov <dgutov@yandex.ru>
95
96 Move more logic to vc-ignore from vc-default-ignore
97
98 * lisp/vc/vc-dir.el (vc-dir-ignore):
99 Pass relative file names to vc-ignore.
100
101 * lisp/vc/vc.el (vc-ignore): Move the responsibility of
102 constructing the ignore pattern (right now, most often a relative
103 file name) using a file name received from the user, here.
104 (vc-default-ignore): ...from here (bug#37189, see discussion).
105 Also clarify the docstring.
106
1072020-02-22 Eli Zaretskii <eliz@gnu.org>
108
109 Warn about the likes of "[:alnum:]" in regexps
110
111 * doc/lispref/searching.texi (Char Classes): Warn about erroneous
112 usage of named character classes. Suggested by Stephen Leake
113 <stephen_leake@stephe-leake.org>.
114
1152020-02-22 Wolfgang Scherer <wolfgang.scherer@gmx.de>
116
117 Don't write absolute filenames and duplicate strings to CVS ignore files
118
119 * lisp/vc/vc-cvs.el (vc-cvs-ignore): Expand filename correctly
120 and pass on only the basename as the pattern.
121 (vc-cvs-append-to-ignore) Do not write duplicate strings to
122 .cvsignore. New optional parameter SORT to more explicitly
123 control sorting of the ignore entries. (Bug#37215)
124 * lisp/vc/pcvs.el (cvs-mode-ignore): Call 'vc-cvs-append-to-ignore'
125 with SORT argument.
126
1272020-02-21 Federico Tedin <federicotedin@gmail.com>
128
129 Fix cursor-sensor--detect when current buf != selected window's buf
130
131 * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
132 trying to read text properties from position taken from another
133 buffer. (Bug#38740)
134
1352020-02-21 Eli Zaretskii <eliz@gnu.org>
136
137 * doc/emacs/sending.texi (Mail Sending): Fix index entries.
138
1392020-02-21 Allen Li <darkfeline@felesatra.moe>
140
141 Document 'message-send-mail-function' in the Emacs manual
142
143 Most of the manual here addresses Message mode, yet talks about
144 'send-mail-function' which is used for Mail mode.
145 Fixing this completely requires more involved work, but for now at
146 least document the difference here.
147
148 * doc/emacs/sending.texi (Mail Sending): Mention
149 'message-send-mail-function'. (Bug#39639)
150
1512020-02-21 Allen Li <darkfeline@felesatra.moe>
152
153 Fix reference to 'message-send-and-exit' in Emacs manual
154
155 Most of the manual here addresses Message mode, and C-c C-c directly
156 above cites the Message mode command, not the Mail mode command.
157
158 * doc/emacs/sending.texi (Mail Sending): Fix reference. (Bug#39639)
159
1602020-02-21 Steven Allen <steven@stebalien.com>
161
162 Skip shell prompt on current line in Eshell even if it's protected
163
164 When the eshell prompt is protected (e.g., with rear non-sticky,
165 inhibited movements, etc.), 'beginning-of-line' won't move to the
166 actual beginning of the line and therefore won't skip over the
167 prompt.
168 * lisp/eshell/em-prompt.el (eshell-previous-prompt): Use
169 'forward-line' to go to the beginning of the line, even if it's
170 protected. (Bug#39627)
171
1722020-02-20 Mattias Engdegård <mattiase@acm.org>
173
174 Fix broken regexps
175
176 Incorrect escaping prevented these from working as intended.
177 Found by relint.
178
179 * lisp/progmodes/cc-defs.el (c-search-backward-char-property):
180 Add missing backslash.
181 * lisp/progmodes/simula.el (simula-mode):
182 Remove one backslash too many.
183
12020-02-19 Paul Eggert <eggert@cs.ucla.edu> 1842020-02-19 Paul Eggert <eggert@cs.ucla.edu>
2 185
3 * Makefile.in (PREFERRED_BRANCH): Now emacs-27. 186 * Makefile.in (PREFERRED_BRANCH): Now emacs-27.
@@ -766,7 +949,7 @@
766 949
767 Improve explanation of available font backends under X 950 Improve explanation of available font backends under X
768 951
769 * frames.texi (Font and Color Parameters): Clarify that you can't 952 * doc/emacs/frames.texi (Font and Color Parameters): Clarify that you can't
770 have HarfBuzz and non-HarfBuzz at the same time for xft and cairo 953 have HarfBuzz and non-HarfBuzz at the same time for xft and cairo
771 font backends. 954 font backends.
772 955
@@ -1313,7 +1496,7 @@
1313 the monitors need to be adjusted, not just the width and height 1496 the monitors need to be adjusted, not just the width and height
1314 (Bug#31223). 1497 (Bug#31223).
1315 1498
1316 * xfns.c (Fx_display_monitor_attributes_list): Scale top-left 1499 * src/xfns.c (Fx_display_monitor_attributes_list): Scale top-left
1317 coordinates. 1500 coordinates.
1318 1501
13192020-01-07 Dmitry Gutov <dgutov@yandex.ru> 15022020-01-07 Dmitry Gutov <dgutov@yandex.ru>
@@ -1359,11 +1542,11 @@
1359 * configure.ac: Remove check for sys/prctl.h and prctl, check for 1542 * configure.ac: Remove check for sys/prctl.h and prctl, check for
1360 pthread_setname_np instead. 1543 pthread_setname_np instead.
1361 1544
1362 * systhread.c: Remove sys/prctl.h include. 1545 * src/systhread.c: Remove sys/prctl.h include.
1363 (sys_thread_create) [HAVE_PTHREAD_SETNAME_NP]: Use pthread_setname_np 1546 (sys_thread_create) [HAVE_PTHREAD_SETNAME_NP]: Use pthread_setname_np
1364 to set the name of the newly created thread (Bug#38632). 1547 to set the name of the newly created thread (Bug#38632).
1365 1548
1366 * thread.c (Fmake_thread): Use ENCODE_SYSTEM instead of 1549 * src/thread.c (Fmake_thread): Use ENCODE_SYSTEM instead of
1367 ENCODE_UTF_8 on the thread name. 1550 ENCODE_UTF_8 on the thread name.
1368 1551
13692020-01-05 Paul Eggert <eggert@cs.ucla.edu> 15522020-01-05 Paul Eggert <eggert@cs.ucla.edu>
@@ -2845,7 +3028,7 @@
2845 3028
2846 Check for GUI frame in ns_color_index_to_rgba 3029 Check for GUI frame in ns_color_index_to_rgba
2847 3030
2848 * nsterm.m (ns_color_index_to_rgba): Check that we're using a GUI 3031 * src/nsterm.m (ns_color_index_to_rgba): Check that we're using a GUI
2849 frame before converting color (Bug#38564). 3032 frame before converting color (Bug#38564).
2850 3033
28512019-12-11 Michael Albinus <michael.albinus@gmx.de> 30342019-12-11 Michael Albinus <michael.albinus@gmx.de>
@@ -4588,7 +4771,7 @@
4588 4771
4589 Make gnus-mailing-list-archive recognize https 4772 Make gnus-mailing-list-archive recognize https
4590 4773
4591 * /lisp/gnus/gnus-ml.el (gnus-mailing-list-archive): Accept https in 4774 * lisp/gnus/gnus-ml.el (gnus-mailing-list-archive): Accept https in
4592 regexp. 4775 regexp.
4593 4776
45942019-11-22 Filipp Gunbin <fgunbin@fastmail.fm> 47772019-11-22 Filipp Gunbin <fgunbin@fastmail.fm>
@@ -4896,7 +5079,7 @@
4896 Remember the full font description instead of just the family so that 5079 Remember the full font description instead of just the family so that
4897 size/style/weight settings are preserved. 5080 size/style/weight settings are preserved.
4898 5081
4899 * gtkutil.c (xg_get_font) [HAVE_GTK3]: Use the pango font 5082 * src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Use the pango font
4900 description to set/get the current font (Bug#28901). 5083 description to set/get the current font (Bug#28901).
4901 5084
49022019-11-19 Robert Pluim <rpluim@gmail.com> 50852019-11-19 Robert Pluim <rpluim@gmail.com>
@@ -4961,7 +5144,7 @@
4961 Our minimum GTK3 version is 3.10, the font filter functions appeared 5144 Our minimum GTK3 version is 3.10, the font filter functions appeared
4962 in 3.2. 5145 in 3.2.
4963 5146
4964 * gtkutil.c (xg_font_filter) [HAVE_GTK3]: Just check for HAVE_GTK3. 5147 * src/gtkutil.c (xg_font_filter) [HAVE_GTK3]: Just check for HAVE_GTK3.
4965 (xg_get_font) [HAVE_GTK3]: Same here. 5148 (xg_get_font) [HAVE_GTK3]: Same here.
4966 5149
49672019-11-18 Michael Albinus <michael.albinus@gmx.de> 51502019-11-18 Michael Albinus <michael.albinus@gmx.de>
@@ -5414,14 +5597,14 @@
5414 5597
5415 Make so-long disable flymake, flyspell, flycheck 5598 Make so-long disable flymake, flyspell, flycheck
5416 5599
5417 * so-long.el (so-long-minor-modes): Add flymake-mode, flyspell-mode, 5600 * lisp/so-long.el (so-long-minor-modes): Add flymake-mode, flyspell-mode,
5418 and flycheck-mode. 5601 and flycheck-mode.
5419 5602
54202019-11-14 Phil Sainty <psainty@orcon.net.nz> 56032019-11-14 Phil Sainty <psainty@orcon.net.nz>
5421 5604
5422 Support loading so-long.el on top of an earlier version 5605 Support loading so-long.el on top of an earlier version
5423 5606
5424 * so-long.el (so-long-version, so-long--latest-version): New variables. 5607 * lisp/so-long.el (so-long-version, so-long--latest-version): New variables.
5425 5608
5426 This enables users to safely load version 1.0 of so-long.el on top of 5609 This enables users to safely load version 1.0 of so-long.el on top of
5427 an earlier version, as well as making provisions for doing likewise 5610 an earlier version, as well as making provisions for doing likewise
@@ -5431,7 +5614,7 @@
5431 5614
5432 Backwards-compatibility function definitions for so-long.el 5615 Backwards-compatibility function definitions for so-long.el
5433 5616
5434 * so-long.el (so-long-inhibit-whitespace-mode) 5617 * lisp/so-long.el (so-long-inhibit-whitespace-mode)
5435 (so-long-make-buffer-read-only, so-long-revert-buffer-read-only) 5618 (so-long-make-buffer-read-only, so-long-revert-buffer-read-only)
5436 (so-long-inhibit-global-hl-line-mode): Restore dummy definitions of 5619 (so-long-inhibit-global-hl-line-mode): Restore dummy definitions of
5437 now-obsolete hook functions used by earlier versions of so-long.el, 5620 now-obsolete hook functions used by earlier versions of so-long.el,
@@ -5559,7 +5742,7 @@
5559 5742
5560 time-stamp: update support for time zone numeric offset 5743 time-stamp: update support for time zone numeric offset
5561 5744
5562 * time-stamp.el (time-stamp-string-preprocess): Change new format for 5745 * lisp/time-stamp.el (time-stamp-string-preprocess): Change new format for
5563 numeric time zone from %:z to %5z to match format-time-string better. 5746 numeric time zone from %:z to %5z to match format-time-string better.
5564 (time-stamp-format): Document support for numeric time zone. 5747 (time-stamp-format): Document support for numeric time zone.
5565 See discussion in bug#32931. 5748 See discussion in bug#32931.
@@ -6108,7 +6291,7 @@
6108 6291
6109 Widen around c-font-lock-fontify-region. This fixes bug #38049. 6292 Widen around c-font-lock-fontify-region. This fixes bug #38049.
6110 6293
6111 * lisp/progmodes/cc-mode (c-font-lock-fontify-region): Widen in this function, 6294 * lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Widen in this function,
6112 to ensure that the CC Mode font locking mechanism can examine characters 6295 to ensure that the CC Mode font locking mechanism can examine characters
6113 outside the given region. 6296 outside the given region.
6114 6297
@@ -6430,14 +6613,14 @@
6430 6613
6431 time-stamp: add support for time zone numeric offset 6614 time-stamp: add support for time zone numeric offset
6432 6615
6433 * time-stamp.el: Implement %:z as expanding to the numeric time zone 6616 * lisp/time-stamp.el: Implement %:z as expanding to the numeric time zone
6434 offset, to address the feature request of bug#32931. Do not document it 6617 offset, to address the feature request of bug#32931. Do not document it
6435 yet, to discourage compatibility problems in mixed Emacs 26 and Emacs 27 6618 yet, to discourage compatibility problems in mixed Emacs 26 and Emacs 27
6436 environments. Documentation will be added in a subsequent release at 6619 environments. Documentation will be added in a subsequent release at
6437 least two years later. (We cannot yet use %z for numeric time zone 6620 least two years later. (We cannot yet use %z for numeric time zone
6438 because in Emacs 26 it was documented to do something else.) 6621 because in Emacs 26 it was documented to do something else.)
6439 6622
6440 * time-stamp-tests.el (time-stamp-test-format-time-zone): expand this 6623 * test/lisp/time-stamp-tests.el (time-stamp-test-format-time-zone): expand this
6441 test and break it into two tests, time-stamp-test-format-time-zone-name 6624 test and break it into two tests, time-stamp-test-format-time-zone-name
6442 and time-stamp-test-format-time-zone-offset. 6625 and time-stamp-test-format-time-zone-offset.
6443 6626
@@ -7297,7 +7480,7 @@
7297 7480
7298 Support \pagebreak[0] for paragraph-separate in latex-mode 7481 Support \pagebreak[0] for paragraph-separate in latex-mode
7299 7482
7300 * textmodes/tex-mode.el (latex-mode): In 'paragraph-separate' allow 7483 * lisp/textmodes/tex-mode.el (latex-mode): In 'paragraph-separate' allow
7301 optional argument ('[0]', etc.) for '\pagebreak[0]'. (Bug#19039) 7484 optional argument ('[0]', etc.) for '\pagebreak[0]'. (Bug#19039)
7302 7485
73032019-10-30 Tom Tromey <tom@tromey.com> 74862019-10-30 Tom Tromey <tom@tromey.com>
@@ -7717,7 +7900,7 @@
7717 7900
77182019-10-27 Eric Ludlam <ericludlam@gmail.com> 79012019-10-27 Eric Ludlam <ericludlam@gmail.com>
7719 7902
7720 * test/lisp/cedet/semantic-utest: silence compiler warnings 7903 * test/lisp/cedet/semantic-utest.el: silence compiler warnings
7721 7904
7722 * test/lisp/cedet/semantic-utest-c.el 7905 * test/lisp/cedet/semantic-utest-c.el
7723 (semantic-test-c-preprocessor-simulation): Use with-current-buffer. 7906 (semantic-test-c-preprocessor-simulation): Use with-current-buffer.
@@ -7756,14 +7939,14 @@
7756 7939
7757 time-stamp-time-zone: update customization 7940 time-stamp-time-zone: update customization
7758 7941
7759 * time-stamp.el (time-stamp-time-zone): Support customization with 7942 * lisp/time-stamp.el (time-stamp-time-zone): Support customization with
7760 an integer offset (a new possible value of the ZONE argument to 7943 an integer offset (a new possible value of the ZONE argument to
7761 format-time-string in Emacs 27). 7944 format-time-string in Emacs 27).
7762 Update the safe-local-variable predicate from string-or-null-p 7945 Update the safe-local-variable predicate from string-or-null-p
7763 (describing time-stamp-time-zone's domain before 2015) to new 7946 (describing time-stamp-time-zone's domain before 2015) to new
7764 predicate time-stamp-zone-type-p (describing the current domain). 7947 predicate time-stamp-zone-type-p (describing the current domain).
7765 7948
7766 * time-stamp-tests.el (time-stamp-test-helper-zone-type-p): New test. 7949 * test/lisp/time-stamp-tests.el (time-stamp-test-helper-zone-type-p): New test.
7767 7950
77682019-10-27 Eli Zaretskii <eliz@gnu.org> 79512019-10-27 Eli Zaretskii <eliz@gnu.org>
7769 7952
@@ -7918,7 +8101,7 @@
7918 8101
7919 time-stamp-tests: add name prefix to tests of formatting 8102 time-stamp-tests: add name prefix to tests of formatting
7920 8103
7921 * time-stamp-tests.el: rename all the time-stamp-string formatting tests 8104 * test/lisp/time-stamp-tests.el: rename all the time-stamp-string formatting tests
7922 to have the word "format" in their name, to make room in the namespace 8105 to have the word "format" in their name, to make room in the namespace
7923 for other, future tests. 8106 for other, future tests.
7924 8107
@@ -8119,7 +8302,7 @@
8119 8302
8120 time-stamp-tests: consistently name the time vars 8303 time-stamp-tests: consistently name the time vars
8121 8304
8122 * time-stamp-tests.el (with-time-stamp-test-env): rename local variable 8305 * test/lisp/time-stamp-tests.el (with-time-stamp-test-env): rename local variable
8123 'ref-time' to 'ref-time1', for parallelism with ref-time2 and ref-time3. 8306 'ref-time' to 'ref-time1', for parallelism with ref-time2 and ref-time3.
8124 8307
81252019-10-25 Michael Albinus <michael.albinus@gmx.de> 83082019-10-25 Michael Albinus <michael.albinus@gmx.de>
@@ -9997,7 +10180,7 @@
9997 10180
9998 Changed handle_face_prop_general prototype. 10181 Changed handle_face_prop_general prototype.
9999 10182
10000 * src/xdisp.h (handle_face_prop_general): Changed function prototype 10183 * src/xdisp.c (handle_face_prop_general): Changed function prototype
10001 to receive different arguments. 10184 to receive different arguments.
10002 10185
100032019-10-14 Jimmy Aguilar Mena <spacibba@aol.com> 101862019-10-14 Jimmy Aguilar Mena <spacibba@aol.com>
@@ -10257,12 +10440,12 @@
10257 10440
10258 Minor tweaks to time-stamp documentation strings 10441 Minor tweaks to time-stamp documentation strings
10259 10442
10260 * time-stamp.el (time-stamp): Reformat the explanation of the 10443 * lisp/time-stamp.el (time-stamp): Reformat the explanation of the
10261 variables that affect time-stamp, for easier reading. In particular, 10444 variables that affect time-stamp, for easier reading. In particular,
10262 wrap the documentation to 75 characters, so that it displays neatly as 10445 wrap the documentation to 75 characters, so that it displays neatly as
10263 a before-save-hook customization option. 10446 a before-save-hook customization option.
10264 10447
10265 * time-stamp-tests.el (with-time-stamp-test-env): Use imperative voice, 10448 * test/lisp/time-stamp-tests.el (with-time-stamp-test-env): Use imperative voice,
10266 per checkdoc. 10449 per checkdoc.
10267 10450
102682019-10-13 Alan Mackenzie <acm@muc.de> 104512019-10-13 Alan Mackenzie <acm@muc.de>
@@ -10759,7 +10942,7 @@
10759 10942
10760 Remove tabs from time-stamp-format documentation 10943 Remove tabs from time-stamp-format documentation
10761 10944
10762 * time-stamp.el (time-stamp-format): Untabify the doc string, so 10945 * lisp/time-stamp.el (time-stamp-format): Untabify the doc string, so
10763 the two-column layout displays consistently in several contexts, 10946 the two-column layout displays consistently in several contexts,
10764 in particular when displayed by customize-variable. 10947 in particular when displayed by customize-variable.
10765 10948
@@ -10911,13 +11094,13 @@
10911 11094
10912 time-stamp: revert recent change to "%04y" 11095 time-stamp: revert recent change to "%04y"
10913 11096
10914 * time-stamp.el (time-stamp-string-preprocess): Revert change to "%04y" 11097 * lisp/time-stamp.el (time-stamp-string-preprocess): Revert change to "%04y"
10915 format made 2 weeks ago by commit 0e56883878 (the previous commit to 11098 format made 2 weeks ago by commit 0e56883878 (the previous commit to
10916 this file). Although undocumented, "%04y" was discovered to be in use 11099 this file). Although undocumented, "%04y" was discovered to be in use
10917 in the wild (2016) and had not issued a warning that it would change. 11100 in the wild (2016) and had not issued a warning that it would change.
10918 Add a warning that it will change. 11101 Add a warning that it will change.
10919 11102
10920 * time-stamp-tests.el (time-stamp-test-year-2digit): add test of "%04y" 11103 * test/lisp/time-stamp-tests.el (time-stamp-test-year-2digit): add test of "%04y"
10921 11104
109222019-10-09 Simen Heggestøyl <simenheg@gmail.com> 111052019-10-09 Simen Heggestøyl <simenheg@gmail.com>
10923 11106
@@ -10931,7 +11114,7 @@
10931 11114
10932 Expand testing of time-stamp format "%y" 11115 Expand testing of time-stamp format "%y"
10933 11116
10934 * time-stamp-tests.el (time-stamp-test-year): break into two tests, 11117 * test/lisp/time-stamp-tests.el (time-stamp-test-year): break into two tests,
10935 time-stamp-test-year-2digit and time-stamp-test-year-4digit. Expand 11118 time-stamp-test-year-2digit and time-stamp-test-year-4digit. Expand
10936 time-stamp-test-year-2digit to look more like tests for other 2-digit 11119 time-stamp-test-year-2digit to look more like tests for other 2-digit
10937 conversions. 11120 conversions.
@@ -11484,7 +11667,7 @@
11484 11667
114852019-10-06 Stefan Monnier <monnier@iro.umontreal.ca> 116682019-10-06 Stefan Monnier <monnier@iro.umontreal.ca>
11486 11669
11487 * eieio-core.el (eieio--full-class-object): New function. 11670 * lisp/emacs-lisp/eieio-core.el (eieio--full-class-object): New function.
11488 11671
11489 Rather than explicitly call eieio-class-un-autoload, the autoloading is 11672 Rather than explicitly call eieio-class-un-autoload, the autoloading is
11490 now performed on-demand if you use eieio--full-class-object. 11673 now performed on-demand if you use eieio--full-class-object.
@@ -12481,24 +12664,24 @@
12481 12664
12482 Move undocumented time-stamp formats closer to format-time-string 12665 Move undocumented time-stamp formats closer to format-time-string
12483 12666
12484 * time-stamp.el (time-stamp-string-preprocess): Update some undocumented 12667 * lisp/time-stamp.el (time-stamp-string-preprocess): Update some undocumented
12485 formatting characters of time-stamp format for closer (still incomplete) 12668 formatting characters of time-stamp format for closer (still incomplete)
12486 alignment with format-time-string. They have displayed a warning since 12669 alignment with format-time-string. They have displayed a warning since
12487 Emacs 20 (released in 1997), so it is unlikely anyone is using them. 12670 Emacs 20 (released in 1997), so it is unlikely anyone is using them.
12488 12671
12489 * time-stamp-tests.el: Update tests to match new expectations. 12672 * test/lisp/time-stamp-tests.el: Update tests to match new expectations.
12490 12673
124912019-09-30 Stephen Gildea <stepheng+savannah@gildea.com> 126742019-09-30 Stephen Gildea <stepheng+savannah@gildea.com>
12492 12675
12493 time-stamp doc: recommend formats closer to format-time-string 12676 time-stamp doc: recommend formats closer to format-time-string
12494 12677
12495 * time-stamp.el (time-stamp-format, time-stamp-pattern): Update 12678 * lisp/time-stamp.el (time-stamp-format, time-stamp-pattern): Update
12496 recommended (documented) formats. No code changes, just documentation. 12679 recommended (documented) formats. No code changes, just documentation.
12497 All recommended formats are compatible at least as far back as Emacs 12680 All recommended formats are compatible at least as far back as Emacs
12498 22.1 (released in 2007) and are now closer to compatibility with 12681 22.1 (released in 2007) and are now closer to compatibility with
12499 format-time-string. 12682 format-time-string.
12500 12683
12501 * time-stamp-tests.el: Update test comments to match. 12684 * test/lisp/time-stamp-tests.el: Update test comments to match.
12502 12685
125032019-09-30 Juanma Barranquero <lekktu@gmail.com> 126862019-09-30 Juanma Barranquero <lekktu@gmail.com>
12504 12687
@@ -12816,7 +12999,7 @@
12816 12999
12817 Reorganize time-stamp tests 13000 Reorganize time-stamp tests
12818 13001
12819 * time-stamp-tests.el: Group tests by when the format was or will be 13002 * test/lisp/time-stamp-tests.el: Group tests by when the format was or will be
12820 documented. Add tests for a few more undocumented, volatile formats. 13003 documented. Add tests for a few more undocumented, volatile formats.
12821 Change AM hours test time to be a different hour from PM test time. 13004 Change AM hours test time to be a different hour from PM test time.
12822 (Making these changes to the tests now will minimize test changes 13005 (Making these changes to the tests now will minimize test changes
@@ -13123,7 +13306,7 @@
13123 :format property of this widget. If %n is used at the end of the 13306 :format property of this widget. If %n is used at the end of the
13124 format string, unrelated widgets get indented. (Bug#12533) 13307 format string, unrelated widgets get indented. (Bug#12533)
13125 13308
13126 * test/wid-edit-tests.el (widget-test-indentation-after-%n) 13309 * test/lisp/wid-edit-tests.el (widget-test-indentation-after-%n)
13127 (widget-test-indentation-after-newline) 13310 (widget-test-indentation-after-newline)
13128 (widget-test-newline-and-indent-same-widget): New tests. 13311 (widget-test-newline-and-indent-same-widget): New tests.
13129 13312
@@ -13521,7 +13704,7 @@
13521 13704
13522 Add different faces for different citation levels in Message mode 13705 Add different faces for different citation levels in Message mode
13523 13706
13524 * message.el (message-font-lock-keywords) 13707 * lisp/gnus/message.el (message-font-lock-keywords)
13525 (message-font-lock-make-cited-text-matcher): Add support for 13708 (message-font-lock-make-cited-text-matcher): Add support for
13526 different faces for different citation levels. The faces are 13709 different faces for different citation levels. The faces are
13527 defined in the faces named `message-cited-text-N': N of the 13710 defined in the faces named `message-cited-text-N': N of the
@@ -13638,15 +13821,15 @@
13638 13821
13639 Expand time-stamp unit tests to cover all formatting options 13822 Expand time-stamp unit tests to cover all formatting options
13640 13823
13641 * time-stamp-tests.el: Expand unit tests to cover all formatting options. 13824 * test/lisp/time-stamp-tests.el: Expand unit tests to cover all formatting options.
13642 These tests validate time-stamp-pattern formatting that has existed 13825 These tests validate time-stamp-pattern formatting that has existed
13643 since at least Emacs 22 (released in 2007). The tests cover both 13826 since at least Emacs 22 (released in 2007). The tests cover both
13644 documented behavior and behavior implemented to support future migrations. 13827 documented behavior and behavior implemented to support future migrations.
13645 13828
13646 * time-stamp.el (time-stamp-string): Add a second argument (TIME) to 13829 * test/lisp/time-stamp-tests.el (time-stamp-string): Add a second argument (TIME) to
13647 open a testing seam. Have the unit tests call this public function. 13830 open a testing seam. Have the unit tests call this public function.
13648 13831
13649 * time-stamp.el (time-stamp-string, time-stamp-string-preprocess): 13832 * test/lisp/time-stamp-tests.el (time-stamp-string, time-stamp-string-preprocess):
13650 Remove the second pass through time-string--format. (Previously both 13833 Remove the second pass through time-string--format. (Previously both
13651 functions called it.) It was used only to handle "%", but this is now 13834 functions called it.) It was used only to handle "%", but this is now
13652 handled by having time-stamp-string-preprocess not double it. 13835 handled by having time-stamp-string-preprocess not double it.
@@ -15762,7 +15945,7 @@
15762 15945
15763 Fix flymake-proc temporary file deletion bug 15946 Fix flymake-proc temporary file deletion bug
15764 15947
15765 * list/progmodes/flymake-proc.el (flymake-proc-create-temp-inplace): 15948 * lisp/progmodes/flymake-proc.el (flymake-proc-create-temp-inplace):
15766 Include a time string part (hour + minute + second + nanosecond) in 15949 Include a time string part (hour + minute + second + nanosecond) in
15767 the temporary name to make it unique enough. 15950 the temporary name to make it unique enough.
15768 (flymake-proc-legacy-flymake): Store temporary file names in the 15951 (flymake-proc-legacy-flymake): Store temporary file names in the
@@ -18541,7 +18724,7 @@
18541 18724
18542 password-cache: differentiate null values from non-existent entries 18725 password-cache: differentiate null values from non-existent entries
18543 18726
18544 * password-cache.el (password-in-cache-p, password-cache-add): 18727 * lisp/password-cache.el (password-in-cache-p, password-cache-add):
18545 properly detect non-existent entry. (Bug#36834) 18728 properly detect non-existent entry. (Bug#36834)
18546 18729
185472019-08-11 Eli Zaretskii <eliz@gnu.org> 187302019-08-11 Eli Zaretskii <eliz@gnu.org>
@@ -19560,7 +19743,7 @@
19560 19743
19561 easy-menu-define doc string fix 19744 easy-menu-define doc string fix
19562 19745
19563 * emacs-lisp/easymenu.el (easy-menu-define): Docstring :label and 19746 * lisp/emacs-lisp/easymenu.el (easy-menu-define): Docstring :label and
19564 :help of the menu itself. 19747 :help of the menu itself.
19565 19748
195662019-08-03 Lars Ingebrigtsen <larsi@gnus.org> 197492019-08-03 Lars Ingebrigtsen <larsi@gnus.org>
@@ -19866,7 +20049,7 @@
19866 * lisp/url/url-http.el (url-http-simple-after-change-function) 20049 * lisp/url/url-http.el (url-http-simple-after-change-function)
19867 (url-http-content-length-after-change-function): 20050 (url-http-content-length-after-change-function):
19868 Use byte-count-to-string-function. 20051 Use byte-count-to-string-function.
19869 * test/lisp/files-test.el (files-test-file-size-human-readable): 20052 * test/lisp/files-tests.el (files-test-file-size-human-readable):
19870 Test file-size-human-readable-iec. 20053 Test file-size-human-readable-iec.
19871 20054
198722019-08-02 Eli Zaretskii <eliz@gnu.org> 200552019-08-02 Eli Zaretskii <eliz@gnu.org>
@@ -21074,7 +21257,7 @@
21074 * doc/emacs/display.texi (Colors): Specify the convention used for 21257 * doc/emacs/display.texi (Colors): Specify the convention used for
21075 "#RGB" color triplets. 21258 "#RGB" color triplets.
21076 21259
21077 * test/lisp/tty-colors-tests.el: New file. 21260 * test/lisp/term/tty-colors-tests.el: New file.
21078 21261
21079 * etc/NEWS: Mention the change. 21262 * etc/NEWS: Mention the change.
21080 21263
@@ -24393,7 +24576,7 @@
24393 24576
24394 Fix indentation of default clocking definitions. 24577 Fix indentation of default clocking definitions.
24395 24578
24396 * verilog-mode.el (verilog-default-clocking-re): Fix indentation of default 24579 * lisp/progmodes/verilog-mode.el (verilog-default-clocking-re): Fix indentation of default
24397 clocking definitions, Verilog-Mode bug1457. Reported by Paul Donahue. 24580 clocking definitions, Verilog-Mode bug1457. Reported by Paul Donahue.
24398 24581
243992019-07-06 Wilson Snyder <wsnyder@wsnyder.org> 245822019-07-06 Wilson Snyder <wsnyder@wsnyder.org>
@@ -24688,7 +24871,7 @@
24688 Also fix two faulty regexps, save-match-data, and check c-major-mode-is 24871 Also fix two faulty regexps, save-match-data, and check c-major-mode-is
24689 'c++-mode where needed. 24872 'c++-mode where needed.
24690 24873
24691 * lis/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re) 24874 * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
24692 (c-last-open-c-comment-start-on-line-re): Handle repeated *s in regexp 24875 (c-last-open-c-comment-start-on-line-re): Handle repeated *s in regexp
24693 correctly. 24876 correctly.
24694 24877
@@ -25940,7 +26123,7 @@
25940 26123
25941 Support opening a new connection when reverting a telnet buffer 26124 Support opening a new connection when reverting a telnet buffer
25942 26125
25943 * net/telnet.el (telnet-connect-command): New variable. 26126 * lisp/net/telnet.el (telnet-connect-command): New variable.
25944 (telnet-revert-buffer): New function. 26127 (telnet-revert-buffer): New function.
25945 (telnet-mode): Use `telnet-revert-buffer' as `revert-buffer-function'. 26128 (telnet-mode): Use `telnet-revert-buffer' as `revert-buffer-function'.
25946 (telnet, rsh): Set `telnet-connect-command' accordingly (bug#18312). 26129 (telnet, rsh): Set `telnet-connect-command' accordingly (bug#18312).
@@ -25949,7 +26132,7 @@
25949 26132
25950 Suppress warning about unix-sync in nnmaildir.el 26133 Suppress warning about unix-sync in nnmaildir.el
25951 26134
25952 * nnmaildir.el (nnmaildir-request-replace-article): Check if the 26135 * lisp/gnus/nnmaildir.el (nnmaildir-request-replace-article): Check if the
25953 function `unix-sync' is bound before running it. 26136 function `unix-sync' is bound before running it.
25954 26137
259552019-06-25 Ivan Shmakov <ivan@siamics.net> 261382019-06-25 Ivan Shmakov <ivan@siamics.net>
@@ -25978,7 +26161,7 @@
25978 26161
25979 Highlight zsh glob flags and qualifiers in sh-mode 26162 Highlight zsh glob flags and qualifiers in sh-mode
25980 26163
25981 * lisp/progmode/sh-script.el (sh-syntax-propertize-function): 26164 * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
25982 Add regexps to highlight zsh glob flags and alternate qualifiers 26165 Add regexps to highlight zsh glob flags and alternate qualifiers
25983 without mistaking them for comments. (bug#19455). 26166 without mistaking them for comments. (bug#19455).
25984 26167
@@ -26168,7 +26351,7 @@
26168 26351
26169 This fixes bug #25111. 26352 This fixes bug #25111.
26170 26353
26171 * doc/lispref/display.text (Overlay Properties): For the hook property 26354 * doc/lispref/display.texi (Overlay Properties): For the hook property
26172 modification-hooks, state that inhibit-modification-hooks is bound to non-nil 26355 modification-hooks, state that inhibit-modification-hooks is bound to non-nil
26173 when calling its functions. This also applies to insert-in-front-hooks and 26356 when calling its functions. This also applies to insert-in-front-hooks and
26174 insert-behind-hooks, which refer to modification-hooks. 26357 insert-behind-hooks, which refer to modification-hooks.
@@ -26182,7 +26365,7 @@
26182 26365
26183 Add imenu support to package-menu-mode 26366 Add imenu support to package-menu-mode
26184 26367
26185 * gnus-cite.el (gnus-message-citation-mode): Fontify if the major 26368 * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Fontify if the major
26186 mode is derived from message-mode (not necessarily equal to 26369 mode is derived from message-mode (not necessarily equal to
26187 message-mode) (bug#25124). 26370 message-mode) (bug#25124).
26188 26371
@@ -26190,7 +26373,7 @@
26190 26373
26191 Add imenu support to package-menu-mode 26374 Add imenu support to package-menu-mode
26192 26375
26193 * lisp/emacs-list/package.el 26376 * lisp/emacs-lisp/package.el
26194 (package--imenu-prev-index-position-function 26377 (package--imenu-prev-index-position-function
26195 package--imenu-extract-index-name-function): Add Imenu functions 26378 package--imenu-extract-index-name-function): Add Imenu functions
26196 to package-menu-mode (bug#27134). 26379 to package-menu-mode (bug#27134).
@@ -26564,7 +26747,7 @@
26564 build-aux/update-copyright, lib/canonicalize-lgpl.c, 26747 build-aux/update-copyright, lib/canonicalize-lgpl.c,
26565 lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h, 26748 lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h,
26566 m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4, 26749 m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4,
26567 m4/malloca.m4, my/pathmax.4: copy from GNUlib or regenerate from 26750 m4/malloca.m4, m4/pathmax.m4: copy from GNUlib or regenerate from
26568 update 26751 update
26569 * src/emacs.c: find dump by canonical path 26752 * src/emacs.c: find dump by canonical path
26570 26753
@@ -27410,7 +27593,7 @@
27410 27593
27411 Change font_put_extra value for property removal from Qnil to Qunbound 27594 Change font_put_extra value for property removal from Qnil to Qunbound
27412 27595
27413 * font.c (font_put_extra): If VAL is Qunbound, delete the slot for PROP from 27596 * src/font.c (font_put_extra): If VAL is Qunbound, delete the slot for PROP from
27414 the list of extra properties. Previous value Qnil is valid as boolean. 27597 the list of extra properties. Previous value Qnil is valid as boolean.
27415 (font_clear_prop): Changed argument of font_put_extra for property removal. 27598 (font_clear_prop): Changed argument of font_put_extra for property removal.
27416 27599
@@ -27423,7 +27606,7 @@
27423 27606
274242019-06-19 Roland Winkler <winkler@gnu.org> 276072019-06-19 Roland Winkler <winkler@gnu.org>
27425 27608
27426 * bookmark.el (bookmark-set-internal): Fix format string. 27609 * lisp/bookmark.el (bookmark-set-internal): Fix format string.
27427 27610
274282019-06-19 Juri Linkov <juri@linkov.net> 276112019-06-19 Juri Linkov <juri@linkov.net>
27429 27612
@@ -27944,7 +28127,7 @@
27944 28127
279452019-06-17 Roland Winkler <winkler@gnu.org> 281282019-06-17 Roland Winkler <winkler@gnu.org>
27946 28129
27947 * bookmark.el: Watch bookmark file. Use lexical binding. 28130 * lisp/bookmark.el: Watch bookmark file. Use lexical binding.
27948 28131
27949 (bookmark-watch-bookmark-file): New user variable. 28132 (bookmark-watch-bookmark-file): New user variable.
27950 (bookmark-alist): Fix docstring. 28133 (bookmark-alist): Fix docstring.
@@ -28183,7 +28366,7 @@
28183 28366
281842019-06-16 Roland Winkler <winkler@gnu.org> 283672019-06-16 Roland Winkler <winkler@gnu.org>
28185 28368
28186 * find-dired.el (find-dired-refine-function): Fix defcustom. 28369 * lisp/find-dired.el (find-dired-refine-function): Fix defcustom.
28187 28370
281882019-06-16 Eric Abrahamsen <eric@ericabrahamsen.net> 283712019-06-16 Eric Abrahamsen <eric@ericabrahamsen.net>
28189 28372
@@ -28661,7 +28844,7 @@
28661 28844
28662 Clean up verilog-mode.el documentation examples to match behavior. 28845 Clean up verilog-mode.el documentation examples to match behavior.
28663 28846
28664 * verilog-mode.el (verilog-auto, verilog-auto-arg) 28847 * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-auto-arg)
28665 (verilog-auto-ascii-enum, verilog-auto-inout) 28848 (verilog-auto-ascii-enum, verilog-auto-inout)
28666 (verilog-auto-inout-comp, verilog-auto-inout-in) 28849 (verilog-auto-inout-comp, verilog-auto-inout-in)
28667 (verilog-auto-inout-modport, verilog-auto-inout-module) 28850 (verilog-auto-inout-modport, verilog-auto-inout-module)
@@ -29231,8 +29414,9 @@
29231 29414
29232 Escape newlines when printing functions in timer list 29415 Escape newlines when printing functions in timer list
29233 29416
29234 * timer-list.el (list-timers): Bind `print-escape-newlines' to avoid 29417 * lisp/emacs-lisp/timer-list.el (list-timers): Bind
29235 newlines in printed representation (bug#36187). 29418 `print-escape-newlines' to avoid newlines in printed
29419 representation (bug#36187).
29236 29420
292372019-06-13 Lars Ingebrigtsen <larsi@gnus.org> 294212019-06-13 Lars Ingebrigtsen <larsi@gnus.org>
29238 29422
@@ -29282,7 +29466,7 @@
29282 This variable was declared after an invocation of a defsubst which used it, 29466 This variable was declared after an invocation of a defsubst which used it,
29283 the defsubst being in another file. 29467 the defsubst being in another file.
29284 29468
29285 * lisp/progmodes/cc-mode (c-syntax-table-hwm): Move the declaration to earlier 29469 * lisp/progmodes/cc-mode.el (c-syntax-table-hwm): Move the declaration to earlier
29286 in the file. 29470 in the file.
29287 29471
292882019-06-12 Glenn Morris <rgm@gnu.org> 294722019-06-12 Glenn Morris <rgm@gnu.org>
@@ -29593,14 +29777,14 @@
29593 29777
29594 Fix to previous commit 29778 Fix to previous commit
29595 29779
29596 * find-dired.el (find-dired-sentinel): Check whether 29780 * lisp/find-dired.el (find-dired-sentinel): Check whether
29597 find-dired-refine-function is non-nil. 29781 find-dired-refine-function is non-nil.
29598 29782
295992019-06-11 Roland Winkler <winkler@gnu.org> 297832019-06-11 Roland Winkler <winkler@gnu.org>
29600 29784
29601 Allow refining the *Find* buffer of find-dired. (Bug#29513) 29785 Allow refining the *Find* buffer of find-dired. (Bug#29513)
29602 29786
29603 * find-dired.el (find-dired-refine-function): New user variable. 29787 * lisp/find-dired.el (find-dired-refine-function): New user variable.
29604 (find-dired-sentinel): Use it. Simplify. 29788 (find-dired-sentinel): Use it. Simplify.
29605 (find-dired-sort-by-filename): New function. 29789 (find-dired-sort-by-filename): New function.
29606 29790
@@ -30546,7 +30730,7 @@
30546 30730
305472019-06-04 Stefan Monnier <monnier@iro.umontreal.ca> 307312019-06-04 Stefan Monnier <monnier@iro.umontreal.ca>
30548 30732
30549 * sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments 30733 * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments
30550 30734
305512019-06-04 Jackson Ray Hamilton <jackson@jacksonrayhamilton.com> 307352019-06-04 Jackson Ray Hamilton <jackson@jacksonrayhamilton.com>
30552 30736
@@ -30747,11 +30931,11 @@
30747 30931
307482019-06-02 Juanma Barranquero <lekktu@gmail.com> 309322019-06-02 Juanma Barranquero <lekktu@gmail.com>
30749 30933
30750 * help-fns.el (help-fns--first-release): Do not fail if no release is found. 30934 * lisp/help-fns.el (help-fns--first-release): Do not fail if no release is found.
30751 30935
307522019-06-02 Stefan Monnier <monnier@iro.umontreal.ca> 309362019-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
30753 30937
30754 * gnus-(sum|async).el: Eliminate assumptions about gnus-data format 30938 * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-async.el: Eliminate assumptions about gnus-data format
30755 30939
30756 * lisp/gnus/gnus-async.el (gnus-async-with-semaphore): Use `declare`. 30940 * lisp/gnus/gnus-async.el (gnus-async-with-semaphore): Use `declare`.
30757 (gnus-async-prefetch-next): Don't assume gnus-data-number == car. 30941 (gnus-async-prefetch-next): Don't assume gnus-data-number == car.
@@ -30764,7 +30948,7 @@
30764 30948
307652019-06-02 Stefan Monnier <monnier@iro.umontreal.ca> 309492019-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
30766 30950
30767 * gnus.el: Fix cycle in eager macroexpansion 30951 * lisp/gnus/gnus.el: Fix cycle in eager macroexpansion
30768 30952
30769 * lisp/gnus/gnus-sum.el (gnus-data): Use cl-defstruct. 30953 * lisp/gnus/gnus-sum.el (gnus-data): Use cl-defstruct.
30770 (gnus-data-set-pos, gnus-data-set-header, gnus-data-set-mark) 30954 (gnus-data-set-pos, gnus-data-set-header, gnus-data-set-mark)
@@ -30908,7 +31092,7 @@
30908 31092
30909 Make rcirc PART and QUIT reasons customizable (Bug#12857) 31093 Make rcirc PART and QUIT reasons customizable (Bug#12857)
30910 31094
30911 * rcirc.el: (rcirc-default-part-reason, rcirc-default-quit-reason): 31095 * lisp/net/rcirc.el: (rcirc-default-part-reason, rcirc-default-quit-reason):
30912 New customizable vars. 31096 New customizable vars.
30913 (rcirc-cmd-quit, rcirc-cmd-part): Consult them. 31097 (rcirc-cmd-quit, rcirc-cmd-part): Consult them.
30914 31098
@@ -31203,7 +31387,7 @@
31203 31387
31204 Optimize one of CC Mode's syntax caches for long comments and strings. 31388 Optimize one of CC Mode's syntax caches for long comments and strings.
31205 31389
31206 * lisp/progmoes/cc-langs.el (c-block-comment-awkward-chars): New lang 31390 * lisp/progmodes/cc-langs.el (c-block-comment-awkward-chars): New lang
31207 constant and variable. 31391 constant and variable.
31208 31392
31209 * lisp/progmodes/cc-engine.el (c-state-semi-nonlit-pos-cache): Enhance the 31393 * lisp/progmodes/cc-engine.el (c-state-semi-nonlit-pos-cache): Enhance the
@@ -31445,7 +31629,7 @@
31445 31629
314462019-05-28 Stefan Monnier <monnier@iro.umontreal.ca> 316302019-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
31447 31631
31448 * mule-cmds.el (encoded-string-description): Require unibyte string as input 31632 * lisp/international/mule-cmds.el (encoded-string-description): Require unibyte string as input
31449 31633
314502019-05-28 Stefan Monnier <monnier@iro.umontreal.ca> 316342019-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
31451 31635
@@ -31658,7 +31842,7 @@
31658 31842
31659 * lisp/startup.el (command-line): Allow XDG-style as well as old 31843 * lisp/startup.el (command-line): Allow XDG-style as well as old
31660 style init paths. 31844 style init paths.
31661 * doc/startup.texi: Document the above change. 31845 * doc/emacs/custom.texi: Document the above change.
31662 31846
316632019-05-25 Mauro Aranda <maurooaranda@gmail.com> 318472019-05-25 Mauro Aranda <maurooaranda@gmail.com>
31664 31848
@@ -32332,7 +32516,7 @@
32332 32516
32333 This avoids clashing with the XColor struct from X. 32517 This avoids clashing with the XColor struct from X.
32334 32518
32335 * src/dispextern [HAVE_X_WINDOWS]: Define Emacs_Color alias. 32519 * src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Color alias.
32336 [!HAVE_X_WINDOWS]: Rename XColor compatibility struct to 32520 [!HAVE_X_WINDOWS]: Rename XColor compatibility struct to
32337 Emacs_Color. Remove unused fields. 32521 Emacs_Color. Remove unused fields.
32338 32522
@@ -32944,7 +33128,7 @@
32944 33128
329452019-05-16 Stefan Monnier <monnier@iro.umontreal.ca> 331292019-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
32946 33130
32947 * mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit 33131 * lisp/international/mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit
32948 33132
329492019-05-16 Paul Pogonyshev <pogonyshev@gmail.com> 331332019-05-16 Paul Pogonyshev <pogonyshev@gmail.com>
32950 33134
@@ -32973,7 +33157,7 @@
32973 33157
329742019-05-16 Stefan Monnier <monnier@iro.umontreal.ca> 331582019-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
32975 33159
32976 * cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test 33160 * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test
32977 33161
329782019-05-16 Eric Abrahamsen <eric@ericabrahamsen.net> 331622019-05-16 Eric Abrahamsen <eric@ericabrahamsen.net>
32979 33163
@@ -33398,7 +33582,7 @@
33398 33582
333992019-05-12 Stefan Monnier <monnier@iro.umontreal.ca> 335832019-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
33400 33584
33401 * lisp/emacs-lisp/packages.el: Add `all` to package-check-signature 33585 * lisp/emacs-lisp/package.el: Add `all` to package-check-signature
33402 33586
33403 (package-check-signature): Add `all` option. 33587 (package-check-signature): Add `all` option.
33404 (package--check-signature-content): Adjust accordingly. 33588 (package--check-signature-content): Adjust accordingly.
@@ -33782,7 +33966,7 @@
33782 33966
33783 Fix verilog-mode module backticks; whitespace from prev commits. 33967 Fix verilog-mode module backticks; whitespace from prev commits.
33784 33968
33785 * verilog-mode.el (verilog-read-inst-module-matcher): 33969 * lisp/progmodes/verilog-mode.el (verilog-read-inst-module-matcher):
33786 Work when point is near backtick. Reported by Mattias Engdegard. 33970 Work when point is near backtick. Reported by Mattias Engdegard.
33787 33971
337882019-05-06 Juri Linkov <juri@linkov.net> 339722019-05-06 Juri Linkov <juri@linkov.net>
@@ -34649,7 +34833,7 @@
34649 34833
34650 CC Mode: in certain font lock loops, check point is not beyond limit. 34834 CC Mode: in certain font lock loops, check point is not beyond limit.
34651 34835
34652 * /lisp/progmodes/cc-fonts.el (c-font-lock-enum-body) 34836 * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body)
34653 (autodoc-font-lock-line-markup): As part of the `while' condition, check that 34837 (autodoc-font-lock-line-markup): As part of the `while' condition, check that
34654 the previous iteration of the loop hasn't moved point past `limit', thus 34838 the previous iteration of the loop hasn't moved point past `limit', thus
34655 obviating "wrong side of point" errors in re-search-forward, etc. 34839 obviating "wrong side of point" errors in re-search-forward, etc.
@@ -34934,7 +35118,7 @@
34934 35118
34935 Add terminal hook query_frame_background_color 35119 Add terminal hook query_frame_background_color
34936 35120
34937 * src/termhooks.c (query_frame_background_color): New terminal hook. 35121 * src/termhooks.h (query_frame_background_color): New terminal hook.
34938 35122
34939 * src/image.c (image_query_frame_background_color): Remove. Use the 35123 * src/image.c (image_query_frame_background_color): Remove. Use the
34940 terminal hook instead. 35124 terminal hook instead.
@@ -34981,7 +35165,7 @@
34981 * src/w32term.c: 35165 * src/w32term.c:
34982 * src/xterm.c: Rename x_get_keysym_name to get_keysym_name. 35166 * src/xterm.c: Rename x_get_keysym_name to get_keysym_name.
34983 35167
34984 * src/nsfns.c: 35168 * src/nsfns.m:
34985 * src/nsterm.m: Rename x_* procedures to ns_*. 35169 * src/nsterm.m: Rename x_* procedures to ns_*.
34986 35170
34987 * src/w32fns.c: 35171 * src/w32fns.c:
@@ -35754,7 +35938,7 @@
35754 35938
357552019-04-22 Mattias Engdegård <mattiase@acm.org> 359392019-04-22 Mattias Engdegård <mattiase@acm.org>
35756 35940
35757 * autorevert.el (auto-revert-notify-rm-watch): Simplify. 35941 * lisp/autorevert.el (auto-revert-notify-rm-watch): Simplify.
35758 35942
357592019-04-22 Mattias Engdegård <mattiase@acm.org> 359432019-04-22 Mattias Engdegård <mattiase@acm.org>
35760 35944
@@ -35802,7 +35986,7 @@
35802 35986
35803 Module API: Don’t require null-terminated strings in make_string. 35987 Module API: Don’t require null-terminated strings in make_string.
35804 35988
35805 * emacs-module.c (module_make_string): Use make_unibyte_string, which 35989 * src/emacs-module.c (module_make_string): Use make_unibyte_string, which
35806 doesn’t require its argument to be null-terminated. Since it always 35990 doesn’t require its argument to be null-terminated. Since it always
35807 returns a heap-allocated string, we don’t have to copy it any more 35991 returns a heap-allocated string, we don’t have to copy it any more
35808 while decoding. 35992 while decoding.
@@ -36002,20 +36186,23 @@
36002 to pacify LeakSanitizer. 36186 to pacify LeakSanitizer.
36003 36187
360042019-04-20 Michael R. Mauger <michael@mauger.com> 361882019-04-20 Michael R. Mauger <michael@mauger.com>
36189 Fix Bug#35307.
36005 36190
36006 * lisp/progmodes/sql.el Bug#35307 36191 * lisp/progmodes/sql.el(sql-product-alist): Added
36007 (sql-product-alist): Added :prompt-cont-regexp for ms. 36192 :prompt-cont-regexp for ms.
36008 36193
36009 Looking for experience with Microsofts SQLCMD interpreter and 36194 Looking for experience with Microsofts SQLCMD interpreter and
36010 adjustments needed for Emacs to support it. 36195 adjustments needed for Emacs to support it.
36011 36196
360122019-04-20 Michael R. Mauger <michael@mauger.com> 361972019-04-20 Michael R. Mauger <michael@mauger.com>
36198 Fix Bug#24483.
36013 36199
36014 * lisp/progmodes/sql.el Bug#24483 36200 * lisp/progmodes/sql.el
36015 (sql-interactive-remove-continuation-prompt): Properly protect `sql-prompt-cont-regexp'. 36201 (sql-interactive-remove-continuation-prompt): Properly protect
36202 `sql-prompt-cont-regexp'.
36016 (sql-interactive-mode): Same. 36203 (sql-interactive-mode): Same.
36017 36204
36018 * lisp/progmodes.sql.el 36205 * lisp/progmodes/sql.el
36019 (sql-product-alist): Corrected :terminator defns. 36206 (sql-product-alist): Corrected :terminator defns.
36020 (sql-debug-send): New variable. 36207 (sql-debug-send): New variable.
36021 (sql-send-string): Use it and correct buffer context. 36208 (sql-send-string): Use it and correct buffer context.
@@ -37986,7 +38173,7 @@
37986 Potentially manifest some new bugs (due to false positives with ‘<’ 38173 Potentially manifest some new bugs (due to false positives with ‘<’
37987 and ‘>’ and SGML detection). Slow down indentation a fair bit. 38174 and ‘>’ and SGML detection). Slow down indentation a fair bit.
37988 38175
37989 * list/progmodes/js.el (js-jsx-syntax, js--jsx-start-tag-re) 38176 * lisp/progmodes/js.el (js-jsx-syntax, js--jsx-start-tag-re)
37990 (js--looking-at-jsx-start-tag-p, js--looking-back-at-jsx-end-tag-p): 38177 (js--looking-at-jsx-start-tag-p, js--looking-back-at-jsx-end-tag-p):
37991 New variables and functions. 38178 New variables and functions.
37992 (js--jsx-find-before-tag, js--jsx-after-tag-re): Deleted. 38179 (js--jsx-find-before-tag, js--jsx-after-tag-re): Deleted.
@@ -38149,7 +38336,7 @@
38149 38336
381502019-04-08 Stefan Monnier <monnier@iro.umontreal.ca> 383372019-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
38151 38338
38152 * nadvice.el: Add ourselves to package--builtin-versions 38339 * lisp/emacs-lisp/nadvice.el: Add ourselves to package--builtin-versions
38153 38340
381542019-04-08 Stefan Monnier <monnier@iro.umontreal.ca> 383412019-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
38155 38342
@@ -38841,7 +39028,7 @@
38841 string. 39028 string.
38842 (c-string-delims): Change doc string to doc comment. 39029 (c-string-delims): Change doc string to doc comment.
38843 39030
38844 * listp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): In 39031 * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): In
38845 searches and comparisons, take account of the string delimiters possibly 39032 searches and comparisons, take account of the string delimiters possibly
38846 being '. Fix argument in call of c-before-change-check-unbalanced-strings. 39033 being '. Fix argument in call of c-before-change-check-unbalanced-strings.
38847 (c-parse-quotes-before-change, c-parse-quotes-after-change): Bind 39034 (c-parse-quotes-before-change, c-parse-quotes-after-change): Bind
@@ -39186,7 +39373,7 @@
39186 39373
391872019-03-26 Stefan Monnier <monnier@iro.umontreal.ca> 393742019-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
39188 39375
39189 * easy-mmode.el: simplify via custom-current-group 39376 * lisp/emacs-lisp/easy-mmode.el: simplify via custom-current-group
39190 39377
39191 * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): 39378 * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
39192 Don't try and guess a default :group, defcustom does it better anyway. 39379 Don't try and guess a default :group, defcustom does it better anyway.
@@ -39483,9 +39670,9 @@
39483 about potential NULL pointer dereferencing. 39670 about potential NULL pointer dereferencing.
39484 39671
394852019-03-22 Michael R. Mauger <michael@mauger.com> 396722019-03-22 Michael R. Mauger <michael@mauger.com>
39486 39673 Fix Bug#25424.
39487 * lisp/progmodes/sql.el Bug#25424 39674 * lisp/progmodes/sql.el (sql-end-of-statement): default terminator
39488 (sql-end-of-statement): default terminator as semicolon. 39675 as semicolon.
39489 39676
394902019-03-22 Stephen Leake <stephen_leake@stephe-leake.org> 396772019-03-22 Stephen Leake <stephen_leake@stephe-leake.org>
39491 39678
@@ -40408,7 +40595,7 @@
40408 40595
404092019-03-09 Christopher Wellons <wellons@nullprogram.com> (tiny change) 405962019-03-09 Christopher Wellons <wellons@nullprogram.com> (tiny change)
40410 40597
40411 * list/emulation/viper: Use user-error for "Viper bell" 40598 * lisp/emulation/viper.el: Use user-error for "Viper bell"
40412 40599
40413 40600
40414 * lisp/emulation/viper-init.el (viper-ViperBell): New constant. 40601 * lisp/emulation/viper-init.el (viper-ViperBell): New constant.
@@ -40437,7 +40624,7 @@
40437 40624
40438 Mention `binary-as-unsigned' in `format' docstring (Bug#34792) 40625 Mention `binary-as-unsigned' in `format' docstring (Bug#34792)
40439 40626
40440 * src/src/editfns.c (format): Update docstring to mention binary-as-unsigned 40627 * src/editfns.c (format): Update docstring to mention binary-as-unsigned
40441 (Bug#34792) 40628 (Bug#34792)
40442 40629
404432019-03-09 Glenn Morris <rgm@gnu.org> 406302019-03-09 Glenn Morris <rgm@gnu.org>
@@ -40806,7 +40993,7 @@
40806 40993
40807 Fix regexp issues introduced in last trunk commit. 40994 Fix regexp issues introduced in last trunk commit.
40808 40995
40809 * verilog-mode.el (verilog-coverpoint-re): Fix regexp issues introduced 40996 * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re): Fix regexp issues introduced
40810 in last trunk commit. 40997 in last trunk commit.
40811 40998
408122019-03-05 Eli Zaretskii <eliz@gnu.org> 409992019-03-05 Eli Zaretskii <eliz@gnu.org>
@@ -41794,7 +41981,7 @@
41794 41981
41795 Jump to the current error in xref with zero prefix arg 41982 Jump to the current error in xref with zero prefix arg
41796 41983
41797 * xref.el (xref--next-error-function): Handle the corner case of 41984 * lisp/progmodes/xref.el (xref--next-error-function): Handle the corner case of
41798 n == 0. (Bug#34462) 41985 n == 0. (Bug#34462)
41799 41986
418002019-02-22 Paul Eggert <eggert@cs.ucla.edu> 419872019-02-22 Paul Eggert <eggert@cs.ucla.edu>
@@ -41994,7 +42181,7 @@
41994 42181
41995 Correct implementation of `sql-set-product-feature' (Bug#30494). 42182 Correct implementation of `sql-set-product-feature' (Bug#30494).
41996 42183
41997 * lisp.progmodes/sql.el (sql-add-product): Correct argument spec. 42184 * lisp/progmodes/sql.el (sql-add-product): Correct argument spec.
41998 (sql-set-product-feature): Handle all cases as intended. 42185 (sql-set-product-feature): Handle all cases as intended.
41999 (sql-get-product-feature): Fetch varaiable value by `eval'. 42186 (sql-get-product-feature): Fetch varaiable value by `eval'.
42000 * test/lisp/progmodes/sql-tests.el (sql-test-feature-value-[a-d]): 42187 * test/lisp/progmodes/sql-tests.el (sql-test-feature-value-[a-d]):
@@ -42129,7 +42316,7 @@
42129 (sql-password-search-wallet-function): New variable. 42316 (sql-password-search-wallet-function): New variable.
42130 (sql-get-login): Handle password wallet search. 42317 (sql-get-login): Handle password wallet search.
42131 (sql-product-interactive): Handle password function. 42318 (sql-product-interactive): Handle password function.
42132 * test/lisp/progmodes/sql-test.el: Test wallet changes. 42319 * test/lisp/progmodes/sql-tests.el: Test wallet changes.
42133 (sql-test-login-params): New test variable. 42320 (sql-test-login-params): New test variable.
42134 (with-sql-test-connect-harness): New macro to wrap test 42321 (with-sql-test-connect-harness): New macro to wrap test
42135 configuration around calls to `sql-connect'. 42322 configuration around calls to `sql-connect'.
@@ -42268,7 +42455,7 @@
42268 (c-forward-decl-or-cast-1): Recognize a function identifier being declared in 42455 (c-forward-decl-or-cast-1): Recognize a function identifier being declared in
42269 parentheses. 42456 parentheses.
42270 42457
42271 * lisp/promodes/cc-mode.el (c-before-change): Supply a `beg' argument to 42458 * lisp/progmodes/cc-mode.el (c-before-change): Supply a `beg' argument to
42272 c-invalidate-sws-region-before. 42459 c-invalidate-sws-region-before.
42273 42460
42274 * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re) 42461 * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
@@ -42279,7 +42466,7 @@
42279 42466
42280 * Put INLINE and ATTRIBUTE_NO_SANITIZE_UNDEFINED into c-noise-macro-names 42467 * Put INLINE and ATTRIBUTE_NO_SANITIZE_UNDEFINED into c-noise-macro-names
42281 42468
42282 * .dir-locals (entry for c-mode): Put the two strings into 42469 * .dir-locals.el (entry for c-mode): Put the two strings into
42283 c-noise-macro-names. 42470 c-noise-macro-names.
42284 42471
422852019-02-16 Paul Eggert <eggert@cs.ucla.edu> 424722019-02-16 Paul Eggert <eggert@cs.ucla.edu>
@@ -43565,7 +43752,7 @@
43565 * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): 43752 * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
43566 * lisp/net/tramp-smb.el (tramp-smb-action-get-acl) 43753 * lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
43567 (tramp-smb-action-set-acl, tramp-smb-wait-for-output): 43754 (tramp-smb-action-set-acl, tramp-smb-wait-for-output):
43568 * tramp-sudoedit.el (tramp-sudoedit-action-sudo): 43755 * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
43569 Adapt `accept-process-output' calls wrt timeouts. 43756 Adapt `accept-process-output' calls wrt timeouts.
43570 43757
435712019-01-28 Eli Zaretskii <eliz@gnu.org> 437582019-01-28 Eli Zaretskii <eliz@gnu.org>
@@ -43707,7 +43894,7 @@
43707 43894
43708 Use minibuffer-default in completion-all-sorted-completions (bug#34083) 43895 Use minibuffer-default in completion-all-sorted-completions (bug#34083)
43709 43896
43710 * lisp/minibuffer (completion-all-sorted-completions): Sort with the 43897 * lisp/minibuffer.el (completion-all-sorted-completions): Sort with the
43711 default on top. 43898 default on top.
43712 43899
437132019-01-25 Alex Branham <alex.branham@gmail.com> 439002019-01-25 Alex Branham <alex.branham@gmail.com>
@@ -44037,7 +44224,7 @@
44037 source symbols could get overwritten when parameter adorn is set to 44224 source symbols could get overwritten when parameter adorn is set to
44038 'appendable. 44225 'appendable.
44039 44226
44040 * list/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var. 44227 * lisp/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var.
44041 44228
440422019-01-22 Alan Mackenzie <acm@muc.de> 442292019-01-22 Alan Mackenzie <acm@muc.de>
44043 44230
@@ -44173,7 +44360,7 @@
44173 44360
44174 Minor cleanup in pdumper.c 44361 Minor cleanup in pdumper.c
44175 44362
44176 * src/pdumper (subtract_timespec): Function removed. 44363 * src/pdumper.c (subtract_timespec): Function removed.
44177 (pdumper_load): Use timespec_sub instead of subtract_timespec. 44364 (pdumper_load): Use timespec_sub instead of subtract_timespec.
44178 44365
441792019-01-19 Eli Zaretskii <eliz@gnu.org> 443662019-01-19 Eli Zaretskii <eliz@gnu.org>
@@ -44414,7 +44601,7 @@
44414 44601
44415 Temporarily comment out CC Mode from tests which are incompatible with it. 44602 Temporarily comment out CC Mode from tests which are incompatible with it.
44416 44603
44417 * tests/electric-tests (electric-pair-test-for): comment out c++-mode from the 44604 * test/lisp/electric-tests.el (electric-pair-test-for): comment out c++-mode from the
44418 list of modes to be used in tests. 44605 list of modes to be used in tests.
44419 (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings) 44606 (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings)
44420 (ert-deftest electric-layout-int-main-kernel-style) 44607 (ert-deftest electric-layout-int-main-kernel-style)
@@ -44629,7 +44816,7 @@
44629 (syms_of_ftcrfont): call it. 44816 (syms_of_ftcrfont): call it.
44630 * src/ftfont.c (syms_of_ftfont_for_pdumper): new function. 44817 * src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
44631 (syms_of_ftfont): call it. 44818 (syms_of_ftfont): call it.
44632 * src/ftxont.c (syms_of_ftxfont_for_pdumper): new function. 44819 * src/ftxfont.c (syms_of_ftxfont_for_pdumper): new function.
44633 (syms_of_ftxfont): call it. 44820 (syms_of_ftxfont): call it.
44634 * src/gmalloc.c: adjust for pdumper througout 44821 * src/gmalloc.c: adjust for pdumper througout
44635 (DUMPED): remove weird custom dumped indicator. 44822 (DUMPED): remove weird custom dumped indicator.
@@ -44706,7 +44893,7 @@
44706 re_match_object. 44893 re_match_object.
44707 * src/sysdep.c: use will_dump_with_unexec_p() instead of bss 44894 * src/sysdep.c: use will_dump_with_unexec_p() instead of bss
44708 hack thing. 44895 hack thing.
44709 * src/syssignals.h (init_sigsegv): declare. 44896 * src/syssignal.h (init_sigsegv): declare.
44710 * src/systime.h (init_timefns): remove bool from signature. 44897 * src/systime.h (init_timefns): remove bool from signature.
44711 * src/textprop.c (syms_of_textprop): move staticpro. 44898 * src/textprop.c (syms_of_textprop): move staticpro.
44712 * src/thread.c (main_thread_p): constify. 44899 * src/thread.c (main_thread_p): constify.
@@ -45436,7 +45623,7 @@
45436 45623
45437 Fix electric indent bug in python-mode after dedenting colon 45624 Fix electric indent bug in python-mode after dedenting colon
45438 45625
45439 * list/progmodes/python.el (python-indent-post-self-insert-function): 45626 * lisp/progmodes/python.el (python-indent-post-self-insert-function):
45440 Use markers instead of positions when reindenting statement(s) after 45627 Use markers instead of positions when reindenting statement(s) after
45441 inserting electric colon to avoid reindenting too many 45628 inserting electric colon to avoid reindenting too many
45442 statements (bug#22663). 45629 statements (bug#22663).
@@ -46641,7 +46828,7 @@
46641 46828
466422018-12-16 Stefan Monnier <monnier@iro.umontreal.ca> 468292018-12-16 Stefan Monnier <monnier@iro.umontreal.ca>
46643 46830
46644 * lisp/net/tramp: Rework mutual dependencies 46831 * lisp/net/tramp.el: Rework mutual dependencies
46645 46832
46646 Functionally split tramp-loaddefs.el into two parts: one part run 46833 Functionally split tramp-loaddefs.el into two parts: one part run
46647 while loading it at the very beginning of loading tramp.el (holding plain 46834 while loading it at the very beginning of loading tramp.el (holding plain
@@ -47929,7 +48116,7 @@
47929 Go into emacs-lisp-compilation-mode rather than the plain compilation-mode. 48116 Go into emacs-lisp-compilation-mode rather than the plain compilation-mode.
47930 (compile-defun): Bind byte-compile-current-file to current-buffer, not nil. 48117 (compile-defun): Bind byte-compile-current-file to current-buffer, not nil.
47931 48118
47932 * lisp/progmodes/compilation-mode 48119 * lisp/progmodes/compile.el
47933 (compilation-parse-errors-filename-function): Amend comments to specify that 48120 (compilation-parse-errors-filename-function): Amend comments to specify that
47934 this function may return a buffer, and that it need not save the match data. 48121 this function may return a buffer, and that it need not save the match data.
47935 (Several places): Amend comments to allow for the use of a buffer rather than 48122 (Several places): Amend comments to allow for the use of a buffer rather than
@@ -48857,7 +49044,7 @@
48857 49044
488582018-11-19 Stefan Monnier <monnier@iro.umontreal.ca> 490452018-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
48859 49046
48860 * mouse.el (mouse-posn-property): Add comment 49047 * lisp/mouse.el (mouse-posn-property): Add comment
48861 49048
488622018-11-18 Stefan Monnier <monnier@iro.umontreal.ca> 490492018-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
48863 49050
@@ -49809,7 +49996,7 @@
49809 * emacsclient.c (set_socket): Add support for the 49996 * emacsclient.c (set_socket): Add support for the
49810 EMACS_SOCKET_NAME environment variable. (Bug#33095) 49997 EMACS_SOCKET_NAME environment variable. (Bug#33095)
49811 49998
49812 * misc.texi (emacsclient Options): 49999 * doc/emacs/misc.texi (emacsclient Options):
49813 * emacsclient.1: Document the EMACS_SOCKET_NAME environment 50000 * emacsclient.1: Document the EMACS_SOCKET_NAME environment
49814 variable. 50001 variable.
49815 50002
@@ -49874,7 +50061,7 @@
49874 50061
49875 edebug.el: Move window focus switch into edebug-pop-to-buffer 50062 edebug.el: Move window focus switch into edebug-pop-to-buffer
49876 50063
49877 * lisp/emacs-lisp/follow.el (edebug-focus-frame): Remove. 50064 * lisp/follow.el (edebug-focus-frame): Remove.
49878 (edebug-pop-to-buffer): Call x-focus-frame for GUI frames. 50065 (edebug-pop-to-buffer): Call x-focus-frame for GUI frames.
49879 (edebug-default-enter, edebug--display-1): Replace call to 50066 (edebug-default-enter, edebug--display-1): Replace call to
49880 edebug-focus-frame with x-focus-frame. 50067 edebug-focus-frame with x-focus-frame.
@@ -49989,7 +50176,7 @@
49989 50176
499902018-10-19 Stefan Monnier <monnier@iro.umontreal.ca> 501772018-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
49991 50178
49992 * emacs-lisp/package.el (package-get-version): Change into a function 50179 * lisp/emacs-lisp/package.el (package-get-version): Change into a function
49993 50180
49994 (package-quickstart-refresh): Mangle string so it doesn't turn into 50181 (package-quickstart-refresh): Mangle string so it doesn't turn into
49995 a false positive for "no-byte-compile: t". 50182 a false positive for "no-byte-compile: t".
@@ -50121,7 +50308,7 @@
50121 when mouse-drag-copy-region is set to t. (Bug#31240) 50308 when mouse-drag-copy-region is set to t. (Bug#31240)
50122 (mouse-drag-and-drop-region): Allow dragging and dropping 50309 (mouse-drag-and-drop-region): Allow dragging and dropping
50123 rectangular regions. (Bug#31240) 50310 rectangular regions. (Bug#31240)
50124 * rect.el (rectangle-intersect-p) 50311 * lisp/rect.el (rectangle-intersect-p)
50125 (rectangle-position-as-coordinates): New functions. 50312 (rectangle-position-as-coordinates): New functions.
50126 50313
501272018-10-16 Juri Linkov <juri@linkov.net> 503142018-10-16 Juri Linkov <juri@linkov.net>
@@ -50579,10 +50766,10 @@
50579 Improvements on (TICKS . HZ) 50766 Improvements on (TICKS . HZ)
50580 50767
50581 This patch is in response to Eli's review (Bug#32902#10). 50768 This patch is in response to Eli's review (Bug#32902#10).
50582 * src/systime.c: Doc strings of affected functions now refer 50769 * src/systime.h: Doc strings of affected functions now refer
50583 to format-time-string instead of to Lisp manual, and 50770 to format-time-string instead of to Lisp manual, and
50584 format-time-string's doc string covers time values. 50771 format-time-string's doc string covers time values.
50585 * test/src/systime-tests.el (format-time-string-with-zone): 50772 * test/src/timefns-tests.el (format-time-string-with-zone):
50586 Check decode-time too. 50773 Check decode-time too.
50587 (decode-then-encode-time, time-arith-tests): New tests. 50774 (decode-then-encode-time, time-arith-tests): New tests.
50588 50775
@@ -50622,7 +50809,7 @@
50622 * lisp/net/ntlm.el (ntlm-compute-timestamp): 50809 * lisp/net/ntlm.el (ntlm-compute-timestamp):
50623 * lisp/obsolete/vc-arch.el (vc-arch-add-tagline): 50810 * lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
50624 * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36): 50811 * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
50625 * lisp/tar-mode (tar-octal-time): 50812 * lisp/tar-mode.el (tar-octal-time):
50626 Don't assume timestamps default to list form. 50813 Don't assume timestamps default to list form.
50627 * lisp/tar-mode.el (tar-parse-octal-long-integer): 50814 * lisp/tar-mode.el (tar-parse-octal-long-integer):
50628 Now an obsolete alias for tar-parse-octal-integer. 50815 Now an obsolete alias for tar-parse-octal-integer.
@@ -50662,7 +50849,7 @@
50662 (Fencode_time): Add new two-arg functionality. 50849 (Fencode_time): Add new two-arg functionality.
50663 * src/systime.h (struct lisp_time): Now ticks+hz rather than 50850 * src/systime.h (struct lisp_time): Now ticks+hz rather than
50664 hi+lo+us+ps, since ticks+hz does not lose info. 50851 hi+lo+us+ps, since ticks+hz does not lose info.
50665 * test/src/systime-tests.el (time-equal-p-nil-nil): 50852 * test/lisp/time-stamp-tests.el (time-equal-p-nil-nil):
50666 New test. 50853 New test.
50667 50854
506682018-10-06 Paul Eggert <eggert@cs.ucla.edu> 508552018-10-06 Paul Eggert <eggert@cs.ucla.edu>
@@ -50854,7 +51041,7 @@
50854 51041
50855 Automate support for `sql-indent' ELPA package 51042 Automate support for `sql-indent' ELPA package
50856 51043
50857 * progmodes/lisp/sql.el (sql-use-indent-support): New variable. 51044 * lisp/progmodes/sql.el (sql-use-indent-support): New variable.
50858 (sql-is-indent-available): New function. 51045 (sql-is-indent-available): New function.
50859 (sql-indent-enable): Use above. 51046 (sql-indent-enable): Use above.
50860 (sql-mode-hook, sql-interactive-mode-hook): Add `sql-indent-enable'. 51047 (sql-mode-hook, sql-interactive-mode-hook): Add `sql-indent-enable'.
@@ -52158,7 +52345,7 @@
52158 52345
52159 Do not call mh-next-msg from mh-junk-process-* fns 52346 Do not call mh-next-msg from mh-junk-process-* fns
52160 52347
52161 * mh-junk.el (mh-junk-process-blacklist, mh-junk-process-whitelist): Do 52348 * lisp/mh-e/mh-junk.el (mh-junk-process-blacklist, mh-junk-process-whitelist): Do
52162 not call mh-next-msg. Now that these functions are called from 52349 not call mh-next-msg. Now that these functions are called from
52163 mh-execute-commands, they should not change the current message pointer. 52350 mh-execute-commands, they should not change the current message pointer.
52164 The calls to mh-next-msg are probably left over from when blacklist and 52351 The calls to mh-next-msg are probably left over from when blacklist and
@@ -52757,7 +52944,7 @@
52757 This happened when the type of the previous function was a struct, etc., 52944 This happened when the type of the previous function was a struct, etc.,
52758 declaration. 52945 declaration.
52759 52946
52760 * lisp/progmodes/cc-mode (c-guess-basic-syntax CASE 5N): Check here (for 52947 * lisp/progmodes/cc-mode.el (c-guess-basic-syntax CASE 5N): Check here (for
52761 'topmost-intro-cont) that the first opening brace after BOD is the opening 52948 'topmost-intro-cont) that the first opening brace after BOD is the opening
52762 brace preceding the starting point. 52949 brace preceding the starting point.
52763 52950
@@ -53460,7 +53647,7 @@
53460 53647
53461 EUDC: Add more BBDB >= 3 support 53648 EUDC: Add more BBDB >= 3 support
53462 53649
53463 * lisp/net/eudcb-bbdb.el Declare BBDB >= 3 functions. 53650 * lisp/net/eudcb-bbdb.el: Declare BBDB >= 3 functions.
53464 (eudc-bbdb-field): Add translation from company to 53651 (eudc-bbdb-field): Add translation from company to
53465 organization. 53652 organization.
53466 (eudc-bbdb-extract-phones, eudc-bbdb-extract-addresses) 53653 (eudc-bbdb-extract-phones, eudc-bbdb-extract-addresses)
@@ -54808,7 +54995,7 @@
54808 * doc/lispref/edebug.texi (Edebug Misc): Refer to new node. 54995 * doc/lispref/edebug.texi (Edebug Misc): Refer to new node.
54809 * doc/misc/ert.texi (Running Tests Interactively): Refer to new node. 54996 * doc/misc/ert.texi (Running Tests Interactively): Refer to new node.
54810 54997
54811 * lisp/emacs-lisp-backtrace.el: New file. 54998 * lisp/emacs-lisp/backtrace.el: New file.
54812 * test/lisp/emacs-lisp/backtrace-tests.el: New file. 54999 * test/lisp/emacs-lisp/backtrace-tests.el: New file.
54813 55000
54814 * lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct. 55001 * lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct.
@@ -54858,7 +55045,7 @@
54858 (ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode. 55045 (ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode.
54859 (ert--insert-backtrace-header): New function. 55046 (ert--insert-backtrace-header): New function.
54860 55047
54861 * tests/lisp/emacs-lisp/ert-tests.el (ert-test--which-file): 55048 * test/lisp/emacs-lisp/ert-tests.el (ert-test--which-file):
54862 Use backtrace-frame slot accessor. 55049 Use backtrace-frame slot accessor.
54863 55050
548642018-08-03 Gemini Lasswell <gazally@runbox.com> 550512018-08-03 Gemini Lasswell <gazally@runbox.com>
@@ -55026,7 +55213,7 @@
55026 55213
55027 Reset mh-blacklist and mh-whitelist on folder undo 55214 Reset mh-blacklist and mh-whitelist on folder undo
55028 55215
55029 * mh-funcs.el (mh-undo-folder): Set mh-blacklist and mh-whitelist 55216 * lisp/mh-e/mh-funcs.el (mh-undo-folder): Set mh-blacklist and mh-whitelist
55030 to nil, as is done with the other lists of pending operations. 55217 to nil, as is done with the other lists of pending operations.
55031 55218
550322018-07-30 Michael Albinus <michael.albinus@gmx.de> 552192018-07-30 Michael Albinus <michael.albinus@gmx.de>
@@ -56003,7 +56190,7 @@
56003 56190
56004 Avoid infloop in redisplay due to faulty mode-line properties 56191 Avoid infloop in redisplay due to faulty mode-line properties
56005 56192
56006 * xdisp.c (safe_set_text_properties): New function. 56193 * src/xdisp.c (safe_set_text_properties): New function.
56007 (display_mode_element): Call Fset_text_properties through 56194 (display_mode_element): Call Fset_text_properties through
56008 internal_condition_case_n, using safe_set_text_properties as a 56195 internal_condition_case_n, using safe_set_text_properties as a
56009 wrapper. (Bug#32038) 56196 wrapper. (Bug#32038)
@@ -56246,9 +56433,9 @@
56246 56433
56247 * test/src/data-tests.el (data-tests-bignum, data-tests-+) 56434 * test/src/data-tests.el (data-tests-bignum, data-tests-+)
56248 (data-tests-/, data-tests-number-predicates): New tests. 56435 (data-tests-/, data-tests-number-predicates): New tests.
56249 * test/src/fns-tests (test-bignum-eql): New test. 56436 * test/src/fns-tests.el (test-bignum-eql): New test.
56250 * test/src/lread-tests (lread-long-hex-integer): Expect bignum. 56437 * test/src/lread-tests.el (lread-long-hex-integer): Expect bignum.
56251 * test/src/print-tests (print-bignum): New test. 56438 * test/src/print-tests.el (print-bignum): New test.
56252 56439
562532018-07-12 Tom Tromey <tom@tromey.com> 564402018-07-12 Tom Tromey <tom@tromey.com>
56254 56441
@@ -56262,7 +56449,7 @@
56262 56449
56263 Make comparison operators handle bignums 56450 Make comparison operators handle bignums
56264 56451
56265 * sc/data.c (bignumcompare): New function. 56452 * src/data.c (bignumcompare): New function.
56266 (arithcompare): Handle bignums. 56453 (arithcompare): Handle bignums.
56267 56454
562682018-07-12 Tom Tromey <tom@tromey.com> 564552018-07-12 Tom Tromey <tom@tromey.com>
@@ -56561,11 +56748,11 @@
56561 56748
56562 Keep interactive uses of 'recenter' backward compatible (Bug#31325) 56749 Keep interactive uses of 'recenter' backward compatible (Bug#31325)
56563 56750
56564 * window.c (Frecenter): Change the interactive spec to always pass 56751 * src/window.c (Frecenter): Change the interactive spec to always pass
56565 a non-nil value to the REDISPLAY argument when called interactively. 56752 a non-nil value to the REDISPLAY argument when called interactively.
56566 * window.el (recenter-top-bottom): Make sure 'recenter's second 56753 * lisp/window.el (recenter-top-bottom): Make sure 'recenter's second
56567 argument is non-nil everywhere. 56754 argument is non-nil everywhere.
56568 * windows.texi (Textual Scrolling): Update documentation of 56755 * doc/emacs/windows.texi (Textual Scrolling): Update documentation of
56569 'recenter'. 56756 'recenter'.
56570 56757
565712018-07-07 Eli Zaretskii <eliz@gnu.org> 567582018-07-07 Eli Zaretskii <eliz@gnu.org>
@@ -56705,12 +56892,12 @@
56705 56892
56706 Make lisp/jsonrpc.el work with Emacs 25.1 56893 Make lisp/jsonrpc.el work with Emacs 25.1
56707 56894
56708 * jsonrpc.el (Package-Requires): Require Emacs 25.1 56895 * lisp/jsonrpc.el (Package-Requires): Require Emacs 25.1
56709 (jsonrpc-lambda): Use cl-gensym. 56896 (jsonrpc-lambda): Use cl-gensym.
56710 (jsonrpc--call-deferred): Caddr doesn't exist in 56897 (jsonrpc--call-deferred): Caddr doesn't exist in
56711 emacs 25.1. 56898 emacs 25.1.
56712 56899
56713 * jsonrpc-tests.el 56900 * test/lisp/jsonrpc-tests.el
56714 (jsonrpc--call-with-emacsrpc-fixture): New function. 56901 (jsonrpc--call-with-emacsrpc-fixture): New function.
56715 (jsonrpc--with-emacsrpc-fixture): Use it. 56902 (jsonrpc--with-emacsrpc-fixture): Use it.
56716 (deferred-action-complex-tests): Adjust test for Emacs 25.1 56903 (deferred-action-complex-tests): Adjust test for Emacs 25.1
@@ -56722,7 +56909,7 @@
56722 Add a paragraph to minor mode's docstring documenting the mode's ARG 56909 Add a paragraph to minor mode's docstring documenting the mode's ARG
56723 usage if the supplied docstring doesn't already contain the word "ARG". 56910 usage if the supplied docstring doesn't already contain the word "ARG".
56724 56911
56725 * easy-mmode.el (easy-mmode--arg-docstring): New const. 56912 * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): New const.
56726 (easy-mmode--arg-docstring): New function. 56913 (easy-mmode--arg-docstring): New function.
56727 (define-minor-mode): Use them. 56914 (define-minor-mode): Use them.
56728 56915
@@ -56743,7 +56930,7 @@
56743 56930
56744 Add a new argument to 'recenter' to allow finer control of redisplay 56931 Add a new argument to 'recenter' to allow finer control of redisplay
56745 56932
56746 * window.c (recenter): Add a new REDISPLAY argument to allow the 56933 * src/window.c (recenter): Add a new REDISPLAY argument to allow the
56747 caller to control the redisplay behavior. 'recenter' will only 56934 caller to control the redisplay behavior. 'recenter' will only
56748 redisplay the frame if this new arg and 'recenter-redisplay' are 56935 redisplay the frame if this new arg and 'recenter-redisplay' are
56749 both non-nil. 56936 both non-nil.
@@ -57192,19 +57379,19 @@
57192 57379
57193 New functions to switch back and forth to another major mode 57380 New functions to switch back and forth to another major mode
57194 57381
57195 * subr.el (major-mode--suspended): New var. 57382 * lisp/subr.el (major-mode--suspended): New var.
57196 (major-mode-suspend, major-mode-restore): New funs, extracted from doc-view. 57383 (major-mode-suspend, major-mode-restore): New funs, extracted from doc-view.
57197 * doc-view.el (doc-view--previous-major-mode): Remove. 57384 * lisp/doc-view.el (doc-view--previous-major-mode): Remove.
57198 (doc-view-mode): Use major-mode-suspend. 57385 (doc-view-mode): Use major-mode-suspend.
57199 (doc-view-fallback-mode): Use major-mode-restore. 57386 (doc-view-fallback-mode): Use major-mode-restore.
57200 * hexl-mode.el (hexl-mode--minor-mode-p, hexl-mode--setq-local): Remove. 57387 * lisp/hexl.el: (hexl-mode--minor-mode-p, hexl-mode--setq-local): Remove.
57201 (hexl-mode): Use major-mode-suspend and hexl-follow-ascii-mode. 57388 (hexl-mode): Use major-mode-suspend and hexl-follow-ascii-mode.
57202 (hexl-mode-exit): Use major-mode-restore. 57389 (hexl-mode-exit): Use major-mode-restore.
57203 (hexl-activate-ruler, hexl-follow-line): Don't bother trying to preserve 57390 (hexl-activate-ruler, hexl-follow-line): Don't bother trying to preserve
57204 earlier state, now that entering/leaving hexl-mode kills local vars. 57391 earlier state, now that entering/leaving hexl-mode kills local vars.
57205 (hexl-follow-ascii-mode): New proper local minor mode. 57392 (hexl-follow-ascii-mode): New proper local minor mode.
57206 (hexl-follow-ascii): Rewrite, using it. 57393 (hexl-follow-ascii): Rewrite, using it.
57207 * image-mode.el (image-mode-previous-major-mode): Remove. 57394 * lisp/image-mode.el (image-mode-previous-major-mode): Remove.
57208 (image-mode): Use major-mode-suspend. 57395 (image-mode): Use major-mode-suspend.
57209 (image-mode-to-text): Use major-mode-restore. 57396 (image-mode-to-text): Use major-mode-restore.
57210 57397
@@ -58220,7 +58407,7 @@
58220 58407
582212018-06-11 Michael R. Mauger <michael@mauger.com> 584082018-06-11 Michael R. Mauger <michael@mauger.com>
58222 58409
58223 * lisp/progmodes/sql.el Add MariaDB support (Robert Cochran) 58410 * lisp/progmodes/sql.el: Add MariaDB support (Robert Cochran)
58224 (sql-product-alist): Add MariaDB entry 58411 (sql-product-alist): Add MariaDB entry
58225 (sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params, 58412 (sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params,
58226 sql-mode-mariadb-font-lock): New variables, aliases of the MySQL 58413 sql-mode-mariadb-font-lock): New variables, aliases of the MySQL
@@ -59322,7 +59509,7 @@
59322 59509
59323 bibtex-search-entry: Reuse the window displaying the buffer. 59510 bibtex-search-entry: Reuse the window displaying the buffer.
59324 59511
59325 * textmodes/bibtex.el (bibtex-reposition-window): New optional arg 59512 * lisp/textmodes/bibtex-style.el (bibtex-reposition-window): New optional arg
59326 pos. 59513 pos.
59327 (bibtex-search-crossref, bibtex-search-entry): Use it. 59514 (bibtex-search-crossref, bibtex-search-entry): Use it.
59328 (bibtex-search-entry): If possible, reuse the window displaying 59515 (bibtex-search-entry): If possible, reuse the window displaying
@@ -59332,13 +59519,13 @@
59332 59519
59333 bibtex-mark-entry: Display no message. 59520 bibtex-mark-entry: Display no message.
59334 59521
59335 * textmodes/bibtex.el (bibtex-mark-entry): Display no message. 59522 * lisp/textmodes/bibtex.el (bibtex-mark-entry): Display no message.
59336 59523
593372018-05-30 Roland Winkler <winkler@gnu.org> 595242018-05-30 Roland Winkler <winkler@gnu.org>
59338 59525
59339 bibtex-format-entry: Preserve opt-alt if possible. 59526 bibtex-format-entry: Preserve opt-alt if possible.
59340 59527
59341 * textmodes/bibtex.el (bibtex-format-entry): 59528 * lisp/textmodes/bibtex.el (bibtex-format-entry):
59342 Preserve opt-alt unless its removal is selected. 59529 Preserve opt-alt unless its removal is selected.
59343 (bibtex-parse-entry): New optional arg keep-opt-alt. 59530 (bibtex-parse-entry): New optional arg keep-opt-alt.
59344 59531
@@ -60168,7 +60355,7 @@
60168 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): 60355 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
60169 Parse multibyte symlinks correctly. 60356 Parse multibyte symlinks correctly.
60170 60357
60171 * test/lisp/net/tramp/tramp-tests.el (tramp--test-utf8): 60358 * test/lisp/net/tramp-tests.el (tramp--test-utf8):
60172 Improve backward compatibility. 60359 Improve backward compatibility.
60173 60360
601742018-05-10 Basil L. Contovounesios <contovob@tcd.ie> 603612018-05-10 Basil L. Contovounesios <contovob@tcd.ie>
@@ -61775,7 +61962,7 @@
61775 61962
61776 Do not destructively modify interprogram paste 61963 Do not destructively modify interprogram paste
61777 61964
61778 * simple.el (kill-new, current-kill): Non-destructively reverse list 61965 * lisp/simple.el (kill-new, current-kill): Non-destructively reverse list
61779 returned by interprogram-paste-function. (bug#31097) 61966 returned by interprogram-paste-function. (bug#31097)
61780 61967
617812018-04-13 Lars Ingebrigtsen <larsi@gnus.org> 619682018-04-13 Lars Ingebrigtsen <larsi@gnus.org>
@@ -62324,10 +62511,10 @@
62324 62511
62325 Gnus Group Mail Spliting on mailing-list headers 62512 Gnus Group Mail Spliting on mailing-list headers
62326 62513
62327 * texi/gnus.texi: Document the new `list' split abbreviation and 62514 * doc/misc/gnus.texi: Document the new `list' split abbreviation and
62328 `match-list' group parameter (bug#25346). 62515 `match-list' group parameter (bug#25346).
62329 62516
62330 * lisp/gnus-mlspl.el: Use the `list' abbreviation when the new 62517 * lisp/gnus/gnus-mlspl.el: Use the `list' abbreviation when the new
62331 `match-list' group parameter is set to `t'. 62518 `match-list' group parameter is set to `t'.
62332 The split regexp is modified to match either `@` or `.` as domain 62519 The split regexp is modified to match either `@` or `.` as domain
62333 separator to comply with RFC2919 IDs too. 62520 separator to comply with RFC2919 IDs too.
@@ -62731,7 +62918,10 @@
62731 62918
627322018-04-02 Alan Mackenzie <acm@muc.de> 629192018-04-02 Alan Mackenzie <acm@muc.de>
62733 62920
62734 * lisp/progmodes/cc-{defs,engine,langs,vars}.el: Comment the use of "a\\`" 62921 * lisp/progmodes/cc-defs.el:
62922 * lisp/progmodes/cc-engine.el:
62923 * lisp/progmodes/cc-langs.el:
62924 * lisp/progmodes/cc-vars.el: Comment the use of "a\\`"
62735 62925
627362018-04-02 Paul Eggert <eggert@cs.ucla.edu> 629262018-04-02 Paul Eggert <eggert@cs.ucla.edu>
62737 62927
@@ -63768,7 +63958,7 @@
63768 63958
637692018-03-20 Alan Mackenzie <acm@muc.de> 639592018-03-20 Alan Mackenzie <acm@muc.de>
63770 63960
63771 * cc-engine.el (c-looking-at-or-maybe-in-bracelist): Remove pessimization 63961 * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Remove pessimization
63772 63962
637732018-03-20 Eli Zaretskii <eliz@gnu.org> 639632018-03-20 Eli Zaretskii <eliz@gnu.org>
63774 63964
@@ -64380,7 +64570,7 @@
64380 64570
64381 * doc/emacs/fixit.texi (Transpose): Mention and explain the new 64571 * doc/emacs/fixit.texi (Transpose): Mention and explain the new
64382 command. 64572 command.
64383 * editfns.c (Ftranspose_regions): Add an interactive calling 64573 * src/editfns.c (Ftranspose_regions): Add an interactive calling
64384 specification, and add documentation for it. 64574 specification, and add documentation for it.
64385 64575
643862018-03-11 Charles A. Roelli <charles@aurox.ch> 645762018-03-11 Charles A. Roelli <charles@aurox.ch>
@@ -64546,7 +64736,7 @@
64546 64736
64547 Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209) 64737 Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)
64548 64738
64549 * outline.el (outline-headers-as-kill): Fix heading duplication. 64739 * lisp/outline.el (outline-headers-as-kill): Fix heading duplication.
64550 64740
645512018-03-10 Eli Zaretskii <eliz@gnu.org> 647412018-03-10 Eli Zaretskii <eliz@gnu.org>
64552 64742
@@ -65659,7 +65849,7 @@
65659 Add ".xpi" to Tramp file archives 65849 Add ".xpi" to Tramp file archives
65660 65850
65661 * doc/misc/tramp.texi (Archive file names): 65851 * doc/misc/tramp.texi (Archive file names):
65662 * tramp-archive.el (tramp-archive-suffixes): Add ".xpi". 65852 * lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".xpi".
65663 65853
656642018-02-18 Stefan Monnier <monnier@iro.umontreal.ca> 658542018-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
65665 65855
@@ -65980,7 +66170,7 @@
65980 * lisp/server.el: (server-name): Update :version tag. 66170 * lisp/server.el: (server-name): Update :version tag.
65981 * etc/NEWS: Document that `server-name' and `server-socket-dir' 66171 * etc/NEWS: Document that `server-name' and `server-socket-dir'
65982 automatically update. 66172 automatically update.
65983 * doc/misc.texi: (Emacs Server): Likewise. 66173 * doc/emacs/misc.texi: (Emacs Server): Likewise.
65984 66174
659852018-02-12 Paul Eggert <eggert@cs.ucla.edu> 661752018-02-12 Paul Eggert <eggert@cs.ucla.edu>
65986 66176
@@ -67952,7 +68142,7 @@
67952 68142
67953 It already exists in the Cygwin-w32 build. 68143 It already exists in the Cygwin-w32 build.
67954 * src/w32fns.c (Fw32_battery_status): Move to... 68144 * src/w32fns.c (Fw32_battery_status): Move to...
67955 * src/w32cygwinx: New file, to be used for functions common to 68145 * src/w32cygwinx.c: New file, to be used for functions common to
67956 the MS Windows and Cygwin builds. 68146 the MS Windows and Cygwin builds.
67957 (syms_of_w32cygwinx): New function. 68147 (syms_of_w32cygwinx): New function.
67958 * src/lisp.h: Add prototype of syms_of_w32cygwinx. 68148 * src/lisp.h: Add prototype of syms_of_w32cygwinx.
@@ -68253,7 +68443,7 @@
68253 68443
68254 Add macOS character-palette (bug#29837) 68444 Add macOS character-palette (bug#29837)
68255 68445
68256 * lisp/ns-win.el (ns-do-show-character-palette): New function. 68446 * lisp/term/ns-win.el (ns-do-show-character-palette): New function.
68257 * src/nsfns.m (Sns_show_character_palette): New function. 68447 * src/nsfns.m (Sns_show_character_palette): New function.
68258 * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString. 68448 * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
68259 68449
@@ -68377,7 +68567,7 @@
68377 68567
683782018-01-07 Alan Mackenzie <acm@muc.de> 685682018-01-07 Alan Mackenzie <acm@muc.de>
68379 68569
68380 * fns.c (base64-decode-region): Add signal_after_change call for insertion. 68570 * src/fns.c (base64-decode-region): Add signal_after_change call for insertion.
68381 68571
683822018-01-06 Noam Postavsky <npostavs@gmail.com> 685722018-01-06 Noam Postavsky <npostavs@gmail.com>
68383 68573
@@ -71090,8 +71280,9 @@
71090 71280
71091 Add support for Windows installer build 71281 Add support for Windows installer build
71092 71282
71093 * etc/images/slash.bmp,admin/nt/dist-build/emacs.nsi: New files 71283 * etc/images/slash.bmp:
71094 * admin/nt/dist-build/build-zips.sh: Support building installer 71284 * admin/nt/dist-build/emacs.nsi: New files
71285 * admin/nt/dist-build/build-zips.sh: Support building installer
71095 71286
710962017-11-04 Andreas Politz <politza@hochschule-trier.de> 712872017-11-04 Andreas Politz <politza@hochschule-trier.de>
71097 71288
@@ -71681,7 +71872,7 @@
71681 * lisp/dired-aux.el (dired-create-destination-dirs): New option. 71872 * lisp/dired-aux.el (dired-create-destination-dirs): New option.
71682 (dired-maybe-create-dirs): New defun. 71873 (dired-maybe-create-dirs): New defun.
71683 (dired-copy-file-recursive, dired-rename-file): Use it (Bug#28834). 71874 (dired-copy-file-recursive, dired-rename-file): Use it (Bug#28834).
71684 * lisp/dired-aux-tests.el (dired-test-bug28834): Add test. 71875 * test/lisp/dired-aux-tests.el (dired-test-bug28834): Add test.
71685 * doc/emacs/dired.texi (Operating on Files): Update manual. 71876 * doc/emacs/dired.texi (Operating on Files): Update manual.
71686 * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1) 71877 * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1)
71687 Announce this change. 71878 Announce this change.
@@ -139259,7 +139450,7 @@
139259 139450
139260This file records repository revisions from 139451This file records repository revisions from
139261commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to 139452commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
139262commit 28399e585e172ab005328f1c970084e53a299eb4 (inclusive). 139453commit 9261b1ed49755284bb9dc194b6c2a9b407151ee5 (inclusive).
139263See ChangeLog.2 for earlier changes. 139454See ChangeLog.2 for earlier changes.
139264 139455
139265;; Local Variables: 139456;; Local Variables:
diff --git a/admin/authors.el b/admin/authors.el
index f8f72878d28..dc42bc72ef3 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -294,7 +294,10 @@ If REALNAME is nil, ignore that author.")
294 "preferences\\.\\(nib\\|gorm\\)" 294 "preferences\\.\\(nib\\|gorm\\)"
295 ;; Generated files that have since been removed. 295 ;; Generated files that have since been removed.
296 "\\(refcard\\(-de\\|-pl\\)?\\|calccard\\|dired-ref\\|orgcard\\|\ 296 "\\(refcard\\(-de\\|-pl\\)?\\|calccard\\|dired-ref\\|orgcard\\|\
297gnus-booklet\\|fr-drdref\\)\\.p\\(df\\|s\\)\\'") 297gnus-booklet\\|fr-drdref\\)\\.p\\(df\\|s\\)\\'"
298 ;; Removed as obsolete
299 "README-ftp-server"
300 )
298 "List of regexps matching obsolete files. 301 "List of regexps matching obsolete files.
299Changes to files matching one of the regexps in this list are not listed.") 302Changes to files matching one of the regexps in this list are not listed.")
300 303
@@ -459,6 +462,12 @@ Changes to files matching one of the regexps in this list are not listed.")
459 ;; ada-mode has been deleted, now in GNU ELPA 462 ;; ada-mode has been deleted, now in GNU ELPA
460 "ada-mode.texi" 463 "ada-mode.texi"
461 "GNUS-NEWS" 464 "GNUS-NEWS"
465 "doc/misc/gnus-news.el"
466 "src/fingerprint-dummy.c"
467 "src/fingerprint.h"
468 ;; Replaced by lisp/thread.el
469 "lisp/emacs-lisp/thread-list.el"
470 "etc/images/slash.bmp"
462 ) 471 )
463 "List of files and directories to ignore. 472 "List of files and directories to ignore.
464Changes to files in this list are not listed.") 473Changes to files in this list are not listed.")
@@ -1103,6 +1112,8 @@ in the repository.")
1103 ("lisp/net/starttls.el" . "lisp/obsolete/starttls.el") 1112 ("lisp/net/starttls.el" . "lisp/obsolete/starttls.el")
1104 ("url-ns.el" . "lisp/obsolete/url-ns.el") 1113 ("url-ns.el" . "lisp/obsolete/url-ns.el")
1105 ("gnus-news.texi" . "doc/misc/gnus.texi") 1114 ("gnus-news.texi" . "doc/misc/gnus.texi")
1115 ("lisp/multifile.el". "lisp/fileloop.el")
1116 ("lisp/emacs-lisp/thread.el". "lisp/thread.el")
1106 ) 1117 )
1107 "Alist of files which have been renamed during their lifetime. 1118 "Alist of files which have been renamed during their lifetime.
1108Elements are (OLDNAME . NEWNAME).") 1119Elements are (OLDNAME . NEWNAME).")
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index 557119441e4..768e5051f0b 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -34,7 +34,7 @@ GNULIB_MODULES='
34 d-type diffseq dosname double-slash-root dtoastr dtotimespec dup2 34 d-type diffseq dosname double-slash-root dtoastr dtotimespec dup2
35 environ execinfo explicit_bzero faccessat 35 environ execinfo explicit_bzero faccessat
36 fchmodat fcntl fcntl-h fdopendir 36 fchmodat fcntl fcntl-h fdopendir
37 filemode filevercmp flexmember fpieee fstatat fsusage fsync 37 filemode filevercmp flexmember fpieee fstatat fsusage fsync futimens
38 getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog 38 getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog
39 ieee754-h ignore-value intprops largefile lstat 39 ieee754-h ignore-value intprops largefile lstat
40 manywarnings memmem-simple mempcpy memrchr minmax mkostemp mktime nstrftime 40 manywarnings memmem-simple mempcpy memrchr minmax mkostemp mktime nstrftime
@@ -43,7 +43,7 @@ GNULIB_MODULES='
43 sig2str socklen stat-time std-gnu11 stdalign stddef stdio 43 sig2str socklen stat-time std-gnu11 stdalign stddef stdio
44 stpcpy strnlen strtoimax symlink sys_stat sys_time 44 stpcpy strnlen strtoimax symlink sys_stat sys_time
45 tempname time time_r time_rz timegm timer-time timespec-add timespec-sub 45 tempname time time_r time_rz timegm timer-time timespec-add timespec-sub
46 update-copyright unlocked-io utimens 46 update-copyright unlocked-io utimensat
47 vla warnings 47 vla warnings
48' 48'
49 49
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index 272b08d08e9..38963f225ca 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -214,6 +214,7 @@ Select a buffer to be used by next invocation of @code{next-error} and
214@kindex C-x ` 214@kindex C-x `
215@findex next-error 215@findex next-error
216@vindex next-error-highlight 216@vindex next-error-highlight
217@vindex next-error-highlight-no-select
217 To visit errors sequentially, type @w{@kbd{C-x `}} 218 To visit errors sequentially, type @w{@kbd{C-x `}}
218(@code{next-error}), or equivalently @kbd{M-g M-n} or @kbd{M-g n}. 219(@code{next-error}), or equivalently @kbd{M-g M-n} or @kbd{M-g n}.
219This command can be invoked from any buffer, not just a Compilation 220This command can be invoked from any buffer, not just a Compilation
@@ -258,7 +259,9 @@ to skip any messages.
258 259
259 When Emacs visits the locus of an error message, it momentarily 260 When Emacs visits the locus of an error message, it momentarily
260highlights the relevant source line. The duration of this highlight 261highlights the relevant source line. The duration of this highlight
261is determined by the variable @code{next-error-highlight}. 262is determined by the variable @code{next-error-highlight} for the locus
263in the selected buffer, and @code{next-error-highlight-no-select} for
264the locus in non-selected buffers.
262 265
263@vindex compilation-context-lines 266@vindex compilation-context-lines
264 If the @file{*compilation*} buffer is shown in a window with a left 267 If the @file{*compilation*} buffer is shown in a window with a left
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index f39ce40931c..e7e879065ed 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1873,15 +1873,19 @@ You can use a vector for the simple cases too:
1873 Language and coding systems may cause problems with key bindings for 1873 Language and coding systems may cause problems with key bindings for
1874non-@acronym{ASCII} characters. @xref{Init Non-ASCII}. 1874non-@acronym{ASCII} characters. @xref{Init Non-ASCII}.
1875 1875
1876@findex define-key
1876 As described in @ref{Local Keymaps}, major modes and minor modes can 1877 As described in @ref{Local Keymaps}, major modes and minor modes can
1877define local keymaps. These keymaps are constructed when the mode is 1878define local keymaps. These keymaps are constructed when the mode is
1878used for the first time in a session. If you wish to change one of 1879loaded for the first time in a session. The function @code{define-key}
1879these keymaps, you must use the @dfn{mode hook} (@pxref{Hooks}). 1880can be used to make changes in a specific keymap. This function can
1881also unset keys, when passed @code{nil} as the binding.
1880 1882
1881@findex define-key 1883 Since a mode's keymaps are not constructed until it has been loaded,
1882 For example, Texinfo mode runs the hook @code{texinfo-mode-hook}. 1884you must delay running code which modifies them, e.g., by putting it
1883Here's how you can use the hook to add local bindings for @kbd{C-c n} 1885on a @dfn{mode hook} (@pxref{(Hooks)}). For example, Texinfo mode
1884and @kbd{C-c p} in Texinfo mode: 1886runs the hook @code{texinfo-mode-hook}. Here's how you can use the
1887hook to add local bindings for @kbd{C-c n} and @kbd{C-c p}, and remove
1888the one for @kbd{C-c C-x x} in Texinfo mode:
1885 1889
1886@example 1890@example
1887(add-hook 'texinfo-mode-hook 1891(add-hook 'texinfo-mode-hook
@@ -1890,6 +1894,7 @@ and @kbd{C-c p} in Texinfo mode:
1890 'backward-paragraph) 1894 'backward-paragraph)
1891 (define-key texinfo-mode-map "\C-cn" 1895 (define-key texinfo-mode-map "\C-cn"
1892 'forward-paragraph))) 1896 'forward-paragraph)))
1897 (define-key texinfo-mode-map "\C-c\C-xx" nil)
1893@end example 1898@end example
1894 1899
1895@node Modifier Keys 1900@node Modifier Keys
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index ae1b8d654f0..00daa8b35d3 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -143,6 +143,64 @@ The variables for right-hand keys, like @code{ns-right-alternate-modifier},
143may also be set to @code{left}, which means to use the same behavior as 143may also be set to @code{left}, which means to use the same behavior as
144the corresponding left-hand key. 144the corresponding left-hand key.
145 145
146@subsection Frame Variables
147
148@table @code
149@vindex ns-use-proxy-icon
150@item ns-use-proxy-icon
151This variable specifies whether to display the proxy icon in the
152titlebar.
153
154@vindex ns-confirm-quit
155@item ns-confirm-quit
156This variable specifies whether to display a graphical confirmation
157dialogue on quitting.
158
159@vindex ns-auto-hide-menu-bar
160@item ns-auto-hide-menu-bar
161This variable specifies whether the macOS menu bar is hidden when an
162Emacs frame is selected. If non-nil the menu bar is not shown unless
163the mouse pointer is moved near to the top of the screen.
164
165@vindex ns-use-native-fullscreen
166@item ns-use-native-fullscreen
167This variable controls whether to use native, or non-native
168fullscreen. Native fullscreen is only available on macOS 10.7 and
169above.
170@end table
171
172@subsection macOS Trackpad/Mousewheel Variables
173
174These variables only apply to macOS 10.7 (Lion) and above.
175
176@table @code
177@vindex ns-use-mwheel-acceleration
178@item ns-use-mwheel-acceleration
179This variable controls whether Emacs ignores the system mousewheel
180acceleration. When nil each `click' of the mousewheel will correspond
181exactly with one mousewheel event. When non-nil, the default, each
182`click' may correspond with more than one mousewheel event, depending
183on the user's input.
184
185@vindex ns-use-mwheel-momentum
186@item ns-use-mwheel-momentum
187This variable controls whether Emacs ignores the system `momentum'
188when scrolling using a trackpad. When non-nil, the default, scrolling
189rapidly may result in the buffer continuing to scroll for a short
190while after the user has lifted their fingers off the trackpad.
191
192@vindex ns-mwheel-line-height
193@item ns-mwheel-line-height
194This variable controls the sensitivity of scrolling with the trackpad.
195Apple trackpads scroll by pixels, not lines, so Emacs converts the
196system's pixel values into lines. When set to a number, this variable
197sets the number of pixels Emacs will consider as one line. When nil
198or a non-number the default line height is used.
199
200Setting a lower number makes the trackpad more sensitive, and a higher
201number makes the trackpad less sensitive.
202@end table
203
146@subsection Font Panel 204@subsection Font Panel
147 205
148@findex ns-popup-font-panel 206@findex ns-popup-font-panel
@@ -153,17 +211,6 @@ recently used or clicked on.
153@c To make the setting permanent, use @samp{Save Options} in the 211@c To make the setting permanent, use @samp{Save Options} in the
154@c Options menu, or run @code{menu-bar-options-save}. 212@c Options menu, or run @code{menu-bar-options-save}.
155 213
156@cindex Core Text, on macOS
157@cindex font backend, on macOS
158In macOS, Emacs uses a Core Text based font backend
159by default. If you prefer the older font style, enter the following
160at the command-line before starting Emacs:
161
162@example
163% defaults write org.gnu.Emacs FontBackend ns
164@end example
165
166
167@node Mac / GNUstep Events 214@node Mac / GNUstep Events
168@section Windowing System Events under macOS / GNUstep 215@section Windowing System Events under macOS / GNUstep
169@cindex events on macOS 216@cindex events on macOS
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index 5d2a0077ca4..55e41e38cb7 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -813,35 +813,23 @@ varieties.
813 813
814@cindex y or n prompt 814@cindex y or n prompt
815 For the first type of yes-or-no query, the prompt ends with 815 For the first type of yes-or-no query, the prompt ends with
816@samp{(y or n)}. Such a query does not actually use the minibuffer; 816@w{@samp{(y or n)}}. You answer the query by typing a single key,
817the prompt appears in the echo area, and you answer by typing either 817either @samp{y} or @samp{n}, which immediately exits the minibuffer
818@samp{y} or @samp{n}, which immediately delivers the response. For 818and delivers the response. For example, if you type @kbd{C-x C-w}
819example, if you type @kbd{C-x C-w} (@kbd{write-file}) to save a 819(@kbd{write-file}) to save a buffer, and enter the name of an existing
820buffer, and enter the name of an existing file, Emacs issues a prompt 820file, Emacs issues a prompt like this:
821like this:
822 821
823@smallexample 822@smallexample
824File ‘foo.el’ exists; overwrite? (y or n) 823File ‘foo.el’ exists; overwrite? (y or n)
825@end smallexample 824@end smallexample
826 825
827@noindent
828Because this query does not actually use the minibuffer, the usual
829minibuffer editing commands cannot be used. However, you can perform
830some window scrolling operations while the query is active: @kbd{C-l}
831recenters the selected window; @kbd{C-v} (or @key{PageDown}, or
832@key{next}) scrolls forward; @kbd{M-v} (or @key{PageUp}, or
833@key{prior}) scrolls backward; @kbd{C-M-v} scrolls forward in the next
834window; and @kbd{C-M-S-v} scrolls backward in the next window. Typing
835@kbd{C-g} dismisses the query, and quits the command that issued it
836(@pxref{Quitting}).
837
838@cindex yes or no prompt 826@cindex yes or no prompt
839 The second type of yes-or-no query is typically employed if 827 The second type of yes-or-no query is typically employed if giving
840giving the wrong answer would have serious consequences; it uses the 828the wrong answer would have serious consequences; it thus features a
841minibuffer, and features a prompt ending with @samp{(yes or no)}. For 829longer prompt ending with @samp{(yes or no)}. For example, if you
842example, if you invoke @kbd{C-x k} (@code{kill-buffer}) on a 830invoke @kbd{C-x k} (@code{kill-buffer}) on a file-visiting buffer with
843file-visiting buffer with unsaved changes, Emacs activates the 831unsaved changes, Emacs activates the minibuffer with a prompt like
844minibuffer with a prompt like this: 832this:
845 833
846@smallexample 834@smallexample
847Buffer foo.el modified; kill anyway? (yes or no) 835Buffer foo.el modified; kill anyway? (yes or no)
@@ -849,7 +837,12 @@ Buffer foo.el modified; kill anyway? (yes or no)
849 837
850@noindent 838@noindent
851To answer, you must type @samp{yes} or @samp{no} into the minibuffer, 839To answer, you must type @samp{yes} or @samp{no} into the minibuffer,
852followed by @key{RET}. The minibuffer behaves as described in the 840followed by @key{RET}.
853previous sections; you can switch to another window with @kbd{C-x o}, 841
854use the history commands @kbd{M-p} and @kbd{M-n}, etc. Type @kbd{C-g} 842With both types of yes-or-no query the minibuffer behaves as described
855to quit the minibuffer and the querying command. 843in the previous sections; you can recenter the selected window with
844@kbd{C-l}, scroll that window (@kbd{C-v} or @kbd{PageDown} scrolls
845forward, @kbd{M-v} or @kbd{PageUp} scrolls backward), switch to
846another window with @kbd{C-x o}, use the history commands @kbd{M-p}
847and @kbd{M-n}, etc. Type @kbd{C-g} to dismiss the query, and quit the
848minibuffer and the querying command (@pxref{Quitting}).
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 311b6f5b3fb..e979fda41eb 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -302,7 +302,7 @@ function is called, it reads the full definition from the file, to
302replace the place-holder. 302replace the place-holder.
303 303
304 The advantage of dynamic function loading is that loading the file 304 The advantage of dynamic function loading is that loading the file
305becomes much faster. This is a good thing for a file which contains 305should become faster. This is a good thing for a file which contains
306many separate user-callable functions, if using one of them does not 306many separate user-callable functions, if using one of them does not
307imply you will probably also use the rest. A specialized mode which 307imply you will probably also use the rest. A specialized mode which
308provides many keyboard commands often has that usage pattern: a user may 308provides many keyboard commands often has that usage pattern: a user may
@@ -326,6 +326,10 @@ installed Emacs files. But they are quite likely to happen with Lisp
326files that you are changing. The easiest way to prevent these problems 326files that you are changing. The easiest way to prevent these problems
327is to reload the new compiled file immediately after each recompilation. 327is to reload the new compiled file immediately after each recompilation.
328 328
329 @emph{Experience shows that using dynamic function loading provides
330benefits that are hardly measurable, so this feature is deprecated
331since Emacs 27.1.}
332
329 The byte compiler uses the dynamic function loading feature if the 333 The byte compiler uses the dynamic function loading feature if the
330variable @code{byte-compile-dynamic} is non-@code{nil} at compilation 334variable @code{byte-compile-dynamic} is non-@code{nil} at compilation
331time. Do not set this variable globally, since dynamic loading is 335time. Do not set this variable globally, since dynamic loading is
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index a69a4e5dd38..b3ad9b99649 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -1909,11 +1909,19 @@ omitted or @code{nil}, it defaults to 0, i.e., no access rights at
1909all. 1909all.
1910@end defun 1910@end defun
1911 1911
1912@defun set-file-times filename &optional time 1912@defun set-file-times filename &optional time flag
1913This function sets the access and modification times of @var{filename} 1913This function sets the access and modification times of @var{filename}
1914to @var{time}. The return value is @code{t} if the times are successfully 1914to @var{time}. The return value is @code{t} if the times are successfully
1915set, otherwise it is @code{nil}. @var{time} defaults to the current 1915set, otherwise it is @code{nil}. @var{time} defaults to the current
1916time and must be a time value (@pxref{Time of Day}). 1916time and must be a time value (@pxref{Time of Day}).
1917
1918By default this function follows symbolic links. However, if the
1919optional argument @var{flag} is the symbol @code{nofollow}, this
1920function does not follow @var{filename} if it is a symbolic link;
1921this can help prevent inadvertently changing the times of a file
1922somewhere else. On platforms that do not support changing times
1923on a symbolic link, this function signals an error when @var{filename}
1924is a symbolic link and @var{flag} is @code{nofollow}.
1917@end defun 1925@end defun
1918 1926
1919@defun set-file-extended-attributes filename attribute-alist 1927@defun set-file-extended-attributes filename attribute-alist
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index caa08ffb1de..905e5c2e6ce 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -3264,7 +3264,7 @@ that deletion fails for whatever reason, the child frame is made a
3264top-level frame. 3264top-level frame.
3265 3265
3266 Whether a child frame can have a menu or tool bar is window-system or 3266 Whether a child frame can have a menu or tool bar is window-system or
3267window manager dependent. Most window-systems explicitly disallow menus 3267window manager dependent. Most window-systems explicitly disallow menu
3268bars for child frames. It seems advisable to disable both, menu and 3268bars for child frames. It seems advisable to disable both, menu and
3269tool bars, via the frame's initial parameters settings. 3269tool bars, via the frame's initial parameters settings.
3270 3270
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index ac38b9d390d..2488fb37529 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -2236,16 +2236,16 @@ the end of @var{question}. The possible responses are provided in
2236@noindent 2236@noindent
2237where @var{long-answer} is the complete text of the user response, a 2237where @var{long-answer} is the complete text of the user response, a
2238string; @var{short-answer} is a short form of the same response, a 2238string; @var{short-answer} is a short form of the same response, a
2239single character; and @var{help-message} is the text that describes 2239single character or a function key; and @var{help-message} is the text
2240the meaning of the answer. If the variable @code{read-answer-short} 2240that describes the meaning of the answer. If the variable
2241is non-@code{nil}, the prompt will show the short variants of the 2241@code{read-answer-short} is non-@code{nil}, the prompt will show the
2242possible answers and the user is expected to type the single 2242short variants of the possible answers and the user is expected to
2243characters shown in the prompt; otherwise the prompt will show the 2243type the single characters/keys shown in the prompt; otherwise the
2244long variants of the answers, and the user is expected to type the 2244prompt will show the long variants of the answers, and the user is
2245full text of one of the answers and end by pressing @key{RET}. If 2245expected to type the full text of one of the answers and end by
2246@code{use-dialog-box} is non-@code{nil}, and this function was invoked 2246pressing @key{RET}. If @code{use-dialog-box} is non-@code{nil}, and
2247by mouse events, the question and the answers will be displayed in a 2247this function was invoked by mouse events, the question and the
2248GUI dialog box. 2248answers will be displayed in a GUI dialog box.
2249 2249
2250The function returns the text of the @var{long-answer} selected by the 2250The function returns the text of the @var{long-answer} selected by the
2251user, regardless of whether long or short answers were shown in the 2251user, regardless of whether long or short answers were shown in the
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index cf4ef52abfb..e72858bbf1a 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1979,10 +1979,9 @@ The result is @code{nil} if either argument is a NaN.
1979 1979
1980@defun time-subtract t1 t2 1980@defun time-subtract t1 t2
1981This returns the time difference @var{t1} @minus{} @var{t2} between 1981This returns the time difference @var{t1} @minus{} @var{t2} between
1982two time values, normally as a Lisp timestamp but as a float 1982two time values, as a Lisp time value. The result is exact and its clock
1983if either argument is infinite or a NaN@.
1984When the result is a timestamp, it is exact and its clock
1985resolution is no worse than the worse of its two arguments' resolutions. 1983resolution is no worse than the worse of its two arguments' resolutions.
1984The result is floating-point only if it is infinite or a NaN.
1986If you need the difference in units 1985If you need the difference in units
1987of elapsed seconds, you can convert it with @code{time-convert} or 1986of elapsed seconds, you can convert it with @code{time-convert} or
1988@code{float-time}. @xref{Time Conversion}. 1987@code{float-time}. @xref{Time Conversion}.
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index a4d5a27203f..1a090ebe101 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1086,8 +1086,9 @@ Corresponding string regexp: @samp{@var{A}@var{B}@dots{}}
1086@itemx @code{(| @var{rx}@dots{})} 1086@itemx @code{(| @var{rx}@dots{})}
1087@cindex @code{|} in rx 1087@cindex @code{|} in rx
1088Match exactly one of the @var{rx}s. 1088Match exactly one of the @var{rx}s.
1089If all arguments are string literals, the longest possible match 1089If all arguments are strings, characters, or @code{or} forms
1090will always be used. Otherwise, either the longest match or the 1090so constrained, the longest possible match will always be used.
1091Otherwise, either the longest match or the
1091first (in left-to-right order) will be used. 1092first (in left-to-right order) will be used.
1092Without arguments, the expression will not match anything at all.@* 1093Without arguments, the expression will not match anything at all.@*
1093Corresponding string regexp: @samp{@var{A}\|@var{B}\|@dots{}}. 1094Corresponding string regexp: @samp{@var{A}\|@var{B}\|@dots{}}.
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index 0610f8029df..1ca97e2f092 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -1076,7 +1076,7 @@ package is only activated if all its dependencies have been).
1076Its format is a list of lists on a single line. The @code{car} of 1076Its format is a list of lists on a single line. The @code{car} of
1077each sub-list is the name of a package, as a symbol. The @code{cadr} 1077each sub-list is the name of a package, as a symbol. The @code{cadr}
1078of each sub-list is the minimum acceptable version number, as a string 1078of each sub-list is the minimum acceptable version number, as a string
1079that can be parse by @code{version-to-list}. An entry that lacks a 1079that can be parsed by @code{version-to-list}. An entry that lacks a
1080version (i.e., an entry which is just a symbol, or a sub-list of one 1080version (i.e., an entry which is just a symbol, or a sub-list of one
1081element) is equivalent to entry with version "0". For instance: 1081element) is equivalent to entry with version "0". For instance:
1082 1082
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 35eb4d59fb0..abcd4bbd0f7 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -858,7 +858,7 @@ is a buffer if the buffer-local value of the variable is being
858changed, @code{nil} otherwise. 858changed, @code{nil} otherwise.
859@end defun 859@end defun
860 860
861@defun remove-variable-watch symbol watch-function 861@defun remove-variable-watcher symbol watch-function
862This function removes @var{watch-function} from @var{symbol}'s list of 862This function removes @var{watch-function} from @var{symbol}'s list of
863watchers. 863watchers.
864@end defun 864@end defun
@@ -1187,8 +1187,14 @@ When evaluating Emacs Lisp code directly using an @code{eval} call,
1187lexical binding is enabled if the @var{lexical} argument to 1187lexical binding is enabled if the @var{lexical} argument to
1188@code{eval} is non-@code{nil}. @xref{Eval}. 1188@code{eval} is non-@code{nil}. @xref{Eval}.
1189 1189
1190Lexical binding is also enabled in Lisp Interaction and IELM 1190@findex eval-expression@r{, and }lexical-binding
1191mode, used in the @file{*scratch*} and @file{*ielm*} buffers. 1191Lexical binding is also enabled in Lisp Interaction and IELM mode,
1192used in the @file{*scratch*} and @file{*ielm*} buffers, and also when
1193evaluating expressions via @kbd{M-:} (@code{eval-expression}) and when
1194processing the @option{--eval} command-line options of Emacs
1195(@pxref{Action Arguments,,, emacs, The GNU Emacs Manual}) and
1196@command{emacsclient} (@pxref{emacsclient Options,,, emacs, The GNU
1197Emacs Manual}).
1192 1198
1193@cindex special variables 1199@cindex special variables
1194 Even when lexical binding is enabled, certain variables will 1200 Even when lexical binding is enabled, certain variables will
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 544ff853351..f99a890670f 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -350,11 +350,12 @@ Line-Up Functions
350* Misc Line-Up:: 350* Misc Line-Up::
351 351
352 352
353Customizing Macros 353Custom Macros
354 354
355* Macro Backslashes:: 355* Macro Backslashes::
356* Macros with ;:: 356* Macros with ;::
357* Noise Macros:: 357* Noise Macros::
358* Indenting Directives::
358 359
359@end detailmenu 360@end detailmenu
360@end menu 361@end menu
@@ -6949,6 +6950,10 @@ is @code{nil}, all lines inside macro definitions are analyzed as
6949@code{cpp-macro-cont}. 6950@code{cpp-macro-cont}.
6950@end defopt 6951@end defopt
6951 6952
6953Sometimes you may want to indent particular directives
6954(e.g. @code{#pragma}) as though they were statements. To do this, see
6955@ref{Indenting Directives}.
6956
6952Because a macro can expand into anything at all, near where one is 6957Because a macro can expand into anything at all, near where one is
6953invoked @ccmode{} can only indent and fontify code heuristically. 6958invoked @ccmode{} can only indent and fontify code heuristically.
6954Sometimes it gets it wrong. Usually you should try to design your 6959Sometimes it gets it wrong. Usually you should try to design your
@@ -6965,6 +6970,7 @@ Macros}.
6965* Macro Backslashes:: 6970* Macro Backslashes::
6966* Macros with ;:: 6971* Macros with ;::
6967* Noise Macros:: 6972* Noise Macros::
6973* Indenting Directives::
6968@end menu 6974@end menu
6969 6975
6970@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6976@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -7074,7 +7080,7 @@ initialization code, after the mode hooks have run.
7074@end defun 7080@end defun
7075 7081
7076@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 7082@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7077@node Noise Macros, , Macros with ;, Custom Macros 7083@node Noise Macros, Indenting Directives, Macros with ;, Custom Macros
7078@comment node-name, next, previous, up 7084@comment node-name, next, previous, up
7079@section Noise Macros 7085@section Noise Macros
7080@cindex noise macros 7086@cindex noise macros
@@ -7131,6 +7137,48 @@ after the mode hooks have run.
7131@end defun 7137@end defun
7132 7138
7133@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 7139@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7140@node Indenting Directives, , Noise Macros, Custom Macros
7141@comment node-name, next, previous, up
7142@section Indenting Directives
7143@cindex Indenting Directives
7144@cindex Indenting #pragma
7145@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7146
7147Sometimes you may want to indent particular preprocessor directives
7148(e.g. @code{#pragma}) as though they were statements. To do this,
7149first set up @code{c-cpp-indent-to-body-directives} to include the
7150directive name(s), then enable the ``indent to body'' feature with
7151@code{c-toggle-cpp-indent-to-body}.
7152
7153@defopt c-cpp-indent-to-body-directives
7154@vindex cpp-indent-to-body-directives (c-)
7155This variable is a list of names of CPP directives (not including the
7156introducing @samp{#}) which will be indented as though statements.
7157Each element is a string, and must be a valid identifier. The default
7158value is @code{("pragma")}.
7159
7160If you add more directives to this variable, or remove directives from
7161it, whilst ``indent to body'' is active, you need to re-enable the
7162feature by calling @code{c-toggle-cpp-indent-to-body} for these
7163changes to take effect@footnote{Note that the removal of directives
7164doesn't work satisfactorally on XEmacs or on very old versions of
7165Emacs}.
7166@end defopt
7167
7168@defun c-toggle-cpp-indent-to-body
7169@findex toggle-cpp-indent-to-body (c-)
7170With @kbd{M-x c-toggle-cpp-indent-to-body}, you enable or disable the
7171``indent to body'' feature. When called programmatically, it takes an
7172optional numerical argument. A positive value will enable the
7173feature, a zero or negative value will disable it.
7174
7175You should set up @code{c-cpp-indent-to-body-directives} before
7176calling this function, since the function sets internal state which
7177depends on that variable.
7178@end defun
7179
7180
7181@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7134@node Odds and Ends, Sample Init File, Custom Macros, Top 7182@node Odds and Ends, Sample Init File, Custom Macros, Top
7135@comment node-name, next, previous, up 7183@comment node-name, next, previous, up
7136@chapter Odds and Ends 7184@chapter Odds and Ends
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index 6c030fcfca9..3943c544c7d 100644
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -1285,9 +1285,9 @@ This class is defined in the package @file{eieio-base}.
1285Sometimes it is useful to keep a master list of all instances of a given 1285Sometimes it is useful to keep a master list of all instances of a given
1286class. The class @code{eieio-instance-tracker} performs this task. 1286class. The class @code{eieio-instance-tracker} performs this task.
1287 1287
1288@deftp {Class} eieio-instance-tracker tracker-symbol 1288@deftp {Class} eieio-instance-tracker tracking-symbol
1289Enable instance tracking for this class. 1289Enable instance tracking for this class.
1290The slot @var{tracker-symbol} should be initialized in inheritors of 1290The slot @var{tracking-symbol} should be initialized in inheritors of
1291this class to a symbol created with @code{defvar}. This symbol will 1291this class to a symbol created with @code{defvar}. This symbol will
1292serve as the variable used as a master list of all objects of the given 1292serve as the variable used as a master list of all objects of the given
1293class. 1293class.
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index b5eb81b787e..424e15bc6d1 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -3181,7 +3181,7 @@ For example:
3181 (broken-reply-to . t)))) 3181 (broken-reply-to . t))))
3182@end lisp 3182@end lisp
3183 3183
3184All clauses that matches the group name will be used, but the last 3184All clauses that match the group name will be used, but the last
3185setting ``wins''. So if you have two clauses that both match the 3185setting ``wins''. So if you have two clauses that both match the
3186group name, and both set, say @code{display}, the last setting will 3186group name, and both set, say @code{display}, the last setting will
3187override the first. 3187override the first.
@@ -17874,7 +17874,7 @@ presence of 7 special headers. These headers are of the form
17874@code{X-Diary-<something>}, @code{<something>} being one of 17874@code{X-Diary-<something>}, @code{<something>} being one of
17875@code{Minute}, @code{Hour}, @code{Dom}, @code{Month}, @code{Year}, 17875@code{Minute}, @code{Hour}, @code{Dom}, @code{Month}, @code{Year},
17876@code{Time-Zone} and @code{Dow}. @code{Dom} means ``Day of Month'', and 17876@code{Time-Zone} and @code{Dow}. @code{Dom} means ``Day of Month'', and
17877@code{dow} means ``Day of Week''. These headers actually behave like 17877@code{Dow} means ``Day of Week''. These headers actually behave like
17878crontab specifications and define the event date(s): 17878crontab specifications and define the event date(s):
17879 17879
17880@itemize @bullet 17880@itemize @bullet
@@ -30916,7 +30916,7 @@ description = <string>
30916 30916
30917Believe it or not, but some people who use Gnus haven't really used 30917Believe it or not, but some people who use Gnus haven't really used
30918Emacs much before they embarked on their journey on the Gnus Love Boat. 30918Emacs much before they embarked on their journey on the Gnus Love Boat.
30919If you are one of those unfortunates whom ``@kbd{C-M-a}'', ``kill the 30919If you are one of those unfortunates to whom ``@kbd{C-M-a}'', ``kill the
30920region'', and ``set @code{gnus-flargblossen} to an alist where the key 30920region'', and ``set @code{gnus-flargblossen} to an alist where the key
30921is a regexp that is used for matching on the group name'' are magical 30921is a regexp that is used for matching on the group name'' are magical
30922phrases with little or no meaning, then this appendix is for you. If 30922phrases with little or no meaning, then this appendix is for you. If
diff --git a/etc/AUTHORS b/etc/AUTHORS
index 2f7e01575bd..ab0cbeefc83 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -9,15 +9,16 @@ Aaron Ecay: changed ob-R.el ob-core.el org-src.el ox-latex.el nsterm.m
9 ob-awk.el ob-exp.el ob-python.el ob-tangle.el org-bibtex.el org-id.el 9 ob-awk.el ob-exp.el ob-python.el ob-tangle.el org-bibtex.el org-id.el
10 org.el org.texi package.el paren.el 10 org.el org.texi package.el paren.el
11 11
12Aaron Jensen: changed frameset.el nsterm.m Info.plist.in mouse.el 12Aaron Jensen: changed frameset.el nsterm.m Info.plist.in flyspell.el
13 mouse.el server.el systhread.c w32term.c xdisp.c xterm.c
13 14
14Aaron Larson: co-wrote bibtex.el 15Aaron Larson: co-wrote bibtex.el
15 16
16Aaron S. Hawley: wrote lisp-tests.el undo-tests.el 17Aaron S. Hawley: wrote lisp-tests.el undo-tests.el
17and changed simple.el files.texi isearch.el morse.el sgml-mode.el 18and changed simple.el files.texi isearch.el morse.el sgml-mode.el
18 tar-mode.el thingatpt.el add-log.el autoinsert.el building.texi calc.el 19 tar-mode.el textmodes/table.el thingatpt.el add-log.el autoinsert.el
19 cc-fonts.el comint.el compare-w.el custom.texi diff.el edebug.el 20 building.texi calc.el cc-fonts.el comint.el compare-w.el custom.texi
20 etags.el ffap.el files.el flyspell.el and 29 other files 21 diff.el edebug.el etags.el ffap.el files.el and 31 other files
21 22
22Abdó Roig-Maranges: changed org.el org-agenda.el ox-html.el ox-odt.el 23Abdó Roig-Maranges: changed org.el org-agenda.el ox-html.el ox-odt.el
23 24
@@ -69,6 +70,8 @@ and changed nsterm.m nsfns.m nsfont.m nsterm.h nsmenu.m configure.ac
69 70
70Agustín Martín: changed ispell.el flyspell.el fixit.texi 71Agustín Martín: changed ispell.el flyspell.el fixit.texi
71 72
73Ahmed Khanzada: changed battery.el
74
72Aidan Gauland: wrote em-tramp.el 75Aidan Gauland: wrote em-tramp.el
73and changed eshell.texi em-term.el em-unix.el erc-match.el em-cmpl.el 76and changed eshell.texi em-term.el em-unix.el erc-match.el em-cmpl.el
74 em-dirs.el em-ls.el em-script.el esh-proc.el eshell-tests.el 77 em-dirs.el em-ls.el em-script.el esh-proc.el eshell-tests.el
@@ -86,17 +89,19 @@ Aki Vehtari: changed bibtex.el gnus-art.el gnus-score.el gnus-sum.el
86 nnmail.el tar-mode.el 89 nnmail.el tar-mode.el
87 90
88Alain Schneble: wrote url-expand-tests.el url-parse-tests.el 91Alain Schneble: wrote url-expand-tests.el url-parse-tests.el
89and changed url-expand.el process.c url-parse.el w32proc.c shr.el w32.c 92and changed url-expand.el process.c url-parse.el w32proc.c message.el
93 shr.el w32.c
90 94
91Alakazam Petrofsky: changed hanoi.el 95Alakazam Petrofsky: changed hanoi.el
92 96
93Alan Mackenzie: wrote cc-awk.el 97Alan Mackenzie: wrote cc-awk.el
94and 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
95 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
96and changed cc-mode.texi bytecomp.el subr.el edebug.el follow.el 100and changed cc-mode.texi bytecomp.el follow.el display.texi subr.el
97 modes.texi syntax.texi display.texi font-lock.el isearch.el 101 edebug.el progmodes/compile.el programs.texi syntax.texi modes.texi
98 programs.texi help.el ispell.el lread.c windows.texi control.texi 102 font-lock.el isearch.el text.texi help.el ispell.el lread.c syntax.c
99 cus-start.el doc.c eval.c frames.texi help-fns.el and 134 other files 103 windows.texi .dir-locals.el control.texi cus-start.el
104 and 147 other files
100 105
101Alan Modra: changed unexelf.c 106Alan Modra: changed unexelf.c
102 107
@@ -106,11 +111,11 @@ Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el
106 easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el 111 easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el
107 solar.el 112 solar.el
108 113
109Alan Third: wrote dabbrev-tests.el 114Alan Third: wrote dabbrev-tests.el image-transforms-tests.el
110and changed nsterm.m nsfns.m nsterm.h nsmenu.m frame.el macfont.m 115and changed nsterm.m nsterm.h nsfns.m nsmenu.m ns-win.el nsimage.m
111 nsimage.m ns-win.el xdisp.c Info.plist.in conf_post.h frame.c frame.h 116 image.c macfont.m configure.ac frame.el xdisp.c display.texi image.el
112 frames.texi keyboard.c macfont.h macos.texi picture.el rect.el 117 macos.texi xterm.c Info.plist.in conf_post.h dispextern.h frame.c
113 battery.el callproc.c and 12 other files 118 frame.h frames.texi and 21 other files
114 119
115Alastair Burt: changed gnus-art.el smiley.el 120Alastair Burt: changed gnus-art.el smiley.el
116 121
@@ -124,11 +129,10 @@ Aleksei Gusev: changed progmodes/compile.el
124 129
125Alexander Becher: changed vc-annotate.el 130Alexander Becher: changed vc-annotate.el
126 131
127Alexander Gramiak: changed faces.el display-line-numbers.el xt-mouse.el 132Alexander Gramiak: changed w32term.c xterm.c nsterm.m dispextern.h
128 CTAGS.good ETAGS.good_1 ETAGS.good_2 ETAGS.good_3 ETAGS.good_4 133 xdisp.c frame.c image.c nsgui.h w32gui.h xfns.c frame.el termhooks.h
129 ETAGS.good_5 ETAGS.good_6 Makefile TAGTEST.EL cl-lib-tests.el 134 w32fns.c w32term.h faces.el nsterm.h xfaces.c xterm.h frame.h xfont.c
130 cl-macs-tests.el cus-start.el custom.texi display.texi erc-list.el 135 configure.ac and 64 other files
131 ert-tests.el ert.el etags.c and 16 other files
132 136
133Alexander Haeckel: changed getset.el 137Alexander Haeckel: changed getset.el
134 138
@@ -151,6 +155,8 @@ Alexander Vorobiev: changed org-compat.el
151 155
152Alexander Zhuckov: changed ebrowse.c 156Alexander Zhuckov: changed ebrowse.c
153 157
158Alexandre Garreau: changed message.el
159
154Alexandre Julliard: wrote vc-git.el 160Alexandre Julliard: wrote vc-git.el
155and changed vc.el ewoc.el 161and changed vc.el ewoc.el
156 162
@@ -162,17 +168,24 @@ Alexandre Veyrenc: changed fr-refcard.tex
162Alexandru Harsanyi: wrote soap-client.el soap-inspect.el 168Alexandru Harsanyi: wrote soap-client.el soap-inspect.el
163and changed emacs3.py vc-hooks.el vc.el xml.el 169and changed emacs3.py vc-hooks.el vc.el xml.el
164 170
165Alex Branham: changed bibtex.el dired-x.el dired.el em-rebind.el eww.el 171Alex Branham: changed checkdoc.el bibtex.el em-rebind.el esh-util.el
166 imenu.el indent.el modes.texi programs.texi text.texi 172 indent.el js.el lpr.el message.el subr.el text.texi .dir-locals.el
173 auth-source-pass.el bug-reference.el comint.el conf-mode-tests.el
174 conf-mode.el dired-x.el dired.el ediff-diff.el ediff-help.el
175 ediff-hook.el and 41 other files
167 176
168Alex Coventry: changed files.el 177Alex Coventry: changed files.el
169 178
170Alex Dunn: changed subr-tests.el subr.el 179Alex Dunn: changed subr-tests.el subr.el
171 180
172Alex Gramiak: changed prolog.el 181Alexei Khlebnikov: changed autorevert.el vc-git.el
182
183Alex Gramiak: changed prolog.el terminal.c
173 184
174Alex Kosorukoff: changed org-capture.el 185Alex Kosorukoff: changed org-capture.el
175 186
187Alex Murray: changed erc-desktop-notifications.el network-stream.el
188
176Alex Ott: changed TUTORIAL.ru ede/files.el ru-refcard.tex base.el 189Alex Ott: changed TUTORIAL.ru ede/files.el ru-refcard.tex base.el
177 cedet-files.el cpp-root.el ede.el ede/generic.el idle.el ispell.el 190 cedet-files.el cpp-root.el ede.el ede/generic.el idle.el ispell.el
178 semantic/format.el 191 semantic/format.el
@@ -204,8 +217,10 @@ Ali Bahrami: changed configure configure.ac sol2-10.h
204 217
205Alin C. Soare: changed lisp-mode.el hexl.el 218Alin C. Soare: changed lisp-mode.el hexl.el
206 219
207Allen Li: changed abbrev.el bookmark.el comint.el dired-x.el misc.texi 220Allen Li: changed abbrev.el abbrev-tests.el abbrevs.texi sending.texi
208 nsm.el progmodes/compile.el subr.el 221 autoload.el bookmark.el comint.el dired-x.el misc.texi nsm.el
222 progmodes/compile.el ring-tests.el ring.el sequences.texi subr.el
223 xref.el
209 224
210Allen S. Rout: changed org-capture.el 225Allen S. Rout: changed org-capture.el
211 226
@@ -220,17 +235,28 @@ Alp Aker: changed nsfont.m nsterm.m buff-menu.el nsfns.m nsmenu.m
220Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c 235Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c
221 savehist.el vc-git.el 236 savehist.el vc-git.el
222 237
238Amin Bandali: changed erc-button.el erc-desktop-notifications.el
239 erc-autoaway.el erc-compat.el erc-fill.el erc-ibuffer.el erc-imenu.el
240 erc-join.el erc-lang.el erc-list.el erc-log.el erc-match.el
241 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
243 erc-stamp.el and 4 other files
244
223Anand Mitra: changed gnus-sum.el 245Anand Mitra: changed gnus-sum.el
224 246
225Anders Holst: wrote hippie-exp.el 247Anders Holst: wrote hippie-exp.el
226 248
227Anders Lindgren: wrote autorevert.el cwarn.el follow.el 249Anders Lindgren: wrote autorevert.el cwarn.el faceup-test-basics.el
250 faceup-test-files.el faceup.el follow.el
228and changed nsterm.m nsfns.m nsmenu.m nsterm.h font-lock.el nsimage.m 251and changed nsterm.m nsfns.m nsmenu.m nsterm.h font-lock.el nsimage.m
229 README etags.c term.el window.el Info.plist.in compile.el ert.el 252 README etags.c term.el window.el Info.plist.in compile.el diff-mode.el
230 loadup.el lread.c ns-win.el nsfont.m vc-svn.el 253 ert.el faceup-test-mode.el faceup-test-this-file-directory.el loadup.el
254 lread.c ns-win.el nsfont.m test1.txt and 3 other files
231 255
232Anders Waldenborg: changed emacsclient.c 256Anders Waldenborg: changed emacsclient.c
233 257
258Andrea Corallo: changed map-tests.el map.el
259
234Andrea Rossetti: changed ruler-mode.el 260Andrea Rossetti: changed ruler-mode.el
235 261
236Andrea Russo: changed erc-dcc.el info-look.el 262Andrea Russo: changed erc-dcc.el info-look.el
@@ -259,23 +285,26 @@ Andreas Leue: changed artist.el
259 285
260Andreas Luik: changed xfns.c xterm.c 286Andreas Luik: changed xfns.c xterm.c
261 287
262Andreas Politz: changed filenotify.el inotify.c bytecomp.el editfns.c 288Andreas Merziger: changed calendar.el
263 elp.el filenotify-tests.el frame.c ibuffer.el ido.el imenu.el 289
264 modes.texi outline.el sh-script.el sql.el subr.el term.el wid-edit.el 290Andreas Politz: changed filenotify.el inotify.c buffer-tests.el
265 window.el 291 bytecomp.el editfns.c elp.el filecache.el filenotify-tests.el frame.c
292 ibuffer.el idlwave.el ido.el imenu.el modes.texi outline.el
293 sh-script.el sql.el startup.el strokes.el subr.el term.el
294 and 5 other files
266 295
267Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el 296Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el
268 297
269Andreas Schwab: changed configure.ac lisp.h process.c xdisp.c alloc.c 298Andreas Schwab: changed configure.ac lisp.h xdisp.c process.c alloc.c
270 coding.c Makefile.in files.el fileio.c keyboard.c lread.c xterm.c fns.c 299 coding.c Makefile.in files.el fileio.c keyboard.c lread.c xterm.c fns.c
271 editfns.c emacs.c src/Makefile.in print.c eval.c font.c xfns.c sysdep.c 300 editfns.c emacs.c src/Makefile.in print.c eval.c font.c xfns.c sysdep.c
272 and 639 other files 301 and 650 other files
273 302
274Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el 303Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
275 gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el 304 gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el
276 url-http.el xterm.c battery.el comint.el easy-mmode.el gmm-utils.el 305 url-http.el xterm.c battery.el comint.el doc/misc/gnus.texi
277 gnus-art.el gnus-cite.el gnus-draft.el gnus-group.el gnus-ml.el 306 easy-mmode.el gmm-utils.el gnus-art.el gnus-cite.el gnus-draft.el
278 and 7 other files 307 gnus-group.el and 7 other files
279 308
280Andreas Vögele: changed pgg-def.el 309Andreas Vögele: changed pgg-def.el
281 310
@@ -313,7 +342,7 @@ Andrew Hyatt: changed bug-triage CONTRIBUTE org-archive.el org.el
313Andrew Innes: changed makefile.nt w32fns.c w32term.c w32.c w32proc.c 342Andrew Innes: changed makefile.nt w32fns.c w32term.c w32.c w32proc.c
314 fileio.c w32-fns.el dos-w32.el inc/ms-w32.h w32term.h makefile.def 343 fileio.c w32-fns.el dos-w32.el inc/ms-w32.h w32term.h makefile.def
315 unexw32.c w32menu.c w32xfns.c addpm.c cmdproxy.c emacs.c w32-win.el 344 unexw32.c w32menu.c w32xfns.c addpm.c cmdproxy.c emacs.c w32-win.el
316 w32inevt.c configure.bat lread.c and 130 other files 345 w32inevt.c configure.bat lread.c and 129 other files
317 346
318Andrew L. Moore: changed executable.el 347Andrew L. Moore: changed executable.el
319 348
@@ -323,6 +352,8 @@ Andrew Robbins: changed net-utils.el
323 352
324Andrew Schein: changed sql.el 353Andrew Schein: changed sql.el
325 354
355Andrew Schwartzmeyer: changed subr-tests.el subr.el
356
326Andrew W. Nosenko: changed tramp.el 357Andrew W. Nosenko: changed tramp.el
327 358
328Andrew Zhilin: changed emacs22.png emacs22.ico 359Andrew Zhilin: changed emacs22.png emacs22.ico
@@ -333,10 +364,17 @@ Andrey Slusar: changed gnus-async.el gnus.el
333 364
334Andrey Zhdanov: changed gud.el 365Andrey Zhdanov: changed gud.el
335 366
367Andrii Kolomoiets: changed vc-hg.el progmodes/python.el vc-git.el vc.el
368 maintaining.texi vc-svn.el
369
336Andrzej Lichnerowicz: wrote ob-io.el 370Andrzej Lichnerowicz: wrote ob-io.el
337 371
338Andy Moreton: changed gnutls.c image.el package.el unexw32.c vc-hg.el 372Andrzej P: changed gdb-mi.el
339 w32fns.c w32heap.c w32proc.c w32term.c w32xfns.c 373
374Andy Moreton: changed gnutls.c alloc.c ccl-tests.el ccl.el image.c
375 w32fns.c w32font.c w32heap.c w32proc.c w32uniscribe.c data.c
376 decompress.c dynlib.c emacs-module-tests.el emacs.c image.el json.c
377 lcms.c lisp.h package.el pdumper.c and 12 other files
340 378
341Andy Norman: wrote ange-ftp.el 379Andy Norman: wrote ange-ftp.el
342 380
@@ -346,7 +384,7 @@ Andy Sawyer: changed saveplace.el
346 384
347Andy Seaborne: changed keyboard.c 385Andy Seaborne: changed keyboard.c
348 386
349Andy Stewart: wrote org-w3m.el 387Andy Stewart: wrote ol-w3m.el
350and changed erc.el 388and changed erc.el
351 389
352Angelo Graziosi: changed sysdep.c term.c 390Angelo Graziosi: changed sysdep.c term.c
@@ -355,6 +393,10 @@ Anmol Khirbat: changed ido.el
355 393
356Anna M. Bigatti: wrote cal-html.el 394Anna M. Bigatti: wrote cal-html.el
357 395
396Ansgar Burchardt: changed latin-ltx.el
397
398Antoine Beaupré: changed vc-git.el
399
358Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el 400Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el
359 ange-ftp.el cus-edit.el dired-x.el ebnf2ps.el emerge.el erc-button.el 401 ange-ftp.el cus-edit.el dired-x.el ebnf2ps.el emerge.el erc-button.el
360 erc-goodies.el erc-stamp.el erc-track.el files.el find-file.el 402 erc-goodies.el erc-stamp.el erc-track.el files.el find-file.el
@@ -363,11 +405,11 @@ Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el
363 405
364Antonin Houska: changed newcomment.el 406Antonin Houska: changed newcomment.el
365 407
366Arash Esbati: changed reftex-vars.el reftex.el reftex-auc.el 408Arash Esbati: changed reftex-vars.el reftex-ref.el reftex.el nnmaildir.el
367 reftex-ref.el 409 reftex-auc.el reftex-cite.el reftex-dcr.el
368 410
369Ari Roponen: changed xterm.c atimer.c doc.c hash.texi image.c mule.texi 411Ari Roponen: changed xterm.c image.c atimer.c doc.c ftcrfont.c hash.texi
370 package.el startup.el subr.el svg.el time-date.el woman.el 412 mule.texi package.el startup.el subr.el svg.el time-date.el woman.el
371 413
372Arisawa Akihiro: changed characters.el coding.c epa-file.el japan-util.el 414Arisawa Akihiro: changed characters.el coding.c epa-file.el japan-util.el
373 language/tibetan.el message.el mm-decode.el mm-view.el ps-print.el 415 language/tibetan.el message.el mm-decode.el mm-view.el ps-print.el
@@ -383,7 +425,7 @@ and changed smime.el mml-smime.el smime-ldap.el flymake.el gnus-art.el
383 mule-conf.el nnimap.el nnrss.el wid-edit.el 425 mule-conf.el nnimap.el nnrss.el wid-edit.el
384 426
385Arni Magnusson: wrote bat-mode.el 427Arni Magnusson: wrote bat-mode.el
386and changed ada-mode.texi frames.texi generic-x.el texinfo.el 428and changed frames.texi generic-x.el texinfo.el
387 429
388Artem Chuprina: changed message.el 430Artem Chuprina: changed message.el
389 431
@@ -395,6 +437,8 @@ and changed package.el isearch.el lisp/char-fold.el files.el
395 let-alist-tests.el simple.el subr-tests.el align.el bindings.el 437 let-alist-tests.el simple.el subr-tests.el align.el bindings.el
396 cl-lib-tests.el cl-macs.el and 42 other files 438 cl-lib-tests.el cl-macs.el and 42 other files
397 439
440Artyom Loenko: changed Info.plist.in
441
398Arun Persaud: changed org-agenda.el org-src.el 442Arun Persaud: changed org-agenda.el org-src.el
399 443
400Ashish Shukla: changed emacs-gnutls.texi gnutls.el 444Ashish Shukla: changed emacs-gnutls.texi gnutls.el
@@ -410,10 +454,12 @@ Aubrey Jaffer: changed info.el unexelf.c
410Aurélien Aptel: changed alloc.c emacs-module.h lisp.h Makefile 454Aurélien Aptel: changed alloc.c emacs-module.h lisp.h Makefile
411 configure.ac cus-face.el data.c dispextern.h display.texi dynlib.c 455 configure.ac cus-face.el data.c dispextern.h display.texi dynlib.c
412 dynlib.h emacs-module.c faces.el lread.c modhelp.py nsterm.m ox-html.el 456 dynlib.h emacs-module.c faces.el lread.c modhelp.py nsterm.m ox-html.el
413 print.c src/Makefile.in syntax.c url.texi and 4 other files 457 print.c src/Makefile.in subr.el syntax.c and 6 other files
414 458
415Axel Boldt: changed ehelp.el electric.el 459Axel Boldt: changed ehelp.el electric.el
416 460
461Axel Svensson: changed x-win.el
462
417Bahodir Mansurov: changed quail/cyrillic.el 463Bahodir Mansurov: changed quail/cyrillic.el
418 464
419Bake Timmons: changed gnus.texi mail-source.el 465Bake Timmons: changed gnus.texi mail-source.el
@@ -440,21 +486,22 @@ Bartosz Duszel: changed allout.el bib-mode.el cc-cmds.el hexl.el icon.el
440 sendmail.el ses.el simple.el verilog-mode.el vi.el vip.el viper-cmd.el 486 sendmail.el ses.el simple.el verilog-mode.el vi.el vip.el viper-cmd.el
441 xscheme.el 487 xscheme.el
442 488
443Basil L. Contovounesios: changed simple.el message.el sequences.texi 489Basil L. Contovounesios: changed simple.el message.el subr.el gravatar.el
444 bibtex.el css-mode-tests.el css-mode.el customize.texi display.texi 490 custom.el gnus-group.el gnus-sum.el gnus-win.el internals.texi
445 gnus-art.el json-tests.el json.el lists.texi man.el modes.texi 491 modes.texi text.texi window.c bibtex.el button.el customize.texi
446 newcomment.el rcirc.el shr-color.el text.texi url-handlers.el 492 display.texi eww.el gnus-art.el gnus-msg.el gnus.texi lists.texi
493 and 150 other files
447 494
448Bastian Beischer: changed include.el mru-bookmark.el refs.el 495Bastian Beischer: changed semantic/complete.el include.el mru-bookmark.el
449 semantic/complete.el senator.el 496 refs.el senator.el
450 497
451Bastien Guerry: wrote gnus-bookmark.el 498Bastien Guerry: wrote gnus-bookmark.el
452and co-wrote org-bibtex.el org-list.el org-protocol.el org-src.el 499and co-wrote ol-bibtex.el org-list.el org-protocol.el org-src.el
453and changed org.el org-agenda.el org.texi ox-html.el org-clock.el 500and changed org.el org-agenda.el org.texi ox-html.el org-clock.el
454 org-capture.el org-table.el ox-latex.el ox.el ox-odt.el org-compat.el 501 org-capture.el org-table.el ox-latex.el ox.el ox-odt.el org-compat.el
455 ox-publish.el ob.el org-mobile.el org-colview.el org-macs.el 502 ox-publish.el ob.el org-mobile.el org-colview.el org-macs.el
456 org-pcomplete.el org-timer.el org-faces.el ox-ascii.el org-archive.el 503 org-pcomplete.el org-timer.el org-faces.el ox-ascii.el org-archive.el
457 and 118 other files 504 and 120 other files
458 505
459Ben A. Mesander: co-wrote erc-dcc.el 506Ben A. Mesander: co-wrote erc-dcc.el
460 507
@@ -471,9 +518,11 @@ Benjamin Andresen: wrote ob-screen.el
471Benjamin Drieu: wrote pong.el 518Benjamin Drieu: wrote pong.el
472and changed org-clock.el org.el 519and changed org-clock.el org.el
473 520
474Benjamin Riefenstahl: changed w32select.c emacs.c image-mode.el image.el 521Benjamin Ragheb: changed fortune.el
475 inc/ms-w32.h lisp.h mac-win.el macterm.c mule-cmds.el runemacs.c tcl.el 522
476 w32.c w32.h 523Benjamin Riefenstahl: changed files.el image-mode.el w32select.c emacs.c
524 image.el inc/ms-w32.h lisp.h mac-win.el macterm.c mule-cmds.el
525 runemacs.c tcl.el w32.c w32.h
477 526
478Benjamin Rutt: co-wrote gnus-dired.el 527Benjamin Rutt: co-wrote gnus-dired.el
479and changed vc.el gnus-msg.el message.el diff-mode.el ffap.el nnimap.el 528and changed vc.el gnus-msg.el message.el diff-mode.el ffap.el nnimap.el
@@ -490,6 +539,8 @@ Ben North: changed outline.el buffer.c fill.el isearch.el lisp-mode.el
490 539
491Bernhard Herzog: changed vc-hg.el menu.c xsmfns.c 540Bernhard Herzog: changed vc-hg.el menu.c xsmfns.c
492 541
542Bernhard Rotter: changed em-cmpl.el esh-ext.el esh-util.el
543
493Bernt Hansen: changed org-agenda.el org-clock.el org.el org-capture.el 544Bernt Hansen: changed org-agenda.el org-clock.el org.el org-capture.el
494 org-indent.el org-macs.el org.texi ox-html.el 545 org-indent.el org-macs.el org.texi ox-html.el
495 546
@@ -517,11 +568,11 @@ Bill Wohler: wrote mh-buffers.el mh-comp.el mh-compat.el mh-e.el
517 mh-folder.el mh-funcs.el mh-letter.el mh-mime.el mh-scan.el mh-seq.el 568 mh-folder.el mh-funcs.el mh-letter.el mh-mime.el mh-scan.el mh-seq.el
518 mh-show.el mh-utils.el mh-xface.el 569 mh-show.el mh-utils.el mh-xface.el
519and co-wrote mh-junk.el 570and co-wrote mh-junk.el
520and changed mh-customize.el mh-search.el mh-alias.el Makefile mh-e.texi 571and changed mh-customize.el mh-search.el mh-alias.el mh-e.texi Makefile
521 mh-identity.el README mh-speed.el mh-init.el mh-acros.el mh-gnus.el 572 mh-identity.el README mh-speed.el mh-init.el mh-acros.el mh-gnus.el
522 mh-unit.el mh-inc.el mh-xemacs-compat.el mh-print.el lisp/Makefile.in 573 mh-unit.el mh-inc.el mh-xemacs-compat.el mh-print.el lisp/Makefile.in
523 image.el mh-tool-bar.el mh-xemacs.el display.texi mh-pick.el 574 image.el mh-tool-bar.el mh-xemacs.el display.texi mh-pick.el
524 and 83 other files 575 and 82 other files
525 576
526Bjarte Johansen: wrote ob-sed.el 577Bjarte Johansen: wrote ob-sed.el
527 578
@@ -541,6 +592,8 @@ and changed isearch.el sendmail.el
541 592
542Bob Halley: changed ccl.c esh-io.el 593Bob Halley: changed ccl.c esh-io.el
543 594
595Bob Newell: changed latin-post.el latin-pre.el
596
544Bob Nnamtrop: changed viper-cmd.el 597Bob Nnamtrop: changed viper-cmd.el
545 598
546Bob Olson: co-wrote cperl-mode.el 599Bob Olson: co-wrote cperl-mode.el
@@ -565,7 +618,8 @@ and changed fill.el simple.el indent.el paragraphs.el cmds.c intervals.c
565 618
566Boris Samorodov: changed imap.el 619Boris Samorodov: changed imap.el
567 620
568Boruch Baum: changed bookmark.el 621Boruch Baum: co-wrote footnote.el
622and changed bookmark.el
569 623
570Boyd Lynn Gerber: changed configure.ac 624Boyd Lynn Gerber: changed configure.ac
571 625
@@ -577,6 +631,8 @@ Brad Howes: changed gnus-demon.el
577 631
578Brandon Craig Rhodes: changed flyspell.el 632Brandon Craig Rhodes: changed flyspell.el
579 633
634Braun Gábor: changed cua-base.el simple.el
635
580Brendan Kehoe: changed hpux9.h 636Brendan Kehoe: changed hpux9.h
581 637
582Brent Goodrick: changed abbrev.el 638Brent Goodrick: changed abbrev.el
@@ -613,7 +669,9 @@ Brian Sniffen: changed gnus-draft.el imap.el mm-decode.el
613 669
614Brian van den Broek: changed org.texi 670Brian van den Broek: changed org.texi
615 671
616Bruno Félix Rezende Ribeiro: changed functions.texi 672Bruce Stephens: changed calc-ext.el
673
674Bruno Félix Rezende Ribeiro: changed functions.texi gnus.texi
617 675
618Bruno Haible: co-wrote po.el 676Bruno Haible: co-wrote po.el
619and changed INSTALL emacs.1 epaths.in info.el paths.el 677and changed INSTALL emacs.1 epaths.in info.el paths.el
@@ -637,30 +695,33 @@ Carl Edman: co-wrote ns-win.el
637 695
638Carl Henrik Lunde: changed format-spec.el 696Carl Henrik Lunde: changed format-spec.el
639 697
640Carlos Pita: changed erc-pcomplete.el sh-script.el 698Carlos Pita: changed erc-pcomplete.el image-mode.el progmodes/python.el
699 sh-script.el
641 700
642Carsten Bormann: changed ibmrs6000.h latin-post.el 701Carsten Bormann: changed ibmrs6000.h latin-post.el
643 702
644Carsten Dominik: wrote idlw-complete-structtag.el idlw-toolbar.el 703Carsten Dominik: wrote idlw-complete-structtag.el idlw-toolbar.el
645 org-agenda.el org-archive.el org-capture.el org-clock.el org-colview.el 704 ol-info.el ol-rmail.el ol.el org-agenda.el org-archive.el
646 org-compat.el org-datetree.el org-faces.el org-feed.el org-footnote.el 705 org-capture.el org-clock.el org-colview.el org-compat.el
647 org-id.el org-indent.el org-info.el org-inlinetask.el org-macs.el 706 org-datetree.el org-faces.el org-feed.el org-footnote.el org-goto.el
648 org-mobile.el org-rmail.el org-table.el org-timer.el org.el 707 org-id.el org-indent.el org-inlinetask.el org-macs.el org-mobile.el
649 reftex-auc.el reftex-cite.el reftex-dcr.el reftex-global.el 708 org-table.el org-timer.el org.el reftex-auc.el reftex-cite.el
650 reftex-index.el reftex-parse.el reftex-ref.el reftex-sel.el 709 reftex-dcr.el reftex-global.el reftex-index.el reftex-parse.el
651 reftex-toc.el reftex-vars.el reftex.el 710 reftex-ref.el reftex-sel.el reftex-toc.el reftex-vars.el reftex.el
652and co-wrote idlw-help.el idlw-shell.el idlwave.el org-bbdb.el 711and co-wrote idlw-help.el idlw-shell.el idlwave.el ol-bbdb.el
653 org-bibtex.el org-entities.el org-gnus.el org-list.el org-pcomplete.el 712 ol-bibtex.el ol-gnus.el org-entities.el org-list.el org-pcomplete.el
654 org-src.el ox-beamer.el ox-html.el ox-icalendar.el 713 org-src.el ox-beamer.el ox-html.el ox-icalendar.el
655and changed ox.el ox-latex.el org.texi org-remember.el orgcard.tex 714and changed ox.el ox-latex.el org.texi org-remember.el orgcard.tex
656 ox-publish.el org-docbook.el ox-ascii.el org-attach.el org-protocol.el 715 ox-publish.el org-docbook.el ox-ascii.el org-attach.el org-bbdb.el
657 org-mouse.el org-mac-message.el org-wl.el ox-jsinfo.el org-crypt.el 716 org-gnus.el org-protocol.el org-mouse.el org-mac-message.el org-wl.el
658 org-freemind.el idlw-rinfo.el org-exp-blocks.el org-habit.el org-mhe.el 717 ox-jsinfo.el org-crypt.el org-freemind.el idlw-rinfo.el
659 org-plot.el and 35 other files 718 org-exp-blocks.el org-habit.el and 40 other files
660 719
661Caveh Jalali: changed configure.ac intel386.h sol2-4.h 720Caveh Jalali: changed configure.ac intel386.h sol2-4.h
662 721
663Cédric Chépied: changed newst-treeview.el 722Cecilio Pardo: changed DEVEL.HUMOR
723
724Cédric Chépied: changed newst-treeview.el tree-widget.el
664 725
665Cesar Quiroz: changed maintaining.texi 726Cesar Quiroz: changed maintaining.texi
666 727
@@ -671,10 +732,10 @@ Changwoo Ryu: changed files.el
671 732
672Chao-Hong Liu: changed TUTORIAL.cn TUTORIAL.zh 733Chao-Hong Liu: changed TUTORIAL.cn TUTORIAL.zh
673 734
674Charles A. Roelli: changed nsterm.m display.texi isearch.el nsfns.m 735Charles A. Roelli: changed nsterm.m vc.el nsfns.m simple.el isearch.el
675 nsterm.h org-clock.el search.texi simple.el DEBUG INSTALL add-log.el 736 nsmenu.m nsterm.h process.c register.el diff-mode.el display.texi
676 anti.texi buffers.texi comint.el data.c diff-mode.el eldoc.el files.el 737 files.el files.texi fixit.texi macfont.m minibuf.c nsfont.m nsimage.m
677 fill.el find-func.el flymake.el and 21 other files 738 nsselect.m org-clock.el progmodes/python.el and 47 other files
678 739
679Charles Hannum: changed aix3-1.h aix3-2.h configure ibmrs6000.h 740Charles Hannum: changed aix3-1.h aix3-2.h configure ibmrs6000.h
680 keyboard.c netbsd.h pop.c sysdep.c systime.h systty.h xrdb.c 741 keyboard.c netbsd.h pop.c sysdep.c systime.h systty.h xrdb.c
@@ -687,8 +748,10 @@ Charles Sebold: changed org-plot.el
687 748
688Charlie Martin: wrote autoinsert.el 749Charlie Martin: wrote autoinsert.el
689 750
690Cheng Gao: changed MORE.STUFF Makefile.in flymake.el frame.c tips.texi 751Chen Bin: changed fns.c subr-tests.el
691 url-dired.el url-file.el url-handlers.el url-http.el url-nfs.el 752
753Cheng Gao: changed Makefile.in flymake.el frame.c tips.texi url-dired.el
754 url-file.el url-handlers.el url-http.el url-nfs.el
692 755
693Chetan Pandya: changed font.c 756Chetan Pandya: changed font.c
694 757
@@ -700,12 +763,12 @@ and co-wrote longlines.el tango-dark-theme.el tango-theme.el
700and changed simple.el display.texi xdisp.c files.el frames.texi 763and changed simple.el display.texi xdisp.c files.el frames.texi
701 cus-edit.el files.texi custom.el subr.el text.texi faces.el keyboard.c 764 cus-edit.el files.texi custom.el subr.el text.texi faces.el keyboard.c
702 startup.el package.el misc.texi emacs.texi modes.texi mouse.el 765 startup.el package.el misc.texi emacs.texi modes.texi mouse.el
703 custom.texi image.c window.el and 935 other files 766 custom.texi image.c window.el and 933 other files
704 767
705Chris Chase: co-wrote idlw-shell.el idlwave.el 768Chris Chase: co-wrote idlw-shell.el idlwave.el
706 769
707Chris Feng: changed dispnew.c autoload.el frame.c keyboard-tests.el 770Chris Feng: changed dispnew.c keyboard-tests.el keyboard.c autoload.el
708 keyboard.c process.c 771 frame.c process.c
709 772
710Chris Foote: changed progmodes/python.el 773Chris Foote: changed progmodes/python.el
711 774
@@ -778,7 +841,7 @@ Christoph Dittmann: changed ox-beamer.el
778 841
779Christophe de Dinechin: co-wrote ns-win.el 842Christophe de Dinechin: co-wrote ns-win.el
780 843
781Christophe Deleuze: changed icalendar.el 844Christophe Deleuze: changed icalendar.el image-dired.el
782 845
783Christoph Egger: changed configure.ac 846Christoph Egger: changed configure.ac
784 847
@@ -798,12 +861,17 @@ Christopher J. White: changed url-http.el
798 861
799Christopher Oliver: changed mouse.el 862Christopher Oliver: changed mouse.el
800 863
801Christopher Schmidt: changed ibuffer.el org.el tips.texi calc-aent.el 864Christopher Schmidt: changed files.el ibuffer.el org.el tips.texi
802 calc.el calc.texi calendar.el cl-macs.el comint.el dired-x.el dired.el 865 calc-aent.el calc.el calc.texi calendar.el cl-macs.el comint.el
803 files.el files.texi find-dired.el gnus-int.el gnus-msg.el gnus.texi 866 dired-x.el dired.el files.texi find-dired.el gnus-int.el gnus-msg.el
804 help-fns.el info.el locate.el lread.c and 15 other files 867 gnus.texi help-fns.el info.el locate.el lread.c and 15 other files
805 868
806Christopher Wellons: changed emacs-lisp/cl-lib.el 869Christopher Thorne: changed dired.el progmodes/grep.el
870
871Christopher Wellons: changed emacs-lisp/cl-lib.el hashcash.el
872 viper-cmd.el viper-ex.el viper-init.el viper.el
873
874Christophe Troestler: changed epg.el
807 875
808Christoph Scholtes: changed README.W32 progmodes/python.el stdint.h 876Christoph Scholtes: changed README.W32 progmodes/python.el stdint.h
809 INSTALL maintaining.texi INSTALL.REPO admin.el bookmark.el 877 INSTALL maintaining.texi INSTALL.REPO admin.el bookmark.el
@@ -816,7 +884,7 @@ and changed progmodes/python.el format.el gnus-art.el gnus-picon.el
816 message.el prog-mode.el python-tests.el register.el smiley.el 884 message.el prog-mode.el python-tests.el register.el smiley.el
817 texinfmt.el 885 texinfmt.el
818 886
819Chris Zheng: changed gnutls.c calculator.el w32-win.el 887Chris Zheng: changed gnutls.c calculator.el json.c w32-win.el
820 888
821Chuck Blake: changed term.c 889Chuck Blake: changed term.c
822 890
@@ -832,6 +900,8 @@ Claudio Fontana: changed Makefile.in leim/Makefile.in lib-src/Makefile.in
832Clément Pit--Claudel: changed debugging.texi emacs-lisp/debug.el eval.c 900Clément Pit--Claudel: changed debugging.texi emacs-lisp/debug.el eval.c
833 progmodes/python.el subr-tests.el subr.el url-http.el url-vars.el 901 progmodes/python.el subr-tests.el subr.el url-http.el url-vars.el
834 902
903Clément Pit-Claudel: changed keyboard.c text.texi
904
835Colin Marquardt: changed gnus.el message.el 905Colin Marquardt: changed gnus.el message.el
836 906
837Colin Rafferty: changed message.el 907Colin Rafferty: changed message.el
@@ -862,7 +932,7 @@ and co-wrote sasl-cram.el sasl-digest.el
862and changed mml2015.el epa.texi mml1991.el pinentry.el auth-source.el 932and changed mml2015.el epa.texi mml1991.el pinentry.el auth-source.el
863 mml-smime.el package.el mml.el epg-tests.el gnus.texi mm-decode.el 933 mml-smime.el package.el mml.el epg-tests.el gnus.texi mm-decode.el
864 mm-uu.el process.c subr.el auth.texi gnus-sum.el image-mode.el 934 mm-uu.el process.c subr.el auth.texi gnus-sum.el image-mode.el
865 mm-view.el mml-sec.el processes.texi dbus.el and 35 other files 935 mm-view.el mml-sec.el processes.texi dbus.el and 36 other files
866 936
867Dale Gulledge: changed TUTORIAL.eo 937Dale Gulledge: changed TUTORIAL.eo
868 938
@@ -875,9 +945,10 @@ Dale Sedivec: changed sgml-mode.el wisent/python.el
875 945
876Damien Cassou: wrote auth-source-pass-tests.el 946Damien Cassou: wrote auth-source-pass-tests.el
877and co-wrote auth-source-pass.el auth-source-tests.el 947and co-wrote auth-source-pass.el auth-source-tests.el
878and changed seq-tests.el seq.el simple-tests.el simple.el auth-source.el 948and changed auth.texi message.el seq-tests.el seq.el simple-tests.el
879 auth.texi imenu-tests.el imenu.el info.el isearch.el rmc.el 949 simple.el auth-source.el checkdoc-tests.el checkdoc.el imenu-tests.el
880 sequences.texi 950 imenu.el info.el isearch.el ispell.el json-tests.el json.el
951 message-tests.el package.el rmc.el sequences.texi xref.el
881 952
882Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el 953Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el
883 erc-pcomplete.el README erc-button.el erc-nets.el erc-ring.el Makefile 954 erc-pcomplete.el README erc-button.el erc-nets.el erc-ring.el Makefile
@@ -899,6 +970,8 @@ and changed ob.el ob-sh.el org.el ox.el ox-latex.el ob-tangle.el ob-C.el
899 ob-table.el ob-ditaa.el ob-dot.el ob-gnuplot.el ob-js.el ob-mscgen.el 970 ob-table.el ob-ditaa.el ob-dot.el ob-gnuplot.el ob-js.el ob-mscgen.el
900 ob-ocaml.el ob-org.el ob-plantuml.el and 14 other files 971 ob-ocaml.el ob-org.el ob-plantuml.el and 14 other files
901 972
973Daniel Barrett: changed dbnotn.rnc
974
902Daniel Bergey: changed indian.el 975Daniel Bergey: changed indian.el
903 976
904Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el 977Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el
@@ -908,13 +981,13 @@ Daniel Clemente: changed generic-x.el ox-html.el
908Daniel Colascione: wrote alloc-tests.el generator-tests.el generator.el 981Daniel Colascione: wrote alloc-tests.el generator-tests.el generator.el
909 lisp-tests.el 982 lisp-tests.el
910and co-wrote js.el 983and co-wrote js.el
911and changed w32fns.c emacs.c alloc.c cl-macs.el image.c keyboard.c 984and changed keyboard.c emacs.c w32fns.c alloc.c image.c cl-macs.el lisp.h
912 configure.ac lisp.h process.c sh-script.el src/Makefile.in cygw32.c 985 src/Makefile.in configure.ac frame.c frame.el process.c xterm.el
913 simple.el w32term.h cl-lib-tests.el cygw32.h dbusbind.c fns.c frame.c 986 sh-script.el xfaces.c coding.c cygw32.c data.c dbusbind.c fns.c font.c
914 sysdep.c unexcw.c and 162 other files 987 and 216 other files
915 988
916Daniel Dehennin: changed mml2015.el gnus-mlspl.el gnus-msg.el 989Daniel Dehennin: changed gnus-mlspl.el mml2015.el gnus-msg.el gnus.texi
917 mm-decode.el ox.el 990 mm-decode.el nnmail.el ox.el
918 991
919Daniel E. Doherty: changed calc.texi 992Daniel E. Doherty: changed calc.texi
920 993
@@ -957,7 +1030,7 @@ Daniel Ortmann: changed paragraphs.el
957 1030
958Daniel Pfeiffer: wrote conf-mode.el copyright.el executable.el 1031Daniel Pfeiffer: wrote conf-mode.el copyright.el executable.el
959 sh-script.el skeleton.el two-column.el 1032 sh-script.el skeleton.el two-column.el
960and co-wrote ada-stmt.el apropos.el progmodes/compile.el wyse50.el 1033and co-wrote apropos.el progmodes/compile.el wyse50.el
961and changed make-mode.el files.el buff-menu.el font-lock.el mpuz.el 1034and changed make-mode.el files.el buff-menu.el font-lock.el mpuz.el
962 progmodes/grep.el sgml-mode.el autoinsert.el cperl-mode.el facemenu.el 1035 progmodes/grep.el sgml-mode.el autoinsert.el cperl-mode.el facemenu.el
963 gomoku.el help.el imenu.el autoload.el autorevert.el bindings.el 1036 gomoku.el help.el imenu.el autoload.el autorevert.el bindings.el
@@ -965,11 +1038,14 @@ and changed make-mode.el files.el buff-menu.el font-lock.el mpuz.el
965 and 12 other files 1038 and 12 other files
966 1039
967Daniel Pittman: co-wrote tramp-cache.el 1040Daniel Pittman: co-wrote tramp-cache.el
968and changed gnus-spec.el gnus-sum.el ispell.el nnimap.el spam-report.el 1041and changed gnus-spec.el emacsclient.1 emacsclient.c gnus-sum.el
969 spam.el tramp-sh.el 1042 ispell.el misc.texi nnimap.el spam-report.el spam.el tramp-sh.el
1043 vc-hg.el
970 1044
971Daniel Quinlan: changed dired.el info.el 1045Daniel Quinlan: changed dired.el info.el
972 1046
1047Daniel Ralston: changed rcirc.el
1048
973Daniel Schoepe: changed gnus-sum.el 1049Daniel Schoepe: changed gnus-sum.el
974 1050
975Dani Moncayo: changed msys-to-w32 Makefile.in configure.ac buffers.texi 1051Dani Moncayo: changed msys-to-w32 Makefile.in configure.ac buffers.texi
@@ -982,7 +1058,7 @@ and co-wrote hideshow.el
982and changed vc.el configure.ac vc-hg.el vc-git.el src/Makefile.in 1058and changed vc.el configure.ac vc-hg.el vc-git.el src/Makefile.in
983 vc-bzr.el sysdep.c emacs.c process.c vc-cvs.el lisp.h term.c 1059 vc-bzr.el sysdep.c emacs.c process.c vc-cvs.el lisp.h term.c
984 vc-hooks.el xterm.c keyboard.c vc-svn.el xterm.el callproc.c darwin.h 1060 vc-hooks.el xterm.c keyboard.c vc-svn.el xterm.el callproc.c darwin.h
985 term.el gnu-linux.h and 920 other files 1061 term.el gnu-linux.h and 921 other files
986 1062
987Danny Roozendaal: wrote handwrite.el 1063Danny Roozendaal: wrote handwrite.el
988 1064
@@ -990,6 +1066,8 @@ Danny Siu: changed gnus-sum.el gnus-picon.el nndoc.el nnimap.el smiley.el
990 1066
991Dan Rosenberg: changed movemail.c 1067Dan Rosenberg: changed movemail.c
992 1068
1069Dario Gjorgjevski: changed auth-source.el recentf.el syntax.el
1070
993Darren Hoo: changed db-find.el db.el gnus-art.el isearch.el man.el 1071Darren Hoo: changed db-find.el db.el gnus-art.el isearch.el man.el
994 nsmenu.m startup.el 1072 nsmenu.m startup.el
995 1073
@@ -1014,7 +1092,7 @@ and co-wrote latin-ltx.el socks.el
1014and changed configure.ac help.el mule-cmds.el fortran.el mule-conf.el 1092and changed configure.ac help.el mule-cmds.el fortran.el mule-conf.el
1015 xterm.c browse-url.el mule.el coding.c src/Makefile.in european.el 1093 xterm.c browse-url.el mule.el coding.c src/Makefile.in european.el
1016 fns.c mule-diag.el simple.el wid-edit.el cus-edit.el cus-start.el 1094 fns.c mule-diag.el simple.el wid-edit.el cus-edit.el cus-start.el
1017 files.el keyboard.c byte-opt.el info.el and 773 other files 1095 files.el keyboard.c byte-opt.el info.el and 772 other files
1018 1096
1019Dave Pearson: wrote 5x5.el quickurl.el 1097Dave Pearson: wrote 5x5.el quickurl.el
1020 1098
@@ -1032,6 +1110,8 @@ David Bakhash: wrote strokes.el
1032 1110
1033David Benjamin: changed xfns.c xterm.c xterm.h 1111David Benjamin: changed xfns.c xterm.c xterm.h
1034 1112
1113David Beswick: changed startup.el
1114
1035David Bremner: changed shr.el 1115David Bremner: changed shr.el
1036 1116
1037David Burger: changed macros.el 1117David Burger: changed macros.el
@@ -1049,7 +1129,7 @@ David De La Harpe Golden: changed files.el mouse.el simple.el fileio.c
1049 1129
1050David Edmondson: changed message.el erc.el mml2015.el process.c 1130David Edmondson: changed message.el erc.el mml2015.el process.c
1051 gnus-cite.el imap.el mm-uu.el mm-view.el nnfolder.el nnimap.el nnml.el 1131 gnus-cite.el imap.el mm-uu.el mm-view.el nnfolder.el nnimap.el nnml.el
1052 shr.el 1132 rcirc.el shr.el
1053 1133
1054David Engster: wrote mairix.el nnmairix.el 1134David Engster: wrote mairix.el nnmairix.el
1055and co-wrote gitmerge.el 1135and co-wrote gitmerge.el
@@ -1080,7 +1160,7 @@ David Hansen: changed dbusbind.c nnrss.el cc-cmds.el dired.el em-dirs.el
1080 1160
1081David Hedbor: changed nnmail.el 1161David Hedbor: changed nnmail.el
1082 1162
1083David Hull: changed vc-hg.el 1163David Hull: changed etags.c vc-hg.el
1084 1164
1085David Hunter: changed flymake.el inc/ms-w32.h process.c 1165David Hunter: changed flymake.el inc/ms-w32.h process.c
1086 1166
@@ -1116,6 +1196,8 @@ David M. Brown: wrote array.el
1116 1196
1117David McCabe: changed lisp-mode.el 1197David McCabe: changed lisp-mode.el
1118 1198
1199David Mcfarland: changed gdb-mi.el
1200
1119David Megginson: wrote derived.el 1201David Megginson: wrote derived.el
1120and changed mode-clone.el 1202and changed mode-clone.el
1121 1203
@@ -1162,7 +1244,7 @@ David Robinow: changed w32inevt.c
1162 1244
1163David Robinson: changed menu-bar.el x-win.el 1245David Robinson: changed menu-bar.el x-win.el
1164 1246
1165David Röthlisberger: changed ido.el 1247David Röthlisberger: changed ido.el shell.el
1166 1248
1167David S. Goldberg: changed message.el gnus-art.el 1249David S. Goldberg: changed message.el gnus-art.el
1168 1250
@@ -1217,7 +1299,8 @@ and changed buffer.c
1217Devon Sean McCullough: changed url-http.el buff-menu.el comint.el 1299Devon Sean McCullough: changed url-http.el buff-menu.el comint.el
1218 ns-win.el 1300 ns-win.el
1219 1301
1220Dhruva Krishnamurthy: changed emacsclient.c fontset.c sound.c w32proc.c 1302Dhruva Krishnamurthy: changed emacsclient.c fontset.c image.c sound.c
1303 w32proc.c
1221 1304
1222Diane Murray: changed erc.el erc-backend.el erc-menu.el erc-button.el 1305Diane Murray: changed erc.el erc-backend.el erc-menu.el erc-button.el
1223 erc-track.el erc-match.el erc-nets.el erc-list.el erc-autoaway.el 1306 erc-track.el erc-match.el erc-nets.el erc-list.el erc-autoaway.el
@@ -1225,6 +1308,8 @@ Diane Murray: changed erc.el erc-backend.el erc-menu.el erc-button.el
1225 erc-goodies.el erc-ibuffer.el erc-log.el erc-nicklist.el url-http.el 1308 erc-goodies.el erc-ibuffer.el erc-log.el erc-nicklist.el url-http.el
1226 Makefile erc-dcc.el and 36 other files 1309 Makefile erc-dcc.el and 36 other files
1227 1310
1311Dick R. Chiang: changed checkdoc.el
1312
1228Didier Verna: wrote gnus-diary.el nndiary.el 1313Didier Verna: wrote gnus-diary.el nndiary.el
1229and co-wrote nnml.el 1314and co-wrote nnml.el
1230and changed nntp.el message.el gnus-group.el gnus-sum.el gnus-msg.el 1315and changed nntp.el message.el gnus-group.el gnus-sum.el gnus-msg.el
@@ -1241,9 +1326,9 @@ Dieter Schuster: changed etags.c
1241 1326
1242Dima Kogan: wrote diff-mode-tests.el 1327Dima Kogan: wrote diff-mode-tests.el
1243and changed diff-mode.el erc-backend.el image.c font.c gud.el hideshow.el 1328and changed diff-mode.el erc-backend.el image.c font.c gud.el hideshow.el
1244 autorevert.el find-file.el subword.el BOOST.tests PCRE.tests PTESTS 1329 autorevert.el comint.el find-file.el subword.el BOOST.tests PCRE.tests
1245 TESTS align.el alloc.c ediff-mult.el ediff.el erc-button.el keyboard.c 1330 PTESTS TESTS align.el alloc.c ediff-mult.el ediff.el erc-button.el
1246 lisp.el regex-tests.el and 6 other files 1331 isearch.el keyboard.c and 11 other files
1247 1332
1248Dirk Herrmann: co-wrote bibtex.el 1333Dirk Herrmann: co-wrote bibtex.el
1249 1334
@@ -1267,16 +1352,18 @@ Dmitry Gorbik: changed org.el
1267 1352
1268Dmitry Gutov: wrote elisp-mode-tests.el jit-lock-tests.el json-tests.el 1353Dmitry Gutov: wrote elisp-mode-tests.el jit-lock-tests.el json-tests.el
1269 vc-hg-tests.el xref-tests.el 1354 vc-hg-tests.el xref-tests.el
1270and changed ruby-mode.el xref.el vc-git.el elisp-mode.el etags.el 1355and changed ruby-mode.el xref.el project.el vc-git.el elisp-mode.el
1271 ruby-mode-tests.el project.el js.el package.el vc-hg.el vc.el 1356 etags.el ruby-mode-tests.el js.el package.el vc-hg.el vc.el
1272 symref/grep.el log-edit.el menu-bar.el package-test.el 1357 symref/grep.el log-edit.el dired-aux.el simple.el menu-bar.el
1273 progmodes/grep.el simple.el vc-svn.el eldoc.el find-func.el lisp.el 1358 minibuffer.el package-test.el progmodes/grep.el vc-svn.el eldoc.el
1274 and 89 other files 1359 and 110 other files
1275 1360
1276Dmitry Kurochkin: changed isearch.el 1361Dmitry Kurochkin: changed isearch.el
1277 1362
1278Dmitry Lazurkin: changed progmodes/python.el python-tests.el 1363Dmitry Lazurkin: changed progmodes/python.el python-tests.el
1279 1364
1365Dmitry Safronov: changed outline.el
1366
1280Dominique de Waleffe: changed pcvs-info.el 1367Dominique de Waleffe: changed pcvs-info.el
1281 1368
1282Dominique Quatravaux: changed tramp-sh.el 1369Dominique Quatravaux: changed tramp-sh.el
@@ -1297,13 +1384,15 @@ Drake Wilson: changed emacsclient.c files.el misc.texi
1297 1384
1298Drew Adams: wrote light-blue-theme.el 1385Drew Adams: wrote light-blue-theme.el
1299and co-wrote color.el 1386and co-wrote color.el
1300and changed cus-edit.el dired.el faces.el files.el help-mode.el imenu.el 1387and changed dired.el cus-edit.el imenu.el info.el ls-lisp.el faces.el
1301 info.el isearch.el ls-lisp.el menu-bar.el modes.texi mouse.el 1388 files.el help-mode.el help.el isearch.el menu-bar.el modes.texi
1302 ange-ftp.el apropos.el bindings.el bookmark.el custom.el descr-text.el 1389 mouse.el ange-ftp.el apropos.el bindings.el bookmark.el custom.el
1303 dired.texi etags.el finder.el and 15 other files 1390 descr-text.el dired-aux.el dired.texi and 18 other files
1304 1391
1305E. Choroba: changed simple.el 1392E. Choroba: changed simple.el
1306 1393
1394Edison Ibañez: changed auth-source-pass-tests.el
1395
1307Ed L. Cashin: changed gnus-sum.el imap.el 1396Ed L. Cashin: changed gnus-sum.el imap.el
1308 1397
1309Ed Swarthout: changed hexl.el textmodes/table.el 1398Ed Swarthout: changed hexl.el textmodes/table.el
@@ -1353,9 +1442,9 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c]
1353 chartab-tests.el coding-tests.el doc-tests.el etags-tests.el rxvt.el 1442 chartab-tests.el coding-tests.el doc-tests.el etags-tests.el rxvt.el
1354 tty-colors.el 1443 tty-colors.el
1355and changed xdisp.c msdos.c w32.c display.texi w32fns.c simple.el 1444and changed xdisp.c msdos.c w32.c display.texi w32fns.c simple.el
1356 files.el fileio.c keyboard.c w32proc.c files.texi w32term.c text.texi 1445 files.el fileio.c keyboard.c w32term.c w32proc.c emacs.c files.texi
1357 dispnew.c emacs.c frames.texi dispextern.h lisp.h window.c process.c 1446 text.texi dispnew.c frames.texi lisp.h dispextern.h window.c process.c
1358 term.c and 1125 other files 1447 term.c and 1184 other files
1359 1448
1360Emanuele Giaquinta: changed configure.ac rxvt.el charset.c etags.c 1449Emanuele Giaquinta: changed configure.ac rxvt.el charset.c etags.c
1361 fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el 1450 fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el
@@ -1367,20 +1456,20 @@ Emilio C. Lopes: changed woman.el cmuscheme.el help.el vc.el advice.el
1367 animate.el apropos.el artist.el bookmark.el cal-menu.el calc-prog.el 1456 animate.el apropos.el artist.el bookmark.el cal-menu.el calc-prog.el
1368 calc-store.el calcalg3.el calendar.el calendar.texi checkdoc.el 1457 calc-store.el calcalg3.el calendar.el calendar.texi checkdoc.el
1369 code-pages.el codepage.el completion.el cus-edit.el diff.el 1458 code-pages.el codepage.el completion.el cus-edit.el diff.el
1370 and 56 other files 1459 and 57 other files
1371 1460
1372Emmanuel Briot: wrote ada-prj.el xml.el 1461Emmanuel Briot: wrote xml.el
1373and co-wrote ada-mode.el ada-xref.el 1462and changed ada-mode.el ada-stmt.el ada-prj.el ada-xref.el
1374and changed ada-stmt.el
1375 1463
1376Era Eriksson: changed bibtex.el dired.el json.el ses.el ses.texi shell.el 1464Era Eriksson: changed bibtex.el dired.el json.el ses.el ses.texi shell.el
1377 tramp.el tramp.texi 1465 tramp.el tramp.texi
1378 1466
1379Eric Abrahamsen: changed eieio-base.el registry.el nnimap.el 1467Eric Abrahamsen: wrote gnus-test-headers.el
1380 gnus-registry.el files.el files.texi windows.texi eieio-test-persist.el 1468and changed gnus-sum.el gnus-group.el gnus-start.el gnus-registry.el
1381 eieio.el gnus-start.el gnus-sum.el gnus.texi nnir.el buffers.texi 1469 eieio-base.el nnimap.el gnus.texi nnir.el gnus-agent.el registry.el
1382 checkdoc.el files-tests.el gnus-bcklg.el gnus-group.el nnmairix.el 1470 gnus-srvr.el gnus.el eieio.el gnus-score.el files.el files.texi
1383 org.el org.texi and 4 other files 1471 gnus-art.el gnus-cache.el nnmail.el nnmaildir.el nnrss.el
1472 and 43 other files
1384 1473
1385Eric Bélanger: changed image.c 1474Eric Bélanger: changed image.c
1386 1475
@@ -1426,48 +1515,50 @@ Eric M. Ludlam: wrote analyze.el analyze/complete.el analyze/debug.el
1426 proj-archive.el proj-aux.el proj-comp.el proj-elisp.el proj-info.el 1515 proj-archive.el proj-aux.el proj-comp.el proj-elisp.el proj-info.el
1427 proj-misc.el proj-obj.el proj-prog.el proj-scheme.el proj-shared.el 1516 proj-misc.el proj-obj.el proj-prog.el proj-scheme.el proj-shared.el
1428 proj.el project-am.el pulse.el refs.el sb-image.el sb.el scm.el 1517 proj.el project-am.el pulse.el refs.el sb-image.el sb.el scm.el
1429 scope.el semantic-ia-utest.el semantic-tests.el semantic-utest-c.el 1518 scope.el semantic-tests.el semantic-utest-c.el semantic-utest-fmt.el
1430 semantic-utest.el semantic/chart.el semantic/complete.el 1519 semantic-utest-ia.el semantic-utest.el semantic/chart.el
1431 semantic/ctxt.el semantic/debug.el semantic/find.el semantic/format.el 1520 semantic/complete.el semantic/ctxt.el semantic/debug.el
1432 semantic/imenu.el semantic/sort.el semantic/texi.el semantic/util.el 1521 semantic/find.el semantic/format.el semantic/imenu.el semantic/sort.el
1433 source.el speedbar.el srecode-tests.el srecode/compile.el 1522 semantic/texi.el semantic/util.el source.el speedbar.el
1434 srecode/ctxt.el srecode/el.el srecode/find.el srecode/java.el 1523 srecode-tests.el srecode/compile.el srecode/ctxt.el srecode/el.el
1435 srecode/mode.el srecode/semantic.el srecode/table.el srecode/texi.el 1524 srecode/find.el srecode/java.el srecode/mode.el srecode/semantic.el
1436 srt.el symref.el symref/grep.el system.el tag-file.el tag-ls.el 1525 srecode/table.el srecode/texi.el srt.el symref.el symref/grep.el
1437 tag-write.el tag.el test.el 1526 system.el tag-file.el tag-ls.el tag-write.el tag.el test-fmt.el test.el
1438and co-wrote db-ebrowse.el srecode/cpp.el util-modes.el 1527and co-wrote db-ebrowse.el srecode/cpp.el util-modes.el
1439and changed c.srt ede.texi info.el rmail.el speedbspec.el cedet.el 1528and changed c.srt ede.texi info.el rmail.el speedbspec.el cedet.el
1440 ede-autoconf.srt ede-make.srt eieio.texi gud.el sb-dir-minus.xpm 1529 ede-autoconf.srt ede-make.srt eieio.texi gud.el sb-dir-minus.xpm
1441 sb-dir-plus.xpm sb-dir.xpm sb-mail.xpm sb-pg-minus.xpm sb-pg-plus.xpm 1530 sb-dir-plus.xpm sb-dir.xpm sb-mail.xpm sb-pg-minus.xpm sb-pg-plus.xpm
1442 sb-pg.xpm sb-tag-gt.xpm sb-tag-minus.xpm sb-tag-plus.xpm 1531 sb-pg.xpm sb-tag-gt.xpm sb-tag-minus.xpm sb-tag-plus.xpm
1443 sb-tag-type.xpm and 33 other files 1532 and 50 other files
1444 1533
1445Eric Schulte: wrote ob-asymptote.el ob-awk.el ob-calc.el ob-comint.el 1534Eric Schulte: wrote ob-asymptote.el ob-awk.el ob-calc.el ob-comint.el
1446 ob-coq.el ob-css.el ob-ditaa.el ob-dot.el ob-emacs-lisp.el ob-eval.el 1535 ob-coq.el ob-css.el ob-ditaa.el ob-dot.el ob-emacs-lisp.el ob-eval.el
1447 ob-forth.el ob-gnuplot.el ob-haskell.el ob-java.el ob-js.el ob-keys.el 1536 ob-forth.el ob-gnuplot.el ob-haskell.el ob-java.el ob-js.el ob-latex.el
1448 ob-latex.el ob-makefile.el ob-ocaml.el ob-org.el ob-ruby.el ob-sass.el 1537 ob-makefile.el ob-ocaml.el ob-org.el ob-ruby.el ob-sass.el ob-shell.el
1449 ob-shell.el ob-shen.el ob-sql.el ob-sqlite.el ob-table.el ob-tangle.el 1538 ob-shen.el ob-sql.el ob-sqlite.el ob-table.el ob-tangle.el ob.el
1450 ob.el org-plot.el 1539 org-plot.el
1451and co-wrote ob-C.el ob-R.el ob-core.el ob-exp.el ob-fortran.el 1540and co-wrote ob-C.el ob-R.el ob-core.el ob-exp.el ob-fortran.el
1452 ob-lisp.el ob-lob.el ob-maxima.el ob-perl.el ob-picolisp.el 1541 ob-lisp.el ob-lob.el ob-maxima.el ob-perl.el ob-picolisp.el
1453 ob-python.el ob-ref.el ob-scheme.el org-bibtex.el 1542 ob-python.el ob-ref.el ob-scheme.el ol-bibtex.el
1454and changed org.texi org.el ob-clojure.el org-exp-blocks.el ob-sh.el 1543and changed org.texi org.el ob-clojure.el org-exp-blocks.el ob-sh.el
1455 ox.el ox-latex.el org-src.el ob-plantuml.el ob-screen.el org-macs.el 1544 org-bibtex.el ox.el ox-latex.el org-src.el ob-plantuml.el ob-keys.el
1456 org-table.el org-agenda.el org-mouse.el orgcard.tex ob-lilypond.el 1545 ob-screen.el org-macs.el org-table.el org-agenda.el org-mouse.el
1457 ob-mscgen.el ob-octave.el org-clock.el org-compat.el org-footnote.el 1546 orgcard.tex ob-lilypond.el ob-mscgen.el ob-octave.el org-clock.el
1458 and 14 other files 1547 and 16 other files
1459 1548
1460Eric S Fraga: wrote ob-ledger.el 1549Eric S Fraga: wrote ob-ledger.el
1461and co-wrote ob-maxima.el 1550and co-wrote ob-maxima.el
1462and changed ox-icalendar.el org.texi ox-latex.el 1551and changed ox-icalendar.el org.texi ox-latex.el
1463 1552
1553Eric Skoglund: changed esh-proc.el eshell.texi
1554
1464Eric S. Raymond: wrote AT386.el asm-mode.el cookie1.el finder.el gud.el 1555Eric S. Raymond: wrote AT386.el asm-mode.el cookie1.el finder.el gud.el
1465 lisp-mnt.el loadhist.el 1556 lisp-mnt.el loadhist.el
1466and co-wrote make-mode.el 1557and co-wrote make-mode.el
1467and changed vc.el vc-hooks.el vc-svn.el vc-cvs.el vc-git.el vc-rcs.el 1558and changed vc.el vc-hooks.el vc-svn.el vc-cvs.el vc-git.el vc-rcs.el
1468 vc-sccs.el vc-hg.el vc-bzr.el vc-dispatcher.el files.texi vc-mcvs.el 1559 vc-sccs.el vc-hg.el vc-bzr.el vc-dispatcher.el files.texi vc-mcvs.el
1469 vc-mtn.el files.el vc-arch.el comint.el emacsbug.el simple.el vc-src.el 1560 vc-mtn.el files.el vc-arch.el comint.el emacsbug.el simple.el vc-src.el
1470 Makefile.in add-log.el and 273 other files 1561 Makefile.in add-log.el and 274 other files
1471 1562
1472Eric Youngdale: changed etags-vmslib.c 1563Eric Youngdale: changed etags-vmslib.c
1473 1564
@@ -1506,6 +1597,8 @@ Eugene Exarevsky: changed sql.el
1506 1597
1507Evangelos Evangelou: changed progmodes/f90.el 1598Evangelos Evangelou: changed progmodes/f90.el
1508 1599
1600Evan Moses: changed progmodes/python.el
1601
1509Evgeni Dobrev: changed man.el 1602Evgeni Dobrev: changed man.el
1510 1603
1511Evgeni Kolev: changed perl-mode.el 1604Evgeni Kolev: changed perl-mode.el
@@ -1514,7 +1607,7 @@ Evgeny Fraimovitch: changed emacsclient.c
1514 1607
1515Evgeny Roubinchtein: changed mail-source.el pc-select.el 1608Evgeny Roubinchtein: changed mail-source.el pc-select.el
1516 1609
1517Evgeny Zajcev: changed battery.el image.c image.el 1610Evgeny Zajcev: changed battery.el image.c image.el quail.el
1518 1611
1519Exal de Jesus Garcia Carrillo: changed erc-sound.el erc.texi 1612Exal de Jesus Garcia Carrillo: changed erc-sound.el erc.texi
1520 1613
@@ -1539,7 +1632,18 @@ Faried Nawaz: changed message.el
1539 1632
1540Federico Beffa: changed xscheme.el 1633Federico Beffa: changed xscheme.el
1541 1634
1542Felipe Ochoa: changed faces.el paren.el 1635Federico Tedin: wrote tempo-tests.el
1636and changed minibuf.c mouse.el package.el rect.el cursor-sensor.el
1637 cus-start.el doc-view.el edebug.el eww.el files.texi gamegrid.el
1638 keyboard.c minibuf.texi package-tests.el package.texi simple.el
1639 tempo.el vc-git.el xfaces.c
1640
1641Felicián Németh: changed project.el xref.el
1642
1643Felipe Ochoa: changed faces.el js.el js.js paren.el
1644
1645Felix E. Klee: co-wrote svg.el
1646and changed display.texi
1543 1647
1544Felix H. Dahlke: changed js.el 1648Felix H. Dahlke: changed js.el
1545 1649
@@ -1558,8 +1662,14 @@ Ferenc Wagner: changed nnweb.el
1558 1662
1559Filipe Cabecinhas: changed nsterm.m 1663Filipe Cabecinhas: changed nsterm.m
1560 1664
1561Filipp Gunbin: changed autorevert.el shell.el auth-source-tests.el 1665Filipp Gunbin: changed auth-source-tests.el auth-source.el autorevert.el
1562 auth-source.el cc-menus.el dired-aux.el info.el info.texi 1666 compilation.txt dired-aux.el gnus-ml.el progmodes/compile.el shell.el
1667 cc-menus.el custom.el dabbrev.el gnus-sum.el imenu.el info.el info.texi
1668 ldap.el search.texi sql.el
1669
1670Fix Bug#24483.: changed sql.el sql-tests.el
1671
1672Fix Bug#35307.: changed sql.el
1563 1673
1564Flemming Hoejstrup Hansen: changed forms.el 1674Flemming Hoejstrup Hansen: changed forms.el
1565 1675
@@ -1575,14 +1685,14 @@ Florian Weimer: changed message.el gnus.el coding.c gnus-sum.el gnus.texi
1575Francesco Pizzolante: changed org-clock.el org-macs.el org.el ox-html.el 1685Francesco Pizzolante: changed org-clock.el org-macs.el org.el ox-html.el
1576 1686
1577Francesco Potortì: wrote cmacexp.el 1687Francesco Potortì: wrote cmacexp.el
1578and changed etags.c man.el delta.h etags.1 undigest.el comint.el 1688and changed etags.c man.el delta.h etags.1 undigest.el rmail.el comint.el
1579 configure.ac maintaining.texi uniquify.el latin-post.el rmail.el 1689 configure.ac maintaining.texi uniquify.el latin-post.el etags.el
1580 etags.el latin-alt.el lib-src/Makefile.in sgml-mode.el Makefile.in 1690 latin-alt.el lib-src/Makefile.in sgml-mode.el Makefile.in data.c
1581 data.c european.el filelock.c files.el generic-x.el and 44 other files 1691 european.el filelock.c files.el generic-x.el and 44 other files
1582 1692
1583Francesc Rocher: changed MORE.STUFF splash.png splash.svg startup.el 1693Francesc Rocher: changed splash.png splash.svg startup.el README
1584 README cus-start.el gnus.el gnus.png gnus.svg macterm.c splash.pbm 1694 cus-start.el gnus.el gnus.png gnus.svg macterm.c splash.pbm splash.xpm
1585 splash.xpm splash8.xpm w32term.c xdisp.c xterm.c 1695 splash8.xpm w32term.c xdisp.c xterm.c
1586 1696
1587Francis Devereux: changed nsfont.m 1697Francis Devereux: changed nsfont.m
1588 1698
@@ -1648,6 +1758,8 @@ Friedrich Delgado Friedrichs: changed org.el
1648 1758
1649Fritz Knabe: changed mh-mime.el 1759Fritz Knabe: changed mh-mime.el
1650 1760
1761Fritz Stelzer: changed xref.el
1762
1651F. Thomas May: wrote blackbox.el 1763F. Thomas May: wrote blackbox.el
1652 1764
1653Fujii Hironori: changed w32fns.c 1765Fujii Hironori: changed w32fns.c
@@ -1679,12 +1791,13 @@ G Dinesh Dutt: changed etags.el
1679 1791
1680Geert Kloosterman: changed which-func.el 1792Geert Kloosterman: changed which-func.el
1681 1793
1682Gemini Lasswell: wrote edebug-tests.el kmacro-tests.el testcover-tests.el 1794Gemini Lasswell: wrote backtrace-tests.el backtrace.el edebug-tests.el
1683and changed edebug.el cl-macs.el cl-generic.el ert-x.el cl-print.el 1795 kmacro-tests.el testcover-tests.el thread-tests.el thread.el
1684 edebug-test-code.el edebug.texi eieio-compat.el generator.el subr.el 1796and changed edebug.el cl-print.el edebug.texi cl-print-tests.el
1685 autorevert-tests.el cl-print-tests.el eieio.texi emacs-lisp/debug.el 1797 debugging.texi cl-macs.el emacs-lisp/debug.el edebug-test-code.el
1686 eval-tests.el eval.c filenotify-tests.el generator-tests.el kmacro.el 1798 subr.el testcases.el testcover.el cl-generic.el ert-x.el eval.c
1687 lread.c map-tests.el and 10 other files 1799 eieio-compat.el elisp.texi ert.el ert.texi eval-tests.el generator.el
1800 print.c and 24 other files
1688 1801
1689Geoff Gole: changed align.el ibuffer.el whitespace.el 1802Geoff Gole: changed align.el ibuffer.el whitespace.el
1690 1803
@@ -1711,7 +1824,7 @@ Georges Brun-Cottan: wrote easy-mmode.el
1711 1824
1712George V. Reilly: changed emacs.ico makefile.nt 1825George V. Reilly: changed emacs.ico makefile.nt
1713 1826
1714Gerd Möllmann: wrote authors.el ebrowse.el jit-lock.el rx.el tooltip.el 1827Gerd Möllmann: wrote authors.el ebrowse.el jit-lock.el tooltip.el
1715and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c 1828and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c
1716 window.c keyboard.c lisp.h faces.el alloc.c buffer.c startup.el xterm.h 1829 window.c keyboard.c lisp.h faces.el alloc.c buffer.c startup.el xterm.h
1717 fns.c simple.el term.c configure.ac frame.c xmenu.c emacs.c 1830 fns.c simple.el term.c configure.ac frame.c xmenu.c emacs.c
@@ -1738,10 +1851,10 @@ Giuseppe Scrivano: changed browse-url.el buffer.c configure.ac sysdep.c
1738 1851
1739Glenn Morris: wrote check-declare.el f90-tests.el vc-bzr-tests.el 1852Glenn Morris: wrote check-declare.el f90-tests.el vc-bzr-tests.el
1740and changed configure.ac Makefile.in src/Makefile.in calendar.el 1853and changed configure.ac Makefile.in src/Makefile.in calendar.el
1741 diary-lib.el lisp/Makefile.in files.el rmail.el make-dist 1854 diary-lib.el lisp/Makefile.in files.el make-dist rmail.el
1742 progmodes/f90.el bytecomp.el simple.el authors.el admin.el emacs.texi 1855 progmodes/f90.el bytecomp.el simple.el authors.el admin.el startup.el
1743 misc/Makefile.in startup.el lib-src/Makefile.in ack.texi display.texi 1856 emacs.texi misc/Makefile.in display.texi lib-src/Makefile.in ack.texi
1744 cal-menu.el and 1681 other files 1857 subr.el and 1760 other files
1745 1858
1746Glynn Clements: wrote gamegrid.el snake.el tetris.el 1859Glynn Clements: wrote gamegrid.el snake.el tetris.el
1747 1860
@@ -1783,7 +1896,7 @@ Gregor Schmid: changed intervals.c intervals.h tcl-mode.el textprop.c
1783 1896
1784Gregory Chernov: changed nnslashdot.el 1897Gregory Chernov: changed nnslashdot.el
1785 1898
1786Grégory Mounié: changed man.el 1899Grégory Mounié: changed display.texi hi-lock.el man.el
1787 1900
1788Gregory Neil Shapiro: changed mailabbrev.el 1901Gregory Neil Shapiro: changed mailabbrev.el
1789 1902
@@ -1882,10 +1995,11 @@ Hoan Ton-That: changed erc-log.el
1882Holger Schauer: wrote fortune.el 1995Holger Schauer: wrote fortune.el
1883and changed message-utils.el 1996and changed message-utils.el
1884 1997
1885Hong Xu: changed paren.el search.c editfns.c em-cmpl.el emacs-mime.texi 1998Hong Xu: changed etags.el simple.el maintaining.texi minibuf.texi
1886 files.texi flyspell.el maintaining.texi parse-time-tests.el 1999 paren.el progmodes/python.el search.c editfns.c em-cmpl.el
1887 parse-time.el progmodes/cpp.el progmodes/python.el programs.texi 2000 emacs-mime.texi files.texi flyspell.el gnus-cite.el message.el
1888 python-tests.el subr.el vc.el 2001 parse-time-tests.el parse-time.el progmodes/cpp.el programs.texi
2002 python-tests.el subr.el url-util.el and 3 other files
1889 2003
1890Hosoya Kei: changed TUTORIAL.ja 2004Hosoya Kei: changed TUTORIAL.ja
1891 2005
@@ -1912,10 +2026,12 @@ Hynek Schlawack: changed gnus-art.el gnus-sum.el
1912 2026
1913Ian D: changed doc-view.el image-mode.el 2027Ian D: changed doc-view.el image-mode.el
1914 2028
1915Ian Dunn: changed eww.el 2029Ian Dunn: changed eww.el vc-hg.el
1916 2030
1917Ian Eure: changed sql.el url-util.el 2031Ian Eure: changed sql.el url-util.el
1918 2032
2033Ian Johnson: changed comint.el
2034
1919Ian Kelling: changed process.c ob-core.el 2035Ian Kelling: changed process.c ob-core.el
1920 2036
1921Ian Lance Taylor: changed sco4.h 2037Ian Lance Taylor: changed sco4.h
@@ -1923,10 +2039,12 @@ Ian Lance Taylor: changed sco4.h
1923Ian T Zimmerman: wrote gametree.el 2039Ian T Zimmerman: wrote gametree.el
1924and changed ange-ftp.el desktop.el tex-mode.el 2040and changed ange-ftp.el desktop.el tex-mode.el
1925 2041
1926İ. Göktuğ Kayaalp: changed vc-rcs.el 2042İ. Göktuğ Kayaalp: changed eww.el vc-rcs.el
1927 2043
1928Igor Kuzmin: wrote cconv.el 2044Igor Kuzmin: wrote cconv.el
1929 2045
2046Iku Iwasa: changed auth-source-pass-tests.el auth-source-pass.el
2047
1930Ikumi Keita: changed characters.el japan-util.el kinsoku.el minibuf.c 2048Ikumi Keita: changed characters.el japan-util.el kinsoku.el minibuf.c
1931 2049
1932Ilja Weis: co-wrote gnus-topic.el 2050Ilja Weis: co-wrote gnus-topic.el
@@ -1969,12 +2087,14 @@ Irie Tetsuya: changed gnus.texi message.texi
1969 2087
1970İsmail Dönmez: changed nsfont.m nsterm.m url-auth.el xterm.c 2088İsmail Dönmez: changed nsfont.m nsterm.m url-auth.el xterm.c
1971 2089
2090Ismail S: changed org-capture.el
2091
1972Istvan Marko: changed gnus-agent.el xfns.c 2092Istvan Marko: changed gnus-agent.el xfns.c
1973 2093
1974Itai Zukerman: changed mm-decode.el 2094Itai Zukerman: changed mm-decode.el
1975 2095
1976Ivan Andrus: changed epg.el ffap.el find-file.el ibuf-ext.el ibuffer.el 2096Ivan Andrus: changed editfns.c epg.el ffap.el find-file.el ibuf-ext.el
1977 newcomment.el nxml-mode.el progmodes/python.el 2097 ibuffer.el newcomment.el nxml-mode.el progmodes/python.el
1978 2098
1979Ivan Boldyrev: changed mml1991.el 2099Ivan Boldyrev: changed mml1991.el
1980 2100
@@ -1985,9 +2105,9 @@ and changed eww.el shr.el appt.el dired.el help-fns.el saveplace.el
1985Ivan Radanov Ivanov: changed quail/cyrillic.el 2105Ivan Radanov Ivanov: changed quail/cyrillic.el
1986 2106
1987Ivan Shmakov: changed eww.el shr.el desktop.el eww.texi faces.el files.el 2107Ivan Shmakov: changed eww.el shr.el desktop.el eww.texi faces.el files.el
1988 cus-dep.el descr-text.el diff-mode.el enriched.el erc-track.el 2108 tar-mode.el cus-dep.el descr-text.el diff-mode.el diff.el enriched.el
1989 facemenu.el files.texi iso-transl.el misearch.el nndoc.el simple.el 2109 erc-track.el facemenu.el files.texi iso-transl.el misearch.el nndoc.el
1990 tar-mode.el tcl.el tex-mode.el url-cookie.el 2110 rcirc.el simple.el smerge-mode.el and 5 other files
1991 2111
1992Ivan Vilata i Balaguer: changed org-clock.el org.texi 2112Ivan Vilata i Balaguer: changed org-clock.el org.texi
1993 2113
@@ -2001,11 +2121,16 @@ Jaap-Henk Hoepman: changed mm-decode.el
2001 2121
2002Jacek Chrząszcz: changed ispell.el 2122Jacek Chrząszcz: changed ispell.el
2003 2123
2124Jack Coughlin: changed calc-prog.el
2125
2004Jack Duthen: changed which-func.el 2126Jack Duthen: changed which-func.el
2005 2127
2006Jack Repenning: changed unexelfsgi.c 2128Jack Repenning: changed unexelfsgi.c
2007 2129
2008Jackson Ray Hamilton: changed js.el sgml-mode.el 2130Jackson Ray Hamilton: changed js.el jsx-unclosed-2.jsx jsx.jsx js.js
2131 jsx-comment-string.jsx files.el jsx-align-gt-with-lt.jsx
2132 jsx-indent-level.jsx jsx-quote.jsx jsx-self-closing.jsx
2133 jsx-unclosed-1.jsx sgml-mode.el
2009 2134
2010Jack Twilley: changed message.el 2135Jack Twilley: changed message.el
2011 2136
@@ -2015,8 +2140,12 @@ Jacques Duthen: co-wrote ps-print.el ps-samp.el
2015 2140
2016Jae-hyeon Park: changed fontset.el 2141Jae-hyeon Park: changed fontset.el
2017 2142
2143Jaesup Kwak: changed xwidget.c
2144
2018Jaeyoun Chung: changed hangul3.el hanja3.el gnus-mule.el hangul.el 2145Jaeyoun Chung: changed hangul3.el hanja3.el gnus-mule.el hangul.el
2019 2146
2147J. Alexander Branham: wrote conf-mode-tests.el
2148
2020Jambunathan K: wrote ox-odt.el 2149Jambunathan K: wrote ox-odt.el
2021and co-wrote ox-html.el 2150and co-wrote ox-html.el
2022and changed org-lparse.el org.el org.texi ox.el icomplete.el 2151and changed org-lparse.el org.el org.texi ox.el icomplete.el
@@ -2055,10 +2184,10 @@ Jamie Zawinski: wrote mailabbrev.el tar-mode.el
2055and co-wrote byte-opt.el byte-run.el bytecomp.el disass.el font-lock.el 2184and co-wrote byte-opt.el byte-run.el bytecomp.el disass.el font-lock.el
2056and changed bytecode.c mail-extr.el subr.el 2185and changed bytecode.c mail-extr.el subr.el
2057 2186
2058Jan Beich: changed configure.ac 2187Jan Beich: changed configure.ac mml-smime.el
2059 2188
2060Jan Böcker: wrote org-docview.el 2189Jan Böcker: wrote ol-docview.el
2061and changed org.el org.texi 2190and changed org.el org-docview.el org.texi
2062 2191
2063Jan Djärv: wrote dnd.el dynamic-setting.el x-dnd.el 2192Jan Djärv: wrote dnd.el dynamic-setting.el x-dnd.el
2064and changed gtkutil.c xterm.c nsterm.m xfns.c configure.ac nsfns.m 2193and changed gtkutil.c xterm.c nsterm.m xfns.c configure.ac nsfns.m
@@ -2105,7 +2234,7 @@ and changed org-gnus.el org-table.el org.texi
2105Jarno Malmari: wrote url-auth-tests.el 2234Jarno Malmari: wrote url-auth-tests.el
2106and changed url-auth.el 2235and changed url-auth.el
2107 2236
2108Jarosław Rzeszótko: changed url-http.el 2237Jarosław Rzeszótko: changed ielm.el url-http.el
2109 2238
2110Jason Baker: changed gnus-art.el 2239Jason Baker: changed gnus-art.el
2111 2240
@@ -2122,7 +2251,7 @@ Jason Rumney: wrote w32-vars.el
2122and changed w32fns.c w32term.c w32font.c w32menu.c w32-win.el w32term.h 2251and changed w32fns.c w32term.c w32font.c w32menu.c w32-win.el w32term.h
2123 w32.c w32uniscribe.c w32-fns.el makefile.nt w32console.c w32bdf.c 2252 w32.c w32uniscribe.c w32-fns.el makefile.nt w32console.c w32bdf.c
2124 configure.bat keyboard.c w32proc.c w32select.c font.c image.c w32font.h 2253 configure.bat keyboard.c w32proc.c w32select.c font.c image.c w32font.h
2125 w32gui.h xdisp.c and 154 other files 2254 w32gui.h xdisp.c and 153 other files
2126 2255
2127Jason S. Cornez: changed keyboard.c 2256Jason S. Cornez: changed keyboard.c
2128 2257
@@ -2134,19 +2263,21 @@ Jay Belanger: changed calc.texi calc.el calc-ext.el calc-units.el
2134 2263
2135Jay K. Adams: wrote jka-cmpr-hook.el jka-compr.el 2264Jay K. Adams: wrote jka-cmpr-hook.el jka-compr.el
2136 2265
2137Jay Kamat: changed erc-goodies.el esh-opt.el 2266Jay Kamat: changed esh-opt.el em-hist.el em-tramp.el erc-goodies.el
2267 esh-opt-tests.el
2138 2268
2139Jay McCarthy: changed org-colview.el 2269Jay McCarthy: changed org-colview.el
2140 2270
2141Jay Sachs: changed gnus-score.el gnus-win.el 2271Jay Sachs: changed gnus-score.el gnus-win.el
2142 2272
2143J.D. Smith: co-wrote idlw-help.el idlw-shell.el idlwave.el 2273Jd Smith: co-wrote idlw-help.el idlw-shell.el idlwave.el
2144and changed idlw-rinfo.el idlw-toolbar.el comint.el idlwave.texi vc.el
2145 bibtex.el files.texi hideshow.el idlw-complete-structtag.el misc.texi
2146 mouse.el
2147 2274
2148Jean-Christophe Helary: changed ns-win.el strings.texi subr-x.el 2275J.D. Smith: changed idlwave.el idlw-shell.el idlw-help.el idlw-rinfo.el
2149 ucs-normalize.el 2276 idlw-toolbar.el comint.el idlwave.texi vc.el bibtex.el files.texi
2277 hideshow.el idlw-complete-structtag.el misc.texi mouse.el
2278
2279Jean-Christophe Helary: changed emacs-lisp-intro.texi ns-win.el
2280 package-tests.el package.el strings.texi subr-x.el ucs-normalize.el
2150 2281
2151Jean Haidouk: changed latin-alt.el latin-post.el latin-pre.el 2282Jean Haidouk: changed latin-alt.el latin-post.el latin-pre.el
2152 2283
@@ -2178,7 +2309,9 @@ and changed emacstool.1 emacstool.c
2178Jeffrey C Honig: wrote mh-print.el 2309Jeffrey C Honig: wrote mh-print.el
2179and changed mh-e.el mh-comp.el mh-utils.el mh-mime.el mh-customize.el 2310and changed mh-e.el mh-comp.el mh-utils.el mh-mime.el mh-customize.el
2180 mh-folder.el mh-funcs.el mh-alias.el mh-seq.el mh-show.el Makefile 2311 mh-folder.el mh-funcs.el mh-alias.el mh-seq.el mh-show.el Makefile
2181 bsdos4.h mh-junk.el mh-letter.el 2312 bsdos4.h mh-identity.el mh-junk.el mh-letter.el
2313
2314Jelle Licht: changed auth-source-pass-tests.el auth-source-pass.el
2182 2315
2183Jens Krinke: changed smime.el 2316Jens Krinke: changed smime.el
2184 2317
@@ -2199,6 +2332,8 @@ Jens Uwe Schmidt: changed edebug.el
2199 2332
2200Jeramey Crawford: changed amdx86-64.h configure.ac 2333Jeramey Crawford: changed amdx86-64.h configure.ac
2201 2334
2335Jeremie Courreges-Anglas: changed kqueue.c
2336
2202Jérémie Courrèges-Anglas: changed org.texi ox-latex.el 2337Jérémie Courrèges-Anglas: changed org.texi ox-latex.el
2203 2338
2204Jeremy Bertram Maitin-Shepard: changed erc.el erc-backend.el 2339Jeremy Bertram Maitin-Shepard: changed erc.el erc-backend.el
@@ -2230,6 +2365,8 @@ and changed gnus-sum.el gnus-art.el message.el gnus-group.el gnus-msg.el
2230 2365
2231Jhair Tocancipa Triana: changed gnus-audio.el 2366Jhair Tocancipa Triana: changed gnus-audio.el
2232 2367
2368Jiajie Chen: changed button.el
2369
2233Jihyun Cho: wrote hangul.el hanja-util.el 2370Jihyun Cho: wrote hangul.el hanja-util.el
2234 2371
2235Jim Blandy: wrote tvi970.el 2372Jim Blandy: wrote tvi970.el
@@ -2249,6 +2386,11 @@ Jim Meyering: changed lread.c make-docfile.c w32.c w32font.c copyright.el
2249 alloc.c artist.el autoinsert.el buffer.h callproc.c character.h 2386 alloc.c artist.el autoinsert.el buffer.h callproc.c character.h
2250 charset.c configure and 55 other files 2387 charset.c configure and 55 other files
2251 2388
2389Jimmy Aguilar Mena: changed xdisp.c xfaces.c dispextern.h face-remap.el
2390 hl-line.el icomplete.el xwidget.c
2391
2392Jimmy Yuen Ho Wong: changed nsm.el gnutls.c gnutls.el net-utils.el
2393
2252Jim Paris: changed process.c 2394Jim Paris: changed process.c
2253 2395
2254Jim Radford: changed gnus-start.el 2396Jim Radford: changed gnus-start.el
@@ -2285,12 +2427,13 @@ Joanna Pluta: changed TUTORIAL.pl
2285 2427
2286João Cachopo: changed spam.el 2428João Cachopo: changed spam.el
2287 2429
2288João Távora: wrote elec-pair.el electric-tests.el message-tests.el 2430João Távora: wrote elec-pair.el electric-tests.el flymake-cc.el
2289and changed flymake.el flymake-proc.el flymake-tests.el flymake-elisp.el 2431 jsonrpc-tests.el jsonrpc.el message-tests.el
2290 flymake.texi elisp-mode.el flymake-ui.el tex-mode.el 2432and changed flymake.el flymake-proc.el icomplete.el minibuffer.el
2291 errors-and-warnings.c linum.el message.el shr.el xref.el Makefile 2433 flymake-tests.el flymake.texi elisp-mode.el flymake-elisp.el
2292 bytecomp.el checkdoc.el cperl-mode.el electric.el emacs.texi 2434 electric.el flymake-ui.el text.texi json-tests.el tex-mode.el
2293 lisp-mode.el maintaining.texi and 14 other files 2435 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
2294 2437
2295Jochen Hein: changed gnus-art.el 2438Jochen Hein: changed gnus-art.el
2296 2439
@@ -2319,6 +2462,8 @@ Joel N. Weber II: changed comint.el make-dist
2319 2462
2320Joel Ray Holveck: changed gnus-sum.el info.el 2463Joel Ray Holveck: changed gnus-sum.el info.el
2321 2464
2465Joel Rosdahl: changed flymake-proc.el progmodes/python.el python-tests.el
2466
2322Joe Matarazzo: changed ebrowse.c 2467Joe Matarazzo: changed ebrowse.c
2323 2468
2324Joe Ramey: changed filelock.c rmailsum.el 2469Joe Ramey: changed filelock.c rmailsum.el
@@ -2341,9 +2486,10 @@ Johan Bockgård: changed erc.el cl-macs.el pcase.el erc-backend.el
2341 erc-button.el erc-match.el icomplete.el mouse-sel.el subr.el xdisp.c 2486 erc-button.el erc-match.el icomplete.el mouse-sel.el subr.el xdisp.c
2342 browse-url.el bytecomp.el custom.el display.texi edebug.el eieio.el 2487 browse-url.el bytecomp.el custom.el display.texi edebug.el eieio.el
2343 erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el 2488 erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el
2344 and 62 other files 2489 and 63 other files
2345 2490
2346Johan Claesson: changed cl.texi filecache.el term.el 2491Johan Claesson: changed cl.texi filecache.el files-x.el help-fns.el
2492 tabulated-list.el term.el
2347 2493
2348Johan Euphrosine: changed ibuf-ext.el 2494Johan Euphrosine: changed ibuf-ext.el
2349 2495
@@ -2365,6 +2511,8 @@ John F. Trudeau: changed make-mode.el
2365 2511
2366John F. Whitehead: changed mule-cmds.el mule-diag.el 2512John F. Whitehead: changed mule-cmds.el mule-diag.el
2367 2513
2514John Goerzen: changed erc.el
2515
2368John Grabowski: changed xfaces.c xfns.c 2516John Grabowski: changed xfaces.c xfns.c
2369 2517
2370John Heidemann: wrote mouse-copy.el mouse-drag.el 2518John Heidemann: wrote mouse-copy.el mouse-drag.el
@@ -2380,7 +2528,7 @@ John K. Luebs: changed org.el
2380 2528
2381John Marino: changed configure.ac 2529John Marino: changed configure.ac
2382 2530
2383John Mastro: changed auth-source.el ibuffer.el 2531John Mastro: changed auth-source.el ibuffer.el w32heap.c
2384 2532
2385John Mongan: changed progmodes/f90.el 2533John Mongan: changed progmodes/f90.el
2386 2534
@@ -2389,7 +2537,8 @@ John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el help-fns.el
2389 bytecomp.el cus-theme.el font-lock.el hexl.el ibuf-macs.el info.el 2537 bytecomp.el cus-theme.el font-lock.el hexl.el ibuf-macs.el info.el
2390 minibuf.c re-builder.el simple.el startup.el and 135 other files 2538 minibuf.c re-builder.el simple.el startup.el and 135 other files
2391 2539
2392John Shahid: changed easy-mmode.el term.c termhooks.h terminal.c 2540John Shahid: changed term.el easy-mmode.el tramp.el window.c window.el
2541 env.el flymake.el term.c termhooks.h terminal.c windows.texi
2393 2542
2394John Sullivan: changed window.c 2543John Sullivan: changed window.c
2395 2544
@@ -2418,8 +2567,8 @@ John Yates: changed hideshow.el
2418 2567
2419Jon Anders Skorpen: changed ox-publish.el 2568Jon Anders Skorpen: changed ox-publish.el
2420 2569
2421Jonas Bernoulli: changed eieio.el button.el ido.el lisp-mnt.el 2570Jonas Bernoulli: changed eieio.el button.el cus-edit.el ido.el
2422 tabulated-list.el tips.texi 2571 lisp-mnt.el tabulated-list.el tips.texi
2423 2572
2424Jonas Hoersch: changed org-inlinetask.el org.el 2573Jonas Hoersch: changed org-inlinetask.el org.el
2425 2574
@@ -2431,16 +2580,23 @@ Jonathan I. Kamens: changed pop.c movemail.c rmail.el configure.ac b2m.pl
2431 simple.el timezone.el vc-hooks.el 2580 simple.el timezone.el vc-hooks.el
2432 2581
2433Jonathan Kyle Mitchell: changed em-dirs.el em-ls.el em-unix.el esh-cmd.el 2582Jonathan Kyle Mitchell: changed em-dirs.el em-ls.el em-unix.el esh-cmd.el
2434 esh-ext.el 2583 esh-ext.el esh-mode.el xdisp.c
2435 2584
2436Jonathan Leech-Pepin: wrote ox-texinfo.el 2585Jonathan Leech-Pepin: wrote ox-texinfo.el
2437 2586
2438Jonathan Marchand: changed cpp-root.el 2587Jonathan Marchand: changed cpp-root.el
2439 2588
2440Jonathan Rockway: changed rcirc.el 2589Jonathan Marten: changed nnimap.el
2590
2591Jonathan Rockway: co-wrote cperl-mode.el
2592and changed rcirc.el
2593
2594Jonathan Shin Hayase: changed sh-script.el
2441 2595
2442Jonathan Stigelman: changed hilit19.el 2596Jonathan Stigelman: changed hilit19.el
2443 2597
2598Jonathan Tomer: changed files-tests.el files.el tramp-tests.el
2599
2444Jonathan Vail: changed vc.el 2600Jonathan Vail: changed vc.el
2445 2601
2446Jonathan Yavner: wrote ses.el tcover-ses.el tcover-unsafep.el 2602Jonathan Yavner: wrote ses.el tcover-ses.el tcover-unsafep.el
@@ -2458,6 +2614,8 @@ Joost Kremers: changed reftex-toc.el
2458 2614
2459Jordan Wilson: changed doc-view.el 2615Jordan Wilson: changed doc-view.el
2460 2616
2617Jordon Biondo: changed subr.el
2618
2461Jorge A. Alfaro-Murillo: changed message.el 2619Jorge A. Alfaro-Murillo: changed message.el
2462 2620
2463Jorgen Schäfer: wrote erc-autoaway.el erc-goodies.el erc-spelling.el 2621Jorgen Schäfer: wrote erc-autoaway.el erc-goodies.el erc-spelling.el
@@ -2497,18 +2655,19 @@ Joshua Datko: changed fortune.el
2497 2655
2498Joshua Varner: changed intro.texi 2656Joshua Varner: changed intro.texi
2499 2657
2500Jostein Kjønigsen: changed progmodes/compile.el 2658Jostein Kjønigsen: changed nxml-mode.el progmodes/compile.el
2501 2659
2502Jouni K. Seppänen: changed gnus.texi nnimap.el mm-url.el 2660Jouni K. Seppänen: changed gnus.texi nnimap.el mm-url.el
2503 2661
2504Juan León Lahoz García: wrote wdired.el 2662Juan León Lahoz García: wrote wdired.el
2505and changed files.el perl-mode.el 2663and changed files.el perl-mode.el
2506 2664
2507Juanma Barranquero: wrote emacs-lock.el frameset.el keymap-tests.el 2665Juanma Barranquero: wrote emacs-lock.el frameset.el help-tests.el
2508and changed subr.el desktop.el w32fns.c server.el emacsclient.c simple.el 2666 keymap-tests.el
2509 faces.el files.el bs.el help-fns.el w32term.c org.el xdisp.c keyboard.c 2667and changed subr.el desktop.el w32fns.c faces.el simple.el emacsclient.c
2510 w32.c buffer.c ido.el image.c window.c allout.el process.c 2668 files.el server.el bs.el help-fns.el xdisp.c org.el w32term.c w32.c
2511 and 1134 other files 2669 buffer.c keyboard.c ido.el image.c window.c eval.c allout.el
2670 and 1235 other files
2512 2671
2513Juan Pechiar: wrote ob-mscgen.el 2672Juan Pechiar: wrote ob-mscgen.el
2514and changed ob-octave.el 2673and changed ob-octave.el
@@ -2549,11 +2708,12 @@ Jürgen Hötzel: wrote tramp-adb.el
2549and changed tramp-gvfs.el tramp-sh.el comint.el em-unix.el esh-util.el 2708and changed tramp-gvfs.el tramp-sh.el comint.el em-unix.el esh-util.el
2550 tramp-cache.el tramp.el url-handlers.el wid-edit.el 2709 tramp-cache.el tramp.el url-handlers.el wid-edit.el
2551 2710
2552Juri Linkov: wrote files-x.el misearch.el replace-tests.el 2711Juri Linkov: wrote files-x.el misearch.el replace-tests.el tab-bar.el
2553and changed isearch.el info.el replace.el simple.el progmodes/grep.el 2712 tab-line.el
2554 dired.el dired-aux.el progmodes/compile.el startup.el faces.el files.el 2713and changed isearch.el info.el simple.el replace.el dired.el dired-aux.el
2555 menu-bar.el bindings.el display.texi descr-text.el desktop.el comint.el 2714 progmodes/grep.el progmodes/compile.el startup.el subr.el diff-mode.el
2556 image-mode.el ispell.el man.el cus-edit.el and 359 other files 2715 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
2557 2717
2558Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h 2718Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h
2559 w32console.c w32heap.c w32inevt.c w32term.h 2719 w32console.c w32heap.c w32inevt.c w32term.h
@@ -2595,10 +2755,9 @@ Karel Klíč: changed fileio.c files.el configure.ac eval.c ftfont.c lisp.h
2595 src/Makefile.in text.texi tramp.el 2755 src/Makefile.in text.texi tramp.el
2596 2756
2597Karl Berry: changed info.texi emacs.texi elisp.texi text.texi anti.texi 2757Karl Berry: changed info.texi emacs.texi elisp.texi text.texi anti.texi
2598 display.texi efaq.texi ada-mode.texi autotype.texi calc.texi 2758 display.texi efaq.texi autotype.texi calc.texi cc-mode.texi cl.texi
2599 cc-mode.texi cl.texi dired-x.texi ebrowse.texi ediff.texi 2759 dired-x.texi ebrowse.texi ediff.texi emacs-mime.texi emacs-xtra.texi
2600 emacs-mime.texi emacs-xtra.texi eshell.texi eudc.texi filelock.c 2760 eshell.texi eudc.texi filelock.c forms.texi gnu.texi and 93 other files
2601 forms.texi and 94 other files
2602 2761
2603Karl Chen: changed files.el align.el cc-vars.el emacsclient.c flymake.el 2762Karl Chen: changed files.el align.el cc-vars.el emacsclient.c flymake.el
2604 flymake.texi gnus-art.el help-mode.el jka-cmpr-hook.el make-mode.el 2763 flymake.texi gnus-art.el help-mode.el jka-cmpr-hook.el make-mode.el
@@ -2610,10 +2769,10 @@ Karl Eichwalder: changed Makefile.in add-log.el bookmark.el dired-aux.el
2610Karl Fogel: wrote bookmark.el mail-hist.el saveplace.el 2769Karl Fogel: wrote bookmark.el mail-hist.el saveplace.el
2611and co-wrote pcvs.el 2770and co-wrote pcvs.el
2612and changed simple.el files.el doc-view.el image-mode.el info.el 2771and changed simple.el files.el doc-view.el image-mode.el info.el
2613 vc-svn.el CONTRIBUTE INSTALL autogen.sh internals.texi isearch.el 2772 isearch.el vc-svn.el CONTRIBUTE INSTALL autogen.sh editfns.c
2614 menu-bar.el simple-test.el subr.el tex-mode.el thingatpt.el 2773 internals.texi menu-bar.el simple-test.el subr.el tex-mode.el
2615 INSTALL.REPO comint.el configure configure.ac editfns.c 2774 thingatpt.el INSTALL.REPO comint.el configure configure.ac
2616 and 18 other files 2775 and 21 other files
2617 2776
2618Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c 2777Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
2619 alloc.c files.el frame.c configure.ac window.c data.c minibuf.c 2778 alloc.c files.el frame.c configure.ac window.c data.c minibuf.c
@@ -2628,7 +2787,7 @@ Karl Landstrom: co-wrote js.el
2628 2787
2629Karl M. Hegbloom: changed gnus.el 2788Karl M. Hegbloom: changed gnus.el
2630 2789
2631Karl Otness: changed term.el 2790Karl Otness: changed configure.ac image.c term.el
2632 2791
2633Karl Pflästerer: changed gnus-art.el gnus-score.el mml.el spam-stat.el 2792Karl Pflästerer: changed gnus-art.el gnus-score.el mml.el spam-stat.el
2634 vc-svn.el 2793 vc-svn.el
@@ -2643,14 +2802,15 @@ Károly Lőrentey: changed xfns.c bindings.el keyboard.c menu-bar.el
2643Katsuhiro Hermit Endo: changed gnus-group.el gnus-spec.el 2802Katsuhiro Hermit Endo: changed gnus-group.el gnus-spec.el
2644 2803
2645Katsumi Yamaoka: wrote canlock.el 2804Katsumi Yamaoka: wrote canlock.el
2646and changed gnus-art.el message.el gnus-sum.el mm-decode.el gnus.texi 2805and changed gnus-art.el gnus-sum.el message.el mm-decode.el gnus.texi
2647 mm-util.el mm-view.el gnus-util.el gnus-group.el gnus-msg.el mml.el 2806 mm-util.el mm-view.el gnus-group.el gnus-util.el gnus-msg.el mml.el
2648 shr.el rfc2047.el gnus-start.el gnus.el nntp.el gnus-agent.el nnrss.el 2807 shr.el rfc2047.el gnus-start.el gnus.el nntp.el gnus-agent.el nnrss.el
2649 mm-uu.el nnmail.el emacs-mime.texi and 160 other files 2808 mm-uu.el nnmail.el emacs-mime.texi and 161 other files
2650 2809
2651Kaushal Modi: changed files.el isearch.el apropos.el calc-yank.el 2810Kaushal Modi: changed files.el isearch.el apropos.el calc-yank.el
2652 desktop.el ediff-diff.el eww.el ffap.el maintaining.texi printing.el 2811 custom.texi desktop.el ediff-diff.el eww.el ffap.el maintaining.texi
2653 ps-print.el variables.texi vc-hooks.el vc1-xtra.texi woman.el 2812 printing.el ps-print.el tips.texi variables.texi vc-hooks.el
2813 vc1-xtra.texi woman.el
2654 2814
2655Kaushik Srenevasan: changed gdb-mi.el 2815Kaushik Srenevasan: changed gdb-mi.el
2656 2816
@@ -2669,6 +2829,9 @@ Keisuke Nishida: changed print.c alloc.c bytecomp.el data.c keymap.c
2669 2829
2670Keitaro Miyazaki: changed re-builder.el 2830Keitaro Miyazaki: changed re-builder.el
2671 2831
2832Keith Amidon: co-wrote auth-source-pass.el
2833and changed auth-source-pass-tests.el
2834
2672Keith Gabryelski: wrote hexl.c hexl.el 2835Keith Gabryelski: wrote hexl.c hexl.el
2673 2836
2674Keith Packard: changed font.c 2837Keith Packard: changed font.c
@@ -2680,10 +2843,10 @@ Kelly Dean: changed simple.el help-mode.el desktop.el files.el lisp.el
2680Kelvin White: changed erc.el erc-pcomplete.el erc.texi NEWS.24 2843Kelvin White: changed erc.el erc-pcomplete.el erc.texi NEWS.24
2681 erc-backend.el erc-ring.el erc-stamp.el 2844 erc-backend.el erc-ring.el erc-stamp.el
2682 2845
2683Ken Brown: changed configure.ac gmalloc.c sheap.c w32fns.c emacs.c 2846Ken Brown: changed configure.ac gmalloc.c sheap.c emacs.c w32fns.c
2684 w32term.c conf_post.h cygwin.h unexcw.c fileio.c filenotify-tests.el 2847 fileio.c w32term.c unexcw.c conf_post.h cygwin.h filenotify-tests.el
2685 browse-url.el dispextern.h emacs.rc.in frame.c image.c lisp.h sysdep.c 2848 lisp.h browse-url.el dispextern.h emacs.rc.in fileio-tests.el frame.c
2686 w32term.h alloc.c keyboard.c and 46 other files 2849 image.c keyboard.c profiler.c src/Makefile.in and 48 other files
2687 2850
2688Ken Brush: changed emacsclient.c 2851Ken Brush: changed emacsclient.c
2689 2852
@@ -2751,6 +2914,8 @@ and changed gnus-agent.el gnus-sum.el gnus-start.el gnus-int.el nntp.el
2751 2914
2752Kevin Layer: changed mml.el w32proc.c 2915Kevin Layer: changed mml.el w32proc.c
2753 2916
2917Kévin Le Gouguec: changed font-lock.el font-lock-tests.el
2918
2754Kevin Rodgers: changed compile.el mailabbrev.el progmodes/compile.el 2919Kevin Rodgers: changed compile.el mailabbrev.el progmodes/compile.el
2755 dired-x.el files.el ange-ftp.el byte-opt.el desktop.el diff-mode.el 2920 dired-x.el files.el ange-ftp.el byte-opt.el desktop.el diff-mode.el
2756 dired-x.texi ffap.el files.texi flyspell.el isearch.el killing.texi 2921 dired-x.texi ffap.el files.texi flyspell.el isearch.el killing.texi
@@ -2760,8 +2925,8 @@ Kevin Rodgers: changed compile.el mailabbrev.el progmodes/compile.el
2760Kevin Ryde: wrote info-xref.el 2925Kevin Ryde: wrote info-xref.el
2761and changed info-look.el info.el checkdoc.el cl.texi compilation.txt 2926and changed info-look.el info.el checkdoc.el cl.texi compilation.txt
2762 etags.c arc-mode.el ffap.el gnus-art.el gnus-sum.el mule.el os.texi 2927 etags.c arc-mode.el ffap.el gnus-art.el gnus-sum.el mule.el os.texi
2763 progmodes/compile.el woman.el MORE.STUFF browse-url.el copyright.el 2928 progmodes/compile.el woman.el browse-url.el copyright.el dig.el
2764 dig.el files.el flyspell.el keyboard.c and 85 other files 2929 files.el flyspell.el keyboard.c mailcap.el and 86 other files
2765 2930
2766Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el 2931Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el
2767 keypad.el kmacro.el 2932 keypad.el kmacro.el
@@ -2799,11 +2964,17 @@ Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el
2799 2964
2800Kodi Arfer: changed org.texi ox-html.el 2965Kodi Arfer: changed org.texi ox-html.el
2801 2966
2802Koichi Arakawa: changed w32proc.c 2967Koichi Arakawa: changed tramp-sh.el w32proc.c
2803 2968
2804Konrad Hinsen: wrote org-eshell.el 2969Konrad Hinsen: wrote ol-eshell.el
2805and changed ob-python.el 2970and changed ob-python.el
2806 2971
2972Konstantin Kharlamov: changed ada-mode.el calc-aent.el calc-ext.el
2973 calc-lang.el cc-mode.el cperl-mode.el css-mode.el cua-rect.el
2974 diff-mode.el dnd.el ebnf-abn.el ebnf-dtd.el ebnf-ebx.el
2975 emacs-module-tests.el epg.el faces.el gnus-art.el gtkutil.c hideif.el
2976 htmlfontify.el lex.el and 24 other files
2977
2807Konstantin Kliakhandler: changed org-agenda.el 2978Konstantin Kliakhandler: changed org-agenda.el
2808 2979
2809Konstantin Novitsky: changed progmodes/python.el 2980Konstantin Novitsky: changed progmodes/python.el
@@ -2860,27 +3031,29 @@ and co-wrote dabbrev.el imenu.el
2860Lars Ljung: changed esh-ext.el isearch.el 3031Lars Ljung: changed esh-ext.el isearch.el
2861 3032
2862Lars Magne Ingebrigtsen: wrote compface.el decompress-tests.el dns.el 3033Lars Magne Ingebrigtsen: wrote compface.el decompress-tests.el dns.el
2863 dom.el ecomplete.el eww.el format-spec.el gnus-agent.el gnus-art.el 3034 dom.el ecomplete.el eww.el exif.el format-spec.el gnus-agent.el
2864 gnus-async.el gnus-bcklg.el gnus-cache.el gnus-cloud.el gnus-demon.el 3035 gnus-art.el gnus-async.el gnus-bcklg.el gnus-cache.el gnus-cloud.el
2865 gnus-draft.el gnus-dup.el gnus-eform.el gnus-fun.el gnus-group.el 3036 gnus-demon.el gnus-draft.el gnus-dup.el gnus-eform.el gnus-fun.el
2866 gnus-html.el gnus-int.el gnus-logic.el gnus-picon.el gnus-range.el 3037 gnus-group.el gnus-html.el gnus-int.el gnus-logic.el gnus-picon.el
2867 gnus-salt.el gnus-spec.el gnus-srvr.el gnus-start.el gnus-sum.el 3038 gnus-range.el gnus-salt.el gnus-spec.el gnus-srvr.el gnus-start.el
2868 gnus-undo.el gnus-util.el gnus-uu.el gnus-win.el ietf-drums.el 3039 gnus-sum.el gnus-undo.el gnus-util.el gnus-uu.el gnus-win.el
2869 mail-parse.el mail-prsvr.el mail-source.el message.el messcompat.el 3040 ietf-drums.el image-converter.el mail-parse.el mail-prsvr.el
2870 mm-archive.el mm-view.el mml.el netrc.el network-stream-tests.el 3041 mail-source.el message.el messcompat.el mm-archive.el mm-view.el mml.el
2871 network-stream.el nnagent.el nndir.el nndraft.el nngateway.el nnmail.el 3042 netrc.el network-stream-tests.el network-stream.el nnagent.el nndir.el
2872 nnoo.el nntp.el nnweb.el nsm.el parse-time-tests.el puny.el qp.el 3043 nndraft.el nngateway.el nnmail.el nnoo.el nntp.el nnweb.el nsm.el
2873 rfc2045.el rfc2231.el rtree.el score-mode.el shr-tests.el shr.el 3044 parse-time-tests.el puny.el qp.el rfc2045.el rfc2104-tests.el
2874 spam.el svg.el url-domsuf.el url-queue.el 3045 rfc2231.el rtree.el score-mode.el shr-tests.el shr.el spam.el
3046 text-property-search-tests.el text-property-search.el url-domsuf.el
3047 url-queue.el
2875and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el 3048and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el
2876 gnus-topic.el gnus.el gssapi.el mailcap.el mm-bodies.el mm-decode.el 3049 gnus-topic.el gnus.el gssapi.el mailcap.el mm-bodies.el mm-decode.el
2877 mm-encode.el mm-util.el nnbabyl.el nndoc.el nneething.el nnfolder.el 3050 mm-encode.el mm-util.el nnbabyl.el nndoc.el nneething.el nnfolder.el
2878 nnheader.el nnimap.el nnmbox.el nnmh.el nnml.el nnspool.el nnvirtual.el 3051 nnheader.el nnimap.el nnmbox.el nnmh.el nnml.el nnspool.el nnvirtual.el
2879 rfc2047.el time-date.el 3052 rfc2047.el svg.el time-date.el
2880and changed gnus.texi process.c gnus-ems.el subr.el gnutls.c gnus-cite.el 3053and changed gnus.texi process.c subr.el simple.el files.el gnutls.c
2881 pop3.el smtpmail.el display.texi files.el url-http.el gnus-xmas.el 3054 gnus-ems.el smtpmail.el display.texi url-http.el auth-source.el
2882 simple.el auth-source.el image.c gnutls.el proto-stream.el dired.el 3055 gnus-cite.el pop3.el dired.el edebug.el gnus-xmas.el text.texi image.el
2883 image.el text.texi nnrss.el and 318 other files 3056 image.c gnutls.el nnrss.el and 651 other files
2884 3057
2885Lars Rasmusson: changed ebrowse.c 3058Lars Rasmusson: changed ebrowse.c
2886 3059
@@ -2907,14 +3080,14 @@ Lee Duhem: changed eval.c
2907Leigh Stoller: changed emacsclient.c server.el 3080Leigh Stoller: changed emacsclient.c server.el
2908 3081
2909Lele Gaifax: changed progmodes/python.el flymake.el python-tests.el 3082Lele Gaifax: changed progmodes/python.el flymake.el python-tests.el
2910 TUTORIAL.it flymake-proc.el flymake.texi 3083 TUTORIAL.it flymake-proc.el flymake.texi isearch.el
2911 3084
2912Lennart Borgman: co-wrote ert-x.el 3085Lennart Borgman: co-wrote ert-x.el
2913and changed nxml-mode.el tutorial.el window.el ada-xref.el buff-menu.el 3086and changed nxml-mode.el tutorial.el re-builder.el window.el ada-xref.el
2914 emacs-lisp/debug.el emacsclient.c filesets.el flymake.el help-fns.el 3087 buff-menu.el emacs-lisp/debug.el emacsclient.c filesets.el flymake.el
2915 isearch.el linum.el lisp-mode.el lisp.el mouse.el recentf.el 3088 help-fns.el isearch.el linum.el lisp-mode.el lisp.el mouse.el
2916 remember.el replace.el ruby-mode.el shell.el texinfmt.el 3089 recentf.el remember.el replace.el ruby-mode.el shell.el
2917 and 3 other files 3090 and 4 other files
2918 3091
2919Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c 3092Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
2920 3093
@@ -2946,6 +3119,8 @@ Liam Stitt: changed url-file.el url-vars.el
2946 3119
2947Liang Wang: changed etags.el 3120Liang Wang: changed etags.el
2948 3121
3122Lin Sun: changed makefile-edit.el
3123
2949Lixin Chin: changed bibtex.el 3124Lixin Chin: changed bibtex.el
2950 3125
2951Lloyd Zusman: changed mml.el pgg-gpg.el 3126Lloyd Zusman: changed mml.el pgg-gpg.el
@@ -2954,6 +3129,8 @@ Lluís Vilanova: changed ede/linux.el
2954 3129
2955Luca Capello: changed mm-encode.el 3130Luca Capello: changed mm-encode.el
2956 3131
3132Lucas Werkmeister: changed emacs.c emacs.service
3133
2957Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el 3134Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
2958 delsel.el disass.el faces.el font-lock.el lmenu.el mailabbrev.el 3135 delsel.el disass.el faces.el font-lock.el lmenu.el mailabbrev.el
2959 select.el xfaces.c xselect.c 3136 select.el xfaces.c xselect.c
@@ -2962,7 +3139,7 @@ Luc Teirlinck: wrote help-at-pt.el
2962and changed files.el autorevert.el cus-edit.el subr.el simple.el 3139and changed files.el autorevert.el cus-edit.el subr.el simple.el
2963 frames.texi startup.el display.texi files.texi dired.el comint.el 3140 frames.texi startup.el display.texi files.texi dired.el comint.el
2964 modes.texi custom.texi emacs.texi fns.c frame.el ielm.el minibuf.texi 3141 modes.texi custom.texi emacs.texi fns.c frame.el ielm.el minibuf.texi
2965 variables.texi buffers.texi commands.texi and 212 other files 3142 variables.texi buffers.texi commands.texi and 211 other files
2966 3143
2967Ludovic Courtès: wrote nnregistry.el 3144Ludovic Courtès: wrote nnregistry.el
2968and changed configure.ac gnus.texi loadup.el 3145and changed configure.ac gnus.texi loadup.el
@@ -2975,8 +3152,12 @@ Lukas Huonker: changed tetris.el
2975 3152
2976Łukasz Demianiuk: changed erc.el 3153Łukasz Demianiuk: changed erc.el
2977 3154
2978Łukasz Stelmach: changed erc.el ps-print.el cookie1.el gtkutil.c 3155Łukasz Jędrzejewski: changed auth-source-pass-tests.el
2979 message.el org-agenda.el org-bbdb.el org.el ox-html.el ox.el 3156 auth-source-pass.el
3157
3158Łukasz Stelmach: changed erc.el ps-print.el cookie1.el gnus-group.el
3159 gtkutil.c message.el org-agenda.el org-bbdb.el org.el org.texi
3160 ox-html.el ox.el simple.el
2980 3161
2981Luke Lee: changed hideif.el 3162Luke Lee: changed hideif.el
2982 3163
@@ -2997,8 +3178,9 @@ Madan Ramakrishnan: changed org-agenda.el
2997Magnus Henoch: wrote sasl-scram-rfc-tests.el sasl-scram-rfc.el 3178Magnus Henoch: wrote sasl-scram-rfc-tests.el sasl-scram-rfc.el
2998and changed url-http.el ispell.el url.el dbusbind.c dns.el configure.ac 3179and changed url-http.el ispell.el url.el dbusbind.c dns.el configure.ac
2999 nnmaildir.el progmodes/compile.el sasl.el url-gw.el url-parse.el 3180 nnmaildir.el progmodes/compile.el sasl.el url-gw.el url-parse.el
3000 url-proxy.el autoinsert.el cl.texi cyrillic.el dbus.el gnus.texi 3181 url-proxy.el auth-source-pass-tests.el auth-source-pass.el
3001 hashcash.el image.c latin-pre.el log-edit.el and 16 other files 3182 autoinsert.el cl.texi cyrillic.el dbus.el gnus.texi hashcash.el image.c
3183 and 18 other files
3002 3184
3003Maksim Golubev: changed opascal.el 3185Maksim Golubev: changed opascal.el
3004 3186
@@ -3021,16 +3203,17 @@ Marc Fleischeuers: changed files.el
3021 3203
3022Marc Girod: changed informat.el rmail.el rmailsum.el sendmail.el 3204Marc Girod: changed informat.el rmail.el rmailsum.el sendmail.el
3023 3205
3024Marcin Borkowski: wrote lisp-tests.el 3206Marcin Borkowski: wrote fill-tests.el lisp-tests.el
3025and changed battery.el doc-view.el elisp-mode-tests.el lisp.el 3207and changed battery.el doc-view.el elisp-mode-tests.el fill.el lisp.el
3026 parse-time.el studly.el 3208 parse-time.el studly.el
3027 3209
3028Marc Lefranc: changed gnus-art.el 3210Marc Lefranc: changed gnus-art.el
3029 3211
3030Marco Melgazzi: changed term.el 3212Marco Melgazzi: changed term.el
3031 3213
3032Marco Wahl: wrote org-eww.el 3214Marco Wahl: wrote ol-eww.el
3033and changed org-agenda.el org.el 3215and changed org-agenda.el page-ext.el org.el scroll-lock-tests.el
3216 scroll-lock.el
3034 3217
3035Marco Walther: changed mips-siemens.h unexelfsni.c unexsni.c 3218Marco Walther: changed mips-siemens.h unexelfsni.c unexsni.c
3036 3219
@@ -3073,7 +3256,7 @@ Mark D. Baushke: changed mh-e.el mh-utils.el mh-mime.el mh-comp.el
3073 mh-speed.el mh-funcs.el mh-alias.el etags.c mh-junk.el mh-tool-bar.el 3256 mh-speed.el mh-funcs.el mh-alias.el etags.c mh-junk.el mh-tool-bar.el
3074 mh-xemacs-compat.el pgg-gpg.el 3257 mh-xemacs-compat.el pgg-gpg.el
3075 3258
3076Mark Diekhans: changed files.el progmodes/compile.el subr.el 3259Mark Diekhans: changed files.el ispell.el progmodes/compile.el subr.el
3077 3260
3078Mark E. Shoulson: changed org.el org-entities.el 3261Mark E. Shoulson: changed org.el org-entities.el
3079 3262
@@ -3099,9 +3282,9 @@ Mark Osbourne: changed hexl-mode.el
3099 3282
3100Mark Oteiza: wrote mailcap-tests.el md4-tests.el xdg-tests.el xdg.el 3283Mark Oteiza: wrote mailcap-tests.el md4-tests.el xdg-tests.el xdg.el
3101and changed image-dired.el dunnet.el mpc.el eww.el json.el calc-units.el 3284and changed image-dired.el dunnet.el mpc.el eww.el json.el calc-units.el
3102 subr.el lcms.c message.el subr-x.el tex-mode.el cl-macs.el cl.texi 3285 subr-x.el subr.el lcms.c message.el tex-mode.el cl-macs.el cl.texi
3103 ibuffer.el lcms-tests.el mailcap.el cl-print.el emacs-lisp/chart.el 3286 ibuffer.el lcms-tests.el mailcap.el cl-print.el emacs-lisp/chart.el
3104 files.el htmlfontify.el pcase.el and 169 other files 3287 files.el htmlfontify.el pcase.el and 178 other files
3105 3288
3106Mark Plaksin: changed nnrss.el term.el 3289Mark Plaksin: changed nnrss.el term.el
3107 3290
@@ -3117,8 +3300,6 @@ Markus Hauck: changed org-agenda.el
3117 3300
3118Markus Heiser: changed gud.el 3301Markus Heiser: changed gud.el
3119 3302
3120Markus Heritsch: co-wrote ada-mode.el ada-stmt.el ada-xref.el
3121
3122Markus Holmberg: changed thingatpt.el 3303Markus Holmberg: changed thingatpt.el
3123 3304
3124Markus Rost: wrote cus-test.el 3305Markus Rost: wrote cus-test.el
@@ -3134,7 +3315,7 @@ Markus Triska: wrote linum.el
3134and changed bytecomp.el byte-opt.el doctor.el image-mode.el 3315and changed bytecomp.el byte-opt.el doctor.el image-mode.el
3135 processes.texi calc-math.el emacs.c expand.el flymake.el flymake.texi 3316 processes.texi calc-math.el emacs.c expand.el flymake.el flymake.texi
3136 flyspell.el handwrite.el internals.texi proced.el prolog.el ps-mode.el 3317 flyspell.el handwrite.el internals.texi proced.el prolog.el ps-mode.el
3137 speedbar.el subr.el tumme.el widget.texi windows.texi xterm.c 3318 speedbar.el subr.el text.texi tumme.el widget.texi and 3 other files
3138 3319
3139Mark W. Eichin: changed keyboard.c xterm.c 3320Mark W. Eichin: changed keyboard.c xterm.c
3140 3321
@@ -3153,6 +3334,8 @@ Martin Jesper Low Madsen: changed auth-source.el
3153 3334
3154Martin J. Reed: changed ldap.el 3335Martin J. Reed: changed ldap.el
3155 3336
3337Martin Kletzander: changed erc-join.el
3338
3156Martin Kretzschmar: changed gnus-spec.el gnus-sum.el 3339Martin Kretzschmar: changed gnus-spec.el gnus-sum.el
3157 3340
3158Martin Larose: changed message.el 3341Martin Larose: changed message.el
@@ -3164,10 +3347,10 @@ Martin Neitzel: changed supercite.el
3164 3347
3165Martin Pohlack: changed iimage.el pc-select.el 3348Martin Pohlack: changed iimage.el pc-select.el
3166 3349
3167Martin Rudalics: changed window.el window.c windows.texi frame.c 3350Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c
3168 frames.texi w32fns.c xdisp.c xterm.c w32term.c frame.el xfns.c help.el 3351 w32fns.c frames.texi xterm.c w32term.c frame.el xfns.c display.texi
3169 buffer.c display.texi cus-start.el dispnew.c frame.h mouse.el nsfns.m 3352 help.el buffer.c window.h cus-start.el frame.h dispnew.c mouse.el
3170 window.h gtkutil.c and 203 other files 3353 nsfns.m dired.el and 209 other files
3171 3354
3172Martin Stjernholm: wrote cc-bytecomp.el 3355Martin Stjernholm: wrote cc-bytecomp.el
3173and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el 3356and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
@@ -3186,6 +3369,8 @@ and changed ob-emacs-lisp.el
3186 3369
3187Masahiko Sato: wrote vip.el 3370Masahiko Sato: wrote vip.el
3188 3371
3372Masahiro Nakamura: changed ns-win.el nsterm.m
3373
3189Masanobu Umeda: wrote metamail.el rmailsort.el timezone.el 3374Masanobu Umeda: wrote metamail.el rmailsort.el timezone.el
3190and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus.el nnbabyl.el 3375and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus.el nnbabyl.el
3191 nndoc.el nneething.el nnfolder.el nnheader.el nnmbox.el nnmh.el nnml.el 3376 nndoc.el nneething.el nnfolder.el nnheader.el nnmbox.el nnmh.el nnml.el
@@ -3199,8 +3384,8 @@ Masatake Yamato: wrote add-log-tests.el imenu-tests.el ld-script.el
3199and co-wrote cc-guess.el 3384and co-wrote cc-guess.el
3200and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el 3385and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el
3201 xfaces.c simple.el vc.el wid-edit.el add-log.el etags.c faces.el 3386 xfaces.c simple.el vc.el wid-edit.el add-log.el etags.c faces.el
3202 pcvs.el progmodes/compile.el register.el ruler-mode.el sh-script.el 3387 pcvs.el progmodes/compile.el progmodes/cpp.el register.el ruler-mode.el
3203 buffer.c cc-langs.el cus-face.el and 80 other files 3388 sh-script.el buffer.c cc-langs.el and 80 other files
3204 3389
3205Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el 3390Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el
3206 make-mode.el 3391 make-mode.el
@@ -3212,23 +3397,27 @@ and changed tumme.el dired.el dired.texi
3212 3397
3213Mathias Megyei: changed lisp/Makefile.in 3398Mathias Megyei: changed lisp/Makefile.in
3214 3399
3400Mathieu Othacehe: changed tramp-adb.el
3401
3215Mats Lidell: changed TUTORIAL.sv european.el gnus-art.el org-element.el 3402Mats Lidell: changed TUTORIAL.sv european.el gnus-art.el org-element.el
3216 3403
3217Matt Armstrong: changed gnus-topic.el gnus.el imap.el message.el shell.el 3404Matt Armstrong: changed gnus-topic.el gnus.el imap.el message.el shell.el
3218 3405
3406Matt Bisson: changed xterm.c
3407
3219Matt Curtis: changed pulse.el 3408Matt Curtis: changed pulse.el
3220 3409
3221Matt Fidler: changed package.el 3410Matt Fidler: changed package.el
3222 3411
3223Matthew Bauer: changed startup.el 3412Matthew Bauer: changed comint.el startup.el
3224 3413
3225Matthew Carter: changed sql.el 3414Matthew Carter: changed sql.el
3226 3415
3227Matthew Junker: changed cal-tex.el 3416Matthew Junker: changed cal-tex.el
3228 3417
3229Matthew Leach: changed configure.ac arc-mode.el battery.el emacs.c 3418Matthew Leach: changed server.el process.c configure.ac emacs.c lisp.h
3230 font-lock.el ispell.el lisp.h misc.texi process.c processes.texi 3419 misc.texi processes.texi arc-mode.el battery.el font-lock.el ispell.el
3231 server.el src/Makefile.in 3420 src/Makefile.in
3232 3421
3233Matthew Luckie: changed configure.ac 3422Matthew Luckie: changed configure.ac
3234 3423
@@ -3238,12 +3427,14 @@ Matthew Mundell: changed calendar.texi diary-lib.el files.texi
3238 objects.texi os.texi positions.texi searching.texi subr.el text.texi 3427 objects.texi os.texi positions.texi searching.texi subr.el text.texi
3239 and 3 other files 3428 and 3 other files
3240 3429
3430Matthew Newton: changed imenu.el
3431
3241Matthias Dahl: changed faces.el process.c process.h 3432Matthias Dahl: changed faces.el process.c process.h
3242 3433
3243Matthias Förste: changed files.el 3434Matthias Förste: changed files.el
3244 3435
3245Matthias Meulien: changed bookmark.el progmodes/python.el buff-menu.el 3436Matthias Meulien: changed bookmark.el progmodes/python.el buff-menu.el
3246 prog-mode.el simple.el tabify.el vc-dir.el 3437 prog-mode.el simple.el tabify.el vc-dir.el vc-git.el
3247 3438
3248Matthias Wiehl: changed gnus.el 3439Matthias Wiehl: changed gnus.el
3249 3440
@@ -3258,7 +3449,11 @@ Matt Hodges: changed textmodes/table.el faces.el iswitchb.el simple.el
3258 edebug.texi eldoc.el em-hist.el em-pred.el fixit.texi icon.el ido.el 3449 edebug.texi eldoc.el em-hist.el em-pred.el fixit.texi icon.el ido.el
3259 locate.el paragraphs.el pcomplete.el repeat.el and 3 other files 3450 locate.el paragraphs.el pcomplete.el repeat.el and 3 other files
3260 3451
3261Mattias Engdegård: changed subr.el 3452Mattias 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 files.el mouse.el bytecomp.el compile-tests.el autorevert-tests.el
3455 byte-opt.el bytecomp-tests.el calc-alg.el compilation.txt font.c
3456 regex-emacs.c regexp-opt-tests.el and 121 other files
3262 3457
3263Matt Lundin: changed org-agenda.el org.el org-bibtex.el org-footnote.el 3458Matt Lundin: changed org-agenda.el org.el org-bibtex.el org-footnote.el
3264 ox-publish.el org-bbdb.el org-datetree.el org-gnus.el 3459 ox-publish.el org-bbdb.el org-datetree.el org-gnus.el
@@ -3272,7 +3467,11 @@ Matt Simmons: changed message.el
3272Matt Swift: changed dired.el editfns.c lisp-mode.el mm-decode.el 3467Matt Swift: changed dired.el editfns.c lisp-mode.el mm-decode.el
3273 outline.el progmodes/compile.el rx.el simple.el startup.el 3468 outline.el progmodes/compile.el rx.el simple.el startup.el
3274 3469
3275Mauro Aranda: changed autorevert.el files.texi os.texi 3470Mauro Aranda: changed wid-edit.el cus-edit.el gnus.texi octave.el pong.el
3471 autorevert.el cc-mode.texi control.texi custom-tests.el custom.el
3472 dbus.texi dired-x.texi elisp-mode.el epa.el esh-mode.el
3473 eshell/eshell.el eudc.texi files.texi functions.texi gnus-faq.texi
3474 info.el and 14 other files
3276 3475
3277Maxime Edouard Robert Froumentin: changed gnus-art.el mml.el 3476Maxime Edouard Robert Froumentin: changed gnus-art.el mml.el
3278 3477
@@ -3283,16 +3482,16 @@ Memnon Anon: changed org.texi
3283Micah Anderson: changed spook.lines 3482Micah Anderson: changed spook.lines
3284 3483
3285Michael Albinus: wrote autorevert-tests.el dbus-tests.el dbus.el 3484Michael Albinus: wrote autorevert-tests.el dbus-tests.el dbus.el
3286 filenotify-tests.el filenotify.el files-x-tests.el secrets.el 3485 filenotify-tests.el filenotify.el files-x-tests.el secrets-tests.el
3287 shadowfile-tests.el tramp-cmds.el tramp-compat.el tramp-ftp.el 3486 secrets.el shadowfile-tests.el tramp-archive-tests.el tramp-archive.el
3288 tramp-gvfs.el tramp-smb.el tramp-tests.el url-tramp-tests.el 3487 tramp-cmds.el tramp-compat.el tramp-ftp.el tramp-gvfs.el
3289 url-tramp.el vc-tests.el xesam.el zeroconf.el 3488 tramp-integration.el tramp-rclone.el tramp-smb.el tramp-sudoedit.el
3489 tramp-tests.el url-tramp-tests.el url-tramp.el vc-tests.el zeroconf.el
3290and co-wrote tramp-cache.el tramp-sh.el tramp.el 3490and co-wrote tramp-cache.el tramp-sh.el tramp.el
3291and changed tramp.texi tramp-adb.el trampver.el trampver.texi dbusbind.c 3491and changed tramp.texi tramp-adb.el trampver.el trampver.texi dbusbind.c
3292 file-notify-tests.el ange-ftp.el files.el dbus.texi files.texi 3492 file-notify-tests.el files.el ange-ftp.el files.texi dbus.texi
3293 autorevert.el tramp-fish.el kqueue.c tramp-gw.el tramp-imap.el os.texi 3493 autorevert.el tramp-fish.el kqueue.c tramp-gw.el tramp-imap.el os.texi
3294 configure.ac lisp.h gfilenotify.c inotify.c keyboard.c 3494 xesam.el configure.ac lisp.h shell.el gfilenotify.c and 253 other files
3295 and 224 other files
3296 3495
3297Michael Ben-Gershon: changed acorn.h configure.ac riscix1-1.h riscix1-2.h 3496Michael Ben-Gershon: changed acorn.h configure.ac riscix1-1.h riscix1-2.h
3298 unexec.c 3497 unexec.c
@@ -3300,6 +3499,8 @@ Michael Ben-Gershon: changed acorn.h configure.ac riscix1-1.h riscix1-2.h
3300Michael Brand: changed org.texi org-table.el org.el org-agenda.el 3499Michael Brand: changed org.texi org-table.el org.el org-agenda.el
3301 org-capture.el ob-tangle.el org-feed.el org-id.el org-list.el 3500 org-capture.el ob-tangle.el org-feed.el org-id.el org-list.el
3302 3501
3502Michael Brumlow: changed htmlfontify.el
3503
3303Michaël Cadilhac: changed browse-url.el fr-dired-ref.tex gnus-sum.el 3504Michaël Cadilhac: changed browse-url.el fr-dired-ref.tex gnus-sum.el
3304 gnus.texi ido.el Makefile emacsbug.el files.el fill.el flyspell.el 3505 gnus.texi ido.el Makefile emacsbug.el files.el fill.el flyspell.el
3305 fr-refcard.tex ispell.el meta-mode.el nnrss.el anti.texi battery.el 3506 fr-refcard.tex ispell.el meta-mode.el nnrss.el anti.texi battery.el
@@ -3325,8 +3526,13 @@ Michael Gschwind: wrote iso-cvt.el
3325 3526
3326Michael Harnois: changed nnimap.el 3527Michael Harnois: changed nnimap.el
3327 3528
3328Michael Heerdegen: changed subr-x.el control.texi dired-aux.el dired.el 3529Michael Heerdegen: changed cl-macs.el subr.el control.texi copyright.el
3329 easy-mmode.el eldoc.el pcase.el shr.el subr-x-tests.el wdired.el 3530 css-mode.el dired.el easy-mmode.el filesets.el hi-lock.el macroexp.el
3531 modula2.el ob-C.el ob-core.el ob-exp.el ob-groovy.el ob-haskell.el
3532 ob-io.el ob-lisp.el ob-lob.el ob-lua.el ob-octave.el
3533 and 227 other files
3534
3535Michael Hendricks: changed help.el
3330 3536
3331Michael Hoffman: changed term.el xterm.el 3537Michael Hoffman: changed term.el xterm.el
3332 3538
@@ -3358,14 +3564,17 @@ Michael Olson: changed erc.el erc-backend.el Makefile erc-track.el
3358 erc-log.el erc-stamp.el erc-autoaway.el erc-dcc.el erc-goodies.el 3564 erc-log.el erc-stamp.el erc-autoaway.el erc-dcc.el erc-goodies.el
3359 erc-list.el erc-compat.el erc-identd.el erc.texi ERC-NEWS erc-bbdb.el 3565 erc-list.el erc-compat.el erc-identd.el erc.texi ERC-NEWS erc-bbdb.el
3360 erc-match.el erc-notify.el erc-ibuffer.el erc-services.el remember.el 3566 erc-match.el erc-notify.el erc-ibuffer.el erc-services.el remember.el
3361 erc-button.el and 55 other files 3567 erc-button.el and 54 other files
3568
3569Michael Orlitzky: changed tex-mode.el
3362 3570
3363Michael Piotrowski: changed gnus-art.el gnus-sum.el ps-print.el 3571Michael Piotrowski: changed gnus-art.el gnus-sum.el ps-print.el
3364 3572
3365Michael R. Cook: changed gnus-sum.el gnus-topic.el gnus-art.el 3573Michael R. Cook: changed gnus-sum.el gnus-topic.el gnus-art.el
3366 3574
3367Michael R. Mauger: changed sql.el emacsclient.c comint.el cua-base.el 3575Michael R. Mauger: changed sql.el sql-tests.el comint.el emacsclient.c
3368 custom.el facemenu.el recentf.el replace.el server.el tramp.el w32fns.c 3576 comint-tests.el cua-base.el custom.el facemenu.el recentf.el replace.el
3577 server.el tramp.el w32fns.c
3369 3578
3370Michael R. Wolf: changed ange-ftp.el 3579Michael R. Wolf: changed ange-ftp.el
3371 3580
@@ -3375,7 +3584,7 @@ Michael Schuldt: changed calc-comb.el
3375 3584
3376Michael Shields: changed spam.el gnus-art.el gnus-sum.el gnus-cite.el 3585Michael Shields: changed spam.el gnus-art.el gnus-sum.el gnus-cite.el
3377 Makefile.in gnus-group.el gnus.el intel386.h nndraft.el pgg-def.el 3586 Makefile.in gnus-group.el gnus.el intel386.h nndraft.el pgg-def.el
3378 window.c window.el 3587 server.el window.c window.el
3379 3588
3380Michael Sperber: changed org.el nnmail.el aix3-1.h aix4-2.h gnus-sum.el 3589Michael Sperber: changed org.el nnmail.el aix3-1.h aix4-2.h gnus-sum.el
3381 gnus.texi mail-source.el mailcap.el nnml.el org-capture.el 3590 gnus.texi mail-source.el mailcap.el nnml.el org-capture.el
@@ -3386,9 +3595,9 @@ Michael Staats: wrote pc-select.el
3386Michael Vehrs: changed quail.el woman.el 3595Michael Vehrs: changed quail.el woman.el
3387 3596
3388Michael Welsh Duggan: changed nnimap.el lisp.h sh-script.el w32term.c 3597Michael Welsh Duggan: changed nnimap.el lisp.h sh-script.el w32term.c
3389 buffer.c gnus-spec.el keyboard.c mail/sieve-manage.el nnir.el nnmail.el 3598 buffer.c gnus-spec.el gud.el keyboard.c mail/sieve-manage.el nnir.el
3390 print.c termhooks.h url-http.el w32-win.el w32fns.c w32menu.c w32term.h 3599 nnmail.el print.c termhooks.h url-http.el w32-win.el w32fns.c w32menu.c
3391 woman.el xdisp.c xterm.c 3600 w32term.h woman.el xdisp.c xterm.c
3392 3601
3393Michael Weylandt: changed ox-latex.el 3602Michael Weylandt: changed ox-latex.el
3394 3603
@@ -3396,16 +3605,22 @@ Michael Witten: changed TUTORIAL fixit.texi intro.texi
3396 3605
3397Michal Jankowski: changed insdel.c keyboard.c 3606Michal Jankowski: changed insdel.c keyboard.c
3398 3607
3608Michał Kondraciuk: changed cus-edit.el
3609
3610Michał Krzywkowski: changed elide-head.el
3611
3399Michal Nazarewicz: wrote cc-mode-tests.el descr-text-tests.el 3612Michal Nazarewicz: wrote cc-mode-tests.el descr-text-tests.el
3400 tildify-tests.el 3613 tildify-tests.el
3401and co-wrote tildify.el 3614and co-wrote tildify.el
3402and changed regex.c casefiddle.c regex-tests.el simple.el 3615and changed regex.c casefiddle.c simple.el test/src/regex-emacs-tests.el
3403 casefiddle-tests.el message.el regex.h search.c buffer.h ert-x.el 3616 casefiddle-tests.el message.el regex.h search.c buffer.h ert-x.el
3404 files.el frame.c remember.el unidata-gen.el README SpecialCasing.txt 3617 files.el frame.c remember.el sgml-mode.el unidata-gen.el README
3405 bindings.el buffer.c cc-mode.el cfengine.el char-fold-tests.el 3618 SpecialCasing.txt bindings.el buffer.c cc-mode.el cfengine.el
3406 and 36 other files 3619 and 37 other files
3620
3621Michal Nowak: changed gnutls.el
3407 3622
3408Michal Sojka: changed ox-icalendar.el 3623Michal Sojka: changed ox-icalendar.el textmodes/table.el
3409 3624
3410Michelangelo Grigni: wrote ffap.el 3625Michelangelo Grigni: wrote ffap.el
3411and changed gnus-score.el 3626and changed gnus-score.el
@@ -3437,8 +3652,9 @@ Mike Haertel: changed 7300.h
3437 3652
3438Mike Kazantsev: changed erc-dcc.el 3653Mike Kazantsev: changed erc-dcc.el
3439 3654
3440Mike Kupfer: changed mh-comp.el mh-e.el emacs-mime.texi gnus-mh.el 3655Mike Kupfer: changed mh-comp.el mh-e.el ftcrfont.c mh-utils.el
3441 gnus.texi mh-acros.el mh-compat.el mh-e.texi mh-mime.el mh-utils.el 3656 emacs-mime.texi ftxfont.c gnus-mh.el gnus.texi mh-acros.el mh-compat.el
3657 mh-e.texi mh-identity.el mh-mime.el xftfont.c
3442 3658
3443Mike Lamb: changed em-unix.el esh-util.el pcmpl-unix.el 3659Mike Lamb: changed em-unix.el esh-util.el pcmpl-unix.el
3444 3660
@@ -3539,6 +3755,8 @@ Neal Ziring: co-wrote vi.el (public domain)
3539 3755
3540Neil Mager: wrote appt.el 3756Neil Mager: wrote appt.el
3541 3757
3758Neil Roberts: changed custom.texi files.el
3759
3542Neil W. Van Dyke: wrote webjump.el 3760Neil W. Van Dyke: wrote webjump.el
3543 3761
3544Nelson H. F. Beebe: changed configure.ac 3762Nelson H. F. Beebe: changed configure.ac
@@ -3556,7 +3774,7 @@ Niall Mansfield: changed etags.c
3556 3774
3557Nic Ferrier: changed ert.el tramp.el 3775Nic Ferrier: changed ert.el tramp.el
3558 3776
3559Nicholas Drozd: changed calc.texi 3777Nicholas Drozd: changed calc.texi editfns.c ol.html ol.txt shr.el
3560 3778
3561Nicholas Maniscalco: changed term.el 3779Nicholas Maniscalco: changed term.el
3562 3780
@@ -3567,10 +3785,11 @@ Nick Alcock: changed control.texi customize.texi display.texi files.el
3567Nick Dokos: changed org-table.el ox.el icalendar.el mh-search.el 3785Nick Dokos: changed org-table.el ox.el icalendar.el mh-search.el
3568 org-mobile.el org.el ox-ascii.el url-cache.el 3786 org-mobile.el org.el ox-ascii.el url-cache.el
3569 3787
3570Nick Drozd: changed eww.el eww.texi 3788Nick Drozd: changed quail/georgian.el eww.el eww.texi shr.el HELLO
3789 cc-mode-tests.el ido.texi
3571 3790
3572Nick Helm: changed eldoc.el help.el help.texi whitespace-tests.el 3791Nick Helm: changed eldoc.el help.el help.texi nsterm.m
3573 whitespace.el 3792 whitespace-tests.el whitespace.el
3574 3793
3575Nick Roberts: wrote gdb-mi.el t-mouse.el 3794Nick Roberts: wrote gdb-mi.el t-mouse.el
3576and changed gdb-ui.el gud.el building.texi tooltip.el speedbar.el 3795and changed gdb-ui.el gud.el building.texi tooltip.el speedbar.el
@@ -3586,8 +3805,9 @@ Nicolas Avrutin: changed url-http.el
3586 3805
3587Nicolas Calderon Asselin: changed org-clock.el 3806Nicolas Calderon Asselin: changed org-clock.el
3588 3807
3589Nicolas Goaziou: wrote org-duration.el org-element.el org-lint.el 3808Nicolas Goaziou: wrote org-duration.el org-element.el org-keys.el
3590 org-macro.el ox-ascii.el ox-latex.el ox-md.el ox-org.el ox.el 3809 org-lint.el org-macro.el org-num.el ox-ascii.el ox-latex.el ox-md.el
3810 ox-org.el ox.el
3591and co-wrote ox-beamer.el ox-icalendar.el ox-man.el 3811and co-wrote ox-beamer.el ox-icalendar.el ox-man.el
3592and changed org-list.el org.el ox-html.el org-footnote.el ox-texinfo.el 3812and changed org-list.el org.el ox-html.el org-footnote.el ox-texinfo.el
3593 org.texi ox-publish.el ox-odt.el org-inlinetask.el org-indent.el 3813 org.texi ox-publish.el ox-odt.el org-inlinetask.el org-indent.el
@@ -3598,13 +3818,13 @@ and changed org-list.el org.el ox-html.el org-footnote.el ox-texinfo.el
3598Nicolas Graner: changed message.el 3818Nicolas Graner: changed message.el
3599 3819
3600Nicolas Petton: wrote map-tests.el map.el seq-tests.el seq.el 3820Nicolas Petton: wrote map-tests.el map.el seq-tests.el seq.el
3601 thunk-tests.el thunk.el 3821 thunk-tests.el thunk.el url-handlers-test.el
3602and co-wrote auth-source-pass.el auth-source-tests.el subr-tests.el 3822and co-wrote auth-source-pass.el auth-source-tests.el subr-tests.el
3603and changed README configure.ac sed2v2.inp sequences.texi authors.el 3823and changed README configure.ac sed2v2.inp authors.el sequences.texi
3604 README.W32 emacs.png emacs23.png arc-mode.el cl-extra.el emacs.svg 3824 README.W32 emacs.png emacs23.png HISTORY arc-mode.el cl-extra.el
3605 manoj-dark-theme.el Emacs.icns HISTORY Makefile.in auth-source.el 3825 emacs.svg manoj-dark-theme.el Emacs.icns Makefile.in auth-source.el
3606 emacs.ico fns.c make-tarball.txt obarray-tests.el obarray.el 3826 emacs.ico fns.c make-tarball.txt obarray-tests.el obarray.el
3607 and 35 other files 3827 and 37 other files
3608 3828
3609Nicolas Richard: wrote cl-seq-tests.el cmds-tests.el replace-tests.el 3829Nicolas Richard: wrote cl-seq-tests.el cmds-tests.el replace-tests.el
3610and changed ffap.el package.el byte-run.el help.el keyboard.c landmark.el 3830and changed ffap.el package.el byte-run.el help.el keyboard.c landmark.el
@@ -3626,7 +3846,7 @@ Nikolai Weibull: changed org.el
3626Nikolaj Schumacher: changed flymake.el progmodes/compile.el eldoc.el 3846Nikolaj Schumacher: changed flymake.el progmodes/compile.el eldoc.el
3627 elp.el nsfont.m rx.el 3847 elp.el nsfont.m rx.el
3628 3848
3629Nikolaus Rath: changed nnimap.el gnus.texi 3849Nikolaus Rath: changed nnimap.el gnus-sum.el gnus.texi
3630 3850
3631Nikolay Kudryavtsev: changed sql.el vc-git.el 3851Nikolay Kudryavtsev: changed sql.el vc-git.el
3632 3852
@@ -3636,7 +3856,7 @@ Nils Ackermann: changed message.el nnmh.el reftex-vars.el
3636 3856
3637Nitish Chandra: changed simple.el 3857Nitish Chandra: changed simple.el
3638 3858
3639N. Jackson: changed emacs.texi 3859N. Jackson: changed emacs.texi forms.texi
3640 3860
3641Noah Friedman: wrote eldoc.el rlogin.el type-break.el 3861Noah Friedman: wrote eldoc.el rlogin.el type-break.el
3642and co-wrote erc-dcc.el 3862and co-wrote erc-dcc.el
@@ -3647,13 +3867,16 @@ and changed rsz-mini.el emacs-buffer.gdb comint.el files.el Makefile
3647 3867
3648Noah Lavine: changed tramp.el 3868Noah Lavine: changed tramp.el
3649 3869
3650Noam Postavsky: changed lisp-mode.el progmodes/python.el xdisp.c 3870Noah Swainland: changed calc.el
3651 cl-macs.el lisp-mode-tests.el emacs-lisp/debug.el data.c simple.el 3871
3652 term.el ert.el subr.el help-fns.el bytecomp.el cl-print.el 3872Noam Postavsky: changed progmodes/python.el lisp-mode.el bytecomp.el
3653 elisp-mode.el eval.c ffap.el modes.texi search.c sh-script.el 3873 lisp-mode-tests.el term.el xdisp.c cl-macs.el eval.c
3654 cl-preloaded.el and 249 other files 3874 emacs-lisp/debug.el simple.el data.c modes.texi subr.el elisp-mode.el
3875 ert.el help-fns.el isearch.el processes.texi cl-print.el ffap.el
3876 print.c and 357 other files
3655 3877
3656Nobuyoshi Nakada: co-wrote ruby-mode.el 3878Nobuyoshi Nakada: co-wrote ruby-mode.el
3879and changed ruby-mode-tests.el
3657 3880
3658Nobuyuki Hikichi: changed news-risc.h 3881Nobuyuki Hikichi: changed news-risc.h
3659 3882
@@ -3673,27 +3896,32 @@ Nuutti Kotivuori: changed gnus-sum.el flow-fill.el gnus-cache.el
3673 3896
3674Odd Gripenstam: wrote dcl-mode.el 3897Odd Gripenstam: wrote dcl-mode.el
3675 3898
3676Ogawa Hirofumi: changed calc-aent.el gnus-sum.el nnimap.el 3899Ogawa Hirofumi: changed calc-aent.el gnus-sum.el nnimap.el sieve-mode.el
3900 sieve.el
3677 3901
3678Ognyan Kulev: changed TUTORIAL.bg cyrillic.el 3902Ognyan Kulev: changed TUTORIAL.bg cyrillic.el
3679 3903
3680Okazaki Tetsurou: changed cc-fonts.el vc-svn.el vc.el 3904Okazaki Tetsurou: changed cc-fonts.el vc-svn.el vc.el
3681 3905
3682Olaf Rogalsky: changed help.el keyboard.c mouse.el xt-mouse.el 3906Olaf Rogalsky: changed keyboard.c help.el mouse.el xt-mouse.el
3683 3907
3684Olaf Sylvester: wrote bs.el 3908Olaf Sylvester: wrote bs.el
3685 3909
3910Ola Nilsson: changed sh-script.el
3911
3686Ole Aamot: changed compile.el 3912Ole Aamot: changed compile.el
3687 3913
3914Oleg Pykhalov: changed gnus-sum.el
3915
3688Oleg S. Tihonov: changed cyrillic.el ispell.el language/cyrillic.el 3916Oleg S. Tihonov: changed cyrillic.el ispell.el language/cyrillic.el
3689 map-ynp.el subr.el 3917 map-ynp.el subr.el
3690 3918
3691Oleh Krehel: wrote ob-J.el 3919Oleh Krehel: wrote ob-J.el
3692and co-wrote subr-tests.el 3920and co-wrote subr-tests.el
3693and changed dired-aux.el outline.el checkdoc.el subr.el buffer.c 3921and changed dired-aux.el outline.el checkdoc.el files.el subr.el buffer.c
3694 check-declare.el alloc.c appt.el buffer.h category.c cl-indent.el 3922 check-declare.el alloc.c appt.el buffer.h calc.el category.c
3695 custom.el derived.el dired-x.el dired.el dired.texi display.texi 3923 cl-indent.el custom.el derived.el dired-x.el dired.el dired.texi
3696 easy-mmode.el ffap.el gdb-mi.el keyboard.c and 12 other files 3924 display.texi easy-mmode.el ffap.el and 14 other files
3697 3925
3698Oleksandr Gavenko: changed generic-x.el progmodes/grep.el 3926Oleksandr Gavenko: changed generic-x.el progmodes/grep.el
3699 3927
@@ -3728,10 +3956,10 @@ and co-wrote eudc-bob.el eudc-export.el eudc-hotlist.el eudc-vars.el
3728 eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el 3956 eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el
3729and changed ph.el 3957and changed ph.el
3730 3958
3731Óscar Fuentes: changed ido.el vc-hooks.el xfns.c CPP-DEFINES addpm.c 3959Óscar Fuentes: changed ido.el password-cache.el ses.el vc-hooks.el xfns.c
3732 addsection.c browse-url.el cmdproxy.c configure.ac diff-mode.el 3960 CPP-DEFINES addpm.c addsection.c browse-url.el callproc.c cmdproxy.c
3733 emacsclient.c keyboard.c ms-w32.h preprep.c progmodes/grep.el ses.el 3961 configure.ac diff-mode.el emacsclient.c keyboard.c ms-w32.h preprep.c
3734 vc-bzr.el vc-cvs.el vc-git.el vc-hg.el vc-mtn.el and 7 other files 3962 progmodes/grep.el vc-bzr.el vc-cvs.el vc-git.el and 9 other files
3735 3963
3736Øyvind Stegard: changed gnus-msg.el 3964Øyvind Stegard: changed gnus-msg.el
3737 3965
@@ -3753,9 +3981,9 @@ and changed imenu.el make-mode.el
3753Paul Eggert: wrote rcs2log 3981Paul Eggert: wrote rcs2log
3754and co-wrote cal-dst.el 3982and co-wrote cal-dst.el
3755and changed lisp.h configure.ac alloc.c process.c fileio.c editfns.c 3983and changed lisp.h configure.ac alloc.c process.c fileio.c editfns.c
3756 xdisp.c sysdep.c keyboard.c image.c emacs.c xterm.c data.c lread.c 3984 xdisp.c sysdep.c image.c keyboard.c data.c emacs.c fns.c lread.c
3757 fns.c callproc.c Makefile.in gnulib.mk eval.c buffer.c frame.c 3985 xterm.c eval.c callproc.c Makefile.in frame.c buffer.c gnulib-comp.m4
3758 and 1608 other files 3986 and 1821 other files
3759 3987
3760Paul Fisher: changed fns.c 3988Paul Fisher: changed fns.c
3761 3989
@@ -3768,10 +3996,10 @@ and changed message.el gnus-util.el gnus-int.el gnus.el gnus-agent.el
3768 gnus-start.el gnus-sum.el nnmail.el 3996 gnus-start.el gnus-sum.el nnmail.el
3769 3997
3770Paul Pogonyshev: changed subr.el byte-opt.el eval.c progmodes/python.el 3998Paul Pogonyshev: changed subr.el byte-opt.el eval.c progmodes/python.el
3771 which-func.el align.el bytecode.c cc-langs.el cl-macs.el configure.ac 3999 which-func.el align.el bytecode.c bytecomp.el cc-langs.el cl-macs.el
3772 dabbrev.el display.texi eldoc.el elisp-mode.el etags.el fns-tests.el 4000 configure.ac dabbrev.el display.texi eldoc.el elisp-mode.el
3773 fns.c functions.texi generator.el hash.texi image-file.el 4001 emacs-lisp/debug.el ert.el ert.texi etags.el fns-tests.el fns.c
3774 and 15 other files 4002 and 20 other files
3775 4003
3776Paul Rankin: changed outline.el 4004Paul Rankin: changed outline.el
3777 4005
@@ -3787,6 +4015,8 @@ Paul Rubin: changed config.h sun2.h texinfmt.el window.c
3787 4015
3788Paul Sexton: wrote org-ctags.el 4016Paul Sexton: wrote org-ctags.el
3789 4017
4018Paul Smith: changed compile-tests.el progmodes/compile.el
4019
3790Paul Stevenson: changed nnvirtual.el 4020Paul Stevenson: changed nnvirtual.el
3791 4021
3792Paul Stodghill: changed gnus-agent.el gnus-util.el 4022Paul Stodghill: changed gnus-agent.el gnus-util.el
@@ -3805,7 +4035,8 @@ and changed flymake.texi
3805 4035
3806Peder O. Klingenberg: wrote dns-mode-tests.el 4036Peder O. Klingenberg: wrote dns-mode-tests.el
3807and changed dns-mode.el icalendar.el mm-decode.el calc-comb.el calc.texi 4037and changed dns-mode.el icalendar.el mm-decode.el calc-comb.el calc.texi
3808 dunnet.el emacsbug.el emacsclient.c gnus.texi misc.texi 4038 dunnet.el emacsbug.el emacsclient.c eww.el gnus.texi misc.texi
4039 url-http.el url-queue.el url-util.el url-vars.el url.texi
3809 4040
3810P. E. Jareth Hein: changed gnus-util.el 4041P. E. Jareth Hein: changed gnus-util.el
3811 4042
@@ -3870,7 +4101,7 @@ Peter Münster: changed gnus-delay.el gnus-demon.el gnus-group.el
3870 4101
3871Peter O'Gorman: changed configure.ac frame.h hpux10-20.h termhooks.h 4102Peter O'Gorman: changed configure.ac frame.h hpux10-20.h termhooks.h
3872 4103
3873Peter Oliver: changed perl-mode.el server.el 4104Peter Oliver: changed perl-mode.el server.el vc-sccs.el
3874 4105
3875Peter Povinec: changed term.el 4106Peter Povinec: changed term.el
3876 4107
@@ -3912,14 +4143,18 @@ Petr Salinger: changed configure.ac gnu-kfreebsd.h
3912Phil Hagelberg: wrote ert-x-tests.el 4143Phil Hagelberg: wrote ert-x-tests.el
3913and changed package.el pcmpl-unix.el subr.el 4144and changed package.el pcmpl-unix.el subr.el
3914 4145
3915Philip Jackson: wrote find-cmd.el org-irc.el 4146Philip Hudson: changed em-hist.el
4147
4148Philip Jackson: wrote find-cmd.el ol-irc.el
4149and changed org-irc.el
3916 4150
3917Philip K: changed ispell.el 4151Philip K: changed ispell.el
3918 4152
3919Philippe Schnoebelen: wrote gomoku.el mpuz.el 4153Philippe Schnoebelen: wrote gomoku.el mpuz.el
4154and changed cl-extra.el
3920 4155
3921Philippe Vaucher: changed callint.c composite.el debugging.texi 4156Philippe Vaucher: changed callint.c composite.el debugging.texi
3922 replace.el subr.el text-mode.el 4157 modes.texi replace.el subr.el tabulated-list.el text-mode.el
3923 4158
3924Philippe Waroquiers: changed etags.el term.c 4159Philippe Waroquiers: changed etags.el term.c
3925 4160
@@ -3928,32 +4163,39 @@ Philipp Haselwarter: changed gnus-agent.el gnus-sum.el gnus-sync.el
3928 4163
3929Philipp Rumpf: changed electric.el 4164Philipp Rumpf: changed electric.el
3930 4165
3931Philipp Stephani: wrote checkdoc-tests.el ediff-diff-tests.el 4166Philipp Stephani: wrote callint-tests.el checkdoc-tests.el
3932 eval-tests.el ido-tests.el lread-tests.el mouse-tests.el 4167 cl-preloaded-tests.el ediff-diff-tests.el eval-tests.el ido-tests.el
3933 xt-mouse-tests.el 4168 lread-tests.el mouse-tests.el xt-mouse-tests.el
3934and changed emacs-module.c eval.c bytecomp.el nsterm.m 4169and changed emacs-module.c emacs-module-tests.el json.c json-tests.el
3935 emacs-module-tests.el files.el lread.c configure.ac editfns.c 4170 eval.c mod-test.c lisp.h lread.c nsterm.m configure.ac bytecomp.el
3936 mod-test.c alloc.c electric.el gtkutil.c lisp.h electric-tests.el 4171 internals.texi gtkutil.c emacs-module.h.in files.el alloc.c electric.el
3937 emacs.c macfont.m test/Makefile.in xt-mouse.el Makefile 4172 test/Makefile.in editfns.c electric-tests.el emacs.c
3938 bytecomp-tests.el and 96 other files 4173 and 126 other files
3939 4174
3940Phillip Lord: wrote ps-print-tests.el 4175Phillip Lord: wrote ps-print-tests.el
3941and changed lisp/Makefile.in undo.c simple.el test/Makefile.in Makefile 4176and changed build-zips.sh lisp/Makefile.in undo.c simple.el
3942 Makefile.in viper-cmd.el elisp-mode-tests.el keyboard.c ldefs-clean.el 4177 build-dep-zips.py test/Makefile.in Makefile Makefile.in emacs.nsi
3943 loadup.el autoload.el automated/Makefile.in build-zips.sh cmds.c 4178 keyboard.c viper-cmd.el README-windows-binaries README.W32
3944 dired.el eieio-tests.el fileio.c htmlfontify.el 4179 elisp-mode-tests.el ldefs-clean.el loadup.el README-scripts autoload.el
3945 make-test-deps.emacs-lisp reftex-tests.el and 168 other files 4180 automated/Makefile.in cmds.c dired.el and 171 other files
3946 4181
3947Phil Sainty: changed term.el derived.el easy-mmode.el lisp.el package.el 4182Phil Sainty: wrote autoload-longlines-mode-tests.el
3948 progmodes/grep.el simple.el subword.el 4183 autoload-major-mode-tests.el autoload-minor-mode-tests.el
4184 so-long-tests-helpers.el so-long-tests.el so-long.el spelling-tests.el
4185and changed diff.el goto-addr.el term.el cl-macs.el comint.el derived.el
4186 easy-mmode.el emacs.texi files.texi lisp.el misc.texi package.el
4187 progmodes/grep.el simple.el subword.el trouble.texi
3949 4188
3950Phil Sung: changed wdired.el dired.texi follow.el progmodes/python.el 4189Phil Sung: changed wdired.el dired.texi follow.el progmodes/python.el
3951 4190
3952Pierre Lorenzon: changed eieio-custom.el 4191Pierre Lorenzon: changed eieio-custom.el pconf.el
3953 4192
3954Pierre Poissinger: changed charset.c 4193Pierre Poissinger: changed charset.c
3955 4194
3956Pierre Téchoueyres: changed eieio-test-persist.el epg.el tramp-cmds.el 4195Pierre Téchoueyres: changed browse-url.el eieio-test-persist.el epg.el
4196 fns-tests.el fns.c mouse.el sql.el text.texi tramp-cmds.el
4197
4198Pierre-Yves Luyten: changed bookmark.el cua-rect.el
3957 4199
3958Pieter E.J. Pareit: wrote mixal-mode.el 4200Pieter E.J. Pareit: wrote mixal-mode.el
3959 4201
@@ -3961,6 +4203,8 @@ Pieter Praet: changed org-crypt.el
3961 4203
3962Pieter Schoenmakers: changed TUTORIAL.nl 4204Pieter Schoenmakers: changed TUTORIAL.nl
3963 4205
4206Pieter Van Oostrum: changed package.el shell-tests.el shell.el
4207
3964Piet van Oostrum: changed data.c fileio.c flyspell.el smtpmail.el 4208Piet van Oostrum: changed data.c fileio.c flyspell.el smtpmail.el
3965 4209
3966Pinku Surana: changed sql.el 4210Pinku Surana: changed sql.el
@@ -3969,7 +4213,10 @@ Piotr Trojanek: changed gnutls.c process.c
3969 4213
3970Piotr Zieliński: wrote org-mouse.el 4214Piotr Zieliński: wrote org-mouse.el
3971 4215
3972Pip Cet: changed dispextern.h gtkutil.c xdisp.c xfaces.c xterm.c xterm.h 4216Pip Cet: changed fns.c display.texi xdisp.c xterm.c dispextern.h frame.el
4217 gtkutil.c image.c json-tests.el json.c mail-utils.el nsterm.m simple.el
4218 subr.el text.texi textprop.c timer-list.el tty-colors-tests.el
4219 tty-colors.el url-http.el xfaces.c xterm.h
3973 4220
3974Pontus Michael: changed simple.el 4221Pontus Michael: changed simple.el
3975 4222
@@ -3984,7 +4231,8 @@ and changed abbrev-tests.el abbrev.el cl-lib-tests.el loadup.el
3984Puneeth Chaganti: changed org.texi ox.el org-agenda.el org-capture.el 4231Puneeth Chaganti: changed org.texi ox.el org-agenda.el org-capture.el
3985 ox-html.el svg.el 4232 ox-html.el svg.el
3986 4233
3987Radon Rosborough: changed eval.c 4234Radon Rosborough: changed package.el custom.texi package.texi startup.el
4235 eval.c lread.c org.texi os.texi
3988 4236
3989Rafael Laboissiere: changed org-remember.el org-bibtex.el org.el org.texi 4237Rafael Laboissiere: changed org-remember.el org-bibtex.el org.el org.texi
3990 4238
@@ -3992,7 +4240,8 @@ Rafael Sepúlveda: changed TUTORIAL.es
3992 4240
3993Raffael Mancini: changed misc.el 4241Raffael Mancini: changed misc.el
3994 4242
3995Raimon Grau: changed replace.el thingatpt.el 4243Raimon Grau: changed thingatpt.el calc-fin.el eww.el replace.el
4244 thingatpt-tests.el
3996 4245
3997Rainer Orth: changed gtkutil.c lisp/Makefile.in 4246Rainer Orth: changed gtkutil.c lisp/Makefile.in
3998 4247
@@ -4025,7 +4274,7 @@ and changed libc.el browse-url.el fileio.c info.el mm-decode.el
4025 4274
4026Ramakrishnan M: changed mlm-util.el 4275Ramakrishnan M: changed mlm-util.el
4027 4276
4028Rami Ylimäki: changed term.c efaq.texi termchar.h tparam.h tty-colors.el 4277Rami Ylimäki: changed efaq.texi term.c tparam.h termchar.h tty-colors.el
4029 xterm.el 4278 xterm.el
4030 4279
4031Randall Smith: changed dired.el 4280Randall Smith: changed dired.el
@@ -4034,10 +4283,10 @@ Randal Schwartz: wrote pp.el
4034 4283
4035Ransom Williams: changed files.el 4284Ransom Williams: changed files.el
4036 4285
4037Rasmus Pank Roulund: changed ox-latex.el gnus-notifications.el org.el 4286Rasmus Pank Roulund: wrote org-tempo.el
4038 ange-ftp.el gnus-fun.el gnus-icalendar.el gnus-sum.el gnus.texi ido.el 4287and changed ox-latex.el gnus-notifications.el org.el ange-ftp.el
4039 message.texi ob-C.el org-entities.el org-src.el org.texi ox-html.el 4288 gnus-fun.el gnus-icalendar.el gnus-sum.el gnus.texi ido.el message.texi
4040 ox.el vc-git.el 4289 ob-C.el org-entities.el org-src.el org.texi ox-html.el ox.el vc-git.el
4041 4290
4042Raul Acevedo: changed info.el options.el 4291Raul Acevedo: changed info.el options.el
4043 4292
@@ -4049,11 +4298,11 @@ and changed gnus-art.el gnus-msg.el gnus.texi message.el nnmail.el
4049 4298
4050R. Bernstein: changed gud.el 4299R. Bernstein: changed gud.el
4051 4300
4052Reiner Steib: wrote gmm-utils.el gnus-news.el 4301Reiner Steib: wrote gmm-utils.el
4053and changed message.el gnus.texi gnus-art.el gnus-sum.el gnus-group.el 4302and changed message.el gnus.texi gnus-art.el gnus-sum.el gnus-group.el
4054 gnus.el mml.el gnus-faq.texi mm-util.el gnus-score.el message.texi 4303 gnus.el mml.el gnus-faq.texi mm-util.el gnus-score.el message.texi
4055 gnus-msg.el gnus-start.el gnus-util.el spam-report.el mm-uu.el spam.el 4304 gnus-msg.el gnus-start.el gnus-util.el spam-report.el mm-uu.el spam.el
4056 mm-decode.el files.el gnus-agent.el nnmail.el and 174 other files 4305 mm-decode.el files.el gnus-agent.el nnmail.el and 172 other files
4057 4306
4058Remek Trzaska: changed gnus-ems.el 4307Remek Trzaska: changed gnus-ems.el
4059 4308
@@ -4073,13 +4322,14 @@ Reuben Thomas: changed ispell.el whitespace.el dired-x.el files.el
4073 sh-script.el emacsclient-tests.el remember.el README emacsclient.c 4322 sh-script.el emacsclient-tests.el remember.el README emacsclient.c
4074 misc.texi msdos.c simple.el INSTALL ada-mode.el ada-xref.el alloc.c 4323 misc.texi msdos.c simple.el INSTALL ada-mode.el ada-xref.el alloc.c
4075 arc-mode.el authors.el config.bat copyright dired-x.texi 4324 arc-mode.el authors.el config.bat copyright dired-x.texi
4076 and 34 other files 4325 and 36 other files
4077 4326
4078Ricardo Wurmus: changed xwidget.el xwidget.c configure.ac xwidget.h 4327Ricardo Wurmus: changed xwidget.el xwidget.c configure.ac xwidget.h
4079 4328
4080Riccardo Murri: changed vc-bzr.el tls.el 4329Riccardo Murri: changed vc-bzr.el tls.el
4081 4330
4082Richard Copley: changed Makefile.in epaths.in epaths.nt gdb-mi.el 4331Richard Copley: changed Makefile.in epaths.in epaths.nt gdb-mi.el
4332 text.texi
4083 4333
4084Richard Dawe: changed config.in src/Makefile.in 4334Richard Dawe: changed config.in src/Makefile.in
4085 4335
@@ -4115,7 +4365,7 @@ and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-langs.el
4115and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el 4365and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el
4116 fileio.c process.c sysdep.c buffer.c xfns.c window.c subr.el 4366 fileio.c process.c sysdep.c buffer.c xfns.c window.c subr.el
4117 configure.ac startup.el sendmail.el emacs.c Makefile.in editfns.c 4367 configure.ac startup.el sendmail.el emacs.c Makefile.in editfns.c
4118 info.el dired.el and 1339 other files 4368 info.el dired.el and 1338 other files
4119 4369
4120Richard Ryniker: changed sendmail.el 4370Richard Ryniker: changed sendmail.el
4121 4371
@@ -4139,7 +4389,8 @@ Robert Bihlmeyer: changed gnus-score.el gnus-util.el message.el
4139 4389
4140Robert Brown: changed lisp-mode.el 4390Robert Brown: changed lisp-mode.el
4141 4391
4142Robert Cochran: changed bytecomp.el checkdoc.el data.c map.el 4392Robert Cochran: changed tab-bar.el bytecomp.el checkdoc.el data.c
4393 frames.texi map.el
4143 4394
4144Robert Fenk: changed desktop.el 4395Robert Fenk: changed desktop.el
4145 4396
@@ -4156,17 +4407,21 @@ Robert Marshall: changed mule-cmds.el
4156 4407
4157Roberto Huelga Díaz: changed org-clock.el org-timer.el 4408Roberto Huelga Díaz: changed org-clock.el org-timer.el
4158 4409
4159Roberto Rodríguez: changed ada-mode.texi glossary.texi widget.texi 4410Roberto Rodríguez: changed glossary.texi widget.texi
4160 4411
4161Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el 4412Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el
4162 4413
4163Robert Pluim: changed gtkutil.c configure.ac files.texi dired-x.texi 4414Robert Pluim: wrote nsm-tests.el
4164 ftfont.c misc.texi process.c vc-git.el xfns.c xterm.c bindings.el 4415and changed process.c gtkutil.c processes.texi vc-git.el configure.ac
4165 desktop.el efaq.texi epa.texi filelock.c font.c ftcrfont.c 4416 ftfont.c network-stream.el nsm.el process-tests.el files.texi font.c
4166 gnus-agent.el gnus-demon.el gnus.texi gtkutil.h and 19 other files 4417 ftcrfont.c gnus-icalendar.el gnutls.el gtkutil.h
4418 network-stream-tests.el text.texi w32.c xfns.c xftfont.c auth.texi
4419 and 83 other files
4167 4420
4168Robert Thorpe: changed cus-start.el indent.el 4421Robert Thorpe: changed cus-start.el indent.el
4169 4422
4423Robert Weiner: changed cus-edit.el
4424
4170Rob Giardina: changed org-agenda.el 4425Rob Giardina: changed org-agenda.el
4171 4426
4172Rob Kaut: changed vhdl-mode.el 4427Rob Kaut: changed vhdl-mode.el
@@ -4196,21 +4451,20 @@ and changed compile.el add-log.el configure.ac files.el vc.el simple.el
4196 rlogin.el rmail.el and 139 other files 4451 rlogin.el rmail.el and 139 other files
4197 4452
4198Roland Winkler: wrote proced.el 4453Roland Winkler: wrote proced.el
4199and changed bibtex.el faces.el crm.el process.c appt.el artist.el 4454and changed bibtex.el faces.el crm.el find-dired.el bookmark.el process.c
4200 conf-mode.el cus-edit.el diary-lib.el flyspell.el hideshow.el 4455 appt.el artist.el bibtex-style.el conf-mode.el cus-edit.el diary-lib.el
4201 ibuf-ext.el ibuffer.el ispell.el make-mode.el sgml-mode.el sh-script.el 4456 flyspell.el hideshow.el ibuf-ext.el ibuffer.el ispell.el make-mode.el
4202 skeleton.el smtpmail.el 4457 sgml-mode.el sh-script.el skeleton.el smtpmail.el
4203 4458
4204Rolf Ade: changed sql.el 4459Rolf Ade: changed sql.el tcl.el
4205 4460
4206Rolf Ebert: co-wrote ada-mode.el ada-stmt.el ada-xref.el 4461Rolf Ebert: changed ada-mode.el files.el find-file.el
4207and changed files.el find-file.el
4208 4462
4209Romain Francoise: changed efaq.texi message.el make-dist gnus.texi 4463Romain Francoise: changed efaq.texi message.el make-dist gnus.texi
4210 dired-x.el Makefile.in comint.el fileio.c ibuf-ext.el subr.el 4464 dired-x.el Makefile.in comint.el fileio.c ibuf-ext.el subr.el
4211 configure.ac files.texi gnus-sum.el gnus-uu.el progmodes/compile.el 4465 configure.ac files.texi gnus-sum.el gnus-uu.el progmodes/compile.el
4212 puresize.h replace.el startup.el doclicense.texi emacs.c gnus-fun.el 4466 puresize.h replace.el startup.el doclicense.texi emacs.c gnus-fun.el
4213 and 150 other files 4467 and 149 other files
4214 4468
4215Roman Belenov: changed which-func.el 4469Roman Belenov: changed which-func.el
4216 4470
@@ -4231,7 +4485,7 @@ Rüdiger Sonderfeld: wrote inotify-tests.el reftex-tests.el
4231and changed eww.el octave.el shr.el bibtex.el configure.ac 4485and changed eww.el octave.el shr.el bibtex.el configure.ac
4232 misc/Makefile.in reftex-vars.el vc-git.el TUTORIAL.de ada-mode.el 4486 misc/Makefile.in reftex-vars.el vc-git.el TUTORIAL.de ada-mode.el
4233 autoinsert.el building.texi calc-lang.el cc-langs.el dired.texi 4487 autoinsert.el building.texi calc-lang.el cc-langs.el dired.texi
4234 editfns.c emacs.c emacs.texi epa.el erc.el eww.texi and 38 other files 4488 editfns.c emacs.c emacs.texi epa.el erc.el eww.texi and 39 other files
4235 4489
4236Rui-Tao Dong: changed nnweb.el 4490Rui-Tao Dong: changed nnweb.el
4237 4491
@@ -4245,6 +4499,8 @@ Russ Allbery: changed message.el
4245 4499
4246Ryan Barrett: changed dirtrack.el 4500Ryan Barrett: changed dirtrack.el
4247 4501
4502Ryan Brown: changed cl-indent.el
4503
4248Ryan Crum: changed json.el 4504Ryan Crum: changed json.el
4249 4505
4250Ryan Thompson: changed advice-tests.el ido.el minibuffer-tests.el 4506Ryan Thompson: changed advice-tests.el ido.el minibuffer-tests.el
@@ -4280,13 +4536,13 @@ Sam Kendall: changed etags.c etags.el
4280 4536
4281Sam Steingold: wrote gulp.el midnight.el 4537Sam Steingold: wrote gulp.el midnight.el
4282and changed progmodes/compile.el cl-indent.el simple.el vc-cvs.el vc.el 4538and changed progmodes/compile.el cl-indent.el simple.el vc-cvs.el vc.el
4283 mouse.el vc-hg.el files.el font-lock.el tex-mode.el ange-ftp.el 4539 mouse.el vc-hg.el etags.el files.el font-lock.el tex-mode.el
4284 sgml-mode.el window.el add-log.el bindings.el bookmark.el 4540 ange-ftp.el sgml-mode.el vc-git.el window.el add-log.el bindings.el
4285 bug-reference.el calendar.el cperl-mode.el diary-lib.el dired.el 4541 bookmark.el bug-reference.el calendar.el cperl-mode.el
4286 and 152 other files 4542 and 157 other files
4287 4543
4288Samuel Bronson: changed custom.el emacsclient.c keyboard.c 4544Samuel Bronson: changed custom.el emacsclient.c keyboard.c
4289 progmodes/grep.el unexmacosx.c 4545 progmodes/grep.el semantic/format.el unexmacosx.c
4290 4546
4291Samuel Freilich: changed simple.el 4547Samuel Freilich: changed simple.el
4292 4548
@@ -4357,6 +4613,8 @@ Sebastian Kremer: wrote dired-aux.el dired.el ls-lisp.el
4357and co-wrote dired-x.el find-dired.el 4613and co-wrote dired-x.el find-dired.el
4358and changed add-log.el 4614and changed add-log.el
4359 4615
4616Sebastian Reuße: changed find-dired.el
4617
4360Sebastian Rose: co-wrote org-protocol.el 4618Sebastian Rose: co-wrote org-protocol.el
4361and changed ox-publish.el ftfont.c ox-jsinfo.el 4619and changed ox-publish.el ftfont.c ox-jsinfo.el
4362 4620
@@ -4404,6 +4662,8 @@ Seweryn Kokot: changed positions.texi searching.texi
4404Shakthi Kannan: wrote tamil-dvorak.el 4662Shakthi Kannan: wrote tamil-dvorak.el
4405and changed ert.texi lisp-mode.el programs.texi text.texi 4663and changed ert.texi lisp-mode.el programs.texi text.texi
4406 4664
4665Shanavas M: changed buffer-tests.el
4666
4407Shaun Johnson: changed ob-tangle.el org-exp-blocks.el 4667Shaun Johnson: changed ob-tangle.el org-exp-blocks.el
4408 4668
4409Shawn Boles: changed url-cookie.el 4669Shawn Boles: changed url-cookie.el
@@ -4423,13 +4683,16 @@ Shigeru Fukaya: wrote bytecomp-tests.el
4423and changed apropos.el bs.el byte-opt.el bytecomp.el elint.el rx-new.el 4683and changed apropos.el bs.el byte-opt.el bytecomp.el elint.el rx-new.el
4424 ses.el subr.el texinfmt.el 4684 ses.el subr.el texinfmt.el
4425 4685
4686Shingo Tanaka: changed files.el
4687
4426Shinichirou Sugou: changed etags.c 4688Shinichirou Sugou: changed etags.c
4427 4689
4428Shoji Nishimura: changed org.el 4690Shoji Nishimura: changed org.el
4429 4691
4430Sho Nakatani: changed doc-view.el 4692Sho Nakatani: changed doc-view.el
4431 4693
4432Shuguang Sun: changed dired-aux.el 4694Shuguang Sun: changed dired-aux.el tramp-adb.el tramp-archive.el
4695 tramp-integration.el
4433 4696
4434Shuhei Kobayashi: wrote hex-util.el hmac-def.el hmac-md5.el 4697Shuhei Kobayashi: wrote hex-util.el hmac-def.el hmac-md5.el
4435and changed gnus-group.el message.el nnmail.el 4698and changed gnus-group.el message.el nnmail.el
@@ -4442,12 +4705,16 @@ Sidney Markowitz: changed doctor.el nsmenu.m
4442 4705
4443Sigbjorn Finne: changed gnus-srvr.el 4706Sigbjorn Finne: changed gnus-srvr.el
4444 4707
4445Simen Heggestøyl: wrote color-tests.el css-mode-tests.el dom-tests.el 4708Simen Heggestøyl: wrote asm-mode-tests.el autoinsert-tests.el
4446 ring-tests.el rot13-tests.el sql-tests.el 4709 color-tests.el css-mode-tests.el dom-tests.el makesum-tests.el
4447and changed css-mode.el json-tests.el json.el sgml-mode.el css-mode.css 4710 page-tests.el paren-tests.el ring-tests.el rot13-tests.el sql-tests.el
4448 scss-mode.scss ring.el rot13.el scheme.el sql.el color.el files.el 4711and changed css-mode.el css-mode.css json-tests.el json.el sgml-mode.el
4449 js.el less-css-mode.el less-css-mode.less maintaining.texi midnight.el 4712 scss-mode.scss page.el ring.el rot13.el scheme.el sql.el asm-mode.el
4450 seq.el sequences.texi 4713 autoinsert.el color.el files.el js.el less-css-mode.el
4714 less-css-mode.less maintaining.texi makesum.el midnight.el
4715 and 5 other files
4716
4717Simona Arizanova: changed help.el
4451 4718
4452Simon Josefsson: wrote dig.el dns-mode.el flow-fill.el fringe.el imap.el 4719Simon Josefsson: wrote dig.el dns-mode.el flow-fill.el fringe.el imap.el
4453 mml-sec.el mml-smime.el password-cache.el rfc2104.el sieve-mode.el 4720 mml-sec.el mml-smime.el password-cache.el rfc2104.el sieve-mode.el
@@ -4458,7 +4725,7 @@ and changed message.el gnus-sum.el gnus-art.el smtpmail.el pgg-gpg.el
4458 pgg.el gnus-agent.el mml2015.el mml.el gnus-group.el mm-decode.el 4725 pgg.el gnus-agent.el mml2015.el mml.el gnus-group.el mm-decode.el
4459 gnus-msg.el gnus.texi mail/sieve-manage.el pgg-pgp5.el browse-url.el 4726 gnus-msg.el gnus.texi mail/sieve-manage.el pgg-pgp5.el browse-url.el
4460 gnus-int.el gnus.el hashcash.el mm-view.el password.el 4727 gnus-int.el gnus.el hashcash.el mm-view.el password.el
4461 and 102 other files 4728 and 101 other files
4462 4729
4463Simon Law: changed delsel.el electric.el 4730Simon Law: changed delsel.el electric.el
4464 4731
@@ -4483,7 +4750,7 @@ Simon Thum: changed ob-maxima.el
4483 4750
4484Skip Collins: changed w32fns.c w32term.c w32term.h 4751Skip Collins: changed w32fns.c w32term.c w32term.h
4485 4752
4486Slawomir Nowaczyk: changed emacs.py progmodes/python.el TUTORIAL.pl 4753Sławomir Nowaczyk: changed emacs.py progmodes/python.el TUTORIAL.pl
4487 flyspell.el ls-lisp.el w32proc.c 4754 flyspell.el ls-lisp.el w32proc.c
4488 4755
4489Spencer Thomas: changed dabbrev.el emacsclient.c gnus.texi server.el 4756Spencer Thomas: changed dabbrev.el emacsclient.c gnus.texi server.el
@@ -4499,20 +4766,29 @@ Stefan Bruda: co-wrote prolog.el
4499 4766
4500Stefan Guath: changed find-dired.el 4767Stefan Guath: changed find-dired.el
4501 4768
4769Stefan Kangas: wrote bookmark-tests.el delim-col-tests.el morse-tests.el
4770 paragraphs-tests.el password-cache-tests.el studly-tests.el
4771 tabify-tests.el timezone-tests.el underline-tests.el uudecode-tests.el
4772and 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
4774 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
4776
4502Stefan Merten: co-wrote rst.el 4777Stefan Merten: co-wrote rst.el
4503 4778
4504Stefan Monnier: wrote bibtex-style.el bytecomp-tests.el bzrmerge.el 4779Stefan Monnier: wrote bibtex-style.el bytecomp-tests.el
4505 cl-generic-tests.el cl-generic.el cl-preloaded.el cl-print.el cl.el 4780 cl-generic-tests.el cl-generic.el cl-preloaded.el cl-print.el cl.el
4506 css-mode.el cursor-sensor.el cvs-status.el diff-mode.el gv.el inline.el 4781 css-mode.el cursor-sensor.el cvs-status.el diff-mode.el fileloop.el
4507 lisp-tests.el log-edit.el log-view.el minibuffer-tests.el minibuffer.el 4782 footnote-tests.el gv.el inline.el lisp-tests.el log-edit.el log-view.el
4508 mpc.el nadvice.el pcase.el pcvs-defs.el pcvs-info.el pcvs-parse.el 4783 minibuffer-tests.el minibuffer.el mpc.el nadvice.el pcase.el
4509 pcvs-util.el radix-tree.el regexp-opt-tests.el reveal.el smerge-mode.el 4784 pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el radix-tree.el
4510 smie.el subword-tests.el vc-mtn.el 4785 regexp-opt-tests.el reveal.el smerge-mode.el smie.el subword-tests.el
4786 vc-mtn.el
4511and co-wrote font-lock.el gitmerge.el pcvs.el 4787and co-wrote font-lock.el gitmerge.el pcvs.el
4512and changed subr.el simple.el keyboard.c lisp.h bytecomp.el files.el 4788and changed subr.el simple.el keyboard.c bytecomp.el files.el lisp.h
4513 vc.el cl-macs.el xdisp.c alloc.c eval.c sh-script.el 4789 cl-macs.el vc.el xdisp.c alloc.c eval.c sh-script.el
4514 progmodes/compile.el keymap.c tex-mode.el newcomment.el buffer.c 4790 progmodes/compile.el keymap.c tex-mode.el buffer.c newcomment.el
4515 window.c lisp-mode.el lread.c vc-hooks.el and 1282 other files 4791 window.c lread.c fileio.c help-fns.el and 1372 other files
4516 4792
4517Stefano Facchini: changed gtkutil.c 4793Stefano Facchini: changed gtkutil.c
4518 4794
@@ -4531,9 +4807,9 @@ Stefan Wiens: changed gnus-sum.el
4531Steinar Bang: changed gnus-setup.el imap.el 4807Steinar Bang: changed gnus-setup.el imap.el
4532 4808
4533Štěpán Němec: changed INSTALL calc-ext.el cl.texi comint.el edebug.texi 4809Štěpán Němec: changed INSTALL calc-ext.el cl.texi comint.el edebug.texi
4534 font-lock.el loading.texi maps.texi mark.texi message.texi mini.texi 4810 font-lock.el functions.texi leim-ext.el loading.texi maps.texi
4535 minibuf.texi misc.texi programs.texi subr.el tips.texi url-vars.el 4811 mark.texi message.texi mini.texi minibuf.texi misc.texi programs.texi
4536 url.texi vc-git.el window.c windows.texi 4812 subr.el tips.texi url-vars.el url.texi vc-git.el and 3 other files
4537 4813
4538Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi 4814Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
4539 ediff-mult.el 4815 ediff-mult.el
@@ -4542,10 +4818,10 @@ Stephen A. Wood: changed fortran.el
4542 4818
4543Stephen Berman: wrote todo-mode-tests.el 4819Stephen Berman: wrote todo-mode-tests.el
4544and co-wrote todo-mode.el 4820and co-wrote todo-mode.el
4545and changed todo-mode.texi diary-lib.el dired-tests.el doc-view.el 4821and changed wdired.el todo-mode.texi diary-lib.el wdired-tests.el
4546 files.el minibuffer.el wdired-tests.el dired.el frames.texi hl-line.el 4822 dired-tests.el doc-view.el files.el minibuffer.el dired.el frames.texi
4547 info.el menu-bar.el mouse.el otodo-mode.el subr.el .gitattributes 4823 hl-line.el info.el menu-bar.el mouse.el otodo-mode.el subr.el
4548 TUTORIAL allout.el artist.el compile.texi cus-start.el 4824 .gitattributes TUTORIAL allout.el artist.el compile.texi
4549 and 43 other files 4825 and 43 other files
4550 4826
4551Stephen C. Gilardi: changed configure.ac 4827Stephen C. Gilardi: changed configure.ac
@@ -4554,24 +4830,25 @@ Stephen Compall: changed saveplace.el texinfo.el
4554 4830
4555Stephen Eglen: wrote iswitchb.el mspools.el 4831Stephen Eglen: wrote iswitchb.el mspools.el
4556and changed diary-lib.el octave.el org-agenda.el locate.el replace.el 4832and changed diary-lib.el octave.el org-agenda.el locate.el replace.el
4557 hexl.el info-look.el sendmail.el spell.el uce.el MORE.STUFF add-log.el 4833 hexl.el info-look.el sendmail.el spell.el uce.el add-log.el advice.el
4558 advice.el allout.el autoinsert.el avoid.el backquote.el battery.el 4834 allout.el autoinsert.el avoid.el backquote.el battery.el bib-mode.el
4559 bib-mode.el bruce.el c-mode.el and 80 other files 4835 bruce.el c-mode.el ccl.el and 79 other files
4560 4836
4561Stephen Gildea: wrote refcard.tex 4837Stephen Gildea: wrote refcard.tex
4562and co-wrote mh-funcs.el mh-search.el 4838and co-wrote mh-funcs.el mh-search.el
4563and changed time-stamp.el mh-e.el mh-comp.el mh-utils.el mh-customize.el 4839and changed time-stamp.el time-stamp-tests.el mh-e.el mh-comp.el
4564 mh-junk.el fileio.c files.el fortran.el mh-e.texi mh-mime.el mwheel.el 4840 mh-utils.el mh-junk.el files.el mh-customize.el mh-e.texi mh-show.el
4565 tex-mode.el 4841 backups.texi dns-mode.el fileio.c files.texi fortran.el goto-addr.el
4842 mh-mime.el misc.texi mwheel.el tex-mode.el
4566 4843
4567Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el 4844Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el
4568 4845
4569Stephen Leake: wrote elisp-mode-tests.el 4846Stephen Leake: wrote elisp-mode-tests.el
4570and changed ada-mode.el ada-xref.el elisp-mode.el mode-local.el window.el 4847and changed ada-mode.el ada-xref.el elisp-mode.el xref.el window.el
4571 xref.el CONTRIBUTE vc-mtn.el ada-mode.texi ada-prj.el cedet-global.el 4848 mode-local.el CONTRIBUTE ada-prj.el project.el vc-mtn.el ada-stmt.el
4572 ede/generic.el ada-stmt.el cl-generic.el ede/locate.el files.texi 4849 cedet-global.el ede/generic.el simple.el autoload.el bytecomp.el
4573 project.el windows.texi INSTALL.REPO INSTALL.W64 align.el 4850 cl-generic.el ede/locate.el files.texi functions.texi package.el
4574 and 21 other files 4851 and 30 other files
4575 4852
4576Stephen Pegoraro: changed xterm.c 4853Stephen Pegoraro: changed xterm.c
4577 4854
@@ -4583,13 +4860,15 @@ Steve Fisk: co-wrote cal-tex.el
4583 4860
4584Steve Grubb: changed vcdiff 4861Steve Grubb: changed vcdiff
4585 4862
4586Steven Allen: changed xdg.el 4863Steven Allen: changed em-prompt.el xdg.el
4864
4865Steven De Herdt: changed vc/vc-bzr.el
4587 4866
4588Steven E. Harris: changed nnheader.el 4867Steven E. Harris: changed nnheader.el
4589 4868
4590Steven Huwig: changed emacs.py progmodes/python.el 4869Steven Huwig: changed emacs.py progmodes/python.el
4591 4870
4592Steven L. Baur: wrote footnote.el 4871Steven L. Baur: co-wrote footnote.el
4593and changed gnus-xmas.el gnus-msg.el add-log.el edebug.el gnus-ems.el 4872and changed gnus-xmas.el gnus-msg.el add-log.el edebug.el gnus-ems.el
4594 gnus-start.el gnus-topic.el message.el nnbabyl.el nntp.el webjump.el 4873 gnus-start.el gnus-topic.el message.el nnbabyl.el nntp.el webjump.el
4595 4874
@@ -4605,6 +4884,8 @@ Steve Nygard: changed unexnext.c
4605Steve Purcell: wrote less-css-mode.el 4884Steve Purcell: wrote less-css-mode.el
4606and changed package.el nnimap.el nsterm.m sql.el 4885and changed package.el nnimap.el nsterm.m sql.el
4607 4886
4887Steve Scott: changed rcirc.el
4888
4608Steve Strassmann: wrote spook.el 4889Steve Strassmann: wrote spook.el
4609 4890
4610Steve Youngs: changed mh-utils.el mh-xemacs-compat.el mh-customize.el 4891Steve Youngs: changed mh-utils.el mh-xemacs-compat.el mh-customize.el
@@ -4645,9 +4926,10 @@ Svante Carl V. Erichsen: changed cl-indent.el
4645Svend Tollak Munkejord: changed deuglify.el 4926Svend Tollak Munkejord: changed deuglify.el
4646 4927
4647Sven Joachim: changed files.el de-refcard.tex dired-aux.el emacs.1 4928Sven Joachim: changed files.el de-refcard.tex dired-aux.el emacs.1
4648 arc-mode.el dired-x.el em-cmpl.el em-hist.el em-ls.el esh-cmd.el 4929 arc-mode.el dired-x.el doc/misc/gnus.texi em-cmpl.el em-hist.el
4649 esh-ext.el esh-io.el files.texi gnus-news.texi gnus-sum.el gnus.texi 4930 em-ls.el esh-cmd.el esh-ext.el esh-io.el files.texi gnus-sum.el
4650 help.el make-dist message.el movemail.c mule.texi and 9 other files 4931 gnus.texi help.el make-dist message.el movemail.c mule.texi
4932 and 9 other files
4651 4933
4652Sylvain Chouleur: changed gnus-icalendar.el icalendar.el 4934Sylvain Chouleur: changed gnus-icalendar.el icalendar.el
4653 4935
@@ -4679,7 +4961,7 @@ Takai Kousuke: changed ccl.el image/compface.el
4679Takeshi Yamada: changed fns.c 4961Takeshi Yamada: changed fns.c
4680 4962
4681Tak Kunihiro: wrote pixel-scroll.el 4963Tak Kunihiro: wrote pixel-scroll.el
4682and changed frames.texi mouse.el mwheel.el dired.el 4964and changed frames.texi mouse.el mwheel.el dired.el ns-win.el
4683 4965
4684Tao Fang: changed url-http.el 4966Tao Fang: changed url-http.el
4685 4967
@@ -4687,12 +4969,12 @@ Taro Kawagishi: wrote md4.el ntlm.el sasl-ntlm.el
4687and changed arc-mode.el 4969and changed arc-mode.el
4688 4970
4689Tassilo Horn: wrote doc-view.el 4971Tassilo Horn: wrote doc-view.el
4690and co-wrote org-gnus.el 4972and co-wrote ol-gnus.el
4691and changed reftex-vars.el tex-mode.el gnus.texi reftex-cite.el 4973and changed reftex-vars.el tex-mode.el gnus.texi reftex-cite.el
4692 tsdh-dark-theme.el tsdh-light-theme.el gnus-sum.el file-notify-tests.el 4974 tsdh-dark-theme.el tsdh-light-theme.el gnus-sum.el file-notify-tests.el
4693 reftex.el misc.texi prog-mode.el subword.el image-mode.el lisp-mode.el 4975 reftex.el misc.texi org-gnus.el prog-mode.el subword.el image-mode.el
4694 cc-cmds.el display.texi em-term.el emacsbug.el files.el gnus-art.el 4976 json.el lisp-mode.el cc-cmds.el display.texi em-term.el emacsbug.el
4695 nnimap.el and 74 other files 4977 files.el and 82 other files
4696 4978
4697Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el 4979Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el
4698 4980
@@ -4703,8 +4985,8 @@ Ted Phelps: changed mh-search.el mh-e.el mh-folder.el mh-junk.el
4703 4985
4704Ted Wiles: changed org-habit.el 4986Ted Wiles: changed org-habit.el
4705 4987
4706Teemu Likonen: changed dired.el epg.el erc-backend.el gnus-agent.el 4988Teemu Likonen: changed epg.el dired.el epg-config.el erc-backend.el
4707 gnus.texi indent.el message.el 4989 gnus-agent.el gnus.texi indent.el message.el mml-sec.el
4708 4990
4709Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-tests.el 4991Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-tests.el
4710 gnutls-tests.el gnutls.el registry.el spam-report.el 4992 gnutls-tests.el gnutls.el registry.el spam-report.el
@@ -4712,7 +4994,7 @@ Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-tests.el
4712and changed spam.el gnus.el nnimap.el gnus.texi gnutls.c gnus-sum.el 4994and changed spam.el gnus.el nnimap.el gnus.texi gnutls.c gnus-sum.el
4713 auth.texi cfengine.el gnus-sync.el gnus-util.el gnus-start.el netrc.el 4995 auth.texi cfengine.el gnus-sync.el gnus-util.el gnus-start.el netrc.el
4714 gnutls.h message.el spam-stat.el encrypt.el mail-source.el nnir.el 4996 gnutls.h message.el spam-stat.el encrypt.el mail-source.el nnir.el
4715 nnmail.el auth-source-tests.el configure.ac and 120 other files 4997 nnmail.el auth-source-tests.el configure.ac and 119 other files
4716 4998
4717Terje Rosten: changed xfns.c version.el xterm.c xterm.h 4999Terje Rosten: changed xfns.c version.el xterm.c xterm.h
4718 5000
@@ -4741,8 +5023,8 @@ Thien-Thi Nguyen: wrote last-chance.el
4741and co-wrote hideshow.el 5023and co-wrote hideshow.el
4742and changed ewoc.el vc.el info.el processes.texi zone.el lisp-mode.el 5024and changed ewoc.el vc.el info.el processes.texi zone.el lisp-mode.el
4743 scheme.el text.texi vc-rcs.el display.texi fileio.c files.el vc-git.el 5025 scheme.el text.texi vc-rcs.el display.texi fileio.c files.el vc-git.el
4744 MORE.STUFF TUTORIAL.it bindat.el cc-vars.el configure.ac dcl-mode.el 5026 TUTORIAL.it bindat.el cc-vars.el configure.ac dcl-mode.el diff-mode.el
4745 diff-mode.el dired.el and 169 other files 5027 dired.el elisp.texi and 168 other files
4746 5028
4747Thierry Banel: co-wrote ob-C.el 5029Thierry Banel: co-wrote ob-C.el
4748and changed calc-arith.el 5030and changed calc-arith.el
@@ -4751,14 +5033,14 @@ Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el
4751 5033
4752Thierry Volpiatto: changed bookmark.el files.el dired-aux.el 5034Thierry Volpiatto: changed bookmark.el files.el dired-aux.el
4753 eshell/eshell.el gnus-sum.el keyboard.c net-utils.el package.el 5035 eshell/eshell.el gnus-sum.el keyboard.c net-utils.el package.el
4754 tramp.el eldoc.el files.texi image-mode.el info.el man.el pcmpl-gnu.el 5036 tramp.el eldoc.el files.texi image-mode.el info.el man.el minibuffer.el
4755 subr.el woman.el avoid.el commands.texi dired.el doc-view.el 5037 pcmpl-gnu.el subr.el winner.el woman.el avoid.el commands.texi
4756 and 11 other files 5038 and 15 other files
4757 5039
4758Thomas Bach: changed wisent/python.el 5040Thomas Bach: changed wisent/python.el
4759 5041
4760Thomas Baumann: wrote org-mhe.el 5042Thomas Baumann: wrote ol-mhe.el
4761and co-wrote org-bbdb.el 5043and co-wrote ol-bbdb.el
4762 5044
4763Thomas Bellman: co-wrote avl-tree.el 5045Thomas Bellman: co-wrote avl-tree.el
4764 5046
@@ -4769,9 +5051,10 @@ Thomas Dorner: changed ange-ftp.el
4769Thomas Dye: changed org.texi org-bibtex.el ob-R.el org.el 5051Thomas Dye: changed org.texi org-bibtex.el ob-R.el org.el
4770 5052
4771Thomas Fitzsimmons: wrote soap-client.el 5053Thomas Fitzsimmons: wrote soap-client.el
4772and changed soap-inspect.el ldap.el eudc-vars.el eudc.texi ntlm.el 5054and changed soap-inspect.el ldap.el eudc-vars.el eudc.el eudc.texi
4773 eudc.el eudcb-ldap.el eudc-export.el eudcb-bbdb.el eudcb-ph.el 5055 ntlm.el eudcb-ldap.el eudcb-bbdb.el eudc-bob.el eudc-export.el
4774 display.texi url-http.el 5056 eudcb-ph.el package.el url-http.el diary-lib.el display.texi
5057 eudc-hotlist.el icalendar.el url-auth.el
4775 5058
4776Thomas Horsley: changed cxux-crt0.s cxux.h cxux7.h emacs.c nh3000.h 5059Thomas Horsley: changed cxux-crt0.s cxux.h cxux7.h emacs.c nh3000.h
4777 nh4000.h simple.el sysdep.c xterm.c 5060 nh4000.h simple.el sysdep.c xterm.c
@@ -4840,20 +5123,23 @@ Tim Van Holder: changed emacsclient.c Makefile.in configure.ac
4840Tino Calancha: wrote buff-menu-tests.el ediff-ptch-tests.el 5123Tino Calancha: wrote buff-menu-tests.el ediff-ptch-tests.el
4841 em-ls-tests.el ffap-tests.el hi-lock-tests.el ls-lisp-tests.el 5124 em-ls-tests.el ffap-tests.el hi-lock-tests.el ls-lisp-tests.el
4842 register-tests.el rmc-tests.el 5125 register-tests.el rmc-tests.el
4843and changed ibuffer.el dired-tests.el ibuf-ext.el dired.el dired-aux.el 5126and changed ibuffer.el ibuf-ext.el dired-tests.el dired.el replace.el
4844 simple.el replace.el ibuffer-tests.el ls-lisp.el diff-mode.el 5127 dired-aux.el replace-tests.el simple.el ibuf-macs.el subr.el dired.texi
4845 ibuf-macs.el cl-seq.el dired-x.el dired.texi ediff-ptch.el em-ls.el 5128 ibuffer-tests.el ls-lisp.el diff-mode.el files.el cl-macs.el cl-seq.el
4846 files.el replace-tests.el buff-menu.el cl.texi ediff-init.el 5129 dired-x.el ediff-ptch.el em-ls.el buff-menu.el and 95 other files
4847 and 82 other files
4848 5130
4849Titus von der Malsburg: changed simple.el window.el 5131Titus von der Malsburg: changed simple.el window.el
4850 5132
4851Tobias Bading: changed progmodes/compile.el 5133Tobias Bading: changed gtkutil.c progmodes/compile.el xfns.c
4852 5134
4853Tobias C. Rittweiler: changed font-lock.el searching.texi sendmail.el 5135Tobias C. Rittweiler: changed font-lock.el searching.texi sendmail.el
4854 5136
5137Tobias Gerdin: changed xref.el
5138
4855Tobias Ringström: changed etags.c 5139Tobias Ringström: changed etags.c
4856 5140
5141Tobias Zawada: changed wid-edit.el
5142
4857Toby Allsopp: changed ldap.el eudc.el 5143Toby Allsopp: changed ldap.el eudc.el
4858 5144
4859Toby Cubitt: co-wrote avl-tree.el 5145Toby Cubitt: co-wrote avl-tree.el
@@ -4877,6 +5163,10 @@ Tom Hageman: changed etags.c
4877 5163
4878Tom Houlder: wrote mantemp.el 5164Tom Houlder: wrote mantemp.el
4879 5165
5166Tom Levy: changed sequences.texi
5167
5168Tommi Komulainen: changed progmodes/python.el
5169
4880Tommi Vainikainen: changed gnus-sum.el message.el mml-sec.el 5170Tommi Vainikainen: changed gnus-sum.el message.el mml-sec.el
4881 5171
4882Tomohiko Morioka: co-wrote mm-bodies.el mm-decode.el mm-encode.el 5172Tomohiko Morioka: co-wrote mm-bodies.el mm-decode.el mm-encode.el
@@ -4902,12 +5192,12 @@ Tom Seddon: changed w32font.c
4902 5192
4903Tom Tromey: wrote bug-reference.el erc-list.el package-x.el 5193Tom Tromey: wrote bug-reference.el erc-list.el package-x.el
4904and co-wrote package.el tcl.el 5194and co-wrote package.el tcl.el
4905and changed js.el buffer.c lisp.h css-mode.el js-tests.el mhtml-mode.el 5195and changed data.c lisp.h js.el buffer.c data-tests.el alloc.c
4906 makefile.el window.c cmds.c files.el keyboard.c keymap.c process.c 5196 css-mode.el js-tests.el mhtml-mode.el process.c window.c editfns.c
4907 xfns.c buffer.h bytecode.c callint.c callproc.c composite.c 5197 fns.c keyboard.c keymap.c lread.c makefile.el xfns.c bytecode.c cmds.c
4908 configure.ac dispextern.h and 176 other files 5198 configure.ac and 206 other files
4909 5199
4910Tom Willemse: changed elec-pair.el package.el prog-mode.el 5200Tom Willemse: changed elec-pair.el package.el perl-mode.el prog-mode.el
4911 progmodes/python.el simple.el 5201 progmodes/python.el simple.el
4912 5202
4913Toon Claes: changed latin-alt.el 5203Toon Claes: changed latin-alt.el
@@ -4930,7 +5220,7 @@ Toshiaki Nomura: changed uxpds.h
4930 5220
4931Trent W. Buck: changed rcirc.el remember.el rx.el 5221Trent W. Buck: changed rcirc.el remember.el rx.el
4932 5222
4933Trevor Murphy: changed gnus.texi nnimap.el org.el 5223Trevor Murphy: changed find-dired.el gnus.texi nnimap.el org.el
4934 5224
4935Trevor Spiteri: changed progmodes/grep.el 5225Trevor Spiteri: changed progmodes/grep.el
4936 5226
@@ -4940,6 +5230,8 @@ Triet Hoai Lai: changed vntelex.el viet-util.el vietnamese.el
4940 5230
4941Troels Nielsen: changed process.c buffer.c progmodes/compile.el window.el 5231Troels Nielsen: changed process.c buffer.c progmodes/compile.el window.el
4942 5232
5233Troy Hinckley: changed progmodes/compile.el
5234
4943Trung Tran-Duc: changed nntp.el 5235Trung Tran-Duc: changed nntp.el
4944 5236
4945Tsuchiya Masatoshi: changed gnus-art.el mm-view.el gnus-sum.el 5237Tsuchiya Masatoshi: changed gnus-art.el mm-view.el gnus-sum.el
@@ -4975,10 +5267,11 @@ and changed org-gnus.el smime.el
4975 5267
4976Ulrich Leodolter: changed w32proc.c 5268Ulrich Leodolter: changed w32proc.c
4977 5269
4978Ulrich Müller: changed configure.ac lib-src/Makefile.in src/Makefile.in 5270Ulrich Müller: changed configure.ac calc-units.el lib-src/Makefile.in
4979 version.el calc-units.el doctor.el emacs.1 files.el gamegrid.el gud.el 5271 src/Makefile.in version.el doctor.el emacs.1 files.el gamegrid.el
4980 server.el ChgPane.c ChgSel.c HELLO INSTALL Makefile.in XMakeAssoc.c 5272 gud.el server.el ChgPane.c ChgSel.c HELLO INSTALL Makefile.in
4981 authors.el bytecomp.el case-table.el configure and 39 other files 5273 XMakeAssoc.c authors.el bytecomp.el case-table.el configure
5274 and 39 other files
4982 5275
4983Ulrich Neumerkel: changed xterm.c 5276Ulrich Neumerkel: changed xterm.c
4984 5277
@@ -4993,7 +5286,9 @@ Vadim Nasardinov: changed allout.el
4993 5286
4994Vagn Johansen: changed gnus-cache.el vc-svn.el 5287Vagn Johansen: changed gnus-cache.el vc-svn.el
4995 5288
4996Vaidheeswaran C: changed help-mode.el 5289Vaidheeswaran C: changed help-mode.el tabulated-list.el
5290
5291Väinö Järvelä: changed nsfns.m
4997 5292
4998Valentin Gatien-Baron: changed emacs-module.c 5293Valentin Gatien-Baron: changed emacs-module.c
4999 5294
@@ -5001,10 +5296,12 @@ Valentin Wüstholz: changed org.el
5001 5296
5002Valery Alexeev: changed cyril-util.el cyrillic.el 5297Valery Alexeev: changed cyril-util.el cyrillic.el
5003 5298
5299Van L: changed subr.el
5300
5004Vasilij Schneidermann: changed cus-start.el eww.el cc-mode.el 5301Vasilij Schneidermann: changed cus-start.el eww.el cc-mode.el
5005 debugging.texi display.texi edebug.el emacs-lisp/debug.el eval.c 5302 debugging.texi display.texi edebug.el emacs-lisp/debug.el eval.c
5006 ielm.el os.texi redisplay-testsuite.el shr.el snake.el term.el 5303 ielm.el os.texi profiler.el redisplay-testsuite.el shr.el snake.el
5007 tetris.el xdisp.c xterm.c 5304 term.el tetris.el xdisp.c xterm.c
5008 5305
5009Vasily Korytov: changed cyrillic.el message.el cperl-mode.el gnus-art.el 5306Vasily Korytov: changed cyrillic.el message.el cperl-mode.el gnus-art.el
5010 gnus-dired.el gnus-msg.el gnus-util.el mail-source.el 5307 gnus-dired.el gnus-msg.el gnus-util.el mail-source.el
@@ -5013,9 +5310,10 @@ Vasily Korytov: changed cyrillic.el message.el cperl-mode.el gnus-art.el
5013Vegard Øye: changed viper-init.el 5310Vegard Øye: changed viper-init.el
5014 5311
5015Vibhav Pant: changed bytecomp.el byte-opt.el bytecode.c bytecomp-tests.el 5312Vibhav Pant: changed bytecomp.el byte-opt.el bytecode.c bytecomp-tests.el
5016 esh-mode.el cperl-mode.el disass.el alloc.c browse-url.el category.c 5313 erc.el esh-mode.el cperl-mode.el disass.el erc-backend.el
5017 emacs-module.c erc-backend.el erc.el eshell.texi fns.c hangul.el 5314 erc-services.el alloc.c browse-url.el category.c emacs-module.c
5018 image.c lisp.h lread.c print.c profiler.c xterm.c 5315 erc-dcc.el eshell.texi fns.c hangul.el image.c lisp.h lread.c
5316 and 4 other files
5019 5317
5020Victor J. Orlikowski: changed erc-dcc.el 5318Victor J. Orlikowski: changed erc-dcc.el
5021 5319
@@ -5045,8 +5343,8 @@ and changed ps-prin1.ps ps-bdf.el ps-prin0.ps blank-mode.el ps-prin3.ps
5045 easymenu.el loading.texi menu-bar.el misc.texi progmodes/compile.el 5343 easymenu.el loading.texi menu-bar.el misc.texi progmodes/compile.el
5046 ps-print-def.el ps-vars.el 5344 ps-print-def.el ps-vars.el
5047 5345
5048Vitalie Spinu: changed comint.el message.el ob-R.el ob-core.el 5346Vitalie Spinu: changed comint.el eieio-base.el message.el ob-R.el
5049 ob-tangle.el subr.el 5347 ob-core.el ob-tangle.el subr.el
5050 5348
5051Vitaly Takmazov: changed emacs-x64.manifest emacs-x86.manifest 5349Vitaly Takmazov: changed emacs-x64.manifest emacs-x86.manifest
5052 5350
@@ -5078,7 +5376,7 @@ Warren Lynn: changed tramp-sh.el
5078 5376
5079Wei-Wei Guo: co-wrote rst.el 5377Wei-Wei Guo: co-wrote rst.el
5080 5378
5081Wenjamin Petrenko: changed files-x.el 5379Wenjamin Petrenko: changed files-x.el filesets.el
5082 5380
5083Werner Benger: changed keyboard.c 5381Werner Benger: changed keyboard.c
5084 5382
@@ -5097,10 +5395,12 @@ Wes Hardaker: changed gnus-score.el gnus-art.el gnus-sum.el gnus-win.el
5097 5395
5098Wesley Dawson: changed icomplete.el 5396Wesley Dawson: changed icomplete.el
5099 5397
5398W. Garrett Mitchener: changed ipa-praat.el
5399
5100Wieland Hoffmann: changed auth-source.el custom.el 5400Wieland Hoffmann: changed auth-source.el custom.el
5101 5401
5102Wilfred Hughes: changed button.el byte-opt.el help.el sh-script.el 5402Wilfred Hughes: changed button.el byte-opt.el css-mode.el find-func.el
5103 subr.el vc-git.el 5403 help-mode.el help.el hexl.el sh-script.el subr.el vc-git.el
5104 5404
5105Will Glozer: changed macterm.c 5405Will Glozer: changed macterm.c
5106 5406
@@ -5139,12 +5439,16 @@ and changed files.el
5139Wim Nieuwenhuizen: changed TUTORIAL.nl 5439Wim Nieuwenhuizen: changed TUTORIAL.nl
5140 5440
5141Wlodzimierz Bzyl: co-wrote ogonek.el 5441Wlodzimierz Bzyl: co-wrote ogonek.el
5142and changed latin-pre.el pl-refcard.tex survival.tex 5442and changed pl-refcard.tex
5443
5444Włodzimierz Bzyl: changed latin-pre.el pl-refcard.tex survival.tex
5143 5445
5144W. Martin Borgert: changed files.el schemas.xml 5446W. Martin Borgert: changed files.el schemas.xml
5145 5447
5146Wojciech Gac: changed latin-pre.el quail/cyrillic.el 5448Wojciech Gac: changed latin-pre.el quail/cyrillic.el
5147 5449
5450Wojciech S. Gac: wrote sami.el
5451
5148Wolfgang Glas: changed unexsgi.c 5452Wolfgang Glas: changed unexsgi.c
5149 5453
5150Wolfgang Jenkner: wrote man-tests.el textprop-tests.el 5454Wolfgang Jenkner: wrote man-tests.el textprop-tests.el
@@ -5161,7 +5465,7 @@ and changed process.c alloc.c callint.c config.in configure.ac data.c
5161 fns.c lisp-mode.el lisp.h loadup.el lread.c net-utils.el nntp.el 5465 fns.c lisp-mode.el lisp.h loadup.el lread.c net-utils.el nntp.el
5162 print.c sort.el 5466 print.c sort.el
5163 5467
5164Wolfgang Scherer: changed vc-cvs.el 5468Wolfgang Scherer: changed vc-cvs.el vc-dir.el vc-svn.el vc.el pcvs.el
5165 5469
5166Wolfgang Schnerring: changed emacsclient.c 5470Wolfgang Schnerring: changed emacsclient.c
5167 5471
@@ -5175,7 +5479,7 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el mh-utils.el spam.el
5175 5479
5176Xi Lu: changed etags.c tramp-sh.el 5480Xi Lu: changed etags.c tramp-sh.el
5177 5481
5178Xu Chunyang: changed gud.el 5482Xu Chunyang: changed dom.el eww.el gud.el netrc.el
5179 5483
5180Xue Fuqiao: changed display.texi emacs-lisp-intro.texi files.texi 5484Xue Fuqiao: changed display.texi emacs-lisp-intro.texi files.texi
5181 maintaining.texi text.texi windows.texi nonascii.texi frames.texi 5485 maintaining.texi text.texi windows.texi nonascii.texi frames.texi
@@ -5188,15 +5492,17 @@ Yagi Tatsuya: changed gnus-art.el gnus-start.el
5188Yair F: changed hebrew.el 5492Yair F: changed hebrew.el
5189 5493
5190Yamamoto Mitsuharu: wrote uvs.el 5494Yamamoto Mitsuharu: wrote uvs.el
5191and changed macterm.c macfns.c mac-win.el mac.c macterm.h macmenu.c 5495and changed macterm.c macfns.c mac-win.el xterm.c mac.c macterm.h image.c
5192 xterm.c macgui.h image.c xdisp.c keyboard.c macselect.c w32term.c 5496 macmenu.c macgui.h xdisp.c ftfont.c xfns.c keyboard.c macselect.c
5193 src/Makefile.in unexmacosx.c xfns.c configure.ac emacs.c macfont.m 5497 ftcrfont.c configure.ac macfont.m w32term.c dispextern.h
5194 darwin.h dispnew.c and 97 other files 5498 src/Makefile.in unexmacosx.c and 109 other files
5195 5499
5196Yann Dirson: changed imenu.el 5500Yann Dirson: changed imenu.el
5197 5501
5198Yann Hodique: changed ox-publish.el package.el rcirc.el 5502Yann Hodique: changed ox-publish.el package.el rcirc.el
5199 5503
5504Yasuhiro Kimura: changed japan-util.el
5505
5200Yasushi Shoji: changed org-clock.el org.texi ox-ascii.el 5506Yasushi Shoji: changed org-clock.el org.texi ox-ascii.el
5201 5507
5202Yavor Doganov: changed configure.ac Makefile.in emacs.1 etags.1 make-dist 5508Yavor Doganov: changed configure.ac Makefile.in emacs.1 etags.1 make-dist
@@ -5221,6 +5527,8 @@ Yoshinari Nomura: changed ox-html.el ox.el
5221Yoshinori Koseki: wrote iimage.el 5527Yoshinori Koseki: wrote iimage.el
5222and changed fontset.el message.el nnheader.el nnmail.el 5528and changed fontset.el message.el nnheader.el nnmail.el
5223 5529
5530Yuan Fu: changed gdb-mi.el
5531
5224Yuanle Song: changed rng-xsd.el 5532Yuanle Song: changed rng-xsd.el
5225 5533
5226Yu-ji Hosokawa: changed README.W32 5534Yu-ji Hosokawa: changed README.W32
diff --git a/etc/DEBUG b/etc/DEBUG
index a5e641824ae..7fb7e447583 100644
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -739,9 +739,9 @@ stepping, you will see where the loop starts and ends. Also, examine
739the data being used in the loop and try to determine why the loop does 739the data being used in the loop and try to determine why the loop does
740not exit when it should. 740not exit when it should.
741 741
742On GNU and Unix systems, you can also trying sending Emacs SIGUSR2, 742On GNU and Unix systems, you can also try sending Emacs SIGUSR2,
743which, if 'debug-on-event' has its default value, will cause Emacs to 743which, if 'debug-on-event' has its default value, will cause Emacs to
744attempt to break it out of its current loop and into the Lisp 744attempt to break out of its current loop and enter the Lisp
745debugger. (See the node "Debugging" in the ELisp manual for the 745debugger. (See the node "Debugging" in the ELisp manual for the
746details about the Lisp debugger.) This feature is useful when a 746details about the Lisp debugger.) This feature is useful when a
747C-level debugger is not conveniently available. 747C-level debugger is not conveniently available.
diff --git a/etc/NEWS b/etc/NEWS
index fcdf6dbe249..47b87afbc60 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -225,8 +225,8 @@ called when the function object is garbage-collected. Use
225'set_function_finalizer' to set the finalizer and 225'set_function_finalizer' to set the finalizer and
226'get_function_finalizer' to retrieve it. 226'get_function_finalizer' to retrieve it.
227 227
228** 'file-modes' and 'set-file-modes' now have an optional argument 228** 'file-modes', 'set-file-modes', and 'set-file-times' now have an
229specifying whether to follow symbolic links. 229optional argument specifying whether to follow symbolic links.
230 230
231** 'parse-time-string' can now parse ISO 8601 format strings, 231** 'parse-time-string' can now parse ISO 8601 format strings,
232such as "2020-01-15T16:12:21-08:00". 232such as "2020-01-15T16:12:21-08:00".
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index e9dfd266b46..1eff9261147 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -347,14 +347,18 @@ The default value is 30000, as the previously hard-coded threshold.
347+++ 347+++
348** The function 'read-passwd' uses "*" as default character to hide passwords. 348** The function 'read-passwd' uses "*" as default character to hide passwords.
349 349
350+++
350** The function 'read-answer' now accepts not only single character 351** The function 'read-answer' now accepts not only single character
351answers, but also function keys like 'F1', character events such as 352answers, but also function keys like 'F1', character events such as
352'C-M-h', and control characters like 'C-h'. 353'C-M-h', and control characters like 'C-h'.
353 354
354** Lexical binding is now used when evaluating interactive Elisp forms. 355+++
355More specifically, 'lexical-binding' is now used for 'M-:', '--eval', 356** Lexical binding is now used by default when evaluating interactive Elisp.
356as well as in 'lisp-interaction-mode' and 'ielm-mode', used in the 357More specifically, 'lexical-binding' is now used by default for 'M-:'
357"*scratch*" and "*ielm*" buffers. 358and '--eval' (including in evaluations invoked from 'emacsclient' via
359its '--eval' command-line option), as well as in
360'lisp-interaction-mode' and 'ielm-mode', used in the "*scratch*" and
361"*ielm*" buffers.
358 362
359--- 363---
360** The new user option 'tooltip-resize-echo-area' avoids truncating 364** The new user option 'tooltip-resize-echo-area' avoids truncating
@@ -489,6 +493,7 @@ matches strings where the pattern appears as a subsequence. Put
489simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex' 493simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex'
490to 'completion-styles' or 'completion-category-overrides' to use it. 494to 'completion-styles' or 'completion-category-overrides' to use it.
491 495
496---
492** The 'completion-common-part' face is now visible by default. 497** The 'completion-common-part' face is now visible by default.
493 498
494+++ 499+++
@@ -555,6 +560,7 @@ mode, they are described in the manual "(emacs) Display".
555** New user option 'xref-file-name-display' controls the display of 560** New user option 'xref-file-name-display' controls the display of
556file names in xref buffers. 561file names in xref buffers.
557 562
563---
558** New user option 'byte-count-to-string-function'. 564** New user option 'byte-count-to-string-function'.
559It is used for displaying file sizes and disk space in some cases. 565It is used for displaying file sizes and disk space in some cases.
560 566
@@ -586,6 +592,7 @@ The HIST argument of 'read-from-minibuffer' now works correctly with
586buffer-local variables. This means that different buffers can have 592buffer-local variables. This means that different buffers can have
587their own separated input history list if desired. 593their own separated input history list if desired.
588 594
595+++
589** 'backup-by-copying-when-privileged-mismatch' applies to file gid, too. 596** 'backup-by-copying-when-privileged-mismatch' applies to file gid, too.
590In addition to checking the file owner uid, Emacs also checks that the 597In addition to checking the file owner uid, Emacs also checks that the
591group gid is not greater than 'backup-by-copying-when-privileged-mismatch'; 598group gid is not greater than 'backup-by-copying-when-privileged-mismatch';
@@ -739,9 +746,11 @@ non-nil.
739what they're named, and the 'battery-linux-sysfs-regexp' variable has 746what they're named, and the 'battery-linux-sysfs-regexp' variable has
740been removed. 747been removed.
741 748
749---
742** The 'list-processes' command now includes port numbers in the 750** The 'list-processes' command now includes port numbers in the
743network connection information (in addition to the host name). 751network connection information (in addition to the host name).
744 752
753---
745** The 'cl' package is now officially deprecated in favor of 'cl-lib'. 754** The 'cl' package is now officially deprecated in favor of 'cl-lib'.
746 755
747--- 756---
@@ -750,51 +759,55 @@ network connection information (in addition to the host name).
750*** When called interactively with a prefix arg 'C-u', 'desktop-read' 759*** When called interactively with a prefix arg 'C-u', 'desktop-read'
751now prompts the user for the directory containing the desktop file. 760now prompts the user for the directory containing the desktop file.
752 761
753+++
754** display-line-numbers-mode 762** display-line-numbers-mode
755 763
764+++
756*** New faces 'line-number-major-tick' and 'line-number-minor-tick', 765*** New faces 'line-number-major-tick' and 'line-number-minor-tick',
757and user options 'display-line-numbers-major-tick' and 766and user options 'display-line-numbers-major-tick' and
758'display-line-numbers-minor-tick' can be used to highlight the line 767'display-line-numbers-minor-tick' can be used to highlight the line
759numbers of lines multiple of certain numbers. 768numbers of lines multiple of certain numbers.
760 769
770+++
761*** New variable 'display-line-numbers-offset', when non-zero, adds 771*** New variable 'display-line-numbers-offset', when non-zero, adds
762an offset to absolute line numbers. 772an offset to absolute line numbers.
763 773
764+++
765** winner 774** winner
766 775
776+++
767*** A new user option, 'winner-boring-buffers-regexp', has been added. 777*** A new user option, 'winner-boring-buffers-regexp', has been added.
768 778
769** table 779** table
770 780
771*** 'table-generate-source' and friends now support outputting wiki and 781+++
772mediawiki format tables. 782*** 'table-generate-source' now supports wiki and mediawiki
783This command can now output wiki and mediawiki format tables.
773 784
774---
775** telnet-mode 785** telnet-mode
776 786
787---
777*** Reverting a buffer in 'telnet-mode' will restart a closed connection. 788*** Reverting a buffer in 'telnet-mode' will restart a closed connection.
778 789
779** goto-addr 790** goto-addr
780 791
792---
781*** A way to more conveniently specify what URI address schemes should 793*** A way to more conveniently specify what URI address schemes should
782be ignored has been added via the 'goto-address-uri-schemes-ignored' 794be ignored has been added via the 'goto-address-uri-schemes-ignored'
783variable. 795variable.
784 796
785+++
786** tex-mode 797** tex-mode
787 798
799+++
788*** 'latex-noindent-commands' controls indentation of certain commands. 800*** 'latex-noindent-commands' controls indentation of certain commands.
789You can use this new user option to control indentation of arguments of 801You can use this new user option to control indentation of arguments of
790\emph, \footnote, and similar commands. 802\emph, \footnote, and similar commands.
791 803
792** byte compiler 804** byte compiler
793 805
806+++
794*** 'byte-compile-dynamic' is now obsolete. 807*** 'byte-compile-dynamic' is now obsolete.
795This is because on the one hand it suffers from misbehavior in corner 808This is because on the one hand it suffers from misbehavior in corner
796cases that have plagued it for years, and on the other experiments indicated 809cases that have plagued it for years, and on the other hand experience
797that it doesn't bring any measurable benefit. 810indicates that it doesn't bring any measurable benefit.
798 811
799--- 812---
800*** The 'g' keystroke in "*Compile-Log*" buffers has been bound to a 813*** The 'g' keystroke in "*Compile-Log*" buffers has been bound to a
@@ -832,15 +845,19 @@ its functions.
832 845
833** doc-view.el 846** doc-view.el
834 847
848---
835*** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'. 849*** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'.
836 850
851---
837*** Added support for password-protected PDF files. 852*** Added support for password-protected PDF files.
838 853
854---
839*** A new user option 'doc-view-pdftotext-program-args' has been added 855*** A new user option 'doc-view-pdftotext-program-args' has been added
840to allow controlling how the conversion to text is done. 856to allow controlling how the conversion to text is done.
841 857
842** Ido 858** Ido
843 859
860---
844*** New user option 'ido-big-directories' to mark directories whose 861*** New user option 'ido-big-directories' to mark directories whose
845names match certain regular expressions as big. Ido won't attempt to 862names match certain regular expressions as big. Ido won't attempt to
846list the contents of such directories when completing file names. 863list the contents of such directories when completing file names.
@@ -871,6 +888,7 @@ at the end of the active minibuffer.
871*** Some commands that previously used 'read-char-choice' now read 888*** Some commands that previously used 'read-char-choice' now read
872a character using the minibuffer by 'read-char-from-minibuffer'. 889a character using the minibuffer by 'read-char-from-minibuffer'.
873 890
891---
874** map.el 892** map.el
875 893
876*** Now also understands plists. 894*** Now also understands plists.
@@ -882,6 +900,7 @@ a character using the minibuffer by 'read-char-from-minibuffer'.
882+++ 900+++
883*** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'. 901*** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'.
884 902
903---
885** seq.el 904** seq.el
886New convenience functions 'seq-first' and 'seq-rest' give easy access 905New convenience functions 'seq-first' and 'seq-rest' give easy access
887to respectively the first and all but the first elements of sequences. 906to respectively the first and all but the first elements of sequences.
@@ -941,6 +960,7 @@ functions 'windmove-coord-add', 'windmove-constrain-to-range',
941'windmove-constrain-loc-for-movement', 'windmove-wrap-loc-for-movement', 960'windmove-constrain-loc-for-movement', 'windmove-wrap-loc-for-movement',
942'windmove-reference-loc' and 'windmove-other-window-loc'. 961'windmove-reference-loc' and 'windmove-other-window-loc'.
943 962
963---
944** Octave mode 964** Octave mode
945The mode is automatically enabled in files that start with the 965The mode is automatically enabled in files that start with the
946'function' keyword. 966'function' keyword.
@@ -1103,9 +1123,11 @@ for a revision.
1103*** 'C-u C-x v D' ('vc-root-version-diff') prompts for two revisions 1123*** 'C-u C-x v D' ('vc-root-version-diff') prompts for two revisions
1104and compares their entire trees. 1124and compares their entire trees.
1105 1125
1126---
1106*** New user option 'vc-hg-revert-switches'. 1127*** New user option 'vc-hg-revert-switches'.
1107It specifies switches to pass to Hg's 'revert' command. 1128It specifies switches to pass to Hg's 'revert' command.
1108 1129
1130---
1109*** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase') 1131*** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase')
1110print diffs and logs between the merge base (common ancestor) of two 1132print diffs and logs between the merge base (common ancestor) of two
1111given revisions. 1133given revisions.
@@ -1475,9 +1497,9 @@ strings and report all the spelling mistakes.
1475+++ 1497+++
1476*** New minor mode Fido mode. 1498*** New minor mode Fido mode.
1477This mode is based on Icomplete, and its name stands for "Fake Ido". 1499This mode is based on Icomplete, and its name stands for "Fake Ido".
1478The point of this mode is to be an 'ido-mode' workalike, but provide 1500The point of this mode is to be an 'ido-mode' workalike, providing
1479most of the functionality present in Icomplete that is not in 1501most of the functionality present in 'ido-mode' that is not in
1480'ido-mode', while being much more compatible with all of Emacs's 1502Icomplete, which is much more compatible with all of Emacs's
1481completion facilities. 1503completion facilities.
1482 1504
1483** Ecomplete 1505** Ecomplete
@@ -1809,7 +1831,6 @@ keyboard macros.
1809'isearch-yank-symbol-or-char'. 'isearch-del-char' is now bound to 1831'isearch-yank-symbol-or-char'. 'isearch-del-char' is now bound to
1810'C-M-d'. 1832'C-M-d'.
1811 1833
1812+++
1813'M-s h l' invokes 'highlight-lines-matching-regexp' using the search 1834'M-s h l' invokes 'highlight-lines-matching-regexp' using the search
1814string to highlight lines matching the search string. This is similar 1835string to highlight lines matching the search string. This is similar
1815to the existing binding 'M-s h r' ('highlight-regexp') that highlights 1836to the existing binding 'M-s h r' ('highlight-regexp') that highlights
@@ -1964,6 +1985,7 @@ This is useful for games where lower scores are better, like time-based games.
1964*** Completing file names in the minibuffer via 'C-TAB' now uses the 1985*** Completing file names in the minibuffer via 'C-TAB' now uses the
1965styles as configured by the user option 'completion-styles'. 1986styles as configured by the user option 'completion-styles'.
1966 1987
1988+++
1967** New macros 'thunk-let' and 'thunk-let*'. 1989** New macros 'thunk-let' and 'thunk-let*'.
1968These macros are analogue to 'let' and 'let*', but create bindings that 1990These macros are analogue to 'let' and 'let*', but create bindings that
1969are evaluated lazily. 1991are evaluated lazily.
@@ -2187,8 +2209,9 @@ are formatted as MIME digests.
2187*** 'message-forward-included-headers' has changed its default to 2209*** 'message-forward-included-headers' has changed its default to
2188exclude most headers when forwarding. 2210exclude most headers when forwarding.
2189 2211
2212---
2190*** 'mml-secure-openpgp-sign-with-sender' sets also "gpg --sender". 2213*** 'mml-secure-openpgp-sign-with-sender' sets also "gpg --sender".
2191When 'mml-secure-openpgp-sign-with-sender' is non-nil message sender's 2214When 'mml-secure-openpgp-sign-with-sender' is non-nil, message sender's
2192email address (in addition to its old behavior) will also be used to 2215email address (in addition to its old behavior) will also be used to
2193set gpg's "--sender email@domain" option. 2216set gpg's "--sender email@domain" option.
2194 2217
@@ -2323,7 +2346,16 @@ With 'or' and 'not', it can be used to compose character-matching
2323expressions from simpler parts. 2346expressions from simpler parts.
2324 2347
2325+++ 2348+++
2326*** 'not' argument can now be a character or single-char string. 2349*** 'not' now accepts more argument types.
2350The argument can now also be a character, a single-character string,
2351an 'intersection' form, or an 'or' form whose arguments each match a
2352single character.
2353
2354+++
2355*** Nested 'or' forms of strings guarantee a longest match.
2356For example, '(or (or "IN" "OUT") (or "INPUT" "OUTPUT"))' now matches
2357the whole string "INPUT" if present, not just "IN". Previously, this
2358was only guaranteed inside a single 'or' form of string literals.
2327 2359
2328** Frames 2360** Frames
2329 2361
@@ -2631,6 +2663,7 @@ overrides all system and Emacs-provided defaults. To get the old
2631method back, set 'mailcap-prefer-mailcap-viewers' to nil. 2663method back, set 'mailcap-prefer-mailcap-viewers' to nil.
2632 2664
2633** MH-E 2665** MH-E
2666
2634+++ 2667+++
2635*** The hook 'mh-show-mode-hook' is now called before the message is inserted. 2668*** The hook 'mh-show-mode-hook' is now called before the message is inserted.
2636Functions that want to affect the message text (for example, to change 2669Functions that want to affect the message text (for example, to change
@@ -3075,6 +3108,7 @@ with POSIX.1-2017.
3075'decoded-time-weekday', 'decoded-time-dst' and 'decoded-time-zone' 3108'decoded-time-weekday', 'decoded-time-dst' and 'decoded-time-zone'
3076accessors can be used. 3109accessors can be used.
3077 3110
3111+++
3078*** The new functions 'date-days-in-month' (which will say how many 3112*** The new functions 'date-days-in-month' (which will say how many
3079days there are in a month in a specific year), 'date-ordinal-to-time' 3113days there are in a month in a specific year), 'date-ordinal-to-time'
3080(that computes the date of an ordinal day), 'decoded-time-add' (for 3114(that computes the date of an ordinal day), 'decoded-time-add' (for
@@ -3134,6 +3168,7 @@ throughput of reading from sub-processes that produces vast
3134** The new user option 'quit-window-hook' is now run first when 3168** The new user option 'quit-window-hook' is now run first when
3135executing the 'quit-window' command. 3169executing the 'quit-window' command.
3136 3170
3171+++
3137** The user options 'help-enable-completion-auto-load', 3172** The user options 'help-enable-completion-auto-load',
3138'help-enable-auto-load' and 'vhdl-project-auto-load', as well as the 3173'help-enable-auto-load' and 'vhdl-project-auto-load', as well as the
3139function 'vhdl-auto-load-project' have been renamed to have "autoload" 3174function 'vhdl-auto-load-project' have been renamed to have "autoload"
@@ -3614,15 +3649,18 @@ signal 'user-error' if there is no buffer to switch to.
3614** Battery status is now supported in all Cygwin builds. 3649** Battery status is now supported in all Cygwin builds.
3615Previously it was supported only in the Cygwin-w32 build. 3650Previously it was supported only in the Cygwin-w32 build.
3616 3651
3652---
3617** Emacs now handles key combinations involving the macOS "command" 3653** Emacs now handles key combinations involving the macOS "command"
3618and "option" modifier keys more correctly. 3654and "option" modifier keys more correctly.
3619 3655
3656+++
3620** MacOS modifier key behavior is now more adjustable. 3657** MacOS modifier key behavior is now more adjustable.
3621The behavior of the macOS "Option", "Command", "Control" and 3658The behavior of the macOS "Option", "Command", "Control" and
3622"Function" keys can now be specified separately for use with 3659"Function" keys can now be specified separately for use with
3623ordinary keys, function keys and mouse clicks. This allows using them 3660ordinary keys, function keys and mouse clicks. This allows using them
3624in their standard macOS way for composing characters. 3661in their standard macOS way for composing characters.
3625 3662
3663+++
3626** The special handling of 'frame-title-format' on NS where setting it 3664** The special handling of 'frame-title-format' on NS where setting it
3627to t would enable the macOS proxy icon has been replaced with a 3665to t would enable the macOS proxy icon has been replaced with a
3628separate variable, 'ns-use-proxy-icon'. 'frame-title-format' will now 3666separate variable, 'ns-use-proxy-icon'. 'frame-title-format' will now
@@ -3673,6 +3711,7 @@ modifier keys in line with Apples guidelines. This makes the drag and
3673drop behavior more consistent, as previously the sending application 3711drop behavior more consistent, as previously the sending application
3674was able to 'set' modifiers without the knowledge of the user. 3712was able to 'set' modifiers without the knowledge of the user.
3675 3713
3714---
3676** On NS multicolor font display is enabled again since it is also 3715** On NS multicolor font display is enabled again since it is also
3677implemented in Emacs on free operating systems via Cairo drawing. 3716implemented in Emacs on free operating systems via Cairo drawing.
3678 3717
diff --git a/etc/TODO b/etc/TODO
index 0a06484c165..20262a77e97 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -244,6 +244,23 @@ populate composition-function-table with those rules. See
244composite.el for examples of this, and also grep lisp/language/*.el 244composite.el for examples of this, and also grep lisp/language/*.el
245for references to composition-function-table. 245for references to composition-function-table.
246 246
247One problem with character compositions that will need to be solved is
248that composition-function-table, the char-table which holds the
249composition rules, is a global variable, whereas use of ligatures is
250inherently specific to buffer-local stuff like the major mode and the
251script or language in use. So there should be a buffer-local variable
252to augment/customize/override the global composition rules.
253
254Another problem is that ligatures are frequently composed of ASCII
255characters, and some of those ASCII characters are present in the mode
256line, for example "--". Since displaying a ligature instead of 2
257separate '-' characters on a mode line is not right, there should be a
258way of preventing the ligation from happening. One possibility is to
259have a ZWNJ character separate these ASCII characters; another
260possibility is to introduce a special text property that prevents
261character composition, and place that property on the relevant parts
262of the mode line.
263
247The prettify-symbols-mode should be deprecated once ligature support 264The prettify-symbols-mode should be deprecated once ligature support
248is in place. 265is in place.
249 266
@@ -267,6 +284,60 @@ should invoke the 'shape' method. 'hbfont_shape' should be extended
267to pass to 'hb_shape_full' the required array of features, as 284to pass to 'hb_shape_full' the required array of features, as
268mentioned in the above HarfBuzz discussion. 285mentioned in the above HarfBuzz discussion.
269 286
287** Better support for displaying Emoji
288
289Emacs is capable of displaying Emoji and some of the Emoji sequences,
290provided that its fontsets are configured with a suitable font. To
291make this easier out of the box, the following should be done:
292
293*** Populate composition-function-table with Emoji rules
294
295The Unicode Character Database (UCD) includes several data files that
296define the valid Emoji sequences. These files should be imported into
297the Emacs tree, and should be converted by some script at Emacs build
298time to Lisp code that populates composition-function-table with the
299corresponding composition rules.
300
301*** Augment the default fontsets with Emoji-capable fonts
302
303The default fontsets set up by fontest.el should include known free
304fonts that provide good support for displaying Emoji sequences. In
305addition, the rule that the default face's font is used for symbol and
306punctuation characters, disregarding the fontsets, should be modified
307to exempt Emoji from this rule (since Emoji characters belong to the
308'symbol' script in Emacs), so that use-default-font-for-symbols would
309not have to be tweaked to have Emoji display by default with a capable
310font.
311
312*** Consider changing the default display of Variation Selectors
313
314Emacs by default displays the Variation Selector (VS) codepoints not
315composed with base characters as hex codes in a box. The Unicode FAQ
316says that if variation sequences cannot be supported, the VS
317characters should not be shown, leaving just the base character of the
318sequence visible. This could be handled via glyphless-char-display,
319by changing the entries for VS codepoints to 'zero-width'. Or we
320could display them as a thin 1-pixel space, as we do with format
321control characters, by using 'thin-space' there.
322
323*** Special face for displaying text presentation of Emoji
324
325Emoji-capable fonts support Emoji sequences with the U+FE0F VARIATION
326SELECTOR-16 (VS16) for emoji-style display, but usually don't support
327the U+FE0F VARIATION SELECTOR-15 (VS15) for text-style display. There
328are other fonts which support the text-style sequences, but not
329emoji-style. Since Emacs selects a font based on a single character,
330it cannot choose 2 different fonts for displaying both styles of the
331same base character. To display both styles in the same buffer, one
332could use a special face, placing a 'face' text property on portions
333of the text. This special face could specify a specific font known to
334support text-style Emoji sequences. Emacs could have such a face
335built-in.
336
337See the discussion of bug#39799 for more details about this task.
338Another relevant resource is the Unicode Technical Standard #51
339"Unicode Emoji" (http://www.unicode.org/reports/tr51/).
340
270** Extend text-properties and overlays 341** Extend text-properties and overlays
271*** Several text-property planes 342*** Several text-property planes
272This would get us rid of font-lock-face property (and I'd be happy to 343This would get us rid of font-lock-face property (and I'd be happy to
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 174c33a7a5f..eee2c596262 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -124,6 +124,7 @@ University of California, as described above. */
124#include <binary-io.h> 124#include <binary-io.h>
125#include <intprops.h> 125#include <intprops.h>
126#include <unlocked-io.h> 126#include <unlocked-io.h>
127#include <verify.h>
127#include <c-ctype.h> 128#include <c-ctype.h>
128#include <c-strcase.h> 129#include <c-strcase.h>
129 130
@@ -7310,6 +7311,8 @@ static void *
7310xnmalloc (ptrdiff_t nitems, ptrdiff_t item_size) 7311xnmalloc (ptrdiff_t nitems, ptrdiff_t item_size)
7311{ 7312{
7312 ptrdiff_t nbytes; 7313 ptrdiff_t nbytes;
7314 assume (0 <= nitems);
7315 assume (0 < item_size);
7313 if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes)) 7316 if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes))
7314 memory_full (); 7317 memory_full ();
7315 return xmalloc (nbytes); 7318 return xmalloc (nbytes);
@@ -7319,6 +7322,8 @@ static void *
7319xnrealloc (void *pa, ptrdiff_t nitems, ptrdiff_t item_size) 7322xnrealloc (void *pa, ptrdiff_t nitems, ptrdiff_t item_size)
7320{ 7323{
7321 ptrdiff_t nbytes; 7324 ptrdiff_t nbytes;
7325 assume (0 <= nitems);
7326 assume (0 < item_size);
7322 if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes) || SIZE_MAX < nbytes) 7327 if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes) || SIZE_MAX < nbytes)
7323 memory_full (); 7328 memory_full ();
7324 void *result = realloc (pa, nbytes); 7329 void *result = realloc (pa, nbytes);
diff --git a/lib/futimens.c b/lib/futimens.c
new file mode 100644
index 00000000000..83fb27cb6aa
--- /dev/null
+++ b/lib/futimens.c
@@ -0,0 +1,37 @@
1/* Set the access and modification time of an open fd.
2 Copyright (C) 2009-2020 Free Software Foundation, Inc.
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
16
17/* written by Eric Blake */
18
19#include <config.h>
20
21#include <sys/stat.h>
22
23#include "utimens.h"
24
25/* Set the access and modification timestamps of FD to be
26 TIMESPEC[0] and TIMESPEC[1], respectively.
27 Fail with ENOSYS on systems without futimes (or equivalent).
28 If TIMESPEC is null, set the timestamps to the current time.
29 Return 0 on success, -1 (setting errno) on failure. */
30int
31futimens (int fd, struct timespec const times[2])
32{
33 /* fdutimens also works around bugs in native futimens, when running
34 with glibc compiled against newer headers but on a Linux kernel
35 older than 2.6.32. */
36 return fdutimens (fd, NULL, times);
37}
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in
index d4dc6a3df33..e90d2e39049 100644
--- a/lib/gnulib.mk.in
+++ b/lib/gnulib.mk.in
@@ -106,6 +106,7 @@
106# fstatat \ 106# fstatat \
107# fsusage \ 107# fsusage \
108# fsync \ 108# fsync \
109# futimens \
109# getloadavg \ 110# getloadavg \
110# getopt-gnu \ 111# getopt-gnu \
111# gettime \ 112# gettime \
@@ -155,7 +156,7 @@
155# timespec-sub \ 156# timespec-sub \
156# unlocked-io \ 157# unlocked-io \
157# update-copyright \ 158# update-copyright \
158# utimens \ 159# utimensat \
159# vla \ 160# vla \
160# warnings 161# warnings
161 162
@@ -1087,6 +1088,7 @@ gl_GNULIB_ENABLED_lchmod = @gl_GNULIB_ENABLED_lchmod@
1087gl_GNULIB_ENABLED_malloca = @gl_GNULIB_ENABLED_malloca@ 1088gl_GNULIB_ENABLED_malloca = @gl_GNULIB_ENABLED_malloca@
1088gl_GNULIB_ENABLED_open = @gl_GNULIB_ENABLED_open@ 1089gl_GNULIB_ENABLED_open = @gl_GNULIB_ENABLED_open@
1089gl_GNULIB_ENABLED_strtoll = @gl_GNULIB_ENABLED_strtoll@ 1090gl_GNULIB_ENABLED_strtoll = @gl_GNULIB_ENABLED_strtoll@
1091gl_GNULIB_ENABLED_utimens = @gl_GNULIB_ENABLED_utimens@
1090gl_LIBOBJS = @gl_LIBOBJS@ 1092gl_LIBOBJS = @gl_LIBOBJS@
1091gl_LTLIBOBJS = @gl_LTLIBOBJS@ 1093gl_LTLIBOBJS = @gl_LTLIBOBJS@
1092gltests_LIBOBJS = @gltests_LIBOBJS@ 1094gltests_LIBOBJS = @gltests_LIBOBJS@
@@ -1733,6 +1735,17 @@ EXTRA_libgnu_a_SOURCES += fsync.c
1733endif 1735endif
1734## end gnulib module fsync 1736## end gnulib module fsync
1735 1737
1738## begin gnulib module futimens
1739ifeq (,$(OMIT_GNULIB_MODULE_futimens))
1740
1741
1742EXTRA_DIST += futimens.c
1743
1744EXTRA_libgnu_a_SOURCES += futimens.c
1745
1746endif
1747## end gnulib module futimens
1748
1736## begin gnulib module getdtablesize 1749## begin gnulib module getdtablesize
1737ifeq (,$(OMIT_GNULIB_MODULE_getdtablesize)) 1750ifeq (,$(OMIT_GNULIB_MODULE_getdtablesize))
1738 1751
@@ -3375,13 +3388,26 @@ endif
3375## begin gnulib module utimens 3388## begin gnulib module utimens
3376ifeq (,$(OMIT_GNULIB_MODULE_utimens)) 3389ifeq (,$(OMIT_GNULIB_MODULE_utimens))
3377 3390
3391ifneq (,$(gl_GNULIB_ENABLED_utimens))
3378libgnu_a_SOURCES += utimens.c 3392libgnu_a_SOURCES += utimens.c
3379 3393
3394endif
3380EXTRA_DIST += utimens.h 3395EXTRA_DIST += utimens.h
3381 3396
3382endif 3397endif
3383## end gnulib module utimens 3398## end gnulib module utimens
3384 3399
3400## begin gnulib module utimensat
3401ifeq (,$(OMIT_GNULIB_MODULE_utimensat))
3402
3403
3404EXTRA_DIST += at-func.c utimensat.c
3405
3406EXTRA_libgnu_a_SOURCES += at-func.c utimensat.c
3407
3408endif
3409## end gnulib module utimensat
3410
3385## begin gnulib module verify 3411## begin gnulib module verify
3386ifeq (,$(OMIT_GNULIB_MODULE_verify)) 3412ifeq (,$(OMIT_GNULIB_MODULE_verify))
3387 3413
diff --git a/lib/open.c b/lib/open.c
index 487194f6652..bb180fde292 100644
--- a/lib/open.c
+++ b/lib/open.c
@@ -110,7 +110,9 @@ open (const char *filename, int flags, ...)
110 directories, 110 directories,
111 - if O_WRONLY or O_RDWR is specified, open() must fail because the 111 - if O_WRONLY or O_RDWR is specified, open() must fail because the
112 file does not contain a '.' directory. */ 112 file does not contain a '.' directory. */
113 if (flags & (O_CREAT | O_WRONLY | O_RDWR)) 113 if ((flags & O_CREAT)
114 || (flags & O_ACCMODE) == O_RDWR
115 || (flags & O_ACCMODE) == O_WRONLY)
114 { 116 {
115 size_t len = strlen (filename); 117 size_t len = strlen (filename);
116 if (len > 0 && filename[len - 1] == '/') 118 if (len > 0 && filename[len - 1] == '/')
diff --git a/lib/utimensat.c b/lib/utimensat.c
new file mode 100644
index 00000000000..63788d56480
--- /dev/null
+++ b/lib/utimensat.c
@@ -0,0 +1,160 @@
1/* Set the access and modification time of a file relative to directory fd.
2 Copyright (C) 2009-2020 Free Software Foundation, Inc.
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
16
17/* written by Eric Blake */
18
19#include <config.h>
20
21/* Specification. */
22#include <sys/stat.h>
23
24#include <errno.h>
25#include <fcntl.h>
26#include <stdlib.h>
27
28#include "stat-time.h"
29#include "timespec.h"
30#include "utimens.h"
31
32#if HAVE_UTIMENSAT
33
34# undef utimensat
35
36/* If we have a native utimensat, but are compiling this file, then
37 utimensat was defined to rpl_utimensat by our replacement
38 sys/stat.h. We assume the native version might fail with ENOSYS,
39 or succeed without properly affecting ctime (as is the case when
40 using newer glibc but older Linux kernel). In this scenario,
41 rpl_utimensat checks whether the native version is usable, and
42 local_utimensat provides the fallback manipulation. */
43
44static int local_utimensat (int, char const *, struct timespec const[2], int);
45# define AT_FUNC_NAME local_utimensat
46
47/* Like utimensat, but work around native bugs. */
48
49int
50rpl_utimensat (int fd, char const *file, struct timespec const times[2],
51 int flag)
52{
53# if defined __linux__ || defined __sun
54 struct timespec ts[2];
55# endif
56
57 /* See comments in utimens.c for details. */
58 static int utimensat_works_really; /* 0 = unknown, 1 = yes, -1 = no. */
59 if (0 <= utimensat_works_really)
60 {
61 int result;
62# if defined __linux__ || defined __sun
63 struct stat st;
64 /* As recently as Linux kernel 2.6.32 (Dec 2009), several file
65 systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT,
66 but work if both times are either explicitly specified or
67 UTIME_NOW. Work around it with a preparatory [l]stat prior
68 to calling utimensat; fortunately, there is not much timing
69 impact due to the extra syscall even on file systems where
70 UTIME_OMIT would have worked.
71
72 The same bug occurs in Solaris 11.1 (Apr 2013).
73
74 FIXME: Simplify this in 2024, when these file system bugs are
75 no longer common on Gnulib target platforms. */
76 if (times && (times[0].tv_nsec == UTIME_OMIT
77 || times[1].tv_nsec == UTIME_OMIT))
78 {
79 if (fstatat (fd, file, &st, flag))
80 return -1;
81 if (times[0].tv_nsec == UTIME_OMIT && times[1].tv_nsec == UTIME_OMIT)
82 return 0;
83 if (times[0].tv_nsec == UTIME_OMIT)
84 ts[0] = get_stat_atime (&st);
85 else
86 ts[0] = times[0];
87 if (times[1].tv_nsec == UTIME_OMIT)
88 ts[1] = get_stat_mtime (&st);
89 else
90 ts[1] = times[1];
91 times = ts;
92 }
93# ifdef __hppa__
94 /* Linux kernel 2.6.22.19 on hppa does not reject invalid tv_nsec
95 values. */
96 else if (times
97 && ((times[0].tv_nsec != UTIME_NOW
98 && ! (0 <= times[0].tv_nsec
99 && times[0].tv_nsec < TIMESPEC_HZ))
100 || (times[1].tv_nsec != UTIME_NOW
101 && ! (0 <= times[1].tv_nsec
102 && times[1].tv_nsec < TIMESPEC_HZ))))
103 {
104 errno = EINVAL;
105 return -1;
106 }
107# endif
108# endif
109 result = utimensat (fd, file, times, flag);
110 /* Linux kernel 2.6.25 has a bug where it returns EINVAL for
111 UTIME_NOW or UTIME_OMIT with non-zero tv_sec, which
112 local_utimensat works around. Meanwhile, EINVAL for a bad
113 flag is indeterminate whether the native utimensat works, but
114 local_utimensat will also reject it. */
115 if (result == -1 && errno == EINVAL && (flag & ~AT_SYMLINK_NOFOLLOW))
116 return result;
117 if (result == 0 || (errno != ENOSYS && errno != EINVAL))
118 {
119 utimensat_works_really = 1;
120 return result;
121 }
122 }
123 /* No point in trying openat/futimens, since on Linux, futimens is
124 implemented with the same syscall as utimensat. Only avoid the
125 native utimensat due to an ENOSYS failure; an EINVAL error was
126 data-dependent, and the next caller may pass valid data. */
127 if (0 <= utimensat_works_really && errno == ENOSYS)
128 utimensat_works_really = -1;
129 return local_utimensat (fd, file, times, flag);
130}
131
132#else /* !HAVE_UTIMENSAT */
133
134# define AT_FUNC_NAME utimensat
135
136#endif /* !HAVE_UTIMENSAT */
137
138/* Set the access and modification timestamps of FILE to be
139 TIMESPEC[0] and TIMESPEC[1], respectively; relative to directory
140 FD. If flag is AT_SYMLINK_NOFOLLOW, change the times of a symlink,
141 or fail with ENOSYS if not possible. If TIMESPEC is null, set the
142 timestamps to the current time. If possible, do it without
143 changing the working directory. Otherwise, resort to using
144 save_cwd/fchdir, then utimens/restore_cwd. If either the save_cwd
145 or the restore_cwd fails, then give a diagnostic and exit nonzero.
146 Return 0 on success, -1 (setting errno) on failure. */
147
148/* AT_FUNC_NAME is now utimensat or local_utimensat. */
149#define AT_FUNC_F1 lutimens
150#define AT_FUNC_F2 utimens
151#define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW
152#define AT_FUNC_POST_FILE_PARAM_DECLS , struct timespec const ts[2], int flag
153#define AT_FUNC_POST_FILE_ARGS , ts
154#include "at-func.c"
155#undef AT_FUNC_NAME
156#undef AT_FUNC_F1
157#undef AT_FUNC_F2
158#undef AT_FUNC_USE_F1_COND
159#undef AT_FUNC_POST_FILE_PARAM_DECLS
160#undef AT_FUNC_POST_FILE_ARGS
diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el
index 5713a7b0d1f..16243e16b45 100644
--- a/lisp/cedet/pulse.el
+++ b/lisp/cedet/pulse.el
@@ -181,6 +181,7 @@ Optional argument FACE specifies the face to do the highlighting."
181 (overlay-put o 'original-face (overlay-get o 'face)) 181 (overlay-put o 'original-face (overlay-get o 'face))
182 ;; Make this overlay take priority over the `transient-mark-mode' 182 ;; Make this overlay take priority over the `transient-mark-mode'
183 ;; overlay. 183 ;; overlay.
184 (overlay-put o 'original-priority (overlay-get o 'priority))
184 (overlay-put o 'priority 1) 185 (overlay-put o 'priority 1)
185 (setq pulse-momentary-overlay o) 186 (setq pulse-momentary-overlay o)
186 (if (eq pulse-flag 'never) 187 (if (eq pulse-flag 'never)
@@ -214,6 +215,7 @@ Optional argument FACE specifies the face to do the highlighting."
214 (let ((ol pulse-momentary-overlay)) 215 (let ((ol pulse-momentary-overlay))
215 (overlay-put ol 'face (overlay-get ol 'original-face)) 216 (overlay-put ol 'face (overlay-get ol 'original-face))
216 (overlay-put ol 'original-face nil) 217 (overlay-put ol 'original-face nil)
218 (overlay-put ol 'priority (overlay-get ol 'original-priority))
217 ;; Clear the overlay if it needs deleting. 219 ;; Clear the overlay if it needs deleting.
218 (when (overlay-get ol 'pulse-delete) (delete-overlay ol))) 220 (when (overlay-get ol 'pulse-delete) (delete-overlay ol)))
219 221
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 72c6fc7bf86..fe5616be668 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2171,50 +2171,9 @@ With argument ARG, insert value in current buffer after the form."
2171 ;; Make warnings about unresolved functions 2171 ;; Make warnings about unresolved functions
2172 ;; give the end of the file as their position. 2172 ;; give the end of the file as their position.
2173 (setq byte-compile-last-position (point-max)) 2173 (setq byte-compile-last-position (point-max))
2174 (byte-compile-warn-about-unresolved-functions)) 2174 (byte-compile-warn-about-unresolved-functions)))
2175 ;; Fix up the header at the front of the output
2176 ;; if the buffer contains multibyte characters.
2177 (and byte-compile-current-file
2178 (with-current-buffer byte-compile--outbuffer
2179 (byte-compile-fix-header byte-compile-current-file))))
2180 byte-compile--outbuffer))) 2175 byte-compile--outbuffer)))
2181 2176
2182(defun byte-compile-fix-header (_filename)
2183 "If the current buffer has any multibyte characters, insert a version test."
2184 (when (< (point-max) (position-bytes (point-max)))
2185 (goto-char (point-min))
2186 ;; Find the comment that describes the version condition.
2187 (when (search-forward "\n;;; This file does not contain utf-8" nil t)
2188 (narrow-to-region (line-beginning-position) (point-max))
2189 ;; Find the first line of ballast semicolons.
2190 (search-forward ";;;;;;;;;;")
2191 (beginning-of-line)
2192 (narrow-to-region (point-min) (point))
2193 (let ((old-header-end (point))
2194 (minimum-version "23")
2195 delta)
2196 (delete-region (point-min) (point-max))
2197 (insert
2198 ";;; This file contains utf-8 non-ASCII characters,\n"
2199 ";;; and so cannot be loaded into Emacs 22 or earlier.\n"
2200 ;; Have to check if emacs-version is bound so that this works
2201 ;; in files loaded early in loadup.el.
2202 "(and (boundp 'emacs-version)\n"
2203 ;; If there is a name at the end of emacs-version,
2204 ;; don't try to check the version number.
2205 " (< (aref emacs-version (1- (length emacs-version))) ?A)\n"
2206 (format " (string-lessp emacs-version \"%s\")\n" minimum-version)
2207 ;; Because the header must fit in a fixed width, we cannot
2208 ;; insert arbitrary-length file names (Bug#11585).
2209 " (error \"`%s' was compiled for "
2210 (format "Emacs %s or later\" #$))\n\n" minimum-version))
2211 ;; Now compensate for any change in size, to make sure all
2212 ;; positions in the file remain valid.
2213 (setq delta (- (point-max) old-header-end))
2214 (goto-char (point-max))
2215 (widen)
2216 (delete-char delta)))))
2217
2218(defun byte-compile-insert-header (_filename outbuffer) 2177(defun byte-compile-insert-header (_filename outbuffer)
2219 "Insert a header at the start of OUTBUFFER. 2178 "Insert a header at the start of OUTBUFFER.
2220Call from the source buffer." 2179Call from the source buffer."
@@ -2232,7 +2191,19 @@ Call from the source buffer."
2232 ;; 0 string ;ELC GNU Emacs Lisp compiled file, 2191 ;; 0 string ;ELC GNU Emacs Lisp compiled file,
2233 ;; >4 byte x version %d 2192 ;; >4 byte x version %d
2234 (insert 2193 (insert
2235 ";ELC" 23 "\000\000\000\n" 2194 ";ELC"
2195 (let ((version
2196 (if (zerop emacs-minor-version)
2197 ;; Let's allow silently loading into Emacs-27
2198 ;; files compiled with Emacs-28.0.NN since the two can
2199 ;; be almost identical (e.g. right after cutting the
2200 ;; release branch) and people running the development
2201 ;; branch can be presumed to know that it's risky anyway.
2202 (1- emacs-major-version) emacs-major-version)))
2203 ;; Make sure the version is a plain byte that doesn't end the comment!
2204 (cl-assert (and (> version 13) (< version 128)))
2205 version)
2206 "\000\000\000\n"
2236 ";;; Compiled\n" 2207 ";;; Compiled\n"
2237 ";;; in Emacs version " emacs-version "\n" 2208 ";;; in Emacs version " emacs-version "\n"
2238 ";;; with" 2209 ";;; with"
@@ -2244,16 +2215,7 @@ Call from the source buffer."
2244 ".\n" 2215 ".\n"
2245 (if dynamic ";;; Function definitions are lazy-loaded.\n" 2216 (if dynamic ";;; Function definitions are lazy-loaded.\n"
2246 "") 2217 "")
2247 "\n" 2218 "\n\n"))))
2248 ;; Note that byte-compile-fix-header may change this.
2249 ";;; This file does not contain utf-8 non-ASCII characters,\n"
2250 ";;; and so can be loaded in Emacs versions earlier than 23.\n\n"
2251 ;; Insert semicolons as ballast, so that byte-compile-fix-header
2252 ;; can delete them so as to keep the buffer positions
2253 ;; constant for the actual compiled code.
2254 ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
2255 ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
2256 ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n"))))
2257 2219
2258(defun byte-compile-output-file-form (form) 2220(defun byte-compile-output-file-form (form)
2259 ;; Write the given form to the output buffer, being careful of docstrings 2221 ;; Write the given form to the output buffer, being careful of docstrings
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index ccdddb47c35..fa5d1cff417 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -168,7 +168,7 @@
168;; not specifically docstring related. Would this even be useful? 168;; not specifically docstring related. Would this even be useful?
169 169
170;;; Code: 170;;; Code:
171(defvar checkdoc-version "0.6.1" 171(defvar checkdoc-version "0.6.2"
172 "Release version of checkdoc you are currently running.") 172 "Release version of checkdoc you are currently running.")
173 173
174(require 'cl-lib) 174(require 'cl-lib)
@@ -2073,7 +2073,7 @@ If the offending word is in a piece of quoted text, then it is skipped."
2073 ;; piece of an abbreviation 2073 ;; piece of an abbreviation
2074 ;; FIXME etc 2074 ;; FIXME etc
2075 (looking-at 2075 (looking-at
2076 "\\([a-zA-Z]\\|[iI]\\.?e\\|[eE]\\.?g\\)\\.")) 2076 "\\([a-zA-Z]\\|[iI]\\.?e\\|[eE]\\.?g\\|[cC]f\\)\\."))
2077 (error t)))) 2077 (error t))))
2078 (if (checkdoc-autofix-ask-replace 2078 (if (checkdoc-autofix-ask-replace
2079 b e 2079 b e
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
index e3dabdfcef2..e9bfe8df5f2 100644
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -556,11 +556,7 @@ too large if positive or too small if negative)."
556(defun cl-concatenate (type &rest sequences) 556(defun cl-concatenate (type &rest sequences)
557 "Concatenate, into a sequence of type TYPE, the argument SEQUENCEs. 557 "Concatenate, into a sequence of type TYPE, the argument SEQUENCEs.
558\n(fn TYPE SEQUENCE...)" 558\n(fn TYPE SEQUENCE...)"
559 (pcase type 559 (seq-concatenate type sequences))
560 ('vector (apply #'vconcat sequences))
561 ('string (apply #'concat sequences))
562 ('list (apply #'append (append sequences '(nil))))
563 (_ (error "Not a sequence type name: %S" type))))
564 560
565;;; List functions. 561;;; List functions.
566 562
diff --git a/lisp/emacs-lisp/cursor-sensor.el b/lisp/emacs-lisp/cursor-sensor.el
index 7728e78c471..d50f7ad0be5 100644
--- a/lisp/emacs-lisp/cursor-sensor.el
+++ b/lisp/emacs-lisp/cursor-sensor.el
@@ -141,61 +141,63 @@ By convention, this is a list of symbols where each symbol stands for the
141;;; Detect cursor movement. 141;;; Detect cursor movement.
142 142
143(defun cursor-sensor--detect (&optional window) 143(defun cursor-sensor--detect (&optional window)
144 (unless cursor-sensor-inhibit 144 (with-current-buffer (window-buffer window)
145 (let* ((point (window-point window)) 145 (unless cursor-sensor-inhibit
146 ;; It's often desirable to make the cursor-sensor-functions property 146 (let* ((point (window-point window))
147 ;; non-sticky on both ends, but that means get-pos-property might 147 ;; It's often desirable to make the
148 ;; never see it. 148 ;; cursor-sensor-functions property non-sticky on both
149 (new (and (eq (current-buffer) (window-buffer)) 149 ;; ends, but that means get-pos-property might never
150 (or (get-char-property point 'cursor-sensor-functions) 150 ;; see it.
151 (unless (<= (point-min) point) 151 (new (or (get-char-property point 'cursor-sensor-functions)
152 (get-char-property (1- point) 'cursor-sensor-functions))))) 152 (unless (<= (point-min) point)
153 (old (window-parameter window 'cursor-sensor--last-state)) 153 (get-char-property (1- point)
154 (oldposmark (car old)) 154 'cursor-sensor-functions))))
155 (oldpos (or (if oldposmark (marker-position oldposmark)) 155 (old (window-parameter window 'cursor-sensor--last-state))
156 (point-min))) 156 (oldposmark (car old))
157 (start (min oldpos point)) 157 (oldpos (or (if oldposmark (marker-position oldposmark))
158 (end (max oldpos point))) 158 (point-min)))
159 (unless (or (null old) (eq (marker-buffer oldposmark) (current-buffer))) 159 (start (min oldpos point))
160 ;; `window' does not display the same buffer any more! 160 (end (max oldpos point)))
161 (setcdr old nil)) 161 (unless (or (null old) (eq (marker-buffer oldposmark) (current-buffer)))
162 (if (or (and (null new) (null (cdr old))) 162 ;; `window' does not display the same buffer any more!
163 (and (eq new (cdr old)) 163 (setcdr old nil))
164 (eq (next-single-char-property-change 164 (if (or (and (null new) (null (cdr old)))
165 start 'cursor-sensor-functions nil end) 165 (and (eq new (cdr old))
166 end))) 166 (eq (next-single-char-property-change
167 ;; Clearly nothing to do. 167 start 'cursor-sensor-functions nil end)
168 nil 168 end)))
169 ;; Maybe something to do. Let's see exactly what needs to run. 169 ;; Clearly nothing to do.
170 (let* ((missing-p 170 nil
171 (lambda (f) 171 ;; Maybe something to do. Let's see exactly what needs to run.
172 "Non-nil if F is missing somewhere between START and END." 172 (let* ((missing-p
173 (let ((pos start) 173 (lambda (f)
174 (missing nil)) 174 "Non-nil if F is missing somewhere between START and END."
175 (while (< pos end) 175 (let ((pos start)
176 (setq pos (next-single-char-property-change 176 (missing nil))
177 pos 'cursor-sensor-functions 177 (while (< pos end)
178 nil end)) 178 (setq pos (next-single-char-property-change
179 (unless (memq f (get-char-property 179 pos 'cursor-sensor-functions
180 pos 'cursor-sensor-functions)) 180 nil end))
181 (setq missing t))) 181 (unless (memq f (get-char-property
182 missing))) 182 pos 'cursor-sensor-functions))
183 (window (selected-window))) 183 (setq missing t)))
184 (dolist (f (cdr old)) 184 missing)))
185 (unless (and (memq f new) (not (funcall missing-p f))) 185 (window (selected-window)))
186 (funcall f window oldpos 'left))) 186 (dolist (f (cdr old))
187 (dolist (f new) 187 (unless (and (memq f new) (not (funcall missing-p f)))
188 (unless (and (memq f (cdr old)) (not (funcall missing-p f))) 188 (funcall f window oldpos 'left)))
189 (funcall f window oldpos 'entered))))) 189 (dolist (f new)
190 190 (unless (and (memq f (cdr old)) (not (funcall missing-p f)))
191 ;; Remember current state for next time. 191 (funcall f window oldpos 'entered)))))
192 ;; Re-read cursor-sensor-functions since the functions may have moved 192
193 ;; window-point! 193 ;; Remember current state for next time.
194 (if old 194 ;; Re-read cursor-sensor-functions since the functions may have moved
195 (progn (move-marker (car old) point) 195 ;; window-point!
196 (setcdr old new)) 196 (if old
197 (set-window-parameter window 'cursor-sensor--last-state 197 (progn (move-marker (car old) point)
198 (cons (copy-marker point) new)))))) 198 (setcdr old new))
199 (set-window-parameter window 'cursor-sensor--last-state
200 (cons (copy-marker point) new)))))))
199 201
200;;;###autoload 202;;;###autoload
201(define-minor-mode cursor-sensor-mode 203(define-minor-mode cursor-sensor-mode
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index b4cab5715da..aa4b2addd47 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -134,7 +134,7 @@ Each entry is:
134 (if (cdr def) 134 (if (cdr def)
135 (error "Not an `rx' symbol definition: %s" form) 135 (error "Not an `rx' symbol definition: %s" form)
136 (car def))))) 136 (car def)))))
137 ((consp form) 137 ((and (consp form) (symbolp (car form)))
138 (let* ((op (car form)) 138 (let* ((op (car form))
139 (def (rx--lookup-def op))) 139 (def (rx--lookup-def op)))
140 (and def 140 (and def
@@ -254,22 +254,39 @@ Left-fold the list L, starting with X, by the binary function F."
254 (setq l (cdr l))) 254 (setq l (cdr l)))
255 x) 255 x)
256 256
257(defun rx--normalise-or-arg (form)
258 "Normalise the `or' argument FORM.
259Characters become strings, user-definitions and `eval' forms are expanded,
260and `or' forms are normalised recursively."
261 (cond ((characterp form)
262 (char-to-string form))
263 ((and (consp form) (memq (car form) '(or |)))
264 (cons (car form) (mapcar #'rx--normalise-or-arg (cdr form))))
265 ((and (consp form) (eq (car form) 'eval))
266 (rx--normalise-or-arg (rx--expand-eval (cdr form))))
267 (t
268 (let ((expanded (rx--expand-def form)))
269 (if expanded
270 (rx--normalise-or-arg expanded)
271 form)))))
272
273(defun rx--all-string-or-args (body)
274 "If BODY only consists of strings or such `or' forms, return all the strings.
275Otherwise throw `rx--nonstring'."
276 (mapcan (lambda (form)
277 (cond ((stringp form) (list form))
278 ((and (consp form) (memq (car form) '(or |)))
279 (rx--all-string-or-args (cdr form)))
280 (t (throw 'rx--nonstring nil))))
281 body))
282
257(defun rx--translate-or (body) 283(defun rx--translate-or (body)
258 "Translate an or-pattern of zero or more rx items. 284 "Translate an or-pattern of zero or more rx items.
259Return (REGEXP . PRECEDENCE)." 285Return (REGEXP . PRECEDENCE)."
260 ;; FIXME: Possible improvements: 286 ;; FIXME: Possible improvements:
261 ;; 287 ;;
262 ;; - Turn single characters to strings: (or ?a ?b) -> (or "a" "b"),
263 ;; so that they can be candidates for regexp-opt.
264 ;;
265 ;; - Translate compile-time strings (`eval' forms), again for regexp-opt.
266 ;;
267 ;; - Flatten sub-patterns first: (or (or A B) (or C D)) -> (or A B C D) 288 ;; - Flatten sub-patterns first: (or (or A B) (or C D)) -> (or A B C D)
268 ;; in order to improve effectiveness of regexp-opt. 289 ;; Then call regexp-opt on runs of string arguments. Example:
269 ;; This would also help composability.
270 ;;
271 ;; - Use associativity to run regexp-opt on contiguous subsets of arguments
272 ;; if not all of them are strings. Example:
273 ;; (or (+ digit) "CHARLIE" "CHAN" (+ blank)) 290 ;; (or (+ digit) "CHARLIE" "CHAN" (+ blank))
274 ;; -> (or (+ digit) (or "CHARLIE" "CHAN") (+ blank)) 291 ;; -> (or (+ digit) (or "CHARLIE" "CHAN") (+ blank))
275 ;; 292 ;;
@@ -279,33 +296,32 @@ Return (REGEXP . PRECEDENCE)."
279 ;; so that (or "@" "%" digit (any "A-Z" space) (syntax word)) 296 ;; so that (or "@" "%" digit (any "A-Z" space) (syntax word))
280 ;; -> (any "@" "%" digit "A-Z" space word) 297 ;; -> (any "@" "%" digit "A-Z" space word)
281 ;; -> "[A-Z@%[:digit:][:space:][:word:]]" 298 ;; -> "[A-Z@%[:digit:][:space:][:word:]]"
282 ;;
283 ;; Problem: If a subpattern is carefully written to be
284 ;; optimizable by regexp-opt, how do we prevent the transforms
285 ;; above from destroying that property?
286 ;; Example: (or "a" (or "abc" "abd" "abe"))
287 (cond 299 (cond
288 ((null body) ; No items: a never-matching regexp. 300 ((null body) ; No items: a never-matching regexp.
289 (rx--empty)) 301 (rx--empty))
290 ((null (cdr body)) ; Single item. 302 ((null (cdr body)) ; Single item.
291 (rx--translate (car body))) 303 (rx--translate (car body)))
292 ((rx--every #'stringp body) ; All strings.
293 (cons (list (regexp-opt body nil))
294 t))
295 ((rx--every #'rx--charset-p body) ; All charsets.
296 (rx--translate-union nil body))
297 (t 304 (t
298 (cons (append (car (rx--translate (car body))) 305 (let* ((args (mapcar #'rx--normalise-or-arg body))
299 (mapcan (lambda (item) 306 (all-strings (catch 'rx--nonstring (rx--all-string-or-args args))))
300 (cons "\\|" (car (rx--translate item)))) 307 (cond
301 (cdr body))) 308 (all-strings ; Only strings.
302 nil)))) 309 (cons (list (regexp-opt all-strings nil))
310 t))
311 ((rx--every #'rx--charset-p args) ; All charsets.
312 (rx--translate-union nil args))
313 (t
314 (cons (append (car (rx--translate (car args)))
315 (mapcan (lambda (item)
316 (cons "\\|" (car (rx--translate item))))
317 (cdr args)))
318 nil)))))))
303 319
304(defun rx--charset-p (form) 320(defun rx--charset-p (form)
305 "Whether FORM looks like a charset, only consisting of character intervals 321 "Whether FORM looks like a charset, only consisting of character intervals
306and set operations." 322and set operations."
307 (or (and (consp form) 323 (or (and (consp form)
308 (or (and (memq (car form) '(any 'in 'char)) 324 (or (and (memq (car form) '(any in char))
309 (rx--every (lambda (x) (not (symbolp x))) (cdr form))) 325 (rx--every (lambda (x) (not (symbolp x))) (cdr form)))
310 (and (memq (car form) '(not or | intersection)) 326 (and (memq (car form) '(not or | intersection))
311 (rx--every #'rx--charset-p (cdr form))))) 327 (rx--every #'rx--charset-p (cdr form)))))
@@ -344,7 +360,7 @@ character X becomes (?X . ?X). Return the intervals in a list."
344 (push (cons start end) intervals)) 360 (push (cons start end) intervals))
345 (t 361 (t
346 (error "Invalid rx `any' range: %s" 362 (error "Invalid rx `any' range: %s"
347 (substring str i 3)))) 363 (substring str i (+ i 3)))))
348 (setq i (+ i 3)))) 364 (setq i (+ i 3))))
349 (t 365 (t
350 ;; Single character. 366 ;; Single character.
@@ -450,6 +466,10 @@ classes."
450 (not negated)) 466 (not negated))
451 (cons (list (regexp-quote (char-to-string (caar items)))) 467 (cons (list (regexp-quote (char-to-string (caar items))))
452 t)) 468 t))
469 ;; Negated newline.
470 ((and (equal items '((?\n . ?\n)))
471 negated)
472 (rx--translate-symbol 'nonl))
453 ;; At least one character or class, possibly negated. 473 ;; At least one character or class, possibly negated.
454 (t 474 (t
455 (cons 475 (cons
@@ -836,11 +856,15 @@ Return (REGEXP . PRECEDENCE)."
836 (cons (list (list 'regexp-quote arg)) 'seq)) 856 (cons (list (list 'regexp-quote arg)) 'seq))
837 (t (error "rx `literal' form with non-string argument"))))) 857 (t (error "rx `literal' form with non-string argument")))))
838 858
839(defun rx--translate-eval (body) 859(defun rx--expand-eval (body)
840 "Translate the `eval' form. Return (REGEXP . PRECEDENCE)." 860 "Expand `eval' arguments. Return a new rx form."
841 (unless (and body (null (cdr body))) 861 (unless (and body (null (cdr body)))
842 (error "rx `eval' form takes exactly one argument")) 862 (error "rx `eval' form takes exactly one argument"))
843 (rx--translate (eval (car body)))) 863 (eval (car body)))
864
865(defun rx--translate-eval (body)
866 "Translate the `eval' form. Return (REGEXP . PRECEDENCE)."
867 (rx--translate (rx--expand-eval body)))
844 868
845(defvar rx--regexp-atomic-regexp nil) 869(defvar rx--regexp-atomic-regexp nil)
846 870
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index 0b946dd7365..e3037a71901 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -58,6 +58,10 @@
58 58
59(eval-when-compile (require 'cl-generic)) 59(eval-when-compile (require 'cl-generic))
60 60
61;; We used to use some sequence functions from cl-lib, but this
62;; dependency was swapped around so that it will be easier to make
63;; seq.el preloaded in the future. See also Bug#39761#26.
64
61(defmacro seq-doseq (spec &rest body) 65(defmacro seq-doseq (spec &rest body)
62 "Loop over a sequence. 66 "Loop over a sequence.
63Evaluate BODY with VAR bound to each element of SEQUENCE, in turn. 67Evaluate BODY with VAR bound to each element of SEQUENCE, in turn.
@@ -285,7 +289,11 @@ sorted. FUNCTION must be a function of one argument."
285TYPE must be one of following symbols: vector, string or list. 289TYPE must be one of following symbols: vector, string or list.
286 290
287\n(fn TYPE SEQUENCE...)" 291\n(fn TYPE SEQUENCE...)"
288 (apply #'cl-concatenate type (seq-map #'seq-into-sequence sequences))) 292 (pcase type
293 ('vector (apply #'vconcat sequences))
294 ('string (apply #'concat sequences))
295 ('list (apply #'append (append sequences '(nil))))
296 (_ (error "Not a sequence type name: %S" type))))
289 297
290(cl-defgeneric seq-into-sequence (sequence) 298(cl-defgeneric seq-into-sequence (sequence)
291 "Convert SEQUENCE into a sequence. 299 "Convert SEQUENCE into a sequence.
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el
index 74a94957e73..61fd05cbb80 100644
--- a/lisp/emacs-lisp/timer.el
+++ b/lisp/emacs-lisp/timer.el
@@ -378,9 +378,6 @@ This function returns a timer object which you can use in
378 (decoded-time-year now) 378 (decoded-time-year now)
379 (decoded-time-zone now))))))) 379 (decoded-time-zone now)))))))
380 380
381 (or (consp time)
382 (error "Invalid time format"))
383
384 (let ((timer (timer-create))) 381 (let ((timer (timer-create)))
385 (timer-set-time timer time repeat) 382 (timer-set-time timer time repeat)
386 (timer-set-function timer function args) 383 (timer-set-function timer function args)
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index a46755153e3..81325df3f4f 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -75,7 +75,7 @@
75(eval-when-compile (require 'subr-x)) 75(eval-when-compile (require 'subr-x))
76 76
77(defvar erc-official-location 77(defvar erc-official-location
78 "https://www.emacswiki.org/emacs/ERC (mailing list: erc-discuss@gnu.org)" 78 "https://www.emacswiki.org/emacs/ERC (mailing list: emacs-erc@gnu.org)"
79 "Location of the ERC client on the Internet.") 79 "Location of the ERC client on the Internet.")
80 80
81(defgroup erc nil 81(defgroup erc nil
diff --git a/lisp/files.el b/lisp/files.el
index 2e7694d7677..8ce0187f5b7 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -5944,9 +5944,10 @@ into NEWNAME instead."
5944 ;; Set directory attributes. 5944 ;; Set directory attributes.
5945 (let ((modes (file-modes directory)) 5945 (let ((modes (file-modes directory))
5946 (times (and keep-time (file-attribute-modification-time 5946 (times (and keep-time (file-attribute-modification-time
5947 (file-attributes directory))))) 5947 (file-attributes directory))))
5948 (if modes (set-file-modes newname modes (unless follow 'nofollow))) 5948 (follow-flag (unless follow 'nofollow)))
5949 (if times (set-file-times newname times)))))) 5949 (if modes (set-file-modes newname modes follow-flag))
5950 (if times (set-file-times newname times follow-flag))))))
5950 5951
5951 5952
5952;; At time of writing, only info uses this. 5953;; At time of writing, only info uses this.
diff --git a/lisp/frame.el b/lisp/frame.el
index 16ee7580f89..dc8dabc5a51 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -713,6 +713,18 @@ The optional argument PARAMETERS specifies additional frame parameters."
713 (x-display-list)))) 713 (x-display-list))))
714 (make-frame (cons (cons 'display display) parameters))) 714 (make-frame (cons (cons 'display display) parameters)))
715 715
716(defun make-frame-on-current-monitor (&optional parameters)
717 "Make a frame on the currently selected monitor.
718Like `make-frame-on-monitor' and with the same PARAMETERS as in `make-frame'."
719 (interactive)
720 (let* ((monitor-workarea
721 (cdr (assq 'workarea (frame-monitor-attributes))))
722 (geometry-parameters
723 (when monitor-workarea
724 `((top . ,(nth 1 monitor-workarea))
725 (left . ,(nth 0 monitor-workarea))))))
726 (make-frame (append geometry-parameters parameters))))
727
716(defun make-frame-on-monitor (monitor &optional display parameters) 728(defun make-frame-on-monitor (monitor &optional display parameters)
717 "Make a frame on monitor MONITOR. 729 "Make a frame on monitor MONITOR.
718The optional argument DISPLAY can be a display name, and the optional 730The optional argument DISPLAY can be a display name, and the optional
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 754655d6793..6b9610d3121 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -7774,11 +7774,11 @@ also be Lisp expression evaluating to a string),
7774BUTTON: is the number of the regexp grouping actually matching the button, 7774BUTTON: is the number of the regexp grouping actually matching the button,
7775FORM: is a Lisp expression which must eval to true for the button to 7775FORM: is a Lisp expression which must eval to true for the button to
7776be added, 7776be added,
7777CALLBACK: is the function to call when the user push this button, and each 7777CALLBACK: is the function to call when the user pushes this button, and each
7778PAR: is a number of a regexp grouping whose text will be passed to CALLBACK. 7778PAR: is a number of a regexp grouping whose text will be passed to CALLBACK.
7779 7779
7780CALLBACK can also be a variable, in that case the value of that 7780CALLBACK can also be a variable, in which case the value of that
7781variable it the real callback function." 7781variable is the real callback function."
7782 :group 'gnus-article-buttons 7782 :group 'gnus-article-buttons
7783 :type '(repeat (list (choice regexp variable sexp) 7783 :type '(repeat (list (choice regexp variable sexp)
7784 (integer :tag "Button") 7784 (integer :tag "Button")
diff --git a/lisp/gnus/gnus-cloud.el b/lisp/gnus/gnus-cloud.el
index 4d8764bacca..da6231d7330 100644
--- a/lisp/gnus/gnus-cloud.el
+++ b/lisp/gnus/gnus-cloud.el
@@ -285,8 +285,8 @@ Use old data if FORCE-OLDER is not nil."
285 (insert new-contents) 285 (insert new-contents)
286 (when (file-exists-p file-name) 286 (when (file-exists-p file-name)
287 (rename-file file-name (car (find-backup-file-name file-name)))) 287 (rename-file file-name (car (find-backup-file-name file-name))))
288 (write-region (point-min) (point-max) file-name) 288 (write-region (point-min) (point-max) file-name nil nil nil 'excl)
289 (set-file-times file-name (parse-iso8601-time-string date)))) 289 (set-file-times file-name (parse-iso8601-time-string date) 'nofollow)))
290 290
291(defun gnus-cloud-file-covered-p (file-name) 291(defun gnus-cloud-file-covered-p (file-name)
292 (let ((matched nil)) 292 (let ((matched nil))
diff --git a/lisp/gnus/spam-stat.el b/lisp/gnus/spam-stat.el
index 8a4161e7acd..2e03608b5df 100644
--- a/lisp/gnus/spam-stat.el
+++ b/lisp/gnus/spam-stat.el
@@ -174,7 +174,7 @@ no effect when spam-stat is invoked through spam.el."
174 174
175(defcustom spam-stat-score-buffer-user-functions nil 175(defcustom spam-stat-score-buffer-user-functions nil
176 "List of additional scoring functions. 176 "List of additional scoring functions.
177Called one by one on the buffer. 177Called one by one on the buffer.
178 178
179If all of these functions return non-nil answers, these numerical 179If all of these functions return non-nil answers, these numerical
180answers are added to the computed spam stat score on the buffer. If 180answers are added to the computed spam stat score on the buffer. If
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index fad5b03c820..ecda62eef80 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -953,7 +953,7 @@ it is displayed along with the global value."
953 (unless (buffer-live-p buffer) (setq buffer (current-buffer))) 953 (unless (buffer-live-p buffer) (setq buffer (current-buffer)))
954 (unless (frame-live-p frame) (setq frame (selected-frame))) 954 (unless (frame-live-p frame) (setq frame (selected-frame)))
955 (if (not (symbolp variable)) 955 (if (not (symbolp variable))
956 (message "You did not specify a variable") 956 (user-error "You didn't specify a variable")
957 (save-excursion 957 (save-excursion
958 (let ((valvoid (not (with-current-buffer buffer (boundp variable)))) 958 (let ((valvoid (not (with-current-buffer buffer (boundp variable))))
959 val val-start-pos locus) 959 val val-start-pos locus)
@@ -1009,6 +1009,8 @@ it is displayed along with the global value."
1009 (terpri) 1009 (terpri)
1010 (let ((buf (current-buffer))) 1010 (let ((buf (current-buffer)))
1011 (with-temp-buffer 1011 (with-temp-buffer
1012 (lisp-mode-variables nil)
1013 (set-syntax-table emacs-lisp-mode-syntax-table)
1012 (insert print-rep) 1014 (insert print-rep)
1013 (pp-buffer) 1015 (pp-buffer)
1014 (let ((pp-buffer (current-buffer))) 1016 (let ((pp-buffer (current-buffer)))
@@ -1442,7 +1444,7 @@ current buffer and the selected frame, respectively."
1442 t nil nil 1444 t nil nil
1443 (if found (symbol-name v-or-f))))) 1445 (if found (symbol-name v-or-f)))))
1444 (list (if (equal val "") 1446 (list (if (equal val "")
1445 v-or-f (intern val))))) 1447 (or v-or-f "") (intern val)))))
1446 (if (not (symbolp symbol)) 1448 (if (not (symbolp symbol))
1447 (user-error "You didn't specify a function or variable")) 1449 (user-error "You didn't specify a function or variable"))
1448 (unless (buffer-live-p buffer) (setq buffer (current-buffer))) 1450 (unless (buffer-live-p buffer) (setq buffer (current-buffer)))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index a1a67e2330a..66bc731f67f 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -284,6 +284,17 @@ require user confirmation."
284 (t 284 (t
285 (icomplete-force-complete-and-exit))))) 285 (icomplete-force-complete-and-exit)))))
286 286
287(defun icomplete-fido-exit (force)
288 "Attempt to exit minibuffer immediately with current input.
289Unless FORCE is non-nil (interactively with a prefix argument),
290honour a non-nil REQUIRE-MATCH argument to `completing-read' by
291trying to complete as much as possible and disallowing the exit
292if that doesn't produce a completion match."
293 (interactive "P")
294 (if (and (not force) minibuffer--require-match)
295 (minibuffer-complete-and-exit)
296 (exit-minibuffer)))
297
287(defun icomplete-fido-backward-updir () 298(defun icomplete-fido-backward-updir ()
288 "Delete char before or go up directory, like `ido-mode'." 299 "Delete char before or go up directory, like `ido-mode'."
289 (interactive) 300 (interactive)
@@ -299,7 +310,7 @@ require user confirmation."
299 (define-key map (kbd "RET") 'icomplete-fido-ret) 310 (define-key map (kbd "RET") 'icomplete-fido-ret)
300 (define-key map (kbd "C-m") 'icomplete-fido-ret) 311 (define-key map (kbd "C-m") 'icomplete-fido-ret)
301 (define-key map (kbd "DEL") 'icomplete-fido-backward-updir) 312 (define-key map (kbd "DEL") 'icomplete-fido-backward-updir)
302 (define-key map (kbd "M-j") 'exit-minibuffer) 313 (define-key map (kbd "M-j") 'icomplete-fido-exit)
303 (define-key map (kbd "C-s") 'icomplete-forward-completions) 314 (define-key map (kbd "C-s") 'icomplete-forward-completions)
304 (define-key map (kbd "C-r") 'icomplete-backward-completions) 315 (define-key map (kbd "C-r") 'icomplete-backward-completions)
305 (define-key map (kbd "<right>") 'icomplete-forward-completions) 316 (define-key map (kbd "<right>") 'icomplete-forward-completions)
@@ -541,7 +552,7 @@ See `icomplete-mode' and `minibuffer-setup-hook'."
541 (icomplete--completion-table) 552 (icomplete--completion-table)
542 (icomplete--completion-predicate) 553 (icomplete--completion-predicate)
543 (if (window-minibuffer-p) 554 (if (window-minibuffer-p)
544 (not minibuffer-completion-confirm))))) 555 (eq minibuffer--require-match t)))))
545 (buffer-undo-list t) 556 (buffer-undo-list t)
546 deactivate-mark) 557 deactivate-mark)
547 ;; Do nothing if while-no-input was aborted. 558 ;; Do nothing if while-no-input was aborted.
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 66594791209..86f3d2a34bf 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -2601,7 +2601,7 @@ This function is intended to be added to `auto-coding-functions'."
2601 (detect-coding-region (point-min) size t))))) 2601 (detect-coding-region (point-min) size t)))))
2602 ;; Pure ASCII always comes back as undecided. 2602 ;; Pure ASCII always comes back as undecided.
2603 (if (memq detected 2603 (if (memq detected
2604 '(utf-8 'utf-8-with-signature 'utf-8-hfs undecided)) 2604 '(utf-8 utf-8-with-signature utf-8-hfs undecided))
2605 'utf-8 2605 'utf-8
2606 (warn "File contents detected as %s. 2606 (warn "File contents detected as %s.
2607 Consider adding an encoding attribute to the xml declaration, 2607 Consider adding an encoding attribute to the xml declaration,
diff --git a/lisp/loadhist.el b/lisp/loadhist.el
index dabc8b9457a..a1ff2f6270d 100644
--- a/lisp/loadhist.el
+++ b/lisp/loadhist.el
@@ -173,7 +173,7 @@ documentation of `unload-feature' for details.")
173;; we undefine it. 173;; we undefine it.
174;; So we use this auxiliary variable to keep track of the last (t . SYMBOL) 174;; So we use this auxiliary variable to keep track of the last (t . SYMBOL)
175;; that occurred. 175;; that occurred.
176(defvar loadhist--restore-autoload 176(defvar loadhist--restore-autoload nil
177 "If non-nil, this is a symbol for which we should 177 "If non-nil, this is a symbol for which we should
178restore a previous autoload if possible.") 178restore a previous autoload if possible.")
179 179
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 49daabc44e3..7f5b597542a 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1400,7 +1400,11 @@ scroll the window of possible completions."
1400 (minibuffer-prompt-end) (point-max) #'exit-minibuffer 1400 (minibuffer-prompt-end) (point-max) #'exit-minibuffer
1401 ;; If the previous completion completed to an element which fails 1401 ;; If the previous completion completed to an element which fails
1402 ;; test-completion, then we shouldn't exit, but that should be rare. 1402 ;; test-completion, then we shouldn't exit, but that should be rare.
1403 (lambda () (minibuffer-message "Incomplete")))) 1403 (lambda ()
1404 (if minibuffer--require-match
1405 (minibuffer-message "Incomplete")
1406 ;; If a match is not required, exit after all.
1407 (exit-minibuffer)))))
1404 1408
1405(defun minibuffer-force-complete (&optional start end dont-cycle) 1409(defun minibuffer-force-complete (&optional start end dont-cycle)
1406 "Complete the minibuffer to an exact match. 1410 "Complete the minibuffer to an exact match.
@@ -1464,6 +1468,9 @@ DONT-CYCLE tells the function not to setup cycling."
1464 "List of commands which cause an immediately following 1468 "List of commands which cause an immediately following
1465`minibuffer-complete-and-exit' to ask for extra confirmation.") 1469`minibuffer-complete-and-exit' to ask for extra confirmation.")
1466 1470
1471(defvar minibuffer--require-match nil
1472 "Value of REQUIRE-MATCH passed to `completing-read'.")
1473
1467(defun minibuffer-complete-and-exit () 1474(defun minibuffer-complete-and-exit ()
1468 "Exit if the minibuffer contains a valid completion. 1475 "Exit if the minibuffer contains a valid completion.
1469Otherwise, try to complete the minibuffer contents. If 1476Otherwise, try to complete the minibuffer contents. If
@@ -3748,8 +3755,10 @@ See `completing-read' for the meaning of the arguments."
3748 3755
3749 (let* ((minibuffer-completion-table collection) 3756 (let* ((minibuffer-completion-table collection)
3750 (minibuffer-completion-predicate predicate) 3757 (minibuffer-completion-predicate predicate)
3758 ;; FIXME: Remove/rename this var, see the next one.
3751 (minibuffer-completion-confirm (unless (eq require-match t) 3759 (minibuffer-completion-confirm (unless (eq require-match t)
3752 require-match)) 3760 require-match))
3761 (minibuffer--require-match require-match)
3753 (base-keymap (if require-match 3762 (base-keymap (if require-match
3754 minibuffer-local-must-match-map 3763 minibuffer-local-must-match-map
3755 minibuffer-local-completion-map)) 3764 minibuffer-local-completion-map))
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index 2c9674fa36f..7ee740f93cb 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -674,8 +674,9 @@ But handle the case, if the \"test\" command is not available."
674 (tramp-adb-send-command-and-check 674 (tramp-adb-send-command-and-check
675 v (format "chmod %o %s" mode localname))))) 675 v (format "chmod %o %s" mode localname)))))
676 676
677(defun tramp-adb-handle-set-file-times (filename &optional time) 677(defun tramp-adb-handle-set-file-times (filename &optional time flag)
678 "Like `set-file-times' for Tramp files." 678 "Like `set-file-times' for Tramp files."
679 flag ;; FIXME: Support 'nofollow'.
679 (with-parsed-tramp-file-name filename nil 680 (with-parsed-tramp-file-name filename nil
680 (tramp-flush-file-properties v localname) 681 (tramp-flush-file-properties v localname)
681 (let ((time (if (or (null time) 682 (let ((time (if (or (null time)
@@ -777,7 +778,8 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
777 (set-file-times 778 (set-file-times
778 newname 779 newname
779 (tramp-compat-file-attribute-modification-time 780 (tramp-compat-file-attribute-modification-time
780 (file-attributes filename)))))) 781 (file-attributes filename))
782 (unless ok-if-already-exists 'nofollow)))))
781 783
782(defun tramp-adb-handle-rename-file 784(defun tramp-adb-handle-rename-file
783 (filename newname &optional ok-if-already-exists) 785 (filename newname &optional ok-if-already-exists)
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 3ce7bbbd4a3..1ad57c59a5b 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -1571,7 +1571,7 @@ If FILE-SYSTEM is non-nil, return file system attributes."
1571 (tramp-gvfs-url-file-name (tramp-make-tramp-file-name v)) 1571 (tramp-gvfs-url-file-name (tramp-make-tramp-file-name v))
1572 "unix::mode" (number-to-string mode)))) 1572 "unix::mode" (number-to-string mode))))
1573 1573
1574(defun tramp-gvfs-handle-set-file-times (filename &optional time) 1574(defun tramp-gvfs-handle-set-file-times (filename &optional time flag)
1575 "Like `set-file-times' for Tramp files." 1575 "Like `set-file-times' for Tramp files."
1576 (with-parsed-tramp-file-name filename nil 1576 (with-parsed-tramp-file-name filename nil
1577 (tramp-flush-file-properties v localname) 1577 (tramp-flush-file-properties v localname)
@@ -1582,7 +1582,7 @@ If FILE-SYSTEM is non-nil, return file system attributes."
1582 (current-time) 1582 (current-time)
1583 time))) 1583 time)))
1584 (tramp-gvfs-send-command 1584 (tramp-gvfs-send-command
1585 v "gvfs-set-attribute" "-t" "uint64" 1585 v "gvfs-set-attribute" (if flag "-nt" "-t") "uint64"
1586 (tramp-gvfs-url-file-name (tramp-make-tramp-file-name v)) 1586 (tramp-gvfs-url-file-name (tramp-make-tramp-file-name v))
1587 "time::modified" (format-time-string "%s" time))))) 1587 "time::modified" (format-time-string "%s" time)))))
1588 1588
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 84b8191bd3d..560941c4d5b 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -1495,11 +1495,12 @@ of."
1495 mode (tramp-shell-quote-argument localname)) 1495 mode (tramp-shell-quote-argument localname))
1496 "Error while changing file's mode %s" filename)))) 1496 "Error while changing file's mode %s" filename))))
1497 1497
1498(defun tramp-sh-handle-set-file-times (filename &optional time) 1498(defun tramp-sh-handle-set-file-times (filename &optional time flag)
1499 "Like `set-file-times' for Tramp files." 1499 "Like `set-file-times' for Tramp files."
1500 (with-parsed-tramp-file-name filename nil 1500 (with-parsed-tramp-file-name filename nil
1501 (when (tramp-get-remote-touch v) 1501 (when (tramp-get-remote-touch v)
1502 (tramp-flush-file-properties v localname) 1502 (tramp-flush-file-properties v localname)
1503 flag ;; FIXME: Support 'nofollow'.
1503 (let ((time 1504 (let ((time
1504 (if (or (null time) 1505 (if (or (null time)
1505 (tramp-compat-time-equal-p time tramp-time-doesnt-exist) 1506 (tramp-compat-time-equal-p time tramp-time-doesnt-exist)
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 42954cbda3d..d91362c879c 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -619,7 +619,8 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
619 (set-file-times 619 (set-file-times
620 newname 620 newname
621 (tramp-compat-file-attribute-modification-time 621 (tramp-compat-file-attribute-modification-time
622 (file-attributes filename)))))) 622 (file-attributes filename))
623 (unless ok-if-already-exists 'nofollow)))))
623 624
624(defun tramp-smb-handle-delete-directory (directory &optional recursive _trash) 625(defun tramp-smb-handle-delete-directory (directory &optional recursive _trash)
625 "Like `delete-directory' for Tramp files." 626 "Like `delete-directory' for Tramp files."
diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el
index 7d8c8a90618..c054f405e3d 100644
--- a/lisp/net/tramp-sudoedit.el
+++ b/lisp/net/tramp-sudoedit.el
@@ -523,10 +523,11 @@ the result will be a local, non-Tramp, file name."
523 (string-to-number (match-string 2))) 523 (string-to-number (match-string 2)))
524 (string-to-number (match-string 3))))))))) 524 (string-to-number (match-string 3)))))))))
525 525
526(defun tramp-sudoedit-handle-set-file-times (filename &optional time) 526(defun tramp-sudoedit-handle-set-file-times (filename &optional time flag)
527 "Like `set-file-times' for Tramp files." 527 "Like `set-file-times' for Tramp files."
528 (with-parsed-tramp-file-name filename nil 528 (with-parsed-tramp-file-name filename nil
529 (tramp-flush-file-properties v localname) 529 (tramp-flush-file-properties v localname)
530 flag ;; FIXME: Support 'nofollow'.
530 (let ((time 531 (let ((time
531 (if (or (null time) 532 (if (or (null time)
532 (tramp-compat-time-equal-p time tramp-time-doesnt-exist) 533 (tramp-compat-time-equal-p time tramp-time-doesnt-exist)
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index a60812230b8..1b557c41a5d 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -48,6 +48,7 @@
48(cc-bytecomp-defvar filladapt-mode) ; c-fill-paragraph contains a kludge 48(cc-bytecomp-defvar filladapt-mode) ; c-fill-paragraph contains a kludge
49 ; which looks at this. 49 ; which looks at this.
50(cc-bytecomp-defun electric-pair-post-self-insert-function) 50(cc-bytecomp-defun electric-pair-post-self-insert-function)
51(cc-bytecomp-defvar c-indent-to-body-directives)
51 52
52;; Indentation / Display syntax functions 53;; Indentation / Display syntax functions
53(defvar c-fix-backslashes t) 54(defvar c-fix-backslashes t)
@@ -1441,6 +1442,98 @@ keyword on the line, the keyword is not inserted inside a literal, and
1441 (indent-according-to-mode) 1442 (indent-according-to-mode)
1442 (delete-char -2))))) 1443 (delete-char -2)))))
1443 1444
1445(defun c-align-cpp-indent-to-body ()
1446 "Align a \"#pragma\" line under the previous line.
1447This function is intented for use as a member of `c-special-indent-hook'."
1448 (when (assq 'cpp-macro c-syntactic-context)
1449 (when
1450 (save-excursion
1451 (save-match-data
1452 (back-to-indentation)
1453 (and
1454 (looking-at (concat c-opt-cpp-symbol "[ \t]*\\([a-zA-Z0-9_]+\\)"))
1455 (member (match-string-no-properties 1)
1456 c-cpp-indent-to-body-directives))))
1457 (c-indent-line (delete '(cpp-macro) c-syntactic-context)))))
1458
1459(defvar c-cpp-indent-to-body-flag nil)
1460;; Non-nil when CPP directives such as "#pragma" should be indented to under
1461;; the preceding statement.
1462(make-variable-buffer-local 'c-cpp-indent-to-body-flag)
1463
1464(defun c-electric-pragma ()
1465 "Reindent the current line if appropriate.
1466
1467This function is used to reindent a preprocessor line when the
1468symbol for the directive, typically \"pragma\", triggers this
1469function as a hook function of an abbreviation.
1470
1471The \"#\" of the preprocessor construct is aligned under the
1472first anchor point of the line's syntactic context.
1473
1474The line is reindented if the construct is not in a string or
1475comment, there is exactly one \"#\" contained in optional
1476whitespace before it on the current line, and `c-electric-flag'
1477and `c-syntactic-indentation' are both non-nil."
1478 (save-excursion
1479 (save-match-data
1480 (when
1481 (and
1482 c-cpp-indent-to-body-flag
1483 c-electric-flag
1484 c-syntactic-indentation
1485 last-abbrev-location
1486 c-opt-cpp-symbol ; "#" or nil.
1487 (progn (back-to-indentation)
1488 (looking-at (concat c-opt-cpp-symbol "[ \t]*")))
1489 (>= (match-end 0) last-abbrev-location)
1490 (not (c-literal-limits)))
1491 (c-indent-line (delete '(cpp-macro) (c-guess-basic-syntax)))))))
1492
1493(defun c-add-indent-to-body-to-abbrev-table (d)
1494 ;; Create an abbreviation table entry for the directive D, and add it to the
1495 ;; current abbreviation table. Existing abbreviation (e.g. for "else") do
1496 ;; not get overwritten.
1497 (when (and c-buffer-is-cc-mode
1498 local-abbrev-table
1499 (not (abbrev-symbol d local-abbrev-table)))
1500 (condition-case nil
1501 (define-abbrev local-abbrev-table d d 'c-electric-pragma 0 t)
1502 (wrong-number-of-arguments
1503 (define-abbrev local-abbrev-table d d 'c-electric-pragma)))))
1504
1505(defun c-clear-stale-indent-to-body-abbrevs ()
1506 ;; Fill in this comment. FIXME!!!
1507 (when (fboundp 'abbrev-get)
1508 (mapatoms (lambda (a)
1509 (when (and (abbrev-get a ':system) ; Preserve a user's abbrev!
1510 (not (member (symbol-name a) c-std-abbrev-keywords))
1511 (not (member (symbol-name a)
1512 c-cpp-indent-to-body-directives)))
1513 (unintern a local-abbrev-table)))
1514 local-abbrev-table)))
1515
1516(defun c-toggle-cpp-indent-to-body (&optional arg)
1517 "Toggle the C preprocessor indent-to-body feature.
1518When enabled, preprocessor directives which are words in
1519`c-indent-to-body-directives' are indented as if they were statements.
1520
1521Optional numeric ARG, if supplied, turns on the feature when positive,
1522turns it off when negative, and just toggles it when zero or
1523left out."
1524 (interactive "P")
1525 (setq c-cpp-indent-to-body-flag
1526 (c-calculate-state arg c-cpp-indent-to-body-flag))
1527 (if c-cpp-indent-to-body-flag
1528 (progn
1529 (c-clear-stale-indent-to-body-abbrevs)
1530 (mapc 'c-add-indent-to-body-to-abbrev-table
1531 c-cpp-indent-to-body-directives)
1532 (add-hook 'c-special-indent-hook 'c-align-cpp-indent-to-body nil t))
1533 (remove-hook 'c-special-indent-hook 'c-align-cpp-indent-to-body t))
1534 (message "c-cpp-indent-to-body %sabled"
1535 (if c-cpp-indent-to-body-flag "en" "dis")))
1536
1444 1537
1445 1538
1446(declare-function subword-forward "subword" (&optional arg)) 1539(declare-function subword-forward "subword" (&optional arg))
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index e7e7cfd4b09..1e72352f719 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -3030,7 +3030,14 @@ Note that Java specific rules are currently applied to tell this from
3030 ;; can start a declaration.) 3030 ;; can start a declaration.)
3031 "entity" "process" "service" "session" "storage")) 3031 "entity" "process" "service" "session" "storage"))
3032 3032
3033 3033(c-lang-defconst c-std-abbrev-keywords
3034 "List of keywords which may need to cause electric indentation."
3035 t '("else" "while")
3036 c++ (append (c-lang-const c-std-abbrev-keywords) '("catch"))
3037 java (append (c-lang-const c-std-abbrev-keywords) '("catch" "finally"))
3038 idl nil)
3039(c-lang-defvar c-std-abbrev-keywords (c-lang-const c-std-abbrev-keywords))
3040
3034;;; Constants built from keywords. 3041;;; Constants built from keywords.
3035 3042
3036;; Note: No `*-kwds' language constants may be defined below this point. 3043;; Note: No `*-kwds' language constants may be defined below this point.
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 9c62b2bb065..f92d3efdeb7 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -278,6 +278,29 @@ control). See \"cc-mode.el\" for more info."
278 (setq defs (cdr defs))))) 278 (setq defs (cdr defs)))))
279(put 'c-define-abbrev-table 'lisp-indent-function 1) 279(put 'c-define-abbrev-table 'lisp-indent-function 1)
280 280
281(defun c-populate-abbrev-table ()
282 ;; Insert the standard keywords which may need electric indentation into the
283 ;; current mode's abbreviation table.
284 (let ((table (intern (concat (symbol-name major-mode) "-abbrev-table")))
285 (defs c-std-abbrev-keywords)
286 )
287 (unless (and (boundp table)
288 (abbrev-table-p (symbol-value table)))
289 (define-abbrev-table table nil))
290 (setq local-abbrev-table (symbol-value table))
291 (while defs
292 (unless (intern-soft (car defs) local-abbrev-table) ; Don't overwrite the
293 ; abbrev's use count.
294 (condition-case nil
295 (define-abbrev (symbol-value table)
296 (car defs) (car defs)
297 'c-electric-continued-statement 0 t)
298 (wrong-number-of-arguments
299 (define-abbrev (symbol-value table)
300 (car defs) (car defs)
301 'c-electric-continued-statement 0))))
302 (setq defs (cdr defs)))))
303
281(defun c-bind-special-erase-keys () 304(defun c-bind-special-erase-keys ()
282 ;; Only used in Emacs to bind C-c C-<delete> and C-c C-<backspace> 305 ;; Only used in Emacs to bind C-c C-<delete> and C-c C-<backspace>
283 ;; to the proper keys depending on `normal-erase-is-backspace'. 306 ;; to the proper keys depending on `normal-erase-is-backspace'.
@@ -550,6 +573,8 @@ that requires a literal mode spec at compile time."
550 573
551 (setq c-buffer-is-cc-mode mode) 574 (setq c-buffer-is-cc-mode mode)
552 575
576 (c-populate-abbrev-table)
577
553 ;; these variables should always be buffer local; they do not affect 578 ;; these variables should always be buffer local; they do not affect
554 ;; indentation style. 579 ;; indentation style.
555 (make-local-variable 'comment-start) 580 (make-local-variable 'comment-start)
@@ -1865,18 +1890,25 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
1865 ;; it/them from the cache. Don't worry about being inside a string 1890 ;; it/them from the cache. Don't worry about being inside a string
1866 ;; or a comment - "wrongly" removing a symbol from `c-found-types' 1891 ;; or a comment - "wrongly" removing a symbol from `c-found-types'
1867 ;; isn't critical. 1892 ;; isn't critical.
1868 (unless (or (c-called-from-text-property-change-p) 1893 (unless (c-called-from-text-property-change-p)
1869 c-just-done-before-change) ; guard against a spurious second
1870 ; invocation of before-change-functions.
1871 (setq c-just-done-before-change t)
1872 ;; (c-new-BEG c-new-END) will be the region to fontify.
1873 (setq c-new-BEG beg c-new-END end)
1874 (setq c-maybe-stale-found-type nil)
1875 ;; A workaround for syntax-ppss's failure to notice syntax-table text
1876 ;; property changes.
1877 (when (fboundp 'syntax-ppss)
1878 (setq c-syntax-table-hwm most-positive-fixnum))
1879 (save-restriction 1894 (save-restriction
1895 (widen)
1896 (if c-just-done-before-change
1897 ;; We have two consecutive calls to `before-change-functions' without
1898 ;; an intervening `after-change-functions'. An example of this is bug
1899 ;; #38691. To protect CC Mode, assume that the entire buffer has
1900 ;; changed.
1901 (setq beg (point-min)
1902 end (point-max)
1903 c-just-done-before-change 'whole-buffer)
1904 (setq c-just-done-before-change t))
1905 ;; (c-new-BEG c-new-END) will be the region to fontify.
1906 (setq c-new-BEG beg c-new-END end)
1907 (setq c-maybe-stale-found-type nil)
1908 ;; A workaround for syntax-ppss's failure to notice syntax-table text
1909 ;; property changes.
1910 (when (fboundp 'syntax-ppss)
1911 (setq c-syntax-table-hwm most-positive-fixnum))
1880 (save-match-data 1912 (save-match-data
1881 (widen) 1913 (widen)
1882 (unwind-protect 1914 (unwind-protect
@@ -1982,14 +2014,19 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
1982 ;; without an intervening call to `before-change-functions' when reverting 2014 ;; without an intervening call to `before-change-functions' when reverting
1983 ;; the buffer (see bug #24094). Whatever the cause, assume that the entire 2015 ;; the buffer (see bug #24094). Whatever the cause, assume that the entire
1984 ;; buffer has changed. 2016 ;; buffer has changed.
1985 (when (and (not c-just-done-before-change) 2017
1986 (not (c-called-from-text-property-change-p))) 2018 ;; Note: c-just-done-before-change is nil, t, or 'whole-buffer.
1987 (save-restriction 2019 (unless (c-called-from-text-property-change-p)
1988 (widen) 2020 (unless (eq c-just-done-before-change t)
1989 (c-before-change (point-min) (point-max)) 2021 (save-restriction
1990 (setq beg (point-min) 2022 (widen)
1991 end (point-max) 2023 (when (null c-just-done-before-change)
1992 old-len (- end beg)))) 2024 (c-before-change (point-min) (point-max)))
2025 (setq beg (point-min)
2026 end (point-max)
2027 old-len (- end beg)
2028 c-new-BEG (point-min)
2029 c-new-END (point-max)))))
1993 2030
1994 ;; (c-new-BEG c-new-END) will be the region to fontify. It may become 2031 ;; (c-new-BEG c-new-END) will be the region to fontify. It may become
1995 ;; larger than (beg end). 2032 ;; larger than (beg end).
@@ -2432,11 +2469,6 @@ opening \" and the next unescaped end of line."
2432 (funcall (c-lang-const c-make-mode-syntax-table c)) 2469 (funcall (c-lang-const c-make-mode-syntax-table c))
2433 "Syntax table used in c-mode buffers.") 2470 "Syntax table used in c-mode buffers.")
2434 2471
2435(c-define-abbrev-table 'c-mode-abbrev-table
2436 '(("else" "else" c-electric-continued-statement 0)
2437 ("while" "while" c-electric-continued-statement 0))
2438 "Abbreviation table used in c-mode buffers.")
2439
2440(defvar c-mode-map 2472(defvar c-mode-map
2441 (let ((map (c-make-inherited-keymap))) 2473 (let ((map (c-make-inherited-keymap)))
2442 map) 2474 map)
@@ -2548,12 +2580,6 @@ the code is C or C++ and based on that chooses whether to enable
2548 (funcall (c-lang-const c-make-mode-syntax-table c++)) 2580 (funcall (c-lang-const c-make-mode-syntax-table c++))
2549 "Syntax table used in c++-mode buffers.") 2581 "Syntax table used in c++-mode buffers.")
2550 2582
2551(c-define-abbrev-table 'c++-mode-abbrev-table
2552 '(("else" "else" c-electric-continued-statement 0)
2553 ("while" "while" c-electric-continued-statement 0)
2554 ("catch" "catch" c-electric-continued-statement 0))
2555 "Abbreviation table used in c++-mode buffers.")
2556
2557(defvar c++-mode-map 2583(defvar c++-mode-map
2558 (let ((map (c-make-inherited-keymap))) 2584 (let ((map (c-make-inherited-keymap)))
2559 map) 2585 map)
@@ -2602,11 +2628,6 @@ Key bindings:
2602 (funcall (c-lang-const c-make-mode-syntax-table objc)) 2628 (funcall (c-lang-const c-make-mode-syntax-table objc))
2603 "Syntax table used in objc-mode buffers.") 2629 "Syntax table used in objc-mode buffers.")
2604 2630
2605(c-define-abbrev-table 'objc-mode-abbrev-table
2606 '(("else" "else" c-electric-continued-statement 0)
2607 ("while" "while" c-electric-continued-statement 0))
2608 "Abbreviation table used in objc-mode buffers.")
2609
2610(defvar objc-mode-map 2631(defvar objc-mode-map
2611 (let ((map (c-make-inherited-keymap))) 2632 (let ((map (c-make-inherited-keymap)))
2612 map) 2633 map)
@@ -2653,13 +2674,6 @@ Key bindings:
2653 (funcall (c-lang-const c-make-mode-syntax-table java)) 2674 (funcall (c-lang-const c-make-mode-syntax-table java))
2654 "Syntax table used in java-mode buffers.") 2675 "Syntax table used in java-mode buffers.")
2655 2676
2656(c-define-abbrev-table 'java-mode-abbrev-table
2657 '(("else" "else" c-electric-continued-statement 0)
2658 ("while" "while" c-electric-continued-statement 0)
2659 ("catch" "catch" c-electric-continued-statement 0)
2660 ("finally" "finally" c-electric-continued-statement 0))
2661 "Abbreviation table used in java-mode buffers.")
2662
2663(defvar java-mode-map 2677(defvar java-mode-map
2664 (let ((map (c-make-inherited-keymap))) 2678 (let ((map (c-make-inherited-keymap)))
2665 map) 2679 map)
@@ -2710,9 +2724,6 @@ Key bindings:
2710 (funcall (c-lang-const c-make-mode-syntax-table idl)) 2724 (funcall (c-lang-const c-make-mode-syntax-table idl))
2711 "Syntax table used in idl-mode buffers.") 2725 "Syntax table used in idl-mode buffers.")
2712 2726
2713(c-define-abbrev-table 'idl-mode-abbrev-table nil
2714 "Abbreviation table used in idl-mode buffers.")
2715
2716(defvar idl-mode-map 2727(defvar idl-mode-map
2717 (let ((map (c-make-inherited-keymap))) 2728 (let ((map (c-make-inherited-keymap)))
2718 map) 2729 map)
@@ -2755,11 +2766,6 @@ Key bindings:
2755 (funcall (c-lang-const c-make-mode-syntax-table pike)) 2766 (funcall (c-lang-const c-make-mode-syntax-table pike))
2756 "Syntax table used in pike-mode buffers.") 2767 "Syntax table used in pike-mode buffers.")
2757 2768
2758(c-define-abbrev-table 'pike-mode-abbrev-table
2759 '(("else" "else" c-electric-continued-statement 0)
2760 ("while" "while" c-electric-continued-statement 0))
2761 "Abbreviation table used in pike-mode buffers.")
2762
2763(defvar pike-mode-map 2769(defvar pike-mode-map
2764 (let ((map (c-make-inherited-keymap))) 2770 (let ((map (c-make-inherited-keymap)))
2765 map) 2771 map)
@@ -2807,11 +2813,6 @@ Key bindings:
2807;;;###autoload (add-to-list 'interpreter-mode-alist '("nawk" . awk-mode)) 2813;;;###autoload (add-to-list 'interpreter-mode-alist '("nawk" . awk-mode))
2808;;;###autoload (add-to-list 'interpreter-mode-alist '("gawk" . awk-mode)) 2814;;;###autoload (add-to-list 'interpreter-mode-alist '("gawk" . awk-mode))
2809 2815
2810(c-define-abbrev-table 'awk-mode-abbrev-table
2811 '(("else" "else" c-electric-continued-statement 0)
2812 ("while" "while" c-electric-continued-statement 0))
2813 "Abbreviation table used in awk-mode buffers.")
2814
2815(defvar awk-mode-map 2816(defvar awk-mode-map
2816 (let ((map (c-make-inherited-keymap))) 2817 (let ((map (c-make-inherited-keymap)))
2817 map) 2818 map)
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 556ff6059f1..3995b211854 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1649,6 +1649,15 @@ white space either before or after the operator, but not both."
1649 :type 'boolean 1649 :type 'boolean
1650 :group 'c) 1650 :group 'c)
1651 1651
1652(defcustom c-cpp-indent-to-body-directives '("pragma")
1653 "Preprocessor directives which will be indented as statements.
1654
1655A list of Preprocessor directives which when reindented, or newly
1656typed in, will cause the \"#\" introducing the directive to be
1657indented as a statement."
1658 :type '(repeat string)
1659 :group 'c)
1660
1652;; Initialize the next two to a regexp which never matches. 1661;; Initialize the next two to a regexp which never matches.
1653(defvar c-noise-macro-with-parens-name-re regexp-unmatchable) 1662(defvar c-noise-macro-with-parens-name-re regexp-unmatchable)
1654(make-variable-buffer-local 'c-noise-macro-with-parens-name-re) 1663(make-variable-buffer-local 'c-noise-macro-with-parens-name-re)
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 0677d36fbc7..22c61586266 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -13334,7 +13334,7 @@ File statistics: \"%s\"\n\
13334(defvar vhdl-font-lock-keywords nil 13334(defvar vhdl-font-lock-keywords nil
13335 "Regular expressions to highlight in VHDL Mode.") 13335 "Regular expressions to highlight in VHDL Mode.")
13336 13336
13337(defvar vhdl-font-lock-keywords-0 13337(defvar vhdl-font-lock-keywords-0 nil
13338 ;; set in `vhdl-font-lock-init' because dependent on user options 13338 ;; set in `vhdl-font-lock-init' because dependent on user options
13339 "For consideration as a value of `vhdl-font-lock-keywords'. 13339 "For consideration as a value of `vhdl-font-lock-keywords'.
13340This does highlighting of template prompts and directives (pragmas).") 13340This does highlighting of template prompts and directives (pragmas).")
diff --git a/lisp/simple.el b/lisp/simple.el
index 688dbcc947b..91736a60730 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -75,14 +75,16 @@ value of 1 means that nothing is amalgamated.")
75 :version "22.1") 75 :version "22.1")
76 76
77(defcustom next-error-highlight 0.5 77(defcustom next-error-highlight 0.5
78 "Highlighting of locations in selected source buffers. 78 "Highlighting of locations in the selected buffer.
79If a number, highlight the locus in `next-error' face for the given time 79If a number, highlight the locus in `next-error' face for the given time
80in seconds, or until the next command is executed. 80in seconds, or until the next command is executed.
81If t, highlight the locus until the next command is executed, or until 81If t, highlight the locus until the next command is executed, or until
82some other locus replaces it. 82some other locus replaces it.
83If nil, don't highlight the locus in the source buffer. 83If nil, don't highlight the locus in the source buffer.
84If `fringe-arrow', indicate the locus by the fringe arrow 84If `fringe-arrow', indicate the locus by the fringe arrow
85indefinitely until some other locus replaces it." 85indefinitely until some other locus replaces it.
86See `next-error-highlight-no-select' to customize highlighting
87of the locus in non-selected buffers."
86 :type '(choice (number :tag "Highlight for specified time") 88 :type '(choice (number :tag "Highlight for specified time")
87 (const :tag "Semipermanent highlighting" t) 89 (const :tag "Semipermanent highlighting" t)
88 (const :tag "No highlighting" nil) 90 (const :tag "No highlighting" nil)
@@ -91,12 +93,15 @@ indefinitely until some other locus replaces it."
91 :version "22.1") 93 :version "22.1")
92 94
93(defcustom next-error-highlight-no-select 0.5 95(defcustom next-error-highlight-no-select 0.5
94 "Highlighting of locations in `next-error-no-select'. 96 "Highlighting of locations in non-selected source buffers.
97Usually non-selected buffers are displayed by `next-error-no-select'.
95If number, highlight the locus in `next-error' face for given time in seconds. 98If number, highlight the locus in `next-error' face for given time in seconds.
96If t, highlight the locus indefinitely until some other locus replaces it. 99If t, highlight the locus indefinitely until some other locus replaces it.
97If nil, don't highlight the locus in the source buffer. 100If nil, don't highlight the locus in the source buffer.
98If `fringe-arrow', indicate the locus by the fringe arrow 101If `fringe-arrow', indicate the locus by the fringe arrow
99indefinitely until some other locus replaces it." 102indefinitely until some other locus replaces it.
103See `next-error-highlight' to customize highlighting of the locus
104in the selected buffer."
100 :type '(choice (number :tag "Highlight for specified time") 105 :type '(choice (number :tag "Highlight for specified time")
101 (const :tag "Semipermanent highlighting" t) 106 (const :tag "Semipermanent highlighting" t)
102 (const :tag "No highlighting" nil) 107 (const :tag "No highlighting" nil)
diff --git a/lisp/subr.el b/lisp/subr.el
index 96b98c6a5b3..13515ca7da1 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3967,19 +3967,18 @@ the function `undo--wrap-and-run-primitive-undo'."
3967 (let ((undo--combining-change-calls t)) 3967 (let ((undo--combining-change-calls t))
3968 (if (not inhibit-modification-hooks) 3968 (if (not inhibit-modification-hooks)
3969 (run-hook-with-args 'before-change-functions beg end)) 3969 (run-hook-with-args 'before-change-functions beg end))
3970 (if (eq buffer-undo-list t) 3970 (let (;; (inhibit-modification-hooks t)
3971 (setq result (funcall body)) 3971 (before-change-functions
3972 (let (;; (inhibit-modification-hooks t) 3972 ;; Ugly Hack: if the body uses syntax-ppss/syntax-propertize
3973 (before-change-functions 3973 ;; (e.g. via a regexp-search or sexp-movement trigerring
3974 ;; Ugly Hack: if the body uses syntax-ppss/syntax-propertize 3974 ;; on-the-fly syntax-propertize), make sure that this gets
3975 ;; (e.g. via a regexp-search or sexp-movement trigerring 3975 ;; properly refreshed after subsequent changes.
3976 ;; on-the-fly syntax-propertize), make sure that this gets 3976 (if (memq #'syntax-ppss-flush-cache before-change-functions)
3977 ;; properly refreshed after subsequent changes. 3977 '(syntax-ppss-flush-cache)))
3978 (if (memq #'syntax-ppss-flush-cache before-change-functions) 3978 after-change-functions)
3979 '(syntax-ppss-flush-cache))) 3979 (setq result (funcall body)))
3980 after-change-functions) 3980 (when (not (eq buffer-undo-list t))
3981 (setq result (funcall body))) 3981 (let ((ap-elt
3982 (let ((ap-elt
3983 (list 'apply 3982 (list 'apply
3984 (- end end-marker) 3983 (- end end-marker)
3985 beg 3984 beg
diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index 8f1221abe41..902c312ce14 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -446,17 +446,19 @@ variable `tab-line-tabs-function'."
446 (setq hscroll nil) 446 (setq hscroll nil)
447 (set-window-parameter nil 'tab-line-hscroll hscroll)) 447 (set-window-parameter nil 'tab-line-hscroll hscroll))
448 (list separator 448 (list separator
449 (when (and (integerp hscroll) (not (zerop hscroll))) 449 (when (and (numberp hscroll) (not (zerop hscroll)))
450 tab-line-left-button) 450 tab-line-left-button)
451 (when (if (integerp hscroll) 451 (when (if (numberp hscroll)
452 (< (abs hscroll) (1- (length strings))) 452 (< (truncate hscroll) (1- (length strings)))
453 (> (length strings) 1)) 453 (> (length strings) 1))
454 tab-line-right-button))) 454 tab-line-right-button)))
455 (if hscroll (nthcdr (abs hscroll) strings) strings) 455 (if hscroll (nthcdr (truncate hscroll) strings) strings)
456 (when (eq tab-line-tabs-function #'tab-line-tabs-window-buffers) 456 (when (eq tab-line-tabs-function #'tab-line-tabs-window-buffers)
457 (list (concat separator (when tab-line-new-tab-choice 457 (list (concat separator (when tab-line-new-tab-choice
458 tab-line-new-button))))))) 458 tab-line-new-button)))))))
459 459
460(defvar tab-line-auto-hscroll)
461
460(defun tab-line-format () 462(defun tab-line-format ()
461 "Template for displaying tab line for selected window." 463 "Template for displaying tab line for selected window."
462 (let* ((tabs (funcall tab-line-tabs-function)) 464 (let* ((tabs (funcall tab-line-tabs-function))
@@ -464,6 +466,13 @@ variable `tab-line-tabs-function'."
464 (window-buffer) 466 (window-buffer)
465 (window-parameter nil 'tab-line-hscroll))) 467 (window-parameter nil 'tab-line-hscroll)))
466 (cache (window-parameter nil 'tab-line-cache))) 468 (cache (window-parameter nil 'tab-line-cache)))
469 ;; Enable auto-hscroll again after it was disabled on manual scrolling.
470 ;; The moment to enable it is when the window-buffer was updated.
471 (when (and tab-line-auto-hscroll ; if auto-hscroll was enabled
472 (integerp (nth 2 cache-key)) ; integer on manual scroll
473 cache ; window-buffer was updated
474 (not (equal (nth 1 (car cache)) (nth 1 cache-key))))
475 (set-window-parameter nil 'tab-line-hscroll (float (nth 2 cache-key))))
467 (or (and cache (equal (car cache) cache-key) (cdr cache)) 476 (or (and cache (equal (car cache) cache-key) (cdr cache))
468 (cdr (set-window-parameter 477 (cdr (set-window-parameter
469 nil 'tab-line-cache 478 nil 'tab-line-cache
@@ -478,24 +487,27 @@ the selected tab visible."
478 :group 'tab-line 487 :group 'tab-line
479 :version "27.1") 488 :version "27.1")
480 489
490(defvar tab-line-auto-hscroll-buffer (generate-new-buffer " *tab-line-hscroll*"))
491
481(defun tab-line-auto-hscroll (strings hscroll) 492(defun tab-line-auto-hscroll (strings hscroll)
482 (with-temp-buffer 493 (with-current-buffer tab-line-auto-hscroll-buffer
483 (let ((truncate-partial-width-windows nil) 494 (let ((truncate-partial-width-windows nil)
484 (inhibit-modification-hooks t) 495 (inhibit-modification-hooks t)
485 show-arrows) 496 show-arrows)
486 (setq truncate-lines nil) 497 (setq truncate-lines nil)
498 (erase-buffer)
487 (apply 'insert strings) 499 (apply 'insert strings)
488 (goto-char (point-min)) 500 (goto-char (point-min))
489 (add-face-text-property (point-min) (point-max) 'tab-line) 501 (add-face-text-property (point-min) (point-max) 'tab-line)
490 ;; Continuation means tab-line doesn't fit completely, 502 ;; Continuation means tab-line doesn't fit completely,
491 ;; thus scroll arrows are needed for scrolling. 503 ;; thus scroll arrows are needed for scrolling.
492 (setq show-arrows (> (vertical-motion 1) 0)) 504 (setq show-arrows (> (vertical-motion 1) 0))
493 ;; Try to auto-scroll only when scrolling is needed, 505 ;; Try to auto-hscroll only when scrolling is needed,
494 ;; but no manual scrolling was performed before. 506 ;; but no manual scrolling was performed before.
495 (when (and tab-line-auto-hscroll 507 (when (and tab-line-auto-hscroll
496 show-arrows 508 show-arrows
497 ;; Do nothing when scrolled manually 509 ;; Do nothing when scrolled manually
498 (not (and (integerp hscroll) (>= hscroll 0)))) 510 (not (integerp hscroll)))
499 (let ((selected (seq-position strings 'selected 511 (let ((selected (seq-position strings 'selected
500 (lambda (str prop) 512 (lambda (str prop)
501 (get-pos-property 1 prop str))))) 513 (get-pos-property 1 prop str)))))
@@ -503,7 +515,7 @@ the selected tab visible."
503 ((null selected) 515 ((null selected)
504 ;; Do nothing if no tab is selected 516 ;; Do nothing if no tab is selected
505 ) 517 )
506 ((or (not (integerp hscroll)) (< selected (abs hscroll))) 518 ((or (not (numberp hscroll)) (< selected (truncate hscroll)))
507 ;; Selected is scrolled to the left, or no scrolling yet 519 ;; Selected is scrolled to the left, or no scrolling yet
508 (erase-buffer) 520 (erase-buffer)
509 (apply 'insert (reverse (seq-subseq strings 0 (1+ selected)))) 521 (apply 'insert (reverse (seq-subseq strings 0 (1+ selected))))
@@ -520,14 +532,14 @@ the selected tab visible."
520 (lambda (str tab) 532 (lambda (str tab)
521 (eq (get-pos-property 1 'tab str) tab)))))) 533 (eq (get-pos-property 1 'tab str) tab))))))
522 (when new-hscroll 534 (when new-hscroll
523 (setq hscroll (- new-hscroll)) 535 (setq hscroll (float new-hscroll))
524 (set-window-parameter nil 'tab-line-hscroll hscroll))) 536 (set-window-parameter nil 'tab-line-hscroll hscroll)))
525 (setq hscroll nil) 537 (setq hscroll nil)
526 (set-window-parameter nil 'tab-line-hscroll hscroll))) 538 (set-window-parameter nil 'tab-line-hscroll hscroll)))
527 (t 539 (t
528 ;; Check if the selected tab is already visible 540 ;; Check if the selected tab is already visible
529 (erase-buffer) 541 (erase-buffer)
530 (apply 'insert (seq-subseq strings (abs hscroll) (1+ selected))) 542 (apply 'insert (seq-subseq strings (truncate hscroll) (1+ selected)))
531 (goto-char (point-min)) 543 (goto-char (point-min))
532 (add-face-text-property (point-min) (point-max) 'tab-line) 544 (add-face-text-property (point-min) (point-max) 'tab-line)
533 (when (> (vertical-motion 1) 0) 545 (when (> (vertical-motion 1) 0)
@@ -547,7 +559,7 @@ the selected tab visible."
547 (lambda (str tab) 559 (lambda (str tab)
548 (eq (get-pos-property 1 'tab str) tab)))))) 560 (eq (get-pos-property 1 'tab str) tab))))))
549 (when new-hscroll 561 (when new-hscroll
550 (setq hscroll (- new-hscroll)) 562 (setq hscroll (float new-hscroll))
551 (set-window-parameter nil 'tab-line-hscroll hscroll))))))))) 563 (set-window-parameter nil 'tab-line-hscroll hscroll)))))))))
552 (list show-arrows hscroll)))) 564 (list show-arrows hscroll))))
553 565
@@ -559,7 +571,7 @@ the selected tab visible."
559 (funcall tab-line-tabs-function)))) 571 (funcall tab-line-tabs-function))))
560 (set-window-parameter 572 (set-window-parameter
561 window 'tab-line-hscroll 573 window 'tab-line-hscroll
562 (max 0 (min (+ (if (integerp hscroll) (abs hscroll) 0) (or arg 1)) 574 (max 0 (min (+ (if (numberp hscroll) (truncate hscroll) 0) (or arg 1))
563 (1- (length tabs))))) 575 (1- (length tabs)))))
564 (when window 576 (when window
565 (force-mode-line-update t)))) 577 (force-mode-line-update t))))
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index 97d883eebd9..a3c1715b1e1 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -1056,7 +1056,7 @@ extracted file."
1056 (write-region start end to-file nil nil nil t)) 1056 (write-region start end to-file nil nil nil t))
1057 (when (and tar-copy-preserve-time 1057 (when (and tar-copy-preserve-time
1058 date) 1058 date)
1059 (set-file-times to-file date))) 1059 (set-file-times to-file date 'nofollow)))
1060 (message "Copied tar entry %s to %s" name to-file))) 1060 (message "Copied tar entry %s to %s" name to-file)))
1061 1061
1062(defun tar-new-entry (filename &optional index) 1062(defun tar-new-entry (filename &optional index)
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el
index ca6c468f525..31e3d6ede4f 100644
--- a/lisp/term/rxvt.el
+++ b/lisp/term/rxvt.el
@@ -26,6 +26,16 @@
26 26
27(require 'term/xterm) 27(require 'term/xterm)
28 28
29(defgroup rxvt nil
30 "(U)RXVT support."
31 :version "28.1"
32 :group 'terminals)
33
34(defcustom rxvt-set-window-title nil
35 "Whether Emacs should set window titles to an Emacs frame in RXVT."
36 :version "28.1"
37 :type 'boolean)
38
29(defvar rxvt-function-map 39(defvar rxvt-function-map
30 (let ((map (make-sparse-keymap))) 40 (let ((map (make-sparse-keymap)))
31 (set-keymap-parent map xterm-rxvt-function-map) 41 (set-keymap-parent map xterm-rxvt-function-map)
@@ -171,7 +181,16 @@
171 (xterm-register-default-colors rxvt-standard-colors) 181 (xterm-register-default-colors rxvt-standard-colors)
172 (rxvt-set-background-mode) 182 (rxvt-set-background-mode)
173 ;; This recomputes all the default faces given the colors we've just set up. 183 ;; This recomputes all the default faces given the colors we've just set up.
174 (tty-set-up-initial-frame-faces)) 184 (tty-set-up-initial-frame-faces)
185
186 ;; Unconditionally enable bracketed paste mode: terminals that don't
187 ;; support it just ignore the sequence.
188 (xterm--init-bracketed-paste-mode)
189
190 (when rxvt-set-window-title
191 (xterm--init-frame-title))
192
193 (run-hooks 'terminal-init-rxvt-hook))
175 194
176;; rxvt puts the default colors into an environment variable 195;; rxvt puts the default colors into an environment variable
177;; COLORFGBG. We use this to set the background mode in a more 196;; COLORFGBG. We use this to set the background mode in a more
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index a7be57e5a3f..670e763814c 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -1006,32 +1006,36 @@ See `bibtex-generate-autokey' for details."
1006 :type 'boolean) 1006 :type 'boolean)
1007 1007
1008(defvar bibtex-autokey-transcriptions 1008(defvar bibtex-autokey-transcriptions
1009 '(;; language specific characters 1009 (nconc
1010 ("\\\\aa" . "a") ; \aa -> a 1010 (mapcar (lambda (a) (cons (regexp-opt (car a)) (cdr a)))
1011 ("\\\\AA" . "A") ; \AA -> A 1011 '(;; language specific characters
1012 ("\\\"a\\|\\\\\\\"a\\|\\\\ae" . "ae") ; "a,\"a,\ae -> ae 1012 (("\\aa") . "a") ; \aa -> a
1013 ("\\\"A\\|\\\\\\\"A\\|\\\\AE" . "Ae") ; "A,\"A,\AE -> Ae 1013 (("\\AA") . "A") ; \AA -> A
1014 ("\\\\i" . "i") ; \i -> i 1014 (("\"a" "\\\"a" "\\ae") . "ae") ; "a,\"a,\ae -> ae
1015 ("\\\\j" . "j") ; \j -> j 1015 (("\"A" "\\\"A" "\\AE") . "Ae") ; "A,\"A,\AE -> Ae
1016 ("\\\\l" . "l") ; \l -> l 1016 (("\\i") . "i") ; \i -> i
1017 ("\\\\L" . "L") ; \L -> L 1017 (("\\j") . "j") ; \j -> j
1018 ("\\\"o\\|\\\\\\\"o\\|\\\\o\\|\\\\oe" . "oe") ; "o,\"o,\o,\oe -> oe 1018 (("\\l") . "l") ; \l -> l
1019 ("\\\"O\\|\\\\\\\"O\\|\\\\O\\|\\\\OE" . "Oe") ; "O,\"O,\O,\OE -> Oe 1019 (("\\L") . "L") ; \L -> L
1020 ("\\\"s\\|\\\\\\\"s\\|\\\\3" . "ss") ; "s,\"s,\3 -> ss 1020 (("\"o" "\\\"o" "\\o" "\\oe") . "oe") ; "o,\"o,\o,\oe -> oe
1021 ("\\\"u\\|\\\\\\\"u" . "ue") ; "u,\"u -> ue 1021 (("\"O" "\\\"O" "\\O" "\\OE") . "Oe") ; "O,\"O,\O,\OE -> Oe
1022 ("\\\"U\\|\\\\\\\"U" . "Ue") ; "U,\"U -> Ue 1022 (("\"s" "\\\"s" "\\3") . "ss") ; "s,\"s,\3 -> ss
1023 ;; accents 1023 (("\"u" "\\\"u") . "ue") ; "u,\"u -> ue
1024 ("\\\\`\\|\\\\'\\|\\\\\\^\\|\\\\~\\|\\\\=\\|\\\\\\.\\|\\\\u\\|\\\\v\\|\\\\H\\|\\\\t\\|\\\\c\\|\\\\d\\|\\\\b" . "") 1024 (("\"U" "\\\"U") . "Ue") ; "U,\"U -> Ue
1025 ;; braces, quotes, concatenation. 1025 ;; hyphen, accents
1026 ("[`'\"{}#]" . "") 1026 (("\\-" "\\`" "\\'" "\\^" "\\~" "\\=" "\\." "\\u" "\\v"
1027 ("\\\\-" . "") ; \- -> 1027 "\\H" "\\t" "\\c" "\\d" "\\b") . "")
1028 ;; spaces 1028 ;; space
1029 ("\\\\?[ \t\n]+\\|~" . " ")) 1029 (("~") . " ")))
1030 ;; more spaces
1031 '(("[\s\t\n]*\\(?:\\\\\\)?[\s\t\n]+" . " ")
1032 ;; braces, quotes, concatenation.
1033 ("[`'\"{}#]" . "")))
1030 "Alist of (OLD-REGEXP . NEW-STRING) pairs. 1034 "Alist of (OLD-REGEXP . NEW-STRING) pairs.
1031Used by the default values of `bibtex-autokey-name-change-strings' and 1035Used as default values of `bibtex-autokey-name-change-strings' and
1032`bibtex-autokey-titleword-change-strings'. Defaults to translating some 1036`bibtex-autokey-titleword-change-strings'. Defaults to translating some
1033language specific characters to their ASCII transcriptions, and 1037language specific characters to their ASCII transcriptions, and
1034removing any character accents.") 1038removing any accent characters.")
1035 1039
1036(defcustom bibtex-autokey-name-change-strings 1040(defcustom bibtex-autokey-name-change-strings
1037 bibtex-autokey-transcriptions 1041 bibtex-autokey-transcriptions
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index 7f87ee3646d..33f181b80c3 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -2914,16 +2914,17 @@ WHERE is provided the cell and table at that location is reported."
2914(defun table-generate-source (language &optional dest-buffer caption) 2914(defun table-generate-source (language &optional dest-buffer caption)
2915 "Generate source of the current table in the specified language. 2915 "Generate source of the current table in the specified language.
2916LANGUAGE is a symbol that specifies the language to describe the 2916LANGUAGE is a symbol that specifies the language to describe the
2917structure of the table. It must be either `html', `latex' or `cals'. 2917structure of the table. It must be either `html', `latex', `cals',
2918The resulted source text is inserted into DEST-BUFFER and the buffer 2918`wiki', or `mediawiki'.
2919object is returned. When DEST-BUFFER is omitted or nil the default 2919The function inserts the resulting source text into DEST-BUFFER, and
2920buffer specified in `table-dest-buffer-name' is used. In this case 2920returns the buffer object. When DEST-BUFFER is omitted or nil, the
2921the content of the default buffer is erased prior to the generation. 2921function uses the default buffer specified in `table-dest-buffer-name'.
2922When DEST-BUFFER is non-nil it is expected to be either a destination 2922In this case, the function erases the default buffer prior to the
2923buffer or a name of the destination buffer. In this case the 2923source generation.
2924generated result is inserted at the current point in the destination 2924When DEST-BUFFER is non-nil, it should be either a destination
2925buffer and the previously existing contents in the buffer are 2925buffer or a name of the destination buffer. In that case, the
2926untouched. 2926function inserts the generated result at point in the destination
2927buffer, and leaves the previous contents of the buffer untouched.
2927 2928
2928References used for this implementation: 2929References used for this implementation:
2929 2930
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index b6afda69198..e8231ecb289 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -1222,23 +1222,24 @@ is non-nil."
1222 1222
1223(defun vc-cvs-ignore (file &optional directory _remove) 1223(defun vc-cvs-ignore (file &optional directory _remove)
1224 "Ignore FILE under CVS. 1224 "Ignore FILE under CVS.
1225FILE is either absolute or relative to DIRECTORY. The basename 1225FILE is either absolute or relative to DIRECTORY. The non-directory
1226of FILE is written unmodified into the ignore file and is 1226part of FILE is written unmodified into the ignore file and is
1227therefore evaluated by CVS as an ignore pattern which follows 1227therefore evaluated by CVS as an ignore pattern which follows
1228glob(7) syntax. If the pattern should match any of the special 1228glob(7) syntax. If the pattern should match any of the special
1229characters ?*[\\\’ literally, they must be escaped with a 1229characters `?*[\\' literally, they must be escaped with a
1230backslash. 1230backslash.
1231 1231
1232CVS processes one ignore file for each subdirectory. Patterns 1232CVS processes one ignore file for each subdirectory. Patterns
1233are separated by whitespace and only match files in the same 1233are separated by whitespace and only match files in the same
1234directory. Since FILE can be a relative filename with leading 1234directory. Since FILE can be a relative filename with leading
1235diretories, FILE is expanded against DIRECTORY to determine the 1235directories, FILE is expanded against DIRECTORY to determine the
1236correct absolute filename. The directory name of this path is 1236correct absolute filename. The directory part of the resulting name
1237then used to determine the location of the ignore file. The base 1237is then used to determine the location of the ignore file. The
1238name of this path is used as pattern for the ignore file. 1238non-directory part of the name is used as pattern for the ignore file.
1239 1239
1240Since patterns are whitespace sparated, it is usually better to 1240Since patterns are whitespace-separated, filenames containing spaces
1241replace spaces in filenames with question marks ‘?’." 1241cannot be represented directly. A work-around is to replace such
1242spaces with question marks."
1242 (setq file (directory-file-name (expand-file-name file directory))) 1243 (setq file (directory-file-name (expand-file-name file directory)))
1243 (vc-cvs-append-to-ignore (file-name-directory file) (file-name-nondirectory file))) 1244 (vc-cvs-append-to-ignore (file-name-directory file) (file-name-nondirectory file)))
1244 1245
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index e5c5e16a17a..38b4937e854 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -879,9 +879,10 @@ If a prefix argument is given, ignore all marked files."
879 (vc-ignore (vc-dir-fileinfo->name filearg)) 879 (vc-ignore (vc-dir-fileinfo->name filearg))
880 t)) 880 t))
881 vc-ewoc) 881 vc-ewoc)
882 (vc-ignore 882 (let ((rel-dir (vc--ignore-base-dir)))
883 (file-relative-name (vc-dir-current-file)) 883 (vc-ignore
884 default-directory))) 884 (file-relative-name (vc-dir-current-file) rel-dir)
885 rel-dir))))
885 886
886(defun vc-dir-current-file () 887(defun vc-dir-current-file ()
887 (let ((node (ewoc-locate vc-ewoc))) 888 (let ((node (ewoc-locate vc-ewoc)))
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index ec10265df6b..96c400c54ad 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1427,14 +1427,7 @@ When called interactively, prompt for a FILE to ignore, unless a
1427prefix argument is given, in which case prompt for a file FILE to 1427prefix argument is given, in which case prompt for a file FILE to
1428remove from the list of ignored files." 1428remove from the list of ignored files."
1429 (interactive 1429 (interactive
1430 (let* ((backend (vc-responsible-backend default-directory)) 1430 (let* ((rel-dir (vc--ignore-base-dir))
1431 (rel-dir
1432 (condition-case nil
1433 (file-name-directory
1434 (vc-call-backend backend 'find-ignore-file
1435 default-directory))
1436 (vc-not-supported
1437 default-directory)))
1438 (file (read-file-name "File to ignore: "))) 1431 (file (read-file-name "File to ignore: ")))
1439 (when (and (file-name-absolute-p file) 1432 (when (and (file-name-absolute-p file)
1440 (file-in-directory-p file rel-dir)) 1433 (file-in-directory-p file rel-dir))
@@ -1447,6 +1440,15 @@ remove from the list of ignored files."
1447 (error "Unknown backend")))) 1440 (error "Unknown backend"))))
1448 (vc-call-backend backend 'ignore file directory remove))) 1441 (vc-call-backend backend 'ignore file directory remove)))
1449 1442
1443(defun vc--ignore-base-dir ()
1444 (let ((backend (vc-responsible-backend default-directory)))
1445 (condition-case nil
1446 (file-name-directory
1447 (vc-call-backend backend 'find-ignore-file
1448 default-directory))
1449 (vc-not-supported
1450 default-directory))))
1451
1450(defun vc-default-ignore (backend file &optional directory remove) 1452(defun vc-default-ignore (backend file &optional directory remove)
1451 "Ignore FILE under DIRECTORY (default is `default-directory'). 1453 "Ignore FILE under DIRECTORY (default is `default-directory').
1452FILE is a wildcard specification relative to DIRECTORY. 1454FILE is a wildcard specification relative to DIRECTORY.
diff --git a/lisp/windmove.el b/lisp/windmove.el
index 40adb49e20f..94d2b75210d 100644
--- a/lisp/windmove.el
+++ b/lisp/windmove.el
@@ -474,6 +474,11 @@ When `switch-to-buffer-obey-display-actions' is non-nil,
474 (tab-bar-new-tab)) 474 (tab-bar-new-tab))
475 (setq type 'tab) 475 (setq type 'tab)
476 (selected-window)) 476 (selected-window))
477 ((eq dir 'new-frame)
478 (window--maybe-raise-frame
479 (make-frame-on-current-monitor pop-up-frame-alist))
480 (setq type 'frame)
481 (selected-window))
477 ((eq dir 'same-window) 482 ((eq dir 'same-window)
478 (selected-window)) 483 (selected-window))
479 (t (window-in-direction 484 (t (window-in-direction
@@ -542,6 +547,12 @@ See the logic of the prefix ARG in `windmove-display-in-direction'."
542 (windmove-display-in-direction 'same-window arg)) 547 (windmove-display-in-direction 'same-window arg))
543 548
544;;;###autoload 549;;;###autoload
550(defun windmove-display-new-frame (&optional arg)
551 "Display the next buffer in a new frame."
552 (interactive "P")
553 (windmove-display-in-direction 'new-frame arg))
554
555;;;###autoload
545(defun windmove-display-new-tab (&optional arg) 556(defun windmove-display-new-tab (&optional arg)
546 "Display the next buffer in a new tab." 557 "Display the next buffer in a new tab."
547 (interactive "P") 558 (interactive "P")
@@ -562,6 +573,7 @@ Default value of MODIFIERS is `shift-meta'."
562 (global-set-key (vector (append modifiers '(up))) 'windmove-display-up) 573 (global-set-key (vector (append modifiers '(up))) 'windmove-display-up)
563 (global-set-key (vector (append modifiers '(down))) 'windmove-display-down) 574 (global-set-key (vector (append modifiers '(down))) 'windmove-display-down)
564 (global-set-key (vector (append modifiers '(?0))) 'windmove-display-same-window) 575 (global-set-key (vector (append modifiers '(?0))) 'windmove-display-same-window)
576 (global-set-key (vector (append modifiers '(?f))) 'windmove-display-new-frame)
565 (global-set-key (vector (append modifiers '(?t))) 'windmove-display-new-tab)) 577 (global-set-key (vector (append modifiers '(?t))) 'windmove-display-new-tab))
566 578
567 579
diff --git a/lisp/window.el b/lisp/window.el
index bd825c09e16..5824b1cb845 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -7891,15 +7891,15 @@ Info node `(elisp) Buffer Display Action Alists' for details of
7891such alists. 7891such alists.
7892 7892
7893ALIST has to contain a `direction' entry whose value should be 7893ALIST has to contain a `direction' entry whose value should be
7894one of `left', `above' (or `up'), `right' and `below' (or 7894one of `left', `above' (or `up'), `right' and `below' (or `down').
7895'down'). Other values are usually interpreted as `below'. 7895Other values are usually interpreted as `below'.
7896 7896
7897If ALIST also contains a `window' entry, its value specifies a 7897If ALIST also contains a `window' entry, its value specifies a
7898reference window. That value can be a special symbol like 7898reference window. That value can be a special symbol like
7899'main' (which stands for the selected frame's main window) or 7899`main' (which stands for the selected frame's main window) or
7900'root' (standings for the selected frame's root window) or an 7900`root' (standings for the selected frame's root window) or an
7901arbitrary valid window. Any other value (or omitting the 7901arbitrary valid window. Any other value (or omitting the
7902'window' entry) means to use the selected window as reference 7902`window' entry) means to use the selected window as reference
7903window. 7903window.
7904 7904
7905This function tries to reuse or split a window such that the 7905This function tries to reuse or split a window such that the
@@ -8806,8 +8806,7 @@ parameters of FRAME."
8806 (parent (frame-parent frame)) 8806 (parent (frame-parent frame))
8807 (monitor-attributes 8807 (monitor-attributes
8808 (unless parent 8808 (unless parent
8809 (car (display-monitor-attributes-list 8809 (frame-monitor-attributes frame)))
8810 (frame-parameter frame 'display)))))
8811 ;; FRAME'S parent or display sizes. Used in connection 8810 ;; FRAME'S parent or display sizes. Used in connection
8812 ;; with margins. 8811 ;; with margins.
8813 (geometry 8812 (geometry
@@ -8816,11 +8815,11 @@ parameters of FRAME."
8816 (parent-or-display-width 8815 (parent-or-display-width
8817 (if parent 8816 (if parent
8818 (frame-native-width parent) 8817 (frame-native-width parent)
8819 (- (nth 2 geometry) (nth 0 geometry)))) 8818 (nth 2 geometry)))
8820 (parent-or-display-height 8819 (parent-or-display-height
8821 (if parent 8820 (if parent
8822 (frame-native-height parent) 8821 (frame-native-height parent)
8823 (- (nth 3 geometry) (nth 1 geometry)))) 8822 (nth 3 geometry)))
8824 ;; FRAME's parent or workarea sizes. Used when no margins 8823 ;; FRAME's parent or workarea sizes. Used when no margins
8825 ;; are specified. 8824 ;; are specified.
8826 (parent-or-workarea 8825 (parent-or-workarea
@@ -8882,13 +8881,15 @@ parameters of FRAME."
8882 (window--sanitize-margin 8881 (window--sanitize-margin
8883 (nth 2 margins) left-margin 8882 (nth 2 margins) left-margin
8884 parent-or-display-width)) 8883 parent-or-display-width))
8885 (nth 2 parent-or-workarea))) 8884 (+ (nth 0 parent-or-workarea)
8885 (nth 2 parent-or-workarea))))
8886 (bottom-margin (if (nth 3 margins) 8886 (bottom-margin (if (nth 3 margins)
8887 (- parent-or-display-height 8887 (- parent-or-display-height
8888 (window--sanitize-margin 8888 (window--sanitize-margin
8889 (nth 3 margins) top-margin 8889 (nth 3 margins) top-margin
8890 parent-or-display-height)) 8890 parent-or-display-height))
8891 (nth 3 parent-or-workarea))) 8891 (+ (nth 1 parent-or-workarea)
8892 (nth 3 parent-or-workarea))))
8892 ;; Minimum and maximum sizes specified for FRAME. 8893 ;; Minimum and maximum sizes specified for FRAME.
8893 (sizes (or (frame-parameter frame 'fit-frame-to-buffer-sizes) 8894 (sizes (or (frame-parameter frame 'fit-frame-to-buffer-sizes)
8894 fit-frame-to-buffer-sizes)) 8895 fit-frame-to-buffer-sizes))
@@ -9124,8 +9125,8 @@ accessible position."
9124 ;; wider than its frame's pixel width, its height 9125 ;; wider than its frame's pixel width, its height
9125 ;; remains unaltered. 9126 ;; remains unaltered.
9126 (width (+ (car (window-text-pixel-size 9127 (width (+ (car (window-text-pixel-size
9127 window (window-start) (point-max) 9128 window (window-start window) nil
9128 (frame-pixel-width) 9129 (frame-pixel-width (window-frame window))
9129 ;; Add one line-height to assure that 9130 ;; Add one line-height to assure that
9130 ;; we're on the safe side. This 9131 ;; we're on the safe side. This
9131 ;; overshoots when the first line below 9132 ;; overshoots when the first line below
diff --git a/m4/futimens.m4 b/m4/futimens.m4
new file mode 100644
index 00000000000..dc5cfa94119
--- /dev/null
+++ b/m4/futimens.m4
@@ -0,0 +1,65 @@
1# serial 8
2# See if we need to provide futimens replacement.
3
4dnl Copyright (C) 2009-2020 Free Software Foundation, Inc.
5dnl This file is free software; the Free Software Foundation
6dnl gives unlimited permission to copy and/or distribute it,
7dnl with or without modifications, as long as this notice is preserved.
8
9# Written by Eric Blake.
10
11AC_DEFUN([gl_FUNC_FUTIMENS],
12[
13 AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
14 AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
15 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
16 AC_CHECK_FUNCS_ONCE([futimens])
17 if test $ac_cv_func_futimens = no; then
18 HAVE_FUTIMENS=0
19 else
20 AC_CACHE_CHECK([whether futimens works],
21 [gl_cv_func_futimens_works],
22 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
23#include <fcntl.h>
24#include <sys/stat.h>
25#include <unistd.h>
26#include <errno.h>
27]], [[struct timespec ts[2];
28 int fd = creat ("conftest.file", 0600);
29 struct stat st;
30 if (fd < 0) return 1;
31 ts[0].tv_sec = 1;
32 ts[0].tv_nsec = UTIME_OMIT;
33 ts[1].tv_sec = 1;
34 ts[1].tv_nsec = UTIME_NOW;
35 errno = 0;
36 if (futimens (AT_FDCWD, NULL) == 0) return 2;
37 if (errno != EBADF) return 3;
38 if (futimens (fd, ts)) return 4;
39 sleep (1);
40 ts[0].tv_nsec = UTIME_NOW;
41 ts[1].tv_nsec = UTIME_OMIT;
42 if (futimens (fd, ts)) return 5;
43 if (fstat (fd, &st)) return 6;
44 if (st.st_ctime < st.st_atime) return 7;
45 ]])],
46 [gl_cv_func_futimens_works=yes],
47 [gl_cv_func_futimens_works=no],
48 [case "$host_os" in
49 # Guess no on glibc systems.
50 *-gnu* | gnu*) gl_cv_func_futimens_works="guessing no" ;;
51 # Guess no on musl systems.
52 *-musl*) gl_cv_func_futimens_works="guessing no" ;;
53 # Guess yes otherwise.
54 *) gl_cv_func_futimens_works="guessing yes" ;;
55 esac
56 ])
57 rm -f conftest.file])
58 case "$gl_cv_func_futimens_works" in
59 *yes) ;;
60 *)
61 REPLACE_FUTIMENS=1
62 ;;
63 esac
64 fi
65])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 1465ce811b8..3228aa42b57 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -95,6 +95,7 @@ AC_DEFUN([gl_EARLY],
95 # Code from module fstatat: 95 # Code from module fstatat:
96 # Code from module fsusage: 96 # Code from module fsusage:
97 # Code from module fsync: 97 # Code from module fsync:
98 # Code from module futimens:
98 # Code from module getdtablesize: 99 # Code from module getdtablesize:
99 # Code from module getgroups: 100 # Code from module getgroups:
100 # Code from module getloadavg: 101 # Code from module getloadavg:
@@ -179,6 +180,7 @@ AC_DEFUN([gl_EARLY],
179 # Code from module unlocked-io: 180 # Code from module unlocked-io:
180 # Code from module update-copyright: 181 # Code from module update-copyright:
181 # Code from module utimens: 182 # Code from module utimens:
183 # Code from module utimensat:
182 # Code from module vararrays: 184 # Code from module vararrays:
183 # Code from module verify: 185 # Code from module verify:
184 # Code from module vla: 186 # Code from module vla:
@@ -297,6 +299,11 @@ AC_DEFUN([gl_INIT],
297 gl_PREREQ_FSYNC 299 gl_PREREQ_FSYNC
298 fi 300 fi
299 gl_UNISTD_MODULE_INDICATOR([fsync]) 301 gl_UNISTD_MODULE_INDICATOR([fsync])
302 gl_FUNC_FUTIMENS
303 if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then
304 AC_LIBOBJ([futimens])
305 fi
306 gl_SYS_STAT_MODULE_INDICATOR([futimens])
300 gl_GETLOADAVG 307 gl_GETLOADAVG
301 if test $HAVE_GETLOADAVG = 0; then 308 if test $HAVE_GETLOADAVG = 0; then
302 AC_LIBOBJ([getloadavg]) 309 AC_LIBOBJ([getloadavg])
@@ -466,7 +473,11 @@ AC_DEFUN([gl_INIT],
466 gl_TIMESPEC 473 gl_TIMESPEC
467 gl_UNISTD_H 474 gl_UNISTD_H
468 gl_FUNC_GLIBC_UNLOCKED_IO 475 gl_FUNC_GLIBC_UNLOCKED_IO
469 gl_UTIMENS 476 gl_FUNC_UTIMENSAT
477 if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then
478 AC_LIBOBJ([utimensat])
479 fi
480 gl_SYS_STAT_MODULE_INDICATOR([utimensat])
470 AC_C_VARARRAYS 481 AC_C_VARARRAYS
471 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false 482 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false
472 gl_gnulib_enabled_cloexec=false 483 gl_gnulib_enabled_cloexec=false
@@ -485,6 +496,7 @@ AC_DEFUN([gl_INIT],
485 gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false 496 gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false
486 gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false 497 gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false
487 gl_gnulib_enabled_strtoll=false 498 gl_gnulib_enabled_strtoll=false
499 gl_gnulib_enabled_utimens=false
488 gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false 500 gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false
489 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b () 501 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
490 { 502 {
@@ -663,6 +675,13 @@ AC_DEFUN([gl_INIT],
663 gl_gnulib_enabled_strtoll=true 675 gl_gnulib_enabled_strtoll=true
664 fi 676 fi
665 } 677 }
678 func_gl_gnulib_m4code_utimens ()
679 {
680 if ! $gl_gnulib_enabled_utimens; then
681 gl_UTIMENS
682 gl_gnulib_enabled_utimens=true
683 fi
684 }
666 func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec () 685 func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec ()
667 { 686 {
668 if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then 687 if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
@@ -705,6 +724,9 @@ AC_DEFUN([gl_INIT],
705 if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then 724 if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then
706 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 725 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7
707 fi 726 fi
727 if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then
728 func_gl_gnulib_m4code_utimens
729 fi
708 if test $REPLACE_GETOPT = 1; then 730 if test $REPLACE_GETOPT = 1; then
709 func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36 731 func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36
710 fi 732 fi
@@ -729,6 +751,15 @@ AC_DEFUN([gl_INIT],
729 if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then 751 if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
730 func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31 752 func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31
731 fi 753 fi
754 if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then
755 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b
756 fi
757 if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then
758 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7
759 fi
760 if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then
761 func_gl_gnulib_m4code_utimens
762 fi
732 m4_pattern_allow([^gl_GNULIB_ENABLED_]) 763 m4_pattern_allow([^gl_GNULIB_ENABLED_])
733 AM_CONDITIONAL([gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b], [$gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b]) 764 AM_CONDITIONAL([gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b], [$gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b])
734 AM_CONDITIONAL([gl_GNULIB_ENABLED_cloexec], [$gl_gnulib_enabled_cloexec]) 765 AM_CONDITIONAL([gl_GNULIB_ENABLED_cloexec], [$gl_gnulib_enabled_cloexec])
@@ -747,6 +778,7 @@ AC_DEFUN([gl_INIT],
747 AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7]) 778 AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7])
748 AM_CONDITIONAL([gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c], [$gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c]) 779 AM_CONDITIONAL([gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c], [$gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c])
749 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll]) 780 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll])
781 AM_CONDITIONAL([gl_GNULIB_ENABLED_utimens], [$gl_gnulib_enabled_utimens])
750 AM_CONDITIONAL([gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec], [$gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec]) 782 AM_CONDITIONAL([gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec], [$gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec])
751 # End of code from modules 783 # End of code from modules
752 m4_ifval(gl_LIBSOURCES_LIST, [ 784 m4_ifval(gl_LIBSOURCES_LIST, [
@@ -956,6 +988,7 @@ AC_DEFUN([gl_FILE_LIST], [
956 lib/fsync.c 988 lib/fsync.c
957 lib/ftoastr.c 989 lib/ftoastr.c
958 lib/ftoastr.h 990 lib/ftoastr.h
991 lib/futimens.c
959 lib/get-permissions.c 992 lib/get-permissions.c
960 lib/getdtablesize.c 993 lib/getdtablesize.c
961 lib/getgroups.c 994 lib/getgroups.c
@@ -1063,6 +1096,7 @@ AC_DEFUN([gl_FILE_LIST], [
1063 lib/unlocked-io.h 1096 lib/unlocked-io.h
1064 lib/utimens.c 1097 lib/utimens.c
1065 lib/utimens.h 1098 lib/utimens.h
1099 lib/utimensat.c
1066 lib/verify.h 1100 lib/verify.h
1067 lib/vla.h 1101 lib/vla.h
1068 lib/warn-on-use.h 1102 lib/warn-on-use.h
@@ -1103,6 +1137,7 @@ AC_DEFUN([gl_FILE_LIST], [
1103 m4/fstatat.m4 1137 m4/fstatat.m4
1104 m4/fsusage.m4 1138 m4/fsusage.m4
1105 m4/fsync.m4 1139 m4/fsync.m4
1140 m4/futimens.m4
1106 m4/getdtablesize.m4 1141 m4/getdtablesize.m4
1107 m4/getgroups.m4 1142 m4/getgroups.m4
1108 m4/getloadavg.m4 1143 m4/getloadavg.m4
@@ -1184,6 +1219,7 @@ AC_DEFUN([gl_FILE_LIST], [
1184 m4/unistd_h.m4 1219 m4/unistd_h.m4
1185 m4/unlocked-io.m4 1220 m4/unlocked-io.m4
1186 m4/utimens.m4 1221 m4/utimens.m4
1222 m4/utimensat.m4
1187 m4/utimes.m4 1223 m4/utimes.m4
1188 m4/vararrays.m4 1224 m4/vararrays.m4
1189 m4/warn-on-use.m4 1225 m4/warn-on-use.m4
diff --git a/m4/utimensat.m4 b/m4/utimensat.m4
new file mode 100644
index 00000000000..2bc1bfebb5d
--- /dev/null
+++ b/m4/utimensat.m4
@@ -0,0 +1,69 @@
1# serial 6
2# See if we need to provide utimensat replacement.
3
4dnl Copyright (C) 2009-2020 Free Software Foundation, Inc.
5dnl This file is free software; the Free Software Foundation
6dnl gives unlimited permission to copy and/or distribute it,
7dnl with or without modifications, as long as this notice is preserved.
8
9# Written by Eric Blake.
10
11AC_DEFUN([gl_FUNC_UTIMENSAT],
12[
13 AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
14 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
15 AC_CHECK_FUNCS_ONCE([utimensat])
16 if test $ac_cv_func_utimensat = no; then
17 HAVE_UTIMENSAT=0
18 else
19 AC_CACHE_CHECK([whether utimensat works],
20 [gl_cv_func_utimensat_works],
21 [AC_RUN_IFELSE(
22 [AC_LANG_PROGRAM([[
23#include <fcntl.h>
24#include <sys/stat.h>
25#include <unistd.h>
26]], [[int result = 0;
27 const char *f = "conftest.file";
28 if (close (creat (f, 0600)))
29 return 1;
30 /* Test whether the AT_SYMLINK_NOFOLLOW flag is supported. */
31 {
32 if (utimensat (AT_FDCWD, f, NULL, AT_SYMLINK_NOFOLLOW))
33 result |= 2;
34 }
35 /* Test whether UTIME_NOW and UTIME_OMIT work. */
36 {
37 struct timespec ts[2];
38 ts[0].tv_sec = 1;
39 ts[0].tv_nsec = UTIME_OMIT;
40 ts[1].tv_sec = 1;
41 ts[1].tv_nsec = UTIME_NOW;
42 if (utimensat (AT_FDCWD, f, ts, 0))
43 result |= 4;
44 }
45 sleep (1);
46 {
47 struct stat st;
48 struct timespec ts[2];
49 ts[0].tv_sec = 1;
50 ts[0].tv_nsec = UTIME_NOW;
51 ts[1].tv_sec = 1;
52 ts[1].tv_nsec = UTIME_OMIT;
53 if (utimensat (AT_FDCWD, f, ts, 0))
54 result |= 8;
55 if (stat (f, &st))
56 result |= 16;
57 else if (st.st_ctime < st.st_atime)
58 result |= 32;
59 }
60 return result;
61 ]])],
62 [gl_cv_func_utimensat_works=yes],
63 [gl_cv_func_utimensat_works=no],
64 [gl_cv_func_utimensat_works="guessing yes"])])
65 if test "$gl_cv_func_utimensat_works" = no; then
66 REPLACE_UTIMENSAT=1
67 fi
68 fi
69])
diff --git a/nt/gnulib-cfg.mk b/nt/gnulib-cfg.mk
index 1d120a973d1..e3b945720d6 100644
--- a/nt/gnulib-cfg.mk
+++ b/nt/gnulib-cfg.mk
@@ -65,3 +65,5 @@ OMIT_GNULIB_MODULE_unistd = true
65OMIT_GNULIB_MODULE_canonicalize-lgpl = true 65OMIT_GNULIB_MODULE_canonicalize-lgpl = true
66OMIT_GNULIB_MODULE_fchmodat = true 66OMIT_GNULIB_MODULE_fchmodat = true
67OMIT_GNULIB_MODULE_lchmod = true 67OMIT_GNULIB_MODULE_lchmod = true
68OMIT_GNULIB_MODULE_futimens = true
69OMIT_GNULIB_MODULE_utimensat = true
diff --git a/nt/inc/sys/stat.h b/nt/inc/sys/stat.h
index 7bf780dbaa2..f58d5ab6573 100644
--- a/nt/inc/sys/stat.h
+++ b/nt/inc/sys/stat.h
@@ -164,4 +164,9 @@ int __cdecl __MINGW_NOTHROW fstatat (int, char const *,
164 struct stat *, int); 164 struct stat *, int);
165int __cdecl __MINGW_NOTHROW chmod (const char*, int); 165int __cdecl __MINGW_NOTHROW chmod (const char*, int);
166 166
167/* Provide prototypes of library functions that are emulated on w32
168 and whose prototypes are usually found in sys/stat.h on POSIX
169 platforms. */
170extern int utimensat (int, const char *, struct timespec const[2], int);
171
167#endif /* INC_SYS_STAT_H_ */ 172#endif /* INC_SYS_STAT_H_ */
diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site
index 5bd5b834634..2271eef98d6 100644
--- a/nt/mingw-cfg.site
+++ b/nt/mingw-cfg.site
@@ -105,6 +105,10 @@ gl_cv_func_fstatat_zero_flag=yes
105ac_cv_func_fchmodat=yes 105ac_cv_func_fchmodat=yes
106gl_cv_func_fchmodat_works="not-needed-so-yes" 106gl_cv_func_fchmodat_works="not-needed-so-yes"
107ac_cv_func_lchmod=yes 107ac_cv_func_lchmod=yes
108ac_cv_func_futimens=not-needed
109gl_cv_func_futimens_works="not-needed-so-yes"
110ac_cv_func_utimensat=yes
111gl_cv_func_utimensat_works=yes
108# Aliased to _commit in ms-w32.h 112# Aliased to _commit in ms-w32.h
109ac_cv_func_fsync=yes 113ac_cv_func_fsync=yes
110ac_cv_func_fdatasync=yes 114ac_cv_func_fdatasync=yes
diff --git a/src/composite.c b/src/composite.c
index 05365cfb65e..84de334ce0d 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -818,6 +818,11 @@ fill_gstring_body (Lisp_Object gstring)
818 Lisp_Object header = AREF (gstring, 0); 818 Lisp_Object header = AREF (gstring, 0);
819 ptrdiff_t len = LGSTRING_CHAR_LEN (gstring); 819 ptrdiff_t len = LGSTRING_CHAR_LEN (gstring);
820 ptrdiff_t i; 820 ptrdiff_t i;
821 struct font *font = NULL;
822 unsigned int code;
823
824 if (FONT_OBJECT_P (font_object))
825 font = XFONT_OBJECT (font_object);
821 826
822 for (i = 0; i < len; i++) 827 for (i = 0; i < len; i++)
823 { 828 {
@@ -832,10 +837,15 @@ fill_gstring_body (Lisp_Object gstring)
832 LGLYPH_SET_FROM (g, i); 837 LGLYPH_SET_FROM (g, i);
833 LGLYPH_SET_TO (g, i); 838 LGLYPH_SET_TO (g, i);
834 LGLYPH_SET_CHAR (g, c); 839 LGLYPH_SET_CHAR (g, c);
835 if (FONT_OBJECT_P (font_object)) 840
836 { 841 if (font != NULL)
837 font_fill_lglyph_metrics (g, font_object); 842 code = font->driver->encode_char (font, LGLYPH_CHAR (g));
838 } 843 else
844 code = FONT_INVALID_CODE;
845 if (code != FONT_INVALID_CODE)
846 {
847 font_fill_lglyph_metrics (g, font, code);
848 }
839 else 849 else
840 { 850 {
841 int width = XFIXNAT (CHAR_TABLE_REF (Vchar_width_table, c)); 851 int width = XFIXNAT (CHAR_TABLE_REF (Vchar_width_table, c));
diff --git a/src/conf_post.h b/src/conf_post.h
index 2f8d19fdca8..eb8fb18c00c 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -78,6 +78,7 @@ typedef bool bool_bf;
78# define __has_attribute_no_address_safety_analysis false 78# define __has_attribute_no_address_safety_analysis false
79# define __has_attribute_no_sanitize_address GNUC_PREREQ (4, 8, 0) 79# define __has_attribute_no_sanitize_address GNUC_PREREQ (4, 8, 0)
80# define __has_attribute_no_sanitize_undefined GNUC_PREREQ (4, 9, 0) 80# define __has_attribute_no_sanitize_undefined GNUC_PREREQ (4, 9, 0)
81# define __has_attribute_returns_nonnull GNUC_PREREQ (4, 9, 0)
81# define __has_attribute_warn_unused_result GNUC_PREREQ (3, 4, 0) 82# define __has_attribute_warn_unused_result GNUC_PREREQ (3, 4, 0)
82#endif 83#endif
83 84
@@ -321,6 +322,12 @@ extern int emacs_setenv_TZ (char const *);
321 322
322#define ATTRIBUTE_MALLOC_SIZE(args) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE (args) 323#define ATTRIBUTE_MALLOC_SIZE(args) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE (args)
323 324
325#if __has_attribute (returns_nonnull)
326# define ATTRIBUTE_RETURNS_NONNULL __attribute__ ((returns_nonnull))
327#else
328# define ATTRIBUTE_RETURNS_NONNULL
329#endif
330
324/* Work around GCC bug 59600: when a function is inlined, the inlined 331/* Work around GCC bug 59600: when a function is inlined, the inlined
325 code may have its addresses sanitized even if the function has the 332 code may have its addresses sanitized even if the function has the
326 no_sanitize_address attribute. This bug is fixed in GCC 4.9.0 and 333 no_sanitize_address attribute. This bug is fixed in GCC 4.9.0 and
diff --git a/src/editfns.c b/src/editfns.c
index ddf190b1752..eb15566fb48 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1262,14 +1262,17 @@ name, or nil if there is no such user. */)
1262 if (q) 1262 if (q)
1263 { 1263 {
1264 Lisp_Object login = Fuser_login_name (INT_TO_INTEGER (pw->pw_uid)); 1264 Lisp_Object login = Fuser_login_name (INT_TO_INTEGER (pw->pw_uid));
1265 USE_SAFE_ALLOCA; 1265 if (!NILP (login))
1266 char *r = SAFE_ALLOCA (strlen (p) + SBYTES (login) + 1); 1266 {
1267 memcpy (r, p, q - p); 1267 USE_SAFE_ALLOCA;
1268 char *s = lispstpcpy (&r[q - p], login); 1268 char *r = SAFE_ALLOCA (strlen (p) + SBYTES (login) + 1);
1269 r[q - p] = upcase ((unsigned char) r[q - p]); 1269 memcpy (r, p, q - p);
1270 strcpy (s, q + 1); 1270 char *s = lispstpcpy (&r[q - p], login);
1271 full = build_string (r); 1271 r[q - p] = upcase ((unsigned char) r[q - p]);
1272 SAFE_FREE (); 1272 strcpy (s, q + 1);
1273 full = build_string (r);
1274 SAFE_FREE ();
1275 }
1273 } 1276 }
1274#endif /* AMPERSAND_FULL_NAME */ 1277#endif /* AMPERSAND_FULL_NAME */
1275 1278
diff --git a/src/emacs.c b/src/emacs.c
index ce1c9edc2dc..fcc02a3a874 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1974,7 +1974,6 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
1974 /* This calls putenv and so must precede init_process_emacs. */ 1974 /* This calls putenv and so must precede init_process_emacs. */
1975 init_timefns (); 1975 init_timefns ();
1976 1976
1977 /* This sets Voperating_system_release, which init_process_emacs uses. */
1978 init_editfns (); 1977 init_editfns ();
1979 1978
1980 /* These two call putenv. */ 1979 /* These two call putenv. */
diff --git a/src/fileio.c b/src/fileio.c
index 2532f5233c4..ffe79559a3f 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2077,7 +2077,7 @@ permissions. */)
2077 report_file_error ("Copying permissions from", file); 2077 report_file_error ("Copying permissions from", file);
2078 case -3: 2078 case -3:
2079 xsignal2 (Qfile_date_error, 2079 xsignal2 (Qfile_date_error,
2080 build_string ("Resetting file times"), newname); 2080 build_string ("Cannot set file date"), newname);
2081 case -4: 2081 case -4:
2082 report_file_error ("Copying permissions to", newname); 2082 report_file_error ("Copying permissions to", newname);
2083 } 2083 }
@@ -2253,9 +2253,8 @@ permissions. */)
2253 2253
2254 if (!NILP (keep_time)) 2254 if (!NILP (keep_time))
2255 { 2255 {
2256 struct timespec atime = get_stat_atime (&st); 2256 struct timespec ts[] = { get_stat_atime (&st), get_stat_mtime (&st) };
2257 struct timespec mtime = get_stat_mtime (&st); 2257 if (futimens (ofd, ts) != 0)
2258 if (set_file_times (ofd, SSDATA (encoded_newname), atime, mtime) != 0)
2259 xsignal2 (Qfile_date_error, 2258 xsignal2 (Qfile_date_error,
2260 build_string ("Cannot set file date"), newname); 2259 build_string ("Cannot set file date"), newname);
2261 } 2260 }
@@ -3430,39 +3429,41 @@ The value is an integer. */)
3430} 3429}
3431 3430
3432 3431
3433DEFUN ("set-file-times", Fset_file_times, Sset_file_times, 1, 2, 0, 3432DEFUN ("set-file-times", Fset_file_times, Sset_file_times, 1, 3, 0,
3434 doc: /* Set times of file FILENAME to TIMESTAMP. 3433 doc: /* Set times of file FILENAME to TIMESTAMP.
3435Set both access and modification times. 3434If optional FLAG is `nofollow', do not follow FILENAME if it is a
3436Return t on success, else nil. 3435symbolic link. Set both access and modification times. Return t on
3437Use the current time if TIMESTAMP is nil. TIMESTAMP is in the format of 3436success, else nil. Use the current time if TIMESTAMP is nil.
3438`current-time'. */) 3437TIMESTAMP is in the format of `current-time'. */)
3439 (Lisp_Object filename, Lisp_Object timestamp) 3438 (Lisp_Object filename, Lisp_Object timestamp, Lisp_Object flag)
3440{ 3439{
3441 Lisp_Object absname, encoded_absname; 3440 int nofollow = symlink_nofollow_flag (flag);
3442 Lisp_Object handler;
3443 struct timespec t = lisp_time_argument (timestamp);
3444 3441
3445 absname = Fexpand_file_name (filename, BVAR (current_buffer, directory)); 3442 struct timespec ts[2];
3443 if (!NILP (timestamp))
3444 ts[0] = ts[1] = lisp_time_argument (timestamp);
3445 else
3446 ts[0].tv_nsec = ts[1].tv_nsec = UTIME_NOW;
3446 3447
3447 /* If the file name has special constructs in it, 3448 /* If the file name has special constructs in it,
3448 call the corresponding file name handler. */ 3449 call the corresponding file name handler. */
3449 handler = Ffind_file_name_handler (absname, Qset_file_times); 3450 Lisp_Object
3451 absname = Fexpand_file_name (filename, BVAR (current_buffer, directory)),
3452 handler = Ffind_file_name_handler (absname, Qset_file_times);
3450 if (!NILP (handler)) 3453 if (!NILP (handler))
3451 return call3 (handler, Qset_file_times, absname, timestamp); 3454 return call4 (handler, Qset_file_times, absname, timestamp, flag);
3452 3455
3453 encoded_absname = ENCODE_FILE (absname); 3456 Lisp_Object encoded_absname = ENCODE_FILE (absname);
3454 3457
3455 { 3458 if (utimensat (AT_FDCWD, SSDATA (encoded_absname), ts, nofollow) != 0)
3456 if (set_file_times (-1, SSDATA (encoded_absname), t, t) != 0) 3459 {
3457 {
3458#ifdef MSDOS 3460#ifdef MSDOS
3459 /* Setting times on a directory always fails. */ 3461 /* Setting times on a directory always fails. */
3460 if (file_directory_p (encoded_absname)) 3462 if (file_directory_p (encoded_absname))
3461 return Qnil; 3463 return Qnil;
3462#endif 3464#endif
3463 report_file_error ("Setting file times", absname); 3465 report_file_error ("Setting file times", absname);
3464 } 3466 }
3465 }
3466 3467
3467 return Qt; 3468 return Qt;
3468} 3469}
diff --git a/src/font.c b/src/font.c
index bb39aef92d5..2a456300619 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4416,10 +4416,8 @@ DEFUN ("clear-font-cache", Fclear_font_cache, Sclear_font_cache, 0, 0, 0,
4416 4416
4417 4417
4418void 4418void
4419font_fill_lglyph_metrics (Lisp_Object glyph, Lisp_Object font_object) 4419font_fill_lglyph_metrics (Lisp_Object glyph, struct font *font, unsigned int code)
4420{ 4420{
4421 struct font *font = XFONT_OBJECT (font_object);
4422 unsigned code = font->driver->encode_char (font, LGLYPH_CHAR (glyph));
4423 struct font_metrics metrics; 4421 struct font_metrics metrics;
4424 4422
4425 LGLYPH_SET_CODE (glyph, code); 4423 LGLYPH_SET_CODE (glyph, code);
diff --git a/src/font.h b/src/font.h
index 0561e3c83f5..8614e7fa10a 100644
--- a/src/font.h
+++ b/src/font.h
@@ -886,7 +886,7 @@ extern Lisp_Object font_update_drivers (struct frame *f, Lisp_Object list);
886extern Lisp_Object font_range (ptrdiff_t, ptrdiff_t, ptrdiff_t *, 886extern Lisp_Object font_range (ptrdiff_t, ptrdiff_t, ptrdiff_t *,
887 struct window *, struct face *, 887 struct window *, struct face *,
888 Lisp_Object); 888 Lisp_Object);
889extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object); 889extern void font_fill_lglyph_metrics (Lisp_Object, struct font *, unsigned int);
890 890
891extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop, 891extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop,
892 Lisp_Object val); 892 Lisp_Object val);
diff --git a/src/fontset.c b/src/fontset.c
index bca9452418e..c2bb8b21f26 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -367,8 +367,14 @@ fontset_add (Lisp_Object fontset, Lisp_Object range, Lisp_Object elt, Lisp_Objec
367static int 367static int
368fontset_compare_rfontdef (const void *val1, const void *val2) 368fontset_compare_rfontdef (const void *val1, const void *val2)
369{ 369{
370 return (RFONT_DEF_SCORE (*(Lisp_Object *) val1) 370 Lisp_Object v1 = *(Lisp_Object *) val1, v2 = *(Lisp_Object *) val2;
371 - RFONT_DEF_SCORE (*(Lisp_Object *) val2)); 371 if (NILP (v1) && NILP (v2))
372 return 0;
373 else if (NILP (v1))
374 return INT_MIN;
375 else if (NILP (v2))
376 return INT_MAX;
377 return (RFONT_DEF_SCORE (v1) - RFONT_DEF_SCORE (v2));
372} 378}
373 379
374/* Update a cons cell which has this form: 380/* Update a cons cell which has this form:
@@ -400,6 +406,8 @@ reorder_font_vector (Lisp_Object font_group, struct font *font)
400 for (i = 0; i < size; i++) 406 for (i = 0; i < size; i++)
401 { 407 {
402 Lisp_Object rfont_def = AREF (vec, i); 408 Lisp_Object rfont_def = AREF (vec, i);
409 if (NILP (rfont_def))
410 continue;
403 Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def); 411 Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def);
404 Lisp_Object font_spec = FONT_DEF_SPEC (font_def); 412 Lisp_Object font_spec = FONT_DEF_SPEC (font_def);
405 int score = RFONT_DEF_SCORE (rfont_def) & 0xFF; 413 int score = RFONT_DEF_SCORE (rfont_def) & 0xFF;
diff --git a/src/fringe.c b/src/fringe.c
index 97aad843c2e..2a46e3c34f2 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -1500,7 +1500,8 @@ DEFUN ("define-fringe-bitmap", Fdefine_fringe_bitmap, Sdefine_fringe_bitmap,
1500BITMAP is a symbol identifying the new fringe bitmap. 1500BITMAP is a symbol identifying the new fringe bitmap.
1501BITS is either a string or a vector of integers. 1501BITS is either a string or a vector of integers.
1502HEIGHT is height of bitmap. If HEIGHT is nil, use length of BITS. 1502HEIGHT is height of bitmap. If HEIGHT is nil, use length of BITS.
1503WIDTH must be an integer between 1 and 16, or nil which defaults to 8. 1503WIDTH must be an integer from 1 to 16, or nil which defaults to 8. An
1504error is signaled if WIDTH is outside this range.
1504Optional fifth arg ALIGN may be one of `top', `center', or `bottom', 1505Optional fifth arg ALIGN may be one of `top', `center', or `bottom',
1505indicating the positioning of the bitmap relative to the rows where it 1506indicating the positioning of the bitmap relative to the rows where it
1506is used; the default is to center the bitmap. Fifth arg may also be a 1507is used; the default is to center the bitmap. Fifth arg may also be a
@@ -1535,7 +1536,9 @@ If BITMAP already exists, the existing definition is replaced. */)
1535 else 1536 else
1536 { 1537 {
1537 CHECK_FIXNUM (width); 1538 CHECK_FIXNUM (width);
1538 fb.width = max (0, min (XFIXNUM (width), 255)); 1539 fb.width = max (1, min (XFIXNUM (width), 16));
1540 if (fb.width != XFIXNUM (width))
1541 args_out_of_range (width, build_string ("Width must be from 1 to 16"));
1539 } 1542 }
1540 1543
1541 fb.period = 0; 1544 fb.period = 0;
diff --git a/src/gnutls.c b/src/gnutls.c
index 31fcd37c0a6..70176c41cdd 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -2834,16 +2834,21 @@ Any GnuTLS extension with ID up to 100
2834void 2834void
2835syms_of_gnutls (void) 2835syms_of_gnutls (void)
2836{ 2836{
2837 DEFSYM (Qlibgnutls_version, "libgnutls-version"); 2837 DEFVAR_LISP ("libgnutls-version", Vlibgnutls_version,
2838 Fset (Qlibgnutls_version, 2838 doc: /* The version of libgnutls that Emacs was compiled with.
2839The version number is encoded as an integer with the major version in
2840the ten thousands place, minor version in the hundreds, and patch
2841level in the ones. For builds without libgnutls, the value is -1. */);
2842 Vlibgnutls_version = make_fixnum
2839#ifdef HAVE_GNUTLS 2843#ifdef HAVE_GNUTLS
2840 make_fixnum (GNUTLS_VERSION_MAJOR * 10000 2844 (GNUTLS_VERSION_MAJOR * 10000
2841 + GNUTLS_VERSION_MINOR * 100 2845 + GNUTLS_VERSION_MINOR * 100
2842 + GNUTLS_VERSION_PATCH) 2846 + GNUTLS_VERSION_PATCH)
2843#else 2847#else
2844 make_fixnum (-1) 2848 (-1)
2845#endif 2849#endif
2846 ); 2850 ;
2851
2847#ifdef HAVE_GNUTLS 2852#ifdef HAVE_GNUTLS
2848 gnutls_global_initialized = 0; 2853 gnutls_global_initialized = 0;
2849 PDUMPER_IGNORE (gnutls_global_initialized); 2854 PDUMPER_IGNORE (gnutls_global_initialized);
diff --git a/src/intervals.c b/src/intervals.c
index a66594ceea2..594d8924ebc 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -298,7 +298,7 @@ rotate_right (INTERVAL A)
298 set_interval_parent (c, A); 298 set_interval_parent (c, A);
299 299
300 /* A's total length is decreased by the length of B and its left child. */ 300 /* A's total length is decreased by the length of B and its left child. */
301 A->total_length -= B->total_length - TOTAL_LENGTH (c); 301 A->total_length -= TOTAL_LENGTH (B) - TOTAL_LENGTH0 (c);
302 eassert (TOTAL_LENGTH (A) > 0); 302 eassert (TOTAL_LENGTH (A) > 0);
303 eassert (LENGTH (A) > 0); 303 eassert (LENGTH (A) > 0);
304 304
@@ -349,7 +349,7 @@ rotate_left (INTERVAL A)
349 set_interval_parent (c, A); 349 set_interval_parent (c, A);
350 350
351 /* A's total length is decreased by the length of B and its right child. */ 351 /* A's total length is decreased by the length of B and its right child. */
352 A->total_length -= B->total_length - TOTAL_LENGTH (c); 352 A->total_length -= TOTAL_LENGTH (B) - TOTAL_LENGTH0 (c);
353 eassert (TOTAL_LENGTH (A) > 0); 353 eassert (TOTAL_LENGTH (A) > 0);
354 eassert (LENGTH (A) > 0); 354 eassert (LENGTH (A) > 0);
355 355
@@ -723,13 +723,13 @@ previous_interval (register INTERVAL interval)
723 i->position - LEFT_TOTAL_LENGTH (i) \ 723 i->position - LEFT_TOTAL_LENGTH (i) \
724 - LENGTH (INTERVAL_PARENT (i)) 724 - LENGTH (INTERVAL_PARENT (i))
725 725
726/* Find the interval containing POS, given some non-NULL INTERVAL in 726/* Find the interval containing POS, given some interval I in
727 the same tree. Note that we update interval->position in each 727 the same tree. Note that we update interval->position in each
728 interval we traverse, assuming it is already correctly set for the 728 interval we traverse, assuming it is already correctly set for the
729 argument I. We don't assume that any other interval already has a 729 argument I. We don't assume that any other interval already has a
730 correctly set ->position. */ 730 correctly set ->position. */
731INTERVAL 731INTERVAL
732update_interval (register INTERVAL i, ptrdiff_t pos) 732update_interval (INTERVAL i, ptrdiff_t pos)
733{ 733{
734 if (!i) 734 if (!i)
735 return NULL; 735 return NULL;
@@ -739,7 +739,7 @@ update_interval (register INTERVAL i, ptrdiff_t pos)
739 if (pos < i->position) 739 if (pos < i->position)
740 { 740 {
741 /* Move left. */ 741 /* Move left. */
742 if (pos >= i->position - TOTAL_LENGTH (i->left)) 742 if (pos >= i->position - LEFT_TOTAL_LENGTH (i))
743 { 743 {
744 i->left->position = i->position - TOTAL_LENGTH (i->left) 744 i->left->position = i->position - TOTAL_LENGTH (i->left)
745 + LEFT_TOTAL_LENGTH (i->left); 745 + LEFT_TOTAL_LENGTH (i->left);
@@ -757,7 +757,7 @@ update_interval (register INTERVAL i, ptrdiff_t pos)
757 else if (pos >= INTERVAL_LAST_POS (i)) 757 else if (pos >= INTERVAL_LAST_POS (i))
758 { 758 {
759 /* Move right. */ 759 /* Move right. */
760 if (pos < INTERVAL_LAST_POS (i) + TOTAL_LENGTH (i->right)) 760 if (pos < INTERVAL_LAST_POS (i) + RIGHT_TOTAL_LENGTH (i))
761 { 761 {
762 i->right->position = INTERVAL_LAST_POS (i) 762 i->right->position = INTERVAL_LAST_POS (i)
763 + LEFT_TOTAL_LENGTH (i->right); 763 + LEFT_TOTAL_LENGTH (i->right);
diff --git a/src/intervals.h b/src/intervals.h
index a93b10e9fff..9a7ba910a10 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -96,24 +96,27 @@ struct interval
96/* True if this interval has both left and right children. */ 96/* True if this interval has both left and right children. */
97#define BOTH_KIDS_P(i) ((i)->left != NULL && (i)->right != NULL) 97#define BOTH_KIDS_P(i) ((i)->left != NULL && (i)->right != NULL)
98 98
99/* The total size of all text represented by this interval and all its 99/* The total size of all text represented by the nonnull interval I
100 children in the tree. This is zero if the interval is null. */ 100 and all its children in the tree. */
101#define TOTAL_LENGTH(i) ((i) == NULL ? 0 : (i)->total_length) 101#define TOTAL_LENGTH(i) ((i)->total_length)
102
103/* Likewise, but also defined to be zero if I is null. */
104#define TOTAL_LENGTH0(i) ((i) ? TOTAL_LENGTH (i) : 0)
102 105
103/* The size of text represented by this interval alone. */ 106/* The size of text represented by this interval alone. */
104#define LENGTH(i) ((i)->total_length \ 107#define LENGTH(i) (TOTAL_LENGTH (i) \
105 - TOTAL_LENGTH ((i)->right) \ 108 - RIGHT_TOTAL_LENGTH (i) \
106 - TOTAL_LENGTH ((i)->left)) 109 - LEFT_TOTAL_LENGTH (i))
107 110
108/* The position of the character just past the end of I. Note that 111/* The position of the character just past the end of I. Note that
109 the position cache i->position must be valid for this to work. */ 112 the position cache i->position must be valid for this to work. */
110#define INTERVAL_LAST_POS(i) ((i)->position + LENGTH (i)) 113#define INTERVAL_LAST_POS(i) ((i)->position + LENGTH (i))
111 114
112/* The total size of the left subtree of this interval. */ 115/* The total size of the left subtree of this interval. */
113#define LEFT_TOTAL_LENGTH(i) ((i)->left ? (i)->left->total_length : 0) 116#define LEFT_TOTAL_LENGTH(i) TOTAL_LENGTH0 ((i)->left)
114 117
115/* The total size of the right subtree of this interval. */ 118/* The total size of the right subtree of this interval. */
116#define RIGHT_TOTAL_LENGTH(i) ((i)->right ? (i)->right->total_length : 0) 119#define RIGHT_TOTAL_LENGTH(i) TOTAL_LENGTH0 ((i)->right)
117 120
118/* These macros are for dealing with the interval properties. */ 121/* These macros are for dealing with the interval properties. */
119 122
@@ -234,7 +237,7 @@ set_interval_plist (INTERVAL i, Lisp_Object plist)
234 237
235/* Declared in alloc.c. */ 238/* Declared in alloc.c. */
236 239
237extern INTERVAL make_interval (void); 240extern INTERVAL make_interval (void) ATTRIBUTE_RETURNS_NONNULL;
238 241
239/* Declared in intervals.c. */ 242/* Declared in intervals.c. */
240 243
@@ -246,7 +249,8 @@ extern void traverse_intervals (INTERVAL, ptrdiff_t,
246 Lisp_Object); 249 Lisp_Object);
247extern void traverse_intervals_noorder (INTERVAL, 250extern void traverse_intervals_noorder (INTERVAL,
248 void (*) (INTERVAL, void *), void *); 251 void (*) (INTERVAL, void *), void *);
249extern INTERVAL split_interval_right (INTERVAL, ptrdiff_t); 252extern INTERVAL split_interval_right (INTERVAL, ptrdiff_t)
253 ATTRIBUTE_RETURNS_NONNULL;
250extern INTERVAL split_interval_left (INTERVAL, ptrdiff_t); 254extern INTERVAL split_interval_left (INTERVAL, ptrdiff_t);
251extern INTERVAL find_interval (INTERVAL, ptrdiff_t); 255extern INTERVAL find_interval (INTERVAL, ptrdiff_t);
252extern INTERVAL next_interval (INTERVAL); 256extern INTERVAL next_interval (INTERVAL);
diff --git a/src/nsterm.m b/src/nsterm.m
index 8e256149220..851a5617d7b 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1141,6 +1141,7 @@ ns_update_end (struct frame *f)
1141 1141
1142#ifdef NS_DRAW_TO_BUFFER 1142#ifdef NS_DRAW_TO_BUFFER
1143 [NSGraphicsContext setCurrentContext:nil]; 1143 [NSGraphicsContext setCurrentContext:nil];
1144 [view setNeedsDisplay:YES];
1144#else 1145#else
1145 block_input (); 1146 block_input ();
1146 1147
@@ -1194,12 +1195,6 @@ ns_focus (struct frame *f, NSRect *r, int n)
1194 /* clipping */ 1195 /* clipping */
1195 if (r) 1196 if (r)
1196 { 1197 {
1197#ifdef NS_IMPL_COCOA
1198 int i;
1199 for (i = 0 ; i < n ; i++)
1200 [view setNeedsDisplayInRect:r[i]];
1201#endif
1202
1203 [[NSGraphicsContext currentContext] saveGraphicsState]; 1198 [[NSGraphicsContext currentContext] saveGraphicsState];
1204 if (n == 2) 1199 if (n == 2)
1205 NSRectClipList (r, 2); 1200 NSRectClipList (r, 2);
@@ -1224,7 +1219,9 @@ ns_unfocus (struct frame *f)
1224 gsaved = NO; 1219 gsaved = NO;
1225 } 1220 }
1226 1221
1227#ifdef NS_IMPL_GNUSTEP 1222#ifdef NS_DRAW_TO_BUFFER
1223 [FRAME_NS_VIEW (f) setNeedsDisplay:YES];
1224#else
1228 if (f != ns_updating_frame) 1225 if (f != ns_updating_frame)
1229 { 1226 {
1230 if (focus_view != NULL) 1227 if (focus_view != NULL)
diff --git a/src/pdumper.c b/src/pdumper.c
index 4ecdea14538..2e2220a9b29 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -3692,14 +3692,12 @@ dump_unwind_cleanup (void *data)
3692 Vprocess_environment = ctx->old_process_environment; 3692 Vprocess_environment = ctx->old_process_environment;
3693} 3693}
3694 3694
3695/* Return DUMP_OFFSET, making sure it is within the heap. */ 3695/* Check that DUMP_OFFSET is within the heap. */
3696static dump_off 3696static void
3697dump_check_dump_off (struct dump_context *ctx, dump_off dump_offset) 3697dump_check_dump_off (struct dump_context *ctx, dump_off dump_offset)
3698{ 3698{
3699 eassert (dump_offset > 0); 3699 eassert (dump_offset > 0);
3700 if (ctx) 3700 eassert (!ctx || dump_offset < ctx->end_heap);
3701 eassert (dump_offset < ctx->end_heap);
3702 return dump_offset;
3703} 3701}
3704 3702
3705static void 3703static void
@@ -3822,6 +3820,7 @@ decode_emacs_reloc (struct dump_context *ctx, Lisp_Object lreloc)
3822 } 3820 }
3823 else 3821 else
3824 { 3822 {
3823 eassume (ctx); /* Pacify GCC 9.2.1 -O3 -Wnull-dereference. */
3825 eassert (!dump_object_emacs_ptr (target_value)); 3824 eassert (!dump_object_emacs_ptr (target_value));
3826 reloc.u.dump_offset = dump_recall_object (ctx, target_value); 3825 reloc.u.dump_offset = dump_recall_object (ctx, target_value);
3827 if (reloc.u.dump_offset <= 0) 3826 if (reloc.u.dump_offset <= 0)
diff --git a/src/process.c b/src/process.c
index 91d426103d8..e4e5e57aeee 100644
--- a/src/process.c
+++ b/src/process.c
@@ -8277,19 +8277,6 @@ init_process_emacs (int sockfd)
8277 memset (datagram_address, 0, sizeof datagram_address); 8277 memset (datagram_address, 0, sizeof datagram_address);
8278#endif 8278#endif
8279 8279
8280#if defined (DARWIN_OS)
8281 /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive
8282 processes. As such, we only change the default value. */
8283 if (initialized)
8284 {
8285 char const *release = (STRINGP (Voperating_system_release)
8286 ? SSDATA (Voperating_system_release)
8287 : 0);
8288 if (!release || !release[0] || (release[0] < '7' && release[1] == '.')) {
8289 Vprocess_connection_type = Qnil;
8290 }
8291 }
8292#endif
8293#endif /* subprocesses */ 8280#endif /* subprocesses */
8294 kbd_is_on_hold = 0; 8281 kbd_is_on_hold = 0;
8295} 8282}
diff --git a/src/sysdep.c b/src/sysdep.c
index e8e8bbfb502..149d80f19ec 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -2752,21 +2752,6 @@ emacs_perror (char const *message)
2752 errno = err; 2752 errno = err;
2753} 2753}
2754 2754
2755/* Set the access and modification time stamps of FD (a.k.a. FILE) to be
2756 ATIME and MTIME, respectively.
2757 FD must be either negative -- in which case it is ignored --
2758 or a file descriptor that is open on FILE.
2759 If FD is nonnegative, then FILE can be NULL. */
2760int
2761set_file_times (int fd, const char *filename,
2762 struct timespec atime, struct timespec mtime)
2763{
2764 struct timespec timespec[2];
2765 timespec[0] = atime;
2766 timespec[1] = mtime;
2767 return fdutimens (fd, filename, timespec);
2768}
2769
2770/* Rename directory SRCFD's entry SRC to directory DSTFD's entry DST. 2755/* Rename directory SRCFD's entry SRC to directory DSTFD's entry DST.
2771 This is like renameat except that it fails if DST already exists, 2756 This is like renameat except that it fails if DST already exists,
2772 or if this operation is not supported atomically. Return 0 if 2757 or if this operation is not supported atomically. Return 0 if
diff --git a/src/systime.h b/src/systime.h
index 00ca4a1c58d..b59a3d1c690 100644
--- a/src/systime.h
+++ b/src/systime.h
@@ -67,9 +67,6 @@ timespec_valid_p (struct timespec t)
67 return t.tv_nsec >= 0; 67 return t.tv_nsec >= 0;
68} 68}
69 69
70/* defined in sysdep.c */
71extern int set_file_times (int, const char *, struct timespec, struct timespec);
72
73/* defined in keyboard.c */ 70/* defined in keyboard.c */
74extern void set_waiting_for_input (struct timespec *); 71extern void set_waiting_for_input (struct timespec *);
75 72
diff --git a/src/timefns.c b/src/timefns.c
index 0aa8775f9ff..404ce4973b7 100644
--- a/src/timefns.c
+++ b/src/timefns.c
@@ -421,6 +421,9 @@ decode_float_time (double t, struct lisp_time *result)
421 else if (flt_radix_power_size <= scale) 421 else if (flt_radix_power_size <= scale)
422 return isnan (t) ? EDOM : EOVERFLOW; 422 return isnan (t) ? EDOM : EOVERFLOW;
423 423
424 /* Compute TICKS, HZ such that TICKS / HZ exactly equals T, where HZ is
425 T's frequency or 1, whichever is greater. Here, “frequency” means
426 1/precision. Cache HZ values in flt_radix_power. */
424 double scaled = scalbn (t, scale); 427 double scaled = scalbn (t, scale);
425 eassert (trunc (scaled) == scaled); 428 eassert (trunc (scaled) == scaled);
426 ticks = double_to_integer (scaled); 429 ticks = double_to_integer (scaled);
@@ -442,6 +445,7 @@ decode_float_time (double t, struct lisp_time *result)
442static Lisp_Object 445static Lisp_Object
443ticks_hz_list4 (Lisp_Object ticks, Lisp_Object hz) 446ticks_hz_list4 (Lisp_Object ticks, Lisp_Object hz)
444{ 447{
448 /* mpz[0] = floor ((ticks * trillion) / hz). */
445 mpz_t const *zticks = bignum_integer (&mpz[0], ticks); 449 mpz_t const *zticks = bignum_integer (&mpz[0], ticks);
446#if FASTER_TIMEFNS && TRILLION <= ULONG_MAX 450#if FASTER_TIMEFNS && TRILLION <= ULONG_MAX
447 mpz_mul_ui (mpz[0], *zticks, TRILLION); 451 mpz_mul_ui (mpz[0], *zticks, TRILLION);
@@ -449,6 +453,9 @@ ticks_hz_list4 (Lisp_Object ticks, Lisp_Object hz)
449 mpz_mul (mpz[0], *zticks, ztrillion); 453 mpz_mul (mpz[0], *zticks, ztrillion);
450#endif 454#endif
451 mpz_fdiv_q (mpz[0], mpz[0], *bignum_integer (&mpz[1], hz)); 455 mpz_fdiv_q (mpz[0], mpz[0], *bignum_integer (&mpz[1], hz));
456
457 /* mpz[0] = floor (mpz[0] / trillion), with US = the high six digits of the
458 12-digit remainder, and PS = the low six digits. */
452#if FASTER_TIMEFNS && TRILLION <= ULONG_MAX 459#if FASTER_TIMEFNS && TRILLION <= ULONG_MAX
453 unsigned long int fullps = mpz_fdiv_q_ui (mpz[0], mpz[0], TRILLION); 460 unsigned long int fullps = mpz_fdiv_q_ui (mpz[0], mpz[0], TRILLION);
454 int us = fullps / 1000000; 461 int us = fullps / 1000000;
@@ -458,11 +465,14 @@ ticks_hz_list4 (Lisp_Object ticks, Lisp_Object hz)
458 int ps = mpz_fdiv_q_ui (mpz[1], mpz[1], 1000000); 465 int ps = mpz_fdiv_q_ui (mpz[1], mpz[1], 1000000);
459 int us = mpz_get_ui (mpz[1]); 466 int us = mpz_get_ui (mpz[1]);
460#endif 467#endif
468
469 /* mpz[0] = floor (mpz[0] / 1 << LO_TIME_BITS), with lo = remainder. */
461 unsigned long ulo = mpz_get_ui (mpz[0]); 470 unsigned long ulo = mpz_get_ui (mpz[0]);
462 if (mpz_sgn (mpz[0]) < 0) 471 if (mpz_sgn (mpz[0]) < 0)
463 ulo = -ulo; 472 ulo = -ulo;
464 int lo = ulo & ((1 << LO_TIME_BITS) - 1); 473 int lo = ulo & ((1 << LO_TIME_BITS) - 1);
465 mpz_fdiv_q_2exp (mpz[0], mpz[0], LO_TIME_BITS); 474 mpz_fdiv_q_2exp (mpz[0], mpz[0], LO_TIME_BITS);
475
466 return list4 (make_integer_mpz (), make_fixnum (lo), 476 return list4 (make_integer_mpz (), make_fixnum (lo),
467 make_fixnum (us), make_fixnum (ps)); 477 make_fixnum (us), make_fixnum (ps));
468} 478}
@@ -482,6 +492,7 @@ mpz_set_time (mpz_t rop, time_t t)
482static void 492static void
483timespec_mpz (struct timespec t) 493timespec_mpz (struct timespec t)
484{ 494{
495 /* mpz[0] = sec * TIMESPEC_HZ + nsec. */
485 mpz_set_ui (mpz[0], t.tv_nsec); 496 mpz_set_ui (mpz[0], t.tv_nsec);
486 mpz_set_time (mpz[1], t.tv_sec); 497 mpz_set_time (mpz[1], t.tv_sec);
487 mpz_addmul_ui (mpz[0], mpz[1], TIMESPEC_HZ); 498 mpz_addmul_ui (mpz[0], mpz[1], TIMESPEC_HZ);
@@ -491,11 +502,14 @@ timespec_mpz (struct timespec t)
491static Lisp_Object 502static Lisp_Object
492timespec_ticks (struct timespec t) 503timespec_ticks (struct timespec t)
493{ 504{
505 /* For speed, use intmax_t arithmetic if it will do. */
494 intmax_t accum; 506 intmax_t accum;
495 if (FASTER_TIMEFNS 507 if (FASTER_TIMEFNS
496 && !INT_MULTIPLY_WRAPV (t.tv_sec, TIMESPEC_HZ, &accum) 508 && !INT_MULTIPLY_WRAPV (t.tv_sec, TIMESPEC_HZ, &accum)
497 && !INT_ADD_WRAPV (t.tv_nsec, accum, &accum)) 509 && !INT_ADD_WRAPV (t.tv_nsec, accum, &accum))
498 return make_int (accum); 510 return make_int (accum);
511
512 /* Fall back on bignum arithmetic. */
499 timespec_mpz (t); 513 timespec_mpz (t);
500 return make_integer_mpz (); 514 return make_integer_mpz ();
501} 515}
@@ -505,12 +519,19 @@ timespec_ticks (struct timespec t)
505static Lisp_Object 519static Lisp_Object
506lisp_time_hz_ticks (struct lisp_time t, Lisp_Object hz) 520lisp_time_hz_ticks (struct lisp_time t, Lisp_Object hz)
507{ 521{
522 /* The idea is to return the floor of ((T.ticks * HZ) / T.hz). */
523
524 /* For speed, just return T.ticks if T.hz == HZ. */
508 if (FASTER_TIMEFNS && EQ (t.hz, hz)) 525 if (FASTER_TIMEFNS && EQ (t.hz, hz))
509 return t.ticks; 526 return t.ticks;
527
528 /* Check HZ for validity. */
510 if (FIXNUMP (hz)) 529 if (FIXNUMP (hz))
511 { 530 {
512 if (XFIXNUM (hz) <= 0) 531 if (XFIXNUM (hz) <= 0)
513 invalid_hz (hz); 532 invalid_hz (hz);
533
534 /* For speed, use intmax_t arithmetic if it will do. */
514 intmax_t ticks; 535 intmax_t ticks;
515 if (FASTER_TIMEFNS && FIXNUMP (t.ticks) && FIXNUMP (t.hz) 536 if (FASTER_TIMEFNS && FIXNUMP (t.ticks) && FIXNUMP (t.hz)
516 && !INT_MULTIPLY_WRAPV (XFIXNUM (t.ticks), XFIXNUM (hz), &ticks)) 537 && !INT_MULTIPLY_WRAPV (XFIXNUM (t.ticks), XFIXNUM (hz), &ticks))
@@ -520,6 +541,7 @@ lisp_time_hz_ticks (struct lisp_time t, Lisp_Object hz)
520 else if (! (BIGNUMP (hz) && 0 < mpz_sgn (*xbignum_val (hz)))) 541 else if (! (BIGNUMP (hz) && 0 < mpz_sgn (*xbignum_val (hz))))
521 invalid_hz (hz); 542 invalid_hz (hz);
522 543
544 /* Fall back on bignum arithmetic. */
523 mpz_mul (mpz[0], 545 mpz_mul (mpz[0],
524 *bignum_integer (&mpz[0], t.ticks), 546 *bignum_integer (&mpz[0], t.ticks),
525 *bignum_integer (&mpz[1], hz)); 547 *bignum_integer (&mpz[1], hz));
@@ -531,11 +553,17 @@ lisp_time_hz_ticks (struct lisp_time t, Lisp_Object hz)
531static Lisp_Object 553static Lisp_Object
532lisp_time_seconds (struct lisp_time t) 554lisp_time_seconds (struct lisp_time t)
533{ 555{
556 /* The idea is to return the floor of T.ticks / T.hz. */
557
534 if (!FASTER_TIMEFNS) 558 if (!FASTER_TIMEFNS)
535 return lisp_time_hz_ticks (t, make_fixnum (1)); 559 return lisp_time_hz_ticks (t, make_fixnum (1));
560
561 /* For speed, use EMACS_INT arithmetic if it will do. */
536 if (FIXNUMP (t.ticks) && FIXNUMP (t.hz)) 562 if (FIXNUMP (t.ticks) && FIXNUMP (t.hz))
537 return make_fixnum (XFIXNUM (t.ticks) / XFIXNUM (t.hz) 563 return make_fixnum (XFIXNUM (t.ticks) / XFIXNUM (t.hz)
538 - (XFIXNUM (t.ticks) % XFIXNUM (t.hz) < 0)); 564 - (XFIXNUM (t.ticks) % XFIXNUM (t.hz) < 0));
565
566 /* For speed, inline what lisp_time_hz_ticks would do. */
539 mpz_fdiv_q (mpz[0], 567 mpz_fdiv_q (mpz[0],
540 *bignum_integer (&mpz[0], t.ticks), 568 *bignum_integer (&mpz[0], t.ticks),
541 *bignum_integer (&mpz[1], t.hz)); 569 *bignum_integer (&mpz[1], t.hz));
@@ -577,6 +605,7 @@ frac_to_double (Lisp_Object numerator, Lisp_Object denominator)
577 && intmax_numerator % intmax_denominator == 0) 605 && intmax_numerator % intmax_denominator == 0)
578 return intmax_numerator / intmax_denominator; 606 return intmax_numerator / intmax_denominator;
579 607
608 /* Compute number of base-FLT_RADIX digits in numerator and denominator. */
580 mpz_t const *n = bignum_integer (&mpz[0], numerator); 609 mpz_t const *n = bignum_integer (&mpz[0], numerator);
581 mpz_t const *d = bignum_integer (&mpz[1], denominator); 610 mpz_t const *d = bignum_integer (&mpz[1], denominator);
582 ptrdiff_t ndig = mpz_sizeinbase (*n, FLT_RADIX); 611 ptrdiff_t ndig = mpz_sizeinbase (*n, FLT_RADIX);
@@ -588,7 +617,8 @@ frac_to_double (Lisp_Object numerator, Lisp_Object denominator)
588 /* Scale with SCALE when doing integer division. That is, compute 617 /* Scale with SCALE when doing integer division. That is, compute
589 (N * FLT_RADIX**SCALE) / D [or, if SCALE is negative, N / (D * 618 (N * FLT_RADIX**SCALE) / D [or, if SCALE is negative, N / (D *
590 FLT_RADIX**-SCALE)] as a bignum, convert the bignum to double, 619 FLT_RADIX**-SCALE)] as a bignum, convert the bignum to double,
591 then divide the double by FLT_RADIX**SCALE. */ 620 then divide the double by FLT_RADIX**SCALE. First scale N
621 (or scale D, if SCALE is negative) ... */
592 ptrdiff_t scale = ddig - ndig + DBL_MANT_DIG; 622 ptrdiff_t scale = ddig - ndig + DBL_MANT_DIG;
593 if (scale < 0) 623 if (scale < 0)
594 { 624 {
@@ -603,12 +633,12 @@ frac_to_double (Lisp_Object numerator, Lisp_Object denominator)
603 mpz_mul_2exp (mpz[0], *n, scale * LOG2_FLT_RADIX); 633 mpz_mul_2exp (mpz[0], *n, scale * LOG2_FLT_RADIX);
604 n = &mpz[0]; 634 n = &mpz[0];
605 } 635 }
606 636 /* ... and then divide, with quotient Q and remainder R. */
607 mpz_t *q = &mpz[2]; 637 mpz_t *q = &mpz[2];
608 mpz_t *r = &mpz[3]; 638 mpz_t *r = &mpz[3];
609 mpz_tdiv_qr (*q, *r, *n, *d); 639 mpz_tdiv_qr (*q, *r, *n, *d);
610 640
611 /* The amount to add to the absolute value of *Q so that truncating 641 /* The amount to add to the absolute value of Q so that truncating
612 it to double will round correctly. */ 642 it to double will round correctly. */
613 int incr; 643 int incr;
614 644
@@ -647,6 +677,7 @@ frac_to_double (Lisp_Object numerator, Lisp_Object denominator)
647 if (!FASTER_TIMEFNS || incr != 0) 677 if (!FASTER_TIMEFNS || incr != 0)
648 (mpz_sgn (*n) < 0 ? mpz_sub_ui : mpz_add_ui) (*q, *q, incr); 678 (mpz_sgn (*n) < 0 ? mpz_sub_ui : mpz_add_ui) (*q, *q, incr);
649 679
680 /* Rescale the integer Q back to double. This step does not round. */
650 return scalbn (mpz_get_d (*q), -scale); 681 return scalbn (mpz_get_d (*q), -scale);
651} 682}
652 683
@@ -895,6 +926,10 @@ lisp_to_timespec (struct lisp_time t)
895 mpz_t *q = &mpz[0]; 926 mpz_t *q = &mpz[0];
896 mpz_t const *qt = q; 927 mpz_t const *qt = q;
897 928
929 /* Floor-divide (T.ticks * TIMESPEC_HZ) by T.hz,
930 yielding quotient Q (tv_sec) and remainder NS (tv_nsec).
931 Return an invalid timespec if Q does not fit in time_t.
932 For speed, prefer fixnum arithmetic if it works. */
898 if (FASTER_TIMEFNS && EQ (t.hz, timespec_hz)) 933 if (FASTER_TIMEFNS && EQ (t.hz, timespec_hz))
899 { 934 {
900 if (FIXNUMP (t.ticks)) 935 if (FIXNUMP (t.ticks))
@@ -938,8 +973,8 @@ lisp_to_timespec (struct lisp_time t)
938 ns = mpz_fdiv_q_ui (*q, *q, TIMESPEC_HZ); 973 ns = mpz_fdiv_q_ui (*q, *q, TIMESPEC_HZ);
939 } 974 }
940 975
941 /* With some versions of MinGW, tv_sec is a 64-bit type, whereas 976 /* Check that Q fits in time_t, not merely in T.tv_sec. With some versions
942 time_t is a 32-bit type. */ 977 of MinGW, tv_sec is a 64-bit type, whereas time_t is a 32-bit type. */
943 time_t sec; 978 time_t sec;
944 if (mpz_time (*qt, &sec)) 979 if (mpz_time (*qt, &sec))
945 { 980 {
@@ -1019,10 +1054,14 @@ lispint_arith (Lisp_Object a, Lisp_Object b, bool subtract)
1019 { 1054 {
1020 if (EQ (b, make_fixnum (0))) 1055 if (EQ (b, make_fixnum (0)))
1021 return a; 1056 return a;
1057
1058 /* For speed, use EMACS_INT arithmetic if it will do. */
1022 if (FIXNUMP (a)) 1059 if (FIXNUMP (a))
1023 return make_int (subtract 1060 return make_int (subtract
1024 ? XFIXNUM (a) - XFIXNUM (b) 1061 ? XFIXNUM (a) - XFIXNUM (b)
1025 : XFIXNUM (a) + XFIXNUM (b)); 1062 : XFIXNUM (a) + XFIXNUM (b));
1063
1064 /* For speed, use mpz_add_ui/mpz_sub_ui if it will do. */
1026 if (eabs (XFIXNUM (b)) <= ULONG_MAX) 1065 if (eabs (XFIXNUM (b)) <= ULONG_MAX)
1027 { 1066 {
1028 ((XFIXNUM (b) < 0) == subtract ? mpz_add_ui : mpz_sub_ui) 1067 ((XFIXNUM (b) < 0) == subtract ? mpz_add_ui : mpz_sub_ui)
@@ -1031,6 +1070,7 @@ lispint_arith (Lisp_Object a, Lisp_Object b, bool subtract)
1031 } 1070 }
1032 } 1071 }
1033 1072
1073 /* Fall back on bignum arithmetic if necessary. */
1034 if (!mpz_done) 1074 if (!mpz_done)
1035 (subtract ? mpz_sub : mpz_add) (mpz[0], 1075 (subtract ? mpz_sub : mpz_add) (mpz[0],
1036 *bignum_integer (&mpz[0], a), 1076 *bignum_integer (&mpz[0], a),
@@ -1039,9 +1079,7 @@ lispint_arith (Lisp_Object a, Lisp_Object b, bool subtract)
1039} 1079}
1040 1080
1041/* Given Lisp operands A and B, add their values, and return the 1081/* Given Lisp operands A and B, add their values, and return the
1042 result as a Lisp timestamp that is in (TICKS . HZ) form if either A 1082 result as a Lisp timestamp. Subtract instead of adding if SUBTRACT. */
1043 or B are in that form or are floats, (HI LO US PS) form otherwise.
1044 Subtract instead of adding if SUBTRACT. */
1045static Lisp_Object 1083static Lisp_Object
1046time_arith (Lisp_Object a, Lisp_Object b, bool subtract) 1084time_arith (Lisp_Object a, Lisp_Object b, bool subtract)
1047{ 1085{
@@ -1124,21 +1162,22 @@ time_arith (Lisp_Object a, Lisp_Object b, bool subtract)
1124 (subtract ? mpz_submul : mpz_addmul) (*iticks, *fa, *nb); 1162 (subtract ? mpz_submul : mpz_addmul) (*iticks, *fa, *nb);
1125 1163
1126 /* Normalize iticks/ihz by dividing both numerator and 1164 /* Normalize iticks/ihz by dividing both numerator and
1127 denominator by ig = gcd (iticks, ihz). However, if that 1165 denominator by ig = gcd (iticks, ihz). For speed, though,
1128 would cause the denominator to become less than hzmin, 1166 skip this division if ihz = 1. */
1129 rescale the denominator upwards from its ordinary value by
1130 multiplying numerator and denominator so that the denominator
1131 becomes at least hzmin. This rescaling avoids returning a
1132 timestamp that is less precise than both a and b, or a
1133 timestamp that looks obsolete when that might be a problem. */
1134 mpz_t *ig = &mpz[3]; 1167 mpz_t *ig = &mpz[3];
1135 mpz_gcd (*ig, *iticks, *ihz); 1168 mpz_gcd (*ig, *iticks, *ihz);
1136
1137 if (!FASTER_TIMEFNS || mpz_cmp_ui (*ig, 1) > 0) 1169 if (!FASTER_TIMEFNS || mpz_cmp_ui (*ig, 1) > 0)
1138 { 1170 {
1139 mpz_divexact (*iticks, *iticks, *ig); 1171 mpz_divexact (*iticks, *iticks, *ig);
1140 mpz_divexact (*ihz, *ihz, *ig); 1172 mpz_divexact (*ihz, *ihz, *ig);
1141 1173
1174 /* However, if dividing the denominator by ig would cause the
1175 denominator to become less than hzmin, rescale the denominator
1176 upwards by multiplying the normalized numerator and denominator
1177 so that the resulting denominator becomes at least hzmin.
1178 This rescaling avoids returning a timestamp that is less precise
1179 than both a and b, or a timestamp that looks obsolete when that
1180 might be a problem. */
1142 if (!FASTER_TIMEFNS || mpz_cmp (*ihz, *hzmin) < 0) 1181 if (!FASTER_TIMEFNS || mpz_cmp (*ihz, *hzmin) < 0)
1143 { 1182 {
1144 /* Rescale straightforwardly. Although this might not 1183 /* Rescale straightforwardly. Although this might not
@@ -1152,6 +1191,8 @@ time_arith (Lisp_Object a, Lisp_Object b, bool subtract)
1152 mpz_mul (*ihz, *ihz, *rescale); 1191 mpz_mul (*ihz, *ihz, *rescale);
1153 } 1192 }
1154 } 1193 }
1194
1195 /* mpz[0] and iticks now correspond to the (HZ . TICKS) pair. */
1155 hz = make_integer_mpz (); 1196 hz = make_integer_mpz ();
1156 mpz_swap (mpz[0], *iticks); 1197 mpz_swap (mpz[0], *iticks);
1157 ticks = make_integer_mpz (); 1198 ticks = make_integer_mpz ();
@@ -1213,6 +1254,8 @@ time_cmp (Lisp_Object a, Lisp_Object b)
1213 if (EQ (a, b)) 1254 if (EQ (a, b))
1214 return 0; 1255 return 0;
1215 1256
1257 /* Compare (ATICKS . AZ) to (BTICKS . BHZ) by comparing
1258 ATICKS * BHZ to BTICKS * AHZ. */
1216 struct lisp_time tb = lisp_time_struct (b, 0); 1259 struct lisp_time tb = lisp_time_struct (b, 0);
1217 mpz_t const *za = bignum_integer (&mpz[0], ta.ticks); 1260 mpz_t const *za = bignum_integer (&mpz[0], ta.ticks);
1218 mpz_t const *zb = bignum_integer (&mpz[1], tb.ticks); 1261 mpz_t const *zb = bignum_integer (&mpz[1], tb.ticks);
@@ -1490,6 +1533,7 @@ SEC is always an integer between 0 and 59.)
1490usage: (decode-time &optional TIME ZONE FORM) */) 1533usage: (decode-time &optional TIME ZONE FORM) */)
1491 (Lisp_Object specified_time, Lisp_Object zone, Lisp_Object form) 1534 (Lisp_Object specified_time, Lisp_Object zone, Lisp_Object form)
1492{ 1535{
1536 /* Compute broken-down local time LOCAL_TM from SPECIFIED_TIME and ZONE. */
1493 struct lisp_time lt = lisp_time_struct (specified_time, 0); 1537 struct lisp_time lt = lisp_time_struct (specified_time, 0);
1494 struct timespec ts = lisp_to_timespec (lt); 1538 struct timespec ts = lisp_to_timespec (lt);
1495 if (! timespec_valid_p (ts)) 1539 if (! timespec_valid_p (ts))
@@ -1504,6 +1548,7 @@ usage: (decode-time &optional TIME ZONE FORM) */)
1504 if (!tm) 1548 if (!tm)
1505 time_error (localtime_errno); 1549 time_error (localtime_errno);
1506 1550
1551 /* Let YEAR = LOCAL_TM.tm_year + TM_YEAR_BASE. */
1507 Lisp_Object year; 1552 Lisp_Object year;
1508 if (FASTER_TIMEFNS 1553 if (FASTER_TIMEFNS
1509 && MOST_NEGATIVE_FIXNUM - TM_YEAR_BASE <= local_tm.tm_year 1554 && MOST_NEGATIVE_FIXNUM - TM_YEAR_BASE <= local_tm.tm_year
@@ -1520,12 +1565,15 @@ usage: (decode-time &optional TIME ZONE FORM) */)
1520 year = make_integer_mpz (); 1565 year = make_integer_mpz ();
1521 } 1566 }
1522 1567
1568 /* Compute SEC from LOCAL_TM.tm_sec and HZ. */
1523 Lisp_Object hz = lt.hz, sec; 1569 Lisp_Object hz = lt.hz, sec;
1524 if (EQ (hz, make_fixnum (1)) || !EQ (form, Qt)) 1570 if (EQ (hz, make_fixnum (1)) || !EQ (form, Qt))
1525 sec = make_fixnum (local_tm.tm_sec); 1571 sec = make_fixnum (local_tm.tm_sec);
1526 else 1572 else
1527 { 1573 {
1528 Lisp_Object ticks; /* hz * tm_sec + mod (lt.ticks, hz) */ 1574 /* Let TICKS = HZ * LOCAL_TM.tm_sec + mod (LT.ticks, HZ)
1575 and SEC = (TICKS . HZ). */
1576 Lisp_Object ticks;
1529 intmax_t n; 1577 intmax_t n;
1530 if (FASTER_TIMEFNS && FIXNUMP (lt.ticks) && FIXNUMP (hz) 1578 if (FASTER_TIMEFNS && FIXNUMP (lt.ticks) && FIXNUMP (hz)
1531 && !INT_MULTIPLY_WRAPV (XFIXNUM (hz), local_tm.tm_sec, &n) 1579 && !INT_MULTIPLY_WRAPV (XFIXNUM (hz), local_tm.tm_sec, &n)
@@ -1655,6 +1703,7 @@ usage: (encode-time TIME &rest OBSOLESCENT-ARGUMENTS) */)
1655 yeararg = args[5]; 1703 yeararg = args[5];
1656 } 1704 }
1657 1705
1706 /* Let SEC = floor (LT.ticks / HZ), with SUBSECTICKS the remainder. */
1658 struct lisp_time lt; 1707 struct lisp_time lt;
1659 decode_lisp_time (secarg, 0, &lt, 0); 1708 decode_lisp_time (secarg, 0, &lt, 0);
1660 Lisp_Object hz = lt.hz, sec, subsecticks; 1709 Lisp_Object hz = lt.hz, sec, subsecticks;
diff --git a/src/w32.c b/src/w32.c
index cf1a3b37678..698e10e234e 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -3178,18 +3178,9 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2])
3178 return _futime (fd, &_ut); 3178 return _futime (fd, &_ut);
3179 } 3179 }
3180 else 3180 else
3181 { 3181 return utimensat (fd, file, timespec, 0);
3182 struct utimbuf ut;
3183
3184 ut.actime = timespec[0].tv_sec;
3185 ut.modtime = timespec[1].tv_sec;
3186 /* Call 'utime', which is implemented below, not the MS library
3187 function, which fails on directories. */
3188 return utime (file, &ut);
3189 }
3190} 3182}
3191 3183
3192
3193/* ------------------------------------------------------------------------- */ 3184/* ------------------------------------------------------------------------- */
3194/* IO support and wrapper functions for the Windows API. */ 3185/* IO support and wrapper functions for the Windows API. */
3195/* ------------------------------------------------------------------------- */ 3186/* ------------------------------------------------------------------------- */
@@ -4970,7 +4961,7 @@ convert_time (FILETIME ft)
4970} 4961}
4971 4962
4972static void 4963static void
4973convert_from_time_t (time_t time, FILETIME * pft) 4964convert_from_timespec (struct timespec time, FILETIME * pft)
4974{ 4965{
4975 ULARGE_INTEGER tmp; 4966 ULARGE_INTEGER tmp;
4976 4967
@@ -4981,7 +4972,8 @@ convert_from_time_t (time_t time, FILETIME * pft)
4981 } 4972 }
4982 4973
4983 /* time in 100ns units since 1-Jan-1601 */ 4974 /* time in 100ns units since 1-Jan-1601 */
4984 tmp.QuadPart = (ULONGLONG) time * 10000000L + utc_base; 4975 tmp.QuadPart =
4976 (ULONGLONG) time.tv_sec * 10000000L + time.tv_nsec / 100 + utc_base;
4985 pft->dwHighDateTime = tmp.HighPart; 4977 pft->dwHighDateTime = tmp.HighPart;
4986 pft->dwLowDateTime = tmp.LowPart; 4978 pft->dwLowDateTime = tmp.LowPart;
4987} 4979}
@@ -5648,8 +5640,8 @@ fstatat (int fd, char const *name, struct stat *st, int flags)
5648 return stat_worker (name, st, ! (flags & AT_SYMLINK_NOFOLLOW)); 5640 return stat_worker (name, st, ! (flags & AT_SYMLINK_NOFOLLOW));
5649} 5641}
5650 5642
5651/* Provide fstat and utime as well as stat for consistent handling of 5643/* Provide fstat and utimensat as well as stat for consistent handling
5652 file timestamps. */ 5644 of file timestamps. */
5653int 5645int
5654fstat (int desc, struct stat * buf) 5646fstat (int desc, struct stat * buf)
5655{ 5647{
@@ -5760,23 +5752,65 @@ fstat (int desc, struct stat * buf)
5760 return 0; 5752 return 0;
5761} 5753}
5762 5754
5763/* A version of 'utime' which handles directories as well as 5755/* Emulate utimensat. */
5764 files. */
5765 5756
5766int 5757int
5767utime (const char *name, struct utimbuf *times) 5758utimensat (int fd, const char *name, const struct timespec times[2], int flag)
5768{ 5759{
5769 struct utimbuf deftime; 5760 struct timespec ltimes[2];
5770 HANDLE fh; 5761 HANDLE fh;
5771 FILETIME mtime; 5762 FILETIME mtime;
5772 FILETIME atime; 5763 FILETIME atime;
5764 DWORD flags_and_attrs = FILE_FLAG_BACKUP_SEMANTICS;
5765
5766 /* Rely on a hack: an open directory is modeled as file descriptor 0.
5767 This is good enough for the current usage in Emacs, but is fragile.
5768
5769 FIXME: Add proper support for utimensat.
5770 Gnulib does this and can serve as a model. */
5771 char fullname[MAX_UTF8_PATH];
5772
5773 if (fd != AT_FDCWD)
5774 {
5775 char lastc = dir_pathname[strlen (dir_pathname) - 1];
5776
5777 if (_snprintf (fullname, sizeof fullname, "%s%s%s",
5778 dir_pathname, IS_DIRECTORY_SEP (lastc) ? "" : "/", name)
5779 < 0)
5780 {
5781 errno = ENAMETOOLONG;
5782 return -1;
5783 }
5784 name = fullname;
5785 }
5773 5786
5774 if (times == NULL) 5787 if (times == NULL)
5775 { 5788 {
5776 deftime.modtime = deftime.actime = time (NULL); 5789 memset (ltimes, 0, sizeof (ltimes));
5777 times = &deftime; 5790 ltimes[0] = ltimes[1] = current_timespec ();
5791 }
5792 else
5793 {
5794 if (times[0].tv_nsec == UTIME_OMIT && times[1].tv_nsec == UTIME_OMIT)
5795 return 0; /* nothing to do */
5796 if ((times[0].tv_nsec != UTIME_NOW && times[0].tv_nsec != UTIME_OMIT
5797 && !(0 <= times[0].tv_nsec && times[0].tv_nsec < 1000000000))
5798 || (times[1].tv_nsec != UTIME_NOW && times[1].tv_nsec != UTIME_OMIT
5799 && !(0 <= times[1].tv_nsec && times[1].tv_nsec < 1000000000)))
5800 {
5801 errno = EINVAL; /* reject invalid timespec values */
5802 return -1;
5803 }
5804
5805 memcpy (ltimes, times, sizeof (ltimes));
5806 if (ltimes[0].tv_nsec == UTIME_NOW)
5807 ltimes[0] = current_timespec ();
5808 if (ltimes[1].tv_nsec == UTIME_NOW)
5809 ltimes[1] = current_timespec ();
5778 } 5810 }
5779 5811
5812 if (flag == AT_SYMLINK_NOFOLLOW)
5813 flags_and_attrs |= FILE_FLAG_OPEN_REPARSE_POINT;
5780 if (w32_unicode_filenames) 5814 if (w32_unicode_filenames)
5781 { 5815 {
5782 wchar_t name_utf16[MAX_PATH]; 5816 wchar_t name_utf16[MAX_PATH];
@@ -5790,7 +5824,7 @@ utime (const char *name, struct utimbuf *times)
5790 allows other processes to delete files inside it, 5824 allows other processes to delete files inside it,
5791 while we have the directory open. */ 5825 while we have the directory open. */
5792 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 5826 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
5793 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); 5827 0, OPEN_EXISTING, flags_and_attrs, NULL);
5794 } 5828 }
5795 else 5829 else
5796 { 5830 {
@@ -5801,13 +5835,26 @@ utime (const char *name, struct utimbuf *times)
5801 5835
5802 fh = CreateFileA (name_ansi, FILE_WRITE_ATTRIBUTES, 5836 fh = CreateFileA (name_ansi, FILE_WRITE_ATTRIBUTES,
5803 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 5837 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
5804 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); 5838 0, OPEN_EXISTING, flags_and_attrs, NULL);
5805 } 5839 }
5806 if (fh != INVALID_HANDLE_VALUE) 5840 if (fh != INVALID_HANDLE_VALUE)
5807 { 5841 {
5808 convert_from_time_t (times->actime, &atime); 5842 FILETIME *patime, *pmtime;
5809 convert_from_time_t (times->modtime, &mtime); 5843 if (ltimes[0].tv_nsec == UTIME_OMIT)
5810 if (!SetFileTime (fh, NULL, &atime, &mtime)) 5844 patime = NULL;
5845 else
5846 {
5847 convert_from_timespec (ltimes[0], &atime);
5848 patime = &atime;
5849 }
5850 if (ltimes[1].tv_nsec == UTIME_OMIT)
5851 pmtime = NULL;
5852 else
5853 {
5854 convert_from_timespec (ltimes[1], &mtime);
5855 pmtime = &mtime;
5856 }
5857 if (!SetFileTime (fh, NULL, patime, pmtime))
5811 { 5858 {
5812 CloseHandle (fh); 5859 CloseHandle (fh);
5813 errno = EACCES; 5860 errno = EACCES;
@@ -6726,16 +6773,16 @@ w32_copy_file (const char *from, const char *to,
6726 FIXME? */ 6773 FIXME? */
6727 else if (!keep_time) 6774 else if (!keep_time)
6728 { 6775 {
6729 struct timespec now; 6776 struct timespec tnow[2];
6730 DWORD attributes; 6777 DWORD attributes;
6731 6778
6779 tnow[0] = tnow[1] = current_timespec ();
6732 if (w32_unicode_filenames) 6780 if (w32_unicode_filenames)
6733 { 6781 {
6734 /* Ensure file is writable while its times are set. */ 6782 /* Ensure file is writable while its times are set. */
6735 attributes = GetFileAttributesW (to_w); 6783 attributes = GetFileAttributesW (to_w);
6736 SetFileAttributesW (to_w, attributes & ~FILE_ATTRIBUTE_READONLY); 6784 SetFileAttributesW (to_w, attributes & ~FILE_ATTRIBUTE_READONLY);
6737 now = current_timespec (); 6785 if (utimensat (AT_FDCWD, to, tnow, 0))
6738 if (set_file_times (-1, to, now, now))
6739 { 6786 {
6740 /* Restore original attributes. */ 6787 /* Restore original attributes. */
6741 SetFileAttributesW (to_w, attributes); 6788 SetFileAttributesW (to_w, attributes);
@@ -6750,8 +6797,7 @@ w32_copy_file (const char *from, const char *to,
6750 { 6797 {
6751 attributes = GetFileAttributesA (to_a); 6798 attributes = GetFileAttributesA (to_a);
6752 SetFileAttributesA (to_a, attributes & ~FILE_ATTRIBUTE_READONLY); 6799 SetFileAttributesA (to_a, attributes & ~FILE_ATTRIBUTE_READONLY);
6753 now = current_timespec (); 6800 if (utimensat (AT_FDCWD, to, tnow, 0))
6754 if (set_file_times (-1, to, now, now))
6755 { 6801 {
6756 SetFileAttributesA (to_a, attributes); 6802 SetFileAttributesA (to_a, attributes);
6757 if (acl) 6803 if (acl)
diff --git a/src/w32term.c b/src/w32term.c
index 4eb5045fc5b..f515f5604d6 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -4701,6 +4701,10 @@ static short temp_buffer[100];
4701/* Temporarily store lead byte of DBCS input sequences. */ 4701/* Temporarily store lead byte of DBCS input sequences. */
4702static char dbcs_lead = 0; 4702static char dbcs_lead = 0;
4703 4703
4704/* Temporarily store pending UTF-16 high surrogate unit and the modifiers. */
4705static unsigned short utf16_high;
4706static DWORD utf16_high_modifiers;
4707
4704/** 4708/**
4705 mouse_or_wdesc_frame: When not dropping and the mouse was grabbed 4709 mouse_or_wdesc_frame: When not dropping and the mouse was grabbed
4706 for DPYINFO, return the frame where the mouse was seen last. If 4710 for DPYINFO, return the frame where the mouse was seen last. If
@@ -4912,9 +4916,45 @@ w32_read_socket (struct terminal *terminal,
4912 XSETFRAME (inev.frame_or_window, f); 4916 XSETFRAME (inev.frame_or_window, f);
4913 inev.timestamp = msg.msg.time; 4917 inev.timestamp = msg.msg.time;
4914 4918
4919 if (utf16_high
4920 && (msg.msg.message != WM_UNICHAR
4921 || UTF_16_HIGH_SURROGATE_P (msg.msg.wParam)))
4922 {
4923 /* Flush the pending high surrogate if the low one
4924 isn't coming. (This should never happen, but I
4925 have paranoia about this stuff.) */
4926 struct input_event inev1;
4927 inev1.modifiers = utf16_high_modifiers;
4928 inev1.code = utf16_high;
4929 inev1.timestamp = inev.timestamp;
4930 inev1.arg = Qnil;
4931 kbd_buffer_store_event_hold (&inev1, hold_quit);
4932 utf16_high = 0;
4933 utf16_high_modifiers = 0;
4934 }
4935
4915 if (msg.msg.message == WM_UNICHAR) 4936 if (msg.msg.message == WM_UNICHAR)
4916 { 4937 {
4917 inev.code = msg.msg.wParam; 4938 /* Handle UTF-16 encoded codepoint above the BMP.
4939 This is needed to support Emoji input from input
4940 panel popped up by "Win+." shortcut. */
4941 if (UTF_16_HIGH_SURROGATE_P (msg.msg.wParam))
4942 {
4943 utf16_high = msg.msg.wParam;
4944 utf16_high_modifiers = inev.modifiers;
4945 inev.kind = NO_EVENT;
4946 break;
4947 }
4948 else if (UTF_16_LOW_SURROGATE_P (msg.msg.wParam)
4949 && utf16_high)
4950 {
4951 inev.code = surrogates_to_codepoint (msg.msg.wParam,
4952 utf16_high);
4953 utf16_high = 0;
4954 utf16_high_modifiers = 0;
4955 }
4956 else
4957 inev.code = msg.msg.wParam;
4918 } 4958 }
4919 else if (msg.msg.wParam < 256) 4959 else if (msg.msg.wParam < 256)
4920 { 4960 {
diff --git a/src/xdisp.c b/src/xdisp.c
index c2aa314c1ad..3c594b54add 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -31441,6 +31441,10 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
31441 struct window *w = XWINDOW (hlinfo->mouse_face_window); 31441 struct window *w = XWINDOW (hlinfo->mouse_face_window);
31442 struct frame *f = XFRAME (WINDOW_FRAME (w)); 31442 struct frame *f = XFRAME (WINDOW_FRAME (w));
31443 31443
31444 /* Don't bother doing anything if we are on a wrong frame. */
31445 if (f != hlinfo->mouse_face_mouse_frame)
31446 return;
31447
31444 if (/* If window is in the process of being destroyed, don't bother 31448 if (/* If window is in the process of being destroyed, don't bother
31445 to do anything. */ 31449 to do anything. */
31446 w->current_matrix != NULL 31450 w->current_matrix != NULL
diff --git a/test/lisp/emacs-lisp/rx-tests.el b/test/lisp/emacs-lisp/rx-tests.el
index a6c172adfe7..0fece4004bd 100644
--- a/test/lisp/emacs-lisp/rx-tests.el
+++ b/test/lisp/emacs-lisp/rx-tests.el
@@ -42,13 +42,24 @@
42(ert-deftest rx-or () 42(ert-deftest rx-or ()
43 (should (equal (rx (or "ab" (| "c" nonl) "de")) 43 (should (equal (rx (or "ab" (| "c" nonl) "de"))
44 "ab\\|c\\|.\\|de")) 44 "ab\\|c\\|.\\|de"))
45 (should (equal (rx (or "ab" "abc" "a")) 45 (should (equal (rx (or "ab" "abc" ?a))
46 "\\(?:a\\(?:bc?\\)?\\)")) 46 "\\(?:a\\(?:bc?\\)?\\)"))
47 (should (equal (rx (or "ab" (| (or "abcd" "abcde")) (or "a" "abc")))
48 "\\(?:a\\(?:b\\(?:c\\(?:de?\\)?\\)?\\)?\\)"))
49 (should (equal (rx (or "a" (eval (string ?a ?b))))
50 "\\(?:ab?\\)"))
47 (should (equal (rx (| nonl "a") (| "b" blank)) 51 (should (equal (rx (| nonl "a") (| "b" blank))
48 "\\(?:.\\|a\\)\\(?:b\\|[[:blank:]]\\)")) 52 "\\(?:.\\|a\\)\\(?:b\\|[[:blank:]]\\)"))
49 (should (equal (rx (|)) 53 (should (equal (rx (|))
50 "\\`a\\`"))) 54 "\\`a\\`")))
51 55
56(ert-deftest rx-def-in-or ()
57 (rx-let ((a b)
58 (b (or "abc" c))
59 (c ?a))
60 (should (equal (rx (or a (| "ab" "abcde") "abcd"))
61 "\\(?:a\\(?:b\\(?:c\\(?:de?\\)?\\)?\\)?\\)"))))
62
52(ert-deftest rx-char-any () 63(ert-deftest rx-char-any ()
53 "Test character alternatives with `]' and `-' (Bug#25123)." 64 "Test character alternatives with `]' and `-' (Bug#25123)."
54 (should (equal 65 (should (equal
@@ -130,7 +141,10 @@
130 (should (equal (rx (any "") (not (any ""))) 141 (should (equal (rx (any "") (not (any "")))
131 "\\`a\\`[^z-a]")) 142 "\\`a\\`[^z-a]"))
132 (should (equal (rx (any space ?a digit space)) 143 (should (equal (rx (any space ?a digit space))
133 "[a[:space:][:digit:]]"))) 144 "[a[:space:][:digit:]]"))
145 (should (equal (rx (not "\n") (not ?\n) (not (any "\n")) (not-char ?\n)
146 (| (not (in "a\n")) (not (char ?\n (?b . ?b)))))
147 ".....")))
134 148
135(ert-deftest rx-pcase () 149(ert-deftest rx-pcase ()
136 (should (equal (pcase "a 1 2 3 1 1 b" 150 (should (equal (pcase "a 1 2 3 1 1 b"
@@ -298,7 +312,13 @@
298 (not (any "a-k")))) 312 (not (any "a-k"))))
299 "[^abh-k]")) 313 "[^abh-k]"))
300 (should (equal (rx (or ?f (any "b-e") "a") (not (or ?x "y" (any "s-w")))) 314 (should (equal (rx (or ?f (any "b-e") "a") (not (or ?x "y" (any "s-w"))))
301 "[a-f][^s-y]"))) 315 "[a-f][^s-y]"))
316 (should (equal (rx (not (or (in "abc") (char "bcd"))))
317 "[^a-d]"))
318 (should (equal (rx (or (not (in "abc")) (not (char "bcd"))))
319 "[^bc]"))
320 (should (equal (rx (or "x" (? "yz")))
321 "x\\|\\(?:yz\\)?")))
302 322
303(ert-deftest rx-def-in-charset-or () 323(ert-deftest rx-def-in-charset-or ()
304 (rx-let ((a (any "badc")) 324 (rx-let ((a (any "badc"))
diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el
index 39156fbb5dc..42d86ee1538 100644
--- a/test/lisp/filenotify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -219,7 +219,8 @@ remote case we return always t."
219 (or file-notify--library 219 (or file-notify--library
220 (file-remote-p temporary-file-directory))) 220 (file-remote-p temporary-file-directory)))
221 221
222(defvar file-notify--test-remote-enabled-checked nil 222(defvar file-notify--test-remote-enabled-checked
223 (if (getenv "EMACS_HYDRA_CI") '(t . nil))
223 "Cached result of `file-notify--test-remote-enabled'. 224 "Cached result of `file-notify--test-remote-enabled'.
224If the function did run, the value is a cons cell, the `cdr' 225If the function did run, the value is a cons cell, the `cdr'
225being the result.") 226being the result.")
@@ -771,9 +772,9 @@ delivered."
771 (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1) 772 (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1)
772 ;; The next two events shall not be visible. 773 ;; The next two events shall not be visible.
773 (file-notify--test-read-event) 774 (file-notify--test-read-event)
774 (set-file-modes file-notify--test-tmpfile 000) 775 (set-file-modes file-notify--test-tmpfile 000 'nofollow)
775 (file-notify--test-read-event) 776 (file-notify--test-read-event)
776 (set-file-times file-notify--test-tmpfile '(0 0)) 777 (set-file-times file-notify--test-tmpfile '(0 0) 'nofollow)
777 (file-notify--test-read-event) 778 (file-notify--test-read-event)
778 (delete-directory file-notify--test-tmpdir 'recursive)) 779 (delete-directory file-notify--test-tmpdir 'recursive))
779 (file-notify-rm-watch file-notify--test-desc) 780 (file-notify-rm-watch file-notify--test-desc)
@@ -864,9 +865,9 @@ delivered."
864 (write-region 865 (write-region
865 "any text" nil file-notify--test-tmpfile nil 'no-message) 866 "any text" nil file-notify--test-tmpfile nil 'no-message)
866 (file-notify--test-read-event) 867 (file-notify--test-read-event)
867 (set-file-modes file-notify--test-tmpfile 000) 868 (set-file-modes file-notify--test-tmpfile 000 'nofollow)
868 (file-notify--test-read-event) 869 (file-notify--test-read-event)
869 (set-file-times file-notify--test-tmpfile '(0 0)) 870 (set-file-times file-notify--test-tmpfile '(0 0) 'nofollow)
870 (file-notify--test-read-event) 871 (file-notify--test-read-event)
871 (delete-file file-notify--test-tmpfile)) 872 (delete-file file-notify--test-tmpfile))
872 (file-notify-rm-watch file-notify--test-desc) 873 (file-notify-rm-watch file-notify--test-desc)
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index ac56a7732f2..05d9ceebf1d 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -1003,9 +1003,9 @@ unquoted file names."
1003 1003
1004(ert-deftest files-tests-file-name-non-special-set-file-times () 1004(ert-deftest files-tests-file-name-non-special-set-file-times ()
1005 (files-tests--with-temp-non-special (tmpfile nospecial) 1005 (files-tests--with-temp-non-special (tmpfile nospecial)
1006 (set-file-times nospecial)) 1006 (set-file-times nospecial nil 'nofollow))
1007 (files-tests--with-temp-non-special-and-file-name-handler (tmpfile nospecial) 1007 (files-tests--with-temp-non-special-and-file-name-handler (tmpfile nospecial)
1008 (should-error (set-file-times nospecial)))) 1008 (should-error (set-file-times nospecial nil 'nofollow))))
1009 1009
1010(ert-deftest files-tests-file-name-non-special-set-visited-file-modtime () 1010(ert-deftest files-tests-file-name-non-special-set-visited-file-modtime ()
1011 (files-tests--with-temp-non-special (tmpfile nospecial) 1011 (files-tests--with-temp-non-special (tmpfile nospecial)
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index be0f418c943..dcf376e70b4 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -3743,7 +3743,8 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
3743 (file-attributes tmp-name1)))) 3743 (file-attributes tmp-name1))))
3744 ;; Skip the test, if the remote handler is not able to set 3744 ;; Skip the test, if the remote handler is not able to set
3745 ;; the correct time. 3745 ;; the correct time.
3746 (skip-unless (set-file-times tmp-name1 (seconds-to-time 1))) 3746 (skip-unless (set-file-times tmp-name1 (seconds-to-time 1)
3747 'nofollow))
3747 ;; Dumb remote shells without perl(1) or stat(1) are not 3748 ;; Dumb remote shells without perl(1) or stat(1) are not
3748 ;; able to return the date correctly. They say "don't know". 3749 ;; able to return the date correctly. They say "don't know".
3749 (unless (tramp-compat-time-equal-p 3750 (unless (tramp-compat-time-equal-p