[ESS] Font lock bug?
Rodney Sparapani
rsparapa at mcw.edu
Tue Jun 13 20:56:02 CEST 2006
Kevin Wright wrote:
> My setup: Windows 2000, R 2.3.1, ESS 5.3.1
>
> If you start R and type sqrt("a"), is "Error in" fontified in the output?
>
> For me, neither "Error in" nor "Warning in" are properly fontified.
> Only the "in" part is fontified as a keyword (in the usual face for
> "in").
>
> If I change ess-R-message-prefixes from:
>
> (defvar ess-R-message-prefixes
> '("Error:" "Error in"
> "Warning:" "Warning in"
> "Warning messages"))
>
> to
>
> (defvar ess-R-message-prefixes
> '("Error" "Warning"))
>
> then I do get fontification of "Error" in the output (and "in" has a
> different display face). Interestingly enough, using
> '("Error" "Error:" "Error in"
> doesn't seem to work for me.
>
> Naive speculation: I wonder if the fontification of "in" as a keyword
> is interfering with fontification of "Error in". Font-lock patterns
> are scary things and since I have a working hack, I'm not going to dig
> further.
>
> Best,
>
> Kevin Wright
>
>
Hi Kevin:
It's not a bug per se. There are two layers. The font-locking which
operates on keywords and the "grammar" which is related to
"punctuation". And, that is a simplification since they each have
precedence rules and interact with each other. It can be very tricky to
get right. And no matter what you do, it always seems like there are
exceptions like these. Tony has been working on newer, more advanced
features that create a parser of an ESS supported language like R.
Until that is complete, these kind of nuisance cases are likely to be a
part of the ESS experience.
Rodney
More information about the ESS-help
mailing list