Variable: objc-font-lock-keywords-3

objc-font-lock-keywords-3 is a variable defined in cc-fonts.el.gz.

Value

Large value
(c-maybe-font-lock-wrong-style-comments
 ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:error\\|warning\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t)
 (#[257 "\305\300!\306\307\310#\203l�\311\224b\210\312!\204�\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320	$\210)\210\313 \314\321\"\216\317\224\317\225S\211f\322=\203[�\n^\316\211T\323$\210\n^\316\211T\323\f$\266\202g�\n^\324\211T\325#\266)\210\202�)\326\207"
	[parse-sexp-lookup-properties font-lock-string-face c-syntax-table-hwm c-<-as-paren-syntax c->-as-paren-syntax boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 8 face
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      62 syntax-table remove-text-properties
				      (syntax-table nil)
				      nil]
	9 "\n\n(fn LIMIT)"])
 (#[257 "\302\300!\303\304\305#\203p�\306\224b\210\307!\204�\306\225b\210\310 \311\312\"\216\313\224\203b�\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203^�\314\306\224\306\225\316\322$\210\306\225b\210\320 \210\323f\324=\203^�\323u\210\2028�)\202k�\314\315\224\315\225\316\322$\210)\210\202�)\323\207"
	[parse-sexp-lookup-properties c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *define\\(\\(\\s \\|[\n
]\\)\\|//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44]
	7 "\n\n(fn LIMIT)"])
 (#[257 "\303\300!	\304=\203<�\212\305 \210`)\306\307\310#\203;�\311\224b\210\312!\204�\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$\210)\210\202�\210`W\203�\306\321\310#\203�\311\224b\210\312!\204<�\311\225b\210\322\225b\210\313 \314\323\"\216\311\225\306\307\324#\203y�\316\317\224\317\225\320\n$\210\202e�\210)\210\202<�)\325\207"
	[parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n
]\\)\\|[^\n
]\\)*" 3
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      move nil]
	8 "\n\n(fn LIMIT)"])
 (#[257 "\302\300!\303\304\305#\203/�\306\224b\210\307!\204�\306\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$\210)\210\202�)\316\207"
	[parse-sexp-lookup-properties c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 3 face nil]
	7 "\n\n(fn LIMIT)"])
 (eval list
       #[257 "\300\301\302\303#\211\262\203�\304\224b\210\305!\204�\304\225b\210\207"
	     [nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings]
	     6 "\n\n(fn LIMIT)"]
       3 c-negation-char-face-name 'append)
 (eval list "\240" 0
       (progn
	 (unless
	     (c-face-name-p 'c-nonbreakable-space-face)
	   (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face))
	 ''c-nonbreakable-space-face))
 ("\\s|" 0 font-lock-warning-face t nil)
 c-font-lock-invalid-single-quotes
 (eval list "\\<\\(\\(?:IB\\(?:Action\\|Outlet\\)\\|N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name)
 ("\\<\\(\\(?:@\\(?:autoreleasepool\\|c\\(?:atch\\|\\(?:las\\|ompatibility_alia\\)s\\)\\|d\\(?:efs\\|ynamic\\)\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|optional\\|p\\(?:ackage\\|r\\(?:ivate\\|o\\(?:perty\\|t\\(?:ected\\|ocol\\)\\)\\)\\|ublic\\)\\|required\\|s\\(?:elector\\|yn\\(?:chronized\\|thesize\\)\\)\\|t\\(?:hrow\\|ry\\)\\)\\|auto\\|b\\(?:reak\\|y\\(?:copy\\|ref\\)\\)\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:nout\\|[fn]\\)\\|o\\(?:neway\\|ut\\)\\|return\\|s\\(?:elf\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 1 font-lock-keyword-face)
 #[257 "\304\300!\305\306\307#\203_�\310\224b\210\311!\204�\310\225b\210\312 \313\314\"\216\307\315`\206+�dW\203<�\214e\2066�d}\210\316 \210)`\317 \320=\203M�\211b\210\307\317 \210)\210`V\203W�b\210\321 \210+\210\202�)\315\207"
       [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers c-promote-possible-types boundp re-search-forward "\\[" t 0 c-skip-comments-and-strings match-data make-closure
				     #[0 "\301\300\302\"\207"
					 [V0 set-match-data evaporate]
					 3]
				     nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs]
       5 "\n\n(fn LIMIT)"]
 #[257 "\303\300!\304\305\306#\2038�\307\224b\210\310!\204�\307\225b\210\307\224b\210\311 \312\313\"\216\306\314\303\300!\315 \210\316 \210,\210\202�)\314\207"
       [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure
				     #[0 "\301\300\302\"\207"
					 [V0 set-match-data evaporate]
					 3]
				     nil c-forward-objc-directive c-fontify-recorded-types-and-refs]
       6 "\n\n(fn LIMIT)"]
 (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name)
 c-font-lock-complex-decl-prepare
 #[257 "\301\300!\302\303\304#\2032�\305\224b\210\306!\204�\305\225b\210\307 \310\311\"\216\312\225S\313\211T\314\315$\266)\210\202�)\316\207"
       [parse-sexp-lookup-properties boundp re-search-forward "\\(\\(?:@\\(?:compatibility_alias\\|d\\(?:efs\\|ynamic\\)\\|end\\|optional\\|p\\(?:ackage\\|r\\(?:ivate\\|o\\(?:perty\\|tected\\)\\)\\|ublic\\)\\|required\\|synthesize\\)\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure
				     #[0 "\301\300\302\"\207"
					 [V0 set-match-data evaporate]
					 3]
				     1 put-text-property c-type c-decl-end nil]
       8 "\n\n(fn LIMIT)"]
 c-font-lock-objc-methods c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists c-font-lock-c++-using
 ("\\<\\(\\(?:BOOL\\|Class\\|IMP\\|SEL\\|char\\|double\\|float\\|i\\(?:d\\|nt\\)\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>" 1 'font-lock-type-face)
 c-font-lock-enum-tail c-font-lock-enum-body
 (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$@]*\\)"
       (list 2 c-label-face-name nil t))
 (#[257 "\304\300!\305\306!`\307!@\310=\203�`\202�\211\262b\210\311\312\313#\203S�\314\224b\210\315!\204�\314\225b\210\316 \317\320\"\216\313\321\313\322\323!\210`V\203K�b\210\324 \210,\210\202�)\266\321\207"
	[parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs]
	7 "\n\n(fn LIMIT)"])
 (#[257 "\304\300!\305\306\307#\203<�\310\224b\210\311!\204�\310\225b\210\312 \313\314\"\216\307\315\307\316\317!\210`V\2034�b\210\320 \210,\210\202�)\315\207"
	[parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs]
	5 "\n\n(fn LIMIT)"]))

Documentation

Accurate normal font locking for Objective-C mode.

Like the variable objc-font-lock-keywords-2(var)/objc-font-lock-keywords-2(fun) but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for objc-font-lock-extra-types.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-fonts.el.gz
(defconst objc-font-lock-keywords-3 (c-lang-const c-matchers-3 objc)
  "Accurate normal font locking for Objective-C mode.
Like the variable `objc-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `objc-font-lock-extra-types'.")