all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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: Sun, 15 Feb 2015 21:56:29 -0500	[thread overview]
Message-ID: <jwvwq3i604b.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87twyndv53.fsf@engster.org> (David Engster's message of "Sun, 15 Feb 2015 16:58:16 +0100")

> Well, it just occured to me that it's not that terribly useful to have
> it in ELPA, as you need that macro during byte-compilation, and ELPA
> packages are not available from 'emacs -Q'. So I guess I'll have to
> install in CEDET upstream.

Of course you could compile with an "emacs -Q --eval '(package-initialize)'"
or something like that, but if you prefer to bundle cl-generic.el that's
OK as well.

> The bigger problem is that now I get a ton of warnings during CEDET
> compilation because you use 'labels' instead of 'cl-labels', but with
> good reason, as the commentary says. Not sure what to do about that...

Try the 100% untested patch below, which should silence those warnings.

> The alternative would be that built-in ELPA thingy, but that's not
> available yet.

I really hope we can get this "bundle some ELPA packages in the tarball"
working for 25.1.

> Also, if I understand you correctly, this would mean that
> core packages cannot depend on CEDET.

Indeed, that'd be the downside.

> However, the advantage would be that I could ditch a beloved pet-peeve
> of mine, namely editing that file that shall not be named (hint: it
> logs changes).

The ChangeLog should disappear from master "any time now", so this
should be resolved in any case soonish.


        Stefan


diff --git a/packages/cl-generic/cl-generic.el b/packages/cl-generic/cl-generic.el
index df09449..8aa87f1 100644
--- a/packages/cl-generic/cl-generic.el
+++ b/packages/cl-generic/cl-generic.el
@@ -101,15 +101,15 @@
            ;; We could just alias `cl-call-next-method' to `call-next-method',
            ;; and that would work, but then files compiled with this cl-generic
            ;; wouldn't work in Emacs-25 any more.
-           ;; Also we use `labels' rather than one of cl-lib's macros, so as to
-           ;; be compatible with older emacsen (and ELPA's cl-lib emulation
-           ;; doesn't provide cl-flet and provides an incomplete cl-labels).
+           ;; Also we fallback on `labels' if `cl-flet' is not available
+           ;; (ELPA's cl-lib emulation doesn't provide cl-flet).
            ,@(if qualifiers
                  ;; Must be :before or :after, so can't call next-method.
                  body
-               `((labels ((cl-call-next-method (&rest args)
-                                               (apply #'call-next-method args))
-                          (cl-next-method-p () (next-method-p)))
+               `((,(if (fboundp 'cl-flet) 'cl-flet 'labels)
+                      ((cl-call-next-method (&rest args)
+                                            (apply #'call-next-method args))
+                       (cl-next-method-p () (next-method-p)))
                    ,@body))))))))
 
 (provide 'cl-generic)



  reply	other threads:[~2015-02-16  2:56 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
2015-02-15 15:58           ` David Engster
2015-02-16  2:56             ` Stefan Monnier [this message]
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=jwvwq3i604b.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.