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>