Juanma Barranquero [Tue, 6 Dec 2022 12:44:09 +0000 (13:44 +0100)]
* lisp/bs.el: Adapt to modern display-buffer-alist window setup
* lisp/bs.el (bs--window-config-coming-from): Delete.
(bs-default-action-list): New user customizable option.
(bs--restore-window-config): Delete.
(bs-kill, bs-select, bs-select-other-window)
(bs-select-other-frame): Use `quit-window' instead.
(bs--show-with-configuration): Use `pop-to-buffer' to display
the "*buffer-selection*" buffer.
Po Lu [Tue, 6 Dec 2022 11:30:15 +0000 (19:30 +0800)]
Work around sample server bug
* src/xterm.c (XTring_bell): Catch Access errors from XBell when
Emacs is running as an untrusted client.
Stefan Kangas [Tue, 6 Dec 2022 05:30:29 +0000 (06:30 +0100)]
Merge from origin/emacs-29
717f8477284 ; Fix typo in js--treesit-imenu
c26fe45cb80 Fix treesit-query-capture
318bf42b410 Improve fontification of typescript-ts-mode (bug#59831)
64271bbb7d9 Add back pair feature in json-ts-mode fontification (bug#...
16b94888429 Fix mouse clicks on a non-selected frame
ca0da3b83df ; Clarify description of display on the margins
Randy Taylor [Tue, 6 Dec 2022 01:30:56 +0000 (20:30 -0500)]
; Fix typo in js--treesit-imenu
* lisp/progmodes/js.el (js--treesit-imenu): Fix a typo. (Bug#59849)
Yuan Fu [Tue, 6 Dec 2022 02:37:47 +0000 (18:37 -0800)]
Fix treesit-query-capture
Before this change Ftreesit_query_capture doesn't convert character
position to byte position for BEG and END parameters. I observed
fontification issue in css files but couldn't figure out why, now I
know :-)
I decide to keep treesit--font-lock-query-expand-range, since it might
provide a escape hatch for problems we discover in the future, and it
should be very cheap so no downside of keeping it.
* lisp/textmodes/css-mode.el (css-ts-mode): Stop setting
treesit--font-lock-query-expand-range.
* lisp/treesit.el (treesit--font-lock-query-expand-range): Update
docstring.
* src/treesit.c (Ftreesit_query_capture): Convert BEG and END to byte
position. Also added parentheses wround "beg_byte - visible_beg" in
the call to ts_query_cursor_set_byte_range (i.e., style change).
Po Lu [Tue, 6 Dec 2022 01:30:00 +0000 (09:30 +0800)]
Fix crash on Windows 9X
* src/emacs.c (main): Call init_bignum before init_window_once.
Jostein Kjønigsen [Mon, 5 Dec 2022 08:31:58 +0000 (09:31 +0100)]
Improve fontification of typescript-ts-mode (bug#59831)
- Highlight property and field definitions in class declaration.
- Highlight property-keys in object initializaters.
- Highlight variable-names in function/method return-statements.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Add fontification rules.
Theodor Thornhill [Mon, 5 Dec 2022 14:59:41 +0000 (15:59 +0100)]
Add back pair feature in json-ts-mode fontification (bug#59833)
* lisp/progmodes/json-ts-mode.el (json-ts-mode--font-lock-settings):
Add back in removed pair feature. Also alphabetize features.
(json-ts-mode): Use the new feature.
Eli Zaretskii [Mon, 5 Dec 2022 19:55:25 +0000 (21:55 +0200)]
Fix mouse clicks on a non-selected frame
* lisp/mouse-drag.el (mouse-drag-drag): Skip switch-frame events
while tracking mouse. (Bug#59785)
Eli Zaretskii [Mon, 5 Dec 2022 19:45:01 +0000 (21:45 +0200)]
; Clarify description of display on the margins
* doc/lispref/display.texi (Display Margins): More accurate
explanation of how to show text in the display margin without
concealing buffer text. (Bug#59841)
Eli Zaretskii [Mon, 5 Dec 2022 16:55:19 +0000 (18:55 +0200)]
; * src/xfns.c: Actually remove "#include <xcb/xcb_aux.h>".
Po Lu [Mon, 5 Dec 2022 12:41:37 +0000 (20:41 +0800)]
Fix build with old XCB
* src/xfns.c (x_get_net_workarea):
* src/xterm.c (x_dnd_compute_toplevels, x_dnd_get_proxy_proto)
(x_dnd_get_wm_state_and_proto, handle_one_xevent): Do not
include xcb_aux.h. Use XA_ constants instead of XCB_ATOM_ ones.
Eli Zaretskii [Mon, 5 Dec 2022 12:21:36 +0000 (14:21 +0200)]
; * etc/NEWS: Fix entry for 'vc-git-shortlog-switches'.
Po Lu [Mon, 5 Dec 2022 11:55:04 +0000 (19:55 +0800)]
Don't excessively sync in some other code
* configure.ac (USE_XCB): Remove xcb-util dependency.
* src/frame.h: Remove x_sync.
* src/gtkutil.c (xg_frame_restack, xg_update_scrollbar_pos)
(xg_update_horizontal_scrollbar_pos): Call XSync manually
instead of x_sync.
* src/xfns.c (x_sync): Delete unused function.
* src/xterm.c (x_send_hourglass_message): New function.
(x_show_hourglass, x_hide_hourglass): Avoid XSync in these two
pieces of frequently used code.
(handle_one_xevent): Handle hourglass messages.
(x_make_frame_invisible): Stop using x_sync.
Stefan Kangas [Mon, 5 Dec 2022 05:30:21 +0000 (06:30 +0100)]
Merge from origin/emacs-29
ec00d292ec0 Improve treesit-fontify-with-override
4bcdb1cc65b Make killing a non-last client work the same no matter th...
a27f61f6f48 Use the function 'window-system' on the tab-bar/tab-line ...
432b9655ae0 Restore font-lock-type-face for lisp mode &symbols
Stefan Kangas [Mon, 5 Dec 2022 05:30:21 +0000 (06:30 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
029988d4a51 Prevent a segfault when deleting a fullscreen frame on Ne...
Stefan Kangas [Mon, 5 Dec 2022 05:30:21 +0000 (06:30 +0100)]
Merge from origin/emacs-29
3768b100777 ; * lisp/pcomplete.el (pcomplete-allow-modifications): Fi...
84214578f5a Fix markup in ERC manual
Sean Whitton [Sun, 4 Dec 2022 22:56:35 +0000 (15:56 -0700)]
Improve passing user switches to Git log commands (bug#59414)
* lisp/vc/vc-git.el (vc-git-log-switches): Revise docstring.
(vc-git-shortlog-switches): New defcustom.
(vc-git-print-log): Use vc-git-log-switches or
vc-git-shortlog-switches depending on whether printing a shortlog.
(vc-git-log-outgoing, vc-git-log-incoming): Use
vc-git-shortlog-switches.
(vc-git-log-search, vc-git-expanded-log-entry): Use
vc-git-log-switches.
* etc/NEWS: Document the new defcustom.
Yuan Fu [Sun, 4 Dec 2022 08:22:28 +0000 (00:22 -0800)]
Improve treesit-fontify-with-override
This also fixes fontification problem with c-ts-mode--fontify-defun.
Now treesit-fontify-with-override clips the fontification region for
the user, so no need for (max start node-start) shenanigans anymore.
More importantly it doesn't fontify unless the region between
node-start and node-end intersects with the region between start and
end, which fixes the problem with c-ts-mode--fontify-defun.
* lisp/treesit.el (treesit-fontify-with-override): Add optional
parameter BOUND-START and BOUND-END. Wrap the function body in a
when-form.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-declarator)
(c-ts-mode--fontify-variable)
(c-ts-mode--fontify-defun)
(c-ts-fontify-error)
* lisp/progmodes/js.el (js--fontify-template-string)
* lisp/progmodes/python.el (python--treesit-fontify-string): Use the
new signature.
Jim Porter [Fri, 2 Dec 2022 20:14:50 +0000 (12:14 -0800)]
Make killing a non-last client work the same no matter the auto-stop setting
Previously, if 'server-stop-automatically' was configured for
'kill-terminal' or 'delete-frame', killing a client via
'save-buffers-kill-terminal' wouldn't prompt about the saving files in
the client's buffer list (as it does when not using those settings).
This change ensures that those settings only apply when killing the
last client, as described in the manual (bug#51993).
* lisp/server.el (server-save-buffers-kill-terminal): Handle
'server-stop-automatically' behavior in this function, rather than
calling 'server-stop-automatically--handle-delete-frame'.
Juri Linkov [Sun, 4 Dec 2022 19:30:34 +0000 (21:30 +0200)]
Use the function 'window-system' on the tab-bar/tab-line (bug#59620)
* lisp/tab-bar.el (tab-bar-separator)
(tab-bar-format-align-right, tab-bar-auto-width):
* lisp/tab-line.el (tab-line-format-template): Replace the variable
'window-system' with the function call '(window-system)'.
Tom Gillespie [Sun, 4 Dec 2022 06:41:15 +0000 (22:41 -0800)]
Restore font-lock-type-face for lisp mode &symbols
* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2)
(lisp-el-font-lock-keywords-2): Restore use of type face instead of
builtin face for &symbol keywords. This fixes what appears to be
a copy paste error that changed the face for common lisp and emacs
lisp &symbol style keywords that was introduced in commit
a498e5f83 by restoring the type face to font-lock-type-face as
consistent with the comments.
Po Lu [Sun, 4 Dec 2022 13:54:52 +0000 (21:54 +0800)]
Fix potential crash deselecting for property change notifications
* src/xselect.c (x_cancel_selection_transfer): Catch errors
around XSelectInput.
Kai Ma [Sat, 3 Dec 2022 10:17:26 +0000 (18:17 +0800)]
Prevent a segfault when deleting a fullscreen frame on NextStep.
* nsterm.m ([EmacsView resetCursorRects:]): Be defensive when
accessing FRAME_OUTPUT_DATA. [resetCursorRects:] can be called
from the event loop after the frame is deleted. When this
happens, emacsframe is NULL. This means there is an underlying
leak of the EmacsView object! (Bug#59794)
Do not merge to master.
Copyright-paperwork-exempt: yes
Manuel Giraud [Sat, 3 Dec 2022 21:47:02 +0000 (22:47 +0100)]
Make a boxed menu bar have a shadow at its right end (bug#59778)
* src/xdisp.c (display_menu_bar) [HAVE_X_WINDOWS]: Make a boxed
menu bar have a shadow at its right end in non-toolkit X builds.
Eli Zaretskii [Sun, 4 Dec 2022 12:42:07 +0000 (14:42 +0200)]
; * lisp/pcomplete.el (pcomplete-allow-modifications): Fix a typo.
Eli Zaretskii [Sun, 4 Dec 2022 12:31:50 +0000 (14:31 +0200)]
Fix markup in ERC manual
* doc/misc/erc.texi (SASL): Use @table instead of simulating it
with @indentedblock. Fix markup. (Bug#59815)
Po Lu [Sun, 4 Dec 2022 12:01:31 +0000 (20:01 +0800)]
Make Emacs build with Xfixes support on old versions of the library
* src/xterm.c (xfixes_toggle_visible_pointer):
(x_toggle_visible_pointer):
(XTtoggle_invisible_pointer, x_term_init): Disable code
requiring fixes 4.0 or later when the fixes library is older.
* src/xterm.h: Define missing types needed by other extensions
when the fixes library is too old.
* configure.ac: Allow building with any version of the Xfixes
extension library.
Stefan Kangas [Sun, 4 Dec 2022 05:31:24 +0000 (06:31 +0100)]
Merge from origin/emacs-29
96af584af6c Fix comment-start-skip in tree-sitter modes (bug#59690)
520a4e12f8e ; * lisp/treesit.el (treesit-end-of-defun): Guard against...
2c4d92d30f6 ; * lisp/subr.el (posn-col-row): Revert inadvertent change.
6fb9a03cbdf ; Remove debugging leftover message
c5ba47c889e Speed up Unicode normalisation tests by a factor of 5
afa4fcb95b4 Fix "C-h k" when clicking on another frame
f6e2f30f394 ; Fix typos
bd58dcedfb9 Fix and expand tests broken by commit
2772ebe366 of 2022-...
a0dd9fdebe3 ; Add cross-reference to string-equal docstring
11c3c54d8ad Fix handling of relative directories in "--init-directory...
401f76cc3d6 Make sure 'user-emacs-directory' ends in a slash
Stefan Kangas [Sun, 4 Dec 2022 05:31:24 +0000 (06:31 +0100)]
; Merge from origin/emacs-29
The following commits were skipped:
641ef36403b Fix gud-minor-mode-menu
3623d5c195d Revert "Make easy-mmode-defmap obsolete and adjust only c...
Stefan Kangas [Sun, 4 Dec 2022 05:31:24 +0000 (06:31 +0100)]
Merge from origin/emacs-29
17d40c163e0 vc-git-print-log: Don't assume vc-git-log-switches is a list
Yuan Fu [Sat, 3 Dec 2022 01:03:21 +0000 (17:03 -0800)]
Fix comment-start-skip in tree-sitter modes (bug#59690)
* lisp/progmodes/c-ts-mode.el (c-ts-mode)
(c++-ts-mode)
* lisp/progmodes/csharp-mode.el (csharp-ts-mode)
* lisp/progmodes/java-ts-mode.el (java-ts-mode)
* lisp/progmodes/js.el (js-ts-mode)
* lisp/progmodes/typescript-ts-mode.el (tsx-ts-mode): Remove the group
from the regexp.
Yuan Fu [Fri, 2 Dec 2022 05:19:14 +0000 (21:19 -0800)]
; * lisp/treesit.el (treesit-end-of-defun): Guard against nil value.
Eli Zaretskii [Sat, 3 Dec 2022 20:09:16 +0000 (22:09 +0200)]
; * lisp/subr.el (posn-col-row): Revert inadvertent change.
Eli Zaretskii [Sat, 3 Dec 2022 20:06:34 +0000 (22:06 +0200)]
; Remove debugging leftover message
* lisp/emacs-lisp/comp.el (comp--native-compile): Remove
unnecessary call to 'message'. (Bug#59766)
Mattias Engdegård [Sat, 3 Dec 2022 18:19:28 +0000 (19:19 +0100)]
Speed up Unicode normalisation tests by a factor of 5
After this change, ucs-normalize-tests are still very slow but
somewhat less disastrously so (from 100 to 20 min on this machine).
* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--normalization-equal-p)
(ucs-normalize-tests--normalization-chareq-p)
(ucs-normalize-tests--rule1-holds-p)
(ucs-normalize-tests--rule2-holds-p)
(ucs-normalize-tests--part1-rule2):
Run only over the Unicode code space.
Hoist `with-current-buffer` to reduce overhead.
Eli Zaretskii [Sat, 3 Dec 2022 19:43:36 +0000 (21:43 +0200)]
Fix "C-h k" when clicking on another frame
* lisp/help.el (help--analyze-key): Don't barf if the key sequence
includes a switch-frame event. (Bug#59785)
Stefan Kangas [Sat, 3 Dec 2022 14:31:07 +0000 (15:31 +0100)]
; Fix typos
Po Lu [Sat, 3 Dec 2022 13:05:05 +0000 (21:05 +0800)]
Improve performance of other_frames and XTfullscreen_hook
* src/frame.c (other_frames):
* src/xterm.c (XTfullscreen_hook, x_check_fullscreen)
(x_set_window_size_1): Avoid extraneous calls to x_sync.
Juanma Barranquero [Sat, 3 Dec 2022 11:01:10 +0000 (12:01 +0100)]
Fix and expand tests broken by commit
2772ebe366 of 2022-11-28
* test/lisp/emacs-lisp/comp-tests.el
(with-test-native-compile-prune-cache)
(test-native-compile-prune-cache)
(test-native-compile-prune-cache/delete-only-eln)
(test-native-compile-prune-cache/dont-delete-in-parent-of-cache):
Check that the last directory in `native-comp-eln-load-path' is
not affected by `native-compile-prune-cache'.
Stefan Kangas [Sat, 3 Dec 2022 10:29:37 +0000 (11:29 +0100)]
; Add cross-reference to string-equal docstring
* lisp/subr.el (string-equal-ignore-case):
* src/fns.c (Fstring_equal): Doc fix; add cross-references.
Eli Zaretskii [Sat, 3 Dec 2022 10:21:00 +0000 (12:21 +0200)]
Fix handling of relative directories in "--init-directory=DIR"
* lisp/startup.el (command-line): Interpret non-absolute file
names in '--init-directory' relative to the directory from
which Emacs is started. (Bug#59795)
Eli Zaretskii [Sat, 3 Dec 2022 10:03:13 +0000 (12:03 +0200)]
Make sure 'user-emacs-directory' ends in a slash
* lisp/startup.el (command-line): Make sure 'user-emacs-directory'
has the form of a directory.
Eli Zaretskii [Sat, 3 Dec 2022 09:32:00 +0000 (11:32 +0200)]
Fix gud-minor-mode-menu
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(easy-mmode-define-keymap): Don't declare obsolete, since we are
still using it in gud.el. (Bug#59769) (Bug#59605)
Do not merge to master.
Eli Zaretskii [Sat, 3 Dec 2022 09:16:41 +0000 (11:16 +0200)]
Revert "Make easy-mmode-defmap obsolete and adjust only caller"
This reverts commit
8bb5c1bfec0929f2ba419e1c503f5acc01c336c2.
That commit lost too many useful features in the GUD menus
and caused several bugs, the last of them bug#59769.
Do not merge to master.
Sean Whitton [Sat, 3 Dec 2022 06:42:10 +0000 (23:42 -0700)]
vc-git-print-log: Don't assume vc-git-log-switches is a list
* lisp/vc/vc-git.el (vc-git-print-log): Call ensure-list on
vc-git-log-switches to handle the case where it's a singular string.
Stefan Kangas [Sat, 3 Dec 2022 05:30:29 +0000 (06:30 +0100)]
Merge from origin/emacs-29
1e36ad9458 ; server-tests: remove CI debugging
54633fcd76 ; * lisp/subr.el (string-equal-ignore-case): Doc fix (bug#...
8413e95138 ; server-test CI debugging
4b3eb928fe Fix server-tests run noninteractively (bug#59742)
1b567f5a67 Use file-name-nondirectory to determine default project-name
f72cda2b82 Speed up auto-completion in 'sh-script-mode'
e5b0141b0d Fix error editing multisession variables (bug#59710)
Stefan Kangas [Sat, 3 Dec 2022 05:30:29 +0000 (06:30 +0100)]
; Merge from origin/emacs-29
The following commits were skipped:
24ca490d7d ; Fix a typo in .clang-format.
a48cd7bb9f ; Make clang-format format indent preprocessor blocks corr...
Stefan Kangas [Sat, 3 Dec 2022 05:30:29 +0000 (06:30 +0100)]
Merge from origin/emacs-29
2b9cd50f93 Add tsx-ts-mode to eglot-server-programs
Juanma Barranquero [Sat, 3 Dec 2022 01:04:48 +0000 (02:04 +0100)]
* lisp/bindings.el (bound-and-true-p): Verify argument is a symbol
Stefan Monnier [Sat, 3 Dec 2022 00:15:46 +0000 (19:15 -0500)]
* lisp/emacs-lisp/cl-macs.el (cl-flet): Optimize a bit more
Also optimize the case where we use `cl-flet` to introduce a local alias.
Mattias Engdegård [Fri, 2 Dec 2022 17:26:04 +0000 (18:26 +0100)]
; server-tests: remove CI debugging
Eli Zaretskii [Fri, 2 Dec 2022 17:08:08 +0000 (19:08 +0200)]
; * lisp/subr.el (string-equal-ignore-case): Doc fix (bug#59779).
Mattias Engdegård [Fri, 2 Dec 2022 17:06:00 +0000 (18:06 +0100)]
; server-test CI debugging
Mattias Engdegård [Fri, 2 Dec 2022 16:27:16 +0000 (17:27 +0100)]
Fix server-tests run noninteractively (bug#59742)
This may or may not fix the test run from CI.
* test/lisp/server-tests.el (server-tests/can-create-frames-p):
Don't attempt to create frames if TERM=dumb, which what we have
if run from M-x compile (for instance).
(server-tests/server-force-stop/keeps-frames): Delete created frame so
that it doesn't cause trouble for other tests.
Randy Taylor [Fri, 2 Dec 2022 03:12:07 +0000 (22:12 -0500)]
Use file-name-nondirectory to determine default project-name
* lisp/progmodes/project.el (project-name):
Use file-name-nondirectory instead of file-name-base (bug#59756).
Yikai Zhao [Tue, 29 Nov 2022 14:30:14 +0000 (22:30 +0800)]
Speed up auto-completion in 'sh-script-mode'
* lisp/progmodes/sh-script.el (sh--cmd-completion-table-gen): New
function, replacement for 'sh--cmd-completion-table'.
(sh--cmd-completion-table): Function removed.
(sh-completion-at-point-function): Use
'sh--cmd-completion-table-gen'. (Bug#59678)
Juanma Barranquero [Fri, 2 Dec 2022 13:14:26 +0000 (14:14 +0100)]
Fix error editing multisession variables (bug#59710)
* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Do not use `bound-and-true-p' on a non-symbol. This reverts
commit
bd586121ac21e046f60f75eeb0200866c38d6f9f.
Po Lu [Fri, 2 Dec 2022 13:00:30 +0000 (21:00 +0800)]
More behind the scenes transparent speedups around xselect.c
* src/xdisp.c (display_menu_bar): Fix compiler warning about
NULL pointer dereference.
* src/xfns.c (Fx_begin_drag): Use x_intern_atoms.
(Fx_change_window_property): Pass dpyinfo to
x_fill_property_data.
* src/xselect.c (lisp_data_to_selection_data): Use
x_intern_atoms instead of syncing for each atom.
(x_fill_property_data, x_send_client_event): Use
x_intern_cached_atom.
* src/xterm.c (x_intern_atoms): New function.
* src/xterm.h: Update prototypes.
dickmao [Thu, 1 Dec 2022 21:54:06 +0000 (16:54 -0500)]
; Fix a typo in .clang-format.
Vibhav Pant [Wed, 30 Nov 2022 17:37:44 +0000 (23:07 +0530)]
; Make clang-format format indent preprocessor blocks correctly.
(cherry picked from commit
1abda0c83981a6d35dd4b2dd3e88e9886d13cb09)
dickmao [Thu, 1 Dec 2022 21:54:06 +0000 (16:54 -0500)]
; Fix typo in .clang-format (Bug#59768)
Brian Leung [Fri, 2 Dec 2022 11:02:30 +0000 (03:02 -0800)]
Add tsx-ts-mode to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add
tsx-ts-mode. (Bug#59770)
Stefan Kangas [Fri, 2 Dec 2022 11:36:35 +0000 (12:36 +0100)]
Merge from origin/emacs-29
39e0c60176 * lisp/tab-bar.el (tab-bar-format-align-right): Fix alignm...
bf66b90b9a Fix the width of margins for icons in outline-minor-mode (...
2e4960d63d ; Change c-ts-mode--base-mode to c-ts-base-mode
1aa1f8432b Add new TypeScript mode tsx-ts-mode
ad0563855f Add case and match to python--treesit-keywords (bug#59720)
16e68e64f9 ; * lisp/progmodes/c-ts-mode.el: Change rx to regexp-opt.
3bccef6f52 project-files (VC-aware): Make sure the VC backend is loaded
03a40b974c term--update-term-menu: Add the menu to term-terminal-menu
368c7c7d8e Improve detection of very long lines
9c58ea37af ; Fix last change in proced.el
0c1495574a Add colors to Proced (bug#59407)
91dba5b066 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/e...
70ecdebc92 ; Fix typos (don't abbreviate "with" or "without")
d94c5870c0 ; * lisp/tab-bar.el (tab-bar-change-tab-group): Doc fix.
# Conflicts:
# etc/NEWS
Juri Linkov [Fri, 2 Dec 2022 07:59:53 +0000 (09:59 +0200)]
* lisp/tab-bar.el (tab-bar-format-align-right): Fix alignment on TTY frames.
Calculate the alignment from the left edge instead of the right edge
since the `right' spec doesn't work on TTY frames when windows are split
horizontally (bug#59620).
Juri Linkov [Fri, 2 Dec 2022 07:54:22 +0000 (09:54 +0200)]
Fix the width of margins for icons in outline-minor-mode (bug#59719)
* doc/lispref/display.texi (Icons): Add :width spec.
* lisp/emacs-lisp/icons.el (icons--create): Handle :width as well.
* lisp/outline.el (outline--margin-width, outline-margin-width):
New variables.
(outline-open-in-margins, outline-close-in-margins)
(outline-close-rtl-in-margins): Don't inherit from parents.
Use `:width font' instead of `:height 10'.
(outline-minor-mode): Calculate the number of columns for margins
to fit the icons.
Yuan Fu [Fri, 2 Dec 2022 04:42:35 +0000 (20:42 -0800)]
; Change c-ts-mode--base-mode to c-ts-base-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--base-mode)
(c-ts-mode, c++-ts-mode): Change to c-ts-base-mode.
Theodor Thornhill [Tue, 29 Nov 2022 20:39:38 +0000 (21:39 +0100)]
Add new TypeScript mode tsx-ts-mode
There are in fact two languages supporting TypeScript for tree-sitter.
Because TSX causes some ambiguities with types there are two grammars,
one called typescript and one called tsx. To account for this and to
be as correct as possible we enable using both.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Change to a function to accomodate
the two languages.
(typescript-ts-mode--font-lock-settings): Change to a function to
accomodate the two languages.
(typescript-ts-base-mode): Parent mode for typescript-ts-mode
and tsx-ts-mode.
(typescript-ts-mode): Derive from typescript-ts-base-mode and
extend with language specific settings
(tsx-ts-mode): New major mode that derives from
typescript-ts-base-mode and extend it with language specific
settings
Add autoload cookies for the respective file type extensions: .ts and
.tsx.
* etc/NEWS: Mention the new mode.
Daniel Martín [Wed, 30 Nov 2022 15:11:46 +0000 (16:11 +0100)]
Add case and match to python--treesit-keywords (bug#59720)
* lisp/progmodes/python.el (python--treesit-keywords): Add "case" and
"match" keywords.
Yuan Fu [Fri, 2 Dec 2022 02:57:54 +0000 (18:57 -0800)]
; * lisp/progmodes/c-ts-mode.el: Change rx to regexp-opt.
Dmitry Gutov [Fri, 2 Dec 2022 02:03:03 +0000 (04:03 +0200)]
project-files (VC-aware): Make sure the VC backend is loaded
* lisp/progmodes/project.el (project-files):
Make sure the VC backend is loaded (bug#59734).
Sean Whitton [Thu, 1 Dec 2022 22:14:28 +0000 (15:14 -0700)]
term--update-term-menu: Add the menu to term-terminal-menu
Reading bug#5641, the intention was to add this to the existing
"Terminal" menu for term-mode buffers, not to the local keymaps of all
other buffers. Moreover, the existing code signaled errors when
switching to buffers with no local keymap, such as term-mode buffers
whose processes have died.
* lisp/term.el (term--update-term-menu): Add the menu to
term-terminal-menu, instead of implicitly trying to add it to every
local keymap.
Eli Zaretskii [Thu, 1 Dec 2022 22:07:53 +0000 (00:07 +0200)]
Improve detection of very long lines
* src/xdisp.c (redisplay_window): Recheck for long lines if the
restriction has changed. (Bug#56682)
Eli Zaretskii [Thu, 1 Dec 2022 18:15:52 +0000 (20:15 +0200)]
; Fix last change in proced.el
* lisp/proced.el (proced-low-memory-usage-threshold)
(proced-medium-memory-usage-threshold, proced-run-status-code)
(proced-interruptible-sleep-status-code)
(proced-uninterruptible-sleep-status-code, proced-executable): Fix
doc strings.
(proced-format-time): Simplify the format, to avoid bogus warnings
from the byte-compiler.
* etc/NEWS: Move Proced entries to one place and fix their
wording.
Laurence Warne [Wed, 16 Nov 2022 14:32:44 +0000 (14:32 +0000)]
Add colors to Proced (bug#59407)
Add a new custom variable proced-enable-color-flag which when set to a
non-nil value (defaults to nil), will prompt some format functions to
furnish their respective process attributes with colors and effects in
order to make them easier to distinguish and highlight possible issues
(e.g. high memory usage), in a manner similar to htop.
In particular, the current Emacs process id is highlighted purple in
both the process id and parent process id columns, session leaders
have their process ids underlined, larger memory sizes for rss
are highlighted in darker shades of orange, and the first word in the
args property (the executable) is highlighted in blue.
* lisp/proced.el (proced-grammar-alist): Update to use the new format
functions.
(proced-low-memory-usage-threshold): New custom variable to determine
whether a value represents 'low' memory usage, used only in
proced-format-memory for coloring.
(proced-medium-memory-usage-threshold): New custom variable to
determine whether a value represents 'medium' memory usage, used only
in proced-format-memory for coloring.
(proced-enable-color-flag): New custom variable to toggle coloring.
(proced-run-status-code, proced-interruptible-sleep-status-code)
(proced-uninterruptible-sleep-status-code, proced-executable)
(proced-executable, proced-memory-gb, proced-memory-mb)
(proced-memory-default, proced-pid, proced-ppid, proced-pgrp)
(proced-sess, proced-cpu, proced-mem, proced-user, proced-time-colon):
New faces.
(proced-format-time): Edit function to color colons using
proced-time-colon.
(proced-format-args): Edit function to color executables using
proced-executable.
(proced-format-state): New function to color states.
(proced-format-pid): New function to color process ids.
(proced-format-ppid): New function to color parent process ids.
(proced-format-pgrp): New function to color process group ids.
(proced-format-sess): New function to color process session leader
ids.
(proced-format-cpu): New function to color cpu utilization.
(proced-format-mem): New function to color memory utilization.
(proced-format-user): New function to color the user a process
belongs to.
Eli Zaretskii [Thu, 1 Dec 2022 17:34:32 +0000 (19:34 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Stefan Kangas [Thu, 1 Dec 2022 15:54:53 +0000 (16:54 +0100)]
Merge from origin/emacs-29
70ecdebc92 ; Fix typos (don't abbreviate "with" or "without")
a86ccb5f9d ; Fix recently added treesit documentation
2d5cf7329e ; * etc/NEWS: Fix wording and punctuation of recently adde...
61311d6862 ; Fix test failure on CI
# Conflicts:
# etc/NEWS
Stefan Kangas [Thu, 1 Dec 2022 15:54:50 +0000 (16:54 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
0a5ede0149 ; Auto-commit of loaddefs files.
Stefan Kangas [Thu, 1 Dec 2022 15:54:50 +0000 (16:54 +0100)]
Merge from origin/emacs-29
91a9598baf Update project docs and NEWS
# Conflicts:
# etc/NEWS
Stefan Kangas [Thu, 1 Dec 2022 15:54:48 +0000 (16:54 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
b7b2455c5f Update publicsuffix.txt from upstream
Stefan Kangas [Thu, 1 Dec 2022 15:36:09 +0000 (16:36 +0100)]
; Fix typos (don't abbreviate "with" or "without")
Eli Zaretskii [Thu, 1 Dec 2022 15:34:26 +0000 (17:34 +0200)]
; * lisp/tab-bar.el (tab-bar-change-tab-group): Doc fix.
Eli Zaretskii [Thu, 1 Dec 2022 15:25:28 +0000 (17:25 +0200)]
; Fix recently added treesit documentation
* lisp/treesit.el (treesit-defun-prefer-top-level):
* doc/lispref/positions.texi (List Motion): Fix wording.
Eli Zaretskii [Thu, 1 Dec 2022 15:11:43 +0000 (17:11 +0200)]
; * etc/NEWS: Fix wording and punctuation of recently added entries.
Eli Zaretskii [Thu, 1 Dec 2022 15:08:02 +0000 (17:08 +0200)]
; * etc/NEWS.29: Resurrect Local variables that keep disappearing...
Eli Zaretskii [Thu, 1 Dec 2022 15:07:59 +0000 (17:07 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Dmitry Gutov [Thu, 1 Dec 2022 14:38:52 +0000 (16:38 +0200)]
; Fix test failure on CI
Stefan Kangas [Thu, 1 Dec 2022 14:33:12 +0000 (15:33 +0100)]
; Auto-commit of loaddefs files.
Dmitry Gutov [Thu, 1 Dec 2022 14:24:10 +0000 (16:24 +0200)]
Update project docs and NEWS
* doc/emacs/maintaining.texi (Projects): Update the name.
* etc/NEWS: Mention new option (bug#41572).
Stefan Kangas [Thu, 1 Dec 2022 05:01:28 +0000 (06:01 +0100)]
Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-11-29 18:15:27 UTC.
(cherry picked from commit
de00aef3e151e0eefe20feda74cf90578e8ff109)
Stefan Kangas [Thu, 1 Dec 2022 13:38:29 +0000 (14:38 +0100)]
Merge from origin/emacs-29
5d1a1019c6 Add highlighting Python operators (bug#59629)
8b3baadf67 Fix compilation of Org 9.6 on MS-Windows
3b5b99ac91 * doc/lispref/frames.texi (Input Focus): Clarify for XInpu...
4b2f5425d7 Fix types in various defcustom declarations
kobarity [Sun, 27 Nov 2022 09:52:32 +0000 (18:52 +0900)]
Add highlighting Python operators (bug#59629)
* lisp/progmodes/python.el (python-rx): Remove "is" and
"not" from operator.
(python-font-lock-keywords-maximum-decoration): Add
highlighting operators.
* test/lisp/progmodes/python-tests.el
(python-font-lock-assignment-statement-1)
(python-font-lock-assignment-statement-2)
(python-font-lock-assignment-statement-3)
(python-font-lock-assignment-statement-4)
(python-font-lock-assignment-statement-5)
(python-font-lock-assignment-statement-6)
(python-font-lock-assignment-statement-7)
(python-font-lock-assignment-statement-8)
(python-font-lock-assignment-statement-9)
(python-font-lock-assignment-statement-10)
(python-font-lock-assignment-statement-11)
(python-font-lock-assignment-statement-12)
(python-font-lock-assignment-statement-13)
(python-font-lock-assignment-statement-14)
(python-font-lock-assignment-statement-15)
(python-font-lock-assignment-statement-16)
(python-font-lock-assignment-statement-17)
(python-font-lock-assignment-statement-18)
(python-font-lock-assignment-statement-multiline-1)
(python-font-lock-assignment-statement-multiline-2)
(python-font-lock-assignment-statement-multiline-3)
(python-font-lock-assignment-statement-multiline-4)
(python-font-lock-assignment-statement-multiline-5)
(python-font-lock-assignment-statement-multiline-6)
(python-font-lock-escape-sequence-multiline-string): Modify
expectations to include faces for operators.
(python-font-lock-operator-1, python-font-lock-operator-2): New tests.
Eli Zaretskii [Thu, 1 Dec 2022 12:40:47 +0000 (14:40 +0200)]
Fix compilation of Org 9.6 on MS-Windows
* lisp/org/org-clock.el (org-x11idle-exists-p): Don't try to
invoke "command x11idle" on MS-Windows and MS-DOS. This fixes a
hang during byte-compilation of Org.
Po Lu [Thu, 1 Dec 2022 11:15:28 +0000 (19:15 +0800)]
* doc/lispref/frames.texi (Input Focus): Clarify for XInput 2 support.
Manuel Giraud [Fri, 25 Nov 2022 14:50:41 +0000 (15:50 +0100)]
Make sure the menu-bar height is updated on X when fonts change
* src/xdisp.c (display_menu_bar) [HAVE_X_WINDOWS]: Update
menu_bar_window height in non-toolkit X builds. (Bug#59351)
Mattias Engdegård [Thu, 1 Dec 2022 11:40:28 +0000 (12:40 +0100)]
Fix types in various defcustom declarations
* lisp/org/ob-clojure.el
(ob-clojure-babashka-command, ob-clojure-nbb-command):
Account for the possibility of nil (commands absent).
* lisp/org/org.el (org-safe-remote-resources):
* lisp/org/ox-md.el (org-md-toplevel-hlevel):
* lisp/progmodes/project.el (project-vc-extra-root-markers):
Fix incorrect or invalid types.
Po Lu [Thu, 1 Dec 2022 07:08:31 +0000 (15:08 +0800)]
Finish up last change with more speedups
* src/xterm.c (x_atom_refs):
* src/xterm.h (struct x_display_info): Add some new atoms to be
interned at connection setup.
Po Lu [Thu, 1 Dec 2022 06:51:29 +0000 (14:51 +0800)]
Remove unnecessary error checks in xselect.c
* src/xselect.c (x_own_selection): Don't sync around
XSetSelectionOwner, as the atom and window specified are always
correct.
Po Lu [Thu, 1 Dec 2022 06:47:18 +0000 (14:47 +0800)]
; * src/xselect.c (syms_of_xselect_for_pdumper): Fix last change.
Author:
Po Lu [Thu, 1 Dec 2022 06:43:44 +0000 (14:43 +0800)]
Fix pdumper build
* src/xselect.c (mark_xselect): Don't mark if
outstanding_transfers.next is still NULL.