[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pcase failure with Emacs 24 (was Emacs version for Org 9.4?)
From: |
Kyle Meyer |
Subject: |
pcase failure with Emacs 24 (was Emacs version for Org 9.4?) |
Date: |
Tue, 15 Sep 2020 23:39:15 -0400 |
Jens Lechtenboerger writes:
> Hi there,
>
> if I open an Org file on
> “GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of
> 2017-09-12 on hullmann, modified by Debian”
> I get this error (which I don’t know how to debug):
>
> Eager macro-expansion failure: (wrong-type-argument listp :pcase--succeed)
[...]
> In ORG-NEWS, I only found that “Emacs 24.4 or above is suggested.”
> Did that change?
No, it didn't.
It is pretty tricky to debug, but the failure starts with 4a27b67fd
(org-element: Fix property drawers parsing, 2020-04-22). As far as I
can see, the pattern introduced there is perfectly valid and should be
compatible with Emacs 24. I'd _guess_ this is a pcase bug in Emacs 24,
particularly the one fixed by 528872c5f8 (bug#18554, 2014-09-27), but I
didn't make an effort to try to understand that commit.
Interestingly, the error goes away if I just swap the elements in the
pcase (and ...) pattern added by that commit. Dunno, but if that clears
up the failure on your end as well, I don't see any reason to not make
that change.
diff --git a/lisp/org-element.el b/lisp/org-element.el
index a693cb68d..755de8661 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -4324,7 +4324,7 @@ (defsubst org-element--next-mode (mode type parent?)
(if parent?
(pcase type
(`headline 'section)
- ((and `section (guard (eq mode 'first-section))) 'top-comment)
+ ((and (guard (eq mode 'first-section)) `section) 'top-comment)
(`inlinetask 'planning)
(`plain-list 'item)
(`property-drawer 'node-property)