Commit graph

647 commits

Author SHA1 Message Date
Martin Rudalics
e6f759f9fd Fix doc-string of display-buffer-other-frame. (Bug#15868)
* window.el (display-buffer-other-frame): Fix doc-string.
(Bug#15868)
2013-11-12 08:25:14 +01:00
Martin Rudalics
6c8413fce1 Fix doc-string of pop-to-buffer-same-window. (Bug#15492)
* window.el (pop-to-buffer-same-window): Fix doc-string.
(Bug#15492)
2013-10-10 09:57:28 +02:00
Glenn Morris
e740f9d245 Silence some --without-x compilation warnings
* custom.el (x-get-resource): Declare.

* frame.el (x-display-grayscale-p): Declare.

* simple.el (font-info): Declare.

* window.el (x-display-pixel-height, tool-bar-lines-needed): Declare.
(fit-frame-to-buffer): Explicit error if --without-x.
(mouse-autoselect-window-select): Silence compiler.
2013-09-17 19:50:04 -07:00
Martin Rudalics
c089653d56 In window--state-put-2 don't process buffer state when buffer doesn't exist (Bug#15382).
* window.el (window--state-put-2): Don't process buffer state
when buffer doesn't exist any more (Bug#15382).
2013-09-15 18:08:04 +02:00
Martin Rudalics
7c97d35ecc Add missing argument in call of get-largest-window (Bug#15185).
* window.el (display-buffer-use-some-window): Add missing
argument in call of get-largest-window (Bug#15185).  Reported by
Stephen Leake.
2013-08-27 14:46:00 +02:00
Martin Rudalics
7fd5f65e89 In display-buffer-pop-up-frame make BUFFER current (Bug#15133).
* window.el (display-buffer-pop-up-frame): Call pop-up-frame-function
with BUFFER current so `make-frame' will use it as the new frame's
buffer (Bug#15133).
2013-08-23 08:52:19 +02:00
Martin Rudalics
3dfc5cd613 In mouse-autoselect-window-select do autoselect when mouse pointer is on margin.
* window.el (mouse-autoselect-window-select): Do autoselect when
mouse pointer is on margin.
2013-08-16 11:44:32 +02:00
Martin Rudalics
c660a885df Fix some issues in window.el.
* window.el (window-make-atom): Don't overwrite parameter
already present.
(display-buffer-in-atom-window): Handle special case where we
split an already atomic window.
(window--major-non-side-window, display-buffer-in-side-window)
(window--side-check): Ignore minibuffer window when walking
window tree.
(window-deletable-p): Return 'frame only if no other frame uses
our minibuffer window.
(record-window-buffer): Run buffer-list-update-hook.
(split-window): Make sure window--check-frame won't destroy an
existing atomic window in case the new window gets nested
inside.
(display-buffer-at-bottom): Ignore minibuffer window when
walking window tree.  Don't split a side window.
(pop-to-buffer): Don't set-buffer here, the select-window call
should do that.
(mouse-autoselect-window-select): Autoselect only if we are in the
text portion of the window.
2013-08-14 11:14:32 +02:00
Juanma Barranquero
9d3aa82cf9 lisp/*.el: Silence lexical-binding warnings. 2013-08-09 01:59:14 +02:00
Dmitry Antipov
290d5b5890 Do not call to `selected-window' where it is assumed by default.
Affected functions are `window-minibuffer-p', `window-dedicated-p',
`window-hscroll', `window-width', `window-height', `window-buffer',
`window-frame', `window-start', `window-point', `next-window'
and `window-display-table'.
* abbrev.el (abbrev--default-expand):
* bs.el (bs--show-with-configuration):
* buff-menu.el (Buffer-menu-mouse-select):
* calc/calc.el (calc):
* calendar/calendar.el (calendar-generate-window):
* calendar/diary-lib.el (diary-simple-display, diary-show-all-entries)
(diary-make-entry):
* comint.el (send-invisible, comint-dynamic-complete-filename)
(comint-dynamic-simple-complete, comint-dynamic-list-completions):
* completion.el (complete):
* dabbrev.el (dabbrev-expand, dabbrev--make-friend-buffer-list):
* disp-table.el (describe-current-display-table):
* doc-view.el (doc-view-insert-image):
* ebuff-menu.el (Electric-buffer-menu-mouse-select):
* ehelp.el (with-electric-help):
* emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
* emacs-lisp/edebug.el (edebug-two-window-p, edebug-pop-to-buffer):
* emacs-lisp/helper.el (Helper-help-scroller):
* emulation/cua-base.el (cua--post-command-handler-1):
* eshell/esh-mode.el (eshell-output-filter):
* ffap.el (ffap-gnus-wrapper):
* help-macro.el (make-help-screen):
* hilit-chg.el (highlight-compare-buffers):
* hippie-exp.el (hippie-expand, try-expand-dabbrev-visible):
* hl-line.el (global-hl-line-highlight):
* icomplete.el (icomplete-simple-completing-p):
* isearch.el (isearch-done):
* jit-lock.el (jit-lock-stealth-fontify):
* mail/rmailsum.el (rmail-summary-scroll-msg-up):
* lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling):
* mpc.el (mpc-tagbrowser, mpc):
* net/rcirc.el (rcirc-any-buffer):
* play/gomoku.el (gomoku-max-width, gomoku-max-height):
* play/landmark.el (landmark-max-width, landmark-max-height):
* play/zone.el (zone):
* progmodes/compile.el (compilation-goto-locus):
* progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern):
* progmodes/etags.el (find-tag-other-window):
* progmodes/fortran.el (fortran-column-ruler):
* progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
* progmodes/verilog-mode.el (verilog-point-text):
* reposition.el (reposition-window):
* rot13.el (toggle-rot13-mode):
* server.el (server-switch-buffer):
* shell.el (shell-dynamic-complete-command)
(shell-dynamic-complete-environment-variable):
* simple.el (insert-buffer, set-selective-display)
(delete-completion-window):
* speedbar.el (speedbar-timer-fn, speedbar-center-buffer-smartly)
(speedbar-recenter):
* startup.el (fancy-splash-head):
* textmodes/ispell.el (ispell-command-loop):
* textmodes/makeinfo.el (makeinfo-compilation-sentinel-region):
* tutorial.el (help-with-tutorial):
* vc/add-log.el (add-change-log-entry):
* vc/compare-w.el (compare-windows):
* vc/ediff-help.el (ediff-indent-help-message):
* vc/ediff-util.el (ediff-setup-control-buffer, ediff-position-region):
* vc/ediff-wind.el (ediff-skip-unsuitable-frames)
(ediff-setup-control-frame):
* vc/emerge.el (emerge-position-region):
* vc/pcvs-util.el (cvs-bury-buffer):
* window.el (walk-windows, mouse-autoselect-window-select):
* winner.el (winner-set-conf, winner-undo): Related users changed.
2013-08-05 18:26:57 +04:00
Martin Rudalics
f47ad11b6b In display-buffer bind split-window-keep-point to t, bug#14829.
* window.el (display-buffer): In display-buffer bind
split-window-keep-point to t, bug#14829.
2013-07-25 11:58:27 +02:00
Martin Rudalics
34ada5f476 lisp/window.el (window-state-put): Remove window if buffer was not restored.
(window-state-put-stale-windows): New variable.
(window--state-put-2): Save list of windows without matching buffer.
(window-state-put): Remove "bufferless" windows if possible.
2013-07-06 16:24:54 +02:00
Stefan Monnier
ab5340fe26 lisp/window.el: Fix previous change (2013-06-25T15:08:47Z!lekktu@gmail.com). 2013-06-25 19:20:19 +02:00
Martin Rudalics
8bbdea0fb4 lisp/window.el (window--state-get-1): Workaround for bug#14527.
http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00941.html
2013-06-25 17:44:42 +02:00
Stephen Berman
0aa3616eed Make `split-window' a non-interactive function.
* doc/lispref/windows.texi (Splitting Windows): Change category of
split-window from a command to a function.

* etc/NEWS: Mention fixing `split-window' to be non-interactive.

* window.el (split-window): Remove interactive form, since as a
command this function is a special case of split-window-below.
Correct doc string.
2013-04-13 16:37:20 +02:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Martin Rudalics
27fcfe3101 Once more fix resizing of rmail summary window.
* window.el (window-resizable--p): Rename to window-resizable-p.
(window-resize-no-error): New function.

* mail/rmail.el (rmail-maybe-display-summary): Restore behavior
broken in fix from 2012-12-28.
2012-12-31 12:35:13 +01:00
Stefan Monnier
d1c0cddf73 * lisp/window.el (switch-to-buffer): Re-add the warning that was lost in the
code rewrite.
2012-11-18 22:16:03 -05:00
Glenn Morris
95f0501e74 Reword previous with-temp-buffer-window doc fixes
* lisp/window.el (with-temp-buffer-window):
Reword the doc to be more similar to with-output-to-temp-buffer.

* lisp/subr.el (with-output-to-temp-buffer):
Add doc xref to with-temp-buffer-window.
2012-11-16 21:03:58 -05:00
Glenn Morris
65463c4091 * lisp/window.el (with-temp-buffer-window): Doc fix. 2012-11-16 20:26:24 -05:00
Martin Rudalics
0ff7851c6b Fix some display-buffer related issues.
* window.el (enlarge-window, shrink-window): Don't mention return
value in doc-string (Bug#12896).
(window--display-buffer): Don't resize frames - it won't work
with all window managers and defeat pop-up-frame-alist.
(display-buffer-alist): In doc-string explain that CONDITION can
be a function and which arguments are passed to it (Bug#12854).
(display-buffer-assq-regexp): New argument ACTION.  Handle lambda
expressions (Bug#12854).
(display-buffer): Pass ACTION argument to
display-buffer-assq-regexp.

* windows.texi (Choosing Window): Rewrite description of
display-buffer-alist (Bug#12167).
(Display Action Functions): Mention inhibit-switch-frame.  Fix
description of display-buffer-below-selected.  Reorder actions.
Add example (Bug#12848).
2012-11-16 11:29:48 +01:00
Glenn Morris
7c82753d4c Doc fixes related to fit-frame-to-buffer
* lisp/window.el (fit-frame-to-buffer-bottom-margin)
(fit-frame-to-buffer, fit-window-to-buffer): Doc fixes.

* etc/NEWS: Related edit.
2012-11-16 00:31:20 -08:00
Martin Rudalics
9234627530 Preserve window-point-insertion-type when copying window-point markers. (Bug#12588)
* window.el (record-window-buffer)
(display-buffer-record-window): When copying the markers to
window-point preserve window-point-insertion-type. (Bug#12588)
2012-11-13 08:40:07 +01:00
Glenn Morris
38785e75a2 * lisp/window.el (with-temp-buffer-window): Doc tweak. 2012-11-10 17:47:56 -08:00
Glenn Morris
6ba6a3e51f Fix more custom :versions
* lisp/help.el (temp-buffer-max-height):
* lisp/window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin):
Fix :version.
2012-11-10 16:43:54 -08:00
Martin Rudalics
43bcfda6d8 Doc changes related to displaying buffers and quitting windows.
* window.el (switch-to-visible-buffer)
(switch-to-buffer-preserve-window-point): Fix doc-strings.

* windows.texi (Switching Buffers): Document option
switch-to-buffer-preserve-window-point.
(Display Action Functions): Document window-height and
window-width alist entries.
(Display Action Functions): Document
display-buffer-below-selected and
display-buffer-in-previous-window.
(Quitting Windows): Document quit-restore-window.  Rewrite
section.
(Window Configurations): In window-state-get mention that
argument window must be valid.
(Window Parameters): Document quit-restore window parameter
(Bug#12158).
2012-11-03 11:47:03 +01:00
Martin Rudalics
218e997a10 Install fixes for Bug#12764 and Bug#12766.
* window.el (quit-restore-window): If the window has been
created on an existing frame and ended up as the sole window on
that frame, do not delete it (Bug#12764).

* minibuf.c (read_minibuf): Restore current buffer since
choose_minibuf_frame calling Fset_frame_selected_window may
change it (Bug#12766).
2012-10-31 11:02:51 +01:00
Martin Rudalics
df171c230c In display-time-world restore fit-window-to-buffer behavior.
* window.el (display-buffer): In doc-string describe
window-height and window-width alist entries.

* time.el (display-time-world): Restore fit-window-to-buffer
behavior.
2012-10-27 10:58:30 +02:00
Paul Eggert
791ef5f8ea Spelling fixes. 2012-10-21 00:23:34 -07:00
Eli Zaretskii
7b9abf24ee lisp/window.el (display-buffer): Doc fix. 2012-10-14 19:07:00 +02:00
Martin Rudalics
9d7f027b56 In switch-to-buffer optionally restore window point (Bug#4041).
* window.el (switch-to-buffer-preserve-window-point): New option.
(switch-to-buffer): Obey
`switch-to-buffer-preserve-window-point' (Bug#4041).
2012-10-10 11:36:45 +02:00
Stefan Monnier
662a9d0e1c * lisp/window.el (internal--before-save-selected-window)
(internal--after-save-selected-window): New functions extracted from
save-selected-window.  Make sure we return the `alist' we construct.
(save-selected-window): Use them.
* lisp/textmodes/tex-mode.el (tex-recenter-output-buffer):
Use with-selected-window.
2012-10-07 11:54:30 -04:00
Paul Eggert
735135f9bc Spelling fixes. 2012-10-04 22:57:24 -07:00
Martin Rudalics
1bc834133d Fix last fix of window--display-buffer. 2012-09-30 12:44:43 +02:00
Martin Rudalics
5938d5196d Handle window-height and window-width alist entries in `display-buffer'.
In buffer display functions handle window-height/window-width
alist entries.  Suggested by Juri Linkov as fix for Bug#1806.
* window.el (window--display-buffer): New argument ALIST.  Obey
window-height and window-width alist entries.
(window--try-to-split-window): New argument ALIST.  Bind
window-combination-limit to t when the window's size shall be
changed and window-combination-limit equals `window-size'.
(display-buffer-in-atom-window)
(display-buffer-in-major-side-window)
(display-buffer-in-side-window, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-below-selected)
(display-buffer-at-bottom, display-buffer-in-previous-window)
(display-buffer-use-some-window): Adjust all callers of
window--display-buffer and window--try-to-split-window.
(fit-frame-to-buffer): New option.
(fit-window-to-buffer): Can resize frames if fit-frame-to-buffer
is non-nil.
(display-buffer-in-major-side-window): Evaluate window-height /
window-width alist entries.

* help.el (temp-buffer-resize-frames)
(temp-buffer-resize-regexps): Remove options.
(temp-buffer-resize-mode): Adjust doc-string.
(resize-temp-buffer-window): Don't consult
temp-buffer-resize-regexps.  Use fit-frame-to-buffer instead of
temp-buffer-resize-frames.

* dired.el (dired-mark-pop-up): Call
display-buffer-below-selected with a fit-window-to-buffer alist
entry.

* window.c (Vwindow_combination_limit): New default value.
(Qwindow_size): New symbol replacing Qtemp_buffer_resize.
2012-09-30 11:10:59 +02:00
Juanma Barranquero
42019c2e0c lisp/window.el (temp-buffer-window-setup): Fix typo in docstring. 2012-09-26 16:11:18 +02:00
Martin Rudalics
9c52dd5a2e Improve resizing of minibuffer windows (Bug#12419).
* window.el (window--resize-child-windows): When resizing child
windows proportionally, process them in reverse order to
preserve the "when splitting a window the new one gets the odd
line" behavior.
(window--resize-root-window-vertically): When resizing the
minibuffer window try to affect only windows at the bottom of the
frame.  (Bug#12419)
2012-09-25 10:20:05 +02:00
Martin Rudalics
8e17c9ba14 Make Temp Buffer Resize Mode less intrusive (Bug#1806).
* window.c (Fsplit_window_internal): Handle only Qt value of
Vwindow_combination_limit separately.
(Qtemp_buffer_resize): New symbol.
(Vwindow_combination_limit): New default value.  Rewrite
doc-string.
* cus-start.el (window-combination-limit): Add new optional
values.
* window.el (temp-buffer-window-show)
(window--try-to-split-window): Obey new values of
window-combination-limit.
(split-window): Test window-combination-limit for t instead of
non-nil.
(display-buffer-at-bottom): New buffer display action function.
* help.el (temp-buffer-resize-regexps): New option.
(temp-buffer-resize-mode): Rewrite doc-string.
(resize-temp-buffer-window): Obey temp-buffer-resize-regexps.
Don't resize reused window.  Suggested by Glen Morris.
2012-09-22 14:56:08 +02:00
Chong Yidong
71ce58e752 Mark display-buffer-function as obsolete.
* lisp/window.el (display-buffer-function): Mark as obsolete.

Fixes: debbugs:12166
2012-09-16 12:52:38 +08:00
Chong Yidong
fdc2806d0b * window.el (special-display-popup-frame): Doc fix.
Fixes: debbugs:8853
2012-09-16 12:43:46 +08:00
Chong Yidong
011474aa5a Allow scrolling in y-or-n-p.
* lisp/replace.el (query-replace-map): Bind four new symbols for
requesting window scrolling.

* lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in
query-replace-map.

* lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p.

* lisp/window.el (scroll-other-window-down): Make the arg optional.

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
since they are now in query-replace-map.

* doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and
scrolling in y-or-n-p.  Remove gratuitous example.

* doc/lispref/searching.texi (Search and Replace): Document window scrolling
entries in query-replace-map.

Fixes: debbugs:8948
2012-09-09 14:43:47 +08:00
Martin Rudalics
fa2bcf435d Fix handling of debugger window. (Bug#8789)
* window.el (display-buffer-in-previous-window): New buffer
display action function.

* emacs-lisp/debug.el (debugger-bury-or-kill): New option.
(debugger-previous-window): New variable.
(debug): Rewrite using display-buffer-in-previous-window,
quit-restore-window and debugger-bury-or-kill.  (Bug#8789)
2012-09-08 15:28:11 +02:00
Chong Yidong
cee2e90d47 Minor doc fix for switch-to-buffer.
* doc/lispref/windows.texi (Display Action Functions)
(Choosing Window Options): Remove obsolete variable
display-buffer-reuse-frames.
(Switching Buffers): Minor doc tweak for switch-to-buffer.

* lisp/window.el (switch-to-buffer): Doc fix.

Fixes: debbugs:12181
2012-09-07 21:53:21 +08:00
Martin Rudalics
ef6544601a Provide support for fitting frames to buffers.
* help.el (temp-buffer-max-height): New default value.
(temp-buffer-resize-frames): New option.
(resize-temp-buffer-window): Optionally resize frame.

* window.el (fit-frame-to-buffer-bottom-margin): New option.
(fit-frame-to-buffer): New function.
2012-09-05 11:22:20 +02:00
Martin Rudalics
c5e28e3927 New macro with-temp-buffer-window and related fixes.
* buffer.c (Fdelete_all_overlays): New function.

* window.el (temp-buffer-window-setup-hook)
(temp-buffer-window-show-hook): New hooks.
(temp-buffer-window-setup, temp-buffer-window-show)
(with-temp-buffer-window): New functions.
(fit-window-to-buffer): Remove unused optional argument
OVERRIDE.
(special-display-popup-frame): Make sure the window used shows
BUFFER.

* help.el (temp-buffer-resize-mode): Fix doc-string.
(resize-temp-buffer-window): New optional argument WINDOW.

* files.el (recover-file, save-buffers-kill-emacs):
* dired.el (dired-mark-pop-up): Use with-temp-buffer-window.
2012-09-03 10:54:25 +02:00
Martin Rudalics
78dd6ab198 Rewrite switch-to-prev-/next-buffer and quit-window; add display-buffer-below-selected.
* window.el (switch-to-prev-buffer): Handle additional values of
BURY-OR-KILL argument.  Don't switch in minibuffer window.
(switch-to-next-buffer): Don't switch in minibuffer window.
(quit-restore-window): New function based on quit-window.
Handle additional values of former KILL argument.
(quit-window): Call quit-restore-window with appropriate
interpretation of KILL argument.
(display-buffer-below-selected): New buffer display action
function.
2012-09-01 18:47:09 +02:00
Martin Rudalics
862382df3d Consider frame's buffer predicate in switch-to-prev-/next-buffer.
* window.el (switch-to-prev-buffer, switch-to-next-buffer):
Consider frame's buffer predicate when choosing the buffer.
(Bug#12081)
2012-08-31 18:51:49 +02:00
Chong Yidong
247778328b Improve obsolescence message of display-buffer-reuse-frames.
* lisp/window.el (display-buffer-reuse-frames): Make the obsolescence
message more informative.
2012-08-30 11:45:51 +08:00
Chong Yidong
77f1f99cb0 Make special-display-* and display-buffer-reuse-frames obsolete.
* lisp/window.el (special-display-regexps, special-display-frame-alist)
(special-display-buffer-names, special-display-function)
(display-buffer-reuse-frames): Mark as obsolete.

* lisp/progmodes/compile.el: Don't use display-buffer-reuse-frames.

* help.el (help-print-return-message): Don't treat
display-buffer-reuse-frames specially.
2012-08-26 21:42:18 +08:00