unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).