Commit Graph

2846 Commits

Author SHA1 Message Date
Bastien Guerry e7cfb4d13c org.el (org-mode-flyspell-verify): Require 'org-element so that `org-element-affiliated-keywords' is defined
* org.el (org-mode-flyspell-verify): Require 'org-element so
that `org-element-affiliated-keywords' is defined.

Thanks to Matt Lundin for reporting this.
2013-03-25 17:01:18 +01:00
Bastien Guerry dd3fbd246e Fix commit a9880a
* org.el (org-toggle-tags-groups): Correctly highlight group
tags.
(org-tags-expand): Expand tags as words, with characters ?@
and ?_ being considered words constituents.
2013-03-25 15:53:21 +01:00
Bastien Guerry d26431cea4 org.el (org-set-regexps-and-options): Don't read setup files from read-only buffers
* org.el (org-set-regexps-and-options): Don't read setup files
from read-only buffers.
(org-file-contents): When no-error is non-nil, throw a less
intrusive message.

This commit prevents Gnus to try reading arbitrary files on your machine
when opening a message with #+SETUPFILE keyword.

In general, it prevents reading a setup file from any read-only buffer.

Thanks to Eric Abrahamsen and Andreas Leha for reporting this.
2013-03-25 06:45:33 +01:00
Bastien Guerry 0f175ea128 org.el (org-refile-cache-check-set): More informative message
* org.el (org-refile-cache-check-set): More informative message.

Thanks to Samuel Wales for raising this.
2013-03-25 05:47:45 +01:00
Bastien Guerry a9880a7710 Implement group tags
* org-agenda.el (org-tags-view): Set the matcher after
preparing the agenda, as `org-tag-groups-alist-for-agenda'
might be needed.
(org-agenda-filter-make-matcher): New parameter `filter' and
`type'.  Handle group tags.
(org-agenda-filter-expand-tags): New function.
(org-agenda-filter-apply): Handle group tags.

* org.el (org-blank-before-new-entry): Tiny docstring fix.
(org-tag-alist-for-agenda): Add docstring.
(org-tag-groups-alist-for-agenda): New global variable.
(org-tag-groups-alist): New buffer-local variable.
(org-tag-alist, org-tag-persistent-alist): Handle :grouptags.
(org-group-tags): New option.
(org-toggle-group-tags): New command.
(org-mode-map): Bind `org-toggle-group-tags' to `C-c C-x q'.
(org-set-regexps-and-options-for-tags): New function, factored
out from `org-set-regexps-and-options'.
(org-set-regexps-and-options): Don't handle tags, they are now
handled separately by `org-set-regexps-and-options-for-tags'.
(org-assign-fast-keys): Handle :grouptags.
(org-mode): Use `org-set-regexps-and-options-for-tags' on top
of `org-set-regexps-and-options'.
(org-fontify-meta-lines-and-blocks-1): Fontify group tags.
(org-make-tags-matcher): Expand group tags in the matcher.
(org-tags-expand): New function.
(org-tags-completion-function): Tiny code clean up.
(org-set-current-tags-overlay): Add a docstring.
(org-fast-tag-selection): Highlight group tags.
(org-agenda-prepare-buffers): Set `org-tag-alist-for-agenda'
and `org-tag-groups-alist-for-agenda'.  Don't uniquify
`org-tag-alist-for-agenda' as we may need the grouping
information for filtering in the agenda buffer.
(org-uniquify-alist): New function.

* org-pcomplete.el (pcomplete/org-mode/file-option/tags):
Handle :grouptags.

* org-faces.el (mode-line): New face for group tags.
2013-03-25 05:42:35 +01:00
Bastien Guerry 412d980f28 org.el (org-display-inline-images): Use the #+attr_html: :width syntax
* org.el (org-image-actual-width): Update docstring.
(org-display-inline-images): Use the #+attr_html: :width syntax.
2013-03-21 16:02:19 +01:00
Bastien Guerry d738f047ef org.el (org-modules): Remove deleted libraries, add new ones
* org.el (org-modules): Remove deleted libraries, add new
ones.
2013-03-21 15:53:24 +01:00
Bastien Guerry 1ab084ba73 org.el (org-entry-add-to-multivalued-property): Add the new value by appending it at the end of the line
* org.el (org-entry-add-to-multivalued-property): Add the new
value by appending it at the end of the line.

Thanks to Thorsten Jolitz for a preliminary patch for this.
2013-03-19 19:39:35 +01:00
Bastien Guerry d8969931a9 org-table.el: Fix setting of constants.
* org.el (org-set-regexps-and-options): Use
`org-table-set-constants'.

* org-table.el (org-table-set-constants): New function.
(orgtbl-ctrl-c-ctrl-c): Use it.

Thanks to Oliver Večerník for reporting problems here.
2013-03-19 19:39:34 +01:00
Bastien Guerry 6b2693393b org.el (org-options-keywords): Remove "INFOJS_OPT": it is added through ox-html.el now
* org.el (org-options-keywords): Remove "INFOJS_OPT": it is
added through ox-html.el now.
2013-03-19 19:39:34 +01:00
Bastien Guerry ecb9e5811d org.el (org-store-link): Store each line of the active as a separate link
* org.el (org-store-link): When there is an active region,
store each line as a separate link.
(org-insert-all-links): Use a default description when links
do not have one already.

* org-agenda.el (org-agenda-redo): Fix typo in code.
2013-03-19 19:39:12 +01:00
Bastien Guerry 00e8ef22f2 org.el (org-link-display-format): Fix docstring
* org.el (org-link-display-format): Fix docstring.
2013-03-19 19:39:12 +01:00
Bastien Guerry e89c5f2164 org.el: Remove outdated FIXME 2013-03-19 19:39:11 +01:00
Bastien Guerry e996307556 org.el (org-set-font-lock-defaults): Set font-lock keywords correctly for plain links
* org.el (org-set-font-lock-defaults): Set font-lock keywords
correctly for plain links.
2013-03-19 10:58:12 +01:00
Nicolas Goaziou fffc2b980c Fix commenting lines beginning with a link
* lisp/org.el (org-comment-or-uncomment-region): Fix commenting lines
  beginning with a link.
