From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian van den Broek Subject: Re: possible misfeature regarding multiple #+ARCHIVE lines in a file Date: Mon, 03 Sep 2007 13:43:59 -0400 Message-ID: <46DC47DF.3060207@cc.umanitoba.ca> References: <46D9DEE6.6060503@cc.umanitoba.ca> <46D9E22B.10207@cc.umanitoba.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ISFyF-0003QC-RM for emacs-orgmode@gnu.org; Mon, 03 Sep 2007 13:44:19 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ISFyB-0003PW-4a for emacs-orgmode@gnu.org; Mon, 03 Sep 2007 13:44:19 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ISFyA-0003PT-VY for emacs-orgmode@gnu.org; Mon, 03 Sep 2007 13:44:14 -0400 Received: from electra.cc.umanitoba.ca ([130.179.16.23]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1ISFy9-00068g-F0 for emacs-orgmode@gnu.org; Mon, 03 Sep 2007 13:44:14 -0400 Received: from [192.168.1.113] (bas5-montreal02-1167964337.dsl.bell.ca [69.157.184.177]) (authenticated bits=0) by electra.cc.umanitoba.ca (8.13.0/8.13.0) with ESMTP id l83HhxQS015589 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 3 Sep 2007 12:44:00 -0500 (CDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode Carsten Dominik said unto the world upon 09/03/2007 03:30 AM: > > On Sep 2, 2007, at 0:05, Brian van den Broek wrote: > >> Brian van den Broek said unto the world upon 09/01/2007 05:51 PM: >>> It seems to me that a possible fix would be to look at the end of any >>> subtree that is being archived, and leave behind an #+ARCHIVE line >>> (or perhaps uninterrupted block of #+ lines) that terminates the tree >>> being archived. >> >> Now I am curious as to if this is unworkable. Carsten, if it is, would >> you mind briefly sketching why? (Time permitting, of course.) > > > Hi Brian, > > In principle the solution you propose is workable of course. > You are, in fact, not the first to think of this: for example > the file outline.el in Emacs 22 states: > > ;;; Todo: > > ;; - subtree-terminators > ;; - better handle comments before function bodies (i.e. heading) > ;; - don't bother hiding whitespace > > This is an issue in many types of files that would like to use > outline to get a structured view on a file. For example > Programmers often write comments *before* a function definition. Hi Carsten, Thanks for taking the time to shed some light. I'm not surprised that the line of attack I suggested has been considered before. > I find it hard to envision a *clean* implementation, however. > Problems with this approach are: > > - Lets say we say that comments before a headline so not belong > to the entry before it. Do they belong to the entry after it? > If I archive the entry after it, should I move the comment then? > > - What if I have a normal entry with some text in there, and I decide to > comment it out, just temporarily. All of a sudden this text no longer > belongs to the entry, when I move the entry up or down, using > structure editing commands, how should I decide in a safe way what > comment does and what dow not belong to an entry? OK, I start to see why you are reluctant to change the current behaviour. Thinking this through, I see a real risk of explosion of special cases and that would indeed likely get ugly. > The current outline implementation is at least clean in the sense > that it is totally predictable what will happen if you issue > certain commands. > > I still believe that the best work-around it to have top-level > sections in your file, make the #+ARCHIVE lint the first line *inside* > the section, and then have your TODO items as level 2 entries below it. > If you are going to structure your document anyway in a way that > requires multiple archives, why not reflect this structure also > with top-level headlines? Well, that's what I am doing. I've a teaching.org where each course for the coming year is a level 1 headline. When the year is over, I want to archive each course level 1 headline as a level 2 subtree of a level 1 headline in my teachingarchive.org. The thought is that as I teach say Intro to Logic over the years, each iteration of the course when active will be in my teaching.org. When the term is done, each will course tree will get archived under a Intro to Logic level 1 heading in my archive file. So, the end result in the archive would be: * Intro to Logic ** Intro to Logic Fall20072008 ** Intro to Logic Fall20082009 * Intro to Philosophy ** Intro to Philosophy 20072008 ** Intro to Philosophy 20082009 etc. The only way I can see to do it with #+ARCHIVE lines would be to have my teaching.org look like * Heading setting ARCHIVE line for following tree * Intro to Logic Fall20072008 * Heading setting ARCHIVE line for following tree * Intro to Philosophy 20072008 etc. That makes for ugly clutter, IMHO. (The problem is acute in my intended case, as each level 1 heading needs its own ARCHIVE line.) But, since the archiving will be done for the entire course tree and at most twice a year, doing it by hand would be fine. Thanks for shedding more light and for enduring the long posts :-) Best, Brian vdB