mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* lisp/simple.el (special-mode-map): Bind "h" to `describe-mode';
bind "z" to `kill-this-buffer'. (completion-list-mode-map): Bind "z" to `kill-this-buffer'. * lisp/apropos.el (apropos-mode-map): Inherit from `special-mode-map'. (apropos-mode): Inherit from `special-mode'. * lisp/arc-mode.el (archive-mode-map): Inherit from `special-mode-map'. * lisp/bookmark.el (bookmark-bmenu-mode): Define using `define-derived-mode' inheriting from `special-mode'. * lisp/dired.el (dired-mode-map): Inherit from `special-mode-map'. * lisp/image-mode.el (image-mode-map): Ditto. * lisp/replace.el (occur-mode): Define using `define-derived-mode' inheriting from `special-mode'. * lisp/tar-mode.el (tar-mode): Inherit from `special-mode'. * lisp/calendar/diary-lib.el (diary-fancy-display-mode): Inherit from `special-mode-map'. * lisp/emacs-lisp/ert.el (ert-simple-view-mode, ert-results-mode): Inherit from `special-mode'. * lisp/emacs-lisp/package.el (package-menu-mode-map): Copy from `special-mode-map'. (package-menu-mode): Define using `define-derived-mode' inheriting from `special-mode'. * erc/erc-list.el (erc-list-menu-mode): Inherit from `special-mode'. * lisp/net/xesam.el (xesam-mode): Inherit from `special-mode'. (xesam-mode-map): Define separately. * lisp/play/solitaire.el (solitaire-mode): Inherit from `special-mode'. * lisp/progmodes/compile.el (compilation-minor-mode-map) (compilation-mode-map): Inherit from `special-mode-map'. * lisp/vc/diff-mode.el (diff-mode-shared-map): Inherit from `special-mode-map'. * lisp/vc/log-view.el (log-view-mode-map): Add a comment.
This commit is contained in:
parent
3082f6173c
commit
abef340a0c
18 changed files with 274 additions and 317 deletions
160
lisp/tar-mode.el
160
lisp/tar-mode.el
|
|
@ -220,7 +220,7 @@ Preserve the modified states of the buffers and set `buffer-swapped-with'."
|
|||
(defun tar-roundup-512 (s)
|
||||
"Round S up to the next multiple of 512."
|
||||
(ash (ash (+ s 511) -9) 9))
|
||||
|
||||
|
||||
(defun tar-header-block-tokenize (pos coding)
|
||||
"Return a `tar-header' structure.
|
||||
This is a list of name, mode, uid, gid, size,
|
||||
|
|
@ -283,7 +283,7 @@ write-date, checksum, link-type, and link-name."
|
|||
(let* ((size (tar-parse-octal-integer
|
||||
string tar-size-offset tar-time-offset))
|
||||
;; -1 so as to strip the terminating 0 byte.
|
||||
(name (decode-coding-string
|
||||
(name (decode-coding-string
|
||||
(buffer-substring pos (+ pos size -1)) coding))
|
||||
(descriptor (tar-header-block-tokenize
|
||||
(+ pos (tar-roundup-512 size))
|
||||
|
|
@ -298,7 +298,7 @@ write-date, checksum, link-type, and link-name."
|
|||
(setf (tar-header-header-start descriptor)
|
||||
(copy-marker (- pos 512) t))
|
||||
descriptor)
|
||||
|
||||
|
||||
(make-tar-header
|
||||
(copy-marker pos nil)
|
||||
name
|
||||
|
|
@ -501,7 +501,7 @@ MODE should be an integer which is a file mode value."
|
|||
;;(tar-header-block-check-checksum
|
||||
;; hblock (tar-header-block-checksum hblock)
|
||||
;; (tar-header-name descriptor))
|
||||
|
||||
|
||||
(push descriptor result)
|
||||
(setq pos (tar-header-data-end descriptor))
|
||||
(progress-reporter-update progress-reporter pos)))
|
||||
|
|
@ -520,86 +520,7 @@ MODE should be an integer which is a file mode value."
|
|||
(goto-char (point-min))
|
||||
(restore-buffer-modified-p modified)))
|
||||
|
||||
(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)
|
||||
(define-key map "e" 'tar-extract)
|
||||
(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)
|
||||
(define-key map "u" 'tar-unflag)
|
||||
(define-key map "v" 'tar-view)
|
||||
(define-key map "x" 'tar-expunge)
|
||||
(define-key map "\177" 'tar-unflag-backwards)
|
||||
(define-key map "E" 'tar-extract-other-window)
|
||||
(define-key map "M" 'tar-chmod-entry)
|
||||
(define-key map "G" 'tar-chgrp-entry)
|
||||
(define-key map "O" 'tar-chown-entry)
|
||||
;; Let mouse-1 follow the link.
|
||||
(define-key map [follow-link] 'mouse-face)
|
||||
|
||||
;; Make menu bar items.
|
||||
|
||||
;; Get rid of the Edit menu bar item to save space.
|
||||
(define-key map [menu-bar edit] 'undefined)
|
||||
|
||||
(define-key map [menu-bar immediate]
|
||||
(cons "Immediate" (make-sparse-keymap "Immediate")))
|
||||
|
||||
(define-key map [menu-bar immediate view]
|
||||
'("View This File" . tar-view))
|
||||
(define-key map [menu-bar immediate display]
|
||||
'("Display in Other Window" . tar-display-other-window))
|
||||
(define-key map [menu-bar immediate find-file-other-window]
|
||||
'("Find in Other Window" . tar-extract-other-window))
|
||||
(define-key map [menu-bar immediate find-file]
|
||||
'("Find This File" . tar-extract))
|
||||
|
||||
(define-key map [menu-bar mark]
|
||||
(cons "Mark" (make-sparse-keymap "Mark")))
|
||||
|
||||
(define-key map [menu-bar mark unmark-all]
|
||||
'("Unmark All" . tar-clear-modification-flags))
|
||||
(define-key map [menu-bar mark deletion]
|
||||
'("Flag" . tar-flag-deleted))
|
||||
(define-key map [menu-bar mark unmark]
|
||||
'("Unflag" . tar-unflag))
|
||||
|
||||
(define-key map [menu-bar operate]
|
||||
(cons "Operate" (make-sparse-keymap "Operate")))
|
||||
|
||||
(define-key map [menu-bar operate chown]
|
||||
'("Change Owner..." . tar-chown-entry))
|
||||
(define-key map [menu-bar operate chgrp]
|
||||
'("Change Group..." . tar-chgrp-entry))
|
||||
(define-key map [menu-bar operate chmod]
|
||||
'("Change Mode..." . tar-chmod-entry))
|
||||
(define-key map [menu-bar operate rename]
|
||||
'("Rename to..." . tar-rename-entry))
|
||||
(define-key map [menu-bar operate copy]
|
||||
'("Copy to..." . tar-copy))
|
||||
(define-key map [menu-bar operate expunge]
|
||||
'("Expunge Marked Files" . tar-expunge))
|
||||
|
||||
map)
|
||||
"Local keymap for Tar mode listings.")
|
||||
|
||||
|
||||
;; tar mode is suitable only for specially formatted data.
|
||||
(put 'tar-mode 'mode-class 'special)
|
||||
(put 'tar-subfile-mode 'mode-class 'special)
|
||||
|
|
@ -614,7 +535,7 @@ MODE should be an integer which is a file mode value."
|
|||
(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.
|
||||
|
|
@ -669,6 +590,77 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
|
|||
(fundamental-mode)
|
||||
(signal (car err) (cdr err)))))
|
||||
|
||||
(define-key tar-mode-map " " 'tar-next-line)
|
||||
(define-key tar-mode-map "C" 'tar-copy)
|
||||
(define-key tar-mode-map "d" 'tar-flag-deleted)
|
||||
(define-key tar-mode-map "\^D" 'tar-flag-deleted)
|
||||
(define-key tar-mode-map "e" 'tar-extract)
|
||||
(define-key tar-mode-map "f" 'tar-extract)
|
||||
(define-key tar-mode-map "\C-m" 'tar-extract)
|
||||
(define-key tar-mode-map [mouse-2] 'tar-mouse-extract)
|
||||
(define-key tar-mode-map "g" 'revert-buffer)
|
||||
(define-key tar-mode-map "h" 'describe-mode)
|
||||
(define-key tar-mode-map "n" 'tar-next-line)
|
||||
(define-key tar-mode-map "\^N" 'tar-next-line)
|
||||
(define-key tar-mode-map [down] 'tar-next-line)
|
||||
(define-key tar-mode-map "o" 'tar-extract-other-window)
|
||||
(define-key tar-mode-map "p" 'tar-previous-line)
|
||||
(define-key tar-mode-map "\^P" 'tar-previous-line)
|
||||
(define-key tar-mode-map [up] 'tar-previous-line)
|
||||
(define-key tar-mode-map "R" 'tar-rename-entry)
|
||||
(define-key tar-mode-map "u" 'tar-unflag)
|
||||
(define-key tar-mode-map "v" 'tar-view)
|
||||
(define-key tar-mode-map "x" 'tar-expunge)
|
||||
(define-key tar-mode-map "\177" 'tar-unflag-backwards)
|
||||
(define-key tar-mode-map "E" 'tar-extract-other-window)
|
||||
(define-key tar-mode-map "M" 'tar-chmod-entry)
|
||||
(define-key tar-mode-map "G" 'tar-chgrp-entry)
|
||||
(define-key tar-mode-map "O" 'tar-chown-entry)
|
||||
;; Let mouse-1 follow the link.
|
||||
(define-key tar-mode-map [follow-link] 'mouse-face)
|
||||
|
||||
;; Make menu bar items.
|
||||
|
||||
;; Get rid of the Edit menu bar item to save space.
|
||||
(define-key tar-mode-map [menu-bar edit] 'undefined)
|
||||
|
||||
(define-key tar-mode-map [menu-bar immediate]
|
||||
(cons "Immediate" (make-sparse-keymap "Immediate")))
|
||||
|
||||
(define-key tar-mode-map [menu-bar immediate view]
|
||||
'("View This File" . tar-view))
|
||||
(define-key tar-mode-map [menu-bar immediate display]
|
||||
'("Display in Other Window" . tar-display-other-window))
|
||||
(define-key tar-mode-map [menu-bar immediate find-file-other-window]
|
||||
'("Find in Other Window" . tar-extract-other-window))
|
||||
(define-key tar-mode-map [menu-bar immediate find-file]
|
||||
'("Find This File" . tar-extract))
|
||||
|
||||
(define-key tar-mode-map [menu-bar mark]
|
||||
(cons "Mark" (make-sparse-keymap "Mark")))
|
||||
|
||||
(define-key tar-mode-map [menu-bar mark unmark-all]
|
||||
'("Unmark All" . tar-clear-modification-flags))
|
||||
(define-key tar-mode-map [menu-bar mark deletion]
|
||||
'("Flag" . tar-flag-deleted))
|
||||
(define-key tar-mode-map [menu-bar mark unmark]
|
||||
'("Unflag" . tar-unflag))
|
||||
|
||||
(define-key tar-mode-map [menu-bar operate]
|
||||
(cons "Operate" (make-sparse-keymap "Operate")))
|
||||
|
||||
(define-key tar-mode-map [menu-bar operate chown]
|
||||
'("Change Owner..." . tar-chown-entry))
|
||||
(define-key tar-mode-map [menu-bar operate chgrp]
|
||||
'("Change Group..." . tar-chgrp-entry))
|
||||
(define-key tar-mode-map [menu-bar operate chmod]
|
||||
'("Change Mode..." . tar-chmod-entry))
|
||||
(define-key tar-mode-map [menu-bar operate rename]
|
||||
'("Rename to..." . tar-rename-entry))
|
||||
(define-key tar-mode-map [menu-bar operate copy]
|
||||
'("Copy to..." . tar-copy))
|
||||
(define-key tar-mode-map [menu-bar operate expunge]
|
||||
'("Expunge Marked Files" . tar-expunge))
|
||||
|
||||
(define-minor-mode tar-subfile-mode
|
||||
"Minor mode for editing an element of a tar-file.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue