Re: pcase failure with Emacs 24 (was Emacs version for Org 9.4?)

2020-09-17 Thread Kaushal Modi
> On 2020-09-15, Kyle Meyer wrote:

> >
> >> 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
> >> [...]
> >
> > Yes, that fixes the problem over here.
>
> Thanks for confirming.  Pushed (73c929e3b).
>
>
I just stumbled on this as I was looking into why ox-hugo tests failed on
emacs 24.x (
https://travis-ci.org/github/kaushalmodi/ox-hugo/builds/728059027 ). This
should pass next week now. Thanks for your fix.


Re: pcase failure with Emacs 24 (was Emacs version for Org 9.4?)

2020-09-16 Thread Kyle Meyer
Jens Lechtenboerger writes:

> On 2020-09-15, Kyle Meyer wrote:
>
>> 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
>> [...]
>
> Yes, that fixes the problem over here.

Thanks for confirming.  Pushed (73c929e3b).



Re: pcase failure with Emacs 24 (was Emacs version for Org 9.4?)

2020-09-15 Thread Jens Lechtenboerger
On 2020-09-15, Kyle Meyer wrote:

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

Yes, that fixes the problem over here.

Many thanks for debugging this, I’m deeply impressed.

Best wishes
Jens



pcase failure with Emacs 24 (was Emacs version for Org 9.4?)

2020-09-15 Thread Kyle Meyer
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)