emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [BUG] LOGBOOK makes property search (in org-agenda) too slow(?)


From: Ihor Radchenko
Subject: Re: [BUG] LOGBOOK makes property search (in org-agenda) too slow(?)
Date: Sun, 13 Mar 2022 22:07:10 +0800

Samuel Wales <samologist@gmail.com> writes:
> are there intereim workarounds like semi-automatically moving large
> logbook entries, or entire logbooks, to a task that says "was logbook
> for ..." and then archiving that task?  or automatically archiving old
> logbook entries?

My largest logbook contains ~2.5k clock records with no obvious impact
on performance (on main). However, when I was using older Org versions,
I used the following helper functions:

Credit: 
https://www.reddit.com/r/orgmode/comments/dg43hs/can_i_archive_a_property_drawer/f3frk2n/
Caveat: you might get duplicate IDs using the functions below. I just
changed the archived ID manually in the past.

#+begin_src emacs-lisp
(defun my/org-archive-delete-logbook ()
  (save-excursion
   (org-end-of-meta-data)
   (let ((elm (org-element-at-point)))
     (when (and
            (equal (org-element-type elm) 'drawer)
            (equal (org-element-property :drawer-name elm) "LOGBOOK"))
       (delete-region (org-element-property :begin elm)
                      (org-element-property :end elm))))))

(defun my/org-archive-without-delete ()
  (cl-letf (((symbol-function 'org-cut-subtree) (lambda () nil)))
    (org-archive-subtree)))

(defun my/org-archive-logbook ()
  (interactive)
  (my/org-archive-without-delete)
  (my/org-archive-delete-logbook))
#+end_src

Best,
Ihor



reply via email to

[Prev in Thread] Current Thread [Next in Thread]