summaryrefslogtreecommitdiff
path: root/test/lisp
Commit message (Collapse)AuthorAgeFilesLines
* Fix handling of output handles in nested Eshell formsJim Porter2022-12-224-40/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the output handles in nested forms would be reset to the default, leading to wrong behavior for commands like {echo a; echo b} > file "b" would be written to "file" as expected, but "a" would go to standard output (bug#59545). * lisp/eshell/esh-cmd.el (eshell-parse-command): Use 'eshell-with-copied-handles' for each statement within the whole Eshell command. * test/lisp/eshell/esh-io-tests.el (esh-io-test/redirect-subcommands) (esh-io-test/redirect-subcommands/override) (esh-io-test/redirect-subcommands/interpolated): New tests. * test/lisp/eshell/em-script-tests.el (em-script-test/source-script/redirect) (em-script-test/source-script/redirect/dev-null): New tests. (em-script-test/source-script, em-script-test/source-script/arg-vars) (em-script-test/source-script/all-args-var): Tweak names/docstrings. * test/lisp/eshell/em-extpipe-tests.el (em-extpipe-tests--deftest): Skip over the newly-added 'eshell-with-copied-handles' form when checking the parse results. * test/lisp/eshell/em-tramp-tests.el (em-tramp-test/su-default) (em-tramp-test/su-user, em-tramp-test/su-login) (em-tramp-test/sudo-shell, em-tramp-test/sudo-user-shell) (em-tramp-test/doas-shell, em-tramp-test/doas-user-shell): Update expected command forms.
* Handle make-directory return values in file name handlersMichael Albinus2022-12-221-4/+11
| | | | | | | | | | | | | | | | | | | * lisp/net/ange-ftp.el (ange-ftp-make-directory): Handle return values. * lisp/net/tramp.el (tramp-skeleton-make-directory): New defmacro. Handle also return values. * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory): * lisp/net/tramp-crypt.el (tramp-crypt-handle-make-directory): * lisp/net/tramp-fuse.el (tramp-fuse-handle-make-directory): * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory): * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory): * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory): * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory): Use it. * test/lisp/net/tramp-tests.el (tramp-test13-make-directory): Handle return values.
* Merge from origin/emacs-29Stefan Kangas2022-12-221-0/+75
|\ | | | | | | | | | | | | | | | | | | e59216d3be8 * Invoke spawed Emacs processes with '-Q' when native com... 777b383dd0f Fix Eshell electric slash when used from the root directo... c088cdad9e9 Fix the --without-all build with tree-sitter ec9fbad908d Fix write-region to null device on MS-Windows f35da111990 message: Do not default to eudc-capf-complete yet 98c16a8c883 ; * lisp/tab-bar.el: Remaining renaming of "fixed-width" ... d76d7a3bebf whitespace: Avoid mutating original buffer's markers in c...
| * whitespace: Avoid mutating original buffer's markers in clonesRichard Hansen2022-12-211-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/whitespace.el (whitespace--clone): New hook function that is run after cloning a buffer that copies `whitespace-bob-marker' and `whitespace-eob-marker' and changes the copies to point to the new buffer (Bug#59618). (whitespace-color-on): Register the hook function. (whitespace-color-off): Unregister the hook function. * test/lisp/whitespace-tests.el (whitespace-tests--with-test-buffer): New macro. (whitespace-tests--check-markers): New function. (whitespace-tests--indirect-clone-breaks-base-markers) (whitespace-tests--indirect-clone-markers) (whitespace-tests--regular-clone-markers): New tests.
* | Merge from origin/emacs-29Stefan Kangas2022-12-216-26/+71
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d3a76db88b4 * lisp/repeat.el: Fix repeat-keep-prefix to allow customi... 8ef3777d544 Correct capitalization of Lisp in the manual (bug#60222) d03ea893780 eglot.el: Add vscode-json-languageserver to eglot-server-... 8550a993785 ; * src/emacs-module.h.in (enum emacs_funcall_exit): Fix ... fb7f3999c59 ; Fix ruby-method-params-indent's :version value cfbfd393b45 * lisp/progmodes/project.el (project--read-file-cpd-relat... 2b1fdbffcb5 ruby-method-params-indent: New user option b9e813f79f2 ; ruby-indent-level: Improve the docstring 399433cc2b9 * lisp/progmodes/project.el: Filter out empty strings fro... 23f7c9c2a92 Fix storing email into nnmail by Gnus 63cdbd986bb ; Really respect browse-url var in erc-compat 64163618d21 whitespace: Fix unintended change in buffer modification ... a75d1da911c Make emacsclient add abbreviated file names to file-name-... b3e7768a0ee Repair setopt test after error demotion to warning
| * * lisp/repeat.el: Fix repeat-keep-prefix to allow customizing it to non-nil.Juri Linkov2022-12-201-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/repeat.el (repeat-keep-prefix): Add or remove 'repeat-pre-hook' depending on the customized value. (repeat-mode): Add or remove 'repeat-pre-hook' to/from 'pre-command-hook' when 'repeat-keep-prefix' is non-nil. (repeat-pre-hook): New function. (repeat-get-map, repeat-check-map): New function refactored from 'repeat-post-hook'. (repeat-post-hook): Move some code to smaller functions. (describe-repeat-maps): Set outline-regexp without ^L. * test/lisp/repeat-tests.el (repeat-tests-keep-prefix): Uncomment test case that is fixed now in bug#51281 and bug#55986.
| * ruby-method-params-indent: New user optionDmitry Gutov2022-12-193-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-method-params-indent): New option (bug#60110). (ruby-smie-rules): Use it. * etc/NEWS: Mention it. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Ensure the var's value is default. * test/lisp/progmodes/ruby-mode-resources/ruby-method-params-indent.rb: New file. * test/lisp/progmodes/ruby-mode-tests.el (ruby-deftest-indent): New macro, use it to run the indentation test using the new file. Disable the :expensive-test tag, because neither runs for "longer than some few seconds", both take significantly below 1s.
| * whitespace: Fix unintended change in buffer modification statusRichard Hansen2022-12-191-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/whitespace.el (whitespace--empty-at-bob-matcher) whitespace--empty-at-eob-matcher, whitespace--update-bob-eob): Silently add the `font-lock-multiline' text property when highlighting beginning-of-buffer and end-of-buffer empty lines to prevent Emacs from running modification hooks or considering the buffer to be modified (Bug#60066). * test/lisp/whitespace-tests.el (whitespace-tests--empty-bob-eob-modified): Add a regression test.
| * Repair setopt test after error demotion to warningMattias Engdegård2022-12-191-2/+9
| | | | | | | | | | | | * test/lisp/cus-edit-tests.el (test-setopt): Check for a warrning instead of an error in attempt to call `setopt` with a value that does not match the declared type (bug#60162).
* | ; Fix typos in some function namesStefan Kangas2022-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/cedet/semantic/decorate/include.el (semantic-decoration-unparsed-include-reference-reset): Rename from 'semantic-decoration-unparsed-include-refrence-reset'. * lisp/emacs-lisp/rx.el (rx--normalize-or-arg): Rename from 'rx--normalise-or-arg'. * lisp/frame.el (frame--current-background-mode): Rename from 'frame--current-backround-mode'. * lisp/url/url-future.el (url-future-canceled-p): Rename from 'url-future-cancelled-p'. Update all uses. Make old names into obsolete function aliases.
* | Use equal and member instead of eq and memqMattias Engdegård2022-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge from origin/emacs-29Stefan Kangas2022-12-193-15/+61
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 12e26cc0c1b ; * admin/git-bisect-start: Add mistakenly ommitted commi... 9a751e0a38b ruby-mode: Support endless singleton method definitions too ce7b7e5af3d Remove comment-start-skip preset in tree-sitter indentati... c1e015ae320 Fix recent change in tramp-smb.el cf1b771864a ; * etc/NEWS: Fix typos. 50d18bb6ea7 Make tramp-archive autoloads robust for older Emacs versions 3941cc29df3 ; Improve documentation of 'setopt' 6f88de109c8 ruby-mode: Support endless methods (bug#54702) 91dd893e343 ; * lisp/progmodes/sql.el (sql-product-interactive): Doc ... 138d9dc4cb0 * lisp/cus-edit.el (setopt--set): Warn instead of rasing ... d1e0542f336 Allow customising windmove user options with an empty prefix c2375e77914 Improve and extend admin/git-bisect-start 7cc2313eb0a Make 'rmail-summary-by-thread' faster 88e59b16cbe ; Improve documentation of installing tree-sitter and gra... 897f33bf316 Fix the MS-DOS build 660e941235d Avoid crashes in PGTK build due to signal in 'note_mouse_... 0fc5fb2d054 Fix MS-Windows build broken by recent treesit.c changes 5b2e6d04ce2 Fix wrong capture in typescript-ts-mode (bug#60167) cb8ccdd2670 Add rust-ts-mode (Bug#60136) 9fcf764dd73 Indentation fixes for jsx/tsx (bug#60169) 69f2c71135f Fix treesit-query-validate problem with view-mode 1fc7535546c Use cursor API in treesit-node-parent 5f0286c0afa Switch to use cursor API in treesit.c a275e436df4 Add treesit_assume_true and treesit_cursor_helper a54c7a8df0c Remove file-exists-in-trash-p 3e02029642c Update to Org 9.6-49-g47d129 4a8ff671b0e Don’t assume make-directory handler returns nil 44c83b239d3 Fix copy-directory bug when dest dir exists bef1edc9cac make-directory now returns t if dir already exists 8a9579ca29d Use make-directory handlers uniformly 627e7e0243d Improve documentation of 'file-exists-p' c9015ef55ff Fix resizing of mini-windows by 'set-minibuffer-message' 5a245bc786e Prevent Abort dialogs from async-compiling jobs on Windows 4d1e4a48938 Fix 'window-max-chars-per-line' when there are no fringes d65beb820cc ; Revert "; * lisp/subr.el (internal--with-narrowing): Si... 1c0b90e5f7d ruby-mode: Recognize instance or global var as first arg ... 3356c0cb163 Fix end-of-defun in ruby-mode # Conflicts: # etc/NEWS
| * ruby-mode: Support endless singleton method definitions tooDmitry Gutov2022-12-191-1/+3
| | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-endless-method-head-re): Update to match not only 'self.' but 'xyz.' as well (bug#54702). * test/lisp/progmodes/ruby-mode-resources/ruby.rb (Bar#foo=): Update example.
| * ruby-mode: Support endless methods (bug#54702)Dmitry Gutov2022-12-182-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-endless-method-head-re): New constant. (ruby-smie-grammar): New token. (ruby-smie--forward-token, ruby-smie--backward-token): Recognize it. (ruby-smie-rules): Indentation support. (ruby-add-log-current-method): Support here too. * test/lisp/progmodes/ruby-mode-tests.el (ruby-add-log-current-method-after-endless-method): New test. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: New examples.
| * Fix copy-directory bug when dest dir existsPaul Eggert2022-12-171-1/+8
| | | | | | | | | | | | | | | | | | | | * lisp/files.el (copy-directory): Set ‘follow’ depending on whether we made the directory, not based on a guess that is sometimes wrong. When NEWNAME is a directory name and COPY-CONTENTS is nil, do not object merely because the adjusted NEWNAME is already a directory. (Bug#58919). * test/lisp/files-tests.el (files-tests-copy-directory): Test for the bug.
| * make-directory now returns t if dir already existsPaul Eggert2022-12-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new feature will help fix a copy-directory bug (Bug#58919). Its implementation does not rely on make-directory handlers supporting the new feature, as it no longer uses a make-directory handler H in any way other than (funcall H DIR), thus using only the intersection of the old and new behavior for handlers. This will give us time to fix handlers at our leisure. * lisp/files.el (files--ensure-directory): New arg MKDIR. All uses changed. (files--ensure-directory, make-directory): Return non-nil if DIR is already a directory. All uses changed. * test/lisp/files-tests.el (files-tests-make-directory): Test new return-value convention.
| * Use make-directory handlers uniformlyPaul Eggert2022-12-171-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly, the code supported both make-directory and make-directory-internal handlers. This led to confusion and meant than in a few cases (nnmaildir, ido) remote directories could not be used in some cases. Fix this by using only make-directory handlers. Perhaps there used to be a reason for why there were both make-directory and make-directory-internal handlers, but whatever that reason was, it seems to have vanished even before now. There is no longer any need for make-directory-internal handlers, as the few remaining callers that use make-directory-internal do so only when there are no handlers. However, this change keeps the existing make-directory-internal handlers for now, in case this code is ever used in older Emacs versions that still call those handlers. * lisp/gnus/nnmaildir.el (nnmaildir--mkdir): * lisp/ido.el (ido-file-internal): * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory): Use make-directory, not make-directory-internal. * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory-internal): Now obsolete. * src/fileio.c (Fmake_directory_internal): Do not look for or use a make-directory-internal handler. * test/lisp/files-tests.el: (files-tests-file-name-non-special-make-directory-internal): Remove, as this test incorrectly assumes that make-directory-internal must support handlers.
| * ruby-mode: Recognize instance or global var as first arg in parenless callDmitry Gutov2022-12-171-0/+3
| | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-smie--args-separator-p): Recognize instance or global var as first arg in parenless call. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add example.
* | Merge from origin/emacs-29Stefan Kangas2022-12-191-1/+1
|\| | | | | | | | | | | de2239a584a Revert "alist-get testfn argument evaluation correction" 856d889f3a8 Revert "Elide broken but unnecessary `if` optimisations" 8e42e20ed7f Revert "Use equal and member instead of eq and memq"
| * Revert "Use equal and member instead of eq and memq"Eli Zaretskii2022-12-161-1/+1
| | | | | | | | | | | | | | This reverts commit f4b430140f0866f98bbf18b7094348dc64032813. Please don't install anything on the release branch that is not strictly necessary fro Emacs 29.
| * Use equal and member instead of eq and memqMattias Engdegård2022-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge from origin/emacs-29Stefan Kangas2022-12-195-2/+214
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b01d0246d71 * lisp/term/xterm.el (xterm-function-map): Add M-SPC. (B... 303d6ac1423 Fix moving to trash files that overwrite dangling symlink... dc78779c0cd Fix SVG scaling (bug#59802) 10415d9651b ; Add useful hint to which-func documentation c26ab22cf4e ; Improve doc strings of minibuffer-history commands 80f410d281c ; Fix last changes in buffer.c f04680e067b Fix some naming issues involving query buffers in ERC 173e02f4eb4 ; Fix doc string in ERC's module-activation commands 5a9263a8725 Increment erc-debug-irc-protocol-version to 2 89f54e81576 A better fix for bug#60096 1b9ca1e5e64 ; Fix printing Lisp types in .gdbinit 7575c85efd2 Bump Eglot version to 1.10 a0806bc7ea9 Eglot: fix discrepant eglot-guess-contact/eglot-command-h... 8bf4cdcf79b Avoid recursive process filters in lisp/jsonrpc.el (bug#6...
| * Fix some naming issues involving query buffers in ERCF. Jason Park2022-12-164-0/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-networks.el (erc-networks-rename-surviving-target-buffer): Don't kill a surviving target buffer when another, non-target buffer, possibly not even belonging to ERC, already exists and sports the target's name. (erc-networks--reconcile-buffer-names): Always append a network-ID suffix to a target buffer's name if another buffer of that name already exists. (Bug#59976.) * lisp/erc/erc.el (erc, erc-tls): Revise `:id' portion of doc strings. Thanks to Mike Kazantsev for the suggestion and for filing this bug and helping solve it. * test/lisp/erc/erc-networks-tests.el: (erc-networks-rename-surviving-target-buffer--query-non-target): Add new test. * test/lisp/erc/erc-scenarios-base-association-query.el: New file. * test/lisp/erc/resources/base/assoc/queries/netnick.eld: New file. * test/lisp/erc/resources/base/assoc/queries/non-erc.eld: New file.
| * ; Fix doc string in ERC's module-activation commandsF. Jason Park2022-12-161-2/+2
| | | | | | | | | | | | | | | | | | * lisp/erc/erc-common.el (erc--assemble-toggle): Previously, the doc string implied that a prefix argument was necessary to achieve connection-wide effects, which might lead a person to think the interactive code should be an uppercase "P". * test/lisp/erc/erc-tests.el (define-erc-module--local): Update expected result of code-gen.
* | Suppress memql warning in testMattias Engdegård2022-12-181-1/+2
| | | | | | | | | | | | * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-adjoin-test): Suppress warning about `memql` argument inside expansion of `cl-adjoin`.
* | Warn about lambda expressions in comparisonsMattias Engdegård2022-12-181-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lambda expressions are not comparable; warn about calls such as (eq x (lambda ...)) etc. * lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg): Rename to... (bytecomp--dodgy-eq-arg-p): ...this. Use pcase. Add lambda checks. (bytecomp--value-type-description, bytecomp--arg-type-description) (bytecomp--check-eq-args, bytecomp--check-memq-args): Add function checks. Update calls. Make compiler-macro arguments optional to avoid crashes in malformed code. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test): Simplify argument. Run each compilation with a fresh (empty) warning cache. Add ert-info for easier debugging. (bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq): Add lambda tests.
* | Use equal and member instead of eq and memqMattias Engdegård2022-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge from origin/emacs-29Stefan Kangas2022-12-165-11/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 033071692c7 ; Fix typos f4a513344d9 Add lambda_expression-rule to java-ts-mode (bug#60091) 546aed35434 eglot: Add support for new language server csharp-ls cb761eb7ac4 Use the new tree-sitter commands 037407ad95a Add "function" feature to python-ts-mode (bug#59977) fee2efe1b03 Add go-ts-mode and go-mod-ts-mode (Bug#60025) e8f7ab67ad1 Add basic support for hideshow in python-ts-mode (bug#60044) cac070b23e4 Add "this" keyword to java-ts-mode (bug#60086) c8d75046a2f When completing relative project file names, use relative... 3b618d0e3ed Avoid segfaults due to invalid selected-window's buffer # Conflicts: # lisp/progmodes/sh-script.el
| * ; Fix typosStefan Kangas2022-12-165-11/+11
| |
* | Add support for the "splice operator" in EshellJim Porter2022-12-152-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge from origin/emacs-29Stefan Kangas2022-12-1512-70/+209
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a15cd55044c ; Don't quote nil in comments da39200c4be ; Checkdoc fixes in dired-aux.el fd403a5c5a8 Fix ruby-add-log-current-method after nested class defini... 2ca06aed7b3 Add indent rules to js/typescript/tsx-ts-mode (bug#60074) a54d5f500c1 Improve fontification in csharp-ts-mode (bug#59897) 3db2f560bb7 Revert "Add expression for generic_name in csharp-ts-mode" 1985762fbd7 Introduce support for TOML config-format 622838b957e Fix handling of % when searching in .tex or .dtx files 3b226b60248 Treat C++ classes as defuns in C Tree-sitter mode (bug#60... 480f41c7deb Add < and > to the syntax table in c++-ts-mode (bug#60049) fbf0d3b796a Improve fontifications in Typescript mode f93a5180a61 Update the documentation of overlays (bug#59996) d51b66ed540 ; Improve description of scoping and let-bindings 752f9dde631 ; Fix a typo in window.el 102a3e3b445 Don't send erc-sasl-user as USER command argument f0c90888781 Set erc-network to a "given" ID instead of failing 09c0c6b2ba3 Limit casemapping to appropriate ranges in ERC 44b04c0ac1c Actually accept non-symbols as IDs in erc-open 75f26646d4a ; Be nicer when updating browse-url var in erc-compat 0155fc67be3 Respect a nil erc-session-password when reconnecting 9ac80e8a6e4 Add dedicated auth-source section in ERC manual 2d96a18cd09 ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous... 1d3cbba7dfa ; * lisp/progmodes/cmake-ts-mode.el (auto-mode-alist): $ ... 0cc199f1a61 Better shortdoc examples 931d97bf563 Shortdoc: read and evaluate strings after :eval be165f75332 Fix Tramp tests in eglot-tests, prefix tests uniquely 8c30cb90ba9 * lisp/vc/vc-git.el (vc-git-checkin): Use make-nearby-tem... 3efe4df1d20 Delete temp files after icalendar tests # Conflicts: # etc/NEWS
| * Fix ruby-add-log-current-method after nested class definitionDmitry Gutov2022-12-151-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby--add-log-current-indent): New function. (ruby-add-log-current-method): Use it. Check for "class" and "module" indentation to filter out the definitions which don't include the given position. Also try to match "def" only once (for performance), because if the closest one doesn't include the given position, none will. * test/lisp/progmodes/ruby-mode-tests.el (ruby-add-log-current-method-after-inner-class-outside-methods) (ruby-add-log-current-method-after-inner-class-outside-methods-with-text): New tests.
| * Don't send erc-sasl-user as USER command argumentF. Jason Park2022-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-sasl.el (erc-sasl--send-cap-ls): Add internal switch for sending an opening "CAP LS". The rationale for not enabling this by default is twofold: one, it more strongly implies that ERC supports IRCv3 client capability negotiation, which is somewhat disingenuous; and, two, We'd still be "faking it" by firing and forgetting, and more balls in the air makes things less predictable. (erc--register-connection): Possibly send a "CAP LS" before anything depending on the value of `erc-sasl--send-cap-ls'. Also, don't attempt to send `erc-session-username' when it holds an SASL username because the latter may contain protocol-defying characters. * test/lisp/erc/resources/base/local-modules/fourth.eld: change user parameter of "USER" command to reflect nick when `erc-sasl-user' is set to `:user'. (Bug#59976.)
| * Set erc-network to a "given" ID instead of failingF. Jason Park2022-12-143-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-networks.el (erc-networks--determine): Return the so-called "given" ID from a non-nil `:id' keyword arg passed to `erc' or `erc-tls'. (erc-networks--allow-unknown-network): Add internal variable to allow IRC session to continue despite the network being unknown. (erc-networks--set-name): Tell the user about falling back to a given ID when the network can't be determined. When that's so, end the session by destroying the connection unless `erc-networks--allow-unknown-network' is enabled. (Bug#59976.) (erc-networks--ensure-announced): Include the fallback announced server name in the error message. * test/lisp/erc/erc-networks-tests.el (erc-networks--set-name): Add dummy server process and don't expect an error to be signaled. * test/lisp/erc/erc-scenarios-misc.el (erc-scenarios-networks-announced-missing): Don't expect an error to be signaled. * test/lisp/erc/resources/networks/announced-missing/foonet.eld: Remove "mode" match pattern.
| * Limit casemapping to appropriate ranges in ERCF. Jason Park2022-12-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-common.el (erc-downcase): Use case table for `erc-downcase' so that case conversions are limited to the ASCII interval. * lisp/erc/erc.el (erc-casemapping--rfc1459-strict, erc--casemapping-rfc1459): Make these case tables instead of translation tables. The functions in case-table.el modify the standard syntax table, but that doesn't seem to make sense here, right? * test/lisp/erc/erc-tests.el (erc-downcase): Add cases showing mappings outside of the ASCII range. (Bug#59976.)
| * Actually accept non-symbols as IDs in erc-openF. Jason Park2022-12-142-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc.el (erc-generate-new-buffer-name): Despite what it says in the documentation, only symbols were being accepted as valid `:id' entry-point arguments. This uses the interned `princ' representation of the argument instead. * test/lisp/erc/erc-scenarios-base-netid-samenet.el (erc-scenarios-common--base-network-id-same-network): Randomly specify a string for the ID param instead of a non-nil symbol when opening a new connection. * test/lisp/erc/resources/erc-scenarios-common.el (erc-scenarios-common-assert-initial-buf-name): Adjust helper to allow for non-symbol IDs. (Bug#59976.)
| * Respect a nil erc-session-password when reconnectingF. Jason Park2022-12-142-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc.el (erc-open): Simplify `old-vars' expression. (erc--compute-server-password): Only compute a server password when first connecting. For compatibility, this respects third-party code that expects session passwords in target buffers when initially non-nil. * test/lisp/erc/erc-scenarios-services-misc.el (erc-scenarios-services-auth-source-reconnect): Add new test. * test/lisp/erc/resources/services/auth-source/recon.eld: Add new test data file. (Bug#59858.)
| * Fix Tramp tests in eglot-tests, prefix tests uniquelyMichael Albinus2022-12-141-57/+60
| | | | | | | | | | | | | | | | | | | | * test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture): Use `make-nearby-temp-file'. (eglot--call-with-tramp-test): Set `tramp-verbose' and `default-directory'. The latter is needed for `make-nearby-temp-file'. (eglot-test-tramp-test, eglot-test-tramp-test-2): Tag them as :expensive-test. (all): Prefix all tests with `eglot-test-' uniquely.
| * Delete temp files after icalendar testsStefan Kangas2022-12-141-1/+2
| | | | | | | | | | | | * test/lisp/calendar/icalendar-tests.el (icalendar-tests--get-error-string-for-export): Make sure we clean up temporary files after test.
* | Warn about unmatchable constant args to `eq`, `memq` etcMattias Engdegård2022-12-141-3/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a byte-compiler warning about attempts to compare literal values with undefined identity relation to other values. For example: (eq x 2.0) (memq x '("a" (b) [c])) Such incomparable values include all literal conses, strings, vectors, records and (except for eql and memql) floats and bignums. The warning currently applies to eq, eql, memq, memql, assq, rassq, remq and delq. * lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg) (bytecomp--value-type-description, bytecomp--arg-type-description) (bytecomp--warn-dodgy-eq-arg, bytecomp--check-eq-args) (bytecomp--check-memq-args): New. (eq, eql, memq, memql, assq, rassq, remq, delq): Set compiler-macro property. * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Amend doc string. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test): Fix text-quoting-style and expand re-warning so that it doesn't need to be a literal. (bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq): New tests.
* | Make proced-tests work on more systemsEli Zaretskii2022-12-141-16/+12
| | | | | | | | | | | | | | | | * test/lisp/proced-tests.el (proced-format-test) (proced-update-test, proced-revert-test, proced-color-test): Remove the 'skip-unless' condition, as it is unnecessary. (proced-refine-test, proced-refine-with-update-test): Use PID, not Args, as the column to test, as PID is more portable.
* | Add tests for procedLaurence Warne2022-12-141-0/+109
|/ | | | * test/lisp/proced-tests.el: New file.
* Adapt Tramp specific tests in eglot-tests.elMichael Albinus2022-12-131-25/+28
| | | | | | | | | | | * test/lisp/progmodes/eglot-tests.el (tramp): Move up. (tramp-sh): Don't require. (eglot--cleanup-after-test): Delete Tramp buffers if needed. (eglot-tests-lsp-abiding-column): Rename from `eglot-lsp-abiding-column'. (tramp-histfile-override): Declare. (eglot--call-with-tramp-test): Use `ert-remote-temporary-file-directory'. Skip if needed. (eglot--tramp-test, eglot--tramp-test-2): Don't skip.
* ; Fix typosStefan Kangas2022-12-131-2/+2
|
* ; Adjust eglot test to recent autopep8/pycodestyleStefan Kangas2022-12-121-1/+3
| | | | | * test/lisp/progmodes/eglot-tests.el (python-autopep-formatting): Support more recent autopep8/pycodestyle.
* ; Skip two eglot tests when typescript is missingStefan Kangas2022-12-121-2/+4
| | | | | | * test/lisp/progmodes/eglot-tests.el (javascript-basic, project-wide-diagnostics-typescript): Skip tests when the npm package "typescript" is not installed.
* Skip Eglot rust-analyzer tests if 'cargo' isn't availableJoão Távora2022-12-121-0/+2
| | | | | | * test/lisp/progmodes/eglot-tests.el (project-wide-diagnostics-rust-analyzer) (diagnostic-tags-unnecessary-code): Skip unless "cargo" is found.
* Add automated tests for EglotJoão Távora2022-12-111-0/+1308
| | | | | | | | | | Most of the tests require a specific LSP server to do their thing, and skip themselves if this server isn't found. This file is a modified/overhauled version of the original Eglot automated tests that were developed in the old GitHub upstream. * test/lisp/progmodes/eglot-tests.el: New file.
* Fix pcase rx patterns using rx-let bindings (bug#59814)Mattias Engdegård2022-12-111-0/+6
| | | | | | | | Reported by Daniel Pittman. * lisp/emacs-lisp/rx.el (rx): Move binding of rx--local-definitions... (rx--to-expr): ...here. * test/lisp/emacs-lisp/rx-tests.el (rx-let-pcase): New test.
* ; Fix a failure when running server-tests via the command lineJim Porter2022-12-101-3/+3
| | | | | | | | | | * test/lisp/server-tests.el (server-tests/server-force-stop/keeps-frames): Delete every new frame created during the test. On some systems, 'delete-terminal' will delete the frames for us, so this ensures that if there are no new frames, nothing happens. (cherry picked from commit 3785fe52e4692ffef14c0a1e50361c22d66fabe8)