From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: David Engster <deng@randomsample.de>
Cc: "Eric M. Ludlam" <zappo@gnu.org>,
Stephen Leake <stephen_leake@stephe-leake.org>,
emacs-devel@gnu.org
Subject: Re: Noisy byte compilation on master
Date: Wed, 04 Feb 2015 10:45:27 -0500 [thread overview]
Message-ID: <jwvbnl98z15.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87twz379z2.fsf@engster.org> (David Engster's message of "Tue, 03 Feb 2015 08:03:29 +0100")
[-- Attachment #1: Type: text/plain, Size: 951 bytes --]
>>> Alternately, non-core CEDET can provide a compatibility file that
>>> defines cl-defmethod etc in terms of defmethod for older emacsen.
>> Hmm... that's an idea.
>> I could provide a cl-generic.el on GNU ELPA to provide cl-defmethod via
>> EIEIO, and then CEDET could make use of the new macros.
>> WDYT?
> Fine with me. We could also put it in CEDET upstream so people don't
> have to install it.
I have now added a cl-generic forward compatibility package to GNU ELPA.
It should hopefully work for any Emacs with EIEIO.
> Note that I currently have no way of syncing CEDET with Emacs.
Is there something we can do about that?
> So if you have a script or similar to change the calling convention,
> please tell me and I run it over the upstream code.
I used the sed script below along with:
for f in $(grep -l '(defmethod' lisp/cedet/**/*.el); do
echo $f
(rm $f; ./_cl-generic-rewrite.sed >$f) <$f
done
-- Stefan
[-- Attachment #2: _cl-generic-rewrite.sed --]
[-- Type: text/plain, Size: 586 bytes --]
#!/bin/sed -f
/^(require 'eieio)/a \
(require 'cl-generic)
/^(defmethod.*[^ ] *:[sS][tT][aA][tT][iI][cC] *$/{
s/^(defmethod/(cl-defmethod/
s/ *:[sS][tT][aA][tT][iI][cC] *//
n
s/^\([ ]*(([^ ][^ ]* *\)\([^ ][^ ]*\)/\1(subclass \2)/
}
s/^(\(defmethod.*[^ ] *\):[sS][tT][aA][tT][iI][cC] *\((([^ ][^ ]* *\)\([^ ][^ ]*\)/(cl-\1\2(subclass \3)/
s/^(\(defmethod.*[^ ] *\):BEFORE/(cl-\1:before/
s/^(\(defmethod.*[^ ] *\):AFTER/(cl-\1:after/
s/^(defmethod/(cl-defmethod/
s/^(defgeneric/(cl-defgeneric/
s/(call-next-method/(cl-call-next-method/
s/(next-method-p/(cl-next-method-p/
next prev parent reply other threads:[~2015-02-04 15:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-01 16:06 Noisy byte compilation on master Eli Zaretskii
2015-02-02 16:31 ` Stefan Monnier
2015-02-02 16:35 ` Eli Zaretskii
2015-02-02 18:01 ` Stephen Leake
2015-02-02 23:23 ` Stefan Monnier
2015-02-03 7:03 ` David Engster
2015-02-04 15:45 ` Stefan Monnier [this message]
2015-02-15 15:58 ` David Engster
2015-02-16 2:56 ` Stefan Monnier
2015-02-16 21:11 ` David Engster
2015-02-16 23:14 ` Stefan Monnier
2015-02-17 6:31 ` David Engster
2015-02-17 23:06 ` Stefan Monnier
2015-02-18 17:53 ` David Engster
2015-02-18 19:35 ` Stefan Monnier
2015-02-18 19:51 ` David Engster
2015-02-18 22:44 ` Stefan Monnier
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=jwvbnl98z15.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=deng@randomsample.de \
--cc=emacs-devel@gnu.org \
--cc=stephen_leake@stephe-leake.org \
--cc=zappo@gnu.org \
/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.