Subject: bug#23443: 25.0.93; Temporary change to syntax-table is in effect during syntax-propertize

From: Noam Postavsky <[email-masked]>
Date: Wed, 4 May 2016 06:41:28 -0400

On the emacs-25 and master branches, changing the syntax-table
temporarily affects the table used during syntax-propertize. This does
not happen in 24.5 (unless the difference is just a timing thing?).
This triggers an infinite loop when expanding certain snippets with
yasnippet in haskell-mode (see [1] and [2]).

Attached is a simplified reproducer, run as

    emacs -Q -l synprop-bug.el

In Emacs 25+, this results in the message

Error during redisplay: (internal--syntax-propertize 2) signaled
(error "syntax table is changed to standard-syntax-table during syntax
propertize")

In Emacs 24.5, it runs without a problem. It's not entirely clear to
me who should be reponsible for ensuring the right syntax-table during
syntax-propertize.

[1]: https://github.com/capitaomorte/yasnippet/issues/687
[2]: https://github.com/haskell/haskell-mode/issues/1315