2013-03-17 20:22:47 +01:00
Nicolas Goaziou 6a85a85e99 org-table: Fix "Invalid use of `\\' in replacement text"
* lisp/org.el (org-delete-char): Fix "Invalid use of `\\' in
  replacement text" when deleting a character in a cell which contains
  "\"
2013-03-17 18:21:45 +01:00
Christopher Schmidt ac2415ae38 org.el: Make the hijacker commands of orgstruct-mode try both general and specialised (function) key bindings
* org.el (orgstruct-make-binding): Make the hijacker commands
try both general and specialized (function) key bindings.
2013-03-15 22:16:47 +01:00
Nicolas Goaziou b56a648e9c Fix `org-export-backends' value
* lisp/org.el (org-export-backends): Remove duplicates.  Reorder
  alphabetically.
2013-03-15 21:00:39 +01:00
Christopher Schmidt 404cf23fa9 org.el: Use most general key bindings in orgstruct-mode
* org.el (orgstruct-setup): Generalize key bindings.
2013-03-15 19:50:04 +01:00
Christopher Schmidt ce6c048305 org.el: Emulate outline's buffer-invisiblity-spec in orgstruct-mode
* org.el (orgstruct-mode): Emulate outline's
buffer-invisiblity-spec.
2013-03-15 19:49:49 +01:00
Bastien Guerry 437c626b04 org.el (org-export-backends): Add new backends
* org.el (org-export-backends): Add new backends.
2013-03-15 16:53:35 +01:00
Bastien Guerry 791ebc6e7b Add macros fontifications
* org.el (org-set-font-lock-defaults): Fontify macros.

* org-faces.el (org-macro): New face.
2013-03-15 13:23:24 +01:00
Bastien Guerry ad95f19be1 org.el (org-clone-subtree-with-time-shift): Don't prompt for a time shift by default
* org.el (org-clone-subtree-with-time-shift): Only prompt for
a time shift when the entry at point has a time stamp and when
the command is called with a universal prefix argument.
2013-03-15 13:13:14 +01:00
Bastien Guerry 72bb08f0b8 org.el (org-execute-file-search-functions): Docstring fix
* org.el (org-execute-file-search-functions): Docstring fix.
2013-03-15 13:01:29 +01:00
Bastien Guerry 3ec38f5c06 org.el (org-map-entries): Use `save-window-excursion'
* org.el (org-map-entries): Use `save-window-excursion'.
2013-03-14 14:40:00 +01:00
Bastien Guerry e0e699ab3d org-compat.el: New compatibility function `org-defvaralias'
* org-compat.el (org-defvaralias): Newcompatibility function.
* org.el:
* org-agenda.el:
* org-list.el:
* org-gnus.el:
* org-clock.el: Use it.
2013-03-14 13:53:52 +01:00
Bastien Guerry df31fe6bdd org-agenda.el: New agenda entry types :scheduled* and :deadline*
* org.el (org-deadline-time-hour-regexp)
(org-scheduled-time-hour-regexp): New buffer local variables.
(org-set-regexps-and-options): Set the new variables.

* org-agenda.el (org-agenda-custom-commands-local-options):
Add :deadline* and :scheduled* to the list of possible agenda
entry types.
(org-agenda): Implement a new agenda type agenda* with :scheduled*
and :deadline* replacing :scheduled and :deadline respectively in
agenda entry types.  In such agenda, only scheduled and deadline
items with a time specification [h]h:mm will be considered.
(org-agenda-entry-types): Document the new agenda entry types
:scheduled* and :deadline*.
(org-agenda-list): New parameter `with-hour'.  Use :scheduled* and
:deadline*.
(org-agenda-get-day-entries): Handle :scheduled* and :deadline*.
(org-agenda-get-deadlines, org-agenda-get-scheduled): New
parameter `with-hour'.  Use `org-deadline-time-hour-regexp' or
`org-scheduled-time-hour-regexp' as the search string if needed.
(org-agenda-to-appt): Use :scheduled* and :deadline* by default,
as other scheduled and deadline items don't have a time spec and
cannot be turned into appointments.  Trim bracket links and use
only the description as the appointment text.
(org-agenda-get-restriction-and-command): Add
default description for the agenda* view.
(org-agenda-run-series): Handle agenda* views.
2013-03-13 19:52:25 +01:00
Bastien Guerry bc7dbcab9f org.el (org-insert-heading): DTRT when in a narrowed region
* org.el (org-insert-heading): DTRT when in a narrowed region.

* org-compat.el (org-buffer-narrowed-p): New compatibility
function.

Thanks to Samuel Wales for reporting this problem.
2013-03-13 10:57:49 +01:00
Bastien Guerry 5f38a32664 org.el (org-time-string-to-absolute): Tiny docstring fix
* org.el (org-time-string-to-absolute): Tiny docstring fix.
2013-03-12 17:31:17 +01:00
Christopher Schmidt 03b1edf3c1 org.el: Disable {pro,de}motion commands in orgstruct-mode if orgstruct-heading-prefix-regexp is non-nil
* org.el (orgstruct-heading-prefix-regexp): Change default
value to nil.
(orgstruct-error): Use user-error if available.
(orgstruct-setup): Disable bindings of {pro,de}motion commands
if orgstruct-heading-prefix-regexp is non-nil.  Always use
org-outline-level.
(orgstruct-make-binding): New argument
DISABLE-WHEN-HEADING-PREFIX.
2013-03-10 14:41:04 +01:00
Bastien Guerry 855ee9a0f3 Make `org-toggle-item' and `org-toggle-heading' behave more alike
* org.el (org-toggle-item): Convert all normal lines as items when
there is a region, and only convert the first line when called
with a universal prefix argument.  This is consistent with the
behavior of `org-toggle-heading'.
(org-toggle-heading): When the region contains only normal lines,
a universal prefix arg will only convert the first line.  This is
more consistent with `org-toggle-item'.
2013-03-07 12:06:46 +01:00
Bastien Guerry 3a11c24b99 org.el (orgstruct-setup): Add `org-ctrl-c-minus' and `org-ctrl-c-star'
* org.el (orgstruct-setup): Add `org-ctrl-c-minus' and
`org-ctrl-c-star'.
2013-03-07 11:26:02 +01:00
Nicolas Goaziou ee9372653f ox-latex: Introduce LATEX_HEADER_EXTRA keyword
* lisp/ox-latex.el (latex): Introduce new buffer keyword.
(org-latex-template): Use new keyword.
* lisp/ox-beamer.el (org-beamer-template): Use new keyword.
* lisp/org.el (org-create-formula--latex-header): Use new keyword.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Use new
  keyword.

