Commit Graph

2256 Commits

Author SHA1 Message Date
Bastien Guerry 5501df1199 org.el (org-open-at-point): Don't follow timestamp within bracket links
* org.el (org-open-at-point): Don't follow timestamp within
bracket links.
2012-09-27 23:29:01 +02:00
Bastien Guerry 26b9e71f26 org.el (org-options-keywords): Add "STYLE:"
* org.el (org-options-keywords): Add "STYLE:".
2012-09-25 14:40:38 +02:00
Bastien Guerry 6c92eca5eb Small enhancements to the main Org menu.
* org.el (org-in-subtree-not-table-p): New utility function
for building the menu.
(org-org-menu): Add an item for refiling.  Check more contexts
when activating items.
(org-tree-to-indirect-buffer): Use `org-up-heading-safe'.

* org-agenda.el (org-agenda-tree-to-indirect-buffer)
(org-agenda-do-tree-to-indirect-buffer): Use argument `arg'.
2012-09-24 17:19:12 +02:00
Bastien Guerry 0906e32b15 org.el: Use nil as the default value for `org-link-to-org-use-id'
* org.el (org-link-to-org-use-id): Move to org-id.el.

* org-id.el (org-id-link-to-org-use-id): Rename from
`org-link-to-org-use-id'.  Use `nil' as the default value.
(org-link-to-org-use-id): Alias and define as obsolete.

`org-link-to-org-use-id' was previously defined in org.el but only
active when org-id.el was loaded.  This is wrong.  It now belongs
to org-id.el.

Also, as some libraries require org-id.el on the fly, a non-nil
default value for `org-link-to-org-use-id' had the side-effect of
changing the behavior of `org-store-link' behind the user's back.
Which is wrong too.  The new default value is `nil' so that, even
when a library requires org-id.el without the user noticing it,
the behavior of `org-store-link' will not change.

Users who want to keep the previous behavior can set the variable
to 'create-if-interactive-and-no-custom-id

INCOMPATIBLE
2012-09-23 11:58:49 +02:00
Bastien Guerry e1c609c6aa org.el (org-cycle-global-at-bob): Fix typo in docstring
* org.el (org-cycle-global-at-bob): Fix typo in docstring.
2012-09-22 10:55:06 +02:00
Bastien Guerry 50837906ec org.el: Fix bug in `org-insert-drawer'
* org.el (org-insert-drawer): Deactivate the mark before
trying to indent the :END: of the drawer.

Thanks to Christoph LANGE for reporting this.
2012-09-21 18:00:52 +02:00
Bastien Guerry 0d73ee4f30 org.el (org-cycle-hook): Fix tiny typo in docstring
* org.el (org-cycle-hook): Fix tiny typo in docstring.
2012-09-19 12:29:27 +02:00
Bastien Guerry 6cff4db20c org.el: Add docstrings
* org.el (org-time-string-to-time)
(org-time-string-to-seconds, org-end-of-subtree): Add a
dosctring.
2012-09-19 11:44:07 +02:00
Bastien Guerry 5b8999b708 org.el: Use "capture" instead of "remember" in docstrings.
* org.el (org-link-to-org-use-id, org-directory)
(org-default-notes-file, org-reverse-note-order)
(org-extend-today-until, org-finish-function)
(org-store-link-functions): Use "capture" instead of
"remember" in docstrings.  Also use the `org-capture' group
when it makes sense.
2012-09-18 17:18:33 +02:00
Bastien Guerry 90565f2ede org.el (org-mode): Try to set the org-hide face correctly
* org.el (org-mode): Try to set the org-hide face correctly.

Thanks to Arne Babenhauserheide for reporting a related problem.
2012-09-18 12:24:05 +02:00
Bastien Guerry 2791177308 Fix two compiler warnings 2012-09-17 18:44:58 +02:00
Bastien Guerry b0e5c6d1ad org.el: Fix plain link activation
* org.el (org-activate-plain-links): Don't try to check if we
are in a bracket link already.

This partially reverts commit ad35e2.
The problem that this commit was trying to
address needs to be rethought.

Thanks to Scott Randby for reporting this.
2012-09-13 03:10:06 +02:00
Bastien Guerry c6d0af8c5b org.el (org-read-date-analyze): Allow relative input and time string.
* org.el (org-read-date-analyze): Fix bug introduced in commit
cc5f9f: adding a time should not prevent relative answers to
be parsed correctly.

Thanks to Michael Brand for reporting this.
2012-09-13 01:28:00 +02:00
Nicolas Goaziou 9d334897e3 Don't consider tags as a replacement for a missing title in an headline
* lisp/org.el (org-set-regexps-and-options): Don't consider tags as
  a replacement for a missing title in an headline.
2012-09-09 14:03:36 +02:00
Bastien Guerry 12f46c9d00 org.el (org-version): New constant
* org.el (org-version): New constant.
2012-09-06 19:41:26 +02:00
Nicolas Goaziou dd28223042 Remove duplicate code
* lisp/org.el (org-setup-filling): Remove duplicate code.
2012-09-04 16:14:08 +02:00
Nicolas Goaziou 8d599a4eb2 Make sure fill prefix is computed from beginning of line
* lisp/org.el (org-adaptive-fill-function): Make sure fill prefix is
  computed from beginning of line.
2012-09-02 15:01:00 +02:00
Bastien Guerry 727c558c0f org.el (org-read-date): Docstring fix
* org.el (org-read-date): Docstring fix.
2012-09-02 11:22:04 +02:00
Nicolas Goaziou 4026f2e3ad Remove occasional spurious space character when auto-filling
* lisp/org.el (org-adaptive-fill-function): Remove occasional spurious
  space character when auto-filling.
2012-09-01 21:38:18 +02:00
Mike Sperber 1e678d8cba XEmacs: Make call to `fill-paragraph' work on XEmacs.
2012-08-25  Michael Sperber  <mike@xemacs.org>

