[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