1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-05-10 23:31:19 -07:00
Commit graph

164558 commits

Author SHA1 Message Date
Mattias Engdegård
efb9ec11bb Improved docstring single quote warning
* lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-style-warn):
More robust regexp.  More explicit warning message.
2023-01-18 18:50:23 +01:00
Mattias Engdegård
1b52eaa190 Better lambda quote warning
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
Avoid `...` shown backslash-escaped as a symbol, and render an empty
argument list as `()` instead of `nil`.
2023-01-18 18:50:03 +01:00
Jim Porter
281f48f19e ; Fix Eshell prompt tests when the current user is root
* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test/field-properties)
(em-prompt-test/field-properties/no-highlight): Handle the case when
the current user is root.
2023-01-17 16:59:13 -08:00
Paul Eggert
7ff5c0d704 Port xattr handling to Fedora 9
Problem reported by Po Lu (Bug#60843).
* m4/xattr.m4: Sync from Gnulib.
2023-01-17 15:39:21 -08:00
Eli Zaretskii
b9ae9d3ff8 ; * src/xterm.c (handle_one_xevent): Fix GTK build. (Bug#60883) 2023-01-17 19:45:12 +02:00
Michael Albinus
013ab7e2a8 Complete implementation of `file-user-id'
* lisp/net/ange-ftp.el (ange-ftp-file-user-uid): New defun.  Mark
it as file name handler for `file-user-uid'.

* lisp/net/tramp-archive.el (tramp-archive-handle-file-user-uid):
Move up.  Protect `file-user-id' call for older Emacs versions.

* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
Remove 'file-user-uid'.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test44-file-user-uid): New test.
(tramp-archive-test48-auto-load)
(tramp-archive-test48-delay-load): Rename.

* test/lisp/net/tramp-tests.el (tramp-test44-file-user-uid): New test.
(tramp--test-asynchronous-requests-timeout): Adapt docstring.
(tramp-test45-asynchronous-requests)
(tramp-test46-dired-compress-file)
(tramp-test46-dired-compress-dir, tramp-test47-read-password)
(tramp-test48-auto-load, tramp-test48-delay-load)
(tramp-test48-recursive-load, tramp-test48-remote-load-path)
(tramp-test49-unload): Rename.
2023-01-17 16:00:08 +01:00
Po Lu
96015c9c8c Make tool bar highlight work correctly during touch events
* src/xterm.c (handle_one_xevent): Before activating the tool
bar in response to a touch event, set the mouse highlight to
that location.  After the touch ends, clear the mouse highlight.
2023-01-17 18:54:22 +08:00
Po Lu
b9025c507a Correctly handle touches on the tool bar
* src/xterm.c (xi_link_touch_point): New argument `frame'.  Set
new field `touchpoint->frame' to it.
(xi_unlink_touch_points): New function.
(xi_disable_devices): Clear the tool bar device on frames whose
tool bar device matches this field.
(handle_one_xevent): If an XI_TouchBegin event lands on the tool
bar, then simulate a pointer click.  Ignore future events from
that touchpoint from there onwards.
(x_make_frame_invisible, x_free_frame_resources): Unlink touch
points associated with the frame.

* src/xterm.h (struct xi_touch_point_t): New field `frame'.
(struct x_output): New fields for keeping track of tool bar
touches.
2023-01-17 18:30:40 +08:00
Stefan Kangas
bb383a5491 Merge from origin/emacs-29
e8c77d9abd Fix hfy-exclude-file-rules (bug#60562)
c1d32d9a20 CC Mode: Prevent ids in temporary "declarators" getting i...
140824dc09 ; Fix more quoting in w32fns.c.
f367ba3ed0 ; Avoid byte-compiler warning in eglot.el
1b458aced7 ; * lisp/progmodes/eglot.el: Remove stray space.
7c8eac8fbc ; * src/w32fns.c: Fix quoting.  Patch by Arash Esbati <ar...
67df34c143 Fix M-x eglot prompt when connection already exists (bug#...
3d1e74c82a Fix tree-sitter indent preset function (bug#60270)
352e41016b ruby-ts-mode: Support the option ruby-block-indent
44c9cb8653 Improve indentation for jsx
82ae9caadd * lisp/subr.el (while-let): Fix docs if-let->if-let* (bug...
f16bd1ead4 Revert "* lisp/subr.el (while-let): Use if-let, not if-le...
c8d5480972 Bump use-package version for Emacs 29.1
2023-01-17 06:30:08 +01:00
Jim Porter
0bb8a011d5 Add 'file-user-uid' to get the connection-local effective UID
In particular, this lets Eshell show a "#" root prompt sigil when the
user has sudo'ed via "cd /sudo::" (bug#60722).

* lisp/simple.el (file-user-uid): New function.

* lisp/net/tramp.el (tramp-file-name-for-operation): Add
'file-user-uid'.
(tramp-handle-file-user-uid): New function.

* lisp/net/tramp-adb.el (tramp-adb-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 'file-user-uid'.

* lisp/net/tramp-archive.el (tramp-archive-handle-file-user-uid): New
function...
(tramp-archive-file-name-handler-alist): ... use it.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Use
'file-user-uid'.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$UID'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/uid-var): New test.

* doc/lispref/os.texi (User Identification): Document 'file-user-uid'.

* doc/lispref/files.texi (Magic File Names): Mention 'file-user-uid'.

* doc/misc/eshell.texi (Variables): Document '$UID'.  Add a missing
index entry for '$INSIDE_EMACS'.

* etc/NEWS: Announce 'file-user-uid'.
2023-01-16 17:11:02 -08:00
Mattias Engdegård
bcaa63ac50 * lisp/emacs-lisp/bytecomp.el (format-message): Warn on bad arity. 2023-01-16 19:42:31 +01:00
Mattias Engdegård
2a85d7a07c Optimise apply with cons in tail argument
* lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Transform

  (apply F ... (cons X Y)) -> (apply F ... X Y)

This pattern is seen both in hand-written code and in backquote
expansions.
2023-01-16 19:42:31 +01:00
Mattias Engdegård
e8c77d9abd Fix hfy-exclude-file-rules (bug#60562)
* lisp/htmlfontify.el (hfy-exclude-file-rules):
Fix broken defcustom type; no longer fails test-custom-opts.
Fix regexps not to use newline-sensitive patterns like `.` and `$`
which do not make sense when matching file names.
Better doc string.
* lisp/htmlfontify.el (hfy-list-files): Simplify regexp argument.
2023-01-16 19:31:20 +01:00
Alan Mackenzie
c1d32d9a20 CC Mode: Prevent ids in temporary "declarators" getting into c-found-types
This should fix bug #60765.  In the scenario type an identifier in front of
foo (bar, baz), as when started a new statement.  This temporarily makes the
function call a declarator, and bar and baz types.  Don't enter bar and baz
into c-found-types.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1) (CASE 6): When a
'maybe type triggers this case, set `unsafe-maybe' to non-nil.
2023-01-16 17:44:44 +00:00
Eli Zaretskii
140824dc09 ; Fix more quoting in w32fns.c. 2023-01-16 16:55:01 +02:00
Eli Zaretskii
f367ba3ed0 ; Avoid byte-compiler warning in eglot.el
* lisp/progmodes/eglot.el (eglot): Rename INTERACTIVE to avoid
byte-compiler warning.  Update the doc string.  (Bug#60557)
2023-01-16 16:52:48 +02:00
Eli Zaretskii
1b458aced7 ; * lisp/progmodes/eglot.el: Remove stray space. 2023-01-16 16:08:46 +02:00
Eli Zaretskii
7c8eac8fbc ; * src/w32fns.c: Fix quoting. Patch by Arash Esbati <arash@gnu.org>. 2023-01-16 16:00:18 +02:00
Theodor Thornhill
77659bd463 Add sentence node regexp to json-ts-mode
* lisp/progmodes/json-ts-mode.el (json-ts-mode): Add pair for sentence
movement.
2023-01-16 14:55:12 +01:00
Theodor Thornhill
c8dd37b16c Add some basic tests for java-ts-mode and typescript-ts-mode
* test/lisp/progmodes/java-ts-mode-resources/indent.erts: New file
with tests for indentation.
* test/lisp/progmodes/java-ts-mode-resources/movement.erts: New file
with tests for movement.
* test/lisp/progmodes/java-ts-mode-tests.el: New tests.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts: New
file with tests for indentation.
* test/lisp/progmodes/typescript-ts-mode-tests.el: New tests.
2023-01-16 14:33:27 +01:00
Theodor Thornhill
e84111a001 Add sentence-nodes to dockerfile-ts-mode
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode): Catch all
instructions.
2023-01-16 14:14:31 +01:00
João Távora
67df34c143 Fix M-x eglot prompt when connection already exists (bug#60557)
Before this change, if a current connection existed at the time of M-x
eglot, user would be first asked to enter into M-x eglot's interactive
spec details about new command line arguments, and only afterwards be
prompted about what to do with the current connection (which could be
to reconnect to it using the same arguments, or tear it down and make
a new one).

This is very confusing, as users may not be fully aware of the
distinction between "reconnect" vs "disconnect-and-connect".  They
might not know if any new command line arguments provided are taking
effect or not.

This change simplifies this and removes the option to "reconnect
instead" from M-x eglot (users can do that at any time via M-x
eglot-reconnect).  It also ensures that users are informed about a
current connection before asking to enter new command line arguments
and not the other way round.

* lisp/progmodes/eglot.el (eglot): Rework.
2023-01-16 11:49:15 +00:00
Yuan Fu
3d1e74c82a
Fix tree-sitter indent preset function (bug#60270)
* lisp/treesit.el (treesit-simple-indent-presets): Fix
prev-adaptive-prefix so it doesn't return nil if the previous line has
no prefix.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
2023-01-16 00:32:57 -08:00
Alex Bochannek
bb67924415 Run newsticker's ticker only periodically (bug#59856)
* doc/misc/newsticker.texi (Frontends, Configuration): Add
newsticker-ticker-period
* lisp/net/newst-ticker.el (newsticker--ticker-period-timer): New.
(newsticker--ticker-timer): Modify doc string.
(newsticker-ticker-interval): Modify doc string.
(newsticker-ticker-period): New
(newsticker--display-tick, newsticker--display-jump)
(newsticker--display-scroll, newsticker-start-ticker)
(newsticker-stop-ticker): Use newsticker--ticker-timer and
newsticker--ticker-period-timer.
2023-01-16 09:20:11 +01:00
Theodor Thornhill
f7b3546c8e Rename variables from last change
* lisp/progmodes/js.el (js--treesit-sentence-nodes): Rename variable
from 'js--treesit-sentence-type-regexp'.
(js-ts-mode): Refer to it.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--sentence-nodes): Rename variable from
'typescript-ts-mode--sentence-type-regexp'.
(typescript-ts-base-mode, tsx-ts-mode): Refer to it.
2023-01-16 08:36:49 +01:00
Dmitry Gutov
352e41016b ruby-ts-mode: Support the option ruby-block-indent
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--block-indent-anchor):
New function.
(ruby-ts--indent-rules): Use it.

* test/lisp/progmodes/ruby-ts-mode-tests.el:
Run indent test for ruby-block-indent.rb.
2023-01-16 05:50:28 +02:00
Theodor Thornhill
70477be3e3 Add treesit-sentence-type-regexp
* lisp/progmodes/js.el (js--treesit-sentence-type-regexp): New defvar
with sentence nodes.
(js-ts-mode): Use the new defvar for treesit-sentence-type-regexp.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--sentence-type-regexp): New defvar with sentence
nodes.
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode): Use
the new defvar for treesit-sentence-type-regexp.
(tsx-ts-mode): Extend treesit-sentence-type-regexp with jsx nodes.
2023-01-15 22:18:02 +01:00
Theodor Thornhill
44c9cb8653 Improve indentation for jsx
* lisp/progmodes/js.el (js--treesit-indent-rules): Use more parent
anchors and fix typo with wrong indent offset variable.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Use more parent anchors.
2023-01-15 21:51:08 +01:00
Michael Albinus
9ec60fde2e Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2023-01-15 18:50:00 +01:00
Michael Albinus
4d37504c43 Improve Tramp robustness
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
Protect `delete-process'.

* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
(tramp-test30-make-process): Don't test disabled process filter.
2023-01-15 18:49:37 +01:00
Sean Whitton
82ae9caadd * lisp/subr.el (while-let): Fix docs if-let->if-let* (bug#60758). 2023-01-15 10:01:41 -07:00
Sean Whitton
f16bd1ead4 Revert "* lisp/subr.el (while-let): Use if-let, not if-let* (bug#60758)."
This reverts commit 083badc9c1.
2023-01-15 09:57:41 -07:00
Michael Albinus
ead86da14b Upgrade to length* functions in Tramp
* lisp/net/tramp-compat.el (tramp-compat-replace-regexp-in-region):
Move up.
(tramp-compat-length<, tramp-compat-length>)
(tramp-compat-length=): New defaliases.
(tramp-compat-file-name-unquote, tramp-compat-take)
(tramp-compat-ntake): Use them.

* lisp/net/tramp.el (tramp-string-empty-or-nil-p): New defsubst.
(tramp-find-host, tramp-buffer-name, tramp-make-tramp-file-name)
(tramp-completion-make-tramp-file-name, tramp-debug-buffer-name)
(tramp-completion-handle-file-name-all-completions)
(tramp-handle-directory-file-name)
(tramp-handle-expand-file-name)
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-completion)
(tramp-direct-async-process-p, tramp-call-process)
(tramp-read-passwd):
* lisp/net/tramp-adb.el (tramp-adb-get-device)
(tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection):
* lisp/net/tramp-archive.el (tramp-archive-handle-directory-file-name):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-monitor-process-filter)
(tramp-gvfs-handle-get-home-directory)
(tramp-gvfs-handler-askpassword)
(tramp-gvfs-maybe-open-connection, tramp-get-media-devices):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-directory-p)
(tramp-sh-handle-insert-directory)
(tramp-sh-handle-expand-file-name, tramp-sh-handle-make-process)
(tramp-sh-gio-monitor-process-filter, tramp-set-remote-path)
(tramp-open-connection-setup-interactive-shell)
(tramp-maybe-open-connection, tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-expand-file-name, tramp-smb-handle-file-acl)
(tramp-smb-handle-insert-directory)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-get-home-directory)
(tramp-smb-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name)
(tramp-sudoedit-handle-file-name-all-completions): Use the new
functions.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test43-file-system-info):
* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
(tramp-test31-memory-info, tramp-test35-remote-path)
(tramp-test43-file-system-info): Use new compat functions.
2023-01-15 17:50:17 +01:00
Stefan Kangas
c8d5480972 Bump use-package version for Emacs 29.1
* lisp/use-package/use-package.el: Bump version to 2.4.5.
2023-01-15 14:33:05 +01:00
Stefan Kangas
0052aa54f6 Merge from origin/emacs-29
9f5008b9b2 Improve error message from sqlite-mode.el
73b304bb74 ; Fix last change: remove unused @anchor.
d2efee31ed ; Update htmlfontify documentation
72d2604d1f Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
cf31182684 ; * lisp/files.el (insert-directory-wildcard-in-dir-p): D...
3fa10f6e54 ; Add more c-ts-mode indent and filling tests
25a5575f16 Fix c-ts-mode block comment indentation (bug#60270)
252b2c01af Fix c-ts-mode label indent
189d976dba Fix statement indent for c-ts-mode (bug#59686) (bug#60280)
c78e19d99c Allow offset in tree-sitter indent rules to be functions
d13a329acf ; Minor change in c-ts-mode--indent-styles
d428d51066 Support filling line comments in c-ts-mode
f02998939c ; Fix c-ts-mode filling
b365a7cc32 Fix expansion of wildcards in ls-lisp.el
b5e0260f42 Fix messages displayed when diary is shown
2023-01-15 13:08:06 +01:00
Stefan Kangas
c87217e97f ; Merge from origin/emacs-29
The following commit was skipped:

256791edd4 ; Auto-commit of loaddefs files.
2023-01-15 13:08:06 +01:00
Stefan Kangas
cc576cc410 Merge from origin/emacs-29
920a7d38e9 ; Fix typos
48a62c5546 Add constructor_declaration as java-ts-mode defun
72c45fa910 Further improvement for non-string values in pcomplete
1ef359095e ; * etc/NEWS (--with-native-compilation=aot): Tweak wording.
a8eb9dd400 Fix the case in first-completion revealed by minibuffer-t...

# Conflicts:
#	doc/misc/modus-themes.org
#	etc/NEWS
2023-01-15 13:08:02 +01:00
Eli Zaretskii
9f5008b9b2 Improve error message from sqlite-mode.el
* lisp/sqlite-mode.el (sqlite-mode-open-file): Add error
checking.  (Bug#60490)
2023-01-15 12:06:54 +02:00
Eli Zaretskii
73b304bb74 ; Fix last change: remove unused @anchor. 2023-01-15 11:52:46 +02:00
Xi Lu
d2efee31ed ; Update htmlfontify documentation
* doc/misc/htmlfontify.texi (Customization): Remove 'hfy-find-cmd',
add 'hfy-exclude-file-rules'.
(Requirements): Remove text about 'find' program.
2023-01-15 11:49:45 +02:00
Eli Zaretskii
72d2604d1f Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29 2023-01-15 11:19:20 +02:00
Eli Zaretskii
cf31182684 ; * lisp/files.el (insert-directory-wildcard-in-dir-p): Doc fix. 2023-01-15 11:18:44 +02:00
Yuan Fu
3fa10f6e54
; Add more c-ts-mode indent and filling tests
* test/lisp/progmodes/c-ts-mode-resources/filling.erts: New file.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: More tests.
* test/lisp/progmodes/c-ts-mode-tests.el:
(c-ts-mode-test-filling): new test.
2023-01-15 01:11:38 -08:00
Yuan Fu
25a5575f16
Fix c-ts-mode block comment indentation (bug#60270)
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--comment-2nd-line-anchor): Handle another edge case.
2023-01-15 01:11:38 -08:00
Yuan Fu
252b2c01af
Fix c-ts-mode label indent
Fix indentation of the statement right under a label.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Fix.
(c-ts-mode--top-level-label-matcher): Fix.
2023-01-15 01:11:38 -08:00
Yuan Fu
189d976dba
Fix statement indent for c-ts-mode (bug#59686) (bug#60280)
Instead of trying to figure out the correct anchor, now we just count
the layers of {} blocks between the node and the root node.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): Use new offset functions
c-ts-mode--close-bracket-offset and c-ts-mode--statement-offset.
(c-ts-mode--bracket-children-anchor): Remove function.
(c-ts-mode--top-level-label-matcher): New variable.
(c-ts-mode--statement-offset)
(c-ts-mode--close-bracket-offset): New offset functions.
2023-01-15 01:11:37 -08:00
Yuan Fu
c78e19d99c
Allow offset in tree-sitter indent rules to be functions
This is needed for fixing C indentation.  See next comment.

* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el (treesit-simple-indent): Try evaluating OFFSET as a
function if it's not integer nor variable.
2023-01-15 01:11:37 -08:00
Yuan Fu
d13a329acf
; Minor change in c-ts-mode--indent-styles
; * lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): Move top-level label rule to GNU style.
2023-01-15 01:11:37 -08:00
Yuan Fu
d428d51066
Support filling line comments in c-ts-mode
Now we handle line comments separately because for line comments, each
line is an individual node, unlike block comments, where the whole
block comment is a single node.  fill-comment-paragraph turns out to
do the job perfectly fine.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--fill-paragraph): Extract out most parts into
c-ts-mode--fill-block-comment.
(c-ts-mode--fill-block-comment): New extracted function.
2023-01-15 01:11:37 -08:00
Yuan Fu
f02998939c
; Fix c-ts-mode filling
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--comment-regexp): New variable.
(c-ts-mode--fill-paragraph): Use the new variable, and make sure
start-marker is always initialized.
2023-01-15 01:11:36 -08:00