1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00
Commit graph

5842 commits

Author SHA1 Message Date
Yuan Fu
eba6582436
Add the treesit-search functions that supplant the removed ones
The signatures also changed.

treesit-traverse-depth-first   -> treesit-search-subtree
treesit-traverse-breadth-first ->
treesit-traverse-forward       -> treesit-search-forward
treesit-search-forward         -> treesit-search-forward-goto
treesit-search-beginning/end   -> treesit-search-forward-goto
                               -> treesit-induce-sparse-tree

* doc/lispref/parsing.texi (Retrieving Node): Add relevant manual
sections.
* lisp/treesit.el (treesit-search-forward-goto): New function.
* src/treesit.c (ts_traverse_sibling_helper)
(ts_traverse_match_predicate)
(ts_search_dfs)
(ts_search_forward)
(treesit-search-subtree)
(treesit-search-forward)
(ts_build_sparse_tree)
(Ftreesit_induce_sparse_tree): Add functions.
* test/src/treesit-tests.el (treesit-node-supplemental): Add comments.
2022-09-24 21:11:30 -07:00
Yuan Fu
c957832cbf
Remove treesit-traverse functions
Remove before adding the replacements.

* doc/lispref/parsing.texi (Retrieving Node): Remove relevant sections.
* lisp/treesit.el (treesit-traverse-depth-first)
(treesit--traverse-breadth-first-1)
(treesit-traverse-breadth-first)
(treesit-next-sibling-or-up)
(treesit-traverse-forward)
(treesit-search-forward)
(treesit-search-beginning):
(treesit-search-end): Remove functions.
(treesit-defun-query): Remove variable.
(treesit-beginning-of-defun)
(treesit-end-of-defun): Remove functions.
* test/src/treesit-tests.el: Remove comments.
2022-09-24 21:11:30 -07:00
Yuan Fu
013c7d6aae
Rename treesit-expand-query/pattern
* src/treesit.c (treesit-expand-pattern): Rename to
treesit-patter-expand.
(treesit-expand-query): Rename to treesit-query-expand.
(make_ts_query): Use new name.
* test/src/treesit-tests.el (treesit-query-api): Fix name.
2022-09-24 21:11:29 -07:00
Yuan Fu
77d5a0cf9f Merge remote-tracking branch 'origin/master' into feature/tree-sitter 2022-08-29 11:41:10 -07:00
Michael Albinus
be2e6228f8 Use `rx' in Tramp where possible
* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `rx' where possible.

* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `eval-when-compile'.
(tramp-adb-maybe-open-connection): Use file-property for "/".  Use
`eval-when-compile'.

* lisp/net/tramp-cmds.el (mm-7bit-chars): Declare.
(tramp-reporter-dump-variable): Simplify point movement.

* lisp/net/tramp-gvfs.el (tramp-dbus-function): Fix typo.
(tramp-zeroconf-parse-device-names): Use `tramp-prefix-port-format'.

* lisp/net/tramp-sh.el (tramp-open-shell, tramp-find-shell):
Use `eval-when-compile'.  Improve sanity check.

