diff options
| author | Stefan Monnier | 2010-03-24 14:02:56 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2010-03-24 14:02:56 -0400 |
| commit | e867cb5d30200dd696b012e1ad0964d25c2a7ecc (patch) | |
| tree | 3340026420f168909eaa734232e4890e15bc1626 /lisp | |
| parent | b2b8574b8d03673f5673e2154d17c2cb80f59a0b (diff) | |
| parent | efee6a6d9cec2af824b8355c93d8f47b72a685a8 (diff) | |
| download | emacs-e867cb5d30200dd696b012e1ad0964d25c2a7ecc.tar.gz emacs-e867cb5d30200dd696b012e1ad0964d25c2a7ecc.zip | |
Merge from `emacs-23'.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 98 | ||||
| -rw-r--r-- | lisp/calendar/cal-tex.el | 8 | ||||
| -rw-r--r-- | lisp/cedet/semantic/imenu.el | 537 | ||||
| -rw-r--r-- | lisp/cedet/srecode/table.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-loaddefs.el | 14 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/trace.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-basic.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-dirs.el | 8 | ||||
| -rw-r--r-- | lisp/faces.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/smiley.el | 4 | ||||
| -rw-r--r-- | lisp/image-dired.el | 5 | ||||
| -rw-r--r-- | lisp/indent.el | 6 | ||||
| -rw-r--r-- | lisp/json.el | 12 | ||||
| -rw-r--r-- | lisp/language/indian.el | 2 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 25 | ||||
| -rw-r--r-- | lisp/mh-e/ChangeLog | 12 | ||||
| -rw-r--r-- | lisp/mh-e/mh-scan.el | 62 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 6 | ||||
| -rw-r--r-- | lisp/net/tramp.el | 27 | ||||
| -rw-r--r-- | lisp/net/trampver.el | 2 | ||||
| -rw-r--r-- | lisp/obsolete/levents.el | 24 | ||||
| -rw-r--r-- | lisp/progmodes/cc-engine.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/make-mode.el | 5 | ||||
| -rw-r--r-- | lisp/textmodes/flyspell.el | 2 | ||||
| -rw-r--r-- | lisp/textmodes/reftex-vars.el | 80 | ||||
| -rw-r--r-- | lisp/woman.el | 12 |
29 files changed, 838 insertions, 150 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3c9888182f8..3689508aa52 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,103 @@ | |||
| 1 | 2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * progmodes/make-mode.el (makefile-rule-action-regex): Backtrack less. | ||
| 4 | (makefile-make-font-lock-keywords): Adjust rule since submatch 1 may | ||
| 5 | not be present any more. | ||
| 6 | |||
| 7 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 8 | |||
| 9 | * faces.el (set-face-attribute): Fix typo in docstring. | ||
| 10 | (face-valid-attribute-values): Reflow docstring. | ||
| 11 | |||
| 12 | * cedet/srecode/table.el (srecode-template-table): Fix docstring typo. | ||
| 13 | |||
| 14 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 15 | |||
| 16 | * textmodes/flyspell.el (sgml-lexical-context): Autoload it (Bug#5752). | ||
| 17 | |||
| 18 | 2010-03-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 19 | |||
| 20 | * indent.el (indent-for-tab-command): Doc fix. | ||
| 21 | |||
| 22 | 2010-03-24 Alan Mackenzie <acm@muc.de> | ||
| 23 | |||
| 24 | * progmodes/cc-engine.el (c-remove-stale-state-cache): | ||
| 25 | Fix off-by-one error. Fixes bug #5747. | ||
| 26 | |||
| 27 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 28 | |||
| 29 | * image-dired.el (image-dired-display-thumbs): Fix typo in docstring. | ||
| 30 | (image-dired-read-comment): Doc fix. | ||
| 31 | |||
| 32 | * json.el (json-object-type, json-array-type, json-key-type) | ||
| 33 | (json-false, json-null, json-read-number): | ||
| 34 | * minibuffer.el (completion-in-region-functions): | ||
| 35 | * calendar/cal-tex.el (cal-tex-daily-end, cal-tex-number-weeks) | ||
| 36 | (cal-tex-cursor-week): | ||
| 37 | * emacs-lisp/trace.el (trace-function): | ||
| 38 | * eshell/em-basic.el (eshell/printnl): | ||
| 39 | * eshell/em-dirs.el (eshell-last-dir-ring, eshell-parse-drive-letter) | ||
| 40 | (eshell-read-last-dir-ring, eshell-write-last-dir-ring): | ||
| 41 | * obsolete/levents.el (allocate-event, event-key, event-object) | ||
| 42 | (event-point, event-process, event-timestamp, event-to-character) | ||
| 43 | (event-window, event-x, event-x-pixel, event-y, event-y-pixel): | ||
| 44 | * textmodes/reftex-vars.el (reftex-index-macros-builtin) | ||
| 45 | (reftex-section-levels, reftex-auto-recenter-toc, reftex-toc-mode-hook) | ||
| 46 | (reftex-cite-punctuation, reftex-search-unrecursed-path-first) | ||
| 47 | (reftex-highlight-selection): Fix typos in docstrings. | ||
| 48 | |||
| 49 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 50 | |||
| 51 | * minibuffer.el (completion-in-region-functions): Fix docstring typos. | ||
| 52 | |||
| 53 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 54 | |||
| 55 | * mail/rmail.el (rmail-highlight-face): Restore option deleted | ||
| 56 | 2008-02-13 without comment; mark it obsolete. | ||
| 57 | (rmail-highlight-headers): Use rmail-highlight-face once more. | ||
| 58 | |||
| 59 | 2010-03-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 60 | |||
| 61 | * woman.el (woman2-process-escapes): Only consume the newline if | ||
| 62 | the filler character is on a line by itself (Bug#5729). | ||
| 63 | |||
| 64 | 2010-03-24 Kenichi Handa <handa@m17n.org> | ||
| 65 | |||
| 66 | * language/indian.el (devanagari-composable-pattern): Add more | ||
| 67 | consonants. | ||
| 68 | |||
| 69 | 2010-03-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 70 | |||
| 71 | * net/trampver.el: Update release number. | ||
| 72 | |||
| 73 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 74 | |||
| 75 | * Makefile.in (ELCFILES): Add cedet/semantic/imenu.el. | ||
| 76 | |||
| 77 | 2010-03-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 78 | |||
| 79 | * net/tramp.el (tramp-find-executable): | ||
| 80 | Use `tramp-get-connection-buffer'. Make the regexp for checking | ||
| 81 | output of "wc -l" more robust. | ||
| 82 | (tramp-find-shell): Use another shell but /bin/sh on OpenSolaris. | ||
| 83 | (tramp-open-connection-setup-interactive-shell): Remove workaround | ||
| 84 | for OpenSolaris bug, it is not needed anymore. | ||
| 85 | |||
| 86 | 2010-03-24 Eric M. Ludlam <zappo@gnu.org> | ||
| 87 | |||
| 88 | * cedet/semantic/imenu.el: New file, from the CEDET repository | ||
| 89 | (Bug#5412). | ||
| 90 | |||
| 91 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 92 | |||
| 93 | * emacs-lisp/cl-macs.el (defsubst*): Add autoload cookie. (Bug#4427) | ||
| 94 | |||
| 95 | 2010-03-24 Wilson Snyder <wsnyder@wsnyder.org> | ||
| 96 | |||
| 97 | * files.el (auto-mode-alist): Accept more verilog file patterns. | ||
| 98 | |||
| 99 | 2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 100 | |||
| 3 | * vc-dir.el (vc-dir-headers): Abbreviate the working dir. | 101 | * vc-dir.el (vc-dir-headers): Abbreviate the working dir. |
| 4 | 102 | ||
| 5 | 2010-03-24 Glenn Morris <rgm@gnu.org> | 103 | 2010-03-24 Glenn Morris <rgm@gnu.org> |
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el index 0e320ff8f90..bbddc1ff38c 100644 --- a/lisp/calendar/cal-tex.el +++ b/lisp/calendar/cal-tex.el | |||
| @@ -134,7 +134,7 @@ At present, this only affects `cal-tex-cursor-day'." | |||
| 134 | 134 | ||
| 135 | (defcustom cal-tex-daily-end 20 | 135 | (defcustom cal-tex-daily-end 20 |
| 136 | "The last hour of the daily LaTeX calendar page. | 136 | "The last hour of the daily LaTeX calendar page. |
| 137 | At present, this only affects `cal-tex-cursor-day'" | 137 | At present, this only affects `cal-tex-cursor-day'." |
| 138 | :type 'integer | 138 | :type 'integer |
| 139 | :group 'calendar-tex) | 139 | :group 'calendar-tex) |
| 140 | 140 | ||
| @@ -654,7 +654,7 @@ in the calendar starting in MONTH YEAR." | |||
| 654 | 654 | ||
| 655 | (defun cal-tex-number-weeks (month year n) | 655 | (defun cal-tex-number-weeks (month year n) |
| 656 | "Determine the number of weeks in a range of dates. | 656 | "Determine the number of weeks in a range of dates. |
| 657 | Compute the number of weeks in the calendar starting with MONTH and YEAR, | 657 | Compute the number of weeks in the calendar starting with MONTH and YEAR, |
| 658 | and lasting N months, including only the days in WHICH-DAYS. As it stands, | 658 | and lasting N months, including only the days in WHICH-DAYS. As it stands, |
| 659 | this is only an upper bound." | 659 | this is only an upper bound." |
| 660 | (let ((d (list month 1 year))) | 660 | (let ((d (list month 1 year))) |
| @@ -683,7 +683,7 @@ this is only an upper bound." | |||
| 683 | (defun cal-tex-cursor-week (&optional n event) | 683 | (defun cal-tex-cursor-week (&optional n event) |
| 684 | "Make a LaTeX calendar buffer for a two-page one-week calendar. | 684 | "Make a LaTeX calendar buffer for a two-page one-week calendar. |
| 685 | It applies to the week that point is in. The optional prefix | 685 | It applies to the week that point is in. The optional prefix |
| 686 | argument N specifies the number of weeks (default 1). The calendar | 686 | argument N specifies number of weeks (default 1). The calendar |
| 687 | shows holidays if `cal-tex-holidays' is non-nil (note that diary | 687 | shows holidays if `cal-tex-holidays' is non-nil (note that diary |
| 688 | entries are not shown). The calendar shows the hours 8-12am, 1-5pm." | 688 | entries are not shown). The calendar shows the hours 8-12am, 1-5pm." |
| 689 | (interactive (list (prefix-numeric-value current-prefix-arg) | 689 | (interactive (list (prefix-numeric-value current-prefix-arg) |
| @@ -1778,7 +1778,7 @@ Add trailing COMMENT if present." | |||
| 1778 | (cal-tex-comment "end framebox")) | 1778 | (cal-tex-comment "end framebox")) |
| 1779 | 1779 | ||
| 1780 | 1780 | ||
| 1781 | (defun cal-tex-b-makebox ( width position ) | 1781 | (defun cal-tex-b-makebox (width position) |
| 1782 | "Insert makebox with parameters WIDTH and POSITION (clr)." | 1782 | "Insert makebox with parameters WIDTH and POSITION (clr)." |
| 1783 | (insert "\\makebox[" width "][" position "]{" ) | 1783 | (insert "\\makebox[" width "][" position "]{" ) |
| 1784 | (cal-tex-comment)) | 1784 | (cal-tex-comment)) |
diff --git a/lisp/cedet/semantic/imenu.el b/lisp/cedet/semantic/imenu.el new file mode 100644 index 00000000000..3c73b893925 --- /dev/null +++ b/lisp/cedet/semantic/imenu.el | |||
| @@ -0,0 +1,537 @@ | |||
| 1 | ;;; semantic/imenu.el --- Use Semantic as an imenu tag generator | ||
| 2 | |||
| 3 | ;;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010 | ||
| 4 | ;; Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | ||
| 7 | ;; Maintainer: Eric Ludlam | ||
| 8 | |||
| 9 | ;; This file is part of GNU Emacs. | ||
| 10 | |||
| 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 12 | ;; it under the terms of the GNU General Public License as published by | ||
| 13 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 14 | ;; (at your option) any later version. | ||
| 15 | |||
| 16 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | ;; GNU General Public License for more details. | ||
| 20 | |||
| 21 | ;; You should have received a copy of the GNU General Public License | ||
| 22 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 23 | |||
| 24 | ;;; Commentary: | ||
| 25 | ;; | ||
| 26 | ;; This support function can be used in any buffer which supports | ||
| 27 | ;; the bovinator to create the imenu index. | ||
| 28 | ;; | ||
| 29 | ;; To use this in a buffer, do this in a hook. | ||
| 30 | ;; | ||
| 31 | ;; (add-hook 'mode-hook | ||
| 32 | ;; (lambda () | ||
| 33 | ;; (setq imenu-create-index-function 'semantic-create-imenu-index) | ||
| 34 | ;; )) | ||
| 35 | |||
| 36 | (require 'semantic) | ||
| 37 | (require 'semantic/format) | ||
| 38 | (require 'semantic/db) | ||
| 39 | (require 'semantic/db-file) | ||
| 40 | (require 'semantic/sort) | ||
| 41 | (require 'imenu) | ||
| 42 | |||
| 43 | (declare-function pulse-momentary-highlight-one-line "pulse" (o &optional face)) | ||
| 44 | (declare-function semanticdb-semantic-init-hook-fcn "db-mode") | ||
| 45 | |||
| 46 | ;; Because semantic imenu tags will hose the current imenu handling | ||
| 47 | ;; code in speedbar, force semantic/sb in. | ||
| 48 | (if (featurep 'speedbar) | ||
| 49 | (require 'semantic/sb) | ||
| 50 | (add-hook 'speedbar-load-hook (lambda () (require 'semantic/sb)))) | ||
| 51 | |||
| 52 | (defgroup semantic-imenu nil | ||
| 53 | "Semantic interface to Imenu." | ||
| 54 | :group 'semantic | ||
| 55 | :group 'imenu | ||
| 56 | ) | ||
| 57 | |||
| 58 | ;;;###autoload | ||
| 59 | (defcustom semantic-imenu-summary-function 'semantic-format-tag-abbreviate | ||
| 60 | "*Function to use when creating items in Imenu. | ||
| 61 | Some useful functions are found in `semantic-format-tag-functions'." | ||
| 62 | :group 'semantic-imenu | ||
| 63 | :type semantic-format-tag-custom-list) | ||
| 64 | (make-variable-buffer-local 'semantic-imenu-summary-function) | ||
| 65 | |||
| 66 | ;;;###autoload | ||
| 67 | (defcustom semantic-imenu-bucketize-file t | ||
| 68 | "*Non-nil if tags in a file are to be grouped into buckets." | ||
| 69 | :group 'semantic-imenu | ||
| 70 | :type 'boolean) | ||
| 71 | (make-variable-buffer-local 'semantic-imenu-bucketize-file) | ||
| 72 | |||
| 73 | (defcustom semantic-imenu-adopt-external-members t | ||
| 74 | "*Non-nil if types in a file should adopt externally defined members. | ||
| 75 | C++ and CLOS can define methods that are not in the body of a class | ||
| 76 | definition." | ||
| 77 | :group 'semantic-imenu | ||
| 78 | :type 'boolean) | ||
| 79 | |||
| 80 | (defcustom semantic-imenu-buckets-to-submenu t | ||
| 81 | "*Non-nil if buckets of tags are to be turned into submenus. | ||
| 82 | This option is ignored if `semantic-imenu-bucketize-file' is nil." | ||
| 83 | :group 'semantic-imenu | ||
| 84 | :type 'boolean) | ||
| 85 | (make-variable-buffer-local 'semantic-imenu-buckets-to-submenu) | ||
| 86 | |||
| 87 | ;;;###autoload | ||
| 88 | (defcustom semantic-imenu-expand-type-members t | ||
| 89 | "*Non-nil if types should have submenus with members in them." | ||
| 90 | :group 'semantic-imenu | ||
| 91 | :type 'boolean) | ||
| 92 | (make-variable-buffer-local 'semantic-imenu-expand-type-members) | ||
| 93 | (semantic-varalias-obsolete 'semantic-imenu-expand-type-parts | ||
| 94 | 'semantic-imenu-expand-type-members "23.2") | ||
| 95 | |||
| 96 | (defcustom semantic-imenu-bucketize-type-members t | ||
| 97 | "*Non-nil if members of a type should be grouped into buckets. | ||
| 98 | nil means to keep them in the same order. | ||
| 99 | Overriden to nil if `semantic-imenu-bucketize-file' is nil." | ||
| 100 | :group 'semantic-imenu | ||
| 101 | :type 'boolean) | ||
| 102 | (make-variable-buffer-local 'semantic-imenu-bucketize-type-parts) | ||
| 103 | (semantic-varalias-obsolete 'semantic-imenu-bucketize-type-parts | ||
| 104 | 'semantic-imenu-bucketize-type-members "23.2") | ||
| 105 | |||
| 106 | (defcustom semantic-imenu-sort-bucket-function nil | ||
| 107 | "*Function to use when sorting tags in the buckets of functions. | ||
| 108 | See `semantic-bucketize' and the FILTER argument for more details on this function." | ||
| 109 | :group 'semantic-imenu | ||
| 110 | :type '(radio (const :tag "No Sorting" nil) | ||
| 111 | (const semantic-sort-tags-by-name-increasing) | ||
| 112 | (const semantic-sort-tags-by-name-decreasing) | ||
| 113 | (const semantic-sort-tags-by-type-increasing) | ||
| 114 | (const semantic-sort-tags-by-type-decreasing) | ||
| 115 | (const semantic-sort-tags-by-name-increasing-ci) | ||
| 116 | (const semantic-sort-tags-by-name-decreasing-ci) | ||
| 117 | (const semantic-sort-tags-by-type-increasing-ci) | ||
| 118 | (const semantic-sort-tags-by-type-decreasing-ci) | ||
| 119 | (function))) | ||
| 120 | (make-variable-buffer-local 'semantic-imenu-sort-bucket-function) | ||
| 121 | |||
| 122 | (defcustom semantic-imenu-index-directory nil | ||
| 123 | "*Non nil to index the entire directory for tags. | ||
| 124 | Doesn't actually parse the entire directory, but displays tags for all files | ||
| 125 | currently listed in the current Semantic database. | ||
| 126 | This variable has no meaning if semanticdb is not active." | ||
| 127 | :group 'semantic-imenu | ||
| 128 | :type 'boolean) | ||
| 129 | |||
| 130 | (defcustom semantic-imenu-auto-rebuild-directory-indexes nil | ||
| 131 | "*If non-nil automatically rebuild directory index imenus. | ||
| 132 | That is when a directory index imenu is updated, automatically rebuild | ||
| 133 | other buffer local ones based on the same semanticdb." | ||
| 134 | :group 'semantic-imenu | ||
| 135 | :type 'boolean) | ||
| 136 | |||
| 137 | (defvar semantic-imenu-directory-current-file nil | ||
| 138 | "When building a file index, this is the file name currently being built.") | ||
| 139 | |||
| 140 | (defvar semantic-imenu-auto-rebuild-running nil | ||
| 141 | "Non-nil if `semantic-imenu-rebuild-directory-indexes' is running.") | ||
| 142 | |||
| 143 | ;;;###autoload | ||
| 144 | (defvar semantic-imenu-expandable-tag-classes '(type) | ||
| 145 | "List of expandable tag classes. | ||
| 146 | Tags of those classes will be given submenu with children. | ||
| 147 | By default, a `type' has interesting children. In Texinfo, however, a | ||
| 148 | `section' has interesting children.") | ||
| 149 | (make-variable-buffer-local 'semantic-imenu-expandable-tag-classes) | ||
| 150 | (semantic-varalias-obsolete 'semantic-imenu-expandable-token | ||
| 151 | 'semantic-imenu-expandable-tag-classes "23.2") | ||
| 152 | |||
| 153 | ;;; Code: | ||
| 154 | (defun semantic-imenu-tag-overlay (tag) | ||
| 155 | "Return the overlay belonging to tag. | ||
| 156 | If TAG doesn't have an overlay, and instead as a vector of positions, | ||
| 157 | concoct a combination of file name, and position." | ||
| 158 | (let ((o (semantic-tag-overlay tag))) | ||
| 159 | (if (not (semantic-overlay-p o)) | ||
| 160 | (let ((v (make-vector 3 nil))) | ||
| 161 | (aset v 0 semantic-imenu-directory-current-file) | ||
| 162 | (aset v 1 (aref o 0)) | ||
| 163 | (aset v 2 (aref o 1)) | ||
| 164 | v) | ||
| 165 | o))) | ||
| 166 | |||
| 167 | |||
| 168 | (defun semantic-imenu-goto-function (name position &optional rest) | ||
| 169 | "Move point associated with NAME to POSITION. | ||
| 170 | Used to override function `imenu-default-goto-function' so that we can continue | ||
| 171 | to use overlays to maintain the current position. | ||
| 172 | Optional argument REST is some extra stuff." | ||
| 173 | (require 'pulse) | ||
| 174 | (if (semantic-overlay-p position) | ||
| 175 | (let ((os (semantic-overlay-start position)) | ||
| 176 | (ob (semantic-overlay-buffer position))) | ||
| 177 | (if os | ||
| 178 | (progn | ||
| 179 | (if (not (eq ob (current-buffer))) | ||
| 180 | (switch-to-buffer ob)) | ||
| 181 | (imenu-default-goto-function name os rest) | ||
| 182 | (pulse-momentary-highlight-one-line (point)) | ||
| 183 | ) | ||
| 184 | ;; This should never happen, but check anyway. | ||
| 185 | (message "Imenu is out of date, try again. (internal bug)") | ||
| 186 | (setq imenu--index-alist nil))) | ||
| 187 | ;; When the POSITION is actually a pair of numbers in an array, then | ||
| 188 | ;; the file isn't loaded into the current buffer. | ||
| 189 | (if (vectorp position) | ||
| 190 | (let ((file (aref position 0)) | ||
| 191 | (pos (aref position 1))) | ||
| 192 | (and file (find-file file)) | ||
| 193 | (imenu-default-goto-function name pos rest) | ||
| 194 | (pulse-momentary-highlight-one-line (point)) | ||
| 195 | ) | ||
| 196 | ;; When the POSITION is the symbol 'file-only' it means that this | ||
| 197 | ;; is a directory index entry and there is no tags in this | ||
| 198 | ;; file. So just jump to the beginning of the file. | ||
| 199 | (if (eq position 'file-only) | ||
| 200 | (progn | ||
| 201 | (find-file name) | ||
| 202 | (imenu-default-goto-function name (point-min) rest) | ||
| 203 | (pulse-momentary-highlight-one-line (point)) | ||
| 204 | ) | ||
| 205 | ;; Probably POSITION don't came from a semantic imenu. Try | ||
| 206 | ;; the default imenu goto function. | ||
| 207 | (condition-case nil | ||
| 208 | (progn | ||
| 209 | (imenu-default-goto-function name position rest) | ||
| 210 | (pulse-momentary-highlight-one-line (point)) | ||
| 211 | ) | ||
| 212 | (error | ||
| 213 | (message "Semantic Imenu override problem. (Internal bug)") | ||
| 214 | (setq imenu--index-alist nil))))) | ||
| 215 | )) | ||
| 216 | |||
| 217 | (defun semantic-imenu-flush-fcn (&optional ignore) | ||
| 218 | "This function is called as a hook to clear the imenu cache. | ||
| 219 | It is cleared after any parsing. | ||
| 220 | IGNORE arguments." | ||
| 221 | (if (eq imenu-create-index-function 'semantic-create-imenu-index) | ||
| 222 | (setq imenu--index-alist nil | ||
| 223 | imenu-menubar-modified-tick 0)) | ||
| 224 | (remove-hook 'semantic-after-toplevel-cache-change-hook | ||
| 225 | 'semantic-imenu-flush-fcn t) | ||
| 226 | (remove-hook 'semantic-after-partial-cache-change-hook | ||
| 227 | 'semantic-imenu-flush-fcn t) | ||
| 228 | ) | ||
| 229 | |||
| 230 | ;;;###autoload | ||
| 231 | (defun semantic-create-imenu-index (&optional stream) | ||
| 232 | "Create an imenu index for any buffer which supports Semantic. | ||
| 233 | Uses the output of the Semantic parser to create the index. | ||
| 234 | Optional argument STREAM is an optional stream of tags used to create menus." | ||
| 235 | (setq imenu-default-goto-function 'semantic-imenu-goto-function) | ||
| 236 | (prog1 | ||
| 237 | (if (and semantic-imenu-index-directory | ||
| 238 | (featurep 'semanticdb) | ||
| 239 | (semanticdb-minor-mode-p)) | ||
| 240 | (semantic-create-imenu-directory-index | ||
| 241 | (or stream (semantic-fetch-tags-fast))) | ||
| 242 | (semantic-create-imenu-index-1 | ||
| 243 | (or stream (semantic-fetch-tags-fast)) nil)) | ||
| 244 | (semantic-make-local-hook 'semantic-after-toplevel-cache-change-hook) | ||
| 245 | (add-hook 'semantic-after-toplevel-cache-change-hook | ||
| 246 | 'semantic-imenu-flush-fcn nil t) | ||
| 247 | (semantic-make-local-hook 'semantic-after-partial-cache-change-hook) | ||
| 248 | (add-hook 'semantic-after-partial-cache-change-hook | ||
| 249 | 'semantic-imenu-flush-fcn nil t))) | ||
| 250 | |||
| 251 | (defun semantic-create-imenu-directory-index (&optional stream) | ||
| 252 | "Create an IMENU tag index based on all files active in semanticdb. | ||
| 253 | Optional argument STREAM is the stream of tags for the current buffer." | ||
| 254 | (if (not semanticdb-current-database) | ||
| 255 | (semantic-create-imenu-index-1 stream nil) | ||
| 256 | ;; We have a database, list all files, with the current file on top. | ||
| 257 | (let ((index (list | ||
| 258 | (cons (oref semanticdb-current-table file) | ||
| 259 | (or (semantic-create-imenu-index-1 stream nil) | ||
| 260 | ;; No tags in this file | ||
| 261 | 'file-only)))) | ||
| 262 | (tables (semanticdb-get-database-tables semanticdb-current-database))) | ||
| 263 | (while tables | ||
| 264 | (let ((semantic-imenu-directory-current-file | ||
| 265 | (oref (car tables) file)) | ||
| 266 | tags) | ||
| 267 | (when (and (not (eq (car tables) semanticdb-current-table)) | ||
| 268 | (semanticdb-live-p (car tables)) | ||
| 269 | (semanticdb-equivalent-mode (car tables)) | ||
| 270 | ) | ||
| 271 | (setq tags (oref (car tables) tags) | ||
| 272 | index (cons (cons semantic-imenu-directory-current-file | ||
| 273 | (or (and tags | ||
| 274 | ;; don't pass nil stream because | ||
| 275 | ;; it will use the current | ||
| 276 | ;; buffer | ||
| 277 | (semantic-create-imenu-index-1 | ||
| 278 | (oref (car tables) tags) | ||
| 279 | nil)) | ||
| 280 | ;; no tags in the file | ||
| 281 | 'file-only)) | ||
| 282 | index))) | ||
| 283 | (setq tables (cdr tables)))) | ||
| 284 | |||
| 285 | ;; If enabled automatically rebuild other imenu directory | ||
| 286 | ;; indexes based on the same Semantic database | ||
| 287 | (or (not semantic-imenu-auto-rebuild-directory-indexes) | ||
| 288 | ;; If auto rebuild already in progress does nothing | ||
| 289 | semantic-imenu-auto-rebuild-running | ||
| 290 | (unwind-protect | ||
| 291 | (progn | ||
| 292 | (setq semantic-imenu-auto-rebuild-running t) | ||
| 293 | (semantic-imenu-rebuild-directory-indexes | ||
| 294 | semanticdb-current-database)) | ||
| 295 | (setq semantic-imenu-auto-rebuild-running nil))) | ||
| 296 | |||
| 297 | (nreverse index)))) | ||
| 298 | |||
| 299 | (defun semantic-create-imenu-index-1 (stream &optional parent) | ||
| 300 | "Create an imenu index for any buffer which supports Semantic. | ||
| 301 | Uses the output of the Semantic parser to create the index. | ||
| 302 | STREAM is a stream of tags used to create menus. | ||
| 303 | Optional argument PARENT is a tag parent of STREAM." | ||
| 304 | (let ((tags stream) | ||
| 305 | (semantic-imenu-adopt-external-members | ||
| 306 | semantic-imenu-adopt-external-members)) | ||
| 307 | ;; If we should regroup, do so. | ||
| 308 | (if semantic-imenu-adopt-external-members | ||
| 309 | (setq tags (semantic-adopt-external-members tags) | ||
| 310 | ;; Don't allow recursion here. | ||
| 311 | semantic-imenu-adopt-external-members nil)) | ||
| 312 | ;; Test for bucketing vs not. | ||
| 313 | (if semantic-imenu-bucketize-file | ||
| 314 | (let ((buckets (semantic-bucketize | ||
| 315 | tags parent | ||
| 316 | semantic-imenu-sort-bucket-function)) | ||
| 317 | item name | ||
| 318 | index) | ||
| 319 | (cond | ||
| 320 | ((null buckets) | ||
| 321 | nil) | ||
| 322 | ((or (cdr-safe buckets) ;; if buckets has more than one item in it. | ||
| 323 | (not semantic-imenu-buckets-to-submenu)) ;; to force separators between buckets | ||
| 324 | (while buckets | ||
| 325 | (setq name (car (car buckets)) | ||
| 326 | item (cdr (car buckets))) | ||
| 327 | (if semantic-imenu-buckets-to-submenu | ||
| 328 | (progn | ||
| 329 | ;; Make submenus | ||
| 330 | (if item | ||
| 331 | (setq index | ||
| 332 | (cons (cons name | ||
| 333 | (semantic-create-imenu-subindex item)) | ||
| 334 | index)))) | ||
| 335 | ;; Glom everything together with "---" between | ||
| 336 | (if item | ||
| 337 | (setq index | ||
| 338 | (append index | ||
| 339 | ;; do not create a menu separator in the parent menu | ||
| 340 | ;; when creating a sub-menu | ||
| 341 | (if (memq (semantic-tag-class (car item)) | ||
| 342 | semantic-imenu-expandable-tag-classes) | ||
| 343 | (semantic-create-imenu-subindex item) | ||
| 344 | (cons | ||
| 345 | '("---") | ||
| 346 | (semantic-create-imenu-subindex item))))) | ||
| 347 | )) | ||
| 348 | (setq buckets (cdr buckets))) | ||
| 349 | (if semantic-imenu-buckets-to-submenu | ||
| 350 | (nreverse index) | ||
| 351 | index)) | ||
| 352 | (t | ||
| 353 | (setq name (car (car buckets)) | ||
| 354 | item (cdr (car buckets))) | ||
| 355 | (semantic-create-imenu-subindex item)))) | ||
| 356 | ;; Else, group everything together | ||
| 357 | (semantic-create-imenu-subindex tags)))) | ||
| 358 | |||
| 359 | (defun semantic-create-imenu-subindex (tags) | ||
| 360 | "From TAGS, create an imenu index of interesting things." | ||
| 361 | (let ((notypecheck (not semantic-imenu-expand-type-members)) | ||
| 362 | children index tag parts) | ||
| 363 | (while tags | ||
| 364 | (setq tag (car tags) | ||
| 365 | children (semantic-tag-components-with-overlays tag)) | ||
| 366 | (if (and (not notypecheck) | ||
| 367 | (memq (semantic-tag-class tag) | ||
| 368 | semantic-imenu-expandable-tag-classes) | ||
| 369 | children | ||
| 370 | ) | ||
| 371 | ;; to keep an homogeneous menu organisation, type menu items | ||
| 372 | ;; always have a sub-menu with at least the *definition* | ||
| 373 | ;; item (even if the tag has no type components) | ||
| 374 | (progn | ||
| 375 | (setq parts children) | ||
| 376 | ;; There is options which create the submenu | ||
| 377 | ;; * Type has an overlay, but children do. | ||
| 378 | ;; The type doesn't have to have it's own overlay, | ||
| 379 | ;; but a type with no overlay and no children should be | ||
| 380 | ;; invalid. | ||
| 381 | (setq index | ||
| 382 | (cons | ||
| 383 | (cons | ||
| 384 | (funcall semantic-imenu-summary-function tag) | ||
| 385 | ;; Add a menu for getting at the type definitions | ||
| 386 | (if (and parts | ||
| 387 | ;; Note to self: enable menu items for | ||
| 388 | ;; sub parts even if they are not proper | ||
| 389 | ;; tags. | ||
| 390 | (semantic-tag-p (car parts))) | ||
| 391 | (let ((submenu | ||
| 392 | (if (and semantic-imenu-bucketize-type-members | ||
| 393 | semantic-imenu-bucketize-file) | ||
| 394 | (semantic-create-imenu-index-1 parts tag) | ||
| 395 | (semantic-create-imenu-subindex parts)))) | ||
| 396 | ;; Only add a *definition* if we have a postion | ||
| 397 | ;; in that type tag. | ||
| 398 | (if (semantic-tag-with-position-p tag) | ||
| 399 | (cons | ||
| 400 | (cons "*definition*" | ||
| 401 | (semantic-imenu-tag-overlay tag)) | ||
| 402 | submenu) | ||
| 403 | submenu)) | ||
| 404 | ;; There were no parts, or something like that, so | ||
| 405 | ;; instead just put the definition here. | ||
| 406 | (if (semantic-tag-with-position-p tag) | ||
| 407 | (semantic-imenu-tag-overlay tag) | ||
| 408 | nil) | ||
| 409 | )) | ||
| 410 | index))) | ||
| 411 | (if (semantic-tag-with-position-p tag) | ||
| 412 | (setq index (cons | ||
| 413 | (cons | ||
| 414 | (funcall semantic-imenu-summary-function tag) | ||
| 415 | (semantic-imenu-tag-overlay tag)) | ||
| 416 | index)))) | ||
| 417 | (setq tags (cdr tags))) | ||
| 418 | ;; `imenu--split-submenus' sort submenus according to | ||
| 419 | ;; `imenu-sort-function' setting and split them up if they are | ||
| 420 | ;; longer than `imenu-max-items'. | ||
| 421 | (imenu--split-submenus (nreverse index)))) | ||
| 422 | |||
| 423 | ;;; directory imenu rebuilding. | ||
| 424 | ;; | ||
| 425 | (defun semantic-imenu-rebuild-directory-indexes (db) | ||
| 426 | "Rebuild directory index imenus based on Semantic database DB." | ||
| 427 | (let ((l (buffer-list)) | ||
| 428 | b) | ||
| 429 | (while l | ||
| 430 | (setq b (car l) | ||
| 431 | l (cdr l)) | ||
| 432 | (if (and (not (eq b (current-buffer))) | ||
| 433 | (buffer-live-p b)) | ||
| 434 | (with-current-buffer b | ||
| 435 | ;; If there is a buffer local Semantic index directory | ||
| 436 | ;; imenu | ||
| 437 | (when (and (eq imenu-create-index-function | ||
| 438 | 'semantic-create-imenu-index) | ||
| 439 | semanticdb-current-database | ||
| 440 | (eq semanticdb-current-database db)) | ||
| 441 | ;; Rebuild the imenu | ||
| 442 | (imenu--cleanup) | ||
| 443 | (setq imenu--index-alist nil) | ||
| 444 | (funcall | ||
| 445 | (if (fboundp 'imenu-menu-filter) | ||
| 446 | ;; XEmacs imenu | ||
| 447 | 'imenu-menu-filter | ||
| 448 | ;; Emacs imenu | ||
| 449 | 'imenu-update-menubar)))))))) | ||
| 450 | |||
| 451 | (defun semantic-imenu-semanticdb-hook () | ||
| 452 | "Function to be called from `semanticdb-mode-hook'. | ||
| 453 | Clears all imenu menus that may be depending on the database." | ||
| 454 | (require 'semantic/db-mode) | ||
| 455 | (semantic-map-buffers | ||
| 456 | #'(lambda () | ||
| 457 | ;; Set up semanticdb environment if enabled. | ||
| 458 | (if (semanticdb-minor-mode-p) | ||
| 459 | (semanticdb-semantic-init-hook-fcn)) | ||
| 460 | ;; Clear imenu cache to redraw the imenu. | ||
| 461 | (semantic-imenu-flush-fcn)))) | ||
| 462 | |||
| 463 | (add-hook 'semanticdb-mode-hook 'semantic-imenu-semanticdb-hook) | ||
| 464 | |||
| 465 | ;;; Interactive Utilities | ||
| 466 | ;; | ||
| 467 | (defun semantic-imenu-toggle-bucketize-file () | ||
| 468 | "Toggle the ability of imenu to bucketize the current file." | ||
| 469 | (interactive) | ||
| 470 | (setq semantic-imenu-bucketize-file (not semantic-imenu-bucketize-file)) | ||
| 471 | ;; Force a rescan | ||
| 472 | (setq imenu--index-alist nil)) | ||
| 473 | |||
| 474 | (defun semantic-imenu-toggle-buckets-to-submenu () | ||
| 475 | "Toggle the ability of imenu to turn buckets into submenus." | ||
| 476 | (interactive) | ||
| 477 | (setq semantic-imenu-buckets-to-submenu (not semantic-imenu-buckets-to-submenu)) | ||
| 478 | ;; Force a rescan | ||
| 479 | (setq imenu--index-alist nil)) | ||
| 480 | |||
| 481 | (defun semantic-imenu-toggle-bucketize-type-parts () | ||
| 482 | "Toggle the ability of imenu to bucketize the current file." | ||
| 483 | (interactive) | ||
| 484 | (setq semantic-imenu-bucketize-type-members (not semantic-imenu-bucketize-type-members)) | ||
| 485 | ;; Force a rescan | ||
| 486 | (setq imenu--index-alist nil)) | ||
| 487 | |||
| 488 | ;;; Which function support | ||
| 489 | ;; | ||
| 490 | ;; The which-function library will display the current function in the | ||
| 491 | ;; mode line. It tries do do this through imenu. With a semantic parsed | ||
| 492 | ;; buffer, there is a much more efficient way of doing this. | ||
| 493 | ;; Advise `which-function' so that we optionally use semantic tags | ||
| 494 | ;; instead, and get better stuff. | ||
| 495 | (require 'advice) | ||
| 496 | |||
| 497 | (defvar semantic-which-function 'semantic-default-which-function | ||
| 498 | "Function to convert semantic tags into `which-function' text.") | ||
| 499 | |||
| 500 | (defcustom semantic-which-function-use-color nil | ||
| 501 | "*Use color when displaying the current function with `which-function'." | ||
| 502 | :group 'semantic-imenu | ||
| 503 | :type 'boolean) | ||
| 504 | |||
| 505 | (defun semantic-default-which-function (taglist) | ||
| 506 | "Convert TAGLIST into a string usable by `which-function'. | ||
| 507 | Returns the first tag name in the list, unless it is a type, | ||
| 508 | in which case it concatenates them together." | ||
| 509 | (cond ((eq (length taglist) 1) | ||
| 510 | (semantic-format-tag-abbreviate | ||
| 511 | (car taglist) nil semantic-which-function-use-color)) | ||
| 512 | ((memq (semantic-tag-class (car taglist)) | ||
| 513 | semantic-imenu-expandable-tag-classes) | ||
| 514 | (concat (semantic-format-tag-name | ||
| 515 | (car taglist) nil semantic-which-function-use-color) | ||
| 516 | (car semantic-type-relation-separator-character) | ||
| 517 | ;; recurse until we no longer have a type | ||
| 518 | ;; or any tags left. | ||
| 519 | (semantic-default-which-function (cdr taglist)))) | ||
| 520 | (t (semantic-format-tag-abbreviate | ||
| 521 | (car taglist) nil semantic-which-function-use-color)))) | ||
| 522 | |||
| 523 | ;; (defadvice which-function (around semantic-which activate) | ||
| 524 | ;; "Choose the function to display via semantic if it is currently active." | ||
| 525 | ;; (if (and (featurep 'semantic) semantic--buffer-cache) | ||
| 526 | ;; (let ((ol (semantic-find-tag-by-overlay))) | ||
| 527 | ;; (setq ad-return-value (funcall semantic-which-function ol))) | ||
| 528 | ;; ad-do-it)) | ||
| 529 | |||
| 530 | (provide 'semantic/imenu) | ||
| 531 | |||
| 532 | ;; Local variables: | ||
| 533 | ;; generated-autoload-file: "loaddefs.el" | ||
| 534 | ;; generated-autoload-load-name: "semantic/imenu" | ||
| 535 | ;; End: | ||
| 536 | |||
| 537 | ;;; semantic/imenu.el ends here | ||
diff --git a/lisp/cedet/srecode/table.el b/lisp/cedet/srecode/table.el index 8da38b5f4c4..3d22922d551 100644 --- a/lisp/cedet/srecode/table.el +++ b/lisp/cedet/srecode/table.el | |||
| @@ -66,7 +66,7 @@ Format is from the `file-attributes' function.") | |||
| 66 | If this is nil, then this template table belongs to a set of generic | 66 | If this is nil, then this template table belongs to a set of generic |
| 67 | templates that can be used with no additional dictionary values. | 67 | templates that can be used with no additional dictionary values. |
| 68 | When it is non-nil, it is assumed the template macros need specialized | 68 | When it is non-nil, it is assumed the template macros need specialized |
| 69 | Emacs Lisp code to fill in the dictoinary.") | 69 | Emacs Lisp code to fill in the dictionary.") |
| 70 | (priority :initarg :priority | 70 | (priority :initarg :priority |
| 71 | :type number | 71 | :type number |
| 72 | :documentation | 72 | :documentation |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 3beda28abf2..bdae05e7774 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -273,8 +273,8 @@ Not documented | |||
| 273 | 273 | ||
| 274 | ;;;*** | 274 | ;;;*** |
| 275 | 275 | ||
| 276 | ;;;### (autoloads (compiler-macroexpand define-compiler-macro assert | 276 | ;;;### (autoloads (defsubst* compiler-macroexpand define-compiler-macro |
| 277 | ;;;;;; check-type typep deftype cl-struct-setf-expander defstruct | 277 | ;;;;;; assert check-type typep deftype cl-struct-setf-expander defstruct |
| 278 | ;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf | 278 | ;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf |
| 279 | ;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method | 279 | ;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method |
| 280 | ;;;;;; declare the locally multiple-value-setq multiple-value-bind | 280 | ;;;;;; declare the locally multiple-value-setq multiple-value-bind |
| @@ -282,7 +282,7 @@ Not documented | |||
| 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist | 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist |
| 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase | 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase |
| 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* | 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* |
| 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "e10a7e42199c08dc39460f67dd2d424b") | 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "273ba25f4a116c61a464dbe55f1f8c63") |
| 286 | ;;; Generated autoloads from cl-macs.el | 286 | ;;; Generated autoloads from cl-macs.el |
| 287 | 287 | ||
| 288 | (autoload 'gensym "cl-macs" "\ | 288 | (autoload 'gensym "cl-macs" "\ |
| @@ -739,6 +739,14 @@ Not documented | |||
| 739 | 739 | ||
| 740 | \(fn FORM)" nil nil) | 740 | \(fn FORM)" nil nil) |
| 741 | 741 | ||
| 742 | (autoload 'defsubst* "cl-macs" "\ | ||
| 743 | Define NAME as a function. | ||
| 744 | Like `defun', except the function is automatically declared `inline', | ||
| 745 | ARGLIST allows full Common Lisp conventions, and BODY is implicitly | ||
| 746 | surrounded by (block NAME ...). | ||
| 747 | |||
| 748 | \(fn NAME ARGLIST [DOCSTRING] BODY...)" nil (quote macro)) | ||
| 749 | |||
| 742 | ;;;*** | 750 | ;;;*** |
| 743 | 751 | ||
| 744 | ;;;### (autoloads (tree-equal nsublis sublis nsubst-if-not nsubst-if | 752 | ;;;### (autoloads (tree-equal nsublis sublis nsubst-if-not nsubst-if |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 4e3b1fb72d9..8a60ffdf1fe 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; cl-macs.el --- Common Lisp macros | 1 | ;;; cl-macs.el --- Common Lisp macros |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2009, 2010 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Dave Gillespie <daveg@synaptics.com> | 6 | ;; Author: Dave Gillespie <daveg@synaptics.com> |
| 7 | ;; Version: 2.02 | 7 | ;; Version: 2.02 |
| @@ -2596,6 +2596,7 @@ and then returning foo." | |||
| 2596 | (byte-compile-normal-call form) | 2596 | (byte-compile-normal-call form) |
| 2597 | (byte-compile-form form))) | 2597 | (byte-compile-form form))) |
| 2598 | 2598 | ||
| 2599 | ;;;###autoload | ||
| 2599 | (defmacro defsubst* (name args &rest body) | 2600 | (defmacro defsubst* (name args &rest body) |
| 2600 | "Define NAME as a function. | 2601 | "Define NAME as a function. |
| 2601 | Like `defun', except the function is automatically declared `inline', | 2602 | Like `defun', except the function is automatically declared `inline', |
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el index 9b143cbf18c..194afe10815 100644 --- a/lisp/emacs-lisp/trace.el +++ b/lisp/emacs-lisp/trace.el | |||
| @@ -253,7 +253,7 @@ | |||
| 253 | For every call of FUNCTION Lisp-style trace messages that display argument | 253 | For every call of FUNCTION Lisp-style trace messages that display argument |
| 254 | and return values will be inserted into BUFFER. This function generates the | 254 | and return values will be inserted into BUFFER. This function generates the |
| 255 | trace advice for FUNCTION and activates it together with any other advice | 255 | trace advice for FUNCTION and activates it together with any other advice |
| 256 | there might be!! The trace BUFFER will popup whenever FUNCTION is called. | 256 | there might be!! The trace BUFFER will popup whenever FUNCTION is called. |
| 257 | Do not use this to trace functions that switch buffers or do any other | 257 | Do not use this to trace functions that switch buffers or do any other |
| 258 | display oriented stuff, use `trace-function-background' instead." | 258 | display oriented stuff, use `trace-function-background' instead." |
| 259 | (interactive | 259 | (interactive |
diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el index 775b67a3fa3..a4074011f58 100644 --- a/lisp/eshell/em-basic.el +++ b/lisp/eshell/em-basic.el | |||
| @@ -125,7 +125,7 @@ or `eshell-printn' for display." | |||
| 125 | (eshell-echo args output-newline))) | 125 | (eshell-echo args output-newline))) |
| 126 | 126 | ||
| 127 | (defun eshell/printnl (&rest args) | 127 | (defun eshell/printnl (&rest args) |
| 128 | "Print out each of the argument, separated by newlines." | 128 | "Print out each of the arguments, separated by newlines." |
| 129 | (let ((elems (eshell-flatten-list args))) | 129 | (let ((elems (eshell-flatten-list args))) |
| 130 | (while elems | 130 | (while elems |
| 131 | (eshell-printn (eshell-echo (list (car elems)))) | 131 | (eshell-printn (eshell-echo (list (car elems)))) |
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el index 3104bb11b17..43bc3ffaa6f 100644 --- a/lisp/eshell/em-dirs.el +++ b/lisp/eshell/em-dirs.el | |||
| @@ -178,7 +178,7 @@ thing again." | |||
| 178 | Thus, this does not include the current directory.") | 178 | Thus, this does not include the current directory.") |
| 179 | 179 | ||
| 180 | (defvar eshell-last-dir-ring nil | 180 | (defvar eshell-last-dir-ring nil |
| 181 | "The last directory that eshell was in.") | 181 | "The last directory that Eshell was in.") |
| 182 | 182 | ||
| 183 | ;;; Functions: | 183 | ;;; Functions: |
| 184 | 184 | ||
| @@ -267,7 +267,7 @@ Thus, this does not include the current directory.") | |||
| 267 | (char-to-string (char-before)))) | 267 | (char-to-string (char-before)))) |
| 268 | 268 | ||
| 269 | (defun eshell-parse-drive-letter () | 269 | (defun eshell-parse-drive-letter () |
| 270 | "An argument beginning X:[^/] is a drive letter reference." | 270 | "An argument beginning with X:[^/] is a drive letter reference." |
| 271 | (when (and (not eshell-current-argument) | 271 | (when (and (not eshell-current-argument) |
| 272 | (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)")) | 272 | (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)")) |
| 273 | (goto-char (match-end 1)) | 273 | (goto-char (match-end 1)) |
| @@ -517,7 +517,7 @@ in the minibuffer: | |||
| 517 | msg))) | 517 | msg))) |
| 518 | 518 | ||
| 519 | (defun eshell-read-last-dir-ring () | 519 | (defun eshell-read-last-dir-ring () |
| 520 | "Sets the buffer's `eshell-last-dir-ring' from a history file." | 520 | "Set the buffer's `eshell-last-dir-ring' from a history file." |
| 521 | (let ((file eshell-last-dir-ring-file-name)) | 521 | (let ((file eshell-last-dir-ring-file-name)) |
| 522 | (cond | 522 | (cond |
| 523 | ((or (null file) | 523 | ((or (null file) |
| @@ -545,7 +545,7 @@ in the minibuffer: | |||
| 545 | (setq eshell-last-dir-ring ring)))))) | 545 | (setq eshell-last-dir-ring ring)))))) |
| 546 | 546 | ||
| 547 | (defun eshell-write-last-dir-ring () | 547 | (defun eshell-write-last-dir-ring () |
| 548 | "Writes the buffer's `eshell-last-dir-ring' to a history file." | 548 | "Write the buffer's `eshell-last-dir-ring' to a history file." |
| 549 | (let ((file eshell-last-dir-ring-file-name)) | 549 | (let ((file eshell-last-dir-ring-file-name)) |
| 550 | (cond | 550 | (cond |
| 551 | ((or (null file) | 551 | ((or (null file) |
diff --git a/lisp/faces.el b/lisp/faces.el index a5bc7b1c965..900e96ed048 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -590,7 +590,7 @@ the default for new frames (this is done automatically each time an | |||
| 590 | attribute is changed on all frames). | 590 | attribute is changed on all frames). |
| 591 | 591 | ||
| 592 | ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid | 592 | ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid |
| 593 | face attribute name. All attributes can be set to `unspecified'; | 593 | face attribute name. All attributes can be set to `unspecified'; |
| 594 | this fact is not further mentioned below. | 594 | this fact is not further mentioned below. |
| 595 | 595 | ||
| 596 | The following attributes are recognized: | 596 | The following attributes are recognized: |
| @@ -988,9 +988,9 @@ Otherwise, return a single face." | |||
| 988 | (defun face-valid-attribute-values (attribute &optional frame) | 988 | (defun face-valid-attribute-values (attribute &optional frame) |
| 989 | "Return valid values for face attribute ATTRIBUTE. | 989 | "Return valid values for face attribute ATTRIBUTE. |
| 990 | The optional argument FRAME is used to determine available fonts | 990 | The optional argument FRAME is used to determine available fonts |
| 991 | and colors. If it is nil or not specified, the selected frame is | 991 | and colors. If it is nil or not specified, the selected frame is used. |
| 992 | used. Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value | 992 | Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value out |
| 993 | out of a set of discrete values. Value is `integerp' if ATTRIBUTE expects | 993 | of a set of discrete values. Value is `integerp' if ATTRIBUTE expects |
| 994 | an integer value." | 994 | an integer value." |
| 995 | (let ((valid | 995 | (let ((valid |
| 996 | (case attribute | 996 | (case attribute |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 88c2280f6a3..20a8cb63997 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * message.el (message-interactive): Doc fix. | ||
| 4 | (message-qmail-inject-args): Reflow. | ||
| 5 | (message-kill-to-signature): Fix typo in docstring. | ||
| 6 | |||
| 7 | * smiley.el (smiley-buffer): Fix typo in docstring. | ||
| 8 | |||
| 1 | 2010-03-24 Glenn Morris <rgm@gnu.org> | 9 | 2010-03-24 Glenn Morris <rgm@gnu.org> |
| 2 | 10 | ||
| 3 | * mail-source.el (gnus-message): Declare. | 11 | * mail-source.el (gnus-message): Declare. |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 03a4a40a66f..d64a3aa0244 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -440,7 +440,7 @@ whitespace)." | |||
| 440 | ;; Default to the value of `mail-interactive', available in all Emacsen | 440 | ;; Default to the value of `mail-interactive', available in all Emacsen |
| 441 | ;; that Gnus supports. | 441 | ;; that Gnus supports. |
| 442 | "Non-nil means when sending a message wait for and display errors. | 442 | "Non-nil means when sending a message wait for and display errors. |
| 443 | nil means let mailer mail back a message to report errors." | 443 | A value of nil means let mailer mail back a message to report errors." |
| 444 | :version "23.2" | 444 | :version "23.2" |
| 445 | :group 'message-sending | 445 | :group 'message-sending |
| 446 | :group 'message-mail | 446 | :group 'message-mail |
| @@ -861,8 +861,8 @@ If this is nil, use `user-mail-address'. If it is the symbol | |||
| 861 | 861 | ||
| 862 | (defcustom message-qmail-inject-args nil | 862 | (defcustom message-qmail-inject-args nil |
| 863 | "Arguments passed to qmail-inject programs. | 863 | "Arguments passed to qmail-inject programs. |
| 864 | This should be a list of strings, one string for each argument. It | 864 | This should be a list of strings, one string for each argument. |
| 865 | may also be a function. | 865 | It may also be a function. |
| 866 | 866 | ||
| 867 | For e.g., if you wish to set the envelope sender address so that bounces | 867 | For e.g., if you wish to set the envelope sender address so that bounces |
| 868 | go to the right place or to deal with listserv's usage of that address, you | 868 | go to the right place or to deal with listserv's usage of that address, you |
| @@ -3254,7 +3254,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 3254 | 3254 | ||
| 3255 | (defun message-kill-to-signature (&optional arg) | 3255 | (defun message-kill-to-signature (&optional arg) |
| 3256 | "Kill all text up to the signature. | 3256 | "Kill all text up to the signature. |
| 3257 | If a numberic argument or prefix arg is given, leave that number | 3257 | If a numeric argument or prefix arg is given, leave that number |
| 3258 | of lines before the signature intact." | 3258 | of lines before the signature intact." |
| 3259 | (interactive "P") | 3259 | (interactive "P") |
| 3260 | (save-excursion | 3260 | (save-excursion |
diff --git a/lisp/gnus/smiley.el b/lisp/gnus/smiley.el index 8e79dd58125..fbe71e7725f 100644 --- a/lisp/gnus/smiley.el +++ b/lisp/gnus/smiley.el | |||
| @@ -196,8 +196,8 @@ A list of images is returned." | |||
| 196 | 196 | ||
| 197 | ;;;###autoload | 197 | ;;;###autoload |
| 198 | (defun smiley-buffer (&optional buffer) | 198 | (defun smiley-buffer (&optional buffer) |
| 199 | "Run `smiley-region' at the buffer, specified in the argument or | 199 | "Run `smiley-region' at the BUFFER, specified in the argument or |
| 200 | interactively. If there's no argument, do it at the current buffer" | 200 | interactively. If there's no argument, do it at the current buffer." |
| 201 | (interactive "bBuffer to run smiley-region: ") | 201 | (interactive "bBuffer to run smiley-region: ") |
| 202 | (save-excursion | 202 | (save-excursion |
| 203 | (if buffer | 203 | (if buffer |
diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 8eb1d127819..f006e2e9edd 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el | |||
| @@ -801,7 +801,7 @@ you have the dired buffer in the left window and the | |||
| 801 | With optional argument APPEND, append thumbnail to thumbnail buffer | 801 | With optional argument APPEND, append thumbnail to thumbnail buffer |
| 802 | instead of erasing it first. | 802 | instead of erasing it first. |
| 803 | 803 | ||
| 804 | Option argument DO-NOT-POP controls if `pop-to-buffer' should be | 804 | Optional argument DO-NOT-POP controls if `pop-to-buffer' should be |
| 805 | used or not. If non-nil, use `display-buffer' instead of | 805 | used or not. If non-nil, use `display-buffer' instead of |
| 806 | `pop-to-buffer'. This is used from functions like | 806 | `pop-to-buffer'. This is used from functions like |
| 807 | `image-dired-next-line-and-display' and | 807 | `image-dired-next-line-and-display' and |
| @@ -2113,8 +2113,7 @@ FILE-COMMENTS is an alist on the following form: | |||
| 2113 | 2113 | ||
| 2114 | (defun image-dired-read-comment (&optional file) | 2114 | (defun image-dired-read-comment (&optional file) |
| 2115 | "Read comment for an image. | 2115 | "Read comment for an image. |
| 2116 | Read comment for an image, optionally using old comment from FILE | 2116 | Optionally use old comment from FILE as initial value." |
| 2117 | as initial value." | ||
| 2118 | (let ((comment | 2117 | (let ((comment |
| 2119 | (read-string | 2118 | (read-string |
| 2120 | "Comment: " | 2119 | "Comment: " |
diff --git a/lisp/indent.el b/lisp/indent.el index 3f8353bd90c..adecbfaeb12 100644 --- a/lisp/indent.el +++ b/lisp/indent.el | |||
| @@ -85,8 +85,10 @@ special; we don't actually use them here." | |||
| 85 | (defun indent-for-tab-command (&optional arg) | 85 | (defun indent-for-tab-command (&optional arg) |
| 86 | "Indent line or region in proper way for current major mode or insert a tab. | 86 | "Indent line or region in proper way for current major mode or insert a tab. |
| 87 | Depending on `tab-always-indent', either insert a tab or indent. | 87 | Depending on `tab-always-indent', either insert a tab or indent. |
| 88 | If initial point was within line's indentation, position after | 88 | |
| 89 | the indentation. Else stay at same point in text. | 89 | In most major modes, if point was in the current line's indentation, |
| 90 | it is moved to the first non-whitespace character after indenting; | ||
| 91 | otherwise it stays at the same position in the text. | ||
| 90 | 92 | ||
| 91 | If a prefix argument is given, also rigidly indent the entire | 93 | If a prefix argument is given, also rigidly indent the entire |
| 92 | balanced expression which starts at the beginning of the current | 94 | balanced expression which starts at the beginning of the current |
diff --git a/lisp/json.el b/lisp/json.el index 39c1fd32337..6228b99f3e2 100644 --- a/lisp/json.el +++ b/lisp/json.el | |||
| @@ -62,12 +62,12 @@ | |||
| 62 | 62 | ||
| 63 | (defvar json-object-type 'alist | 63 | (defvar json-object-type 'alist |
| 64 | "Type to convert JSON objects to. | 64 | "Type to convert JSON objects to. |
| 65 | Must be one of `alist', `plist', or `hash-table'. Consider let-binding | 65 | Must be one of `alist', `plist', or `hash-table'. Consider let-binding |
| 66 | this around your call to `json-read' instead of `setq'ing it.") | 66 | this around your call to `json-read' instead of `setq'ing it.") |
| 67 | 67 | ||
| 68 | (defvar json-array-type 'vector | 68 | (defvar json-array-type 'vector |
| 69 | "Type to convert JSON arrays to. | 69 | "Type to convert JSON arrays to. |
| 70 | Must be one of `vector' or `list'. Consider let-binding this around | 70 | Must be one of `vector' or `list'. Consider let-binding this around |
| 71 | your call to `json-read' instead of `setq'ing it.") | 71 | your call to `json-read' instead of `setq'ing it.") |
| 72 | 72 | ||
| 73 | (defvar json-key-type nil | 73 | (defvar json-key-type nil |
| @@ -83,19 +83,19 @@ If nil, `json-read' will guess the type based on the value of | |||
| 83 | `plist' `keyword' | 83 | `plist' `keyword' |
| 84 | 84 | ||
| 85 | Note that values other than `string' might behave strangely for | 85 | Note that values other than `string' might behave strangely for |
| 86 | Sufficiently Weird keys. Consider let-binding this around your call to | 86 | Sufficiently Weird keys. Consider let-binding this around your call to |
| 87 | `json-read' instead of `setq'ing it.") | 87 | `json-read' instead of `setq'ing it.") |
| 88 | 88 | ||
| 89 | (defvar json-false :json-false | 89 | (defvar json-false :json-false |
| 90 | "Value to use when reading JSON `false'. | 90 | "Value to use when reading JSON `false'. |
| 91 | If this has the same value as `json-null', you might not be able to tell | 91 | If this has the same value as `json-null', you might not be able to tell |
| 92 | the difference between `false' and `null'. Consider let-binding this | 92 | the difference between `false' and `null'. Consider let-binding this |
| 93 | around your call to `json-read' instead of `setq'ing it.") | 93 | around your call to `json-read' instead of `setq'ing it.") |
| 94 | 94 | ||
| 95 | (defvar json-null nil | 95 | (defvar json-null nil |
| 96 | "Value to use when reading JSON `null'. | 96 | "Value to use when reading JSON `null'. |
| 97 | If this has the same value as `json-false', you might not be able to | 97 | If this has the same value as `json-false', you might not be able to |
| 98 | tell the difference between `false' and `null'. Consider let-binding | 98 | tell the difference between `false' and `null'. Consider let-binding |
| 99 | this around your call to `json-read' instead of `setq'ing it.") | 99 | this around your call to `json-read' instead of `setq'ing it.") |
| 100 | 100 | ||
| 101 | 101 | ||
| @@ -218,7 +218,7 @@ KEYWORD is the keyword expected." | |||
| 218 | 218 | ||
| 219 | (defun json-read-number (&optional sign) | 219 | (defun json-read-number (&optional sign) |
| 220 | "Read the JSON number following point. | 220 | "Read the JSON number following point. |
| 221 | The optional SIGN argument is for internal use. | 221 | The optional SIGN argument is for internal use. |
| 222 | 222 | ||
| 223 | N.B.: Only numbers which can fit in Emacs Lisp's native number | 223 | N.B.: Only numbers which can fit in Emacs Lisp's native number |
| 224 | representation will be parsed correctly." | 224 | representation will be parsed correctly." |
diff --git a/lisp/language/indian.el b/lisp/language/indian.el index 8d315b30404..d8d7d1a6269 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el | |||
| @@ -141,7 +141,7 @@ South Indian language Malayalam is supported in this language environment.")) | |||
| 141 | (defconst devanagari-composable-pattern | 141 | (defconst devanagari-composable-pattern |
| 142 | (let ((table | 142 | (let ((table |
| 143 | '(("V" . "[\u0904-\u0914\u0960-\u0961\u0972]") ; independent vowel | 143 | '(("V" . "[\u0904-\u0914\u0960-\u0961\u0972]") ; independent vowel |
| 144 | ("C" . "[\u0915-\u0939]") ; consonant | 144 | ("C" . "[\u0915-\u0939\u0958-\u095F\u097B-\u097C\u097E-\u097F]") ; consonant |
| 145 | ("R" . "\u0930") ; RA | 145 | ("R" . "\u0930") ; RA |
| 146 | ("n" . "\u093C") ; NUKTA | 146 | ("n" . "\u093C") ; NUKTA |
| 147 | ("H" . "\u094D") ; HALANT | 147 | ("H" . "\u094D") ; HALANT |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index a737b99c29e..630c729703b 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -381,6 +381,20 @@ The variable `rmail-highlighted-headers' specifies which headers." | |||
| 381 | :group 'rmail-headers | 381 | :group 'rmail-headers |
| 382 | :version "22.1") | 382 | :version "22.1") |
| 383 | 383 | ||
| 384 | ;; This was removed in Emacs 23.1 with no notification, an unnecessary | ||
| 385 | ;; incompatible change. | ||
| 386 | (defcustom rmail-highlight-face 'rmail-highlight | ||
| 387 | "Face used by Rmail for highlighting headers." | ||
| 388 | ;; Note that nil doesn't actually mean use the default face, it | ||
| 389 | ;; means use either bold or highlight. It's not worth fixing this | ||
| 390 | ;; now that this is obsolete. | ||
| 391 | :type '(choice (const :tag "Default" nil) | ||
| 392 | face) | ||
| 393 | :group 'rmail-headers) | ||
| 394 | (make-obsolete-variable 'rmail-highlight-face | ||
| 395 | "customize the face `rmail-highlight' instead." | ||
| 396 | "23.2") | ||
| 397 | |||
| 384 | (defface rmail-header-name | 398 | (defface rmail-header-name |
| 385 | '((t (:inherit font-lock-function-name-face))) | 399 | '((t (:inherit font-lock-function-name-face))) |
| 386 | "Face to use for highlighting the header names. | 400 | "Face to use for highlighting the header names. |
| @@ -2883,7 +2897,7 @@ using the coding system CODING." | |||
| 2883 | 2897 | ||
| 2884 | (defun rmail-highlight-headers () | 2898 | (defun rmail-highlight-headers () |
| 2885 | "Highlight the headers specified by `rmail-highlighted-headers'. | 2899 | "Highlight the headers specified by `rmail-highlighted-headers'. |
| 2886 | Uses the face `rmail-highlight'." | 2900 | Uses the face specified by `rmail-highlight-face'." |
| 2887 | (if rmail-highlighted-headers | 2901 | (if rmail-highlighted-headers |
| 2888 | (save-excursion | 2902 | (save-excursion |
| 2889 | (search-forward "\n\n" nil 'move) | 2903 | (search-forward "\n\n" nil 'move) |
| @@ -2891,6 +2905,11 @@ Uses the face `rmail-highlight'." | |||
| 2891 | (narrow-to-region (point-min) (point)) | 2905 | (narrow-to-region (point-min) (point)) |
| 2892 | (let ((case-fold-search t) | 2906 | (let ((case-fold-search t) |
| 2893 | (inhibit-read-only t) | 2907 | (inhibit-read-only t) |
| 2908 | ;; When rmail-highlight-face is removed, just | ||
| 2909 | ;; use 'rmail-highlight here. | ||
| 2910 | (face (or rmail-highlight-face | ||
| 2911 | (if (face-differs-from-default-p 'bold) | ||
| 2912 | 'bold 'highlight))) | ||
| 2894 | ;; List of overlays to reuse. | 2913 | ;; List of overlays to reuse. |
| 2895 | (overlays rmail-overlay-list)) | 2914 | (overlays rmail-overlay-list)) |
| 2896 | (goto-char (point-min)) | 2915 | (goto-char (point-min)) |
| @@ -2909,12 +2928,12 @@ Uses the face `rmail-highlight'." | |||
| 2909 | (progn | 2928 | (progn |
| 2910 | (setq overlay (car overlays) | 2929 | (setq overlay (car overlays) |
| 2911 | overlays (cdr overlays)) | 2930 | overlays (cdr overlays)) |
| 2912 | (overlay-put overlay 'face 'rmail-highlight) | 2931 | (overlay-put overlay 'face face) |
| 2913 | (move-overlay overlay beg (point))) | 2932 | (move-overlay overlay beg (point))) |
| 2914 | ;; Make a new overlay and add it to | 2933 | ;; Make a new overlay and add it to |
| 2915 | ;; rmail-overlay-list. | 2934 | ;; rmail-overlay-list. |
| 2916 | (setq overlay (make-overlay beg (point))) | 2935 | (setq overlay (make-overlay beg (point))) |
| 2917 | (overlay-put overlay 'face 'rmail-highlight) | 2936 | (overlay-put overlay 'face face) |
| 2918 | (setq rmail-overlay-list | 2937 | (setq rmail-overlay-list |
| 2919 | (cons overlay rmail-overlay-list)))))))))) | 2938 | (cons overlay rmail-overlay-list)))))))))) |
| 2920 | 2939 | ||
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 4405249d981..4584aa0bbd7 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * mh-scan.el (mh-scan-cmd-note-width): Doc fix. | ||
| 4 | (mh-scan-format-mh, mh-scan-body-regexp, mh-scan-cur-msg-number-regexp) | ||
| 5 | (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp) | ||
| 6 | (mh-scan-deleted-msg-regexp, mh-scan-good-msg-regexp) | ||
| 7 | (mh-scan-msg-format-regexp, mh-scan-msg-format-string) | ||
| 8 | (mh-scan-msg-number-regexp, mh-scan-rcpt-regexp) | ||
| 9 | (mh-scan-refiled-msg-regexp, mh-scan-sent-to-me-sender-regexp) | ||
| 10 | (mh-scan-subject-regexp, mh-update-scan-format) | ||
| 11 | (mh-msg-num-width-to-column): Fix typos in docstrings. | ||
| 12 | |||
| 1 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> | 13 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 14 | ||
| 3 | * Branch for 23.2. | 15 | * Branch for 23.2. |
diff --git a/lisp/mh-e/mh-scan.el b/lisp/mh-e/mh-scan.el index fd812c80f47..5f5a84f07a6 100644 --- a/lisp/mh-e/mh-scan.el +++ b/lisp/mh-e/mh-scan.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | "%{subject}%<{body}<<%{body}%>") | 61 | "%{subject}%<{body}<<%{body}%>") |
| 62 | "*Scan format string for MH. | 62 | "*Scan format string for MH. |
| 63 | This string is passed to the scan program via the -format | 63 | This string is passed to the scan program via the -format |
| 64 | argument. This format is identical to the default except that | 64 | argument. This format is identical to the default except that |
| 65 | additional hints for fontification have been added to the fifth | 65 | additional hints for fontification have been added to the fifth |
| 66 | column (remember that in Emacs, the first column is 0). | 66 | column (remember that in Emacs, the first column is 0). |
| 67 | 67 | ||
| @@ -109,14 +109,14 @@ non-empty Newsgroups: field is present.") | |||
| 109 | Note that the default setting of `mh-folder-font-lock-keywords' | 109 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 110 | expects this expression to contain at least one parenthesized | 110 | expects this expression to contain at least one parenthesized |
| 111 | expression which matches the body text as in the default of | 111 | expression which matches the body text as in the default of |
| 112 | \"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is | 112 | \"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is |
| 113 | not correct, the body fragment will not be highlighted with the | 113 | not correct, the body fragment will not be highlighted with the |
| 114 | face `mh-folder-body'.") | 114 | face `mh-folder-body'.") |
| 115 | 115 | ||
| 116 | (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" | 116 | (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" |
| 117 | "This regular expression matches the current message. | 117 | "This regular expression matches the current message. |
| 118 | 118 | ||
| 119 | It must match from the beginning of the line. Note that the | 119 | It must match from the beginning of the line. Note that the |
| 120 | default setting of `mh-folder-font-lock-keywords' expects this | 120 | default setting of `mh-folder-font-lock-keywords' expects this |
| 121 | expression to contain at least one parenthesized expression which | 121 | expression to contain at least one parenthesized expression which |
| 122 | matches the message number as in the default of | 122 | matches the message number as in the default of |
| @@ -125,9 +125,9 @@ matches the message number as in the default of | |||
| 125 | 125 | ||
| 126 | This expression includes the leading space and current message | 126 | This expression includes the leading space and current message |
| 127 | marker \"+\" within the parenthesis since it looks better to | 127 | marker \"+\" within the parenthesis since it looks better to |
| 128 | highlight these items as well. The highlighting is done with the | 128 | highlight these items as well. The highlighting is done with the |
| 129 | face `mh-folder-cur-msg-number'. This regular expression should | 129 | face `mh-folder-cur-msg-number'. This regular expression should |
| 130 | be correct as it is needed by non-fontification functions. See | 130 | be correct as it is needed by non-fontification functions. See |
| 131 | also `mh-note-cur'.") | 131 | also `mh-note-cur'.") |
| 132 | 132 | ||
| 133 | (defvar mh-scan-date-regexp "\\([0-9][0-9]/[0-9][0-9]\\)" | 133 | (defvar mh-scan-date-regexp "\\([0-9][0-9]/[0-9][0-9]\\)" |
| @@ -137,14 +137,14 @@ It must not be anchored to the beginning or the end of the line. | |||
| 137 | Note that the default setting of `mh-folder-font-lock-keywords' | 137 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 138 | expects this expression to contain only one parenthesized | 138 | expects this expression to contain only one parenthesized |
| 139 | expression which matches the date field as in the default of | 139 | expression which matches the date field as in the default of |
| 140 | \"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression | 140 | \"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression |
| 141 | is not correct, the date will not be highlighted with the face | 141 | is not correct, the date will not be highlighted with the face |
| 142 | `mh-folder-date'.") | 142 | `mh-folder-date'.") |
| 143 | 143 | ||
| 144 | (defvar mh-scan-deleted-msg-regexp "^\\( *[0-9]+\\)D" | 144 | (defvar mh-scan-deleted-msg-regexp "^\\( *[0-9]+\\)D" |
| 145 | "This regular expression matches deleted messages. | 145 | "This regular expression matches deleted messages. |
| 146 | 146 | ||
| 147 | It must match from the beginning of the line. Note that the | 147 | It must match from the beginning of the line. Note that the |
| 148 | default setting of `mh-folder-font-lock-keywords' expects this | 148 | default setting of `mh-folder-font-lock-keywords' expects this |
| 149 | expression to contain at least one parenthesized expression which | 149 | expression to contain at least one parenthesized expression which |
| 150 | matches the message number as in the default of | 150 | matches the message number as in the default of |
| @@ -152,15 +152,15 @@ matches the message number as in the default of | |||
| 152 | \"^\\\\( *[0-9]+\\\\)D\". | 152 | \"^\\\\( *[0-9]+\\\\)D\". |
| 153 | 153 | ||
| 154 | This expression includes the leading space within the parenthesis | 154 | This expression includes the leading space within the parenthesis |
| 155 | since it looks better to highlight it as well. The highlighting | 155 | since it looks better to highlight it as well. The highlighting |
| 156 | is done with the face `mh-folder-deleted'. This regular | 156 | is done with the face `mh-folder-deleted'. This regular |
| 157 | expression should be correct as it is needed by non-fontification | 157 | expression should be correct as it is needed by non-fontification |
| 158 | functions. See also `mh-note-deleted'.") | 158 | functions. See also `mh-note-deleted'.") |
| 159 | 159 | ||
| 160 | (defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^D^0-9]" | 160 | (defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^D^0-9]" |
| 161 | "This regular expression matches \"good\" messages. | 161 | "This regular expression matches \"good\" messages. |
| 162 | 162 | ||
| 163 | It must match from the beginning of the line. Note that the | 163 | It must match from the beginning of the line. Note that the |
| 164 | default setting of `mh-folder-font-lock-keywords' expects this | 164 | default setting of `mh-folder-font-lock-keywords' expects this |
| 165 | expression to contain at least one parenthesized expression which | 165 | expression to contain at least one parenthesized expression which |
| 166 | matches the message number as in the default of | 166 | matches the message number as in the default of |
| @@ -168,8 +168,8 @@ matches the message number as in the default of | |||
| 168 | \"^\\\\( *[0-9]+\\\\)[^D^0-9]\". | 168 | \"^\\\\( *[0-9]+\\\\)[^D^0-9]\". |
| 169 | 169 | ||
| 170 | This expression includes the leading space within the parenthesis | 170 | This expression includes the leading space within the parenthesis |
| 171 | since it looks better to highlight it as well. The highlighting | 171 | since it looks better to highlight it as well. The highlighting |
| 172 | is done with the face `mh-folder-msg-number'. This regular | 172 | is done with the face `mh-folder-msg-number'. This regular |
| 173 | expression should be correct as it is needed by non-fontification | 173 | expression should be correct as it is needed by non-fontification |
| 174 | functions.") | 174 | functions.") |
| 175 | 175 | ||
| @@ -177,21 +177,21 @@ functions.") | |||
| 177 | "This regular expression finds the message number width in a scan format. | 177 | "This regular expression finds the message number width in a scan format. |
| 178 | 178 | ||
| 179 | Note that the message number must be placed in a parenthesized | 179 | Note that the message number must be placed in a parenthesized |
| 180 | expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This | 180 | expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This |
| 181 | variable is only consulted if `mh-scan-format-file' is set to | 181 | variable is only consulted if `mh-scan-format-file' is set to |
| 182 | \"Use MH-E scan Format\".") | 182 | \"Use MH-E scan Format\".") |
| 183 | 183 | ||
| 184 | (defvar mh-scan-msg-format-string "%d" | 184 | (defvar mh-scan-msg-format-string "%d" |
| 185 | "This is a format string for width of the message number in a scan format. | 185 | "This is a format string for width of the message number in a scan format. |
| 186 | 186 | ||
| 187 | Use \"0%d\" for zero-filled message numbers. This variable is only | 187 | Use \"0%d\" for zero-filled message numbers. This variable is only |
| 188 | consulted if `mh-scan-format-file' is set to \"Use MH-E scan | 188 | consulted if `mh-scan-format-file' is set to \"Use MH-E scan |
| 189 | Format\".") | 189 | Format\".") |
| 190 | 190 | ||
| 191 | (defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)" | 191 | (defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)" |
| 192 | "This regular expression extracts the message number. | 192 | "This regular expression extracts the message number. |
| 193 | 193 | ||
| 194 | It must match from the beginning of the line. Note that the | 194 | It must match from the beginning of the line. Note that the |
| 195 | message number must be placed in a parenthesized expression as in | 195 | message number must be placed in a parenthesized expression as in |
| 196 | the default of \"^ *\\\\([0-9]+\\\\)\".") | 196 | the default of \"^ *\\\\([0-9]+\\\\)\".") |
| 197 | 197 | ||
| @@ -211,9 +211,9 @@ message number within the expression as in the default of | |||
| 211 | Note that the default setting of `mh-folder-font-lock-keywords' | 211 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 212 | expects this expression to contain two parenthesized expressions. | 212 | expects this expression to contain two parenthesized expressions. |
| 213 | The first is expected to match the \"To:\" that the default scan | 213 | The first is expected to match the \"To:\" that the default scan |
| 214 | format file generates. The second is expected to match the | 214 | format file generates. The second is expected to match the |
| 215 | recipient's name as in the default of | 215 | recipient's name as in the default of |
| 216 | \"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular | 216 | \"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular |
| 217 | expression is not correct, the \"To:\" string will not be | 217 | expression is not correct, the \"To:\" string will not be |
| 218 | highlighted with the face `mh-folder-to' and the recipient will | 218 | highlighted with the face `mh-folder-to' and the recipient will |
| 219 | not be highlighted with the face `mh-folder-address'") | 219 | not be highlighted with the face `mh-folder-address'") |
| @@ -221,7 +221,7 @@ not be highlighted with the face `mh-folder-address'") | |||
| 221 | (defvar mh-scan-refiled-msg-regexp "^\\( *[0-9]+\\)\\^" | 221 | (defvar mh-scan-refiled-msg-regexp "^\\( *[0-9]+\\)\\^" |
| 222 | "This regular expression matches refiled messages. | 222 | "This regular expression matches refiled messages. |
| 223 | 223 | ||
| 224 | It must match from the beginning of the line. Note that the | 224 | It must match from the beginning of the line. Note that the |
| 225 | default setting of `mh-folder-font-lock-keywords' expects this | 225 | default setting of `mh-folder-font-lock-keywords' expects this |
| 226 | expression to contain at least one parenthesized expression which | 226 | expression to contain at least one parenthesized expression which |
| 227 | matches the message number as in the default of | 227 | matches the message number as in the default of |
| @@ -229,10 +229,10 @@ matches the message number as in the default of | |||
| 229 | \"^\\\\( *[0-9]+\\\\)\\\\^\". | 229 | \"^\\\\( *[0-9]+\\\\)\\\\^\". |
| 230 | 230 | ||
| 231 | This expression includes the leading space within the parenthesis | 231 | This expression includes the leading space within the parenthesis |
| 232 | since it looks better to highlight it as well. The highlighting | 232 | since it looks better to highlight it as well. The highlighting |
| 233 | is done with the face `mh-folder-refiled'. This regular | 233 | is done with the face `mh-folder-refiled'. This regular |
| 234 | expression should be correct as it is needed by non-fontification | 234 | expression should be correct as it is needed by non-fontification |
| 235 | functions. See also `mh-note-refiled'.") | 235 | functions. See also `mh-note-refiled'.") |
| 236 | 236 | ||
| 237 | (defvar mh-scan-sent-to-me-sender-regexp | 237 | (defvar mh-scan-sent-to-me-sender-regexp |
| 238 | "^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)" | 238 | "^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)" |
| @@ -240,7 +240,7 @@ functions. See also `mh-note-refiled'.") | |||
| 240 | 240 | ||
| 241 | Note that the default setting of `mh-folder-font-lock-keywords' | 241 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 242 | expects this expression to contain at least two parenthesized | 242 | expects this expression to contain at least two parenthesized |
| 243 | expressions. The first should match the fontification hint (see | 243 | expressions. The first should match the fontification hint (see |
| 244 | `mh-scan-format-nmh') and the second should match the user name | 244 | `mh-scan-format-nmh') and the second should match the user name |
| 245 | as in the default of | 245 | as in the default of |
| 246 | 246 | ||
| @@ -255,15 +255,15 @@ highlighted with the face `mh-folder-sent-to-me-sender'.") | |||
| 255 | "^ *[0-9]+........[ ]*...................\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)" | 255 | "^ *[0-9]+........[ ]*...................\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)" |
| 256 | "This regular expression matches the subject. | 256 | "This regular expression matches the subject. |
| 257 | 257 | ||
| 258 | It must match from the beginning of the line. Note that the | 258 | It must match from the beginning of the line. Note that the |
| 259 | default setting of `mh-folder-font-lock-keywords' expects this | 259 | default setting of `mh-folder-font-lock-keywords' expects this |
| 260 | expression to contain at least three parenthesized expressions. | 260 | expression to contain at least three parenthesized expressions. |
| 261 | The first is expected to match the \"Re:\" string, if any, and is | 261 | The first is expected to match the \"Re:\" string, if any, and is |
| 262 | highlighted with the face `mh-folder-followup'. The second | 262 | highlighted with the face `mh-folder-followup'. The second |
| 263 | matches an optional bracketed number after \"Re:\", such as in | 263 | matches an optional bracketed number after \"Re:\", such as in |
| 264 | \"Re[2]:\" (and is thus a sub-expression of the first expression) | 264 | \"Re[2]:\" (and is thus a sub-expression of the first expression) |
| 265 | and the third is expected to match the subject line itself which | 265 | and the third is expected to match the subject line itself which |
| 266 | is highlighted with the face `mh-folder-subject'. For example, | 266 | is highlighted with the face `mh-folder-subject'. For example, |
| 267 | the default (broken on multiple lines for readability) is | 267 | the default (broken on multiple lines for readability) is |
| 268 | 268 | ||
| 269 | ^ *[0-9]+........[ ]*................... | 269 | ^ *[0-9]+........[ ]*................... |
| @@ -296,9 +296,9 @@ Note that columns in Emacs start with 0.") | |||
| 296 | (defvar mh-scan-cmd-note-width 1 | 296 | (defvar mh-scan-cmd-note-width 1 |
| 297 | "Number of columns consumed by the cmd-note field in `mh-scan-format'. | 297 | "Number of columns consumed by the cmd-note field in `mh-scan-format'. |
| 298 | 298 | ||
| 299 | This column will have one of the values: \" \", \"D\", \"^\", \"+\" and | 299 | This column will have one of the values: \" \", \"D\", \"^\", \"+\", where |
| 300 | where \" \" is the default value, | ||
| 301 | 300 | ||
| 301 | \" \" is the default value, | ||
| 302 | \"D\" is the `mh-note-deleted' character, | 302 | \"D\" is the `mh-note-deleted' character, |
| 303 | \"^\" is the `mh-note-refiled' character, and | 303 | \"^\" is the `mh-note-refiled' character, and |
| 304 | \"+\" is the `mh-note-cur' character.") | 304 | \"+\" is the `mh-note-cur' character.") |
| @@ -434,7 +434,7 @@ Note that columns in Emacs start with 0." | |||
| 434 | "Return a scan format with the (msg) width in the FMT replaced with WIDTH. | 434 | "Return a scan format with the (msg) width in the FMT replaced with WIDTH. |
| 435 | 435 | ||
| 436 | The message number width portion of the format is discovered | 436 | The message number width portion of the format is discovered |
| 437 | using `mh-scan-msg-format-regexp'. Its replacement is controlled | 437 | using `mh-scan-msg-format-regexp'. Its replacement is controlled |
| 438 | with `mh-scan-msg-format-string'." | 438 | with `mh-scan-msg-format-string'." |
| 439 | (or (and | 439 | (or (and |
| 440 | (string-match mh-scan-msg-format-regexp fmt) | 440 | (string-match mh-scan-msg-format-regexp fmt) |
| @@ -469,7 +469,7 @@ Note that columns in Emacs start with 0. | |||
| 469 | 469 | ||
| 470 | If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this | 470 | If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this |
| 471 | means that either `mh-scan-format-mh' or `mh-scan-format-nmh' are | 471 | means that either `mh-scan-format-mh' or `mh-scan-format-nmh' are |
| 472 | in use. This function therefore assumes that the first column is | 472 | in use. This function therefore assumes that the first column is |
| 473 | empty (to provide room for the cursor), the following WIDTH | 473 | empty (to provide room for the cursor), the following WIDTH |
| 474 | columns contain the message number, and the column for notations | 474 | columns contain the message number, and the column for notations |
| 475 | comes after that." | 475 | comes after that." |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 94effe57994..154cc37e9a1 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -1102,12 +1102,12 @@ variables.") | |||
| 1102 | (exit-minibuffer)) | 1102 | (exit-minibuffer)) |
| 1103 | 1103 | ||
| 1104 | (defvar completion-in-region-functions nil | 1104 | (defvar completion-in-region-functions nil |
| 1105 | "Wrapper hook around `complete-in-region'. | 1105 | "Wrapper hook around `completion-in-region'. |
| 1106 | The functions on this special hook are called with 5 arguments: | 1106 | The functions on this special hook are called with 5 arguments: |
| 1107 | NEXT-FUN START END COLLECTION PREDICATE. | 1107 | NEXT-FUN START END COLLECTION PREDICATE. |
| 1108 | NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE) | 1108 | NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE) |
| 1109 | that performs the default operation. The other four argument are like | 1109 | that performs the default operation. The other four arguments are like |
| 1110 | the ones passed to `complete-in-region'. The functions on this hook | 1110 | the ones passed to `completion-in-region'. The functions on this hook |
| 1111 | are expected to perform completion on START..END using COLLECTION | 1111 | are expected to perform completion on START..END using COLLECTION |
| 1112 | and PREDICATE, either by calling NEXT-FUN or by doing it themselves.") | 1112 | and PREDICATE, either by calling NEXT-FUN or by doing it themselves.") |
| 1113 | 1113 | ||
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 8a3ec552d4d..b025493b1a4 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -6295,7 +6295,7 @@ only in DIRLIST. | |||
| 6295 | Returns the absolute file name of PROGNAME, if found, and nil otherwise. | 6295 | Returns the absolute file name of PROGNAME, if found, and nil otherwise. |
| 6296 | 6296 | ||
| 6297 | This function expects to be in the right *tramp* buffer." | 6297 | This function expects to be in the right *tramp* buffer." |
| 6298 | (with-current-buffer (tramp-get-buffer vec) | 6298 | (with-current-buffer (tramp-get-connection-buffer vec) |
| 6299 | (let (result) | 6299 | (let (result) |
| 6300 | ;; Check whether the executable is in $PATH. "which(1)" does not | 6300 | ;; Check whether the executable is in $PATH. "which(1)" does not |
| 6301 | ;; report always a correct error code; therefore we check the | 6301 | ;; report always a correct error code; therefore we check the |
| @@ -6303,7 +6303,7 @@ This function expects to be in the right *tramp* buffer." | |||
| 6303 | (unless ignore-path | 6303 | (unless ignore-path |
| 6304 | (tramp-send-command vec (format "which \\%s | wc -w" progname)) | 6304 | (tramp-send-command vec (format "which \\%s | wc -w" progname)) |
| 6305 | (goto-char (point-min)) | 6305 | (goto-char (point-min)) |
| 6306 | (if (looking-at "^1$") | 6306 | (if (looking-at "^\\s-*1$") |
| 6307 | (setq result (concat "\\" progname)))) | 6307 | (setq result (concat "\\" progname)))) |
| 6308 | (unless result | 6308 | (unless result |
| 6309 | (when ignore-tilde | 6309 | (when ignore-tilde |
| @@ -6404,12 +6404,15 @@ file exists and nonzero exit status otherwise." | |||
| 6404 | (with-current-buffer (tramp-get-buffer vec) | 6404 | (with-current-buffer (tramp-get-buffer vec) |
| 6405 | (tramp-send-command vec "echo ~root" t) | 6405 | (tramp-send-command vec "echo ~root" t) |
| 6406 | (cond | 6406 | (cond |
| 6407 | ((string-match "^~root$" (buffer-string)) | 6407 | ((or (string-match "^~root$" (buffer-string)) |
| 6408 | ;; The default shell (ksh93) of OpenSolaris is buggy. | ||
| 6409 | (string-equal (tramp-get-connection-property vec "uname" "") | ||
| 6410 | "SunOS 5.11")) | ||
| 6408 | (setq shell | 6411 | (setq shell |
| 6409 | (or (tramp-find-executable | 6412 | (or (tramp-find-executable |
| 6410 | vec "bash" (tramp-get-remote-path vec) t) | 6413 | vec "bash" (tramp-get-remote-path vec) t t) |
| 6411 | (tramp-find-executable | 6414 | (tramp-find-executable |
| 6412 | vec "ksh" (tramp-get-remote-path vec) t))) | 6415 | vec "ksh" (tramp-get-remote-path vec) t t))) |
| 6413 | (unless shell | 6416 | (unless shell |
| 6414 | (tramp-error | 6417 | (tramp-error |
| 6415 | vec 'file-error | 6418 | vec 'file-error |
| @@ -6838,9 +6841,11 @@ process to set up. VEC specifies the connection." | |||
| 6838 | ;; "test foo; echo $?" to check if various conditions hold, and | 6841 | ;; "test foo; echo $?" to check if various conditions hold, and |
| 6839 | ;; there are buggy /bin/sh implementations which don't execute the | 6842 | ;; there are buggy /bin/sh implementations which don't execute the |
| 6840 | ;; "echo $?" part if the "test" part has an error. In particular, | 6843 | ;; "echo $?" part if the "test" part has an error. In particular, |
| 6841 | ;; the Solaris /bin/sh is a problem. I'm betting that all systems | 6844 | ;; the OpenSolaris /bin/sh is a problem. There are also other |
| 6842 | ;; with buggy /bin/sh implementations will have a working bash or | 6845 | ;; problems with /bin/sh of OpenSolaris, like redirection of stderr |
| 6843 | ;; ksh. Whee... | 6846 | ;; in in function declarations, or changing HISTFILE in place. |
| 6847 | ;; Therefore, OpenSolaris' /bin/sh is replaced by bash, when | ||
| 6848 | ;; detected. | ||
| 6844 | (tramp-find-shell vec) | 6849 | (tramp-find-shell vec) |
| 6845 | 6850 | ||
| 6846 | ;; Disable unexpected output. | 6851 | ;; Disable unexpected output. |
| @@ -6849,12 +6854,6 @@ process to set up. VEC specifies the connection." | |||
| 6849 | ;; Set the environment. | 6854 | ;; Set the environment. |
| 6850 | (tramp-message vec 5 "Setting default environment") | 6855 | (tramp-message vec 5 "Setting default environment") |
| 6851 | 6856 | ||
| 6852 | ;; On OpenSolaris, there is a bug when HISTFILE is changed in place | ||
| 6853 | ;; <http://bugs.opensolaris.org/view_bug.do?bug_id=6834184>. We | ||
| 6854 | ;; apply the workaround. | ||
| 6855 | (if (string-equal (tramp-get-connection-property vec "uname" "") "SunOS 5.11") | ||
| 6856 | (tramp-send-command vec "unset HISTFILE" t)) | ||
| 6857 | |||
| 6858 | (let ((env (copy-sequence tramp-remote-process-environment)) | 6857 | (let ((env (copy-sequence tramp-remote-process-environment)) |
| 6859 | unset item) | 6858 | unset item) |
| 6860 | (while env | 6859 | (while env |
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index 9444787fc27..c5387a26722 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | ;; "autoconf && ./configure" to change them. (X)Emacs version check is defined | 29 | ;; "autoconf && ./configure" to change them. (X)Emacs version check is defined |
| 30 | ;; in macro AC_EMACS_INFO of aclocal.m4; should be changed only there. | 30 | ;; in macro AC_EMACS_INFO of aclocal.m4; should be changed only there. |
| 31 | 31 | ||
| 32 | (defconst tramp-version "2.1.18-pre" | 32 | (defconst tramp-version "2.1.18-23.2" |
| 33 | "This version of Tramp.") | 33 | "This version of Tramp.") |
| 34 | 34 | ||
| 35 | (defconst tramp-bug-report-address "tramp-devel@gnu.org" | 35 | (defconst tramp-bug-report-address "tramp-devel@gnu.org" |
diff --git a/lisp/obsolete/levents.el b/lisp/obsolete/levents.el index 652994ebd7a..1715185ac05 100644 --- a/lisp/obsolete/levents.el +++ b/lisp/obsolete/levents.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | (put 'timeout 'event-symbol-elements '(eval)) | 61 | (put 'timeout 'event-symbol-elements '(eval)) |
| 62 | 62 | ||
| 63 | (defun allocate-event () | 63 | (defun allocate-event () |
| 64 | "Returns an empty event structure. | 64 | "Return an empty event structure. |
| 65 | In this emulation, it returns nil." | 65 | In this emulation, it returns nil." |
| 66 | nil) | 66 | nil) |
| 67 | 67 | ||
| @@ -142,7 +142,7 @@ It will be the next event read after all pending events." | |||
| 142 | (nth 1 event)) | 142 | (nth 1 event)) |
| 143 | 143 | ||
| 144 | (defun event-key (event) | 144 | (defun event-key (event) |
| 145 | "Returns the KeySym of the given key-press event. | 145 | "Return the KeySym of the given key-press event. |
| 146 | The value is an ASCII printing character (not upper case) or a symbol." | 146 | The value is an ASCII printing character (not upper case) or a symbol." |
| 147 | (if (symbolp event) | 147 | (if (symbolp event) |
| 148 | (car (get event 'event-symbol-elements)) | 148 | (car (get event 'event-symbol-elements)) |
| @@ -150,11 +150,11 @@ The value is an ASCII printing character (not upper case) or a symbol." | |||
| 150 | (downcase (if (< base 32) (logior base 64) base))))) | 150 | (downcase (if (< base 32) (logior base 64) base))))) |
| 151 | 151 | ||
| 152 | (defun event-object (event) | 152 | (defun event-object (event) |
| 153 | "Returns the function argument of the given timeout, menu, or eval event." | 153 | "Return the function argument of the given timeout, menu, or eval event." |
| 154 | (nth 2 event)) | 154 | (nth 2 event)) |
| 155 | 155 | ||
| 156 | (defun event-point (event) | 156 | (defun event-point (event) |
| 157 | "Returns the character position of the given mouse-related event. | 157 | "Return the character position of the given mouse-related event. |
| 158 | If the event did not occur over a window, or did | 158 | If the event did not occur over a window, or did |
| 159 | not occur over text, then this returns nil. Otherwise, it returns an index | 159 | not occur over text, then this returns nil. Otherwise, it returns an index |
| 160 | into the buffer visible in the event's window." | 160 | into the buffer visible in the event's window." |
| @@ -201,18 +201,18 @@ or for window WINDOW if that is specified." | |||
| 201 | (window-start start-window))))) | 201 | (window-start start-window))))) |
| 202 | 202 | ||
| 203 | (defun event-process (event) | 203 | (defun event-process (event) |
| 204 | "Returns the process of the given process-output event." | 204 | "Return the process of the given process-output event." |
| 205 | (nth 1 event)) | 205 | (nth 1 event)) |
| 206 | 206 | ||
| 207 | (defun event-timestamp (event) | 207 | (defun event-timestamp (event) |
| 208 | "Returns the timestamp of the given event object. | 208 | "Return the timestamp of the given event object. |
| 209 | In Lucid Emacs, this works for any kind of event. | 209 | In Lucid Emacs, this works for any kind of event. |
| 210 | In this emulation, it returns nil for non-mouse-related events." | 210 | In this emulation, it returns nil for non-mouse-related events." |
| 211 | (and (listp event) | 211 | (and (listp event) |
| 212 | (posn-timestamp (event-end event)))) | 212 | (posn-timestamp (event-end event)))) |
| 213 | 213 | ||
| 214 | (defun event-to-character (event &optional lenient) | 214 | (defun event-to-character (event &optional lenient) |
| 215 | "Returns the closest ASCII approximation to the given event object. | 215 | "Return the closest ASCII approximation to the given event object. |
| 216 | If the event isn't a keypress, this returns nil. | 216 | If the event isn't a keypress, this returns nil. |
| 217 | If the second argument is non-nil, then this is lenient in its | 217 | If the second argument is non-nil, then this is lenient in its |
| 218 | translation; it will ignore modifier keys other than control and meta, | 218 | translation; it will ignore modifier keys other than control and meta, |
| @@ -229,25 +229,25 @@ will be returned for events which have no direct ASCII equivalent." | |||
| 229 | event nil))) | 229 | event nil))) |
| 230 | 230 | ||
| 231 | (defun event-window (event) | 231 | (defun event-window (event) |
| 232 | "Returns the window of the given mouse-related event object." | 232 | "Return the window of the given mouse-related event object." |
| 233 | (posn-window (event-end event))) | 233 | (posn-window (event-end event))) |
| 234 | 234 | ||
| 235 | (defun event-x (event) | 235 | (defun event-x (event) |
| 236 | "Returns the X position in characters of the given mouse-related event." | 236 | "Return the X position in characters of the given mouse-related event." |
| 237 | (/ (car (posn-col-row (event-end event))) | 237 | (/ (car (posn-col-row (event-end event))) |
| 238 | (frame-char-width (window-frame (event-window event))))) | 238 | (frame-char-width (window-frame (event-window event))))) |
| 239 | 239 | ||
| 240 | (defun event-x-pixel (event) | 240 | (defun event-x-pixel (event) |
| 241 | "Returns the X position in pixels of the given mouse-related event." | 241 | "Return the X position in pixels of the given mouse-related event." |
| 242 | (car (posn-col-row (event-end event)))) | 242 | (car (posn-col-row (event-end event)))) |
| 243 | 243 | ||
| 244 | (defun event-y (event) | 244 | (defun event-y (event) |
| 245 | "Returns the Y position in characters of the given mouse-related event." | 245 | "Return the Y position in characters of the given mouse-related event." |
| 246 | (/ (cdr (posn-col-row (event-end event))) | 246 | (/ (cdr (posn-col-row (event-end event))) |
| 247 | (frame-char-height (window-frame (event-window event))))) | 247 | (frame-char-height (window-frame (event-window event))))) |
| 248 | 248 | ||
| 249 | (defun event-y-pixel (event) | 249 | (defun event-y-pixel (event) |
| 250 | "Returns the Y position in pixels of the given mouse-related event." | 250 | "Return the Y position in pixels of the given mouse-related event." |
| 251 | (cdr (posn-col-row (event-end event)))) | 251 | (cdr (posn-col-row (event-end event)))) |
| 252 | 252 | ||
| 253 | (defun key-press-event-p (obj) | 253 | (defun key-press-event-p (obj) |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index f4a8c0bf46f..2d28d003fd5 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -2624,7 +2624,7 @@ comment at the start of cc-engine.el for more info." | |||
| 2624 | (< (point-max) c-state-old-cpp-end))) | 2624 | (< (point-max) c-state-old-cpp-end))) |
| 2625 | (point-max) | 2625 | (point-max) |
| 2626 | (min (point-max) c-state-old-cpp-beg))) | 2626 | (min (point-max) c-state-old-cpp-beg))) |
| 2627 | (while (and c-state-cache (> (c-state-cache-top-lparen) upper-lim)) | 2627 | (while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim)) |
| 2628 | (setq c-state-cache (cdr c-state-cache))) | 2628 | (setq c-state-cache (cdr c-state-cache))) |
| 2629 | ;; If `upper-lim' is inside the last recorded brace pair, remove its | 2629 | ;; If `upper-lim' is inside the last recorded brace pair, remove its |
| 2630 | ;; RBrace and indicate we'll need to search backwards for a previous | 2630 | ;; RBrace and indicate we'll need to search backwards for a previous |
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index c94d750823d..594462d5125 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -272,7 +272,7 @@ not be enclosed in { } or ( )." | |||
| 272 | "Characters to skip to find a line that might be a dependency.") | 272 | "Characters to skip to find a line that might be a dependency.") |
| 273 | 273 | ||
| 274 | (defvar makefile-rule-action-regex | 274 | (defvar makefile-rule-action-regex |
| 275 | "^\t[ \t]*\\([-@]*\\)[ \t]*\\(\\(?:.*\\\\\n\\)*.*\\)" | 275 | "^\t[ \t]*\\(?:\\([-@]+\\)[ \t]*\\)\\(.*\\(?:\\\\\n.*\\)*\\)" |
| 276 | "Regex used to highlight rule action lines in font lock mode.") | 276 | "Regex used to highlight rule action lines in font lock mode.") |
| 277 | 277 | ||
| 278 | (defconst makefile-makepp-rule-action-regex | 278 | (defconst makefile-makepp-rule-action-regex |
| @@ -355,8 +355,9 @@ not be enclosed in { } or ( )." | |||
| 355 | (3 'font-lock-string-face prepend t)) | 355 | (3 'font-lock-string-face prepend t)) |
| 356 | 356 | ||
| 357 | ;; Rule actions. | 357 | ;; Rule actions. |
| 358 | ;; FIXME: When this spans multiple lines we need font-lock-multiline. | ||
| 358 | (makefile-match-action | 359 | (makefile-match-action |
| 359 | (1 font-lock-type-face) | 360 | (1 font-lock-type-face nil t) |
| 360 | (2 'makefile-shell prepend) | 361 | (2 'makefile-shell prepend) |
| 361 | ;; Only makepp has builtin commands. | 362 | ;; Only makepp has builtin commands. |
| 362 | (3 font-lock-builtin-face prepend t)) | 363 | (3 font-lock-builtin-face prepend t)) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index ee7a52a1093..e5727f41e93 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -359,7 +359,7 @@ property of the major mode name.") | |||
| 359 | (put 'html-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) | 359 | (put 'html-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) |
| 360 | (put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) | 360 | (put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) |
| 361 | 361 | ||
| 362 | (declare-function sgml-lexical-context "sgml-mode" &optional limit) | 362 | (autoload 'sgml-lexical-context "sgml-mode") |
| 363 | 363 | ||
| 364 | (defun sgml-mode-flyspell-verify () | 364 | (defun sgml-mode-flyspell-verify () |
| 365 | "Function used for `flyspell-generic-check-word-predicate' in SGML mode. | 365 | "Function used for `flyspell-generic-check-word-predicate' in SGML mode. |
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index 4ec46183776..ce0ac32492d 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el | |||
| @@ -100,22 +100,22 @@ | |||
| 100 | 100 | ||
| 101 | ("enumerate" ?i "item:" "~\\ref{%s}" item | 101 | ("enumerate" ?i "item:" "~\\ref{%s}" item |
| 102 | (regexp "items?" "Punkte?")) | 102 | (regexp "items?" "Punkte?")) |
| 103 | 103 | ||
| 104 | ("equation" ?e "eq:" "~(\\ref{%s})" t | 104 | ("equation" ?e "eq:" "~(\\ref{%s})" t |
| 105 | (regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?" "Gl\\.")) | 105 | (regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?" "Gl\\.")) |
| 106 | ("eqnarray" ?e "eq:" nil eqnarray-like) | 106 | ("eqnarray" ?e "eq:" nil eqnarray-like) |
| 107 | 107 | ||
| 108 | ("figure" ?f "fig:" "~\\ref{%s}" caption | 108 | ("figure" ?f "fig:" "~\\ref{%s}" caption |
| 109 | (regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\.")) | 109 | (regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\.")) |
| 110 | ("figure*" ?f nil nil caption) | 110 | ("figure*" ?f nil nil caption) |
| 111 | 111 | ||
| 112 | ("table" ?t "tab:" "~\\ref{%s}" caption | 112 | ("table" ?t "tab:" "~\\ref{%s}" caption |
| 113 | (regexp "tables?" "tab\\." "Tabellen?")) | 113 | (regexp "tables?" "tab\\." "Tabellen?")) |
| 114 | ("table*" ?t nil nil caption) | 114 | ("table*" ?t nil nil caption) |
| 115 | 115 | ||
| 116 | ("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2 | 116 | ("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2 |
| 117 | (regexp "footnotes?" "Fussnoten?")) | 117 | (regexp "footnotes?" "Fussnoten?")) |
| 118 | 118 | ||
| 119 | ("any" ?\ " " "~\\ref{%s}" nil) | 119 | ("any" ?\ " " "~\\ref{%s}" nil) |
| 120 | 120 | ||
| 121 | ;; The label macro is hard coded, but it *could* be defined like this: | 121 | ;; The label macro is hard coded, but it *could* be defined like this: |
| @@ -207,7 +207,7 @@ The following conventions are valid for all alist entries: | |||
| 207 | `?t' should point to a textual citation (citation as a noun). | 207 | `?t' should point to a textual citation (citation as a noun). |
| 208 | `?p' should point to a parenthetical citation.") | 208 | `?p' should point to a parenthetical citation.") |
| 209 | 209 | ||
| 210 | (defconst reftex-index-macros-builtin | 210 | (defconst reftex-index-macros-builtin |
| 211 | '((default "Default \\index and \\glossary macros" | 211 | '((default "Default \\index and \\glossary macros" |
| 212 | (("\\index{*}" "idx" ?i "" nil t) | 212 | (("\\index{*}" "idx" ?i "" nil t) |
| 213 | ("\\glossary{*}" "glo" ?g "" nil t))) | 213 | ("\\glossary{*}" "glo" ?g "" nil t))) |
| @@ -219,9 +219,9 @@ The following conventions are valid for all alist entries: | |||
| 219 | (Index-Shortcut "index.sty with \\shortindexingon" | 219 | (Index-Shortcut "index.sty with \\shortindexingon" |
| 220 | (("\\index[]{*}" 1 ?i "" nil t) | 220 | (("\\index[]{*}" 1 ?i "" nil t) |
| 221 | ("\\index*[]{*}" 1 ?I "" nil nil) | 221 | ("\\index*[]{*}" 1 ?I "" nil nil) |
| 222 | ("^[]{*}" 1 ?^ "" texmathp t) | 222 | ("^[]{*}" 1 ?^ "" texmathp t) |
| 223 | ("_[]{*}" 1 ?_ "" texmathp nil)))) | 223 | ("_[]{*}" 1 ?_ "" texmathp nil)))) |
| 224 | "Builtin stuff for reftex-index-macros. | 224 | "Builtin stuff for `reftex-index-macros'. |
| 225 | Lower-case symbols correspond to a style file of the same name in the LaTeX | 225 | Lower-case symbols correspond to a style file of the same name in the LaTeX |
| 226 | distribution. Mixed-case symbols are convenience aliases.") | 226 | distribution. Mixed-case symbols are convenience aliases.") |
| 227 | ) | 227 | ) |
| @@ -231,7 +231,7 @@ distribution. Mixed-case symbols are convenience aliases.") | |||
| 231 | (defgroup reftex nil | 231 | (defgroup reftex nil |
| 232 | "LaTeX label and citation support." | 232 | "LaTeX label and citation support." |
| 233 | :tag "RefTeX" | 233 | :tag "RefTeX" |
| 234 | :link '(url-link :tag "Home Page" | 234 | :link '(url-link :tag "Home Page" |
| 235 | "http://staff.science.uva.nl/~dominik/Tools/reftex/") | 235 | "http://staff.science.uva.nl/~dominik/Tools/reftex/") |
| 236 | :link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el") | 236 | :link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el") |
| 237 | :link '(custom-manual "(reftex)Top") | 237 | :link '(custom-manual "(reftex)Top") |
| @@ -280,7 +280,7 @@ the backslash). The cdr is a number indicating its level. A negative | |||
| 280 | level means the same level as the positive value, but the section will | 280 | level means the same level as the positive value, but the section will |
| 281 | never get a number. The cdr may also be a function which will be called | 281 | never get a number. The cdr may also be a function which will be called |
| 282 | to after the section-re matched to determine the level. | 282 | to after the section-re matched to determine the level. |
| 283 | This list is also used for promotion and demption of sectioning commands. | 283 | This list is also used for promotion and demotion of sectioning commands. |
| 284 | If you are using a document class which has several sets of sectioning | 284 | If you are using a document class which has several sets of sectioning |
| 285 | commands, promotion only works correctly if this list is sorted first | 285 | commands, promotion only works correctly if this list is sorted first |
| 286 | by set, then within each set by level. The promotion commands always | 286 | by set, then within each set by level. The promotion commands always |
| @@ -318,7 +318,7 @@ are currently working in. Recentering happens whenever Emacs is idle for | |||
| 318 | more than `reftex-idle-time' seconds. | 318 | more than `reftex-idle-time' seconds. |
| 319 | 319 | ||
| 320 | Value t means, turn on immediately when RefTeX gets started. Then, | 320 | Value t means, turn on immediately when RefTeX gets started. Then, |
| 321 | recentering will work for any toc window created during the session. | 321 | recentering will work for any TOC window created during the session. |
| 322 | 322 | ||
| 323 | Value 'frame (the default) means, turn automatic recentering on only while the | 323 | Value 'frame (the default) means, turn automatic recentering on only while the |
| 324 | dedicated TOC frame does exist, and do the recentering only in that frame. So | 324 | dedicated TOC frame does exist, and do the recentering only in that frame. So |
| @@ -326,14 +326,14 @@ when creating that frame (with \"d\" key in an ordinary TOC window), the | |||
| 326 | automatic recentering is turned on. When the frame gets destroyed, automatic | 326 | automatic recentering is turned on. When the frame gets destroyed, automatic |
| 327 | recentering is turned off again. | 327 | recentering is turned off again. |
| 328 | 328 | ||
| 329 | This feature can be turned on and off from the menu | 329 | This feature can be turned on and off from the menu |
| 330 | \(Ref->Options)." | 330 | \(Ref->Options)." |
| 331 | :group 'reftex-table-of-contents-browser | 331 | :group 'reftex-table-of-contents-browser |
| 332 | :type '(choice | 332 | :type '(choice |
| 333 | (const :tag "never" nil) | 333 | (const :tag "never" nil) |
| 334 | (const :tag "always" t) | 334 | (const :tag "always" t) |
| 335 | (const :tag "in dedicated frame only" frame))) | 335 | (const :tag "in dedicated frame only" frame))) |
| 336 | 336 | ||
| 337 | (defcustom reftex-toc-split-windows-horizontally nil | 337 | (defcustom reftex-toc-split-windows-horizontally nil |
| 338 | "*Non-nil means, create TOC window by splitting window horizontally." | 338 | "*Non-nil means, create TOC window by splitting window horizontally." |
| 339 | :group 'reftex-table-of-contents-browser | 339 | :group 'reftex-table-of-contents-browser |
| @@ -407,7 +407,7 @@ When nil, follow-mode will be suspended for stuff in unvisited files." | |||
| 407 | :type 'boolean) | 407 | :type 'boolean) |
| 408 | 408 | ||
| 409 | (defcustom reftex-toc-mode-hook nil | 409 | (defcustom reftex-toc-mode-hook nil |
| 410 | "Mode hook for reftex-toc-mode." | 410 | "Mode hook for `reftex-toc-mode'." |
| 411 | :group 'reftex-table-of-contents-browser | 411 | :group 'reftex-table-of-contents-browser |
| 412 | :type 'hook) | 412 | :type 'hook) |
| 413 | 413 | ||
| @@ -425,7 +425,7 @@ When nil, follow-mode will be suspended for stuff in unvisited files." | |||
| 425 | '(amsmath endnotes fancybox floatfig longtable picinpar | 425 | '(amsmath endnotes fancybox floatfig longtable picinpar |
| 426 | rotating sidecap subfigure supertab wrapfig LaTeX) | 426 | rotating sidecap subfigure supertab wrapfig LaTeX) |
| 427 | "Default label alist specifications. LaTeX should always be the last entry. | 427 | "Default label alist specifications. LaTeX should always be the last entry. |
| 428 | The value of this variable is a list of symbols with associations in the | 428 | The value of this variable is a list of symbols with associations in the |
| 429 | constant `reftex-label-alist-builtin'. Check that constant for a full list | 429 | constant `reftex-label-alist-builtin'. Check that constant for a full list |
| 430 | of options." | 430 | of options." |
| 431 | :group 'reftex-defining-label-environments | 431 | :group 'reftex-defining-label-environments |
| @@ -624,7 +624,7 @@ list. However, builtin defaults should normally be set with the variable | |||
| 624 | (defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:")) | 624 | (defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:")) |
| 625 | "Prefixes for section labels. | 625 | "Prefixes for section labels. |
| 626 | When the label prefix given in an entry in `reftex-label-alist' contains `%S', | 626 | When the label prefix given in an entry in `reftex-label-alist' contains `%S', |
| 627 | this list is used to determine the correct prefix string depending on the | 627 | this list is used to determine the correct prefix string depending on the |
| 628 | current section level. | 628 | current section level. |
| 629 | The list is an alist, with each entry of the form (KEY . PREFIX) | 629 | The list is an alist, with each entry of the form (KEY . PREFIX) |
| 630 | Possible keys are sectioning macro names like `chapter', section levels | 630 | Possible keys are sectioning macro names like `chapter', section levels |
| @@ -686,7 +686,7 @@ non-footnote labels." | |||
| 686 | (regexp) | 686 | (regexp) |
| 687 | (repeat :tag "List" | 687 | (repeat :tag "List" |
| 688 | (string :tag "prefix (with colon)")))) | 688 | (string :tag "prefix (with colon)")))) |
| 689 | 689 | ||
| 690 | (defcustom reftex-special-environment-functions nil | 690 | (defcustom reftex-special-environment-functions nil |
| 691 | "List of functions to be called when trying to figure out current environment. | 691 | "List of functions to be called when trying to figure out current environment. |
| 692 | These are special functions to detect \"environments\" which do not | 692 | These are special functions to detect \"environments\" which do not |
| @@ -732,7 +732,7 @@ And here is the setup for RefTeX: | |||
| 732 | (let ((pos (point)) p1) | 732 | (let ((pos (point)) p1) |
| 733 | (save-excursion | 733 | (save-excursion |
| 734 | ;; Search for any of the linguex item macros at the beginning of a line | 734 | ;; Search for any of the linguex item macros at the beginning of a line |
| 735 | (if (re-search-backward | 735 | (if (re-search-backward |
| 736 | \"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t) | 736 | \"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t) |
| 737 | (progn | 737 | (progn |
| 738 | (setq p1 (match-beginning 1)) | 738 | (setq p1 (match-beginning 1)) |
| @@ -742,7 +742,7 @@ And here is the setup for RefTeX: | |||
| 742 | nil | 742 | nil |
| 743 | ;; OK, we got it | 743 | ;; OK, we got it |
| 744 | (cons \"linguex\" p1))) | 744 | (cons \"linguex\" p1))) |
| 745 | ;; Return nil for not found | 745 | ;; Return nil for not found |
| 746 | nil)))) | 746 | nil)))) |
| 747 | 747 | ||
| 748 | 3. Tell RefTeX to use this function | 748 | 3. Tell RefTeX to use this function |
| @@ -941,7 +941,7 @@ This is used to string together whole reference sets, like | |||
| 941 | 941 | ||
| 942 | (defcustom reftex-vref-is-default nil | 942 | (defcustom reftex-vref-is-default nil |
| 943 | "*Non-nil means, the varioref macro \\vref is used as default. | 943 | "*Non-nil means, the varioref macro \\vref is used as default. |
| 944 | In the selection buffer, the `v' key toggles the reference macro between | 944 | In the selection buffer, the `v' key toggles the reference macro between |
| 945 | `\\ref' and `\\vref'. The value of this variable determines the default | 945 | `\\ref' and `\\vref'. The value of this variable determines the default |
| 946 | which is active when entering the selection process. | 946 | which is active when entering the selection process. |
| 947 | Instead of nil or t, this may also be a string of type letters indicating | 947 | Instead of nil or t, this may also be a string of type letters indicating |
| @@ -952,7 +952,7 @@ the label types for which it should be true." | |||
| 952 | 952 | ||
| 953 | (defcustom reftex-fref-is-default nil | 953 | (defcustom reftex-fref-is-default nil |
| 954 | "*Non-nil means, the fancyref macro \\fref is used as default. | 954 | "*Non-nil means, the fancyref macro \\fref is used as default. |
| 955 | In the selection buffer, the `V' key toggles the reference macro between | 955 | In the selection buffer, the `V' key toggles the reference macro between |
| 956 | `\\ref', `\\fref' and `\\Fref'. The value of this variable determines | 956 | `\\ref', `\\fref' and `\\Fref'. The value of this variable determines |
| 957 | the default which is active when entering the selection process. | 957 | the default which is active when entering the selection process. |
| 958 | Instead of nil or t, this may also be a string of type letters indicating | 958 | Instead of nil or t, this may also be a string of type letters indicating |
| @@ -979,7 +979,7 @@ a label type. If you set this variable to nil, RefTeX will always prompt." | |||
| 979 | 979 | ||
| 980 | (defcustom reftex-format-ref-function nil | 980 | (defcustom reftex-format-ref-function nil |
| 981 | "Function which produces the string to insert as a reference. | 981 | "Function which produces the string to insert as a reference. |
| 982 | Normally should be nil, because the format to insert a reference can | 982 | Normally should be nil, because the format to insert a reference can |
| 983 | already be specified in `reftex-label-alist'. | 983 | already be specified in `reftex-label-alist'. |
| 984 | This hook also is used by the special commands to insert `\\vref' and `\\fref' | 984 | This hook also is used by the special commands to insert `\\vref' and `\\fref' |
| 985 | references, so even if you set this, your setting will be ignored by | 985 | references, so even if you set this, your setting will be ignored by |
| @@ -1060,13 +1060,13 @@ It is also possible to access all other BibTeX database fields: | |||
| 1060 | %i institution %j journal %k key %m month | 1060 | %i institution %j journal %k key %m month |
| 1061 | %n number %o organization %p pages %P first page | 1061 | %n number %o organization %p pages %P first page |
| 1062 | %r address %s school %u publisher %t title | 1062 | %r address %s school %u publisher %t title |
| 1063 | %v volume %y year | 1063 | %v volume %y year |
| 1064 | %B booktitle, abbreviated %T title, abbreviated | 1064 | %B booktitle, abbreviated %T title, abbreviated |
| 1065 | 1065 | ||
| 1066 | Usually, only %l is needed. The other stuff is mainly for the echo area | 1066 | Usually, only %l is needed. The other stuff is mainly for the echo area |
| 1067 | display, and for (setq reftex-comment-citations t). | 1067 | display, and for (setq reftex-comment-citations t). |
| 1068 | 1068 | ||
| 1069 | %< as a special operator kills punctuation and space around it after the | 1069 | %< as a special operator kills punctuation and space around it after the |
| 1070 | string has been formatted. | 1070 | string has been formatted. |
| 1071 | 1071 | ||
| 1072 | A pair of square brackets indicates an optional argument, and RefTeX | 1072 | A pair of square brackets indicates an optional argument, and RefTeX |
| @@ -1081,7 +1081,7 @@ will be prompted for a character to select one of the possible format | |||
| 1081 | strings. | 1081 | strings. |
| 1082 | In order to configure this variable, you can either set | 1082 | In order to configure this variable, you can either set |
| 1083 | `reftex-cite-format' directly yourself or set it to the SYMBOL of one of | 1083 | `reftex-cite-format' directly yourself or set it to the SYMBOL of one of |
| 1084 | the predefined styles. The predefined symbols are those which have an | 1084 | the predefined styles. The predefined symbols are those which have an |
| 1085 | association in the constant `reftex-cite-format-builtin'. | 1085 | association in the constant `reftex-cite-format-builtin'. |
| 1086 | E.g.: (setq reftex-cite-format 'natbib)" | 1086 | E.g.: (setq reftex-cite-format 'natbib)" |
| 1087 | :group 'reftex-citation-support | 1087 | :group 'reftex-citation-support |
| @@ -1164,8 +1164,8 @@ possible percent escapes." | |||
| 1164 | (defcustom reftex-cite-punctuation '(", " " \\& " " {\\it et al.}") | 1164 | (defcustom reftex-cite-punctuation '(", " " \\& " " {\\it et al.}") |
| 1165 | "Punctuation for formatting of name lists in citations. | 1165 | "Punctuation for formatting of name lists in citations. |
| 1166 | This is a list of 3 strings. | 1166 | This is a list of 3 strings. |
| 1167 | 1. normal names separator, like \", \" in Jones, Brown and Miller | 1167 | 1. Normal names separator, like \", \" in Jones, Brown and Miller |
| 1168 | 2. final names separator, like \" and \" in Jones, Brown and Miller | 1168 | 2. Final names separator, like \" and \" in Jones, Brown and Miller |
| 1169 | 3. The \"et al\" string, like \" {\\it et al.}\" in Jones {\\it et al.}" | 1169 | 3. The \"et al\" string, like \" {\\it et al.}\" in Jones {\\it et al.}" |
| 1170 | :group 'reftex-citation-support | 1170 | :group 'reftex-citation-support |
| 1171 | :type '(list | 1171 | :type '(list |
| @@ -1175,7 +1175,7 @@ This is a list of 3 strings. | |||
| 1175 | 1175 | ||
| 1176 | (defcustom reftex-format-cite-function nil | 1176 | (defcustom reftex-format-cite-function nil |
| 1177 | "Function which produces the string to insert as a citation. | 1177 | "Function which produces the string to insert as a citation. |
| 1178 | Normally should be nil, because the format to insert a reference can | 1178 | Normally should be nil, because the format to insert a reference can |
| 1179 | already be specified in `reftex-cite-format'. | 1179 | already be specified in `reftex-cite-format'. |
| 1180 | The function will be called with two arguments, the CITATION KEY and the | 1180 | The function will be called with two arguments, the CITATION KEY and the |
| 1181 | DEFAULT FORMAT, which is taken from `reftex-cite-format'. The function | 1181 | DEFAULT FORMAT, which is taken from `reftex-cite-format'. The function |
| @@ -1258,7 +1258,7 @@ package here." | |||
| 1258 | :group 'reftex-index-support | 1258 | :group 'reftex-index-support |
| 1259 | :set 'reftex-set-dirty | 1259 | :set 'reftex-set-dirty |
| 1260 | :type `(list | 1260 | :type `(list |
| 1261 | (repeat | 1261 | (repeat |
| 1262 | :inline t | 1262 | :inline t |
| 1263 | (list :value ("" "idx" ?a "" nil) | 1263 | (list :value ("" "idx" ?a "" nil) |
| 1264 | (string :tag "Macro with args") | 1264 | (string :tag "Macro with args") |
| @@ -1285,7 +1285,7 @@ package here." | |||
| 1285 | This is a list with (MACRO-KEY DEFAULT-TAG). | 1285 | This is a list with (MACRO-KEY DEFAULT-TAG). |
| 1286 | 1286 | ||
| 1287 | MACRO-KEY: Character identifying an index macro - see `reftex-index-macros'. | 1287 | MACRO-KEY: Character identifying an index macro - see `reftex-index-macros'. |
| 1288 | DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument. | 1288 | DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument. |
| 1289 | When this is nil and a TAG is needed, RefTeX will ask for it. | 1289 | When this is nil and a TAG is needed, RefTeX will ask for it. |
| 1290 | When this is the empty string and the TAG argument of the index | 1290 | When this is the empty string and the TAG argument of the index |
| 1291 | macro is optional, the TAG argument will be omitted." | 1291 | macro is optional, the TAG argument will be omitted." |
| @@ -1426,7 +1426,7 @@ to that section." | |||
| 1426 | 1426 | ||
| 1427 | (defcustom reftex-index-include-context nil | 1427 | (defcustom reftex-index-include-context nil |
| 1428 | "*Non-nil means, display the index definition context in the index buffer. | 1428 | "*Non-nil means, display the index definition context in the index buffer. |
| 1429 | This flag may also be toggled from the index buffer with the `c' key." | 1429 | This flag may also be toggled from the index buffer with the `c' key." |
| 1430 | :group 'reftex-index-support | 1430 | :group 'reftex-index-support |
| 1431 | :type 'boolean) | 1431 | :type 'boolean) |
| 1432 | 1432 | ||
| @@ -1449,7 +1449,7 @@ This is used when `reftex-view-crossref' is called with point in an | |||
| 1449 | argument of a macro. Note that crossref viewing for citations, | 1449 | argument of a macro. Note that crossref viewing for citations, |
| 1450 | references (both ways) and index entries is hard-coded. This variable | 1450 | references (both ways) and index entries is hard-coded. This variable |
| 1451 | is only to configure additional structures for which crossreference | 1451 | is only to configure additional structures for which crossreference |
| 1452 | viewing can be useful. Each entry has the structure | 1452 | viewing can be useful. Each entry has the structure |
| 1453 | 1453 | ||
| 1454 | \(MACRO-RE SEARCH-RE HIGHLIGHT). | 1454 | \(MACRO-RE SEARCH-RE HIGHLIGHT). |
| 1455 | 1455 | ||
| @@ -1470,7 +1470,7 @@ argument of a \\ref or \\cite macro, and no other message is being | |||
| 1470 | displayed, the echo area will display information about that cross | 1470 | displayed, the echo area will display information about that cross |
| 1471 | reference. You can also set the variable to the symbol `window'. In | 1471 | reference. You can also set the variable to the symbol `window'. In |
| 1472 | this case a small temporary window is used for the display. | 1472 | this case a small temporary window is used for the display. |
| 1473 | This feature can be turned on and off from the menu | 1473 | This feature can be turned on and off from the menu |
| 1474 | \(Ref->Options)." | 1474 | \(Ref->Options)." |
| 1475 | :group 'reftex-viewing-cross-references | 1475 | :group 'reftex-viewing-cross-references |
| 1476 | :type '(choice (const :tag "off" nil) | 1476 | :type '(choice (const :tag "off" nil) |
| @@ -1516,7 +1516,7 @@ Several entries are possible. | |||
| 1516 | - If an element is the name of an environment variable, its content is used. | 1516 | - If an element is the name of an environment variable, its content is used. |
| 1517 | - If an element starts with an exclamation mark, it is used as a command | 1517 | - If an element starts with an exclamation mark, it is used as a command |
| 1518 | to retrieve the path. A typical command with the kpathsearch library would | 1518 | to retrieve the path. A typical command with the kpathsearch library would |
| 1519 | be `!kpsewhich -show-path=.tex'. | 1519 | be `!kpsewhich -show-path=.tex'. |
| 1520 | - Otherwise the element itself is interpreted as a path. | 1520 | - Otherwise the element itself is interpreted as a path. |
| 1521 | Multiple directories can be separated by the system dependent `path-separator'. | 1521 | Multiple directories can be separated by the system dependent `path-separator'. |
| 1522 | Directories ending in `//' or `!!' will be expanded recursively. | 1522 | Directories ending in `//' or `!!' will be expanded recursively. |
| @@ -1531,7 +1531,7 @@ Several entries are possible. | |||
| 1531 | - If an element is the name of an environment variable, its content is used. | 1531 | - If an element is the name of an environment variable, its content is used. |
| 1532 | - If an element starts with an exclamation mark, it is used as a command | 1532 | - If an element starts with an exclamation mark, it is used as a command |
| 1533 | to retrieve the path. A typical command with the kpathsearch library would | 1533 | to retrieve the path. A typical command with the kpathsearch library would |
| 1534 | be `!kpsewhich -show-path=.bib'. | 1534 | be `!kpsewhich -show-path=.bib'. |
| 1535 | - Otherwise the element itself is interpreted as a path. | 1535 | - Otherwise the element itself is interpreted as a path. |
| 1536 | Multiple directories can be separated by the system dependent `path-separator'. | 1536 | Multiple directories can be separated by the system dependent `path-separator'. |
| 1537 | Directories ending in `//' or `!!' will be expanded recursively. | 1537 | Directories ending in `//' or `!!' will be expanded recursively. |
| @@ -1575,7 +1575,7 @@ Note that if you are using external file finders, this option has no effect." | |||
| 1575 | "*Non-nil means, search all specified directories before trying recursion. | 1575 | "*Non-nil means, search all specified directories before trying recursion. |
| 1576 | Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then | 1576 | Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then |
| 1577 | all subdirectories of \"./\". If this option is nil, the subdirectories of | 1577 | all subdirectories of \"./\". If this option is nil, the subdirectories of |
| 1578 | \"./\" are searched before \"/tex/\". This is mainly for speed - most of the | 1578 | \"./\" are searched before \"/tex/\". This is mainly for speed - most of the |
| 1579 | time the recursive path is for the system files and not for the user files. | 1579 | time the recursive path is for the system files and not for the user files. |
| 1580 | Set this to nil if the default makes RefTeX finding files with equal names | 1580 | Set this to nil if the default makes RefTeX finding files with equal names |
| 1581 | in wrong sequence." | 1581 | in wrong sequence." |
| @@ -1588,7 +1588,7 @@ Normally, RefTeX searches the paths given in the environment variables | |||
| 1588 | TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files. | 1588 | TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files. |
| 1589 | With this option turned on, it calls an external program specified in the | 1589 | With this option turned on, it calls an external program specified in the |
| 1590 | option `reftex-external-file-finders' instead. As a side effect, | 1590 | option `reftex-external-file-finders' instead. As a side effect, |
| 1591 | the variables `reftex-texpath-environment-variables' and | 1591 | the variables `reftex-texpath-environment-variables' and |
| 1592 | `reftex-bibpath-environment-variables' will be ignored." | 1592 | `reftex-bibpath-environment-variables' will be ignored." |
| 1593 | :group 'reftex-finding-files | 1593 | :group 'reftex-finding-files |
| 1594 | :type 'boolean) | 1594 | :type 'boolean) |
| @@ -1679,7 +1679,7 @@ list." | |||
| 1679 | (defcustom reftex-save-parse-info nil | 1679 | (defcustom reftex-save-parse-info nil |
| 1680 | "*Non-nil means, save information gathered with parsing in a file. | 1680 | "*Non-nil means, save information gathered with parsing in a file. |
| 1681 | The file MASTER.rel in the same directory as MASTER.tex is used to save the | 1681 | The file MASTER.rel in the same directory as MASTER.tex is used to save the |
| 1682 | information. When this variable is t, | 1682 | information. When this variable is t, |
| 1683 | - accessing the parsing information for the first time in an editing session | 1683 | - accessing the parsing information for the first time in an editing session |
| 1684 | will read that file (if available) instead of parsing the document. | 1684 | will read that file (if available) instead of parsing the document. |
| 1685 | - exiting Emacs or killing a buffer in reftex-mode will cause a new version | 1685 | - exiting Emacs or killing a buffer in reftex-mode will cause a new version |
| @@ -1753,7 +1753,7 @@ Normally, the text near the cursor is the selected text, and it is | |||
| 1753 | highlighted. This is the entry most keys in the selction and *toc* | 1753 | highlighted. This is the entry most keys in the selction and *toc* |
| 1754 | buffers act on. However, if you mainly use the mouse to select an | 1754 | buffers act on. However, if you mainly use the mouse to select an |
| 1755 | item, you may find it nice to have mouse-triggered highlighting | 1755 | item, you may find it nice to have mouse-triggered highlighting |
| 1756 | instead or as well. The variable may have one of these values: | 1756 | instead or as well. The variable may have one of these values: |
| 1757 | 1757 | ||
| 1758 | nil No highlighting. | 1758 | nil No highlighting. |
| 1759 | cursor Highlighting is cursor driven. | 1759 | cursor Highlighting is cursor driven. |
| @@ -1882,7 +1882,7 @@ RefTeX uses `fset' to take over the function calls. Changing the variable | |||
| 1882 | may require a restart of Emacs in order to become effective." | 1882 | may require a restart of Emacs in order to become effective." |
| 1883 | :group 'reftex-miscellaneous-configurations | 1883 | :group 'reftex-miscellaneous-configurations |
| 1884 | :group 'LaTeX | 1884 | :group 'LaTeX |
| 1885 | :type '(choice | 1885 | :type '(choice |
| 1886 | (const :tag "No plug-ins" nil) | 1886 | (const :tag "No plug-ins" nil) |
| 1887 | (const :tag "All possible plug-ins" t) | 1887 | (const :tag "All possible plug-ins" t) |
| 1888 | (list | 1888 | (list |
diff --git a/lisp/woman.el b/lisp/woman.el index b365126ecb9..79d6d84aff1 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -3876,10 +3876,14 @@ Optional argument NUMERIC, if non-nil, means the argument is numeric." | |||
| 3876 | ;; The first two cases below could be merged (maybe)! | 3876 | ;; The first two cases below could be merged (maybe)! |
| 3877 | (let ((from (point))) | 3877 | (let ((from (point))) |
| 3878 | ;; Discard zero width filler character used to hide leading dots | 3878 | ;; Discard zero width filler character used to hide leading dots |
| 3879 | ;; and zero width characters. If on a line by itself, consume the | 3879 | ;; and zero width characters. |
| 3880 | ;; newline as well, as this may interfere with (Bug#3651). | 3880 | (while (re-search-forward "\\\\[&|^]" to t) |
| 3881 | (while (re-search-forward "\\\\[&|^]\n?" to t) | 3881 | (woman-delete-match 0) |
| 3882 | (woman-delete-match 0)) | 3882 | ;; If on a line by itself, consume newline as well (Bug#3651). |
| 3883 | (and (eq (char-before (match-beginning 0)) ?\n) | ||
| 3884 | (eq (char-after (match-beginning 0)) ?\n) | ||
| 3885 | (delete-char 1))) | ||
| 3886 | |||
| 3883 | (goto-char from) | 3887 | (goto-char from) |
| 3884 | ;; Interrupt text processing -- CONTINUE current text with the | 3888 | ;; Interrupt text processing -- CONTINUE current text with the |
| 3885 | ;; next text line (after any control lines, unless processing to | 3889 | ;; next text line (after any control lines, unless processing to |