Commit Graph

201 Commits

Author SHA1 Message Date
Nicolas Goaziou 795b7c5ca0 org-footnote: add speedups when prompted for a label
* lisp/org-footnote.el (org-footnote-new): use ido or iswitchb when
  available when prompted for a label. Also rename a local variable to
  avoid confusion with an existing function.
2011-08-06 11:56:14 +02:00
Nicolas Goaziou a41541c033 org-footnote: remove an unused variable
* lisp/org-footnote.el (org-footnote-label-history): removed variable
(org-footnote-new): remove call to that variable.
2011-08-06 11:56:14 +02:00
Nicolas Goaziou c3631aae7e org-footnote: prevent LaTeX export from catching footnotes in protect environment
* lisp/org-footnote.el (org-footnote-in-valid-context-p): check
  `org-protected' property before allowing to match a footnote.
(org-footnote-at-reference-p): remove an obsolete test. It's now done
in the previous function.
2011-07-30 12:38:06 +02:00
Nicolas Goaziou 520bd1feac org-footnote: don't move point for unsuccessful search of the next footnote
* lisp/org-footnote.el (org-footnote-next-reference-or-definition): if
  no more footnote is found, be sure to go back to the original
  position. Otherwise, point might be left on a footnote-like element
  that has been dished out.
2011-07-29 21:06:38 +02:00
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00:00
Nicolas Goaziou 3b5132bf8f org-footnote: fix bug when inserting a footnote in a non-Org buffer
* lisp/org-footnote.el (org-footnote-create-definition): when skipping
  already written footnotes definition, the algorithme would assume
  each one was only one-line long.
2011-07-25 11:26:06 +02:00
Nicolas Goaziou ed685f8a7e org-footnote: in Message mode, do not allow footnotes in headers
* lisp/org-footnote.el (org-footnote-in-valid-context-p): avoid cited
  lines and headers in message-mode.
(org-footnote-at-reference-p): remove check for cited lines, this is
now handled by the previous function. Refactor.
2011-07-19 12:52:06 +02:00
Nicolas Goaziou 6278c73cdb org-footnote: add more checks to avoid false-positives
* lisp/org-footnote.el (org-footnote-at-reference-p): test if match is
  in cited text, when replying to a message.
(org-footnote-new): do not create a new footnote at bol, as it might
be seen as a definition.
(org-footnote-at-definition-p): ignore definitions in forbidden
blocks, as it is already the case for references.
2011-07-18 22:01:03 +02:00
Bastien Guerry 5c53026d32 Fix (a lot of) compiler warnings.
Also introduce `org-pop-to-buffer-same-window' as a compatibility
function for Emacs =>24.1.
2011-07-18 19:25:10 +02:00
Bastien Guerry c3748fcd80 Don't use `outline-regexp' anymore.
Use `org-outline-regexp' instead or `outline-regexp'.  Also use the
new defconst `org-outline-regexp-bol' to match `org-outline-regexp'
at the beginning of line.

* org.el (org-outline-regexp-bol): New defconst.
(org-outline-level, org-set-font-lock-defaults, org-cycle)
(org-overview, org-content, org-flag-drawer)
(org-first-headline-recenter, org-insert-todo-heading)
(org-map-region, org-move-subtree-down, org-paste-subtree)
(org-kill-is-subtree-p, org-context-p, org-refile)
(org-refile-new-child, org-toggle-comment, org-todo)
(org-add-planning-info, org-add-log-setup, org-scan-tags)
(org-set-tags, org-insert-property-drawer)
(org-prepare-agenda-buffers, org-preview-latex-fragment)
(org-speed-command-default-hook, org-check-for-hidden)
(org-toggle-item, org-toggle-heading)
(org-indent-line-function, org-set-autofill-regexps)
(org-fill-paragraph, org-toggle-fixed-width-section)
(org-yank-generic, org-yank-folding-would-swallow-text)
(org-first-sibling-p, org-goto-sibling)
(org-goto-first-child, org-show-entry): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-remember.el (org-remember-handler): Use
`org-outline-regexp-bol'.

* org-mouse.el (org-mouse-match-todo-keyword, org-mode-hook)
(org-mouse-move-tree, org-mouse-transform-to-outline): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-macs.el (org-with-limited-levels)
(org-get-limited-outline-regexp): Use `org-outline-regexp'.

