summaryrefslogtreecommitdiff
path: root/lisp/view.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2003-05-03 13:52:17 +0000
committerRichard M. Stallman <rms@gnu.org>2003-05-03 13:52:17 +0000
commitc68a1ce5a2d645f58cf6339a47d2708d8120ffd4 (patch)
treef56654719c4d92c2ff4d80ec377e2c3e9b47086c /lisp/view.el
parent2f8f245ee09596e8001a8f65d8b97b5728893510 (diff)
downloademacs-c68a1ce5a2d645f58cf6339a47d2708d8120ffd4.tar.gz
(Helper-return-blurb): Add defvar. (Also rearrange defuns.)
Diffstat (limited to 'lisp/view.el')
-rw-r--r--lisp/view.el57
1 files changed, 30 insertions, 27 deletions
diff --git a/lisp/view.el b/lisp/view.el
index ce5c1df702b..cf9db529339 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -43,7 +43,7 @@
;;
;; You could also bind view-file, view-buffer, view-buffer-other-window and
;; view-buffer-other-frame to keys.
-
+
;;; Code:
(defgroup view nil
@@ -105,13 +105,16 @@ functions that enable or disable view mode.")
"Normal hook run when starting to view a buffer or file."
:type 'hook
:group 'view)
-
+
(defvar view-old-buffer-read-only nil)
(make-variable-buffer-local 'view-old-buffer-read-only)
(defvar view-old-Helper-return-blurb)
(make-variable-buffer-local 'view-old-Helper-return-blurb)
+;; Just to avoid warnings.
+(defvar Helper-return-blurb)
+
(defvar view-page-size nil
"Default number of lines to scroll by View page commands.
If nil then the local value of this is initially set to window size.")
@@ -160,7 +163,7 @@ This is local in each buffer, once it is used.")
'local-map mode-line-minor-mode-keymap
'help-echo "mouse-3: minor mode menu"))
minor-mode-alist)))
-
+
;; Define keymap inside defvar to make it easier to load changes.
;; Some redundant "less"-like key bindings below have been commented out.
(defvar view-mode-map
@@ -225,7 +228,7 @@ This is local in each buffer, once it is used.")
(or (assq 'view-mode minor-mode-map-alist)
(setq minor-mode-map-alist
(cons (cons 'view-mode view-mode-map) minor-mode-map-alist)))
-
+
;;; Commands that enter or exit view mode.
;;;###autoload
@@ -349,7 +352,7 @@ Use this argument instead of explicitly setting `view-exit-action'."
(switch-to-buffer-other-frame buffer)
(view-mode-enter (and return-to (cons (selected-window) return-to))
exit-action)))
-
+
;;;###autoload
(defun view-mode (&optional arg)
;; In the following documentation string we have to use some explicit key
@@ -433,7 +436,7 @@ Entry to view-mode runs the normal hook `view-mode-hook'."
(if (> (prefix-numeric-value arg) 0) view-mode (not view-mode)))
(if view-mode (view-mode-disable)
(view-mode-enable))))
-
+
(defun view-mode-enable ()
"Turn on View mode."
;; Always leave view mode before changing major mode.
@@ -506,7 +509,7 @@ This function runs the normal hook `view-mode-hook'."
(message "%s"
(substitute-command-keys "\
View mode: type \\[help-command] for help, \\[describe-mode] for commands, \\[View-quit] to quit."))))
-
+
(defun view-mode-exit (&optional return-to-alist exit-action all-win)
"Exit View mode in various ways, depending on optional arguments.
RETURN-TO-ALIST, EXIT-ACTION and ALL-WIN determine what to do after exit.
@@ -591,7 +594,7 @@ corresponding OLD-WINDOW is a live window, then select OLD-WINDOW."
(setq view-exit-action nil)
(funcall exit-action buffer))
(force-mode-line-update))))
-
+
(defun View-exit ()
"Exit View mode but stay in current buffer."
(interactive)
@@ -628,7 +631,7 @@ previous state and go to previous buffer or window."
"Quit View mode, kill current buffer and return to previous buffer."
(interactive)
(view-mode-exit view-return-to-alist (or view-exit-action 'kill-buffer) t))
-
+
;;; Some help routines.
@@ -705,14 +708,16 @@ Also set the mark at the position where point was."
(goto-line line)
(view-recenter))
-(defun View-scroll-to-buffer-end ()
- "Scroll backward or forward so that buffer end is at last line of window."
+(defun View-back-to-mark (&optional ignore)
+ "Return to last mark set in View mode, else beginning of file.
+Display that line at the center of the window.
+This command pops the mark ring, so that successive
+invocations return to earlier marks."
(interactive)
- (let ((p (if (pos-visible-in-window-p (point-max)) (point))))
- (goto-char (point-max))
- (recenter -1)
- (and p (goto-char p))))
-
+ (goto-char (or (mark t) (point-min)))
+ (pop-mark)
+ (view-recenter))
+
(defun view-scroll-lines (lines backward default maxdefault)
;; This function does the job for all the scrolling commands.
;; Scroll forward LINES lines. If BACKWARD is true scroll backwards.
@@ -771,6 +776,14 @@ Also set the mark at the position where point was."
(if view-scroll-auto-exit "\\[View-scroll-page-forward]"
"\\[View-quit]")))
(message "End of buffer")))
+
+(defun View-scroll-to-buffer-end ()
+ "Scroll backward or forward so that buffer end is at last line of window."
+ (interactive)
+ (let ((p (if (pos-visible-in-window-p (point-max)) (point))))
+ (goto-char (point-max))
+ (recenter -1)
+ (and p (goto-char p))))
(defun View-scroll-page-forward (&optional lines)
"Scroll \"page size\" or prefix LINES lines forward in View mode.
@@ -851,17 +864,7 @@ If LINES is more than a window-full, only the last window-full is shown."
(let ((view-scroll-auto-exit nil)
(view-try-extend-at-buffer-end t))
(view-scroll-lines lines nil view-page-size nil)))
-
-(defun View-back-to-mark (&optional ignore)
- "Return to last mark set in View mode, else beginning of file.
-Display that line at the center of the window.
-This command pops the mark ring, so that successive
-invocations return to earlier marks."
- (interactive)
- (goto-char (or (mark t) (point-min)))
- (pop-mark)
- (view-recenter))
-
+
(defun View-search-regexp-forward (n regexp)
"Search forward for first (or prefix Nth) occurrence of REGEXP in View mode.