summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2011-01-12 15:11:40 +0900
committerKenichi Handa <handa@m17n.org>2011-01-12 15:11:40 +0900
commit07ee9351461ff93feabd66f36ccfdc0ff7b5dcfc (patch)
treec5c619a64600c6d76b3c3134037baeabf73d191b
parente7ca0062a4899a2cc5f8b0793eb0bca58efea855 (diff)
parentae01d7ca64c60e98e2a37231c4b33271c5f78f31 (diff)
downloademacs-07ee9351461ff93feabd66f36ccfdc0ff7b5dcfc.tar.gz
merge emacs-23
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure66
-rw-r--r--configure.in9
-rw-r--r--doc/emacs/ChangeLog11
-rw-r--r--doc/emacs/files.texi26
-rw-r--r--doc/emacs/msdog.texi32
-rw-r--r--doc/lispref/ChangeLog10
-rw-r--r--doc/lispref/files.texi51
-rw-r--r--lisp/ChangeLog45
-rw-r--r--lisp/buff-menu.el11
-rw-r--r--lisp/dired.el4
-rw-r--r--lisp/emacs-lisp/cl-loaddefs.el6
-rw-r--r--lisp/emulation/tpu-edt.el2
-rw-r--r--lisp/files.el5
-rw-r--r--lisp/gnus/ChangeLog6
-rw-r--r--lisp/gnus/message.el9
-rw-r--r--lisp/ibuffer.el2
-rw-r--r--lisp/jka-compr.el5
-rw-r--r--lisp/mail/rmail.el14
-rw-r--r--lisp/net/ldap.el3
-rw-r--r--lisp/net/tramp.el53
-rw-r--r--lisp/progmodes/grep.el11
-rw-r--r--lisp/ps-print.el2
-rw-r--r--lisp/tmm.el66
-rw-r--r--lisp/vc-bzr.el4
-rw-r--r--lisp/whitespace.el3
-rw-r--r--src/ChangeLog7
-rw-r--r--src/config.in3
-rw-r--r--src/s/netbsd.h3
29 files changed, 340 insertions, 134 deletions
diff --git a/ChangeLog b/ChangeLog
index 36e80a7bd9c..a4e2660bb26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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]
diff --git a/configure b/configure
index ead032e31c0..b408648498b 100755
--- a/configure
+++ b/configure
@@ -11833,6 +11833,72 @@ _ACEOF
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
diff --git a/configure.in b/configure.in
index 2cbd03067db..b15a0bf7a7f 100644
--- a/configure.in
+++ b/configure.in
@@ -2372,6 +2372,15 @@ AC_CHECK_FUNCS(getpt)
# 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
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index a374272135f..4825f08979f 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -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.
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 4df81caa8f2..530c2bb94f7 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1158,7 +1158,6 @@ links point to directories.
@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 @@ then the file name recorded for a buffer is the file's @dfn{truename}
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
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index 514ef956dc3..caa1bbccd19 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -90,20 +90,24 @@ Via the Emacs client program, @file{emacsclient.exe} or
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
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 1cff2853a27..e1180124c05 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -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.
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index c2e057783c5..1f66da98347 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -1920,51 +1920,22 @@ Don't try concatenating a slash by hand, as in
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
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b870299fc78..4fc3a1fb49e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 44e494e98a6..19cc01c5144 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -111,9 +111,15 @@ A nil value means sort by visited order (the default).")
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)
+(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 @@ Letters do not insert themselves; instead, they are commands.
;; 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 @@ For more information, see the function `buffer-menu'."
(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))))
diff --git a/lisp/dired.el b/lisp/dired.el
index 0812e2e61a1..306bd8f779a 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3532,7 +3532,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
;;;;;; 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 @@ true then the type of the file linked to by FILE is printed instead.
;;;***
;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el"
-;;;;;; "bb37ec379c0a523368794491b691fd8d")
+;;;;;; "48197b7ca054193643e01957196dd491")
;;; Generated autoloads from dired-x.el
(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el
index 7640a0b1575..e6ede1ed6d4 100644
--- a/lisp/emacs-lisp/cl-loaddefs.el
+++ b/lisp/emacs-lisp/cl-loaddefs.el
@@ -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 @@ Not documented
;;;;;; 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 @@ surrounded by (block NAME ...).
;;;;;; 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" "\
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el
index 80c62e1fdf8..f3a0c43eb96 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/emulation/tpu-edt.el
@@ -2438,7 +2438,7 @@ If FILE is nil, try to load a default file. The default file names are
;;;### (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" "\
diff --git a/lisp/files.el b/lisp/files.el
index 690caf13960..ab027b507f6 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -56,7 +56,10 @@ when it has unsaved changes."
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;
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index f8d0a1cb902..6a363c0b4f1 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -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 @@ See ChangeLog.2 for earlier changes.
;; add-log-time-zone-rule: t
;; End:
-;;; arch-tag: 3f33a3e7-090d-492b-bedd-02a1417d32b4
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 867798f9dcb..0ea0df46060 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -6493,7 +6493,13 @@ is a function used to switch to and display the mail buffer."
(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 @@ Used in `message-simplify-recipients'."
;; coding: iso-8859-1
;; End:
-;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0
;;; message.el ends here
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 6328d99291a..5113a34e268 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -2641,7 +2641,7 @@ will be inserted before the group at point."
;;;;;; 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" "\
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el
index 635f3ce8468..32f3d6d1f58 100644
--- a/lisp/jka-compr.el
+++ b/lisp/jka-compr.el
@@ -166,8 +166,11 @@ to keep: LEN chars starting BEG chars from the beginning."
(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
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 919c75604bc..1ca2e4b8dd1 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -4232,7 +4232,7 @@ encoded string (and the same mask) will decode the string."
;;; 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 @@ Edit the contents of this message.
;;;### (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 @@ With prefix argument N moves forward N messages with these labels.
;;;***
-;;;### (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 @@ attachments as specfied by `rmail-mime-attachment-dirs-alist'.
;;;***
;;;### (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 @@ This applies only to the current session.
;;;### (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 @@ If prefix argument REVERSE is non-nil, sorts in reverse order.
;;;### (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 @@ SENDERS is a string of regexps separated by commas.
;;;***
;;;### (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" "\
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el
index afdb0fe3e13..f1cc534ae85 100644
--- a/lisp/net/ldap.el
+++ b/lisp/net/ldap.el
@@ -558,7 +558,8 @@ an alist of attribute/value pairs."
(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
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 0ac5048ef3b..c40d65ca913 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -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 @@ shouldn't return t when it isn't."
;; 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 @@ on the remote host.")
(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 @@ This string is passed to `format', so percent characters need to be doubled.")
(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 @@ Goes through the list `tramp-inline-compress-commands'."
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 @@ function cell is returned to be applied on a buffer."
((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
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index dac14d07ef8..dd6dc025d5b 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -561,7 +561,10 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
(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 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
(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
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 52c0ab2b9c5..25cb9cac2df 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -6662,7 +6662,7 @@ If FACE is not a valid face name, use default face."
;; 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 "\
diff --git a/lisp/tmm.el b/lisp/tmm.el
index 3d8433e281f..0341b5384f0 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -168,14 +168,13 @@ Its value should be an event that has a binding in MENU."
;; 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 @@ Stores a list of all the shortcuts in the free variable `tmm-short-cuts'."
(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 @@ It uses the free variable `tmm-table-undef' to keep undefined keys."
(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))
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el
index a4b7d28cf87..41c9663fc77 100644
--- a/lisp/vc-bzr.el
+++ b/lisp/vc-bzr.el
@@ -605,7 +605,7 @@ property containing author and date information."
(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 @@ property containing author and date information."
(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)))
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index 353d7fef189..6608c0c2c50 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -1188,7 +1188,8 @@ See also `whitespace-newline' and `whitespace-display-mappings'."
: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)))
diff --git a/src/ChangeLog b/src/ChangeLog
index 2b22a2e07ff..dbb7be762a8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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.
diff --git a/src/config.in b/src/config.in
index ed103479441..0ccb13d7400 100644
--- a/src/config.in
+++ b/src/config.in
@@ -895,6 +895,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index 27605c2808f..4a9e31167e2 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -45,8 +45,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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