* org.el (org-fill-paragraph): Pass optional argument to
`fill-paragraph' to fix compatibility with XEmacs.
2012-08-30 10:32:54 +02:00
Mike Sperber 501db42c8c XEmacs: Default `org-self-insert-cluster-for-undo' also on XEmacs.
2012-08-25  Michael Sperber  <mike@xemacs.org>

	* org.el (org-self-insert-cluster-for-undo): Default
	`org-self-insert-cluster-for-undo' also on XEmacs.
2012-08-30 10:13:52 +02:00
Bastien Guerry d2b807b1a6 Merge branch 'maint' of orgmode.org:org-mode into maint 2012-08-28 13:39:09 +02:00
Nicolas Goaziou d58d40f0c8 Externalize filling and comments initializers
* lisp/org.el (org-mode): Call external initalizers.  Now both filling
  code and comments code have their own independant part in org.el.
(org-setup-filling): Renamed from `org-set-autofill-regexps'.
(org-setup-comments-handling): New function.
2012-08-28 13:27:58 +02:00
Nicolas Goaziou 11f119776a Improve filling
* lisp/org.el (org-fill-paragraph): Refine filling in comments and in
  paragraphs.  Allow commented blank lines.  Take into consideration
  the indentation of the second line of the paragraph being filled.
(org-comment-or-uncomment-region): Rewrite function.  Now comment
region at a fixed column: the minimal indentation of the region.
(org-fill-context-prefix): Rename function into
`org-adaptive-fill-function'. Also, In a paragraph, choose the same
prefix as the current line.
2012-08-28 13:12:09 +02:00
Bastien Guerry a9b8778b0c Code clean-up: rename some agenda internals.
* org.el (org-agenda-prepare-buffers): Rename from
`org-prepare-agenda-buffers'.
(org-match-sparse-tree, org-map-entries): Use the new names.

* org-agenda.el (org-agenda-prepare-window): Rename from
`org-prepare-agenda-window'.
(org-agenda-prepare): Rename from `org-prepare-agenda'.
(org-agenda-run-series, org-agenda-prepare, org-timeline)
(org-agenda-list, org-search-view, org-todo-list)
(org-tags-view, org-agenda-list-stuck-projects, org-diary)
(org-agenda-to-appt): Use the new names.

* org-mobile.el (org-mobile-create-index-file): Ditto.

* org-icalendar.el (org-export-icalendar): Ditto.

* org-clock.el (org-dblock-write:clocktable)
(org-dblock-write:clocktable): Ditto.

* org2rem.el (org2rem): Ditto.
2012-08-28 13:11:12 +02:00
Nicolas Goaziou 805a9f019d Add missing colon to #+INCLUDE in structure template
* lisp/org.el (org-structure-template-alist): Add missing colon to
  #+INCLUDE.