Previewing of LaTeX snippets takes account of LATEX_HEADER keywords.
LATEX_HEADER_EXTRA keyword allows to specify some header lines that
will not be used for building snippets.
2013-03-07 09:02:29 +01:00
Bastien Guerry 2ad8369015 org.el: Update `customize-package-emacs-version-alist' and fix :version/:package-version keywords
* org.el (customize-package-emacs-version-alist): Update
`customize-package-emacs-version-alist'.

* ox-texinfo.el (org-export-texinfo)
(org-texinfo-filename, org-texinfo-classes)
(org-texinfo-format-headline-function)
(org-texinfo-node-description-column)
(org-texinfo-active-timestamp-format)
(org-texinfo-link-with-unknown-path-format)
(org-texinfo-tables-verbatim)
(org-texinfo-table-scientific-notation)
(org-texinfo-text-markup-alist)
(org-texinfo-format-drawer-function)
(org-texinfo-format-inlinetask-function)
(org-texinfo-info-process):
* ox-odt.el (org-odt-format-drawer-function)
(org-odt-format-headline-function)
(org-odt-format-inlinetask-function):
* ox-md.el (org-export-md, org-md-headline-style): Fix :version
and :package-version keywords.
2013-03-06 17:31:28 +01:00
Bastien Guerry 10c735f18a org.el (org-time-clocksum-use-effort-durations): Use nil as the default
* org.el (org-time-clocksum-use-effort-durations): Don't set to t
by default as it will change many clocktables out there.  Let the
user decides whether she wants to turn this on.
2013-03-06 10:37:50 +01:00
Bastien Guerry c00a43e857 Revert `org-agenda-dim-blocked-tasks' and `org-agenda-inhibit-startup' to their previous default (t and nil)
* org.el (org-agenda-inhibit-startup): Revert to nil as the default.
* org-agenda.el (org-agenda-dim-blocked-tasks): Revert to t as the
default.

The reason for this reversion is that that users expect the agenda to
DTRT by default, and that it's better not to change the previous default
in general.  Also, users who need to speed up their agenda are probably
long time users with big and numerous agenda files, and it's easier for
them to find these variables than it is for newbies to find out why the
agenda does not DTRT.

If users want to speed up their agenda, they can now read advice here:
http://orgmode.org/worg/agenda-optimization.html
2013-03-06 10:35:19 +01:00
Aaron Ecay 8f7b95091e * lisp/org.el (org-set-font-lock-defaults): include link targets
The org-target face is created in org-faces.el, but never used for
font-locking.  This patch fixes that.
2013-03-06 09:03:38 +01:00
Nicolas Goaziou 733697a779 Fix export back-ends status when reloading Org
* lisp/org.el (org-export-backends): Do not reset list of loaded
  back-ends to variable's value after a reload.
2013-03-06 00:27:28 +01:00
Bastien Guerry 8a2e3e2a79 Add :version and :package-version
* ox.el (org-export-snippet-translation-alist)
(org-export-coding-system, org-export-in-background)
(org-export-async-init-file, org-export-invisible-backends)
(org-export-dispatch-use-expert-ui):
* ox-texinfo.el (org-texinfo-filename, org-texinfo-classes)
(org-texinfo-format-headline-function)
(org-texinfo-node-description-column)
(org-texinfo-active-timestamp-format)
(org-texinfo-link-with-unknown-path-format)
(org-texinfo-tables-verbatim)
(org-texinfo-table-scientific-notation)
(org-texinfo-text-markup-alist)
(org-texinfo-format-drawer-function)
(org-texinfo-format-inlinetask-function)
(org-texinfo-info-process):
* ox-man.el (org-man-tables-centered)
(org-man-table-scientific-notation)
(org-man-source-highlight, org-man-source-highlight-langs)
(org-man-pdf-process, org-man-logfiles-extensions):
* ox-html.el (org-html-allow-name-attribute-in-anchors)
(org-html-coding-system, org-html-divs):
* ox-ascii.el (org-ascii-text-width)
(org-ascii-headline-spacing, org-ascii-indented-line-width)
(org-ascii-paragraph-spacing, org-ascii-charset)
(org-ascii-underline, org-ascii-bullets)
(org-ascii-links-to-notes)
(org-ascii-table-keep-all-vertical-lines)
(org-ascii-table-widen-columns)
(org-ascii-table-use-ascii-art)
(org-ascii-format-drawer-function)
(org-ascii-format-inlinetask-function):
* org.el (org-modules, org-export-backends)
(org-highlight-latex-and-related, orgstruct-setup-hook):
* org-attach.el (org-attach-git-annex-cutoff):
* org-archive.el (org-archive-file-header-format):
* org-agenda.el (org-agenda-todo-ignore-time-comparison-use-seconds):
* ob-python.el (org-babel-python-hline-to)
(org-babel-python-None-to):
* ob-ditaa.el (org-ditaa-eps-jar-path):
* ob-core.el (org-babel-results-keyword): Add :version and
:package-version.

* ox-ascii.el: Use utf-8-emacs as the file coding system.
2013-03-05 16:38:33 +01:00
Bastien Guerry 834db79fc5 org.el (org-insert-heading): If the current item has a checkbox, insert the new item with a checkbox
* org.el (org-insert-heading): If the current item has a
checkbox, insert the new item with a checkbox.
2013-03-05 11:17:05 +01:00
Bastien Guerry b472884e5e org.el (org-insert-heading): Don't delete spaces in empty headlines
* org.el (org-insert-heading): Don't delete spaces in empty
headlines.
2013-03-05 08:28:26 +01:00
Bastien Guerry 73e4421140 Cosmetic fix in comment. 2013-03-04 20:11:15 +01:00
Bastien Guerry 21c0289f3c Move org-mew.el, org-vm.el, org-w3m.el, org-wl.el to contrib/.
* org.el (org-modules): Do not include org-mew.el, org-vm.el,
org-w3m.el, org-wl.el as these files are now part of contrib/.

