emacs-orgmode
[Top][All Lists]
Advanced

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



reply via email to

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