Commit graph

591 commits

Author SHA1 Message Date
Chong Yidong
4ad3bc2a22 Fixes and updates for Frames chapter in Emacs manual.
* doc/emacs/files.texi (Visiting): `C-x 5 f' works on ttys too.

* doc/emacs/frames.texi (Frames): Rewrite introduction.
(Mouse Commands): Default for mouse-drag-copy-region is now t.
The mouse-save-then-kill-command does not copy to kill ring by
default.  Behavior of DEL is not special to mouse commands now.
(Mouse References): Document mouse-1-click-follows-link more
thoroughly.
(Menu Mouse Clicks): Move footnote to the main text and add xref
to Init Rebinding node.
(Mode Line Mouse): Mouse-3 on the mode-line does not bury buffer.

* lisp/window.el (display-buffer--special-action): Minor doc fix.
2011-11-25 23:43:34 +08:00
Juanma Barranquero
20db1522fe Fix typos. 2011-11-24 02:58:14 +01:00
Chong Yidong
24901d610c * lisp/window.el (replace-buffer-in-windows): Restore interactive spec.
(Probably inadvertently removed when converting to Lisp.)
2011-11-20 14:37:46 +08:00
Paul Eggert
e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Chong Yidong
c7635a977e Change arg names of walk-windows etc from "proc" to "fun".
They shouldn't be named "proc" since they are not processes.

* lisp/window.el (walk-window-tree-1, walk-window-tree)
(walk-window-subtree, walk-windows): Change argument name.
2011-11-19 23:22:08 +08:00
Martin Rudalics
c56cad4ac0 Prefix a few more internal functions with "window--".
* window.el (window-max-delta-1, window-min-delta-1)
(window-min-size-1, window-state-get-1, window-state-put-1)
(window-state-put-2): Use "window--" prefix.
2011-11-19 11:53:05 +01:00
Martin Rudalics
a0c2d0aea2 Rename window-splits to window-combination-resize.
* window.c (Vwindow_splits): Rename to
Vwindow_combination_resize.  Suggested by Juri Linkov.
(Fsplit_window_internal): Use Vwindow_combination_resize instead
of Vwindow_splits.
* window.el (window-resize, delete-window, split-window):
Replace window-splits by window-combination-resize.
* cus-start.el (window-splits): Replace by
window-combination-resize.
* windows.texi (Resizing Windows, Splitting Windows)
(Deleting Windows): Use term window-combination-resize instead
of window-splits.
2011-11-17 11:27:56 +01:00
Paul Eggert
4c36be58ca Spelling fixes. 2011-11-17 01:09:20 -08:00
Martin Rudalics
b6f6789018 Rename window-nest to window-combination-limit.
* window.h (window): Rename slot "nest" to "combination_limit".
* window.c (Fwindow_nest): Rename to Fwindow_combination_limit.
(Fset_window_nest): Rename to Fset_window_combination_limit.
(Vwindow_nest): Rename to Vwindow_combination_limit.
(recombine_windows, make_parent_window, make_window)
(Fsplit_window_internal, saved_window)
(Fset_window_configuration, save_window_save): Rename all
occurrences of window_nest to window_combination_limit.
* window.el (split-window, window-state-get-1)
(window-state-put-1, window-state-put-2): Rename occurrences of
window-nest to window-combination-limit.
* cus-start.el (window-nest): Rename to
window-combination-limit.
* windows.texi (Resizing Windows, Splitting Windows): Rename
occurrences of window-nest to window-combination-limit.
2011-11-16 11:10:40 +01:00
Paul Eggert
8350f087ef Spelling fixes. 2011-11-14 12:23:26 -08:00
Martin Rudalics
89d612214e Don't handle splits status.
* window.h (window): Remove splits slot.
* window.c (Fwindow_splits, Fset_window_splits): Remove.
(Fdelete_other_windows_internal, make_parent_window)
(make_window, Fsplit_window_internal, Fdelete_window_internal)
(Fset_window_configuration, save_window_save): Don't deal with
split status of windows.
(saved_window): Remove splits slot.
(Vwindow_splits): Rewrite doc-string.
* window.el (window-resize, delete-window): Use window-splits
variable instead of function.
(window-state-get-1, window-state-put-2, window-state-put):
Don't deal with windows' splits status.
* windows.texi (Splitting Windows, Deleting Windows): Remove
references to splits status of windows.
2011-11-12 10:55:50 +01:00
Martin Rudalics
5e92ca23ec Further rename and clean up of functions in window.el.
* window.el (window-size-ignore, window-size-fixed-1)
(window-in-direction-2): Prefix with "window--".
(window-tree-1): Rename to window--subtree, fix doc-string.
2011-11-11 11:23:23 +01:00
Martin Rudalics
54f9154ca1 Rename and clean up functions in window.el.
* window.el (windows-with-parameter): Remove unused function.
(windows-at-side): Rename to window-at-side-list.
(window-check, window-atom-check, window-atom-check-1)
(window-side-check): Prefix with "window--".
2011-11-11 10:59:00 +01:00
Martin Rudalics
2cffd68198 Rewrite window-resizable.
* window.el (window-size-fixed-p): Rewrite doc-string.
(window-resizable-p): Rename to window--resizable-p.  Update
callers.
(window--resizable): New function.  Make all callers of
window-resizable call window--resizable instead.
(window-resizable): Rewrite in terms of window--resizable.
* windows.texi (Resizing Windows): Rewrite documentation of
window-resizable.
2011-11-09 10:36:05 +01:00
Martin Rudalics
b3f4a882bf Fix doc-string typo in window-min-delta 2011-11-08 20:06:29 +01:00
Stefan Monnier
4b0d61e310 * lisp/window.el: Stay away from defsubst.
(window-list-no-nils): Remove.
(window-state-get-1, window-state-get): Use backquote instead.
2011-11-08 11:52:10 -05:00
Martin Rudalics
e1c2c6f2c3 Remove stale references to help-setup parameter in doc-strings.
* window.el (display-buffer-function, special-display-function):
Mention display-buffer-record-window but do not mention
help-setup parameter in doc-strings.
2011-11-08 10:33:22 +01:00
Chong Yidong
105216ed03 Move low-level window width/height functions to C, and high-level functions to Lisp.
* lisp/window.el (window-total-height, window-total-width): Doc fix.
(window-body-size): Move from C.
(window-body-height, window-body-width): Move to C.

* src/window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
(Fwindow_body_height, Fwindow_body_width): Move from Lisp.  Signal
an error if not a live window.
(Fwindow_total_width, Fwindow_total_height): Move from Lisp.
(Fwindow_total_size, Fwindow_body_size): Move to Lisp.
2011-11-08 15:25:56 +08:00
Stefan Monnier
0a9f9ab528 * lisp/window.el: Make special-display like display-buffer-alist.
(display-buffer--special-action): New function, morphed
from display-buffer--special.
(display-buffer): Use it to handle special-display-buffers at higher
priority (just after display-buffer-alist).
(display-buffer-fallback-action, display-buffer--other-frame-action)
(pop-to-buffer-same-window): Remove display-buffer--special.

Fixes: debbugs:9532
2011-11-07 21:57:59 -05:00
Martin Rudalics
be7f55452c Remove term "subwindow" from code and documentation.
* window.h: Declare delete_all_child_windows instead of
delete_all_subwindows.
* window.c (Fwindow_nest, Fset_window_nest)
(Fset_window_new_total, Fset_window_new_normal)
(Fwindow_resize_apply): Don't use term subwindow in doc-strings.
(delete_all_subwindows): Rename to delete_all_child_windows.
(Fdelete_other_windows_internal, Fset_window_configuration):
Call delete_all_child_windows instead of delete_all_subwindows.
* frame.c (delete_frame): Call delete_all_child_windows instead
of delete_all_subwindows.

* window.el (window-combinations): Make WINDOW argument
mandatory.  Rewrite doc-string.
(walk-window-subtree, window-atom-check, window-min-delta)
(window-max-delta, window--resize-this-window)
(window--resize-root-window-vertically, window-tree)
(balance-windows, window-state-put): Rewrite doc-strings as to
not mention the term "subwindow".
(window--resize-subwindows-skip-p): Rename to
window--resize-child-windows-skip-p.
(window--resize-subwindows-normal): Rename to
window--resize-child-windows-normal.
(window--resize-subwindows): Rename to
window--resize-child-windows.
(window-or-subwindow-p): Rename to window--in-subtree-p.

* windows.texi (Resizing Windows, Splitting Windows)
(Window Configurations): Use "child window" instead of
"subwindow".
2011-11-07 10:51:08 +01:00
Chong Yidong
49745b39a1 Delete window-combination-p; tweaks to window-top-child and window-left-child.
* lisp/window.el (window-combination-p): Function deleted; its
side-effect is not used in any existing code.
(window-combinations, window-combined-p): Call window-*-child
directly.

* window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
(Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
(Fset_window_splits, Fwindow_nest, Fset_window_nest)
(Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
(Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
(Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
(Fwindow_vscroll): Doc fix.
(Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
argument, since it makes no sense to pass a live window and for
consistency with window-child.
2011-11-06 11:59:53 +08:00
Chong Yidong
447f16b85d * window.el (window-normalize-window): Rename from window-normalize-any-window.
New arg LIVE-ONLY, replacing window-normalize-live-window.
(window-normalize-live-window): Deleted.
(window-combination-p, window-combined-p, window-combinations)
(walk-window-subtree, window-atom-root, window-min-size)
(window-sizable, window-sizable-p, window-size-fixed-p)
(window-min-delta, window-max-delta, window-resizable)
(window-resizable-p, window-full-height-p, window-full-width-p)
(window-current-scroll-bars, window-point-1, set-window-point-1)
(window-at-side-p, window-in-direction, window-resize)
(adjust-window-trailing-edge, maximize-window, minimize-window)
(window-deletable-p, delete-window, delete-other-windows)
(record-window-buffer, unrecord-window-buffer)
(switch-to-prev-buffer, switch-to-next-buffer, window--delete)
(quit-window, split-window, window-state-put)
(set-window-text-height, fit-window-to-buffer)
(shrink-window-if-larger-than-buffer): Callers changed.
2011-11-05 12:04:33 +08:00
Chong Yidong
24300f5fed * lisp/window.el (window-valid-p): Rename from window-any-p.
(window-normalize-any-window, window-size-ignore)
(window-state-get): Callers changed.
2011-11-05 11:20:45 +08:00
Eli Zaretskii
89bd5ee15a Fix documentation per bug #9949.
src/window.c (Fwindow_body_size): Mention in the doc string that the
 return value is in frame's canonical units.
 lisp/window.el (window-body-height, window-body-width): Mention in
 the doc string that the return values are in frame's canonical
 units.
 doc/lispref/windows.texi (Window Sizes): Mention in the doc string that the
 return values of `window-body-height' and `window-body-width' are
 in frame's canonical units.