* org-w3m.el:
* org-vm.el:
* org-w3m.el:
* org-wl.el: Move to contrib/.

The purpose behind this change is to prepare a future split between
org-mode.git and org-contrib.git: org-mode.git will contain all files
that are directly relevant to GNU Emacs, while org-contrib.git will
contain files that are more peripheral and/or from authors who cannot
assign their copyright to the FSF.

This is *not* a way do downgrade those files, it is a way to prepare
org-contrib.org so that it gets more attention and more contributors,
thanks to the fact that there is no legal barrier to contribute to it.
2013-03-04 18:28:26 +01:00
Nicolas Goaziou 4857f4c566 Small refactoring
* lisp/org.el (org-fill-paragraph): Small refactoring to
  `org-fill-paragraph'.
2013-03-04 15:58:41 +01:00
Nicolas Goaziou 8b5e59c8c4 Small fix to `org-fill-paragraph'
* lisp/org.el (org-fill-paragraph): Do not look for table cells in
  a paragraph.
2013-03-04 15:56:10 +01:00
Bastien Guerry 5c4c8afe07 Fix bug in `org-schedule' and `org-deadline' introduced in fc8824.
Thanks to Eric Abrahamsen for reporting this.
2013-03-04 12:22:08 +01:00
Bastien Guerry 6ca7953db5 org.el (org-show-context): Don't try to fix ellipsis when showing a subtree in agenda
* org.el (org-show-context): Don't try to fix ellipsis when
showing a subtree in agenda.

Thanks to James Harkins for reporting this.
2013-03-04 07:38:04 +01:00
Bastien Guerry fac8191daf Various fixes related to `org-insert-heading'.
* org.el (org-previous-line-empty-p): New parameter to allow
checking next line.  Add a docstring.
(org-insert-heading): Handle two universal prefix arguments as
advertized in the docstring.  Don't insert new lines when
creating a heading after the first heading in the current
subtree.
(org-insert-heading-respect-content): New optional argument
arg, passed to `org-insert-heading'.

* org.texi (Structure editing): Update documentation for
`org-insert-heading-or-item'.
(Plain lists, Relative timer): Update index entry.

* org-mobile.el (org-mobile-edit): Use correct parameters for
`org-insert-heading-respect-content'.
2013-03-03 13:38:26 +01:00
Bastien Guerry c187bd7cab org.el (org-mode): Remove syntax entries
* org.el (org-mode): Remove syntax entries.
2013-03-03 08:02:53 +01:00
Bastien Guerry 76fa979225 org.el (org-mode): New default value for *-of-defun-function
* org.el (org-mode): Use `org-backward-element' and
`org-forward-element' for `beginning-of-defun-function' and
`end-of-defun-function': this allows using C-M-a and C-M-e
before the first headline.
2013-03-03 07:53:11 +01:00
Nicolas Goaziou cbf2fcf60c Update `org-export-backends'
* lisp/org.el (org-export-backends): Update variable.  `infojs' was
  merged into ox-html and `freemind' was added.
2013-03-02 22:48:09 +01:00
Bastien Guerry fc8824791d org.el (org-deadline, org-schedule): Set the warning/delay relatively to the timestamp
* org.el (org-deadline, org-schedule): When called with two
universal prefix arguments, set the warning time or the delay
relatively to the current timestamp, not to today's date.

Thanks to Sébastien Vauban for reporting this.
2013-03-02 11:24:30 +01:00
Bastien Guerry 94e501cab8 Merge branch 'maint' 2013-03-01 18:58:05 +01:00
Bastien Guerry 7afbf870f2 org.el (org-mode): Set `paragraph-start'
* org.el (org-mode): Set `paragraph-start'.

The value inherited from outline-mode is wrong because
outline mode does not enforce the space after the star
while Org-mode does.

outline-mode value for `paragraph-start' prevents filling
paragraphs containing a string like " -- *bold*": in this
case, fill-paragraph might think that the "*b" part of the
string starts a paragraph while it does not.

Thanks to Samuel Wales for reporting this.
2013-03-01 18:57:55 +01:00
Bastien Guerry f9d041f9bf Revert "org.el (org-speed-command-activate): Don't activate speed commands within blocks"
This reverts commit 7c8e854d9c.
2013-02-28 09:35:14 +01:00
Bastien Guerry 96aa12eebc Revert "org.el (org-speed-command-activate): Only forbid in src code blocks"
This reverts commit 8ac66556bb.
2013-02-28 09:35:04 +01:00
Bastien Guerry 8ac66556bb org.el (org-speed-command-activate): Only forbid in src code blocks
* org.el (org-speed-command-activate): Only forbid in src code
blocks.
2013-02-27 23:43:25 +01:00
Bastien Guerry a002158b9f Merge branch 'maint' 2013-02-27 18:14:16 +01:00
Nicolas Richard 8e22aafe9a Fix b6b509b one more time. 2013-02-27 18:13:48 +01:00
Bastien Guerry 6cc600d074 Merge branch 'maint' 2013-02-27 17:28:38 +01:00
Bastien Guerry 01748861d4 Fix b6b509b again.
Thanks to Nicolas Richard for reporting this.
2013-02-27 17:28:33 +01:00
Bastien Guerry 692f053d80 Merge branch 'maint' 2013-02-27 14:49:46 +01:00
Bastien Guerry c8c26c8e19 Enhance the fix implemented in 41882a99
* org.el (org-mode): Add `org-fix-ellipsis-at-bol' to
`isearch-mode-end-hook' so that any isearch fixes the problem with
ellipsis on the first line.
(org-fix-ellipsis-at-bol): New defsubst.
(org-show-context, org-isearch-end): Use it.
2013-02-27 14:49:30 +01:00
Bastien Guerry 936f13c629 Merge branch 'master' of orgmode.org:org-mode 2013-02-27 13:27:56 +01:00
Nicolas Goaziou 8506223b27 Fix function declaration 2013-02-27 10:36:07 +01:00
Bastien Guerry 7c8e854d9c org.el (org-speed-command-activate): Don't activate speed commands within blocks
* org.el (org-speed-command-activate): Don't activate speed
commands within blocks.

Thanks to Sébastien Vauban for reporting this.
2013-02-27 10:22:20 +01:00
Nicolas Goaziou c086ea0832 Fix infloop when user provides a wrong value for `org-highlight-latex-and-related'
* lisp/org.el (org-do-latex-and-related): Fix infloop when user
  provides a wrong value for `org-highlight-latex-and-related'. In
  this case, `org-latex-and-related-regexp' is the empty string and
  generates an infloop since matching it doesn't move point.
