diff options
| author | Glenn Morris | 2011-01-15 12:03:38 -0800 |
|---|---|---|
| committer | Glenn Morris | 2011-01-15 12:03:38 -0800 |
| commit | 362b9d483c714a8fd87966ddbd8686850f870e34 (patch) | |
| tree | e37a94fe030c9361fa28b4f3f5c8910cc7ab8448 /lisp | |
| parent | dab7376027ea499962b2916652c6f30b40eac6d9 (diff) | |
| parent | 0ad254447b7542284a2eb3c63b0732edb9409af7 (diff) | |
| download | emacs-362b9d483c714a8fd87966ddbd8686850f870e34.tar.gz emacs-362b9d483c714a8fd87966ddbd8686850f870e34.zip | |
Merge from emacs-23 branch.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 51 | ||||
| -rw-r--r-- | lisp/buff-menu.el | 11 | ||||
| -rw-r--r-- | lisp/files.el | 5 | ||||
| -rw-r--r-- | lisp/jka-compr.el | 5 | ||||
| -rw-r--r-- | lisp/mail/rmailmm.el | 10 | ||||
| -rw-r--r-- | lisp/net/ldap.el | 3 | ||||
| -rw-r--r-- | lisp/net/tramp-sh.el | 36 | ||||
| -rw-r--r-- | lisp/net/tramp.el | 11 | ||||
| -rw-r--r-- | lisp/progmodes/grep.el | 11 | ||||
| -rw-r--r-- | lisp/tmm.el | 66 | ||||
| -rw-r--r-- | lisp/vc/vc-bzr.el | 2 | ||||
| -rw-r--r-- | lisp/whitespace.el | 3 |
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 @@ | |||
| 1 | 2011-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 | |||
| 10 | 2011-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 | |||
| 16 | 2011-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 | |||
| 21 | 2011-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 | |||
| 27 | 2011-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 | |||
| 33 | 2011-01-15 Eric Hanchrow <eric.hanchrow@gmail.com> | ||
| 34 | |||
| 35 | * net/ldap.el (ldap-search-internal): Discard stderr output. | ||
| 36 | |||
| 37 | 2011-01-15 Eli Zaretskii <eliz@gnu.org> | ||
| 38 | |||
| 39 | * files.el (directory-abbrev-alist): Doc fix. (Bug#7777) | ||
| 40 | |||
| 41 | 2011-01-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 42 | |||
| 43 | * vc-bzr.el (vc-bzr-annotate-time): Tweak previous change. | ||
| 44 | |||
| 45 | 2011-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 | |||
| 1 | 2011-01-14 Stefan Monnier <monnier@iro.umontreal.ca> | 52 | 2011-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).") | |||
| 112 | This variable determines whether reverting the buffer lists only | 112 | This variable determines whether reverting the buffer lists only |
| 113 | file buffers. It affects both manual reverting and reverting by | 113 | file buffers. It affects both manual reverting and reverting by |
| 114 | Auto Revert Mode.") | 114 | Auto 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. | ||
| 119 | This variable determines whether reverting the buffer lists only | ||
| 120 | this buffers. It affects both manual reverting and reverting by | ||
| 121 | Auto 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." | |||
| 57 | A list of elements of the form (FROM . TO), each meaning to replace | 57 | A list of elements of the form (FROM . TO), each meaning to replace |
| 58 | FROM with TO when it appears in a directory name. This replacement is | 58 | FROM with TO when it appears in a directory name. This replacement is |
| 59 | done when setting up the default directory of a newly visited file. | 59 | done when setting up the default directory of a newly visited file. |
| 60 | *Every* FROM string ought to start with \"\\\\`\". | 60 | |
| 61 | FROM is matched against directory names anchored at the first | ||
| 62 | character, so it should start with a \"\\\\`\", or, if directory | ||
| 63 | names cannot have embedded newlines, with a \"^\". | ||
| 61 | 64 | ||
| 62 | FROM and TO should be equivalent names, which refer to the | 65 | FROM and TO should be equivalent names, which refer to the |
| 63 | same directory. Do not use `~' in the TO strings; | 66 | same 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. |
| 808 | use strict; | 808 | use 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 | ||