beldar@mips.COM (Gardner Cohen) (12/07/89)
emacs 18.55: View-scroll-lines-forward in view.el prints a message suggesting typing the 'exit-recursive-edit' key when you reach the end; however, it has code to exit-recursive-edit the next time View-scroll-lines-forward is called, as with the next space or control-v. Is this a bug, and if not, can it be made configurable (e.g., view-mode-exit-at-end)? Another related request: should manual-entry (man.el) (1) leave the buffer writable, (2) use only one buffer name, preventing multiple man page buffers, and (3) not select the man page buffer? I have a hacked manual-entry that runs view-mode on the uniquely named man page buffer. (manual-entry-hook, anyone?) -- Gardner Cohen beldar@mips.com (408) 991-6567
gildea@ALEXANDER.BBN.COM (Stephen Gildea) (01/04/90)
View-scroll-lines-forward in view.el prints a message suggesting typing the 'exit-recursive-edit' key when you reach the end; however, it has code to exit-recursive-edit the next time View-scroll-lines-forward is called, as with the next space or control-v. Is this a bug, and if not, can it be made configurable (e.g., view-mode-exit-at-end)? It's a feature, not a bug. The following diffs should satisfy you. They change the message in the echo area to tell you that SPC also exits, and add a user variable, view-scroll-forward-exits, to turn off this behavior. < Stephen diff -c /usr/local/emacs/lisp/view.el view.el *** /usr/local/emacs/lisp/view.el Sun Aug 21 21:04:47 1988 --- view.el Tue Jan 2 11:32:19 1990 *************** *** 22,27 **** --- 22,31 ---- (provide 'view) + (defvar view-scroll-forward-exits t + "*Non-nil to have \\[View-scroll-lines-forward] exit View mode when at EOF. + If nil, an explicit \\[exit-recursive-edit] must be typed.") + (defvar view-mode-map nil) (if view-mode-map nil *************** *** 249,260 **** (recenter (/ (view-window-size) 2))) (defun View-scroll-lines-forward (&optional lines) ! "Scroll forward in View mode, or exit if end of text is visible. No arg means whole window full, or number of lines set by \\[View-scroll-lines -forward-set-scroll-size]. Arg is number of lines to scroll." (interactive "P") ! (if (pos-visible-in-window-p (point-max)) ! (exit-recursive-edit)) (setq lines (if lines (prefix-numeric-value lines) (view-scroll-size))) --- 253,266 ---- (recenter (/ (view-window-size) 2))) (defun View-scroll-lines-forward (&optional lines) ! "Scroll forward in View mode. ! Exits if end of text is visible and view-scroll-forward-exits is non-nil. No arg means whole window full, or number of lines set by \\[View-scroll-lines -forward-set-scroll-size]. Arg is number of lines to scroll." (interactive "P") ! (and (pos-visible-in-window-p (point-max)) ! view-scroll-forward-exits ! (exit-recursive-edit)) (setq lines (if lines (prefix-numeric-value lines) (view-scroll-size))) *************** *** 267,274 **** (cond ((pos-visible-in-window-p (point-max)) (goto-char (point-max)) (recenter -1) ! (message (substitute-command-keys ! "End. Type \\[exit-recursive-edit] to quit viewing.")))) (move-to-window-line -1) (beginning-of-line)) --- 273,283 ---- (cond ((pos-visible-in-window-p (point-max)) (goto-char (point-max)) (recenter -1) ! (if view-scroll-forward-exits ! (message (substitute-command-keys ! "End. Scrolling forward or typing \\[exit-recursive-edit ] quits viewing.")) ! (message (substitute-command-keys ! "End. Type \\[exit-recursive-edit] to quit viewing."))))) (move-to-window-line -1) (beginning-of-line))