From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-capture: Avoid inserting a new line when the template is empty Date: Tue, 19 Jun 2018 16:40:31 +0200 Message-ID: <87r2l2et5s.fsf@nicolasgoaziou.fr> References: <41k1rf1n1d.fsf@sdf.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44996) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fVHoE-0001Th-FV for emacs-orgmode@gnu.org; Tue, 19 Jun 2018 10:40:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fVHoB-0006Yx-A5 for emacs-orgmode@gnu.org; Tue, 19 Jun 2018 10:40:38 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:47353) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fVHoB-0006WJ-35 for emacs-orgmode@gnu.org; Tue, 19 Jun 2018 10:40:35 -0400 In-Reply-To: <41k1rf1n1d.fsf@sdf.org> (xristos's message of "Sun, 03 Jun 2018 19:13:34 -0400") 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: xristos Cc: emacs-orgmode@gnu.org Hello, xristos writes: > An example of a capture workflow that I am using all the time > is the following: > > ("bbp" "Preview book" plain > (file+function "~/org/books.org.gpg" xristos/org-capture-preview-find-location) > "" :immediate-finish t :jump-to-captured t :empty-lines 0) > > The idea is that the function I provide is fully responsible for cursor positioning > and entry manipulation. To that end, I pass an empty template ("") and > set :immediate-finish to t. This has been working fine with an older Org > version but since I recently updated to Org 9.1.13, org-capture-fill-template will > insert a new line every single time which is not what I want to happen. > > The relevant code is at org-capture.el, line 1843. I think that having a way > to tell Org not to change the user-provided template at all and just use > it verbatim would be useful in the general sense. > > For my own needs, I've added an extra property (:verbatim-template) which I > check for inside org-capture-fill-template: > > @@ -1840,7 +1840,8 @@ The template may still contain \"%?\" for cursor positioning." > (goto-char (point-max)) > (skip-chars-backward " \t\n") > (delete-region (point) (point-max)) > - (insert "\n") > + (unless (org-capture-get :verbatim-template) > + (insert "\n")) IMO, :verbatim-template is not generally useful. In any case, I pushed a fix in master. Does it fix your issue? Regards, -- Nicolas Goaziou