Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de
authorChong Yidong <cyd@gnu.org>
Thu, 31 May 2012 06:08:06 +0000 (14:08 +0800)
committerChong Yidong <cyd@gnu.org>
Thu, 31 May 2012 06:08:06 +0000 (14:08 +0800)
14 files changed:
1  2 
lib-src/ChangeLog
lib-src/makefile.w32-in
lisp/ChangeLog
lisp/desktop.el
lisp/emacs-lisp/bytecomp.el
nt/ChangeLog
nt/configure.bat
src/ChangeLog
src/charset.c
src/doc.c
src/keymap.c
src/ralloc.c
src/search.c
src/xdisp.c

@@@ -1,60 -1,9 +1,66 @@@
 -2012-05-29  Eli Zaretskii  <eliz@gnu.org>
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
+       * makefile.w32-in ($(BLD)/emacsclientw.exe): Use $(MWINDOWS)
+       instead of a literal -mwindows, which is not supported by MSVC.
+       (Bug#11405)
 +2012-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * make-docfile.c: Improve comment style.
 +      (search_lisp_doc_at_eol): New function.
 +      (scan_lisp_file): Use it.
 +
 +2012-05-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (INSTALL_DATA): Remove; unused.
 +
 +2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove src/m/*.
 +      * makefile.w32-in: Remove dependencies on
 +      $(EMACS_ROOT)/src/m/intel386.h.
 +
 +2012-05-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (install): Remove unneeded chmods.
 +
 +2012-05-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Assume C89 or later.
 +      * etags.c (static, const): Remove macros.
 +      (PTR): Remove; all uses replaced with void *.  Omit needless casts.
 +
 +2012-05-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (insrcdir, $(DESTDIR)${archlibdir}):
 +      Scrap superfluous subshells.
 +
 +2012-05-18  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (install): Ensure $bindir exists.
 +
 +2012-05-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (ns_appbindir): New, set by configure.
 +
 +2012-05-12  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (MKDIR_P): New, set by configure.
 +      ($(DESTDIR)${archlibdir}): Use $MKDIR_P.
 +
 +2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      etags: pacify gcc -Wstack-protector on Ubuntu 12.04 x86
 +      * etags.c: Include <stdarg.h>.
 +      (error): Declare as printf-style, as that's what it really is.
 +      All uses changed.
 +      (add_regex): Use single char rather than array-of-one char.
 +
 +2012-05-05  Jim Meyering  <meyering@redhat.com>
 +
 +      * lib-src/pop.c (pop_stat, pop_list, pop_multi_first, pop_last):
 +      NUL-terminate the error buffer (Bug#11372).
 +
  2012-05-02  Juanma Barranquero  <lekktu@gmail.com>
  
        * emacsclient.c (min): Undef before redefining it.
Simple merge
diff --cc lisp/ChangeLog
 -2012-05-28  Martin Rudalics  <rudalics@gmx.at>
+ 2012-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
+       arbitrary file name lengths (Bug#11585).
 -2012-05-18  Eli Zaretskii  <eliz@gnu.org>
++2012-05-31  Martin Rudalics  <rudalics@gmx.at>
+       * desktop.el (desktop-read): Clear previous and next buffers for
+       all windows and bury *Messages* buffer (bug#11556).
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
+       * mail/sendmail.el (mail-yank-region): Recognize
+       rmail-yank-current-message in addition to insert-buffer.  Fixes
+       mail-mode's "C-c C-r" that otherwise does nothing when invoked in
++
 +2012-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add `declare' for `defun'.  Align `defmacro's with it.
 +      * emacs-lisp/easy-mmode.el (define-minor-mode)
 +      (define-globalized-minor-mode): Don't autoload the var definitions.
 +      * emacs-lisp/byte-run.el: Use lexical-binding.
 +      (defun-declarations-alist, macro-declarations-alist): New vars.
 +      (defmacro, defun): Use them.
 +      (make-obsolete, define-obsolete-function-alias)
 +      (make-obsolete-variable, define-obsolete-variable-alias):
 +      Use `declare'.
 +      (macro-declaration-function): Mark obsolete.
 +      * emacs-lisp/autoload.el: Use lexical-binding.
 +      (make-autoload): Add `expansion' arg.  Rely more on macro expansion.
 +
 +2012-05-30  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      * textmodes/ispell.el (ispell-with-no-warnings):
 +      Define as a macro.
 +      (ispell-kill-ispell, ispell-change-dictionary):
 +      Use `called-interactively-p' for Emacs instead of obsolete
 +      `interactive-p'.
 +
 +2012-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/byte-run.el (defmacro, defun): Move from C.
 +      (macro-declaration-function): Move var from C code.
 +      (macro-declaration-function): Define function with defalias.
 +      * emacs-lisp/macroexp.el (macroexpand-all-1):
 +      * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
 +      * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle
 +      defun/defmacro any more.
 +      * emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
 +      Provide fallback for unknown arglist.
 +      (byte-compile-arglist-warn): Change calling convention.
 +      (byte-compile-output-file-form): Move print-vars binding.
 +      (byte-compile-output-docform): Simplify accordingly.
 +      (byte-compile-file-form-defun, byte-compile-file-form-defmacro)
 +      (byte-compile-defmacro-declaration): Remove.
 +      (byte-compile-file-form-defmumble): Generalize to defalias.
 +      (byte-compile-output-as-comment): Return byte-positions.
 +      Simplify callers accordingly.
 +      (byte-compile-lambda): Use `assert'.
 +      (byte-compile-defun, byte-compile-defmacro): Remove.
 +      (byte-compile-file-form-defalias):
 +      Use byte-compile-file-form-defmumble.
 +      (byte-compile-defalias-warn): Remove.
 +
 +2012-05-29  Stefan Merten  <smerten@oekonux.de>
 +
 +      * textmodes/rst.el: Silence `checkdoc-ispell' errors where
 +      possible.  Fix authors.  Improve comments.  Improve loading of `cl'.
 +
 +      (rst-mode-abbrev-table): Merge definition.
 +      (rst-mode): Make sure `font-lock-defaults' is buffer local.
 +      (rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor.
 +
 +2012-05-29  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * calendar/icalendar.el
 +      (icalendar-export-region): Export UID properly.
 +
 +2012-05-29 Leo <sdl.web@gmail.com>
 +      * calendar/icalendar.el (icalendar-import-format):
 +      Add `icalendar-import-format-uid' (Bug#11525).
 +      (icalendar-import-format-uid): New.
 +      (icalendar--parse-summary-and-rest, icalendar--format-ical-event):
 +      Export UID.
 +
 +2012-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in
 +      different alternative patterns.
 +      (pcase-codegen): Be more careful to preserve identity.
 +      (pcase--u1): Don't forget to mark vars as used.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant.
 +      (byte-compile-close-variables): Bind byte-compile--outbuffer here...
 +      (byte-compile-from-buffer): ...rather than here.
 +
 +      * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess
 +      functions from byte-compile-function-environment.
 +
 +2012-05-29  Troels Nielsen  <bn.troels@gmail.com>
 +
 +      * window.el (window-deletable-p): Avoid deleting the root window
 +      of a frame with an active minibuffer.
 +
 +2012-05-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * simple.el (choose-completion): Use quit-window (Bug#11567).
 +
 +2012-05-29  Chong Yidong  <cyd@gnu.org>
 +
 +      * whitespace.el (whitespace-cleanup): Fix usage of
 +      whitespace-empty-at-bob-regexp (Bug#11492).
 +
 +2012-05-29  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
 +
 +      * vc/vc.el (vc-revert, vc-rollback): Dont kill vc-diff buffer on
 +      revert (Bug#11488).
 +
 +2012-05-29  Juri Linkov  <juri@jurta.org>
 +
 +      * isearch.el (isearch-mode-map): Bind `M-s _' to
 +      `isearch-toggle-symbol'.  Bind `M-s c' to
 +      `isearch-toggle-case-fold'.
 +      (search-map): Bind `M-s _' to `isearch-forward-symbol'.
 +      (isearch-forward): Add `M-s _' to the docstring.
 +      (isearch-forward-symbol, isearch-toggle-case-fold)
 +      (isearch-symbol-regexp): New functions.  (Bug#11381)
 +
 +2012-05-29  Juri Linkov  <juri@jurta.org>
 +
 +      * isearch.el (isearch-word): Add docstring.  (Bug#11381)
 +      (isearch-occur, isearch-search-and-update): If `isearch-word' is
 +      a function, call it to get the regexp.
 +      (isearch-message-prefix): If `isearch-word' holds a symbol, use its
 +      property `isearch-message-prefix' instead of the string "word ".
 +      (isearch-search-fun-default): For the case of `isearch-word',
 +      return a lambda that calls re-search-forward/re-search-backward
 +      with a regexp returned by `word-search-regexp' or by the function
 +      in `isearch-word'.
 +
 +2012-05-29  Juri Linkov  <juri@jurta.org>
 +
 +      * isearch.el (isearch-search-fun-default): New function.
 +      (isearch-search-fun): Move default part to the new function
 +      `isearch-search-fun-default'.
 +      (isearch-search-fun-function): Set the default value to
 +      `isearch-search-fun-default'.  (Bug#11381)
 +
 +      * comint.el (comint-history-isearch-end):
 +      Use `isearch-search-fun-default'.
 +      (comint-history-isearch-search): Use `isearch-search-fun-default'
 +      and remove spacial case for `isearch-word'.
 +      (comint-history-isearch-wrap): Remove spacial case for
 +      `isearch-word'.
 +
 +      * hexl.el (hexl-isearch-search-function):
 +      Use `isearch-search-fun-default'.
 +
 +      * info.el (Info-isearch-search): Use `isearch-search-fun-default'.
 +      Use `word-search-regexp' for `isearch-word'.
 +
 +      * misearch.el (multi-isearch-search-fun):
 +      Use `isearch-search-fun-default'.
 +
 +      * simple.el (minibuffer-history-isearch-search):
 +      Use `isearch-search-fun-default' and remove spacial case for
 +      `isearch-word'.
 +      (minibuffer-history-isearch-wrap): Remove spacial case for
 +      `isearch-word'.
 +
 +      * textmodes/reftex-global.el (reftex-isearch-wrap-function):
 +      Remove spacial case for `isearch-word'.
 +      (reftex-isearch-isearch-search): Use `isearch-search-fun-default'.
 +
 +2012-05-28  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      Decrease XEmacs incompatibilities.
 +      * textmodes/flyspell.el (flyspell-check-pre-word-p):
 +      Use `string-match'.
 +      (flyspell-delete-region-overlays): Use alternative definition for
 +      XEmacs.
 +      (flyspell-delete-all-overlays): Use `flyspell-delete-region-overlays'.
 +      (flyspell-word): Use `process-kill-without-query' if XEmacs.
 +      (flyspell-mode-on): Use `interactive-p' if XEmacs.
 +      (flyspell-incorrect-face, flyspell-duplicate-face): Do not use
 +      `define-obsolete-face-alias' under XEmacs, but old method.
 +
 +      * textmodes/ispell.el (ispell-with-no-warnings): XEmacs alternative
 +      `with-no-warnings' definition or Emacs alias.
 +      (ispell-command-loop, ispell-message): Use `ispell-with-no-warnings'.
 +      (ispell-word): Do not use `region-p' if XEmacs.
 +
 +2012-05-28  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 +
 +      * textmodes/ispell.el (ispell-find-aspell-dictionaries):
 +      Check for `ispell-dictionary-base-alist' instead of full
 +      `ispell-dictionary-alist'.
 +      (ispell-init-process): Show spellchecker when starting new Ispell
 +      process.
 +
 +2012-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/vhdl-mode.el: Sync with upstream 3.33.28.
 +      http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33
 +
 +2012-05-27  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * version.el (motif-version-string, gtk-version-string)
 +      (ns-version-string): Declare.
 +
 +2012-05-27  Juri Linkov  <juri@jurta.org>
 +
 +      * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars'
 +      after the `eval-defun-1' specialcaseing
 +      like in `edebug-eval-defun' (bug#10181).
 +
 +      * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation'
 +      like in `eval-defun-1'.
 +
 +2012-05-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * mail/sendmail.el (mail-yank-region):
 +      Recognize rmail-yank-current-message in addition to insert-buffer.
 +      Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in
        a *mail* buffer created through rmail-start-mail with sendmail as
        mail-user-agent.
  
diff --cc lisp/desktop.el
Simple merge
@@@ -1934,10 -1928,10 +1934,10 @@@ and will be removed soon.  See (elisp)B
        ;; if the buffer contains multibyte characters.
        (and byte-compile-current-file
           (with-current-buffer byte-compile--outbuffer
 -           (byte-compile-fix-header byte-compile-current-file)))))
 -    byte-compile--outbuffer))
 +           (byte-compile-fix-header byte-compile-current-file))))
 +     byte-compile--outbuffer)))
  
- (defun byte-compile-fix-header (filename)
+ (defun byte-compile-fix-header (_filename)
    "If the current buffer has any multibyte characters, insert a version test."
    (when (< (point-max) (position-bytes (point-max)))
      (goto-char (point-min))
diff --cc nt/ChangeLog
@@@ -1,10 -1,21 +1,27 @@@
 -2012-05-29  Eli Zaretskii  <eliz@gnu.org>
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
++
++      * configure.bat (genmakefiles): Move the redirection away from the
++      end of the command, to avoid excess whitespace at the end of Make
++      variables created at configure time, and also avoid things like
++      "FOO1>>config.settings", where "1" gets interpreted as the file
++      descriptor and eaten up.  This fixes breakage introduced by the
++      last change, without reintroducing the bug fixed by that change.
++
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
+       * nmake.defs (MWINDOWS): Define as
+       "-subsystem:windows -entry:mainCRTStartup".  Suggested by Fabrice
+       Popineau <fabrice.popineau@supelec.fr>.  (Bug#11405)
+       * gmake.defs (MWINDOWS): Define as "-mwindows".
  2012-05-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * configure.bat (genmakefiles): Move the redirection away from the
 -      end of the command, to avoid excess whitespace at the end of Make
 -      variables created at configure time, and also avoid things like
 -      "FOO1>>config.settings", where "1" gets interpreted as the file
 -      descriptor and eaten up.  This fixes breakage introduced by the
 -      last change, without reintroducing the bug fixed by that change.
 +      * config.nt (HAVE_SYSINFO): Remove; unused.
  
 -2012-05-18  Eli Zaretskii  <eliz@gnu.org>
 +2012-05-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * inc/stdalign.h: New file.
  
        * configure.bat: Ensure a space between %var% expansion and
        redirection symbol '>', which breaks when %var% ends in a digit,
Simple merge
diff --cc src/ChangeLog
 -2012-05-30  Eli Zaretskii  <eliz@gnu.org>
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
+       * xdisp.c (handle_stop): Detect whether we have overlay strings
+       loaded by testing it->current.overlay_string_index to be
+       non-negative, instead of checking whether n_overlay_strings is
+       positive.  (Bug#11587)
 -2012-05-30  Chong Yidong  <cyd@gnu.org>
++2012-05-31  Chong Yidong  <cyd@gnu.org>
+       * keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169).
+       * doc.c (Fsubstitute_command_keys): Doc fix.
 -2012-05-29  Eli Zaretskii  <eliz@gnu.org>
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
+       * search.c (search_buffer): Remove calls to
+       r_alloc_inhibit_buffer_relocation, as it is now called by
+       maybe_unify_char, which was the cause of relocation of buffer text
+       in bug#11519.
 -2012-05-23  Eli Zaretskii  <eliz@gnu.org>
++2012-05-31  Eli Zaretskii  <eliz@gnu.org>
+       * charset.c (maybe_unify_char): Inhibit relocation of buffer text
+       for the duration of call to load_charset, to avoid problems with
+       callers of maybe_unify_char that access buffer text through C
+       pointers.
+       * ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
+       decrement the inhibition flag, instead of just setting or
+       resetting it.
 -2012-05-24  Ken Brown  <kbrown@cornell.edu>
 +2012-05-31  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove obsolete '#define static' cruft.
 +      * s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
 +      This #undef was "temporary" in 2000; it is no longer needed
 +      now that '#define static' has gone away.
 +      * xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height)
 +      (gray_bitmap_bits): Remove; no longer needed.
 +      All uses replaced with definiens.
 +      * xterm.c: Include "bitmaps/gray.xbm".
 +
 +2012-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Clean up __executable_start, monstartup when --enable-profiling.
 +      The following changes affect the code only when profiling.
 +      * dispnew.c (__executable_start): Rename from safe_bcopy.
 +      Define only on platforms that need it.
 +      * emacs.c: Include <sys/gmon.h> when profiling.
 +      (_mcleanup): Remove decl, since <sys/gmon.h> does it now.
 +      (__executable_start): Remove decl, since lisp.h does it now.
 +      (safe_bcopy): Remove decl; no longer has that name.
 +      (main): Coalesce #if into single bit of code, for simplicity.
 +      Cast pointers to uintptr_t, since standard libraries want integers
 +      and not pointers.
 +      * lisp.h (__executable_start): New decl.
 +
 +2012-05-30  Jim Meyering  <meyering@redhat.com>
 +
 +      * callproc.c (Fcall_process_region): Include directory component
 +      in mkstemp error message (Bug#11586).
 +
 +2012-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c, lisp.h (make_pure_vector): Now static.
 +
 +2012-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
 +      Move to byte-run.el.
 +      (Fautoload): Do the hash-doc more carefully.
 +      * data.c (Fdefalias): Purify definition, except for keymaps.
 +      (Qdefun): Move from eval.c.
 +      * lisp.h (Qdefun): Remove.
 +      * lread.c (read1): Tiny simplification.
 +
 +2012-05-29  Troels Nielsen  <bn.troels@gmail.com>
 +
 +      Do not create empty overlays with the evaporate property (Bug#9642).
 +      * buffer.c (Fmove_overlay): Reinstate the earlier fix for
 +      Bug#9642, but explicitly check that the buffer the overlay would
 +      be moved to is live and rearrange lines to make sure that errors
 +      will not put the overlay in an inconsistent state.
 +      (Fdelete_overlay): Cosmetics.
 +
 +2012-05-28  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.c (my_bring_window_to_top): New function.
 +      (x_raise_frame): Use handle returned by DeferWindowPos, which
 +      could be different from the original one.
 +      Call my_bring_window_to_top instead of my_set_foreground_window.
 +      (Bug#11513)
 +
 +      * w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
 +      by calling BringWindowToTop.
 +
 +      * w32term.h (WM_EMACS_BRINGTOTOP): New message.
 +      (WM_EMACS_END): Increase by one.
 +
 +2012-05-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * bidi.c (bidi_mirror_char): Put eassert before conversion to int.
 +      This avoids undefined behavior that might cause the eassert
 +      to not catch an out-of-range value.
 +
 +2012-05-28  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)):
 +      Update dependencies.
 +
 +2012-05-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_mirror_char): Fix last change.
 +
 +2012-05-27  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * unexmacosx.c (copy_data_segment): Truncate after 16 characters
 +      when referring to sectname field in printf format.
 +
 +2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h [REL_ALLOC]: Omit duplicate prototypes.
 +      Only r_alloc_inhibit_buffer_relocation needed to be added;
 +      the others were already declared.
 +
 +      * bidi.c (bidi_mirror_char): Don't possibly truncate the integer
 +      before checking whether it's out of range.  Put the check inside
 +      eassert.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
 +
 +2012-05-27  Ken Brown  <kbrown@cornell.edu>
  
        * callproc.c (Fcall_process): Restore a line that was accidentally
        commented out in the 2011-02-13 change (bug#11547).
diff --cc src/charset.c
@@@ -1633,6 -1641,12 +1633,12 @@@ maybe_unify_char (int c, Lisp_Object va
      return c;
  
    CHECK_CHARSET_GET_CHARSET (val, charset);
 -  /* The call to load_charset below can allocate memory, whcih screws
+ #ifdef REL_ALLOC
++  /* The call to load_charset below can allocate memory, which screws
+      callers of this function through STRING_CHAR_* macros that hold C
+      pointers to buffer text, if REL_ALLOC is used.  */
+   r_alloc_inhibit_buffer_relocation (1);
+ #endif
    load_charset (charset, 1);
    if (! inhibit_load_charset_map)
      {
diff --cc src/doc.c
Simple merge
diff --cc src/keymap.c
Simple merge
diff --cc src/ralloc.c
Simple merge
diff --cc src/search.c
@@@ -1158,17 -1157,8 +1158,8 @@@ search_buffer (Lisp_Object string, ptrd
  
        while (n < 0)
        {
 -        EMACS_INT val;
 +        ptrdiff_t val;
  
- #ifdef REL_ALLOC
-         /* re_search_2 below is passed C pointers to buffer text.
-            If some code called by it causes memory (re)allocation,
-            buffer text could be relocated on platforms that use
-            REL_ALLOC, which invalidates those C pointers.  So we
-            inhibit relocation of buffer text for as long as
-            re_search_2 runs.  */
-         r_alloc_inhibit_buffer_relocation (1);
- #endif
          val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                             pos_byte - BEGV_BYTE, lim_byte - pos_byte,
                             (NILP (Vinhibit_changing_match_data)
        }
        while (n > 0)
        {
 -        EMACS_INT val;
 +        ptrdiff_t val;
  
- #ifdef REL_ALLOC
-         /* See commentary above for the reasons for inhibiting
-            buffer text relocation here.  */
-         r_alloc_inhibit_buffer_relocation (1);
- #endif
          val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                             pos_byte - BEGV_BYTE, lim_byte - pos_byte,
                             (NILP (Vinhibit_changing_match_data)
diff --cc src/xdisp.c
Simple merge