all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#6893: evaluating `'#'(lambda (b) b)8 ; => 8 with `eval-last-sexp' "C-x C-e" in `emacs-lisp-mode'
@ 2010-08-21 21:55 MON KEY
  2010-08-21 22:40 ` Stefan Monnier
  2010-08-21 22:50 ` Andreas Schwab
  0 siblings, 2 replies; 6+ messages in thread
From: MON KEY @ 2010-08-21 21:55 UTC (permalink / raw
  To: 6893

Interactive invocation of `eval-last-sexp' (e.g. "C-x C-e" ) in
Emacs-lisp mode buffer for this form:

 `'#'(lambda (b) b)8
 ;=> 8

`eval-last-sexp' for this makes (some) sense:

 `'#'(lambda (b) b)
 ;=> (quote (function (lambda (b) b)))

And so, presumably the above is equivalent to:

 (eval '(list 'quote '(function (lambda (b) b))))
 ;=> (quote (function (lambda (b) b)))

But what is the equivalent form which would explain the results for
following:

 `'#'(lambda (b) b)8
 ;=> 8

Surely it isn't this:

 (funcall (eval (eval (eval '(list 'quote '(function (lambda (b) b)))))) 8)
 ;=> 8

If it is, then why is eval'ing the same `'#'(lambda (b) b)8 form with
`eval-expression' (e.g. "M-:") met with the message:

 "Trailing garbage following expression"

Likewise, giving `eval-expression' this form lands me in the debugger:

 (`'#'(lambda (b) b) 8)

 ;=> Debugger entered--Lisp error:
     (wrong-number-of-arguments #[(structure) "\301\b!A\207"
                                  [structure backquote-process] 2 1720176] 2)

Reproducable on 23.2 with emacs -Q

--
/s_P\





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

end of thread, other threads:[~2010-08-24 20:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-21 21:55 bug#6893: evaluating `'#'(lambda (b) b)8 ; => 8 with `eval-last-sexp' "C-x C-e" in `emacs-lisp-mode' MON KEY
2010-08-21 22:40 ` Stefan Monnier
2010-08-22  0:17   ` MON KEY
2010-08-22 22:49     ` Stefan Monnier
2010-08-24 20:49       ` MON KEY
2010-08-21 22:50 ` Andreas Schwab

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.