aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-11-04 15:02:03 -0700
committerPaul Eggert2016-11-04 15:02:03 -0700
commitae0a1a890ec7b885e85cd945a21ca42fed80df3d (patch)
tree495f1d851cb3a43a0e677bff9c09d4211a35fbde
parent66b5222c3cd72839bf72e0b2a03912719c930451 (diff)
parentacae275b2752357497a2411876b83240ce7c8aec (diff)
downloademacs-ae0a1a890ec7b885e85cd945a21ca42fed80df3d.tar.gz
emacs-ae0a1a890ec7b885e85cd945a21ca42fed80df3d.zip
Merge from origin/emacs-25
acae275 ; Spelling fixes d8fac73 Update README for precompiled windows Emacs. 23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks f708cb2 Clarify doc string of 'transpose-sexps' cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab' bdc89eb Improve documentation of 'font-lock-remove-keywords' 4a0c590 Fix documentation of the command summary key 0221b7a Mark relocation workarounds with REL_ALLOC
-rw-r--r--doc/emacs/maintaining.texi2
-rw-r--r--doc/lispref/files.texi15
-rw-r--r--doc/lispref/modes.texi4
-rw-r--r--doc/misc/ChangeLog.12
-rw-r--r--doc/misc/info.texi15
-rw-r--r--etc/ERC-NEWS2
-rw-r--r--etc/NEWS.232
-rw-r--r--etc/TODO2
-rw-r--r--lisp/cedet/ede/locate.el4
-rw-r--r--lisp/cedet/semantic/db-typecache.el2
-rw-r--r--lisp/emacs-lisp/eieio-core.el2
-rw-r--r--lisp/emulation/edt.el2
-rw-r--r--lisp/erc/erc-backend.el6
-rw-r--r--lisp/international/ucs-normalize.el2
-rw-r--r--lisp/language/ind-util.el2
-rw-r--r--lisp/mh-e/mh-search.el4
-rw-r--r--lisp/mh-e/mh-thread.el8
-rw-r--r--lisp/net/browse-url.el5
-rw-r--r--lisp/simple.el10
-rw-r--r--lisp/subr.el2
-rw-r--r--lisp/vc/vc.el6
-rw-r--r--nt/README.W32292
-rw-r--r--src/emacs.c2
-rw-r--r--src/lread.c8
-rw-r--r--src/search.c9
25 files changed, 145 insertions, 265 deletions
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 1037bd1fdd7..13668cc9269 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -223,7 +223,7 @@ basic editing operations under Bazaar.
223@cindex SRC 223@cindex SRC
224@cindex src 224@cindex src
225@item 225@item
226SRC (src) is RCS, reloaded - a specialized version-control system 226SRC (src) is RCS, reloaded---a specialized version-control system
227designed for single-file projects worked on by only one person. It 227designed for single-file projects worked on by only one person. It
228allows multiple files with independent version-control histories to 228allows multiple files with independent version-control histories to
229exist in one directory, and is thus particularly well suited for 229exist in one directory, and is thus particularly well suited for
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index ecc3e03967c..cb31ca5a3de 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -1148,6 +1148,21 @@ compares the truenames of the two directories. If @var{dir} does not
1148name an existing directory, the return value is @code{nil}. 1148name an existing directory, the return value is @code{nil}.
1149@end defun 1149@end defun
1150 1150
1151@defun vc-responsible-backend file
1152This function determines the responsible VC backend of the given
1153@var{file}. For example, if @file{emacs.c} is a file tracked by Git,
1154@w{@code{(vc-responsible-backend "emacs.c")}} returns @samp{Git}.
1155Note that if @var{file} is a symbolic link,
1156@code{vc-responsible-backend} will not resolve it---the backend of the
1157symbolic link file itself is reported. To get the backend VC of the
1158file to which @var{file} refers, wrap @var{file} with a symbolic link
1159resolving function such as @code{file-chase-links}:
1160
1161@smallexample
1162(vc-responsible-backend (file-chase-links "emacs.c"))
1163@end smallexample
1164@end defun
1165
1151@node File Attributes 1166@node File Attributes
1152@subsection File Attributes 1167@subsection File Attributes
1153@cindex file attributes 1168@cindex file attributes
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 368d882a4b8..c7b6106ef5b 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -2934,7 +2934,9 @@ This function removes @var{keywords} from @code{font-lock-keywords}
2934for the current buffer or for major mode @var{mode}. As in 2934for the current buffer or for major mode @var{mode}. As in
2935@code{font-lock-add-keywords}, @var{mode} should be a major mode 2935@code{font-lock-add-keywords}, @var{mode} should be a major mode
2936command name or @code{nil}. All the caveats and requirements for 2936command name or @code{nil}. All the caveats and requirements for
2937@code{font-lock-add-keywords} apply here too. 2937@code{font-lock-add-keywords} apply here too. The argument
2938@var{keywords} must exactly match the one used by the corresponding
2939@code{font-lock-add-keywords}.
2938@end defun 2940@end defun
2939 2941
2940 For example, the following code adds two fontification patterns for C 2942 For example, the following code adds two fontification patterns for C
diff --git a/doc/misc/ChangeLog.1 b/doc/misc/ChangeLog.1
index eb16d4ac565..93aacb521a9 100644
--- a/doc/misc/ChangeLog.1
+++ b/doc/misc/ChangeLog.1
@@ -5331,7 +5331,7 @@
5331 5331
53322010-07-09 Michael Albinus <michael.albinus@gmx.de> 53322010-07-09 Michael Albinus <michael.albinus@gmx.de>
5333 5333
5334 * dbus.texi (Top): Introduce Index. Emphasize "nil" whereever 5334 * dbus.texi (Top): Introduce Index. Emphasize "nil" wherever
5335 forgotten. 5335 forgotten.
5336 (Type Conversion): Precise conversion of natural numbers. 5336 (Type Conversion): Precise conversion of natural numbers.
5337 (Errors and Events): Add "debugging" to concept index. Add variable 5337 (Errors and Events): Add "debugging" to concept index. Add variable
diff --git a/doc/misc/info.texi b/doc/misc/info.texi
index 0a8100fec46..1b964e6b2c4 100644
--- a/doc/misc/info.texi
+++ b/doc/misc/info.texi
@@ -70,7 +70,8 @@ To read about advanced Info commands, type @kbd{n} twice. This
70brings you to @cite{Advanced Info Commands}, skipping over the ``Getting 70brings you to @cite{Advanced Info Commands}, skipping over the ``Getting
71Started'' chapter. 71Started'' chapter.
72 72
73Type @kbd{H} to see a summary of all available commands. 73If you are using Emacs, type @kbd{?} to see a summary of all available
74commands. In the stand-alone Info reader, type @kbd{H} instead.
74@end ifinfo 75@end ifinfo
75@end ifnottex 76@end ifnottex
76 77
@@ -393,16 +394,18 @@ the @key{BACKSPACE} key (or @key{DEL}) many times. You can also type
393@end format 394@end format
394 395
395@kindex ? @r{(Info mode)} 396@kindex ? @r{(Info mode)}
397@kindex H @r{(stand-alone Info reader)}
396@findex Info-summary 398@findex Info-summary
397 You have just learned a considerable number of commands. If you 399 You have just learned a considerable number of commands. If you
398want to use one but have trouble remembering which, you should type 400want to use one but have trouble remembering which, you should type
399@kbd{?}, which displays a brief list of commands. When you are 401@kbd{?} (@kbd{H} in the stand-alone Info reader), which displays a
400finished looking at the list, make it go away by typing @key{SPC} 402brief list of commands. When you are finished looking at the list,
401repeatedly. 403make it go away by typing @key{SPC} repeatedly.
402 404
403@format 405@format
404>> Type a @key{?} now. Press @key{SPC} to see consecutive screenfuls of 406>> Type a @key{?} (or @key{H} in the stand-alone Info reader) now.
405 the list until finished. Then type @key{SPC} several times. If 407 Press @key{SPC} to see consecutive screenfuls of the list
408 until finished. Then type @key{SPC} several times. If
406 you are using Emacs, the help will then go away automatically. 409 you are using Emacs, the help will then go away automatically.
407 If you are using the stand-alone Info reader, type @kbd{x} to 410 If you are using the stand-alone Info reader, type @kbd{x} to
408 return here. 411 return here.
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS
index 13827c67786..69b846884fe 100644
--- a/etc/ERC-NEWS
+++ b/etc/ERC-NEWS
@@ -1077,7 +1077,7 @@ major changes for implementers, and module writers:
1077 corresponding hook variables. 1077 corresponding hook variables.
1078 1078
1079 The mapping of server commands to hook variables is no longer 1079 The mapping of server commands to hook variables is no longer
1080 done via `erc-event-to-hook', but through an #'equal hashtable, 1080 done via `erc-event-to-hook', but through an #'equal hash table,
1081 `erc-server-responses'. In order to find a hook you do: 1081 `erc-server-responses'. In order to find a hook you do:
1082 1082
1083 (erc-get-hook command) 1083 (erc-get-hook command)
diff --git a/etc/NEWS.23 b/etc/NEWS.23
index d92bf237979..f74141db49a 100644
--- a/etc/NEWS.23
+++ b/etc/NEWS.23
@@ -551,7 +551,7 @@ System (CLOS). It is used by the other CEDET packages.
551 551
552** js.el is a new major mode for JavaScript files. 552** js.el is a new major mode for JavaScript files.
553 553
554** imap-hash.el is a new library to address IMAP mailboxes as hashtables. 554** imap-hash.el is a new library to address IMAP mailboxes as hash tables.
555 555
556 556
557* Incompatible Lisp Changes in Emacs 23.2 557* Incompatible Lisp Changes in Emacs 23.2
diff --git a/etc/TODO b/etc/TODO
index fe0e2ac2e06..48c1654aa1f 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -38,7 +38,7 @@ stay within exec_byte_code.
38** Add new 'switch' byte-code 38** Add new 'switch' byte-code
39This byte-code would take one argument from the stack (the object to test) 39This byte-code would take one argument from the stack (the object to test)
40and one argument from the constant-pool (a switch table, implemented as an 40and one argument from the constant-pool (a switch table, implemented as an
41eq-hashtable) and would jump to the "label" contained in the hashtable. 41'eq' hash table) and would jump to the "label" contained in the hash table.
42 42
43Then add a 'case' special-form that can be compiled to this byte-code. 43Then add a 'case' special-form that can be compiled to this byte-code.
44This would behave just like cl-case, but instead of expanding to cond+eq it 44This would behave just like cl-case, but instead of expanding to cond+eq it
diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el
index 38d23883951..8564719c810 100644
--- a/lisp/cedet/ede/locate.el
+++ b/lisp/cedet/ede/locate.el
@@ -124,12 +124,12 @@ based on `ede-locate-setup-options'."
124 t) 124 t)
125 125
126(cl-defmethod ede-locate-flush-hash ((loc ede-locate-base)) 126(cl-defmethod ede-locate-flush-hash ((loc ede-locate-base))
127 "For LOC, flush hashtable and start from scratch." 127 "For LOC, flush hash table and start from scratch."
128 (oset loc hash (make-hash-table :test 'equal))) 128 (oset loc hash (make-hash-table :test 'equal)))
129 129
130(cl-defmethod ede-locate-file-in-hash ((loc ede-locate-base) 130(cl-defmethod ede-locate-file-in-hash ((loc ede-locate-base)
131 filestring) 131 filestring)
132 "For LOC, is the file FILESTRING in our hashtable?" 132 "For LOC, is the file FILESTRING in our hash table?"
133 (gethash filestring (oref loc hash))) 133 (gethash filestring (oref loc hash)))
134 134
135(cl-defmethod ede-locate-add-file-to-hash ((loc ede-locate-base) 135(cl-defmethod ede-locate-add-file-to-hash ((loc ede-locate-base)
diff --git a/lisp/cedet/semantic/db-typecache.el b/lisp/cedet/semantic/db-typecache.el
index 366af60034c..76382a30dd1 100644
--- a/lisp/cedet/semantic/db-typecache.el
+++ b/lisp/cedet/semantic/db-typecache.el
@@ -56,7 +56,7 @@
56 (stream :initform nil 56 (stream :initform nil
57 :documentation 57 :documentation
58 "The searchable tag stream for this cache. 58 "The searchable tag stream for this cache.
59NOTE: Can I get rid of this? Use a hashtable instead?") 59NOTE: Can I get rid of this? Use a hash table instead?")
60 (dependants :initform nil 60 (dependants :initform nil
61 :documentation 61 :documentation
62 "Any other object that is dependent on typecache results. 62 "Any other object that is dependent on typecache results.
diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index 52577adefac..624dccef075 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -460,7 +460,7 @@ See `defclass' for more information."
460 (cl--slot-descriptor-initform (aref slots i))))) 460 (cl--slot-descriptor-initform (aref slots i)))))
461 (setf (eieio--class-class-allocation-values newc) v)) 461 (setf (eieio--class-class-allocation-values newc) v))
462 462
463 ;; Attach slot symbols into a hashtable, and store the index of 463 ;; Attach slot symbols into a hash table, and store the index of
464 ;; this slot as the value this table. 464 ;; this slot as the value this table.
465 (let* ((slots (eieio--class-slots newc)) 465 (let* ((slots (eieio--class-slots newc))
466 ;; (cslots (eieio--class-class-slots newc)) 466 ;; (cslots (eieio--class-class-slots newc))
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el
index 6bda15bf98d..f408ff73106 100644
--- a/lisp/emulation/edt.el
+++ b/lisp/emulation/edt.el
@@ -497,7 +497,7 @@ Argument NUM is the number of EOL marks to move."
497;;; of line, etc.) it takes a bit of special handling. 497;;; of line, etc.) it takes a bit of special handling.
498;;; 498;;;
499;;; The variable edt-word-entities contains a list of characters which 499;;; The variable edt-word-entities contains a list of characters which
500;;; are to be viewed as distinct words where ever they appear in the 500;;; are to be viewed as distinct words wherever they appear in the
501;;; buffer. This emulates the EDT line mode command SET ENTITY WORD. 501;;; buffer. This emulates the EDT line mode command SET ENTITY WORD.
502 502
503 503
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 54c17bf73d9..288e8efe73e 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -108,7 +108,7 @@
108;;;; Variables and options 108;;;; Variables and options
109 109
110(defvar erc-server-responses (make-hash-table :test #'equal) 110(defvar erc-server-responses (make-hash-table :test #'equal)
111 "Hashtable mapping server responses to their handler hooks.") 111 "Hash table mapping server responses to their handler hooks.")
112 112
113(cl-defstruct (erc-response (:conc-name erc-response.)) 113(cl-defstruct (erc-response (:conc-name erc-response.))
114 (unparsed "" :type string) 114 (unparsed "" :type string)
@@ -1061,7 +1061,7 @@ See also `erc-server-responses'."
1061(defun erc-call-hooks (process message) 1061(defun erc-call-hooks (process message)
1062 "Call hooks associated with MESSAGE in PROCESS. 1062 "Call hooks associated with MESSAGE in PROCESS.
1063 1063
1064Finds hooks by looking in the `erc-server-responses' hashtable." 1064Finds hooks by looking in the `erc-server-responses' hash table."
1065 (let ((hook (or (erc-get-hook (erc-response.command message)) 1065 (let ((hook (or (erc-get-hook (erc-response.command message))
1066 'erc-default-server-functions))) 1066 'erc-default-server-functions)))
1067 (run-hook-with-args-until-success hook process message) 1067 (run-hook-with-args-until-success hook process message)
@@ -1218,7 +1218,7 @@ add things to `%s' instead."
1218 (put ',fn-name 'definition-name ',name) 1218 (put ',fn-name 'definition-name ',name)
1219 (put ',hook-name 'definition-name ',name) 1219 (put ',hook-name 'definition-name ',name)
1220 1220
1221 ;; Hashtable map of responses to hook variables 1221 ;; Hash table map of responses to hook variables
1222 ,@(cl-loop for response in (cons name aliases) 1222 ,@(cl-loop for response in (cons name aliases)
1223 for var in (cons hook-name var-alternates) 1223 for var in (cons hook-name var-alternates)
1224 collect `(puthash ,(format "%s" response) ',var 1224 collect `(puthash ,(format "%s" response) ',var
diff --git a/lisp/international/ucs-normalize.el b/lisp/international/ucs-normalize.el
index ac2a0d9e778..cf2e81e20f2 100644
--- a/lisp/international/ucs-normalize.el
+++ b/lisp/international/ucs-normalize.el
@@ -227,7 +227,7 @@
227 table)) 227 table))
228 228
229(defvar ucs-normalize-decomposition-pair-to-primary-composite nil 229(defvar ucs-normalize-decomposition-pair-to-primary-composite nil
230 "Hashtable of decomposed pair to primary composite. 230 "Hash table of decomposed pair to primary composite.
231Note that Hangul are excluded.") 231Note that Hangul are excluded.")
232 (setq ucs-normalize-decomposition-pair-to-primary-composite 232 (setq ucs-normalize-decomposition-pair-to-primary-composite
233 (ucs-normalize-make-hash-table-from-alist 233 (ucs-normalize-make-hash-table-from-alist
diff --git a/lisp/language/ind-util.el b/lisp/language/ind-util.el
index deea48933c8..f7424ecd84f 100644
--- a/lisp/language/ind-util.el
+++ b/lisp/language/ind-util.el
@@ -39,7 +39,7 @@
39(eval-and-compile 39(eval-and-compile
40 40
41(defun indian-regexp-of-hashtbl-keys (hashtbl) 41(defun indian-regexp-of-hashtbl-keys (hashtbl)
42 "Returns the regular expression of hashtable keys." 42 "Return the regular expression of hash table keys."
43 (let (keys) 43 (let (keys)
44 (maphash (lambda (key val) (push key keys)) hashtbl) 44 (maphash (lambda (key val) (push key keys)) hashtbl)
45 (regexp-opt keys))) 45 (regexp-opt keys)))
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el
index 6e607444ad8..d5a2d779b21 100644
--- a/lisp/mh-e/mh-search.el
+++ b/lisp/mh-e/mh-search.el
@@ -1859,7 +1859,7 @@ PROC is used to convert the value to actual data."
1859(defun mh-index-update-maps (folder &optional origin-map) 1859(defun mh-index-update-maps (folder &optional origin-map)
1860 "Annotate all as yet unannotated messages in FOLDER with their MD5 hash. 1860 "Annotate all as yet unannotated messages in FOLDER with their MD5 hash.
1861As a side effect msg -> checksum map is updated. Optional 1861As a side effect msg -> checksum map is updated. Optional
1862argument ORIGIN-MAP is a hashtable which maps each message in the 1862argument ORIGIN-MAP is a hash table which maps each message in the
1863index folder to the original folder and message from whence it 1863index folder to the original folder and message from whence it
1864was copied. If present the checksum -> (origin-folder, 1864was copied. If present the checksum -> (origin-folder,
1865origin-index) map is updated too." 1865origin-index) map is updated too."
@@ -1913,7 +1913,7 @@ origin-index) map is updated too."
1913(defun mh-index-update-single-msg (msg checksum origin-map) 1913(defun mh-index-update-single-msg (msg checksum origin-map)
1914 "Update various maps for one message. 1914 "Update various maps for one message.
1915MSG is a index folder message, CHECKSUM its MD5 hash and 1915MSG is a index folder message, CHECKSUM its MD5 hash and
1916ORIGIN-MAP, if non-nil, a hashtable containing which maps each 1916ORIGIN-MAP, if non-nil, a hash table containing which maps each
1917message in the index folder to the folder and message that it was 1917message in the index folder to the folder and message that it was
1918copied from. The function updates the hash tables 1918copied from. The function updates the hash tables
1919`mh-index-msg-checksum-map' and `mh-index-checksum-origin-map'. 1919`mh-index-msg-checksum-map' and `mh-index-checksum-origin-map'.
diff --git a/lisp/mh-e/mh-thread.el b/lisp/mh-e/mh-thread.el
index e6acdba8b30..2a37cfc9e42 100644
--- a/lisp/mh-e/mh-thread.el
+++ b/lisp/mh-e/mh-thread.el
@@ -89,11 +89,11 @@
89 (real-child-p t)) 89 (real-child-p t))
90 90
91(defvar mh-thread-id-hash nil 91(defvar mh-thread-id-hash nil
92 "Hashtable used to canonicalize message identifiers.") 92 "Hash table used to canonicalize message identifiers.")
93(make-variable-buffer-local 'mh-thread-id-hash) 93(make-variable-buffer-local 'mh-thread-id-hash)
94 94
95(defvar mh-thread-subject-hash nil 95(defvar mh-thread-subject-hash nil
96 "Hashtable used to canonicalize subject strings.") 96 "Hash table used to canonicalize subject strings.")
97(make-variable-buffer-local 'mh-thread-subject-hash) 97(make-variable-buffer-local 'mh-thread-subject-hash)
98 98
99(defvar mh-thread-id-table nil 99(defvar mh-thread-id-table nil
@@ -109,11 +109,11 @@
109(make-variable-buffer-local 'mh-thread-id-index-map) 109(make-variable-buffer-local 'mh-thread-id-index-map)
110 110
111(defvar mh-thread-subject-container-hash nil 111(defvar mh-thread-subject-container-hash nil
112 "Hashtable used to group messages by subject.") 112 "Hash table used to group messages by subject.")
113(make-variable-buffer-local 'mh-thread-subject-container-hash) 113(make-variable-buffer-local 'mh-thread-subject-container-hash)
114 114
115(defvar mh-thread-duplicates nil 115(defvar mh-thread-duplicates nil
116 "Hashtable used to associate messages with the same message identifier.") 116 "Hash table used to associate messages with the same message identifier.")
117(make-variable-buffer-local 'mh-thread-duplicates) 117(make-variable-buffer-local 'mh-thread-duplicates)
118 118
119(defvar mh-thread-history () 119(defvar mh-thread-history ()
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 1bb48314bc8..15f6df742cc 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -365,10 +365,7 @@ If non-nil, then open the URL in a new tab rather than a new window if
365(defcustom browse-url-firefox-new-window-is-tab nil 365(defcustom browse-url-firefox-new-window-is-tab nil
366 "Whether to open up new windows in a tab or a new window. 366 "Whether to open up new windows in a tab or a new window.
367If non-nil, then open the URL in a new tab rather than a new window if 367If non-nil, then open the URL in a new tab rather than a new window if
368`browse-url-firefox' is asked to open it in a new window. 368`browse-url-firefox' is asked to open it in a new window."
369
370This option is currently ignored on MS-Windows, since the necessary
371functionality is not available there."
372 :type 'boolean 369 :type 'boolean
373 :group 'browse-url) 370 :group 'browse-url)
374 371
diff --git a/lisp/simple.el b/lisp/simple.el
index d915ee2eb63..fe613255ab0 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -6783,9 +6783,13 @@ are interchanged."
6783 (transpose-subr 'forward-word arg)) 6783 (transpose-subr 'forward-word arg))
6784 6784
6785(defun transpose-sexps (arg) 6785(defun transpose-sexps (arg)
6786 "Like \\[transpose-words] but applies to sexps. 6786 "Like \\[transpose-chars] (`transpose-chars'), but applies to sexps.
6787Does not work on a sexp that point is in the middle of 6787Unlike `transpose-words', point must be between the two sexps and not
6788if it is a list or string." 6788in the middle of a sexp to be transposed.
6789With non-zero prefix arg ARG, effect is to take the sexp before point
6790and drag it forward past ARG other sexps (backward if ARG is negative).
6791If ARG is zero, the sexps ending at or after point and at or after mark
6792are interchanged."
6789 (interactive "*p") 6793 (interactive "*p")
6790 (transpose-subr 6794 (transpose-subr
6791 (lambda (arg) 6795 (lambda (arg)
diff --git a/lisp/subr.el b/lisp/subr.el
index fd46a818df9..ebcb1fd4b82 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -910,7 +910,7 @@ KEY is a string or vector representing a sequence of keystrokes."
910 910
911(defun substitute-key-definition (olddef newdef keymap &optional oldmap prefix) 911(defun substitute-key-definition (olddef newdef keymap &optional oldmap prefix)
912 "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF. 912 "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.
913In other words, OLDDEF is replaced with NEWDEF where ever it appears. 913In other words, OLDDEF is replaced with NEWDEF wherever it appears.
914Alternatively, if optional fourth argument OLDMAP is specified, we redefine 914Alternatively, if optional fourth argument OLDMAP is specified, we redefine
915in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP. 915in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP.
916 916
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index ac020d09539..2ddf4e19e1f 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -959,7 +959,11 @@ use."
959If FILE is already registered, return the 959If FILE is already registered, return the
960backend of FILE. If FILE is not registered, then the 960backend of FILE. If FILE is not registered, then the
961first backend in `vc-handled-backends' that declares itself 961first backend in `vc-handled-backends' that declares itself
962responsible for FILE is returned." 962responsible for FILE is returned.
963
964Note that if FILE is a symbolic link, it will not be resolved --
965the responsible backend system for the symbolic link itself will
966be reported."
963 (or (and (not (file-directory-p file)) (vc-backend file)) 967 (or (and (not (file-directory-p file)) (vc-backend file))
964 (catch 'found 968 (catch 'found
965 ;; First try: find a responsible backend. If this is for registration, 969 ;; First try: find a responsible backend. If this is for registration,
diff --git a/nt/README.W32 b/nt/README.W32
index 5bd87962650..d866d9fc7a6 100644
--- a/nt/README.W32
+++ b/nt/README.W32
@@ -3,24 +3,30 @@ See the end of the file for license conditions.
3 3
4 Emacs for Windows 4 Emacs for Windows
5 5
6 This README.W32 file describes how to set up and run a precompiled 6 This README file describes how to set up and run a precompiled
7 distribution of GNU Emacs for Windows. You can find the precompiled 7 distribution of GNU Emacs for Windows. You can find the precompiled
8 distribution on the ftp.gnu.org server and its mirrors: 8 distribution on the ftp.gnu.org server and its mirrors:
9 9
10 ftp://ftp.gnu.org/gnu/emacs/windows/ 10 ftp://ftp.gnu.org/gnu/emacs/windows/
11 11
12 This server contains other distributions, including the full Emacs 12 This server contains other distributions, including the full Emacs
13 source distribution, as well as older releases of Emacs for Windows. 13 source distribution, as well as older releases of Emacs for Windows.
14 14
15 Information on how to compile Emacs from sources on Windows is in 15 Information on how to compile Emacs from sources on Windows is in
16 the files README and INSTALL in the nt/ sub-directory of the 16 the files README and INSTALL in the nt/ sub-directory of the
17 top-level Emacs directory in the source distribution. If you 17 top-level Emacs directory in the source distribution, as is this
18 received this file as part of the Emacs source distribution, and are 18 file as README.precompiled. If you received this file as part of
19 looking for information on how to build Emacs on MS-Windows, please 19 the Emacs source distribution, and are looking for information on
20 read those 2 files and not this one. 20 how to build Emacs on MS-Windows, please read those 2 files and not
21 this one.
21 22
22* Preliminaries 23* Preliminaries
23 24
25 There are two binary distributions named
26 emacs-n-x86_64-w64-mingw32.zip and
27 emacs-n-i686-w64-mingw32.zip. These are for 64-bit and 32-bit
28 machines respectively.
29
24 The binary distribution has these top-level directories: 30 The binary distribution has these top-level directories:
25 + bin 31 + bin
26 + libexec 32 + libexec
@@ -30,33 +36,24 @@ See the end of the file for license conditions.
30* Setting up Emacs 36* Setting up Emacs
31 37
32 To install Emacs, simply unpack the binary package into a directory 38 To install Emacs, simply unpack the binary package into a directory
33 of your choice. To complete the installation process, you can 39 of your choice. If you use File Explorer and "Extract" by default
34 optionally run the program addpm.exe in the bin subdirectory. This 40 this will be in a top-level directory with the same name as the zip
35 will put an icon for Emacs in the Start Menu under 41 file.
36 "Start -> Programs -> Gnu Emacs". 42
37 43 We also provide a set of optional dependencies, in
38 Some users have reported that the Start Menu item is not created for 44 emacs-25-x86_64-deps.zip or emacs-25-i686-deps.zip respectively,
39 them. If this happens, just create your own shortcut to runemacs.exe, 45 which provide Emacs with an number of additional capabilities. To
40 eg. by dragging it on to the desktop or the Start button. 46 add these, unpack them directly over the emacs directory structure.
41 47
42 Note that running addpm is now an optional step; Emacs is able to 48 Finally, and also optionally, you can run the program addpm.exe in
43 locate all of its files without needing any information to be set in 49 the bin subdirectory which will place an icon for Emacs on the start
44 the environment or the registry, although such settings will still 50 page.
45 be obeyed if present. This is convenient for running Emacs on a 51
46 machine which disallows registry changes, or on which software 52 Emacs is completely portable. You can create your own shortcut to
47 should not be installed. For instance, you can now run Emacs 53 runemacs.exe and place this wherever you find it convenient, or
48 directly from a CD or USB flash drive without copying or installing 54 run it from a USB or network drive without copying or installing
49 anything on the machine itself. 55 anything on the machine itself.
50 56
51* Prerequisites for Windows 9X
52
53 To run Emacs on Windows 9X (Windows 95/98/Me), you will need to have
54 the Microsoft Layer for Unicode (MSLU) installed. It can be
55 downloaded from the Microsoft site, and comes in a form of a single
56 dynamic library called UNICOWS.DLL. If this library is not
57 accessible to Emacs, it will pop up a dialog saying that it cannot
58 find the library, and will refuse to start up.
59
60* Starting Emacs 57* Starting Emacs
61 58
62 To run Emacs, simply select Emacs from the Start Menu, or invoke 59 To run Emacs, simply select Emacs from the Start Menu, or invoke
@@ -93,8 +90,7 @@ See the end of the file for license conditions.
93 + emacsclientw.exe - A version of emacsclient that does not open 90 + emacsclientw.exe - A version of emacsclient that does not open
94 a command-line window. 91 a command-line window.
95 92
96 + addpm.exe - A basic installer that creates Start Menu icons for Emacs. 93 + addpm.exe - The installer that adds Emacs to "Start".
97 Running this is optional.
98 94
99 + ctags.exe, etags.exe - Tools for generating tag files. See the 95 + ctags.exe, etags.exe - Tools for generating tag files. See the
100 `Tags' node of the Emacs manual. 96 `Tags' node of the Emacs manual.
@@ -128,128 +124,26 @@ See the end of the file for license conditions.
128 + update-game-score.exe - A utility for updating the score files of 124 + update-game-score.exe - A utility for updating the score files of
129 Emacs games. 125 Emacs games.
130 126
131* Image support 127* Optional Dependencies
132 128
133 Emacs has built in support for XBM and PPM/PGM/PBM images, and the 129 Emacs has built in support for XBM and PPM/PGM/PBM images, and the
134 libXpm library is bundled, providing XPM support (required for color 130 libXpm library is bundled, providing XPM support (required for color
135 toolbar icons and splash screen). Source for libXpm should be available 131 toolbar icons and splash screen). Source for libXpm should be
136 from the same place from which you got this binary distribution. 132 available from the same place from which you got this binary
137 133 distribution.
138 Emacs can also support some other image formats with appropriate
139 libraries. These libraries are all available on the following sites:
140
141 1. http://sourceforge.net/projects/ezwinports/files/
142 -- up-to-date builds, self-contained archives, only for 32-bit Emacs
143 2. Libraries from the MSYS2 project on ftp.gnu.org:
144 http://ftp.gnu.org/gnu/emacs/windows/emacs-NN-i686-deps.zip (32-bit)
145 http://ftp.gnu.org/gnu/emacs/windows/emacs-NN-x86_64-deps.zip (64-bit)
146 where NN is the Emacs version to which the libraries correspond.
147 3. The MSYS2 project -- for 64-bit Emacs:
148 http://msys2.github.io/
149 https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
150 4. GnuWin32 project -- very old 32-bit builds, not recommended
151
152 The libraries to download are mentioned below. Some libraries
153 depend on others that need to be downloaded separately from the same
154 site; please consult the download instructions on each site for the
155 details. In general, the ezwinports site mentioned above has all
156 the dependencies bundled in the same zip archive, so installing from
157 there is the easiest. For MSYS2 builds, we recommend that you
158 install and use the 'pacman' utility (available from the MSYS2
159 site), see the instructions below -- it will automatically install
160 all the dependencies.
161
162 Emacs will find these libraries if the directory they are installed
163 in is on the PATH or in the same directory where you have emacs.exe.
164 Here are some specific comments about each image type:
165
166 PNG: requires the PNG reference library 1.4 or later, which will
167 be named libpngNN.dll or libpngNN-NN.dll. LibPNG requires zlib,
168 which should come from the same source as you got libpng.
169 Starting with Emacs 23.3, the precompiled Emacs binaries are
170 built with libpng 1.4.x and later, and are incompatible with
171 earlier versions of libpng DLLs. So if you have libpng 1.2.x,
172 the PNG support will not work, and you will have to download
173 newer versions.
174
175 JPEG: requires the Independent JPEG Group's libjpeg 6b or later,
176 which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
177
178 TIFF: requires libTIFF 3.0 or later, which will be called libtiffN.dll
179 or libtiff-N.dll or libtiff.dll.
180
181 GIF: requires libungif or giflib 4.1 or later, which will be
182 called libgif-6.dll, giflib4.dll, libungif4.dll or libungif.dll.
183
184 SVG: requires librsvg 2.x whose DLL will be called
185 librsvg-2-2.dll. SVG also requires several dependency DLLs,
186 such as Pango, Cairo, and Glib, all of them found on the
187 above-mentioned sites. If you download from the ezwinports
188 site, you need only librsvg-2.nn.mm-x-w32-bin.zip, it comes with
189 all the other dependencies bundled.
190
191 If you have image support DLLs under different names, customize the
192 value of `dynamic-library-alist'.
193
194* GnuTLS support
195
196 GnuTLS provides SSL/TLS network support for Emacs (https, imaps and
197 so on.)
198
199 In order to support GnuTLS at runtime, Emacs must be able to find
200 the relevant DLLs during startup; failure to do so is not an error,
201 but GnuTLS won't be available to the running session.
202
203 You can get pre-built binaries (including any dependency DLLs) at
204 http://sourceforge.net/projects/ezwinports/files/ and on
205 http://ftp.gnu.org/gnu/emacs/windows/
206
207* libxml2 support
208
209 libxml2 provides HTML parsing support for Emacs, which is necessary
210 to use the built-in eww browser.
211
212 In order to support libxml2 at runtime, a libxml2-enabled Emacs must
213 be able to find the relevant DLLs during startup; failure to do so
214 is not an error, but libxml2 features won't be available to the
215 running session.
216
217 You can get pre-built binaries (including any required DLL and the
218 header files) at http://sourceforge.net/projects/ezwinports/files/ and
219 http://ftp.gnu.org/gnu/emacs/windows/
220
221* zlib support
222
223 zlib provides support for decompressing text, which is necessary for
224 the zlib-decompress-region primitive.
225 134
226 Prebuilt binaries of zlib DLL (for 32-bit builds of Emacs) are 135 In addition, as described, there is a separate dependency bundle
227 available from the ezwinports site and on ftp.gnu.org; see above for 136 providing support for many images formats, TLS, XML parsing and
228 the URLs. For the 64-bit DLL, see the instructions below for 137 compression.
229 installing from MSYS2 site.
230 138
231 (This library is also a prerequisite for several image libraries, so 139* Installing with an existing MSYS2 installation.
232 you may already have it; look for zlib1.dll or libz-1.dll.)
233 140
234* Installing 64-bit optional libraries from the MSYS2 site 141 You may also use Emacs with an existing MSYS2 installation by simply
235 142 unpacking the Emacs distribution over MSYS2. You can then use the
236 We recommend that you use the 'pacman' utility to download the 143 'pacman' utility to install dependencies. You should not use the
237 libraries you need and all of their dependencies. If you don't have 144 optional dependencies bundle, as this will overwrite MSYS2 files
238 'pacman' installed, proceed as follows: 145 (the dependency bundle derives from MSYS2, but may be a different
239 146 version).
240 . Install the MSYS2 64-bit (x86_64) installer, named
241 msys2-x86_64-YYYYMMDD.exe (where "YYYYMMDD" is the release date,
242 like 20160205) from http://msys2.github.io/.
243
244 . Run the installer, select the installation directory, make sure
245 "Run MSYS2 now" checkbox is checked, and click "Finish". A Bash
246 window will open.
247
248 . Type into the Bash window the following command:
249
250 pacman -Sy pacman
251
252 When asked whether to proceed with installation, type Y.
253 147
254 To install the optional libraries, start the MSYS2 Bash window and 148 To install the optional libraries, start the MSYS2 Bash window and
255 type the following command: 149 type the following command:
@@ -259,72 +153,36 @@ See the end of the file for license conditions.
259 where PACKAGES is the list of packages you want to install. The 153 where PACKAGES is the list of packages you want to install. The
260 full list is as follows: 154 full list is as follows:
261 155
262 mingw-w64-x86_64-xpm-nox mingw-w64-x86_64-libtiff mingw-w64-x86_64-giflib 156 mingw-w64-x86_64-giflib
263 mingw-w64-x86_64-libpng mingw-w64-x86_64-libjpeg-turbo 157 mingw-w64-x86_64-gnutls
264 mingw-w64-x86_64-librsvg mingw-w64-x86_64-libxml2 mingw-w64-x86_64-gnutls 158 mingw-w64-x86_64-libjpeg-turbo
265 mingw-w64-x86_64-zlib 159 mingw-w64-x86_64-libpng
160 mingw-w64-x86_64-librsvg
161 mingw-w64-x86_64-libtiff
162 mingw-w64-x86_64-libxml2
163 mingw-w64-x86_64-xpm-nox
266 164
267 You can type any subset of this list. Once again, when asked 165 You can type any subset of this list. Once again, when asked
268 whether to proceed with installation, answer Y. 166 whether to proceed with installation, answer Y.
269 167
270 Alternatively, you could install the packages manually from this
271 page:
272
273 https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
274
275 However, the packages there are not self-contained, so you will need
276 to download all their dependencies as well.
277
278 After the installation, if you will be installing Emacs in a
279 directory different from where the DLLs were installed, we recommend
280 to add the directory with DLLs to your PATH, so that Emacs will be
281 able to find those DLLs.
282
283* Uninstalling Emacs 168* Uninstalling Emacs
284 169
285 If you should need to uninstall Emacs, simply delete all the files 170 If you should need to uninstall Emacs, simply delete all the files
286 and subdirectories from the directory where it was unpacked (Emacs 171 and subdirectories from the directory where it was unpacked (Emacs
287 does not install or update any files in system directories or 172 does not install or update any files in system directories or
288 anywhere else). If you ran the addpm.exe program to create the 173 anywhere else).
289 registry entries and the Start menu icon, then you can remove the
290 registry entries using regedit. All of the settings are written
291 under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
292 didn't have administrator privileges when you installed, the same
293 key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs
294 key.
295
296 The Start menu entry can be removed by right-clicking on the Taskbar
297 and selecting Properties, then using the Remove option on the Start
298 Menu Programs page. (If you installed under an account with
299 administrator privileges, then you need to click the Advanced button
300 and look for the Gnu Emacs menu item under All Users.)
301 174
302* Troubleshooting 175 If you ran the addpm.exe program to create the Start menu icon, this
303 176 can be removed by right-clicking and "Uninstall".
304 Unpacking the distributions
305
306 If you encounter trouble trying to run Emacs, there are a number of
307 possible causes. Check the following for indications that the
308 distribution was not corrupted by the tools used to unpack it:
309
310 * Be sure to disable CR/LF translation or the executables will
311 be unusable. Older versions of WinZipNT would enable this
312 translation by default. If you are using WinZipNT, disable it.
313 (I don't have WinZipNT myself, and I do not know the specific
314 commands necessary to disable it.)
315
316 * Check that filenames were not truncated to 8.3. For example,
317 there should be a file lisp\abbrevlist.elc; if this has been
318 truncated to abbrevli.elc, your distribution has been corrupted
319 while unpacking and Emacs will not start.
320 177
321 * On Windows 9X, make sure you have the UNICOWS.DLL library either 178 Finally, addpm.exe also creates a few registry entries; these can be
322 in the same directory where you have emacs.exe or in the 179 safely left, but if you really wish to remove them, all of the
323 directory where system-wide DLLs are kept. 180 settings are written under the Software\GNU\Emacs key in
181 HKEY_LOCAL_MACHINE, or if you didn't have administrator privileges
182 when you installed, the same key in HKEY_CURRENT_USER. Just delete
183 the whole Software\GNU\Emacs key.
324 184
325 If you believe you have unpacked the distributions correctly and are 185* Troubleshooting
326 still encountering problems, see the section on Further Information
327 below.
328 186
329 Virus scanners 187 Virus scanners
330 188
@@ -345,31 +203,21 @@ See the end of the file for license conditions.
345 203
346 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Microsoft-Windows 204 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Microsoft-Windows
347 205
348 In addition to the manual, there is a mailing list for discussing 206 In addition to the manual, there is a mailing list for help with
349 issues related to the Windows port of Emacs. For information about 207 Emacs here:
350 the list, see this Web page:
351 208
352 http://lists.gnu.org/mailman/listinfo/help-emacs-windows 209 https://lists.gnu.org/mailman/listinfo/help-gnu-emacs
353 210
354 To ask questions on the mailing list, send email to 211 To ask questions on the mailing list, send email to
355 help-emacs-windows@gnu.org. (You don't need to subscribe for that.) 212 help-gnu-emacs@gnu.org.
356 To subscribe to the list or unsubscribe from it, fill the form you
357 find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
358 explained there.
359
360 Another valuable source of information and help which should not be
361 overlooked is the various Usenet news groups dedicated to Emacs.
362 These are particularly good for help with general issues which aren't
363 specific to the Windows port of Emacs. The main news groups to use
364 for seeking help are:
365 213
366 gnu.emacs.help 214 And a more specific one for issues related to the Windows port of
367 comp.emacs 215 Emacs. For information about the list, see this Web page:
368 216
369 There are also fairly regular postings and announcements of new or 217 http://lists.gnu.org/mailman/listinfo/help-emacs-windows
370 updated Emacs packages on this group:
371 218
372 gnu.emacs.sources 219 To ask questions on the mailing list, send email to
220 help-emacs-windows@gnu.org.
373 221
374* Reporting bugs 222* Reporting bugs
375 223
diff --git a/src/emacs.c b/src/emacs.c
index 13378c4c3b0..b74df21196a 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1193,7 +1193,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
1193 1193
1194 /* Called before syms_of_fileio, because it sets up Qerror_condition. */ 1194 /* Called before syms_of_fileio, because it sets up Qerror_condition. */
1195 syms_of_data (); 1195 syms_of_data ();
1196 syms_of_fns (); /* Before syms_of_charset which uses hashtables. */ 1196 syms_of_fns (); /* Before syms_of_charset which uses hash tables. */
1197 syms_of_fileio (); 1197 syms_of_fileio ();
1198 /* Before syms_of_coding to initialize Vgc_cons_threshold. */ 1198 /* Before syms_of_coding to initialize Vgc_cons_threshold. */
1199 syms_of_alloc (); 1199 syms_of_alloc ();
diff --git a/src/lread.c b/src/lread.c
index 58d518ce40b..eab9b8bea08 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2574,7 +2574,7 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
2574 c = READCHAR; 2574 c = READCHAR;
2575 if (c == '(') 2575 if (c == '(')
2576 { 2576 {
2577 /* Accept extended format for hashtables (extensible to 2577 /* Accept extended format for hash tables (extensible to
2578 other types), e.g. 2578 other types), e.g.
2579 #s(hash-table size 2 test equal data (k1 v1 k2 v2)) */ 2579 #s(hash-table size 2 test equal data (k1 v1 k2 v2)) */
2580 Lisp_Object tmp = read_list (0, readcharfun); 2580 Lisp_Object tmp = read_list (0, readcharfun);
@@ -2620,10 +2620,10 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
2620 if (!NILP (params[param_count + 1])) 2620 if (!NILP (params[param_count + 1]))
2621 param_count += 2; 2621 param_count += 2;
2622 2622
2623 /* This is the hashtable data. */ 2623 /* This is the hash table data. */
2624 data = Fplist_get (tmp, Qdata); 2624 data = Fplist_get (tmp, Qdata);
2625 2625
2626 /* Now use params to make a new hashtable and fill it. */ 2626 /* Now use params to make a new hash table and fill it. */
2627 ht = Fmake_hash_table (param_count, params); 2627 ht = Fmake_hash_table (param_count, params);
2628 2628
2629 while (CONSP (data)) 2629 while (CONSP (data))
@@ -2631,7 +2631,7 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
2631 key = XCAR (data); 2631 key = XCAR (data);
2632 data = XCDR (data); 2632 data = XCDR (data);
2633 if (!CONSP (data)) 2633 if (!CONSP (data))
2634 error ("Odd number of elements in hashtable data"); 2634 error ("Odd number of elements in hash table data");
2635 val = XCAR (data); 2635 val = XCAR (data);
2636 data = XCDR (data); 2636 data = XCDR (data);
2637 Fputhash (key, val, ht); 2637 Fputhash (key, val, ht);
diff --git a/src/search.c b/src/search.c
index 25d81f2baf6..e597c33a0fb 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2022,20 +2022,27 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat,
2022 cursor += dirlen - i - direction; /* fix cursor */ 2022 cursor += dirlen - i - direction; /* fix cursor */
2023 if (i + direction == 0) 2023 if (i + direction == 0)
2024 { 2024 {
2025 ptrdiff_t position, start, end, cursor_off; 2025 ptrdiff_t position, start, end;
2026#ifdef REL_ALLOC
2027 ptrdiff_t cursor_off;
2028#endif
2026 2029
2027 cursor -= direction; 2030 cursor -= direction;
2028 2031
2029 position = pos_byte + cursor - p2 + ((direction > 0) 2032 position = pos_byte + cursor - p2 + ((direction > 0)
2030 ? 1 - len_byte : 0); 2033 ? 1 - len_byte : 0);
2034#ifdef REL_ALLOC
2031 /* set_search_regs might call malloc, which could 2035 /* set_search_regs might call malloc, which could
2032 cause ralloc.c relocate buffer text. We need to 2036 cause ralloc.c relocate buffer text. We need to
2033 update pointers into buffer text due to that. */ 2037 update pointers into buffer text due to that. */
2034 cursor_off = cursor - p2; 2038 cursor_off = cursor - p2;
2039#endif
2035 set_search_regs (position, len_byte); 2040 set_search_regs (position, len_byte);
2041#ifdef REL_ALLOC
2036 p_limit = BYTE_POS_ADDR (limit); 2042 p_limit = BYTE_POS_ADDR (limit);
2037 p2 = BYTE_POS_ADDR (pos_byte); 2043 p2 = BYTE_POS_ADDR (pos_byte);
2038 cursor = p2 + cursor_off; 2044 cursor = p2 + cursor_off;
2045#endif
2039 2046
2040 if (NILP (Vinhibit_changing_match_data)) 2047 if (NILP (Vinhibit_changing_match_data))
2041 { 2048 {