2013-02-27 10:00:40 +01:00
Nicolas Goaziou bb45dd1074 Fix function declaration 2013-02-26 23:47:07 +01:00
Nicolas Goaziou 677433d9b4 ox: Fix bug where properties read from setupfile overwrite previous properties
* lisp/ox.el (org-export--get-inbuffer-options): Remove an optional
  argument.  Rewrite function.  Properties read from a setupfile do
  not overwrite anymore previously computed properties.
(org-export-get-environment): Apply changes to previous function.
* lisp/org.el (org-create-formula--latex-header): Apply arity change
  from `org-export--get-inbuffer-options'.
* testing/lisp/test-ox.el: Add test.
* testing/examples/setupfile.org: New file.
2013-02-26 23:35:36 +01:00
Bastien Guerry 78c4199310 Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-02-26 22:45:41 +01:00
Bastien Guerry 41882a99d3 Fix a longstanding issue with ellispsis on top of the window
* org.el (org-show-context): Remove useless catch.  Make sure the
top of the window is a visible headline.
* org.el (org-activate-plain-links): Remove unused catch.

* org-macs.el (org-get-alist-option): Return nil, not (nil), so
that `org-show-context' DTRT.

Thanks to Samuel Wales for his patience in reporting this.
2013-02-26 22:45:04 +01:00
Bastien Guerry ebe0fbd6a8 Merge branch 'maint' 2013-02-26 22:02:25 +01:00
Bastien Guerry 2b13d090d1 org.el (org-imenu-get-tree): Fix bug when matching against empty headlines
* org.el (org-imenu-get-tree): Fix bug when matching against empty
headlines.

Thanks to Jambunathan for reporting this.
2013-02-26 22:02:13 +01:00
Bastien Guerry 5bdb84ba74 org.el: Add :version and :package-version to `orgstruct-heading-prefix-regexp' 2013-02-26 18:23:53 +01:00
Bastien Guerry 3ee229dcd1 Merge branch 'master' of orgmode.org:org-mode 2013-02-26 18:21:40 +01:00
Bastien Guerry 295b0ba5d1 Bump :version to "24.4" and add :package-version.
The options updated are those who won't be in Emacs 24.3.
2013-02-26 18:21:28 +01:00
Christopher Schmidt ff92e688dd org.el: Rebind structure-related variables within org-run-like-in-org-mode
* org.el (orgstruct-make-binding): Rebind structure-related
variables within org-run-like-in-org-mode.
2013-02-26 17:52:32 +01:00
Bastien Guerry f20ae92e88 Merge branch 'maint' 2013-02-26 16:28:36 +01:00
Bastien Guerry 2efbd0f138 org.el (org-overview): Stay on current line
* org.el (org-overview): Stay on current line.

This circumvents a bug in hide-sublevels which displays the
"..." ellipsis on top of the window when hiding levels that
are past the middle of the window---at least this is the
way I could understand the problem.

Thanks to Samuel Wales for reporting the problem, Arun Persaud and
William for creating reproducible recipes, Suvayu Ali, Nick Dokos
and Achim Gratz for further help.
2013-02-26 16:28:30 +01:00
Bastien Guerry 95375260e5 Fix commit 83bebfd880 2013-02-26 16:13:39 +01:00
Bastien Guerry 04fd44708a Merge branch 'maint' 2013-02-26 15:14:42 +01:00
Bastien Guerry 6042e93fa4 org.el (org-map-entries): Fix docstring
* org.el (org-map-entries): Fix docstring.

Thanks to Christopher Schmidt for reporting this.
2013-02-26 15:14:37 +01:00
Bastien Guerry 889d671277 Fix typo. 2013-02-26 14:37:05 +01:00
Bastien Guerry 83bebfd880 Use `org-autoload' instead of `autoload'. 2013-02-26 14:35:25 +01:00
Nicolas Goaziou 58fc1b4bf4 Use `org-latex-compile' when processing formulas with imagemagick
* lisp/ox-latex.el (org-latex-compile): Add an optional argument for
  latex snippet previewing.
* lisp/org.el (org-create-formula-image-with-imagemagick): Use
  `org-latex-compile' instead of rewriting it.
2013-02-26 13:43:48 +01:00
Bastien Guerry 0c9b468545 Merge branch 'maint' 2013-02-26 11:09:06 +01:00
Bastien Guerry 467f7ff9b5 Fix commit b6b509.
Thanks to Sébastien Vauban for reporting this.
2013-02-26 11:08:50 +01:00
Nicolas Goaziou ef6c1498b4 Re-introduce #+latex_header value when previewing a LaTeX snippet
* lisp/org.el (org-create-formula--latex-header): New function.
(org-create-formula-image-with-dvipng,
org-create-formula-image-with-imagemagick): Use new function.

This functionality was removed in
0484c5c64d, when clearing out old export
framework from "org.el".
2013-02-26 00:04:05 +01:00
Nicolas Goaziou 11033a97dc sub/superscript character has to follow a non-blank character
* lisp/org.el (org-match-substring-regexp,
  org-match-substring-with-braces-regexp): Update regexp.
  A sub/superscript cannot start anymore at the beginning of the line
  or after a space.
2013-02-25 21:53:14 +01:00
Nicolas Goaziou e024beaa7e org-element: Refactor object parsing
* lisp/org-element.el (org-element--get-next-object-candidates):
  Rewrite function to simplify algorithm.
(org-element-context, (org-element--parse-elements)): Apply
changes.
* lisp/org.el (org-fill-paragraph): Apply changes.
2013-02-25 21:52:54 +01:00
Christopher Schmidt de5ff236d4 org.el: Bind org-shift* in orgstruct-mode.
* org.el (orgstruct-setup): Bind org-shift*.
2013-02-25 17:12:21 +01:00
Bastien Guerry 372a3ecda8 New compatibility macro `org-with-silent-modifications'
* org-macs.el: Don't define `with-silent-modifications' for
emacsen that don't have it.

