From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tim O'Callaghan" Subject: Re: A simpler remember architecture (was: Re: Re: is there a hook to save a remember buffer?) Date: Wed, 30 Sep 2009 17:55:31 +0200 Message-ID: <3d6808890909300855v334d8816k6122245d96ecadb0@mail.gmail.com> References: <20524da70909291348m6e1a6611ve01d6dac2faca93c@mail.gmail.com> <2647742D-5A30-4F33-8FDF-E5203B2E0246@gmail.com> <3d6808890909300745i4213a0ddo9e12be00c4bb4023@mail.gmail.com> <120064D0-FCDF-4B7E-A7D1-933CC9D0F52D@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mt1X6-0006HF-Jz for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 11:56:00 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mt1X1-0006Es-P6 for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 11:55:59 -0400 Received: from [199.232.76.173] (port=43399 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mt1X1-0006El-B1 for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 11:55:55 -0400 Received: from mail-fx0-f205.google.com ([209.85.220.205]:56568) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mt1Wz-0001hb-Ig for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 11:55:54 -0400 Received: by fxm1 with SMTP id 1so5285145fxm.31 for ; Wed, 30 Sep 2009 08:55:52 -0700 (PDT) In-Reply-To: <120064D0-FCDF-4B7E-A7D1-933CC9D0F52D@gmail.com> 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: Carsten Dominik Cc: org-mode > - 'throw it into the bucket for later'. > > what does that mean? Kind of works as remember now. Currently you have a 'default save to point' for a particular template. I would guess that most people just throw it all into the one 'bucket' and sort it out later. > >> - org - remember keymap > > Why do you need this? I don't use the C-0-, C-1, whatever. I have my own keys mapped for the remember buffer. I use C-X c-s for org-remember-finalize for example, which may cause conflicts. > >> - local fontification? > > Why do you need this? I plan on expanding on the 'keeping me honest' idea, Which i am still working on and will turn into a contrib. I want to use fontification for "malformed" headings etc as warnings in unfilled remember templates. For example, to highlight an empty/malformed effort property. I suspect it would be easier, and faster to apply on a per-template/buffer basis, rather than the whole org-file. > >> - remove need to have remember package installed? > > That need does not exist even now. > I was having trouble recently with a lack of remember. A problem in my config, which I've just fixed. Thanks for pointing it out. Possibly make remember editing a minor mode? That would allow for any extra keymaps and fonrification and such wouldn't it? Tim. > - Carsten > >> >> Tim. >> >> 2009/9/30 Carsten Dominik : >>> >>> I don't know what the others think.... >>> >>> ... but I think this is a brilliant idea. >>> >>> - Carsten >>> >>> On Sep 29, 2009, at 10:48 PM, Samuel Wales wrote: >>> >>>> Hi Carsten, >>>> >>>> Here is an idea for a much simpler remember architecture that >>>> simultaneously solves Alan's problem. >>>> >>>> =A01) To me also, a more complicated way to deal with >>>> =A0 remember buffers feels wrong. >>>> =A02) If there is more than one thing you are working on, the >>>> =A0 power of the org hierarchy feels like the best way to >>>> =A0 keep track. >>>> >>>> =A03) The current remember probably does not do what Alan >>>> =A0 wants, even with a better workflow. >>>> =A0 - What if you want to remember from remember? >>>> =A0 - It feels complicated to finalize the old idea and go >>>> =A0 =A0 there, then remember the new one, then finish the old >>>> =A0 =A0 one, then go back to where you were. =A0Maybe we can >>>> =A0 =A0 simplify. >>>> =A0 - When you've finished the old one, you want to restore >>>> =A0 =A0 context to before the old idea. =A0This is probably >>>> =A0 =A0 impossible. =A0The stack is blown. >>>> =A04) Other issues: >>>> =A0 - If you forget to finalize, you lose data. >>>> =A0 - It is easy to reflexively call remember from remember, >>>> =A0 =A0 making you surprised that the old idea disappeared. >>>> =A0 - You might forget that you had the old idea. >>>> =A0 =A0 Especially if you are having short-term memory issues >>>> =A0 =A0 or are distracted. >>>> >>>> =A05) Here is my idea: discard the concept of remember >>>> =A0 buffers entirely. >>>> =A0 - Create the entry at the target location when you call >>>> =A0 =A0 org-remember. >>>> =A0 - Employ a virtual buffer to narrow to the created >>>> =A0 =A0 entry. >>>> >>>> =A06) Some benefits: >>>> =A0 1) Alan can remember, then remember again, then >>>> =A0 =A0 =A0remember a third time without having to save >>>> =A0 =A0 =A0remember buffers or name them (which he would need). >>>> =A0 2) Your idea is where it should be. =A0If you want >>>> =A0 =A0 =A0context, you simply remove the narrowing. >>>> =A0 3) org has access to the target buffer's buffer-local >>>> =A0 =A0 =A0variables, org variables, encoding and multilingual >>>> =A0 =A0 =A0settings of the target, etc. >>>> =A0 4) Auto-save saves to a place where Emacs will pick it >>>> =A0 =A0 =A0up again if Emacs crashes. >>>> =A0 5) A backup directory is no longer necessary to restore >>>> =A0 =A0 =A0data from a killed (remember) buffer. >>>> =A0 6) Finalizing is no longer a matter of losing your data >>>> =A0 =A0 =A0if you forget. =A0It merely pops windows. >>>> >>>> =A07) If you still want the concept of "I am not done >>>> =A0 remembering this remember," add a tag (:REMEMBERING:) >>>> =A0 at creation time and have org-remember-finalize remove >>>> =A0 that tag. =A0To see in-progress remembers, call the >>>> =A0 agenda on that tag. >>>> >>>> =A08) This eases yak shaving. >>>> =A0 - http://www.catb.org/~esr/jargon/html/Y/yak-shaving.html >>>> =A0 - This is a simple way to keep track of what you were >>>> =A0 =A0 doing when you remember from remember. >>>> =A0 - I recommend making org-remember-finalize use a >>>> =A0 =A0 /stack/, so that successive invocations recreate the >>>> =A0 =A0 previous window/buffer context until they get to the >>>> =A0 =A0 original context. >>>> =A0 - I think that we intuitively work in stacks. =A0This >>>> =A0 =A0 lets us avoid overloading our own memory. >>>> =A0 - If Emacs crashes, the worst thing that will happen is >>>> =A0 =A0 that you end up with a bunch of :REMEMBERING: tasks >>>> =A0 =A0 around your org files. =A0Not lost data. >>>> >>>> To summarize, the current remember naturally leads to the >>>> need for increasing workarounds, and therefore requests for >>>> features, which leads to more complexity. =A0By leveraging the >>>> power of the org hierarchy, we can simplify, and get yak >>>> shaving support as a nice surprise benefit. >>>> >>>> Let me know what you think. >>>> >>>> >>>> On Tue, Sep 29, 2009 at 02:37, Carsten Dominik >>>> wrote: >>>>> >>>>> Hi Allen, >>>>> >>>>> saving remember buffers is hackish and complex as it is, so I am not >>>>> going >>>>> to add this option. >>>>> >>>>> I think the workflow has to be this: >>>>> >>>>> Create a remember buffer and more-or-less immediately file it. >>>>> >>>>> If you need to work on the content for a longer time, work on it at t= he >>>>> target location: =A0Simply exit remember with C-u C-c C-c. =A0The buf= fer >>>>> will >>>>> be >>>>> filed and the target location will be visited immediately. =A0So now = you >>>>> can >>>>> work there as long as you want, and start another remember process wh= en >>>>> you >>>>> need one. >>>>> >>>>> HTH >>>>> >>>>> - Carsten >>>>> >>>>> On Sep 9, 2009, at 10:17 PM, Alan E. Davis wrote: >>>>> >>>>>> I've looked briefly into the org-remember.el. =A0A hook exists: >>>>>> remember-mode-hook. =A0Im not sure it can be successfully applied to= the >>>>>> case >>>>>> I envision. >>>>>> >>>>>> THere are tradeoffs to immediately saving a remember buffer to a fil= e, >>>>>> and >>>>>> editing a note in the remember buffer, then saving with >>>>>> =A0remember-finalize. >>>>>> =A0I don't remember what they are, as they led me away from immediat= ely >>>>>> saving >>>>>> quite a while ago. I was strongly encouraged by the establishment of= a >>>>>> procedure to automatically save to a directory, any remember buffer >>>>>> that >>>>>> was >>>>>> not finallized. =A0I had some issues with it, including how clunky i= t >>>>>> was >>>>>> to >>>>>> recover, and it was broken at some point, when I was too busy to fix >>>>>> it. >>>>>> >>>>>> One problem with editing in the Remember buffer, then saving later, = is >>>>>> forgetting where I am. =A0I can rely on several remember templates, = and >>>>>> too >>>>>> often have lost the remember buffer's contents, when I ran remember >>>>>> again. >>>>>> >>>>>> What I propose is the make it possible---optionally---to invoke a ho= ok >>>>>> to >>>>>> save existing remember buffers when C-c C-r (X) is used to file a >>>>>> remember >>>>>> note while in the remember buffer already. >>>>>> >>>>>> I found a test "bufferp". =A0It does not seem to recognize the buffe= r >>>>>> name >>>>>> "Remember", nor "*Remember*". >>>>>> >>>>>> Is it possible to do this, or is remember going to defeat this? >>>>>> >>>>>> >>>>>> Alan Davis >>>>>> >>>>>> You can know the name of a bird in all the languages of the world, >>>>>> =A0but >>>>>> when you're finished, you'll know absolutely nothing whatever about >>>>>> the >>>>>> bird... So let's look at the bird and see what it's doing---that's >>>>>> what >>>>>> counts. >>>>>> >>>>>> =A0----Richard Feynman >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Sep 9, 2009 at 3:42 PM, Alan E. Davis >>>>>> wrote: >>>>>> Is there a hook to save the remember buffer when I type C-c C-r when >>>>>> I'm >>>>>> in an unsaved remember buffer? =A0That would be almost as good, perh= aps >>>>>> better, than saving the remember buffer to a special file or >>>>>> directory. >>>>>> >>>>>> >>>>>> Alan >>>>>> >>>>>> You can know the name of a bird in all the languages of the world, >>>>>> =A0but >>>>>> when you're finished, you'll know absolutely nothing whatever about >>>>>> the >>>>>> bird... So let's look at the bird and see what it's doing---that's >>>>>> what >>>>>> counts. >>>>>> >>>>>> =A0----Richard Feynman >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Emacs-orgmode mailing list >>>>>> Remember: use `Reply All' to send replies to the list. >>>>>> Emacs-orgmode@gnu.org >>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Emacs-orgmode mailing list >>>>> Remember: use `Reply All' to send replies to the list. >>>>> Emacs-orgmode@gnu.org >>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>>>> >>>> >>>> >>>> >>>> -- >>>> Myalgic encephalomyelitis causes death (Jason et al. 2006) >>>> and severe suffering. =A0Conflicts of interest are destroying >>>> research. =A0What people "know" is wrong. =A0Silence =3D death. >>>> http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm >>> >>> >>> >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Remember: use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>> > >