aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris2011-01-15 12:03:38 -0800
committerGlenn Morris2011-01-15 12:03:38 -0800
commit362b9d483c714a8fd87966ddbd8686850f870e34 (patch)
treee37a94fe030c9361fa28b4f3f5c8910cc7ab8448 /lisp
parentdab7376027ea499962b2916652c6f30b40eac6d9 (diff)
parent0ad254447b7542284a2eb3c63b0732edb9409af7 (diff)
downloademacs-362b9d483c714a8fd87966ddbd8686850f870e34.tar.gz
emacs-362b9d483c714a8fd87966ddbd8686850f870e34.zip
Merge from emacs-23 branch.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog51
-rw-r--r--lisp/buff-menu.el11
-rw-r--r--lisp/files.el5
-rw-r--r--lisp/jka-compr.el5
-rw-r--r--lisp/mail/rmailmm.el10
-rw-r--r--lisp/net/ldap.el3
-rw-r--r--lisp/net/tramp-sh.el36
-rw-r--r--lisp/net/tramp.el11
-rw-r--r--lisp/progmodes/grep.el11
-rw-r--r--lisp/tmm.el66
-rw-r--r--lisp/vc/vc-bzr.el2
-rw-r--r--lisp/whitespace.el3
12 files changed, 157 insertions, 57 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3c88bb33646..8c0bfe3aaeb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,54 @@
12011-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721).
4 (tmm-prompt): Simplify.
5 (tmm-add-prompt): Remove unused var `win'.
6
7 * whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810)
8 to minor mode which used nil accidentally to mean "turn off".
9
102011-01-15 Michael Albinus <michael.albinus@gmx.de>
11
12 * net/tramp-sh.el (tramp-find-inline-compress)
13 (tramp-get-inline-coding): Quote command after pipe symbol for
14 local calls under W32. (Bug#6784)
15
162011-01-15 Michael Albinus <michael.albinus@gmx.de>
17
18 * net/tramp.el (tramp-default-method): Initialize with pscp/plink
19 only when running under W32.
20
212011-01-15 Eli Zaretskii <eliz@gnu.org>
22
23 * progmodes/grep.el (grep-compute-defaults): Quote the program
24 file name after the pipe symbol in Grep templates. (Bug#6784)
25 * jka-compr.el (jka-compr-partial-uncompress): Likewise.
26
272011-01-15 Lennart Borgman <lennart.borgman@gmail.com>
28
29 * buff-menu.el (Buffer-menu-buffer-list): New var.
30 (Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
31 restricted buffer list is not lost on revert (Bug#7749).
32
332011-01-15 Eric Hanchrow <eric.hanchrow@gmail.com>
34
35 * net/ldap.el (ldap-search-internal): Discard stderr output.
36
372011-01-15 Eli Zaretskii <eliz@gnu.org>
38
39 * files.el (directory-abbrev-alist): Doc fix. (Bug#7777)
40
412011-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
42
43 * vc-bzr.el (vc-bzr-annotate-time): Tweak previous change.
44
452011-01-15 Kenichi Handa <handa@m17n.org>
46
47 * mail/rmailmm.el (rmail-mime-insert-bulk): Display an unknown
48 part as a plain text.
49 (rmail-mime-process-multipart): Set the default content-type to
50 nil for unknown multipart subtypes (bug#7651).
51
12011-01-14 Stefan Monnier <monnier@iro.umontreal.ca> 522011-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
2 53
3 * hexl.el (hexl-mode-old-*): Remove. 54 * hexl.el (hexl-mode-old-*): Remove.
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 4eac52ac4a5..70f48a8a58e 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -112,9 +112,15 @@ A nil value means sort by visited order (the default).")
112This variable determines whether reverting the buffer lists only 112This variable determines whether reverting the buffer lists only
113file buffers. It affects both manual reverting and reverting by 113file buffers. It affects both manual reverting and reverting by
114Auto Revert Mode.") 114Auto Revert Mode.")
115
116(make-variable-buffer-local 'Buffer-menu-files-only) 115(make-variable-buffer-local 'Buffer-menu-files-only)
117 116
117(defvar Buffer-menu--buffers nil
118 "If non-nil, list of buffers shown in the current buffer-menu.
119This variable determines whether reverting the buffer lists only
120this buffers. It affects both manual reverting and reverting by
121Auto Revert Mode.")
122(make-variable-buffer-local 'Buffer-menu--buffers)
123
118(defvar Info-current-file) ;; from info.el 124(defvar Info-current-file) ;; from info.el
119(defvar Info-current-node) ;; from info.el 125(defvar Info-current-node) ;; from info.el
120 126
@@ -282,7 +288,7 @@ Letters do not insert themselves; instead, they are commands.
282 ;; interactively current buffer is correctly identified with a `.' 288 ;; interactively current buffer is correctly identified with a `.'
283 ;; by `list-buffers-noselect'. 289 ;; by `list-buffers-noselect'.
284 (with-current-buffer (window-buffer) 290 (with-current-buffer (window-buffer)
285 (list-buffers-noselect Buffer-menu-files-only)) 291 (list-buffers-noselect Buffer-menu-files-only Buffer-menu--buffers))
286 (if oline 292 (if oline
287 (while (setq prop (next-single-property-change prop 'buffer)) 293 (while (setq prop (next-single-property-change prop 'buffer))
288 (when (eq (get-text-property prop 'buffer) oline) 294 (when (eq (get-text-property prop 'buffer) oline)
@@ -919,6 +925,7 @@ For more information, see the function `buffer-menu'."
919 (and desired-point 925 (and desired-point
920 (goto-char desired-point)) 926 (goto-char desired-point))
921 (setq Buffer-menu-files-only files-only) 927 (setq Buffer-menu-files-only files-only)
928 (setq Buffer-menu--buffers buffer-list)
922 (set-buffer-modified-p nil) 929 (set-buffer-modified-p nil)
923 (current-buffer)))) 930 (current-buffer))))
924 931
diff --git a/lisp/files.el b/lisp/files.el
index 1e03ba1920f..2223c1ae6b8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -57,7 +57,10 @@ when it has unsaved changes."
57A list of elements of the form (FROM . TO), each meaning to replace 57A list of elements of the form (FROM . TO), each meaning to replace
58FROM with TO when it appears in a directory name. This replacement is 58FROM with TO when it appears in a directory name. This replacement is
59done when setting up the default directory of a newly visited file. 59done when setting up the default directory of a newly visited file.
60*Every* FROM string ought to start with \"\\\\`\". 60
61FROM is matched against directory names anchored at the first
62character, so it should start with a \"\\\\`\", or, if directory
63names cannot have embedded newlines, with a \"^\".
61 64
62FROM and TO should be equivalent names, which refer to the 65FROM and TO should be equivalent names, which refer to the
63same directory. Do not use `~' in the TO strings; 66same directory. Do not use `~' in the TO strings;
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el
index 8c9866380b3..739fd3f1dd0 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."
166 (unwind-protect 166 (unwind-protect
167 (or (memq (call-process 167 (or (memq (call-process
168 jka-compr-shell infile t nil "-c" 168 jka-compr-shell infile t nil "-c"
169 ;; Windows shells need the program file name
170 ;; after the pipe symbol be quoted if they use
171 ;; forward slashes as directory separators.
169 (format 172 (format
170 "%s %s 2> %s | %s bs=%d skip=%d %s 2> %s" 173 "%s %s 2> %s | \"%s\" bs=%d skip=%d %s 2> %s"
171 prog 174 prog
172 (mapconcat 'identity args " ") 175 (mapconcat 'identity args " ")
173 err-file 176 err-file
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index ba1f39798e3..2221568e55f 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -742,7 +742,11 @@ directly."
742 (cond ((eq (cdr bulk-data) 'text) 742 (cond ((eq (cdr bulk-data) 'text)
743 (rmail-mime-insert-decoded-text entity)) 743 (rmail-mime-insert-decoded-text entity))
744 ((cdr bulk-data) 744 ((cdr bulk-data)
745 (rmail-mime-insert-image entity))))) 745 (rmail-mime-insert-image entity))
746 (t
747 ;; As we don't know how to display the body, just
748 ;; insert it as a text.
749 (rmail-mime-insert-decoded-text entity)))))
746 (put-text-property beg (point) 'rmail-mime-entity entity))) 750 (put-text-property beg (point) 'rmail-mime-entity entity)))
747 751
748(defun test-rmail-mime-bulk-handler () 752(defun test-rmail-mime-bulk-handler ()
@@ -820,7 +824,9 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
820 (cond ((string-match "mixed" subtype) 824 (cond ((string-match "mixed" subtype)
821 (setq content-type '("text/plain"))) 825 (setq content-type '("text/plain")))
822 ((string-match "digest" subtype) 826 ((string-match "digest" subtype)
823 (setq content-type '("message/rfc822")))) 827 (setq content-type '("message/rfc822")))
828 (t
829 (setq content-type nil)))
824 830
825 ;; Loop over all body parts, where beg points at the beginning of 831 ;; Loop over all body parts, where beg points at the beginning of
826 ;; the part and end points at the end of the part. next points at 832 ;; the part and end points at the end of the part. next points at
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el
index 88284af06f0..0de4c7f32d8 100644
--- a/lisp/net/ldap.el
+++ b/lisp/net/ldap.el
@@ -557,7 +557,8 @@ an alist of attribute/value pairs."
557 (not (equal "" sizelimit))) 557 (not (equal "" sizelimit)))
558 (setq arglist (nconc arglist (list (format "-z%s" sizelimit))))) 558 (setq arglist (nconc arglist (list (format "-z%s" sizelimit)))))
559 (apply #'call-process ldap-ldapsearch-prog 559 (apply #'call-process ldap-ldapsearch-prog
560 nil buf nil 560 ;; Ignore stderr, which can corrupt results
561 nil (list buf nil) nil
561 (append arglist ldap-ldapsearch-args filter)) 562 (append arglist ldap-ldapsearch-args filter))
562 (insert "\n") 563 (insert "\n")
563 (goto-char (point-min)) 564 (goto-char (point-min))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index ae7deeeb953..c50f4649e8e 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -803,7 +803,7 @@ This string is passed to `format', so percent characters need to be doubled.")
803(defconst tramp-perl-decode 803(defconst tramp-perl-decode
804 "%s -e ' 804 "%s -e '
805# This script contributed by Juanma Barranquero <lektu@terra.es>. 805# This script contributed by Juanma Barranquero <lektu@terra.es>.
806# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 806# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
807# Free Software Foundation, Inc. 807# Free Software Foundation, Inc.
808use strict; 808use strict;
809 809
@@ -4065,9 +4065,17 @@ Goes through the list `tramp-inline-compress-commands'."
4065 vec 5 4065 vec 5
4066 "Checking local compress command `%s', `%s' for sanity" 4066 "Checking local compress command `%s', `%s' for sanity"
4067 compress decompress) 4067 compress decompress)
4068 (unless (zerop (tramp-call-local-coding-command 4068 (unless
4069 (format "echo %s | %s | %s" 4069 (zerop
4070 magic compress decompress) nil nil)) 4070 (tramp-call-local-coding-command
4071 (format
4072 ;; Windows shells need the program file name after
4073 ;; the pipe symbol be quoted if they use forward
4074 ;; slashes as directory separators.
4075 (if (memq system-type '(windows-nt))
4076 "echo %s | \"%s\" | \"%s\""
4077 "echo %s | %s | %s")
4078 magic compress decompress) nil nil))
4071 (throw 'next nil)) 4079 (throw 'next nil))
4072 (tramp-message 4080 (tramp-message
4073 vec 5 4081 vec 5
@@ -4961,9 +4969,25 @@ function cell is returned to be applied on a buffer."
4961 ((symbolp coding) 4969 ((symbolp coding)
4962 coding) 4970 coding)
4963 ((and compress (string-match "decoding" prop)) 4971 ((and compress (string-match "decoding" prop))
4964 (format "(%s | %s >%%s)" coding compress)) 4972 (format
4973 ;; Windows shells need the program file name after
4974 ;; the pipe symbol be quoted if they use forward
4975 ;; slashes as directory separators.
4976 (if (and (string-match "local" prop)
4977 (memq system-type '(windows-nt)))
4978 "(%s | \"%s\" >%%s)"
4979 "(%s | %s >%%s)")
4980 coding compress))
4965 (compress 4981 (compress
4966 (format "(%s <%%s | %s)" compress coding)) 4982 (format
4983 ;; Windows shells need the program file name after
4984 ;; the pipe symbol be quoted if they use forward
4985 ;; slashes as directory separators.
4986 (if (and (string-match "local" prop)
4987 (memq system-type '(windows-nt)))
4988 "(%s <%%s | \"%s\")"
4989 "(%s <%%s | %s)")
4990 compress coding))
4967 ((string-match "decoding" prop) 4991 ((string-match "decoding" prop)
4968 (format "%s >%%s" coding)) 4992 (format "%s >%%s" coding))
4969 (t 4993 (t
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index cd9ef314acc..ef312af80ba 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1,7 +1,7 @@
1;;; tramp.el --- Transparent Remote Access, Multiple Protocol 1;;; tramp.el --- Transparent Remote Access, Multiple Protocol
2 2
3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
4;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. 4;; 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
5 5
6;; Author: Kai Großjohann <kai.grossjohann@gmx.net> 6;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
7;; Michael Albinus <michael.albinus@gmx.de> 7;; Michael Albinus <michael.albinus@gmx.de>
@@ -291,8 +291,11 @@ shouldn't return t when it isn't."
291 ;; password caching. "scpc" is chosen if we detect that the user is 291 ;; password caching. "scpc" is chosen if we detect that the user is
292 ;; running OpenSSH 4.0 or newer. 292 ;; running OpenSSH 4.0 or newer.
293 (cond 293 (cond
294 ;; PuTTY is installed. 294 ;; PuTTY is installed. We don't take it, if it is installed on a
295 ((executable-find "pscp") 295 ;; non-windows system, or pscp from the pssh (parallel ssh) package
296 ;; is found.
297 ((and (eq system-type 'windows-nt)
298 (executable-find "pscp"))
296 (if (or (fboundp 'password-read) 299 (if (or (fboundp 'password-read)
297 (fboundp 'auth-source-user-or-password) 300 (fboundp 'auth-source-user-or-password)
298 ;; Pageant is running. 301 ;; Pageant is running.
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 8e36d3f5c6d..b327cf6b87d 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -565,7 +565,10 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
565 (unless grep-find-command 565 (unless grep-find-command
566 (setq grep-find-command 566 (setq grep-find-command
567 (cond ((eq grep-find-use-xargs 'gnu) 567 (cond ((eq grep-find-use-xargs 'gnu)
568 (format "%s . -type f -print0 | %s -0 -e %s" 568 ;; Windows shells need the program file name
569 ;; after the pipe symbol be quoted if they use
570 ;; forward slashes as directory separators.
571 (format "%s . -type f -print0 | \"%s\" -0 -e %s"
569 find-program xargs-program grep-command)) 572 find-program xargs-program grep-command))
570 ((eq grep-find-use-xargs 'exec) 573 ((eq grep-find-use-xargs 'exec)
571 (let ((cmd0 (format "%s . -type f -exec %s" 574 (let ((cmd0 (format "%s . -type f -exec %s"
@@ -576,21 +579,21 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
576 (shell-quote-argument ";")) 579 (shell-quote-argument ";"))
577 (1+ (length cmd0))))) 580 (1+ (length cmd0)))))
578 (t 581 (t
579 (format "%s . -type f -print | %s %s" 582 (format "%s . -type f -print | \"%s\" %s"
580 find-program xargs-program grep-command))))) 583 find-program xargs-program grep-command)))))
581 (unless grep-find-template 584 (unless grep-find-template
582 (setq grep-find-template 585 (setq grep-find-template
583 (let ((gcmd (format "%s <C> %s <R>" 586 (let ((gcmd (format "%s <C> %s <R>"
584 grep-program grep-options))) 587 grep-program grep-options)))
585 (cond ((eq grep-find-use-xargs 'gnu) 588 (cond ((eq grep-find-use-xargs 'gnu)
586 (format "%s . <X> -type f <F> -print0 | %s -0 -e %s" 589 (format "%s . <X> -type f <F> -print0 | \"%s\" -0 -e %s"
587 find-program xargs-program gcmd)) 590 find-program xargs-program gcmd))
588 ((eq grep-find-use-xargs 'exec) 591 ((eq grep-find-use-xargs 'exec)
589 (format "%s . <X> -type f <F> -exec %s {} %s %s" 592 (format "%s . <X> -type f <F> -exec %s {} %s %s"
590 find-program gcmd null-device 593 find-program gcmd null-device
591 (shell-quote-argument ";"))) 594 (shell-quote-argument ";")))
592 (t 595 (t
593 (format "%s . <X> -type f <F> -print | %s %s" 596 (format "%s . <X> -type f <F> -print | \"%s\" %s"
594 find-program xargs-program gcmd)))))))) 597 find-program xargs-program gcmd))))))))
595 (when (eq grep-highlight-matches 'auto-detect) 598 (when (eq grep-highlight-matches 'auto-detect)
596 (setq grep-highlight-matches 599 (setq grep-highlight-matches
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."
168 ;; It has no other elements. 168 ;; It has no other elements.
169 ;; The order of elements in tmm-km-list is the order of the menu bar. 169 ;; The order of elements in tmm-km-list is the order of the menu bar.
170 (mapc (lambda (elt) 170 (mapc (lambda (elt)
171 (if (stringp elt) 171 (cond
172 (setq gl-str elt) 172 ((stringp elt) (setq gl-str elt))
173 (cond 173 ((listp elt) (tmm-get-keymap elt not-menu))
174 ((listp elt) (tmm-get-keymap elt not-menu)) 174 ((vectorp elt)
175 ((vectorp elt) 175 (dotimes (i (length elt))
176 (dotimes (i (length elt)) 176 (tmm-get-keymap (cons i (aref elt i)) not-menu)))))
177 (tmm-get-keymap (cons i (aref elt i)) not-menu)))))) 177 menu)
178 menu)
179 ;; Choose an element of tmm-km-list; put it in choice. 178 ;; Choose an element of tmm-km-list; put it in choice.
180 (if (and not-menu (= 1 (length tmm-km-list))) 179 (if (and not-menu (= 1 (length tmm-km-list)))
181 ;; If this is the top-level of an x-popup-menu menu, 180 ;; 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'."
368 (add-hook 'minibuffer-exit-hook 'tmm-delete-map nil t) 367 (add-hook 'minibuffer-exit-hook 'tmm-delete-map nil t)
369 (unless tmm-c-prompt 368 (unless tmm-c-prompt
370 (error "No active menu entries")) 369 (error "No active menu entries"))
371 (let ((win (selected-window))) 370 (setq tmm-old-mb-map (tmm-define-keys t))
372 (setq tmm-old-mb-map (tmm-define-keys t)) 371 ;; Get window and hide it for electric mode to get correct size
373 ;; Get window and hide it for electric mode to get correct size 372 (save-window-excursion
374 (save-window-excursion 373 (let ((completions
375 (let ((completions 374 (mapcar 'car minibuffer-completion-table)))
376 (mapcar 'car minibuffer-completion-table))) 375 (or tmm-completion-prompt
377 (or tmm-completion-prompt 376 (add-hook 'completion-setup-hook
378 (add-hook 'completion-setup-hook 377 'tmm-completion-delete-prompt 'append))
379 'tmm-completion-delete-prompt 'append)) 378 (unwind-protect
380 (unwind-protect 379 (with-output-to-temp-buffer "*Completions*"
381 (with-output-to-temp-buffer "*Completions*" 380 (display-completion-list completions))
382 (display-completion-list completions)) 381 (remove-hook 'completion-setup-hook 'tmm-completion-delete-prompt)))
383 (remove-hook 'completion-setup-hook 'tmm-completion-delete-prompt))) 382 (set-buffer "*Completions*")
384 (set-buffer "*Completions*") 383 (tmm-remove-inactive-mouse-face)
385 (tmm-remove-inactive-mouse-face) 384 (when tmm-completion-prompt
386 (when tmm-completion-prompt 385 (let ((buffer-read-only nil))
387 (let ((buffer-read-only nil)) 386 (goto-char (point-min))
388 (goto-char (point-min)) 387 (insert tmm-completion-prompt))))
389 (insert tmm-completion-prompt)))) 388 (save-selected-window
390 (save-selected-window 389 (other-window 1) ; Electric-pop-up-window does
391 (other-window 1) ; Electric-pop-up-window does
392 ; not work in minibuffer 390 ; not work in minibuffer
393 (Electric-pop-up-window "*Completions*") 391 (Electric-pop-up-window "*Completions*")
394 (with-current-buffer "*Completions*" 392 (with-current-buffer "*Completions*"
395 (setq tmm-old-comp-map (tmm-define-keys nil)))) 393 (setq tmm-old-comp-map (tmm-define-keys nil))))
396 (insert tmm-c-prompt))) 394 (insert tmm-c-prompt))
397 395
398(defun tmm-delete-map () 396(defun tmm-delete-map ()
399 (remove-hook 'minibuffer-exit-hook 'tmm-delete-map t) 397 (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."
497 (if (or in-x-menu (stringp (car-safe elt))) 495 (if (or in-x-menu (stringp (car-safe elt)))
498 (setq str event event nil km elt) 496 (setq str event event nil km elt)
499 (setq str event event nil km (cons 'keymap elt))))) 497 (setq str event event nil km (cons 'keymap elt)))))
500 (unless (eq km 'ignore) 498 (unless (or (eq km 'ignore) (null str))
501 (let ((binding (where-is-internal km nil t))) 499 (let ((binding (where-is-internal km nil t)))
502 (when binding 500 (when binding
503 (setq binding (key-description binding)) 501 (setq binding (key-description binding))
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index d5d3c9d4888..1f368e1169b 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -750,7 +750,7 @@ property containing author and date information."
750(declare-function vc-annotate-convert-time "vc-annotate" (time)) 750(declare-function vc-annotate-convert-time "vc-annotate" (time))
751 751
752(defun vc-bzr-annotate-time () 752(defun vc-bzr-annotate-time ()
753 (when (re-search-forward "^ *[0-9.]+ +.* +|" nil t) 753 (when (re-search-forward "^ *[0-9.]+ +.+? +|" nil t)
754 (let ((prop (get-text-property (line-beginning-position) 'help-echo))) 754 (let ((prop (get-text-property (line-beginning-position) 'help-echo)))
755 (string-match "[0-9]+\\'" prop) 755 (string-match "[0-9]+\\'" prop)
756 (let ((str (match-string-no-properties 0 prop))) 756 (let ((str (match-string-no-properties 0 prop)))
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index 6a8b3b671e8..16f9bb451f5 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -1188,7 +1188,8 @@ See also `whitespace-newline' and `whitespace-display-mappings'."
1188 :global t 1188 :global t
1189 :group 'whitespace 1189 :group 'whitespace
1190 (let ((whitespace-style '(newline-mark newline))) 1190 (let ((whitespace-style '(newline-mark newline)))
1191 (global-whitespace-mode global-whitespace-newline-mode) 1191 (global-whitespace-mode (if global-whitespace-newline-mode
1192 1 -1))
1192 ;; sync states (running a batch job) 1193 ;; sync states (running a batch job)
1193 (setq global-whitespace-newline-mode global-whitespace-mode))) 1194 (setq global-whitespace-newline-mode global-whitespace-mode)))
1194 1195