mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-31 20:02:42 +00:00
(c-symbol-key): Use POSIX char classes to match symbols in Emacs 21.
This makes CC Mode cope with the full range of identifier characters in e.g. Java.
This commit is contained in:
parent
39c9a034e3
commit
1f645835e9
@ -1,3 +1,9 @@
|
||||
2003-04-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-langs.el (c-symbol-key): Use POSIX char classes
|
||||
to match symbols. This makes CC Mode cope with the full range
|
||||
of identifier characters in e.g. Java.
|
||||
|
||||
2003-04-07 Francesco Potort,Al(B <pot@gnu.org>
|
||||
|
||||
* xt-mouse.el (xterm-mouse-event-read): New function.
|
||||
|
@ -181,18 +181,16 @@ appended."
|
||||
)
|
||||
|
||||
;; Regexp describing a `symbol' in all languages, not excluding
|
||||
;; keywords. We cannot use just `word' syntax class since `_' cannot
|
||||
;; be in word class. Putting underscore in word class breaks forward
|
||||
;; word movement behavior that users are familiar with. Besides, it
|
||||
;; runs counter to Emacs convention.
|
||||
;;
|
||||
;; This definition isn't correct for the first character in the
|
||||
;; languages that accept the full range of Unicode word constituents
|
||||
;; in identifiers (e.g. Java and Pike). For that we'd need to make a
|
||||
;; regexp that matches all characters in the word constituent class
|
||||
;; except 0-9, and the regexp engine currently can't do that.
|
||||
;; keywords.
|
||||
(c-lang-defconst c-symbol-key
|
||||
(c c++ objc java idl) "[_a-zA-Z]\\(\\w\\|\\s_\\)*"
|
||||
(c c++ objc java idl)
|
||||
(if (string-match "[[:alpha:]]" "a")
|
||||
"[[:alpha:]_][[:alnum:]_]*" ; Emacs 21.
|
||||
;; We cannot use just `word' syntax class since `_' cannot be
|
||||
;; in word class. Putting underscore in word class breaks
|
||||
;; forward word movement behavior that users are familiar
|
||||
;; with. Besides, it runs counter to Emacs convention.
|
||||
"[a-zA-Z_]\\(\\w\\|_\\)*")
|
||||
pike (concat "\\(" (c-lang-var c-symbol-key c) "\\|"
|
||||
(c-make-keywords-re nil
|
||||
'("`+" "`-" "`&" "`|" "`^" "`<<" "`>>" "`*" "`/" "`%" "`~"
|
||||
|
Loading…
Reference in New Issue
Block a user