* small elaboration in tips.texi
@ 2006-07-10 16:14 Ken Manheimer
2006-07-10 22:29 ` Kevin Rodgers
2006-07-10 23:05 ` Nick Roberts
0 siblings, 2 replies; 3+ messages in thread
From: Ken Manheimer @ 2006-07-10 16:14 UTC (permalink / raw
i hadn't connected the fact that requiring a package for macros can be
limited to the byte-compilation phase, since the macro expansions are
compiled in to the resulting byte-code. i've elaborated the entry
about limiting dependencies on 'cl in tips.texi to convey that fact.
i'm including the patch inline below my signature.
--
ken
ken.manheimer@gmail.com
http://myriadicity.net
--- tips.texi 10 Jul 2006 10:58:03 -0400 1.85
+++ tips.texi 10 Jul 2006 11:40:42 -0400
@@ -119,7 +119,9 @@
that could cause name clashes for users who don't use that package.
However, there is no problem with using the @code{cl} package at compile
-time, with @code{(eval-when-compile (require 'cl))}.
+time, with @code{(eval-when-compile (require 'cl))}. That's sufficient
+particularly for @code{cl} macros - they are compiled in to the resulting
+byte-code, so @code{cl} becomes unnecessary at run time.
@item
When defining a major mode, please follow the major mode
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: small elaboration in tips.texi
2006-07-10 16:14 small elaboration in tips.texi Ken Manheimer
@ 2006-07-10 22:29 ` Kevin Rodgers
2006-07-10 23:05 ` Nick Roberts
1 sibling, 0 replies; 3+ messages in thread
From: Kevin Rodgers @ 2006-07-10 22:29 UTC (permalink / raw
Ken Manheimer wrote:
> i hadn't connected the fact that requiring a package for macros can be
> limited to the byte-compilation phase, since the macro expansions are
> compiled in to the resulting byte-code. i've elaborated the entry
> about limiting dependencies on 'cl in tips.texi to convey that fact.
> i'm including the patch inline below my signature.
...
> --- tips.texi 10 Jul 2006 10:58:03 -0400 1.85
> +++ tips.texi 10 Jul 2006 11:40:42 -0400
> @@ -119,7 +119,9 @@
> that could cause name clashes for users who don't use that package.
>
> However, there is no problem with using the @code{cl} package at compile
> -time, with @code{(eval-when-compile (require 'cl))}.
> +time, with @code{(eval-when-compile (require 'cl))}. That's sufficient
> +particularly for @code{cl} macros - they are compiled in to the
resulting
> +byte-code, so @code{cl} becomes unnecessary at run time.
>
> @item
> When defining a major mode, please follow the major mode
I would phrase it a little differently:
That is sufficient for macros because the compiler expands them
before compiling the resulting Lisp forms into byte-code.
--
Kevin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: small elaboration in tips.texi
2006-07-10 16:14 small elaboration in tips.texi Ken Manheimer
2006-07-10 22:29 ` Kevin Rodgers
@ 2006-07-10 23:05 ` Nick Roberts
1 sibling, 0 replies; 3+ messages in thread
From: Nick Roberts @ 2006-07-10 23:05 UTC (permalink / raw
Cc: emacs-devel
> --- tips.texi 10 Jul 2006 10:58:03 -0400 1.85
> +++ tips.texi 10 Jul 2006 11:40:42 -0400
> @@ -119,7 +119,9 @@
> that could cause name clashes for users who don't use that package.
>
> However, there is no problem with using the @code{cl} package at compile
> -time, with @code{(eval-when-compile (require 'cl))}.
> +time, with @code{(eval-when-compile (require 'cl))}. That's sufficient
> +particularly for @code{cl} macros - they are compiled in to the resulting
> +byte-code, so @code{cl} becomes unnecessary at run time.
>
> @item
> When defining a major mode, please follow the major mode
I made a smaller change as the use of eval-when-compile for macros is
documented elsewhere in the manual.
Thanks.
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-07-10 23:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-10 16:14 small elaboration in tips.texi Ken Manheimer
2006-07-10 22:29 ` Kevin Rodgers
2006-07-10 23:05 ` Nick Roberts
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).