summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2020-05-26 20:08:15 +0000
committerAlan Mackenzie <acm@muc.de>2020-05-26 20:08:15 +0000
commit5467aac131fb49ff2af57ca21d7ec9cba7c19c82 (patch)
treec91ab7c811ed1e2af04226c4b08c40b607f5b22d
parent9f7bfb6cb06f1480a0904184cabf187e03628e55 (diff)
Introduce some Objective-C 2.0 keywords. This fixes bug #5953
* lisp/progmodes/cc-langs.el (c-other-decl-kwds): New keywords @property, @dynamic, @synthesize, @compatibility_alias. (c-protection-kwds): New keywords @package, @required, @optional. (c-block-stmt-1-kwds): New keyword @autoreleasepool. (c-constant-kwds): New keywords IBAction, IBOutlet.
-rw-r--r--lisp/progmodes/cc-langs.el11
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 2369cb03428..dcffc0d31b4 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -2416,7 +2416,8 @@ If any of these also are on `c-type-list-kwds', `c-ref-list-kwds',
`c-<>-type-kwds', or `c-<>-arglist-kwds' then the associated clauses
will be handled."
t nil
- objc '("@class" "@end" "@defs")
+ objc '("@class" "@defs" "@end" "@property" "@dynamic" "@synthesize"
+ "@compatibility_alias")
java '("import" "package")
pike '("import" "inherit"))
@@ -2539,7 +2540,8 @@ one of `c-type-list-kwds', `c-ref-list-kwds',
"Access protection label keywords in classes."
t nil
c++ '("private" "protected" "public")
- objc '("@private" "@protected" "@public"))
+ objc '("@private" "@protected" "@package" "@public"
+ "@required" "@optional"))
(c-lang-defconst c-protection-key
;; A regexp match an element of `c-protection-kwds' cleanly.
@@ -2754,7 +2756,7 @@ identifiers that follows the type in a normal declaration."
"Statement keywords followed directly by a substatement."
t '("do" "else")
c++ '("do" "else" "try")
- objc '("do" "else" "@finally" "@try")
+ objc '("do" "else" "@finally" "@try" "@autoreleasepool")
java '("do" "else" "finally" "try")
idl nil)
@@ -2897,7 +2899,8 @@ This construct is \"<keyword> <expression> :\"."
c++ (append
'("nullptr")
(c-lang-const c-constant-kwds c))
- objc '("nil" "Nil" "YES" "NO" "NS_DURING" "NS_HANDLER" "NS_ENDHANDLER")
+ objc '("nil" "Nil" "YES" "NO" "IBAction" "IBOutlet"
+ "NS_DURING" "NS_HANDLER" "NS_ENDHANDLER")
idl '("TRUE" "FALSE")
java '("true" "false" "null") ; technically "literals", not keywords
pike '("UNDEFINED")) ;; Not a keyword, but practically works as one.