GNU bug report logs -
#19145
24.4; prettify-symbols-mode inconsistent behavior
Previous Next
Full log
View this message in rfc822 format
I'm having issues with the new prettify-symbols-mode. I'm not sure if
this is a bug, or just a fact that the implementation is limited, in
which case this is a feature request for a more complete implementation.
Some symbols are sometimes not being treated correctly depending on what
characters follow. For example, I have the following setup for coding
Python:
(prettify-symbols-mode t)
(global-prettify-symbols-mode t)
(add-hook 'python-mode-hook
(lambda ()
(push '("**2" . ?²) prettify-symbols-alist)
(push '("_x" . ?ᵪ) prettify-symbols-alist)
(push '("delta" . ?δ) prettify-symbols-alist)))
The issue may be somewhat subjective. For example, should foo_xx appear
with a subscript x and then a normal x? Or should it appear as I assume
you are reading it with no prettification? I would argue for the latter.
What about foo_x+2? Regardless, I've created a matrix of
prettifications, what I'd expect, and what happens.
| Characters | Expected | Actual | Good? |
|------------+------------------------+-------------------------------+-------|
| foo_x | subscript x | subscript x | Y |
| foo**2 | superscript 2 | superscript 2 | Y |
| delta | delta symbol | delta symbol | Y |
| foo_x+ | subscript x | No subscript | N |
| foo_xi | no subscript | subscript | N |
| foo_x[42] | subscript | subscript | Y |
| foo_x**2 | subscript, superscript | no subscript, yes superscript | N |
| foo**200 | no superscript | superscript 2 | N |
| delta(42) | delta symbol(42) | symbol | Y |
| delta+42 | symbol | symbol | Y |
| delta**2 | symbol, superscript | symbol, superscritp | Y |
| delta_x | symbol, subscript | no symbol | N |
There are some inconsistencies, like why _x+ loses prettification, but
delta+ retains it, or why foo_x_x_x works, but delta_x does not.
Thanks,
-k.
This bug report was last modified 10 years and 242 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.