summaryrefslogtreecommitdiff
path: root/lisp/window.el
Commit message (Collapse)AuthorAgeFilesLines
...
* * window.el (display-buffer-assq-regexp): Use buffer-matchPhilip Kaludercic2022-04-151-11/+4
|
* Init 'rest' in 'balance-windows-2' (Bug#54380)Martin Rudalics2022-03-141-7/+8
| | | | | * lisp/window.el (balance-windows-2): Give 'rest' an initial value (Bug#54380).
* Merge from origin/emacs-28Stefan Kangas2022-02-221-1/+5
|\ | | | | | | | | | | | | | | 666e40a109 Fix 'display-line-numbers-mode' in hide-show buffers 68d134cf0f Don't check whether a deleted window is deletable (Bug#54028) b38223a844 A friendlier error message from image-mode in an empty buffer b7a651ba37 Update to Org 9.5.2-17-gea6b74 3a8c3f7abd ; Don't reference obsolete variables in edebug.el
| * Don't check whether a deleted window is deletable (Bug#54028)Martin Rudalics2022-02-211-1/+5
| | | | | | | | | | * lisp/window.el (window-state-put): Make sure window is live before calling 'window-deletable-p' on it (Bug#54028).
* | * lisp/window.el (display-comint-buffer-action): Move to the end of file.Juri Linkov2022-01-111-8/+8
| | | | | | | | | | Move closer to pop-to-buffer-same-window after its default value display-buffer--same-window-action is defined.
* | More fixes for display-comint-buffer-actionJuri Linkov2022-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/window.el (display-comint-buffer-action): Use display-buffer--same-window-action as the default value. * lisp/progmodes/sh-script.el (sh-show-shell): * lisp/shell.el (shell): Add display-comint-buffer-action to pop-to-buffer. * lisp/progmodes/project.el (project-shell, project-eshell): Use `bound-and-true-p display-comint-buffer-action' for backward-compatibility. https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02964.html
* | Fix display-comint-buffer-action default behavior (closes bug#52878)Morgan Smith2022-01-111-3/+3
| | | | | | | | * lisp/window.el (display-comint-buffer-action): Make it an alist.
* | Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | * lisp/window.el (display-comint-buffer-action): Fix type.Glenn Morris2021-12-301-1/+1
| |
* | Fix bug#52467 by adding a new custom variable 'display-comint-buffer-action'Sam Steingold2021-12-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/window.el (display-comint-buffer-action): New `defcustom`, defaults to 'display-buffer-same-window' for backward compatibility. * lisp/cmuscheme.el (run-scheme, switch-to-scheme): Pass 'display-comint-buffer-action' to 'pop-to-buffer' instead of using 'pop-to-buffer-same-window'. * lisp/eshell/eshell.el (eshell): Likewise. * lisp/shell.el (shell): Likewise. * lisp/org/ol-eshell.el (org-eshell-open): Likewise. * lisp/progmodes/inf-lisp.el (inferior-lisp): Likewise. * lisp/progmodes/project.el (project-shell, project-eshell): Likewise. * lisp/textmodes/tex-mode.el (tex-display-shell, tex-compile-default) (tex-recenter-output-buffer): Pass 'display-comint-buffer-action' to 'pop-to-buffer'.
* | Merge from origin/emacs-28Stefan Kangas2021-12-231-1/+4
|\| | | | | | | | | | | | | | | | | 29fffbdd87 Revert field-related thingatpt changes 9bcb732686 * lisp/window.el (quit-restore-window): Select previously ... b7d31d6192 Revert "Remove Motif support" # Conflicts: # etc/NEWS
| * * lisp/window.el (quit-restore-window): Select previously selected window.Juri Linkov2021-12-211-1/+4
| | | | | | | | | | | | After deleting the dedicated window, such as a window with *Completions* buffer, select the previously selected window, like most of other 'cond' branches do in this function (bug#52491).
* | Set `minibuffer-completion-*` variables locally in more placesMiha Rihtaršič2021-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/calc/calc-store.el (calc-read-var-name): * lisp/emacs-lisp/crm.el (completing-read-multiple): * lisp/progmodes/cc-styles.el (c-read-offset): * lisp/window.el (read-buffer-to-switch): Set `minibuffer-completion-*` variables buffer-locally instead of using a global let-binding (bug#48925). Follow-up to commit 2021-05-01 "* lisp/minibuffer.el (completing-read-default): Fix bug#45474"
* | ; Fix mangled indentation in 'display-buffer' doc-stringMartin Rudalics2021-10-251-9/+9
| |
* | Allow 'display-buffer' to set up body size of chosen window (Bug#17065)Martin Rudalics2021-10-251-52/+80
| | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Buffer Display Action Alists): Describe new possible values for 'window-height', 'window-width' and 'window-size' action alist entries. * lisp/window.el (window--display-buffer): Handle new values for 'window-height', 'window-width' and 'window-size' ALIST entries. (display-buffer): Update doc-string for new values of some action alist entries. * etc/NEWS: Mention new values of some action alist entries.
* | Merge from origin/emacs-28Glenn Morris2021-10-161-2/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e8488808df Avoid aborts when a thread is signaled while "waiting for ... 21397cce51 Improve documentation string for 'compilation-error-regexp... 2971a6890f * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix t... e842d7f29a Fix removal of fringe indication of bookmarks b5a0eda978 Prefer "graphical displays" to "X terminals" in documentation 4ad0fc0dd0 Precise documentation of file-notify-add-watch f5b8df14c6 Fixes to account for windows' tab lines ced72b6e4c * Fix `native-compile-target-directory' effectiveness on t... 502788bc3d Add missing single quotes in the Emacs manual 1af45ad04e ; * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix... 12654b7423 * lisp/menu-bar.el (yank-menu-length): Fix docstring (bug#... # Conflicts: # lisp/gnus/gnus-undo.el # lisp/menu-bar.el
| * Fixes to account for windows' tab linesMartin Rudalics2021-10-151-2/+6
| | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): Fix entry on 'window-text-pixel-size'. * lisp/window.el (window--dump-window): Dump tab-line-height and scroll-bar-height too. (window--min-size-1): Take 'window-tab-line-height' into account. * src/xdisp.c (Fwindow_text_pixel_size): Fix doc-string of 'window-text-pixel-size'. Rename last argument to 'MODE-LINES'.
* | Simplify functions dealing with preserving the size of windowsMartin Rudalics2021-10-151-35/+16
| | | | | | | | | | | | | | * lisp/window.el (window--preservable-size): Remove function. (window-preserve-size, window-preserved-size) (window--preserve-size): Simplify. Use 'window-body-height' etc. instead of 'window--preservable-size'.
* | In 'window--display-buffer' handle nil size values as intended (Bug#51062)Martin Rudalics2021-10-141-3/+11
| | | | | | | | | | | | | | * lisp/window.el (window--display-buffer): Make sure that (window-height . nil), (window-width . nil) and (window-size . nil) action alist entries are processed as intended.
* | Improve 'display-buffer' 'temp-buffer-resize-mode' cohabitation (Bug#51062)Martin Rudalics2021-10-131-24/+47
|/ | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Temporary Displays): Explain how to override the effect of 'temp-buffer-resize-mode' with a suitable 'display-buffer' action alist entry. * doc/lispref/windows.texi (Buffer Display Action Alists): Mention that an 'inhibit-switch-frame' entry might not work with every WM. Describe the 'window-size' entry. Describe how automatic window resizing can be overridden. * lisp/help.el (resize-temp-buffer-window-inhibit): New variable. (resize-temp-buffer-window): Handle case where user overrides automatic resizing. * lisp/window.el (temp-buffer-window-show): Bind 'resize-temp-buffer-window-inhibit' to nil around 'display-buffer'. Do not raise frame automatically to avoid defeating 'inhibit-switch-frame'. (window--display-buffer): Set 'resize-temp-buffer-window-inhibit' to t when the action alist contains a 'window-height', 'window-width' or 'window-size' entry. Use 'modify-frame-parameters' instead of 'set-frame-height' and 'set-frame-width' to avoid that the latter step on each others toes. (display-buffer): Fix 'inhibit-switch-frame' part in and add 'window-size' part to doc-string.
* Fix 'window-toggle-side-windows' (Bug#50867)Martin Rudalics2021-09-291-1/+2
| | | | | | * lisp/window.el (window-toggle-side-windows): Bind 'window-combination-resize' to t around 'window-state-put' calls (Bug#50867).
* Docfix: use command substitution for 'universal-argument'Stefan Kangas2021-09-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/autoarg.el (autoarg-mode): * lisp/bookmark.el (bookmark-set, bookmark-set-no-overwrite) (bookmark-save): * lisp/calendar/todo-mode.el (todo-insert-item) (todo-filter-top-priorities) (todo-filter-top-priorities-multifile): * lisp/dired-x.el (dired-mark-extension, dired-mark-suffix): * lisp/eshell/eshell.el (eshell): * lisp/gnus/gnus-group.el (gnus-group-find-new-groups): * lisp/gnus/gnus-start.el (gnus-find-new-newsgroups): * lisp/gnus/gnus-sum.el (gnus-summary-show-article): * lisp/gnus/gnus.el (gnus-secondary-servers): * lisp/org/org-timer.el (org-timer-set-timer): * lisp/org/ox.el (org-export-dispatch-last-position): * lisp/printing.el (pr-ps-directory-preview) (pr-ps-directory-using-ghostscript, pr-ps-directory-print) (pr-ps-directory-ps-print, pr-ps-buffer-preview) (pr-ps-buffer-using-ghostscript, pr-ps-buffer-print) (pr-ps-buffer-ps-print, pr-despool-preview) (pr-despool-using-ghostscript, pr-despool-print) (pr-despool-ps-print, pr-ps-file-up-ps-print, pr-ps-fast-fire) (pr-txt-fast-fire): * lisp/progmodes/idlwave.el (idlwave-complete): * lisp/progmodes/sh-script.el (sh-set-shell): * lisp/replace.el (occur): * lisp/ses.el (ses--advice-yank): * lisp/simple.el (set-mark-command-repeat-pop): * lisp/sort.el (delete-duplicate-lines): * lisp/strokes.el (strokes-help): * lisp/textmodes/artist.el (artist-mode): * lisp/textmodes/reftex-cite.el (reftex-citation): * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): * lisp/textmodes/reftex-index.el (reftex-index-selection-or-word) (reftex-display-index): * lisp/textmodes/reftex-ref.el (reftex-reference): * lisp/textmodes/reftex-toc.el (reftex-toc): * lisp/textmodes/reftex-vars.el (reftex-cite-prompt-optional-args) (reftex-enable-partial-scans): * lisp/textmodes/texnfo-upd.el (texinfo-master-menu): * lisp/windmove.el (windmove-display-in-direction) (windmove-delete-left, windmove-delete-up) (windmove-delete-right, windmove-delete-down): * lisp/window.el (recenter-window-group, recenter-other-window): Use command substitution for 'universal-argument' instead of raw "C-u".
* ; Minor stylistic fixes found by checkdocStefan Kangas2021-09-161-5/+5
|
* * lisp/window.el (display-buffer-in-previous-window): Add symbolp (bug#50576)Juri Linkov2021-09-151-1/+2
|
* ;* lisp/window.el (switch-to-prev-buffer): Fix typo in doc-string.Martin Rudalics2021-09-121-1/+1
|
* Improve doc-strings of some buffer display options (Bug#50518)Martin Rudalics2021-09-121-6/+29
| | | | | | | * lisp/window.el (pop-up-frame-alist, same-window-buffer-names) (same-window-regexps, pop-up-frames, pop-up-windows): In doc-strings say that these options are maintained for backward compatibility only (Bug#50518).
* Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275)pillule2021-08-181-4/+5
| | | | | | * lisp/window.el (switch-to-prev-buffer) (switch-to-next-buffer): More correctly handle cases where 'switch-to-prev-buffer-skip' is a function.
* switch-to-buffer-other-frame doc string improvementLars Ingebrigtsen2021-07-141-4/+8
| | | | | * lisp/window.el (switch-to-buffer-other-frame): Document that we don't always display the buffer in a different frame (bug#17719).
* Fix display-buffer-override-next-command for no-select case (bug#49057)Juri Linkov2021-06-171-8/+10
| | | | | | | | | | | | | | | * lisp/window.el (display-buffer-override-next-command): Separate 'postfun' from 'clearfun', so 'clearfun' resets 'display-buffer-overriding-action', whereas 'postfun' calls 'post-function' that can select the right window in 'post-command-hook'. * lisp/windmove.el (windmove-display-no-select): Add new choice 'ignore'. Improve docstring. (windmove-display-in-direction): Use new value 'ignore' of 'windmove-display-no-select'. Improve docstring. (windmove-display-left, windmove-display-up) (windmove-display-right, windmove-display-down): Mention 'windmove-display-no-select' in docstrings.
* Improve handling of dedicated flag for side windows (Bug#48493)pillule2021-06-141-19/+45
| | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Buffers and Windows): Mention the special handling of side windows and add a reference. (Buffer Display Action Alists): Say explicitly that `display-buffer-in-side-window' is dedicating to side by default. (Dedicated Windows): Add case (4) and explain its meaning, add a reference. (Displaying Buffers in Side Windows): Move the paragraph about `switch-to-(prev|next)-buffer' into a new item to emphasize the special meaning of dedication for side windows. * lisp/window.el (set-window-buffer-start-and-point): Restore side dedication. (switch-to-prev-buffer, switch-to-next-buffer): Correct return value that should be nil instead of the same buffer in case of no change. (delete-windows-on): Restore side dedication. (replace-buffer-in-windows): Update the docstring, restore side dedication. (quit-restore-window): Rearrange the logic so that strongly dedicated windows are eventually deleted first. Restore the side dedication. In the final case try to `switch-to-prev-buffer' before deleting a window (Bug#48367).
* Rename/rewrite recently added option and function in window.elMartin Rudalics2021-06-111-17/+20
| | | | | | | | | | | | | * lisp/window.el (window-at-x-y): Rename from `window-at-pos'. Fix doc-string. (delete-window-choose-selected): Rename from `delete-window-set-selected'. Fix doc-string. (delete-window): Adjust to above renaming. * doc/emacs/windows.texi (Change Window): Mention new option `delete-window-choose-selected'. * etc/NEWS: * doc/lispref/windows.texi (Deleting Windows): Follow up on above renamings.
* Provide new option `delete-window-set-selected' (Bug#47300)Martin Rudalics2021-06-101-29/+128
| | | | | | | | | | | | | | | | | | | | When `delete-window' deletes its frame's selected window, this new option allows to choose another window as replacement. * lisp/window.el (get-lru-window, get-mru-window) (get-largest-window): New optional argument NO-OTHER. (window-at-pos): New function. (delete-window-set-selected): New option. (delete-window): Handle `delete-window-set-selected'. * src/window.c (Fdelete_window_internal): Set the selected window of WINDOW's frame to the first window on that frame and let `delete-window' choose a more suitable window instead. * doc/lispref/windows.texi (Deleting Windows): Describe new option `delete-window-set-selected'. (Cyclic Window Ordering): Describe new NO-OTHER argument for `get-lru-window', `get-mru-window' and `get-largest-window'. * etc/NEWS: Mention `delete-window-set-selected' and the NO-OTHER argument.
* Do not switch to other window when minibuffer is selectedGregory Heytings2021-05-251-0/+3
| | | | | | * lisp/window.el (handle-select-window): Do not silently switch to other window when minibuffer is selected and mouse-autoselect-window is t (Bug#47969).
* Fix rare failures in 'window-default-font-height'Eli Zaretskii2021-05-191-1/+5
| | | | | | * lisp/window.el (window-default-font-height): Avoid signaling an error when a client TTY frame happens to have an X-style 'display' parameter. (Bug#48408)
* Fix recently introduced misbehavior of `quit-restore-window' (Bug#48493)Martin Rudalics2021-05-191-2/+1
| | | | | * lisp/window.el (quit-restore-window): Unconditionally call `switch-to-prev-buffer' (Bug#48493).
* * lisp/repeat.el (repeat-exit-timeout): New defcustom (bug#48472).Juri Linkov2021-05-191-2/+5
| | | | | | | | | | | (repeat-exit-timer): New variable. (repeat-post-hook): Run idle timer with an "exit function" returned from set-transient-map. Suggested by Gustavo Barros <gusbrs.2016@gmail.com>. (repeat-echo-message): Remove own previous message when input arg is nil. * lisp/window.el (display-buffer-override-next-command): Return exitfun.
* Fix `quit-restore-window' when all previous buffers got killed (Bug#48367)pillule2021-05-151-9/+8
| | | | | | | | | * lisp/window.el (quit-restore-window): Simplify calculation of WINDOW's previous buffer. Avoid that killing WINDOW's previous buffers results in a state where `quit-window' has no more effect, by simply deleting WINDOW in that case (Bug#48367). Copyright-paperwork-exempt: yes
* Various detailed fixes to minibuf.c, etc., to fix bug #48337Alan Mackenzie2021-05-141-31/+31
| | | | | | | | | | | | | | | | | | | | | | | Also fix some unsafe coding. * lisp/window.el (push-window-buffer-onto-prev): New function, extracted from (record-window-buffer): Refactor by extracting the above, and removing the now redundant parameter DO-MINIBUF. * src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Replace calls to get_minibuffer (0) by nth_minibuffer (0). Replace calls to Qrecord_window_buffer by calls to Qpush_window_buffer_onto_prev. (Factive_minibuffer_window, read_minibuf_unwind): Call abort_emacs should an "impossible" null value be returned by nth_minibuffer. (read_minibuf): Move the get_minibuffer_call to just after the incrementation of minibuf_level as a precaution against a missing buffer in Vminibuffer_list. (nth_minibuffer): Replace XCAR by Fcar, to allow (car nil) to work. (init_minibuf_once): Create the inactive buffer *Minibuf-0*. (syms_of_minibuf): New DEFSYM, Qpush_window_buffer_onto_prev. * src/window.c (restore_window_configuration): Replace some XCARs and XCDRs by Fcar_safe and Fcdr_safe.
* Prevent the selected window being a dead mini-window when switching framesAlan Mackenzie2021-05-081-8/+10
| | | | | | | | | | | | | | | This fixes bug #48249 and also a situation where, with recursive minibuffers enabled and minibuffer-follows-selected-frame t, switching frames when a minibuffer was open would leave the mini-window selected on the old frame. * lisp/window.el (record-window-buffer): Add extra parameter DO-MINIBUF, and amend the code such that minibuffers only get processed when that parameter is non-nil. * src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Call Qrecord_window_buffer with the new argument set to Qt. (move_minibuffers_onto_frame): Set the selected window on the old frame when this would otherwise remain the mini-window.
* Fix wrong handling of minibuffers when frames get iconified/made invisibleAlan Mackenzie2021-05-061-1/+1
| | | | | | | | | | | | | | | | | This should fix bug #47766. * lisp/window.el (window-deletable-p): Add a quote where it was missing from minibuffer-follows-selected-frame. * src/frame.c (check_minibuf_window): Delete the function. (delete_frame): In place of calling check_minibuf_window, call move_minibuffers_onto_frame, possibly to move minibuffers onto the new current frame. (Fmake_frame_invisible, Ficonify_frame): Remove calls to check_minibuf_window. * src/minibuf.c (Factive_minibuffer_window): Search the frames for the active minibuffer rather than just assuming minibuf_window has been correctly updated.
* * lisp/window.el (window--state-put-2): Set next/prev-buffers even to nil.Juri Linkov2021-04-281-23/+21
| | | | | When next-buffers or prev-buffers are nil, still use set-window-next-buffers or set-window-prev-buffers to set next/prev-buffers to nil. (Bug#46904)
* Revert window/winner changes (Revert 0454bfd3313)Lars Ingebrigtsen2021-04-251-39/+0
| | | | See bug#23621 for an explanation.
* * lisp/window.el (display-buffer): Doc fix. (Bug#47950)Utkarsh Singh2021-04-221-2/+2
| | | | Copyright-paperwork-exempt: yes
* * lisp/repeat.el (repeat-keep-prefix): New defcustom.Juri Linkov2021-04-061-0/+4
| | | | | | | | | | | | | | * lisp/repeat.el (repeat-map): New autoloaded global variable. (repeat-post-hook): Use 'repeat-map' when non-nil and reset it to nil afterwards. (repeat-post-hook): Keep the current prefix when 'repeat-keep-prefix' is non-nil. * lisp/window.el (other-window-repeat-map): Add "O" that sets 'repeat-map' to 'other-window-repeat-map' before calling '(other-window -1)'. https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01387.html
* Prevent open minibuffers getting lost when their frame gets deletedAlan Mackenzie2021-03-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happened with minibuffer-follows-selected-frame set to t. * doc/emacs/mini.texi (Basic Minibuffer): State where a command's action takes place when a minibuffer's frame has been deleted. * lisp/window.el (window--before-delete-windows, record-window-buffer): Take into account that minibuffers are now recorded on w->prev_buffers field. * src/fns.c (merge_c): New version of `merge' taking a C function, rather than a Lisp function as the comparison function. * src/frame.c (do_switch_frame): Pass arguments sf and for_deletion to move_minibuffers_onnto_frame. * src/lisp.h (top level): Declare merge_c and move_minibuffers_onto_selected_frame. * src/minibuf.c (MB_frame): New Lisp_Object recording the minibuffer's frame. (choose_minibuf_frame): Remove all code except that which sets minibuf_window to the current frame's minibuffer. (minibuffer_ent_greater): New comparison function, passed to merge_c. (zip_minibuffer_stacks): New function. (move_minibuffers_onto_frame): Renamed from `move_minibuffer_onto_frame' given two arguments, the old frame and for_deletion, and simplified. Minibuffers are now stacked in the mini-window's ->prev_buffers field. (read_minibuf): Several detailed amendments. (exp_MB_frame): New Lisp_Object, the expired minibuffer's frame. (read_minibuf_unwind): Search for the expired minibuffer's frame, rather than taking it from (unreliable) variables. Switch temporarily to this frame for tidying up operations. (minibuffer_unwind): New function which pops a stacked minibuffer. (syms_of_minibuf): Call staticpro for the two new Lisp variables. * src/window.c (Fset_window_configuration): Don't record minibuffers with record-window-buffer. * src/xdisp.c (gui_consider_frame_title): Remove redundant Fselect_window, which caused an unwanted frame switch. Amend the arguments to format_mode_line_unwind_data to match.
* New transient mode 'repeat-mode' to allow shorter key sequences (bug#46515)Juri Linkov2021-02-171-0/+22
| | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/basic.texi (Repeating): Document repeat-mode. * lisp/repeat.el (repeat-exit-key): New defcustom. (repeat-mode): New global minor mode. (repeat-post-hook): New function. * lisp/bindings.el (undo-repeat-map): New variable. (undo): Put 'repeat-map' property with 'undo-repeat-map'. (next-error-repeat-map): New variable. (next-error, previous-error): Put 'repeat-map' property with 'next-error-repeat-map'. * lisp/window.el (other-window-repeat-map): New variable. (other-window): Put 'repeat-map' property with 'other-window-repeat-map'. (resize-window-repeat-map): New variable. (enlarge-window, enlarge-window-horizontally) (shrink-window-horizontally, shrink-window): Put 'repeat-map' property with 'resize-window-repeat-map'.
* Add command to recenter errors from Occur/Grep buffersTino Calancha2021-02-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To scroll up/down the current displayed occurrence/error without abandon the Occur/Grep buffer. Add also a command 'recenter-other-window' to recenter the other window from any kind of buffer. * lisp/window.el (recenter-other-window): New command. Bind recenter-other-window to S-M-C-l (Bug#46119). * lisp/simple.el (recenter-current-error): New command. * lisp/progmodes/grep.el (grep-mode-map): Delete bidings for n and p. * lisp/progmodes/compile.el (compilation-minor-mode-map): Move here the n and p bindings. Bind `recenter-current-error' to l. * lisp/replace.el (occur-mode-map): Same. * doc/emacs/windows.texi (Other Window): * doc/emacs/display.texi (Recentering): Document recenter-other-window. * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1): Announce the changes.
* Merge from origin/emacs-27Glenn Morris2021-02-031-7/+10
|\ | | | | | | | | | | | | 7355209f53 (origin/emacs-27) * lisp/window.el (recenter-top-bottom): ... dc78f8a4ea (emacs-27) url-http.el: Special-case NTLM authentication 85b0137858 * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom ... cbeda21083 Sync latest SKK-JISYO.L
| * * lisp/window.el (recenter-top-bottom): Clarify doc string.Eli Zaretskii2021-02-021-7/+10
| |