Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode

From: Kevin Rodgers <[email-masked]>
Date: Wed, 04 Dec 2013 23:34:35 -0700

On 12/4/13 11:31 AM, Dmitry Gutov wrote:
> Bozhidar Batsov<[email-masked]>  writes:
>
>> The built-in Kernel#exit! method is not properly font-locked. exit is
>> font-locked with the built-in face, but the ! is font-locked with the
>> default face.
>
> Any ideas for a regexp that matches (any) non-symbol character?

`\sCODE'
      matches any character whose syntax is CODE.  Here CODE is a
      character that represents a syntax code: thus, `w' for word
      constituent, `-' for whitespace, `(' for open parenthesis, etc.
      To represent whitespace syntax, use either `-' or a space
      character.  *Note Syntax Class Table::, for a list of syntax codes
      and the characters that stand for them.

`\SCODE'
      matches any character whose syntax is not CODE.

...

  -- Syntax class: symbol constituent
      "Symbol constituents" (designated by `_') are the extra characters
      that are used in variable and command names along with word
      constituents.  For example, the symbol constituents class is used
      in Lisp mode to indicate that certain characters may be part of
      symbol names even though they are not part of English words.
      These characters are `$&*+-_<>'.  In standard C, the only
      non-word-constituent character that is valid in symbols is
      underscore (`_').

> http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00684.html
>
> I'm not sure we want to move `!' to the symbol syntax class. Maybe we
> even should move `?' back to punctuation.

-- 
Kevin Rodgers
Denver, Colorado, USA