1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-10 00:42:17 -07:00
Commit graph

163907 commits

Author SHA1 Message Date
Eli Zaretskii
7828ceac1d ; * src/xterm.c (x_send_scroll_bar_event): Remove unused variables. 2022-12-17 13:41:57 +02:00
Philip Kaludercic
83d9fa6a28 ; * lisp/subr.el (internal--with-narrowing): Simplify
(Bug#60130)
2022-12-17 12:18:56 +01:00
Philip Kaludercic
3b226f769e * lisp/emacs-lisp/package.el (package-report-bug): Autoload it. 2022-12-17 12:18:55 +01:00
Po Lu
f4db260e94 Minor improvements to frame synchronization
* src/xterm.c (x_sync_wait_for_frame_drawn_event): Update
compositor bypass property if frame synchronization is being
disabled.
2022-12-17 16:22:59 +08:00
Po Lu
825afc84d0 ; * lib-src/etags.c (do_move_file): Fix coding style. 2022-12-17 09:49:08 +08:00
Mattias Engdegård
6a390fd42e Use equal and member instead of eq and memq
* lisp/cedet/semantic/complete.el (semantic-displayer-show-request):
* lisp/descr-text.el (describe-char-categories):
* lisp/mh-e/mh-identity.el (mh-select-identity):
* lisp/transient.el (transient--delay-post-command)
(transient--post-command):
* lisp/vc/vc-git.el (vc-git-create-tag):
* test/lisp/emacs-lisp/cl-lib-tests.el
(cl-lib-nth-value-test-multiple-values):
* lisp/emulation/viper-cmd.el (viper-preserve-cursor-color):
Use `equal` instead of `eq` and `member` instead of `memq` where
the comparison is with literals without guaranteed identity.
In some cases this change corrects evident bugs, in others it is
mostly cosmetic.
2022-12-16 19:18:34 +01:00
Mattias Engdegård
6283b92334 Elide broken but unnecessary if optimisations
* lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
Remove explicit clauses purposing to simplify

    (if X nil t) -> (not X)
    (if X t nil) -> (not (not X))

but never did so because of a coding mistake (eq instead of equal),
found by a recently added warning.  They weren't actually needed
thanks to the optimiser's fixpoint iteration: we eventually get the
same results through

    (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X)
    (if X t nil) -> (if X t) -> (not (not X))
2022-12-16 19:18:34 +01:00
Mattias Engdegård
30d2b72c41 alist-get testfn argument evaluation correction
* lisp/emacs-lisp/gv.el (alist-get):
Evaluate TESTFN exactly once (previously up to 3 times).
Reduce the macro-expansion to include a call to either assoc or assq,
not both; this reduces the generated code size in some cases.
2022-12-16 19:18:34 +01:00
Juanma Barranquero
8624734504 ; * lisp/bs.el: Small doc and whitespace fixes 2022-12-16 18:38:22 +01:00
Eli Zaretskii
12424cf31d New option for selecting symbols by double-clicking
* lisp/mouse.el (mouse-1-double-click-prefer-symbols): New user
option.
(mouse-skip-word): If 'mouse-1-double-click-prefer-symbols' is
non-nil, skip over the entire symbol at point.  (Bug#60080)
2022-12-16 18:26:14 +02:00
Mattias Engdegård
b29be11a6f Closures are always non-nil
* lisp/emacs-lisp/byte-opt.el (byte-compile-trueconstp):
Treat closures as true in boolean context.
2022-12-16 17:18:44 +01:00
Stefan Monnier
9452dc4821 tab-bar.el: Fix "void-function cl--set-substring" error
* lisp/tab-bar.el: Use #' to quote function names.
Try and fit within 80 columns.
(tab-bar--load-buttons): Silence compiler warnings about `icons` functions.
(tab-bar-auto-width): Avoid the use of `substring` as a gv-place
because it requires `cl-lib` which we don't (want to) preload.
[ Maybe a better solution would be to not preload tab-bar.el.  ]
2022-12-16 11:00:53 -05:00
Stefan Kangas
4331771222 ; Fix merge errors 2022-12-16 08:47:27 +01:00
Stefan Kangas
03892d4f7c Merge from origin/emacs-29
033071692c ; Fix typos
f4a513344d Add lambda_expression-rule to java-ts-mode (bug#60091)
546aed3543 eglot: Add support for new language server csharp-ls
cb761eb7ac Use the new tree-sitter commands
037407ad95 Add "function" feature to python-ts-mode (bug#59977)
fee2efe1b0 Add go-ts-mode and go-mod-ts-mode (Bug#60025)
e8f7ab67ad Add basic support for hideshow in python-ts-mode (bug#60044)
cac070b23e Add "this" keyword to java-ts-mode (bug#60086)
c8d75046a2 When completing relative project file names, use relative...
3b618d0e3e Avoid segfaults due to invalid selected-window's buffer

# Conflicts:
#	lisp/progmodes/sh-script.el
2022-12-16 08:45:06 +01:00
Stefan Kangas
b52d0147e9 Fix typo in rcirc function name
* lisp/net/rcirc.el (rcirc-format-strike-through): Rename from
'rcirc-format-strike-trough'.  Make old name into obsolete
function alias.  Update all uses.
2022-12-16 08:33:47 +01:00
Stefan Kangas
033071692c ; Fix typos 2022-12-16 08:29:28 +01:00
Stefan Kangas
0c4ca9f007 Fix typo in rcirc variable name
* lisp/net/rcirc.el (rcirc-track-abbreviate-flag): Rename from
misspelled 'rcirc-track-abbrevate-flag'.  Make old name into
obsolete variable alias.
* doc/misc/rcirc.texi (Channels): Update above variable name.
2022-12-16 08:02:17 +01:00
Juanma Barranquero
d9ab1027b1 Fix lisp/bs.el change in commit e0a057c16b of 2022-12-07
* lisp/bs.el (bs-default-action-list): Before creating a window
first try `display-buffer-reuse-window', but make sure it never
chooses a window in another frame.
2022-12-16 07:16:23 +01:00
Jim Porter
b8eef7b8c1 ; Rename 'eshell-flatten-args' token to 'eshell-splice-immediately'
This is for symmetry with 'eshell-splice-args' (which performs a
splice later on).  Since this is just an internal symbol not exposed
to users, changing it is safe.

* lisp/eshell/esh-arg.el (eshell-parse-arguments, eshell-finish-arg):
Use 'eshell-splice-immediately'.
2022-12-15 21:41:03 -08:00
Jim Porter
e63ef66c57 Add support for the "splice operator" in Eshell
This allows splicing lists in-place in argument lists, which is
particularly important when defining aliases using the '$*' special
variable (bug#59960).

* lisp/eshell/esh-var.el (eshell-parse-variable): Add support for the
splice operator.
(eshell-interpolate-variable): Let 'eshell-parse-variable' handle
adding 'eshell-escape-arg'.
(eshell-complete-variable-reference): Handle the splice operator.

* lisp/eshell/esh-arg.el (eshell-concat-groups)
(eshell-prepare-splice): New functions...
(eshell-resolve-current-argument): ... use them.
(eshell-splice-args): New function.

* lisp/eshell/esh-cmd.el (eshell-rewrite-named-command): Handle
'eshell-splice-args'.

* lisp/eshell/esh-util.el (eshell-list-to-string): New function...
(eshell-flatten-and-stringify): ... use it.

* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Remove
'eshell-splice-args' sigils in Eshell command forms so that we can
perform completion on splice-expansions.

* lisp/eshell/em-unix.el (eshell-complete-host-reference): Don't try
to complete arguments containing "$@".

* test/lisp/eshell/esh-var-tets.el (esh-var-test/interp-list-var)
(esh-var-test/interp-list-var-concat, esh-var-test/interp-var-splice)
(esh-var-test/interp-var-splice-concat)
(esh-var-test/quoted-interp-list-var)
(esh-var-test/quoted-interp-list-var-concat)
(esh-var-test/quoted-interp-var-splice)
(esh-var-test/quoted-interp-var-splice-concat): New tests.

* test/lisp/eshell/em-alias-tests.el
(em-alias-test/alias-all-args-var-splice): New test.

* doc/misc/eshell.texi (Dollars Expansion): Explain the splice
operator.
(Aliases): Expand documentation and use '$@*'.
(Built-ins, Bugs and Ideas): Use '$@*' where appropriate.

* etc/NEWS: Announce this change.
2022-12-15 21:41:03 -08:00
Jim Porter
66ac920b0c Support completion of variables with the length operator in Eshell
These are forms like '$#VARIABLE'.

* lisp/eshell/esh-var.el (eshell-complete-variable-reference): Support
the length operator.
2022-12-15 21:41:03 -08:00
Theodor Thornhill
f4a513344d
Add lambda_expression-rule to java-ts-mode (bug#60091)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
rule.
2022-12-15 19:26:42 -08:00
Jostein Kjønigsen
546aed3543 eglot: Add support for new language server csharp-ls
C# has two popular language servers: Omnisharp Roslyn (already
supported) and csharp-ls (newer, more performant).

* lisp/progmodes/eglot.el: Add new C# language server
csharp-ls.  (Bug#60089)
2022-12-16 03:09:28 +01:00
Yuan Fu
cb761eb7ac
Use the new tree-sitter commands
* lisp/progmodes/c-ts-mode.el (c-ts-mode--defun-valid-p)
(c-ts-mode--defun-skipper): New functions.
(c-ts-base-mode): Setup defun navigation.
* lisp/progmodes/sh-script.el (bash-ts-mode): Setup defun navigation.
* lisp/treesit.el (treesit-beginning-of-defun)
(treesit-end-of-defun): Change to new implementation, which is
intended to be used as commands.
(treesit-major-mode-setup): Setup remap for beginning/end-of-defun
commands.
2022-12-15 17:44:07 -08:00
Yuan Fu
037407ad95
Add "function" feature to python-ts-mode (bug#59977)
* lisp/progmodes/python.el (python--treesit-settings): Add feature.
(python-ts-mode): Add feature.  And fix indentation for the
python-indent-guess-indent-offset code.
2022-12-15 17:29:44 -08:00
Randy Taylor
fee2efe1b0
Add go-ts-mode and go-mod-ts-mode (Bug#60025)
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add go-mod support.
* etc/NEWS: Mention them.
* lisp/progmodes/eglot.el (eglot-server-programs): Add them.
* lisp/progmodes/go-ts-mode.el: New major modes with
tree-sitter support.
2022-12-15 17:20:50 -08:00
Yuan Fu
e8f7ab67ad
Add basic support for hideshow in python-ts-mode (bug#60044)
* lisp/progmodes/python.el (python-base-mode): Add setup for
python-ts-mode.
2022-12-15 17:16:28 -08:00
Theodor Thornhill
cac070b23e
Add "this" keyword to java-ts-mode (bug#60086)
* lisp/progmodes/java-ts-mode.el
(java-ts-mode--font-lock-settings): Add the node to the keyword
feature.
2022-12-15 17:12:10 -08:00
Juanma Barranquero
c585ca89a6 * lisp/bs.el: Use modern height preserving method instead of hooks
* lisp/bs.el (bs--track-window-changes, bs--remove-hooks): Remove.
(bs-mode): Do not set window-change tracking hooks.
(bs--set-window-height): Pass PRESERVE-SIZE to `fit-window-to-buffer'.
2022-12-16 00:21:16 +01:00
Dmitry Gutov
c8d75046a2 When completing relative project file names, use relative history
* lisp/progmodes/project.el: Require 'cl-lib'.

* lisp/progmodes/project.el (project--read-file-cpd-relative):
Pre-process history entries around completing-read (bug#58447).

This includes both filtering by common-parent-directory prefix and
mapping into relative names.
2022-12-16 00:46:20 +02:00
Eli Zaretskii
3b618d0e3e Avoid segfaults due to invalid selected-window's buffer
* lisp/startup.el (initial-scratch-message): Don't use \\[...]
commands for substitute-command-keys.
* lisp/simple.el (get-scratch-buffer-create): Don't call
substitute-command-keys on initial-scratch-message, to avoid
signaling an error in rare cases.  (Bug#60096)
2022-12-15 23:39:58 +02:00
Stefan Kangas
0d60579b6b Merge from origin/emacs-29
99aa00e6e3 Revert 21b387c39b with last-minute hasty changes (bug#60...
386d6e74d8 Replace an erroneous eq with an equal in cc-defs.el
eb06947063 * lisp/tab-bar.el ([tab-bar]): Use 'make-sparse-keymap' i...
26243f7b65 compile.el: Fix regression with nb of errors in modeline
6e2923d80f Make tab-bar-tab-group-format-function backwards-compatib...
b211a63455 Make tab-bar-tab-group-format-function also handle curren...
367022f316 Ensure package directories for source packages from check...
3a633bdd6d ; * etc/NEWS: Fix recent changes.
6aa5d16c64 * test/README (SELECTOR): Add eglot-tests.el to remote fi...
bb27be36dd Fix bug#60060 in Tramp
d4c2aa4f91 ; * lisp/net/tramp-crypt.el: Fix comment.
8404253d17 * .gitignore: Ignore GDB history files.
12684c3a19 Mention 'tree-sitter' in user manual and NEWS
49d7e0cec6 ; * etc/NEWS: Rearrange entries for tree-sitter supported...
0ad2112a2f ; Announce 'toml-ts-mode' in NEWS.

# Conflicts:
#	etc/NEWS
2022-12-15 21:13:16 +01:00
Stefan Kangas
e17c1b01d8 ; Merge from origin/emacs-29
The following commit was skipped:

98ea7054a7 ; Auto-commit of loaddefs files.
2022-12-15 21:13:15 +01:00
Stefan Kangas
eacdac3c6e Merge from origin/emacs-29
a15cd55044 ; Don't quote nil in comments
da39200c4b ; Checkdoc fixes in dired-aux.el
fd403a5c5a Fix ruby-add-log-current-method after nested class defini...
2ca06aed7b Add indent rules to js/typescript/tsx-ts-mode (bug#60074)
a54d5f500c Improve fontification in csharp-ts-mode (bug#59897)
3db2f560bb Revert "Add expression for generic_name in csharp-ts-mode"
1985762fbd Introduce support for TOML config-format
622838b957 Fix handling of % when searching in .tex or .dtx files
3b226b6024 Treat C++ classes as defuns in C Tree-sitter mode (bug#60...
480f41c7de Add < and > to the syntax table in c++-ts-mode (bug#60049)
fbf0d3b796 Improve fontifications in Typescript mode
f93a5180a6 Update the documentation of overlays (bug#59996)
d51b66ed54 ; Improve description of scoping and let-bindings
752f9dde63 ; Fix a typo in window.el
102a3e3b44 Don't send erc-sasl-user as USER command argument
f0c9088878 Set erc-network to a "given" ID instead of failing
09c0c6b2ba Limit casemapping to appropriate ranges in ERC
44b04c0ac1 Actually accept non-symbols as IDs in erc-open
75f26646d4 ; Be nicer when updating browse-url var in erc-compat
0155fc67be Respect a nil erc-session-password when reconnecting
9ac80e8a6e Add dedicated auth-source section in ERC manual
2d96a18cd0 ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous...
1d3cbba7df ; * lisp/progmodes/cmake-ts-mode.el (auto-mode-alist): $ ...
0cc199f1a6 Better shortdoc examples
931d97bf56 Shortdoc: read and evaluate strings after :eval
be165f7533 Fix Tramp tests in eglot-tests, prefix tests uniquely
8c30cb90ba * lisp/vc/vc-git.el (vc-git-checkin): Use make-nearby-tem...
3efe4df1d2 Delete temp files after icalendar tests

# Conflicts:
#	etc/NEWS
2022-12-15 21:13:14 +01:00
Stefan Kangas
037889c4a9 ; Merge from origin/emacs-29
The following commit was skipped:

33e0a10464 ; * lisp/keymap.el (keymap-substitute): Doc fix.  (Bug#60...
2022-12-15 21:13:14 +01:00
Stefan Kangas
fa70076974 Merge from origin/emacs-29
fafcf02c85 Fix syntax tables of tree-sitter modes (bug#59807)
91b8d9b7db ; * admin/notes/tree-sitter/build-module/build.sh: Minor ...
1b0e282a7f ; Comment and stylistic change in treesit.el
489b02d03c * doc/misc/Makefile.in (need_emacsver): Add use-package.
2022-12-15 21:13:13 +01:00
Juri Linkov
99aa00e6e3 Revert 21b387c39b with last-minute hasty changes (bug#60048).
* lisp/simple.el (completion-list-mode-map): Unbind [up] and [down].
(previous-line-completion, next-line-completion): Remove.
2022-12-15 21:27:36 +02:00
Alan Mackenzie
386d6e74d8 Replace an erroneous eq with an equal in cc-defs.el
* lisp/progmodes/cc-defs.el (c-looking-at-non-alphnumspace): Replace eq with
equal in the XEmacs branch.
2022-12-15 19:23:19 +00:00
Juri Linkov
eb06947063 * lisp/tab-bar.el ([tab-bar]): Use 'make-sparse-keymap' instead of 'ignore'.
This helps to avoid the error in 'where-is-internal' that should
not call :filter unnecessarily (bug#9923).
2022-12-15 21:10:28 +02:00
Stefan Monnier
26243f7b65 compile.el: Fix regression with nb of errors in modeline
* lisp/progmodes/compile.el (compilation-mode-line-errors): Mark it as
risky-local, like `defconst` used to do for us.
2022-12-15 13:36:14 -05:00
Juri Linkov
6e2923d80f Make tab-bar-tab-group-format-function backwards-compatible (bug#60073)
* lisp/tab-bar.el (tab-bar--format-tab-group): Add condition-case
with wrong-number-of-arguments for backwards-compatibility.
(tab-bar-tab-group-format-default): Simplify.
2022-12-15 20:03:24 +02:00
Gabriel do Nascimento Ribeiro
b211a63455 Make tab-bar-tab-group-format-function also handle current group
* lisp/tab-bar.el (tab-bar--format-tab-group): Call
'tab-bar-tab-group-format-default' to format current group tab.
(tab-bar-tab-group-format-default): Update function to also handle
current group tab (bug#60073).
2022-12-15 20:00:21 +02:00
Philip Kaludercic
367022f316 Ensure package directories for source packages from checkouts
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
Set the :dir entry, since `package-vc--unpack-1' assumes the field is
set, as is the case when invoking `package-vc--unpack'.
2022-12-15 18:31:13 +01:00
Randy Taylor
3a633bdd6d ; * etc/NEWS: Fix recent changes. 2022-12-15 19:05:43 +02:00
Michael Albinus
6aa5d16c64 * test/README (SELECTOR): Add eglot-tests.el to remote file using libraries. 2022-12-15 16:37:36 +01:00
Michael Albinus
bb27be36dd Fix bug#60060 in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
Delete `tmpfile' in case of error.  (Bug#60060)
2022-12-15 16:37:16 +01:00
Michael Albinus
d4c2aa4f91 ; * lisp/net/tramp-crypt.el: Fix comment. 2022-12-15 16:36:38 +01:00
Po Lu
db69249b76 Handle selection transfer errors earlier
* src/xselect.c (x_decline_selection_request, struct transfer)
(struct x_selection_request, x_cancel_selection_transfer)
(x_start_selection_transfer, x_continue_selection_transfer):
Give the right serial to x_ignore_errors_for_next_request.
(x_handle_selection_error): New function.
(x_reply_selection_request): Give the right serial to
x_ignore_errors_for_next_request.
* src/xterm.c (x_ignore_errors_for_next_request): New arg
`selection_serial'.  All callers changed.
(x_error_handler): Call selection error handler.
* src/xterm.h (struct x_failable_request): New field
`selection_serial'.
2022-12-15 20:06:59 +08:00
Manuel Giraud
8404253d17 * .gitignore: Ignore GDB history files. 2022-12-15 12:55:08 +02:00
Eli Zaretskii
12684c3a19 Mention 'tree-sitter' in user manual and NEWS
* doc/emacs/programs.texi (Program Modes): Mention tree-sitter and
the modes supported by it.
* etc/NEWS: Mention tree-sitter in the Installation Changes
section.
2022-12-15 10:47:11 +02:00