bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22812: 24.5: elisp manual about pcase


From: Michael Heerdegen
Subject: bug#22812: 24.5: elisp manual about pcase
Date: Fri, 26 Feb 2016 14:01:10 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.91 (gnu/linux)

Zhaohui Li <lizhaohui1991@gmail.com> writes:

> The "10.2.1: Pattern matching case statement" in Emacs Lisp Referrence
> Manual has a problem.  The second example in manual is:
>
>
>  (defun evaluate (exp env)
>  (pcase exp
>  (`(add ,x ,y) (+ (evaluate x env) (evaluate y env)))
>  (`(call ,fun ,arg) (funcall (evaluate fun env) (evaluate arg env)))
>  (`(fn ,arg ,body) (lambda (val)
>  (evaluate body (cons (cons arg val) env))))
>  ((pred numberp) exp)
>  ((pred symbolp) (cdr (assq exp env)))
>  (_ (error "Unknown expression %S" exp))))
>
>
> The problem is about the third case: `(fn , arg ,body).
> I test this function with:
>
>
>  (evaluate '(call
>  (fn x (add 1 x))
>  2)
>  nil)
>
>
> emcas eval it with throw errors. 

Works for me.  Did you enable lexical binding when testing?


Regards,

Michael.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]