From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Wales Subject: bug: ido refile presents default when it shouldn't Date: Sun, 16 Oct 2011 11:28:39 -0700 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([140.186.70.92]:32881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFVRy-00018t-Ek for emacs-orgmode@gnu.org; Sun, 16 Oct 2011 14:28:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFVRx-0004sj-6W for emacs-orgmode@gnu.org; Sun, 16 Oct 2011 14:28:42 -0400 Received: from mail-iy0-f169.google.com ([209.85.210.169]:40554) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFVRw-0004sX-Vt for emacs-orgmode@gnu.org; Sun, 16 Oct 2011 14:28:41 -0400 Received: by iagf6 with SMTP id f6so4346769iag.0 for ; Sun, 16 Oct 2011 11:28:39 -0700 (PDT) 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 Refile with ido presents a default even if you have already tried to narrow the headers. This is user-surprising behavior. Here is an example in detail. === Consider two headers in your refile targets for which one is an ancestor of the other. Normally I select the olpath computer/emacs by typing "ema" using ido. That works as expected. Normally I select the olpath computer/emacs/org/myorg by typing "my" using ido. That works as expected. If I refile to myorg this way, that works as expected. If I then refile and don't type anything, myorg is then provided as a default. That is convenient and works as expected. This allows you to refile again to the same place. If I then, without exiting the prompt, type "ema", it /continues/ to provide the default of myorg. That is surprising. I expect the olpath computer/emacs instead. === The result is that if you do not notice the prompt and select a different task, your task will get refiled in the wrong place. --> The user expectation being violated is that the same letters typed will produce the same results. <-- The result is different depending on your previous refile operation. You might not even remember what your previous refile operation was. The transaction is stateful, even though the purpose of using state (keeping the very last refile) is moot now that you have indicated that you want emacs. It is never the case that you want myorg when you type "ema" alone, because all you have to do is simply RET to get myorg. The solution is for Org or ido to somehow nix the default when letters are typed. This will present computer/emacs when you type "ema". As expected. Samuel === (setq org-refile-use-cache t) (setf org-refile-use-outline-path t) I have a refile verify function and a refile targets specification of ((org-agenda-files :tag . "refile")) . -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com === Bigotry against people with serious diseases is still bigotry.