emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Toby Cubitt <tsc25@cantab.net>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Allow %<num> escapes to capture templates, expanded	to text	entered in <num>'th prompt
Date: Mon, 23 Apr 2012 17:08:15 +0200	[thread overview]
Message-ID: <20120423150815.GA3139@c3po> (raw)
In-Reply-To: <87d36y8v7c.fsf@gnu.org>

On Mon, Apr 23, 2012 at 02:54:31PM +0200, Bastien wrote:
> Toby Cubitt <tsc25@cantab.net> writes:
> 
> > Currently, capture templates provide no way of prompting for some text,
> > then inserting that text into multiple places in the template.
> 
> Thanks for the patch, I applied it.
> 
> I also updated the documentation in doc/org.texi -- please provide
> documentation in the patch containing code changes if relevant next
> times.

Ah, I forgot about the texinfo docs. Sorry. I'll try to remember them
next time.

> One tiny thing: the documentation said that %0 would match the first
> occurrence but while I tested the first occurrence was on %1, which
> looks better to me.
> 
> So I updated the documentation accordingly.

Yes, you're right, it starts from 1. That's what comes of adding the
documentation later, as an after-thought...(bad programming practice!)

And now I look at it again, there's a bug in the regexp (my fault): the
regexp "%\\([1-9]\\)+" currently matches any sequence of 1-9's, which is
clearly wrong. The two possible fixes are:

- Drop the final + from the regexp so that it reads "%\\([1-9]\\)", to
  match any single non-zero digit, as per the current docs. (The regexp
  group must be kept, because it's used later in the code.)

- Change the regexp to "%\\([1-9][0-9]*\\)", to match any positive
  integer, and update the docs accordingly.

It seems unlikely anyone would ever want to refer back to more than
9 prompts in a capture template. (I think back-references in Emacs
regexps are similarly limited to single digits).

On the other hand, whenever someone says "it seems unlikely anyone would
ever want to..." about Emacs, up pops someone who wants to do exactly
that ;-)

Your call. If you tell me which fix you prefer, I can supply a patch if
you want one (though the change is so small I imagine it'll be easier to
do it manually).

Toby
-- 
Dr T. S. Cubitt
Mathematics and Quantum Information group
Department of Mathematics
Complutense University
Madrid, Spain

email: tsc25@cantab.net
web:   www.dr-qubit.org

  reply	other threads:[~2012-04-23 15:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-22 22:47 [PATCH] Allow %<num> escapes to capture templates, expanded to text entered in <num>'th prompt Toby Cubitt
2012-04-23 12:54 ` Bastien
2012-04-23 15:08   ` Toby Cubitt [this message]
2012-04-23 15:12     ` Bastien
2012-04-23 15:29       ` Toby Cubitt
2012-04-23 15:34         ` Bastien
2012-04-24  9:57         ` Bastien
2012-04-24 11:05           ` Toby Cubitt
2012-04-24 12:51             ` Bastien
2012-04-24 13:37               ` Toby Cubitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120423150815.GA3139@c3po \
    --to=tsc25@cantab.net \
    --cc=emacs-orgmode@gnu.org \
    --cc=toby-dated-1336403321.785626@dr-qubit.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).