]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoMerge from origin/emacs-29
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

2 years agoImprove performance of other_frames and XTfullscreen_hook
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.

2 years agovc-git-print-log: Don't assume vc-git-log-switches is a list
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.

2 years agoMerge from origin/emacs-29
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)

2 years ago; Merge from origin/emacs-29
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...

2 years agoMerge from origin/emacs-29
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

2 years ago* lisp/bindings.el (bound-and-true-p): Verify argument is a symbol
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

2 years ago* lisp/emacs-lisp/cl-macs.el (cl-flet): Optimize a bit more
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.

2 years ago; server-tests: remove CI debugging
Mattias Engdegård [Fri, 2 Dec 2022 17:26:04 +0000 (18:26 +0100)]
; server-tests: remove CI debugging

2 years ago; * lisp/subr.el (string-equal-ignore-case): Doc fix (bug#59779).
Eli Zaretskii [Fri, 2 Dec 2022 17:08:08 +0000 (19:08 +0200)]
; * lisp/subr.el (string-equal-ignore-case): Doc fix (bug#59779).

2 years ago; server-test CI debugging
Mattias Engdegård [Fri, 2 Dec 2022 17:06:00 +0000 (18:06 +0100)]
; server-test CI debugging

2 years agoFix server-tests run noninteractively (bug#59742)
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.

2 years agoUse file-name-nondirectory to determine default project-name
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).

2 years agoSpeed up auto-completion in 'sh-script-mode'
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)

2 years agoFix error editing multisession variables (bug#59710)
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.

2 years agoMore behind the scenes transparent speedups around xselect.c
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.

2 years ago; Fix a typo in .clang-format.
dickmao [Thu, 1 Dec 2022 21:54:06 +0000 (16:54 -0500)]
; Fix a typo in .clang-format.

2 years ago; Make clang-format format indent preprocessor blocks correctly.
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)

2 years ago; Fix typo in .clang-format (Bug#59768)
dickmao [Thu, 1 Dec 2022 21:54:06 +0000 (16:54 -0500)]
; Fix typo in .clang-format (Bug#59768)

2 years agoAdd tsx-ts-mode to eglot-server-programs
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)

2 years agoMerge from origin/emacs-29
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

2 years ago* lisp/tab-bar.el (tab-bar-format-align-right): Fix alignment on TTY frames.
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).

2 years agoFix the width of margins for icons in outline-minor-mode (bug#59719)
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.

2 years ago; Change c-ts-mode--base-mode to c-ts-base-mode
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.

2 years agoAdd new TypeScript mode tsx-ts-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.

2 years agoAdd case and match to python--treesit-keywords (bug#59720)
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.

2 years ago; * lisp/progmodes/c-ts-mode.el: Change rx to regexp-opt.
Yuan Fu [Fri, 2 Dec 2022 02:57:54 +0000 (18:57 -0800)]
; * lisp/progmodes/c-ts-mode.el: Change rx to regexp-opt.

2 years agoproject-files (VC-aware): Make sure the VC backend is loaded
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).

2 years agoterm--update-term-menu: Add the menu to term-terminal-menu
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.

2 years agoImprove detection of very long lines
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)

2 years ago; Fix last change in proced.el
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.

2 years agoAdd colors to Proced (bug#59407)
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.

2 years agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
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

2 years agoMerge from origin/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

2 years ago; Merge from origin/emacs-29
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.

2 years agoMerge from origin/emacs-29
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

2 years ago; Merge from origin/emacs-29
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

2 years ago; Fix typos (don't abbreviate "with" or "without")
Stefan Kangas [Thu, 1 Dec 2022 15:36:09 +0000 (16:36 +0100)]
; Fix typos (don't abbreviate "with" or "without")

2 years ago; * lisp/tab-bar.el (tab-bar-change-tab-group): Doc fix.
Eli Zaretskii [Thu, 1 Dec 2022 15:34:26 +0000 (17:34 +0200)]
; * lisp/tab-bar.el (tab-bar-change-tab-group): Doc fix.

2 years ago; Fix recently added treesit documentation
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.

2 years ago; * etc/NEWS: Fix wording and punctuation of recently added entries.
Eli Zaretskii [Thu, 1 Dec 2022 15:11:43 +0000 (17:11 +0200)]
; * etc/NEWS: Fix wording and punctuation of recently added entries.

2 years ago; * etc/NEWS.29: Resurrect Local variables that keep disappearing...
Eli Zaretskii [Thu, 1 Dec 2022 15:08:02 +0000 (17:08 +0200)]
; * etc/NEWS.29: Resurrect Local variables that keep disappearing...

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 1 Dec 2022 15:07:59 +0000 (17:07 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years ago; Fix test failure on CI
Dmitry Gutov [Thu, 1 Dec 2022 14:38:52 +0000 (16:38 +0200)]
; Fix test failure on CI

2 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Thu, 1 Dec 2022 14:33:12 +0000 (15:33 +0100)]
; Auto-commit of loaddefs files.

2 years agoUpdate project docs and NEWS
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).

2 years agoUpdate publicsuffix.txt from upstream
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)

2 years agoMerge from origin/emacs-29
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

2 years agoAdd highlighting Python operators (bug#59629)
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.

2 years agoFix compilation of Org 9.6 on MS-Windows
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.

2 years ago* doc/lispref/frames.texi (Input Focus): Clarify for XInput 2 support.
Po Lu [Thu, 1 Dec 2022 11:15:28 +0000 (19:15 +0800)]
* doc/lispref/frames.texi (Input Focus): Clarify for XInput 2 support.

2 years agoMake sure the menu-bar height is updated on X when fonts change
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)

2 years agoFix types in various defcustom declarations
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.

2 years agoFinish up last change with more speedups
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.

2 years agoRemove unnecessary error checks in xselect.c
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.

2 years ago; * src/xselect.c (syms_of_xselect_for_pdumper): Fix last change.
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:

2 years agoFix pdumper build
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.

2 years agoSpeed up handling X selection requests
Po Lu [Thu, 1 Dec 2022 06:33:23 +0000 (14:33 +0800)]
Speed up handling X selection requests

* etc/NEWS: Announce speedup.
* src/alloc.c (garbage_collect): Call mark_xselect.
* src/xftfont.c (xftfont_end_for_frame): Fix crash on display IO
error.
* src/xselect.c (struct selection_data, struct transfer): New
structures.
(outstading_transfers): New variable.
(SELECTED_EVENTS, x_selection_request_lisp_error): Stop checking
cs->nofree.
(x_catch_errors_unwind): Delete function.
(c_size_for_format, x_size_for_format, selection_data_for_offset)
(selection_data_size, transfer_selecting_event)
(x_continue_selection_transfer, x_remove_selection_transfers)
(x_selection_transfer_timeout): New functions.
(x_reply_selection_request): When handling selection requests,
never wait for property notifications synchronously.  Instead,
write out the selection data as the client reads it from the
event loop.
(x_handle_selection_request, x_convert_selection)
(x_handle_property_notify, x_get_window_property)
(lisp_data_to_selection_data): Don't ever use pointers to Lisp
string data! Instead, just store the string object itself.
(syms_of_xselect): Initialize outstanding transfer list.
(syms_of_xselect_for_pdumper):
* src/xterm.c (x_delete_display): Remove outstanding selection
transfers.
* src/xterm.h: Update prototypes.

2 years agoMerge from origin/emacs-29
Po Lu [Thu, 1 Dec 2022 06:24:43 +0000 (14:24 +0800)]
Merge from origin/emacs-29

4161023a63 Fix crashes and memory leaks during display deinitialization
785fa80159 New user option: project-vc-extra-root-markers
7a1f1825fd Add inline to c-ts-mode--keywords
3d976d6a03 Remove duplicate "friend" from c-ts-mode--keywords
01e7d4b2a1 Make treesit-defun-prefer-top-level more flexible
fb5d9ff559 Fix c-ts-mode defun movement (bug#59628)
7397f2099b * lisp/tab-bar.el: Keep tabs of the same group together (b...
832b013ef0 Insert news for installed packages only
cc6efa7992 ; Fix type error in 'package-maintainers'
ee32ae7c36 ; * etc/NEWS: Add missing tree-sitter based modes.
33546d6dd2 ; * etc/NEWS: Move an entry to a proper place.  (bug#59718)
8617edfffd ; Fix typos

# Conflicts:
# etc/NEWS

2 years ago; Merge from origin/emacs-29
Po Lu [Thu, 1 Dec 2022 06:24:38 +0000 (14:24 +0800)]
; Merge from origin/emacs-29

The following commit was skipped:

646f2cf67e ; * etc/NEWS: Resurrect the lost Local variables section.

2 years agoMerge from origin/emacs-29
Po Lu [Thu, 1 Dec 2022 06:24:38 +0000 (14:24 +0800)]
Merge from origin/emacs-29

2a8f31b996 project-current: Improve the docstring

2 years agoFix crashes and memory leaks during display deinitialization
Po Lu [Thu, 1 Dec 2022 06:21:14 +0000 (14:21 +0800)]
Fix crashes and memory leaks during display deinitialization

* .dir-locals.el (c-mode): Add more noise macro names.
* src/frame.c (delete_frame): Do not delete terminal if force is
Qnoelisp.

* src/xterm.c (x_wm_supports): Fix coding style.
(x_delete_display): Delete the supported atoms list.
(x_delete_terminal): Delete all terminals.  Free the scratch
cursor GC.

2 years agoUpdate publicsuffix.txt from upstream
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.

2 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Thu, 1 Dec 2022 04:10:57 +0000 (05:10 +0100)]
; Auto-commit of loaddefs files.

2 years agoNew user option: project-vc-extra-root-markers
Dmitry Gutov [Thu, 1 Dec 2022 02:05:49 +0000 (04:05 +0200)]
New user option: project-vc-extra-root-markers

* lisp/progmodes/project.el: Commentary update.
(project-vc, project-vc-include-untracked, project-vc-name):
Update docstrings.  Rename 'VC project' to 'VC-aware project'.
(project-vc-extra-root-markers): New option (bug#41572).
(project-try-vc): Use it.  Construct a single regexp from all and
validate it using the MATCH argument of 'directory-files'.  Call
'locate-dominating-file' directly.
(project-ignores): Support VC-aware project instances with nil
value of VC backend.

* test/lisp/progmodes/project-tests.el (project-vc-recognizes-git)
(project-vc-extra-root-markers-supports-wildcards)
New tests.
(project-tests--this-file): New variable.

2 years agoAdd inline to c-ts-mode--keywords
Daniel Martín [Wed, 30 Nov 2022 18:58:42 +0000 (19:58 +0100)]
Add inline to c-ts-mode--keywords

* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Add "inline", a
keyword available since C99 to define inline functions in C.

2 years agoRemove duplicate "friend" from c-ts-mode--keywords
Daniel Martín [Wed, 30 Nov 2022 23:26:04 +0000 (00:26 +0100)]
Remove duplicate "friend" from c-ts-mode--keywords

* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Remove duplicate
keyword.

2 years agoMake treesit-defun-prefer-top-level more flexible
Yuan Fu [Wed, 30 Nov 2022 23:05:07 +0000 (15:05 -0800)]
Make treesit-defun-prefer-top-level more flexible

* doc/lispref/positions.texi (List Motion): Update manual.
* lisp/treesit.el (treesit-defun-prefer-top-level): Update docstring.
(treesit--defun-maybe-top-level): Change to accept new format.

2 years agoFix c-ts-mode defun movement (bug#59628)
Yuan Fu [Wed, 30 Nov 2022 22:59:06 +0000 (14:59 -0800)]
Fix c-ts-mode defun movement (bug#59628)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--end-of-defun): New function.
(c-ts-mode--base-mode): Use more specific regexp, and set
treesit-defun-prefer-top-level.
(c-ts-mode)
(c++-ts-mode): Set end-of-defun-function.

2 years agoUpdate to Transient v0.3.7-182-gfe7dcbd
Jonas Bernoulli [Wed, 30 Nov 2022 20:32:40 +0000 (21:32 +0100)]
Update to Transient v0.3.7-182-gfe7dcbd

2 years ago* lisp/tab-bar.el: Keep tabs of the same group together (bug#59721)
Juri Linkov [Wed, 30 Nov 2022 19:36:33 +0000 (21:36 +0200)]
* lisp/tab-bar.el: Keep tabs of the same group together (bug#59721)

(tab-bar-tab-post-change-group-functions): Change the default value to
'(tab-bar-move-tab-to-group)'.  Improve docstring.
(tab-bar-change-tab-group): Improve docstring.

2 years agoInsert news for installed packages only
muffinmad [Mon, 28 Nov 2022 21:09:59 +0000 (23:09 +0200)]
Insert news for installed packages only

* lisp/emacs-lisp/package.el (describe-package-1): Check package is
installed and "news" is a regular file.  (Bug#59684)

2 years ago; Fix type error in 'package-maintainers'
Philip Kaludercic [Tue, 29 Nov 2022 21:35:55 +0000 (22:35 +0100)]
; Fix type error in 'package-maintainers'

* lisp/emacs-lisp/package.el (package-maintainers): Pass the email
address to 'ietf-drums-parse-address' (Bug#59676).

2 years ago; * etc/NEWS: Add missing tree-sitter based modes.
Eli Zaretskii [Wed, 30 Nov 2022 18:29:04 +0000 (20:29 +0200)]
; * etc/NEWS: Add missing tree-sitter based modes.

2 years ago; Make clang-format format indent preprocessor blocks correctly.
Vibhav Pant [Wed, 30 Nov 2022 17:37:44 +0000 (23:07 +0530)]
; Make clang-format format indent preprocessor blocks correctly.

2 years agoAdd itree_empty_p for clarity and reduced coupling
Matt Armstrong [Tue, 8 Nov 2022 23:00:18 +0000 (15:00 -0800)]
Add itree_empty_p for clarity and reduced coupling

* src/itree.h (itree_empty_p): New predicate.
* src/buffer.h (buffer_has_overlays):
* src/pdumper.c (dump_buffer):
* src/alloc.c (mark_buffer): Call it.  (Bug#59137)

2 years ago; * etc/NEWS: Move an entry to a proper place. (bug#59718)
Eli Zaretskii [Wed, 30 Nov 2022 16:14:50 +0000 (18:14 +0200)]
; * etc/NEWS: Move an entry to a proper place.  (bug#59718)

2 years ago; Fix typos
Stefan Kangas [Wed, 30 Nov 2022 15:59:41 +0000 (16:59 +0100)]
; Fix typos

2 years ago; * etc/NEWS: Resurrect the lost Local variables section.
Eli Zaretskii [Wed, 30 Nov 2022 15:53:01 +0000 (17:53 +0200)]
; * etc/NEWS: Resurrect the lost Local variables section.

2 years ago; * etc/NEWS: Resurrect the lost Local variables section.
Eli Zaretskii [Wed, 30 Nov 2022 15:49:36 +0000 (17:49 +0200)]
; * etc/NEWS: Resurrect the lost Local variables section.

2 years agoproject-current: Improve the docstring
Dmitry Gutov [Wed, 30 Nov 2022 15:25:55 +0000 (17:25 +0200)]
project-current: Improve the docstring

* lisp/progmodes/project.el (project-current):
Improve the docstring (bug#59722).

2 years agoMerge from origin/emacs-29
Stefan Kangas [Wed, 30 Nov 2022 15:10:39 +0000 (16:10 +0100)]
Merge from origin/emacs-29

c3466099c5 Org regexp style fixes

2 years ago; Merge from origin/emacs-29
Stefan Kangas [Wed, 30 Nov 2022 15:10:39 +0000 (16:10 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

33a244097c Skip one python test case on macOS

2 years agoMerge from origin/emacs-29
Stefan Kangas [Wed, 30 Nov 2022 15:10:39 +0000 (16:10 +0100)]
Merge from origin/emacs-29

af1a99d53f Sink python indent offset guessing to avoid test failure
dc0f2ec2db * etc/NEWS: Announce Org update.
0625651e8a Update to Org 9.6-3-ga4d38e
edd64e64a3 Fix interactive selection of emacs-lock mode, broken by 2a...
a699f65936 Fix typo in flag to load Emacs-specific LLDB commands
f6aa7c335f ; Typo fixes in etc/NEWS and lisp/ files
f373a23e51 CC Mode: Prevent lone ids being parsed as types unless in ...
00cb6e052a ; Improve error message when LSP server not found
7ea95d1b92 ; * doc/misc/eglot.texi (Setting Up LSP Servers): Improve ...
c43cdfd639 Allow csharp-mode in c-default-style
13bb49bc0b In project-find-file, add abbreviated file names to history
4dab5f8671 * lisp/progmodes/project.el (project-vc-name): Fix the :ty...
079625d3c6 Tramp cleanup
067c65578e Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/e...
4313279e34 ; Fix typo in NEWS
afc7ed987b Allow be-resources to fail
00de296d1b Simplify erc-sasl's auth-source API
83b9496a19 * doc/misc/erc.texi: Revise SASL and modules chapters.
35e2b8a26b Add erc-sasl-auth-source-function to cached options
7336520fe7 Improve fontification in csharp-ts-mode
2661c51953 Improve fontification in typescript-ts-mode
bbf1b93d43 Add more font-lock settings to css-ts-mode
f794263da2 Reparse tree-sitter tree when buffer restriction changes
78663ad78b ; typos

# Conflicts:
# etc/NEWS

2 years ago; Merge from origin/emacs-29
Stefan Kangas [Wed, 30 Nov 2022 15:10:31 +0000 (16:10 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

78663ad78b ; typos

2 years agoMerge from origin/emacs-29
Stefan Kangas [Wed, 30 Nov 2022 15:10:31 +0000 (16:10 +0100)]
Merge from origin/emacs-29

a7b0b20c1b Fix GUD item on the menu bar in source buffers

2 years ago; Merge from origin/emacs-29
Stefan Kangas [Wed, 30 Nov 2022 15:10:31 +0000 (16:10 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

c6cb6d8506 Cut the emacs-29 release branch

2 years agoOrg regexp style fixes
Mattias Engdegård [Wed, 30 Nov 2022 12:23:38 +0000 (13:23 +0100)]
Org regexp style fixes

* lisp/org/org-element.el (org-element--get-node-properties):
Escape literal `+`.
* lisp/org/org-persist.el (org-persist-load:index):
Replace line-start with string-start when the latter is meant.

2 years agoSkip one python test case on macOS
Mattias Engdegård [Mon, 28 Nov 2022 18:41:02 +0000 (19:41 +0100)]
Skip one python test case on macOS

* test/lisp/progmodes/python-tests.el (python-ffap-module-path-1):
This test fails with a standard macOS Python installation;
see bug#59477 and bug#25753.

(cherry picked from commit db042b7591ea9da5e169704e5b32bd99c4ea7adf)

2 years agoSink python indent offset guessing to avoid test failure
Mattias Engdegård [Wed, 30 Nov 2022 12:12:38 +0000 (13:12 +0100)]
Sink python indent offset guessing to avoid test failure

Call python-indent-guess-indent-offset late in the set-up of
python-mode and python-ts-mode to make sure that the required other
settings (of syntax-propetize-function in particular) have been
carried out.  This cures a python-test failure (bug#59477).

* lisp/progmodes/python.el (python-base-mode): Move
python-indent-guess-indent-offset call from here...
(python-mode): ...to here...
(python-ts-mode): ...and here.

2 years ago* etc/NEWS: Announce Org update.
Kyle Meyer [Wed, 30 Nov 2022 02:07:03 +0000 (21:07 -0500)]
* etc/NEWS: Announce Org update.

2 years agoUpdate to Org 9.6-3-ga4d38e
Kyle Meyer [Wed, 30 Nov 2022 04:05:53 +0000 (23:05 -0500)]
Update to Org 9.6-3-ga4d38e

2 years agoFix interactive selection of emacs-lock mode, broken by 2a4b0da28c
Juanma Barranquero [Wed, 30 Nov 2022 00:38:59 +0000 (01:38 +0100)]
Fix interactive selection of emacs-lock mode, broken by 2a4b0da28c

* lisp/emacs-lock.el (emacs-lock--set-mode): Check that
arg is 4 and prefix is '(4).
(emacs-lock-mode): Pass also `current-prefix-arg' to
`emacs-lock--set-mode'.

2 years agoFix typo in flag to load Emacs-specific LLDB commands
Daniel Martín [Tue, 29 Nov 2022 22:03:42 +0000 (23:03 +0100)]
Fix typo in flag to load Emacs-specific LLDB commands

* src/.lldbinit: Fix typo in flag to parse .lldbinit files from the
current directory.  (Bug#59702)

2 years ago; Typo fixes in etc/NEWS and lisp/ files
Juanma Barranquero [Tue, 29 Nov 2022 21:37:18 +0000 (22:37 +0100)]
; Typo fixes in etc/NEWS and lisp/ files

2 years agoCC Mode: Prevent lone ids being parsed as types unless in decl arglists
Alan Mackenzie [Tue, 29 Nov 2022 20:19:34 +0000 (20:19 +0000)]
CC Mode: Prevent lone ids being parsed as types unless in decl arglists

This fixes bug #59051.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the test for the
last invocation of c-fdoc-shift-type-backward before CASE 1, additionally
test CONTEXT not being an arglist or BACKUP-AT-TYPE being non-nil.

2 years ago; Improve error message when LSP server not found
Stefan Kangas [Tue, 29 Nov 2022 19:28:16 +0000 (20:28 +0100)]
; Improve error message when LSP server not found

* lisp/progmodes/eglot.el (eglot--guess-contact): Improve wording of
error message when no LSP server was found.

2 years ago; * doc/misc/eglot.texi (Setting Up LSP Servers): Improve indexing.
Stefan Kangas [Tue, 29 Nov 2022 19:27:52 +0000 (20:27 +0100)]
; * doc/misc/eglot.texi (Setting Up LSP Servers): Improve indexing.

2 years agoAllow csharp-mode in c-default-style
Mattias Engdegård [Tue, 29 Nov 2022 16:20:16 +0000 (17:20 +0100)]
Allow csharp-mode in c-default-style

* lisp/progmodes/cc-vars.el (c-default-style):
Add csharp-mode to the type.  This fixes test-custom-opts.

2 years agoIn project-find-file, add abbreviated file names to history
Augusto Stoffel [Mon, 28 Nov 2022 22:50:41 +0000 (23:50 +0100)]
In project-find-file, add abbreviated file names to history

* lisp/progmodes/project.el (project--read-file-cpd-relative):
Use 'abbreviate-file-name' (bug#58447).