* org-compat.el (org-with-silent-modifications): New
compatibility macro.

* org.el (org-refresh-category-properties)
(org-refresh-properties, org-entry-blocked-p)
(org-agenda-prepare-buffers):
* org-indent.el (org-indent-remove-properties)
(org-indent-add-properties):
* org-colview.el (org-columns-display-here)
(org-columns-remove-overlays, org-columns-quit)
(org-columns-edit-value, org-columns-compute-all)
(org-columns-compute, org-agenda-colview-compute):
* org-clock.el (org-clock-sum): Use the compatibility macro
`org-with-silent-modifications' instead of
`with-silent-modifications'.

Thanks to Achim for a preliminary patch.
2013-02-25 11:44:27 +01:00
Bastien Guerry 988240d5fd Merge branch 'master' of orgmode.org:org-mode 2013-02-25 11:21:25 +01:00
Bastien Guerry 662cb98684 org.el (org-sort-remove-invisible): Remove emphasis markers
* org.el (org-sort-remove-invisible): Remove emphasis markers.
2013-02-25 11:12:55 +01:00
Bastien Guerry 1ab872c51e Revert "org.el (org-sort-remove-invisible): Truly returns the visible part of the string"
This reverts commit 30d6dc8baa.
2013-02-25 11:00:55 +01:00
Nicolas Goaziou f26547e320 Fix false positives in `org-in-verbatim-emphasis'
* lisp/org.el (org-in-verbatim-emphasis): Fix false positive when
  point is just after the closing emphasis marker.
2013-02-25 10:53:19 +01:00
Bastien Guerry 30d6dc8baa org.el (org-sort-remove-invisible): Truly returns the visible part of the string
* org.el (org-sort-remove-invisible): Use defsust.  Do not
only check against invisible links, truly returns the visible
part of the string.

Thanks to François Pinard for suggesting this.
2013-02-25 10:24:29 +01:00
Bastien Guerry 5700a0eb2d Merge branch 'master' of orgmode.org:org-mode 2013-02-25 10:15:49 +01:00
Bastien Guerry 49772f1f26 Remove hidden links when comparing items or entries.
* org.el (org-sort-remove-invisible): Add a docstring.
(org-sort-entries): Remove hidden links when comparing
entries.

* org-list.el (org-sort-list): Remove hidden links when
comparing list items.

Thanks to François Pinard for suggesting this.
2013-02-25 10:15:44 +01:00
Nicolas Goaziou 8838585a42 Do not move point when filling a table
* lisp/org.el (org-fill-paragraph): Do not move point when filling
  a table.
* testing/lisp/test-org.el: Add test.
2013-02-25 10:06:58 +01:00
Bastien Guerry bd4750f24a Merge branch 'maint'
Conflicts:
	lisp/org-clock.el
	lisp/org.el
2013-02-24 19:19:01 +01:00
Bastien Guerry ac44a7af06 Move `org-at-clock-log-p' from org-clock.el to org.el
* org.el (org-at-clock-log-p): Delete.
* org-clock.el (org-at-clock-log-p): Move here.
2013-02-24 19:16:33 +01:00
Bastien Guerry 109f7314a3 org.el (org-agenda-prepare-buffers): Don't use `with-silent-modifications' too early
* org.el (org-agenda-prepare-buffers): Don't use
`with-silent-modifications' too early.

Thanks to J. David Boyd for reporting this and to Florian Beck for
confirming the problem.
2013-02-24 10:49:30 +01:00
Bastien Guerry 43c8aa02cc Use `with-silent-modifications' instead of `org-unmodified' when it makes sense
* org-macs.el: Add a comment on when to use `org-unmodified'
and when to use `with-silent-modifications'.

* org-colview.el (org-columns-display-here)
(org-columns-remove-overlays, org-columns-quit)
(org-columns-edit-value, org-columns-compute-all)
(org-columns-compute, org-agenda-colview-compute):
* org-clock.el (org-clock-sum):
* org.el (org-refresh-category-properties)
(org-refresh-properties, org-entry-blocked-p)
(org-agenda-prepare-buffers): Use `with-silent-modifications'
instead of `org-unmodified'.

Thanks to Stefan Monnier for reminding me about `with-silent-modifications'!
2013-02-23 14:57:51 +01:00
Bastien Guerry 64aae2fd29 Merge branch 'maint' 2013-02-23 14:42:45 +01:00
Bastien Guerry b6b509bfd4 org.el (org-tsr-regexp-both): Don't activate dates in links
* org.el (org-tsr-regexp-both): Don't activate dates in links.
(org-activate-dates): Change match boundaries according to the
new value of `org-tsr-regexp-both'.

Thanks to Richard Huang for reporting a related issue.
2013-02-23 14:42:11 +01:00
Bastien Guerry 8ee6c13c7f Fix typo: an headline -> a headline. 2013-02-23 13:47:44 +01:00
Bastien Guerry 917cc1d516 Merge branch 'master-wip' 2013-02-23 11:48:21 +01:00
Bastien Guerry 82899fa841 Merge `org-with-buffer-modified-unmodified' into `org-unmodified'
* org.el (org-entry-blocked-p): Use `org-unmodified' instead
of `org-with-buffer-modified-unmodified'.
(org-agenda-prepare-buffers): Fix indentation.

