all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Smith <psmith@gnu.org>
To: rms@gnu.org, Alan Mackenzie <acm@muc.de>
Cc: 5953@debbugs.gnu.org, larsi@gnus.org, stefan@marxist.se,
	al.skobelev@gmail.com, sdl.web@gmail.com
Subject: bug#5953: 23.1.95; objc-mode doesn't fontify Objective-C 2.0 keywords @syntesize and @property correctly
Date: Mon, 25 May 2020 00:52:29 -0400	[thread overview]
Message-ID: <ee0d96ee3747fa74c7382657ec1ea6276284e8e8.camel@gnu.org> (raw)
In-Reply-To: <E1jd4oi-0005uX-BL@fencepost.gnu.org>

On Mon, 2020-05-25 at 00:34 -0400, Richard Stallman wrote:
> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> 
>   > Somehow, adding nine keywords together with their semantics seems to go
>   > outside the bounds of "trivial" for copyright purposes, even if they do
>   > fit into the arbitrary maximum number of lines.
> 
> Would you like to show me the patch?  That description suggests that
> maybe it is trivial.

It's unfortunate that the SourceForge mailing list archives are so
gross.  FYI, this is a link to the email from 2012 with the patch
attached:

https://sourceforge.net/p/cc-mode/mailman/message/29722632/

This is a link to download the patch:

https://sourceforge.net/p/cc-mode/mailman/attachment/m2sjbfi7tl.fsf%40gmail.com/1/

I've included the patch itself below if you prefer that instead of the
above links.

Cheers!

--------------------------------
>From 3ea4329978ebe2e5cb9d4bfd1e544277cf8e0352 Mon Sep 17 00:00:00 2001
From: Leo Liu <sdl.web@gmail.com>
Date: Wed, 22 Aug 2012 16:54:18 +0800
Subject: [PATCH] Add ObjC 2.0 directives support

---
 lisp/progmodes/cc-langs.el | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 78be8ac2..4aed2048 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1884,7 +1884,8 @@ (c-lang-defconst c-other-decl-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"))
 
@@ -2006,7 +2007,8 @@ (c-lang-defconst c-protection-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-block-decls-with-vars
   "Keywords introducing declarations that can contain a block which
@@ -2176,7 +2178,7 @@ (c-lang-defconst c-block-stmt-1-kwds
   "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)
 
@@ -2292,7 +2294,8 @@ (c-lang-defconst c-constant-kwds
   t       nil
   (c c++) '("NULL" ;; Not a keyword, but practically works as one.
 	    "false" "true")		; Defined in C99.
-  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.
-- 
1.7.12







  reply	other threads:[~2020-05-25  4:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-15 15:00 bug#5953: 23.1.95; objc-mode doesn't fontify Objective-C 2.0 keywords @syntesize and @property correctly Aleksandr Skobelev
2012-08-22  3:32 ` Leo
2012-08-22  9:39   ` Leo
2019-11-01 16:11     ` Lars Ingebrigtsen
2019-11-23 13:14       ` Lars Ingebrigtsen
2020-05-04  0:53         ` Stefan Kangas
2020-05-24 19:24           ` Alan Mackenzie
2020-05-24 19:40             ` Dmitry Gutov
2020-05-25  4:34             ` Richard Stallman
2020-05-25  4:52               ` Paul Smith [this message]
2020-05-26  4:11                 ` Richard Stallman
2020-05-26 10:23                   ` Dmitry Gutov
2020-05-26 18:31                     ` Alan Mackenzie
2020-05-26 20:03                       ` Paul Smith
2020-05-26 20:21                       ` Alan Mackenzie
     [not found]                       ` <8414a67694f5739a90d84d620cff141bc322a415.camel@gnu.org>
2020-05-26 20:23                         ` Dmitry Gutov
2020-05-27  1:12                       ` Leo Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee0d96ee3747fa74c7382657ec1ea6276284e8e8.camel@gnu.org \
    --to=psmith@gnu.org \
    --cc=5953@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=al.skobelev@gmail.com \
    --cc=larsi@gnus.org \
    --cc=rms@gnu.org \
    --cc=sdl.web@gmail.com \
    --cc=stefan@marxist.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.