aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix the mistake that led to the revertsGerd Möllmann2025-01-251-1/+1
| | | | | | | | | | | | * src/terminal.c (raw_cursor_to): Fix reversed arguments.
* | | Reapply "Multi-tty: selected frame can be a GUI frame"Gerd Möllmann2025-01-251-15/+38
| | | | | | | | | | | | This reverts commit d93d822285813b89f2444ef93c5747cbeb67a46b.
* | | Reapply "Fix mouse position handling for nested tty child frames"Gerd Möllmann2025-01-253-12/+31
| | | | | | | | | | | | This reverts commit e2cc52dbcd196f95cc79c6c6d899b9e86e696fe5.
* | | Reapply "Fix tty-frame-at for nested tty child frames"Gerd Möllmann2025-01-251-2/+4
| | | | | | | | | | | | This reverts commit 9ad28959d6895720865c0718bf60f4b7b0b144f3.
* | | Reapply "Fix cursor positioning of nested tty child frames"Gerd Möllmann2025-01-251-6/+14
| | | | | | | | | | | | This reverts commit 65036323fc1cdf18a7812b1c922583e6466972a6.
* | | Reapply "Simplify absolute (x, y) computation on ttys"Gerd Möllmann2025-01-253-15/+13
| | | | | | | | | | | | This reverts commit 13fdcd730ff63bf79caace9a6e46aff5f944b1b7.
* | | Revert "Simplify absolute (x, y) computation on ttys"Gerd Möllmann2025-01-253-13/+15
| | | | | | | | | | | | This reverts commit 5e132835ad320be1d5c45ffbf83d67d16fc7bf96.
* | | Revert "Fix cursor positioning of nested tty child frames"Gerd Möllmann2025-01-251-14/+6
| | | | | | | | | | | | This reverts commit 8cbb3c7335ff03b6fae4efeae126e91993cb962a.
* | | Revert "Fix tty-frame-at for nested tty child frames"Gerd Möllmann2025-01-251-4/+2
| | | | | | | | | | | | This reverts commit 9693f2a95ad14bf0caa34e60d72722d4dd4d85c9.
* | | Revert "Fix mouse position handling for nested tty child frames"Gerd Möllmann2025-01-253-31/+12
| | | | | | | | | | | | This reverts commit f37559a1ee035d184bc4db6e4f597281d3ac6879.
* | | Revert "Multi-tty: selected frame can be a GUI frame"Gerd Möllmann2025-01-251-38/+15
| | | | | | | | | | | | This reverts commit 57b7c07b3709d9a2b2c70e0c8218a52448368a12.
* | | Multi-tty: selected frame can be a GUI frameGerd Möllmann2025-01-251-15/+38
| | | | | | | | | | | | | | | | | | | | | | | | * src/dispnew.c (frame_selected_window_frame): New function. (is_cursor_obscured): Use it. (terminal_cursor_magic): Use the frame of the selected window of he root frame. (combine_updates_for_frame): Move Android conditional compilation out.
* | | Fix mouse position handling for nested tty child framesGerd Möllmann2025-01-253-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispnew.c (child_xy): New function. * src/dispextern.h: Declare it. * src/term.c (tty_frame_at): Return child-relative (x, y) in output parameters. (Ftty_frame_at): Return a list (FRAME CHILD-X CHILD-Y). (handle_one_term_event): Adapt use of tty_frame_at. * lisp/xt-mouse.el (xterm-mouse-event): Use new tty-frame-at.
* | | Fix tty-frame-at for nested tty child framesGerd Möllmann2025-01-251-2/+4
| | | | | | | | | | | | | | | * src/term.c (tty_frame_at): Translate child frame origin to absolute coordinates.
* | | Fix cursor positioning of nested tty child framesGerd Möllmann2025-01-251-6/+14
| | | | | | | | | | | | | | | * src/terminal.c (cursor_to, raw_cursor_to): Fix translation to root coordinates.
* | | Simplify absolute (x, y) computation on ttysGerd Möllmann2025-01-253-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | * src/dispnew.c (root_xy): New function. (frame_pos_abs): Removed. (frame_rect_abs, abs_cursor_pos): Use root_xy. * src/dispextern.h: Declare root_xy. * src/term.c (mouse_get_xy): Use it.
* | | Disable more redisplay optimizations when child frames are visibleGerd Möllmann2025-01-241-6/+27
| | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (redisplay_internal): Disable more optimizations on a tty root frame displaying a child frame. (try_cursor_movement,(try_window_reusing_current_matrix) (try_window_id): Don't use on tty root frames displaying a child frame.
* | | ; * src/dispnew.c (combine_updates_for_frame): Fix whitespace.Eli Zaretskii2025-01-241-1/+1
| | |
* | | Revert "; * src/dispnew.c (combine_updates_for_frame): Fix whitespace."Eli Zaretskii2025-01-241-1/+1
| | | | | | | | | | | | | | | This reverts commit c941b94e51f4e5996718416ac908249cb71da1d9. It was pushed by mistake.
* | | ; * src/dispnew.c (combine_updates_for_frame): Fix whitespace.Eli Zaretskii2025-01-241-1/+1
| | |
* | | Handle update of invisible tty frames (bug#75056)Gerd Möllmann2025-01-241-2/+11
| | | | | | | | | | | | | | | * src/dispnew.c (combine_updates_for_frame): Don't assume root frame is visible.
* | | Support loading dynamic docstrings from Emacs <29Stefan Kangas2025-01-241-1/+4
| | | | | | | | | | | | | | | * src/doc.c (get_doc_string): Take absolute value to be compatible with bytecode from Emacs <29.
* | | Don't use negative positions for docstringsStefan Kangas2025-01-241-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were used for user-variables (doc starts with a '*'), but we don't use that convention any more. On my machine, there are no docstrings starting with a '*' in etc/DOC. * src/doc.c (Fsnarf_documentation): Never use negative positions. (get_doc_string): Don't use eabs; position must now be positive, and all callers are verified to do that.
* | | Fix GC bug causing incorrect 'format' output (Bug#75754)Pip Cet2025-01-231-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | This fixes the correctness bug discovered in bug#75754, but not the performance issue or excessive stack usage. * src/editfns.c (styled_format): Split 'info' array into two arrays, one of them allocated via SAFE_ALLOCA_LISP for GC protection.
* | | Simplify Fdocumentation and Fdocumentation_propertyStefan Kangas2025-01-231-21/+11
| | | | | | | | | | | | | | | | | | * src/doc.c (Fdocumentation, Fdocumentation_property): Simplify; reread_doc_file always returns true so just assume that. (reread_doc_file): Change return type to void.
* | | Handle tty menus overlapping child framesGerd Möllmann2025-01-233-12/+11
| | | | | | | | | | | | | | | | | | | | | * src/dispnew.c (frame_pos_abs, is_frame_ancestor): Make externally visible. * src/dispextern.h: Declare above functions. * src/term.c (mouse_get_xy): Handle mouse movement over child frames.
* | | Don't forget setting the top frame if not switching root framesGerd Möllmann2025-01-231-0/+5
| | | | | | | | | | | | | | | * src/frame.c (do_switch_frame): Make sure to set top frame in all cases.
* | | Fix setting a tty's top frame when switching framesGerd Möllmann2025-01-231-5/+9
| | | | | | | | | | | | * src/frame.c (do_switch_frame): Compare root frames correctly.
* | | Minor image_error related cleanupsStefan Kangas2025-01-221-5/+3
| | | | | | | | | | | | | | | | | | | | | * src/image.c (image_create_x_image_and_pixmap_1): Avoid temporary variable by passing the value directly to image_error. (tiff_handler): Prefer image_error to add_to_log for local consistency.
* | | ; * src/pdumper.c (dump_hash_table): Adjust hash; bitfields changed.Pip Cet2025-01-221-1/+1
| | |
* | | Don’t silently truncate connection-lost diagnosticPaul Eggert2025-01-211-4/+6
| | | | | | | | | | | | | | | * src/xterm.c (x_io_error_quitter): Do not silently truncate the diagnostic when a connection is lost to an X server.
* | | Check for snprintf truncation in pgtktermPaul Eggert2025-01-211-3/+4
| | | | | | | | | | | | | | | * src/pgtkterm.c (pgtk_enumerate_devices): Abort if snprintf truncated.
* | | Port pdumper to unlikely long sprintf outputPaul Eggert2025-01-211-4/+6
| | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_ptr_referrer): Port to platforms where sprintf %p generates absurdly long output. (dump_vectorlike): Port to hypothetical platforms where %d generates absurdly long output.
* | | When debugging image.c, abort if silent truncationPaul Eggert2025-01-211-4/+6
| | | | | | | | | | | | | | | | | | | | | * src/image.c (image_build_heuristic_mask, png_load_body): Abort if snprintf truncated. (If truncation is not possible here we should use sprintf instead, as that simplifies automatic runtime checking.)
* | | Destroy GTK tool bar widget if it was never attached (bug#75636)Pip Cet2025-01-221-0/+6
| | | | | | | | | | | | | | | * src/gtkutil.c (xg_free_frame_widgets): Call gtk_widget_destroy on an unpacked toolbar widget.
* | | Prefer snprintf to sprintf in image.cStefan Kangas2025-01-221-7/+8
| | | | | | | | | | | | | | | * src/image.c (image_background, image_build_heuristic_mask) (png_load_body): Prefer snprintf to sprintf.
* | | Improve copying current glyphs when building frame matrixGerd Möllmann2025-01-211-10/+15
| | | | | | | | | | | | | | | * src/dispnew.c (build_frame_matrix_from_leaf_window): Don't make space glyphs. More comments.
* | | ; * src/gtkutil.c (free_frame_tool_bar): Remove redundant assignment.Pip Cet2025-01-211-2/+1
| | |
* | | Handle unknown units provided by the rsvg library (bug#75712)Pip Cet2025-01-211-23/+29
| | | | | | | | | | | | | | | | | | * src/image.c (svg_css_length_to_pixels): Restructure so GCC warns about new enum members. Add case for RSVG_UNIT_CH. Warn about unknown units discovered at runtime.
* | | Don't use a redisplay optimization in a certain case on ttysGerd Möllmann2025-01-213-1/+18
| | | | | | | | | | | | | | | | | | | | | * src/dispnew.c (is_tty_root_frame_with_visible_child): New function. * src/dispextern.h: Declare it. * src/xdisp.c (redisplay_internal): Don't use optimization 1 for tty root frames with a visible child frame.
* | | Remove a false #ifdef HAVE_WINDOW_SYSTEMGerd Möllmann2025-01-211-2/+1
| | | | | | | | | | | | | | | | | | * src/xdiso.c (update_tab_bar)_ Don't use #ifdef HAVE_WINDOW_SYSTEM for setting the selected frame. That only makes a build without window system misbehave.
* | | Signal error when keyword/arg list is malformedRobert Pluim2025-01-215-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/data.c (syms_of_data): Add Qmalformed_keyword_arg_list error symbol. * src/process.c (Fmake_process, Fmake_pipe_process) (Fserial_process_configure, Fmake_serial_process) (Fmake_network_process): Signal Qmalformed_keyword_arg_list when the argument list length is odd. * src/sound.c (parse_sound): Also here.. * src/w32fns.c (Fw32_notification_notify): ..and here. (Bug#75584)
* | | Use 'max' macro in clip_to_boundsStefan Kangas2025-01-201-1/+1
| | | | | | | | | | | | * src/lisp.h (clip_to_bounds): Use 'max' macro.
* | | ; Fix last changeEli Zaretskii2025-01-201-3/+3
| | | | | | | | | | | | | | | | | | * src/treesit.c (Ftreesit_parser_create): Fix comment wording. * doc/lispref/parsing.texi (Using Parser): Fix wording and markup.
* | | Make treesit-language-remap-alist completely transparent (bug#72388)Yuan Fu2025-01-191-4/+7
| | | | | | | | | | | | | | | | | | | | | * doc/lispref/parsing.texi (Using Parser): Update manual. * src/treesit.c (Ftreesit_parser_create): Use the LANGUAGE argument given as the language for the parser, not the actual language.
* | | pdumper: Add static_assert for EMACS_RELOC_TYPE_BITSStefan Kangas2025-01-201-0/+2
| | | | | | | | | | | | * src/pdumper.c: Add static_assert for EMACS_RELOC_TYPE_BITS.
* | | Remove redundant case_Lisp_Int macroStefan Kangas2025-01-207-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The case_Lisp_Int macro was originally introduced with different definitions depending on USE_2_TAGS_FOR_INTS. However, since commit 2b5701247845, we have assumed that USE_2_TAGS_FOR_INTS is always defined, and the macro has only a single definition. As a result, the macro is now unnecessary, and replacing it with standard C case labels improves readability and understanding. * src/lisp.h (case_Lisp_Int): Delete macro. * src/alloc.c (process_mark_stack, survives_gc_p): * src/data.c (Fcl_type_of): * src/fns.c (value_cmp, sxhash_obj): * src/pdumper.c (dump_object): * src/print.c (print_object): * src/xfaces.c (face_attr_equal_p): Remove uses of above macro.
* | | Remove workaround for AIX 3.2 crashesStefan Kangas2025-01-191-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emacs does not support AIX 3.2 since 2008. This workaround for AIX 3.2.3 and 3.2.4 (released in 1992) was introduced in 1999 and was only active with #ifdef AIX3_2. In 2008, the condition was changed to #ifdef AIX when support for these older AIX versions was dropped. I couldn't find any justification for why this workaround was retained (instead of being removed) in the commit message or mailing list archives. Given that users of AIX 4.0 (released in 1995) or later have not had this workaround for over a decade (1999-2008), it seems safe to assume that it is no longer necessary. Removing it will also prevent the incorrect overriding of the LANG variable on those systems. * src/emacs.c [AIX] (main): Remove workaround for AIX 3.2. (Bug#75153)
* | | Prefer the 'min'/'max' macros where possibleStefan Kangas2025-01-196-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/composite.c (find_automatic_composition): * src/lisp.h (clip_to_bounds): * src/pgtkfns.c (PATH_MAX_LEN): * src/profiler.c (approximate_median): * src/unexmacosx.c (unexec_write_zero, unexec_copy, unexec_realloc): * src/xdisp.c (get_nearby_bol_pos): Prefer the 'min' and 'max' macros.
* | | Delete duplicate 'min' macroStefan Kangas2025-01-191-4/+0
| | | | | | | | | | | | | | | * src/gmalloc.c (min): Delete duplicate macro. We import lisp.h unconditionally, so it is always defined here.