From mboxrd@z Thu Jan 1 00:00:00 1970 From: pinard@iro.umontreal.ca (=?utf-8?Q?Fran=C3=A7ois?= Pinard) Subject: Re: Agenda buffer and relative links Date: Fri, 06 Jan 2012 06:55:48 -0500 Message-ID: <87zke1kptn.fsf@iro.umontreal.ca> References: <87zke1ebyj.fsf@iro.umontreal.ca> <8067.1325825020@alphaville.dokosmarshall.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:55597) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rj8Ol-0001lr-Dk for emacs-orgmode@gnu.org; Fri, 06 Jan 2012 06:55:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rj8Ok-0000ym-8Y for emacs-orgmode@gnu.org; Fri, 06 Jan 2012 06:55:51 -0500 Received: from 206-248-137-202.dsl.teksavvy.com ([206.248.137.202]:63874 helo=mercure.epsilon-ti.ca) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rj8Ok-0000yg-4D for emacs-orgmode@gnu.org; Fri, 06 Jan 2012 06:55:50 -0500 In-Reply-To: <8067.1325825020@alphaville.dokosmarshall.org> (Nick Dokos's message of "Thu, 05 Jan 2012 23:43:40 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: nicholas.dokos@hp.com Cc: emacs-orgmode@gnu.org Nick Dokos writes: > Fran=C3=A7ois Pinard wrote: >> When Org mode defines a link for me, it sometimes changes it so it >> becomes relative. [...] This is OK in general, but not always. >> [...] I have feeling that there is something deeper which might >> likely affect many Org mode users, and for which I have no general >> solution to offer. > Check > (info "(org) Handling links") > in the manual, particularly the doc for C-u C-c C-l. Hi, Nick, and gang. Yes, I knew about prefixes to C-c C-l, which may be used to force links to be absolute. Systematic use of C-u C-u C-c C-l instead of C-c C-l would be tedious, that's why I think there is a deeper problem about the current defaults. There is a virtue in relative links which I recognize. So having an option to force all links to be absolute might not be a solution. Having all links relative just cannot work. Letting the user properly manage is quite error-prone, and fairly annoying at least. If you put a gun on my head and say "suggest something", without much time to think, I would go something that way: * cutting part of a buffer containing links, links should be turned absolute before going in the clipboard or kill ring, * pasting text containing links, links should be turned relative whenever it makes sense to do so. What is "making sense", above? * if a file receiving the link is not part of the agenda files, the current algorithm is OK, * if a file receiving the link is part of the agenda files, and that agenda file is directly under org-directory, the current algorithm is OK, * if a file receiving the link is part of the agenda files, and that agenda file is not directly under org-directory, make the link absolute, This would have consequences: * the agenda buffer should automatically be cd'ed to org-directory, * adding (removing) a file to (from) the list of agenda-files becomes a complex operation, requiring all links to be adjusted. All of the above is surely very debatable, and other people may likely devise other approaches. That's why I say it may require deeper thought. I would only like to stress that there is a problem. Fran=C3=A7ois P.S. I have lot of links, and I often move contents around in files. Adjusting links while doing so has been a bit painful all along. So far, I used mixes of Python scripts, editionswith Vim, or sometimes editions with Emacs in fundamental mode. And I wrote a cross-checking and diagnosis tool which I run at least daily, at backup time.