all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Christian Ohler <ohler+emacs@fastmail.net>
To: Miles Bader <miles@gnu.org>
Cc: eliz@gnu.org, MON KEY <monkey@sandpframing.com>,
	dan.colascione@gmail.com, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: moving more cl seq/mapping support into core
Date: Fri, 08 Oct 2010 12:45:24 +0930	[thread overview]
Message-ID: <4CAE8CCC.5060306@fastmail.net> (raw)
In-Reply-To: <8739sh8m1m.fsf@catnip.gol.com>

  On 8/10/10 11:48, Miles Bader wrote:
> Christian Ohler<ohler+emacs@fastmail.net>  writes:
>> : If cl.el is loaded, ERT needs to pass two arguments to
>> macroexpand', only one otherwise.  The solution is simple, but
>> figuring out that this problem exists took me a while.
> The normal (non-cl) macroexpand takes the same arguments, so why do
> you need to make a distinction?


It takes an environment argument, but I don't know where to get an 
environment value if cl.el is not loaded.  Originally, I defined my 
macros with defmacro* and &environment, but such macros can only be 
expanded when cl.el is loaded, since their definition references 
`cl-macro-environment', which is only bound with cl.el.  So I got rid of 
&environment and instead read `cl-macro-environment' directly if it is 
bound.

It's quite possible that this solution is not quite right or that 
something even simpler works; I don't understand these mechanisms in detail.

Looking at it again, I wonder if the following statement in one of ERT's 
comments is correct:

   ;; If `cl-macroexpand' isn't bound, the code that we're
   ;; compiling doesn't depend on cl and thus doesn't need an
   ;; environment arg for `macroexpand'.

Is it true that we don't need an environment arg?  Or do we have to get 
the byte-compiler's environment and pass it in?

Christian.




  reply	other threads:[~2010-10-08  3:15 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-24 22:48 moving more cl seq/mapping support into core MON KEY
2010-09-25  5:13 ` Leo
2010-09-25  5:58   ` Miles Bader
2010-09-25 14:42     ` Drew Adams
2010-09-25 15:07       ` Leo
2010-09-25 15:23         ` Drew Adams
2010-09-25 15:30           ` Leo
2010-09-25 15:33             ` David Kastrup
2010-09-25 15:55               ` Drew Adams
2010-09-25 15:55             ` Drew Adams
2010-09-25 16:01               ` Leo
2010-10-01  0:33             ` Daniel Colascione
2010-09-25 21:26       ` Miles Bader
2010-09-26 10:37   ` Richard Stallman
2010-09-26 13:13     ` Leo
2010-09-26 19:32       ` Miles Bader
2010-09-27  6:27       ` Richard Stallman
2010-10-01  0:28         ` Daniel Colascione
2010-10-01  3:16           ` Miles Bader
2010-10-01 20:39             ` Daniel Colascione
2010-10-02  7:12               ` David Kastrup
2010-10-03 23:15                 ` Stefan Monnier
2010-10-04 17:41                   ` Daniel Colascione
2010-10-05 23:32                     ` Stefan Monnier
2010-10-01 11:42           ` Richard Stallman
2010-10-01 20:36             ` Daniel Colascione
2010-10-01 11:42           ` Richard Stallman
2010-10-01 20:34             ` Daniel Colascione
2010-10-01 21:12               ` Chong Yidong
2010-09-27 19:07 ` MON KEY
2010-10-02  5:35   ` MON KEY
2010-10-04  2:03     ` Richard Stallman
2010-10-04  5:51       ` MON KEY
2010-10-06  5:21         ` Richard Stallman
2010-10-09  0:29           ` MON KEY
2010-10-10  5:09             ` Richard Stallman
2010-10-04 17:33       ` Daniel Colascione
2010-10-05  9:55         ` Richard Stallman
2010-10-05 10:20           ` Helmut Eller
2010-10-05 18:27             ` Eli Zaretskii
2010-10-06 23:41             ` Richard Stallman
2010-10-07 15:04               ` Ted Zlatanov
2010-10-07 15:17               ` Karl Fogel
2010-10-09  2:13                 ` Richard Stallman
2010-10-05 13:07           ` Ted Zlatanov
2010-10-06 23:41             ` Richard Stallman
2010-10-07  9:20               ` Daniel Colascione
2010-10-08  5:47                 ` Richard Stallman
2010-10-05 18:26           ` Eli Zaretskii
2010-10-06  0:29           ` MON KEY
2010-10-08  2:07             ` Christian Ohler
2010-10-08  2:18               ` Miles Bader
2010-10-08  3:15                 ` Christian Ohler [this message]
2010-10-06  8:04           ` Stephen J. Turnbull
2010-10-06  9:20             ` David Kastrup

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=4CAE8CCC.5060306@fastmail.net \
    --to=ohler+emacs@fastmail.net \
    --cc=dan.colascione@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=miles@gnu.org \
    --cc=monkey@sandpframing.com \
    --cc=rms@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.