emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH 2/2] org-refile: Fix inconsistency when listing refile ta


From: Allen Li
Subject: Re: [O] [PATCH 2/2] org-refile: Fix inconsistency when listing refile targets
Date: Wed, 28 Jun 2017 15:03:37 -0700

I just realized that this patch was applied to the master branch, not
the maint branch.

The absence of this patch results in the continued life of a bug in
the maint branch where it is not possible to refile to the top level
of an agenda file when using full-file-path for
org-refile-use-outline-path.

Is it possible to backport this to the maint branch?  This will
require adding the org-protect-slash that I mentioned earlier in this
thread.  Otherwise, refile is basically unusable for me when
full-file-path is set.

On Wed, Jun 21, 2017 at 1:01 AM, Allen Li <address@hidden> wrote:
> Thanks for the info. I was chasing down this bug in org-20170606,
> where it still required `org-protect-slash`, so I was anxious about
> its absence in your patch.
>
> On Wed, Jun 21, 2017 at 12:55 AM, Sebastian Reuße <address@hidden> wrote:
>> Hello Allen,
>>
>> Allen Li <address@hidden> writes:
>>
>>> On Mon, May 15, 2017 at 5:54 AM, Sebastian Reuße <address@hidden> wrote:
>>>> * org.el (org-refile-get-targets): Setting org-refile-use-outline-path
>>>> to `file' or `buffer-name' causes an additional target for the file’s
>>>> root node to be inserted. This functionality was absent when using
>>>> `full-file-path'. We now add this since it is convenient and makes the
>>>> behavior more consistent.
>>>> ---
>>>>  lisp/org.el | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/lisp/org.el b/lisp/org.el
>>>> index 97713c523..28277e352 100644
>>>> --- a/lisp/org.el
>>>> +++ b/lisp/org.el
>>>> @@ -11563,6 +11563,8 @@ (defun org-refile-get-targets (&optional 
>>>> default-buffer)
>>>>                  (push (list (file-name-nondirectory f) f nil nil) tgs))
>>>>                (when (eq org-refile-use-outline-path 'buffer-name)
>>>>                  (push (list (buffer-name (buffer-base-buffer)) f nil nil) 
>>>> tgs))
>>>> +              (when (eq org-refile-use-outline-path 'full-file-path)
>>>> +                (push (list (file-truename (buffer-file-name 
>>>> (buffer-base-buffer))) f nil nil) tgs))
>>>>                (org-with-wide-buffer
>>>>                 (goto-char (point-min))
>>>>                 (setq org-outline-path-cache nil)
>>>> --
>>>> 2.13.0
>>>>
>>>>
>>>
>>> If I'm not mistaken, the full file path needs to be wrapped in
>>> org-protect-slash?
>>
>> Slashes that are part of file paths aren’t escaped anymore, as of
>> 53bcf91a9. The only reason to escape slashes is to indicate they are not
>> part of the outline or file path, but part of the headline instead.
>>
>> In fact it looks like Nicolas removed ‘org-protect-slash’ in 2b44a1a74
>> and inlined it at its only use site.
>>
>> Kind regards,
>>
>> Sebastian
>>
>> --
>> Insane cobra split the wood
>> Trader of the lowland breed
>> Call a jittney, drive away
>> In the slipstream we will stay



reply via email to

[Prev in Thread] Current Thread [Next in Thread]