2012-08-27 09:11:01 +02:00
Nicolas Goaziou 664132667b Fix org-backward-element with point on first element in section
* lisp/org.el (org-backward-element): When called at the beginning of
  first element in section, the function shouldn't return an error but
  move point to headline or point-min instead.
* testing/lisp/test-org.el: Add test.
2012-08-26 23:44:51 +02:00
Bastien Guerry 290a035bfc Fix compiler warning. 2012-08-26 23:43:30 +02:00
Nicolas Goaziou 90f6324dbf Add missing part from commit b4604d2833
* lisp/org.el (org-fill-context-prefix): Fix incorrect output when
  called at the beginning of a plain list with an affiliated keyword.
(org-fill-paragraph): Remove useless variable.
2012-08-25 15:41:01 +02:00
Nicolas Goaziou 53334042b5 Fix bug in comment-dwin when at a keyword
* lisp/org.el (org-mode): Set back comment-start-skip so comment-dwin
  can tell a keyword from a comment.
* testing/lisp/test-org.el: Add test.
2012-08-24 21:58:48 +02:00
Nicolas Goaziou 82007c40da Fix comment auto-filling
* lisp/org.el (org-set-autofill-regexps): Install new comment line
  break function.
(org-comment-line-break-function): New function.
(org-mode): Remove unnecessary line.
2012-08-24 14:57:00 +02:00
Bastien Guerry 5e7ffbe1d4 Merge branch 'master' of orgmode.org:org-mode 2012-08-24 14:23:07 +02:00
Bastien Guerry bfe3e2102f org.el: Fix the contextual check against a function
* org.el (org-contextualize-validate-key): Fix the check
against a function.
2012-08-24 14:22:45 +02:00
Nicolas Goaziou 8a97c601a1 Do not fill verse blocks contents
* lisp/org.el (org-fill-context-prefix, org-fill-paragraph): Do not
  fill verse blocks contents.  Verse blocks can be used to format
  free-form poetry, so filling has to be done manually.
* testing/lisp/test-org.el: Remove unnecessary tests.
2012-08-24 12:58:43 +02:00
Nicolas Goaziou b1223be34d Auto-filling must not break current paragraph
* lisp/org.el (org-fill-paragraph-separate-nobreak-p): New function.
(org-set-autofill-regexps): Introduce new predicate.
(org-fill-item-nobreak-p): Remove function.
2012-08-24 12:58:42 +02:00
Bastien Guerry 10dbdf5fc2 Update the handling of agenda/capture keys contextualization.
* org.el (org-contextualize-keys): Rename from
`org-contextualize-agenda-or-capture'.  Fix normalization to
handle empty key replacement string.
(org-contextualize-validate-key): Rename from
`org-contexts-validate'.  Allow checking against a custom
function.

