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.
This commit is contained in:
Glenn Morris 2012-03-15 21:40:20 -04:00
parent 0835f01e98
commit da98623081
4 changed files with 27 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2012-03-16 Glenn Morris <rgm@gnu.org>
* modes.texi (Major Mode Conventions): Mention the strange
relationship between View mode and special modes. (Bug#10650)
2012-03-11 Chong Yidong <cyd@gnu.org> 2012-03-11 Chong Yidong <cyd@gnu.org>
* windows.texi (Window Configurations): save-window-excursion is * windows.texi (Window Configurations): save-window-excursion is

View file

@ -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 @code{special} modes, Fundamental mode is used instead. Modes such as
Dired, Rmail, and Buffer List use this feature. 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 The @code{define-derived-mode} macro automatically marks the derived
mode as special if the parent mode is special. Special mode is a mode as special if the parent mode is special. Special mode is a
convenient parent for such modes to inherit from; @xref{Basic Major convenient parent for such modes to inherit from; @xref{Basic Major

View file

@ -1,5 +1,8 @@
2012-03-16 Glenn Morris <rgm@gnu.org> 2012-03-16 Glenn Morris <rgm@gnu.org>
* 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 * subr.el (eval-after-load): If named feature is provided not from
a file, run after-load forms. (Bug#10946) a file, run after-load forms. (Bug#10946)

View file

@ -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 Do not set EXIT-ACTION to `kill-buffer' when BUFFER visits a
file: Users may suspend viewing in order to modify the buffer. file: Users may suspend viewing in order to modify the buffer.
Exiting View mode will then discard the user's edits. Setting 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: ") (interactive "bView buffer: ")
(switch-to-buffer buffer) (switch-to-buffer buffer)
(if (eq (get major-mode 'mode-class) 'special) (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 Optional argument EXIT-ACTION is either nil or a function with buffer as
argument. This function is called when finished viewing buffer. Use 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") (interactive "bIn other window view buffer:\nP")
(let ((pop-up-windows t)) (let ((pop-up-windows t))
(pop-to-buffer buffer 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 Optional argument EXIT-ACTION is either nil or a function with buffer as
argument. This function is called when finished viewing buffer. Use 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") (interactive "bView buffer in other frame: \nP")
(let ((pop-up-frames t)) (let ((pop-up-frames t))
(pop-to-buffer buffer t)) (pop-to-buffer buffer t))