* org-indent.el (org-indent-outline-re)
(org-indent-refresh-section, org-indent-refresh-to): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-html.el (org-export-as-html): Use
`org-outline-regexp-bol'.

* org-footnote.el (org-footnote-at-definition-p)
(org-footnote-normalize): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-exp.el (org-export-preprocess-string): Don't redefine
`outline-regexp'.

* org-docbook.el (org-export-as-docbook): Use
`org-outline-regexp-bol'.

* org-colview.el (org-columns, org-columns-compute): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-colview-xemacs.el (org-columns, org-columns-compute):
Use `org-outline-regexp-bol'.

* org-clock.el (org-clock-insert-selection-line)
(org-clock-in, org-clock-out, org-dblock-write:clocktable):
Use `org-outline-regexp' and `org-outline-regexp-bol'.

* org-ascii.el (org-export-as-ascii)
(org-export-ascii-push-links): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-archive.el (org-archive-to-archive-sibling)
(org-archive-all-done): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-agenda.el (org-agenda, org-search-view)
(org-agenda-list-stuck-projects, org-agenda-get-timestamps)
(org-agenda-get-progress, org-agenda-get-blocks): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
2011-07-18 09:42:11 +02:00
Nicolas Goaziou 4ae030e027 org-footnote: fix some comment strings 2011-07-16 10:45:40 +02:00
Nicolas Goaziou 6d9e90454f org-footnote: don't insert footnote section without footnotes
* lisp/org-footnote.el (org-footnote-normalize): footnote section
  should be inserted only if there are footnotes to insert.
2011-07-16 10:43:46 +02:00
Nicolas Goaziou 86418aad12 org-footnote: fix compiler warning
Thanks to Matthew Sauer for catching this.
2011-07-16 09:24:59 +02:00
Nicolas Goaziou b824725df1 org-footnote: fix problem with normalize in message-mode
* lisp/org-footnote.el (org-footnote-at-definition-p,
  org-footnote-normalize): do not grab signature in the definition of
  the last footnote.
2011-07-15 19:24:59 +02:00
Nicolas Goaziou 9495979cdd org-footnote: fix doc-string typo 2011-07-14 09:49:50 +02:00
Nicolas Goaziou 31e92984bc Correctly export lists in footnotes (take 2)
* lisp/org-exp.el (org-export-preprocess-string): add the possibility
  to call recursively the function. Also change order of some function
  calls. Comment export process for footnotes.
* lisp/org-footnote.el (org-footnote-normalize): change the export
  specific parameter to hold properties of export. Thus, the function
  can send every footnote definition in the buffer through
  `org-export-process-string'.
2011-07-13 18:15:52 +02:00
Nicolas Goaziou dc85f45194 More forbidden blocks for lists and footnotes
* lisp/org-footnote.el (org-footnote-forbidden-blocks): add missing
  exporter specific blocks.
* lisp/org-list.el (org-list-forbidden-blocks): ditto.
2011-07-10 10:33:25 +02:00
Nicolas Goaziou e98a2e4b4d org-footnote: refuse to insert a footnote in an inappropriate context 2011-07-08 18:08:34 +02:00
Nicolas Goaziou abe9550309 Forbid footnotes in some contexts
* lisp/org.el (org-in-block-p): new function.
* lisp/org-footnote.el (org-footnote-forbidden-blocks): new variable.
(org-footnote-in-valid-context-p): new function.
(org-footnote-at-reference-p): use new function. Allow inline
footnotes to start at bol.
2011-07-08 18:08:34 +02:00
Bastien Guerry 8567831ff8 org-footnote.el: silent compiler warning.
Declare  `org-bracket-link-regexp'.

Thanks to Achim Gratz for catching this.
2011-07-06 22:58:40 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Nicolas Goaziou de0fcdffa4 org-footnote: distinguish footnotes from links
* lisp/org-footnote.el (org-footnote-at-reference-p): verify that what
  looks like a footnote doesn't belong to a link.
