aboutsummaryrefslogtreecommitdiffstats
path: root/test/lisp/progmodes/python-tests.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Allow escape sequences in Python promptskobarity2024-06-151-0/+28
| | | | | | | | | | * lisp/progmodes/python.el (python-shell-prompt-detect): Use Python's json package if available, and remove escape sequences in prompts. * test/lisp/progmodes/python-tests.el (python-tests-interpreter-2-6-higher-p): New predicate function. (python-shell-prompt-detect-7): New test. (Bug#71440)
* ; Fix recent change to python-tests.elkobarity2024-06-101-1/+1
| | | | | | * test/lisp/progmodes/python-tests.el (python-tests--pythonstartup-file): Use already bound 'python-shell-interpreter'. (Bug#70815)
* Specify Python 3 in some ERTs on Mackobarity2024-06-091-308/+352
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-tests-with-temp-buffer-with-shell): Remove setting 'python-shell-interpreter'. (python-tests-shell-interpreter): Removed. (python-tests-shell-interpreters): New variable. (python-tests-with-shell-interpreter) (python-tests-with-temp-buffer-with-shell-interpreter): New macros. (python-tests-get-shell-interpreter): Add an optional PRED argument to allow ERts to specify Python interpreter version. (python-tests--get-interpreter-info): New function. (python-tests-interpreter-3-p): New function to be used as the PRED argument of 'python-tests-get-shell-interpreter'. (python-shell-make-comint-1) (python-shell-make-comint-2) (python-shell-make-comint-4) (python-shell-get-process-1) (python-shell-internal-get-or-create-process-1) (python-shell-prompt-detect-1) (python-shell-prompt-detect-2) (python-shell-prompt-detect-3) (python-shell-prompt-detect-4) (python-shell-prompt-detect-5) (python-shell-prompt-detect-6) (python-shell-prompt-set-calculated-regexps-6) (python-shell-completion-at-point-jedi-completer) (python-completion-at-point-pdb-1) (python-completion-at-point-while-running-1) (python-ffap-module-path-1) (python-ffap-module-path-while-running-1) (python-eldoc--get-doc-at-point-1) (python-eldoc--get-doc-at-point-while-running-1) (python-tests--run-python-selects-window) (python-test--shell-send-block): Use the new macro. (python-shell-completion-at-point-ipython): Remove setting 'python-tests-shell-interpreter'. (python-shell-completion-at-point-1) (python-completion-at-point-1) (python-completion-at-point-2) (python-completion-at-point-native-1) (python-completion-at-point-native-2) (python-completion-at-point-native-with-ffap-1) (python-completion-at-point-native-with-eldoc-1): Use the new macro and specify Python 3 on Mac to avoid errors. (Bug#70815)
* Fix hiding a Python block ending with a commentkobarity2024-06-091-0/+18
| | | | | | | * lisp/progmodes/python.el (python-hideshow-forward-sexp-function): Move point to the end of the line. * test/lisp/progmodes/python-tests.el (python-hideshow-hide-block-2): New test. (Bug#71170)
* Fix Python mode error caused by incorrect indentationkobarity2024-06-081-0/+9
| | | | | | | | * lisp/progmodes/python.el (python-indent--calculate-indentation): Guard against negative indentation. (Bug #65870) * test/lisp/progmodes/python-tests.el (python-indent-badly-indented-block-end): New test.
* Merge from origin/emacs-29Eli Zaretskii2024-06-011-2/+2
|\ | | | | | | | | bf50aa38f9d Improve documentation of case-conversion commands 225b426f256 ; Fix typos
| * ; Fix typosStefan Kangas2024-05-271-2/+2
| |
* | Use same Python binary for test as in python mode (bug#70815)Mattias EngdegÄrd2024-05-281-1/+3
| | | | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-tests-get-shell-interpreter): Try Python executable names in the same order as we do for `python-shell-interpreter`, so that we run the test with the one is most likely to be used.
* | Enhance 'python-shell-send-block' for convenienceLin Sun2024-05-261-2/+2
| | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-send-block): 'python-shell-send-block' will now send block without header by default. * test/lisp/progmodes/python-tests.el (python-test--shell-send-block): Update the test case. (Bug#71083)
* | Merge from origin/emacs-29Eli Zaretskii2024-05-251-0/+10
|\ \ | |/ | | | | | | | | | | | | | | | | 4f0121f8dbe Avoid assertion violations in displaying under 'outline-m... 1bf65836622 Improve documentation of 'no-special-glyphs' frame parameter 3647645e948 Fix Python font lock of chained assignment statement 3291dea441f Fix example in Calc manual 350ae75f5c1 Avoid crashes on MS-Windows due to invalid UNC file names ccf8dba44a3 ; * lisp/face-remap.el (text-scale-adjust): Doc fix. 5ab144c77cd ; Improve documentation of backing up files
| * Fix Python font lock of chained assignment statementkobarity2024-05-241-0/+10
| | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-font-lock-keywords-maximum-decoration): Allow chaining of single assignment statements. * test/lisp/progmodes/python-tests.el (python-font-lock-assignment-statement-20): New test. (Bug#71093)
* | Enhance python-tests to adapt different Python interpreters (bug#70815)Lin Sun2024-05-231-42/+60
| | | | | | | | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-tests-get-shell-interpreter): New function to get Python interpreter for testing; and also introduce new env variable EMACS_PYTHON_INTERPRETER to support customer Python interpreter. Co-authored-by: kobarity <kobarity@gmail.com>
* | Improve fontification of Python assignments with type hintskobarity2024-05-181-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-font-lock-keywords-maximum-decoration): Fontify type hints of assignment statement. (Bug#69357) * test/lisp/progmodes/python-tests.el (python-font-lock-assignment-statement-11) (python-font-lock-assignment-statement-12) (python-font-lock-assignment-statement-13) (python-font-lock-assignment-statement-18): Add fontification of type hints. (python-font-lock-assignment-statement-19): New test.
* | ; Fix last changeEli Zaretskii2024-05-021-3/+3
| | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-send-block): Doc fix. * test/lisp/progmodes/python-tests.el (python-test--shell-send-block): Avoid byte-compiler warnings. (Bug#70609)
* | New function 'python-shell-send-block' for python-modeLin Sun2024-05-021-0/+27
| | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-send-block): New function. * test/lisp/progmodes/python-tests.el (python-test--shell-send-block): Test case for the new function. * etc/NEWS: Document 'python-shell-send-block'. (Bug#70609)
* | ; Fix python test case for testing completion with ipythonLin Sun2024-05-021-1/+2
| | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-shell-completion-at-point-ipython): Fix value of 'python-test-shell-interpreter'. (Bug#70578)
* | Add font-locking for typed parameters in python-ts-mode (bug#70665)Noah Peart2024-05-011-0/+3
| | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python--treesit-settings): Add tree-sitter font-locking rule for typed parameters. * test/lisp/progmodes/python-tests.el (python-ts-mode-types-face-1): Test for font-lock-variable-name-face in typed parameter.
* | Detect the readline support for Python shell completionLiu Hui2024-03-141-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-comint-watch-for-first-prompt-output-filter): Detect the readline support. (python-shell-readline-completer-delims): Update docstring. (python-shell-completion-native-setup): Move the readline detection code to ... (python-shell-readline-detect): ... new function. (python-shell-completion-native-turn-on-maybe): Skip if Python has no readline support. (python-shell-completion-at-point): Respect the delimiter of readline completer in non-native completion. * test/lisp/progmodes/python-tests.el (python-shell-completion-at-point-1) (python-shell-completion-at-point-native-1) (python-completion-at-point-1, python-completion-at-point-2) (python-completion-at-point-pdb-1) (python-completion-at-point-while-running-1) (python-completion-at-point-native-1) (python-completion-at-point-native-2) (python-completion-at-point-native-with-ffap-1) (python-completion-at-point-native-with-eldoc-1): Skip tests if Python has no readline support. (python-shell-completion-at-point-jedi-completer): Add test for non-native Python shell completion. (bug#68559)
* | Fix Python shell completion test failuresLiu Hui2024-02-281-34/+53
| | | | | | | | | | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-tests-with-temp-buffer-with-shell): Set XDG_CACHE_HOME to a temporary directory. (python-tests--pythonstartup-file): New function. (python-shell-completion-at-point-jedi-completer) (python-shell-completion-at-point-ipython): Use Jedi as the native completion backend when possible. (bug#68559)
* | Set tty mode to raw when setting up Inferior Pythonkobarity2024-02-211-5/+0
| | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-setup-code): New constant. (python-shell-comint-watch-for-first-prompt-output-filter): Send `python-shell-setup-code' to the Inferior Python process. * test/lisp/progmodes/python-tests.el (python-ffap-module-path-1): Eliminate skipping on Mac. (Bug#68559)
* | Respect the delimiter of completer in Python shell completionLiu Hui2024-02-081-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el: (python-shell-completion-setup-code): Fix the completion code of IPython. Change the return value to JSON string and ... (python-shell-completion-get-completions): ... simplify parsing. (inferior-python-mode): Update docstring. (python-shell-readline-completer-delims): New variable indicating the word delimiters of readline completer. (python-shell-completion-native-setup): Set the completer delimiter. (python-shell-completion-native-get-completions): Convert output string to completions properly. (python-shell--get-multiline-input) (python-shell--extra-completion-context) (python-shell-completion-extra-context): New functions. (python-shell-completion-at-point): Send text beginning from the line start if the completion backend does not need word splitting. Remove the detection of import statement because it is not needed anymore. Create proper completion table based on completions returned from different backends. * test/lisp/progmodes/python-tests.el (python-tests--completion-module) (python-tests--completion-parameters) (python-tests--completion-extra-context): New helper functions. (python-shell-completion-at-point-jedi-completer) (python-shell-completion-at-point-ipython): New tests. (bug#68559)
* | Fix syntax highlighting after string literal concat in python-modeJakub Ječmínek2024-01-271-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-syntax-stringify): Fix incorrect font-lock after string literal concatenation. (Bug#45897) * test/lisp/progmodes/python-tests.el (python-font-lock-string-literal-concatenation): New test. Co-authored-by: kobarity <kobarity@gmail.com> Copyright-paperwork-exempt: yes
* | Fix 'python-info-docstring-p' bug in the 2nd line of a bufferkobarity2024-01-131-23/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-info-docstring-p): Add 'looking-at-p' check when bobp. * test/lisp/progmodes/python-tests.el (python-font-lock-operator-1) (python-font-lock-operator-2): Restoration of ERTs deleted by mistake. (python-font-lock-escape-sequence-bytes-newline) (python-font-lock-escape-sequence-hex-octal) (python-font-lock-escape-sequence-unicode) (python-font-lock-raw-escape-sequence): Change 'font-lock-doc-face' to 'font-lock-string-face' and remove :expected-result :failed. (python-info-docstring-p-8): New test. (Bug#68284)
* | Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Merge from origin/emacs-29Po Lu2024-01-021-0/+302
|\ \ | |/ | | | | | | | | | | | | | | 3204825f560 Fix mangled Subject header field when forwarding (Bug#67360) 7591acfe38e Update to Org 9.6.15 240b4594f11 ; * etc/TODO: Add an item about 'Info-hide-note-references'. 01be4fe39d7 * doc/emacs/custom.texi (Modifier Keys): Fix markup (bug#... 55555a6a0d1 org-protocol: Minor copy-edits to Commentary 4696869d3d5 Improve syntax highlighting for python-ts-mode
| * Improve syntax highlighting for python-ts-modeDenis Zubarev2023-12-301-0/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix fontification of strings inside of f-strings interpolation, e.g. for f"beg {'nested'}" - 'nested' was not fontified as string. Do not override the face of builtin functions (all, bytes etc.) with the function call face. Add missing assignment expressions (:= *=). Fontify built-ins (dict,list,etc.) as types when they are used in type hints. Highlight union types (type1|type2). Highlight base class names in the class definition. Fontify class patterns in case statements. Highlight the second argument as a type in isinstance/issubclass call. Highlight dotted decorator names. * lisp/progmodes/python.el (python--treesit-keywords): Add compound keyword "is not". (python--treesit-builtin-types): New variable that stores all python built-in types. (python--treesit-type-regex): New variable. Regex matches if text is either built-in type or text starts with capital letter. (python--treesit-builtins): Extract built-in types to other variable. (python--treesit-fontify-string): fix f-string interpolation. Enable interpolation highlighting only if string-interpolation is presented on the enabled levels of treesit-font-lock-feature-list. (python--treesit-fontify-string-interpolation): Remove function. (python--treesit-fontify-union-types): Fontify nested union types. (python--treesit-fontify-union-types-strict): Fontify nested union types, only if type identifier matches against python--treesit-type-regex. (python--treesit-fontify-dotted-decorator): Fontify all parts of dotted decorator name. (python--treesit-settings): Change/add rules. (Bug#67061) * test/lisp/progmodes/python-tests.el (python-ts-tests-with-temp-buffer): Function for setting up test buffer. (python-ts-mode-compound-keywords-face) (python-ts-mode-named-assignement-face-1) (python-ts-mode-assignement-face-2) (python-ts-mode-nested-types-face-1) (python-ts-mode-union-types-face-1) (python-ts-mode-union-types-face-2) (python-ts-mode-types-face-1) (python-ts-mode-types-face-2) (python-ts-mode-types-face-3) (python-ts-mode-isinstance-type-face-1) (python-ts-mode-isinstance-type-face-2) (python-ts-mode-isinstance-type-face-3) (python-ts-mode-superclass-type-face) (python-ts-mode-class-patterns-face) (python-ts-mode-dotted-decorator-face-1) (python-ts-mode-dotted-decorator-face-2) (python-ts-mode-builtin-call-face) (python-ts-mode-interpolation-nested-string) (python-ts-mode-disabled-string-interpolation) (python-ts-mode-interpolation-doc-string): Add tests.
* | Use new ERT `skip-when` macro in testsStefan Kangas2023-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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'.
* | Fix Python indentation of continuation lines within parenskobarity2023-06-241-12/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-indent-context): Add a new indent context `:inside-paren-continuation-line'. (python-indent--calculate-indentation): Use the new indent context. * test/lisp/progmodes/python-tests.el (python-indent-pep8-2) (python-indent-pep8-3) (python-indent-inside-paren-1) (python-indent-inside-paren-2) (python-indent-inside-paren-3) (python-indent-inside-paren-6) (python-indent-after-backslash-2): Change to use the new indent context. (python-indent-inside-paren-8) (python-indent-inside-paren-9): New tests. (Bug#63959)
* | Merge from origin/emacs-29Eli Zaretskii2023-06-031-144/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ede3535051a ; Fix last change 8ec786349e1 Fix apostrophe handling in rust-ts-mode and go-ts-mode (B... 0eba9cf6511 * test/infra/Dockerfile.emba (emacs-base): Install also g... 4897c98b6c4 Fix 'python-util-clone-local-variables' 6b2c8dc9050 Revert "Enhance Python font-lock to support multilines" 348e4504c6d Fix typo in calc.texi 03663b8798a Update to Transient v0.4.1 dc7acb1aafe Avoid errors in 'delete-forward-char' deleting static com... 2f94f6de9d6 Make VS-15 and VS-16 compositions work correctly 753f8aa1f14 Fix project-name for vc-aware backend in non-file buffers 17c7915ab94 ; Fix 'package-install-upgrade-built-in' check for packag... e252ce26eab Add type_predicate 'is' as keyword in typescript-ts-mode ... 0a354d65784 Fix infloop in info-look.el 83b22139e4c Fix several todo-mode.el item editing bugs (bug#63811) ed4cd3eddf7 dockerfile-ts-mode: Prevent empty categories in imenu (Bu... 2e20e318da2 Brush up doc strings and terminology in plstore.el 372bc1278c2 Add internal documentation on plstore.el 23a14e7b902 Add compact_constructor_declaration font-locking to java-... 500abc4dc37 * lisp/tmm.el (tmm-completion-delete-prompt): Add more ch... afc1f329356 Allow to disable the DWIMish behavior of 'x' in package menu 08104c01504 Allow dired to invoke secondary browser a3063f0bc87 Add a binding for enriched-toggle-markup d8ba28fa394 Fix order of tmm-menubar when 'tmm-mid-prompt' is nil # Conflicts: # etc/NEWS
| * Revert "Enhance Python font-lock to support multilines"kobarity2023-06-031-144/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4915ca5dd4245a909c046e6691e8d4a1919890c8. We have found that there are performance issues when editing a large file. The issue can be reproduced as follows: 1. emacs -Q 2. Open large Python file (e.g. turtle.py in Python) 3. Near the top of the buffer, enter open paren and some characters. The above commit extends the region to be font-locked using `python-nav-end-of-statement'. However, if there are unbalanced parens, it may move point to the end of the buffer. This causes almost the entire buffer to be font-locked, which is not acceptable for large files.
* | Merge from origin/emacs-29Eli Zaretskii2023-05-261-0/+16
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aa5158630e7 Use 'font-lock-extend-region-functions' in python-mode b7b82ecb2b4 Fix python-info-docstring-p f42de74ebea ; * src/lread.c (read0, skip_lazy_string): Fix commentary... b6b384023a9 Fix cancellation of Wdired 916c2a19bde Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/... f535c0e49d5 Handle #@00 in new reader in a compatible way (bug#63722) 40a758f5ceb ; Minor fixes in documentation of recently-changed VC com... c0d7447e9dc ; * etc/NEWS: Describe the Cairo XCB option. (Bug#63589) 42052686752 Don't mark selection request events 9f5249d5c8d Disable cairo-xcb support by default e5f42706ce2 * lisp/progmodes/project.el: Move :safe from defcustom to... 3afe4a42e90 * lisp/vc/vc-annotate.el (vc-annotate-mode-menu): Quote v... b62a2b08b80 Add vc-create/switch/print-branch to menu and update docu... d292d282292 Fix rare crashes in 'try_window_reusing_current_matrix' 709d9020021 Make last Tramp change less invasive a72a1f24fcb ; Fix last change. 5c6517a115d ; * lisp/menu-bar.el (popup-menu): Doc fix. 212884f2bfe ; Fix last change. 1b9812af80b ; * etc/PROBLEMS: Document problem with GnuPG 2.4.1. (Bu... 765edc204d4 ; Support SQLite3 extensions on macOS 5aadb87d6f6 Fix 'use-dialog-box-p' and friends # Conflicts: # etc/NEWS
| * Fix python-info-docstring-pkobarity2023-05-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-info-docstring-p): Stop using python-rx string-delimiter. * test/lisp/progmodes/python-tests.el (python-font-lock-escape-sequence-bytes-newline) (python-font-lock-escape-sequence-hex-octal) (python-font-lock-escape-sequence-unicode) (python-font-lock-raw-escape-sequence): Mark as expected failures until another bug in 'python-info-docstring-p' is corrected. (python-info-docstring-p-7): New test. (Bug#63622)
* | Add a new user option in Python mode to improve the indentationkobarity2023-04-221-2/+114
|/ | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-indent-block-paren-deeper): New user option. (python-indent-context): Add a new context :inside-paren-from-block. (python-indent--calculate-indentation): Modify according to `python-indent-block-paren-deeper' and :inside-paren-from-block. * test/lisp/progmodes/python-tests.el (python-indent-inside-paren-block-1) (python-indent-inside-paren-block-2) (python-indent-inside-paren-block-3) (python-indent-inside-paren-block-4): New tests. (python-indent-inside-paren-5, python-indent-dedenters-8): Modify according to the new context. * etc/NEWS: Document the new user option. (Bug#62696)
* Improve indenting "case" in Pythonkobarity2023-03-261-0/+38
| | | | | | | | * lisp/progmodes/python.el (python-info-dedenter-statement-p): Do not consider the first "case" in the block as dedenter. * test/lisp/progmodes/python-tests.el (python-info-dedenter-opening-block-positions-7) (python-info-dedenter-statement-p-6): New tests. (Bug#62092)
* Fix python-fill-paragraph problems on filling strings (bug#62142)kobarity2023-03-161-0/+119
| | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-syntax--context-compiler-macro) (python-syntax-context): Add single-quoted-string and triple-quoted-string as TYPE argument. (python-info-triple-quoted-string-p): New helper function. (python-fill-paragraph) (python-fill-string): Use it. * test/lisp/progmodes/python-tests.el (python-syntax-context-1) (python-fill-paragraph-single-quoted-string-1) (python-fill-paragraph-single-quoted-string-2) (python-fill-paragraph-triple-quoted-string-1) (python-info-triple-quoted-string-p-1) (python-info-triple-quoted-string-p-2) (python-info-triple-quoted-string-p-3): New tests.
* Make "case" keyword a dedenter in Pythonkobarity2023-03-111-0/+15
| | | | | | | * lisp/progmodes/python.el (python-rx): Add "case" to dedenter. (python-info-dedenter-opening-block-positions): Add "case" to pairs. * test/lisp/progmodes/python-tests.el (python-indent-dedenters-9): New test.
* python-info-dedenter-opening-block-positions: Fix to support "bare" matchDmitry Gutov2023-03-091-0/+14
| | | | | | | | | * lisp/progmodes/python.el (python-info-dedenter-opening-block-positions): Make the check stricter. Require that block starts only at indentation. * test/lisp/progmodes/python-tests.el (python-indent-after-bare-match): Another test (bug#62031).
* Fix searching for end of string in python-nav-end-of-statementkobarity2023-03-091-0/+44
| | | | | | | | * lisp/progmodes/python.el (python-nav-end-of-statement): Add searching for corresponding string-quote. * test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-3) (python-nav-end-of-statement-4, python-info-current-defun-4): New tests. (Bug#58780)
* Don't misindent 'else:' after 'if re.match:' in PythonDmitry Gutov2023-03-081-0/+12
| | | | | | | | | | | * lisp/progmodes/python.el (python-info-dedenter-opening-block-positions): Check that the supposed block start is not a method call (bug#62031). * test/lisp/progmodes/python-tests.el (python-indent-after-re-match): New test. Co-authored-by: Lele Gaifax <lele@metapensiero.it>
* Fix point moving when calling python-shell-send-regionkobarity2023-02-181-18/+44
| | | | | | | | | | * lisp/progmodes/python.el (python-shell-buffer-substring): Add `save-excursion' to prevent the point from moving. * test/lisp/progmodes/python-tests.el (python-tests-should-not-move): New helper function to assert that point does not move while calling a function. (python-shell-buffer-substring-*): Use `python-tests-should-not-move'. (Bug#61463)
* Fix 'python-shell-buffer-substring' when START is in middle of 1st linekobarity2023-01-071-0/+10
| | | | | | | | * lisp/progmodes/python.el (python-shell-buffer-substring): Instead of checking whether START is point-min, check whether START is in the first line. (Bug#60466) * test/lisp/progmodes/python-tests.el (python-shell-buffer-substring-18): New test.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Fix python-shell-buffer-substring when retrieving a single statementkobarity2022-12-311-0/+64
| | | | | | | | | | | * lisp/progmodes/python.el (python-shell-buffer-substring): Do not add "if True:" line when retrieving a single statement. (python-shell-send-region): Add a reference to `python-shell-buffer-substring' in docstring. * test/lisp/progmodes/python-tests.el (python-shell-buffer-substring-13) (python-shell-buffer-substring-14, python-shell-buffer-substring-15) (python-shell-buffer-substring-16, python-shell-buffer-substring-17): New tests. (Bug#60142)
* Add highlighting Python operators (bug#59629)kobarity2022-12-011-18/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-rx): Remove "is" and "not" from operator. (python-font-lock-keywords-maximum-decoration): Add highlighting operators. * test/lisp/progmodes/python-tests.el (python-font-lock-assignment-statement-1) (python-font-lock-assignment-statement-2) (python-font-lock-assignment-statement-3) (python-font-lock-assignment-statement-4) (python-font-lock-assignment-statement-5) (python-font-lock-assignment-statement-6) (python-font-lock-assignment-statement-7) (python-font-lock-assignment-statement-8) (python-font-lock-assignment-statement-9) (python-font-lock-assignment-statement-10) (python-font-lock-assignment-statement-11) (python-font-lock-assignment-statement-12) (python-font-lock-assignment-statement-13) (python-font-lock-assignment-statement-14) (python-font-lock-assignment-statement-15) (python-font-lock-assignment-statement-16) (python-font-lock-assignment-statement-17) (python-font-lock-assignment-statement-18) (python-font-lock-assignment-statement-multiline-1) (python-font-lock-assignment-statement-multiline-2) (python-font-lock-assignment-statement-multiline-3) (python-font-lock-assignment-statement-multiline-4) (python-font-lock-assignment-statement-multiline-5) (python-font-lock-assignment-statement-multiline-6) (python-font-lock-escape-sequence-multiline-string): Modify expectations to include faces for operators. (python-font-lock-operator-1, python-font-lock-operator-2): New tests.
* Skip one python test case on macOSMattias EngdegÄrd2022-11-301-0/+5
| | | | | | | | * test/lisp/progmodes/python-tests.el (python-ffap-module-path-1): This test fails with a standard macOS Python installation; see bug#59477 and bug#25753. (cherry picked from commit db042b7591ea9da5e169704e5b32bd99c4ea7adf)
* Fix indentation for multi-line block start in Python modekobarity2022-11-101-0/+17
| | | | | | | | * lisp/progmodes/python.el (python-info-dedenter-opening-block-positions): Fix for multi-line block start. * test/lisp/progmodes/python-tests.el (python-info-dedenter-opening-block-positions-6): New test. (Bug#59009)
* Disable completion/ElDoc/FFAP when Python program is runningkobarity2022-10-271-4/+67
| | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-completion-at-point) (python-ffap-module-path, python-eldoc--get-doc-at-point): Add check using `python-util-comint-end-of-output-p'. (python-util-comint-end-of-output-p): New function. * test/lisp/progmodes/python-tests.el (python-tests-shell-wait-for-prompt): Use `python-util-comint-end-of-output-p'. (python-completion-at-point-while-running-1) (python-ffap-module-path-1) (python-ffap-module-path-while-running-1) (python-eldoc--get-doc-at-point-1) (python-eldoc--get-doc-at-point-while-running-1): New tests. (Bug#58713)
* Move and rename Python completion ERTskobarity2022-10-161-41/+41
| | | | | | | | | | | | | * test/lisp/progmodes/python-tests.el (python-shell-completion-at-point-1) (python-shell-completion-at-point-native-1) (python-completion-at-point-1) (python-completion-at-point-2, python-completion-at-point-pdb-1) (python-completion-at-point-native-1) (python-completion-at-point-native-2) (python-completion-at-point-native-with-ffap-1) (python-completion-at-point-native-with-eldoc-1): Renamed tests (bug#58565).