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