* org-macs.el (org-unmodified): Rename from
`org-with-buffer-modified-unmodified'.
(org-with-buffer-modified-unmodified): Delete.
2013-02-23 11:44:24 +01:00
Achim Gratz 570e0f93dc Replace `time-to-seconds´ with `org-float-time´
* lisp/org.el (org-current-time): Replace call to obsolete function
  `time-to-seconds´ with a call to compatibility function
  `org-float-time´.

XEmacs 21.5 already has float-time, so we may not need a compatibility
function here depending on what version of XEmacs introduced it and
what is the earliest version that Org is supposed to still support.
2013-02-23 10:20:03 +01:00
Achim Gratz ff064f89c2 Reverting "Fix compiler warning."
This reverts commit da22d29eb2.
2013-02-23 10:10:38 +01:00
Christopher Schmidt 14df16d931 org.el: Use longest form when translating keys.
* org.el (orgstruct-setup): Use longest form when translating
keys.
2013-02-22 19:50:51 +01:00
Bastien Guerry 71c3c12b39 Use `user-error' when moving or modifying the element at point is not possible
* org.el (org-move-subtree-down, org-forward-element)
(org-backward-element):
* org-table.el (org-table-previous-field)
(org-table-move-column, org-table-move-row):
* org-list.el (org-move-item-down, org-move-item-up)
(org-cycle-item-indentation): Use `user-error' when moving or
modifying the element at point is not possible.
2013-02-22 10:31:35 +01:00
Bastien Guerry da22d29eb2 Fix compiler warning.
Thanks to Thomas S. Dye for reporting this.
2013-02-21 22:11:30 +01:00
Bastien Guerry 2bd97a5ae6 org.el (org-fill-paragraph): Fill using `org-mode-transpose-word-syntax-table'
* org.el (org-fill-paragraph): Fill using
`org-mode-transpose-word-syntax-table'.

Thanks to Samuel Wales for raising this issue.
2013-02-20 16:46:27 +01:00
Bastien Guerry 272ca45701 Fix compiler warnings.
Thanks to Achim Gratz for reporting these problems.
2013-02-19 20:32:09 +01:00
Suvayu Ali 57aa34f6b2 Change default org-mark-subtree speed command
* org.el (org-speed-commands-default): Change default binding
  for org-mark-subtree from "." to "@" to be more consistent with "C-c
  @".

TINYCHANGE
2013-02-19 18:02:31 +01:00
Bastien Guerry 23057a57b4 Fix compiler warning 2013-02-19 13:02:14 +01:00
Bastien Guerry d1e57bd884 Fix bug with `org-clock-rounding-minutes'
* org-clock.el (org-clock-in, org-clock-in-last): Tell
`org-current-time' to always return a past time.

* org.el (org-current-time): New argument `past' to force
returning a past time when rounding.

If (setq org-clock-rounding-minutes 5) and time is 12:33
the clock start time would be 12:35, and the clock mode-line
would display 0:-2.  The fix ensures the rounded value is
always in the past.
2013-02-19 12:40:33 +01:00
Bastien Guerry 8a910bd40b Merge branch 'master-fixes' into master-new 2013-02-19 11:05:04 +01:00
Bastien Guerry 19a0b74ce6 org.el (org-set-effort, org-property-next-allowed-value): When needed, update the current clock effort time
* org.el (org-set-effort, org-property-next-allowed-value):
When needed, update the current clock effort time.
2013-02-19 10:24:59 +01:00
Bastien Guerry efb2ce9c12 org.el: Fix `org-next-link' and use it for `org-previous-link'
* org.el (org-next-link): New parameter `search-backward'.
Fix bug when at a link with no 'org-link face, e.g., in a DONE
headline.  Throw a message instead of an error.
(org-previous-link): Use `org-next-link'.
2013-02-19 10:02:34 +01:00
Bastien Guerry e8a6b56db9 Fix commit 5cdf84ea68
* org.el (org-mode): Don't make characters from
`org-emphasis-alist' word constituants.
(org-mode-transpose-word-syntax-table): Rename from
`org-syntax-table'.
(org-transpose-words): Use
`org-mode-transpose-word-syntax-table'.

Thanks to Achim Gratz and T.F. Torrey for reporting the broken tests.
2013-02-18 18:07:04 +01:00
Carsten Dominik 4708a4804f Merge branch 'fix-spacing-when-insert-new-heading' 2013-02-18 09:29:04 +01:00
Carsten Dominik 65b404427e Improve spacing when inserting new headline after end of subtree
When using C-RET to insert a new headline, the new headline was
inserted after arbitrary amounts of whitespace at the end of the
subtree.  This whitespace is now shrunk, to avoid unnatural spacing.

* lisp/org.el (org-insert-heading): Shrink whitespace at end of
  subtree when `org-insert-heading-respect-content' is on.
2013-02-18 09:28:05 +01:00
Nicolas Goaziou af9191d18b ox-taskjuggler: Port TaskJuggler back-end to new export framework
* contrib/lisp/ox-taskjuggler.el: New file.
* lisp/org.el (org-export-backends): Add new back-end in customize
  interface.
2013-02-18 00:26:39 +01:00
Bastien Guerry c4d8d26d1d org.el (org-toggle-ordered-property): Delete the drawer "PROPERTIES" if empty
* org.el (org-entry-delete, org-delete-property): New optional
arg delete-empty-drawer, a string, to delete any empty drawer
with that name.
(org-toggle-ordered-property): Delete the drawer "PROPERTIES"
if empty.
2013-02-16 23:04:12 +01:00
Bastien Guerry 3128edcbf8 Merge branch 'maint' 2013-02-16 22:29:42 +01:00
Bastien Guerry f8b15da24c org.el (org-set-tags-command): Fix bug.
* org.el (org-set-tags-command): Fix bug when setting tags for
multiple headlines in an active region.

Do not set the end of the region back to the beginning of the
previous headline.
2013-02-16 22:29:34 +01:00
Nicolas Goaziou 5f095f5909 Fontify latex, entities and sub/superscript again
* lisp/org-faces.el (org-latex-and-related): Renamed from
  `org-latex-and-export-specials', which wasn't appropriate anymore.
* lisp/org.el (org-highlight-latex-and-related,
  org-latex-and-related-regexp): New variables.
(org-compute-latex-and-related-regexp, org-do-latex-and-related): New
function, revived from a previous commit.
(org-set-regexps-and-options, org-set-font-lock-defaults): Use new
functions.
2013-02-16 22:19:37 +01:00
Nicolas Goaziou 9a6127d77b Small cleanup
* lisp/org.el (org-set-regexps-and-options): Remove reference to
  LATEX_CLASS and beamer back-end.
2013-02-16 21:27:34 +01:00
Nicolas Goaziou 48da6a46e0 Move macro expansion code into its own library
* lisp/org-macro.el: New file.
* lisp/org.el: Remove macro code.
* lisp/ox.el: Require new library
* testing/lisp/test-org-macro.el: New file.
* testing/lisp/test-org.el: Remove macro test.
2013-02-16 15:55:30 +01:00
Bastien Guerry 9c4d403ada org.el (org-mode): Use org-unmodified during startup initialization for functions that may be inhibited
* org.el (org-mode): Use org-unmodified during startup
initialization for functions that may be inhibited.
2013-02-16 14:10:14 +01:00
Achim Gratz 213e168c53 Merge branch 'maint' 2013-02-16 11:15:37 +01:00
Achim Gratz 45d52bfb4c fix wrong key for org-reload uncompiled in menu
* lisp/org.el (org-org-menu): Use correct key "C-u C-c C-x !" to do
  org-reload uncompiled in the menu.

The key binding has been changed in 8619361669 due to a conflict with
agenda mode, but the menu entry had never been corrected.
2013-02-16 11:14:35 +01:00
Bastien Guerry 88c79b8071 Clean up commented code. 2013-02-16 07:56:43 +01:00
Bastien Guerry 1298b6468a Merge branch 'master' of orgmode.org:org-mode 2013-02-15 16:48:40 +01:00
Bastien Guerry 7306e04193 org.el (org-return-follows-link): Mention that this does not affect the behavior of RET in tables
* org.el (org-return-follows-link): Mention that this does not
affect the behavior of RET in tables.
2013-02-15 16:44:58 +01:00
Nicolas Goaziou 0b6a2e2416 C-c C-c does nothing when at a blank line
* lisp/org.el (org-ctrl-c-ctrl-c): Do nothing when at a blank line,
  but still run `org-ctrl-c-ctrl-c-final-hook'.
