Commit Graph

2744 Commits

Author SHA1 Message Date
Bastien Guerry 98a5f3df32 Don't allow special edit in verbatim blocks.
* org.el (org-edit-special): Don't edit in verbatim blocks.

* org-src.el (org-edit-src-code): Ditto.
2012-12-23 17:54:42 +01:00
Bastien Guerry 953b920c9b Merge branch 'maint' 2012-12-23 17:31:57 +01:00
Bastien Guerry f0a64ab3b5 org-table.el: Use `org-delete-backward-char' which doesn't modify match data anymore
* org-table.el (org-table-fedit-lisp-indent)
(orgtbl-self-insert-command): Use `org-delete-backward-char'
instead of `backward-delete-char'.

* org.el (org-delete-backward-char, org-delete-char): Save
match data.
2012-12-23 17:31:41 +01:00
Bastien Guerry c2e662cf79 Revert "Save match data in `org-delete-backward-char' and `org-delete-char'"
This reverts commit c800836d7c.
2012-12-23 17:26:45 +01:00
Bastien Guerry 8c53cc820e Merge branch 'master-fixes' 2012-12-23 17:20:55 +01:00
Bastien Guerry 9f1f0535be Merge branch 'maint' 2012-12-23 17:20:51 +01:00
Bastien Guerry 54731c965d Merge branch 'maint-fixes' into maint 2012-12-23 17:20:38 +01:00
Bastien Guerry 9f4ecf79b1 org.el (org-edit-special): Fix bug about editing special blocks "example" and "verbatim"
* org.el (org-structure-template-alist): Add verbatim.
(org-edit-special): Fix bug about editing special blocks
"example" and "verbatim".
2012-12-23 17:18:47 +01:00
Bastien Guerry c800836d7c Save match data in `org-delete-backward-char' and `org-delete-char'
* org.el (org-delete-backward-char, org-delete-char): Save
match data (`delete-backward-char' and `delete-char' don't.)
(org-enable-table-editor, org-insert-heading)
(org-remove-timestamp-with-keyword, org-self-insert-command):
Use `delete-backward-char' instead of `backward-delete-char'.

* org-table.el (org-table-fedit-lisp-indent)
(orgtbl-self-insert-command): Ditto.

* org-latex.el (org-export-latex-subcontent): Ditto.

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

* org-ascii.el (org-export-ascii-preprocess): Ditto.

Thanks to Vegard Vesterheim for raising this issue and proposing a patch,
and to Carsten for pointing at the root of the problem.
2012-12-23 12:30:40 +01:00
Bastien Guerry 2861bfc712 org.el (org-mode-map): Use `org-remap' instead of binding `M-t'
* org.el (org-mode-map): Use `org-remap' instead of binding
`M-t' to `org-transpose-words' directly.
2012-12-23 12:15:24 +01:00
Bastien Guerry e815ab5f8e Merge branch 'master-fixes' 2012-12-23 00:34:49 +01:00
Bastien Guerry b6eede54b2 Merge branch 'maint' 2012-12-23 00:34:42 +01:00
Bastien Guerry a0fd83976a Fix compiler warnings 2012-12-23 00:32:40 +01:00
Bastien Guerry 0f7500704e org.el: Introduce a tiny syntax table for a new function `org-transpose-words'
* org.el (org-syntax-table): New variable.
(org-transpose-words): New command, simply wrapping the new
syntax table around `transpose-words'.
(org-mode-map): Bind `org-transpose-words' to `M-t'.

Thanks to Eric Abrahamsen for this idea.
2012-12-23 00:31:14 +01:00
Bastien Guerry 416357c82c org.el (org-store-link): Use keyword at point as the search string
* org.el (org-store-link): Use keyword at point as the search
string.

Thanks to Thomas Dye for reporting this.
2012-12-22 23:20:47 +01:00
Bastien Guerry a0be28eeb6 org.el (org-make-org-heading-search-string): Rewrite using org-element.el
* org.el (org-make-org-heading-search-string): Rewrite using
org-element.el.  Not an interactive function anymore.
2012-12-22 23:06:08 +01:00
Bastien Guerry f015ae5b8b org.el (org-todo): Ignore the comment string when changing a TODO state
* org.el (org-todo): Ignore the comment string when changing
the TODO state of a headline.

Thanks to Samuel Wales for reporting this.
2012-12-22 20:16:17 +01:00
Bastien Guerry dd0c6a4440 Use `delq nil' instead of `delete nil' in a few functions
* org.el (org-store-link): Use `delq nil' instead of `delete nil'.

* org-pcomplete.el (pcomplete/org-mode/drawer): Ditto.

* org-mobile.el (org-mobile-files-alist): Ditto.
2012-12-22 19:45:26 +01:00
Bastien Guerry 1db82b269a org.el: Don't add curly braces to bracket links within internal links
* org.el (org-store-link): When creating a link to a heading
with a bracket link, don't escape this link with curly braces
as the escaped link is not active anyway; use the description
instead.  If the headline only consists of a bracket link, add
a star to the description so that the user knows this is an
internal link.

Thanks to Dave Abrahams for triggering this.
2012-12-22 19:39:03 +01:00
Bastien Guerry cb05900402 org.el (org-store-link): Remove handling w3m links from this function
* org.el (org-store-link): Update the error message when no
method is available for storing a link.  Use `user-error' for
this.  Remove handling w3m links from this function.
2012-12-22 19:18:33 +01:00
Bastien Guerry 8a78d1790e org.el (org-insert-heading, org-insert-todo-heading): C-u C-u inserts at the end of the parent subtree
* org.el (org-insert-heading, org-insert-todo-heading): A
double prefix arg force the insertion of the subtree at the
end of the parent subtree.

Thanks to Esben Stien for asking this.
2012-12-22 18:47:27 +01:00
Bastien Guerry 8fddddcbc8 org.el (org-store-link): A double prefix argument now skips module store-link functions
* org.el (org-store-link): A double prefix argument now skips
module store-link functions to only use Org's core functions.
Also, when several modular store-link functions match, ask for
which one to use.

Thanks to Jonas Bernoulli for this idea.
2012-12-22 17:13:43 +01:00
Sebastien Vauban ce4e0846b2 When pasting a copied subtree, respect the whitelines before and after
* org.el (org-copy-subtree, org-paste-subtree): Fix whitespace
handling when copying/pasting a subtree.
2012-12-22 16:22:12 +01:00
Bastien Guerry 43f7659664 org.el: Don't populate the *Messages* with messages from some functions.
* org.el (org-cycle, org-cycle-internal-global)
(org-cycle-internal-local, org-display-outline-path): Let-bind
`message-log-max' to nil so that messages don't populate the
*Messages*.

Thanks to Michael Heerdegen for raising this and to Christopher Schmidt
and Michael Brand for suggesting a fix.
2012-12-22 16:06:47 +01:00
Bastien Guerry fa17bf12d5 Merge branch 'maint'
Conflicts:
	lisp/ob.el
2012-12-21 09:33:19 +01:00
Bastien Guerry 30922bd7e9 org.el (org-edit-special): Fix docstring.
* org.el (org-edit-special): Fix docstring.
(org-in-src-block-p): Small enhancement.
2012-12-21 09:32:38 +01:00
Bastien Guerry a14d2673a7 Merge branch 'maint'
Conflicts:
	lisp/org.el
2012-12-20 16:37:35 +01:00
Bastien Guerry 8165be3aa5 org.el: Prevent link activation in source code blocks
* org.el (org-in-fixed-width-region-p): Save match data.
(org-in-src-block-p): Use case-folding for searching the block
boundaries.
(org-activate-plain-links, org-activate-angle-links)
(org-activate-bracket-links): Prevent link activation in
source code blocks.

Thanks to Sébastien Vauban for reporting a related issue.
2012-12-20 16:34:27 +01:00
Bastien Guerry 8cee987f79 Merge branch 'maint' 2012-12-20 16:16:09 +01:00
Bastien Guerry e89994a75c Revert "org.el (org-set-font-lock-defaults): Don't activate links in source code blocks and fixed-width regions"
This reverts commit f983cf1729.
2012-12-20 16:15:54 +01:00
Bastien Guerry e5539d4d58 Merge branch 'maint'
Conflicts:
	lisp/ob.el
	lisp/org.el
2012-12-20 15:54:52 +01:00
Bastien Guerry f983cf1729 org.el (org-set-font-lock-defaults): Don't activate links in source code blocks and fixed-width regions
* org.el (org-set-font-lock-defaults): Don't activate links in
source code blocks and fixed-width regions.

Thanks to Sébastien Vauban for reporting an error related to this.
2012-12-20 15:42:53 +01:00
Bastien Guerry 5de94e46e4 Merge branch 'maint' 2012-12-20 13:16:47 +01:00
Dmitry Antipov bfb9f9d10f Use (point-marker) instead of (move-marker (make-marker) (point))
* org-agenda.el (org-agenda-get-restriction-and-command): Use `point-marker'.
* org-capture.el (org-capture-place-template): Likewise.
* org-colview-xemacs.el (org-dblock-write:columnview): Likewise.
* org-colview.el (org-dblock-write:columnview): Likewise.
* org-mobile.el (org-mobile-locate-entry): Likewise.
* org-table.el (org-table-convert-region): Likewise.
* org.el (org-update-statistics-cookies): Likewise.
* contrib/lisp/org-invoice.el (org-dblock-write:invoice): Likewise.
2012-12-20 13:16:41 +01:00
Achim Gratz 12d53240e9 Merge branch 'maint' 2012-12-20 13:00:04 +01:00
Achim Gratz b508943d32 org-compat: new macro org-no-popups
* lisp/org-compat.el (org-no-popups): New wrapper macro which
  let-binds the correct variables to suppress popup windows depending
  on the Emacs version in use.  This is a compile-time decision when
  byte-compiling.

* lisp/org.el (org-get-location, org-switch-to-buffer-other-window):
  Use the wrapper `org-no-popups´ to let-bind the correct variables
  for suppression of popup windows.
2012-12-20 12:57:52 +01:00
Bastien Guerry 096c5644f7 Merge branch 'maint' 2012-12-20 11:13:39 +01:00
Bastien Guerry dfa3c74e34 Fix commit 14ffe2. 2012-12-20 11:13:30 +01:00
Bastien Guerry 9be19e32d1 Merge branch 'maint' 2012-12-20 09:39:48 +01:00
Bastien Guerry 14ffe22b8f org.el (org-open-at-point): Handle non-links correctly.
* org.el (org-open-at-point): Throw the correct error on
non-links.  Use `user-error' instead of `error'.

This fixes a bug introduced in ad35e2.

Thanks to Samuel Loury for spotting this and for submitting a patch.
2012-12-20 09:39:35 +01:00
Bastien Guerry 15426c6fd0 Merge branch 'maint' 2012-12-20 01:20:21 +01:00
Bastien Guerry fd9b262d94 Fix more compiler warnings.
* org.el (org-clock-timestamps-up): Fix declarations.

* ob-core.el (org-split-string): Declare function.
2012-12-20 01:20:17 +01:00
Bastien Guerry 963ede0a9d Fix some compiler warnings.
* org.el (org-in-fixed-width-region-p): Define before use.

* org-src.el (org-in-src-block-p): Declare function.
2012-12-20 01:16:01 +01:00
Achim Gratz ea5e54f93d Merge branch 'maint' 2012-12-19 11:05:17 +01:00
Achim Gratz 9a71174348 Backwards compatibility: check for possibly undefined variables in org-find-invisible-foreground
* lisp/org.el (org-find-invisible-foreground): Do not use the value of
  variables `default-frame-alist´, `initial-frame-alist´ and
  `window-system-default-frame-alist´ when their symbol is not bound.

This avoids an error with Emacs 22, which does not define
`window-system-default-frame-alist´, that prevents the test suite from
even starting, the other variables are treated the same as a defensive
measure.
2012-12-19 11:04:22 +01:00
Nicolas Goaziou 76cf2538bb Merge branch 'maint' 2012-12-18 19:33:47 +01:00
Nicolas Goaziou 7739e8b5f7 Small refactoring
* lisp/org.el (org-fill-paragraph): Small refactoring.
2012-12-18 19:32:50 +01:00
Bastien Guerry bbb451a7b6 Merge branch 'maint' 2012-12-18 15:09:54 +01:00
Bastien Guerry 374efdd63e org.el (org-in-fixed-width-region-p): Rewrite using org-element.el.
* org.el (org-in-fixed-width-region-p): Rewrite using
org-element.el.

