1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-07 08:00:48 -08:00
Commit graph

173671 commits

Author SHA1 Message Date
Po Lu
77a170a175 Port double-line underlines to GUI systems
* 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.
2024-04-28 11:58:22 +08:00
Po Lu
4992df1591 ; * src/term.c (turn_on_face): Fix coding style. 2024-04-28 11:55:17 +08:00
Eli Zaretskii
6dcd7de02a Merge from origin/emacs-29
cf839129ce Fix last change
3e68d413c1 ; Skip 'csharp-ts-mode' test if grammar is missing
2024-04-27 15:21:13 -04:00
Eli Zaretskii
cf839129ce Fix last change
* test/lisp/progmodes/csharp-mode-tests.el
(csharp-ts-mode-test-indentation): If need to skip the tree-sitter
test, do so silently.  (Bug#70345)
2024-04-27 22:12:14 +03:00
john muhl
3e68d413c1 ; Skip 'csharp-ts-mode' test if grammar is missing
* test/lisp/progmodes/csharp-mode-tests.el
(csharp-ts-mode-test-indentation): Skip test instead of
failing.  (Bug#70345)
2024-04-27 22:08:45 +03:00
Eshel Yaron
f5439a9291
Refine the Custom type of generated '*-modes' options
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Refine the Custom type of the '*-modes' option, generated when
this macro is given a ':predicate' argument.  (Bug#70589)
2024-04-27 17:18:31 +02:00
Po Lu
01e0b783bc Fix ommissions in window scrolling commands that ought to clear vscroll
* 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)
2024-04-27 19:48:45 +08:00
Eli Zaretskii
687c4137fa Merge from origin/emacs-29
f37f01b504 Fix a typo in Introduction to Emacs Lisp (bug#70571).
d8687fd6cd Fix last change
494dfd9cf2 Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)
1cc6322e61 ; * etc/PROBLEMS: Document crashes due to tree-sitter ABI...
42766f95e5 * build-aux/make-info-dir: Avoid bashism (bug#70484).
81476fa19e Improve documentation of selection and navigation in *xre...
2a53351492 Fix Widget manual typos, markup and omissions (bug#70502)
90be3015b4 ; Document bookmark fringe mark in the user manual
afd0b548fc Fix python-ts-mode built-in functions and attributes (bug...
dc720decc3 Fix markup and indexing in the Calendar chapter of user m...
f593bf79a9 Fix the user manual for `calendar-time-zone-style'
aed2b7a3d8 Avoid assertion violations in 'push_prefix_prop'
c929532b46 Remove ert-equal-including-properties from manual
e3aae5fd38 ; Document 'filtered-frame-list'
2024-04-27 06:23:46 -04:00
Brad Howes
f37f01b504 Fix a typo in Introduction to Emacs Lisp (bug#70571).
Copyright-paperwork-exempt: yes
2024-04-27 12:43:58 +03:00
Manuel Giraud
b761a38106 Fix `find-grep-dired' with default OpenBSD's Grep
* lisp/find-dired.el (find-grep-options): Use '-q' on
OpenBSD as well.  (Bug#70550)
2024-04-27 12:31:41 +03:00
Eli Zaretskii
4e8e877c37 ; * test/lisp/jsonrpc-tests.el: Skip all tests on MS-Windows. 2024-04-27 12:28:42 +03:00
Eli Zaretskii
990d615cab ; * lisp/jsonrpc.el (jsonrpc-shutdown): Doc fix. 2024-04-27 12:19:28 +03:00
Daniel Pettersson
3aed440025 Shut down jsonrpc server more gracefully
* lisp/jsonrpc.el (jsonrpc-running-p): Avoid unnecessarily killing
the server process.  Suggested by Aaron Zeng <azeng@janestreet.com>.
(Bug#70522)
2024-04-27 12:15:33 +03:00
Eli Zaretskii
4e17e0b84a Followup changes for styled underline support
* 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)
2024-04-27 12:07:53 +03:00
Mohsin Kaleem
9f589eb924 Add support for colored and styled underlines on tty frames
* 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.
2024-04-27 11:59:15 +03:00
Eli Zaretskii
a7d51085cf Improve documentation of 'package-enable-at-startup'
* doc/emacs/package.texi (Package Installation): Clarify how to
customize 'package-enable-at-startup'.

* lisp/emacs-lisp/package.el (package-enable-at-startup): Add note
about customization.  (Bug#70402)
2024-04-27 11:52:30 +03:00
Yuan Fu
53333132e4
Fix c-ts-common--fill-paragraph for C
This should fix the failing filling test for c-ts-mode.

* lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Don't
go back to indentation.
2024-04-26 19:56:26 -07:00
Po Lu
db8f7ed7f6 Enable customization of the quit key on Android
* 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.
2024-04-27 10:47:12 +08:00
Gerd Möllmann
763eaa5a32 Fix gud-lldb-command-name
* lisp/progmodes/gud.el (gud-gud-lldb-command-name): Change to
gud-lldb-command-name.
(lldb): Don't do stuff that is not needed for lldb.
2024-04-26 12:25:28 +02:00
Philip Kaludercic
758fe9b670 Always update VC packages from a vc-dir buffer
* lisp/emacs-lisp/package-vc.el (vc-dir-prepare-status-buffer):
Add a declaration.
(package-vc-upgrade): Prepare a dummy vc-dir buffer to ensure
that 'vc-pull' (or rather 'vc-deduce-fileset') can correctly
infer the VC backend to use.  (bug#70526)
2024-04-26 08:21:37 +02:00
Juri Linkov
32ed3d2679 * lisp/tab-line.el: Fix tab-line-buffers in window-persistent-parameters.
Replace '(tab-line-buffers . writable)' with '(tab-line-buffers . t)'
in 'window-persistent-parameters' (bug#69993).
2024-04-25 20:39:56 +03:00
Juri Linkov
598505c4fa Suppress warnings for obsolete display-comint-buffer-action (bug#69983)
* lisp/cmuscheme.el (run-scheme, switch-to-scheme):
* lisp/shell.el (shell):
* lisp/eshell/eshell.el (eshell):
* lisp/progmodes/inf-lisp.el (inferior-lisp):
* lisp/progmodes/sh-script.el (sh-show-shell):
* lisp/textmodes/tex-mode.el (tex-display-shell)
(tex-recenter-output-buffer): Add 'with-suppressed-warnings'
to suppress warnings for obsolete options
'display-comint-buffer-action' and 'display-tex-shell-buffer-action'.
2024-04-25 20:34:28 +03:00
Eli Zaretskii
98649236f5 Fix 'mode-line-right-align-edge' with asymmetrical margins
* lisp/bindings.el (mode--line-format-right-align): Fix alignment
when window-margins are different on each side of the window.
Suggested by Charles Gonnaud <charles.gonnaud@gmail.com>.
(Bug#70485)
2024-04-25 19:34:42 +03:00
Eli Zaretskii
d8687fd6cd Fix last change
* test/lisp/progmodes/csharp-mode-tests.el
(csharp-ts-mode-test-indentation): Move the test to here.
* test/lisp/progmodes/csharp-ts-mode-tests.el: Remove file.
* test/lisp/progmodes/csharp-ts-mode-resources/indent.erts: Move
to test/lisp/progmodes/csharp-mode-resources/indent-ts.erts.
2024-04-25 18:59:25 +03:00
Jacob Leeming
494dfd9cf2 Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules):
Fix indentation rules for 'if' and 'else'.

* test/lisp/progmodes/csharp-ts-mode-tests.el:
* test/lisp/progmodes/csharp-ts-mode-resources/indent.erts: New
test files.

Copyright-paperwork-exempt: yes
2024-04-25 18:53:06 +03:00
john muhl
c493f28cc9 Fix which-function error in 'lua-ts-mode' (bug#70515)
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove incorrect
usage of 'which-func-functions'.
* test/lisp/progmodes/lua-ts-mode-tests.el
(lua-ts-test-which-function): Add test.
* test/lisp/progmodes/lua-ts-mode-resources/which-function.lua:
New file.
2024-04-25 18:39:30 +03:00
Eshel Yaron
a45ae6bce9
; Exclude more modes in 'global-completion-preview-mode'
Avoid activating Completion Preview mode in a few more major
modes when 'global-completion-preview-mode' is enabled.

* lisp/completion-preview.el (global-completion-preview-mode):
By default, exclude a few more major modes for which Completion
Preview mode isn't suitable.
2024-04-25 14:49:39 +02:00
Eli Zaretskii
1cc6322e61 ; * etc/PROBLEMS: Document crashes due to tree-sitter ABI (bug#70438). 2024-04-25 12:39:36 +03:00
Mattias Engdegård
88ebabe23a Better eval-when-compile example in manual
* doc/lispref/compile.texi (Eval During Compile):
`regexp-opt` makes for a poor example because as a pure function it
doesn't need `eval-when-compile` for constant inputs.
2024-04-25 11:39:21 +02:00
Po Lu
2c8e7ebe69 Improve custom button faces on monochrome displays
* lisp/cus-edit.el (custom-button, custom-button-mouse)
(custom-button-pressed): Define raised boxes on monochrome
displays.
2024-04-25 10:54:27 +08:00
Po Lu
3776539152 Disable unsuitable XPM color selection mechanism on Android
* src/image.c (xpm_load_image) [HAVE_ANDROID]: Always select
XPM_COLOR_KEY_C.
2024-04-24 16:33:53 +08:00
Gerd Möllmann
0e9cd1d7c6 Fix tbreak for LLDB
* lisp/progmodes/gud.el (lldb): Use _regexp-tbreak command.
2024-04-24 09:33:50 +02:00
Eli Zaretskii
3bf9a04742 Fix handling of glyph codes in whitespace.el
* lisp/whitespace.el (whitespace-display-vector-p): Support glyph
codes, not just plain characters.  See
https://lists.gnu.org/archive/html/help-gnu-emacs/2024-04/msg00248.html
for the details.
2024-04-24 10:02:22 +03:00
Michael Albinus
2df8bc4685 ; Remove comment in eglot-tests.el 2024-04-24 08:28:20 +02:00
Yuan Fu
c8c319e0b0
Make c-ts-common-comment-indent-new-line work for rust doc comment
* lisp/progmodes/c-ts-common.el (c-ts-common-comment-indent-new-line):
Support //! comment directives.
2024-04-23 22:55:36 -07:00
Yuan Fu
67ef1d54e7
Make c-ts-common--fill-paragraph work for rust line comment
* lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Back to
BOL before checking for //.
2024-04-23 22:55:36 -07:00
Po Lu
145a77808e More effectually prevent defun list wrapping in C-x C-w
* lisp/vc/log-edit.el (log-edit-fill-entry): Match and replace
with NBSPs the opening defun list also.

* test/lisp/vc/log-edit-tests.el
(log-edit-fill-entry-no-defun-list-wrapping): New test.
2024-04-24 11:45:31 +08:00
Po Lu
d3d1be8ae5 Miscellaneous fixes for Android port
* 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.
2024-04-24 11:42:48 +08:00
Ulrich Müller
42766f95e5 * build-aux/make-info-dir: Avoid bashism (bug#70484). 2024-04-23 21:08:02 +02:00
Eli Zaretskii
d8d4fd8c6d ; * lisp/progmodes/eglot.el (eglot-path-to-uri): Improve commentary. 2024-04-23 21:28:09 +03:00
Daniel Semyonov
1601c5a518 Gnus: Add back end for Atom feeds (nnatom)
* lisp/gnus/gnus.el (gnus-valid-select-methods): Add entry for nnatom.
* lisp/gnus/nnfeed.el: New file implementing an abstract web feed back
end.
* lisp/gnus/nnatom.el: New file implementing a back end for Atom feeds.
* doc/misc/gnus.texi (Browsing the Web, Back End Interface):
* etc/NEWS (Gnus): Document nnatom and nnfeed.
2024-04-23 11:20:01 -07:00
Michael Albinus
94ed2df02f Revert skip on eglot-tests.el
* test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
Comment out skip on EMBA.
2024-04-23 17:08:06 +02:00
João Távora
418cade239 Eglot: robustify eglot-test-basic-symlink test (bug#70036)
The previous version of this test was brittle, unstable and
didn't really fail when supposed to (because we need main.cpp to
not be visited when visiting mainlink.cpp).  This new version is
faster and more secure.

* test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Add to the
jsonrpc-event-hook at the end.
(eglot-test-basic-symlink): Robustify test.
2024-04-23 08:44:43 -05:00
João Távora
3a4583baf6 Eglot: fix bug#70408 yet another way
The previous fix based on comparing the Eglot-provided didOpen URI to
the server-provided textDocument/publishDiagnostics URI didn't quite
work because the URI differs slightly in escaping conventions on certain
platforms.

This elephant-size bug is easily reproducible on Windows with clangd,
where every file is basically diagnostic-free.

* lisp/progmodes/eglot.el (eglot-path-to-uri): Rework.
(eglot--TextDocumentIdentifier-cache):
Rename from eglot--TextDocumentIdentifier-uri.
(eglot-handle-notification textDocument/publishDiagnostics): Tweak.
(eglot--TextDocumentIdentifier): Rework.
(eglot--signal-textDocument/didOpen): Tweak.
2024-04-23 08:44:43 -05:00
Andrea Corallo
3a8d94dec1 Run admin/syncdoc-type-hierarchy.el
* doc/lispref/elisp_type_hierarchy.jpg: Update.
* doc/lispref/elisp_type_hierarchy.txt: Likewise.
2024-04-23 15:39:28 +02:00
Andrea Corallo
cb04549204 * Generate elisp_type_hierarchy.txt with top level types on top of it
* admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table): Prioratize
to level types.
2024-04-23 15:37:04 +02:00
Andrea Corallo
05008290fb * admin/syncdoc-type-hierarchy.el (org): Add missing require. 2024-04-23 15:35:44 +02:00
Justin Burkett
ba323d6712 Revert "* which-key.el (which-key--partition-list): Replace cl-subseq by take"
This reverts commit 94a29cda9f.
2024-04-23 09:20:28 -04:00
Eshel Yaron
2234fe929a
(completion-preview-prev-candidate): add numeric prefix argument
* lisp/completion-preview.el (completion-preview-prev-candidate):
Add numeric prefix argument N.
(completion-preview-next-candidate): Update documentation.
2024-04-23 14:35:45 +02:00
Eshel Yaron
6b26644300
; Fix Completion Preview mode mouse-click bindings
* lisp/completion-preview.el (completion-preview--ignore): New
internal command.
(completion-preview--internal-commands): Add it.
(completion-preview--mouse-map): Use it to fix bindings.
2024-04-23 14:35:38 +02:00