From: Alan Mackenzie Date: Tue, 26 May 2020 20:08:15 +0000 (+0000) Subject: Introduce some Objective-C 2.0 keywords. This fixes bug #5953 X-Git-Tag: emacs-28.0.90~7272 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5467aac131fb49ff2af57ca21d7ec9cba7c19c82;p=emacs.git 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. --- 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 \" :\"." 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.