--- Begin Message ---
Subject: |
24.3.50; pcase (or) UPAT fails? |
Date: |
Tue, 23 Jul 2013 13:30:19 +0200 |
Is this a bug?
This works:
(pcase (list 23 nil "%")
(`(,scale nil "%") (message "%s" scale))
(_ (message "failed")))
This doesn't:
(pcase (list 23 nil "%")
(`(,scale nil (or "^" "%")) (message "%s" scale))
(_ (message "failed")))
Thanks,
Vitalie
In GNU Emacs 24.3.50.7 (i686-pc-linux-gnu, X toolkit, Xaw scroll bars)
of 2013-07-19 on vitoshka-OptiPlex-745
Windowing system distributor `The X.Org Foundation', version 11.0.11303000
System Description: Ubuntu 13.04
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#14935: 24.3.50; pcase (or) UPAT fails? |
Date: |
Tue, 23 Jul 2013 09:44:49 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
> This doesn't:
> (pcase (list 23 nil "%")
> (`(,scale nil (or "^" "%")) (message "%s" scale))
> (_ (message "failed")))
> Is this a bug?
No, it's normal. The third pattern matches a list of 3 elements (the
first being the symbol `or'). You probably meant to do
(pcase (list 23 nil "%")
(`(,scale nil ,(or `"^" `"%")) (message "%s" scale))
(_ (message "failed")))
-- Stefan
--- End Message ---