(org-footnote-next-reference-or-definition): check more strictly
footnote definitions.
2011-07-05 14:01:44 +02:00
Bastien Guerry 71eff05694 org-footnote.el: fix a few compiler warnings.
Thanks to Achim Gratz for catching them.
2011-07-03 21:32:41 +02:00
Nicolas Goaziou bab6c5bf5a org-footnote: find correct reference when two footnotes are side-by-side
* lisp/org-footnote.el (org-footnote-at-reference-p): first check if
  point is at the beginning of a footnote. Indeed `org-in-regexp'
  first checks backwards and might find an incorrect footnote if they
  are side-by-side.
2011-06-30 19:14:18 +02:00
Eric Schulte f06e712834 org-footnote: declare function for the compiler
* lisp/org-footnote.el (org-fill-paragraph): Declare function for the
  compiler.
2011-06-29 16:33:39 -07:00
Nicolas Goaziou 560804b4d8 org-footnote: better action on footnotes with no definition associated
* lisp/org-footnote.el (org-footnote-action): offer to create
  definition when none is found.
2011-06-29 15:26:22 +02:00
Nicolas Goaziou 66537c520c org-footnote: strenghten footnotes regexp
* lisp/org-footnote.el (org-footnote-re): avoid matching inactive
  time-stamps or check-box cookies.
(org-footnote-next-reference-or-definition): adapt to the new regexp.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 39d4bfa0e8 Rename org-export-footnotes-markers to org-export-footnotes-seen
* lisp/org-exp.el (org-export-footnotes-data): change docstring.
(org-export-footnotes-seen): renamed from
org-export-footnotes-markers.
* lisp/org-ascii.el (org-export-as-ascii): apply change.
* lisp/org-docbook.el (org-export-as-docbook): apply change.
* lisp/org-footnote.el (org-footnote-normalize): apply change.
* lisp/org-html.el (org-export-as-html): apply change.
* lisp/org-latex.el (org-export-as-latex): apply change.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 06a4c2c8d0 org-footnote: better normalization during export
* lisp/org-footnote.el (org-footnote-normalize): remember footnotes
  seen so far by the exporter when choosing the new marker.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 28bfc26024 org-footnote: update changes for odt exporter
* lisp/org-footnote.el (org-footnote-normalize): make use of
  `org-footnote-insert-pos-for-preprocessor'.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 30944f228e Add properties to footnotes during export
* lisp/org-footnote.el (org-footnote-normalize): add `org-footnote'
  property to footnote markers when preparing for exportation.
* lisp/org-html.el (org-export-as-html): read new property to decide
  when to export a footnote.
* lisp/org-docbook.el (org-export-as-docbook): read new property to
  decide when to export a footnote.
* lisp/org-latex.el (org-export-latex-preprocess): ensure footnote at
  column 0 cannot end a list containing it by adding
  `original-indentation' property to it.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou ab9c52fd79 Improve footnotes handling in exporters
* lisp/org-exp.el (org-export-footnotes-markers,
  org-export-footnotes-data): new variables.
  (org-export-preprocess-string): use a more explicit argument.

* lisp/org-html.el (org-export-as-html): initialize new variables.

* lisp/org-docbook.el (org-export-as-docbook): initialize new variables.

* lisp/org-latex.el (org-export-latex-footmark-seen): new variable.
  (org-export-as-latex): initialize new variables.
  (org-export-latex-preprocess): allow to export two or more footnotes
  in a row. Also permit to have footnotes refering to previously
  defined footnotes.

* lisp/org-ascii.el (org-export-as-ascii): feed org-footnote-normalize
  with data so it can normalize footnotes before first headline, or
  footnotes with their definition outside exported region.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou 9c31654077 org-footnote: remove unnecessary checks in footnotes regexps
