diff options
| author | Stefan Monnier | 2008-03-24 18:43:04 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-03-24 18:43:04 +0000 |
| commit | 89e2d47661a46e8bbfb2f3d39300860d48381c78 (patch) | |
| tree | 8f1c3351f3f8ec4631b909b50e89aab01f2a752a | |
| parent | 318f2a46e093827563af5e297178bb8fb098a3b8 (diff) | |
| download | emacs-89e2d47661a46e8bbfb2f3d39300860d48381c78.tar.gz emacs-89e2d47661a46e8bbfb2f3d39300860d48381c78.zip | |
(finder-mode-syntax-table, finder-font-lock-keywords): New variables.
(finder-mode): Use finder-mode-syntax-table. Set font-lock-defaults.
(finder-exit): Ignore errors rather than avoiding them.
Kill *Finder-package* buffer also.
| -rw-r--r-- | lisp/ChangeLog | 12 | ||||
| -rw-r--r-- | lisp/finder.el | 28 |
2 files changed, 29 insertions, 11 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b4038e1b23..72ca41f9a03 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2008-03-22 Drew Adams <drew.adams@oracle.com> | ||
| 2 | |||
| 3 | * finder.el (finder-mode-syntax-table, finder-font-lock-keywords): | ||
| 4 | New variables. | ||
| 5 | (finder-mode): Use finder-mode-syntax-table. Set font-lock-defaults. | ||
| 6 | (finder-exit): Ignore errors rather than avoiding them. | ||
| 7 | Kill *Finder-package* buffer also. | ||
| 8 | |||
| 1 | 2008-03-24 Andreas Schwab <schwab@suse.de> | 9 | 2008-03-24 Andreas Schwab <schwab@suse.de> |
| 2 | 10 | ||
| 3 | * xt-mouse.el (xterm-mouse-event): Avoid error with buttons > 5. | 11 | * xt-mouse.el (xterm-mouse-event): Avoid error with buttons > 5. |
| @@ -7,8 +15,8 @@ | |||
| 7 | * vc-hg.el (vc-hg-after-dir-status): | 15 | * vc-hg.el (vc-hg-after-dir-status): |
| 8 | * vc-bzr.el (vc-bzr-after-dir-status): Detect missing files. | 16 | * vc-bzr.el (vc-bzr-after-dir-status): Detect missing files. |
| 9 | 17 | ||
| 10 | * vc-cvs.el (vc-cvs-after-dir-status, vc-cvs-parse-status): Detect | 18 | * vc-cvs.el (vc-cvs-after-dir-status, vc-cvs-parse-status): |
| 11 | removed files. | 19 | Detect removed files. |
| 12 | 20 | ||
| 13 | * vc.el (vc-status-printer): Use a different face for missing files. | 21 | * vc.el (vc-status-printer): Use a different face for missing files. |
| 14 | (vc-status-hide-up-to-date): Rename from | 22 | (vc-status-hide-up-to-date): Rename from |
diff --git a/lisp/finder.el b/lisp/finder.el index c0231c84455..e5a41ca7e46 100644 --- a/lisp/finder.el +++ b/lisp/finder.el | |||
| @@ -110,6 +110,16 @@ | |||
| 110 | (define-key map "d" 'finder-list-keywords) | 110 | (define-key map "d" 'finder-list-keywords) |
| 111 | map)) | 111 | map)) |
| 112 | 112 | ||
| 113 | (defvar finder-mode-syntax-table | ||
| 114 | (let ((st (make-syntax-table emacs-lisp-mode-syntax-table))) | ||
| 115 | (modify-syntax-entry ?\; ". " st) | ||
| 116 | st) | ||
| 117 | "Syntax table used while in `finder-mode'.") | ||
| 118 | |||
| 119 | (defvar finder-font-lock-keywords | ||
| 120 | '(("`\\([^']+\\)'" 1 font-lock-constant-face prepend)) | ||
| 121 | "Font-lock keywords for Finder mode.") | ||
| 122 | |||
| 113 | 123 | ||
| 114 | ;;; Code for regenerating the keyword list. | 124 | ;;; Code for regenerating the keyword list. |
| 115 | 125 | ||
| @@ -343,7 +353,9 @@ FILE should be in a form suitable for passing to `locate-library'." | |||
| 343 | (interactive) | 353 | (interactive) |
| 344 | (kill-all-local-variables) | 354 | (kill-all-local-variables) |
| 345 | (use-local-map finder-mode-map) | 355 | (use-local-map finder-mode-map) |
| 346 | (set-syntax-table emacs-lisp-mode-syntax-table) | 356 | (set-syntax-table finder-mode-syntax-table) |
| 357 | (setq font-lock-defaults '(finder-font-lock-keywords nil nil | ||
| 358 | (("+-*/.<>=!?$%_&~^:@" . "w")) nil)) | ||
| 347 | (setq mode-name "Finder") | 359 | (setq mode-name "Finder") |
| 348 | (setq major-mode 'finder-mode) | 360 | (setq major-mode 'finder-mode) |
| 349 | (set (make-local-variable 'finder-headmark) nil) | 361 | (set (make-local-variable 'finder-headmark) nil) |
| @@ -359,15 +371,13 @@ FILE should be in a form suitable for passing to `locate-library'." | |||
| 359 | finder directory, \\[finder-exit] = quit, \\[finder-summary] = help"))) | 371 | finder directory, \\[finder-exit] = quit, \\[finder-summary] = help"))) |
| 360 | 372 | ||
| 361 | (defun finder-exit () | 373 | (defun finder-exit () |
| 362 | "Exit Finder mode and kill the buffer." | 374 | "Exit Finder mode. |
| 375 | Delete the window and kill the buffer." | ||
| 363 | (interactive) | 376 | (interactive) |
| 364 | (or (one-window-p t) | 377 | (condition-case nil (delete-window) (error nil)) |
| 365 | (delete-window)) | 378 | (when (get-buffer "*Finder*") (kill-buffer "*Finder*")) |
| 366 | ;; Can happen in either buffer -- kill each of the two that exists | 379 | (when (get-buffer "*Finder-package*") (kill-buffer "*Finder-package*")) |
| 367 | (and (get-buffer "*Finder*") | 380 | (when (get-buffer "*Finder Category*") (kill-buffer "*Finder Category*"))) |
| 368 | (kill-buffer "*Finder*")) | ||
| 369 | (and (get-buffer "*Finder Category*") | ||
| 370 | (kill-buffer "*Finder Category*"))) | ||
| 371 | 381 | ||
| 372 | 382 | ||
| 373 | (provide 'finder) | 383 | (provide 'finder) |