Commit graph

92535 commits

Author SHA1 Message Date
Stefan Kangas
a55ca8073b Display directory when dired-omit-mode is first enabled
* lisp/dired-x.el (dired-omit-expunge): Display the directory name
when 'dired-omit-mode' is first enabled.  (Bug#64705)
2023-09-05 17:51:27 +02:00
Jim Porter
f08684ab39 Inherit 'sieve-mode' faces from 'font-lock'
These Sieve faces were already a close mapping onto the Font Lock
ones, so this should usually look the same to users with the default
theme.  However, this makes it easier to theme these faces (just
define the usual 'font-lock-*-face' colors you want) and also fixes a
few edge cases (bug#62370).

* lisp/net/sieve-mode.el (sieve-control-commands)
(sieve-action-commands, sieve-test-commands, sieve-tagged-arguments):
Inherit from 'font-lock' faces.
2023-09-04 21:37:56 -07:00
Stefan Monnier
483c6f191f Merge remote-tracking branch 'refs/remotes/origin/master' 2023-09-04 17:14:14 -04:00
Stefan Monnier
defa5a9571 * lisp/emacs-lisp/cl-macs.el (cl-flet): Remove &name for (SYM EXP) case
The new/current Edebug spec gives the name `SYM@cl-flet@NN` to the
expression building that function rather than to the body of that
function as would be expected, leading to misleading code coverage.

This basically reverts 999de2a5ea, cc0f546825, and 18c85306ac :-(
2023-09-04 17:13:45 -04:00
Protesilaos Stavrou
367c3f25a1 Add 'appt-notification' face (Bug#61661)
* lisp/calendar/appt.el (appt-notification): Declare the new face.
(appt-check): Implement the new face.
* etc/NEWS: Announce the new face.
2023-09-04 22:50:15 +02:00
Stefan Monnier
9e05453a8c Merge remote-tracking branch 'refs/remotes/origin/master' 2023-09-04 16:42:15 -04:00
Stefan Monnier
913ae070e6 * lisp/tab-bar.el (cl--set-substring): Remove left-over autoload
And remove left-over `require` of `seq` while at it.
2023-09-04 16:41:40 -04:00
Stefan Monnier
d5e7d9e257 Move setf substring to cl-lib since it relies on it (bug#60102)
* lisp/emacs-lisp/cl-lib.el (substring): Move gv-expander here...
* lisp/emacs-lisp/gv.el (substring): ...from here.
2023-09-04 16:39:55 -04:00
João Távora
dc171d5efa Eglot: reorganize Elisp API section, export new functions
bug#65418

Co-authored-by: Filippo Argiolas <filippo.argiolas@gmail.com>

* lisp/progmodes/eglot.el (Obsolete aliases): New section, move
all obsolete aliases here.
(eglot-uri-to-path)
(eglot-path-to-uri)
(eglot-range-region)
(eglot-server-capable)
(eglot-server-capable-or-lose): New functions and backward compability
aliases.
2023-09-04 21:35:41 +01:00
Stefan Kangas
82cc1f4fda Revert use of seq-count in shr-count
* lisp/net/shr.el (shr-count): Prefer handwritten code to using
'seq-count', as it's more performant.
Problem reported by Mattias Engdegård <mattiase@acm.org>.
2023-09-04 21:28:33 +02:00
Stefan Kangas
2cefcb2f79 ; * lisp/net/shr.el (shr-count): Fix typo. 2023-09-04 18:27:54 +02:00
Stefan Kangas
0edf237b3d Use seq-count in three functions
* lisp/net/shr.el (shr-count):
* lisp/progmodes/idlwave.el (idlwave-count-memq): Use seq-count.
(idlwave-count-eq): Use seq-count.  Make obsolete, as it is unused.
2023-09-04 18:25:18 +02:00
Stefan Kangas
62f7760e61 Add skip-when macro to ert-deftest
This can help avoid some awkward test skip conditions.

For example, this triple negation:
    (skip-unless (not noninteractive))

Can be written as the simpler:
    (skip-when noninteractive)

* lisp/emacs-lisp/ert.el (ert-deftest): Add new 'skip-when' macro.
(ert--skip-when): New internal function.
* doc/misc/ert.texi (Tests and Their Environment): Document above
new macro.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-skip-when): New test.
2023-09-04 18:25:18 +02:00
Jonas Bernoulli
8255b9c1f1
; Fix previous commit touching lisp/international/emoji.el 2023-09-03 18:06:52 +02:00
Jonas Bernoulli
502e7c9a9b
Make emoji commands compatible with repeat and repeat-complex-command
* lisp/international/emoji.el (emoji-search): Read user input
inside 'interactive'.
* (emoji-insert-glyph): Determine glyph inside 'interactive',
using 'emoji--recent' when not invoked from one of its transient
prefixes but using 'recent' or 'recent-complex-command'.
2023-09-03 17:52:13 +02:00
Philipp Stephani
c799ad42f7 Fix Edebug specification for 'cl-define-compiler-macro'.
* lisp/emacs-lisp/cl-macs.el (cl-define-compiler-macro): Give the
instrumented name a suffix to make it unique.  Otherwise it will clash
with the name of the main function.
2023-09-03 16:56:18 +02:00
Stefan Kangas
6e1ee57c8e checkdoc: Don't warn for () in cl-defmacro args
Seen with, for example:

    (cl-defmacro foo (bar () &body baz) ...)

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Improve support for `cl-defmacro' by ignoring "nil" in parameter list.
2023-09-03 15:39:16 +02:00
Alan Mackenzie
97652d0e7a New conditional compilation macro static-if.
* etc/NEWS: Record the new macro.

* lisp/subr.el (static-if): New macro.
2023-09-03 12:54:47 +00:00
Mauro Aranda
7eed479eab Fix defcustoms in filesets.el (Bug#65708)
* lisp/filesets.el (filesets-browse-dir-function)
(filesets-open-file-function filesets-save-buffer-function)
(filesets-commands filesets-external-viewers): Don't override default
value for the function widget with an invalid default value.
Remove redundant ":" in tag.
Fix default values for choice and list widgets.
2023-09-03 12:54:58 +02:00
Jim Blandy
2ed99b6aa9 Fix indentation in `syntax-ppss'
* lisp/emacs-lisp/syntax.el: Fix indentation in
`syntax-ppss'.  (Bug#58665)
2023-09-03 12:42:49 +02:00
Stefan Kangas
d871518724 * lisp/vc/vc-git.el (vc-git-annotate-switches): Add useful tip. 2023-09-03 12:28:13 +02:00
Stefan Kangas
15dc22124c Replace completion--some with seq-some
This is safe, as 'seq' is preloaded before 'minibuffer'.
* lisp/loadup.el ("minibuffer"): Document 'seq' dependency.
* lisp/minibuffer.el (completion--some): Remove.  Replace all uses
with 'seq-some'.
2023-09-03 12:28:13 +02:00
Mattias Engdegård
ef7d9c4775 ; Silence warnings about obsolete functions
* lisp/obsolete/url-ns.el (dnsResolve, isResolvable): Suppress.
* lisp/progmodes/ebnf2ps.el (ebnf-eps-finish-and-write):
Use delete-dups instead of ps-remove-duplicates.
2023-09-03 11:47:01 +02:00
Mattias Engdegård
c290b034e0 Move wholenump alias definition
* src/data.c (syms_of_data): From here...
* lisp/subr.el (wholenump): ...to here, with the other aliases.
2023-09-03 11:30:54 +02:00
Stefan Kangas
7e03fa2d82 Prefer reusing seq-remove in reftex
* lisp/textmodes/reftex.el (reftex-remove-symbols-from-list): Make
obsolete in favor of 'seq-remove'.  Update single caller.
2023-09-03 10:01:55 +02:00
Joseph Turner
94431c0d2f Don't native compile lock files
* lisp/emacs-lisp/package.el (package--delete-directory):
Exclude lock files in regex.  (Bug#65666)
2023-09-03 09:02:22 +02:00
Joseph Turner
335631506d Log org export errors to package-vc doc buffer
* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Wrap the org-export logic in condition-case, allowing package
installation to continue while preserving error messages.  (Bug#65649)
2023-09-03 09:02:22 +02:00
Joseph Turner
7b37710984 Include package name in package-vc documentation log buffer name
* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Modify buffer name generation.  (Bug#65649)
2023-09-03 09:02:22 +02:00
Po Lu
9d4f14f769 ; * lisp/term/android-win.el: Correct header. 2023-09-03 13:00:16 +08:00
Stefan Kangas
36c9eca8a5 Replace ps-remove-duplicates with seq-uniq
* lisp/ps-print.el (ps-remove-duplicates): Make obsolete in favor of
seq-uniq.  Update all callers.

; * lisp/tab-line.el: Remove stale comment.
2023-09-03 02:55:31 +02:00
Damien Cassou
c640e97887 project.el: Fix bug in project-ignores method for VC-aware backend
The variable `backend' was always nil preventing the 25-line long
`when' block from doing anything.  This bug was introduced in commit
785fa80159 "New user option:
project-vc-extra-root-markers". (Bug#65704)

* lisp/progmodes/project.el (project-ignores): Make sure the variable
is initialized, so that backend-specific code is used if any.
2023-09-03 03:12:23 +03:00
Jim Porter
781c03933e Apply Eshell tilde expansion before glob expansion
By treating 'eshell-current-modifiers' as a hook, we can simplify much
of the code working with it and ensure that we call modifiers in a
more-correct order.

* lisp/eshell/em-dirs.el (eshell-expand-user-reference-1)
(eshell-expand-user-reference): Simplify.  We now only get a single
argument.
(eshell-parse-user-reference):
* lisp/eshell/em-glob.el (eshell-add-glob-modifier):
* lisp/eshell/em-pred.el (eshell-parse-arg-modifier): Use 'add-hook'.
2023-09-02 16:17:27 -07:00
Jim Porter
b0427f5ffe ; Add debug instrumentation for Eshell argument modifiers
* lisp/eshell/esh-arg.el (eshell-resolve-current-argument): Add debug
instrumentation, and simplify modifier application.
2023-09-02 16:09:58 -07:00
Davide Masserut
3d08d0dd80 Display the exit code if the last command failed in Eshell
* lisp/eshell/esh-io.el (eshell-last-command-status): Make
buffer-local.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Insert the exit
code if last command failed.

* test/lisp/eshell/em-prompt-tests.el (em-prompt-test/after-failure):
New test.
(em-prompt-test/next-previous-prompt-1)
(em-prompt-test/forward-backward-matching-input-1): Add a failing
command to tests.

* doc/misc/eshell.texi (Invocation): Document change.

* etc/NEWS: Announce change (bug#65604).
2023-09-02 15:40:04 -07:00
Jim Porter
6ae2b74ed2 Provide our own implementation of paragraph navigation in Eshell
This lets us finally obsolete 'eshell-prompt-regexp', making it
simpler for users to customize their prompts.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Update docstring.
(eshell-prompt-regexp): Make obsolete.
(eshell-prompt-initialize): Remove 'eshell-prompt-regexp' code.
(eshell-prompt-mode-map): Remap paragraph navigation commands to...
(eshell-forward-paragraph, eshell-backward-paragraph): ... these new
commands.
2023-09-02 15:06:56 -07:00
Jim Porter
5a430f90c1 Be more precise about navigating forward/backward through Eshell prompts
* lisp/eshell/em-prompt.el (eshell-next-prompt): Make N optional.
When navigating, first move to the end of the prompt.  This makes the
subsequent navigation more predictable.
(eshell-previous-prompt): Mane N optional.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test--with-multiline): Move to "Code" section.
(em-prompt-test/next-previous-prompt-with): Rename to...
(em-prompt-test/next-previous-prompt-1): ... this, and add additional
test cases.  Update callers.
(em-prompt-test/forward-backward-matching-input-with): Rename to...
(em-prompt-test/forward-backward-matching-input-1): ... this, and
improve existing test cases.
2023-09-02 15:06:22 -07:00
Stephen Berman
088fec0a1f Fix and extend applying substitution in widget-choose
* lisp/wid-edit.el (widget-choose): Iterate only over proper lists
when applying substitution (bug#64046, Message #53).  With simple
item definitions, apply substitution only to the item text, not to
its value (bug#64046, Message #86).  Apply substitution also to
the widget title (bug#64046, Message #92).
2023-09-02 23:22:01 +02:00
Mattias Engdegård
3dac48d1b7 ; gdb-mi.el: remove unused variable
* lisp/progmodes/gdb-mi.el (gdb-active-process): Remove.
It went out of use in 2010 (691cf4a0a2), and was initialised to what
was clearly meant as a doc string.
2023-09-02 19:16:54 +02:00
Stefan Kangas
610105ee81 Update selected packages when deleting last package
* lisp/emacs-lisp/package.el (package--save-selected-packages): Allow
setting 'package-selected-packages' to a nil value.  (bug#65475)
2023-09-02 18:26:03 +02:00
Alan Mackenzie
1d46bca1c9 Output better error messages on certain edebug spec errors
This fixes bug#65620.  The error thrown up to now was "Void
function edebug-after".  This has been replaced by "Invalid
call to `edebug-before'.  Is the edebug spec for `foo'
correct?".

* lisp/emacs-lisp/edebug.el (edebug-b/a-error): New function
which throws the new friendlier error message.
(edebug-before, edebug-after): Replace the defalias's to nil
with actual functions which just call edebug-b/a-error.

* doc/lispref/edebug.texi (Specification List): In the entry
for `sexp', warn against mistakenly using `form' for an
2023-09-02 13:50:03 +00:00
Stefan Kangas
338be4ff7d Make ediff-m-empty-t-f obsolete in favor of make-temp-file
* lisp/vc/ediff-util.el (ediff-make-empty-tmp-file): Make obsolete
in favor of 'make-temp-file'.  Update callers.
2023-09-02 15:14:34 +02:00
Stefan Kangas
511bd2b8bc Make emerge-m-t-f obsolete in favor of make-temp-file
* lisp/vc/emerge.el (emerge-make-temp-file): Make obsolete in favor of
'make-temp-file'.  Update all callers.
2023-09-02 14:42:30 +02:00
Michael Albinus
d096c5dc83 Adapt tramp-get-completion-methods
* lisp/net/tramp.el (tramp-get-completion-methods): Make MULTI-HOP
optional.
2023-09-02 13:15:17 +02:00
João Távora
6880ea7d22 Eglot: slightly simplify eglot--propose-changes-as-diff
bug#60338

* lisp/progmodes/eglot.el (eglot--propose-changes-as-diff):
Simplify slightly.
2023-09-02 10:51:40 +01:00
Eli Zaretskii
68c9534424 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2023-09-02 04:39:01 -04:00
LdBeth
03a7e448a2 Remove newsticker--lists-intersect-p
* lisp/net/newst-backend.el (newsticker--lists-intersect-p): Remove.
* lisp/net/newst-plainview.el (newsticker-w3m-show-inline-images)
(newsticker-next-new-item, newsticker-previous-new-item)
(newsticker-next-item, newsticker-next-item-same-feed)
(newsticker-previous-item, newsticker-next-item-available-p)
(newsticker-previous-item-available-p): Replace corresponding calls by
`invisible-p'.  (Bug#60328)
2023-09-02 10:34:55 +02:00
Eli Zaretskii
7395123479 Merge from origin/emacs-29
dbbcf4a659 Fix fontification of " in edit-kbd-macro
2137fdfd55 * lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete ...
e660ee88e3 ; Remove incorrect example from ELisp Reference manual
c32fd92d67 Add documentation to plstore.el
57760f585e * lisp/help.el (substitute-quotes): Improve docstring.
60dcea7658 Fix two defcustom :types
890a4c209a Fix `image-auto-resize-on-window-resize' custom :type
369f2eea10 Add "terraform-ls" LSP server to Eglot
5cbe96d17f ; Improve documentation of 'char-table-range'
a219ee8c31 Fix minor bugs in vc-git and vc-hg on Windows uncovered b...
3f7598806e Add syntax-propertize-function to js-ts-mode
18b292140e ; * src/treesit.c: Add ts function boilerplate
ec4d29c449 Improve performance of treesit_cursor_helper_1

# Conflicts:
#	lisp/vc/vc-git.el
#	src/treesit.c
2023-09-02 04:33:44 -04:00
Eli Zaretskii
ec3ea8c036 Merge from origin/emacs-29
648a5e33e8 Update to Org 9.6.8-3-g21171d
458442fe78 Escape percent character in treesit--inspect-name (bug#65...
bc0426ce8e Don't add an extraneous slash in remote PATH list in Eshell
34f7a47c9c Fix Tramp on MS Windows
ea5fd6c96b * Fix native disassemble on Windows platforms (bug#65455)
91d2d8439b * Handle missing eln file when trying to disassble (bug#6...
e7ac50a153 * lisp/emacs-lisp/comp.el (comp--native-compile): Fix OUT...
45cf3a0ced Update to Transient v0.4.3
31d3808fb9 Adapt Eshell manual
0c50af054f Fix applying patches with Git on MS-Windows

# Conflicts:
#	doc/misc/transient.texi
#	test/lisp/eshell/esh-util-tests.el
2023-09-02 04:28:17 -04:00
Stefan Kangas
dbbcf4a659 Fix fontification of " in edit-kbd-macro
* lisp/edmacro.el (edit-kbd-macro): Fix fontification when editing
keyboard macros containing the " character.
2023-09-02 09:51:29 +02:00
Eli Zaretskii
2137fdfd55 * lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete (bug#65555). 2023-09-02 10:44:50 +03:00