Stefan Monnier <monn...@iro.umontreal.ca> writes:

> OK, changed it to `with-current-buffer`.
>
> I pushed the resulting patch (along with three other patches resulting
> from running the tests) to `scratch/org` on `elpa.git`.
>
> You can also find them attached,

Thanks!

> Subject: [PATCH 1/4] (org-*-in-calendar): Prefer `apply` to `eval

Hmm... `...', not `...`. Convention is convention...

> -         (org-eval-in-calendar '(setq cursor-type nil) t)
> +         ;; FIXME: Not sure we need `with-current-buffer' but I couldn't
> +            ;; convince myself that we're always in `calendar-buffer' after
> +            ;; the call to `calendar'.
> +         (with-current-buffer calendar-buffer (setq cursor-type nil))

Further ahead, the code uses `use-local-map'. So, if current buffer is
not `calendar-buffer', we are in trouble anyway. If you want to play safe,
just add an assertion after the call to `calendar', or wrap the whole
thing into `with-current-buffer'.

> -(defun org-eval-in-calendar (form &optional keepdate)
> -  "Eval FORM in the calendar window and return to current window.
> +(defun org-funcall-in-calendar (func &optional keepdate &rest args)
> +  "Call FUNC in the calendar window and return to current window.
>  Unless KEEPDATE is non-nil, update `org-ans2' to the cursor date."

You still left `org-ans2' kitten struggling, didn't you? :)

> +(defun org-eval-in-calendar (form &optional keepdate)
> +  (declare (obsolete org-funcall-in-calendar "2024"))

9.7, not 2024.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to