Thanks to Nicolas Goaziou for suggesting this.
2012-12-18 15:09:40 +01:00
Bastien Guerry 4996e5bd8e Merge branch 'maint' 2012-12-18 15:04:43 +01:00
Bastien Guerry 9d4dd69b30 org.el (org-fill-paragraph): Fill correctly in source code block.
* org.el (org-fill-paragraph): Fill correctly in source code
block.

Thanks to Sébastien Vauban for reporting this.
2012-12-18 12:49:49 +01:00
Bastien Guerry 1af0b39c01 Allow C-S-<up/down> to sync update clock timestamps by several units.
* org-clock.el (org-clock-timestamps-up)
(org-clock-timestamps-down, org-clock-timestamps-change): Add
an optional argument N to change timestamps by several units.

* org.el (org-shiftcontrolup, org-shiftcontroldown): Ditto.

Thanks to Rainer Stengele for this idea.
2012-12-18 12:16:20 +01:00
Bastien Guerry db51b80d2b Merge branch 'maint' 2012-12-14 10:34:49 +01:00
Bastien Guerry df099175e7 org.el (org-edit-special): Fix bug about editing special environments.
* org.el (org-in-fixed-width-region-p): New function.
(org-edit-special): Fix bug: make sure to DTRT in every
special environment.  Also use the new function to check
against fixed-width environment.

Thanks to Bernt Hansen for reporting a bug in this area.
2012-12-14 10:30:16 +01:00
Bastien Guerry a7afe7df1a org.el (org-in-src-block-p): Return t when on #+BEGIN|END_SRC lines.
* org.el (org-in-src-block-p): Return t when point is at the
#+BEGIN_SRC/#+END_SRC lines unless the new optional parameter
'inside is set to t.
2012-12-14 10:02:25 +01:00
Eric Schulte ff0081847c requiring ob now pulls in all of Babel 2012-12-12 10:48:56 -07:00
Bastien Guerry cf9838febd org.el: Display the blocking heading when a TODO state change is blocked.
* org.el (org-block-entry-blocking): New variable.
(org-todo): Use it.  Also use `user-error' when a TODO state
change is blocked.
(org-block-todo-from-children-or-siblings-or-parent): Display
`org-block-entry-blocking' in the user-error message.

Thanks to Mirko Vukovic for triggering this change.
2012-12-12 15:59:27 +01:00
Bastien Guerry 1bfea39fd4 Support `C-1' prefix for `org-agenda-capture' and `org-capture'.
* org.el (org-get-cursor-date): New optional argument
WITH-TIME to add the time of the day.

* org-capture.el (org-capture): When capturing from the agenda
and with a non-nil value for `org-capture-use-agenda-date', a
`C-1' prefix will set the capture time to the HH:MM of the
current line or the current HH:MM.

* org-agenda.el (org-agenda-capture): New optional argument
WITH-TIME: when set to 1, the capture time will be set to the
HH:MM time of the current line, or the current HH:MM time.

From an agenda buffer, C-1 k (i.e. org-agenda-capture) and
C-1 M-x org-capture RET will use the time of the day of the
current line, or the current time of the day.  The date is
not changed by using this prefix.

Thanks to Rene for triggering this change.
2012-12-12 15:21:10 +01:00
Bastien Guerry 47ea16660e Merge branch 'maint' 2012-12-12 10:14:59 +01:00
Bastien Guerry 20b3d550e0 org.el: Allow to open any link within footnotes definition, not only bracket links.
* org.el (org-open-at-point): Allow to open any link within
footnotes definition, not only bracket links.
2012-12-12 08:42:55 +01:00
Bastien Guerry 5508053d63 Merge branch 'maint' 2012-12-11 18:14:00 +01:00
Bastien Guerry 7f0e7cb9b9 org.el (org-sort-entries): Bugfix: keep track of the clock marker when sorting entries.
* org.el (org-sort-entries): Bugfix: keep track of the clock
marker when sorting entries.  Enhance the docstring.
2012-12-11 18:13:41 +01:00
Bastien Guerry c3a0dc11a3 org-table.el: Ensure table coordinates are correctly displayed when sorting.
* org-table.el (org-table-sort-lines): Ensure coordinates are
correctly displayed when sorting.

* org.el (org-do-sort): Enhance prompt.
2012-12-11 17:29:38 +01:00
Nicolas Goaziou 31052f1c91 Fix radio targets detection
* lisp/org.el (org-all-targets): Fix radio targets detection when
  object is directly followed by a non-whitespace character.

* testing/lisp/test-org.el: Add test.
2012-12-04 23:50:26 +01:00
Bastien Guerry 6c82226406 org.el (org-latex-preview-ltxpng-directory): Fix docstring formatting.
* org.el (org-latex-preview-ltxpng-directory): Fix docstring
formatting.
2012-12-04 15:56:38 +01:00
John Foerch a3490b140d org-store-log-note: access org-log-note-headings in org buffer
This change allows org-mode to respect a buffer-local value of
org-log-note-headings, by accessing its value in the org buffer
instead of in the "*Org Note*" buffer.
2012-11-25 19:45:45 +01:00
Toby S. Cubitt 6d01be052d Fix org-minutes-to-clocksum-string to cope with floating point arguments. 2012-11-20 20:22:59 +01:00
Nicolas Goaziou 4c7dcd0830 Silence byte compiler
* contrib/lisp/org-invoice.el (org-invoice-info-to-table,
  org-invoice-list-to-table): Silence byte compiler.
* lisp/org-agenda.el (org-agenda-show-clocking-issues,
  org-agenda-format-item): Silence byte compiler.
* lisp/org-colview-xemacs.el (org-agenda-columns): Silence byte
  compiler.
* lisp/org-colview.el (org-agenda-columns): Silence byte compiler.
* lisp/org.el (org-properties-postprocess-alist): Silence byte
  compiler.

Function renaming was necessary as of
a00a7b2918.
2012-11-17 15:51:26 +01:00
Toby S. Cubitt a00a7b2918 Allow more flexible customization of clocksum format
* lisp/org.el (org-time-clocksum-format, org-time-clocksum-fractional-format):
in addition to a single format string, the clocksum formats can now be
plists specifying separate formats for different time units.

* lisp/org.el (org-minutes-to-clocksum-string): new function to
replace org-minutes-to-hh:mm-string, which converts a number of
minutes to a string according to the customization options.

* lisp/org-colview.el (org-columns-number-to-string): use new
org-minutes-to-clocksum-string function to format clocksum durations.

* lisp/org-clock.el: always call new org-minutes-to-clocksum-string
function when formatting time durations, instead of calling
org-minutes-to-hh:mm-string or passing org-time-clocksum-format
directly to format.
2012-11-17 15:39:07 +01:00
Christophe Junke 60abb38ee3 Change fontification order for links
* lisp/org.el (org-set-font-lock-defaults): let footnote fontifications
  be done before other links' fontification. This allows links appearing
  inside footnotes to be both visible and active.

TINYCHANGE
2012-11-16 18:19:47 +01:00
Nicolas Goaziou 94605246e5 Merge branch 'maint' 2012-11-09 02:47:23 +01:00
Toby S. Cubitt 2aeb28d2af Bug fix in org-beginning-of-line visual line motion
* lisp/org.el (org-beginning-of-line): check `visual-line-mode'
instead of `line-visual-mode' to determine whether to move by visual
lines.

* lisp/org.el (org-kill-line): use of org-bound-and-true-p macro.

* testing/lisp/test-org.el: Add test
2012-11-09 02:46:21 +01:00
Nicolas Goaziou 854ddf635c Merge branch 'maint' 2012-11-05 17:40:48 +01:00
Nicolas Goaziou c20730be9a Fix `org-end-of-line' behaviour in visual line mode
* lisp/org.el (org-end-of-line): When visual line mode is on, really
  move by visual lines.  Small refactoring.
2012-11-05 17:39:06 +01:00
Nicolas Goaziou 5acffad561 Merge branch 'maint' 2012-11-05 00:58:34 +01:00
Nicolas Goaziou f48a8b7bf8 Fix end of line function called on an hidden block
* lisp/org.el (org-end-of-line): On a hidden block make sure to
  delegate motion to `end-of-line' instead of `move-end-of-line' in
  order to stay on the current line.
* testing/lisp/test-org.el: Update test.
2012-11-05 00:57:56 +01:00
Nicolas Goaziou 3ea9372860 Fix error when filling items
* lisp/org.el (org-adaptive-fill-function): Items do not have
  a :post-affiliated property. Use :begin property instead.

This patch follows 86f2731125.
2012-10-30 18:38:39 +01:00
Nicolas Goaziou 86f2731125 Fix error when auto filling
* lisp/org.el (org-adaptive-fill-function): All elements do not have
  a :post-affiliated property.
2012-10-30 13:05:56 +01:00
Nicolas Goaziou 6290da183c Signal an error when a circular macro expansion happens
* lisp/org.el (org-macro-replace-all): Signal an error when a circular
  macro expansion happens.
(org-macro-initialize-templates): Fix docstring.
* testing/lisp/test-org.el: Add test.
2012-10-30 09:24:55 +01:00
Nicolas Goaziou 89ec3f1abf org-element: Add `:post-affiliated' property to elements when applicable
* lisp/org-element.el (org-element-center-block-parser,
  org-element-drawer-parser, org-element-dynamic-block-parser,
  org-element-footnote-definition-parser,
  org-element-plain-list-parser, org-element-property-drawer-parser,
  org-element-quote-block-parser, org-element-special-block-parser,
  org-element-babel-call-parser, org-element-comment-parser,
  org-element-comment-block-parser, org-element-diary-sexp-parser,
  org-element-example-block-parser, org-element-export-block-parser,
  org-element-fixed-width-parser, org-element-horizontal-rule-parser,
  org-element-keyword-parser, org-element-latex-environment-parser,
  org-element-paragraph-parser, org-element-src-block-parser,
  org-element-table-parser, org-element-verse-block-parser): Add
  `:post-affiliated' property to elements.
(org-element-inlinetask-parser): Remove affilated keywords.
* lisp/org.el (org-adaptive-fill-function): Use new property.

This property is cheap to compute during parsing and allows to
determine if point is on an affiliated keyword or not by checking if
it is between :begin and :post-affiliated positions.
2012-10-29 11:02:06 +01:00
Bastien Guerry 0513f11b16 Merge branch 'maint' 2012-10-29 07:41:29 +01:00
Bastien Guerry a4660d4790 org.el (org-additional-option-like-keywords): Add "INDEX:"
* org.el (org-additional-option-like-keywords): Add "INDEX:".
2012-10-28 11:39:01 +01:00
Bastien Guerry 7221b88f6d Merge branch 'maint' 2012-10-27 09:39:12 +02:00
Erik Hetzner dda453eb7e org.el (org-log-into-drawer): Honor the nil value for the :LOG_INTO_DRAWER: property.
* org.el (org-log-into-drawer): Honor the nil value for the
:LOG_INTO_DRAWER: property.

TINYCHANGE
2012-10-27 09:37:54 +02:00
Bastien Guerry 8866f86624 Merge branch 'maint' 2012-10-26 15:12:02 +02:00
Bastien Guerry 116c09053f Run `bookmark-set' within `with-demoted-errors'.
* org.el (org-refile): Run within `with-demoted-errors' so
that a corrupted bookmark file does not stop the refile
process.

* org-capture.el (org-capture-bookmark-last-stored-position):
Ditto for the capture process.

Note: we do not prevent such errors in org-remember.el as this
libary will be obsoleted for the next major release of Org.
2012-10-26 14:55:08 +02:00
Bastien Guerry 1886af4337 Merge branch 'maint'
Conflicts:
	lisp/org.el
2012-10-24 12:49:30 +02:00
Bastien Guerry 1fc41ca61e org.el: Add more explicit errors. Fix some declarations and one autoload.
* org.el (org-refile-check-position): Throw an error when the
refile target is the current buffer and is not a file.
(org-agenda-file-to-front, org-remove-file): Throw an error
when the current buffer is not a file.
(org-check-agenda-file): Enhance the message.
(org-element-type): Autoload.
(org-element-context, org-element-paragraph-parser): Don't
declare as these two functions are not used in org.el.
2012-10-24 12:45:08 +02:00
Bastien Guerry d65f5c9298 org.el (org-refile-check-position): Fix typo in docstring.
* org.el (org-refile-check-position): Fix typo in docstring.
2012-10-24 12:23:08 +02:00
Nicolas Goaziou bef53d7f67 Merge branch 'maint' 2012-10-20 11:59:07 +02:00
Nicolas Goaziou 93040f4671 Fix auto filling in a paragraph directly following a comment
* lisp/org.el (org-auto-fill-function): Make sure `adaptive-fill-mode'
  mode is nil when pre-computed `fill-prefix' is the empty string.
  Otherwise filling functions from fill.el think it has to be computed
  again and overwrite it.
2012-10-20 11:58:16 +02:00
Eric Schulte 6f7e92bdb6 adding ob-makefile to `org-babel-load-languages'
* lisp/org.el (org-babel-load-languages): Adding ob-makefile to
  `org-babel-load-languages'.
2012-10-17 15:07:58 -06:00
Achim Gratz 4d6165b106 org-reload: don't report an error for features found in load-path
* lisp/org.el (org-reload): Remove babel-dir, since it would always
  coincide with org-dir.  Features found in load-path are not reported
  as a (possible) error, but keep a list of these to issue a message
  that the actual location may need checking.
2012-10-17 20:27:49 +02:00
Nicolas Goaziou 10f1c32f6d Merge branch 'maint' 2012-10-17 17:22:58 +02:00
Nicolas Goaziou 92199873c5 Fix bug related to agenda bulding with hour repeaters
* lisp/org.el: Make `org-closest-date' aware of hours repeaters.
2012-10-17 17:21:18 +02:00
Nicolas Goaziou 94232ab5c6 Merge branch 'maint' 2012-10-16 21:12:21 +02:00
Nicolas Goaziou 8f96754932 Do not call `end-of-visual-line' when moving to the end of line
* lisp/org.el (org-end-of-line): Do not call `end-of-visual-line' when
  moving to the end of line.  Also improve behaviour on elements that
  can be hidden.
