# HG changeset patch # User Martin Rudalics # Date 1225102401 0 # Node ID 966b11d232099b383cbde8b7d502e662c96519f2 # Parent b0dce7f34dda4902a8b7a195fafe0bfe78670e41 (Fwindow_dedicated_p, Fset_window_dedicated_p) (Fset_window_buffer): Explain in doc-string that a window can be "strongly" dedicated to its buffer. diff -r b0dce7f34dda -r 966b11d23209 src/window.c --- a/src/window.c Mon Oct 27 07:21:43 2008 +0000 +++ b/src/window.c Mon Oct 27 10:13:21 2008 +0000 @@ -1264,16 +1264,20 @@ 0, 1, 0, doc: /* Return non-nil when WINDOW is dedicated to its buffer. More precisely, return the value assigned by the last call of -set-window-dedicated-`p' for WINDOW or nil if that function was never -called with WINDOW as its argument. WINDOW defaults to the selected -window. - -When a window is dedicated to its buffer, `display-buffer' and -`set-window-buffer' will refrain from displaying another buffer in it. -`get-lru-window' and `get-largest-window' treat dedicated windows -specially. `delete-windows-on', `replace-buffer-in-windows', -`quit-window' and `kill-buffer' can delete a dedicated window and the -containing frame. */) +`set-window-dedicated-p' for WINDOW. Return nil if that function was +never called with WINDOW as its argument, or the value set by that +function was internally reset since its last call. WINDOW defaults to +the selected window. + +When a window is dedicated to its buffer, `display-buffer' will refrain +from displaying another buffer in it. `get-lru-window' and +`get-largest-window' treat dedicated windows specially. +`delete-windows-on', `replace-buffer-in-windows', `quit-window' and +`kill-buffer' can delete a dedicated window and the containing frame. + +Functions like `set-window-buffer' may change the buffer displayed by a +window, unless that window is "strongly" dedicated to its buffer, that +is the value returned by `window-dedicated-p' is t. */) (window) Lisp_Object window; { @@ -1287,12 +1291,18 @@ as dedicated to its buffer. FLAG nil means mark WINDOW as non-dedicated. Return FLAG. -When a window is dedicated to its buffer, `display-buffer' and -`set-window-buffer' will refrain from displaying another buffer in it. -`get-lru-window' and `get-largest-window' treat dedicated windows -specially. `delete-windows-on', `replace-buffer-in-windows', -`quit-window' and `kill-buffer' can delete a dedicated window and the -containing frame. */) +When a window is dedicated to its buffer, `display-buffer' will refrain +from displaying another buffer in it. `get-lru-window' and +`get-largest-window' treat dedicated windows specially. +`delete-windows-on', `replace-buffer-in-windows', `quit-window' and +`kill-buffer' can delete a dedicated window and the containing +frame. + +As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to +its buffer. Functions like `set-window-buffer' may change the buffer +displayed by a window, unless that window is strongly dedicated to its +buffer. If and when `set-window-buffer' displays another buffer in a +window, it also makes sure that the window is not marked as dedicated. */) (window, flag) Lisp_Object window, flag; { @@ -3500,8 +3510,9 @@ scroll bar settings are preserved; the default is to reset these from the local settings for BUFFER-OR-NAME or the frame defaults. Return nil. -This function throws an error when WINDOW is dedicated to its buffer and -does not already display BUFFER-OR-NAME. +This function throws an error when WINDOW is strongly dedicated to its +buffer (that is `window-dedicated-p' returns t for WINDOW) and does not +already display BUFFER-OR-NAME. This function runs the hook `window-scroll-functions'. */) (window, buffer_or_name, keep_margins)