]> git.eshelyaron.com Git - emacs.git/commitdiff
(special-mode-map): New var.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 20 Jun 2008 17:10:33 +0000 (17:10 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 20 Jun 2008 17:10:33 +0000 (17:10 +0000)
(special-mode): New major mode.

etc/NEWS
lisp/ChangeLog
lisp/simple.el

index d86373e3d72f550ffbb3ebd8dbe507445698e7b2..eaaf924e55a92e6be878634aee59c9222c1ae8a3 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1241,6 +1241,9 @@ forms to subroutines.
 \f
 * New Packages for Lisp Programming in Emacs 23.1
 
+** The new major mode `special-mode' is intended as a parent for
+major modes such as those that set the "'mode-class 'special" property.
+
 ** find-cmd.el can build `find' commands using lisp syntax.
 
 ** The package isearch-multi.el has been added.  It implements a new mode
index 1a8ebbf337f981be8a15570427bea25180db191c..826390127a615d18f54c857e5a2876078c7c6196 100644 (file)
@@ -1,9 +1,14 @@
+2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * simple.el (special-mode-map): New var.
+       (special-mode): New major mode.
+
 2008-06-20  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * vc.el (vc-dir-hide-up-to-date): Undo previous change.
        (vc-switch-backend): Simplify.
        (Todo): Remove solved items.
-       
+
        * vc-cvs.el (vc-cvs-parse-status, vc-cvs-parse-entry): Do not set
        the vc-backend property.
 
@@ -14,8 +19,8 @@
 
 2008-06-20  Ulf Jasper  <ulf@web.de>
 
-       * net/newst-treeview.el (newsticker-treeview-own-frame): Changed
-       default value to nil.
+       * net/newst-treeview.el (newsticker-treeview-own-frame):
+       Change default value to nil.
        (newsticker--treeview-list-add-item)
        (newsticker--treeview-propertize-tag): Show item title in tooltip.
 
index 8367ae9ba108dadbd58a690282c810474be7cff1..20165ea7f337b7f9cfe36c5787b80b1891466497 100644 (file)
@@ -391,6 +391,25 @@ Other major modes are defined by comparison with this one."
   (unless delay-mode-hooks
     (run-hooks 'after-change-major-mode-hook)))
 
+;; Special major modes to view specially formatted data rather than files.
+
+(defvar special-mode-map
+  (let ((map (make-sparse-keymap)))
+    (suppress-keymap map)
+    (define-key map "q" 'quit-window)
+    (define-key map " " 'scroll-up)
+    (define-key map "\C-?" 'scroll-down)
+    (define-key map "?" 'describe-mode)
+    (define-key map ">" 'end-of-buffer)
+    (define-key map "<" 'beginning-of-buffer)
+    (define-key map "g" 'revert-buffer)
+    map))
+   
+(put 'special-mode 'mode-class 'special)
+(define-derived-mode special-mode nil "Special"
+  "Parent major mode from which special major modes should inherit."
+  (setq buffer-read-only t))
+
 ;; Making and deleting lines.
 
 (defvar hard-newline (propertize "\n" 'hard t 'rear-nonsticky '(hard)))