Commit graph

357 commits

Author SHA1 Message Date
Juanma Barranquero
cb882333c2 lisp/window.el: Remove unused variables.
(window-with-parameter): Remove unused variable `windows'.
(window--side-check): Remove unused variable `code'.
(window--resize-siblings): Remove unused variable `first'.
(adjust-window-trailing-edge): Remove unused variable `failed'.
(window-deletable-p, window--delete): Remove unused variable `buffer'.
Use `let', not `let*'.
(balance-windows-2): Remove unused variable `found'.
(window--state-put-2): Remove unused variable `splits'.
(window-state-put): Remove unused variable `selected'.
(same-window-p): Use `string-match-p'.
(display-buffer-assq-regexp): Remove unused variable `value'.
(display-buffer-pop-up-frame, display-buffer-pop-up-window):
Mark argument ALIST as ignored.
(pop-to-buffer): Remove unused variable `old-window'.
2012-01-29 22:52:14 +01:00
Martin Rudalics
1edf595d75 Ignore fixed-sizeness when getting a window's state.
* window.el (window-state-get, window--state-get-1): Don't deal
with fixed-sizeness of windows.  Simplify code.
2012-01-25 15:52:10 +01:00
Jérémy Compostella
fa8eafefbe In window states don't deal with the mark.
* window.el (window--state-get-1, window--state-put-2): Don't
save and restore the mark.
2012-01-25 15:28:01 +01:00
Martin Rudalics
34a02f46dc Fix handling of persistent window parameters.
* window.c (save_window_save, Fcurrent_window_configuration)
(Vwindow_persistent_parameters): Do not use Qstate.  Rewrite
doc-strings.
* window.el (window--state-get-1, window-state-get): Do not use
special state value for window-persistent-parameters.  Rename
argument IGNORE to WRITABLE.  Rewrite doc-string.
(window--state-put-2): Reset all window parameters to nil before
assigning values of persistent parameters.
* windows.texi (Window Configurations): Rewrite references to
persistent window parameters.
(Window Parameters): Fix description of persistent window
parameters.
2012-01-19 11:38:31 +01:00
Martin Rudalics
6a6ee00d12 Provide persistent window parameters.
* window.c (Vwindow_persistent_parameters): New variable.
(Fset_window_configuration, save_window_save): Handle persistent
window parameters.

* window.el (window-state-ignored-parameters): Remove variable.
(window--state-get-1): Rename argument MARKERS to IGNORE.
Handle persistent window parameters.  Make copy of clone-of
parameter only if requested.  (Bug#10348)
(window--state-put-2): Install a window parameter only if it has
a non-nil value or an existing parameter shall be overwritten.

* windows.texi (Window Configurations, Window Parameters):
Describe persistent window parameters.
2012-01-16 10:34:41 +01:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
22bcf20469 Spelling fixes. 2011-12-30 17:27:15 -08:00
Juri Linkov
341cf6ac7a * lisp/window.el (window--state-get-1): Set FORCE' arg of mark' to t.
Fixes: debbugs:10348
2011-12-24 21:16:53 +02:00
Martin Rudalics
d45ba96b43 Restore Emacs 23 handling of display-buffer's BUFFER-OR-NAME argument.
* window.el (window-normalize-buffer-to-display): Remove.
(display-buffer): Handle buffer-or-name argument as in Emacs 23.
2011-12-20 08:45:20 +01:00
Paul Eggert
301b181a14 Spelling fixes. 2011-12-16 22:51:13 -08:00
Martin Rudalics
454592a615 Minor fixes in window handling code and docs.
* window.c (Vwindow_combination_resize)
(Vwindow_combination_limit): Use t instead of non-nil in
doc-strings.
* window.el (delete-other-windows): Use correct frame in call to
window-with-parameter.
* windows.texi (Splitting Windows): Use t instead of non-nil
when describing window-combination-resize.
2011-12-13 14:37:48 +01:00
Martin Rudalics
9a9e9ef0e8 Fix docstring of other-window. 2011-12-11 11:38:11 +01:00
Juanma Barranquero
382c953bbe Fix typos. 2011-12-09 04:12:38 +01:00
Paul Eggert
c80e3b4aed Spelling fixes. 2011-12-04 00:02:42 -08:00
Stefan Monnier
24510c22a3 * lisp/files.el (find-file): Don't use force-same-window.
* lisp/window.el (switch-to-buffer): Better match Emacs-23 behavior and only
use pop-to-buffer if the selected window can't be used.
(pop-to-buffer-same-window): Use display-buffer--same-window-action.

Fixes: debbugs:10144
2011-11-28 14:43:52 -05:00
Paul Eggert
e47695319f Spelling fixes. 2011-11-26 20:43:11 -08:00
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