2011-11-04 12:09:41 +02:00
Stefan Monnier
acc825c5c4 * lisp/window.el (switch-to-buffer): Use `force-same-window' interactively. 2011-11-02 08:56:48 -04:00
Martin Rudalics
1885e5b80a In quit-window call unrecord-window-buffer later. (Bug#9937)
* window.el (quit-window): Call unrecord-window-buffer after
showing another buffer in the window.  (Bug#9937)
(bury-buffer): Call switch-to-prev-buffer with second argument
'bury.
2011-11-02 10:39:18 +01:00
Martin Rudalics
3d8daefefa Remove "iso-" infix from window combination functions.
* window.el (window-iso-combination-p, window-iso-combined-p)
(window-iso-combinations): Remove "iso-" infix.  Suggested by
Chong Yidong.
(window-min-size-1, window-size-fixed-1, window-min-delta-1)
(window-max-delta-1, window-resize, window--resize-siblings)
(window--resize-this-window, adjust-window-trailing-edge)
(split-window, balance-windows-1)
(shrink-window-if-larger-than-buffer):
* calendar/calendar.el (calendar-generate-window):
* help.el (resize-temp-buffer-window): Adjust callers
accordingly.
* windows.texi (Windows and Frames): Remove "iso-" infix from
documentation of window-iso-combined-p.
2011-10-30 09:29:56 +01:00
Chong Yidong
2d197ffbe2 Rename split-window-{above-each-other|split-window-side-by-side}
to split-window-below and split-window-right.

* lisp/window.el (split-window-below, split-window-right): Rename from
split-window-above-each-other and split-window-side-by-side
respectively.  All callers changed.
(split-window-sensibly, split-window-sensibly): Use them.
(split-window-keep-point): Doc fix.

* lisp/isearch.el: Add isearch-scroll property to split-window-below
and split-window-right.

* lisp/follow.el (follow-mode):
* lisp/vc/pcvs-util.el (cvs-pop-to-buffer-same-frame):
* lisp/progmodes/ada-xref.el (ada-gdb-application):
* lisp/emulation/vip.el (vip-buffer-in-two-windows):
* lisp/image-dired.el (image-dired-dired-with-window-configuration):
* lisp/dired-x.el (dired-do-find-marked-files):
* lisp/dired.el (dired-pop-to-buffer):
* lisp/bs.el (bs--show-with-configuration):
* lisp/vc/emerge.el (emerge-setup-windows):
* lisp/textmodes/two-column.el (2C-two-columns):
* lisp/textmodes/reftex-toc.el (reftex-toc):
* lisp/progmodes/gdb-mi.el (gdb-setup-windows):
* lisp/progmodes/fortran.el (fortran-window-create):
* lisp/net/newst-treeview.el (newsticker--treeview-window-init):
* lisp/emulation/ws-mode.el (wordstar-C-o-map, wordstar-mode):
* lisp/emulation/tpu-edt.el (tpu-gold-map):
* lisp/emulation/crisp.el (crisp-mode-map):
* lisp/calendar/calendar.el (calendar-basic-setup): Callers changed.
2011-10-30 09:56:03 +08:00
Martin Rudalics
e07b9a6d33 Fix and improve mouse-dragging of horizontal/vertical lines.
* mouse.el (mouse-drag-window-above)
(mouse-drag-move-window-bottom, mouse-drag-move-window-top)
(mouse-drag-mode-line-1, mouse-drag-header-line)
(mouse-drag-vertical-line-rightward-window): Remove.
(mouse-drag-line): New function.
(mouse-drag-mode-line, mouse-drag-header-line)
(mouse-drag-vertical-line): Call mouse-drag-line.
* window.el (window-at-side-p, windows-at-side): New functions.
2011-10-21 11:15:32 +02:00
Martin Rudalics
366ca7f3da In vc actions use quit-windows-on instead of delete-windows-on.
* window.el (quit-windows-on): New function.
* vc/vc.el (vc-revert, vc-rollback):
* vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on
instead of deleting windows.  (Bug#4557) (Bug#5310) (Bug#5556)
(Bug#6183) (Bug#7074)((Bug#7447)
2011-10-10 19:52:03 +02:00
Martin Rudalics
0563dae9a9 Fix doc-strings of special-display-... variables.
* window.el (special-display-buffer-names)
(special-display-regexps): Remove some remnants of earlier
changes from doc-strings.
2011-10-10 08:31:07 +02:00
Martin Rudalics
496774950d Add version tag for frame-auto-hide-function (Bug#9699). 2011-10-09 14:33:56 +02:00
Martin Rudalics
235ce86fea Fix doc-string typo in switch-to-buffer. 2011-10-08 16:01:55 +02:00
Martin Rudalics
c557cd6b97 Delete dedicated frame when killing its buffer. (Bug#9699)
* window.el (window--delete): Delete dedicated frame unconditionally
when argument KILL is non-nil.  (Bug#9699)
2011-10-08 15:52:16 +02:00
Martin Rudalics
c96111ea55 New functions window-point-1 and set-window-point-1.
* window.el (window-point-1, set-window-point-1): New functions.
(window-in-direction, record-window-buffer, window-state-get-1)
(display-buffer-record-window): Use window-point-1 instead of
window-point.
(set-window-buffer-start-and-point): Use set-window-point-1.
2011-10-05 10:59:13 +02:00
Martin Rudalics
5a4cf28234 New option frame-auto-hide-function replacing frame-auto-delete.
* window.el (frame-auto-hide-function): New option replacing
frame-auto-delete.  Suggested by Stefan Monnier.
(window--delete): Call frame-auto-hide-function instead of
investigating frame-auto-delete.
2011-10-05 08:49:53 +02:00
Martin Rudalics
0e2070b5b6 Make frame iconification/deletion optional when burying buffers.
* window.el (window--delete): New function.
(frame-auto-delete): Resuscitate option.
(bury-buffer, replace-buffer-in-windows)
(quit-window): Rewrite using window--delete.
(display-buffer-pop-up-frame, display-buffer-pop-up-window):
Pass display-buffer-mark-dedicated to window--display-buffer-2
(Bug#9639).
2011-10-04 17:28:25 +02:00
Martin Rudalics
ccee00c018 In display-buffer-record-window call point for selected window. (Bug#9626)
* window.el (display-buffer-record-window): When WINDOW is the
selected window use `point' instead of `window-point'.  (Bug#9626)
2011-09-29 11:20:45 +02:00
Chong Yidong
94e0933e1f Minor doc fixes for some window functions.
Minor doc fixes for switch-to-buffer, window-prev-buffers,
set-window-prev-buffers, set-window-next-buffers.
2011-09-24 18:51:36 -04:00
Chong Yidong
97adfb9756 * window.el (pop-to-buffer): Ensure right window is selected if we chose another frame.
Otherwise, C-x 5 b might not select the right window if reusing a
window on another frame.
2011-09-22 21:42:40 -04:00
Chong Yidong
72258fe584 Reintroduce pop-to-buffer-same-window; use it for previous users of same-window-*.
* window.el (pop-to-buffer-same-window): New (reinstated) fun.

* cmuscheme.el (run-scheme, switch-to-scheme):
* cus-edit.el (customize-group, custom-buffer-create)
(customize-browse):
* info.el (info):
* shell.el (shell):
* mail/sendmail.el (mail):
* progmodes/inf-lisp.el (inferior-lisp): Use it.

Fixes: debbugs:9532
2011-09-22 12:15:52 -04:00
Martin Rudalics
7f80c86d3c In special-display-popup-frame reset new frame's previous buffers to nil.
* window.el (special-display-popup-frame): When popping up a new frame
reset its previous buffers to nil.  Simplify code.
2011-09-22 11:28:57 +02:00
Martin Rudalics
b4d72fcf78 Undedicate window when quitting should switch to previous buffer.
* window.el (quit-window): Undedicate window when switching to
previous buffer.  Reported by Thierry Volpiatto
<thierry.volpiatto@gmail.com>.
2011-09-22 08:56:19 +02:00
Martin Rudalics
cf4eacfdca Rewrite code quitting windows and restoring the previous buffer.
* window.el (set-window-buffer-start-and-point): Call
set-window-start with NOFORCE argument t.  Suggested by Thierry
Volpiatto <thierry.volpiatto@gmail.com>.
(quit-window): Reword doc-string.  Handle new format of
quit-restore parameter.  Don't delete window if it has a
previous buffer we can show instead of the present one.
(display-buffer-record-window): Rewrite using a new format for
the quit-restore window parameter
(special-display-popup-frame, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-use-some-window):
Adapt symbol passed to display-buffer-record-window.
* help.el (help-window-setup): Handle new format of quit-restore
parameter.
2011-09-21 10:20:21 +02:00
Stefan Monnier
8d28cb95b9 * lisp/window.el (display-buffer--action-function-custom-type):
Don't include internal functions in the Custom interface.
2011-09-20 21:30:35 -04:00
Juri Linkov
8da11505d3 lisp/window.el (window-safe-min-height, window-safe-min-width): Fix typos.
Fixes: debbugs:9522
2011-09-17 02:46:59 +02:00
Sven Joachim
a91adc7e1f lisp/window.el (window-min-width, window-state-put): Fix typos (bug#9522). 2011-09-17 02:42:13 +02:00
Chong Yidong
cbb0f9ab98 Make the user customizable display-buffer variable empty by default.
* lisp/window.el (display-buffer-base-action): Rename from
display-buffer-default-action.  Make default value empty.
(display-buffer-overriding-action): Convert to defvar.
(display-buffer-fallback-action): New var.
2011-09-15 11:12:15 -04:00
Martin Rudalics
f678e0b6a2 Replace display-buffer-window by help-setup window parameter.
* window.el (display-buffer-window): Remove.
(display-buffer-record-window): Use help-setup window parameter
instead of variable display-buffer-window.
(display-buffer-function, special-display-buffer-names)
(special-display-function): Mention help-setup parameter instead
of display-buffer-window in doc-string.
* help.el (help-window-setup): New argument help-window.  Use
help-window-setup parameter instead of display-buffer-window.
Reword some messages.
(with-help-window): Pass window used for displaying the buffer
to help-window-setup.  Don't set display-buffer-window.
2011-09-14 11:17:30 +02:00
Chong Yidong
85e9c04bf3 * lisp/window.el (window-deletable-p): Use next-frame. 2011-09-13 15:10:32 -04:00