Stefan Monnier <monn...@iro.umontreal.ca> writes: > The patch below replaces a use of `eval` with `apply`, but along the way > I wondered about some of the details of `org-eval-in-calendar` (see the > FIXMEs), the most important of them being: why doesn't it use > `with-selected-window`?
Thanks! I do not see any clear reason. Just old code from early days of Org mode. > - (org-eval-in-calendar '(setq cursor-type nil) t) > + ;; FIXME: Could we use `with-current-buffer' or do we really > + ;; need the `move-overlay' that's in `org-funcall-in-calendar'? > + (org-funcall-in-calendar (lambda () (setq cursor-type nil)) t) `move-overlay' is important - this is additional decoration that Org mode uses to indicate "current" date in the calendar while the focus is on other window and the cursor may not be clearly visible. > -(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. Why not a macro? Having to write lambda may be awkward. -- 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>