Subject: bug#20911: closed (Re: bug#20911: 24.5.3; Syntax should not require font-lock)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 27 Jun 2015 15:32:03 +0000

Your bug report

#20911: 24.5.3; Syntax should not require font-lock

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
20911: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20911
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20911: 24.5.3; Syntax should not require font-lock
From: Dmitry Gutov <[email-masked]>
To: Andreas Röhler <[email-masked]>, [email-masked]
Date: Sat, 27 Jun 2015 18:31:02 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Tags: notabug

Hi!

On 06/27/2015 06:19 PM, Andreas Röhler wrote:

> Both macros in question -- for example gen-test-with-python-buffer--
> have this:
>
>     `(when gen-verbose-p
>   (switch-to-buffer (current-buffer))
>   (font-lock-fontify-buffer))`

Don't do that, then.

> AFAICS the error is caused, because TQS-syntax in python.el is set by
> syntax-propertize-function

Call (syntax-propertize (point-max)) instead.

> Documentation:
> Mode-specific function to apply syntax-table' text properties. It is the
> work horse of `syntax-propertize', which is called by things like
> Font-Lock and indentation.
>
>
> Setting up syntax seems to require font-lock - which doesn't feel right.

That only says that font-lock requires it, not vice versa. The docstring 
even mentions `syntax-propertize'.

Subject: 24.5.3; Syntax should not require font-lock
From: Andreas Röhler <[email-masked]>
To: [email-masked]
Date: Sat, 27 Jun 2015 17:19:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

python.el and others.

While working at a general-close mode, tests succeeded locally, but 
Travis CI repeatedly sent errors like this:

FAILED gen-close-python-doublequoted-tqs-test
FAILED gen-close-python-singlequoted-tqs-test

for example from
https://travis-ci.org/emacs-berlin/general-close/builds/68578148

These tests succeed, if boolean gen-verbose-p was set to t, which OTOH 
isn't intendet at batch-mode.

Both macros in question -- for example gen-test-with-python-buffer-- 
have this:

    `(when gen-verbose-p
  (switch-to-buffer (current-buffer))
  (font-lock-fontify-buffer))`

AFAICS the error is caused, because TQS-syntax in python.el is set by 
syntax-propertize-function

Documentation:
Mode-specific function to apply syntax-table' text properties. It is the 
work horse ofsyntax-propertize', which is called by things like
Font-Lock and indentation.

Setting up syntax seems to require font-lock - which doesn't feel right.

;;;;;;;;;;

GNU Emacs 24.5.3 (i686-pc-linux-gnu, GTK+ Version 2.24.23) of 2015-04-20