Commit Graph

220 Commits

Author SHA1 Message Date
Nicolas Goaziou d6aa8ffa13 org-footnote: fix xhtml export
* lisp/org-footnote.el (org-footnote-normalize): be sure to separate
  the last footnote definition from the rest of the buffer.

Thanks to Jambunathan K for reporting this.
2011-08-29 13:05:57 +02:00
Nicolas Goaziou 4574cc11bc org-footnote: preserve narrowing when searching a definition
* lisp/org-footnote.el (org-footnote-get-definition): the function has
  to widen buffer if definition has not been found in the current
  narrowed part. Be sure to restore that restriction once the
  definition is found.
2011-08-25 21:12:07 +02:00
Nicolas Goaziou 065c5c3241 Make some files pass checkdoc test 2011-08-23 21:43:30 +02:00
Nicolas Goaziou 300b2e8f4e org-footnote: normalize function cleanup
* lisp/org-footnote.el (org-footnote-normalize): refactor, and fix
  some blank lines deletion.
2011-08-18 20:18:24 +02:00
Bastien Guerry a472bee33d org-footnote.el: silence byte-compiler. 2011-08-17 16:05:11 +02:00
Bastien Guerry 58f1dbccf8 Remove the "Version" header in Org libraries (leave it in org.el).
Also remove blank lines before the ";;; org*el ends here" declarations.

Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.

Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
2011-08-17 14:42:34 +02:00
Nicolas Goaziou 4178a154f3 org-footnote: do not suggest bindings outside Org
* lisp/org-footnote.el (org-footnote-goto-definition): don't send
  erroneous message: suggested bindings might not be set outside Org.
2011-08-16 23:20:33 +02:00
Nicolas Goaziou 6815e30b62 org-footnote: refactor code 2011-08-16 23:20:33 +02:00
Nicolas Goaziou a8d621c3da org-footnote: remove every footnote tag when normalizing non Org buffers
* lisp/org-footnote.el (org-footnote-normalize): effectively remove
  any footnote tag in non Org buffers, as detailled in
  org-footnote-tag-for-non-org-mode-files doc-string.
2011-08-16 23:20:33 +02:00
Nicolas Goaziou baf7dde28e org-footnote: allow non Org mode files to have no footnote tag
* lisp/org-footnote.el (org-footnote-tag-for-non-org-mode-files):
  notify the opportunity to set the variable to the empty string.
(org-footnote-normalize, org-footnote-create-definition): carefully
  check for inserted newlines and presence of the footnote
  tag.
2011-08-16 23:20:33 +02:00
Nicolas Goaziou cb906e4406 org-footnote: re-use global regexps when possible
* lisp/org-footnote.el (org-footnote-at-definition-p): re-use
  org-footnote-definition-re.
2011-08-16 23:03:04 +02:00
Nicolas Goaziou d053a72066 org-footnote: tweak footnote definition regexp
* lisp/org-footnote.el (org-footnote-definition-re): remove an useless
  group.
(org-footnote-at-definition-p): reflect removal of the group.
2011-08-16 23:03:04 +02:00
Bastien Guerry 7a18799e25 Remove arch-tag at the bottom of files. 2011-08-15 20:04:38 +02:00
Bastien Guerry 904ed18bc2 Fix copyright years for elisp files in core and contrib.
Also add "This file is not part of GNU Emacs." when this is the case.
2011-08-15 15:23:11 +02:00
Nicolas Goaziou 0bf0b75d51 org-footnote: keep byte-compiler happy 2011-08-14 10:52:14 +02:00
John Wiegley bb08fab804 org-footnote: Guard against `def' being nil, if footnote undefined 2011-08-06 19:00:06 -05:00
Nicolas Goaziou c2c7e88677 org-footnote: fix a doc-string 2011-08-06 12:11:07 +02:00
Nicolas Goaziou 2ea5f35fff org-footnote: fix function declaration 2011-08-06 11:56:15 +02:00
Nicolas Goaziou 1913f3f50c org-footnote: allow inserting inlined footnotes at column 0
* lisp/org-footnote.el (org-footnote-new): only forbid non-inlined
  footnotes at column 0, as only them can be confused with a footnote
  definition.
2011-08-06 11:56:14 +02:00
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