Re: problem with diary sexps

2022-04-08 Thread Eric S Fraga
On Friday,  8 Apr 2022 at 10:59, Ihor Radchenko wrote:
> Should be fixed now in f6813dbe. See

Confirmed.  Thank you!

-- 
: Eric S Fraga, with org release_9.5.2-426-gf6813d in Emacs 29.0.50



Re: problem with diary sexps

2022-04-07 Thread Ihor Radchenko
Eric S Fraga  writes:

> On Tuesday,  5 Apr 2022 at 19:22, Ihor Radchenko wrote:
>> More accurate error can be found after setting calendar-debug-sexp to t.
>> I got the following backtrace clearly indicating lexical scope issue:
>
> Which makes sense.  The diary code does use entry and date as global
> variables so really needs updating...

Should be fixed now in f6813dbe. See 
https://orgmode.org/list/87zgkxjb0m@gnu.org

Best,
Ihor



Re: problem with diary sexps

2022-04-05 Thread Max Nikulin

On 05/04/2022 18:22, Ihor Radchenko wrote:

Christian Stuermer writes:


And the problem is gone, after reverting

 (result (if calendar-debug-sexp (eval sexp t)
   (condition-case nil
   (eval sexp t)

back to

 (result (if calendar-debug-sexp (eval sexp)
   (condition-case nil
   (eval sexp)

in org-diary-sexp-entry in org.el.


More accurate error can be found after setting calendar-debug-sexp to t.
I got the following backtrace clearly indicating lexical scope issue:

Debugger entered--Lisp error: (void-variable entry)
   (diary-float t 2 1)
   (let ((entry "") (date '(4 5 2022))) (diary-float t 2 1))
   (eval (let ((entry "") (date '(4 5 2022))) (diary-float t 2 1)) t)


It looks like the source of the problem with unit tests that I faced 
yesterday trying to look closer at the bug with daylight saving time in 
agenda.


Bad sexp at line 25 in /home/ubuntu/src/org-mode/testing/examples
/agenda-file.org: (let ((entry ) (date '(3 25 2022))) (diary-date 3 25 
2022))


 ((should
   (= 3
  (count-lines ... ...)))
  :form

   FAILED  255/900  test-org-agenda/property-timestamp (2.018120 sec)

Emacs-27.3




Re: problem with diary sexps

2022-04-05 Thread Eric S Fraga
On Tuesday,  5 Apr 2022 at 19:22, Ihor Radchenko wrote:
> More accurate error can be found after setting calendar-debug-sexp to t.
> I got the following backtrace clearly indicating lexical scope issue:

Which makes sense.  The diary code does use entry and date as global
variables so really needs updating...

-- 
: Eric S Fraga, with org release_9.5.2-423-g6d73cd in Emacs 29.0.50



Re: problem with diary sexps

2022-04-05 Thread Ihor Radchenko
Christian Stuermer  writes:

> And the problem is gone, after reverting
>
>(result (if calendar-debug-sexp (eval sexp t)
>  (condition-case nil
>  (eval sexp t)
>
> back to
>
>(result (if calendar-debug-sexp (eval sexp)
>  (condition-case nil
>  (eval sexp)
>
> in org-diary-sexp-entry in org.el.

More accurate error can be found after setting calendar-debug-sexp to t.
I got the following backtrace clearly indicating lexical scope issue:

Debugger entered--Lisp error: (void-variable entry)
  (diary-float t 2 1)
  (let ((entry "") (date '(4 5 2022))) (diary-float t 2 1))
  (eval (let ((entry "") (date '(4 5 2022))) (diary-float t 2 1)) t)

Best,
Ihor



Re: problem with diary sexps

2022-04-05 Thread Eric S Fraga
On Tuesday,  5 Apr 2022 at 12:28, Christian Stuermer wrote:
> I've had the same problem after updating org from git with entries like
> The commit introducing it is
> https://github.com/bzg/org-mode/commit/6d73cd34a07796c33f9435bfc8c9a19e67656c7a
>
> And the problem is gone, after reverting
>
> (result (if calendar-debug-sexp (eval sexp t)
>   (condition-case nil
>   (eval sexp t)
>
> back to
>
> (result (if calendar-debug-sexp (eval sexp)
>   (condition-case nil
>   (eval sexp)
>
> in org-diary-sexp-entry in org.el.

Confirmed.  Reverting this particular change makes diary sexps work
again properly (i.e. without complaint).

Thank you,
eric

-- 
: Eric S Fraga, with org release_9.5.2-423-g6d73cd in Emacs 29.0.50



Re: problem with diary sexps

2022-04-05 Thread Christian Stuermer

Hello!

Eric S Fraga writes:


I updated org today and now get

Bad sexp at line 461 in /home/ucecesf/s/notes/diary.org:
(let ((entry ) (date '(4 19 2022))) (diary-float t 2 3))

for a line that looks like

<%%(diary-float t 2 3)>

This has been in my diary for a very long time with no error.  I wonder
if this has anything to do with the changes to the use of advice?
Nothing else in the recent changes in the git log seem to be relevant.



I've had the same problem after updating org from git with entries like

%%(org-anniversary 2000 4 4) X is %d years old


The commit introducing it is
https://github.com/bzg/org-mode/commit/6d73cd34a07796c33f9435bfc8c9a19e67656c7a

And the problem is gone, after reverting

 (result (if calendar-debug-sexp (eval sexp t)
   (condition-case nil
   (eval sexp t)

back to

 (result (if calendar-debug-sexp (eval sexp)
   (condition-case nil
   (eval sexp)

in org-diary-sexp-entry in org.el.

I wrote about in on Reddit:
https://www.reddit.com/r/orgmode/comments/tvwxv0/the_commit_on_apr_1_2022_broke_organniversary_for/

Kind regards,
Christian