summaryrefslogtreecommitdiff
path: root/lisp/locate.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-09-10 23:31:56 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-09-10 23:31:56 -0400
commit1b3b87dfe0fae8e5266319531c0a874c8b4313b1 (patch)
tree167074a597924cfde441891481a9eb712b163422 /lisp/locate.el
parent765da53c2084e3687201f06f8d050497f0e06da9 (diff)
downloademacs-1b3b87dfe0fae8e5266319531c0a874c8b4313b1.tar.gz
Use define-derived-mode (and derived-mode-p).
* lisp/play/snake.el (snake-mode): * lisp/play/mpuz.el (mpuz-mode): * lisp/play/landmark.el (lm-mode): * lisp/play/blackbox.el (blackbox-mode): * lisp/play/5x5.el (5x5-mode): * lisp/obsolete/options.el (Edit-options-mode): * lisp/net/quickurl.el (quickurl-list-mode): * lisp/net/newst-treeview.el (newsticker-treeview-mode): * lisp/mail/rmailsum.el (rmail-summary-mode): * lisp/mail/mspools.el (mspools-mode): * lisp/locate.el (locate-mode): * lisp/ibuffer.el (ibuffer-mode): * lisp/emulation/ws-mode.el (wordstar-mode): * lisp/emacs-lisp/debug.el (debugger-mode): * lisp/array.el (array-mode): * lisp/net/eudc.el (eudc-mode): Use define-derived-mode. * lisp/net/mairix.el (mairix-searches-mode-font-lock-keywords): Move initialization into declaration. (mairix-searches-mode): Use define-derived-mode. * lisp/net/eudc-hotlist.el (eudc-hotlist-mode): Use define-derived-mode. (eudc-edit-hotlist): Use dolist. * lisp/man.el (Man-mode-syntax-table): Rename from man-mode-syntax-table. (Man-mode): Use define-derived-mode. * lisp/info.el (Info-edit-mode-map): Rename from Info-edit-map. (Info-edit-mode): Use define-derived-mode. (Info-cease-edit): Use Info-mode. * lisp/eshell/esh-mode.el (eshell-mode-syntax-table): Move initialization into declaration. (eshell-mode): Use define-derived-mode. * lisp/chistory.el (command-history-mode-map): Rename from command-history-map. (command-history-mode): Use define-derived-mode. * lisp/calc/calc.el (calc-trail-mode-map): New var. (calc-trail-mode): Use define-derived-mode. (calc-trail-buffer): Set calc-main-buffer manually. * lisp/bookmark.el (bookmark-insert-annotation): New function. (bookmark-edit-annotation): Use it. (bookmark-edit-annotation-mode): Make it a proper major mode. (bookmark-send-edited-annotation): Use derived-mode-p. * lisp/arc-mode.el (archive-mode): Move kill-all-local-variables a tiny bit closer to its ideal place. Use \' to match EOS. * lisp/cedet/semantic/grammar.el (semantic-grammar-mode): Use define-derived-mode. (semantic-grammar-mode-syntax-table): Rename from semantic-grammar-syntax-table. (semantic-grammar-mode-map): Rename from semantic-grammar-map. * lisp/cedet/data-debug.el (data-debug-mode-map): Rename from data-debug-map. (data-debug-mode): Use define-derived-mode. * lisp/gnus/score-mode.el (gnus-score-mode-map): Move initialization into declaration. (gnus-score-mode): Use define-derived-mode. * lisp/gnus/gnus-srvr.el (gnus-browse-mode): Use define-derived-mode. * lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map): Move initialization into declaration. (gnus-kill-file-mode): Use define-derived-mode. (gnus-kill-file-edit-file, gnus-kill-file-enter-kill, gnus-kill): Use derived-mode-p. * lisp/gnus/gnus-group.el (gnus-group-mode): Use define-derived-mode. (gnus-group-setup-buffer, gnus-group-name-at-point) (gnus-group-make-web-group, gnus-group-enter-directory) (gnus-group-suspend): Use derived-mode-p. * lisp/gnus/gnus-cus.el (gnus-custom-mode): Use define-derived-mode. * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode): Use define-derived-mode. * lisp/gnus/gnus-art.el (gnus-article-mode): Use define-derived-mode. (gnus-article-setup-buffer, gnus-article-prepare) (gnus-article-prepare-display, gnus-sticky-article) (gnus-kill-sticky-article-buffer, gnus-kill-sticky-article-buffers) (gnus-bind-safe-url-regexp, gnus-article-check-buffer) (gnus-article-read-summary-keys): Use derived-mode-p.
Diffstat (limited to 'lisp/locate.el')
-rw-r--r--lisp/locate.el44
1 files changed, 18 insertions, 26 deletions
diff --git a/lisp/locate.el b/lisp/locate.el
index ab0417070e7..99a99853da9 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -95,7 +95,7 @@
;;
;; (defadvice dired-make-relative (before set-no-error activate)
;; "For locate mode and Windows, don't return errors"
-;; (if (and (eq major-mode 'locate-mode)
+;; (if (and (derived-mode-p 'locate-mode)
;; (memq system-type '(windows-nt ms-dos)))
;; (ad-set-arg 2 t)
;; ))
@@ -448,7 +448,7 @@ file name or is inside a subdirectory."
;; Define a mode for locate
;; Default directory is set to "/" so that dired commands, which
;; expect to be in a tree, will work properly
-(defun locate-mode ()
+(define-derived-mode locate-mode special-mode "Locate"
"Major mode for the `*Locate*' buffer made by \\[locate].
\\<locate-mode-map>\
In that buffer, you can use almost all the usual dired bindings.
@@ -463,39 +463,31 @@ Specific `locate-mode' commands, such as \\[locate-find-directory],
do not work in subdirectories.
\\{locate-mode-map}"
- ;; Not to be called interactively.
- (kill-all-local-variables)
;; Avoid clobbering this variable
(make-local-variable 'dired-subdir-alist)
- (use-local-map locate-mode-map)
- (setq major-mode 'locate-mode
- mode-name "Locate"
- default-directory "/"
+ (setq default-directory "/"
buffer-read-only t
selective-display t)
(dired-alist-add-1 default-directory (point-min-marker))
(set (make-local-variable 'dired-directory) "/")
(set (make-local-variable 'dired-subdir-switches) locate-ls-subdir-switches)
(setq dired-switches-alist nil)
- (make-local-variable 'directory-listing-before-filename-regexp)
;; This should support both Unix and Windoze style names
- (setq directory-listing-before-filename-regexp
- (concat "^.\\("
- (make-string (1- locate-filename-indentation) ?\s)
- "\\)\\|"
- (default-value 'directory-listing-before-filename-regexp)))
- (make-local-variable 'dired-actual-switches)
- (setq dired-actual-switches "")
- (make-local-variable 'dired-permission-flags-regexp)
- (setq dired-permission-flags-regexp
- (concat "^.\\("
- (make-string (1- locate-filename-indentation) ?\s)
- "\\)\\|"
- (default-value 'dired-permission-flags-regexp)))
- (make-local-variable 'revert-buffer-function)
- (setq revert-buffer-function 'locate-update)
- (set (make-local-variable 'page-delimiter) "\n\n")
- (run-mode-hooks 'locate-mode-hook))
+ (setq-local directory-listing-before-filename-regexp
+ (concat "^.\\("
+ (make-string (1- locate-filename-indentation) ?\s)
+ "\\)\\|"
+ (default-value
+ 'directory-listing-before-filename-regexp)))
+ (setq-local dired-actual-switches "")
+ (setq-local dired-permission-flags-regexp
+ (concat "^.\\("
+ (make-string (1- locate-filename-indentation) ?\s)
+ "\\)\\|"
+ (default-value 'dired-permission-flags-regexp)))
+
+ (setq-local revert-buffer-function #'locate-update)
+ (setq-local page-delimiter "\n\n"))
(put 'locate-mode 'derived-mode-parent 'dired-mode)
(defun locate-do-setup (search-string)