From: Glenn Morris Date: Fri, 16 Mar 2012 01:40:20 +0000 (-0400) Subject: Doc fixes for view-mode and special major-modes X-Git-Tag: emacs-pretest-24.0.05~85^2~17 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/da986230818288ce7f24d6803a0acf78c06ad656 Doc fixes for view-mode and special major-modes Ref: http://debbugs.gnu.org/10650 * doc/lispref/modes.texi (Major Mode Conventions): Mention the strange (IMO) relationship between View mode and special modes. * lisp/view.el (view-buffer, view-buffer-other-window) (view-buffer-other-frame): Doc fixes re special mode-class. --- diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3584c89d5f..576f543a9f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2012-03-16 Glenn Morris + + * modes.texi (Major Mode Conventions): Mention the strange + relationship between View mode and special modes. (Bug#10650) + 2012-03-11 Chong Yidong * windows.texi (Window Configurations): save-window-excursion is diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index b0e9d4a313..946dcb9131 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -525,6 +525,10 @@ mode when creating new buffers (@pxref{Auto Major Mode}), but with such @code{special} modes, Fundamental mode is used instead. Modes such as Dired, Rmail, and Buffer List use this feature. +The function @code{view-buffer} does not enable View mode in buffers +whose mode-class is special, because such modes usually provide their +own View-like bindings. + The @code{define-derived-mode} macro automatically marks the derived mode as special if the parent mode is special. Special mode is a convenient parent for such modes to inherit from; @xref{Basic Major diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7d9ccc9575..35da6fc9e3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-03-16 Glenn Morris + * view.el (view-buffer, view-buffer-other-window) + (view-buffer-other-frame): Doc fixes re special mode-class. + * subr.el (eval-after-load): If named feature is provided not from a file, run after-load forms. (Bug#10946) diff --git a/lisp/view.el b/lisp/view.el index 4a21997109..41cb975228 100644 --- a/lisp/view.el +++ b/lisp/view.el @@ -309,7 +309,11 @@ this argument instead of explicitly setting `view-exit-action'. Do not set EXIT-ACTION to `kill-buffer' when BUFFER visits a file: Users may suspend viewing in order to modify the buffer. Exiting View mode will then discard the user's edits. Setting -EXIT-ACTION to `kill-buffer-if-not-modified' avoids this." +EXIT-ACTION to `kill-buffer-if-not-modified' avoids this. + +This function does not enable View mode if the buffer's major-mode +has a `special' mode-class, because such modes usually have their +own View-like bindings." (interactive "bView buffer: ") (switch-to-buffer buffer) (if (eq (get major-mode 'mode-class) 'special) @@ -331,7 +335,11 @@ Optional argument NOT-RETURN is ignored. Optional argument EXIT-ACTION is either nil or a function with buffer as argument. This function is called when finished viewing buffer. Use -this argument instead of explicitly setting `view-exit-action'." +this argument instead of explicitly setting `view-exit-action'. + +This function does not enable View mode if the buffer's major-mode +has a `special' mode-class, because such modes usually have their +own View-like bindings." (interactive "bIn other window view buffer:\nP") (let ((pop-up-windows t)) (pop-to-buffer buffer t)) @@ -354,7 +362,11 @@ Optional argument NOT-RETURN is ignored. Optional argument EXIT-ACTION is either nil or a function with buffer as argument. This function is called when finished viewing buffer. Use -this argument instead of explicitly setting `view-exit-action'." +this argument instead of explicitly setting `view-exit-action'. + +This function does not enable View mode if the buffer's major-mode +has a `special' mode-class, because such modes usually have their +own View-like bindings." (interactive "bView buffer in other frame: \nP") (let ((pop-up-frames t)) (pop-to-buffer buffer t))