aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.350
-rw-r--r--doc/lispref/objects.texi2
-rw-r--r--etc/NEWS.27114
-rw-r--r--lisp/cedet/semantic/analyze.el3
-rw-r--r--lisp/emacs-lisp/cl-macs.el2
-rw-r--r--lisp/emacs-lisp/map.el11
-rw-r--r--lisp/filesets.el2
-rw-r--r--lisp/gnus/gnus-art.el12
-rw-r--r--lisp/net/shr.el3
-rw-r--r--lisp/progmodes/compile.el2
-rw-r--r--lisp/progmodes/prolog.el2
-rw-r--r--lisp/progmodes/sql.el2
-rw-r--r--lisp/term.el2
-rw-r--r--src/coding.c14
-rw-r--r--src/emacs-module.h.in6
-rw-r--r--src/fns.c16
-rw-r--r--src/image.c21
-rw-r--r--src/syntax.c2
18 files changed, 150 insertions, 116 deletions
diff --git a/ChangeLog.3 b/ChangeLog.3
index 27df42cec4d..9f2f8ced227 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -3,7 +3,6 @@
3 * etc/AUTHORS: Update. 3 * etc/AUTHORS: Update.
4 4
52019-08-29 Nicolas Petton <nicolas@petton.fr> 52019-08-29 Nicolas Petton <nicolas@petton.fr>
62019-08-29 Nicolas Petton <nicolas@petton.fr>
7 6
8 * etc/NEWS: Delete temporary markup. 7 * etc/NEWS: Delete temporary markup.
9 8
@@ -64939,7 +64938,8 @@
64939 64938
64940 (eww-setup-buffer): Restore left-to-right defaults 64939 (eww-setup-buffer): Restore left-to-right defaults
64941 64940
64942 * eww.el (eww-setup-buffer): Restore left-to-right defaults. 64941 * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right
64942 defaults.
64943 64943
649442015-12-27 Lars Ingebrigtsen <larsi@gnus.org> 649442015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
64945 64945
@@ -64955,7 +64955,8 @@
64955 64955
649562015-12-26 Lars Ingebrigtsen <larsi@gnus.org> 649562015-12-26 Lars Ingebrigtsen <larsi@gnus.org>
64957 64957
64958 * shr.el (shr-descend): Allow using lambdas in external functions. 64958 * lisp/net/shr.el (shr-descend): Allow using lambdas in external
64959 functions.
64959 64960
649602015-12-25 Stefan Monnier <monnier@iro.umontreal.ca> 649612015-12-25 Stefan Monnier <monnier@iro.umontreal.ca>
64961 64962
@@ -65022,7 +65023,8 @@
65022 65023
650232015-12-25 Lars Ingebrigtsen <larsi@gnus.org> 650242015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
65024 65025
65025 * eww.el (eww-display-html): Support <button> tags (bug#20485). 65026 * lisp/net/eww.el (eww-display-html): Support <button> tags
65027 (bug#20485).
65026 65028
650272015-12-25 Lars Ingebrigtsen <larsi@gnus.org> 650292015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
65028 65030
@@ -65048,7 +65050,8 @@
65048 65050
650492015-12-25 Lars Ingebrigtsen <larsi@gnus.org> 650512015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
65050 65052
65051 * eww.el (eww-mode-map): Fix command name of eww-toggle-colors. 65053 * lisp/net/eww.el (eww-mode-map): Fix command name of
65054 eww-toggle-colors.
65052 65055
650532015-12-25 Samer Masterson <samer@samertm.com> 650562015-12-25 Samer Masterson <samer@samertm.com>
65054 65057
@@ -65072,38 +65075,39 @@
65072 65075
65073 Follow meta refresh tags in eww 65076 Follow meta refresh tags in eww
65074 65077
65075 * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234). 65078 * lisp/net/eww.el (eww-tag-meta): Follow meta refresh tags
65079 (bug#22234).
65076 65080
650772015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 650812015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65078 65082
65079 More eww file name coding fixes 65083 More eww file name coding fixes
65080 65084
65081 * eww.el (eww-decode-url-file-name): Use the base coding 65085 * lisp/net/eww.el (eww-decode-url-file-name): Use the base coding
65082 system to check for encodability. 65086 system to check for encodability.
65083 65087
650842015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 650882015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65085 65089
65086 Always save eww history 65090 Always save eww history
65087 65091
65088 * eww.el (eww-setup-buffer): Always save history, even when 65092 * lisp/net/eww.el (eww-setup-buffer): Always save history, even
65089 called from outside the eww buffer (bug#19638). 65093 when called from outside the eww buffer (bug#19638).
65090 65094
650912015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 650952015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65092 65096
65093 Default web pages to right-to-left 65097 Default web pages to right-to-left
65094 65098
65095 * eww.el (eww-mode): Most web pages are left-to-right, so make 65099 * lisp/net/eww.el (eww-mode): Most web pages are left-to-right,
65096 that the default (bug#19801). 65100 so make that the default (bug#19801).
65097 65101
65098 * shr.el (shr-tag-html): Respect "dir" attributes 65102 * lisp/net/shr.el (shr-tag-html): Respect "dir" attributes
65099 (left-to-right, right-to-left). 65103 (left-to-right, right-to-left).
65100 65104
651012015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 651052015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65102 65106
65103 Make toggling checkboxes work again 65107 Make toggling checkboxes work again
65104 65108
65105 * eww.el (eww-update-field): Make toggling checkboxes work 65109 * lisp/net/eww.el (eww-update-field): Make toggling checkboxes
65106 again (bug#21881). 65110 work again (bug#21881).
65107 65111
651082015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 651122015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65109 65113
@@ -65118,8 +65122,8 @@
65118 65122
65119 Fixes: 22117 65123 Fixes: 22117
65120 65124
65121 * shr.el (shr-descend): Stop rendering before we run out of 65125 * lisp/net/shr.el (shr-descend): Stop rendering before we run out
65122 specpdl room (bug#22117). 65126 of specpdl room (bug#22117).
65123 65127
651242015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 651282015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65125 65129
@@ -65129,7 +65133,7 @@
65129 65133
65130 Allow several <tbody> tags in shr 65134 Allow several <tbody> tags in shr
65131 65135
65132 * shr.el (shr-table-body): New function to find the real body 65136 * lisp/net/shr.el (shr-table-body): New function to find the real body
65133 of a table. 65137 of a table.
65134 (shr-tag-table): Use it to render several <tbody> tags in a 65138 (shr-tag-table): Use it to render several <tbody> tags in a
65135 table (bug#22170). 65139 table (bug#22170).
@@ -65145,7 +65149,7 @@
65145 65149
65146 Decode hex-encoded URLs before using them as file names 65150 Decode hex-encoded URLs before using them as file names
65147 65151
65148 * eww.el (eww-decode-url-file-name): New function. 65152 * lisp/net/eww.el (eww-decode-url-file-name): New function.
65149 (eww-download-callback): Use it to decode file names before 65153 (eww-download-callback): Use it to decode file names before
65150 saving them. 65154 saving them.
65151 65155
@@ -65162,23 +65166,23 @@
65162 65166
65163 Allow overriding shr functions from eww 65167 Allow overriding shr functions from eww
65164 65168
65165 * eww.el (eww-display-html): Allow overriding elements in 65169 * lisp/net/eww.el (eww-display-html): Allow overriding elements in
65166 `shr-external-rendering-functions'. 65170 `shr-external-rendering-functions'.
65167 65171
651682015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 651722015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65169 65173
65170 Ignore invalid SVG images 65174 Ignore invalid SVG images
65171 65175
65172 * shr.el (shr-tag-svg): Ignore SVG images that have no width 65176 * lisp/net/shr.el (shr-tag-svg): Ignore SVG images that have no
65173 or height, because these can't be displayed by ImageMagick, 65177 width or height, because these can't be displayed by ImageMagick,
65174 anyway. 65178 anyway.
65175 65179
651762015-12-24 Lars Ingebrigtsen <larsi@gnus.org> 651802015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
65177 65181
65178 shr table rendering fix 65182 shr table rendering fix
65179 65183
65180 * shr.el (shr-tag-table): Allow rendering body-less tables 65184 * lisp/net/shr.el (shr-tag-table): Allow rendering body-less
65181 that have headers. 65185 tables that have headers.
65182 65186
651832015-12-22 Sam Steingold <sds@gnu.org> 651872015-12-22 Sam Steingold <sds@gnu.org>
65184 65188
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index e948814d1f7..e493210f92f 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -160,7 +160,7 @@ Skip the next @samp{N} characters (@pxref{Comments}).
160@samp{N} represented as a binary number (@samp{#b101010}). 160@samp{N} represented as a binary number (@samp{#b101010}).
161 161
162@item #(@dots{}) 162@item #(@dots{})
163A string text properties (@pxref{Text Props and Strings}). 163String text properties (@pxref{Text Props and Strings}).
164 164
165@item #^ 165@item #^
166A char table (@pxref{Char-Table Type}). 166A char table (@pxref{Char-Table Type}).
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index 2b0622e752f..cdd94271c9e 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -256,8 +256,8 @@ The default value is 30000, as the previously hard-coded threshold.
256** The function 'read-passwd' uses "*" as default character to hide passwords. 256** The function 'read-passwd' uses "*" as default character to hide passwords.
257 257
258** The function 'read-answer' now accepts not only single character 258** The function 'read-answer' now accepts not only single character
259answers, but also function keys like F1, character events such as C-M-h, 259answers, but also function keys like 'F1', character events such as
260and control characters like C-h. 260'C-M-h', and control characters like 'C-h'.
261 261
262** Lexical binding is now used when evaluating interactive Elisp forms. 262** Lexical binding is now used when evaluating interactive Elisp forms.
263More specifically, lexical-binding is now used for 'M-:', '--eval', as 263More specifically, lexical-binding is now used for 'M-:', '--eval', as
@@ -350,7 +350,7 @@ certificates via 'auth-source'.
350** New user option 'network-stream-use-client-certificates'. 350** New user option 'network-stream-use-client-certificates'.
351When non-nil, 'open-network-stream' performs lookups of client 351When non-nil, 'open-network-stream' performs lookups of client
352certificates using 'auth-source' as if ':client-certificate t' were 352certificates using 'auth-source' as if ':client-certificate t' were
353specified iff there is no explicit ':client-certificate' parameter. 353specified if there is no explicit ':client-certificate' parameter.
354Defaults to nil. 354Defaults to nil.
355 355
356+++ 356+++
@@ -419,14 +419,14 @@ respects display actions specified by 'display-buffer-alist' and
419'display-buffer-overriding-action'. 419'display-buffer-overriding-action'.
420 420
421+++ 421+++
422** The option 'switch-to-visible-buffer' is now obsolete. 422** The user option 'switch-to-visible-buffer' is now obsolete.
423Customize 'switch-to-prev-buffer-skip' instead. 423Customize 'switch-to-prev-buffer-skip' instead.
424 424
425+++ 425+++
426** New option 'switch-to-prev-buffer-skip'. 426** New user option 'switch-to-prev-buffer-skip'.
427This option allows to specify the set of buffers that may be shown by 427This user option allows to specify the set of buffers that may be
428'switch-to-prev-buffer' and 'switch-to-next-buffer' more stringently 428shown by 'switch-to-prev-buffer' and 'switch-to-next-buffer' more
429than the now obsolete 'switch-to-visible-buffer'. 429stringently than the now obsolete 'switch-to-visible-buffer'.
430 430
431** New 'flex' completion style 431** New 'flex' completion style
432An implementation of popular "flex/fuzzy/scatter" completion which 432An implementation of popular "flex/fuzzy/scatter" completion which
@@ -535,8 +535,8 @@ their own separated input history list if desired.
535 535
536** 'backup-by-copying-when-privileged-mismatch' applies to file gid, too. 536** 'backup-by-copying-when-privileged-mismatch' applies to file gid, too.
537In addition to checking the file owner uid, Emacs also checks that the 537In addition to checking the file owner uid, Emacs also checks that the
538group gid is not greater than backup-by-copying-when-privileged-mismatch; 538group gid is not greater than 'backup-by-copying-when-privileged-mismatch';
539if so, backup-by-copying-when-mismatch will be forced on. 539if so, 'backup-by-copying-when-mismatch' will be forced on.
540 540
541 541
542* Editing Changes in Emacs 27.1 542* Editing Changes in Emacs 27.1
@@ -660,10 +660,10 @@ re-fontifies the buffer.
660** Font Lock is smarter about fontifying unterminated strings and comments. 660** Font Lock is smarter about fontifying unterminated strings and comments.
661When you type a quote that starts a string, or a comment delimiter 661When you type a quote that starts a string, or a comment delimiter
662that starts a comment, font-lock will not immediately refontify the 662that starts a comment, font-lock will not immediately refontify the
663following characters in font-lock-string-face or 663following characters in 'font-lock-string-face' or
664font-lock-comment-face. Instead, it will delay the fontification 664'font-lock-comment-face'. Instead, it will delay the fontification
665beyond the current line to give you a chance to close the string or 665beyond the current line to give you a chance to close the string or
666comment. This is controlled by the new customizable variable 666comment. This is controlled by the new user option
667'jit-lock-antiblink-grace', which specifies the delay in seconds. The 667'jit-lock-antiblink-grace', which specifies the delay in seconds. The
668default is 2 seconds; set to nil to get back the old behavior. 668default is 2 seconds; set to nil to get back the old behavior.
669 669
@@ -784,7 +784,7 @@ the minibuffer. If non-nil, point will move to the end of the prompt
784+++ 784+++
785*** When the minibuffer is active, echo-area messages are displayed at 785*** When the minibuffer is active, echo-area messages are displayed at
786the end of the minibuffer instead of hiding the minibuffer by the echo 786the end of the minibuffer instead of hiding the minibuffer by the echo
787area display. The new option 'minibuffer-message-clear-timeout' 787area display. The new user option 'minibuffer-message-clear-timeout'
788controls how messages displayed in this situation are removed from the 788controls how messages displayed in this situation are removed from the
789minibuffer. 789minibuffer.
790 790
@@ -795,8 +795,8 @@ at the end of the active minibuffer.
795+++ 795+++
796*** 'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer. 796*** 'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer.
797 797
798*** Some commands that previously used read-char-choice now read 798*** Some commands that previously used 'read-char-choice' now read
799a character using the minibuffer by read-char-from-minibuffer. 799a character using the minibuffer by 'read-char-from-minibuffer'.
800 800
801** map.el 801** map.el
802*** Now also understands plists. 802*** Now also understands plists.
@@ -807,7 +807,7 @@ a character using the minibuffer by read-char-from-minibuffer.
807*** New generic function 'map-insert'. 807*** New generic function 'map-insert'.
808 808
809+++ 809+++
810*** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)' 810*** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'.
811 811
812** seq.el 812** seq.el
813New convenience functions 'seq-first' and 'seq-rest' give easy access 813New convenience functions 'seq-first' and 'seq-rest' give easy access
@@ -943,9 +943,9 @@ The default value is 'find-dired-sort-by-filename'.
943 943
944--- 944---
945*** New user option 'vc-tor'. 945*** New user option 'vc-tor'.
946When non-nil, this option causes the VC commands to communicate with 946When non-nil, this user option causes the VC commands to communicate
947the repository via Tor's proxy, using the 'torsocks' wrapper script. 947with the repository via Tor's proxy, using the 'torsocks' wrapper
948The default is nil. 948script. The default is nil.
949 949
950+++ 950+++
951*** New command 'log-edit-generate-changelog-from-diff', bound to 'C-c C-w'. 951*** New command 'log-edit-generate-changelog-from-diff', bound to 'C-c C-w'.
@@ -1131,16 +1131,16 @@ end.
1131*** 'comint-run' can now accept a list of switches to pass to the program. 1131*** 'comint-run' can now accept a list of switches to pass to the program.
1132'C-u M-x comint-run' will prompt for the switches interactively. 1132'C-u M-x comint-run' will prompt for the switches interactively.
1133 1133
1134*** Abnormal hook `comint-password-function' has been added. 1134*** Abnormal hook 'comint-password-function' has been added.
1135This hook permits a derived mode to supply a password for the 1135This hook permits a derived mode to supply a password for the
1136underlying command interpreter without prompting the user. For 1136underlying command interpreter without prompting the user. For
1137example, in sql-mode, the password for connecting to the database may 1137example, in 'sql-mode', the password for connecting to the database may
1138be stored in the connection wallet and may be passed on the command 1138be stored in the connection wallet and may be passed on the command
1139line to start the SQL interpreter. This is a potential security flaw 1139line to start the SQL interpreter. This is a potential security flaw
1140that could expose user's database passwords on the command line 1140that could expose user's database passwords on the command line
1141through the use of a process list (Bug#8427). With this hook, it is 1141through the use of a process list (Bug#8427). With this hook, it is
1142possible to not pass the password on the command line and wait for the 1142possible to not pass the password on the command line and wait for the
1143program to prompt for the password. When it does so, the password cam 1143program to prompt for the password. When it does so, the password can
1144be supplied to the SQL interpreter without involving the user just as 1144be supplied to the SQL interpreter without involving the user just as
1145if it had been supplied on the command line. 1145if it had been supplied on the command line.
1146 1146
@@ -1150,7 +1150,7 @@ if it had been supplied on the command line.
1150SQL Mode now supports the ELPA 'sql-indent' package for assisting 1150SQL Mode now supports the ELPA 'sql-indent' package for assisting
1151sophisticated SQL indenting rules. Note, however, that SQL is not 1151sophisticated SQL indenting rules. Note, however, that SQL is not
1152like other programming languages like C, Java, or Python where code is 1152like other programming languages like C, Java, or Python where code is
1153sparse and rules for formatting are fairly well established. Instead 1153sparse and rules for formatting are fairly well established. Instead
1154SQL is more like COBOL (from which it came) and code tends to be very 1154SQL is more like COBOL (from which it came) and code tends to be very
1155dense and line ending decisions driven by syntax and line length 1155dense and line ending decisions driven by syntax and line length
1156considerations to make readable code. Experienced SQL developers may 1156considerations to make readable code. Experienced SQL developers may
@@ -1164,17 +1164,18 @@ indentation support in 'sql-mode' and 'sql-interactive-mode'.
1164 1164
1165**** 'sql-mode-hook' and 'sql-interactive-mode-hook' changed. 1165**** 'sql-mode-hook' and 'sql-interactive-mode-hook' changed.
1166Both hook variables have had 'sql-indent-enable' added to their 1166Both hook variables have had 'sql-indent-enable' added to their
1167default values. If you have existing customizations to these variables, 1167default values. If you have existing customizations to these
1168you should make sure that the new default entry is included. 1168variables, you should make sure that the new default entry is
1169included.
1169 1170
1170*** Connection Wallet 1171*** Connection Wallet
1171Database passwords can now by stored in NETRC or JSON data files that 1172Database passwords can now by stored in NETRC or JSON data files that
1172may optionally be encrypted. When establishing an interactive session 1173may optionally be encrypted. When establishing an interactive session
1173with the database via 'sql-connect' or a product specific function, 1174with the database via 'sql-connect' or a product specific function,
1174like 'sql-mysql' or 'my-postgres', the password wallet will be 1175like 'sql-mysql' or 'my-postgres', the password wallet will be
1175searched for the password. The 'sql-product', 'sql-server', 1176searched for the password. The 'sql-product', 'sql-server',
1176'sql-database', and the 'sql-username' will be used to identify the 1177'sql-database', and the 'sql-username' will be used to identify the
1177appropriate authorization. This eliminates the discouraged practice of 1178appropriate authorization. This eliminates the discouraged practice of
1178embedding database passwords in your Emacs initialization. 1179embedding database passwords in your Emacs initialization.
1179 1180
1180See the 'auth-source' module for complete documentation on the file 1181See the 'auth-source' module for complete documentation on the file
@@ -1254,7 +1255,7 @@ Example use in auctex.el: '(defconst auctex-version (package-get-version))'
1254When 'package-quickstart' is non-nil, package.el precomputes a big 1255When 'package-quickstart' is non-nil, package.el precomputes a big
1255autoloads file so that activation of packages can be done much faster, 1256autoloads file so that activation of packages can be done much faster,
1256which can speed up your startup significantly. 1257which can speed up your startup significantly.
1257It also causes variables like 'package-user-dir' and 1258It also causes user options like 'package-user-dir' and
1258'package-load-list' to be consulted when 'package-quickstart-refresh' 1259'package-load-list' to be consulted when 'package-quickstart-refresh'
1259is run rather than at startup so you don't need to set them in your 1260is run rather than at startup so you don't need to set them in your
1260early init file. 1261early init file.
@@ -1281,7 +1282,7 @@ the 'package-menu-clear-filter' function, bound to '/ /' by default.
1281*** In Package Menu, 'g' now updates package data from archives. 1282*** In Package Menu, 'g' now updates package data from archives.
1282Previously, 'g' invoked 'tabulated-list-revert' which did not update 1283Previously, 'g' invoked 'tabulated-list-revert' which did not update
1283the cached archive data. It is now bound to 'revert-buffer', which 1284the cached archive data. It is now bound to 'revert-buffer', which
1284will now update the data. 1285will update the data.
1285 1286
1286'package-menu-refresh' is an obsolete alias for 'revert-buffer'. 1287'package-menu-refresh' is an obsolete alias for 'revert-buffer'.
1287 1288
@@ -1306,7 +1307,6 @@ of columns passed to the 'man' program for formatting man pages. This
1306is to enhance readability when man pages are displayed in very wide 1307is to enhance readability when man pages are displayed in very wide
1307windows (which are customary with today's large displays). 1308windows (which are customary with today's large displays).
1308 1309
1309
1310** Xref 1310** Xref
1311 1311
1312+++ 1312+++
@@ -1348,9 +1348,9 @@ A new command 'xref-revert-buffer' is bound to 'g'.
1348+++ 1348+++
1349*** New minor mode Fido mode. 1349*** New minor mode Fido mode.
1350This mode is based on Icomplete, and its name stands for "Fake Ido". 1350This mode is based on Icomplete, and its name stands for "Fake Ido".
1351The point of this mode is to be an ido-mode workalike, but provide 1351The point of this mode is to be an 'ido-mode' workalike, but provide
1352most of the functionality present in Icomplete that is not in 1352most of the functionality present in Icomplete that is not in
1353ido-mode, while being much more compatible with all of Emacs's 1353'ido-mode', while being much more compatible with all of Emacs's
1354completion facilities. 1354completion facilities.
1355 1355
1356** Ecomplete 1356** Ecomplete
@@ -1582,9 +1582,8 @@ killed when pdbtracking session is finished.
1582 1582
1583--- 1583---
1584*** New function 'python-shell-send-region'. 1584*** New function 'python-shell-send-region'.
1585It send the statement delimited by 'python-nav-beginning-of-statement' and 1585It sends the statement delimited by 'python-nav-beginning-of-statement'
1586'python-nav-end-of-statement' to the inferior Python process. 1586and 'python-nav-end-of-statement' to the inferior Python process.
1587
1588 1587
1589** Help 1588** Help
1590 1589
@@ -1737,7 +1736,7 @@ previously-set breakpoints. If the code has changed substantially,
1737this may not be possible. 1736this may not be possible.
1738 1737
1739+++ 1738+++
1740*** New command 'edebug-remove-instrumentation. 1739*** New command 'edebug-remove-instrumentation'.
1741This command removes Edebug instrumentation from all functions that 1740This command removes Edebug instrumentation from all functions that
1742have been instrumented. 1741have been instrumented.
1743 1742
@@ -1996,7 +1995,7 @@ GnuTLS manual) is recommended instead.
1996 1995
1997** Message 1996** Message
1998 1997
1999*** Completion of email addresses can use the standard completion UI 1998*** Completion of email addresses can use the standard completion UI.
2000This is controlled by 'message-expand-name-standard-ui'. 1999This is controlled by 'message-expand-name-standard-ui'.
2001With the standard UI the different sources (ecomplete, bbdb, and eudc) 2000With the standard UI the different sources (ecomplete, bbdb, and eudc)
2002are matched together and try to obey 'completion-styles'. 2001are matched together and try to obey 'completion-styles'.
@@ -2034,11 +2033,11 @@ set gpg's "--sender email@domain" option.
2034The option is useful for two reasons when verifying the signature: 2033The option is useful for two reasons when verifying the signature:
2035 2034
2036 1. GnuPG's TOFU statistics are updated for the specific user id 2035 1. GnuPG's TOFU statistics are updated for the specific user id
2037 (email) only. See gpg(1) man page about "--sender". 2036 (email) only. See gpg(1) man page about "--sender".
2038 2037
2039 2. GnuPG's '--auto-key-retrieve' functionality can use WKD (web key 2038 2. GnuPG's '--auto-key-retrieve' functionality can use WKD (web key
2040 directory) method for finding the signer's key. You need GnuPG 2039 directory) method for finding the signer's key. You need GnuPG
2041 2.2.17 to fully benefit from this feature. See gpg(1) man page for 2040 2.2.17 to fully benefit from this feature. See gpg(1) man page for
2042 '--auto-key-retrieve'. 2041 '--auto-key-retrieve'.
2043 2042
2044--- 2043---
@@ -2056,8 +2055,8 @@ been removed. Use 'encode-coding-string', 'decode-coding-string', and
2056 2055
2057*** 'epg-context' structure supports now 'sender' slot. 2056*** 'epg-context' structure supports now 'sender' slot.
2058The value of the new 'sender' slot (if a string) is used to set gpg's 2057The value of the new 'sender' slot (if a string) is used to set gpg's
2059'--sender' option. This feature is used by 2058'--sender' option. This feature is used by
2060'mml-secure-openpgp-sign-with-sender'. See gpg(1) manual page about 2059'mml-secure-openpgp-sign-with-sender'. See gpg(1) manual page about
2061'--sender' for more information. 2060'--sender' for more information.
2062 2061
2063--- 2062---
@@ -2135,11 +2134,11 @@ the 128...255 range, as expected.
2135 2134
2136--- 2135---
2137*** The rx 'or' and 'seq' forms no longer require any arguments. 2136*** The rx 'or' and 'seq' forms no longer require any arguments.
2138(or) produces a regexp that never matches anything, while (seq) 2137'(or)' produces a regexp that never matches anything, while '(seq)'
2139matches the empty string, each being an identity for the operation. 2138matches the empty string, each being an identity for the operation.
2140This also works for their aliases: '|' for 'or'; ':', 'and' and 2139This also works for their aliases: '|' for 'or'; ':', 'and' and
2141'sequence' for 'seq'. 2140'sequence' for 'seq'.
2142The symbol 'unmatchable' can be used as an alternative to (or). 2141The symbol 'unmatchable' can be used as an alternative to '(or)'.
2143 2142
2144--- 2143---
2145*** 'regexp' and new 'literal' accept arbitrary lisp as arguments. 2144*** 'regexp' and new 'literal' accept arbitrary lisp as arguments.
@@ -2427,16 +2426,16 @@ if you set 'time-stamp-format' or 'time-stamp-pattern' with a
2427file-local variable, you may need to update the value. 2426file-local variable, you may need to update the value.
2428 2427
2429** mode-local 2428** mode-local
2430*** Declare 'define-overload' and 'define-child-mode' as obsolete 2429*** Declare 'define-overload' and 'define-child-mode' as obsolete.
2431*** Rename several internal functions to use a ''mode-local-' prefix 2430*** Rename several internal functions to use a 'mode-local-' prefix.
2432 2431
2433** CC Mode 2432** CC Mode
2434 2433
2435+++ 2434+++
2436*** You can now flag "wrong style" comments with font-lock-warning-face. 2435*** You can now flag "wrong style" comments with 'font-lock-warning-face'.
2437To do this, use c-toggle-comment-style, if needed, to set the desired 2436To do this, use 'c-toggle-comment-style', if needed, to set the desired
2438default comment style (block or line); then set the option 2437default comment style (block or line); then set the user option
2439c-mark-wrong-style-of-comment to non-nil. 2438'c-mark-wrong-style-of-comment' to non-nil.
2440 2439
2441 2440
2442* New Modes and Packages in Emacs 27.1 2441* New Modes and Packages in Emacs 27.1
@@ -2539,7 +2538,6 @@ the hook may have specified higher/lower depths. This makes it
2539possible to control the ordering of functions more precisely, as was 2538possible to control the ordering of functions more precisely, as was
2540already possible in 'add-function' and 'advice-add'. 2539already possible in 'add-function' and 'advice-add'.
2541 2540
2542
2543** In 'compilation-error-regexp-alist' the old undocumented feature 2541** In 'compilation-error-regexp-alist' the old undocumented feature
2544where 'line' could be a function of 2 arguments has been dropped. 2542where 'line' could be a function of 2 arguments has been dropped.
2545 2543
@@ -2725,7 +2723,7 @@ scrolling.
2725where it scales the image under the mouse pointer. 2723where it scales the image under the mouse pointer.
2726 2724
2727--- 2725---
2728** help-follow-symbol now signals 'user-error' if point (or the 2726** 'help-follow-symbol' now signals 'user-error' if point (or the
2729position pointed to by the argument POS) is not in a symbol. 2727position pointed to by the argument POS) is not in a symbol.
2730 2728
2731 2729
@@ -2856,9 +2854,9 @@ functions like 'process-id' that compute process IDs, and functions like
2856'user-uid' and 'group-gid' that compute user and group IDs. 2854'user-uid' and 'group-gid' that compute user and group IDs.
2857 2855
2858+++ 2856+++
2859** overflow-error is now documented as a subcategory of range-error. 2857** 'overflow-error' is now documented as a subcategory of 'range-error'.
2860Formerly it was undocumented, and was (incorrectly) a subcategory 2858Formerly it was undocumented, and was (incorrectly) a subcategory
2861of domain-error. 2859of 'domain-error'.
2862 2860
2863** Time values 2861** Time values
2864 2862
@@ -3159,7 +3157,7 @@ are implemented in C using the Jansson library.
3159 3157
3160+++ 3158+++
3161** New function 'flatten-tree'. 3159** New function 'flatten-tree'.
3162'flatten-list' is provided as an alias. These functions take a tree 3160'flatten-list' is provided as an alias. These functions take a tree
3163and 'flatten' it such that the result is a list of all the terminal 3161and 'flatten' it such that the result is a list of all the terminal
3164nodes. 3162nodes.
3165 3163
@@ -3367,7 +3365,7 @@ non-nil. This is used by 'mouse-drag-region' to make the effect
3367easier to undo immediately afterwards. 3365easier to undo immediately afterwards.
3368 3366
3369--- 3367---
3370** When called interactively, next-buffer and previous-buffer now 3368** When called interactively, 'next-buffer' and 'previous-buffer' now
3371signal 'user-error' if there is no buffer to switch to. 3369signal 'user-error' if there is no buffer to switch to.
3372 3370
3373 3371
diff --git a/lisp/cedet/semantic/analyze.el b/lisp/cedet/semantic/analyze.el
index d3cbe610a79..926d7f24b43 100644
--- a/lisp/cedet/semantic/analyze.el
+++ b/lisp/cedet/semantic/analyze.el
@@ -80,8 +80,7 @@
80 "Collection of any errors thrown during analysis.") 80 "Collection of any errors thrown during analysis.")
81 81
82(defun semantic-analyze-push-error (err) 82(defun semantic-analyze-push-error (err)
83 "Push the error in ERR-DATA onto the error stack. 83 "Push the error data in ERR onto the error stack."
84Argument ERR."
85 (push err semantic-analyze-error-stack)) 84 (push err semantic-analyze-error-stack))
86 85
87;;; Analysis Classes 86;;; Analysis Classes
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index a5ecf33203c..a7a1d91f3f1 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2017,7 +2017,7 @@ a `let' form, except that the list of symbols can be computed at run-time."
2017Each definition can take the form (FUNC EXP) where 2017Each definition can take the form (FUNC EXP) where
2018FUNC is the function name, and EXP is an expression that returns the 2018FUNC is the function name, and EXP is an expression that returns the
2019function value to which it should be bound, or it can take the more common 2019function value to which it should be bound, or it can take the more common
2020form \(FUNC ARGLIST BODY...) which is a shorthand 2020form (FUNC ARGLIST BODY...) which is a shorthand
2021for (FUNC (lambda ARGLIST BODY)). 2021for (FUNC (lambda ARGLIST BODY)).
2022 2022
2023FUNC is defined only within FORM, not BODY, so you can't write 2023FUNC is defined only within FORM, not BODY, so you can't write
diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el
index 74927b6224f..c1db79809d1 100644
--- a/lisp/emacs-lisp/map.el
+++ b/lisp/emacs-lisp/map.el
@@ -141,7 +141,8 @@ In the base definition, MAP can be an alist, hash-table, or array."
141 "Associate KEY with VALUE in MAP and return VALUE. 141 "Associate KEY with VALUE in MAP and return VALUE.
142If KEY is already present in MAP, replace the associated value 142If KEY is already present in MAP, replace the associated value
143with VALUE. 143with VALUE.
144When MAP is a list, test equality with TESTFN if non-nil, otherwise use `eql'. 144When MAP is a list, test equality with TESTFN if non-nil,
145otherwise use `eql'.
145 146
146MAP can be a list, hash-table or array." 147MAP can be a list, hash-table or array."
147 (declare (obsolete "use map-put! or (setf (map-elt ...) ...) instead" "27.1")) 148 (declare (obsolete "use map-put! or (setf (map-elt ...) ...) instead" "27.1"))
@@ -287,7 +288,7 @@ The default implementation delegates to `map-length'."
287 ;; so specifying `testfn' here is problematic: e.g. for hash-tables 288 ;; so specifying `testfn' here is problematic: e.g. for hash-tables
288 ;; we shouldn't use `gethash' unless `testfn' is the same as the map's own 289 ;; we shouldn't use `gethash' unless `testfn' is the same as the map's own
289 ;; test function! 290 ;; test function!
290 "Return non-nil If and only if MAP contains KEY. 291 "Return non-nil if and only if MAP contains KEY.
291TESTFN is deprecated. Its default depends on MAP. 292TESTFN is deprecated. Its default depends on MAP.
292The default implementation delegates to `map-do'." 293The default implementation delegates to `map-do'."
293 (unless testfn (setq testfn #'equal)) 294 (unless testfn (setq testfn #'equal))
@@ -325,7 +326,7 @@ The default implementation delegates to `map-apply'."
325 nil)) 326 nil))
326 327
327(cl-defgeneric map-every-p (pred map) 328(cl-defgeneric map-every-p (pred map)
328 "Return non-nil if (PRED key val) is non-nil for all elements of the map MAP. 329 "Return non-nil if (PRED key val) is non-nil for all elements of MAP.
329The default implementation delegates to `map-apply'." 330The default implementation delegates to `map-apply'."
330 ;; FIXME: Not sure if there's much benefit to defining it as defgeneric, 331 ;; FIXME: Not sure if there's much benefit to defining it as defgeneric,
331 ;; since as defined, I can't think of a map-type where we could provide an 332 ;; since as defined, I can't think of a map-type where we could provide an
@@ -475,8 +476,8 @@ KEYWORD-ARGS are forwarded to `make-hash-table'."
475 476
476(cl-defmethod map-into (map (type (head hash-table))) 477(cl-defmethod map-into (map (type (head hash-table)))
477 "Convert MAP into a hash-table. 478 "Convert MAP into a hash-table.
478TYPE is a list where the car is `hash-table' and the cdr are the keyword-args 479TYPE is a list where the car is `hash-table' and the cdr are the
479forwarded to `make-hash-table'. 480keyword-args forwarded to `make-hash-table'.
480 481
481Example: 482Example:
482 (map-into '((1 . 3)) '(hash-table :test eql))" 483 (map-into '((1 . 3)) '(hash-table :test eql))"
diff --git a/lisp/filesets.el b/lisp/filesets.el
index c05fff3fb74..5a810f14ac5 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -139,7 +139,7 @@ the default for XEmacs prior to 21.5. If you want to change this value
139put \"(setq filesets-menu-ensure-use-cached VALUE)\" into your startup 139put \"(setq filesets-menu-ensure-use-cached VALUE)\" into your startup
140file -- before loading filesets.el. 140file -- before loading filesets.el.
141 141
142So, when should you think about setting this value to t? If filesets.el 142So, when should you think about setting this value to t? If filesets.el
143is loaded before user customizations. Thus, if (require \\='filesets) 143is loaded before user customizations. Thus, if (require \\='filesets)
144precedes the `custom-set-variables' command or, for XEmacs, if init.el 144precedes the `custom-set-variables' command or, for XEmacs, if init.el
145is loaded before custom.el, set this variable to t.") 145is loaded before custom.el, set this variable to t.")
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 5745bf12bde..a937e232ff4 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -268,21 +268,15 @@ This can also be a list of the above values."
268 :type 'plist 268 :type 'plist
269 :group 'gnus-article-hiding) 269 :group 'gnus-article-hiding)
270 270
271;; Fixme: This isn't the right thing for mixed graphical and non-graphical 271(defcustom gnus-article-x-face-command (and (gnus-image-type-available-p 'pbm)
272;; frames in a session. 272 'gnus-display-x-face-in-from)
273(defcustom gnus-article-x-face-command
274 (if (gnus-image-type-available-p 'pbm)
275 'gnus-display-x-face-in-from
276 "{ echo \
277'/* Format_version=1, Width=48, Height=48, Depth=1, Valid_bits_per_item=16 */'\
278; uncompface; } | icontopbm | display -")
279 "String or function to be executed to display an X-Face header. 273 "String or function to be executed to display an X-Face header.
280If it is a string, the command will be executed in a sub-shell 274If it is a string, the command will be executed in a sub-shell
281asynchronously. The compressed face will be piped to this command." 275asynchronously. The compressed face will be piped to this command."
282 :type '(choice string 276 :type '(choice string
283 (function-item gnus-display-x-face-in-from) 277 (function-item gnus-display-x-face-in-from)
284 function) 278 function)
285 :version "21.1" 279 :version "27.1"
286 :group 'gnus-picon 280 :group 'gnus-picon
287 :group 'gnus-article-washing) 281 :group 'gnus-article-washing)
288 282
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 22d4cde34a7..97f8bed88c1 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1197,7 +1197,8 @@ Return a string with image data."
1197 (libxml-parse-xml-region (point) (point-max)) 'utf-8))) 1197 (libxml-parse-xml-region (point) (point-max)) 'utf-8)))
1198 ;; SVG images often do not have a specified foreground/background 1198 ;; SVG images often do not have a specified foreground/background
1199 ;; color, so wrap them in styles. 1199 ;; color, so wrap them in styles.
1200 (when (eq content-type 'image/svg+xml) 1200 (when (and (display-images-p)
1201 (eq content-type 'image/svg+xml))
1201 (setq data (svg--wrap-svg data))) 1202 (setq data (svg--wrap-svg data)))
1202 (list data content-type))) 1203 (list data content-type)))
1203 1204
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 197d52b2dea..718e6e44e04 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2629,7 +2629,7 @@ region and the first line of the next region."
2629 "Display this many lines of leading context before the current message. 2629 "Display this many lines of leading context before the current message.
2630If nil or t, and the left fringe is displayed, don't scroll the 2630If nil or t, and the left fringe is displayed, don't scroll the
2631compilation output window; an arrow in the left fringe points to 2631compilation output window; an arrow in the left fringe points to
2632the current message. With no left fringe, If nil, the message 2632the current message. With no left fringe, if nil, the message
2633scrolls to the top of the window; there is no arrow. If t, don't 2633scrolls to the top of the window; there is no arrow. If t, don't
2634scroll the compilation output window at all; an arrow before 2634scroll the compilation output window at all; an arrow before
2635column zero points to the current message." 2635column zero points to the current message."
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index 4665500349a..d79c589955c 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -381,7 +381,7 @@ terms (if this variable is nil, default)."
381 381
382(defcustom prolog-paren-indent 4 382(defcustom prolog-paren-indent 4
383 "The indentation increase for parenthesis expressions. 383 "The indentation increase for parenthesis expressions.
384Only used in ( If -> Then ; Else) and ( Disj1 ; Disj2 ) style expressions." 384Only used in ( If -> Then ; Else ) and ( Disj1 ; Disj2 ) style expressions."
385 :version "24.1" 385 :version "24.1"
386 :group 'prolog-indentation 386 :group 'prolog-indentation
387 :type 'integer 387 :type 'integer
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index aa42873a3dd..7a51739c5f3 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -860,7 +860,7 @@ The specified function will be called as:
860 (wallet-func WALLET PRODUCT USER SERVER DATABASE PORT) 860 (wallet-func WALLET PRODUCT USER SERVER DATABASE PORT)
861 861
862It is expected to return either a string containing the password, 862It is expected to return either a string containing the password,
863a function returning the password, or nil, If you want to support 863a function returning the password, or nil. If you want to support
864another format of password file, then implement a different 864another format of password file, then implement a different
865search wallet function and identify the location of the password 865search wallet function and identify the location of the password
866store with `sql-password-wallet'.") 866store with `sql-password-wallet'.")
diff --git a/lisp/term.el b/lisp/term.el
index 50a0c80bcfd..29898dfce94 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -87,7 +87,7 @@
87;; for maintenance reasons, you have to edit files 'as root': before 87;; for maintenance reasons, you have to edit files 'as root': before
88;; patching term.el, I su-ed in a term.el buffer and used vi :), now I 88;; patching term.el, I su-ed in a term.el buffer and used vi :), now I
89;; simply do a C-x C-f and, via ange-ftp, the file is automatically loaded 89;; simply do a C-x C-f and, via ange-ftp, the file is automatically loaded
90;; 'as-root'. ( If you don't want to enter the root password every time you 90;; 'as-root'. (If you don't want to enter the root password every time you
91;; can put it in your .netrc: note that this is -not- advisable if you're 91;; can put it in your .netrc: note that this is -not- advisable if you're
92;; connected to the internet or if somebody else works on your workstation!) 92;; connected to the internet or if somebody else works on your workstation!)
93;; 93;;
diff --git a/src/coding.c b/src/coding.c
index d9964908dce..35d6be470c8 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -9415,6 +9415,13 @@ code_convert_region (Lisp_Object start, Lisp_Object end,
9415DEFUN ("decode-coding-region", Fdecode_coding_region, Sdecode_coding_region, 9415DEFUN ("decode-coding-region", Fdecode_coding_region, Sdecode_coding_region,
9416 3, 4, "r\nzCoding system: ", 9416 3, 4, "r\nzCoding system: ",
9417 doc: /* Decode the current region from the specified coding system. 9417 doc: /* Decode the current region from the specified coding system.
9418
9419What's meant by \"decoding\" is transforming bytes into text
9420(characters). If, for instance, you have a region that contains data
9421that represents the two bytes #xc2 #xa9, after calling this function
9422with the utf-8 coding system, the region will contain the single
9423character ?\\N{COPYRIGHT SIGN}.
9424
9418When called from a program, takes four arguments: 9425When called from a program, takes four arguments:
9419 START, END, CODING-SYSTEM, and DESTINATION. 9426 START, END, CODING-SYSTEM, and DESTINATION.
9420START and END are buffer positions. 9427START and END are buffer positions.
@@ -9438,6 +9445,13 @@ not fully specified.) */)
9438DEFUN ("encode-coding-region", Fencode_coding_region, Sencode_coding_region, 9445DEFUN ("encode-coding-region", Fencode_coding_region, Sencode_coding_region,
9439 3, 4, "r\nzCoding system: ", 9446 3, 4, "r\nzCoding system: ",
9440 doc: /* Encode the current region by specified coding system. 9447 doc: /* Encode the current region by specified coding system.
9448
9449What's meant by \"encoding\" is transforming textual data (characters)
9450into bytes. If, for instance, you have a region that contains the
9451single character ?\\N{COPYRIGHT SIGN}, after calling this function with
9452the utf-8 coding system, the data in the region will represent the two
9453bytes #xc2 #xa9.
9454
9441When called from a program, takes four arguments: 9455When called from a program, takes four arguments:
9442 START, END, CODING-SYSTEM and DESTINATION. 9456 START, END, CODING-SYSTEM and DESTINATION.
9443START and END are buffer positions. 9457START and END are buffer positions.
diff --git a/src/emacs-module.h.in b/src/emacs-module.h.in
index a4312730143..ecbfe28c72c 100644
--- a/src/emacs-module.h.in
+++ b/src/emacs-module.h.in
@@ -17,6 +17,12 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ 18along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
19 19
20/*
21This file defines the Emacs module API. Please see the chapter
22`Dynamic Modules' in the GNU Emacs Lisp Reference Manual for
23information how to write modules and use this header file.
24*/
25
20#ifndef EMACS_MODULE_H 26#ifndef EMACS_MODULE_H
21#define EMACS_MODULE_H 27#define EMACS_MODULE_H
22 28
diff --git a/src/fns.c b/src/fns.c
index 3ae3192b3d5..5e62d0e6f90 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3297,7 +3297,13 @@ static Lisp_Object base64_encode_string_1 (Lisp_Object, bool,
3297DEFUN ("base64-encode-region", Fbase64_encode_region, Sbase64_encode_region, 3297DEFUN ("base64-encode-region", Fbase64_encode_region, Sbase64_encode_region,
3298 2, 3, "r", 3298 2, 3, "r",
3299 doc: /* Base64-encode the region between BEG and END. 3299 doc: /* Base64-encode the region between BEG and END.
3300Return the length of the encoded text. 3300The data in the region is assumed to represent bytes, not text. If
3301you want to base64-encode text, the text has to be converted into data
3302first by using `encode-coding-region' with the appropriate coding
3303system first.
3304
3305Return the length of the encoded data.
3306
3301Optional third argument NO-LINE-BREAK means do not break long lines 3307Optional third argument NO-LINE-BREAK means do not break long lines
3302into shorter lines. */) 3308into shorter lines. */)
3303 (Lisp_Object beg, Lisp_Object end, Lisp_Object no_line_break) 3309 (Lisp_Object beg, Lisp_Object end, Lisp_Object no_line_break)
@@ -3544,7 +3550,13 @@ base64_encode_1 (const char *from, char *to, ptrdiff_t length,
3544DEFUN ("base64-decode-region", Fbase64_decode_region, Sbase64_decode_region, 3550DEFUN ("base64-decode-region", Fbase64_decode_region, Sbase64_decode_region,
3545 2, 3, "r", 3551 2, 3, "r",
3546 doc: /* Base64-decode the region between BEG and END. 3552 doc: /* Base64-decode the region between BEG and END.
3547Return the length of the decoded text. 3553Return the length of the decoded data.
3554
3555Note that after calling this function, the data in the region will
3556represent bytes, not text. If you want to end up with text, you have
3557to call `decode-coding-region' afterwards with an appropriate coding
3558system.
3559
3548If the region can't be decoded, signal an error and don't modify the buffer. 3560If the region can't be decoded, signal an error and don't modify the buffer.
3549Optional third argument BASE64URL determines whether to use the URL variant 3561Optional third argument BASE64URL determines whether to use the URL variant
3550of the base 64 encoding, as defined in RFC 4648. */) 3562of the base 64 encoding, as defined in RFC 4648. */)
diff --git a/src/image.c b/src/image.c
index 70d932f9edb..fc90c5ea74b 100644
--- a/src/image.c
+++ b/src/image.c
@@ -8603,6 +8603,17 @@ extern WandExport void PixelGetMagickColor (const PixelWand *,
8603 MagickPixelPacket *); 8603 MagickPixelPacket *);
8604#endif 8604#endif
8605 8605
8606static void
8607imagemagick_initialize (void)
8608{
8609 static bool imagemagick_initialized;
8610 if (!imagemagick_initialized)
8611 {
8612 imagemagick_initialized = true;
8613 MagickWandGenesis ();
8614 }
8615}
8616
8606/* Log ImageMagick error message. 8617/* Log ImageMagick error message.
8607 Useful when an ImageMagick function returns the status `MagickFalse'. */ 8618 Useful when an ImageMagick function returns the status `MagickFalse'. */
8608 8619
@@ -8874,14 +8885,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
8874 double rotation; 8885 double rotation;
8875 char hint_buffer[MaxTextExtent]; 8886 char hint_buffer[MaxTextExtent];
8876 char *filename_hint = NULL; 8887 char *filename_hint = NULL;
8877 8888 imagemagick_initialize ();
8878 /* Initialize the ImageMagick environment. */
8879 static bool imagemagick_initialized;
8880 if (!imagemagick_initialized)
8881 {
8882 imagemagick_initialized = true;
8883 MagickWandGenesis ();
8884 }
8885 8889
8886 /* Handle image index for image types who can contain more than one image. 8890 /* Handle image index for image types who can contain more than one image.
8887 Interface :index is same as for GIF. First we "ping" the image to see how 8891 Interface :index is same as for GIF. First we "ping" the image to see how
@@ -9290,6 +9294,7 @@ and `imagemagick-types-inhibit'. */)
9290 char **imtypes; 9294 char **imtypes;
9291 size_t i; 9295 size_t i;
9292 9296
9297 imagemagick_initialize ();
9293 ex = AcquireExceptionInfo (); 9298 ex = AcquireExceptionInfo ();
9294 imtypes = GetMagickList ("*", &numf, ex); 9299 imtypes = GetMagickList ("*", &numf, ex);
9295 DestroyExceptionInfo (ex); 9300 DestroyExceptionInfo (ex);
diff --git a/src/syntax.c b/src/syntax.c
index edfdae22590..0f539da328a 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -2280,7 +2280,7 @@ in_classes (int c, Lisp_Object iso_classes)
2280 for nested comments and should be zero or negative else. 2280 for nested comments and should be zero or negative else.
2281 ST_COMMENT_STYLE cannot be nested. 2281 ST_COMMENT_STYLE cannot be nested.
2282 PREV_SYNTAX is the SYNTAX_WITH_FLAGS of the previous character 2282 PREV_SYNTAX is the SYNTAX_WITH_FLAGS of the previous character
2283 (or 0 If the search cannot start in the middle of a two-character). 2283 (or 0 if the search cannot start in the middle of a two-character).
2284 2284
2285 If successful, return true and store the charpos of the comment's 2285 If successful, return true and store the charpos of the comment's
2286 end into *CHARPOS_PTR and the corresponding bytepos into 2286 end into *CHARPOS_PTR and the corresponding bytepos into