* testing/lisp/test-org.el: Add tests.
2012-10-16 21:11:06 +02:00
Nicolas Goaziou 93ebf24758 Merge branch 'maint' 2012-10-15 22:32:25 +02:00
Nicolas Goaziou 1fb3cca7c0 Allow to call `org-show-todo-tree' with an argument
* lisp/org.el (org-sparse-tree): Allow to call `org-show-todo-tree'
  with an argument.
* doc/orgcard.tex: Fix keybindings about `org-show-todo-tree'.
2012-10-15 22:31:37 +02:00
Tony Day 7f096ad379 org-insert-link: Use ido when inserting links
org.el (org-insert-link): Remove a list within the list of link
creation that causes a bug when using ido.  Remove the hard coded
iswitch and ido switches.

(org-iread-file-name): Create a function that can use
ido-read-file-name if flagged as ok.

(org-file-complete-link): Reference org-iread-file-name.
2012-10-13 12:27:02 +02:00
Nicolas Goaziou 56470de26d Merge branch 'maint'
Conflicts:
	testing/lisp/test-org.el
2012-10-12 18:22:04 +02:00
Nicolas Goaziou 5212d4fa6b Fix analyzing european dates with time but without year
* lisp/org.el (org-read-date-analyze): Fix analyzing for dates like
  "29.03 16:40".
* testing/lisp/test-org.el: Add test.
2012-10-12 18:17:25 +02:00
Nicolas Goaziou c23dea1563 Silence byte-compiler 2012-10-10 22:51:01 +02:00
Achim Gratz 5451668d7b org-reload: do not use the symbol name of the feature to map to the file name
* lisp/org.el (org-reload): Do not use the symbol name of the feature
  to map to the library name.  Use the function feature-file from
  loadhist instead.  Remove duplicate filenames from the resulting
  list since several files define multiple features, which was also
  the root cause of the reported bug.

Thanks to Rainer M. Krug for reporting this.
http://permalink.gmane.org/gmane.emacs.orgmode/61429
2012-10-10 18:04:19 +02:00
Nicolas Goaziou bbdd81ad37 Be stricter when updating radio targets
* lisp/org.el (org-all-targets): Make sure the regexp really matched
  a radio target.
* testing/lisp/test-org.el: Add test.
2012-10-10 13:41:14 +02:00
Achim Gratz e2e545269a org-reload: bugfix when first element of features is nil
* lisp/org.el (org-reload): Let-bind features and make sure to use the
  result of delq and not just the side-effects.  Otherwise a
  spurious (nil ...) remains at the beginning of the list and leads to
  a spurious warning about a possible reload error.

Thanks to Rainer M. Krug for reporting this.
http://permalink.gmane.org/gmane.emacs.orgmode/61429
2012-10-09 19:34:14 +02:00
Carsten Dominik 975b7f4608 Merge branch 'make-sorting-functions-honor-arguments' 2012-10-09 09:27:01 +02:00
Carsten Dominik 651dfdfe33 Respect additional arguments to sorting functions
Without this patch, calls to the sorting functions from lisp did not
work as advertised.

* lisp/org-list.el (org-sort-list): Respect sorting-type and getkey-func when
they are specified in the call.

* lisp/org.el (org-sort-entries): Respect sorting-type and getkey-func when
they are specified in the call.
2012-10-09 08:27:17 +02:00
Achim Gratz 9515d890c9 re-implement org-reload to work with compressed and compiled-only installations
* lisp/org.el: Safe-guard agains the accidental loading of compiled
  versions of org-loaddefs (these must be bogus).  Make sure that
  installations that do not have the source files (only .elc) and/or
  compress the files (.el.gz, .elc.gz) are correctly treated when such
  files must be loaded.  If it is necessary to exclude compiled files
  from loading, temporarily bind load-suffixes to only (".el") instead
  of forcing a literal ".el" suffix (which doesn't work with
  compressed files for some functions).  Re-implement org-reload to
  reload based on features that are currently loaded rather than files
  it finds in whatever directory since it is impossible to know if
  they were loaded from there.  Indicate whether the reloading was
  successful or encountered an error in the message area.
2012-10-07 19:16:24 +02:00
Achim Gratz 12e59b66d1 Merge branch 'maint' 2012-10-07 18:13:06 +02:00
Achim Gratz 93f4b7c6d8 remove utf-8 codepoints in docstrings
* lisp/org.el: Remove utf-8 codepoints in docstrings, bytecode doesn't
  work when loaded from compressed files.

Probably a bug in Emacs, but since this is unlikely to be fixed in old
Emacsen, simply don't do it.
2012-10-07 18:11:40 +02:00
Achim Gratz b47a7d5125 refer to libraries only by name
* contrib/lisp/org-e-odt.el: Replace arc-mode.el -> arc-mode.
* lisp/org-odt.el: Replace arc-mode.el -> arc-mode.
* lisp/org.el: Replace org-macs.el -> org-macs.
2012-10-07 18:11:25 +02:00
Nicolas Goaziou 58b42debb1 org-export: Include title, author, date and email macros
* contrib/lisp/org-export.el (org-export-expand-macro): New function.
(org-export-as): Use new function.
* lisp/org.el (org-macro-expand, org-macro-replace-all): Change
  signature.  The function now accepts an alist of templates so it
  doesn't have to rely only on `org-macro-templates'.
(org-macro-initialize-templates): {{{date}}} is not anymore an alias
for {{{time}}}.  During export, it will provide the value stored in
DATE keyword instead.
* testing/lisp/test-org-export.el: Add tests.
* testing/lisp/test-org.el: Update tests.
2012-10-06 10:29:37 +02:00
Bastien Guerry 154c4c8762 org.el (org-deadline-close): Use `org-time-stamp-to-now'
* org.el (org-deadline-close): Use `org-time-stamp-to-now'.
2012-10-02 17:37:56 +02:00
Bastien Guerry a9c5399983 org.el: Use `org-float-time' instead f the obsolete `time-to-seconds' function
* org.el (org-time-stamp-to-now): Use `org-float-time' instead
of the obsolete `time-to-seconds' function.
2012-10-02 15:19:35 +02:00
Bastien Guerry 4f0b3bfe0c Merge branch 'maint' 2012-10-02 13:07:09 +02:00
Bastien Guerry e1a01d5077 org.el: Fix references to org-install.el.
* org.el ("org-loaddefs.el"): Don't throw an error if the file
cannot be fund.
(org-version): Use org-loaddefs.el instead of org-install.el.
2012-10-02 12:18:51 +02:00
Bastien Guerry 5fc07bce0a Declare functions and variables. 2012-10-02 11:19:29 +02:00
Bastien Guerry 30f1a62878 Update autoloads.
* org.el: Don't dynamically autoload already autoloaded
functions.
(org-clock-update-time-maybe): Move to org-clock.el.

* org-exp.el (org-insert-export-options-template): Remove
autoload cookie.

* org-clock.el (org-resolve-clocks, org-clock-in)
(org-clock-out, org-clock-cancel, org-clock-goto)
(org-clock-sum, org-clock-display, org-clock-report)
(org-dblock-write:clocktable): Add autoload cookie.
(org-clock-update-time-maybe): Moved from org.el.

* org-beamer.el (org-beamer-sectioning, org-beamer-mode): Ditto.

* org-ascii.el (org-export-ascii-preprocess): Ditto.

* org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag): Add
autoload cookie.

* org-colview.el (org-columns, org-dblock-write:columnview)
(org-insert-columns-dblock, org-agenda-columns): Ditto.

* org-table.el (org-table-create-with-table.el)
(org-table-create-or-convert-from-region, org-table-create)
(org-table-convert-region, org-table-import)
(org-table-export, org-table-align)
(org-table-justify-field-maybe, org-table-next-field)
(org-table-previous-field, org-table-next-row)
(org-table-copy-down, org-table-field-info)
(org-table-current-dline, org-table-goto-column)
(org-table-insert-column, org-table-delete-column)
(org-table-move-column-right, org-table-move-column-left)
(org-table-move-column, org-table-move-row-down)
(org-table-move-row-up, org-table-move-row)
(org-table-insert-row, org-table-insert-hline)
(org-table-hline-and-move, org-table-kill-row)
(org-table-sort-lines, org-table-cut-region)
(org-table-copy-region, org-table-paste-rectangle)
(org-table-convert, org-table-wrap-region)
(org-table-edit-field, org-table-sum)
(org-table-get-stored-formulas)
(org-table-maybe-eval-formula)
(org-table-rotate-recalc-marks)
(org-table-maybe-recalculate-line, org-table-eval-formula)
(org-table-recalculate, org-table-iterate)
(org-table-edit-formulas)
(org-table-toggle-coordinate-overlays)
(org-table-toggle-formula-debugger, orgtbl-to-generic)
(orgtbl-to-tsv, orgtbl-to-csv, orgtbl-to-latex)
(orgtbl-to-html, orgtbl-to-texinfo, orgtbl-to-orgtbl): Ditto.
2012-10-02 10:52:17 +02:00
Bastien Guerry 5c762bbdc6 Remove some autoloads and clean up code.
* org.el (turn-on-orgtbl): Moved here from org-table.el.
(org-clock-persistence-insinuate): Moved here from org-clock.el.
(org-update-all-dblocks, org-map-entries)
(org-require-autoloaded-modules, org-forward-element)
(org-backward-element, org-up-element)
(org-element-greater-elements, org-drag-element-backward)
(org-drag-element-forward, org-mark-element)
(org-narrow-to-element, org-transpose-element)
(org-unindent-buffer): Don't autoload.

* org-clock.el (org-clock-get-clocktable): Rename from
`org-get-clocktable'.
(org-clock-persistence-insinuate): Move to org.el.

* org-capture.el: Do no set `generated-autoload-file' locally.
Minor code clean up.

* org-agenda.el (org-agenda-list): Use
`org-clock-get-clocktable'.  Do no set
`generated-autoload-file' locally.

* org-table.el (org-table-iterate-buffer-tables): Minor
reformatting.
(turn-on-orgtbl): Move to org.el.

* org-html.el (org-export-htmlize-generate-css): Don't autoload.

* org-timer.el (org-timer-pause-or-continue, org-timer-stop):
Ditto.

* ob-tangle.el (org-babel-tangle-lang-exts): Ditto.

* ob-lob.el (org-babel-lob-ingest): Ditto.

* org-id.el (org-id-copy)
(org-id-get-with-outline-path-completion)
(org-id-get-with-outline-drilling): Ditto.

* org-lparse.el (org-lparse-and-open, org-lparse-batch)
(org-lparse-to-buffer, org-replace-region-by)
(org-lparse-region): Ditto.

* org-mobile.el (org-mobile-create-sumo-agenda): Ditto.
2012-10-02 10:03:15 +02:00
Bastien Guerry e4c31cf98b Use generated-autoload-file: "org-loaddefs.el" as a local variable. 2012-10-02 08:50:46 +02:00
Nicolas Goaziou 2a95a47c5f Merge branch 'maint' 2012-10-01 21:37:48 +02:00
Nicolas Goaziou fac86b03fe Normalize comma-escaping of src-blocks and example-blocks
* lisp/org-src.el (org-escape-code-in-string,
  org-unescape-code-in-string, org-escape-code-in-region,
  org-unescape-code-in-region): New functions.
