diff options
| author | Eli Zaretskii | 2010-02-13 08:18:46 -0500 |
|---|---|---|
| committer | Eli Zaretskii | 2010-02-13 08:18:46 -0500 |
| commit | 36447e8d1f292611ce4db90e8fda8f3e25333747 (patch) | |
| tree | ff731eb7f0b9651d55808eaa167e2e6dd5bc3fa1 /lisp | |
| parent | 9a0d7cf1aaffb76aaf4a94f5124795dd9d7c8aed (diff) | |
| parent | 98599f74d03c2dd4b6ac90d68266c508c5e0342e (diff) | |
| download | emacs-36447e8d1f292611ce4db90e8fda8f3e25333747.tar.gz emacs-36447e8d1f292611ce4db90e8fda8f3e25333747.zip | |
Merge from mainline.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 107 | ||||
| -rw-r--r-- | lisp/arc-mode.el | 5 | ||||
| -rw-r--r-- | lisp/bookmark.el | 36 | ||||
| -rw-r--r-- | lisp/erc/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/erc/erc-services.el | 6 | ||||
| -rw-r--r-- | lisp/eshell/em-ls.el | 50 | ||||
| -rw-r--r-- | lisp/eshell/esh-util.el | 9 | ||||
| -rw-r--r-- | lisp/faces.el | 4 | ||||
| -rw-r--r-- | lisp/ffap.el | 3 | ||||
| -rw-r--r-- | lisp/info.el | 2 | ||||
| -rw-r--r-- | lisp/international/mule-util.el | 2 | ||||
| -rw-r--r-- | lisp/iswitchb.el | 25 | ||||
| -rw-r--r-- | lisp/ls-lisp.el | 1 | ||||
| -rw-r--r-- | lisp/man.el | 9 | ||||
| -rw-r--r-- | lisp/progmodes/ada-mode.el | 5 | ||||
| -rw-r--r-- | lisp/progmodes/f90.el | 44 | ||||
| -rw-r--r-- | lisp/subr.el | 12 | ||||
| -rw-r--r-- | lisp/term/xterm.el | 1 | ||||
| -rw-r--r-- | lisp/textmodes/artist.el | 16 |
19 files changed, 231 insertions, 110 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cbada0d62c6..702f283a9ff 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,87 @@ | |||
| 1 | 2010-02-12 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * arc-mode.el (archive-unique-fname): Make directories for nested | ||
| 4 | archives. (Bug#5540) | ||
| 5 | |||
| 6 | 2010-02-12 Juri Linkov <juri@jurta.org> | ||
| 7 | |||
| 8 | * ffap.el (dired-at-point): Fix docstring. (Bug#5565) | ||
| 9 | |||
| 10 | 2010-02-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 11 | |||
| 12 | * subr.el (copy-overlay): Handle deleted overlays. | ||
| 13 | |||
| 14 | * man.el (Man-completion-table): Don't signal an error if we can't run | ||
| 15 | manual-program (bug#4056). | ||
| 16 | |||
| 17 | 2010-02-10 Juanma Barranquero <lekktu@gmail.com> | ||
| 18 | |||
| 19 | * textmodes/artist.el (artist-mt): Fix typos in docstring. | ||
| 20 | |||
| 21 | 2010-02-10 Thierry Volpiatto <thierry.volpiatto@gmail.com> | ||
| 22 | |||
| 23 | * info.el (Info-bookmark-jump): Simplify. | ||
| 24 | |||
| 25 | * bookmark.el (bookmark-handle-bookmark): Catch the right error. | ||
| 26 | (bookmark-default-handler): Accept new bookmark field `buffer'. | ||
| 27 | |||
| 28 | 2010-02-10 Chong Yidong <cyd@stupidchicken.com> | ||
| 29 | |||
| 30 | * iswitchb.el (iswitchb-completions): Revert last change. | ||
| 31 | |||
| 32 | 2010-02-10 Michael Albinus <michael.albinus@gmx.de> | ||
| 33 | |||
| 34 | * ls-lisp.el (ls-lisp-insert-directory): When WILDCARD-REGEXP and | ||
| 35 | FULL-DIRECTORY-P are nil, and FILE is absolute, expand it. | ||
| 36 | This prevents file names like "~/" being listed literally. | ||
| 37 | |||
| 38 | 2010-02-10 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 39 | |||
| 40 | * term/xterm.el (xterm-maybe-set-dark-background-mode): | ||
| 41 | Remove dead code. (Bug#5546) | ||
| 42 | |||
| 43 | 2010-02-09 Chong Yidong <cyd@stupidchicken.com> | ||
| 44 | |||
| 45 | * eshell/em-ls.el (eshell-ls-applicable): Frob file attributes | ||
| 46 | correctly (Bug#5548). | ||
| 47 | |||
| 48 | 2010-02-08 Jose E. Marchesi <jemarch@gnu.org> | ||
| 49 | |||
| 50 | * progmodes/ada-mode.el (ada-in-numeric-literal-p): New function. | ||
| 51 | (ada-adjust-case): Don't adjust case in hexadecimal number | ||
| 52 | literals. | ||
| 53 | |||
| 54 | 2010-02-08 Kenichi Handa <handa@m17n.org> | ||
| 55 | |||
| 56 | * international/mule-util.el (with-coding-priority): Add autoload | ||
| 57 | cookie for putting `lisp-indent-function'. | ||
| 58 | |||
| 59 | 2010-02-07 Glenn Morris <rgm@gnu.org> | ||
| 60 | |||
| 61 | * progmodes/f90.el (f90-font-lock-keywords-1, f90-font-lock-keywords-2): | ||
| 62 | Move F2003 named interfaces from keywords-2 to keywords-1, and | ||
| 63 | use function-name-face rather than constant-face. | ||
| 64 | Simplify "abstract interface" regexp. | ||
| 65 | |||
| 66 | 2010-02-07 Chong Yidong <cyd@stupidchicken.com> | ||
| 67 | |||
| 68 | * eshell/esh-util.el (eshell-file-attributes): New optional arg | ||
| 69 | ID-FORMAT. Pass it to `file-attributes'. | ||
| 70 | |||
| 71 | * eshell/em-ls.el (eshell-do-ls): Use it (Bug#5528). | ||
| 72 | |||
| 73 | 2010-02-07 sj <prime.wizard+emacs@gmail.com> (tiny change) | ||
| 74 | |||
| 75 | * faces.el (set-face-attribute): Allow calling | ||
| 76 | internal-set-lisp-face-attribute with 'unspecified family and | ||
| 77 | foundry argument (Bug#5536). | ||
| 78 | |||
| 79 | 2010-02-07 Glenn Morris <rgm@gnu.org> | ||
| 80 | |||
| 81 | * progmodes/f90.el (f90-font-lock-keywords-2) | ||
| 82 | (f90-looking-at-type-like, f90-looking-at-program-block-end): | ||
| 83 | Handle F2003 named interfaces. | ||
| 84 | |||
| 1 | 2010-02-06 Chong Yidong <cyd@stupidchicken.com> | 85 | 2010-02-06 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 86 | ||
| 3 | * progmodes/cc-mode.el (c-common-init): Bind temporary variables | 87 | * progmodes/cc-mode.el (c-common-init): Bind temporary variables |
| @@ -246,10 +330,9 @@ | |||
| 246 | 330 | ||
| 247 | 2010-01-25 Mark A. Hershberger <mah@everybody.org> | 331 | 2010-01-25 Mark A. Hershberger <mah@everybody.org> |
| 248 | 332 | ||
| 249 | * progmodes/python.el: Replace reference to obsolete | 333 | * progmodes/python.el: Replace reference to obsolete c-subword-mode. |
| 250 | c-subward-mode. | ||
| 251 | 334 | ||
| 252 | * vc-bzr.el: (vc-bzr-revision-table) New function. | 335 | * vc-bzr.el (vc-bzr-revision-table): New function. |
| 253 | 336 | ||
| 254 | 2010-01-25 Eric Hanchrow <eric.hanchrow@gmail.com> (tiny change) | 337 | 2010-01-25 Eric Hanchrow <eric.hanchrow@gmail.com> (tiny change) |
| 255 | 338 | ||
| @@ -282,7 +365,7 @@ | |||
| 282 | 365 | ||
| 283 | 2010-01-23 Stephen Leake <stephen_leake@member.fsf.org> | 366 | 2010-01-23 Stephen Leake <stephen_leake@member.fsf.org> |
| 284 | 367 | ||
| 285 | * progmodes/ada-mode.el (ada-in-paramlist-p): Pragma syntax | 368 | * progmodes/ada-mode.el (ada-in-paramlist-p): Pragma syntax |
| 286 | is the same as subprogram call, not declaration. (Bug#5435). | 369 | is the same as subprogram call, not declaration. (Bug#5435). |
| 287 | 370 | ||
| 288 | 2010-01-23 Michael Albinus <michael.albinus@gmx.de> | 371 | 2010-01-23 Michael Albinus <michael.albinus@gmx.de> |
| @@ -3678,7 +3761,7 @@ | |||
| 3678 | (verilog-read-decls): Fix AUTOREG not detecting "assign {a,b}". | 3761 | (verilog-read-decls): Fix AUTOREG not detecting "assign {a,b}". |
| 3679 | Reported by Wade Smith. | 3762 | Reported by Wade Smith. |
| 3680 | 3763 | ||
| 3681 | (verilog-batch-execute-func) Comment on function usage. | 3764 | (verilog-batch-execute-func): Comment on function usage. |
| 3682 | 3765 | ||
| 3683 | 2009-11-05 Michael McNamara <mac@mail.brushroad.com> | 3766 | 2009-11-05 Michael McNamara <mac@mail.brushroad.com> |
| 3684 | 3767 | ||
| @@ -4335,7 +4418,7 @@ | |||
| 4335 | (tramp-handle-file-truename): Use it. | 4418 | (tramp-handle-file-truename): Use it. |
| 4336 | (tramp-handle-file-exists-p): Check file-attributes cache, assume | 4419 | (tramp-handle-file-exists-p): Check file-attributes cache, assume |
| 4337 | file exists if cache value present. | 4420 | file exists if cache value present. |
| 4338 | (tramp-check-cached-permissions) New defun. | 4421 | (tramp-check-cached-permissions): New defun. |
| 4339 | (tramp-handle-file-readable-p): Use it. | 4422 | (tramp-handle-file-readable-p): Use it. |
| 4340 | (tramp-handle-file-writable-p): Likewise. | 4423 | (tramp-handle-file-writable-p): Likewise. |
| 4341 | (tramp-handle-file-executable-p): Likewise. | 4424 | (tramp-handle-file-executable-p): Likewise. |
| @@ -4566,7 +4649,7 @@ | |||
| 4566 | from `rfn-eshadow-update-overlay-hook' when unloading. | 4649 | from `rfn-eshadow-update-overlay-hook' when unloading. |
| 4567 | (tramp-methods): Add `tramp-copy-keep-tmpfile' for "rsync" and | 4650 | (tramp-methods): Add `tramp-copy-keep-tmpfile' for "rsync" and |
| 4568 | "rsyncc". Adjust doc string. | 4651 | "rsyncc". Adjust doc string. |
| 4569 | (tramp-temp-buffer-file-name) New buffer-local defvar. | 4652 | (tramp-temp-buffer-file-name): New buffer-local defvar. |
| 4570 | (tramp-handle-insert-file-contents, tramp-handle-write-region): | 4653 | (tramp-handle-insert-file-contents, tramp-handle-write-region): |
| 4571 | Keep temporary file when indicated by method ("rsync" and | 4654 | Keep temporary file when indicated by method ("rsync" and |
| 4572 | "rsyncc"). | 4655 | "rsyncc"). |
| @@ -7978,7 +8061,7 @@ | |||
| 7978 | Don't modify last-coding-system-used by accident. | 8061 | Don't modify last-coding-system-used by accident. |
| 7979 | (tramp-completion-file-name-handler): Apply the checks here, | 8062 | (tramp-completion-file-name-handler): Apply the checks here, |
| 7980 | instead during registration. | 8063 | instead during registration. |
| 7981 | (tramp-register-file-name-handlers) Renamed from | 8064 | (tramp-register-file-name-handlers): Renamed from |
| 7982 | `tramp-register-file-name-handler'. Register both | 8065 | `tramp-register-file-name-handler'. Register both |
| 7983 | `tramp-file-name-handler' and `tramp-completion-file-name-handler'. | 8066 | `tramp-file-name-handler' and `tramp-completion-file-name-handler'. |
| 7984 | (tramp-register-completion-file-name-handler): Remove. (Bug#4260) | 8067 | (tramp-register-completion-file-name-handler): Remove. (Bug#4260) |
| @@ -10072,7 +10155,7 @@ | |||
| 10072 | 10155 | ||
| 10073 | * net/tramp.el (tramp-do-copy-or-rename-file-directly): | 10156 | * net/tramp.el (tramp-do-copy-or-rename-file-directly): |
| 10074 | Handle also the 'rename case, when setting file modes. (Bug#3712) | 10157 | Handle also the 'rename case, when setting file modes. (Bug#3712) |
| 10075 | (tramp-default-file-modes) Remove execute permissions. | 10158 | (tramp-default-file-modes): Remove execute permissions. |
| 10076 | 10159 | ||
| 10077 | * net/tramp-gvfs.el (tramp-gvfs-methods): Add "synce" method. | 10160 | * net/tramp-gvfs.el (tramp-gvfs-methods): Add "synce" method. |
| 10078 | (top): Add a default for "synce" in `tramp-default-user-alist'. | 10161 | (top): Add a default for "synce" in `tramp-default-user-alist'. |
| @@ -10097,7 +10180,7 @@ | |||
| 10097 | 10180 | ||
| 10098 | * language/chinese.el ("Chinese-GB", "Chinese-BIG5") | 10181 | * language/chinese.el ("Chinese-GB", "Chinese-BIG5") |
| 10099 | ("Chinese-CNS", "Chinese-EUC-TW", "Chinese-GBK"): Add a | 10182 | ("Chinese-CNS", "Chinese-EUC-TW", "Chinese-GBK"): Add a |
| 10100 | setup-funcion to make char-widht-table suitable for respective | 10183 | setup-function to make char-width-table suitable for respective |
| 10101 | environments, and an exit-function to cancel that. | 10184 | environments, and an exit-function to cancel that. |
| 10102 | 10185 | ||
| 10103 | * language/japan-util.el (setup-japanese-environment-internal): | 10186 | * language/japan-util.el (setup-japanese-environment-internal): |
| @@ -10157,7 +10240,7 @@ | |||
| 10157 | to support safe execution at almost anyline. | 10240 | to support safe execution at almost anyline. |
| 10158 | (verilog-calc-1): Properly support indenting deep inside generate | 10241 | (verilog-calc-1): Properly support indenting deep inside generate |
| 10159 | blocks. | 10242 | blocks. |
| 10160 | (verilog-init-font) Remove definition & use of verilog-init-font, | 10243 | (verilog-init-font): Remove definition & use of verilog-init-font, |
| 10161 | as it is redundant with font-lock-defaults. | 10244 | as it is redundant with font-lock-defaults. |
| 10162 | (verilog-mode): Alter the definition of verilog-font-lock-defaults | 10245 | (verilog-mode): Alter the definition of verilog-font-lock-defaults |
| 10163 | to avoid circular calls if syntax-ppss is a function (as is the | 10246 | to avoid circular calls if syntax-ppss is a function (as is the |
| @@ -10171,7 +10254,7 @@ | |||
| 10171 | (verilog-defun-level-not-generate-re, verilog-defun-level-re) | 10254 | (verilog-defun-level-not-generate-re, verilog-defun-level-re) |
| 10172 | (verilog-defun-level-generate-only-re): Really fix the defun-list | 10255 | (verilog-defun-level-generate-only-re): Really fix the defun-list |
| 10173 | compilation issue. | 10256 | compilation issue. |
| 10174 | (verilog-calc-1) (verilog-beg-of-statement): Enhance support for | 10257 | (verilog-calc-1, verilog-beg-of-statement): Enhance support for |
| 10175 | coverpoint, constraint and cross statements. | 10258 | coverpoint, constraint and cross statements. |
| 10176 | (verilog-defun-level-list, verilog-generate-defun-level-list) | 10259 | (verilog-defun-level-list, verilog-generate-defun-level-list) |
| 10177 | (verilog-all-defun-level-list): Redo these specifications - it is | 10260 | (verilog-all-defun-level-list): Redo these specifications - it is |
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index ee32d893654..5942e920a65 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el | |||
| @@ -834,6 +834,11 @@ using `make-temp-file', and the generated name is returned." | |||
| 834 | ;; reconstructed in the temporary directory. | 834 | ;; reconstructed in the temporary directory. |
| 835 | (make-directory (file-name-directory tmpfile) t) | 835 | (make-directory (file-name-directory tmpfile) t) |
| 836 | (make-temp-file tmpfile)) | 836 | (make-temp-file tmpfile)) |
| 837 | ;; Maked sure all the leading directories in `fullname' exist | ||
| 838 | ;; under archive-tmpdir. This is necessary for nested archives | ||
| 839 | ;; (`archive-extract' sets `archive-remote' to t in case | ||
| 840 | ;; an archive occurs inside another archive). | ||
| 841 | (make-directory (file-name-directory fullname) t) | ||
| 837 | fullname))) | 842 | fullname))) |
| 838 | 843 | ||
| 839 | (defun archive-maybe-copy (archive) | 844 | (defun archive-maybe-copy (archive) |
diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 5af6ab91cc3..49abea5d3e3 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el | |||
| @@ -1068,7 +1068,7 @@ that file no longer exists, then offer interactively to relocate BOOKMARK." | |||
| 1068 | (funcall (or (bookmark-get-handler bookmark) | 1068 | (funcall (or (bookmark-get-handler bookmark) |
| 1069 | 'bookmark-default-handler) | 1069 | 'bookmark-default-handler) |
| 1070 | (bookmark-get-bookmark bookmark)) | 1070 | (bookmark-get-bookmark bookmark)) |
| 1071 | (file-error | 1071 | (bookmark-error-no-filename ;file-error |
| 1072 | ;; We were unable to find the marked file, so ask if user wants to | 1072 | ;; We were unable to find the marked file, so ask if user wants to |
| 1073 | ;; relocate the bookmark, else remind them to consider deletion. | 1073 | ;; relocate the bookmark, else remind them to consider deletion. |
| 1074 | (when (stringp bookmark) | 1074 | (when (stringp bookmark) |
| @@ -1116,24 +1116,28 @@ that file no longer exists, then offer interactively to relocate BOOKMARK." | |||
| 1116 | BMK-RECORD is a bookmark record, not a bookmark name (i.e., not a string). | 1116 | BMK-RECORD is a bookmark record, not a bookmark name (i.e., not a string). |
| 1117 | Changes current buffer and point and returns nil, or signals a `file-error'." | 1117 | Changes current buffer and point and returns nil, or signals a `file-error'." |
| 1118 | (let ((file (bookmark-get-filename bmk-record)) | 1118 | (let ((file (bookmark-get-filename bmk-record)) |
| 1119 | (buf (bookmark-prop-get bmk-record 'buffer)) | ||
| 1119 | (forward-str (bookmark-get-front-context-string bmk-record)) | 1120 | (forward-str (bookmark-get-front-context-string bmk-record)) |
| 1120 | (behind-str (bookmark-get-rear-context-string bmk-record)) | 1121 | (behind-str (bookmark-get-rear-context-string bmk-record)) |
| 1121 | (place (bookmark-get-position bmk-record))) | 1122 | (place (bookmark-get-position bmk-record))) |
| 1122 | (if (not file) | 1123 | (set-buffer |
| 1123 | (signal 'bookmark-error-no-filename (list 'stringp file)) | 1124 | (cond |
| 1124 | (set-buffer (find-file-noselect file)) | 1125 | ((and file (file-readable-p file) (not (buffer-live-p buf))) |
| 1125 | (if place (goto-char place)) | 1126 | (find-file-noselect file)) |
| 1126 | ;; Go searching forward first. Then, if forward-str exists and | 1127 | ;; No file found. See if buffer BUF have been created. |
| 1127 | ;; was found in the file, we can search backward for behind-str. | 1128 | ((and buf (get-buffer buf))) |
| 1128 | ;; Rationale is that if text was inserted between the two in the | 1129 | (t ;; If not, raise error. |
| 1129 | ;; file, it's better to be put before it so you can read it, | 1130 | (signal 'bookmark-error-no-filename (list 'stringp file))))) |
| 1130 | ;; rather than after and remain perhaps unaware of the changes. | 1131 | (if place (goto-char place)) |
| 1131 | (if forward-str | 1132 | ;; Go searching forward first. Then, if forward-str exists and |
| 1132 | (if (search-forward forward-str (point-max) t) | 1133 | ;; was found in the file, we can search backward for behind-str. |
| 1133 | (goto-char (match-beginning 0)))) | 1134 | ;; Rationale is that if text was inserted between the two in the |
| 1134 | (if behind-str | 1135 | ;; file, it's better to be put before it so you can read it, |
| 1135 | (if (search-backward behind-str (point-min) t) | 1136 | ;; rather than after and remain perhaps unaware of the changes. |
| 1136 | (goto-char (match-end 0))))) | 1137 | (when (and forward-str (search-forward forward-str (point-max) t)) |
| 1138 | (goto-char (match-beginning 0))) | ||
| 1139 | (when (and behind-str (search-backward behind-str (point-min) t)) | ||
| 1140 | (goto-char (match-end 0))) | ||
| 1137 | nil)) | 1141 | nil)) |
| 1138 | 1142 | ||
| 1139 | ;;;###autoload | 1143 | ;;;###autoload |
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 8daf590ee89..c192b3400b4 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-02-07 Vivek Dasmohapatra <vivek@etla.org> | ||
| 2 | |||
| 3 | * erc-services.el (erc-nickserv-alist): Fix defcustom type (Bug#5520). | ||
| 4 | |||
| 1 | 2010-01-25 Vivek Dasmohapatra <vivek@etla.org> | 5 | 2010-01-25 Vivek Dasmohapatra <vivek@etla.org> |
| 2 | 6 | ||
| 3 | * erc-backend.el (erc-session-connector): New var. | 7 | * erc-backend.el (erc-session-connector): New var. |
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el index c917a5692b8..50a100d6932 100644 --- a/lisp/erc/erc-services.el +++ b/lisp/erc/erc-services.el | |||
| @@ -303,7 +303,11 @@ The last two elements are optional." | |||
| 303 | (boolean :tag "Use current nick in identify message?") | 303 | (boolean :tag "Use current nick in identify message?") |
| 304 | (choice :tag "Command to use (optional)" | 304 | (choice :tag "Command to use (optional)" |
| 305 | (string :tag "Command") | 305 | (string :tag "Command") |
| 306 | (const :tag "No special command necessary" nil))))) | 306 | (const :tag "No special command necessary" nil)) |
| 307 | (choice :tag "Detect Success" | ||
| 308 | (regexp :tag "Pattern to match") | ||
| 309 | (const :tag "Do not try to detect success" nil))))) | ||
| 310 | |||
| 307 | 311 | ||
| 308 | (defsubst erc-nickserv-alist-sender (network &optional entry) | 312 | (defsubst erc-nickserv-alist-sender (network &optional entry) |
| 309 | (nth 1 (or entry (assoc network erc-nickserv-alist)))) | 313 | (nth 1 (or entry (assoc network erc-nickserv-alist)))) |
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el index 094f3ad9bb3..860ad5c77d8 100644 --- a/lisp/eshell/em-ls.el +++ b/lisp/eshell/em-ls.el | |||
| @@ -225,18 +225,28 @@ really need to stick around for very long." | |||
| 225 | (eq (aref (nth 8 attrs) 0) type))) | 225 | (eq (aref (nth 8 attrs) 0) type))) |
| 226 | 226 | ||
| 227 | (defmacro eshell-ls-applicable (attrs index func file) | 227 | (defmacro eshell-ls-applicable (attrs index func file) |
| 228 | "Test whether, for ATTRS, the user UID can do what corresponds to INDEX. | 228 | "Test whether, for ATTRS, the user can do what corresponds to INDEX. |
| 229 | This is really just for efficiency, to avoid having to stat the file | 229 | ATTRS is a string of file modes. See `file-attributes'. |
| 230 | yet again." | 230 | If we cannot determine the answer using ATTRS (e.g., if we need |
| 231 | `(if (numberp (nth 2 ,attrs)) | 231 | to know what group the user is in), compute the return value by |
| 232 | (if (= (user-uid) (nth 2 ,attrs)) | 232 | calling FUNC with FILE as an argument." |
| 233 | (not (eq (aref (nth 8 ,attrs) ,index) ?-)) | 233 | `(let ((owner (nth 2 ,attrs)) |
| 234 | (,(eval func) ,file)) | 234 | (modes (nth 8 ,attrs))) |
| 235 | (not (eq (aref (nth 8 ,attrs) | 235 | (cond ((cond ((numberp owner) |
| 236 | (+ ,index (if (member (nth 2 ,attrs) | 236 | (= owner (user-uid))) |
| 237 | (eshell-current-ange-uids)) | 237 | ((stringp owner) |
| 238 | 0 6))) | 238 | (or (string-equal owner (user-login-name)) |
| 239 | ?-)))) | 239 | (member owner (eshell-current-ange-uids))))) |
| 240 | ;; The user owns this file. | ||
| 241 | (not (eq (aref modes ,index) ?-))) | ||
| 242 | ((eq (aref modes (+ ,index 3)) | ||
| 243 | (aref modes (+ ,index 6))) | ||
| 244 | ;; If the "group" and "other" fields give identical | ||
| 245 | ;; results, use that. | ||
| 246 | (not (eq (aref modes (+ ,index 3)) ?-))) | ||
| 247 | (t | ||
| 248 | ;; Otherwise call FUNC. | ||
| 249 | (,(eval func) ,file))))) | ||
| 240 | 250 | ||
| 241 | (defcustom eshell-ls-highlight-alist nil | 251 | (defcustom eshell-ls-highlight-alist nil |
| 242 | "*This alist correlates test functions to color. | 252 | "*This alist correlates test functions to color. |
| @@ -393,13 +403,13 @@ Sort entries alphabetically across.") | |||
| 393 | (eshell-glob-regexp ignore-pattern)))) | 403 | (eshell-glob-regexp ignore-pattern)))) |
| 394 | ;; list the files! | 404 | ;; list the files! |
| 395 | (eshell-ls-entries | 405 | (eshell-ls-entries |
| 396 | (mapcar (function | 406 | (mapcar (lambda (arg) |
| 397 | (lambda (arg) | 407 | (cons (if (and (eshell-under-windows-p) |
| 398 | (cons (if (and (eshell-under-windows-p) | 408 | (file-name-absolute-p arg)) |
| 399 | (file-name-absolute-p arg)) | 409 | (expand-file-name arg) |
| 400 | (expand-file-name arg) | 410 | arg) |
| 401 | arg) | 411 | (eshell-file-attributes |
| 402 | (eshell-file-attributes arg)))) | 412 | arg (if numeric-uid-gid 'integer 'string)))) |
| 403 | args) | 413 | args) |
| 404 | t (expand-file-name default-directory))) | 414 | t (expand-file-name default-directory))) |
| 405 | (funcall flush-func))) | 415 | (funcall flush-func))) |
| @@ -710,7 +720,7 @@ Each member of FILES is either a string or a cons cell of the form | |||
| 710 | (funcall insert-func need-return "\n")))))) | 720 | (funcall insert-func need-return "\n")))))) |
| 711 | 721 | ||
| 712 | (defun eshell-ls-entries (entries &optional separate root-dir) | 722 | (defun eshell-ls-entries (entries &optional separate root-dir) |
| 713 | "Output PATH's directory ENTRIES, formatted according to OPTIONS. | 723 | "Output PATH's directory ENTRIES. |
| 714 | Each member of ENTRIES may either be a string or a cons cell, the car | 724 | Each member of ENTRIES may either be a string or a cons cell, the car |
| 715 | of which is the file name, and the cdr of which is the list of | 725 | of which is the file name, and the cdr of which is the list of |
| 716 | attributes. | 726 | attributes. |
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el index 7c21e2e3302..1a4c5e1021b 100644 --- a/lisp/eshell/esh-util.el +++ b/lisp/eshell/esh-util.el | |||
| @@ -701,8 +701,11 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable. | |||
| 701 | (forward-line))) | 701 | (forward-line))) |
| 702 | entry)) | 702 | entry)) |
| 703 | 703 | ||
| 704 | (defun eshell-file-attributes (file) | 704 | (defun eshell-file-attributes (file &optional id-format) |
| 705 | "Return the attributes of FILE, playing tricks if it's over ange-ftp." | 705 | "Return the attributes of FILE, playing tricks if it's over ange-ftp. |
| 706 | The optional argument ID-FORMAT specifies the preferred uid and | ||
| 707 | gid format. Valid values are 'string and 'integer, defaulting to | ||
| 708 | 'integer. See `file-attributes'." | ||
| 706 | (let* ((file (expand-file-name file)) | 709 | (let* ((file (expand-file-name file)) |
| 707 | entry) | 710 | entry) |
| 708 | (if (string-equal (file-remote-p file 'method) "ftp") | 711 | (if (string-equal (file-remote-p file 'method) "ftp") |
| @@ -723,7 +726,7 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable. | |||
| 723 | (setq entry (cdr fentry)) | 726 | (setq entry (cdr fentry)) |
| 724 | (setq entry nil))))) | 727 | (setq entry nil))))) |
| 725 | entry) | 728 | entry) |
| 726 | (file-attributes file)))) | 729 | (file-attributes file id-format)))) |
| 727 | 730 | ||
| 728 | (defalias 'eshell-copy-tree 'copy-tree) | 731 | (defalias 'eshell-copy-tree 'copy-tree) |
| 729 | 732 | ||
diff --git a/lisp/faces.el b/lisp/faces.el index 8edd2851b88..a5bc7b1c965 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -735,10 +735,10 @@ like an underlying face would be, with higher priority than underlying faces." | |||
| 735 | (unless foundry | 735 | (unless foundry |
| 736 | (setq foundry (match-string 1 family))) | 736 | (setq foundry (match-string 1 family))) |
| 737 | (setq family (match-string 2 family))) | 737 | (setq family (match-string 2 family))) |
| 738 | (when (stringp family) | 738 | (when (or (stringp family) (eq family 'unspecified)) |
| 739 | (internal-set-lisp-face-attribute face :family (purecopy family) | 739 | (internal-set-lisp-face-attribute face :family (purecopy family) |
| 740 | where)) | 740 | where)) |
| 741 | (when (stringp foundry) | 741 | (when (or (stringp foundry) (eq foundry 'unspecified)) |
| 742 | (internal-set-lisp-face-attribute face :foundry (purecopy foundry) | 742 | (internal-set-lisp-face-attribute face :foundry (purecopy foundry) |
| 743 | where))) | 743 | where))) |
| 744 | (while args | 744 | (while args |
diff --git a/lisp/ffap.el b/lisp/ffap.el index 324094e334e..23caae74962 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el | |||
| @@ -1796,7 +1796,8 @@ ffap most of the time." | |||
| 1796 | 1796 | ||
| 1797 | ;;;###autoload | 1797 | ;;;###autoload |
| 1798 | (defun dired-at-point (&optional filename) | 1798 | (defun dired-at-point (&optional filename) |
| 1799 | "Start Dired, defaulting to file at point. See `ffap'." | 1799 | "Start Dired, defaulting to file at point. See `ffap'. |
| 1800 | If `dired-at-point-require-prefix' is set, the prefix meaning is reversed." | ||
| 1800 | (interactive) | 1801 | (interactive) |
| 1801 | (if (and (called-interactively-p 'interactive) | 1802 | (if (and (called-interactively-p 'interactive) |
| 1802 | (if dired-at-point-require-prefix | 1803 | (if dired-at-point-require-prefix |
diff --git a/lisp/info.el b/lisp/info.el index 4789d67e659..93001496b5c 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -4797,7 +4797,7 @@ type returned by `Info-bookmark-make-record', which see." | |||
| 4797 | ;; Use bookmark-default-handler to move to the appropriate location | 4797 | ;; Use bookmark-default-handler to move to the appropriate location |
| 4798 | ;; within the node. | 4798 | ;; within the node. |
| 4799 | (bookmark-default-handler | 4799 | (bookmark-default-handler |
| 4800 | (list* "" `(buffer . ,buf) (bookmark-get-bookmark-record bmk))))) | 4800 | `("" (buffer . ,buf) . ,(bookmark-get-bookmark-record bmk))))) |
| 4801 | 4801 | ||
| 4802 | (provide 'info) | 4802 | (provide 'info) |
| 4803 | 4803 | ||
diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el index 74ef25e147b..da9baef266c 100644 --- a/lisp/international/mule-util.el +++ b/lisp/international/mule-util.el | |||
| @@ -323,7 +323,7 @@ operations such as `find-coding-systems-region'." | |||
| 323 | (unwind-protect | 323 | (unwind-protect |
| 324 | (progn ,@body) | 324 | (progn ,@body) |
| 325 | (apply #'set-coding-system-priority ,current))))) | 325 | (apply #'set-coding-system-priority ,current))))) |
| 326 | (put 'with-coding-priority 'lisp-indent-function 1) | 326 | ;;;###autoload(put 'with-coding-priority 'lisp-indent-function 1) |
| 327 | (put 'with-coding-priority 'edebug-form-spec t) | 327 | (put 'with-coding-priority 'edebug-form-spec t) |
| 328 | 328 | ||
| 329 | ;;;###autoload | 329 | ;;;###autoload |
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index ee06db6f78f..ea4b00dc90d 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el | |||
| @@ -1274,7 +1274,7 @@ Modified from `icomplete-completions'." | |||
| 1274 | ;; consult the list of past visited files, to see if we can find | 1274 | ;; consult the list of past visited files, to see if we can find |
| 1275 | ;; the file which the user might thought was still open. | 1275 | ;; the file which the user might thought was still open. |
| 1276 | (when (and iswitchb-use-virtual-buffers (null comps) | 1276 | (when (and iswitchb-use-virtual-buffers (null comps) |
| 1277 | (or recentf-list bookmark-alist)) | 1277 | recentf-list) |
| 1278 | (setq iswitchb-virtual-buffers nil) | 1278 | (setq iswitchb-virtual-buffers nil) |
| 1279 | (let ((head recentf-list) name) | 1279 | (let ((head recentf-list) name) |
| 1280 | (while head | 1280 | (while head |
| @@ -1289,30 +1289,15 @@ Modified from `icomplete-completions'." | |||
| 1289 | (setq iswitchb-virtual-buffers | 1289 | (setq iswitchb-virtual-buffers |
| 1290 | (cons (cons name (car head)) | 1290 | (cons (cons name (car head)) |
| 1291 | iswitchb-virtual-buffers))) | 1291 | iswitchb-virtual-buffers))) |
| 1292 | (setq head (cdr head)))) | 1292 | (setq head (cdr head))) |
| 1293 | (let ((head bookmark-alist) name path) | 1293 | (setq iswitchb-virtual-buffers (nreverse iswitchb-virtual-buffers) |
| 1294 | (while head | 1294 | comps (mapcar 'car iswitchb-virtual-buffers)) |
| 1295 | (if (and (setq path (cdr (assq 'filename (cdar head)))) | ||
| 1296 | (setq name (file-name-nondirectory path)) | ||
| 1297 | (string-match (if iswitchb-regexp | ||
| 1298 | iswitchb-text | ||
| 1299 | (regexp-quote iswitchb-text)) name) | ||
| 1300 | (null (get-file-buffer path)) | ||
| 1301 | (not (assoc name iswitchb-virtual-buffers)) | ||
| 1302 | (not (iswitchb-ignore-buffername-p name)) | ||
| 1303 | (file-exists-p path)) | ||
| 1304 | (setq iswitchb-virtual-buffers | ||
| 1305 | (cons (cons name path) | ||
| 1306 | iswitchb-virtual-buffers))) | ||
| 1307 | (setq head (cdr head)))) | ||
| 1308 | (setq iswitchb-virtual-buffers (nreverse iswitchb-virtual-buffers) | ||
| 1309 | comps (mapcar 'car iswitchb-virtual-buffers)) | ||
| 1310 | (let ((comp comps)) | 1295 | (let ((comp comps)) |
| 1311 | (while comp | 1296 | (while comp |
| 1312 | (put-text-property 0 (length (car comp)) | 1297 | (put-text-property 0 (length (car comp)) |
| 1313 | 'face 'iswitchb-virtual-matches | 1298 | 'face 'iswitchb-virtual-matches |
| 1314 | (car comp)) | 1299 | (car comp)) |
| 1315 | (setq comp (cdr comp))))) | 1300 | (setq comp (cdr comp)))))) |
| 1316 | 1301 | ||
| 1317 | (cond ((null comps) (format " %sNo match%s" | 1302 | (cond ((null comps) (format " %sNo match%s" |
| 1318 | open-bracket-determined | 1303 | open-bracket-determined |
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el index 284e9db97ee..2e061558466 100644 --- a/lisp/ls-lisp.el +++ b/lisp/ls-lisp.el | |||
| @@ -400,6 +400,7 @@ not contain `d', so that a full listing is expected." | |||
| 400 | ;; If not full-directory-p, FILE *must not* end in /, as | 400 | ;; If not full-directory-p, FILE *must not* end in /, as |
| 401 | ;; file-attributes will not recognize a symlink to a directory, | 401 | ;; file-attributes will not recognize a symlink to a directory, |
| 402 | ;; so must make it a relative filename as ls does: | 402 | ;; so must make it a relative filename as ls does: |
| 403 | (if (file-name-absolute-p file) (setq file (expand-file-name file))) | ||
| 403 | (if (eq (aref file (1- (length file))) ?/) | 404 | (if (eq (aref file (1- (length file))) ?/) |
| 404 | (setq file (substring file 0 -1))) | 405 | (setq file (substring file 0 -1))) |
| 405 | (let ((fattr (file-attributes file 'string))) | 406 | (let ((fattr (file-attributes file 'string))) |
diff --git a/lisp/man.el b/lisp/man.el index e729e11b6ca..dd64fbda574 100644 --- a/lisp/man.el +++ b/lisp/man.el | |||
| @@ -771,8 +771,13 @@ POS defaults to `point'." | |||
| 771 | ;; quote anything. | 771 | ;; quote anything. |
| 772 | (let ((process-environment (copy-sequence process-environment))) | 772 | (let ((process-environment (copy-sequence process-environment))) |
| 773 | (setenv "COLUMNS" "999") ;; don't truncate long names | 773 | (setenv "COLUMNS" "999") ;; don't truncate long names |
| 774 | (call-process manual-program nil '(t nil) nil | 774 | ;; manual-program might not even exist. And since it's |
| 775 | "-k" (concat "^" prefix))) | 775 | ;; run differently in Man-getpage-in-background, an error |
| 776 | ;; here may not necessarily mean that we'll also get an | ||
| 777 | ;; error later. | ||
| 778 | (ignore-errors | ||
| 779 | (call-process manual-program nil '(t nil) nil | ||
| 780 | "-k" (concat "^" prefix)))) | ||
| 776 | (goto-char (point-min)) | 781 | (goto-char (point-min)) |
| 777 | (while (re-search-forward "^\\([^ \t\n]+\\)\\(?: ?\\((.+?)\\)\\(?:[ \t]+- \\(.*\\)\\)?\\)?" nil t) | 782 | (while (re-search-forward "^\\([^ \t\n]+\\)\\(?: ?\\((.+?)\\)\\(?:[ \t]+- \\(.*\\)\\)?\\)?" nil t) |
| 778 | (push (propertize (concat (match-string 1) (match-string 2)) | 783 | (push (propertize (concat (match-string 1) (match-string 2)) |
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index a08e31e2016..95f9f6babf3 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el | |||
| @@ -1017,6 +1017,9 @@ If PARSE-RESULT is non-nil, use it instead of calling `parse-partial-sexp'." | |||
| 1017 | (line-beginning-position) (point)))) | 1017 | (line-beginning-position) (point)))) |
| 1018 | (or (ada-in-string-p parse-result) (ada-in-comment-p parse-result))) | 1018 | (or (ada-in-string-p parse-result) (ada-in-comment-p parse-result))) |
| 1019 | 1019 | ||
| 1020 | (defsubst ada-in-numeric-literal-p () | ||
| 1021 | "Return t if point is after a prefix of a numeric literal." | ||
| 1022 | (looking-back "\\([0-9]+#[0-9a-fA-F_]+\\)")) | ||
| 1020 | 1023 | ||
| 1021 | ;;------------------------------------------------------------------ | 1024 | ;;------------------------------------------------------------------ |
| 1022 | ;; Contextual menus | 1025 | ;; Contextual menus |
| @@ -1606,6 +1609,8 @@ If FORCE-IDENTIFIER is non-nil then also adjust keyword as identifier." | |||
| 1606 | (eq (char-syntax (char-before)) ?w) | 1609 | (eq (char-syntax (char-before)) ?w) |
| 1607 | ;; if in a string or a comment | 1610 | ;; if in a string or a comment |
| 1608 | (not (ada-in-string-or-comment-p)) | 1611 | (not (ada-in-string-or-comment-p)) |
| 1612 | ;; if in a numeric literal | ||
| 1613 | (not (ada-in-numeric-literal-p)) | ||
| 1609 | ) | 1614 | ) |
| 1610 | (if (save-excursion | 1615 | (if (save-excursion |
| 1611 | (forward-word -1) | 1616 | (forward-word -1) |
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index eda9f4e0155..21273359486 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el | |||
| @@ -158,10 +158,8 @@ | |||
| 158 | ;; 3. Support for align. | 158 | ;; 3. Support for align. |
| 159 | ;; Font-locking: | 159 | ;; Font-locking: |
| 160 | ;; 1. OpenMP, OpenMPI?, preprocessor highlighting. | 160 | ;; 1. OpenMP, OpenMPI?, preprocessor highlighting. |
| 161 | ;; 2. interface blah - Highlight "blah" in function-name face? | 161 | ;; 2. integer_name = 1 |
| 162 | ;; Need to avoid "interface operator (+)" etc. | 162 | ;; 3. Labels for "else" statements (F2003)? |
| 163 | ;; 3. integer_name = 1 | ||
| 164 | ;; 4. Labels for "else" statements (F2003)? | ||
| 165 | 163 | ||
| 166 | (defvar comment-auto-fill-only-comments) | 164 | (defvar comment-auto-fill-only-comments) |
| 167 | (defvar font-lock-keywords) | 165 | (defvar font-lock-keywords) |
| @@ -467,22 +465,21 @@ type-name parts, respectively." | |||
| 467 | ;;; (1 font-lock-keyword-face) (3 font-lock-function-name-face)) | 465 | ;;; (1 font-lock-keyword-face) (3 font-lock-function-name-face)) |
| 468 | '(f90-typedef-matcher | 466 | '(f90-typedef-matcher |
| 469 | (1 font-lock-keyword-face) (2 font-lock-function-name-face)) | 467 | (1 font-lock-keyword-face) (2 font-lock-function-name-face)) |
| 470 | ;; Other functions and declarations. | 468 | ;; F2003. Prevent operators being highlighted as functions. |
| 469 | '("\\<\\(\\(?:end[ \t]*\\)?interface[ \t]*\\(?:assignment\\|operator\\|\ | ||
| 470 | read\\|write\\)\\)[ \t]*(" (1 font-lock-keyword-face t)) | ||
| 471 | ;; Other functions and declarations. Named interfaces = F2003. | ||
| 471 | '("\\<\\(\\(?:end[ \t]*\\)?\\(program\\|module\\|function\\|associate\\|\ | 472 | '("\\<\\(\\(?:end[ \t]*\\)?\\(program\\|module\\|function\\|associate\\|\ |
| 472 | subroutine\\)\\|use\\|call\\)\\>[ \t]*\\(\\sw+\\)?" | 473 | subroutine\\|interface\\)\\|use\\|call\\)\\>[ \t]*\\(\\sw+\\)?" |
| 473 | (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) | 474 | (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) |
| 474 | ;; F2003. | 475 | ;; F2003. |
| 475 | '("\\<\\(use\\)[ \t]*,[ \t]*\\(\\(?:non_\\)?intrinsic\\)[ \t]*::[ \t]*\ | 476 | '("\\<\\(use\\)[ \t]*,[ \t]*\\(\\(?:non_\\)?intrinsic\\)[ \t]*::[ \t]*\ |
| 476 | \\(\\sw+\\)" | 477 | \\(\\sw+\\)" |
| 477 | (1 font-lock-keyword-face) (2 font-lock-keyword-face) | 478 | (1 font-lock-keyword-face) (2 font-lock-keyword-face) |
| 478 | (3 font-lock-function-name-face)) | 479 | (3 font-lock-function-name-face)) |
| 479 | "\\<\\(\\(end[ \t]*\\)?block[ \t]*data\\|contains\\|\ | 480 | "\\<\\(\\(end[ \t]*\\)?block[ \t]*data\\|contains\\)\\>" |
| 480 | end[ \t]*interface\\)\\>" | 481 | ;; "abstract interface" is F2003. |
| 481 | ;; "abstract interface" is F2003. Must come after previous entry. | 482 | '("\\<abstract[ \t]*interface\\>" (0 font-lock-keyword-face t))) |
| 482 | '("\\<\\(\\(?:abstract[ \t]*\\)?interface\\)\\>" | ||
| 483 | ;; [ \t]*\\(\\(\\sw+\\)[ \t]*[^(]\\)?" | ||
| 484 | ;; (2) messes up "interface operator ()", etc. | ||
| 485 | (1 font-lock-keyword-face))) ;(2 font-lock-function-name-face nil t))) | ||
| 486 | "This does fairly subdued highlighting of comments and function calls.") | 483 | "This does fairly subdued highlighting of comments and function calls.") |
| 487 | 484 | ||
| 488 | ;; NB not explicitly handling this, yet it seems to work. | 485 | ;; NB not explicitly handling this, yet it seems to work. |
| @@ -1229,7 +1226,7 @@ NAME is nil if the statement has no label." | |||
| 1229 | 1226 | ||
| 1230 | (defsubst f90-looking-at-type-like () | 1227 | (defsubst f90-looking-at-type-like () |
| 1231 | "Return (KIND NAME) if a type/enum/interface/block-data starts after point. | 1228 | "Return (KIND NAME) if a type/enum/interface/block-data starts after point. |
| 1232 | NAME is non-nil only for type." | 1229 | NAME is non-nil only for type and certain interfaces." |
| 1233 | (cond | 1230 | (cond |
| 1234 | ((save-excursion | 1231 | ((save-excursion |
| 1235 | (and (looking-at "\\<type\\>[ \t]*") | 1232 | (and (looking-at "\\<type\\>[ \t]*") |
| @@ -1242,7 +1239,15 @@ NAME is non-nil only for type." | |||
| 1242 | ;;; ((and (not (looking-at f90-typeis-re)) | 1239 | ;;; ((and (not (looking-at f90-typeis-re)) |
| 1243 | ;;; (looking-at f90-type-def-re)) | 1240 | ;;; (looking-at f90-type-def-re)) |
| 1244 | ;;; (list (match-string 1) (match-string 2))) | 1241 | ;;; (list (match-string 1) (match-string 2))) |
| 1245 | ((looking-at "\\(enum\\|interface\\|block[ \t]*data\\)\\>") | 1242 | ((looking-at "\\<\\(interface\\)\\>[ \t]*") |
| 1243 | (list (match-string 1) | ||
| 1244 | (save-excursion | ||
| 1245 | (goto-char (match-end 0)) | ||
| 1246 | (if (or (looking-at "\\(operator\\|assignment\\|read\\|\ | ||
| 1247 | write\\)[ \t]*([^)\n]*)") | ||
| 1248 | (looking-at "\\sw+")) | ||
| 1249 | (match-string 0))))) | ||
| 1250 | ((looking-at "\\(enum\\|block[ \t]*data\\)\\>") | ||
| 1246 | (list (match-string 1) nil)) | 1251 | (list (match-string 1) nil)) |
| 1247 | ((looking-at "abstract[ \t]*\\(interface\\)\\>") | 1252 | ((looking-at "abstract[ \t]*\\(interface\\)\\>") |
| 1248 | (list (match-string 1) nil)))) | 1253 | (list (match-string 1) nil)))) |
| @@ -1270,9 +1275,12 @@ NAME is non-nil only for type." | |||
| 1270 | 1275 | ||
| 1271 | (defsubst f90-looking-at-program-block-end () | 1276 | (defsubst f90-looking-at-program-block-end () |
| 1272 | "Return (KIND NAME) if a block with name NAME ends after point." | 1277 | "Return (KIND NAME) if a block with name NAME ends after point." |
| 1273 | (if (looking-at (concat "end[ \t]*" f90-blocks-re | 1278 | (cond ((looking-at "end[ \t]*\\(interface\\)[ \t]*\\(\ |
| 1274 | "?\\([ \t]+\\(\\sw+\\)\\)?\\>")) | 1279 | \\(?:assignment\\|operator\\|read\\|write\\)[ \t]*([^)\n]*)\\)") |
| 1275 | (list (match-string 1) (match-string 3)))) | 1280 | (list (match-string 1) (match-string 2))) |
| 1281 | ((looking-at (concat "end[ \t]*" f90-blocks-re | ||
| 1282 | "?\\([ \t]+\\(\\sw+\\)\\)?\\>")) | ||
| 1283 | (list (match-string 1) (match-string 3))))) | ||
| 1276 | 1284 | ||
| 1277 | (defsubst f90-comment-indent () | 1285 | (defsubst f90-comment-indent () |
| 1278 | "Return the indentation to be used for a comment starting at point. | 1286 | "Return the indentation to be used for a comment starting at point. |
diff --git a/lisp/subr.el b/lisp/subr.el index b80988ad723..d2363099b7c 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2232,10 +2232,14 @@ If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." | |||
| 2232 | 2232 | ||
| 2233 | (defun copy-overlay (o) | 2233 | (defun copy-overlay (o) |
| 2234 | "Return a copy of overlay O." | 2234 | "Return a copy of overlay O." |
| 2235 | (let ((o1 (make-overlay (overlay-start o) (overlay-end o) | 2235 | (let ((o1 (if (overlay-buffer o) |
| 2236 | ;; FIXME: there's no easy way to find the | 2236 | (make-overlay (overlay-start o) (overlay-end o) |
| 2237 | ;; insertion-type of the two markers. | 2237 | ;; FIXME: there's no easy way to find the |
| 2238 | (overlay-buffer o))) | 2238 | ;; insertion-type of the two markers. |
| 2239 | (overlay-buffer o)) | ||
| 2240 | (let ((o1 (make-overlay (point-min) (point-min)))) | ||
| 2241 | (delete-overlay o1) | ||
| 2242 | o1))) | ||
| 2239 | (props (overlay-properties o))) | 2243 | (props (overlay-properties o))) |
| 2240 | (while props | 2244 | (while props |
| 2241 | (overlay-put o1 (pop props) (pop props))) | 2245 | (overlay-put o1 (pop props) (pop props))) |
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index d881e6fcc7d..ccedf4045e4 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -679,7 +679,6 @@ versions of xterm." | |||
| 679 | ;; Use the heuristic in `frame-set-background-mode' to decide if a | 679 | ;; Use the heuristic in `frame-set-background-mode' to decide if a |
| 680 | ;; frame is dark. | 680 | ;; frame is dark. |
| 681 | (when (< (+ redc greenc bluec) (* .6 (+ 65535 65535 65535))) | 681 | (when (< (+ redc greenc bluec) (* .6 (+ 65535 65535 65535))) |
| 682 | (setq xterm-background-mode-changed t) | ||
| 683 | (set-terminal-parameter nil 'background-mode 'dark) | 682 | (set-terminal-parameter nil 'background-mode 'dark) |
| 684 | t)) | 683 | t)) |
| 685 | 684 | ||
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index e1d7b053491..bc5f29482e7 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el | |||
| @@ -859,15 +859,15 @@ ARROW-PRED is a function that is called to find out if the shape | |||
| 859 | can have arrows. The function is called with no arguments and | 859 | can have arrows. The function is called with no arguments and |
| 860 | must return nil or t. | 860 | must return nil or t. |
| 861 | ARROW-SET-FN is a function that is called to set arrow end-points. | 861 | ARROW-SET-FN is a function that is called to set arrow end-points. |
| 862 | Arguments and return values for this funcion are described below. | 862 | Arguments and return values for this function are described below. |
| 863 | INIT-FN is, if non-nil, a function that is called when the first | 863 | INIT-FN is, if non-nil, a function that is called when the first |
| 864 | point of the shape is set. Arguments and return values for | 864 | point of the shape is set. Arguments and return values for |
| 865 | this funcion are described below. | 865 | this function are described below. |
| 866 | PREP-FILL-FN is, if non-nil, a function that is called after | 866 | PREP-FILL-FN is, if non-nil, a function that is called after |
| 867 | the last point is set, but before the filling is done. | 867 | the last point is set, but before the filling is done. |
| 868 | Arguments and return values for this funcion are described below. | 868 | Arguments and return values for this function are described below. |
| 869 | EXIT-FN is, if non-nil, a function that is called after filling | 869 | EXIT-FN is, if non-nil, a function that is called after filling |
| 870 | is done. Arguments and return values for this funcion are | 870 | is done. Arguments and return values for this function are |
| 871 | described below. | 871 | described below. |
| 872 | DRAW-HOW defines the kind of shape. The kinds of shapes are: | 872 | DRAW-HOW defines the kind of shape. The kinds of shapes are: |
| 873 | `artist-do-continously' -- Do drawing operation continuously, | 873 | `artist-do-continously' -- Do drawing operation continuously, |
| @@ -876,7 +876,7 @@ DRAW-HOW defines the kind of shape. The kinds of shapes are: | |||
| 876 | 1 -- Do drawing operation only once. | 876 | 1 -- Do drawing operation only once. |
| 877 | 2 -- The drawing operation requires two points. | 877 | 2 -- The drawing operation requires two points. |
| 878 | DRAW-FN is the function to call for drawing. Arguments and | 878 | DRAW-FN is the function to call for drawing. Arguments and |
| 879 | return values for this funcion are described below. | 879 | return values for this function are described below. |
| 880 | EXTRA-DRAW-INFO the layout of this depends on the value of DRAW-HOW: | 880 | EXTRA-DRAW-INFO the layout of this depends on the value of DRAW-HOW: |
| 881 | If DRAW-HOW is `artist-do-continously': | 881 | If DRAW-HOW is `artist-do-continously': |
| 882 | 882 | ||
| @@ -894,20 +894,20 @@ EXTRA-DRAW-INFO the layout of this depends on the value of DRAW-HOW: | |||
| 894 | (UNDRAW-FN FILL-PRED FILL-FN) | 894 | (UNDRAW-FN FILL-PRED FILL-FN) |
| 895 | 895 | ||
| 896 | UNDRAW-FN is a function to call for undrawing the shape. | 896 | UNDRAW-FN is a function to call for undrawing the shape. |
| 897 | Arguments and return values for this funcion are | 897 | Arguments and return values for this function are |
| 898 | described below. | 898 | described below. |
| 899 | FILL-PRED is a function that is called to find out if the shape | 899 | FILL-PRED is a function that is called to find out if the shape |
| 900 | can have arrows. The function must take no arguments and | 900 | can have arrows. The function must take no arguments and |
| 901 | return nil or t. | 901 | return nil or t. |
| 902 | FILL-FN is a function to call for filling the shape. | 902 | FILL-FN is a function to call for filling the shape. |
| 903 | Arguments and return values for this funcion are | 903 | Arguments and return values for this function are |
| 904 | described below. | 904 | described below. |
| 905 | 905 | ||
| 906 | If DRAW-HOW is 1: | 906 | If DRAW-HOW is 1: |
| 907 | 907 | ||
| 908 | () | 908 | () |
| 909 | 909 | ||
| 910 | Note! All symbols and keywords (both in the `funcion-call' INFO-PART | 910 | Note! All symbols and keywords (both in the `function-call' INFO-PART |
| 911 | as well as in the `graphics-operation' INFO-PART) must be unique. | 911 | as well as in the `graphics-operation' INFO-PART) must be unique. |
| 912 | 912 | ||
| 913 | The following table describe function arguments and return value | 913 | The following table describe function arguments and return value |