* lisp/org-footnote.el (org-footnote-goto-definition): now,
  determining if point is at a footnote reference is entirely
  determined by `org-footnote-at-reference-p'. No need to check if
  pattern isn't at beginning of the line elsewhere.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou c9d01b3bbd org-footnote: refactor code 2011-06-29 12:00:42 +02:00
Nicolas Goaziou 1eac25a438 Adjust fontification of footnotes
* lisp/org-footnote.el (org-footnote-next-reference-or-definition):
  new function.
* lisp/org.el (org-activate-footnote-links): activate the whole
  footnote, but only fontify its label.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou 460d093da8 org-footnote: rewrite normalize function
* lisp/org-footnote.el (org-footnote-normalize): make use of changes
  to `org-footnote-at-reference-p' and creation of various functions..
  Also comment code.
  (org-footnote-get-next-reference, org-footnote-delete-references,
  org-footnote-delete-definitions): new functions
  (org-footnote-goto-previous-reference, org-footnote-all-labels,
  org-insert-footnote-reference-near-definition, org-footnote-delete):
  rewrite to use org-footnote-get-next-reference.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou 62fe76b5dc org-footnote: parse footnotes references with more accuracy
* lisp/org-footnote.el (org-footnote-re): don't end an inline footnote
  at unrelated closing square brackets.
  (org-footnote-at-reference-p): improve accuracy of the function to
  determine if point is at a reference and to extract definition of an
  inline footnote.
  (org-footnote-all-labels, org-footnote-action, org-footnote-delete,
  org-footnote-auto-adjust-maybe): make use of previous function.
2011-06-29 12:00:42 +02:00
Jambunathan K fd2e471a6f Control insertion point for footnote definitions during pre-process
PATCH-5/5 org-odt compatibility patch

From 22c4feee78ff9a1ab7cc48275ec29d322a3472a1 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 13:17:18 +0530
Subject: [PATCH 5/5] Control insertion point for footnote definitions during pre-process.

* lisp/org-footnote.el
(org-footnote-insert-pos-for-preprocessor): New variable.
(org-footnote-normalize): Use it.
2011-06-23 23:10:45 +02:00
David Maus da93c5d3f1 Declare function, silence byte compiler
* org-footnote.el (org-id-uuid): Declare function, silence byte
  compiler.
2011-06-01 08:30:52 +02:00
Puneeth Chaganti 078c01bf3b Tiny docstring fix in org-footnote.el
Hi,

A tiny docstring fix in org-footnote.el
2011-03-22 10:48:24 +01:00
Matt Lundin 743bb4e14f New option to create unique, random labels for footnotes.
* 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
2011-03-17 09:25:10 +01:00
Matt Lundin 2444744985 Prevent creation of duplicate footnote sections.
* lisp/org-footnote.el: (org-footnote-create-definition): Allow for
  footnote sections above the current footnote insertion point.

Fixes bug in which org-mode will create a new footnote section if the
current footnote section is not beneath the current insertion point.
2011-03-17 09:24:30 +01:00
Matt Lundin 51244d5344 Goto correct footnote insertion point in org-mode buffers
* lisp/org-footnote.el: (org-footnote-create-definition): Don't search
  for last footnote when in org-mode file.

The recent changes to accommodate signatures in message-mode instruct
org-mode to search for the last footnote in the entire buffer when
inserting a new footnote definition. This causes problems in org
buffers, since org-footnote-goto-local-insertion-point already finds
the correct insertion point. (I.e., the insertion point is always
placed in beneath the last footnote in the buffer, even if
org-footnote-section is nil.) This patch invokes the search only if in
non org-mode buffers.
2011-03-17 09:24:02 +01:00
Matt Lundin f920974f43 org-footnote.el: Fix sorting of footnotes.
* org-footnote.el (org-footnote-create-definition)
(org-insert-footnote-reference-near-definition): Fix sorting
of footnotes.
2011-03-09 11:42:56 +01:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Carsten Dominik 7666ba421f Version number back to 7.4 2010-12-10 18:49:40 +01:00
Carsten Dominik 76a25715c9 Bump version number to 7.5 2010-12-10 18:43:10 +01:00
Tassilo Horn 21d4acf035 Place Footnotes section before signature in all message-mode derived modes.
* org-footnote.el (org-footnote-create-definition): Place Footnotes
  section before message-signature-separator also in modes derived
  from message-mode.
2010-12-10 07:34:27 +01:00
Bastien Guerry 6630edbd0f Set version number to 7.3 2010-11-07 14:52:14 +01:00
Carsten Dominik 82af72eef7 Push version number to 7.02trans 2010-10-29 09:11:46 +02:00