* org-agenda.el (org-agenda-custom-commands-contexts): Update.
(org-agenda): Use `org-contextualize-keys'.

* org-capture.el (org-capture-templates-contexts): Ditto.

* org.texi (Templates in contexts, Setting Options): Update to
reflect changes in how contexts options are processed.
2012-08-24 12:18:05 +02:00
Bastien Guerry 9d73d6d680 org.el (org-contextualize-agenda-or-capture): Normalize contexts
* org.el (org-contextualize-agenda-or-capture): Normalize
contexts.
2012-08-24 12:18:02 +02:00
Bastien Guerry 6c94ea0518 Implement key replacement depending on the contexts.
* org.el (org-contextualize-agenda-or-capture): Handle key
replacement depending on the contexts.

* org-capture.el (org-capture-templates-contexts): Allow to
use the context as a way to replace one capture template by
another one.

* org-agenda.el (org-agenda-custom-commands-contexts): Allow
to use the context as a way to replace one agenda custom
command by another one.

* org.texi (Templates in contexts): Document the new structure
of the variables `org-agenda-custom-commands-contexts' and
`org-capture-templates-contexts'.

In the setup below, X is not a real capture template, it is just
an alias to templates A and B in .txt and .el files.  A and B are
deactivated by default in all files.

(setq org-capture-templates
      '(("X" "Nothing but an alias")
	("A" "AAAA" entry (file+headline [...]))
	("B" "BBBB" entry (file+headline [...]))))

(setq org-capture-templates-contexts
      '(("A" "A" ((not-in-file . ".*")))
	("B" "B" ((not-in-file . ".*")))
	("X" "A" ((in-file . "\\.txt")))
	("X" "B" ((in-file . "\\.el")))))

Thanks to Carsten for suggesting this "key-replacement" idea!
2012-08-24 12:17:58 +02:00
Bastien Guerry d378c7b41b Implement context filtering for agenda commands and capture templates.
* org.el (org-contextualize-agenda-or-capture)
(org-rule-validate): New functions, implement context
filtering for agenda commands and capture templates.

* org-agenda.el (org-agenda-custom-commands-contexts): New
option.
(org-agenda): Use it.

* org-capture.el (org-capture-templates-contexts): New option.
(org-capture-select-template): Use it.

* org.texi (Templates in contexts): Document the new option
`org-capture-templates-contexts'.
(Storing searches): Document the new option
`org-agenda-custom-commands-contexts'.

This idea comes from Sylvain Rousseau, who implemented a similar
feature with org-context.el: https://github.com/thisirs/org-context

This implementation is a bit simpler and more general.  Simpler
because it relies on existing templates, no need to define other
contextual ones.  More general because contexts can be defined
wrt files and modes.

Thanks *very much* to Sylvain for paving the way -- certainly a
great addition to Org.
2012-08-23 11:08:47 +02:00
Bastien Guerry 841d949d9c org.el: Delete `org-beginning-of-defun' and `org-end-of-defun'
* org.el (org-beginning-of-defun, org-end-of-defun): Delete.
(org-mode): Set `beginning-of-defun-function' and
`end-of-defun-function' directly.
2012-08-22 19:02:39 +02:00
Bastien Guerry 53c230a9f6 org.el: Fix bug: include links abbreviations when completing
* org.el (org-insert-link): Fix bug: include links
abbreviations when completing.
2012-08-22 12:24:14 +02:00
Bastien Guerry 655c7fb360 org.el: Small docstring clean-up
* org.el (org-ds-keyword-length, org-make-tags-matcher):
Docstring clean-up.
2012-08-22 02:39:18 +02:00
Bastien Guerry 0782bea46e org.el: Add "#+MATHJAX" and "#+INFOJS_OPT" to the list of keywords for completion
* org.el (org-options-keywords): Add "#+MATHJAX" and
"#+INFOJS_OPT" to the list of keywords for completion.
2012-08-21 12:34:02 +02:00
Bastien Guerry 4eb8b05a5b org.el (org-src-prevent-auto-filling): Remove unused and useless option
* org.el (org-src-prevent-auto-filling): Remove unused and
useless option.
2012-08-20 19:22:26 +02:00
Bastien Guerry d6db2566d9 org.el: Autoload `org-element-at-point' instead of requiring org-element it in some commands
* org.el (org-element-at-point): Autoload.
(org-element-up): Remove useless declaration.
(org-fill-context-prefix, org-fill-paragraph)
(org-mark-element, org-narrow-to-element)
(org-transpose-element, org-unindent-buffer): Do not require
org-element.
2012-08-20 13:31:22 +02:00
Bastien Guerry dd7b0aa171 org.el (org-fill-paragraph): Require org-element
* org.el (org-fill-paragraph): Require org-element.
2012-08-20 08:35:54 +02:00
Bastien Guerry b4df37076d Don't use :version "24.3" until Emacs 24.3 is released and/or Org sync'ed in Emacs 2012-08-20 07:49:16 +02:00
Bastien Guerry 8393a76f78 Always use the compatibility function `org-region-active-p'
* org.el (org-create-math-formula): Use the compatibility
function `org-region-active-p'.

* org-odt.el (org-export-as-odf): Ditto.

* ob.el (org-babel-demarcate-block): Ditto.
2012-08-20 05:45:25 +02:00
Bastien Guerry 58a6d823ee org.el: Fix bug in `org-mark-subtree'
* org.el (org-mark-subtree): Maybe call `org-mark-element'
interactively.
(org-mark-element): Only mark further elements when called
interactively.

For example, M-x org-export RET calls `org-mark-subtree' and
should not mark the further element when an element is already
marked.

Thanks To Bernt Hansen for reporting a bug related to this.
2012-08-20 05:40:25 +02:00
Bastien Guerry 7d117bd981 org.el: Add (require 'org-element) for more org-element commands
* org.el (org-mark-element, org-narrow-to-element)
(org-transpose-element): Require org-element.
2012-08-20 04:36:38 +02:00