diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 44 | ||||
| -rw-r--r-- | lisp/erc/ChangeLog | 2 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/gnus/gnus-group.el | 7 | ||||
| -rw-r--r-- | lisp/ido.el | 85 | ||||
| -rw-r--r-- | lisp/mh-e/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/mh-e/mh-e.el | 134 | ||||
| -rw-r--r-- | lisp/pcomplete.el | 4 | ||||
| -rw-r--r-- | lisp/pcvs-util.el | 12 | ||||
| -rw-r--r-- | lisp/shell.el | 6 | ||||
| -rw-r--r-- | lisp/speedbar.el | 2 |
11 files changed, 215 insertions, 93 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 48ead8f51ff..52486191495 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,40 @@ | |||
| 1 | 2006-04-02 Drew Adams <drew.adams@oracle.com> (tiny change) | ||
| 2 | |||
| 3 | * speedbar.el (speedbar-after-create-hook): Doc fix. | ||
| 4 | |||
| 5 | 2006-04-02 Michael Ernst <mernst@alum.mit.edu> | ||
| 6 | |||
| 7 | * shell.el (shell-directory-tracker) | ||
| 8 | (shell-dynamic-complete-command): Doc fixes. | ||
| 9 | |||
| 10 | 2006-04-01 Matt Hodges <MPHodges@member.fsf.org> | ||
| 11 | |||
| 12 | * pcomplete.el (pcomplete-show-completions): Recognize TAB on text | ||
| 13 | terminals. | ||
| 14 | |||
| 15 | 2006-04-01 Kim F. Storm <storm@cua.dk> | ||
| 16 | |||
| 17 | * ido.el (ido-unc-hosts-cache): New defvar. | ||
| 18 | (ido-unc-hosts): If value of defcustom is a function, call it to | ||
| 19 | get list of UNC hosts. Add function-item choices to specify | ||
| 20 | ido-unc-hosts-net-view or user function. | ||
| 21 | (ido-ignore-unc-host-regexps): New defcustom. | ||
| 22 | (ido-unc-hosts-net-view, ido-unc-hosts): New functions. | ||
| 23 | (ido-is-unc-root, ido-is-unc-host, ido-file-name-all-completions) | ||
| 24 | (ido-exhibit): Call ido-unc-hosts to get list of UNC hosts. | ||
| 25 | |||
| 26 | 2006-03-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 27 | |||
| 28 | * pcvs-util.el (cvs-insert-strings): Fix bug with strings longer than | ||
| 29 | wwidth. | ||
| 30 | |||
| 31 | 2006-03-31 Juanma Barranquero <lekktu@gmail.com> | ||
| 32 | |||
| 33 | * ido.el (ido-cache-unc-host-shares-time, ido-report-no-match) | ||
| 34 | (ido-max-work-file-list, ido-switch-buffer) | ||
| 35 | (ido-read-file-name-as-directory-commands): | ||
| 36 | Fix typos in docstrings. | ||
| 37 | |||
| 1 | 2006-03-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 38 | 2006-03-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 39 | ||
| 3 | * term/mac-win.el (mac-system-coding-system): Define and use after | 40 | * term/mac-win.el (mac-system-coding-system): Define and use after |
| @@ -433,11 +470,6 @@ | |||
| 433 | * tree-widget.el (tree-widget-themes-load-path) | 470 | * tree-widget.el (tree-widget-themes-load-path) |
| 434 | (tree-widget-themes-directory, tree-widget-theme): Doc fix. | 471 | (tree-widget-themes-directory, tree-widget-theme): Doc fix. |
| 435 | 472 | ||
| 436 | 2006-03-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 437 | |||
| 438 | * pcvs-util.el (cvs-insert-strings): Fix bug with strings longer than | ||
| 439 | wwidth. | ||
| 440 | |||
| 441 | 2006-03-13 Ryan Yeske <rcyeske@gmail.com> | 473 | 2006-03-13 Ryan Yeske <rcyeske@gmail.com> |
| 442 | 474 | ||
| 443 | * net/rcirc.el (rcirc) <defgroup>: Add link to manual. | 475 | * net/rcirc.el (rcirc) <defgroup>: Add link to manual. |
| @@ -15172,7 +15204,7 @@ | |||
| 15172 | * add-log.el (change-log-font-lock-keywords): Make the regexp for | 15204 | * add-log.el (change-log-font-lock-keywords): Make the regexp for |
| 15173 | date lines stricter. | 15205 | date lines stricter. |
| 15174 | 15206 | ||
| 15175 | 2005-06-10 Zhang Wei <id.brep@gmail.com> (tiny change) | 15207 | 2005-06-10 Zhang Wei <id.brep@gmail.com> |
| 15176 | 15208 | ||
| 15177 | * term/x-win.el (x-clipboard-yank): Use x-selection-value instead | 15209 | * term/x-win.el (x-clipboard-yank): Use x-selection-value instead |
| 15178 | of x-get-selection. | 15210 | of x-get-selection. |
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 5781a442c08..67799d73049 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -197,7 +197,7 @@ | |||
| 197 | 197 | ||
| 198 | * erc.el (erc-version-string): Release ERC 5.1.1. | 198 | * erc.el (erc-version-string): Release ERC 5.1.1. |
| 199 | 199 | ||
| 200 | 2006-02-03 Zhang Wei <id.brep@gmail.com> (tiny change) | 200 | 2006-02-03 Zhang Wei <id.brep@gmail.com> |
| 201 | 201 | ||
| 202 | * erc.el (erc-version-string): Don't hard-code Emacs version. | 202 | * erc.el (erc-version-string): Don't hard-code Emacs version. |
| 203 | (erc-version): Use emacs-version. | 203 | (erc-version): Use emacs-version. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 71940cac0db..d39ab0a1455 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2006-03-31 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * gnus-group.el (gnus-group-update-tool-bar): Add :initialize and | ||
| 4 | :set. | ||
| 5 | |||
| 1 | 2006-03-23 Katsumi Yamaoka <yamaoka@jpl.org> | 6 | 2006-03-23 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 7 | ||
| 3 | * mml.el (mml-insert-mime): Ignore cached contents of | 8 | * mml.el (mml-insert-mime): Ignore cached contents of |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 0ed72433115..24e4df14712 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -1389,6 +1389,13 @@ if it is a string, only list groups matching REGEXP." | |||
| 1389 | "Force updating the group buffer tool bar." | 1389 | "Force updating the group buffer tool bar." |
| 1390 | :group 'gnus-group | 1390 | :group 'gnus-group |
| 1391 | :version "22.1" | 1391 | :version "22.1" |
| 1392 | :initialize 'custom-initialize-default | ||
| 1393 | :set (lambda (symbol value) | ||
| 1394 | (set-default symbol value) | ||
| 1395 | (when (gnus-alive-p) | ||
| 1396 | (with-current-buffer gnus-group-buffer | ||
| 1397 | ;; FIXME: Is there a better way to redraw the group buffer? | ||
| 1398 | (gnus-group-get-new-news 0)))) | ||
| 1392 | :type 'boolean) | 1399 | :type 'boolean) |
| 1393 | 1400 | ||
| 1394 | (defun gnus-group-insert-group-line (gnus-tmp-group gnus-tmp-level | 1401 | (defun gnus-group-insert-group-line (gnus-tmp-group gnus-tmp-level |
diff --git a/lisp/ido.el b/lisp/ido.el index 6bc2f45709f..e4ec2be700d 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -630,22 +630,41 @@ equivalent function, e.g. `find-file' rather than `ido-find-file'." | |||
| 630 | :type '(repeat regexp) | 630 | :type '(repeat regexp) |
| 631 | :group 'ido) | 631 | :group 'ido) |
| 632 | 632 | ||
| 633 | (defvar ido-unc-hosts-cache t | ||
| 634 | "Cached value from ido-unc-hosts function.") | ||
| 635 | |||
| 633 | (defcustom ido-unc-hosts nil | 636 | (defcustom ido-unc-hosts nil |
| 634 | "*List of known UNC host names to complete after initial //." | 637 | "*List of known UNC host names to complete after initial //. |
| 635 | :type '(repeat string) | 638 | If value is a function, that function is called to search network for |
| 639 | hosts on first use of UNC path." | ||
| 640 | :type '(choice (repeat :tag "List of UNC host names" string) | ||
| 641 | (function-item :tag "Use `NET VIEW'" | ||
| 642 | :value ido-unc-hosts-net-view) | ||
| 643 | (function :tag "Your own function")) | ||
| 644 | :set #'(lambda (symbol value) | ||
| 645 | (set symbol value) | ||
| 646 | (setq ido-unc-hosts-cache t)) | ||
| 647 | :group 'ido) | ||
| 648 | |||
| 649 | (defcustom ido-ignore-unc-host-regexps nil | ||
| 650 | "*List of regexps matching UNC hosts to ignore." | ||
| 651 | :type '(repeat regexp) | ||
| 652 | :set #'(lambda (symbol value) | ||
| 653 | (set symbol value) | ||
| 654 | (setq ido-unc-hosts-cache t)) | ||
| 636 | :group 'ido) | 655 | :group 'ido) |
| 637 | 656 | ||
| 638 | (defcustom ido-cache-unc-host-shares-time 8.0 | 657 | (defcustom ido-cache-unc-host-shares-time 8.0 |
| 639 | "*Maximum time to cache shares of an UNC host (in hours). | 658 | "*Maximum time to cache shares of an UNC host (in hours). |
| 640 | Use C-l in prompt to refresh list. | 659 | Use C-l in prompt to refresh list. |
| 641 | If zero, unc host shares are not cached." | 660 | If zero, UNC host shares are not cached." |
| 642 | :type 'number | 661 | :type 'number |
| 643 | :group 'ido) | 662 | :group 'ido) |
| 644 | 663 | ||
| 645 | (defcustom ido-max-work-file-list 10 | 664 | (defcustom ido-max-work-file-list 10 |
| 646 | "*Maximum number of names of recently opened files to record. | 665 | "*Maximum number of names of recently opened files to record. |
| 647 | This is the list the file names (sans directory) which have most recently | 666 | This is the list the file names (sans directory) which have most recently |
| 648 | been opened. See `ido-work-file-list' and `ido-save-directory-list-file'." | 667 | been opened. See `ido-work-file-list' and `ido-save-directory-list-file'." |
| 649 | :type 'integer | 668 | :type 'integer |
| 650 | :group 'ido) | 669 | :group 'ido) |
| 651 | 670 | ||
| @@ -891,7 +910,7 @@ Must be set before enabling ido mode." | |||
| 891 | :group 'ido) | 910 | :group 'ido) |
| 892 | 911 | ||
| 893 | (defcustom ido-read-file-name-as-directory-commands '() | 912 | (defcustom ido-read-file-name-as-directory-commands '() |
| 894 | "List of commands which uses read-file-name to read a directory name. | 913 | "List of commands which uses `read-file-name' to read a directory name. |
| 895 | When `ido-everywhere' is non-nil, the commands in this list will read | 914 | When `ido-everywhere' is non-nil, the commands in this list will read |
| 896 | the directory using `ido-read-directory-name'." | 915 | the directory using `ido-read-directory-name'." |
| 897 | :type '(repeat symbol) | 916 | :type '(repeat symbol) |
| @@ -988,7 +1007,7 @@ Copied from `icomplete-eoinput'.") | |||
| 988 | "List of files currently matching `ido-text'.") | 1007 | "List of files currently matching `ido-text'.") |
| 989 | 1008 | ||
| 990 | (defvar ido-report-no-match t | 1009 | (defvar ido-report-no-match t |
| 991 | "Report [No Match] when no completions matches ido-text.") | 1010 | "Report [No Match] when no completions matches `ido-text'.") |
| 992 | 1011 | ||
| 993 | (defvar ido-exit nil | 1012 | (defvar ido-exit nil |
| 994 | "Flag to monitor how `ido-find-file' exits. | 1013 | "Flag to monitor how `ido-find-file' exits. |
| @@ -1111,18 +1130,58 @@ it doesn't interfere with other minibuffer usage.") | |||
| 1111 | (pop-to-buffer b t t) | 1130 | (pop-to-buffer b t t) |
| 1112 | (setq truncate-lines t))))) | 1131 | (setq truncate-lines t))))) |
| 1113 | 1132 | ||
| 1133 | (defun ido-unc-hosts (&optional query) | ||
| 1134 | "Return list of UNC host names." | ||
| 1135 | (cond | ||
| 1136 | ((listp ido-unc-hosts) | ||
| 1137 | ido-unc-hosts) ;; static list or nil | ||
| 1138 | ((listp ido-unc-hosts-cache) | ||
| 1139 | ido-unc-hosts-cache) ;; result of net search | ||
| 1140 | ((and query (fboundp ido-unc-hosts)) | ||
| 1141 | (message "Searching for UNC hosts...") | ||
| 1142 | (let ((hosts (funcall ido-unc-hosts)) host re-list re) | ||
| 1143 | (setq ido-unc-hosts-cache nil) | ||
| 1144 | (while hosts | ||
| 1145 | (setq host (downcase (car hosts)) | ||
| 1146 | hosts (cdr hosts) | ||
| 1147 | re-list ido-ignore-unc-host-regexps) | ||
| 1148 | (while re-list | ||
| 1149 | (setq re (car re-list) | ||
| 1150 | re-list (cdr re-list)) | ||
| 1151 | (if (string-match re host) | ||
| 1152 | (setq re-list nil | ||
| 1153 | host nil))) | ||
| 1154 | (if host | ||
| 1155 | (setq ido-unc-hosts-cache (cons host ido-unc-hosts-cache))))) | ||
| 1156 | (message nil) | ||
| 1157 | (setq ido-unc-hosts-cache | ||
| 1158 | (sort ido-unc-hosts-cache #'string<))) | ||
| 1159 | (query | ||
| 1160 | (setq ido-unc-hosts-cache nil)) | ||
| 1161 | (t (fboundp ido-unc-hosts)))) | ||
| 1162 | |||
| 1163 | (defun ido-unc-hosts-net-view () | ||
| 1164 | "Query network for list of UNC host names using `NET VIEW'." | ||
| 1165 | (let (hosts) | ||
| 1166 | (with-temp-buffer | ||
| 1167 | (shell-command "net view" t) | ||
| 1168 | (goto-char (point-min)) | ||
| 1169 | (while (re-search-forward "^\\\\\\\\\\([[:graph:]]+\\)" nil t) | ||
| 1170 | (setq hosts (cons (match-string 1) hosts)))) | ||
| 1171 | hosts)) | ||
| 1172 | |||
| 1114 | (defun ido-is-tramp-root (&optional dir) | 1173 | (defun ido-is-tramp-root (&optional dir) |
| 1115 | (and ido-enable-tramp-completion | 1174 | (and ido-enable-tramp-completion |
| 1116 | (string-match "\\`/[^/]+[@:]\\'" | 1175 | (string-match "\\`/[^/]+[@:]\\'" |
| 1117 | (or dir ido-current-directory)))) | 1176 | (or dir ido-current-directory)))) |
| 1118 | 1177 | ||
| 1119 | (defun ido-is-unc-root (&optional dir) | 1178 | (defun ido-is-unc-root (&optional dir) |
| 1120 | (and ido-unc-hosts | 1179 | (and (ido-unc-hosts) |
| 1121 | (string-equal "//" | 1180 | (string-equal "//" |
| 1122 | (or dir ido-current-directory)))) | 1181 | (or dir ido-current-directory)))) |
| 1123 | 1182 | ||
| 1124 | (defun ido-is-unc-host (&optional dir) | 1183 | (defun ido-is-unc-host (&optional dir) |
| 1125 | (and ido-unc-hosts | 1184 | (and (ido-unc-hosts) |
| 1126 | (string-match "\\`//[^/]+/\\'" | 1185 | (string-match "\\`//[^/]+/\\'" |
| 1127 | (or dir ido-current-directory)))) | 1186 | (or dir ido-current-directory)))) |
| 1128 | 1187 | ||
| @@ -1699,7 +1758,7 @@ With ARG, turn ido speed-up on if arg is positive, off otherwise." | |||
| 1699 | ;; the relevant function is called (find-file, write-file, etc). | 1758 | ;; the relevant function is called (find-file, write-file, etc). |
| 1700 | 1759 | ||
| 1701 | (defun ido-read-internal (item prompt history &optional default require-match initial) | 1760 | (defun ido-read-internal (item prompt history &optional default require-match initial) |
| 1702 | "Perform the ido-read-buffer and ido-read-file-name functions. | 1761 | "Perform the `ido-read-buffer' and `ido-read-file-name' functions. |
| 1703 | Return the name of a buffer or file selected. | 1762 | Return the name of a buffer or file selected. |
| 1704 | PROMPT is the prompt to give to the user. | 1763 | PROMPT is the prompt to give to the user. |
| 1705 | DEFAULT if given is the default directory to start with. | 1764 | DEFAULT if given is the default directory to start with. |
| @@ -3238,7 +3297,7 @@ for first matching file." | |||
| 3238 | (mapcar | 3297 | (mapcar |
| 3239 | (lambda (host) | 3298 | (lambda (host) |
| 3240 | (if (string-match "/\\'" host) host (concat host "/"))) | 3299 | (if (string-match "/\\'" host) host (concat host "/"))) |
| 3241 | ido-unc-hosts)) | 3300 | (ido-unc-hosts t))) |
| 3242 | ((and (numberp ido-max-dir-file-cache) (> ido-max-dir-file-cache 0) | 3301 | ((and (numberp ido-max-dir-file-cache) (> ido-max-dir-file-cache 0) |
| 3243 | (stringp dir) (> (length dir) 0) | 3302 | (stringp dir) (> (length dir) 0) |
| 3244 | (ido-may-cache-directory dir)) | 3303 | (ido-may-cache-directory dir)) |
| @@ -3734,7 +3793,7 @@ default is to show it in the same window, unless it is already visible | |||
| 3734 | in another frame. | 3793 | in another frame. |
| 3735 | 3794 | ||
| 3736 | As you type in a string, all of the buffers matching the string are | 3795 | As you type in a string, all of the buffers matching the string are |
| 3737 | displayed if substring-matching is used \(default). Look at | 3796 | displayed if substring-matching is used \(default). Look at |
| 3738 | `ido-enable-prefix' and `ido-toggle-prefix'. When you have found the | 3797 | `ido-enable-prefix' and `ido-toggle-prefix'. When you have found the |
| 3739 | buffer you want, it can then be selected. As you type, most keys have | 3798 | buffer you want, it can then be selected. As you type, most keys have |
| 3740 | their normal keybindings, except for the following: \\<ido-buffer-completion-map> | 3799 | their normal keybindings, except for the following: \\<ido-buffer-completion-map> |
| @@ -3757,7 +3816,7 @@ in a separate window. | |||
| 3757 | \\[ido-toggle-prefix] Toggle between substring and prefix matching. | 3816 | \\[ido-toggle-prefix] Toggle between substring and prefix matching. |
| 3758 | \\[ido-toggle-case] Toggle case-sensitive searching of buffer names. | 3817 | \\[ido-toggle-case] Toggle case-sensitive searching of buffer names. |
| 3759 | \\[ido-completion-help] Show list of matching buffers in separate window. | 3818 | \\[ido-completion-help] Show list of matching buffers in separate window. |
| 3760 | \\[ido-enter-find-file] Drop into ido-find-file. | 3819 | \\[ido-enter-find-file] Drop into `ido-find-file'. |
| 3761 | \\[ido-kill-buffer-at-head] Kill buffer at head of buffer list. | 3820 | \\[ido-kill-buffer-at-head] Kill buffer at head of buffer list. |
| 3762 | \\[ido-toggle-ignore] Toggle ignoring buffers listed in `ido-ignore-buffers'." | 3821 | \\[ido-toggle-ignore] Toggle ignoring buffers listed in `ido-ignore-buffers'." |
| 3763 | (interactive) | 3822 | (interactive) |
| @@ -4026,7 +4085,7 @@ For details of keybindings, do `\\[describe-function] ido-find-file'." | |||
| 4026 | ((and (ido-is-tramp-root) (string-equal contents "/")) | 4085 | ((and (ido-is-tramp-root) (string-equal contents "/")) |
| 4027 | (ido-set-current-directory ido-current-directory contents) | 4086 | (ido-set-current-directory ido-current-directory contents) |
| 4028 | (setq refresh t)) | 4087 | (setq refresh t)) |
| 4029 | ((and ido-unc-hosts (string-equal contents "/") | 4088 | ((and (ido-unc-hosts) (string-equal contents "/") |
| 4030 | (let ((ido-enable-tramp-completion nil)) | 4089 | (let ((ido-enable-tramp-completion nil)) |
| 4031 | (ido-is-root-directory))) | 4090 | (ido-is-root-directory))) |
| 4032 | (ido-set-current-directory "//") | 4091 | (ido-set-current-directory "//") |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 64876717392..fa66eaca664 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2006-03-31 Bill Wohler <wohler@newt.com> | ||
| 2 | |||
| 3 | * mh-e.el (mh-strip-package-version): Move before use to avoid | ||
| 4 | compiler error. Make macro, also to avoid compiler error. | ||
| 5 | (mh-defface-compat): Incorporate body into mh-face-data and | ||
| 6 | delete. | ||
| 7 | |||
| 1 | 2006-03-30 Bill Wohler <wohler@newt.com> | 8 | 2006-03-30 Bill Wohler <wohler@newt.com> |
| 2 | 9 | ||
| 3 | * mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to | 10 | * mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to |
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index ce2db4fb66e..5f1c66e58d8 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el | |||
| @@ -895,6 +895,19 @@ necessary and can actually cause problems." | |||
| 895 | 895 | ||
| 896 | ;; Temporary function and data structure used customization. | 896 | ;; Temporary function and data structure used customization. |
| 897 | ;; These will be unbound after the options are defined. | 897 | ;; These will be unbound after the options are defined. |
| 898 | (defmacro mh-strip-package-version (args) | ||
| 899 | "Strip :package-version keyword and its value from ARGS. | ||
| 900 | In Emacs versions that support the :package-version keyword, | ||
| 901 | ARGS is returned unchanged." | ||
| 902 | `(if (boundp 'customize-package-emacs-version-alist) | ||
| 903 | ,args | ||
| 904 | (let (seen) | ||
| 905 | (loop for keyword in ,args | ||
| 906 | if (cond ((eq keyword ':package-version) (setq seen t) nil) | ||
| 907 | (seen (setq seen nil) nil) | ||
| 908 | (t t)) | ||
| 909 | collect keyword)))) | ||
| 910 | |||
| 898 | (defmacro mh-defgroup (symbol members doc &rest args) | 911 | (defmacro mh-defgroup (symbol members doc &rest args) |
| 899 | "Declare SYMBOL as a customization group containing MEMBERS. | 912 | "Declare SYMBOL as a customization group containing MEMBERS. |
| 900 | See documentation for `defgroup' for a description of the arguments | 913 | See documentation for `defgroup' for a description of the arguments |
| @@ -925,19 +938,6 @@ keyword, introduced in Emacs 22." | |||
| 925 | `(defface ,face ,spec ,doc ,@(mh-strip-package-version args))) | 938 | `(defface ,face ,spec ,doc ,@(mh-strip-package-version args))) |
| 926 | (put 'mh-defface 'lisp-indent-function 'defun) | 939 | (put 'mh-defface 'lisp-indent-function 'defun) |
| 927 | 940 | ||
| 928 | (defun mh-strip-package-version (args) | ||
| 929 | "Strip :package-version keyword and its value from ARGS. | ||
| 930 | In Emacs versions that support the :package-version keyword, | ||
| 931 | ARGS is returned unchanged." | ||
| 932 | (if (boundp 'customize-package-emacs-version-alist) | ||
| 933 | args | ||
| 934 | (let (seen) | ||
| 935 | (loop for keyword in args | ||
| 936 | if (cond ((eq keyword ':package-version) (setq seen t) nil) | ||
| 937 | (seen (setq seen nil) nil) | ||
| 938 | (t t)) | ||
| 939 | collect keyword)))) | ||
| 940 | |||
| 941 | 941 | ||
| 942 | 942 | ||
| 943 | ;;; MH-E Customization | 943 | ;;; MH-E Customization |
| @@ -3115,46 +3115,12 @@ sequence." | |||
| 3115 | (if (boundp 'facemenu-unlisted-faces) | 3115 | (if (boundp 'facemenu-unlisted-faces) |
| 3116 | (add-to-list 'facemenu-unlisted-faces "^mh-")) | 3116 | (add-to-list 'facemenu-unlisted-faces "^mh-")) |
| 3117 | 3117 | ||
| 3118 | ;; Temporary function and data structure used for defining faces. | 3118 | ;; To add a new face: |
| 3119 | ;; These will be unbound after the faces are defined. | 3119 | ;; 1. Add entry to variable mh-face-data. |
| 3120 | (defvar mh-min-colors-defined-flag (and (not mh-xemacs-flag) | 3120 | ;; 2. Create face using mh-defface (which removes min-color spec and |
| 3121 | (>= emacs-major-version 22)) | 3121 | ;; :package-version keyword where these are not supported), |
| 3122 | "Non-nil means `defface' supports min-colors display requirement.") | 3122 | ;; accessing face data with function mh-face-data. |
| 3123 | 3123 | ;; 3. Add inherit argument to function mh-face-data if applicable. | |
| 3124 | (defun mh-defface-compat (spec) | ||
| 3125 | "Convert SPEC for defface if necessary to run on older platforms. | ||
| 3126 | Modifies SPEC in place and returns it. See `defface' for the spec definition. | ||
| 3127 | |||
| 3128 | When `mh-min-colors-defined-flag' is nil, this function finds | ||
| 3129 | display entries with \"min-colors\" requirements and either | ||
| 3130 | removes the \"min-colors\" requirement or strips the display | ||
| 3131 | entirely if the display does not support the number of specified | ||
| 3132 | colors." | ||
| 3133 | (if mh-min-colors-defined-flag | ||
| 3134 | spec | ||
| 3135 | (let ((cells (mh-display-color-cells)) | ||
| 3136 | new-spec) | ||
| 3137 | ;; Remove entries with min-colors, or delete them if we have fewer colors | ||
| 3138 | ;; than they specify. | ||
| 3139 | (loop for entry in (reverse spec) do | ||
| 3140 | (let ((requirement (if (eq (car entry) t) | ||
| 3141 | nil | ||
| 3142 | (assoc 'min-colors (car entry))))) | ||
| 3143 | (if requirement | ||
| 3144 | (when (>= cells (nth 1 requirement)) | ||
| 3145 | (setq new-spec (cons (cons (delq requirement (car entry)) | ||
| 3146 | (cdr entry)) | ||
| 3147 | new-spec))) | ||
| 3148 | (setq new-spec (cons entry new-spec))))) | ||
| 3149 | new-spec))) | ||
| 3150 | |||
| 3151 | (require 'cus-face) | ||
| 3152 | |||
| 3153 | (defvar mh-inherit-face-flag (assq :inherit custom-face-attributes) | ||
| 3154 | "Non-nil means that the `defface' :inherit keyword is available. | ||
| 3155 | The :inherit keyword is available on all supported versions of | ||
| 3156 | GNU Emacs and XEmacs from at least 21.5.23 on.") | ||
| 3157 | |||
| 3158 | (defvar mh-face-data | 3124 | (defvar mh-face-data |
| 3159 | '((mh-folder-followup | 3125 | '((mh-folder-followup |
| 3160 | ((((class color) (background light)) | 3126 | ((((class color) (background light)) |
| @@ -3297,19 +3263,61 @@ GNU Emacs and XEmacs from at least 21.5.23 on.") | |||
| 3297 | (((class color) (background dark)) | 3263 | (((class color) (background dark)) |
| 3298 | (:foreground "red1" :underline t)) | 3264 | (:foreground "red1" :underline t)) |
| 3299 | (t | 3265 | (t |
| 3300 | (:underline t)))))) | 3266 | (:underline t))))) |
| 3267 | "MH-E face data. | ||
| 3268 | Used by function `mh-face-data' which returns spec that is | ||
| 3269 | consumed by `mh-defface'.") | ||
| 3270 | |||
| 3271 | (require 'cus-face) | ||
| 3272 | |||
| 3273 | (defvar mh-inherit-face-flag (assq :inherit custom-face-attributes) | ||
| 3274 | "Non-nil means that the `defface' :inherit keyword is available. | ||
| 3275 | The :inherit keyword is available on all supported versions of | ||
| 3276 | GNU Emacs and XEmacs from at least 21.5.23 on.") | ||
| 3277 | |||
| 3278 | (defvar mh-min-colors-defined-flag (and (not mh-xemacs-flag) | ||
| 3279 | (>= emacs-major-version 22)) | ||
| 3280 | "Non-nil means `defface' supports min-colors display requirement.") | ||
| 3301 | 3281 | ||
| 3302 | (defun mh-face-data (face &optional inherit) | 3282 | (defun mh-face-data (face &optional inherit) |
| 3303 | "Return spec for FACE. | 3283 | "Return spec for FACE. |
| 3304 | If INHERIT is non-nil and `defface' supports the :inherit | 3284 | See `defface' for the spec definition. |
| 3305 | keyword, return INHERIT literally; otherwise, return spec for FACE. | ||
| 3306 | 3285 | ||
| 3307 | This isn't a perfect implementation. In the case that | 3286 | If INHERIT is non-nil and `defface' supports the :inherit |
| 3308 | the :inherit keyword is not supported, any additional attributes | 3287 | keyword, return INHERIT literally; otherwise, return spec for |
| 3309 | in the inherit parameter are not added to the returned spec." | 3288 | FACE from the variable `mh-face-data'. This isn't a perfect |
| 3310 | (if (and inherit mh-inherit-face-flag) | 3289 | implementation. In the case that the :inherit keyword is not |
| 3311 | inherit | 3290 | supported, any additional attributes in the inherit parameter are |
| 3312 | (mh-defface-compat (cadr (assoc face mh-face-data))))) | 3291 | not added to the returned spec. |
| 3292 | |||
| 3293 | Furthermore, when `mh-min-colors-defined-flag' is nil, this | ||
| 3294 | function finds display entries with \"min-colors\" requirements | ||
| 3295 | and either removes the \"min-colors\" requirement or strips the | ||
| 3296 | display entirely if the display does not support the number of | ||
| 3297 | specified colors." | ||
| 3298 | (let ((spec | ||
| 3299 | (if (and inherit mh-inherit-face-flag) | ||
| 3300 | inherit | ||
| 3301 | (or (cadr (assq face mh-face-data)) | ||
| 3302 | (error "Could not find %s in mh-face-data" face))))) | ||
| 3303 | |||
| 3304 | (if mh-min-colors-defined-flag | ||
| 3305 | spec | ||
| 3306 | (let ((cells (mh-display-color-cells)) | ||
| 3307 | new-spec) | ||
| 3308 | ;; Remove entries with min-colors, or delete them if we have | ||
| 3309 | ;; fewer colors than they specify. | ||
| 3310 | (loop for entry in (reverse spec) do | ||
| 3311 | (let ((requirement (if (eq (car entry) t) | ||
| 3312 | nil | ||
| 3313 | (assq 'min-colors (car entry))))) | ||
| 3314 | (if requirement | ||
| 3315 | (when (>= cells (nth 1 requirement)) | ||
| 3316 | (setq new-spec (cons (cons (delq requirement (car entry)) | ||
| 3317 | (cdr entry)) | ||
| 3318 | new-spec))) | ||
| 3319 | (setq new-spec (cons entry new-spec))))) | ||
| 3320 | new-spec)))) | ||
| 3313 | 3321 | ||
| 3314 | (mh-defface mh-folder-address | 3322 | (mh-defface mh-folder-address |
| 3315 | (mh-face-data 'mh-folder-subject '((t (:inherit mh-folder-subject)))) | 3323 | (mh-face-data 'mh-folder-subject '((t (:inherit mh-folder-subject)))) |
| @@ -3520,9 +3528,9 @@ The background and foreground are used in the image." | |||
| 3520 | ;; Get rid of temporary functions and data structures. | 3528 | ;; Get rid of temporary functions and data structures. |
| 3521 | (fmakunbound 'mh-defcustom) | 3529 | (fmakunbound 'mh-defcustom) |
| 3522 | (fmakunbound 'mh-defface) | 3530 | (fmakunbound 'mh-defface) |
| 3523 | (fmakunbound 'mh-defface-compat) | ||
| 3524 | (fmakunbound 'mh-defgroup) | 3531 | (fmakunbound 'mh-defgroup) |
| 3525 | (fmakunbound 'mh-face-data) | 3532 | (fmakunbound 'mh-face-data) |
| 3533 | (fmakunbound 'mh-strip-package-version) | ||
| 3526 | (makunbound 'mh-face-data) | 3534 | (makunbound 'mh-face-data) |
| 3527 | (makunbound 'mh-inherit-face-flag) | 3535 | (makunbound 'mh-inherit-face-flag) |
| 3528 | (makunbound 'mh-min-colors-defined-flag) | 3536 | (makunbound 'mh-min-colors-defined-flag) |
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el index 36878d2dff9..0f970c5191a 100644 --- a/lisp/pcomplete.el +++ b/lisp/pcomplete.el | |||
| @@ -978,7 +978,9 @@ Typing SPC flushes the help buffer." | |||
| 978 | (set-window-configuration pcomplete-last-window-config) | 978 | (set-window-configuration pcomplete-last-window-config) |
| 979 | (setq pcomplete-last-window-config nil) | 979 | (setq pcomplete-last-window-config nil) |
| 980 | (throw 'done nil)) | 980 | (throw 'done nil)) |
| 981 | ((event-matches-key-specifier-p event 'tab) | 981 | ((or (event-matches-key-specifier-p event 'tab) |
| 982 | ;; Needed on a terminal | ||
| 983 | (event-matches-key-specifier-p event 9)) | ||
| 982 | (save-selected-window | 984 | (save-selected-window |
| 983 | (select-window (get-buffer-window "*Completions*")) | 985 | (select-window (get-buffer-window "*Completions*")) |
| 984 | (if (pos-visible-in-window-p (point-max)) | 986 | (if (pos-visible-in-window-p (point-max)) |
diff --git a/lisp/pcvs-util.el b/lisp/pcvs-util.el index 9ff40d09494..b04f3c121a1 100644 --- a/lisp/pcvs-util.el +++ b/lisp/pcvs-util.el | |||
| @@ -157,10 +157,11 @@ Uses columns to keep the listing readable but compact." | |||
| 157 | (setq tab-width colwidth) | 157 | (setq tab-width colwidth) |
| 158 | ;; The insertion should be "sensible" no matter what choices were made. | 158 | ;; The insertion should be "sensible" no matter what choices were made. |
| 159 | (dolist (str strings) | 159 | (dolist (str strings) |
| 160 | (unless (bolp) (insert " \t")) | 160 | (unless (bolp) |
| 161 | (when (< wwidth (+ (max colwidth (length str)) (current-column))) | 161 | (insert " \t") |
| 162 | (delete-char -2) (insert "\n")) | 162 | (when (< wwidth (+ (max colwidth (length str)) (current-column))) |
| 163 | (insert str))))) | 163 | (delete-char -2) (insert "\n"))) |
| 164 | (insert str))))) | ||
| 164 | 165 | ||
| 165 | 166 | ||
| 166 | (defun cvs-file-to-string (file &optional oneline args) | 167 | (defun cvs-file-to-string (file &optional oneline args) |
| @@ -357,7 +358,8 @@ If ARG is nil toggle the PREFIX's value between its 0th default and nil | |||
| 357 | and reset the persistence." | 358 | and reset the persistence." |
| 358 | (let* ((prefix (symbol-value (cvs-prefix-sym sym))) | 359 | (let* ((prefix (symbol-value (cvs-prefix-sym sym))) |
| 359 | (numarg (if (integerp arg) arg 0)) | 360 | (numarg (if (integerp arg) arg 0)) |
| 360 | (defs (cvs-flags-defaults prefix))) | 361 | ;; (defs (cvs-flags-defaults prefix)) |
| 362 | ) | ||
| 361 | 363 | ||
| 362 | ;; set persistence if requested | 364 | ;; set persistence if requested |
| 363 | (when (> (prefix-numeric-value arg) 9) | 365 | (when (> (prefix-numeric-value arg) 9) |
diff --git a/lisp/shell.el b/lisp/shell.el index f7eaeb84341..71b5862feb6 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -574,7 +574,7 @@ Otherwise, one argument `-i' is passed to the shell. | |||
| 574 | ;;; 2. It cannot infallibly deal with command sequences, though it does well | 574 | ;;; 2. It cannot infallibly deal with command sequences, though it does well |
| 575 | ;;; with these and with ignoring commands forked in another shell with ()s. | 575 | ;;; with these and with ignoring commands forked in another shell with ()s. |
| 576 | ;;; 3. More generally, any complex command is going to throw it. Otherwise, | 576 | ;;; 3. More generally, any complex command is going to throw it. Otherwise, |
| 577 | ;;; you'd have to build an entire shell interpreter in emacs lisp. Failing | 577 | ;;; you'd have to build an entire shell interpreter in Emacs Lisp. Failing |
| 578 | ;;; that, there's no way to catch shell commands where cd's are buried | 578 | ;;; that, there's no way to catch shell commands where cd's are buried |
| 579 | ;;; inside conditional expressions, aliases, and so forth. | 579 | ;;; inside conditional expressions, aliases, and so forth. |
| 580 | ;;; | 580 | ;;; |
| @@ -608,7 +608,7 @@ It watches for cd, pushd and popd commands and sets the buffer's | |||
| 608 | default directory to track these commands. | 608 | default directory to track these commands. |
| 609 | 609 | ||
| 610 | You may toggle this tracking on and off with M-x dirtrack-mode. | 610 | You may toggle this tracking on and off with M-x dirtrack-mode. |
| 611 | If emacs gets confused, you can resync with the shell with M-x dirs. | 611 | If Emacs gets confused, you can resync with the shell with M-x dirs. |
| 612 | 612 | ||
| 613 | See variables `shell-cd-regexp', `shell-chdrive-regexp', `shell-pushd-regexp', | 613 | See variables `shell-cd-regexp', `shell-chdrive-regexp', `shell-pushd-regexp', |
| 614 | and `shell-popd-regexp', while `shell-pushd-tohome', `shell-pushd-dextract', | 614 | and `shell-popd-regexp', while `shell-pushd-tohome', `shell-pushd-dextract', |
| @@ -929,7 +929,7 @@ See `shell-command-regexp'." | |||
| 929 | (defun shell-dynamic-complete-command () | 929 | (defun shell-dynamic-complete-command () |
| 930 | "Dynamically complete the command at point. | 930 | "Dynamically complete the command at point. |
| 931 | This function is similar to `comint-dynamic-complete-filename', except that it | 931 | This function is similar to `comint-dynamic-complete-filename', except that it |
| 932 | searches `exec-path' (minus the trailing emacs library path) for completion | 932 | searches `exec-path' (minus the trailing Emacs library path) for completion |
| 933 | candidates. Note that this may not be the same as the shell's idea of the | 933 | candidates. Note that this may not be the same as the shell's idea of the |
| 934 | path. | 934 | path. |
| 935 | 935 | ||
diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 2e55c4929d5..4b83f08d89d 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el | |||
| @@ -503,7 +503,7 @@ hierarchy would be replaced with the new directory." | |||
| 503 | :type 'hook) | 503 | :type 'hook) |
| 504 | 504 | ||
| 505 | (defcustom speedbar-after-create-hook '(speedbar-frame-reposition-smartly) | 505 | (defcustom speedbar-after-create-hook '(speedbar-frame-reposition-smartly) |
| 506 | "*Hooks called before popping up the speedbar frame." | 506 | "*Hooks called after popping up the speedbar frame." |
| 507 | :group 'speedbar | 507 | :group 'speedbar |
| 508 | :type 'hook) | 508 | :type 'hook) |
| 509 | 509 | ||