[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53260: char-syntax differs in interpreter and bytecode
From: |
Mattias Engdegård |
Subject: |
bug#53260: char-syntax differs in interpreter and bytecode |
Date: |
Fri, 14 Jan 2022 17:43:00 +0100 |
Fchar_syntax and the bytecode Bchar_syntax differ:
Fchar_syntax calls SETUP_BUFFER_SYNTAX_TABLE. Bchar_syntax does not.
Bchar_syntax converts arguments to multibyte. Fchar_syntax does not.
The last property can be used to get different behaviour:
(let ((cs (byte-compile (lambda (x) (char-syntax x)))))
(with-temp-buffer
(let ((st (make-syntax-table)))
(set-buffer-multibyte nil)
(modify-syntax-entry 128 "_" st)
(set-syntax-table st)
(list (funcall cs 128) (char-syntax 128)))))
-> (119 95)
Not sure how to expose the presence or absence of SETUP_BUFFER_SYNTAX_TABLE.
Suggestions?
And, most importantly, what would be the correct code?
(I suppose char-syntax is rare enough that we could call Fchar_syntax from
Bchar_syntax and thus avoid any future divergence.)
- bug#53260: char-syntax differs in interpreter and bytecode,
Mattias Engdegård <=
- bug#53260: char-syntax differs in interpreter and bytecode, Lars Ingebrigtsen, 2022/01/15
- bug#53260: char-syntax differs in interpreter and bytecode, Stefan Monnier, 2022/01/15
- bug#53260: char-syntax differs in interpreter and bytecode, Mattias Engdegård, 2022/01/15
- bug#53260: char-syntax differs in interpreter and bytecode, Eli Zaretskii, 2022/01/15
- bug#53260: char-syntax differs in interpreter and bytecode, Stefan Monnier, 2022/01/15
- bug#53260: char-syntax differs in interpreter and bytecode [PATCH], Mattias Engdegård, 2022/01/16
- bug#53260: char-syntax differs in interpreter and bytecode [PATCH], Lars Ingebrigtsen, 2022/01/20
- bug#53260: char-syntax differs in interpreter and bytecode [PATCH], Mattias Engdegård, 2022/01/20