* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings [not found] ` <20190409190828.20AE320E55@vcs0.savannah.gnu.org> @ 2019-04-10 3:23 ` Glenn Morris 2019-04-10 14:41 ` Stefan Monnier 0 siblings, 1 reply; 8+ messages in thread From: Glenn Morris @ 2019-04-10 3:23 UTC (permalink / raw) To: emacs-devel; +Cc: Stefan Monnier Stefan Monnier wrote: > branch: master > commit 4b39b741f1949ebad1dfccc5032dfce521bedc2a > python.el: don't syntax-propertize single/double quoted strings This causes python-tests--python-nav-end-of-statement--infloop to fail. Ref eg https://hydra.nixos.org/build/91945586 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-10 3:23 ` master 4b39b74: python.el: don't syntax-propertize single/double quoted strings Glenn Morris @ 2019-04-10 14:41 ` Stefan Monnier 2019-04-10 15:00 ` Clément Pit-Claudel 0 siblings, 1 reply; 8+ messages in thread From: Stefan Monnier @ 2019-04-10 14:41 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel >> branch: master >> commit 4b39b741f1949ebad1dfccc5032dfce521bedc2a > >> python.el: don't syntax-propertize single/double quoted strings > > This causes python-tests--python-nav-end-of-statement--infloop to fail. > Ref eg https://hydra.nixos.org/build/91945586 Hmm... I can't find a better way than to disable it, sorry. So .... "Fixed!" Stefan ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-10 14:41 ` Stefan Monnier @ 2019-04-10 15:00 ` Clément Pit-Claudel 2019-04-10 16:23 ` Stefan Monnier 2019-04-10 23:59 ` Noam Postavsky 0 siblings, 2 replies; 8+ messages in thread From: Clément Pit-Claudel @ 2019-04-10 15:00 UTC (permalink / raw) To: emacs-devel On 2019-04-10 10:41, Stefan Monnier wrote: >>> branch: master >>> commit 4b39b741f1949ebad1dfccc5032dfce521bedc2a >> >>> python.el: don't syntax-propertize single/double quoted strings >> >> This causes python-tests--python-nav-end-of-statement--infloop to fail. >> Ref eg https://hydra.nixos.org/build/91945586 > > Hmm... I can't find a better way than to disable it, sorry. > So .... "Fixed!" But that test was added to prevent regression of an actual bug, right? Did your commit reintroduce the bug? If so, disabling the test doesn't sound ideal… Clément. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-10 15:00 ` Clément Pit-Claudel @ 2019-04-10 16:23 ` Stefan Monnier 2019-04-10 17:28 ` Clément Pit-Claudel 2019-04-10 23:59 ` Noam Postavsky 1 sibling, 1 reply; 8+ messages in thread From: Stefan Monnier @ 2019-04-10 16:23 UTC (permalink / raw) To: emacs-devel > But that test was added to prevent regression of an actual bug, right? > Did your commit reintroduce the bug? If so, disabling the test doesn't sound ideal… Here was my answer in the actual commit, Stefan diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el index 94c846ecb1..999cf8dc7a 100644 --- a/test/lisp/progmodes/python-tests.el +++ b/test/lisp/progmodes/python-tests.el @@ -5345,13 +5345,23 @@ python-tests-shell-interpreter (ert-deftest python-tests--python-nav-end-of-statement--infloop () "Checks that `python-nav-end-of-statement' doesn't infloop in a buffer with overlapping strings." + ;; FIXME: The treatment of strings has changed in the mean time, and the + ;; test below now neither signals an error nor inf-loops. + ;; The description of the problem it's trying to catch is not clear enough + ;; to be able to see if the underlying problem is really fixed, sadly. + ;; E.g. I don't know what is meant by "overlap", really. + (skip-unless nil) (python-tests-with-temp-buffer "''' '\n''' ' '\n" (syntax-propertize (point-max)) ;; Create a situation where strings nominally overlap. This ;; shouldn't happen in practice, but apparently it can happen when ;; a package calls `syntax-ppss' in a narrowed buffer during JIT ;; lock. + ;; FIXME: 4-5 is the SPC right after the opening triple quotes: why + ;; put a string-fence syntax on it? (put-text-property 4 5 'syntax-table (string-to-syntax "|")) + ;; FIXME: 8-9 is the middle quote in the closing triple quotes: + ;; it shouldn't have any syntax-table property to remove anyway! (remove-text-properties 8 9 '(syntax-table nil)) (goto-char 4) (setq-local syntax-propertize-function nil) ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-10 16:23 ` Stefan Monnier @ 2019-04-10 17:28 ` Clément Pit-Claudel 0 siblings, 0 replies; 8+ messages in thread From: Clément Pit-Claudel @ 2019-04-10 17:28 UTC (permalink / raw) To: emacs-devel On 2019-04-10 12:23, Stefan Monnier wrote: >> But that test was added to prevent regression of an actual bug, right? >> Did your commit reintroduce the bug? If so, disabling the test doesn't sound ideal… > > Here was my answer in the actual commit, Ah, thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-10 15:00 ` Clément Pit-Claudel 2019-04-10 16:23 ` Stefan Monnier @ 2019-04-10 23:59 ` Noam Postavsky 2019-04-26 8:12 ` Andreas Röhler 1 sibling, 1 reply; 8+ messages in thread From: Noam Postavsky @ 2019-04-10 23:59 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: Emacs developers On Wed, 10 Apr 2019 at 11:18, Clément Pit-Claudel <cpitclaudel@gmail.com> wrote: > >> This causes python-tests--python-nav-end-of-statement--infloop to fail. > > Hmm... I can't find a better way than to disable it, sorry. > But that test was added to prevent regression of an actual bug, right? > Did your commit reintroduce the bug? If so, disabling the test doesn't sound ideal… I think the related report is Bug#30964, but there was never a clear reproducer for it. The commit that introduced the test is [1: 4fbd330fae], whose commit message says: "[...] Unfortunately it is impossible to reproduce without manually destroying the syntactic information in the Python buffer, but it has been observed in practice [...]". [1: 4fbd330fae]: 2017-03-23 23:05:19 +0100 Protect against an infloop in python-mode https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=4fbd330fae54a9c45d4a717127aa86d75e9938d5 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-10 23:59 ` Noam Postavsky @ 2019-04-26 8:12 ` Andreas Röhler 2019-04-26 12:22 ` Noam Postavsky 0 siblings, 1 reply; 8+ messages in thread From: Andreas Röhler @ 2019-04-26 8:12 UTC (permalink / raw) To: emacs-devel On 11.04.19 01:59, Noam Postavsky wrote: > On Wed, 10 Apr 2019 at 11:18, Clément Pit-Claudel <cpitclaudel@gmail.com> wrote: > >>>> This causes python-tests--python-nav-end-of-statement--infloop to fail. >>> Hmm... I can't find a better way than to disable it, sorry. >> But that test was added to prevent regression of an actual bug, right? >> Did your commit reintroduce the bug? If so, disabling the test doesn't sound ideal… > I think the related report is Bug#30964, but there was never a clear > reproducer for it. The commit that introduced the test is [1: 4fbd330fae], > whose commit message says: "[...] Unfortunately it is > impossible to reproduce without manually destroying the syntactic > information in the Python buffer, but it has been observed in > practice [...]". > > [1: 4fbd330fae]: 2017-03-23 23:05:19 +0100 > Protect against an infloop in python-mode > https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=4fbd330fae54a9c45d4a717127aa86d75e9938d5 > Hi, if syntax-ppss is the cause, than that kind of bug is sourced in other places/modes too. As fixing syntax-ppss seems difficult, being interested to learn about cases, where it can't be replaced by calls to parse-partial-sexp. Best, Andreas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 4b39b74: python.el: don't syntax-propertize single/double quoted strings 2019-04-26 8:12 ` Andreas Röhler @ 2019-04-26 12:22 ` Noam Postavsky 0 siblings, 0 replies; 8+ messages in thread From: Noam Postavsky @ 2019-04-26 12:22 UTC (permalink / raw) To: Andreas Röhler; +Cc: Emacs developers On Fri, 26 Apr 2019 at 04:12, Andreas Röhler <andreas.roehler@online.de> wrote: > if syntax-ppss is the cause, Apparently the actual cause was the regex code not being reentrant: https://debbugs.gnu.org/30964#38 I guess the test attempts to reproduce the incorrect syntax info which gets produced in that case. So maybe there is not much sense in keeping it now that the regexp code is reentrant. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-04-26 12:22 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20190409190826.19114.45574@vcs0.savannah.gnu.org> [not found] ` <20190409190828.20AE320E55@vcs0.savannah.gnu.org> 2019-04-10 3:23 ` master 4b39b74: python.el: don't syntax-propertize single/double quoted strings Glenn Morris 2019-04-10 14:41 ` Stefan Monnier 2019-04-10 15:00 ` Clément Pit-Claudel 2019-04-10 16:23 ` Stefan Monnier 2019-04-10 17:28 ` Clément Pit-Claudel 2019-04-10 23:59 ` Noam Postavsky 2019-04-26 8:12 ` Andreas Röhler 2019-04-26 12:22 ` Noam Postavsky
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).