emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/finder.el,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/finder.el,v
Date: Mon, 24 Mar 2008 18:43:05 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/03/24 18:43:05

Index: finder.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/finder.el,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- finder.el   8 Jan 2008 20:44:57 -0000       1.71
+++ finder.el   24 Mar 2008 18:43:03 -0000      1.72
@@ -110,6 +110,16 @@
     (define-key map "d"        'finder-list-keywords)
     map))
 
+(defvar finder-mode-syntax-table
+  (let ((st (make-syntax-table emacs-lisp-mode-syntax-table)))
+    (modify-syntax-entry ?\; ".   " st)
+    st)
+  "Syntax table used while in `finder-mode'.")
+
+(defvar finder-font-lock-keywords
+  '(("`\\([^']+\\)'" 1 font-lock-constant-face prepend))
+  "Font-lock keywords for Finder mode.")
+
 
 ;;; Code for regenerating the keyword list.
 
@@ -343,7 +353,9 @@
   (interactive)
   (kill-all-local-variables)
   (use-local-map finder-mode-map)
-  (set-syntax-table emacs-lisp-mode-syntax-table)
+  (set-syntax-table finder-mode-syntax-table)
+  (setq font-lock-defaults '(finder-font-lock-keywords nil nil
+                             (("+-*/.<>=!?$%_&~^:@" . "w")) nil))
   (setq mode-name "Finder")
   (setq major-mode 'finder-mode)
   (set (make-local-variable 'finder-headmark) nil)
@@ -359,15 +371,13 @@
 finder directory, \\[finder-exit] = quit, \\[finder-summary] = help")))
 
 (defun finder-exit ()
-  "Exit Finder mode and kill the buffer."
+  "Exit Finder mode.
+Delete the window and kill the buffer."
   (interactive)
-  (or (one-window-p t)
-      (delete-window))
-  ;; Can happen in either buffer -- kill each of the two that exists
-  (and (get-buffer "*Finder*")
-       (kill-buffer "*Finder*"))
-  (and (get-buffer "*Finder Category*")
-       (kill-buffer "*Finder Category*")))
+  (condition-case nil (delete-window) (error nil))
+  (when (get-buffer "*Finder*") (kill-buffer "*Finder*"))
+  (when (get-buffer "*Finder-package*") (kill-buffer "*Finder-package*"))
+  (when (get-buffer "*Finder Category*") (kill-buffer "*Finder Category*")))
 
 
 (provide 'finder)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]