(org-edit-src-code, org-edit-src-exit): Use new functions.
* lisp/org.el (org-strip-protective-commas): Removed function.
* lisp/org-exp.el (org-export-select-backend-specific-text): Use new
  function.
* lisp/ob.el (org-babel-parse-src-block-match,
  org-babel-parse-inline-src-block-match, org-babel-insert-result):
  Always escape produced blocks, independently on the language of the
  block, if any.  Use new functions.
* doc/org.texi: Update documentation.
* testing/lisp/test-ob.el: Update test.
2012-10-01 21:24:00 +02:00
Bastien Guerry b134c60454 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2012-10-01 17:56:11 +02:00
Bastien Guerry ffdb6fb159 org.el (org-cycle): Fix misplaced autoload cookie
* org.el (org-cycle): Fix misplaced autoload cookie.
2012-10-01 17:54:24 +02:00
Bastien Guerry d79227cbd1 Merge branch 'maint' 2012-09-30 20:20:36 +02:00
Bastien Guerry f95e5ff1ba Fix a bug, allow "i" in calendar (and remove "k" from calendar)
* org.el (org-calendar-agenda-action-key): Delete an option.
(org-mode-map): Delete its keybinding.
(org-agenda-action-marker, org-mark-entry-for-agenda-action):
Delete.

* org-agenda.el (org-agenda-diary-entry): Don't prevent from
being used outside of Org agendas, as it can be used in
calendar buffers too.

Note that we may have to reimplement the functions related to
"k" in the calendar.
2012-09-30 20:20:22 +02:00
Bastien Guerry a5483f2d39 Merge branch 'maint' 2012-09-29 23:46:15 +02:00
Bastien Guerry c7ffcf9246 Uncomment :version "24.3" cookies.
* org.el (org-url-hexify-p, org-doi-server-url)
(org-latex-preview-ltxpng-directory, org-custom-properties)
(org-sparse-tree-default-date-type): Add :version "24.3".

* org-agenda.el (org-agenda-sticky)
(org-agenda-custom-commands-contexts): Ditto.

* org-capture.el (org-capture-bookmark)
(org-capture-templates-contexts)
(org-capture-use-agenda-date): Ditto.

* org-latex.el (org-export-latex-hyperref-options-format)
(org-export-latex-link-with-unknown-path-format): Ditto.

* org-id.el (org-id-link-to-org-use-id): Ditto.

* org-datetree.el (org-datetree-add-timestamp): Ditto.
2012-09-29 23:46:02 +02:00
Bastien Guerry 871a041ab9 Merge branch 'maint' 2012-09-29 22:38:39 +02:00
Bastien Guerry d9e5aed2aa org.el: Fall back in interactive prompt when `org-make-link-description-function' fails
* org.el (org-make-link-description-function): Enhance
docstring.
(org-insert-link): Fall back on interactive prompt when
`org-make-link-description-function' fails.

Thanks to Sylvain Rousseau for triggering this.
2012-09-29 22:38:26 +02:00
Bastien Guerry cf5281297b Merge branch 'maint' 2012-09-28 18:05:46 +02:00
Max Mikhanosha ecdc4d14c8 org.el: Don't set org-hide foreground to "invisible-bg"
* org.el (org-mode): Don't set org-hide's foreground
to "invisible-bg".
(org-find-invisible-foreground): New function.
2012-09-28 18:05:35 +02:00
Bastien Guerry 16441f6f40 Merge branch 'maint' 2012-09-28 16:51:34 +02:00
Bastien Guerry 807137acdd org.el (org-follow-timestamp-link): Fix bug when using sticky agenda
* org.el (org-follow-timestamp-link): Fix bug when using
sticky agenda.  Add a docstring.

Thanks to Christoph Lange for reporting this.
2012-09-28 16:51:21 +02:00
Bastien Guerry acca5ddbae Merge branch 'maint' 2012-09-28 08:29:47 +02:00
Bastien Guerry e8b45bb947 Rebind `org-agenda-priority' to `C-c ," in agenda mode (`C-u C-c ,' now shows priority)
* org.el (org-priority): Use a new argument to show priority
instead of setting it.
(org-show-priority): New function to show priority both in
normal Org buffers and in Org Agenda buffers.
(org-speed-commands-default): Use "," as a speed command for
setting priority.

* org-agenda.el (org-agenda-mode-map): Bind
`org-agenda-priority' to `C-c ,' as it was before.
(org-agenda-show-priority): Delete.
(org-agenda-priority): Use a new argument to show priority
instead of setting it.

Thanks to Robert Horn for triggering this change.
2012-09-28 08:29:38 +02:00
Bastien Guerry d35c95a358 org.el (org-format-outline-path): Fix bug: add the separator string after the prefix
* org.el (org-format-outline-path): Fix bug: add the separator
string after the prefix.
2012-09-28 08:07:42 +02:00
Bastien Guerry 5ba6bd859a Merge branch 'maint' 2012-09-28 00:13:15 +02:00
Bastien Guerry 001d2d92ba Rename some functions and move some hooks.
* org.el (org-font-lock-hook, org-set-font-lock-defaults): Add
a docstring.
(org-display-inline-remove-overlay): Rename from
`org-display-inline-modification-hook'.
(org-speed-command-activate): Rename from
`org-speed-command-default-hook'.
(org-babel-speed-command-hook): Rename from
`org-babel-speed-command-activate'.

* org-agenda.el (org-agenda-update-agenda-type): Rename from
`org-agenda-post-command-hook'.
(org-agenda-mode): Use the new name.
(org-agenda-post-command-hook): Define as obsolete function.

* org-lparse.el (org-lparse): Temporarily activate the hooks
needed for the ODT conversion.
(org-lparse-preprocess-after-blockquote): Rename from
`org-lparse-preprocess-after-blockquote-hook'.
(org-lparse-strip-experimental-blocks-maybe): Rename from
`org-lparse-strip-experimental-blocks-maybe'.
(org-lparse-preprocess-after-blockquote-hook)
(org-lparse-strip-experimental-blocks-maybe-hook): Define as
obsolete functions.
2012-09-28 00:12:53 +02:00
Bastien Guerry 570083d2ad org.el (org-display-inline-images): Search for #+ATTR within the current paragraph
* org.el (org-display-inline-images): Search for #+ATTR within
the current paragraph.
2012-09-27 23:30:52 +02:00
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 c4688a1437 Allow to compare times using seconds (not days) when `org-agenda-todo-ignore-*' options are not nil
* org.el (org-days-to-time): Make obsolete.
(org-time-stamp-to-now): Rename from `org-days-to-time'.
Allow to compare time-stamps based on seconds.

* org-agenda.el (org-agenda-todo-ignore-time-comparison-use-seconds):
New option to compare time stamps using seconds, not days.
(org-agenda-todo-custom-ignore-p)
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item):
Use the new function's name and the new option.

This idea came up while reading Jay McCarthy's blog here:
http://jeapostrophe.github.com/blog/2012/09/19/omnifocus-and-org-mode/
2012-09-26 15:53:06 +02:00
Bastien Guerry 1b53c705de org.el: Fix `org-display-outline-path' (see commit 979567)
* org.el (org-format-outline-path): Small docstring
enhancement.
(org-display-outline-path): Fix order or arguments.
2012-09-26 11:06:20 +02:00
Carsten Dominik 9795679299 Allow to specify the separator used in an outline path.
* lisp/org.el (org-format-outline-path): New argument SEPARATOR to
specify a string that is inserted between parts of the outline path.
(org-display-outline-path): New argument SEPARATOR, to specify a
string that is inserted between parts of the outline path.
2012-09-26 05:44:27 +02:00
Bastien Guerry 50091a849e org.el: Add a 'htmlize-link text property to plain and bracket links
* org.el (org-activate-plain-links)
(org-activate-bracket-links): Add a new 'htmlize-link text
property, so that htmlize (> version 1.42) can linkify the
links.

Thanks to Hrvoje Nikšić for suggesting this.
2012-09-25 16:04:51 +02:00
Bastien Guerry 4512f88c3c org.el (org-display-outline-path): Allow a string value for the `as-string' parameter
* org.el (org-display-outline-path): Allow a string value for
the `as-string' parameter.  Such a value will replace the "/"
separator in the output.

Thanks to Sébastien Vauban for triggering this.
2012-09-25 14:47:58 +02:00
Bastien Guerry 9ebf9c169e Merge branch 'maint' 2012-09-25 14:40:49 +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 044dbf680e org.el (org-display-outline-path): New argument `as-string'
* org.el (org-display-outline-path): New argument `as-string'.

This useful if you want to display the outline path in the
minibuffer like this:

(add-hook 'org-mode-hook
          (lambda() (add-to-list 'mode-line-format
                                 '(:eval (org-display-outline-path nil t t)) t)))
2012-09-25 03:43:41 +02:00
Bastien Guerry 5036388ab9 Merge branch 'maint' 2012-09-24 17:19:39 +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 ed991f49d7 Merge branch 'maint' 2012-09-23 12:01:05 +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 a65b5bd36c New command `org-copy' to copy a subtree/region
* org.el (org-refile-keep): New variable.
(org-copy): New command to copy notes.
(org-refile): New parameter msg to override the "Refile"
string in the default prompt.
(org-mode-map): Bind "C-c M-w" to `org-copy'.

* org.texi (Refile and copy): Document the new command `org-copy'.

* orgguide.texi (Refile and copy): Ditto.

Thanks to Kalev Takkis who triggered this change.
2012-09-23 11:42:41 +02:00
Bastien Guerry f19af99d2a org.el: Use the current file name as the default target when there is no refile history
* org.el (org-refile-get-location): Use the current file name
as the default target when there is no refile history.
2012-09-23 10:04:29 +02:00
Nicolas Richard eedee465f7 org.el (org-insert-link): Call `org-link-try-special-completion' from the original buffer
* org.el (org-insert-link): Call
`org-link-try-special-completion' from the original buffer.

TINYCHANGE
2012-09-22 11:18:06 +02:00
Bastien Guerry 59f9e22dda org.el: Add a new function to `org-cycle-hook' to hide inline tasks from the 'contents view
* org.el (org-cycle-hide-inline-tasks): New function to hide
inline tasks when cycling.
(org-cycle-hook): Use the new function.

Thanks to Christopher Witte for triggering this and to Carsten for
suggesting this change.
2012-09-22 11:02:34 +02:00
Bastien Guerry 5d62f26fbc Merge branch 'maint' 2012-09-22 10:55:11 +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 34db1c2934 Merge branch 'maint' 2012-09-21 18:11:54 +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
Achim Gratz 23b30cd124 declare function org-clock-get-last-clock-out-time
* lisp/org.el: Declare function org-clock-get-last-clock-out-time.
2012-09-20 22:16:13 +02:00
Bastien Guerry 69f2588f60 Merge branch 'maint' 2012-09-19 12:29:36 +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 b913f5c7ef Merge branch 'maint' 2012-09-19 11:44:18 +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 d186577678 org.el (org-entry-put): Fix bug when updating the last clock
* org.el (org-entry-put): Fix bug when updating the last clock.
2012-09-19 11:39:32 +02:00
Bastien Guerry f3202903d6 New option `org-use-last-clock-out-time-as-effective-time'
* org.el (org-use-last-clock-out-time-as-effective-time): New option.
(org-current-effective-time): Use the new option.

* org-clock.el (org-clock-get-last-clock-out-time): New
function.

