unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* pathological byte-compilation
@ 2002-06-25  1:26 Stefan Monnier
  2002-06-25  1:51 ` Miles Bader
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2002-06-25  1:26 UTC (permalink / raw)



CL used to define `values' as an alias to `list'.
It has been changed (end of last year) to

	(defsubst values (&rest values)
	  (apply 'list values))

This has the "interesting" side-effect that compiling the function
(defun foo () (values 1)) results in the following byte-code:

	byte code for foo:
	  args: nil
	0	constant  1
	1	list1	  
	2	varbind	  values
	3	constant  apply
	4	constant  list
	5	varref	  values
	6	call	  2
	7	unbind	  1
	8	return	  

in other words, the same result as if we had compiled
(defun foo () (let ((values (list 1))) (apply 'list values)))


	Stefan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-06-25 23:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-06-25  1:26 pathological byte-compilation Stefan Monnier
2002-06-25  1:51 ` Miles Bader
2002-06-25 23:32   ` Richard Stallman

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).