0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-22 13:10:42 +00:00
Commit graph

2446 commits

Author SHA1 Message Date
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