Opened 13 years ago
Closed 12 years ago
#392 closed defect (wontfix)
Isabelle anti-quotation colouring obliterates symbol font setting
Reported by: | Clemens Ballarin | Owned by: | David Aspinall |
---|---|---|---|
Priority: | minor | Milestone: | PG-Emacs-4.2 |
Component: | 2:pg-emacs | Keywords: | |
Cc: |
Description
I can now get most symbols displayed by choosing "Apple Symbols" in the Tokens menu with the exception of symbols in antiquotations like @{term "\<Longrightarrow>"}
. For these I need to commit to "Apple Symbols" for the whole buffer, from the Options > Appearance menue (which works with pre110131).
Change History (3)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Milestone: | PG-Emacs-4.1 → PG-Emacs-4.2 |
---|---|
Priority: | major → minor |
No great interest in this so bumping to 4.2
comment:3 Changed 12 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Closing this as wontfix as seems unlikely anyone from Isabelle team will attempt to repair this.
Note: See
TracTickets for help on using
tickets.
This is the fault of the font lock keywords for anti-quotations, which works by obliterating the existing font lock settings when it adds the brown colouring, inadvertently changing the font back to the default buffer font. It wants to do that because the surrounding text has already been coloured by the comment syntax.
This is controlled by the "t", see line 412 of isar.el
As a workaround you can remove this line, but then you lose the colouring of anti-quotations.
A better fix would be to repair the way the font lock properties are merged in this case, which is possible but a bit delicate.
Makarius is responsible for the colouring markup, so I'll leave him to investigate that if he wants --- or anyone else from Isabelle team who can supply a patch, would be very welcome.
A clue is to look at some of the trickery in unicode-tokens.el which does similar merging, although it shouldn't be as hairy as that. The documentation of `font-lock-keywords' is the starting point.