Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 16 Apr 2014 19:43:46 +0000 (12:43 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 16 Apr 2014 19:43:46 +0000 (12:43 -0700)
25 files changed:
1  2 
ChangeLog
configure.ac
doc/emacs/ChangeLog
etc/NEWS
lib-src/ChangeLog
lisp/ChangeLog
lisp/simple.el
msdos/sed2v2.inp
src/ChangeLog
src/alloc.c
src/buffer.c
src/callproc.c
src/conf_post.h
src/data.c
src/dired.c
src/emacs.c
src/insdel.c
src/keyboard.c
src/lisp.h
src/msdos.c
src/process.c
src/sysdep.c
src/term.c
src/unexcoff.c
src/w32term.c

diff --cc ChangeLog
+++ b/ChangeLog
@@@ -1,30 -1,29 +1,56 @@@
 -2014-04-13  Paul Eggert  <eggert@cs.ucla.edu>
+ 2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * config.bat: Update for Emacs 24.4.
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
++2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+       Port to IRIX 6.5 (Bug#9684).
+       This port requires IRIX cc, as I did not have time to get
+       undump working with the old GCC on the system I had access to,
+       but that's better than nothing.
+       * configure.ac (gl_GCC_VERSION_IFELSE): Remove unused macro
+       that wouldn't have worked anyway, with IRIX cc.
+       (emacs_cv_clang, emacs_cv_sanitize_address)
+       (ns_osx_have_104, ns_osx_have_105):
+       Don't assume '#error' makes the compiler fail,
+       as this doesn't work with IRIX cc.
+       (CFLAGS, LIBS): Don't let the GnuTLS results infect later 'configure'
+       checks.  This runs afoul of an IRIX configuration where GnuTLS is
+       in an optional library that also contains getdelim, and causes
+       a later 'configure' to incorrectly think getdelim is supported.
++2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * configure.ac (LN_S_FILEONLY, LN_S): Use "/bin/ln" on MinGW, to
+       ensure the MSYS ln.exe is invoked.
 +2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove DATA_SEG_BITS.
 +      * configure.ac (DATA_SEG_BITS): Remove.  All uses removed.
 +
 +2014-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * autogen.sh: Use autoreconf's -f option (Bug#17258).
 +
 +      Clean up configure-time library handling a bit.
 +      This patch was inspired by emacs-24 bzr 116961, which fixed
 +      a bug due to sloppy library handling in 'configure'.
 +      * configure.ac (LIB_MATH, LIB_PTHREAD, LIBXMU):
 +      Use AC_SEARCH_LIBS instead of AC_CHECK_LIB as per Autoconf manual.
 +      (LIB_MATH, LIB_PTHREAD, HAVE_X11, IMAGEMAGICK_LIBS, GTK_LIBS)
 +      (DBUS_LIBS, LIBXMU, XFT_LIBS, LIBXSM, LIBXML2_LIBS, LIBS_MAIL)
 +      (with_kerberos):
 +      Don't let the library choice infect $LIBS.
 +      (dnet_ntoa, cma_open): Remove obsolete tests.
 +      (emacs_pthread_function): Probe for pthread_kill, not pthread_self,
 +      as that's a bit more selective on GNU/Linux.
 +      (LIBXEXT): Remove.
 +      (touchlock): Test for existence when $LIBS_MAIL is in use.
 +      (AC_CHECK_FUNCS): Use only $LIB_MATH in addition to $LIBS
 +      when testing for typical functions like accept4, lrand48.
 +      (random, rint): Remove obsolete HP-UX 9 A.09.05 test.
 +
  2014-04-11  Glenn Morris  <rgm@gnu.org>
  
        * make-dist: Do not distribute generated admin/grammars/Makefile.
diff --cc configure.ac
Simple merge
@@@ -1,4 -1,9 +1,9 @@@
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
++2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * display.texi (Cursor Display): Explain better how to customize
+       'blink-cursor-blinks'.
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * trouble.texi (Checklist): Dribble files may contain passwords.
  
diff --cc etc/NEWS
Simple merge
@@@ -1,20 -1,8 +1,25 @@@
+ 2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * update-game-score.c (write_scores): Condition fchmod call on
+       DOS_NT, not WINDOWSNT.
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (etags_deps, etags_args): New, to reduce duplication.
 +      (etags${EXEEXT}, ctags${EXEEXT}): Use etags_deps, etags_args.
 +
 +      * Makefile.in (etags${EXEEXT}, ebrowse${EXEEXT}, ctags${EXEEXT})
 +      (profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
 +      (emacsclient${EXEEXT}, emacsclientw${EXEEXT}, hexl${EXEEXT})
 +      (update-game-score${EXEEXT}, emacsclient.res): Use $@.
 +
 +      * Makefile.in (../lib/libgnu.a): Explicitly pass MFLAGS.
 +
 +      * Makefile.in (DONT_INSTALL): Remove test-distrib.
 +      (test-distrib${EXEEXT}): Remove rule.
 +
 +      * test-distrib.c, testfile: Remove.
 +
  2014-03-10  Juanma Barranquero  <lekktu@gmail.com>
  
        * emacsclient.c (main): #ifdef out previous change on Windows.
diff --cc lisp/ChangeLog
@@@ -1,26 -1,68 +1,86 @@@
 -      * nxml/nxml-mode.el (nxml-fontify-matcher): Make sure propertization
 -      was done (bug#17264).
 -      * nxml/xmltok.el (xmltok-scan-after-comment-open): Extend unclosed
 -      comment to EOB.
 -
+ 2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * progmodes/perl-mode.el (perl-calculate-indent): Don't auto-indent in
+       here-documents (bug#17262).
+ 2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * term/pc-win.el (x-list-fonts, x-get-selection-value):
+       Provide doc strings, as required by snarf-documentation.
 -2014-04-14  João Távora  <joaotavora@gmail.com>
++2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted'
+       arg of overlays-at.  Use `invisible-p'.
+       * obsolete/lucid.el (extent-at):
+       * htmlfontify.el (hfy-overlay-props-at): Use the new `sorted' arg of
+       overlays-at.
+       (hfy-fontify-buffer): Remove unused var `orig-ovls'.
 -2014-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
++2014-04-16  João Távora  <joaotavora@gmail.com>
+       * net/shr.el (shr-expand-url): Use `expand-file-name' for relative
+       links.  (Bug#17217).
 -2014-04-13  Michael Albinus  <michael.albinus@gmx.de>
++2014-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+       * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
+       Use mapc to loop over a vector.  (Bug#17257).
 -2014-04-13  João Távora  <joaotavora@gmail.com>
++2014-04-16  Michael Albinus  <michael.albinus@gmx.de>
+       * net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
+       patch, there are new problems with file names containing spaces.
+       Get rid of backticks.  (Bug#17238)
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
++2014-04-16  João Távora  <joaotavora@gmail.com>
+       * elec-pair.el (electric-pair--syntax-ppss): Simplify and fix
+       possible bug.
 -2014-04-12  Barry O'Reilly  <gundaetiapo@gmail.com>
++2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * frame.el (blink-cursor-blinks, blink-cursor-blinks-done): Doc fixes.
+       (blink-cursor-mode): Mention customization variables and the
+       effect of 'blink-cursor-blinks'.
 -2014-04-12  Matthias Dahl  <matthias.dahl@binary-island.eu>
++2014-04-16  Barry O'Reilly  <gundaetiapo@gmail.com>
+       * simple.el (undo): Prevent insertion of identity mapping into
+       undo-equiv-table so as undo-only does not inf loop in the presence
+       of consecutive nils in undo list.
++2014-04-16  Matthias Dahl  <matthias.dahl@binary-island.eu>
+       * faces.el (make-face): Deprecate optional argument as it is no
+       longer needed/used since the conditional X resources handling
+       has been pushed down to make-face-x-resource-internal itself.
+       (make-empty-face): Don't pass optional argument to make-face.
 +2014-04-16  Karl Fogel  <kfogel@red-bean.com>
 +
 +      * savehist.el (savehist-save): Remove workaround for a read-passwd
 +      bug that was fixed before 24.3.  Thanks to Juanma Barranquero for
 +      noticing that the shim was still present.
 +
 +2014-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * doc-view.el (doc-view-set-doc-type): Ignore file name case; add .pps.
 +
 +2014-04-14  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * faces.el (face-set-after-frame-default): Remove unused local variable.
 +
 +2014-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/grep.el: Use lexical-binding.
 +      (grep-expand-template): Pass explicit lexical env to `eval'.
 +      (zrgrep): Let-bind grep-find-template explicitly.
 +
 +      * emacs-lisp/cl-lib.el (current-case-table): Remove setter.
 +      * leim/quail/sisheng.el (sisheng-list): Use with-case-table.
 +
  2014-04-12  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el <standard-case-table>: Add entries
diff --cc lisp/simple.el
Simple merge
Simple merge
diff --cc src/ChangeLog
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+ 2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * window.c (save_window_save): Lookup window_point_insertion_type in
+       the right buffer (bug#15457).
+       (Qwindow_point_insertion_type): New var.
+       (syms_of_window): Initialize it.
+ 2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * unexcoff.c [MSDOS]: Include libc/atexit.h.
+       (copy_text_and_data): Zero out the atexit chain pointer before
+       dumping Emacs.
+       * termhooks.h (encode_terminal_code): Update prototype.
+       * term.c (encode_terminal_code) [DOS_NT]: Make it externally
+       visible for all DOS_NT ports, not just WINDOWSNT.
+       (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
+       * sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
+       unless it is defined.
+       (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
+       * process.c (close_on_exec, accept4, process_socket): Move into
+       the "ifdef subprocesses" part.
+       (catch_child_signal): Condition by "ifdef subprocesses".
+       (syms_of_process) <Qinternal_default_process_sentinel>
+       <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
+       * msdos.h: Add prototypes for new functions.
+       (EINPROGRESS): Define.
+       (O_CLOEXEC): Define to zero.
+       * msdos.c (check_window_system): Remove unnecessary an
+       incompatible duplicate function.
+       (sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
+       New functions in support of new functionality.
+       * menu.c (single_menu_item): Add visual indication  of submenu
+       also for menus on MSDOS frames.
+       (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
+       * lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
+       when async subprocesses aren't supported.
+       * font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
+       * emacs.c (close_output_streams): Zero out errno before calling
+       close_stream.
+       * dired.c [MSDOS]: Include msdos.h.
+       * conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
+       (DATA_START) [MSDOS]: Define.
+       (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
+       * callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
+       Ifdef away for MSDOS.
+       (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
+       (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
+       for MSDOS.
+       (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
+       Use temporary file template that is compatible with mkostemp.
+       Move vfork-related portions under #ifndef MSDOS.
+       (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
 -2014-04-14  Eli Zaretskii  <eliz@gnu.org>
++2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * buffer.c (Foverlays_at): Add argument `sorted'.
 -2014-04-13  Paul Eggert  <eggert@cs.ucla.edu>
++2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * insdel.c (invalidate_buffer_caches): When deleting or replacing
+       text, invalidate the bidi_paragraph_cache upto and including the
+       preceding newline.
 -      * alloc.c (TAGGABLE_NULL): New constant,
 -      for porting to hosts with nontrivial DATA_SEG_BITS settings.
 -      (next_vector, set_next_vector): Use it.
++2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+       Port to IRIX 6.5 (Bug#9684).
 -      * lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
 -      for consistency with how TAGGABLE_NULL is computed.
+       * conf_post.h (INET6) [IRIX6_5]: Define.
+       (HAVE_GETADDRINFO) [IRIX6_5]: Undef.
+       * data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 -      * puresize.h (BASE_PURESIZE): Bump by 1K.  (Bug#17255)
 -
 -2014-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
++2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
+       before passing it to system APIs.
 -2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
++2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * bytecode.c (exec_byte_code): Rework the volatiles.  Most importantly,
+       make sure stack.byte_string_start is not de-adjusted by pushhandler.
++2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+       * keyboard.c (Fopen_dribble_file): Avoid some races.  (Bug#17187)
 +2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove DATA_SEG_BITS.
 +      The DATA_SEG_BITS hack was needed for older 32 bit platforms.
 +      As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
 +      cc, but that platform is so old that SGI itself stopped supporting
 +      it in December 2013.  If you still need Emacs on IRIX, please
 +      either compile with GCC and port the undumping code, or run
 +      './configure --with-wide-int'.
 +      * alloc.c (gdb_make_enums_visible): Update to match lisp.h.
 +      * lisp.h (GCTYPEBITS): Move definition up, and switch to the
 +      DEFINE_GDB_SYMBOL_START way to define it.
 +      (NONPOINTER_BITS): New macro.
 +      (EMACS_INT): Use it.
 +      [!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
 +      the problem and/or configuring --with-wide-int.
 +      (USE_LSB_TAG): Simplify, based on above changes.
 +      (gdb_DATA_SEG_BITS): Remove.  All uses removed.
 +      * vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
 +
  2014-04-12  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_by_lines): If a large portion of buffer text is
diff --cc src/alloc.c
@@@ -2685,8 -2647,12 +2685,10 @@@ DEFUN ("make-list", Fmake_list, Smake_l
   ***********************************************************************/
  
  /* Sometimes a vector's contents are merely a pointer internally used
-    in vector allocation code.  Usually you don't want to touch this.  */
+    in vector allocation code.  On the rare platforms where a null
+    pointer cannot be tagged, represent it with a Lisp 0.
+    Usually you don't want to touch this.  */
  
 -enum { TAGGABLE_NULL = (DATA_SEG_BITS & ~VALMASK) == 0 };
 -
  static struct Lisp_Vector *
  next_vector (struct Lisp_Vector *v)
  {
diff --cc src/buffer.c
Simple merge
diff --cc src/callproc.c
@@@ -119,11 -121,13 +121,13 @@@ block_child_signal (sigset_t *oldset
  /* Unblock SIGCHLD.  */
  
  void
 -unblock_child_signal (void)
 +unblock_child_signal (sigset_t const *oldset)
  {
 -  pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
 +  pthread_sigmask (SIG_SETMASK, oldset, 0);
  }
  
+ #endif        /* !MSDOS */
  /* Return the current buffer's working directory, or the home
     directory if it's unreachable, as a string suitable for a system call.
     Signal an error if the result would not be an accessible directory.  */
@@@ -162,8 -166,8 +166,9 @@@ encode_current_directory (void
  void
  record_kill_process (struct Lisp_Process *p, Lisp_Object tempfile)
  {
 -  block_child_signal ();
+ #ifndef MSDOS
 +  sigset_t oldset;
 +  block_child_signal (&oldset);
  
    if (p->alive)
      {
        kill (- p->pid, SIGKILL);
      }
  
 -  unblock_child_signal ();
 +  unblock_child_signal (&oldset);
+ #endif        /* !MSDOS */
  }
  
  /* Clean up files, file descriptors and processes created by Fcall_process.  */
@@@ -709,11 -715,9 +717,9 @@@ call_process (ptrdiff_t nargs, Lisp_Obj
        }
      }
  
 -  unblock_child_signal ();
 +  unblock_child_signal (&oldset);
    unblock_input ();
  
- #endif /* not MSDOS */
    if (pid < 0)
      report_file_errno ("Doing vfork", Qnil, child_errno);
  
diff --cc src/conf_post.h
Simple merge
diff --cc src/data.c
Simple merge
diff --cc src/dired.c
Simple merge
diff --cc src/emacs.c
Simple merge
diff --cc src/insdel.c
Simple merge
diff --cc src/keyboard.c
Simple merge
diff --cc src/lisp.h
Simple merge
diff --cc src/msdos.c
Simple merge
diff --cc src/process.c
@@@ -7082,8 -7081,9 +7083,9 @@@ catch_child_signal (void
        = (old_action.sa_handler == SIG_DFL || old_action.sa_handler == SIG_IGN
         ? dummy_handler
         : old_action.sa_handler);
 -  unblock_child_signal ();
 +  unblock_child_signal (&oldset);
  }
+ #endif        /* subprocesses */
  
  \f
  /* This is not called "init_process" because that is the name of a
diff --cc src/sysdep.c
Simple merge
diff --cc src/term.c
Simple merge
diff --cc src/unexcoff.c
Simple merge
diff --cc src/w32term.c
Simple merge