2013-02-15 16:14:15 +01:00
Nicolas Goaziou dbadb2916b Remove unnecessary `ignore-error'
* lisp/org.el (org-end-of-line): Remove `ignore-error'.  It is
  unnecessary since 3bc8c9647a.
2013-02-15 16:14:09 +01:00
Bastien Guerry 5cdf84ea68 org.el: New functions `org-drag-line-forward' and `org-drag-line-backward'
* org.el (org-syntax-table, org-transpose-words): Delete.
(org-mode): Syntactically Define {} and <> as parentheses.
(org-drag-line-forward, org-drag-line-backward): New
functions.
(org-shiftmetaup, org-shiftmetadown): Fall back on the new
functions instead of throwing an error.

M-up/down used to drag a line up or down in contexts where it could not do
another move.  When org-element.el was integrated to core, dragging line by
line was not possible anymore since a line is not an "element".  This
commit reintroduces the ability to drag a line up/down with S-M-<up/down>.
2013-02-15 12:12:15 +01:00
Bastien Guerry 7afb487a28 org.el (org-make-org-heading-search-string): Don't use statistic or [x/y] cookies when creating a link
* org.el (org-make-org-heading-search-string): Don't use
statistic or [x/y] cookies when creating a link.

Thanks to William Lechelle for reporting this.
2013-02-15 11:15:57 +01:00
Nicolas Goaziou 3f421f309f Small fixes to completion
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option): Allow
  completion for ATTR_ prefixed keywords.
* lisp/org.el (org-options-keywords): Add missing colons.
2013-02-14 17:50:58 +01:00
Bastien Guerry 6aa8829a1a Merge branch 'maint' 2013-02-14 10:40:04 +01:00
Bastien Guerry 981c6db3d7 Enhance doc wrt interactions between `org-startup-folded' and `org-agenda-inhibit-startup'
* org.el (org-startup-folded):
* org.texi (Visibility cycling): Suggest to set
`org-agenda-inhibit-startup' to nil if user wants the startup
visibility settings to be honored in any circumstances.

Thanks to Tassilo for pointing this.
2013-02-14 10:39:54 +01:00
Bastien Guerry 7a4d026b67 Remove references to the DocBook exporter
* org.el (org-emphasis-alist, org-protecting-blocks):
* org-src.el (org-edit-src-find-region-and-lang):
* org-list.el (org-list-forbidden-blocks):
* org-footnote.el (org-footnote-forbidden-blocks): Remove
references to the deleted DocBook exporter.

* org.texi (Top, Markup, Initial text, Images and tables)
(@LaTeX{} fragments, @LaTeX{} fragments, Exporting)
(Export options, JavaScript support, Beamer class export):
Remove references to the DocBook export, which has been
deleted.
(History and Acknowledgments): Mention that DocBook has been
deleted, suggest to use the Texinfo exporter instead, then to
convert the .texi to DocBook with makeinfo.
(Links in ODT export, Tables in ODT export): Fix indices.
2013-02-14 09:48:36 +01:00
Grégoire Jadi 7ddeb6fdf5 org.el (org-startup-with-latex-preview): New option
* org.el (org-startup-with-latex-preview): New option.
(org-startup-options): New startup keywords for the new
option.
(org-mode): Turn on/off LaTeX preview depending on the new
option.
2013-02-14 09:15:38 +01:00
Nicolas Goaziou 19eae5dc00 org-pcomplete: Fix completion for file options
* lisp/org.el (org-options-keywords): Add missing colons.
* lisp/org-macs.el (org-default-options): Removed function.
* lisp/org-pcomplete.el (org-command-at-point): Fix bug with some file
  options.
(pcomplete/org-mode/file-option/x): Removed macro.
(pcomplete/org-mode/file-option): Refactor code.
(pcomplete/org-mode/file-option/author,
pcomplete/org-mode/file-option/date,
pcomplete/org-mode/file-option/title,
pcomplete/org-mode/file-option/tags,
pcomplete/org-mode/file-option/select_tags,
pcomplete/org-mode/file-option/priorities,
pcomplete/org-mode/file-option/language,
pcomplete/org-mode/file-option/filetags,
pcomplete/org-mode/file-option/exclude_tags,
pcomplete/org-mode/file-option/email): New functions.
2013-02-14 08:48:18 +01:00
Bastien Guerry 791a8d6bcc Merge branch 'maint' 2013-02-13 19:27:01 +01:00
Bastien Guerry 6d7142b145 Fix `org-insert-heading-respect-content'
* org-mobile.el (org-mobile-edit): DTRT when inserting a heading
in an invisible region.

* org.el (org-insert-heading-respect-content): New
`invisible-ok' parameter.  Add docstring.
(org-insert-todo-heading-respect-content): Add docstring.

Thanks to James Harkins for the extra detailed reports and
the proposed solutions, both for org.el and org-mobile.el.
2013-02-13 19:26:50 +01:00