emacs-devel
[Top][All Lists]
Advanced

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

Re: Refreshing Info nodes


From: Wojciech Meyer
Subject: Re: Refreshing Info nodes
Date: Sat, 28 Aug 2010 23:17:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> In `archive-mode' I needed to get rid of optional argument `force',
>> which was used to avoid somebody switching manually the mode
>
> That "somebody" is archive-maybe-update, which calls archive-mode
> with the `force' argument non-nil.  I don't see any changes in
> archive-maybe-update to adjust for the loss of this feature.

Yes, sorry, my fault to not check it (as i did for dired)!

Correct patch attached.

Cheers;

Wojciech

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
#   574a373p263zx55o
# target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk
# testament_sha1: c7e126cfa572c47e18255bd7e35af3140c5be6f4
# timestamp: 2010-08-28 23:09:18 +0100
# source_branch: ../define-derived-mode/
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'lisp/arc-mode.el'
--- lisp/arc-mode.el    2010-07-10 18:52:53 +0000
+++ lisp/arc-mode.el    2010-08-28 22:08:54 +0000
@@ -341,7 +341,6 @@
 (defvar archive-mode-map
   (let ((map (make-keymap)))
     (suppress-keymap map)
-    (define-key map " " 'archive-next-line)
     (define-key map "a" 'archive-alternate-display)
     ;;(define-key map "c" 'archive-copy)
     (define-key map "d" 'archive-flag-deleted)
@@ -349,15 +348,12 @@
     (define-key map "e" 'archive-extract)
     (define-key map "f" 'archive-extract)
     (define-key map "\C-m" 'archive-extract)
-    (define-key map "g" 'revert-buffer)
-    (define-key map "h" 'describe-mode)
     (define-key map "m" 'archive-mark)
     (define-key map "n" 'archive-next-line)
     (define-key map "\C-n" 'archive-next-line)
     (define-key map [down] 'archive-next-line)
     (define-key map "o" 'archive-extract-other-window)
     (define-key map "p" 'archive-previous-line)
-    (define-key map "q" 'quit-window)
     (define-key map "\C-p" 'archive-previous-line)
     (define-key map [up] 'archive-previous-line)
     (define-key map "r" 'archive-rename-entry)
@@ -632,24 +628,10 @@
                (error "Entry is not a regular member of the archive"))))
       (if (not noerror)
           (error "Line does not describe a member of the archive")))))
-;; -------------------------------------------------------------------------
-;;; Section: the mode definition
-
-;;;###autoload
-(defun archive-mode (&optional force)
-  "Major mode for viewing an archive file in a dired-like way.
-You can move around using the usual cursor motion commands.
-Letters no longer insert themselves.
-Type `e' to pull a file out of the archive and into its own buffer;
-or click mouse-2 on the file's line in the archive mode buffer.
-
-If you edit a sub-file of this archive (as with the `e' command) and
-save it, the contents of that buffer will be saved back into the
-archive.
-
-\\{archive-mode-map}"
-  ;; This is not interactive because you shouldn't be turning this
-  ;; mode on and off.  You can corrupt things that way.
+
+(defun archive-setup-mode (&optional force)
+  "Wrap all the mode setup code into separate function callable from 
+the package code."
   (if (zerop (buffer-size))
       ;; At present we cannot create archives from scratch
       (funcall (or (default-value 'major-mode) 'fundamental-mode))
@@ -717,6 +699,30 @@
       (archive-summarize nil)
       (setq buffer-read-only t))))
 
+;; -------------------------------------------------------------------------
+;;; Section: the mode definition
+
+;;;###autoload
+(define-derived-mode archive-mode special-mode "Archive mode"
+  "Major mode for viewing an archive file in a dired-like way.
+You can move around using the usual cursor motion commands.
+Letters no longer insert themselves.
+Type `e' to pull a file out of the archive and into its own buffer;
+or click mouse-2 on the file's line in the archive mode buffer.
+
+If you edit a sub-file of this archive (as with the `e' command) and
+save it, the contents of that buffer will be saved back into the
+archive.
+
+\\{archive-mode-map}"
+  ;; This is not interactive because you shouldn't be turning this
+  ;; mode on and off.  You can corrupt things that way.
+  ;;
+  ;; Now it's derived mode, so therefore it is interactive.
+  ;;
+  (archive-setup-mode))
+  
+
 ;; Archive mode is suitable only for specially formatted data.
 (put 'archive-mode 'mode-class 'special)
 
@@ -888,7 +894,7 @@
          (setq archive-files nil)
          (erase-buffer)
          (insert-file-contents name)
-         (archive-mode t)
+         (archive-setup-mode t)
          (goto-char archive-file-list-start)
          (archive-next-line lno))
        (archive-delete-local name)
@@ -1396,7 +1402,7 @@
     (let ((revert-buffer-function nil)
          (coding-system-for-read 'no-conversion))
       (revert-buffer t t))
-    (archive-mode)
+    (archive-setup-mode)
     (goto-char archive-file-list-start)
     (archive-next-line no)))
 

=== modified file 'lisp/bookmark.el'
--- lisp/bookmark.el    2010-07-14 19:09:28 +0000
+++ lisp/bookmark.el    2010-08-28 17:45:38 +0000
@@ -1499,7 +1499,6 @@
 (defvar bookmark-bmenu-mode-map
   (let ((map (make-keymap)))
     (suppress-keymap map t)
-    (define-key map "q" 'quit-window)
     (define-key map "v" 'bookmark-bmenu-select)
     (define-key map "w" 'bookmark-bmenu-locate)
     (define-key map "2" 'bookmark-bmenu-2-window)
@@ -1515,11 +1514,9 @@
     (define-key map "\C-d" 'bookmark-bmenu-delete-backwards)
     (define-key map "x" 'bookmark-bmenu-execute-deletions)
     (define-key map "d" 'bookmark-bmenu-delete)
-    (define-key map " " 'next-line)
     (define-key map "n" 'next-line)
     (define-key map "p" 'previous-line)
     (define-key map "\177" 'bookmark-bmenu-backup-unmark)
-    (define-key map "?" 'describe-mode)
     (define-key map "u" 'bookmark-bmenu-unmark)
     (define-key map "m" 'bookmark-bmenu-mark)
     (define-key map "l" 'bookmark-bmenu-load)
@@ -1609,7 +1606,7 @@
 
 
 
-(defun bookmark-bmenu-mode ()
+(define-derived-mode bookmark-bmenu-mode special-mode "Bookmark Menu"
   "Major mode for editing a list of bookmarks.
 Each line describes one of the bookmarks in Emacs.
 Letters do not insert themselves; instead, they are commands.
@@ -1645,9 +1642,6 @@
   (kill-all-local-variables)
   (use-local-map bookmark-bmenu-mode-map)
   (setq truncate-lines t)
-  (setq buffer-read-only t)
-  (setq major-mode 'bookmark-bmenu-mode)
-  (setq mode-name "Bookmark Menu")
   (run-mode-hooks 'bookmark-bmenu-mode-hook))
 
 

=== modified file 'lisp/doc-view.el'
--- lisp/doc-view.el    2010-07-14 15:57:54 +0000
+++ lisp/doc-view.el    2010-08-28 20:21:22 +0000
@@ -333,7 +333,6 @@
     (define-key map (kbd "C-c C-t")   'doc-view-open-text)
     ;; Reconvert the current document.  Don't just use revert-buffer
     ;; because that resets the scale factor, the page number, ...
-    (define-key map (kbd "g")         'doc-view-revert-buffer)
     (define-key map (kbd "r")         'doc-view-revert-buffer)
     map)
   "Keymap used by `doc-view-mode' when displaying a doc as a set of images.")
@@ -1207,7 +1206,7 @@
     l))
 
 ;;;###autoload