When set to `t', this new option will take the time of the last clock out
timestamp and use it when changing/logging the todo state.

Thanks to Gaizka Villate who suggested this.
2012-09-19 11:36:32 +02:00
Bastien Guerry 4600e9eca8 Merge branch 'maint' 2012-09-18 17:18:55 +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 48ca87cd4a org.el (org-toggle-inline-images): Only send a message when called interactively
* org.el (org-toggle-inline-images): Only send a message when
called interactively.
2012-09-18 16:27:57 +02:00
Bastien Guerry 8205e25c08 Merge branch 'maint' 2012-09-18 12:25:30 +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 e109fac771 Fix two compiler warnings 2012-09-17 18:44:42 +02:00
Abdó Roig-Maranges 5029a8bcf9 fix dvipng latex export with Transparent background
* org.el (org-create-formula-image-with-dvipng): Fixes a bug
introduced in 149cc04782 that made it
fail with no :foreground and :background attributes set, due to bad
handling of "Transparent" color.
2012-09-14 01:09:52 +05:30
Bastien Guerry 6589b9925c Merge branch 'maint' 2012-09-13 03:20:30 +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 93c692ba27 Merge branch 'maint' 2012-09-13 01:28:16 +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
Bastien Guerry a0c1ca54bb org.el (org-scan-tags): Fix the declaration and the use of `org-agenda-format-item'
* org.el (org-scan-tags): Fix the declaration and the use of
`org-agenda-format-item'.
2012-09-13 00:48:40 +02:00
Bastien Guerry 9742dc86a0 Continue fixing b508ff69.
* org.el (org-outline-level): Go at the beginning of the
headline first to always return a sensible result.

* org-agenda.el (org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-deadlines)
(org-agenda-get-scheduled, org-agenda-get-blocks): Return the
correct level depending on `org-odd-levels-only'.
2012-09-12 18:17:01 +02:00
Abdó Roig-Maranges 149cc04782 org.el: Option to get LaTeX preview in the same color as text face
* org.el (org-format-latex-options): Add `auto' to docstring.
(org-format-latex): Get face colors at point and put them inside opt.
(org-create-formula-image-with-dvipng): Fix bug when colors are not
`default'.
(org-create-formula-image-with-imagemagick): Fix bug when handling
"Transparent" bg color.
(org-dvipng-color-format): Same as `org-latex-color-format' for
dvipng-style color specification.

If `auto' is used for the :foreground or :background value in
org-format-latex-options, the the appropriate color is chosen
from the face in which the formula is displayed.
2012-09-12 12:45:44 +02:00
Eric Schulte 27101a3e0e resurrect org-create-formula-image
This commit resurrects the `org-create-formula-image' function which was
removed in commit a9d3ce.  This function is still called elsewhere, and
provides a simpler interface to the two backend-specific image creation
functions.

This also simplifies `org-format-latex', which still has some serious
problems such as optional arguments such as PROCESSING-TYPE which are
never assigned a default value, and extraneous variables.

At some point the `org-create-formula-image-with-imagemagick' and
`org-create-formula-image-with-dvipng' functions should be combined as a
great deal of code and logic is duplicated between the two functions.

* lisp/org.el (org-format-latex): Simplified and now makes use of the
  new `org-create-formula-image' function.
  (org-create-formula-image): Provides a simpler interface to the two
  backend-specific functions.
2012-09-09 13:30:32 -06:00
Nicolas Goaziou 8e44533339 Merge branch 'maint' 2012-09-09 14:14:54 +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 cf98ded2d4 Merge branch 'maint' 2012-09-06 19:41:51 +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 eeb5b92342 Merge branch 'maint' 2012-09-04 16:14:45 +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
Jambunathan K b9270bf46f * lisp/org.el (org-open-file): Print shell command used to open file 2012-09-03 19:19:23 +05:30
Bastien Guerry 0fa4255eab Merge branch 'maint' 2012-09-03 11:19:28 +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 f43c8c8100 Merge branch 'maint' 2012-09-02 13:45:18 +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 ef3706ba92 Merge branch 'maint' 2012-09-01 21:39:08 +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
Nicolas Goaziou 06bffa9120 Small refactoring
* lisp/org.el (org-macro-initialize-templates): Small refactoring.
2012-09-01 11:50:51 +02:00
Nicolas Goaziou 4a2f3c2093 Implement a basic API around macros
* lisp/org.el (org-mode): Initialize macros templates.
(org-macro-templates): New variable.
(org-macro-expand, org-macro-replace-all,
org-macro-initialize-templates): New functions.
* testing/lisp/test-org.el: Add tests.
2012-09-01 10:56:00 +02:00
Bastien Guerry cdbc2d4799 Allow using S-<left/right> to update CLOCKSUM from the column view
* org-colview.el (org-columns-next-allowed-value): Add the
CLOCKSUM property to the list of properties that can be
changed interactively from the column view.

* org.el (org-entry-put): Allow to set the CLOCKSUM property
by updating the most recent clock.  This is useful in the
column view when you want to use S-<left/right> to update the
last clock of the entry at point.

Thanks to Rainer Stengele who suggested something along those
lines.
2012-08-30 16:42:13 +02:00
Bastien Guerry 152ad3362e org.el: Refine `org-image-actual-width' again
* org.el (org-image-actual-width): New choice: use #+ATTR* or
fall back on a number.
(org-display-inline-images): Implement the new choice.
2012-08-30 15:47:34 +02:00
Bastien Guerry 928bb90861 org.el: Rename `org-image-fixed-width' to `org-image-actual-width' and refine
* org.el (org-image-actual-width): Rename from
`org-image-fixed-width'.  Update the docstring.  Give more
choice.
(org-display-inline-images): Use the option new choices.
2012-08-30 15:02:58 +02:00
Bastien Guerry 2e8543f5d9 org.el: New option to set a fixed width for inline images
* org.el (org-image-fixed-width): New option to set a fixed
width for inline images.
(org-display-inline-images): Use the new option.

This option only takes effect for Emacs >=24.1, build with
imagemagick support.

Thanks to Alexander Willand who requested a similar feature.
2012-08-30 14:22:48 +02:00
Bastien Guerry 5d16834906 Merge branch 'maint' 2012-08-30 10:33:33 +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
Bastien Guerry 383806e5ef Merge branch 'maint' 2012-08-30 10:13:59 +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 b00a355adb org.el (org-mode): Set the syntax of the " character to "string quote"
* org.el (org-mode): Set the syntax of the " character to
"string quote".

Thanks to Samuel Wales for asking a related question and to Nick Dokos
for suggesting this solution.
2012-08-30 07:03:36 +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
Bastien Guerry de015ad055 Merge branch 'master' of orgmode.org:org-mode
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2012-08-19 16:57:28 +02:00
Bastien Guerry ad35e2ac6c org.el: Don't activate a plain link when it is part of a bracketed link
* org.el (org-activate-plain-links): Don't activate a plain
link when it is part of a bracketed link, unless bracketed
links are not enlisted in `org-activate-links'.
(org-open-at-point): Don't consider the text immediately after
a bracketed link is part of a plain link.

