From: Matt Lundin <mdl@imapmail.org>
To: Org Mode <emacs-orgmode@gnu.org>
Subject: [PATCH] New option to create unique, random labels for footnotes.
Date: Fri, 11 Mar 2011 08:50:59 -0500 [thread overview]
Message-ID: <87y64ji2hj.fsf@fastmail.fm> (raw)
* lisp/org-footnote.el: (org-footnote-auto-label): New random option
* lisp/org-footnote.el: (org-footnote-new): Create random footnote
labels with unique ids
---
| 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
--git a/lisp/org-footnote.el b/lisp/org-footnote.el
index 2ce6668..9dbd6be 100644
--- a/lisp/org-footnote.el
+++ b/lisp/org-footnote.el
@@ -113,12 +113,14 @@ t create unique labels of the form [fn:1], [fn:2], ...
confirm like t, but let the user edit the created value. In particular,
the label can be removed from the minibuffer, to create
an anonymous footnote.
+random Automatically generate a unique, random label.
plain Automatically create plain number labels like [1]"
:group 'org-footnote
:type '(choice
(const :tag "Prompt for label" nil)
(const :tag "Create automatic [fn:N]" t)
(const :tag "Offer automatic [fn:N] for editing" confirm)
+ (const :tag "Create a random label" random)
(const :tag "Create automatic [N]" plain)))
(defcustom org-footnote-auto-adjust nil
@@ -253,16 +255,22 @@ This command prompts for a label. If this is a label referencing an
existing label, only insert the label. If the footnote label is empty
or new, let the user edit the definition of the footnote."
(interactive)
- (let* ((labels (org-footnote-all-labels))
+ (let* ((labels (and (not (equal org-footnote-auto-label 'random))
+ (org-footnote-all-labels)))
(propose (org-footnote-unique-label labels))
(label
- (if (member org-footnote-auto-label '(t plain))
- propose
+ (cond
+ ((member org-footnote-auto-label '(t plain))
+ propose)
+ ((equal org-footnote-auto-label 'random)
+ (require 'org-id)
+ (substring (org-id-uuid) 0 8))
+ (t
(completing-read
"Label (leave empty for anonymous): "
(mapcar 'list labels) nil nil
(if (eq org-footnote-auto-label 'confirm) propose nil)
- 'org-footnote-label-history))))
+ 'org-footnote-label-history)))))
(setq label (org-footnote-normalize-label label))
(cond
((equal label "")
--
1.7.4.1
next reply other threads:[~2011-03-13 13:19 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-11 13:50 Matt Lundin [this message]
2011-03-17 8:25 ` [Accepted] New option to create unique, random labels for footnotes Bastien Guerry
2011-03-17 12:35 ` Scot Becker
2011-03-17 8:26 ` [PATCH] " Bastien
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=87y64ji2hj.fsf@fastmail.fm \
--to=mdl@imapmail.org \
--cc=emacs-orgmode@gnu.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).