aboutsummaryrefslogtreecommitdiffstats
path: root/test/lisp/progmodes (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Jsonrpc: overhaul logging mechanicsJoão Távora2023-12-211-36/+35
| | | | | | | | | | | | | | | | | | | | | | | | | * lisp/jsonrpc.el (jsonrpc-connection): Rework. (initialize-instance :after jsonrpc-connection): New method. (slot-missing jsonrpc-connection :events-buffer-scrollback-size oset): New hack. (jsonrpc-connection-receive): Rework. (initialize-instance :after jsonrpc-process-connection): Rework from non-after version. (jsonrpc-connection-send) (jsonrpc--call-deferred) (jsonrpc--process-sentinel) (jsonrpc--async-request-1, jsonrpc--debug, jsonrpc--log-event) (jsonrpc--forwarding-buffer): Rework. (jsonrpc--run-event-hook): New helper. (jsonrpc-event-hook): New hook. * lisp/progmodes/eglot.el (eglot-lsp-server): Fix project slot initform. (eglot--connect): Use new jsonrpc-connection initarg. * test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Use jsonrpc-event-hook. (eglot-test-basic-completions): Fix test.
* Merge from origin/emacs-29Eli Zaretskii2023-12-163-0/+84
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bf4ccb0be07 ; * lisp/term.el (term--xterm-paste): Fix last change. 0d9e2e448d9 ; * doc/lispref/functions.texi (Function Documentation): ... 791cc5065da Fix shaping of Sinhala text efcbf0b5abf Add use cases of (fn) documentation facility. c3331cb3659 Fix pasting into terminal-mode on term.el 5be94e2bce5 Fix opening directory trees from Filesets menu 6b6e770a1f5 Eglot: Add ruff-lsp as an alternative Python server ed8a8a5ba16 Fix symbol name in Multisession Variables examples 400ef15bdc3 js-ts-mode: Fix font-lock rules conflict c165247c300 Add indentation rules for bracketless statements in js-ts... 7f1bd69cd19 Fix c-ts-mode bracketless indentation for BSD style (bug#... e23068cb9a1 Add missing indent rules in c-ts-mode (bug#66152) d2c4b926ac2 Fix treesit-default-defun-skipper (bug#66711) 9874561f39e Fix treesit-node-field-name and friends (bug#66674) eace9e11226 python-ts-mode: Highlight default parameters 23c06c7c308 Update to Org 9.6.13
| * Add indentation rules for bracketless statements in js-ts-modeNoah Peart2023-12-122-0/+50
| | | | | | | | | | | | | | | | | | * lisp/progmodes/js.el (js--treesit-indent-rules): Add indentation rules to handle bracketless statements (bug#67758). * test/lisp/progmodes/js-tests.el (js-ts-mode-test-indentation): New test for js-ts-mode indentation. * test/lisp/progmodes/js-resources/js-ts-indents.erts: New file with indentation tests for js-ts-mode.
| * Fix c-ts-mode bracketless indentation for BSD style (bug#66152)Yuan Fu2023-12-101-0/+34
| | | | | | | | | | | | | | | | | | * lisp/progmodes/c-ts-mode.el: (c-ts-mode--indent-styles): Make sure the BSD rules only apply to opening bracket (compound_statement), then bracketless statements will fallback to common rules. * test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts: Copy the bracketless test from indent.erts to here.
* | ruby-syntax-methods-before-regexp: Drop this whitelistDmitry Gutov2023-12-162-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): Match only based on keywords and operators. (ruby-syntax-methods-before-regexp): Delete. (ruby-syntax-propertize): Use the new heuristic based on spaces instead of checking for method names before (bug#67569). * test/lisp/progmodes/ruby-mode-tests.el (ruby-regexp-not-division-when-only-space-before): Use non-whitelisted method name. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Adjust two examples.
* | Jsonrpc: support some JSONesque non-JSONRPC protocols, like DAPJoão Távora2023-12-141-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/jsonrpc.el (jsonrpc-convert-to-endpoint) (jsonrpc-convert-from-endpoint): New generics. (jsonrpc-connection-send): Call jsonrpc-convert-to-endpoint. Rework logging. (jsonrpc-connection-receive): Call jsonrpc-convert-from-endpoint. Rework logging. jsonrpc--reply with METHOD. (jsonrpc--log-event): Take subtype. (Version): Bump to 1.0.19 * test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Adapt to new protocol of jsonrpc--log-event. * doc/lispref/text.texi (JSONRPC Overview): Rework.
* | Merge from origin/emacs-29Eli Zaretskii2023-12-102-1/+59
|\ \ | |/ | | | | | | | | | | | | | | | | | | 2773cf9e013 ; Fix typos 020aff95fa3 ; Fix typos in ChangeLog files 5e03a621efc ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristi... f0734e1c0d1 Fix c-ts-mode indent heuristic (bug#67417) 08fc6bace20 Fix c-ts-mode indentation (bug#67357) 71bc2815ccd Add font-locking for hash-bang lines in typescript-ts-mode. db8347c8c87 Add font-locking for hash-bang lines in js-ts-mode 91f2ade57bb ruby-mode: Better detect regexp vs division (bug#67569)
| * Fix c-ts-mode indentation (bug#67357)nverno2023-12-101-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. In a compund_statement, we indent the first sibling against the parent, and the rest siblings against their previous sibling. But this strategy falls apart when the first sibling is not on its own line. We should regard the first sibling that is on its own line as the "first sibling"", and indent it against the parent. 2. In linux style, in a do-while statement, if the do-body is bracket-less, the "while" keyword is indented to the same level as the do-body. It should be indented to align with the "do" keyword instead. * lisp/progmodes/c-ts-mode.el: (c-ts-mode--no-prev-standalone-sibling): New function. (c-ts-mode--indent-styles): Use c-ts-mode--no-prev-standalone-sibling. Add while keyword indent rule. * test/lisp/progmodes/c-ts-mode-resources/indent.erts: New tests.
| * ruby-mode: Better detect regexp vs division (bug#67569)Dmitry Gutov2023-12-091-0/+12
| | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): Add grouping around methods from the whitelist. (ruby-syntax-propertize): Also look for spaces around the slash.
* | Merge from origin/emacs-29Eli Zaretskii2023-12-091-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f361cc985d ; Minor copyedits in description of ':box' face property 46fe7a17f53 Fix dragging mode line on text terminals with a mouse (bu... 12daf386f37 ; * doc/lispref/processes.texi (Network): Fix wording and... 037d858dc1a (rust-ts-mode): Set electric-indent-chars dc9b733ab88 js-ts-mode: Highlight function parameters inside destruct... 4a72f13bdfb js-ts-mode: Highlight property shorthands in assignments 83ed9018ede (js--treesit-font-lock-settings): Highlight parameters in... ad0f87bb4c3 (js--treesit-font-lock-settings): Remove some duplicates 71c5f3694fd ; Another fix of doc string of 'message-mail-user-agent' ... 04a39353bae ; * lisp/gnus/message.el (message-mail-user-agent): Doc f... 82ddcf37ec6 ; * doc/lispref/files.texi (Changing Files): Fix last cha... 89068516b3e Don't claim to signal an error when deleting a nonexistin... 4fd254e1830 * lisp/indent.el (indent-rigidly): Improve prompt (bug#67... 5f923ff1a6a ; Fix typos a1f88963f5d rust-ts-mode--comment-docstring: Handle block doc comments a547b0e2e83 rust-ts-mode--comment-docstring: Fix/improve the previous...
| * ; Fix typosStefan Kangas2023-12-031-1/+1
| |
* | Add font-lock tests for lua-ts-mode (bug#67605)john muhl2023-12-092-2/+347
| | | | | | | | | | | | | | | | | | | | | | * test/lisp/progmodes/lua-ts-mode-tests.el (lua-ts-test-font-lock): Add ert-font-lock tests. (lua-ts-mode-test-indentation): (lua-ts-test-indentation): (lua-ts-mode-test-movement): (lua-ts-test-movement): Rename for consistency. * test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua: New file.
* | Merge from origin/emacs-29Eli Zaretskii2023-12-021-0/+17
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | 5f882f4ee97 ; Fix doc string punctuation in ruby-ts-mode.el. 546a68925c9 Fix 'Info-goto-node-web' when NODE is given in various forms 7ff943044e9 Fix setting cursor when the window's op line has 'line-pr... 7f0bef47ddd Drop extra parenthesis in example code in Emacs Lisp Intr... fbaf113bf38 rust-ts-mode: appropriately fontify doc strings bd62bdbc680 Fix example code in Emacs Lisp Introduction manual c7e459132a9 Fix example in Emacs Lisp Intro manual a6e9c26c8f4 ; * doc/emacs/files.texi (Save Commands): Fix last change. f6a06ed6c5d Elisp manual: Mention 'write-region' for saving the buffer 4774a3abb4b Document, that PROCESS of signal-process can be a string ab126284081 Fix typescript-ts-mode indentation for switch statements
| * Fix typescript-ts-mode indentation for switch statementsnverno2023-11-291-0/+17
| | | | | | | | | | * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode): Add indentation rule for switch case and default keywords. (Bug#67488)
* | Merge from origin/emacs-29Eli Zaretskii2023-12-021-0/+20
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | cd477bf07d8 Fix behavior of 'split-root-window-*' with 'C-u' 2e5d47f578a ; * doc/lispintro/emacs-lisp-intro.texi (copy-to-buffer):... c46700deb0a Add more text to clarify the behavior of 'with-current-bu... 687c416ce9b Fix example in Emacs user manual 835902179cd ; Fix recent change in 'c-ts-mode' 169a5ff7524 ; Fix typo in Gnus manual (bug#67469). 30841c71a5d Mention Titankey in Tramp, which has passed the tests dab7cc241f4 Fix c-ts-mode indentation after if/else (bug#67417) f8d9dc26c78 Fix indentation for else clause in c-ts-mode (bug#67417) bf0b0c9c73d Ensure that directory is expanded in package-vc-checkout e551dd72f79 * etc/PROBLEMS: Add entry about pinentry with gpgsm. (Bu...
| * Fix indentation for else clause in c-ts-mode (bug#67417)Yuan Fu2023-11-261-0/+20
| | | | | | | | | | | | | | | | | | | | * lisp/progmodes/c-ts-mode.el: (c-ts-mode--indent-styles): Add indentation for children of else_clause. * test/lisp/progmodes/c-ts-mode-resources/indent.erts: (Name): Add test for else-break. Also make the test such that it needs to indent correctly from scratch (rather than maintaining the already correct indentation.)
| * Annotate java-ts-mode-test-movement with expected resultDmitry Gutov2023-11-211-0/+2
| | | | | | | | Do not merge to master.
| * Backport: Add more java indentation testsTheodor Thornhill2023-11-211-16/+75
| | | | | | | | | | | | | | * test/lisp/progmodes/java-ts-mode-resources/indent.erts: Use default indent offset, and tweak the indentation examples. (cherry picked from commit dbe7803aa1e8249bd70f67f25f19aedabeb9cc22)
| * Backport: Add test for java indentation (bug#61115)Theodor Thornhill2023-11-211-0/+9
| | | | | | | | | | | | | | * test/lisp/progmodes/java-ts-mode-resources/indent.erts: Add new test case. (cherry picked from commit 229d0772e235f51812ed8020a31f9a8de366c7ba)
* | Merge from savannah/emacs-29Po Lu2023-11-241-0/+22
|\ \ | |/ | | | | 9af03e0e189 typescript-ts-mode: Support indentation for conditionals ...
| * typescript-ts-mode: Support indentation for conditionals without bracesNoah Peart2023-11-211-0/+22
| | | | | | | | | | | | | | | | | | * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode--indent-rules): Support indentation for conditionals without braces (bug#67031). * test/lisp/progmodes/typescript-ts-mode-resources/indent.erts (Statement indentation without braces): New test.
| * Backport: Add some basic tests for java-ts-mode and typescript-ts-modeTheodor Thornhill2023-11-215-0/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | * test/lisp/progmodes/java-ts-mode-resources/indent.erts: New file with tests for indentation. * test/lisp/progmodes/java-ts-mode-resources/movement.erts: New file with tests for movement. * test/lisp/progmodes/java-ts-mode-tests.el: New tests. * test/lisp/progmodes/typescript-ts-mode-resources/indent.erts: New file with tests for indentation. * test/lisp/progmodes/typescript-ts-mode-tests.el: New tests. (cherry picked from commit c8dd37b16c574beda900d4ee48ac7b4ab4a2ee56)
* | Hook 'bug-reference-mode' up to 'thing-at-point'Jim Porter2023-11-111-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/bug-reference.el (bug-reference--url-at-point): New function. (bug-reference-mode, bug-reference-prog-mode): Factor initialization code out to... (bug-reference--init): ... here. * test/lisp/progmodes/bug-reference-tests.el (test-thing-at-point): New test. * etc/NEWS: Announce this change (bug#66752).
* | Remove the header line after disabling 'which-function-mode'Spencer Baugh2023-10-291-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the header line would stay around even when after disabling 'which-function-mode', although it may be empty. Now the 'which-function-mode' element is properly removed from 'header-line-format', so the header line will disappear if there's nothing else in 'header-line-format'. Also, previously, when we ran (which-function-mode), we would enable 'which-function-mode' for all buffers even if they didn't support imenu. We didn't run the normal logic in 'which-func-ff-hook' to disable 'which-func-mode' if imenu wasn't present. Now we do run that logic, by just calling 'which-func-ff-hook'. This is especially important when the header line is enabled, because otherwise there's a very noticeable header line added to every buffer, including e.g. *Help* and *Buffer List*. Also, we now check that 'header-line-format' is a list before trying to add to it; this makes us work properly when enabling and disabling 'which-function-mode' for modes which set 'header-line-format' to a string or symbol, such as eww. * lisp/progmodes/which-func.el (which-func-try-to-enable): Re-add 'which-func-format' to the header line. (which-func--header-line-remove): New function. (which-func--disable): Call 'which-func--header-line-remove'. (which-function-mode): Call 'which-func-ff-hook' and 'which-func--header-line-remove'. (bug#66283) * test/lisp/progmodes/which-func-tests.el: New test.
* | Various improvements to lua-ts-mode (Bug#66159)john muhl2023-10-232-142/+719
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Improve movement. (lua-ts--simple-indent-rules): Improve indentation rules. (lua-ts-mode-map): Add key bindings and menus. (lua-ts-mode-hook): Make hook available in Customize. (lua-ts-inferior-history, lua-ts-inferior--write-history): Add option to read/write an input history file. (lua-ts-inferior-lua, lua-ts-send-buffer, lua-ts-send-file) (lua-ts-send-region, lua-ts-inferior-prompt) (lua-ts-inferior-prompt-continue): Support for sending buffer, file or region to the inferior process. (lua-ts-show-process-buffer, lua-ts-hide-process-buffer) (lua-ts-kill-process): New functions. (lua-ts-inferior-prompt-regexp): Remove option. * test/lisp/progmodes/lua-ts-mode-resources/indent.erts: * test/lisp/progmodes/lua-ts-mode-resources/movement.erts: Add tests.
* | ;cperl-mode.el: Do not mistake a left-shift operator for a here-doc.Harald Jörg2023-10-142-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Empty unquoted delimiters for here-documents are now forbidden (Bug#65834). * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-65834): New test. * test/lisp/progmodes/cperl-mode-resources/cperl-bug-65834.pl: new resource with source code from the bug report.
* | Fix indentation and fontification in shell-script (Bug#26217)Mauro Aranda2023-10-142-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/sh-script.el (sh-smie--sh-keyword-p): Treat "do" as special, like we treat "in". (sh-smie--sh-keyword-in-p): Change signature. Take the token to decide correctly if it's a keyword. (sh-font-lock-keywords-var-1): Add do. * test/lisp/progmodes/sh-script-resources/sh-indents.erts: New test. * test/lisp/progmodes/sh-script-tests.el (sh-script-test-do-fontification): New test.
* | cperl-mode.el: Optionally treat trailing text as commentHarald Jörg2023-10-142-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/cperl-mode.el (cperl-fontify-trailer): New customization variable. With a value of 'comment, cperl-mode treats trailing text after after __END__ and __DATA__ as comment, like perl-mode does (Bug#66161). (cperl-find-pods-heres): Treat trailing text after __END__ and __DATA__ according to the customization variable `cperl-fontify-trailer'. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-66161): New test, verifying the changed behavior if the custom variable is set to 'comment. * test/lisp/progmodes/cperl-mode-resources/cperl-bug-66161.pl: New resource file, source code from the corresponding bug report.
* | ; cperl-mode.el: Don't override fontificaton in comments.Harald Jörg2023-10-092-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/cperl-mode.el (cperl-init-faces): Reorder the matchers for fontification of array and hash elements and keys so that they don't override comment and string fontification (Bug#66145). * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-66145): New test for all combinations of sigils and brackets/braces to verify that strings and comments are left untouched. This test also works for perl-mode which has always done it correctly. * test/lisp/progmodes/cperl-mode-resources/cperl-bug-66145.pl: New resource file for the above test.
* | Omit the `omake` compilation-mode rule by defaultMattias Engdegård2023-10-051-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It keeps interfering with other rules, slowing everything down a little bit and makes it harder to add or change other rules. The rule is still there and can easily be re-enabled by those who need it. * etc/NEWS: Announce. * lisp/progmodes/compile.el (compilation-error-regexp-alist): Exclude `omake`. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Actually test the `cucumber` rule. Remove the `omake` test case. (compile-test-error-regexps): Test `omake` here. Test other rules without `omake` included.
* | Fix indentation in perl-mode (Bug#35925)Mauro Aranda2023-10-012-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/perl-mode.el (perl--format-regexp): New defconst. (perl--end-of-format-p): New function. (perl-continuation-line-p): Use it. (perl-calculate-indent): Use it. Make the lines of the formlist stay at column 0. * test/lisp/progmodes/cperl-mode-resources/cperl-bug-35925.pl: New test file. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-35925): New test.
* | ; cperl-mode-tests.el: Avoid using skip-whenHarald Jörg2023-09-291-3/+7
| | | | | | | | | | | | | | | | | | * test/lisp/progmodes/cperl-mode-tests.el: Add a hint to the commentary that the tests are intended to run on older Emacsen. (cperl-test-bug-10483): Replace skip-when by skip-unless followed by a negation. (cperl-test-bug-37127): Replace skip-when by skip-unless followed by a negation.
* | Fix treesit-langauge-at-point for elixir-ts-mode.Wilhelm H Kirschbaum2023-09-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | The treesit-language-at-point function is only suppose to query the host language. * lisp/progmodes/elixir-ts-mode.el (elixir-ts--indent-rules): Add missing rules. (elixir-ts--treesit-language-at-point): Update function to only query the host language. * test/lisp/progmodes/elixir-ts-mode-resources/indent.erts: Add test for inline docs.
* | Flymake: unbreak testsJoão Távora2023-09-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flymake's normal behaviour implies catching the errors of misbehaving backends. This behavior is tested by Flymake's automated tests, built on top of ERT, which means that debug-on-error is always t in the bodies of said tests (I don't know the rationale for this, but it's been like this for some time) Flymake used to shun usage of 'condition-case-unless-debug' because of this. But since that macro is pretty useful, I started using it again, and as a consequence, tests started breaking. The solution is to: 1. stop requiring the deprecated legacy backend 'flymake-proc' (which by design, always errors, except in rare circumstances). 2. deliberately set debug-on-error to nil around the "dummy backends"" test. * lisp/progmodes/flymake.el (flymake-proc): Don't require it by default. * test/lisp/progmodes/flymake-tests.el: (dummy-backends): Make robust to ert's debug-on-error setting.
* | bug#65673: Add lua-ts-modebug-gnu-emacs@gnu.org2023-09-163-0/+741
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/lua-ts-mode.el: * test/lisp/progmodes/lua-ts-mode-resources/indent.erts: * test/lisp/progmodes/lua-ts-mode-tests.el: New files. * etc/NEWS: Mention the new mode. * lisp/progmodes/eglot.el (eglot-server-programs): * lisp/progmodes/hideshow.el (hs-special-modes-alist): Support 'lua-ts-mode'. * admin/notes/tree-sitter/build-module/batch.sh: * admin/notes/tree-sitter/build-module/build.sh: Add Lua. * test/infra/Dockerfile.emba: * test/infra/test-jobs.yml: Include lua-ts-mode tests.
* | Fix perl-mode indentation after a hanging parenMauro Aranda2023-09-071-0/+17
| | | | | | | | | | | | | | * lisp/progmodes/perl-mode.el (perl-hanging-paren-p): Allow comments. (Bug#34245) * test/lisp/progmodes/perl-mode-tests.el (perl-test-bug-34245): New test.
* | (project-try-vc): When found non-VC project root, still search for the backendDmitry Gutov2023-09-061-0/+1
| | | | | | | | | | | | * lisp/progmodes/project.el (project-try-vc): When finding a non-VC project root, still try to search for the containing responsible VC backend, if any (bug#65704).
* | ; Silence byte-compilerStefan Kangas2023-09-061-9/+9
| | | | | | | | | | | | | | | | | | * test/lisp/emacs-lisp/cl-lib-tests.el (old-struct) (cl-lib-old-struct): * test/lisp/progmodes/eglot-tests.el (eglot-test-rust-analyzer-watches-files) (eglot-test-capabilities, eglot-test-path-to-uri-windows): Silence byte-compiler.
* | Use new ERT `skip-when` macro in testsStefan Kangas2023-09-043-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/lisp/autorevert-tests.el (auto-revert-test02-auto-revert-deleted-file): * test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests): * test/lisp/emacs-lisp/find-func-tests.el (find-func-tests--library-completion): * test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline): * test/lisp/filenotify-tests.el (file-notify-test11-symlinks): * test/lisp/ibuffer-tests.el (ibuffer-0autoload): * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-part1): * test/lisp/net/network-stream-tests.el (echo-server-nowait) (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait) (open-network-stream-tls-wait, open-network-stream-tls-nowait) (open-network-stream-tls, open-network-stream-tls-nocert) (open-gnutls-stream-new-api-nowait) (open-gnutls-stream-old-api-nowait): * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-10483) (cperl-test-hyperactive-electric-else): * test/lisp/progmodes/elisp-mode-tests.el (eval-last-sexp-print-format-sym-echo) (eval-last-sexp-print-format-small-int-echo) (eval-last-sexp-print-format-large-int-echo) (eval-defun-prints-edebug-when-instrumented): * test/lisp/progmodes/python-tests.el (python-ffap-module-path-1): * test/lisp/shadowfile-tests.el (shadow-test00-clusters) (shadow-test01-sites, shadow-test02-files) (shadow-test03-expand-cluster-in-file-name) (shadow-test04-contract-file-name, shadow-test05-file-match) (shadow-test06-literal-groups, shadow-test07-regexp-groups) (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files): * test/lisp/simple-tests.el (eval-expression-print-format-sym-echo) (eval-expression-print-format-small-int-echo) (eval-expression-print-format-large-int-echo): * test/lisp/term-tests.el (term-simple-lines) (term-carriage-return, term-line-wrap, term-colors) (term-colors-bold-is-bright, term-cursor-movement) (term-scrolling-region, term-set-directory) (term-line-wrapping-then-motion, term-to-margin): * test/lisp/thread-tests.el (thread-tests-list-threads-error-when-not-configured): * test/lisp/vc/vc-tests.el (backend): * test/manual/scroll-tests.el (scroll-tests-scroll-margin-0) (scroll-tests-scroll-margin-negative) (scroll-tests-scroll-margin-max) (scroll-tests-scroll-margin-over-max) (scroll-tests-scroll-margin-whole-window): * test/misc/test-custom-libs.el (test-custom-libs): * test/src/emacs-module-tests.el (module/async-pipe): * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars): * test/src/filelock-tests.el (filelock-tests-lock-spoiled) (filelock-tests-file-locked-p-spoiled) (filelock-tests-unlock-spoiled) (filelock-tests-kill-buffer-spoiled) (filelock-tests-detect-external-change): * test/src/image-tests.el (image-tests-image-size/error-on-nongraphical-display) (image-tests-image-mask-p/error-on-nongraphical-display) (image-tests-image-metadata/error-on-nongraphical-display): * test/src/process-tests.el (make-process/mix-stderr) (process-tests/fd-setsize-no-crash/make-network-process) (process-tests/fd-setsize-no-crash/make-serial-process): Use ERT `skip-when` macro in tests.
* | Fix test in python-tests.el added by bug #62092kobarity2023-08-151-6/+6
| | | | | | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-info-dedenter-opening-block-positions-6): Fix indentation. (python-info-dedenter-opening-block-positions-7): Add calling `should'. Add RESTORE-POINT argument when calling `python-tests-look-at'.
* | cperl-mode.el: Subroutine names are fontified correctly in all placesHarald Jörg2023-08-022-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subroutine names are fontified as subroutine names even if the name is also the name of a builtin (fixing an ancient unreported bug). Subroutine name are just comments in comment and pod (fixing a bug introduced recently) * lisp/progmodes/cperl-mode.el (cperl-init-faces): Move fontification of sub declarations before that of builtins. Don't override existing faces when fontifying subroutine declarations. Don't fontify method calls even if the sub names match those of builtins. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-fontify-sub-names): New tests with a subroutine name in several surroundings. * test/lisp/progmodes/cperl-mode-resources/sub-names.pl: New resource for the new test.
* | ; cperl-mode: Refine syntax of attributesHarald Jörg2023-07-061-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attributes may start with underscore, and must be separated. Thanks to Mattias Engdegård for pointing out a regex mistake. * lisp/progmodes/cperl-mode.el (defconst): Fix bad grouping and allow attributes to start with an underscore in cperl--single-attribute-rx. Adjust cperl--attribute-list-rx accordingly. (cperl-find-sub-attrs): Allow attributes to start with an underscore. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-attribute-list-rx): Add new test cases for valid and invalid attribute lists.
* | ; * test/lisp/progmodes/cperl-mode-tests.el: add missing backslashesMattias Engdegård2023-07-041-1/+1
| |
* | cperl-mode.el: Add support for new Perl syntax in Perl 5.36 and 5.38Harald Jörg2023-07-034-4/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl 5.38 was released on 2023-07-03. This patch supports the new features for 5.36 and 5.38 for font-lock, indentation, and imenu index creation. * lisp/progmodes/cperl-mode.el (cperl-praise): Mention classes. (defconst): Fix typo in docstring of cperl--single-attribute-rx. Add "class" to cperl--package-rx, and adjust its docstring. New rx sequence cperl--class-for-imenu-rx to capture classes, use this in cperl--imenu-entries-rx. Add "method" to cperl--sub-name-for-imenu-rx. Add "class" to cperl--block-declaration-rx. (cperl-sub-keywords): Add "method". (cperl-mode): Add "ADJUST" to defun-prompt-regexp. (cperl-after-block-p): Add new keywords for Perl 5.36 and 5.38. (cperl-indent-exp): Add "field" to expression starters. (cperl-imenu--create-perl-index): Rename variables refering to "package", because they also contain classes. (cperl-init-faces): Add new keywords for Perl 5.36 and 5.38. (cperl-find-tags): Add support for "class". (cperl-short-docs): Add new keywords for Perl 5.36 and 5.38. (cperl-indent-exp): Add new keywords for Perl 5.36 and 5.38. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-fontify-class): New test for fontification of class elements. (cperl-test-imenu-index): Add tests for (nested) class definitions. * test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts: Add test cases for try/catch/finally, defer, class, method * test/lisp/progmodes/cperl-mode-resources/perl-class.pl: New resource for fontification tests of class elements. * test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add some classes to the test resource.
* | ; cperl-mode.el: Fix two indentation bugs (Bug#11733)Harald Jörg2023-07-022-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/cperl-mode.el (cperl-sniff-for-indent): Detect whether we have a label or a regex/string. (cperl-calculate-indent): Check for things which look like labels but aren't. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-11733): Test the examples provided in the bug report. * test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl: Examples from the bug report.
* | cperl-mode.el: Support Perl 5.38 syntax for subroutine signaturesHarald Jörg2023-07-012-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/cperl-mode.el (defconst): New rx sequence describing a signature with initialization. (cperl-init-faces): integrate the new rx sequence into the font-lock-defaults init routine (Bug#64190) (Bug#64364). * test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: Add test data for a signature with initialization (tests indentation). * test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: Add test data for a signature with initialization (tests fontification).
* | cperl-mode: Fix byte-compilation warningsHarald Jörg2023-07-011-6/+9
| | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/cperl-mode.el (defconst): Reformat docstring to fit into 80 columns. (cperl-find-sub-attrs): Mark lexical parameters as unused. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-fontify-attrs-and-signatures): Fix use of `match-beginning' (perl-indent-parens-as-block): Define as a variable.
* | Merge from origin/emacs-29Eli Zaretskii2023-07-011-0/+51
|\ \ | |/ | | | | | | | | | | | | | | | | | | ef16339918e Make js-beginning-of-defun return non-nil on success 2c90ade09a4 Tree-sitter use with-silent-modifications like jit-lock (... 11cead0d73c Fix todo-mode.el Commentary and a doc string (bug#64298) 6ae83322d4c Prevent truncation of todo-mode categories sexp ee41f07be52 Avoid making todo-mode buffers manually editable 53332bdf625 ; * doc/lispref/variables.texi: Fix define-obsolete-varia... 162c9c058eb ; Document that 'named-let' needs lexical-binding 68028f0fa31 ; * etc/PROBLEMS: Fix typo.
| * Make js-beginning-of-defun return non-nil on successDaniel Martín2023-06-291-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | The docstring of 'beginning-of-defun-function' says that the function shall return non-nil when it found the beginning of a defun. This is specially important because the calling code decides when to move point depending on the return value. * lisp/progmodes/js.el (js-beginning-of-defun) (js--beginning-of-defun-flat): Return non-nil when the beginning of a defun is found. (Bug#64283) * test/lisp/progmodes/js-tests.el (js-mode-end-of-defun): Add a unit test.
* | ; cperl-mode-resources: More test cases for cperl-mode.elHarald Jörg2023-06-301-7/+11
| | | | | | | | | | * test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: Adapt to the signatures now available in cperl-mode.el