GNU bug report logs - #22812
24.5: elisp manual about pcase

Previous Next

Package: emacs;

Reported by: Zhaohui Li <lizhaohui1991 <at> gmail.com>

Date: Fri, 26 Feb 2016 02:35:02 UTC

Severity: minor

Found in version 24.5

Done: Michael Heerdegen <michael_heerdegen <at> web.de>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 22812 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Zhaohui Li <lizhaohui1991 <at> gmail.com>
Cc: 22812 <at> debbugs.gnu.org
Subject: Re: bug#22812: 24.5: elisp manual about pcase
Date: Fri, 26 Feb 2016 14:01:10 +0100
Zhaohui Li <lizhaohui1991 <at> 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.




This bug report was last modified 9 years and 88 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.