aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | * src/comp.c (comp_hash_string): Count bytes, not chars.Mattias Engdegård2024-04-281-1/+1
| |
* | Implement dots and dashes on PGTKPo Lu2024-04-282-16/+76
| | | | | | | | | | | | | | | | * src/image.c (image_create_bitmap_from_file) [HAVE_PGTK]: Remove unused variable. * src/pgtkterm.c (pgtk_draw_dash, pgtk_fill_underline) (pgtk_draw_glyph_string): New functions, ported from X.
* | Implement dots and dashes on HaikuPo Lu2024-04-282-11/+105
| | | | | | | | | | | | | | | | | | * src/doc.c (store_function_docstring): Re-enable loading doc strings of compiled functions from etc/DOC, which haiku-win, ns-win, and the like require. * src/haikuterm.c (haiku_draw_dash, haiku_fill_underline) (haiku_draw_text_decoration): Port underline code from X.
* | Fix the Haiku buildPo Lu2024-04-281-1/+1
| | | | | | | | | | * src/haikuterm.c (haiku_draw_text_decoration): Remove stray closing parenthesis.
* | Implement dots and dashes on AndroidPo Lu2024-04-284-20/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine) (measureLine, polyDashPattern): New function. (perform): Delegate to polyDashPattern if the line style is not LineSolid. Also simplify now that anti-aliasing need no longer be taken into account. * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Mention omission in commentary. * java/org/gnu/emacs/EmacsGC.java (EmacsGC): Disable anti-aliasing in default paint object. <line_style, line>: New fields. (markDirty): Apply stroke width. * src/android.c (android_init_emacs_gc_class): Initialize new fields. (android_create_gc, android_free_gc, android_change_gc) (android_set_dashes, android_get_gc_values): * src/androidgui.h (enum android_line_style) (enum android_gc_value_mask, struct android_gc): Introduce line style, width, dash offset and dash GC attributes. * src/androidterm.c (android_draw_dash, android_fill_underline) (android_draw_glyph_string): Port from X. * src/xterm.c (x_draw_dash): Delete redundant code.
* | Fix the MS-Windows build broken by a recent commitEli Zaretskii2024-04-281-1/+1
| | | | | | | | | | * src/w32term.c (w32_draw_glyph_string): Move 'foreground' declaration to where it belongs.
* | Fix Android buildPo Lu2024-04-281-1/+1
| | | | | | | | | | * src/androidterm.c (android_draw_glyph_string): Omit extraneous argument to android_fill_rectangle.
* | Implement dots and dashes on XPo Lu2024-04-283-23/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (enum face_underline_type): Indent and expand commentary as to the new dependency on the order of its enumerals. * src/xfaces.c (realize_gui_face): Enable dots and dashes on window systems. * src/xterm.c (x_draw_underwave): Don't define unused variable on Cairo builds. (x_draw_dash): New function; implement for X and Cairo. (x_fill_underline): New function. Delegate to x_fill_rectangle or x_draw_dash as appropriate. (x_draw_glyph_string): Call x_fill_underline rather than x_fill_rectangle.
* | Port double-line underlines to GUI systemsPo Lu2024-04-287-77/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_get_scale_factor): Replace display in first argument with a pointer to dpyinfo. (x_draw_underwave): Adjust to match. (x_draw_glyph_string): Implement double-line underlines. * src/androidterm.c (android_get_scale_factor) (android_draw_glyph_string): * src/haikuterm.c (haiku_draw_text_decoration): * src/nsterm.m (ns_draw_text_decoration): * src/pgtkterm.c (pgtk_draw_glyph_string): * src/w32term.c (w32_draw_glyph_string): Synchronize with X. * src/xfaces.c (realize_gui_face): Enable `double-line' on window systems.
* | ; * src/term.c (turn_on_face): Fix coding style.Po Lu2024-04-281-3/+3
| |
* | Fix ommissions in window scrolling commands that ought to clear vscrollPo Lu2024-04-271-1/+21
| | | | | | | | | | | | | | | | | | | | * src/window.c (Fdelete_other_windows_internal) (window_scroll_for_long_lines, Frecenter, Fmove_to_window_line): Reset window vscroll, or, if force_start be set, just preserve_vscroll_p, after moving window start to a position computed from iterators for the window in question, so that vscroll may be reliably reset again after the conditions for redisplay's doing the same were corrected. (bug#70386)
* | Merge from origin/emacs-29Eli Zaretskii2024-04-272-1/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f37f01b5046 Fix a typo in Introduction to Emacs Lisp (bug#70571). d8687fd6cd8 Fix last change 494dfd9cf2b Fix indentation of if/else in 'csharp-ts-mode' (bug#70345) 1cc6322e612 ; * etc/PROBLEMS: Document crashes due to tree-sitter ABI... 42766f95e5c * build-aux/make-info-dir: Avoid bashism (bug#70484). 81476fa19e8 Improve documentation of selection and navigation in *xre... 2a533514929 Fix Widget manual typos, markup and omissions (bug#70502) 90be3015b4d ; Document bookmark fringe mark in the user manual afd0b548fcc Fix python-ts-mode built-in functions and attributes (bug... dc720decc3a Fix markup and indexing in the Calendar chapter of user m... f593bf79a91 Fix the user manual for `calendar-time-zone-style' aed2b7a3d82 Avoid assertion violations in 'push_prefix_prop' c929532b469 Remove ert-equal-including-properties from manual e3aae5fd385 ; Document 'filtered-frame-list'
| * Avoid assertion violations in 'push_prefix_prop'Eli Zaretskii2024-04-212-1/+5
| | | | | | | | | | | | * src/xdisp.c (push_prefix_prop): Set the 'string_from_prefix_prop_p' flag for any valid value of the 'line-prefix' or 'wrap-prefix' property/variable. (Bug#70495)
* | Followup changes for styled underline supportEli Zaretskii2024-04-275-15/+15
| | | | | | | | | | | | | | | | | | * src/nsterm.m (ns_draw_text_decoration): * src/pgtkterm.c (pgtk_draw_glyph_string): * src/haikuterm.c (haiku_draw_text_decoration): * src/androidterm.c (android_draw_glyph_string): * src/w32term.c (w32_draw_glyph_string): Use new FACE_UNDER* constants. (Bug#62994)
* | Add support for colored and styled underlines on tty framesMohsin Kaleem2024-04-275-38/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (face, face_underline_type, syms_of_xfacse) (internal-set-lisp-face-attribute) (gui_supports_face_attributes_p): Add definitions for new underline styles of Double-line, Dots and Dashes. Rename FACE_UNDER_LINE and FACE_UNDER_WAVE to make definitions consistent. Delete tty_underline_p from the face struct and use just underline going forward. Add a flag to check whether styled underlines are available. * lisp/cus-face.el (custom-face-attributes): Add entries for Double-line, Dots and Dashes so they can be set through `customize'. * src/termchar.c (tty_display_info): Add an entry for the escape sequence to set the underline style and color on terminal frames. * src/term.c (init_tty, tty_capable_p, turn_on_face): Read and save the underline style escape sequence from the Smulx termcap (alternatively if the Su flag is set use a default sequence). Allow checking for support of styled underlines in the current terminal frame. Output the necessary escape sequences to activate a styled underline on turn_on_face; this is currently only used for the new special underline styles, a default straight underline will still use the "us" termcap. Output escape sequence to set underline color when set in the face and supported by the tty. Save a default value for this sequence on init_tty when styled underlines are supported. * src/xfaces.c (tty_supports_face_attributes_p, realize_tty_face) (map_tty_color): Assert whether styled underlines are supported by the current terminal on display-supports-face-attributes-p checks. Populate the correct underline style and color in the face spec when realizing a face. Allow map_tty_color to map underline colors alongside foreground and background. The interface of map_tty_color was amended to allow the caller to supply the underline color instead of accessing it through the face attributes. (bug#62994) * src/xterm.c (x_draw_glyph_string): Updated to use renamed FACE_UNDERLINE_SINGLE and FACE_UNDERLINE_WAVE face_underline_type enumerations.
* | Enable customization of the quit key on AndroidPo Lu2024-04-272-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/android.texi (Android Windowing): * doc/emacs/input.texi (On-Screen Keyboards): Document various tidbits related to the quit key. * java/org/gnu/emacs/EmacsNative.java (getQuitKeycode): New function. * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Rename `lastVolumeButtonRelease' to `lastQuitKeyRelease'. (onKeyUp): Treat value returned by getQuitKeycode as the quit key rather than mandate KEYCODE_VOLUME_DOWN. * src/android.c (getQuitKeycode): Implement new function. * src/androidterm.c (syms_of_androidterm) <android_quit_keycode>: New variable.
* | Disable unsuitable XPM color selection mechanism on AndroidPo Lu2024-04-241-0/+10
| | | | | | | | | | * src/image.c (xpm_load_image) [HAVE_ANDROID]: Always select XPM_COLOR_KEY_C.
* | Miscellaneous fixes for Android portPo Lu2024-04-242-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/touch-screen.el (touch-screen-hold, touch-screen-drag): Clear deactivate-mark if the mark is activated to prevent undue deactivation after completion. * lisp/wid-edit.el (widget-field, widget-single-line-field): Insert specifications suitable for monochrome displays. * src/androidfns.c (Fxw_display_color_p, Fx_display_grayscale_p): Report color and/or grayscale properly. * src/image.c (image_create_bitmap_from_file) [HAVE_ANDROID]: If a file with no extension cannot be located, append .xbm and retry.
* | Merge remote-tracking branch 'savannah/master' into master-android-1Po Lu2024-04-231-4/+4
|\ \
| * | Fix dumping signal-handler dataEli Zaretskii2024-04-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | * src/sysdep.c (init_signals): Don't install signal handlers while dumping only with unexec, as pdumper doesn't dump static data of signal handlers. See https://lists.gnu.org/archive/html/emacs-devel/2024-04/msg00539.html for the details.
* | | Enable configuring Emacs for "pseudo-grayscale" systems on AndroidPo Lu2024-04-234-11/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/android.texi (Android Windowing): Document how to configure Emacs for monochrome displays. * src/androidfns.c (Fx_display_visual_class): Return Qstatic_gray when n_planes is smaller than 24. (Fandroid_get_connection): Set n_planes by the value of android_display_planes. (syms_of_androidfns): <Qstatic_gray>: New function. * src/androidterm.c (android_alloc_nearest_color): Allocate monochrome colors similarly to the X server. (android_query_colors): Fix typos. (android_draw_fringe_bitmap): Create bitmaps of n_image_planes depth. (android_term_init): Initialize n_image_planes to 24. (syms_of_androidterm) <android_display_planes>: New variable. * src/androidterm.h (struct android_display_info): New field `n_image_planes'. * src/image.c (n_planes) [HAVE_ANDROID]: Define to n_image_planes.
* | | Implement face stipples on AndroidPo Lu2024-04-236-45/+28
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .gitignore: * java/Makefile.in: Fix typos. * java/org/gnu/emacs/EmacsFillRectangle.java (perform): Call blitOpaqueStipple if filling an unobscured rectangle with an opaque stipple. * java/org/gnu/emacs/EmacsGC.java (EmacsGC) <tileObject>: New field. (markDirty): Synchronize the current stipple with tileObject. (prepareStipple, blitOpaqueStipple): New functions. * java/org/gnu/emacs/EmacsService.java (EmacsService) <resources>: New static field. (onCreate): Set it. * src/android.c (android_create_bitmap_from_data): Correct order of arguments to android_create_pixmap_from_bitmap_data. (HAS_BUILTIN_TRAP): Delete macro. (emacs_abort): Always induce backtraces by means of a NULL pointer deference. * src/dispextern.h (Emacs_GC, Emacs_Rectangle, GCForeground) (GCBackground, GCFillStyle, GCStipple, FillOpaqueStipple) [HAVE_ANDROID]: Define to their Android counterparts rather than simulating their existence. * src/epaths.in: Set bitmap path to /assets/bitmaps on Android. * src/image.c (image_bitmap_pixmap): Also enable when HAVE_ANDROID. * src/sfntfont-android.c (sfntfont_android_put_glyphs): Assert that this is never called to draw a stippled background. * src/xfaces.c (x_create_gc) [HAVE_ANDROID]: Redefine as wrapper around android_create_gc. (prepare_face_for_display) [HAVE_ANDROID]: Enable stipples.
* | Better verify arguments to android-relinquish-directory-accessPo Lu2024-04-212-6/+16
| | | | | | | | | | | | | | | | * src/androidvfs.c (Fandroid_relinquish_directory_access): Provide for NULL values from android_name_file and remote files. * src/xdisp.c (decode_mode_spec): Don't intern file-remote-p. (syms_of_xdisp) <Qfile_remote_p>: New defsym.
* | Eliminate minor wart in EmacsService.javaPo Lu2024-04-202-25/+9
| | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsService.java (openContentUri): Replace arg BYTES with URI and change its type to String. * src/android.c (android_init_emacs_service): * src/androidvfs.c (android_authority_name) (android_authority_open): Adjust commentary and code to match.
* | ; Fix documentation of recent commits related to treesitEli Zaretskii2024-04-201-4/+4
| | | | | | | | | | * src/treesit.c (Ftreesit_parser_changed_ranges): * doc/lispref/parsing.texi (Using Parser): Fix wording.
* | New function treesit-parser-changed-rangesYuan Fu2024-04-192-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new field last_changed_ranges to tree-sitter parser object. - Add a new function treesit-parser-changed-ranges * doc/lispref/parsing.texi (Using Parser): Add the function in tree-sitter manual. * src/treesit.c (treesit_get_changed_ranges): New function, refactored out of treesit_call_after_change_functions. (treesit_call_after_change_functions): Pull out treesit_get_changed_ranges. (treesit_ensure_parsed): Save the changed ranges to the parser object. (make_treesit_parser): Initialize the new parser field last_changed_ranges. (Ftreesit_parser_changed_ranges): New function. (Qtreesit_unparsed_edits): New error. * src/treesit.h (Lisp_TS_Parser): New field.
* | Ensure that specbind arg is always bare symbol, and drop checkMattias Engdegård2024-04-181-10/+9
| | | | | | | | | | | | | | * src/eval.c (FletX, Flet, internal_lisp_condition_case) (funcall_lambda): Ensure that the first argument to `specbind` is a bare symbol in the few cases where this isn't statically guaranteed. (specbind): Drop the symbol argument type check on the fast path.
* | Drop unnecessary type check in varref and varset byte opsMattias Engdegård2024-04-181-4/+2
| | | | | | | | | | | | * src/bytecode.c (exec_byte_code): We can safely assume that the immediate argument to varref and varset is a bare symbol; the byte-compiler should guarantee that.
* | Another fix for bug#70385Eli Zaretskii2024-04-171-1/+2
| | | | | | | | * src/xdisp.c (note_fringe_highlight): Check value of x_y_to_hpos_vpos.
* | ; * src/xdisp.c (redisplay_internal): Typo fix in commentRobert Pluim2024-04-171-1/+1
| |
* | * src/xdisp.c (note_fringe_highlight): Another attempt to fix bug#70385.Eli Zaretskii2024-04-161-1/+2
| |
* | Minor fix in detecting recursive redisplay invocationsEli Zaretskii2024-04-161-4/+7
| | | | | | | | | | * src/xdisp.c (redisplay_internal): Detect recursive invocations earlier. (Bug#66416)
* | Another fix for bug#70385Po Lu2024-04-161-2/+4
| | | | | | | | | | * src/xdisp.c (note_fringe_highlight): Test that vpos falls within W->current_matrix. (bug#70385)
* | Fix resetting the frame's 'frozen_window_starts' flagEli Zaretskii2024-04-151-2/+4
| | | | | | | | | | | | | | | | * src/window.c (grow_mini_window, shrink_mini_window): Reimplement how the frame's 'frozen_window_starts' flag is set and reset, to make sure it is always reset when the mini-window gets to its normal one-line height. Patch by Martin Rudalics <rudalics@gmx.at> (Bug#70038)
* | Fix bug#70385Po Lu2024-04-151-4/+23
| | | | | | | | | | | | * src/xdisp.c (note_fringe_highlight): Don't proceed if popup_activated, window is outdated, or when row beneath pointer does not display text. (bug#70385)
* | GC-mark temporary key values created when sorting (bug#69709)Mattias Engdegård2024-04-141-6/+17
| | | | | | | | | | | | | | | | | | Bug reported and fix proposed by Aris Spathis. * src/sort.c (merge_markmem): Mark heap-allocated temporary key values. (tim_sort): Delay key function calls to after marking function has been registered. * test/src/fns-tests.el (fns-tests-sort-gc): New test.
* | ; * src/eval.c (funcall_lambda): Sink specpdl load out of fast path.Mattias Engdegård2024-04-141-8/+8
| |
* | ; Fix coding style of last change to xdisp.cPo Lu2024-04-131-6/+7
| | | | | | | | * src/xdisp.c (note_fringe_highlight): Stylistic edits.
* | Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacsEli Zaretskii2024-04-133-11/+39
|\ \
| * | Fix crash upon call to Fset_fontset_font after X server disconnectPo Lu2024-04-133-11/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/image.c (free_image): * src/xfaces.c (free_realized_face): Handle scenarios where free_frame_faces is called with the display connection cut. * src/xterm.c (x_free_frame_resources): Call free_frame_faces unconditionally, lest fontsets for this dead frame contaminate Vfontset_list and produce crashes afterwards. (bug#66151)
* | | ; * src/window.c (shrink_mini_window): Revert inadvertent change.Eli Zaretskii2024-04-131-1/+1
|/ /
* | Merge from origin/emacs-29Eli Zaretskii2024-04-132-3/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | f0300fb0597 ; Tweak "(emacs)Bug Reference" formatting/wording. ea62a14ea3b Fix display of vscrolled windows 4cefa3c0b1f ; * doc/emacs/files.texi (Backup): Clarify "saving" (bug#... db7b571aaaf ; Improve documentation of 'world-clock' 6a0bb7beae3 * doc/emacs/misc.texi (emacsclient Options): Suggest forw... 859b4227e3d Update go-ts-mode to support latest tree-sitter-go grammar 407e85ce139 Fix c++-ts-mode defun navigation (bug#65885) aca5064f128 ; Fix last change. 55aab2d4710 ; * etc/PROBLEMS: An entry about focus issues with XFCE (... 19cee16576e ; * doc/emacs/misc.texi (emacsclient Options): Fix typo. ... 2a41b6ba514 ; * src/filelock.c (Flock_file): Doc fix (bug#70216).
| * Fix display of vscrolled windowsEli Zaretskii2024-04-111-1/+1
| | | | | | | | | | * src/xdisp.c (redisplay_window): Fix condition for resetting the window's vscroll. (Bug#70038)
| * ; * src/filelock.c (Flock_file): Doc fix (bug#70216).Eli Zaretskii2024-04-071-2/+5
| |
* | ; Fix documentation of last change.Eli Zaretskii2024-04-131-1/+1
| | | | | | | | | | | | * etc/NEWS: * doc/lispref/display.texi (Other Display Specs): * doc/lispref/text.texi (Special Properties): Fix last changes.
* | Support tooltips for fringe indicatorsVladimir Kazanov2024-04-132-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (note_fringe_highlight): New function. (note_mouse_highlight): Call it when the mouse is on the fringes. * src/frame.c (syms_of_frame) <left-fringe-help> <right-fringe-help>: DEFSYM them. * etc/NEWS: * doc/lispref/text.texi (Special Properties): * doc/lispref/display.texi (Other Display Specs): Document the new properties. * etc/TODO: Remove the todo item about this.
* | ; * src/alloc.c (process_mark_stack): Fix commentary.Eli Zaretskii2024-04-131-1/+3
| |
* | (en/decode_coding_object): Fix `after-change-functions`Stefan Monnier2024-04-101-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For `en/decode-coding-string/region`, `after-change-functions` were either not run at all, or run only after deleting the text but not after inserting it. * src/coding.c (decode_coding_object, encode_coding_object): Run the after-change-functions after inserting the result. * test/src/editfns-tests.el (sanity-check-change-functions-with-op): New macro. (sanity-check-change-functions-errors): New function. (editfns-tests--before/after-change-functions): Use them to add cases for `en/decode-coding-string/region`.
* | Merge branch 'mouse-wheel-buttons'Stefan Monnier2024-04-092-12/+54
|\ \
| * | (mouse-wheel-buttons): Map old-style wheel buttons to actual wheel eventsStefan Monnier2024-04-092-12/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the handling of the old X11 convention that uses mouse-4/5/6/7 events to represent wheel events: instead of asking downstream packages to use the `mouse-wheel-*-event` variables to know which events represent wheel events, use new var `mouse-wheel-buttons` to directly convert those events into the standard `wheel-up/down/left/right` events used everywhere else. This will simplify the work of packages which can thus just bind their commands to `wheel-up/down/left/right`. * lisp/mouse.el (mouse-wheel-buttons): New custom variable. * src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the tab-bar. * src/xterm.c (x_construct_mouse_click): Add `xi2` argument and obey `mouse-wheel-buttons` variable. (handle_one_xevent): Adjust calls accordingly. (syms_of_xterm): Define the `mouse-wheel-buttons` and the `wheel-up/down/left/right`symbols. * lisp/xt-mouse.el: Don't require `mwheel` any more. (xterm-mouse--same-button-p): Delete function. (xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`. * lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event) (mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete. (mouse-wheel-obey-old-style-wheel-buttons): Delete variable. * lisp/completion-preview.el (completion-preview--mouse-map): * lisp/progmodes/flymake.el (flymake--mode-line-counter-map): * lisp/edmacro.el (edmacro-fix-menu-commands): Silence warnings.