Florian Adamsky <fa-orgm...@haktar.org> writes: > Dear all, > > some of my org-mode files are getting bigger and bigger. So, I decided > to use the archive feature to remove old stuff. However, I was not happy > with the current archive feature, because it just puts subtrees > unorganized in the archive file. > > I was more looking for a way to archive a subtree, but keep the parent > structure. Means, if the point is at the subtree "*** FOO" in the > following example: > > * A > ** B > *** FOO > > then it should copy the heading "* A" and "** B" to the archive file and > then move "*** Foo" to it. The only thing that I found was a feature > request from Florian Lindner [fn:1]. A couple of days I was given it a > shot and tried to implement that myself. Attached you'll find my > attempt.
Thanks for this work -- I think this is a nice feature. One concern about the above is that, if you're archiving many FOOs, then you'll get a whole bunch of duplicate A/B parent structures. There are several places in my agenda files where I have the exact structure in your example, and a *whole* lot of FOOs going in and getting archived out. How hard would it be to look for an existing A/B parent structure in the archive file, and put FOO there if it's found? Not a perfect solution, since you might have more than one A/B, but seems like it would help in a majority of cases... Thanks again, Eric > It is a bit hackish, but it works for me. I think the attached code > misses two features: > 1. it only copies the parent headings with tags, but ignores > properties and stuff like that > > 2. it ignores org-reverse-note-order, but that should not be too hard > to add. > > Before I work on it again, I would like to hear your comments. Have I > implemented functions that are already in org-mode? Is this feature > useful for other people? Does it in more complicated org-mode files? > > Best regards > > Footnotes: > > [fn:1] https://lists.gnu.org/archive/html/emacs-orgmode/2014-05/msg01214.html > -- > Florian Adamsky > http://florian.adamsky.it/