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: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.
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)
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.
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 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.
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.
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.
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.
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.
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.
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)
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).
Eli Zaretskii [Wed, 30 Nov 2022 18:29:04 +0000 (20:29 +0200)]
; * etc/NEWS: Add missing tree-sitter based modes.
Eli Zaretskii [Wed, 30 Nov 2022 16:14:50 +0000 (18:14 +0200)]
; * etc/NEWS: Move an entry to a proper place. (bug#59718)
Stefan Kangas [Wed, 30 Nov 2022 15:59:41 +0000 (16:59 +0100)]
; Fix typos
Eli Zaretskii [Wed, 30 Nov 2022 15:49:36 +0000 (17:49 +0200)]
; * etc/NEWS: Resurrect the lost Local variables section.
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).
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.
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)
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.
Kyle Meyer [Wed, 30 Nov 2022 02:07:03 +0000 (21:07 -0500)]
* etc/NEWS: Announce Org update.
Kyle Meyer [Wed, 30 Nov 2022 04:05:53 +0000 (23:05 -0500)]
Update to Org 9.6-3-ga4d38e
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'.
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)
Juanma Barranquero [Tue, 29 Nov 2022 21:37:18 +0000 (22:37 +0100)]
; Typo fixes in etc/NEWS and lisp/ files
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.
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.
Stefan Kangas [Tue, 29 Nov 2022 19:27:52 +0000 (20:27 +0100)]
; * doc/misc/eglot.texi (Setting Up LSP Servers): Improve indexing.
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.
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).
Dmitry Gutov [Tue, 29 Nov 2022 16:01:19 +0000 (18:01 +0200)]
* lisp/progmodes/project.el (project-vc-name): Fix the :type form (bug#48747).
Michael Albinus [Tue, 29 Nov 2022 16:00:02 +0000 (17:00 +0100)]
Tramp cleanup
* doc/misc/tramp.texi: Use @value{tramp} where appropriate.
* doc/misc/trampver.texi: Change "Tramp" format ifplaintext.
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Ignore `memory-info'.
Eli Zaretskii [Tue, 29 Nov 2022 11:55:31 +0000 (13:55 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Kai Ma [Tue, 29 Nov 2022 09:57:27 +0000 (10:57 +0100)]
; Fix typo in NEWS
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)]
* doc/misc/erc.texi: Revise SASL and modules chapters.
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.
Jostein Kjønigsen [Mon, 28 Nov 2022 12:06:03 +0000 (13:06 +0100)]
Improve fontification in csharp-ts-mode
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Improve rules for variables, new-expressions, and catch statements.
Jostein Kjønigsen [Mon, 28 Nov 2022 15:05:27 +0000 (16:05 +0100)]
Improve fontification in typescript-ts-mode
- Restore method-name fontification.
- Fontify all types in class-declarations, extendees too
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Change patterns.
Theodor Thornhill [Mon, 28 Nov 2022 08:35:15 +0000 (09:35 +0100)]
Add more font-lock settings to css-ts-mode
* lisp/textmodes/css-mode.el (css--treesit-settings): Add new
font-lock features 'query', 'keyword', 'operator' and 'bracket'.
(css-ts-mode): Use new features.
Yuan Fu [Mon, 28 Nov 2022 22:21:39 +0000 (14:21 -0800)]
Reparse tree-sitter tree when buffer restriction changes
* src/treesit.c (treesit_sync_visible_region): Set nee_reparse flag to
true if buffer range changes. Add some assertion.
* src/treesit.c (treesit_ensure_parsed): Move
treesit_sync_visible_region in front of the check for need_reparse.
Mattias Engdegård [Mon, 28 Nov 2022 18:46:10 +0000 (19:46 +0100)]
Eli Zaretskii [Mon, 28 Nov 2022 19:19:22 +0000 (21:19 +0200)]
Fix GUD item on the menu bar in source buffers
* lisp/progmodes/gud.el (alist-get): Restore gud-minor-mode menu
on the menu bar. (Bug#59605)
Eli Zaretskii [Mon, 28 Nov 2022 17:47:35 +0000 (19:47 +0200)]
Cut the emacs-29 release branch
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 29.0.60.
* admin/admin.el (set-version): Fix regexp for configure.ac.
* lisp/cus-edit.el (customize-changed-options-previous-release):
Bump last version to 28.2.
Juanma Barranquero [Mon, 28 Nov 2022 16:46:21 +0000 (17:46 +0100)]
Do not prune native-compiled system directories (bug#59658)
* lisp/emacs-lisp/comp.el (native-compile-prune-cache):
Skip last directory in `native-comp-eln-load-path'.
Stefan Kangas [Mon, 28 Nov 2022 14:32:25 +0000 (15:32 +0100)]
; Fix typo in eglot-alternatives (Bug#59653)
* lisp/progmodes/eglot.el (eglot-alternatives): Fix typo.
Problem reported by Arash Esbati <arash@gnu.org>.
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.
Juanma Barranquero [Mon, 28 Nov 2022 11:58:26 +0000 (12:58 +0100)]
; * doc/lispref/windows.texi (Selecting Windows): Doc fix
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.
Gregory Heytings [Mon, 28 Nov 2022 01:20:46 +0000 (01:20 +0000)]
Do not enter locked narrowing when it would span the whole buffer
* src/xdisp.c (handle_fontified_prop):
* src/keyboard.c (safe_run_hooks_maybe_narrowed): Add condition.
Dmitry Gutov [Mon, 28 Nov 2022 01:07:01 +0000 (03:07 +0200)]
* lisp/progmodes/xref.el (xref--outdated-p): Fix broken docstring.
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 23:15:00 +0000 (23:15 +0000)]
Fix incompatible -t and -r options in emacsclient
* lib-src/emacsclient.c (decode_options): Do not allow -t and -r
together.
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/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 (typescript-ts-mode): Setup
comment-start/end-skip.
* lisp/treesit.el (treesit-comment-start)
(treesit-comment-end): Remove variables.
(treesit-simple-indent-presets): Use comment-start/end-skip instead.
Gregory Heytings [Sun, 27 Nov 2022 21:19:41 +0000 (22:19 +0100)]
Merge branch 'feature/improved-locked-narrowing'
Eli Zaretskii [Sun, 27 Nov 2022 18:01:50 +0000 (20:01 +0200)]
Fix the new ctags test
* test/manual/etags/Makefile (ctags_update): Sort CTAGS* files
before comparing. Patch by lu4nx <lx@shellcodes.org>. (Bug#59544)
* .gitignore: Ignore CTAGS*.sorted files.
Stefan Kangas [Sun, 27 Nov 2022 17:07:57 +0000 (18:07 +0100)]
; Consistently call alists "association list"
* doc/lispref/compile.texi (Compiler Errors):
* doc/misc/gnus.texi (Score File Format):
* etc/NEWS.24:
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
* lisp/progmodes/gdb-mi.el (gdb-threads-list)
(gdb-breakpoints-list, gdb-place-breakpoints): Prefer the term
"association list" for alists.
Eli Zaretskii [Sun, 27 Nov 2022 17:08:18 +0000 (19:08 +0200)]
; * src/treesit.c (Ftreesit_parser_included_ranges): Doc fix.
Stefan Kangas [Sun, 27 Nov 2022 17:02:55 +0000 (18:02 +0100)]
; Fix typo (Bug#59634)
* src/treesit.c (Ftreesit_parser_included_ranges): Fix typo.
Juanma Barranquero [Sun, 27 Nov 2022 16:29:58 +0000 (17:29 +0100)]
; * lisp/progmodes/xref.el: Fix some typos
Michael Albinus [Sun, 27 Nov 2022 15:57:03 +0000 (16:57 +0100)]
Extend memory-info for remote systems
* doc/lispref/files.texi (Magic File Names): Add memory-info.
* doc/lispref/internals.texi (Garbage Collection): memory-info can
also retrieve values from remote systems.
* etc/NEWS: Document changes in memory-info. Fix typos.
* lisp/files.el (warn-maybe-out-of-memory): Ensure local memory info.
* lisp/net/tramp.el (tramp-handle-memory-info): New defun.
(tramp-file-name-for-operation)
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist)
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add 'memory-info'.
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-exec-path):
Let-bind `process-file-side-effects'.
* src/alloc.c (Fmemory_info): Support remote systems.
(Qmemory_info): Declare.
* test/lisp/net/tramp-tests.el (tramp-test31-memory-info): New test.
Philip Kaludercic [Sun, 27 Nov 2022 14:31:29 +0000 (15:31 +0100)]
Consistently refer to VC packages as such
* 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.
Juanma Barranquero [Sun, 27 Nov 2022 13:57:14 +0000 (14:57 +0100)]
Fix xref interaction with which-func (bug#59575)
* 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'.
Eli Zaretskii [Sun, 27 Nov 2022 13:44:17 +0000 (15:44 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sun, 27 Nov 2022 13:43:39 +0000 (15:43 +0200)]
; Fix last change in etags.c
* lib-src/etags.c (cleanup_tags_file): Renamed from
clean_matched_file_tag.
* test/manual/etags/CTAGS.good_update:
* test/manual/etags/CTAGS.good_crlf: Update to match the test.
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
Juanma Barranquero [Sun, 27 Nov 2022 11:32:04 +0000 (12:32 +0100)]
Fix xref to correctly display Windows absolute filenames
* lisp/progmodes/xref.el (xref--group-name-for-display):
Use `file-name-absolute-p' instead of faking it. (Discussed
in bug#59628.)
Shohei YOSHIDA [Sun, 27 Nov 2022 12:58:27 +0000 (21:58 +0900)]
* lib-src/emacsclient.c (print_help_and_exit): Fix --timeout.
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.
Gregory Heytings [Sun, 27 Nov 2022 10:25:19 +0000 (10:25 +0000)]
; * src/xdisp.c (get_locked_narrowing_begv): Minor change.
Theodor Thornhill [Sat, 26 Nov 2022 19:10:58 +0000 (20:10 +0100)]
Remove compatibility code in csharp-mode
* 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)
Eli Zaretskii [Sun, 27 Nov 2022 08:10:05 +0000 (10:10 +0200)]
; * src/treesit.c (Ftreesit_induce_sparse_tree): Doc fix.
Eli Zaretskii [Sun, 27 Nov 2022 08:06:02 +0000 (10:06 +0200)]
; Fix recent documentation changes in treesit.el
* lisp/treesit.el (treesit-font-lock-level)
(treesit-font-lock-recompute-features): Doc fixes.
Eli Zaretskii [Sun, 27 Nov 2022 07:58:02 +0000 (09:58 +0200)]
; * lisp/progmodes/sh-script.el (sh--redirect-bash-ts-mode): Doc fix.
Theodor Thornhill [Sat, 26 Nov 2022 20:12:51 +0000 (21:12 +0100)]
Add js-ts-mode to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add js-ts-mode as
an alternative. (Bug#59252)
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.
Gregory Heytings [Sun, 27 Nov 2022 01:02:16 +0000 (01:02 +0000)]
; * src/editfns.c: Minor improvements in comments.
Gregory Heytings [Sun, 27 Nov 2022 00:53:01 +0000 (00:53 +0000)]
Simplify narrowing_locks_restore
* src/editfns.c (narrowing_locks_restore): Simplify.
Gregory Heytings [Sun, 27 Nov 2022 00:24:40 +0000 (00:24 +0000)]
Improve handling of killed buffers in locked narrowings
* src/editfns.c (narrowing_locks_add, narrowing_locks_remove):
New functions, factored out.
(narrowing_lock_push, narrowing_lock_pop)
(narrowing_locks_restore): Use the new functions.
(narrowing_lock_get_bound): Return NULL for killed buffers.
(reset_outermost_narrowings, unwind_reset_outermost_narrowing):
Remove killed buffers from the 'narrowing_locks' alist.
Yuan Fu [Sat, 26 Nov 2022 23:32:57 +0000 (15:32 -0800)]
Make typescript-ts-mode not fallback to js-mode
1. js-mode might not be able to handle typescript file
2. Now that we use separate modes for tree-sitter modes, not falling
back makes tree-sitter modes more consistent
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode): Remove
the fallback code.
Yuan Fu [Sat, 26 Nov 2022 23:31:48 +0000 (15:31 -0800)]
Make bash-ts-mode fall back to sh-mode if the file isn't in Bash
* lisp/progmodes/sh-script.el (sh--guess-shell): Take out into a new
function.
(sh-base-mode): Use the new function.
(bash-ts-mode): Update docstring.
(sh--redirect-recursing): New variable.
(sh--redirect-bash-ts-mode): New function.
Jostein Kjønigsen [Fri, 25 Nov 2022 19:15:06 +0000 (20:15 +0100)]
Correctly fontify types in typeof() expression in csharp-ts-mode
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Add new pattern.
Yuan Fu [Sat, 26 Nov 2022 23:05:57 +0000 (15:05 -0800)]
Reorganize treesit-font-lock-feaure-list's to the new level scheme
* lisp/progmodes/c-ts-mode.el (c-ts-mode--base-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/python.el (python-ts-mode)
* lisp/progmodes/sh-script.el (bash-ts-mode)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
Reorganized treesit-font-lock-feature-list.
Yuan Fu [Sat, 26 Nov 2022 22:54:55 +0000 (14:54 -0800)]
Add treesit-font-lock-level
This replaces font-lock-maximum-decoration and allows us to disable
the busiest fontification level by default.
* lisp/treesit.el (treesit-font-lock-level): New variable.
(treesit-font-lock-feature-list)
(treesit-font-lock-settings): Change docstring.
(treesit-font-lock-recompute-features): Use the new variable.
Yuan Fu [Sat, 26 Nov 2022 22:51:26 +0000 (14:51 -0800)]
Add default limit for tree-sitter recursive tree-traversing function
This fixes bug#59426.
* src/treesit.c (treesit_search_dfs)
(treesit_build_sparse_tree): Remove no_limit parameter.
(Ftreesit_search_forward, Ftreesit_induce_sparse_tree): Use default
limit of 1000.
* doc/lispref/parsing.texi (Retrieving Nodes): Update manual.