* lisp/net/tramp.el (tramp-prefix-format, tramp-prefix-regexp)
(tramp-method-regexp, tramp-postfix-method-format)
(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
(tramp-postfix-host-regexp, tramp-remote-file-name-spec-regexp)
(tramp-file-name-structure, tramp-file-name-regexp)
(tramp-completion-method-regexp)
(tramp-completion-file-name-regexp): Declare.
(tramp-set-syntax): Set also `tramp-completion-method-regexp'.
(tramp-volume-letter-regexp, tramp-completion-method-regexp-alist):
New defconsts.
(tramp-build-completion-method-regexp): New defun.
(tramp-completion-method-regexp): New defvar.
(tramp-completion-file-name-regexp-default)
(tramp-completion-file-name-regexp-simplified)
(tramp-completion-file-name-regexp-separate)
(tramp-completion-file-name-regexp-alist): Remove.
(tramp-build-completion-file-name-regexp): Rwrite.
(tramp-make-tramp-file-name): Use `tramp-archive-method'.
(tramp-handle-file-directory-p): Ignore errors.
(tramp-handle-find-backup-file-name, tramp-handle-lock-file)
(tramp-handle-make-auto-save-file-name): Use `eval-when-compile'.

* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `rx' where possible.
(tramp-test01-file-name-syntax): Adapt test.
2022-08-26 16:19:47 +02:00
Basil L. Contovounesios
0f561d0e5c Pacify obsolete gv warnings in xt-mouse-tests.el
* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Replace
deprecated generalized variables frame-width and frame-height with
direct calls to set-frame-width and set-frame-height, respectively.
2022-08-26 12:53:49 +03:00
Daniel Martín
dbec115948 Fix instrumented eval-defun not printing "Edebug:" to the echo area
* lisp/progmodes/elisp-mode.el (elisp--eval-defun): Determine if we're
instrumenting a function and call eval-region with PRINTFLAG set to
nil if so (Bug#50245).

* test/lisp/progmodes/elisp-mode-tests.el
(eval-defun-prints-edebug-when-instrumented): Add a new test.
2022-08-25 14:37:36 +02:00
Lars Ingebrigtsen
b947f80a62 Add hideshow-test.el file (bug#56635) 2022-08-25 14:29:43 +02:00
kobarity
7c7fc8fa5b Add Python blocks support for hideshow
* lisp/progmodes/python.el (python-nav-beginning-of-block-regexp):
New variable.
(python-hideshow-forward-sexp-function): Change to call
`python-nav-end-of-block'.
(python-hideshow-find-next-block): New function to be used as
FIND-NEXT-BLOCK-FUNC in `hs-special-modes-alist'.
(python-info-looking-at-beginning-of-block): New function to be
used as LOOKING-AT-BLOCK-START-P-FUNC in `hs-special-modes-alist'.
(python-mode): Change settings of `hs-special-modes-alist'.

* test/lisp/progmodes/python-tests.el
(python-hideshow-hide-levels-1): Fix to keep empty lines.
(python-info-looking-at-beginning-of-block-1)
(python-hideshow-hide-levels-3, python-hideshow-hide-levels-4)
(python-hideshow-hide-all-1, python-hideshow-hide-all-2)
(python-hideshow-hide-all-3, python-hideshow-hide-block-1): New
tests (bug#56635).
2022-08-25 14:29:10 +02:00
Michael Albinus
c5c3f57bd4 Minor fixes in tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp--test-deftest-with-stat)
(tramp--test-deftest-with-perl)
(tramp--test-deftest-with-ls): Skip if underlying test didn't run
or lasted too long.
(tramp--test-shell-file-name): Do not depend on `tramp--test-adb-p'.
2022-08-25 11:08:48 +02:00
Eli Zaretskii
95b1eacd47 Fix handling of UNCs in 'parse-colon-path
* lisp/files.el (parse-colon-path): Don't remove the second
leading slash on systems that support UNCs.  (Bug#57353)

* test/lisp/files-tests.el (files-tests-bug-21454): Update
expected results.
(files-colon-path): Add a new test pattern.
2022-08-24 19:19:33 +03:00
Lars Ingebrigtsen
b448fbec4b Disable a lisp-mode test that now fails
* test/lisp/emacs-lisp/lisp-mode-tests.el
(test-lisp-current-defun-name): Comment-out now-failing tests.
2022-08-23 12:49:13 +02:00
Lars Ingebrigtsen
efd95300c7 Adjust autorevert tests to recent change
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert):
Adjust test to code change.
2022-08-21 22:18:49 +02:00
Stefan Kangas
70fd2e03e5 Mark another esh-proc test as unstable
* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/pipeline-connection-type/middle): Mark test as unstable
as it fails quite a lot.
2022-08-21 17:48:03 +02:00
Stefan Kangas
85480527d5 Prefer pos-bol and pos-eol in tests
* test/lisp/calendar/todo-mode-tests.el
(todo-test-toggle-item-header02, todo-test-edit-item-date-month)
(todo-test-multiline-item-indentation-1)
(todo-test-multiline-item-indentation-2)
(todo-test-multiline-item-indentation-3):
* test/lisp/cedet/semantic-utest-ia.el (semantic-ia-utest-buffer)
(semantic-sr-utest-buffer-refs):
* test/lisp/cedet/semantic-utest.el (semantic-utest-kill-indicator)
(semantic-utest-unkill-indicator):
* test/lisp/dired-tests.el (dired-test-bug27968):
* test/lisp/emacs-lisp/backtrace-tests.el
(backtrace-tests--verify-single-and-multi-line):
* test/lisp/emacs-lisp/find-func-tests.el
(find-func-tests--find-library-verbose):
* test/lisp/erc/erc-tests.el (erc-ring-previous-command)
(erc-log-irc-protocol):
* test/lisp/gnus/message-tests.el (message-mode-propertize):
* test/lisp/info-xref-tests.el (info-xref-test-emacs-manuals):
* test/lisp/mail/footnote-tests.el (footnote-tests-same-place):
* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-completion-at-point):
* test/lisp/progmodes/f90-tests.el (f90-test-bug38415):
* test/lisp/progmodes/python-tests.el
(python-indent-electric-comma-inside-multiline-string)
(python-indent-electric-comma-after-multiline-string)
(python-indent-electric-colon-1, python-indent-electric-colon-2)
(python-indent-electric-colon-3, python-indent-electric-colon-4)
(python-mark-defun-2, python-mark-defun-3, python-mark-defun-4)
(python-mark-defun-5, python-nav-end-of-defun-2)
(python-nav-end-of-statement-1, python-nav-end-of-block-1)
(python-indent-dedent-line-backspace-2)
(python-indent-dedent-line-backspace-3)
(python-eldoc--get-symbol-at-point-1)
(python-info-beginning-of-statement-p-1)
(python-info-beginning-of-statement-p-2):
* test/lisp/replace-tests.el (replace-occur-revert-bug32543)
(replace-occur-revert-bug32987):
* test/lisp/simple-tests.el (simple-delete-indentation-boundaries)
(simple-delete-indentation-region)
(line-number-at-pos-in-narrow-buffer)
(line-number-at-pos-keeps-restriction):
* test/lisp/textmodes/css-mode-tests.el (css-mode-test-selectors)
(scss-mode-test-selectors):
* test/lisp/textmodes/fill-tests.el (fill-test-unbreakable-paragraph)
(fill-test-breakable-paragraph):
* test/lisp/time-stamp-tests.el (time-stamp-custom-pattern):
* test/src/lread-tests.el (lread-tests--last-message):
* test/src/process-tests.el (set-process-filter-t):
* test/src/undo-tests.el (undo-test-skip-invalidated-markers): Prefer
pos-bol and pos-eol.
2022-08-21 17:45:04 +02:00
Lars Ingebrigtsen
ae2199258f Mark esh-proc test as unstable
* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/pipeline-connection-type/last): Mark test as
unstable as it fails quite a lot.
2022-08-21 15:32:34 +02:00
Lars Ingebrigtsen
3312710fd6 Make conf-javaprop-mode only claim that # lines are comments
* lisp/textmodes/conf-mode.el (conf-javaprop-mode-syntax-table):
Make obsolete and remove syntax entries for // and /* (bug#49077),
because only # are comments in javaprop files.
(conf-javaprop-mode): Adjust doc string to just mention #
comments.
2022-08-20 11:54:33 +02:00
Stefan Kangas
a936335aa0 Fix return value of help--key-description-fontified
This fixes a bug with warning about obsolete commands in
`command-execute', where we incorrectly showed empty parenthesis
instead of the empty string when there was no keybinding for the new
command.

* lisp/help.el (help--key-description-fontified): Return nil instead
of the empty string if KEYS argument is nil.
* test/lisp/help-tests.el (help--key-description-fontified): New test.
(with-substitute-command-keys-test): Fix indentation.
2022-08-19 20:36:12 +02:00
Augusto Stoffel
275cef9e06 python.el: Adjustments to Flymake backend
* lisp/progmodes/python (python-flymake-command): Advertise possiblity
to use pylint.
(python-flymake-command-output-pattern): Make compatible with recent
versions of pyflakes.  (Bug#53913)
2022-08-19 14:59:27 +02:00
kobarity
b9c6c0fb7b Fix Python indentation of block continuation
* lisp/progmodes/python.el (python-indent--calculate-indentation):
Fix indentation of :after-backslash-block-continuation.

* test/lisp/progmodes/python-tests.el
(python-indent-after-backslash-6): New test (bug#57262).
2022-08-18 15:16:08 +02:00
Stefan Kangas
a6412b96e7 Move dired-guess commands from dired-x to dired
* lisp/dired-x.el (dired-shell-command-history)
(dired-guess-shell-alist-default, dired-guess-default)
(dired-guess-shell-command): Move from here...
* lisp/dired-aux.el (dired-shell-command-history)
(dired-guess-shell-alist-default, dired-guess-default)
(dired-guess-shell-command): ...to here.  (Bug#21981)

* lisp/dired-x.el (dired-guess-shell-gnutar)
(dired-guess-shell-gzip-quiet, dired-guess-shell-znew-switches)
(dired-guess-shell-case-fold-search, dired-guess-shell-alist-user):
Move from here...
* lisp/dired.el (dired-guess-shell-gnutar)
(dired-guess-shell-gzip-quiet, dired-guess-shell-znew-switches)
(dired-guess-shell-case-fold-search, dired-guess-shell-alist-user):
...to here.  Change :group to dired-guess.
(dired-guess): New defgroup.

* test/lisp/dired-x-tests.el (dired-guess-default): Move from here...
* test/lisp/dired-aux-tests.el (dired-guess-default): ...to here.

* doc/misc/dired-x.texi (Features, Technical Details, Installation):
Delete any mention of shell command guessing.
(Shell Command Guessing): Move from here...
* doc/emacs/dired.texi (Shell Command Guessing): ...to here.  Adapt to
better fit the Emacs Manual conventions.
* lisp/dired-aux.el (dired-do-shell-command): Doc fix to adjust for
above changes.
* etc/NEWS: Announce the above change.
2022-08-17 16:21:09 +02:00
kobarity
4915ca5dd4 Enhance Python font-lock to support multilines
* test/lisp/progmodes/python-tests.el
(python-tests-assert-faces-after-change): New helper function.
(python-font-lock-keywords-level-1-3)
(python-font-lock-assignment-statement-multiline-*): New tests.

* lisp/progmodes/python.el (python-rx): Add `sp-nl' to represent
space or newline (with/without backslash).
(python-font-lock-keywords-level-1)
(python-font-lock-keywords-maximum-decoration): Allow newlines
where appropriate.
(python-font-lock-extend-region): New function.
(python-mode): Set `python-font-lock-extend-region' to
`font-lock-extend-after-change-region-function'.
2022-08-17 13:10:16 +02:00
Lars Ingebrigtsen
31e3221267 Revert "Add Python blocks support for hideshow"
This reverts commit af4cfb5194.

This led to test failures.
2022-08-17 13:09:39 +02:00
kobarity
af4cfb5194 Add Python blocks support for hideshow
* lisp/progmodes/python.el (python-nav-beginning-of-block-regexp):
New variable.
(python-hideshow-forward-sexp-function): Change to call
`python-nav-end-of-block'.
(python-hideshow-find-next-block): New function to be used as
FIND-NEXT-BLOCK-FUNC in `hs-special-modes-alist'.
(python-info-looking-at-beginning-of-block): New function to be
used as LOOKING-AT-BLOCK-START-P-FUNC in `hs-special-modes-alist'.
(python-mode): Change settings of `hs-special-modes-alist'.

* test/lisp/progmodes/python-tests.el
(python-hideshow-hide-levels-1): Fix to keep empty lines.
(python-info-looking-at-beginning-of-block-1)
(python-hideshow-hide-levels-3, python-hideshow-hide-levels-4)
(python-hideshow-hide-all-1, python-hideshow-hide-all-2)
(python-hideshow-hide-all-3, python-hideshow-hide-block-1): New
tests (bug#56635).
2022-08-17 12:44:56 +02:00
Stefan Kangas
5e5c56f148 ; Normalize my email 2022-08-16 13:41:08 +02:00
Jim Porter
cf873c1a09 Fix non-interactive use of conditionals in Eshell
* lisp/eshell/esh-cmd.el (eshell-rewrite-if-command): Fix misplaced
't' symbol; it should be passed to 'eshell-invokify-arg'.
(eshell-do-eval): Pass 'synchronous-p' to recursive calls in some
missing cases.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/if-statement,
(esh-cmd-test/if-else-statement)
(esh-cmd-test/if-else-statement-lisp-form)
(esh-cmd-test/if-else-statement-lisp-form-2)
(esh-cmd-test/if-else-statement-ext-cmd)
(esh-cmd-test/unless-statement)
(esh-cmd-test/unless-else-statement)
(esh-cmd-test/unless-else-statement-lisp-form)
(esh-cmd-test/unless-else-statement-ext-cmd): Use
'eshell-command-result-equal'.
2022-08-15 20:40:27 -07:00
Jim Porter
c1f1be4b73 Add 'eshell-command-result-equal' with an ERT explainer
* test/lisp/eshell/eshell-tests-helpers.el
(eshell-command-result--equal, eshell-command-result--equal-explainer)
(eshell-command-result-equal): New functions.

* test/lisp/eshell/em-basic-tests.el
* test/lisp/eshell/em-dirs-tests.el
* test/lisp/eshell/esh-cmd-tests.el
* test/lisp/eshell/esh-proc-tests.el
* test/lisp/eshell/esh-var-tests.el
* test/lisp/eshell/eshell-tests.el: Use 'eshell-command-result-equal'.
2022-08-15 20:40:27 -07:00
Jim Porter
07b8fb197a Provide ERT explainer for 'eshell-match-command-output'
This was formerly named 'eshell-command-result-p', but "result" isn't
quite the right terminology, since this function specifically tested
the output of a command, not its Lisp result (as
'eshell-command-result' would return).

* test/lisp/eshell/eshell-tests-helpers.el (eshell-insert-command):
Provide a more-complete docstring.
(eshell-match-result): Rename to...
(eshell-match-output): ... this.
(eshell-match-output--explainer): New function.
(eshell-command-result-p): Rename to...
(eshell-match-command-output): ... this.

* test/lisp/eshell/em-alias-tests.el
* test/lisp/eshell/em-dirs-tests.el
* test/lisp/eshell/em-extpipe-tests.el
* test/lisp/eshell/em-script-tests.el
* test/lisp/eshell/esh-cmd-tests.el
* test/lisp/eshell/esh-proc-tests.el
* test/lisp/eshell/esh-var-tests.el
* test/lisp/eshell/eshell-tests-helpers.el
* test/lisp/eshell/eshell-tests.el: Use 'eshell-match-command-output'.
2022-08-15 20:40:27 -07:00
kobarity
0d3aebec01 Fix `python-nav-forward-block' moving backward under certain conditions
* lisp/progmodes/python.el (python-nav-forward-block): Add check
for not moving backward (bug#57223).
2022-08-15 16:30:23 +02:00
Stefan Monnier
1faeef7924 (compiled-function-p): New function (bug#56648)
* lisp/subr.el (compiled-function-p): New function.

* test/lisp/international/ucs-normalize-tests.el (ucs-normalize-part1):
* lisp/gnus/gnus.el (gnus):
* lisp/mh-e/mh-e.el (mh-version):
* lisp/emacs-lisp/macroexp.el (emacs-startup-hook):
* lisp/emacs-lisp/cl-macs.el (compiled-function):
* lisp/emacs-lisp/bytecomp.el (byte-compile-fdefinition)
(byte-compile, display-call-tree):
* lisp/emacs-lisp/byte-opt.el (<toplevel-end>):
* lisp/emacs-lisp/advice.el (ad-compiled-p):
* lisp/cedet/semantic/bovine.el (semantic-bovinate-stream):
* lisp/loadup.el (macroexpand-all):
* admin/unidata/unidata-gen.el (unidata--ensure-compiled): Use it.

* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Add entries for it.
(pcase--split-pred): Use it.

* lisp/help-fns.el (help-fns-function-description-header): Use `functionp`.
(help-fns--var-safe-local): Use `compiled-function-p`.
2022-08-14 12:30:05 -04:00
Eli Zaretskii
6de88b6b02 Fix a recently-added Eshell test on MS-Windows
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/last-result-var-ext-cmd): Fix the test on
MS-Windows by making sure the internal 'format' command
is invoked.  (Bug#57129)
2022-08-13 09:58:44 +03:00
Jim Porter
f3408af0a3 Make '$?' and '$$' variables more consistent in Eshell
Previously, '$?' (last exit code) was only useful for external
commands, and '$$' (last result) was only useful for Lisp commands.

* lisp/eshell/esh-cmd.el (eshell-lisp-form-nil-is-failure): New
option.
(eshell-lisp-command): Set last exit code to 1 when the command
signals an error, and 2 if it returns nil (for Lisp forms only).

* lisp/eshell/esh-proc.el (eshell-sentinel): Set last result to t if
the command succeeded.

* test/lisp/eshell/esh-cmd-tests.el
(esh-cmd-test/while-loop-lisp-form, esh-cmd-test/until-loop-lisp-form)
(esh-cmd-test/if-else-statement-lisp-form)
(esh-cmd-test/if-else-statement-lisp-form-2)
(esh-cmd-test/unless-else-statement-lisp-form): New tests.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/last-status-var-lisp-command)
(esh-var-test/last-status-var-lisp-form)
(esh-var-test/last-status-var-lisp-form-2)
(esh-var-test/last-status-var-ext-cmd)
(esh-var-test/last-status-var-ext-cmd): New tests.
(esh-var-test/last-result-var2): Rename from this...
( esh-var-test/last-result-var-twice): ... to this.

* doc/misc/eshell.texi (Variables): Update documentation about '$?'
and '$$'.
(Control Flow): Mention that '(lisp forms)' can be used as
conditionals.

* etc/NEWS: Announce this change (bug#57129).
2022-08-12 22:07:13 -07:00
Jim Porter
9d4fa4ed4b Allow using dollar expansions in Eshell conditionals
* lisp/eshell/esh-cmd.el (eshell-structure-basic-command): Forms
beginning with 'eshell-escape-arg' are "data-wise".

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/while-loop)
(esh-cmd-test/until-loop, esh-cmd-test/if-statement)
(esh-cmd-test/if-else-statement, esh-cmd-test/unless-statement)
(esh-cmd-test/unless-else-statement): Use variable interpolation.
(esh-cmd-test/while-loop-ext-cmd, esh-cmd-test/until-loop-ext-cmd)
(esh-cmd-test/if-else-statement-ext-cmd)
(esh-cmd-test/unless-else-statement-ext-cmd): New tests, adapted from
the existing ones.

* doc/misc/eshell.texi (Control Flow): Update documentation for
conditionals (bug#57129).
2022-08-12 22:07:13 -07:00
Jim Porter
30320d9420 Only set Eshell execution result metavariables when non-nil
This simplifies usage of 'eshell-close-handles' in several places and
makes it work more like the docstring indicated it would.

* lisp/eshell/esh-io.el (eshell-close-handles): Only store EXIT-CODE
and RESULT if they're non-nil.  Also, use 'dotimes' and 'dolist' to
simplify the implementation.

* lisp/eshell/em-alias.el (eshell-write-aliases-list):
* lisp/eshell/esh-cmd.el (eshell-rewrite-for-command)
(eshell-structure-basic-command): Adapt calls to
'eshell-close-handles'.

* test/lisp/eshell/eshell-tests.el (eshell-test/simple-command-result)
(eshell-test/lisp-command, eshell-test/lisp-command-with-quote)
(eshell-test/for-loop, eshell-test/for-name-loop)
(eshell-test/for-name-shadow-loop, eshell-test/lisp-command-args)
(eshell-test/subcommand, eshell-test/subcommand-args)
(eshell-test/subcommand-lisp): Move from here...

* test/lisp/eshell/esh-cmd-tests.el
(esh-cmd-test/simple-command-result, esh-cmd-test/lisp-command)
(esh-cmd-test/lisp-command-with-quote, esh-cmd-test/for-loop)
(esh-cmd-test/for-name-loop, esh-cmd-test/for-name-shadow-loop)
(esh-cmd-test/lisp-command-args, esh-cmd-test/subcommand)
(esh-cmd-test/subcommand-args, esh-cmd-test/subcommand-lisp): ... to
here.
(esh-cmd-test/and-operator, esh-cmd-test/or-operator)
(esh-cmd-test/for-loop-list, esh-cmd-test/for-loop-multiple-args)
(esh-cmd-test/while-loop, esh-cmd-test/until-loop)
(esh-cmd-test/if-statement, esh-cmd-test/if-else-statement)
(esh-cmd-test/unless-statement, esh-cmd-test/unless-else-statement):
New tests.

* doc/misc/eshell.texi (Invocation): Explain '&&' and '||'.
(for loop): Move from here...
(Control Flow): ... to here, and add documentation for other control
flow forms.
2022-08-12 22:07:13 -07:00
Lars Ingebrigtsen
c0d761bf7f Further seq-uniq speed-ups for lists
* lisp/emacs-lisp/seq.el (seq-uniq): Speed up more for long lists
(bug#57079).
2022-08-12 15:16:39 +02:00
Michael Albinus
4f18214fbe * test/lisp/net/tramp-tests.el (tramp--test-utf8): Adapt test. 2022-08-11 12:34:01 +02:00
Lars Ingebrigtsen
5269842833 Add a faster seq-uniq for lists
* lisp/emacs-lisp/seq.el (seq-uniq): Add a faster method for lists
(bug#57079).
2022-08-09 19:21:36 +02:00
Laurence Warne
b92e888758 Fix python escape code fontification for multi-line literals
* lisp/progmodes/python.el (python--string-bytes-literal-matcher): Go
backward one char after a match so that consecutive escape codes are
highlighted
(python--not-raw-string-literal-start-regexp): Make regular expression
more comprehensive, so multi-line bytes literals are not caught
(python-rx): Accept one to three octal digits in octal escape codes
instead of always three
2022-08-09 19:21:36 +02:00
Michael Albinus
b0653b27e2 Further Tramp fixes for Android 12
* lisp/net/tramp-adb.el (tramp-adb-handle-file-attributes)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-file-name-all-completions): Pipe "ls" output
through "cat", in order to avoid quoting special characters.
(tramp-adb-sh-fix-ls-output): Remove fix for file names with spaces.

* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Adapt test.
2022-08-09 18:12:27 +02:00
Stefan Kangas
accb1d1132 Make ibuffer-awhen obsolete in favor of when-let
* lisp/ibuf-macs.el (ibuffer-awhen): Make obsolete in favor of
'when-let'.  Update callers.
2022-08-09 15:46:54 +02:00
Stefan Kangas
425a5bfc9a Make makesum.el obsolete
* lisp/makesum.el: Move from here...
* lisp/obsolete/makesum.el: ...to here.  (Bug#56979)

* test/lisp/makesum-tests.el: Move from here...
* test/lisp/obsolete/makesum-tests.el: ...to here.
2022-08-08 16:32:15 +02:00
Arash Esbati
7331ee112c Improve collecting of citation keys
* lisp/textmodes/reftex-cite.el (reftex-all-used-citation-keys):
Improve regexp for matching various cite commands incl. optional
arguments.
Recognize comments more robustly and don't interpret the control
symbol \% as a comment starter.  (bug#56655)

* test/lisp/textmodes/reftex-tests.el
(reftex-all-used-citation-keys): New test.
2022-08-08 16:02:18 +02:00
Lars Ingebrigtsen
ffc81ebc4b Allow specifying how args are to be stored in `command-history'
* doc/lispref/functions.texi (Declare Form): Document
`interactive-args'
* lisp/replace.el (replace-string): Store the correct interactive
arguments (bug#45607).

* lisp/emacs-lisp/byte-run.el (byte-run--set-interactive-args):
New function.
(defun-declarations-alist): Use it.

* src/callint.c (fix_command): Remove the old hack (which now
longer works since interactive specs are byte-compiled) and
instead rely on `interactive-args'.
2022-08-08 15:53:41 +02:00
Lars Ingebrigtsen
55cc8b040b Make which-func-mode output less junk
* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Use
edebug specs to find the name (if they exist), and default to
returning the top-level symbol if there isn't a define-like form
(bug#49592).
2022-08-08 14:32:33 +02:00
Stefan Kangas
3d7d8ddc5a ; Fix typos 2022-08-08 14:23:29 +02:00
Stefan Kangas
cf30432a14 * test/lisp/emacs-lisp/nadvice-tests.el: Re-add no-byte-compile. 2022-08-08 13:47:15 +02:00
Stefan Kangas
d8d13f2fcc Remove redundant local variables in tests
* test/lisp/calc/calc-tests.el:
* test/lisp/progmodes/python-tests.el: Remove redundant local
variables.
* test/src/coding-tests.el: Pacify byte-compiler without using local
variable.
2022-08-08 13:47:15 +02:00
Stefan Kangas
60738e569d Remove no-byte-compile cookie from some libraries
This gives us back byte-compiler warnings for these files.
* lisp/mh-e/mh-acros.el:
* test/lisp/comint-tests.el:
* test/lisp/emacs-lisp/nadvice-tests.el:
* test/lisp/emacs-lisp/syntax-tests.el:
* test/lisp/xml-tests.el:
* test/src/font-tests.el: Remove no-byte-compile cookie.
* test/src/font-tests.el (font-parse-explain): Fix warning.
2022-08-08 11:50:33 +02:00
kobarity
11e6c12def Fix blank/comment line handling in python-nav-beginning-of-block
* lisp/progmodes/python.el (python-nav-beginning-of-block): Fix
handling of blank/comment line right after block start (bug#57038).
2022-08-07 16:10:58 +02:00
Stefan Kangas
9c0da894b9 ; Improve time-convert call in recently changed test
* test/lisp/eshell/em-pred-tests.el
(eshell-parse-file-name-attributes): Use t instead of nil as
second argument to 'time-convert'.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
2022-08-07 13:16:53 +02:00