changeset 112259:bd264f28aa7d

merge emacs-23
author Kenichi Handa <handa@m17n.org>
date Wed, 12 Jan 2011 15:11:40 +0900
parents 438860427833 (current diff) 353c9b74c8b3 (diff)
children b3d66f88eeae 932e0e85675a
files lisp/ChangeLog
diffstat 29 files changed, 340 insertions(+), 134 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jan 12 15:10:56 2011 +0900
+++ b/ChangeLog	Wed Jan 12 15:11:40 2011 +0900
@@ -1,3 +1,8 @@
+2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
+
+	* configure.in [netbsd systems]: Check for tputs definition
+	(Bug#7642).
+
 2010-12-11  Glenn Morris  <rgm@gnu.org>
 
 	* make-dist: Exclude etc/*.pyc.  [Backport from trunk]
--- a/configure	Wed Jan 12 15:10:56 2011 +0900
+++ b/configure	Wed Jan 12 15:11:40 2011 +0900
@@ -11833,6 +11833,72 @@
 fi
 
 
+case "$opsys" in
+  netbsd)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tputs" >&5
+$as_echo_n "checking for library containing tputs... " >&6; }
+if test "${ac_cv_search_tputs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tputs ();
+int
+main ()
+{
+return tputs ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' ncurses terminfo termcap; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_tputs=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_tputs+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_tputs+set}" = set; then :
+
+else
+  ac_cv_search_tputs=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_tputs" >&5
+$as_echo "$ac_cv_search_tputs" >&6; }
+ac_res=$ac_cv_search_tputs
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+    if test $ac_cv_search_tputs = -lterminfo; then
+
+$as_echo "#define TERMINFO 1" >>confdefs.h
+
+    fi
+    ;;
+esac
+
 # Do we have res_init, for detecting changes in /etc/resolv.conf?
 
 resolv=no
--- a/configure.in	Wed Jan 12 15:10:56 2011 +0900
+++ b/configure.in	Wed Jan 12 15:11:40 2011 +0900
@@ -2372,6 +2372,15 @@
 # than to expect to find it in ncurses.
 AC_CHECK_LIB(ncurses, tparm)
 
+case "$opsys" in
+  netbsd)
+    AC_SEARCH_LIBS(tputs, [ncurses terminfo termcap])
+    if test $ac_cv_search_tputs = -lterminfo; then
+      AC_DEFINE(TERMINFO, 1, [Define to 1 if you use terminfo instead of termcap.])
+    fi
+    ;;
+esac
+
 # Do we have res_init, for detecting changes in /etc/resolv.conf?
 
 resolv=no
--- a/doc/emacs/ChangeLog	Wed Jan 12 15:10:56 2011 +0900
+++ b/doc/emacs/ChangeLog	Wed Jan 12 15:11:40 2011 +0900
@@ -1,3 +1,14 @@
+2011-01-08  Chong Yidong  <cyd@stupidchicken.com>
+
+	* files.texi (File Aliases): Move directory-abbrev-alist doc from Lisp
+	manual.  Explain why directory-abbrev-alist elements should be anchored
+	(Bug#7777).
+
+2011-01-07  Eli Zaretskii  <eliz@gnu.org>
+
+	* msdog.texi (Windows Startup): Correct inaccurate description of
+	differences between emacsclient.exe and emacsclientw.exe.
+
 2010-12-30  Chong Yidong  <cyd@stupidchicken.com>
 
 	* rmail.texi (Rmail Display): Edit for grammar and conciseness.
--- a/doc/emacs/files.texi	Wed Jan 12 15:10:56 2011 +0900
+++ b/doc/emacs/files.texi	Wed Jan 12 15:11:40 2011 +0900
@@ -1158,7 +1158,6 @@
 
 @vindex find-file-existing-other-name
 @vindex find-file-suppress-same-file-warnings
-
   Normally, if you visit a file which Emacs is already visiting under
 a different name, Emacs displays a message in the echo area and uses
 the existing buffer visiting that file.  This can happen on systems
@@ -1180,6 +1179,31 @@
 than the name you specify.  Setting @code{find-file-visit-truename} also
 implies the effect of @code{find-file-existing-other-name}.
 
+@cindex directory name abbreviation
+@vindex directory-abbrev-alist
+  Sometimes, a directory is ordinarily accessed through a symbolic
+link, and you may want Emacs to preferentially display its ``linked''
+name instead of its truename.  To do this, customize the variable
+@code{directory-abbrev-alist}.  Each element in this list should have
+the form @code{(@var{from} . @var{to})}, which says to replace
+@var{from} with @var{to} when it appears in a directory name.  For
+this feature to work properly, @var{from} and @var{to} should point to
+the same file.  The @var{from} string is actually a regular expression
+(@pxref{Regexps}); it should always start with @samp{\`}, to avoid
+matching to an incorrect part of the original directory name.  The
+@var{to} string should be an ordinary absolute directory name.  Do not
+use @samp{~} to stand for a home directory in the @var{to} string;
+Emacs performs these substitutions separately.
+
+  Here's an example, from a system on which file system
+@file{/home/fsf} and so on are normally accessed through symbolic
+links named @file{/fsf} and so on.
+
+@example
+(("\\`/home/fsf" . "/fsf")
+ ("\\`/home/gd" . "/gd"))
+@end example
+
 @node Directories
 @section File Directories
 
--- a/doc/emacs/msdog.texi	Wed Jan 12 15:10:56 2011 +0900
+++ b/doc/emacs/msdog.texi	Wed Jan 12 15:11:40 2011 +0900
@@ -90,20 +90,24 @@
 programs, and to reuse a running Emacs process for serving editing
 jobs required by other programs.  @xref{Emacs Server}.  The difference
 between @file{emacsclient.exe} and @file{emacsclientw.exe} is that the
-former waits for Emacs to signal that the editing job is finished,
-while the latter does not wait.  Which one of them to use in each case
-depends on the expectations of the program that needs editing
-services.  If the program will use the edited files, it needs to wait
-for Emacs, so you should use @file{emacsclient.exe}.  By contrast, if
-the results of editing are not needed by the invoking program, you
-will be better off using @file{emacsclientw.exe}.  A notable situation
-where you would want @file{emacsclientw.exe} is when you right-click
-on a file in the Windows Explorer and select ``Open With'' from the
-pop-up menu.  Use the @samp{--alternate-editor=} or @samp{-a} options
-if Emacs might not be running (or not running as a server) when
-@command{emacsclient} is invoked---that will always give you an
-editor.  When invoked via @command{emacsclient}, Emacs will start in
-the current directory of the program that invoked
+former is a console program, while the latter is a Windows GUI
+program.  Both programs wait for Emacs to signal that the editing job
+is finished, before they exit and return control to the program that
+invoked them.  Which one of them to use in each case depends on the
+expectations of the program that needs editing services.  If that
+program is itself a console (text-mode) program, you should use
+@file{emacsclient.exe}, so that any of its messages and prompts appear
+in the same command window as those of the invoking program.  By
+contrast, if the invoking program is a GUI program, you will be better
+off using @file{emacsclientw.exe}, because @file{emacsclient.exe} will
+pop up a command window if it is invoked from a GUI program.  A
+notable situation where you would want @file{emacsclientw.exe} is when
+you right-click on a file in the Windows Explorer and select ``Open
+With'' from the pop-up menu.  Use the @samp{--alternate-editor=} or
+@samp{-a} options if Emacs might not be running (or not running as a
+server) when @command{emacsclient} is invoked---that will always give
+you an editor.  When invoked via @command{emacsclient}, Emacs will
+start in the current directory of the program that invoked
 @command{emacsclient}.
 @end enumerate
 
--- a/doc/lispref/ChangeLog	Wed Jan 12 15:10:56 2011 +0900
+++ b/doc/lispref/ChangeLog	Wed Jan 12 15:11:40 2011 +0900
@@ -1,3 +1,13 @@
+2011-01-08  Chong Yidong  <cyd@stupidchicken.com>
+
+	* files.texi (Directory Names): Move directory-abbrev-alist doc to
+	Emacs manual.
+
+2011-01-07  Eli Zaretskii  <eliz@gnu.org>
+
+	* files.texi (Directory Names): Explain why FROM in
+	directory-abbrev-alist should begin with \`.  (Bug#7777)
+
 2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 
 	* modes.texi (Emulating Mode Line): Fix last change.
--- a/doc/lispref/files.texi	Wed Jan 12 15:10:56 2011 +0900
+++ b/doc/lispref/files.texi	Wed Jan 12 15:11:40 2011 +0900
@@ -1920,51 +1920,22 @@
 because this is not portable.  Always use
 @code{file-name-as-directory}.
 
-@cindex directory name abbreviation
-  Directory name abbreviations are useful for directories that are
-normally accessed through symbolic links.  Sometimes the users recognize
-primarily the link's name as ``the name'' of the directory, and find it
-annoying to see the directory's ``real'' name.  If you define the link
-name as an abbreviation for the ``real'' name, Emacs shows users the
-abbreviation instead.
-
-@defopt directory-abbrev-alist
-The variable @code{directory-abbrev-alist} contains an alist of
-abbreviations to use for file directories.  Each element has the form
-@code{(@var{from} . @var{to})}, and says to replace @var{from} with
-@var{to} when it appears in a directory name.  The @var{from} string is
-actually a regular expression; it should always start with @samp{\`}.
-The @var{to} string should be an ordinary absolute directory name.  Do
-not use @samp{~} to stand for a home directory in that string.  The
-function @code{abbreviate-file-name} performs these substitutions.
-
-You can set this variable in @file{site-init.el} to describe the
-abbreviations appropriate for your site.
-
-Here's an example, from a system on which file system @file{/home/fsf}
-and so on are normally accessed through symbolic links named @file{/fsf}
-and so on.
-
-@example
-(("\\`/home/fsf" . "/fsf")
- ("\\`/home/gp" . "/gp")
- ("\\`/home/gd" . "/gd"))
-@end example
-@end defopt
-
   To convert a directory name to its abbreviation, use this
 function:
 
 @defun abbreviate-file-name filename
 @anchor{Definition of abbreviate-file-name}
-This function applies abbreviations from @code{directory-abbrev-alist}
-to its argument, and also substitutes @samp{~} for the user's home
-directory if the argument names a file in the home directory or one of
-its subdirectories.  (If the home directory is a root directory, it is
-not replaced with @samp{~}, because this does not make the result
-shorter on many systems.)  You can use it for directory names and for
-file names, because it recognizes abbreviations even as part of the
-name.
+This function returns an abbreviated form of @var{filename}.  It
+applies the abbreviations specified in @code{directory-abbrev-alist}
+(@pxref{File Aliases,,File Aliases, emacs, The GNU Emacs Manual}),
+then substitutes @samp{~} for the user's home directory if the
+argument names a file in the home directory or one of its
+subdirectories.  If the home directory is a root directory, it is not
+replaced with @samp{~}, because this does not make the result shorter
+on many systems.
+
+You can use this function for directory names and for file names,
+because it recognizes abbreviations even as part of the name.
 @end defun
 
 @node File Name Expansion
--- a/lisp/ChangeLog	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/ChangeLog	Wed Jan 12 15:11:40 2011 +0900
@@ -37,6 +37,51 @@
 	(rmail-mime-previous-item): Skip the body of a non-multipart
 	entity if a tagline is shown.
 
+2011-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721).
+	(tmm-prompt): Simplify.
+	(tmm-add-prompt): Remove unused var `win'.
+
+	* whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810)
+	to minor mode which used nil accidentally to mean "turn off".
+
+2011-01-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-find-inline-compress)
+	(tramp-get-inline-coding): Quote command after pipe symbol for
+	local calls under W32.  (Bug#6784)
+
+2011-01-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-default-method): Initialize with pscp/plink
+	only when running under W32.
+
+2011-01-09  Eli Zaretskii  <eliz@gnu.org>
+
+	* progmodes/grep.el (grep-compute-defaults): Quote the program
+	file name after the pipe symbol in Grep templates.  (Bug#6784)
+	* jka-compr.el (jka-compr-partial-uncompress): Likewise.
+
+2011-01-08  Lennart Borgman  <lennart.borgman@gmail.com>
+
+	* buff-menu.el (Buffer-menu-buffer-list): New var.
+	(Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
+	restricted buffer list is not lost on revert (Bug#7749).
+
+2011-01-08  Eric Hanchrow  <eric.hanchrow@gmail.com>
+
+	* net/ldap.el (ldap-search-internal): Discard stderr output.
+
+2011-01-07  Eli Zaretskii  <eliz@gnu.org>
+
+	* files.el (directory-abbrev-alist): Doc fix.  (Bug#7777)
+
+2011-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time):
+	Author names can have spaces (bug#7792).
+
 2011-01-04  Kenichi Handa  <handa@m17n.org>
 
 	* mail/rmailmm.el (rmail-mime-insert-bulk): Display an unknown
--- a/lisp/buff-menu.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/buff-menu.el	Wed Jan 12 15:11:40 2011 +0900
@@ -111,8 +111,14 @@
 This variable determines whether reverting the buffer lists only
 file buffers.  It affects both manual reverting and reverting by
 Auto Revert Mode.")
+(make-variable-buffer-local 'Buffer-menu-files-only)
 
-(make-variable-buffer-local 'Buffer-menu-files-only)
+(defvar Buffer-menu--buffers nil
+  "If non-nil, list of buffers shown in the current buffer-menu.
+This variable determines whether reverting the buffer lists only
+this buffers.  It affects both manual reverting and reverting by
+Auto Revert Mode.")
+(make-variable-buffer-local 'Buffer-menu--buffers)
 
 (defvar Info-current-file) ;; from info.el
 (defvar Info-current-node) ;; from info.el
@@ -281,7 +287,7 @@
     ;; interactively current buffer is correctly identified with a `.'
     ;; by `list-buffers-noselect'.
     (with-current-buffer (window-buffer)
-      (list-buffers-noselect Buffer-menu-files-only))
+      (list-buffers-noselect Buffer-menu-files-only Buffer-menu--buffers))
     (if oline
 	(while (setq prop (next-single-property-change prop 'buffer))
 	  (when (eq (get-text-property prop 'buffer) oline)
@@ -920,6 +926,7 @@
       (and desired-point
 	   (goto-char desired-point))
       (setq Buffer-menu-files-only files-only)
+      (setq Buffer-menu--buffers buffer-list)
       (set-buffer-modified-p nil)
       (current-buffer))))
 
--- a/lisp/dired.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/dired.el	Wed Jan 12 15:11:40 2011 +0900
@@ -3532,7 +3532,7 @@
 ;;;;;;  dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
 ;;;;;;  dired-clean-directory dired-do-print dired-do-touch dired-do-chown
 ;;;;;;  dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
-;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "03cf081d2aac54764123d2407c3196a2")
+;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "255ac82c318ef43da2e47b931c0f8581")
 ;;; Generated autoloads from dired-aux.el
 
 (autoload 'dired-diff "dired-aux" "\
@@ -3985,7 +3985,7 @@
 ;;;***
 
 ;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el"
-;;;;;;  "bb37ec379c0a523368794491b691fd8d")
+;;;;;;  "48197b7ca054193643e01957196dd491")
 ;;; Generated autoloads from dired-x.el
 
 (autoload 'dired-jump "dired-x" "\
--- a/lisp/emacs-lisp/cl-loaddefs.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/emacs-lisp/cl-loaddefs.el	Wed Jan 12 15:11:40 2011 +0900
@@ -10,7 +10,7 @@
 ;;;;;;  ceiling* floor* isqrt lcm gcd cl-progv-before cl-set-frame-visible-p
 ;;;;;;  cl-map-overlays cl-map-intervals cl-map-keymap-recursively
 ;;;;;;  notevery notany every some mapcon mapcan mapl maplist map
-;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "d93072a26c59f663a92b10df8bc28187")
+;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "de874ef326082f133b0324505ad37330")
 ;;; Generated autoloads from cl-extra.el
 
 (autoload 'coerce "cl-extra" "\
@@ -282,7 +282,7 @@
 ;;;;;;  flet progv psetq do-all-symbols do-symbols dotimes dolist
 ;;;;;;  do* do loop return-from return block etypecase typecase ecase
 ;;;;;;  case load-time-value eval-when destructuring-bind function*
-;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "49b7d96626dd8ba5d39551909edbd4c7")
+;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "fd4df570f1dcbf83cde740819ae3734a")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'gensym "cl-macs" "\
@@ -759,7 +759,7 @@
 ;;;;;;  find nsubstitute-if-not nsubstitute-if nsubstitute substitute-if-not
 ;;;;;;  substitute-if substitute delete-duplicates remove-duplicates
 ;;;;;;  delete-if-not delete-if delete* remove-if-not remove-if remove*
-;;;;;;  replace fill reduce) "cl-seq" "cl-seq.el" "ec3ea1c77742734db8496272fe5721be")
+;;;;;;  replace fill reduce) "cl-seq" "cl-seq.el" "ac5c427e92a38c5a2149acaa013caad9")
 ;;; Generated autoloads from cl-seq.el
 
 (autoload 'reduce "cl-seq" "\
--- a/lisp/emulation/tpu-edt.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/emulation/tpu-edt.el	Wed Jan 12 15:11:40 2011 +0900
@@ -2438,7 +2438,7 @@
 
 
 ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins
-;;;;;;  tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "d003e4c2f1291eccc629926bb0f88e17")
+;;;;;;  tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "a564a0c82b232d8c113549f6fd0ce8e5")
 ;;; Generated autoloads from tpu-extras.el
 
 (autoload 'tpu-cursor-free-mode "tpu-extras" "\
--- a/lisp/files.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/files.el	Wed Jan 12 15:11:40 2011 +0900
@@ -56,7 +56,10 @@
 A list of elements of the form (FROM . TO), each meaning to replace
 FROM with TO when it appears in a directory name.  This replacement is
 done when setting up the default directory of a newly visited file.
-*Every* FROM string should start with \"\\\\`\".
+
+FROM is matched against directory names anchored at the first
+character, so it should start with a \"\\\\`\", or, if directory
+names cannot have embedded newlines, with a \"^\".
 
 FROM and TO should be equivalent names, which refer to the
 same directory.  Do not use `~' in the TO strings;
--- a/lisp/gnus/ChangeLog	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/gnus/ChangeLog	Wed Jan 12 15:11:40 2011 +0900
@@ -1,3 +1,8 @@
+2011-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* message.el (message-mail): A compose-mail function should
+	accept headers as strings.
+
 2010-11-19  Yuri Karaban  <tech@askold.net>  (tiny change)
 
 	* pop3.el (pop3-open-server): Read server greeting before starting TLS
@@ -13920,4 +13925,3 @@
 ;; add-log-time-zone-rule: t
 ;; End:
 
-;;; arch-tag: 3f33a3e7-090d-492b-bedd-02a1417d32b4
--- a/lisp/gnus/message.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/gnus/message.el	Wed Jan 12 15:11:40 2011 +0900
@@ -6493,7 +6493,13 @@
     (message-setup
      (nconc
       `((To . ,(or to "")) (Subject . ,(or subject "")))
-      (when other-headers other-headers))
+      ;; C-h f compose-mail says that headers should be specified as
+      ;; (string . value); however all the rest of message expects
+      ;; headers to be symbols, not strings (eg message-header-format-alist).
+      ;; http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00337.html
+      ;; We need to convert any string input, eg from rmail-start-mail.
+      (dolist (h other-headers other-headers)
+ 	(if (stringp (car h)) (setcar h (intern (capitalize (car h)))))))
      yank-action send-actions continue switch-function)
     ;; FIXME: Should return nil if failure.
     t))
@@ -8195,5 +8201,4 @@
 ;; coding: iso-8859-1
 ;; End:
 
-;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0
 ;;; message.el ends here
--- a/lisp/ibuffer.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/ibuffer.el	Wed Jan 12 15:11:40 2011 +0900
@@ -2641,7 +2641,7 @@
 ;;;;;;  ibuffer-backward-filter-group ibuffer-forward-filter-group
 ;;;;;;  ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
 ;;;;;;  ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
-;;;;;;  ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "4fb4f1a32cf4ecf4669a133a866f4a14")
+;;;;;;  ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "d98d015a69b22236de3cb1f7e456218b")
 ;;; Generated autoloads from ibuf-ext.el
 
 (autoload 'ibuffer-auto-mode "ibuf-ext" "\
--- a/lisp/jka-compr.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/jka-compr.el	Wed Jan 12 15:11:40 2011 +0900
@@ -166,8 +166,11 @@
 	  (unwind-protect
 	      (or (memq (call-process
 			 jka-compr-shell infile t nil "-c"
+			 ;; Windows shells need the program file name
+			 ;; after the pipe symbol be quoted if they use
+			 ;; forward slashes as directory separators.
 			 (format
-			  "%s %s 2> %s | %s bs=%d skip=%d %s 2> %s"
+			  "%s %s 2> %s | \"%s\" bs=%d skip=%d %s 2> %s"
 			  prog
 			  (mapconcat 'identity args " ")
 			  err-file
--- a/lisp/mail/rmail.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/mail/rmail.el	Wed Jan 12 15:11:40 2011 +0900
@@ -4232,7 +4232,7 @@
 ;;; Start of automatically extracted autoloads.
 
 ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "rmailedit.el"
-;;;;;;  "60db8013bf16d7999914a16cda435287")
+;;;;;;  "ecd28d8d92983488673388eced6fbf50")
 ;;; Generated autoloads from rmailedit.el
 
 (autoload 'rmail-edit-current-message "rmailedit" "\
@@ -4244,7 +4244,7 @@
 
 ;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message
 ;;;;;;  rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd"
-;;;;;;  "rmailkwd.el" "7027ce1ac922c0dd51262b641e4d42c1")
+;;;;;;  "rmailkwd.el" "bc72ffe3652be6f4c72048ae8f226fce")
 ;;; Generated autoloads from rmailkwd.el
 
 (autoload 'rmail-add-label "rmailkwd" "\
@@ -4287,7 +4287,7 @@
 
 ;;;***
 
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "6c12c2d0563ae855f1069d7a80b8244a")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "420a9c4619672f1f60f675126fbc9c08")
 ;;; Generated autoloads from rmailmm.el
 
 (autoload 'rmail-mime "rmailmm" "\
@@ -4313,7 +4313,7 @@
 ;;;***
 
 ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "rmailmsc.el"
-;;;;;;  "b2a72d4e370f2d2b31b6f8f0794820e4")
+;;;;;;  "9319e5b606ad5786c0c5994a307a38e8")
 ;;; Generated autoloads from rmailmsc.el
 
 (autoload 'set-rmail-inbox-list "rmailmsc" "\
@@ -4329,7 +4329,7 @@
 
 ;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent
 ;;;;;;  rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject
-;;;;;;  rmail-sort-by-date) "rmailsort" "rmailsort.el" "5a3b5ee477d2fbf79d0c566d776a7fd4")
+;;;;;;  rmail-sort-by-date) "rmailsort" "rmailsort.el" "16144a77fdc880034875fd624e4d73e6")
 ;;; Generated autoloads from rmailsort.el
 
 (autoload 'rmail-sort-by-date "rmailsort" "\
@@ -4388,7 +4388,7 @@
 
 ;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic
 ;;;;;;  rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels
-;;;;;;  rmail-summary) "rmailsum" "rmailsum.el" "d855683972baef7111d4508dffbb54b6")
+;;;;;;  rmail-summary) "rmailsum" "rmailsum.el" "6bcfd5937a56902944a929b89b33adaa")
 ;;; Generated autoloads from rmailsum.el
 
 (autoload 'rmail-summary "rmailsum" "\
@@ -4436,7 +4436,7 @@
 ;;;***
 
 ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message)
-;;;;;;  "undigest" "undigest.el" "8cf8a8ffa48eeddf0bde388fa8de1783")
+;;;;;;  "undigest" "undigest.el" "2869c38a0051d0acab1a5968627fa57d")
 ;;; Generated autoloads from undigest.el
 
 (autoload 'undigestify-rmail-message "undigest" "\
--- a/lisp/net/ldap.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/net/ldap.el	Wed Jan 12 15:11:40 2011 +0900
@@ -558,7 +558,8 @@
 	  (setq arglist (nconc arglist (list (format "-z%s" sizelimit)))))
       (eval `(call-process ldap-ldapsearch-prog
 			   nil
-			   buf
+			   ;; Ignore stderr, which can corrupt results
+			   (list buf nil)
 			   nil
 			   ,@arglist
 			   ,@ldap-ldapsearch-args
--- a/lisp/net/tramp.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/net/tramp.el	Wed Jan 12 15:11:40 2011 +0900
@@ -1,7 +1,7 @@
 ;;; tramp.el --- Transparent Remote Access, Multiple Protocol
 
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+;;   2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 
 ;; (copyright statements below in code to be updated with the above notice)
 
@@ -780,8 +780,11 @@
   ;; password caching.  "scpc" is chosen if we detect that the user is
   ;; running OpenSSH 4.0 or newer.
   (cond
-   ;; PuTTY is installed.
-   ((executable-find "pscp")
+   ;; PuTTY is installed.  We don't take it, if it is installed on a
+   ;; non-windows system, or pscp from the pssh (parallel ssh) package
+   ;; is found.
+   ((and (eq system-type 'windows-nt)
+	 (executable-find "pscp"))
     (if	(or (fboundp 'password-read)
 	    (fboundp 'auth-source-user-or-password)
 	    ;; Pageant is running.
@@ -1904,8 +1907,8 @@
 (defconst tramp-perl-encode
   "%s -e '
 # This script contributed by Juanma Barranquero <lektu@terra.es>.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-#   Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 use strict;
 
 my %%trans = do {
@@ -1946,8 +1949,8 @@
 (defconst tramp-perl-decode
   "%s -e '
 # This script contributed by Juanma Barranquero <lektu@terra.es>.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-#   Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 use strict;
 
 my %%trans = do {
@@ -7359,9 +7362,17 @@
 	   vec 5
 	   "Checking local compress command `%s', `%s' for sanity"
 	   compress decompress)
-	  (unless (zerop (tramp-call-local-coding-command
-			  (format "echo %s | %s | %s"
-				  magic compress decompress) nil nil))
+	  (unless
+	      (zerop
+	       (tramp-call-local-coding-command
+		(format
+		 ;; Windows shells need the program file name after
+		 ;; the pipe symbol be quoted if they use forward
+		 ;; slashes as directory separators.
+		 (if (memq system-type '(windows-nt))
+		     "echo %s | \"%s\" | \"%s\""
+		   "echo %s | %s | %s")
+		 magic compress decompress) nil nil))
 	    (throw 'next nil))
 	  (tramp-message
 	   vec 5
@@ -8642,9 +8653,25 @@
 	 ((symbolp coding)
 	  coding)
 	 ((and compress (string-match "decoding" prop))
-	  (format "(%s | %s >%%s)" coding compress))
+	  (format
+	   ;; Windows shells need the program file name after
+	   ;; the pipe symbol be quoted if they use forward
+	   ;; slashes as directory separators.
+	   (if (and (string-match "local" prop)
+		    (memq system-type '(windows-nt)))
+	       "(%s | \"%s\" >%%s)"
+	     "(%s | %s >%%s)")
+	   coding compress))
 	 (compress
-	  (format "(%s <%%s | %s)" compress coding))
+	  (format
+	   ;; Windows shells need the program file name after
+	   ;; the pipe symbol be quoted if they use forward
+	   ;; slashes as directory separators.
+	   (if (and (string-match "local" prop)
+		    (memq system-type '(windows-nt)))
+	       "(%s <%%s | \"%s\")"
+	     "(%s <%%s | %s)")
+	   compress coding))
 	 ((string-match "decoding" prop)
 	  (format "%s >%%s" coding))
 	 (t
--- a/lisp/progmodes/grep.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/progmodes/grep.el	Wed Jan 12 15:11:40 2011 +0900
@@ -561,7 +561,10 @@
 	(unless grep-find-command
 	  (setq grep-find-command
 		(cond ((eq grep-find-use-xargs 'gnu)
-		       (format "%s . -type f -print0 | %s -0 -e %s"
+		       ;; Windows shells need the program file name
+		       ;; after the pipe symbol be quoted if they use
+		       ;; forward slashes as directory separators.
+		       (format "%s . -type f -print0 | \"%s\" -0 -e %s"
 			       find-program xargs-program grep-command))
 		      ((eq grep-find-use-xargs 'exec)
 		       (let ((cmd0 (format "%s . -type f -exec %s"
@@ -572,21 +575,21 @@
 				  (shell-quote-argument ";"))
 			  (1+ (length cmd0)))))
 		      (t
-		       (format "%s . -type f -print | %s %s"
+		       (format "%s . -type f -print | \"%s\" %s"
 			       find-program xargs-program grep-command)))))
 	(unless grep-find-template
 	  (setq grep-find-template
 		(let ((gcmd (format "%s <C> %s <R>"
 				    grep-program grep-options)))
 		  (cond ((eq grep-find-use-xargs 'gnu)
-			 (format "%s . <X> -type f <F> -print0 | %s -0 -e %s"
+			 (format "%s . <X> -type f <F> -print0 | \"%s\" -0 -e %s"
 				 find-program xargs-program gcmd))
 			((eq grep-find-use-xargs 'exec)
 			 (format "%s . <X> -type f <F> -exec %s {} %s %s"
 				 find-program gcmd null-device
 				 (shell-quote-argument ";")))
 			(t
-			 (format "%s . <X> -type f <F> -print | %s %s"
+			 (format "%s . <X> -type f <F> -print | \"%s\" %s"
 				 find-program xargs-program gcmd))))))))
     (when (eq grep-highlight-matches 'auto-detect)
       (setq grep-highlight-matches
--- a/lisp/ps-print.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/ps-print.el	Wed Jan 12 15:11:40 2011 +0900
@@ -6662,7 +6662,7 @@
 ;; But autoload them here to make the separation invisible.
 
 ;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
-;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "18a8bc30e8755ff27de7267f4bce3d99")
+;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "7fadcd6c4b18087e900bd21e6da5e854")
 ;;; Generated autoloads from ps-mule.el
 
 (defvar ps-multibyte-buffer nil "\
--- a/lisp/tmm.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/tmm.el	Wed Jan 12 15:11:40 2011 +0900
@@ -168,14 +168,13 @@
     ;; It has no other elements.
     ;; The order of elements in tmm-km-list is the order of the menu bar.
     (mapc (lambda (elt)
-	    (if (stringp elt)
-		(setq gl-str elt)
-	      (cond
-	       ((listp elt) (tmm-get-keymap elt not-menu))
-	       ((vectorp elt)
-		(dotimes (i (length elt))
-		  (tmm-get-keymap (cons i (aref elt i)) not-menu))))))
-	    menu)
+            (cond
+             ((stringp elt) (setq gl-str elt))
+             ((listp elt) (tmm-get-keymap elt not-menu))
+             ((vectorp elt)
+              (dotimes (i (length elt))
+                (tmm-get-keymap (cons i (aref elt i)) not-menu)))))
+          menu)
     ;; Choose an element of tmm-km-list; put it in choice.
     (if (and not-menu (= 1 (length tmm-km-list)))
 	;; If this is the top-level of an x-popup-menu menu,
@@ -368,32 +367,31 @@
   (add-hook 'minibuffer-exit-hook 'tmm-delete-map nil t)
   (unless tmm-c-prompt
     (error "No active menu entries"))
-  (let ((win (selected-window)))
-    (setq tmm-old-mb-map (tmm-define-keys t))
-    ;; Get window and hide it for electric mode to get correct size
-    (save-window-excursion
-      (let ((completions
-	     (mapcar 'car minibuffer-completion-table)))
-        (or tmm-completion-prompt
-            (add-hook 'completion-setup-hook
-                      'tmm-completion-delete-prompt 'append))
-        (unwind-protect
-            (with-output-to-temp-buffer "*Completions*"
-              (display-completion-list completions))
-          (remove-hook 'completion-setup-hook 'tmm-completion-delete-prompt)))
-      (set-buffer "*Completions*")
-      (tmm-remove-inactive-mouse-face)
-      (when tmm-completion-prompt
-	(let ((buffer-read-only nil))
-	  (goto-char (point-min))
-	  (insert tmm-completion-prompt))))
-    (save-selected-window
-      (other-window 1)			; Electric-pop-up-window does
+  (setq tmm-old-mb-map (tmm-define-keys t))
+  ;; Get window and hide it for electric mode to get correct size
+  (save-window-excursion
+    (let ((completions
+           (mapcar 'car minibuffer-completion-table)))
+      (or tmm-completion-prompt
+          (add-hook 'completion-setup-hook
+                    'tmm-completion-delete-prompt 'append))
+      (unwind-protect
+          (with-output-to-temp-buffer "*Completions*"
+            (display-completion-list completions))
+        (remove-hook 'completion-setup-hook 'tmm-completion-delete-prompt)))
+    (set-buffer "*Completions*")
+    (tmm-remove-inactive-mouse-face)
+    (when tmm-completion-prompt
+      (let ((buffer-read-only nil))
+        (goto-char (point-min))
+        (insert tmm-completion-prompt))))
+  (save-selected-window
+    (other-window 1)			; Electric-pop-up-window does
 					; not work in minibuffer
-      (Electric-pop-up-window "*Completions*")
-      (with-current-buffer "*Completions*"
-	(setq tmm-old-comp-map (tmm-define-keys nil))))
-    (insert tmm-c-prompt)))
+    (Electric-pop-up-window "*Completions*")
+    (with-current-buffer "*Completions*"
+      (setq tmm-old-comp-map (tmm-define-keys nil))))
+  (insert tmm-c-prompt))
 
 (defun tmm-delete-map ()
   (remove-hook 'minibuffer-exit-hook 'tmm-delete-map t)
@@ -497,7 +495,7 @@
 	       (if (or in-x-menu (stringp (car-safe elt)))
 		   (setq str event event nil km elt)
 		 (setq str event event nil km (cons 'keymap elt)))))
-        (unless (eq km 'ignore)
+        (unless (or (eq km 'ignore) (null str))
           (let ((binding (where-is-internal km nil t)))
             (when binding
               (setq binding (key-description binding))
--- a/lisp/vc-bzr.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/vc-bzr.el	Wed Jan 12 15:11:40 2011 +0900
@@ -605,7 +605,7 @@
        (when (process-buffer proc)
          (with-current-buffer (process-buffer proc)
            (setq string (concat (process-get proc :vc-left-over) string))
-           (while (string-match "^\\( *[0-9.]+ *\\) \\([^\n ]+\\) +\\([0-9]\\{8\\}\\)\\( |.*\n\\)" string)
+           (while (string-match "^\\( *[0-9.]+ *\\) \\(.+?\\) +\\([0-9]\\{8\\}\\)\\( |.*\n\\)" string)
              (let* ((rev (match-string 1 string))
                     (author (match-string 2 string))
                     (date (match-string 3 string))
@@ -632,7 +632,7 @@
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
 (defun vc-bzr-annotate-time ()
-  (when (re-search-forward "^ *[0-9.]+ +[^\n ]* +|" nil t)
+  (when (re-search-forward "^ *[0-9.]+ +.+? +|" nil t)
     (let ((prop (get-text-property (line-beginning-position) 'help-echo)))
       (string-match "[0-9]+\\'" prop)
       (let ((str (match-string-no-properties 0 prop)))
--- a/lisp/whitespace.el	Wed Jan 12 15:10:56 2011 +0900
+++ b/lisp/whitespace.el	Wed Jan 12 15:11:40 2011 +0900
@@ -1188,7 +1188,8 @@
   :global     t
   :group      'whitespace
   (let ((whitespace-style '(newline-mark newline)))
-    (global-whitespace-mode global-whitespace-newline-mode)
+    (global-whitespace-mode (if global-whitespace-newline-mode
+                                1 -1))
     ;; sync states (running a batch job)
     (setq global-whitespace-newline-mode global-whitespace-mode)))
 
--- a/src/ChangeLog	Wed Jan 12 15:10:56 2011 +0900
+++ b/src/ChangeLog	Wed Jan 12 15:11:40 2011 +0900
@@ -1,3 +1,10 @@
+2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
+
+	* config.in (TERMINFO): New definition.
+
+	* s/netbsd.h: Use it to choose between terminfo and termcap
+	(Bug#7642).
+
 2011-01-03  Jan Djärv  <jan.h.d@swipnet.se>
 
 	* coding.h (ENCODE_UTF_8): Remove "Used by ..." comment.
--- a/src/config.in	Wed Jan 12 15:10:56 2011 +0900
+++ b/src/config.in	Wed Jan 12 15:11:40 2011 +0900
@@ -895,6 +895,9 @@
 /* Process async input synchronously. */
 #undef SYNC_INPUT
 
+/* Define to 1 if you use terminfo instead of termcap. */
+#undef TERMINFO
+
 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
 #undef TIME_WITH_SYS_TIME
 
--- a/src/s/netbsd.h	Wed Jan 12 15:10:56 2011 +0900
+++ b/src/s/netbsd.h	Wed Jan 12 15:11:40 2011 +0900
@@ -45,8 +45,7 @@
 #define LIBS_DEBUG
 /* -lutil is not needed for NetBSD >0.9.  */
 /* #define LIBS_SYSTEM -lutil */
-#ifdef HAVE_TERM_H
-#define TERMINFO
+#ifdef TERMINFO
 #define LIBS_TERMCAP -lterminfo
 #else
 #define LIBS_TERMCAP -ltermcap