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
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.
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.
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.
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
* 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.
* 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.
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).
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'.
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.
Po Lu [Tue, 29 Nov 2022 06:25:04 +0000 (06:25 +0000)]
Allow be-resources to fail
* lib-src/be_resources.cc (be_perror): Print additional blurb.
(main): Return 0 on failure as well, but print the blurb.
Problem reported by the Haiku packager.
F. Jason Park [Thu, 24 Nov 2022 05:31:19 +0000 (21:31 -0800)]
Simplify erc-sasl's auth-source API
* doc/misc/erc.texi: Revise descriptions in SASL chapter to reflect
simplified auth-source options.
* lisp/erc/erc-sasl.el (erc-sasl-password,
erc-sasl-auth-source-function): Revise doc strings.
(erc-sasl-auth-source-password-as-host): New function to serve as
more useful choice for option `erc-sasl-auth-source-function'.
(erc-sasl--read-password): Promote auth-source to pole position, above
an explicit string and `:password'.
* test/lisp/erc/erc-sasl-tests.el (erc-sasl--read-password--basic):
Massage tests to conform to simplified `erc-sasl-password'
API. (Bug#29108.)
F. Jason Park [Thu, 24 Nov 2022 05:31:19 +0000 (21:31 -0800)]
Add erc-sasl-auth-source-function to cached options
* lisp/erc/erc-sasl.el (erc-sasl--read-password): Consult cached
options instead of `erc-sasl-auth-source-function'.
(erc-sasl--init): Add `erc-sasl-auth-source-function' to
`erc-sasl--options'.
* test/lisp/erc/erc-sasl-tests.el (erc-sasl--read-password--basic,
erc-sasl--read-password--auth-source): Look for original value of
`erc-sasl-auth-source-function' in `erc-sasl--options' under the
`authfn' key.
* lisp/textmodes/css-mode.el (css--treesit-settings): Add new
font-lock features 'query', 'keyword', 'operator' and 'bracket'.
(css-ts-mode): Use new features.
* 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.
Gregory Heytings [Mon, 28 Nov 2022 12:17:30 +0000 (12:17 +0000)]
Fix display of long completions.
* lisp/minibuffer.el (completion--insert-strings): Do not assume
"at least 2 columns", which is not possible when completion
strings are long, e.g. with completions-detailed set.
Jim Porter [Mon, 28 Nov 2022 01:22:49 +0000 (17:22 -0800)]
; Don't emit a "Server stopped" message when restarting the Emacs server
* lisp/server.el (server-stop): Return non-nil when we actually stop
the server. Don't message about stopping the server here (but do log
it).
(server-start): Emit the appropriate message about stopping or
restarting the server.
Stefan Kangas [Mon, 28 Nov 2022 00:32:01 +0000 (01:32 +0100)]
Catch more cases in info--ensure-not-in-directory-node
* lisp/info.el (info--ensure-not-in-directory-node): Fix the case
where "DIR" is in upper-case, and if 'Info-current-file' is an
absolute file name.
Problem reported by Eli Zaretskii <eliz@gnu.org>.
Gregory Heytings [Sun, 27 Nov 2022 22:53:20 +0000 (22:53 +0000)]
Minor improvements to locked narrowing
* src/xdisp.c (get_locked_narrowing_begv)
(get_locked_narrowing_zv): Safer handling of negative values.
(handle_fontified_prop): Do not use locked narrowing if the region
size is <= 0.
* src/keyboard.c (safe_run_hooks_maybe_narrowed): Do not use
locked narrowing if the region size is <= 0.
Yuan Fu [Sun, 27 Nov 2022 22:15:57 +0000 (14:15 -0800)]
Remove treesit-comment-start/end and use comment-start/end-skip
treesit-comment-start/end is unnecessary because of
comment-start/end-skip, so they should be removed.
Cleanup and set comment-start/end-skip for tree-sitter C-like major
modes.
I replaced the [ \t]* part in comment-start-skip with (syntax
whitespace), which is what comment-end-skip uses. I also added
grouping in comment-start-skip to match that of comment-end-skip.
* lisp/emacs-lisp/package-vc.el: Replace instances of "source package"
in comments and docstrings.
* lisp/emacs-lisp/package.el: Replace instances of "source package" in
comments and docstrings.
* lisp/progmodes/xref.el (xref--add-log-current-defun):
New function.
(xref--xref-buffer-mode): Assign it buffer-locally to
`add-log-current-defun-function'.
lu4nx [Fri, 25 Nov 2022 06:38:29 +0000 (14:38 +0800)]
Fixed ctags local command execute vulnerability
* lib-src/etags.c:
(clean_matched_file_tag): New function
(do_move_file): New function
(readline_internal):
Add `leave_cr` parameter, if true, include the \r character
* test/manual/etags/CTAGS.good_crlf: New file
* test/manual/etags/CTAGS.good_update: New file
* test/manual/etags/crlf: New file
* test/manual/etags/Makefile: Add `ctags -u` test cases
Po Lu [Sun, 27 Nov 2022 11:17:38 +0000 (19:17 +0800)]
Make frame synchronization more robust
* src/xterm.c (x_sync_wait_for_frame_drawn_event)
(x_sync_handle_frame_drawn): Only cancel frame synchronization
if hanging twice or more in a row.
* src/xterm.h (struct x_output, FRAME_X_DRAW_JUST_HUNG): New
flag.
* lisp/progmodes/csharp-mode.el (c-basic-matchers-before): Remove
invalid string check for Emacs 27.
(version=): Remove compatibility hack for string handling in CC Mode
in Emacs 27.1. (Bug#59602)
Stefan Kangas [Sun, 27 Nov 2022 06:29:54 +0000 (07:29 +0100)]
Improve describe-text-properties display
* lisp/descr-text.el (describe-property-list): Don't propertize white
space with the 'help-argument-name' face. This improves display
slightly when that face has an underline.