From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: org-protocol://remember:// question Date: Fri, 3 Apr 2009 18:58:31 +0200 Message-ID: <77EE9336-35EE-41D9-A27F-4BCBF5E0D9D9@gmail.com> References: <87ocvfh7lc.fsf@thinkpad.tsdh.de> <8763hn48gj.fsf@kassiopeya.MSHEIMNETZ> <1B37177B-3E1E-41CF-BAB7-85EB815432F1@gmail.com> <87ocvfgclq.fsf@kassiopeya.MSHEIMNETZ> <87y6uhyj25.fsf@kassiopeya.MSHEIMNETZ> Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lpmjq-0003zt-Ax for emacs-orgmode@gnu.org; Fri, 03 Apr 2009 12:59:30 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lpmjk-0003y9-Hu for emacs-orgmode@gnu.org; Fri, 03 Apr 2009 12:59:29 -0400 Received: from [199.232.76.173] (port=35063 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lpmjk-0003y4-AI for emacs-orgmode@gnu.org; Fri, 03 Apr 2009 12:59:24 -0400 Received: from mail-ew0-f160.google.com ([209.85.219.160]:60461) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lpmjj-0002rE-KA for emacs-orgmode@gnu.org; Fri, 03 Apr 2009 12:59:24 -0400 Received: by ewy4 with SMTP id 4so1156086ewy.42 for ; Fri, 03 Apr 2009 09:59:22 -0700 (PDT) In-Reply-To: <87y6uhyj25.fsf@kassiopeya.MSHEIMNETZ> 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: Sebastian Rose Cc: Tassilo Horn , emacs-orgmode@gnu.org Applied, thanks. Would you mind turning on indent-tabs-mode in these files? I am having trouble wit the patches because of this. Thanks. - Carsten On Apr 3, 2009, at 2:34 PM, Sebastian Rose wrote: > > > I encountered another problem: > > Using `C-c C-k' in the remember buffer is OK. > > But if the user interupts `org-remember' by `C-g' (e.g. when reading > some text interactively), emacsclient will be waiting for ever. > > > Unfortunately, there seems no easy way to fix this in a way, that we > could mix org-protocol arguments and filenames for emacsclient. > > A solution for this problem is, to introduce a new property: > > > (defconst org-protocol-protocol-alist-default > '(("org-remember" :protocol "remember" :function org-protocol- > remember :kill-client t) > ... > > and unconditionally kill the client, once a sub-protocol with a non- > nil > `:kill-client' property is detected. > > > > The appended patch does all the changes we need: > > - call org-remember the right way > - kill emacsclient for org-protocol-remember and all those > handlers, > which have the `:kill-client' property set to a non-nil value. > > > > Regards, > > Sebastian > > > > > > > > Carsten Dominik writes: >> On Apr 2, 2009, at 8:00 PM, Sebastian Rose wrote: >> >>> Carsten Dominik writes: >>>> Hi Sebastian, Tassilo, >>>> >>>> this can be easily fixed. >>>> >>>> Org-protocol may add arbitrary properties to the link properties. >>>> For example, after a call >>>> >>>> (org-store-link-props :type type >>>> :link url >>>> :region region >>>> :description title >>>> :hello "Hello world") >>>> >>>> a template could use "%:hello" to access and insert this >>>> string. I have just changed org-remember so that the >>>> property :annotation will be the default for %a. >>>> Sebastian, could you please add >>>> >>>> :annotation (concat "[[" url "][" title "]]") >>>> >>>> or something similar to the call to org-store-link-props? >>>> >>>> Also, feel free to add any other properties that might >>>> provide useful information for a template. >>> >>> >>> Doesn't that apply to certain link types only? >>> >>> Also, the situation seems to be different for org-protocol- >>> remember. I >>> think it's the way remember is used inside that function that has >>> to be >>> changed. >>> Maybe I can figure that out. >> >> Sorry my mistake. Indeed, the way you call org-remember >> overwrites the link property list. What you need to do is this: >> >> (let (remember-annotation-functions) >> (org-remember nil (string-to-char template))) >> >> Now, another advantage of doing it like this is that you >> do not even have to create a temporary buffer from which you >> launch org-remember. Right now you do this, only for >> the effect to get the region inserted for %i. >> >> Much easier will not be to set the :initial property in the >> call to org-store-link-props. >> >> Thus, don't even create the *org-protocol* buffer and then do this: >> >> (org-store-link-props :type type >> :link url >> :annotation (concat "[[" url "][" title "]]") >> :initial (or region "") >> :description title) >> (setq org-stored-links >> (cons (list url title) org-stored-links)) >> (raise-frame) >> (kill-new orglink) >> (let (remember-annotation-functions) >> (org-remember nil (string-to-char template))) >> >> I hope that this will take care of it. >> >> - Carsten >> > > -- > Sebastian Rose, EMMA STIL - mediendesign, Niemeyerstr.6, 30449 > Hannover > Tel.: +49 (0)511 - 36 58 472 > Fax: +49 (0)1805 - 233633 - 11044 > mobil: +49 (0)173 - 83 93 417 > Email: s.rose@emma-stil.de, sebastian_rose@gmx.de > Http: www.emma-stil.de