This fixes a bug when fontifying [[http://orgmode.org][Org]]Mode --
where "Mode" should not be fontified, because it is not part of the
bracketed link.

Note that there was another related bug: C-c C-o on "Mode" used to
try opening a plain link.  Also fixed in this commit.
2012-08-19 16:56:52 +02:00
Nicolas Goaziou 2fd696716a Forgot a `save-excursion'
* lisp/org.el (org-fill-paragraph): Add a `save-excursion' to avoid
  returning funny results.
2012-08-19 15:51:55 +02:00
Nicolas Goaziou bb895827c2 Try to be smarter when filling paragraphs in message-mode
* lisp/org.el (org-fill-paragraph): Try not to include message header
  and citation lines in a paragraph when filling it.
2012-08-19 14:46:27 +02:00
Bastien Guerry 655da8d1d3 Remove useless (t nil) sexps at the end of some (cond ...) constructs
* org.el (org-compute-latex-and-specials-regexp)
(org-paste-subtree, org-sort-entries, org-store-link)
(org-open-at-point, org-file-remote-p, org-add-log-setup)
(org-set-tags-to, org-fast-tag-selection)
(org-diary-sexp-entry): Ditto.

* org-agenda.el (org-agenda-get-blocks, org-cmp-priority)
(org-cmp-effort, org-cmp-todo-state, org-cmp-alpha)
(org-cmp-tag, org-cmp-time): Remove useless (t nil) sexps at
the end of (cond ...) constructs.

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

* org-lparse.el (org-lparse-format-table-row): Ditto.

* org-list.el (org-sort-list): Ditto.

* org-id.el (org-id-get): Ditto.

* org-html.el (org-export-html-preprocess): Ditto.

* org-exp.el (org-default-export-plist)
(org-table-clean-before-export): Ditto.

(t nil) in (cond (...) (...) (t nil)) has no other meaning that to
remind the developer that the cond sexp returns nil in case no condition
is matched.  For several (cond ...) constructs this is obvious from reading
the code.  For others, the reminder might be useful and we leave it.

See the discussion about this on emacs-devel:
http://thread.gmane.org/gmane.emacs.devel/152664
2012-08-19 14:42:54 +02:00
Nicolas Goaziou a3c4e10ac1 Fix filling in in a narrowed buffer
* lisp/org.el (org-fill-paragraph): Fix filling in a narrowed buffer.
(org-fill-context-prefix): Fill prefix doesn't depend on current
narrowing.
* testing/lisp/test-org.el: Add test.
2012-08-19 13:44:00 +02:00
Nicolas Goaziou ecb8fbd7d5 Line with a single hash sign on it is a comment
* lisp/org.el (org-mode): Line with a single hash sign on it is a comment.
2012-08-19 11:07:50 +02:00
Nicolas Goaziou e8046d2f63 Fix comment fontification
* lisp/org.el (org-set-font-lock-defaults): Fix comment fontification.
2012-08-19 10:28:21 +02:00
Bastien Guerry 6309dcae6b org.el: Be more strict about matching option keywords
* org.el (org-options-keywords): Add "TODO".
(org-make-options-regexp): Make the hashtag mandatory for
options and don't allow whitespaces between the hashtag and
the plus sign.
2012-08-19 10:15:59 +02:00
Bastien Guerry f926d9019b org.el: Allow lowercase "#+category" and "#+begin:" dynamic blocks
* org.el (org-refresh-category-properties)
(org-find-dblock, org-dblock-start-re, org-dblock-end-re):
Allow lowercase "#+category" and "#+begin:" dynamic blocks.
2012-08-19 08:48:53 +02:00
Bastien Guerry 788f7da285 org.el: Use case-folding when trying to match clocktables and source blocks contexts
* org.el (org-context): Use case-folding when trying to match
clocktables and source blocks contexts.
2012-08-19 08:26:35 +02:00
Bastien Guerry 90e9aeeff5 org.el: Fix bug in ̀org-fontify-meta-lines-and-blocks-1'
* org.el (org-fontify-meta-lines-and-blocks-1): Correctly
handle metalines with #+results[...]:.
2012-08-18 17:52:02 +02:00
Nicolas Goaziou b1ed817e38 org-element: Use strict comment syntax (no "#+" allowed)
* lisp/org.el (org-fill-paragraph): No need to use
  `org-element-paragraph-separate' in a verse block since blank lines
  only can end a "paragraph".
* lisp/org-element.el (org-element-paragraph-separate): Apply changes
  to comments.
(org-element-paragraph-parser): Correctly find end of paragraphs.
(org-element--current-element): Require colons for Babel calls.
(org-element-center-block-parser, org-element-dynamic-block-parser,
org-element-quote-block-parser, org-element-special-block-parser,
org-element-comment-block-parser, org-element-example-block-parser,
org-element-export-block-parser, org-element-src-block-parser,
org-element-verse-block-parser): Fall-back to paragraph parsing when
incomplete or ill-formed.
* testing/lisp/test-org-element.el: Update tests.
2012-08-17 16:58:26 +02:00
Bastien Guerry d2200b2bed org.el: Allow both "8am Wed" and "Wed 8am" to be parsed correctly
* org.el (org-read-date-analyze): Allow both "8am Wed" and
"Wed 8am" to be parsed correctly with respect to possible
values of `org-read-date-prefer-future'.
(org-read-date-prefer-future): Update docstring to remove the
restriction about inserting only the time.  The user can now
insert the time and the day.
2012-08-16 09:42:55 +02:00
Bastien Guerry 76b0d582b8 Replace Emacs version to "24.2" by "24.3"
This is needed because the current HEAD of the git repository
will not be synced with Emacs 24.2 but more likely with Emacs 24.3.
2012-08-16 09:24:58 +02:00
Bastien Guerry 5ca6e3d703 org.el: Fix bug when adjusting another clock
* org.el (org-fill-context-prefix): Require org-element.
(org-timestamp-change): Fix bug by saving excursion when
adjusting another clock.

Thanks to Steinar Bang for reporting this.
2012-08-15 21:08:45 +02:00
Bastien Guerry 16ea0364a4 Call `buffer-substring-no-properties' and remove `org-no-properties'
* org-colview-xemacs.el (org-columns-display-here): Use
`buffer-substring-no-properties' and remove `org-no-properties'.

* org-colview.el (org-columns-display-here): Ditto.

* org-table.el (org-table-eval-formula): Ditto.

* org.el (org-entry-properties): Ditto.
2012-08-15 09:22:51 +02:00
Bastien Guerry 922772e012 org.el: Only skip comments starting with "# " when storing a note.
* org.el (org-store-log-note): Only skip comments starting
with "# " when storing a note.

Thanks to Thomas Wallrafen for reporting this bug.
2012-08-14 13:09:56 +02:00
Bastien Guerry a4f5e94dc8 org.el: New command ̀org-toggle-custom-properties-visibility'
* org.el (org-custom-properties): New option.
(org-custom-properties-overlays): New variable.
(org-toggle-custom-properties-visibility): New command to
toggle the visibility of custom properties.
(org-check-before-invisible-edit): Also prevent errors when
trying to edit invisible properties.

Thanks to Torsten Wagner for triggering this discussion.
2012-08-14 11:51:09 +02:00
Bastien Guerry 944fd9d651 org.el: Fix bug in `org-fill-template'
* org.el (org-fill-template): Fix bug when filling template for
a key associated to the nil value.

Thanks to Ken Williams for reporting this.
2012-08-13 23:53:18 +02:00
Bastien Guerry d59acaa632 org.el (message-in-body-p): Move declaration up to fix compiler warning
* org.el (message-in-body-p): Move declaration up to fix compiler
warning.
2012-08-13 14:54:20 +02:00
Bastien Guerry bbc1dde930 org.el (org-fill-context-prefix): Fix auto-filling in `message-mode'.
* org.el (org-fill-context-prefix): Fix auto-filling in
`message-mode'.
2012-08-13 09:56:39 +02:00
Bastien Guerry 3496df0b4d org.el: Fix bugs in `org-indent-line' and `org-fill-paragraph'
* org.el (org-fill-paragraph): Correctly fill paragraph in
message-mode.
(org-indent-line): Correctly indent according to mode when
`orgstruct++-mode' is on.
(orgstruct++-mode): Add `fill-prefix' to the variable temporarily
stored in `org-fb-vars'.
2012-08-13 09:18:11 +02:00
Bastien Guerry 396e413f6b org.el: Fix bug about filling message headers and citations
* org.el (org-fill-paragraph): Make a command.  Fix bug about
filling message headers and citations.
2012-08-13 07:15:49 +02:00
Bastien Guerry 7532ace049 org.el: New command `org-redisplay-inline-images'
* org.el (org-redisplay-inline-images): New command.
(org-mode-map): Bind it to C-c C-x C-M-v.

Thanks to Petro for suggesting this.
2012-08-12 23:14:13 +02:00
Bastien Guerry 70dd1196d2 Massive code clean-up.
Delete trailing whitespaces.
Indent all sexps correctly.
Sentences end with double spaces.
2012-08-11 19:10:44 +02:00
Bastien Guerry 777ee3a4f9 org.el (org-emph-re): Tiny docstring formatting fix
* org.el (org-emph-re): Tiny docstring formatting fix.

Replay commit 8fb39a, but correctly this time.
2012-08-11 10:45:16 +02:00
Bastien Guerry ae21293a2e Revert "org.el (org-emph-re): Tiny formatting fix"
This reverts commit 8fb39ad25b.

Er.  Some changed should not be here.
2012-08-11 10:39:23 +02:00
Bastien Guerry 8fb39ad25b org.el (org-emph-re): Tiny formatting fix
* org.el (org-emph-re): Tiny formatting fix.
2012-08-11 09:57:01 +02:00
Bastien Guerry c5bc43133b org.el (orgstruct-setup): Require `org-element'.
* org.el (orgstruct-setup): Require `org-element'.

This prevents an error for git users who use orgstruct-mode
(and orgstruct++-mode) and forget to make autoloads.
2012-08-11 09:15:30 +02:00
Bastien Guerry 73c1948c15 org.el (org-store-link, org-open-at-point): New link type "help"
* org.el (org-store-link, org-open-at-point): New link type
"help".
2012-08-11 09:11:55 +02:00
Bastien Guerry 002b700cb3 Use ̀org-looking-back' instead of `looking-back' to keep compat with XEmacs
* org-clock.el (org-clock-cancel): Use `org-looking-back'.

* org-pcomplete.el (org-thing-at-point): Ditto.

* org.el (org-timestamp-change): Ditto.
2012-08-10 15:02:45 +02:00
Bastien Guerry 4cc6a9db5e org.el (org-priority): Fix docstring
* org.el (org-priority): Fix docstring.
2012-08-10 14:56:36 +02:00
Bastien Guerry ced90464dd org.el (org-entry-get): Don't use `org-flet'
* org.el (org-entry-get): Don't use `org-flet'.
2012-08-08 15:19:24 +02:00
Bastien Guerry d70cf44e7b org.el: Fix compiler warnings. 2012-08-08 14:55:40 +02:00
Bastien Guerry 12101efc2f org.el: Fix names I forgot to change in the previous patch. 2012-08-08 14:48:35 +02:00
Nicolas Goaziou b523a3edf5 Fix tests
* lisp/org-element.el: Update code commets.
* testing/lisp/test-org-element.el: Remove tests for renamed
  navigation and manipulation fuctions.
* testing/lisp/test-org.el: Add tests for renamed navigation and
  manipulation functions.
2012-08-08 13:58:14 +02:00
Bastien Guerry ee483e98f7 Merge branch 'master' of orgmode.org:org-mode 2012-08-08 12:11:57 +02:00
Bastien Guerry 1c595f3e5d org.el: Rename `org-backward/forward-same-level' to `org-backward/forward-heading-same-level'
* org.el (org-forward-heading-same-level): Rename from
`org-forward-same-level'.
(org-backward-heading-same-level): Rename from
`org-backward-same-level'.
2012-08-08 12:11:51 +02:00
Bastien Guerry f485b0a889 Move org-element commands to org.el and rename them.
* org.el (org-forward-element): Rename from
`org-element-forward'.
(org-backward-element): Rename from `org-element-backward'.
(org-up-element): Rename from `org-element-up'.
(org-down-element): Rename from `org-element-down'.
(org-drag-element-backward): Rename from
`org-element-drag-backward'.
(org-drag-element-forward): Rename from
`org-element-drag-forward'.
(org-mark-element): Rename from `org-element-mark-element'.
(org-transpose-element): Rename from `org-element-transpose'.
(org-unindent-buffer): Rename from
`org-element-unindent-buffer'.
(org-mode-map): Update the names of a commands.
Remove useless declarations.

* org-element.el (org-element-forward, org-element-backward)
(org-element-up, org-element-down)
(org-element-drag-backward, org-element-drag-forward)
(org-element-mark-element, org-narrow-to-element)
(org-element-transpose, org-element-unindent-buffer): Move to
org.el.
2012-08-08 11:57:37 +02:00
Nicolas Goaziou 694a858506 Fix bug when marking subtree with point on an inlinetask
* lisp/org.el (org-mark-subtree): Fix bug when marking subtree with
  point on an inlinetask.  Refactor code.
* testing/lisp/test-org.el: Add test.
2012-08-08 11:50:09 +02:00
Bastien Guerry a66f44d123 org.el (org-forward-same-level): Fix typo in docstring.
* org.el (org-forward-same-level): Fix typo in docstring.
2012-08-08 09:32:13 +02:00
Nicolas Goaziou d70f965486 Do not make a special case for inlinetasks when marking a subtree
* lisp/org.el (org-mark-subtree): Do not make a special case for
  inlinetasks when marking a subtree. These are handled by
  `org-element-mark-element'.
* testing/lisp/test-org.el: Add test.
2012-08-07 13:38:32 +02:00
Bastien Guerry 93acc82b96 Fix yet another compiler warning.
Let's go to sleep now.
2012-08-07 02:05:10 +02:00
Bastien Guerry 7efbd4222d org.el: Enhance `C-c @' and use `M-h' for `org-element-mark-element'.
* org.el (org-mode-map): Use `M-h' for
`org-element-mark-element'.
(org-mark-subtree): Allow a numeric prefix argument to move up
into the hierarchy of headlines.

* org-element.el (org-element-up, org-element-down): Autoload.
2012-08-06 20:02:54 +02:00
Bastien Guerry 1276ab3ff1 Fix compiler warnings.
* org.el: Declare functions and don't require org-element.

* org-element.el (org-element-at-point, org-element-forward)
(org-element-backward, org-element-drag-backward)
(org-element-drag-forward, org-element-mark-element)
(org-element-transpose, org-element-unindent-buffer): Autoload.
Require 'org and remove all declarations.
2012-08-06 19:13:43 +02:00
Bastien Guerry 6cd13146c9 org.el: Use variables instead of constants for `org-outline-regexp-bol' and `org-heading-regexp'
* org.el (org-outline-regexp-bol, org-heading-regexp): Use
variables instead of constants.

This fixes compiler warnings when compiling with Emacs 23.4.
2012-08-05 20:03:39 +02:00
Bastien Guerry 4f627f86d7 org.el: Fix bug in ̀org-open-at-point'.
* org.el (org-open-at-point): Only set
`clean-buffer-list-kill-buffer-names' when the feature
'midnight has been loaded.

Thanks to François Allisson for reporting this bug.
2012-08-05 11:40:47 +02:00
Bastien Guerry de271e3751 Introduce a new special property CLOCKSUM_T for today's clocked time.
* org.el (org-special-properties): New special property
CLOCKSUM_T.
(org-entry-properties): Handle the new special property.

* org-colview.el (org-columns): Handle a new special property
CLOCKSUM_T.
(org-agenda-colview-summarize, org-agenda-colview-compute):
Ditto.

* org-clock.el (org-clock-sum-today): New function.
(org-clock-sum): New argument PROPNAME to set a custom text
property instead of :org-clock-minutes.

* org.texi (Special properties, Column attributes)
(Agenda column view): Document the new special property
CLOCKSUM_T.

Thanks to Brian Wood who asked a question wrt this.
2012-08-05 11:12:04 +02:00
Bastien Guerry a27c0d0fcc org.el: Make `org-entry-get' find a property before the first headline.
* org.el (org-get-property-block): Find blocks before the
first headline.
(org-entry-properties): Minor code cleanup.
(org-entry-get, org-entry-get-with-inheritance): Get property
before the first headline.
2012-08-04 23:02:03 +02:00
Abdó Roig-Maranges dd49e0b225 Option to chose directory for latex preview images
* org.el (org-latex-preview-ltxpng-directory): New option.
  (org-preview-latex-fragment): Store LaTeX preview images in
  `org-latex-preview-ltxpng-directory'.

Added an option `org-latex-preview-ltxpng-directory' with a path
where the preview images will be stored.  The default does not
change (small little ltxpng scattered all over the place) but now
the user can chose an absolute path and put all the images on a
single place.

TINYCHANGE
2012-08-03 19:53:43 +02:00
Bastien Guerry 96551f3dd8 Delete `org-make-link' and replace previous occurrences by `concat'.
* org.el (org-make-link): Delete.
(org-store-link, org-insert-link)
(org-file-complete-link): Don't use `org-make-link'.

* org-wl.el (org-wl-store-link-folder)
(org-wl-store-link-message): Ditto.

* org-vm.el (org-vm-store-link): Ditto.

* org-rmail.el (org-rmail-store-link): Ditto.

* org-mhe.el (org-mhe-store-link): Ditto.

* org-mew.el (org-mew-store-link): Ditto.

* org-irc.el (org-irc-erc-store-link): Ditto.

* org-info.el (org-info-store-link): Ditto.

* org-id.el (org-id-store-link): Ditto.

* org-gnus.el (org-gnus-group-link, org-gnus-article-link):
Ditto.

* org-eshell.el (org-eshell-store-link): Ditto.

* org-bbdb.el (org-bbdb-store-link): Ditto.
2012-08-03 19:03:21 +02:00
Bastien Guerry 341042a09e org.el: New option `org-url-hexify-p'.
* org.el (org-url-hexify-p): New option.  When non-nil (the
default), hexify URLs when creating a link.

Thanks to Gustav Wikström who suggested this.
2012-08-03 18:51:43 +02:00
Bastien Guerry 1ac2552273 org.el (org-insert-link): Make sure point is at the beginning of the buffer.
* org.el (org-insert-link): Make sure point is at the
beginning of the buffer.
2012-08-03 16:23:57 +02:00
Bastien Guerry 8fca59f71f org.el: Allow opening multiple shell links.
* org.el (clean-buffer-list-kill-buffer-names): Declare.
(org-open-at-point): Allow opening multiple shell links by
creating a new output buffer for each shell process.  The new
buffer is added to `clean-buffer-list-kill-buffer-names'.

Thanks to Tobias Naehring for this idea.
2012-08-03 15:32:01 +02:00
Bastien Guerry bf36319582 org.el (org-global-tags-completion-table): Fix typo in docstring.
* org.el (org-global-tags-completion-table): Fix typo in docstring.
2012-08-03 14:21:59 +02:00
Bastien Guerry 1e34c5d34f org.el: Fontify links to current buffer when inserting a link.
* org.el (org-link-to-org-use-id): use `org-capture' instead
of `org-remember' in the docstring.
(org-link-fontify-links-to-this-file): New function to fontify
links to the current buffer in `org-stored-links'.
(org-store-link): Small code simplification.
(org-link-prettify): Enclose literal links into <...> instead
of [[...]].
(org-insert-link): Use `org-link-fontify-links-to-this-file'.
Also allow completion over links' descriptions, as well as
links destinations.  When the user uses the description for
completion, don't prompt again for a description.

Thanks to Yagnesh Raghava Yakkala who suggested this.
2012-08-03 14:08:20 +02:00
Bastien Guerry 3977d4b373 org.el (org-log-repeat): Enhance docstring.
* org.el (org-log-repeat): Enhance docstring.
2012-08-03 10:09:11 +02:00
Bastien Guerry ee1d70172d org.el: Don't bind C-<up> and C-<down> to `org-element-backward/forward'.
* org.el (org-mode-map): Don't bind C-<up> and C-<down> to
`org-element-backward/forward' as these functions stops when
there is no element of the same type before/after point.  It
is useful to navigate with `forward/backward-paragraph' with
no stop in most cases.
2012-08-02 18:18:35 +02:00
Bastien Guerry 2201d838a4 Merge branch 'master' of orgmode.org:org-mode 2012-08-02 11:59:34 +02:00
Bastien Guerry aa490ffa04 Small doc fix.
* org.texi (Fast access to TODO states): Fix documentation
about allowed characters for fast todo selection.

* org.el (org-todo-keywords): Ditto.

This fixes this wrong change here:
http://orgmode.org/w/?p=org-mode.git;a=commit;h=b6cb72
2012-08-02 11:59:27 +02:00
Nicolas Goaziou 198b079a64 Auto-fill first paragraph in footnote definitions
* lisp/org.el (org-fill-context-prefix): Auto-fill first paragraph in
  footnote definitions.
2012-08-02 11:25:07 +02:00
Eric Schulte 96d4c5ef0a fix org-check-version undefined error when compiled
Prior to this change compiling org-mode and then running Org-mode
functions from a batch Emacs would throw the following error.

  Symbol's function definition is void: org-check-version

Moving the require of org-compat before the use of this function in
org.el fixes this problem.

* lisp/org.el (org-compat): Require org-compat before we first use one
  of its functions (a macro actually).
2012-08-01 09:53:19 -06:00
Bastien Guerry 6cf637fd1d org.el: Prepare `org-fill-paragraph' for `message-mode'.
* org.el (org-fill-paragraph): Falls back on
`message-fill-paragraph' if required in `message-mode'.
2012-08-01 17:51:55 +02:00
Bastien Guerry a865abb5fe Let's a :APPT_WARNTIME: property override `appt-message-warning-time' in `org-agenda-to-appt'.
* org.el (org-speed-commands-default): New speedy command to
quickly add the :APPT_WARNTIME: property.

* org-agenda.el (org-agenda-to-appt): Use the :APPT_WARNTIME:
property to override `appt-message-warning-time' when adding
an appointment from an entry.

* org.texi (Weekly/daily agenda): Mention APPT_WARNTIME and
its use in `org-agenda-to-appt'.

This feature has been suggested, along with preliminary patches,
by Ivan Kanis.  Thanks!
2012-08-01 16:05:47 +02:00
Bastien Guerry 7024560981 org.el: `org-self-insert-cluster-for-undo' now defaults to nil.
* org.el (org-version): Improve docstring.
(org-self-insert-cluster-for-undo): The default value should
be nil for Emacs >=24.1.  See bug#11774.

See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11774 for a
discussion about this.
2012-08-01 15:32:15 +02:00
Bastien Guerry 4508dc55e5 org.el (org-fontify-meta-lines-and-blocks-1): Fix previous commit.
* org.el (org-fontify-meta-lines-and-blocks-1): Fix previous
commit.
2012-08-01 14:15:16 +02:00
Nicolas Goaziou a8e00ff0dc Inlined comment syntax is reduced to "#"
* lisp/org.el (org-mode): Define new comment syntax.
(org-fontify-meta-lines-and-blocks-1, org-strip-protective-commas,
org-fill-context-prefix, org-insert-comment,
org-comment-or-uncomment-region): Use new comment syntax.
* lisp/org-element.el (org-element-comment-parser,
  org-element-comment-interpreter, org-element--current-element): Use
  new comment syntax.
* testing/lisp/test-org-element.el: Update tests.
* testing/lisp/test-org.el: Update tests.
2012-08-01 10:47:47 +02:00
Nicolas Goaziou 783fd91e66 When at an item or a footnote definition, fill first paragraph instead
* lisp/org.el (org-fill-paragraph): When at an item or a footnote
  definition, fill first paragraph instead.
* testing/lisp/test-org.el:
2012-07-31 20:49:11 +02:00
Bastien Guerry 64a30f6ecb More flyspell enhancements.
* org.el (org-options-keywords): New constant.
(org-additional-option-like-keywords): Remove duplicates with
keywords in the new constant.
(org-additional-option-like-keywords-for-flyspell): Use the
new constant.
(org-mode-flyspell-verify): Exclude keywords from the new
constant.

* org-pcomplete.el (pcomplete/org-mode/file-option): Use
`org-options-keywords'.
2012-07-31 18:30:54 +02:00
Bastien Guerry 427fee0e4a Fix bug.
* org.el (org-toggle-heading): Bugfix: use
`org-element-mark-element' instead of `org-mark-list'.
2012-07-31 17:51:13 +02:00
Bastien Guerry 5b9cbe9291 Merge branch 'master' of orgmode.org:org-mode 2012-07-31 16:14:33 +02:00
Bastien Guerry eb5631359a Update a few keybindings in org.el and fix a problem in org-element.el.
* org.el: Update a few keybindings.

Use [(control down)] and "\M-}" for `org-element-forward'.
Use [(control up)] and "\M-{ `org-element-backward'.
Use "\C-c\C-^" for `org-element-up'.
Use "\C-c\C-_" for `org-element-down'.
Use "\C-c\C-@" for `org-element-mark-element'.

* org-element.el (org-element-down): Throw an error when the
element has no content.
2012-07-31 16:11:45 +02:00
Nicolas Goaziou fcca4ab8e4 Fix filling when point is at the very end of a paragraph
* lisp/org.el (org-fill-paragraph): Fix filling when point is at the
  very end of a paragraph.
* testing/lisp/test-org.el: Add test.
2012-07-31 15:42:30 +02:00
Nicolas Goaziou 4d00c5bf4d Complete handling of comment syntax
* lisp/org.el (org-mode): Set comments related variables.
(org-insert-comment, org-comment-or-uncomment-region): New functions.
* testing/lisp/test-org.el: Add test.
2012-07-31 13:55:44 +02:00
Eric Schulte 0202adb1c0 Merge branch 'master' of orgmode.org:org-mode 2012-07-30 09:37:08 -06:00
Nicolas Goaziou 5cb9beea9b Add tests about filling and auto-filling
* lisp/org.el (org-fill-context-prefix): Small refactoring.
(org-fill-paragraph): Add code comments.
* testing/lisp/test-org.el: Add tests
2012-07-30 15:25:13 +02:00
Bastien Guerry 4c2c6dba7b Enhance flyspelling.
* org.el (org-additional-option-like-keywords): Add keywords.
(org-additional-option-like-keywords-for-flyspell): New
constant to use with flyspell.
(org-mode-flyspell-verify): Use the dedicated constant and
don't check `org-startup-options'.

Thanks to Bjarte Johansen for bringing this up.
2012-07-30 13:02:48 +02:00
Bastien Guerry 8eb584331a Add punctuation at the end of the first line of docstrings. Code cleanup. 2012-07-30 10:08:15 +02:00
Bastien Guerry 8466541b1d Add keybindings for `org-element-forward', `org-element-backward', `org-element-up' and `org-element-down'.
* org.el (org-mode-map): Add keybindings for
`org-element-forward', `org-element-backward',
`org-element-up' and `org-element-down'.
2012-07-29 19:26:24 +02:00
Bastien Guerry 8e8955089f Fix `org-auto-fill-function'.
* org.el (org-auto-fill-function): Don't call `do-auto-fill'
within (org-let org-fb-vars ...) as `do-auto-fill' should do
the right thing whether orgstruct++-mode is turned on or off.
2012-07-29 10:43:50 +02:00
Bastien Guerry 2959acb18c New option `org-sparse-tree-default-date-type' to specify what is a "date" in `org-sparse-tree'.
* org.el (org-sparse-tree-default-date-type): New option.
(org-ts-type): New variable.
(org-sparse-tree): New argument `type'.  Use the new option
`org-sparse-tree-default-date-type' as the default value for
`type'.  Fix docstring.
(org-re-timestamp): New function.
(org-check-before-date, org-check-after-date)
(org-check-dates-range): Use `org-ts-type' and
`org-re-timestamp' to tell compute the date regexp.

Thanks to John Hendy who triggered this change.
2012-07-29 10:03:57 +02:00
Nicolas Goaziou 94dd2e5243 Rewrite filling functions
* lisp/org.el (org-fill-context-prefix): New function.
(org-fill-paragraph, org-auto-fill-function): Use new function.  Also
handle comments.
(org-adaptive-fill-function): Remove function.
(org-get-local-variables, orgstruct++-mode): Don't store now unused
adaptive-fill* functions.
2012-07-29 08:55:54 +02:00
Bastien Guerry da1830ebe6 Also set `normal-auto-fill-function' when turning on/off orgstruct++-mode.
* org.el (orgstruct++-mode, org-get-local-variables): Also set
`normal-auto-fill-function' when turning on/off orgstruct++-mode.
2012-07-29 08:19:33 +02:00
Nicolas Goaziou b04f9e3268 `org-fill-paragraph' is backed up by Org Element
* lisp/org.el (org-fill-paragraph): Rewrite function using
  `org-element-at-point'.
* lisp/org-element.el (org-element-fill-paragraph): Remove function.
* testing/lisp/test-org-element.el: Remove test.
* testing/lisp/test-org.el: Add test.
2012-07-28 11:47:58 +02:00
Nicolas Goaziou 07eaea26dd `org-planning-or-clock-line-re' is not buffer-local anymore
* lisp/org.el (org-planning-or-clock-line-re): Make it a defconst.
  It's no use to make it a buffer-local variable since variables on
  which it depends are not buffer-local anyway.
2012-07-28 11:47:58 +02:00
Nicolas Goaziou db45fc76b4 Provide default value for `org-drawer-regexp' in non-Org buffers
* lisp/org.el (org-drawer-regexp): Provide default value for
  `org-drawer-regexp' in non-Org buffers.
2012-07-28 11:47:58 +02:00
Bastien Guerry f2cec000e1 org.el (org-mode-map): Rebind `org-insert-all-links' to `C-c C-M-l'.
* org.el (org-mode-map): Rebind `org-insert-all-links' to `C-c C-M-l'.
2012-07-28 11:39:32 +02:00
Bastien Guerry 90f3940e14 New command `org-insert-all-links'.
* org.el (org-insert-all-links): New command.
(org-insert-link): `org-keep-stored-link-after-insertion' is
now checked when the link to insert has been defined,
regardless on how it has been defined.  Also don't read the
description interactively when the `default-description'
parameter was given.
(org-mode-map): Bind `org-insert-all-links' to `C-c C-L'.
2012-07-28 10:44:10 +02:00
Bastien Guerry 3a18eefe9d New command `org-inc-effort' to increment the effort value.
* org.el (org-inc-effort): New command to increment the effort
property.
(org-set-effort): Use it.
(org-mode-map): Bind it to `C-c C-x E'.
(org-speed-commands-default): Use `E' as a speed command for it.
2012-07-28 09:33:19 +02:00
Bastien Guerry e10ff18ffc Fix bug when setting a property where an empty property is already there.
* org.el (org-re-property-keyword): New function.
(org-entry-put): Use it to fix a bug with respect to setting
the value of a property when a property line with no value
already exists.
2012-07-28 09:13:43 +02:00
Bastien Guerry ec73186384 org.el: Adjust clock in other org files correctly.
* org.el (org-timestamp-change): Adjust clock in other org
files correctly.
2012-07-28 08:59:39 +02:00
Achim Gratz 6347bf2f72 Another fix for broken commit abbea59611
* lisp/org.el: Move check for outline-mode-keymap after (require 'outline).
2012-07-28 07:43:23 +02:00
Achim Gratz c2735e7c19 Re-apply (correctly): Move org-element.el from contrib/lisp to lisp/.
* org.el (org-mode-map): Add keybindings to
`org-element-transpose' and `org-narrow-to-element'.
(org-metaup): Fall back on `org-element-drag-backward'.
(org-metadown): Fall back on `org-element-drag-forward'.
Also move chunks of declarations and require statements to
get rid of compiler warnings.

* org-exp-blocks.el (org): Don't require org.  Add declarations.

* org-clock.el (org): Don't require org.

* ob-exp.el (org-list-forbidden-blocks): Add declarations.
2012-07-28 07:06:25 +02:00
Achim Gratz 234df465ad Revert "Move org-element.el from contrib/lisp to lisp/."
This reverts commit abbea59611.
2012-07-28 07:02:21 +02:00
Bastien Guerry f250f6beba New keybinding `C-c C-x C-z' for `org-resolve-clocks'.
* org.el (org-mode-map): Bind `org-resolve-clocks' to `C-c C-x C-z'.

* org.texi (Resolving idle time): Document new keybinding.

Thanks to Joseph Thomas for suggesting this.
2012-07-28 01:23:37 +02:00
Bastien Guerry abbea59611 Move org-element.el from contrib/lisp to lisp/.
* org.el (org-mode-map): Add keybindings to
`org-element-transpose' and `org-narrow-to-element'.
(org-metaup): Fall back on `org-element-drag-backward'.
(org-metadown): Fall back on `org-element-drag-forward'.
Also move chunks of declarations and require statements to
get rid of compiler warnings.

* org-exp-blocks.el (org): Don't require org.  Add declarations.

* org-clock.el (org): Don't require org.

* ob-exp.el (org-list-forbidden-blocks): Add declarations.
2012-07-28 00:55:45 +02:00
Bastien Guerry 8f5b9b2bdf org.el (org-timestamp-change): Don't use the `position'.
* org.el (org-timestamp-change): Don't use the `position'.
2012-07-27 21:59:22 +02:00
Bastien Guerry b86a6f6f34 S-M-<up/down> now adjusts previous/next clock when hit on clock timestamps.
* org.el (org-clock-history, org-clock-adjust-closest): New
variables.
(org-timestamp-change): Maybe adjust the next or previous
clock in `org-clock-history'.
(org-shiftmetaup, org-shiftmetadown): On clock logs, update
the timestamp at point and adjust the next or previous clock
in `org-clock-history', when possible.

* org.texi (Clocking commands): Document the use of
S-M-<up/down> on clock timestamps.

Thanks to Joseph Thomas who suggested this.
2012-07-27 17:29:29 +02:00
Eric Schulte 82e269a472 common lisp should be mentioned as a babel language
Thanks to dunib from #org-mode for pointing this out.

* lisp/org.el (org-babel-load-languages): Common lisp should be
  mentioned as a supported babel language.
2012-07-27 05:18:53 -06:00
Bastien Guerry 0b54bce2c4 org.el: Fix indentation of a property line starting at the beginning of a line.
* org.el (org-indent-line): Fix indentation of a property line
starting at the beginning of a line.
2012-07-26 08:09:22 +02:00
Eric Schulte 63b5f8f2e8 replace flet/labels with org-flet/org-labels
This patch ensure Org-mode will build on all supported versions of
Emacs, after the renaming of the cl macros behind the cl- prefix in the
recent Emacs trunk.

* lisp/org-compat.el (org-flet): Compatibility function now that flet
  has been removed from cl-macs.
  (org-labels): Compatibility function now that labels has been removed
  from cl-macs.
* lisp/ob-R.el (org-compat): Require org-compat.
* lisp/ob-comint.el: Require org-compat.
* lisp/ob-exp.el (org-babel-exp-do-export): Switch to compatibility
  function.
* lisp/ob-gnuplot.el (org-babel-expand-body:gnuplot): Switch to
  compatibility function.
* lisp/ob-lob.el (org-babel-lob-get-info): Switch to compatibility
  function.
  (org-babel-lob-execute): Switch to compatibility function.
* lisp/ob-python.el (org-babel-python-evaluate-session): Switch to
  compatibility function.
* lisp/ob-ref.el (org-babel-ref-index-list): Switch to compatibility
  function.
* lisp/ob-sh.el (org-babel-sh-var-to-string): Switch to compatibility
  function.
* lisp/ob-tangle.el (org-babel-load-file): Switch to compatibility
  function.
  (org-babel-tangle): Switch to compatibility function.
  (org-babel-spec-to-string): Switch to compatibility function.
* lisp/ob.el (org-babel-view-src-block-info): Switch to compatibility
  function.
  (org-babel-execute-src-block): Switch to compatibility function.
  (org-babel-edit-distance): Switch to compatibility function.
  (org-babel-switch-to-session-with-code): Switch to compatibility
  function.
  (org-babel-sha1-hash): Switch to compatibility function.
  (org-babel-balanced-split): Switch to compatibility function.
  (org-babel-join-splits-near-ch): Switch to compatibility function.
  (org-babel-get-rownames): Switch to compatibility function.
  (org-babel-format-result): Switch to compatibility function.
  (org-babel-insert-result): Switch to compatibility function.
  (org-babel-examplize-region): Switch to compatibility function.
  (org-babel-merge-params): Switch to compatibility function.
  (org-babel-noweb-p): Switch to compatibility function.
  (org-babel-expand-noweb-references): Switch to compatibility function.
* lisp/org-bibtex.el (org-bibtex-headline): Switch to compatibility
  function.
  (org-bibtex-fleshout): Switch to compatibility function.
  (org-bibtex-read): Switch to compatibility function.
  (org-bibtex-write): Switch to compatibility function.
* lisp/org-exp-blocks.el (org-export-blocks-preprocess): Switch to
  compatibility function.
* lisp/org-exp.el (org-export-format-source-code-or-example): Switch to
  compatibility function.
* lisp/org-macs.el (org-called-interactively-p): Indentation fix.
* lisp/org-mouse.el (org-mouse-timestamp-today): Switch to compatibility
  function.
  (org-mouse-set-priority): Switch to compatibility function.
  (org-mouse-popup-global-menu): Switch to compatibility function.
  (org-mouse-context-menu): Switch to compatibility function.
* lisp/org-plot.el (org-plot/gnuplot-to-grid-data): Switch to
  compatibility function.
  (org-plot/gnuplot-script): Switch to compatibility function.
* lisp/org.el (org-entry-get): Switch to compatibility function.
  (org-fill-paragraph): Switch to compatibility function.
  (org-auto-fill-function): Switch to compatibility function.
2012-07-25 09:23:57 -06:00
Achim Gratz 6fbc226ca5 further cleanup for org version
* UTILITIES/org-fixup.el (org-make-org-version): Provide feature
  'org-version.
* lisp/org-compat.el (org-check-version): New macro.  Check if
  org-version.el exists and provide autoloads to that. Otherwise check
  if org-fixup.el exists and use it to provide definitions.  Finally
  if nothing worked, complain about a botched installation and provide
  fallback definitions.
* lisp/org.el: Use org-check-version.

This should finally provide the correct behaviour in all supported
use-cases as well as a few corner scenarios that were reported on the
mailing list and allow to always build on Git, ELPA and Emacs Bzr
correctly.  The file org-version.el must be added to the Emacs sources
and should be re-generated each time orgmode Git is synced to Emacs
Bzr (it would be best to automate this).

Note that the internal functions (org-release) and (org-git-release)
are not autoloaded when org-version is not present and become only
available when org.el is loaded.  This should pose no problem since
they are only used by (org-version), which is autoloaded from org.el.
2012-07-15 13:53:53 +02:00
Achim Gratz 6762c7ea60 Clean-up for build system support and a fix for org-version.
* UTILITIES/org-fixup.el: Clean up and add doc strings.
* UTILITIES/org-fixup.el (org-make-autoloads): Add optional arguments
  and implementation for comopiling and force compiling.
* UTILITIES/org-fixup.el (org-make-autoloads-compile,
  org-make-autoloads-compile-force): Convenience definitions with
  pre-selected arguments, avoids complicated quoted on invocation from
  command line.
* UTILITIES/org-fixup.el (org-fixup): Add "-git" to git version when
  run from a bare Git worktree.  Give message instead of returning
  string inside quoted progn for easier tracing.
* lisp/org.el: Fix a subtle error resulting in version functions
  sometimes not being defined and byte-compiling failing.  Always
  compile in fallback definitions into org.elc -- org-fixup either
  provides re-definitions at compile-time or checks org-version.el and
  then the git work tree when run uncompiled.  So the fallback
  definitions will only come into effect when org-fixup is not
  available.
2012-07-14 20:42:18 +02:00
Bastien Guerry b6cb722377 Explicitely says only letters are supported as fast TODO selection keys.
* org.texi (Fast access to TODO states): Explicitely says only
letters are supported as fast TODO selection keys.

* org.el (org-todo-keywords): Ditto.

Thanks to Samuel Wales for pointing at this.
2012-07-14 09:15:50 +02:00
Bastien Guerry dacd62b98d org.el (org-use-fast-todo-selection): Reformat docstring.
* org.el (org-use-fast-todo-selection): Reformat docstring.
2012-07-14 09:06:24 +02:00
Bastien Guerry fea1b82bef Bind `org-clock-in-last' to C-c C-x C-x and ̀org-clock-cancel' to C-c C-x C-q.
* org.el (org-flag-drawer): Add a docstring.
(org-mode-map): Bind ̀org-clock-cancel' to "C-cC-xC-q" and
`org-clock-in-last' to "C-cC-xC-x".  This fixes a bug in the
previous keybinding for `org-clock-in-last', which would
override the one for `org-clock-in'.

* org-clock.el (org-clock-in-last): Prevent errors when there
is no clocking history.
(org-clock-cancel): Fix bug when checking against a clock log
in a folded drawer.

Thanks to Bernt Hansen who reported the problem.
2012-07-14 08:33:48 +02:00
Bastien Guerry ef3d4b5965 org.el: Allow %(my-function) as a specifier in abbreviated links.
* org.el (org-link-expand-abbrev): Implement "%(my-function)"
as a new specifier.  Update the docstring.

* org.texi (Link abbreviations): Illustrate the use of the
"%h" specifier.  Document the new "%(my-function)" specifier.

Thanks to Takaaki ISHIKAWA who came all the way down from Tokyo
to Paris and raised a not-so-distant issue: "could we translate
emails from the mailing list and have a URI for each translated
email?"  See the update in the manual for an answer.
2012-07-13 18:22:45 +02:00
Bastien Guerry 3270f3a0eb org.el (org-startup-options): Fix docstring formatting.
* org.el (org-startup-options): Fix docstring formatting.
2012-07-13 01:17:42 +02:00
Bastien Guerry ce80dee476 org.el (org-use-sub-superscripts): Fix typo in docstring.
* org.el (org-use-sub-superscripts): Fix typo in docstring.
2012-07-13 01:14:32 +02:00
Bastien Guerry 620737757f org.el: Fix bug in `org-refile'.
* org.el (org-refile): Fix bug: prevent looping when calling
`org-set-tags' internally.
2012-07-12 14:29:54 +02:00
Bastien Guerry 3528fc6b42 Implement continuous clocking. Small other improvements. Update documentation.
* org.el (org-mode-map): Add `C-c C-x C-I' as a keybinding for
`org-clock-in-last'.

* org-clock.el (org-clock-continuously): New option.
(org-clock-in): Three universal prefix arguments set
`org-clock-continuously' to `t' temporarily.
(org-clock-in-last): Fix call to `org-clock-select-task' and
support continuous clocking.
(org-clock-out-time): New variable.
(org-clock-out): set `org-clock-out-time' when clocking out.
Small docstring rewriting.
(org-clock-remove-empty-clock-drawer): Fix "invalid search
bound" bug when trying to delete empty logbook drawer.
(org-clock-cancel): If the clock log is gone, send a warning
instead of deleting the region that is supposed to contain it.

* org.texi (Clocking commands): New cindex.
(Clocking commands): Update documentation for `org-clock-in'.
Document `org-clock-in-last'.  Mention `org-clock-out' and
`org-clock-in-last' as commands that can be globally bound.
(Resolving idle time): Document continuous clocking.
2012-07-12 14:04:54 +02:00