1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-17 11:20:39 -08:00
Commit graph

9 commits

Author SHA1 Message Date
Philipp Stephani
4fbd330fae Protect against an infloop in python-mode
There appears to be an edge case caused by using `syntax-ppss' in a
narrowed buffer during JIT lock inside of Python triple-quote strings.
Unfortunately it is impossible to reproduce without manually
destroying the syntactic information in the Python buffer, but it has
been observed in practice.  In that case it can happen that the syntax
caches get sufficiently out of whack so that there appear to be
overlapping strings in the buffer.  As Python has no nested strings,
this situation is impossible and leads to an infloop in
`python-nav-end-of-statement'.  Protect against this by checking
whether the search for the end of the current string makes progress.

* python.el (python-nav-end-of-statement): Protect against infloop.
* progmodes/python-tests.el
(python-tests--python-nav-end-of-statement--infloop): Add unit test.
2017-03-23 23:05:19 +01:00
Juanma Barranquero
375c70fd9e test/*.el: Avoid byte-compiler warnings
* test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.

* test/lisp/faces-tests.el (faces--test): New customization group.
(faces--test1, faces--test2): Use it.

* test/lisp/ffap-tests.el (ffap-tests-25243):
Call 'mark-whole-buffer' interactively.

* test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
(ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
(ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
(ibuffer-format-qualifier, ibuffer-unary-operand): Declare.

* test/lisp/minibuffer-tests.el (completion-test1):
Mark unused lexical arguments.

* test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
'with-no-warnings' to avoid them when the macro is invoked for effect.

* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
Mark unused lexical arguments.

* test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
Mark unused lexical arguments.
(let-alist-cons): Remove unused let binding.

* test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
(dbus-get-unique-name): Declare.

* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
Call 'font-lock-fontify-buffer' interactively.

* test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
Mark unused lexical argument.
2017-01-28 04:40:36 +01:00
Hong Xu
7cb7a582f4 python-mode: Fix detection for opening blocks.
* python.el (python-info-dedenter-opening-block-positions): There
	can't be any back-indented lines between an opening block and the
	current line.

	* python-tests.el (python-indent-electric-colon-4): Add an indent
	test case where there is one-more indented previous opening block.
2017-01-26 20:14:19 -05:00
Dmitry Lazurkin
d4a97088f6 Fix extracting async def type and name in python mode imenu
* lisp/progmodes/python.el (python-imenu--get-defun-type-name):
New function.
(python-imenu--build-tree): Use python-imenu--get-defun-type-name for
extract async or simple def type and name at current
position (Bug#24820).
* test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
(python-imenu-create-flat-index-1): Add async def's.
2017-01-12 20:40:19 -05:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Daniel Colascione
112111c4e4 Avoid infloop in python
Fix bug#24905

* lisp/progmodes/python.el (python-info-docstring-p): Improve
infloop avoidance: replace (bobp) with generic test for
forward progress.
* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
test for bug#24905
2016-11-08 15:26:43 -08:00
Lele Gaifax
1f6b0bc151 Add new keywords of Python 3.5
Python 3.5, released in mid September 2015, introduced a few new
keywords to better support asynchronous code, "async" and "await"
in particular. See https://www.python.org/dev/peps/pep-0492/ for
details. (Bug#21783)
* lisp/progmodes/python.el (python-rx-constituents): Add async
def/for/with as block-start and async def as defun.
* lisp/progmodes/python.el (python-font-lock-keywords): Add async
def/for/with as keyword.
* test/automated/python-tests.el (python-indent-after-async-block-1,
python-indent-after-async-block-2, python-indent-after-async-block-3,
python-nav-beginning-of-defun-3): New tests to test indentation and
navigation for the async keyword.
2016-04-06 10:51:09 +02:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Phillip Lord
22bbf7ca22 Rename all test files to reflect source layout.
* CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
   test directory moves.
 * test/file-organisation.org: New file.
 * test/automated/Makefile.in
   test/automated/data/decompress/foo.gz
   test/automated/data/epg/pubkey.asc
   test/automated/data/epg/seckey.asc
   test/automated/data/files-bug18141.el.gz
   test/automated/data/flymake/test.c
   test/automated/data/flymake/test.pl
   test/automated/data/package/archive-contents
   test/automated/data/package/key.pub
   test/automated/data/package/key.sec
   test/automated/data/package/multi-file-0.2.3.tar
   test/automated/data/package/multi-file-readme.txt
   test/automated/data/package/newer-versions/archive-contents
   test/automated/data/package/newer-versions/new-pkg-1.0.el
   test/automated/data/package/newer-versions/simple-single-1.4.el
   test/automated/data/package/package-test-server.py
   test/automated/data/package/signed/archive-contents
   test/automated/data/package/signed/archive-contents.sig
   test/automated/data/package/signed/signed-bad-1.0.el
   test/automated/data/package/signed/signed-bad-1.0.el.sig
   test/automated/data/package/signed/signed-good-1.0.el
   test/automated/data/package/signed/signed-good-1.0.el.sig
   test/automated/data/package/simple-depend-1.0.el
   test/automated/data/package/simple-single-1.3.el
   test/automated/data/package/simple-single-readme.txt
   test/automated/data/package/simple-two-depend-1.1.el
   test/automated/abbrev-tests.el
   test/automated/auto-revert-tests.el
   test/automated/calc-tests.el
   test/automated/icalendar-tests.el
   test/automated/character-fold-tests.el
   test/automated/comint-testsuite.el
   test/automated/descr-text-test.el
   test/automated/electric-tests.el
   test/automated/cl-generic-tests.el
   test/automated/cl-lib-tests.el
   test/automated/eieio-test-methodinvoke.el
   test/automated/eieio-test-persist.el
   test/automated/eieio-tests.el
   test/automated/ert-tests.el
   test/automated/ert-x-tests.el
   test/automated/generator-tests.el
   test/automated/let-alist.el
   test/automated/map-tests.el
   test/automated/advice-tests.el
   test/automated/package-test.el
   test/automated/pcase-tests.el
   test/automated/regexp-tests.el
   test/automated/seq-tests.el
   test/automated/subr-x-tests.el
   test/automated/tabulated-list-test.el
   test/automated/thunk-tests.el
   test/automated/timer-tests.el
   test/automated/epg-tests.el
   test/automated/eshell.el
   test/automated/faces-tests.el
   test/automated/file-notify-tests.el
   test/automated/auth-source-tests.el
   test/automated/gnus-tests.el
   test/automated/message-mode-tests.el
   test/automated/help-fns.el
   test/automated/imenu-test.el
   test/automated/info-xref.el
   test/automated/mule-util.el
   test/automated/isearch-tests.el
   test/automated/json-tests.el
   test/automated/bytecomp-tests.el
   test/automated/coding-tests.el
   test/automated/core-elisp-tests.el
   test/automated/decoder-tests.el
   test/automated/files.el
   test/automated/font-parse-tests.el
   test/automated/lexbind-tests.el
   test/automated/occur-tests.el
   test/automated/process-tests.el
   test/automated/syntax-tests.el
   test/automated/textprop-tests.el
   test/automated/undo-tests.el
   test/automated/man-tests.el
   test/automated/completion-tests.el
   test/automated/dbus-tests.el
   test/automated/newsticker-tests.el
   test/automated/sasl-scram-rfc-tests.el
   test/automated/tramp-tests.el
   test/automated/obarray-tests.el
   test/automated/compile-tests.el
   test/automated/elisp-mode-tests.el
   test/automated/f90.el
   test/automated/flymake-tests.el
   test/automated/python-tests.el
   test/automated/ruby-mode-tests.el
   test/automated/subword-tests.el
   test/automated/replace-tests.el
   test/automated/simple-test.el
   test/automated/sort-tests.el
   test/automated/subr-tests.el
   test/automated/reftex-tests.el
   test/automated/sgml-mode-tests.el
   test/automated/tildify-tests.el
   test/automated/thingatpt.el
   test/automated/url-future-tests.el
   test/automated/url-util-tests.el
   test/automated/add-log-tests.el
   test/automated/vc-bzr.el
   test/automated/vc-tests.el
   test/automated/xml-parse-tests.el
   test/BidiCharacterTest.txt
   test/biditest.el
   test/cedet/cedet-utests.el
   test/cedet/ede-tests.el
   test/cedet/semantic-ia-utest.el
   test/cedet/semantic-tests.el
   test/cedet/semantic-utest-c.el
   test/cedet/semantic-utest.el
   test/cedet/srecode-tests.el
   test/cedet/tests/test.c
   test/cedet/tests/test.el
   test/cedet/tests/test.make
   test/cedet/tests/testdoublens.cpp
   test/cedet/tests/testdoublens.hpp
   test/cedet/tests/testfriends.cpp
   test/cedet/tests/testjavacomp.java
   test/cedet/tests/testnsp.cpp
   test/cedet/tests/testpolymorph.cpp
   test/cedet/tests/testspp.c
   test/cedet/tests/testsppcomplete.c
   test/cedet/tests/testsppreplace.c
   test/cedet/tests/testsppreplaced.c
   test/cedet/tests/testsubclass.cpp
   test/cedet/tests/testsubclass.hh
   test/cedet/tests/testtypedefs.cpp
   test/cedet/tests/testvarnames.c
   test/etags/CTAGS.good
   test/etags/ETAGS.good_1
   test/etags/ETAGS.good_2
   test/etags/ETAGS.good_3
   test/etags/ETAGS.good_4
   test/etags/ETAGS.good_5
   test/etags/ETAGS.good_6
   test/etags/a-src/empty.zz
   test/etags/a-src/empty.zz.gz
   test/etags/ada-src/2ataspri.adb
   test/etags/ada-src/2ataspri.ads
   test/etags/ada-src/etags-test-for.ada
   test/etags/ada-src/waroquiers.ada
   test/etags/c-src/a/b/b.c
   test/etags/c-src/abbrev.c
   test/etags/c-src/c.c
   test/etags/c-src/dostorture.c
   test/etags/c-src/emacs/src/gmalloc.c
   test/etags/c-src/emacs/src/keyboard.c
   test/etags/c-src/emacs/src/lisp.h
   test/etags/c-src/emacs/src/regex.h
   test/etags/c-src/etags.c
   test/etags/c-src/exit.c
   test/etags/c-src/exit.strange_suffix
   test/etags/c-src/fail.c
   test/etags/c-src/getopt.h
   test/etags/c-src/h.h
   test/etags/c-src/machsyscalls.c
   test/etags/c-src/machsyscalls.h
   test/etags/c-src/sysdep.h
   test/etags/c-src/tab.c
   test/etags/c-src/torture.c
   test/etags/cp-src/MDiagArray2.h
   test/etags/cp-src/Range.h
   test/etags/cp-src/burton.cpp
   test/etags/cp-src/c.C
   test/etags/cp-src/clheir.cpp.gz
   test/etags/cp-src/clheir.hpp
   test/etags/cp-src/conway.cpp
   test/etags/cp-src/conway.hpp
   test/etags/cp-src/fail.C
   test/etags/cp-src/functions.cpp
   test/etags/cp-src/screen.cpp
   test/etags/cp-src/screen.hpp
   test/etags/cp-src/x.cc
   test/etags/el-src/TAGTEST.EL
   test/etags/el-src/emacs/lisp/progmodes/etags.el
   test/etags/erl-src/gs_dialog.erl
   test/etags/f-src/entry.for
   test/etags/f-src/entry.strange.gz
   test/etags/f-src/entry.strange_suffix
   test/etags/forth-src/test-forth.fth
   test/etags/html-src/algrthms.html
   test/etags/html-src/index.shtml
   test/etags/html-src/software.html
   test/etags/html-src/softwarelibero.html
   test/etags/lua-src/allegro.lua
   test/etags/objc-src/PackInsp.h
   test/etags/objc-src/PackInsp.m
   test/etags/objc-src/Subprocess.h
   test/etags/objc-src/Subprocess.m
   test/etags/objcpp-src/SimpleCalc.H
   test/etags/objcpp-src/SimpleCalc.M
   test/etags/pas-src/common.pas
   test/etags/perl-src/htlmify-cystic
   test/etags/perl-src/kai-test.pl
   test/etags/perl-src/yagrip.pl
   test/etags/php-src/lce_functions.php
   test/etags/php-src/ptest.php
   test/etags/php-src/sendmail.php
   test/etags/prol-src/natded.prolog
   test/etags/prol-src/ordsets.prolog
   test/etags/ps-src/rfc1245.ps
   test/etags/pyt-src/server.py
   test/etags/tex-src/gzip.texi
   test/etags/tex-src/nonewline.tex
   test/etags/tex-src/testenv.tex
   test/etags/tex-src/texinfo.tex
   test/etags/y-src/atest.y
   test/etags/y-src/cccp.c
   test/etags/y-src/cccp.y
   test/etags/y-src/parse.c
   test/etags/y-src/parse.y
   test/indent/css-mode.css
   test/indent/js-indent-init-dynamic.js
   test/indent/js-indent-init-t.js
   test/indent/js-jsx.js
   test/indent/js.js
   test/indent/latex-mode.tex
   test/indent/modula2.mod
   test/indent/nxml.xml
   test/indent/octave.m
   test/indent/pascal.pas
   test/indent/perl.perl
   test/indent/prolog.prolog
   test/indent/ps-mode.ps
   test/indent/ruby.rb
   test/indent/scheme.scm
   test/indent/scss-mode.scss
   test/indent/sgml-mode-attribute.html
   test/indent/shell.rc
   test/indent/shell.sh
   test/redisplay-testsuite.el
   test/rmailmm.el
   test/automated/buffer-tests.el
   test/automated/cmds-tests.el
   test/automated/data-tests.el
   test/automated/finalizer-tests.el
   test/automated/fns-tests.el
   test/automated/inotify-test.el
   test/automated/keymap-tests.el
   test/automated/print-tests.el
   test/automated/libxml-tests.el
   test/automated/zlib-tests.el: Files Moved.
2015-11-24 17:04:22 +00:00
Renamed from test/automated/python-tests.el (Browse further)