aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2008-03-24 18:43:04 +0000
committerStefan Monnier2008-03-24 18:43:04 +0000
commit89e2d47661a46e8bbfb2f3d39300860d48381c78 (patch)
tree8f1c3351f3f8ec4631b909b50e89aab01f2a752a
parent318f2a46e093827563af5e297178bb8fb098a3b8 (diff)
downloademacs-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/ChangeLog12
-rw-r--r--lisp/finder.el28
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 @@
12008-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
12008-03-24 Andreas Schwab <schwab@suse.de> 92008-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'."
359finder directory, \\[finder-exit] = quit, \\[finder-summary] = help"))) 371finder 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.
375Delete 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)