From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Wales Subject: Re: Ido org-refile results in misfiling Date: Wed, 17 Jul 2013 16:31:33 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44925) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzbC4-0001aL-Ll for emacs-orgmode@gnu.org; Wed, 17 Jul 2013 19:31:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UzbC3-000098-5w for emacs-orgmode@gnu.org; Wed, 17 Jul 2013 19:31:36 -0400 Received: from mail-wg0-x233.google.com ([2a00:1450:400c:c00::233]:47357) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzbC2-00008q-W8 for emacs-orgmode@gnu.org; Wed, 17 Jul 2013 19:31:35 -0400 Received: by mail-wg0-f51.google.com with SMTP id e11so2353972wgh.30 for ; Wed, 17 Jul 2013 16:31:33 -0700 (PDT) In-Reply-To: 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: emacs-orgmode@gnu.org I'd like to bump this bug as I have a minimal test case for it now. Save the whole thing to one file, and the subtree labeled "test case" to another file. *** bad refile example 1 :refile: ***** save test case to a file, and make it accessible to ido refiling with flex matching ***** don't save these instructions to the file because they will interfere :) ***** refile this entry to the entry labeled 3 by typing 3 ***** now try to refile this entry to the entry labeled 2 by typing 2 ***** notice how the default provided is 3. this is the bug. it is of course ok that the default is 3 /before/ you type 2. that is not a bug. the bug is that the default is 3 /after/ you type 2. ***** test case ******* i want this 2 :refile: ********* i get this 3 :refile: The bug is explained in more detail below. Thanks. Samuel On 5/31/12, Samuel Wales wrote: > Ido and org-refile are a superb combination that enhances > Org significantly. It is a killer feature IMO. > > However, in my usage there is a substantial risk of > misfiling: > > 1) If I start from a fresh Emacs, "myorg" is sufficient to > select "computer/emacs/org/myorg/". This is good. > > 2) If I refile something to > "computer/emacs/org/myorg/strategy and examples/various > todo kw and maybe some tags/", "various" is enough to > select it. Note that this is below "myorg". Also good. > > 3) (Just as an aside, if I then refile something else to > the same entry, I don't even need to enter "various". > It is the default. A nice feature.) > > 4) Now suppose I want to refile something to "myorg". I > enter "myorg" but I get "various". > > Detail on this subtle issue is below: > > === > > My expectation is that if "myorg" selects "myorg" once, it > should always do so no matter what my refile history is. > This expectation is violated. > > It violates a sort of referential transparency. The same > narrowing inputs should produce the same narrowed outputs > (in my expectation at least). > > I suspect that the reason for the unexpected behavior is related (in > some way) to > the defaulting in 3, which is useful. However, the false defaulting in 4 > is > NOT useful in any obvious way. > > === > > Proposed solution: > > I think that as soon as the user starts selecting something, > the default should be discarded. > > === > > With my expectation, it is never necessary to check the > offered olpaths except as a confirmation. > > With the current behavior, checking is always necessary > because in edge cases, there will be a guaranteed misfile. > > Here is why: the only reason that default showed up at all > is that the narrowing input /happened/ to match both > headlines. Otherwise the default would have been discarded. > So it is an edge case that allowed the offer to misfile. In > other cases, the correct default would be provided. If I > wanted "various", RET would be sufficient. > > User checking is significantly more error-prone because one > olpath is a substring of the other. > > Likewise, the requirement to navigate in the list is > burdensome as 4 is never useful as far as I can tell. > > === > > Is there any way to fix this? I tried looking at ido > customizations and got lost. > > If you can't reproduce witn your ido settings, I'll try to > provide an MCE at some point. Might take a while though. > > Thanks. > > Samuel > > -- > The Kafka Pandemic: http://thekafkapandemic.blogspot.com > -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. ANYBODY can get it. Denmark: free Karina Hansen NOW.