-(defun doc-view-mode ()
+(define-derived-mode doc-view-mode special-mode "Doc"
   "Major mode in DocView buffers.
 
 DocView Mode is an Emacs document viewer.  It displays PDF, PS
@@ -1216,7 +1215,6 @@
 You can use \\<doc-view-mode-map>\\[doc-view-toggle-display] to
 toggle between displaying the document or editing it as text.
 \\{doc-view-mode-map}"
-  (interactive)
 
   (if (= (point-min) (point-max))
       ;; The doc is empty or doesn't exist at all, so fallback to
@@ -1311,15 +1309,14 @@
     (set (make-local-variable 'after-revert-hook) 'doc-view-reconvert-doc)
     (set (make-local-variable 'bookmark-make-record-function)
         'doc-view-bookmark-make-record)
-    (setq mode-name "DocView"
-         buffer-read-only t
-         major-mode 'doc-view-mode)
+    (setq buffer-read-only t)
     (doc-view-initiate-display)
     ;; Switch off view-mode explicitly, because doc-view-mode is the
     ;; canonical view mode for PDF/PS/DVI files.  This could be
     ;; switched on automatically depending on the value of
     ;; `view-read-only'.
     (set (make-local-variable 'view-read-only) nil)
+    (setq revert-buffer-function 'doc-view-revert-buffer)
     (run-mode-hooks 'doc-view-mode-hook)))
 
 ;;;###autoload

=== modified file 'lisp/image-mode.el'
--- lisp/image-mode.el  2010-08-17 21:19:11 +0000
+++ lisp/image-mode.el  2010-08-28 20:21:22 +0000
@@ -314,9 +314,7 @@
 (defvar image-mode-map
   (let ((map (make-sparse-keymap)))
     (suppress-keymap map)
-    (define-key map "q"         'quit-window)
     (define-key map "\C-c\C-c" 'image-toggle-display)
-    (define-key map (kbd "SPC")       'image-scroll-up)
     (define-key map (kbd "DEL")       'image-scroll-down)
     (define-key map [remap forward-char] 'image-forward-hscroll)
     (define-key map [remap backward-char] 'image-backward-hscroll)
@@ -346,18 +344,16 @@
 (put 'image-mode 'mode-class 'special)
 
 ;;;###autoload
-(defun image-mode ()
+(define-derived-mode image-mode special-mode "Image"
   "Major mode for image files.
 You can use \\<image-mode-map>\\[image-toggle-display]
 to toggle between display as an image and display as text."
-  (interactive)
   (condition-case err
       (progn
        (unless (display-images-p)
          (error "Display does not support images"))
 
        (kill-all-local-variables)
-       (setq major-mode 'image-mode)
 
        (if (not (image-get-display-property))
            (progn

=== modified file 'lisp/replace.el'
--- lisp/replace.el     2010-08-08 21:12:29 +0000
+++ lisp/replace.el     2010-08-28 20:21:22 +0000
@@ -766,8 +766,6 @@
     (define-key map "\M-p" 'occur-prev)
     (define-key map "r" 'occur-rename-buffer)
     (define-key map "c" 'clone-buffer)
-    (define-key map "g" 'revert-buffer)
-    (define-key map "q" 'quit-window)
     (define-key map "z" 'kill-this-buffer)
     (define-key map "\C-c\C-f" 'next-error-follow-minor-mode)
     (define-key map [menu-bar] (make-sparse-keymap))
@@ -834,18 +832,15 @@
   :group 'matching)
 
 (put 'occur-mode 'mode-class 'special)
-(defun occur-mode ()
+(define-derived-mode occur-mode special-mode "Occur"
   "Major mode for output from \\[occur].
 \\<occur-mode-map>Move point to one of the items in this buffer, then use
 \\[occur-mode-goto-occurrence] to go to the occurrence that the item refers to.
 Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
 
 \\{occur-mode-map}"
-  (interactive)
   (kill-all-local-variables)
   (use-local-map occur-mode-map)
-  (setq major-mode 'occur-mode)
-  (setq mode-name "Occur")
   (set (make-local-variable 'revert-buffer-function) 'occur-revert-function)
   (make-local-variable 'occur-revert-arguments)
   (add-hook 'change-major-mode-hook 'font-lock-defontify nil t)

=== modified file 'lisp/tar-mode.el'
--- lisp/tar-mode.el    2010-05-03 02:29:46 +0000
+++ lisp/tar-mode.el    2010-08-28 17:55:47 +0000
@@ -524,7 +524,6 @@
 (defvar tar-mode-map
   (let ((map (make-keymap)))
     (suppress-keymap map)
-    (define-key map " " 'tar-next-line)
     (define-key map "C" 'tar-copy)
     (define-key map "d" 'tar-flag-deleted)
     (define-key map "\^D" 'tar-flag-deleted)
@@ -532,14 +531,12 @@
     (define-key map "f" 'tar-extract)
     (define-key map "\C-m" 'tar-extract)
     (define-key map [mouse-2] 'tar-mouse-extract)
-    (define-key map "g" 'revert-buffer)
     (define-key map "h" 'describe-mode)
     (define-key map "n" 'tar-next-line)
     (define-key map "\^N" 'tar-next-line)
     (define-key map [down] 'tar-next-line)
     (define-key map "o" 'tar-extract-other-window)
     (define-key map "p" 'tar-previous-line)
-    (define-key map "q" 'quit-window)
     (define-key map "\^P" 'tar-previous-line)
     (define-key map [up] 'tar-previous-line)
     (define-key map "R" 'tar-rename-entry)
@@ -615,7 +612,7 @@
   (if (buffer-live-p tar-data-buffer) (kill-buffer tar-data-buffer)))
 
 ;;;###autoload
-(define-derived-mode tar-mode nil "Tar"
+(define-derived-mode tar-mode special-mode "Tar"
   "Major mode for viewing a tar file as a dired-like listing of its contents.
 You can move around using the usual cursor motion commands.
 Letters no longer insert themselves.

# Begin bundle
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

reply via email to

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