aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; Fix typosStefan Kangas2023-12-031-1/+1
|
* Fix bug#64152 (Minibuffer sometimes goes "modal")Alan Mackenzie2023-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, when a frame has no minibuffer and is using that of a different "normal" frame, C-x 5 o, etc., and GUI operations fail. Fix by partially reverting the commit from 2022-07-07 15:38:09 +0000 "Remove obscure, obsolete code from do_switch_frame". As a consequent change, also revert the commit from 2022-07-08 20:19:03 +0000 "Remove now unused parameter TRACK from do_switch_frame". * src/frame.c (do_switch_frame): Restore the TRACK parameter. Restore the code which redirects the frame focus when a new frame gets selected. * src/frame.c (Fselect_frame, Fhandle_switch_frame) (delete_frame) * src/keyboard.c (quit_throw_to_read_char) * src/lisp.h (do_switch_frame prototype) * src/minibuf.c (read_minibuf_unwind) * src/window.c (Fset_window_configuration): Restore the TRACK argument to do_switch_frame. * src/xterm.c (x_try_restore_frame): Add a zero TRACK argument to do_switch_frame.
* ; More accurate doc strings for 'window-at' and 'window-at-x-y'.Eli Zaretskii2023-03-041-2/+5
| | | | | * lisp/window.el (window-at-x-y): * src/window.c (Fwindow_at): Doc fix. (Bug#61948)
* Fix 'display-buffer-use-least-recent-window'martin rudalics2023-02-181-8/+25
| | | | | | | | | | | | | | | | | | | * src/window.c (Fwindow_use_time): Doc fix. (Fwindow_bump_use_time): Bump use time of the seleceted window as well. Doc fix. * lisp/window.el (display-buffer-avoid-small-windows): Remove. All users changed. (window--display-buffer): Bump window use time when requested. (display-buffer--lru-window): New function. (display-buffer-use-some-window): Use it. (display-buffer-use-least-recent-window): Rewrite and enhance doc string. * doc/lispref/windows.texi (Selecting Windows) (Buffer Display Action Functions, Buffer Display Action Alists) (The Zen of Buffer Display): Improve and update documentation of window selection and display facilities.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Fix "C-h k" in recursive minibuffersEli Zaretskii2022-12-231-1/+2
| | | | | | | | * lisp/subr.el (event--posn-at-point): Leave POSN alone if it doesn't have at least 6 members. This follows more faithfully what 'event-start' and 'event-end' did before they started using this function, see commit c1cead89f5f. Call posn-at-point with the minibuffer-window when in the minibuffer. (Bug#60252)
* A better fix for bug#60096Eli Zaretskii2022-12-161-1/+9
| | | | | | | | | | | * lisp/startup.el (initial-scratch-message): * lisp/simple.el (get-scratch-buffer-create): Revert last changes. * src/window.c (Fset_window_configuration): Force recalculation of Vwindow_list after restoring the windows. * src/buffer.c (other_buffer_safely): Make sure we always return a valid buffer, even if 'get-scratch-buffer-create' signals an error.
* Merge from origin/emacs-28Stefan Kangas2022-10-191-8/+9
|\ | | | | | | efd3ef3ceb ; * src/window.c: Fix some comments. (Bug#58550)
| * ; * src/window.c: Fix some comments. (Bug#58550)Manuel Giraud2022-10-171-8/+9
| |
* | Speed up scrolling when lines are very long and truncatedEli Zaretskii2022-10-111-5/+92
| | | | | | | | | | | | | | | | | | | | | | * src/window.c (window_scroll_for_long_lines): New function. (window_scroll): Call 'window_scroll_for_long_lines' when lines are very long and truncated on display. Also, disable 'fontification-functions' during scrolling in that case. * src/xdisp.c (redisplay_window): When recentering the window's display, go back to the centering position using a simplified method, if lines in the buffer are very long and truncated on display.
* | Add missing staticpro (bug#58327)Gerd Möllmann2022-10-061-0/+2
| | | | | | | | * src/window.c (init_window_once): staticpro old_selected_window.
* | Merge from origin/emacs-28Stefan Kangas2022-09-011-1/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8807a4f532 Enable 256 colors in fbterm. bbc23ca8ab One more fix for find-file.el 0cbcaf5119 ; Yet another doc fix for 'ff-other-file-alist' (bug#57325) 2d9a391727 Recommend using fbterm in the Linux console. a5a92e577c ; * src/window.c (syms_of_window) <window-point-insertion-... 4d52fe6b96 * lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#... d111b5b651 * lisp/info.el (Info-mode): Support the Linux console better. cc945ec0ed ; Fix doc strings in latin1-disp.el 195fcc932e Improve the documentation of glyphless-character display 72ae02377e ; * lisp/jit-lock.el (jit-lock-chunk-size): Doc fix. 3fb69fad49 Fix documentation of 'glyphless-char-display' # Conflicts: # lisp/international/characters.el # src/xdisp.c
| * ; * src/window.c (syms_of_window) <window-point-insertion-type>: Doc fix.Eli Zaretskii2022-08-291-1/+2
| |
* | Merge from origin/emacs-28Stefan Kangas2022-08-191-1/+3
|\ \ | |/ | | | | | | | | | | | | | | f2c0fb2615 Resurrect obsoletion warning for two functions 9c0eec4ed8 * src/window.c (select_window): Fix assert for buffer = no... 16dfe04be2 Find libgccjit on macOS with Homebrew differently # Conflicts: # etc/NEWS
| * * src/window.c (select_window): Fix assert for buffer = non-active minibufferAlan Mackenzie2022-08-191-1/+3
| |
* | Further speedups of redisplay of long and truncated linesEli Zaretskii2022-08-141-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (mode_line_update_needed, redisplay_window) (decode_mode_spec): Don't avoid calling current_column, as it is now fast enough. (redisplay_window) <optional_new_start>: Don't call 'move_it_to' if its result will not be used. (Flong_line_optimizations_p): New primitive. * src/indent.c (Fcurrent_column): Doc fix. (current_column, scan_for_column): When in a buffer with long and/or truncated lines, quickly return an approximate value. * src/window.c (Frecenter): Use the old text-mode code when the buffer has very long lines. * lisp/simple.el (line-move): Avoid costly calls to 'line-move-partial' and 'line-move-visual' when lines are truncated and/or very long. (move-beginning-of-line): Call 'line-beginning-position' instead of the slower 'skip-chars-backward'. * etc/NEWS: Announce 'long-line-optimizations-p'.
* | Delete redisplay-end-trigger-functions and related defunsStefan Kangas2022-07-311-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This variable and related functions have been obsolete since 23.1. The last things to depend on this (fast-lock.el and lazy-lock.el) were recently removed. * src/dispextern.h (struct it): Delete field 'redisplay_end_trigger_charpos'. * src/window.c (Fwindow_redisplay_end_trigger) (Fset_window_redisplay_end_trigger): Delete defuns and corresponding defsubrs for functions obsolete since 23.1. * src/window.h (wset_redisplay_end_trigger): Delete function. (GCALIGNED_STRUCT): Delete 'redisplay_end_trigger'. * src/xdisp.c (run_redisplay_end_trigger_hook): Delete function. (syms_of_xdisp) <redisplay_end_trigger_functions>: Delete variable obsolete since 23.1. (init_iterator, next_element_from_buffer): Don't run or set above deleted hook variable. * lisp/subr.el: Delete obsoletion definitions for above deleted defuns and variable. * doc/lispref/hooks.texi (Standard Hooks): * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): * lisp/loadhist.el (unload-feature-special-hooks): Don't mention above deleted variable. * admin/coccinelle/window.cocci: Adjust for above changes.
* | Merge from origin/emacs-28Stefan Kangas2022-07-261-1/+1
|\ \ | |/ | | | | | | 970190b844 Avoid infloop in 'recenter' a866674b2a Fix inaccuracies in "lax search" documentation
| * Avoid infloop in 'recenter'Eli Zaretskii2022-07-251-1/+1
| | | | | | | | | | * src/window.c (Frecenter): Avoid infinite loop in the minibuffer under 'fido-vertical-mode'. (Bug#56765)
* | Fix handling hscroll during drag-and-dropPo Lu2022-07-221-1/+4
| | | | | | | | | | | | | | | | * lisp/x-dnd.el (x-dnd-hscroll-flags): Delete function. (x-dnd-get-modifiers, x-dnd-wheel-modifier-type): New functions. (x-dnd-mwheel-scroll): Use that to determine hscroll instead. * src/window.c (set_window_hscroll): Mark window as needing redisplay if the hscroll really changed.
* | Merge branch 'feature/fix-the-long-lines-display-bug'Gregory Heytings2022-07-211-1/+1
|\ \
| * | Actually fix the long lines display bug (bug#56393).Gregory Heytings2022-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (struct it): New 'narrowed_begv' field. * src/dispextern.h (WITH_NARROWED_BEGV): New macro. * src/xdisp.c (get_narrowed_begv): New function. (init_iterator): Initilize the 'narrowed_begv' field. (back_to_previous_line_start, get_visually_first_element, move_it_vertically_backward): Use the new macro. * src/dispextern.h: Prototype of 'get_narrowed_begv'. * src/window.c (window_body_height): Make it externally visible. * src/window.h: Prototype of 'window_body_height'. * src/composite.c (find_automatic_composition): Optimize display in buffers with very long lines with 'get_narrowed_begv'. * lisp/obsolete/longlines.el: Reobsolete longlines-mode. * etc/NEWS: Announce the new minor mode, and remove the unobsoletion indication for 'longlines-mode'. * doc/emacs/trouble.texi (Long Lines): Remove the section. (Lossage): Remove the entry for the Long Lines section. * doc/emacs/emacs.texi (Top): Remove the entry for the Long Lines section.
| * | Revert commits 9ea9533f17, c0c4600ece, 7b19ce51fc, 051d2a1e36 and eb6d2fb58d.Gregory Heytings2022-07-081-5/+0
| | |
| * | Various improvements to auto-narrow mode.Gregory Heytings2022-07-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/files.el (auto-narrow-display-length): Improve docstring. (auto-narrow-widen-automatically): Add 'undo' to the command list. (auto-narrow-hook): New defcustom. (auto-narrow-pre-command-function, auto-narrow-post-command-function): Move initialization code. (auto-narrow-mode): Do not make the 'auto-narrow-mode' permanent local anymore. * lisp/font-lock.el (turn-off-font-lock-mode): New convenience function. * src/xdisp.c (set_vertical_scroll_bar): Fix typo. (redisplay_window): Use the new convenience function. * src/buffer.h (BUFFER_NEEDS_AUTO_NARROWING_P, BUFFER_AUTO_NARROWED_NON_NARROWED_P): Two new convenience functions. * src/window.c (Frecenter): Do not recenter auto-narrowed buffers that are not actually narrowed. * etc/NEWS: Improvement. * doc/emacs/display.texi (Auto-Narrowing): Improvement.
* | | Merge from origin/emacs-28Stefan Kangas2022-07-091-1/+1
|\ \ \ | | |/ | |/| | | | | | | 3442de2edd Doc fix; don't mention obsolete variable c4e251103b ; * lisp/textmodes/rst.el: Update URLs.
| * | Doc fix; don't mention obsolete variableStefan Kangas2022-07-081-1/+1
| | | | | | | | | | | | | | | * src/window.c (Fset_window_hscroll): Doc fix; don't mention obsolete variable.
* | | Remove now unused parameter TRACK from do_switch_frame.Alan Mackenzie2022-07-081-1/+1
| |/ |/| | | | | | | | | | | | | | | * src/lisp.h (extern do_swith_frame declaration) * src/frame.c (do_switch_frame): Remove parameter TRACK and its comment. * src/frame.c (Fselect_frame, Fhandle_switch_frame, delete_frame) * src/keyboard.c (quit_throw_to_read_char) * src/minibuf.c (read_minibuf_unwind (twice)) * src/window.c (Fset_window_configuration): Remove argument TRACK.
* | abort-redisplay: Add missing unbind_to in 'recenter'Florian Rommel2022-07-031-0/+1
| | | | | | | | | | * src/window.c (recenter): Add ubind_to before early return. (Bug#56369)
* | Merge branch 'abort-redisplay'Eli Zaretskii2022-06-241-1/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows abandoning the redisplay of a window that takes too long to complete. Bug#45898 * src/xdisp.c (update_redisplay_ticks): New function. (init_iterator, set_iterator_to_next): Call 'update_redisplay_ticks'. (syms_of_xdisp) <max_redisplay_ticks>: New variable. <list_of_error>: Remove 'void-variable': it is no longer needed, since 'calc_pixel_width_or_height' can no longer signal a void-variable error, and it gets in the way of aborting redisplay via 'redisplay_window_error'. * src/keyboard.c (command_loop_1): Reinitialize the tick count before executing each command in the loop. * src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks' after finishing the loop. * src/dispnew.c (make_current): Make sure enabled rows of the current matrix have a valid hash, even if redisplay of a window was aborted due to slowness. This avoids assertion violations in 'scrolling_window' due to the wrong hash value. * src/xdisp.c (display_working_on_window_p): New global variable. (unwind_display_working_on_window): New function. * src/keyboard.c (command_loop_1): Reset 'display_working_on_window_p' before and after executing commands. * src/window.c (Frecenter, window_scroll, displayed_window_lines): * src/indent.c (Fvertical_motion): Set 'display_working_on_window_p' before calling 'start_display'. * src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks' after finishing the loop. * src/regex-emacs.c (re_match_2_internal): * src/bidi.c (bidi_find_bracket_pairs, bidi_fetch_char) (bidi_paragraph_init, bidi_find_other_level_edge): Update the redisplay tick count as appropriate, when moving the iterator by one character position actually requires to examine many more positions. * src/xdisp.c (redisplay_window_error): Show messages about aborted redisplay of a window as delayed-warnings. * doc/emacs/trouble.texi (DEL Does Not Delete): Move to the end of the chapter. This issue is no longer frequent or important as it was back in Emacs 20 days. (Long Lines): Document 'max-redisplay-ticks'. * doc/emacs/emacs.texi (Top): Update the detailed menu. * etc/NEWS: Announce 'max-redisplay-ticks'.
| * | Allow aborting redisplay stuck in 'parse-partial-sexp'Eli Zaretskii2022-06-181-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (display_working_on_window_p): New global variable. (unwind_display_working_on_window): New function. * src/keyboard.c (command_loop_1): Reset 'display_working_on_window_p' before and after executing commands. * src/window.c (Frecenter, window_scroll, displayed_window_lines): * src/indent.c (Fvertical_motion): Set 'display_working_on_window_p' before calling 'start_display'. * src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks' after finishing the loop.
* | | Fix disruption of windows' display by shr.elEli Zaretskii2022-06-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/window.c (struct saved_window): New member 'vscroll'. (Fset_window_configuration, save_window_save): Save and restore the window's vscroll value. * lisp/net/shr.el (shr-insert-document): Restore the original window's hscroll, in case we are rendering in a window other than where the document will be eventually displayed. This avoids resetting hscroll of windows we use temporarily for shr's rendering job. (Bug#56008)
* | | Use BASE_EQ instead of EQ where obviously safeMattias Engdegård2022-06-161-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (deadp): * src/buffer.c (reset_buffer_local_variables, candidate_buffer) (Fkill_buffer, Fbuffer_swap_text, Fmake_overlay, Fmove_overlay): * src/callint.c (Fcall_interactively): * src/coding.c (decode_coding_object, encode_coding_object) (code_convert_region, Ffind_operation_coding_system): * src/comp.c (Fcomp_el_to_eln_rel_filename): * src/conf_post.h (RE_TRANSLATE_P): * src/data.c (Fkill_local_variable, Fash, expt_integer): * src/dired.c (file_name_completion): * src/dispnew.c (set_window_cursor_after_update, update_frame_1) (Fframe_or_buffer_changed_p): * src/doc.c (Fdocumentation, Fdocumentation_property) (default_to_grave_quoting_style): * src/editfns.c (Fconstrain_to_field, save_excursion_save) (save_excursion_restore, Fngettext): * src/eval.c (Fautoload, un_autoload, specbind): * src/fileio.c (Fmake_temp_file_internal): * src/fns.c (string_char_to_byte, string_byte_to_char) (Fnthcdr, Fnreverse): * src/indent.c (vmotion): * src/inotify.c (add_watch): * src/keyboard.c (command_loop_1, read_char) (read_char_minibuf_menu_prompt): * src/lread.c (oblookup): * src/macfont.m (macfont_descriptor_entity, macfont_open): * src/minibuf.c (Finnermost_minibuffer_p, Ftry_completion) (Ftest_completion): * src/nsfns.m (ns_set_icon_name): * src/pdumper.c (dump_queue_dequeue): * src/pgtkfns.c (pgtk_set_icon_type, pgtk_set_icon_name): * src/process.c (Faccept_process_output): * src/textprop.c (set_text_properties): * src/w32fns.c (w32_set_icon_type, w32_set_icon_name): * src/w32select.c (validate_coding_system): * src/window.c (decode_next_window_args, window_loop) (save_window_save): * src/xdisp.c (wset_redisplay): * src/xfaces.c (Fx_family_fonts, resolve_face_name) (gui_supports_face_attributes_p): * src/xfns.c (x_set_icon_type, x_set_icon_name): * src/xselect.c (clean_local_selection_data): Use BASE_EQ instead of EQ where it is obvious that neither argument can be a symbol with properties or at least one argument is a non-symbol.
* | ; * src/window.c (window_body_unit_from_symbol): Fix Lisp EQ.Eli Zaretskii2022-06-091-3/+5
| |
* | Account for remapped faces in $COLUMNS and $LINES in EshellJim Porter2022-06-091-45/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/window.h (window_body_unit): New enum... (window_body_width): ... use it. * src/window.c (window_body_unit_from_symbol): New function. (window_body_height, window_body_width): Make PIXELWISE a 'window_body_unit'. (window-body-height, window-body-width): Accept 'remap' for PIXELWISE. (window-lines-pixel-dimensions, window_change_record_windows) (run_window_change_functions, resize_frame_windows, grow_mini_window) (shrink_mini_window, scroll-left, scroll-right): Update calls to 'window_body_height' and 'window_body_width'. * src/indent.c (compute_motion): Update calls to 'window_body_width'. * lisp/eshell/em-ls.el (eshell-ls-find-column-widths) (eshell-ls-find-column-lengths): Use 'window-body-width'. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Use 'window-body-width' and 'window-body-height'. * test/lisp/eshell/esh-var-tests.el (esh-var-test/window-height) (esh-var-test/window-width): Rename to... (esh-var-test/lines-var, esh-var-test/columns-var): ... and update expected value. * doc/lispref/windows.texi (Window Sizes): Document new behavior of PIXELWISE argument for 'window-body-width' and 'window-body-height'. * etc/NEWS: Announce this change (bug#55696).
* | Remove window-max-characters-per-lineLars Ingebrigtsen2022-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Window Sizes): * doc/lispref/display.texi (Size of Displayed Text): Remove documentation. * lisp/fringe.el (fringe-mode): Point to the right function. * lisp/window.el (window-char-pixel-width) (window-char-pixel-height, window-max-characters-per-line): Remove functions -- this was already added as window-max-chars-per-line. * src/window.c (Fwindow_body_width): Adjust doc string.
* | Rename compare-window-configurations and update docLars Ingebrigtsen2022-05-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Window Configurations): Update name. * lisp/strokes.el (strokes-window-configuration-changed-p): * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Update callers and references. * lisp/subr.el (compare-window-configurations): Make into obsolete alias. * src/window.c (Fwindow_configuration_equal_p): Rename (bug#14964).
* | ; * src/window.c (Fset_window_vscroll): Fix doc string.Po Lu2022-05-111-1/+1
| |
* | Allow precision-scrolling nonselected windows when the minibuffer is resizedPo Lu2022-05-091-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Vertical Scrolling): Document new `preserve-vscroll-p' parameter of `set-window-vscroll'. * etc/NEWS: Announce new parameter. * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down-page) (pixel-scroll-precision-scroll-up-page): Use that parameter when setting the vscroll. * src/window.c (window_scroll_pixel_based, Fset_window_vscroll): Adjust for new parameter. * src/window.h (struct window): New flag `preserve_vscroll_p'. * src/xdisp.c (redisplay_window): Preserve the vscroll inside force_start on frozen windows with that flag set. (bug#55312)
* | Fix bug in `pixel-scroll-precision-mode' on nonselected windowsPo Lu2022-05-081-0/+3
| | | | | | | | | | * src/window.c (Fset_window_vscroll): Mark window for redisplay. (bug#55299)
* | Merge from origin/emacs-28Stefan Kangas2022-05-061-1/+7
|\ \ | |/ | | | | | | 69c56cbe6e ; * src/w32notify.c: Fix a typo in a comment. 3b9e60ba2f ; * src/window.c (Fset_window_start): Mention the effect o...
| * ; * src/window.c (Fset_window_start): Mention the effect on vscroll.Eli Zaretskii2022-05-051-1/+7
| |
* | Make scroll-other-window respect target window remappingsLars Ingebrigtsen2022-05-011-32/+0
| | | | | | | | | | | | * lisp/window.el (scroll-other-window, scroll-other-window-down): Moved from window.c and change implementation so that they respect command remappings in the target window (bug#20236).
* | Add new functions for computing character metrics for windowsTitus von der Malsburg2022-04-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): Document the char functions. * doc/lispref/windows.texi (Window Sizes): Document window-max-characters-per-line. * lisp/window.el (window-char-pixel-width) (window-char-pixel-height) (window-max-characters-per-line): New functions (bug#19395).
* | Add helper function to remove title bar when maximizing framesLars Ingebrigtsen2022-04-291-1/+4
| | | | | | | | | | | | | | | | * lisp/frame.el (toggle-frame-maximized): Mention it. (frame-hide-title-bar-when-maximized): New function (bug#31968). Adapted from code by Jonathan Kyle Mitchell. * src/window.c (syms_of_window): Mention it.
* | src/xdisp.c: Use same test in `redisplay_window` and `prepare_menu_bars`Stefan Monnier2022-04-271-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This consolidates the test made in those two functions so as to make sure they agree whether a window needs to be redisplayed. At the same time, change this test so it uses the window's point rather than the buffer's point when comparing to `w->last_point`. * src/xdisp.c (needs_no_redisplay): New function, extracted from `redisplay_window`. (redisplay_window, prepare_menu_bars): Use it. * src/window.c (window_point): New function, extracted from `Fwindow_point`. (Fwindow_point): Use it. * src/window.h (window_point): Declare it.
* | Merge from origin/emacs-28Eli Zaretskii2022-04-161-2/+7
|\ \ | |/ | | | | | | | | | | | | | | 84a2857722 Fix scrolling of the stack window in Calc 9dd44505b1 ; * src/window.c (Fset_window_start): Clarify the effect o... 24a6c7c8c0 Update and fix instructions and scripts for updating the W... 886339747b Extend tramp-archive-test45-auto-load ff997ad786 Ensure local `default-directory' in Tramp when needed 4f27588a16 Clarify "idleness" in the ELisp manual
| * ; * src/window.c (Fset_window_start): Clarify the effect of NOFORCE.Eli Zaretskii2022-04-091-2/+7
| |
* | Mention the other-window-scroll-default user optionLars Ingebrigtsen2022-03-221-1/+3
| | | | | | | | | | * src/window.c (Fscroll_other_window): Link to other-window-scroll-default in the doc string.
* | Remove sanitize_window_sizesPaul Eggert2022-03-191-9/+0
| | | | | | | | | | * src/window.c (sanitize_window_sizes): Remove; no-longer-used. A previous refactoring moved this to Lisp without removing the C code.
* | Replace ptrdiff_t with new specpdl_ref type for specpdl referencesMattias Engdegård2022-02-121-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The specpdl_ref type is just an alias for ptrdiff_t; the compiled code remains the same. All operations on specpdl_ref (arithmetic, comparison etc) now go through inline functions. The bulk of the change is almost completely mechanical. It is done to prepare for a type-safe representation and subsequent performance improvement. * src/lisp.h (specpdl_ref, specpdl_count_to_ref, specpdl_ref_to_count) (specpdl_ref_eq, specpdl_ref_lt, specpdl_ref_valid_p) (make_invalid_specpdl_ref, specpdl_ref_add, specpdl_ref_to_ptr): New. (SPECPDL_INDEX, struct handler, USE_SAFE_ALLOCA, safe_free) (safe_free_unbind_to): * src/alloc.c (run_finalizer_function, inhibit_garbage_collection) (garbage_collect, Fgarbage_collect, which_symbols): * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): * src/buffer.c (Fkill_buffer, Fset_buffer_major_mode, Fmove_overlay) (Fdelete_overlay): * src/bytecode.c (exec_byte_code): * src/callint.c (Ffuncall_interactively, Fcall_interactively): * src/callproc.c (Fcall_process, call_process, create_temp_file) (Fcall_process_region): * src/charset.c (load_charset_map_from_file): * src/coding.c (decode_coding_gap, decode_coding_object) (encode_coding_object, Fread_coding_system): * src/comp.c (emit_static_object, helper_unbind_n, load_comp_unit): * src/composite.c (update_compositions, autocmp_chars): * src/cygw32.c (conv_filename_to_w32_unicode) (conv_filename_from_w32_unicode): * src/data.c (notify_variable_watchers): * src/decompress.c (Fzlib_decompress_region): * src/dired.c (directory_files_internal, file_name_completion) (file_attributes): * src/dispnew.c (Fredisplay): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/editfns.c (Fsave_excursion, Fsave_current_buffer) (Freplace_buffer_contents, Fsubst_char_in_region, Fsave_restriction) (styled_format): * src/emacs-module.c (Fmodule_load, funcall_module): * src/emacs.c (init_cmdargs, Fdump_emacs): * src/eval.c (call_debugger, do_debug_on_call, FletX, Flet) (Ffuncall_with_delayed_message, Funwind_protect) (internal_lisp_condition_case, signal_or_quit) (load_with_autoload_queue, Feval, grow_specpdl_allocation) (record_in_backtrace, eval_sub, Ffuncall, apply_lambda) (funcall_lambda, clear_unwind_protect, set_unwind_protect) (set_unwind_protect_ptr, unbind_to, Fbacktrace_eval): * src/fileio.c (Fmake_temp_file_internal, Fcopy_file, Frename_file) (Finsert_file_contents, write_region, Fdo_auto_save): * src/fns.c (Fyes_or_no_p, Frequire, hash_table_user_defined_call): * src/fringe.c (update_window_fringes): * src/gtkutil.c (xg_dialog_run): * src/haiku_io.c (c_specpdl_idx_from_cxx): * src/haiku_support.cc (be_popup_file_dialog): * src/haiku_support.h (c_specpdl_idx_from_cxx): * src/haikufns.c (haiku_create_frame, haiku_create_tip_frame) (haiku_hide_tip, Fx_show_tip, Fhaiku_read_file_name): * src/haikumenu.c (haiku_popup_dialog, set_frame_menubar): * src/image.c (slurp_file): * src/indent.c (line_number_display_width, Fvertical_motion): * src/insdel.c (signal_before_change, signal_after_change) (Fcombine_after_change_execute): * src/intervals.c (get_local_map): * src/json.c (lisp_to_json_nonscalar_1, Fjson_serialize, Fjson_insert) (Fjson_parse_string, Fjson_parse_buffer): * src/keyboard.c (recursive_edit_1, Frecursive_edit, cmd_error) (Finternal_track_mouse, command_loop_1, read_menu_command) (safe_run_hooks, read_event_from_main_queue, read_char, timer_check_2) (menu_item_eval_property, read_key_sequence, read_key_sequence_vs) (Fsuspend_emacs): * src/keymap.c (Fcurrent_active_maps, Fdescribe_vector) (Fhelp__describe_vector): * src/lread.c (Fload, save_match_data_load, readevalloop) (Feval_buffer, Feval_region, grow_read_buffer, read_integer, read1): * src/macros.c (Fexecute_kbd_macro): * src/menu.c (x_popup_menu_1): * src/minibuf.c (read_minibuf, set_minibuffer_mode) (read_minibuf_unwind, Fread_string, Fread_buffer): * src/nsfns.m (Fx_create_frame, Fx_show_tip): * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): * src/pdumper.c (Fdump_emacs_portable): * src/pgtkfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fpgtk_print_frames_dialog, Fx_file_dialog, Fx_select_font): * src/pgtkmenu.c (set_frame_menubar, create_and_show_popup_menu) (pgtk_menu_show, create_and_show_dialog, pgtk_dialog_show) (pgtk_popup_dialog): * src/pgtkterm.c (pgtk_cr_export_frames): * src/print.c (PRINTPREPARE, temp_output_buffer_setup) (Fprin1_to_string, print_vectorlike): * src/process.c (Fmake_process, create_process, Fmake_pipe_process) (Fmake_serial_process, connect_network_socket, Fmake_network_process) (network_interface_info, server_accept_connection) (wait_reading_process_output, read_process_output, exec_sentinel): * src/regex-emacs.c (re_match_2_internal): * src/search.c (looking_at_1, fast_looking_at, search_buffer_re): * src/sound.c (Fplay_sound_internal): * src/sysdep.c (system_process_attributes): * src/term.c (tty_menu_show): * src/textprop.c (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (set_text_properties, set_text_properties_1, Fremove_text_properties) (Fremove_list_of_text_properties): * src/thread.c (Fmutex_lock, invoke_thread_function): * src/undo.c (truncate_undo_list): * src/w32fns.c (Fx_create_frame, w32_create_tip_frame, w32_hide_tip) (Fx_show_tip, Fx_file_dialog): * src/w32font.c (Fx_select_font): * src/w32menu.c (set_frame_menubar): * src/window.c (window_list, next_window, window_list_1) (run_window_configuration_change_hook, Frun_window_scroll_functions) (run_window_change_functions, set_window_buffer) (temp_output_buffer_show, window_scroll, scroll_command) (Fscroll_other_window, Fscroll_other_window_down): * src/xdisp.c (safe__call, handle_fontified_prop, handle_face_prop) (handle_single_display_spec, Fbuffer_text_pixel_size) (message_dolog, with_echo_area_buffer, setup_echo_area_for_printing) (display_echo_area, set_message, clear_message, echo_area_display) (gui_consider_frame_title, prepare_menu_bars, update_menu_bar) (update_tab_bar, update_tool_bar, redisplay_internal) (redisplay_preserve_echo_area, run_window_scroll_functions) (redisplay_window, extend_face_to_end_of_line) (display_count_lines_logically, display_count_lines_visually) (display_mode_lines, display_mode_line, Fformat_mode_line) (decode_mode_spec): * src/xfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fx_file_dialog, Fx_select_font, Fx_print_frames_dialog): * src/xmenu.c (set_frame_menubar, create_and_show_popup_menu) (x_menu_show, create_and_show_dialog, x_dialog_show) (xw_popup_dialog): * src/xselect.c (x_get_local_selection, x_reply_selection_request) (x_handle_selection_request, wait_for_property_change): * src/xterm.c (x_cr_export_frames, x_connection_closed): Replace ptrdiff_t with specpdl_ref for referencing specpdl and use the corresponding functions instead of direct arithmetic.