From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Barros Subject: Bug: org-refile-get-target offers default candidate in duplicity [9.2.6 (9.2.6-4-ge30905-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20191007/)] Date: Mon, 07 Oct 2019 15:34:08 -0300 Message-ID: <87lftw1k2n.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; format=flowed Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:51104) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iHXpo-0005rm-Nj for emacs-orgmode@gnu.org; Mon, 07 Oct 2019 14:34:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iHXpn-0003mo-52 for emacs-orgmode@gnu.org; Mon, 07 Oct 2019 14:34:16 -0400 Received: from mail-qk1-x72e.google.com ([2607:f8b0:4864:20::72e]:46321) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iHXpn-0003mO-0t for emacs-orgmode@gnu.org; Mon, 07 Oct 2019 14:34:15 -0400 Received: by mail-qk1-x72e.google.com with SMTP id 201so13561722qkd.13 for ; Mon, 07 Oct 2019 11:34:14 -0700 (PDT) Received: from ufjf-desktop (ip200131562.nat10.ufjf.br. [200.131.56.2]) by smtp.gmail.com with ESMTPSA id w85sm8527361qkb.57.2019.10.07.11.34.11 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 07 Oct 2019 11:34:12 -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" To: emacs-orgmode@gnu.org Hi Org list, `org-refile-get-target', when using `org-refile-use-outline-path' appends an "extra" slash at the end of every path, but candidates are stored in `org-refile-history' without that extra slash. As the default candidate passed to `completing-read' is the car of `org-refile-history' (the last refile target), the default candidate is provided in duplicity (once with the trailing slash and once without it). This is the case independent of the completion framework in use, but the difference is less prominent with the default `completing-read-default' and more so with, e.g., `ivy-completing-read'. Steps to reproduce: - Start 'emacs -Q' - Do an initial setup: #+begin_src emacs-lisp (package-initialize) (setq org-refile-targets '(("~/org/test.org" :maxlevel . 2))) (setq org-refile-use-outline-path 'file) (setq org-outline-path-complete-in-steps nil) (ivy-mode) ;; as mentioned, Ivy just makes things clearer, the issue is independent of it #+end_src - Open file "~/org/test.org", with contents: #+begin_src org ,* Top heading 1 ,* Top heading 2 ,** Entry 1 ,** Entry 2 #+end_src - Go to heading "Entry 1", refile it to "Top heading 1" - Go to heading "Entry 2", and call `org-refile' - Observe the available candidates, and notice "test.org/Top heading 1" is there twice, once as the default candidate, without a trailing slash, and also on the paths list, with the slash. Best regards, Gustavo Barros. Emacs : GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30) of 2019-09-30 Package: Org mode version 9.2.6 (9.2.6-4-ge30905-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20191007/) current state: ============== (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-refile-targets '(("~/org/test.org" :maxlevel . 2)) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes org-eldoc-load) org-outline-path-complete-in-steps nil org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-babel-pre-tangle-hook '(save-buffer) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-src-lang-modes '(("arduino" . arduino) ("redis" . redis) ("php" . php) ("C" . c) ("C++" . c++) ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) ("calc" . fundamental) ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) ("elisp" . emacs-lisp) ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh) ("sqlite" . sql)) org-occur-hook '(org-first-headline-recenter) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-refile-use-outline-path 'file org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("id" :follow org-id-open) ("eww" :follow eww :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("elfeed" :follow elfeed-link-open :store elfeed-link-store-link) ("doi" :follow org--open-doi-link) ("elisp" :follow org--open-elisp-link) ("file" :complete org-file-complete-link) ("ftp" :follow (lambda (path) (browse-url (concat "ftp:" path)))) ("help" :follow org--open-help-link) ("http" :follow (lambda (path) (browse-url (concat "http:" path)))) ("https" :follow (lambda (path) (browse-url (concat "https:" path)))) ("mailto" :follow (lambda (path) (browse-url (concat "mailto:" path)))) ("news" :follow (lambda (path) (browse-url (concat "news:" path)))) ("shell" :follow org--open-shell-link)) )