Commit Graph

3422 Commits

Author SHA1 Message Date
Bastien Guerry a3f58c8891 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-11 17:46:40 +02:00
Bastien Guerry 6c9b3ad91f org.el (org-insert-heading): Be more consistent in respecting content
* org.el (org-insert-heading): With one universal prefix
argument or `org-insert-heading-respect-content' set to `t',
always respect the content, i.e. don't insert a list item and
don't convert normal lines into headings.  Update docstring.
(org-insert-heading-respect-content): Remove unused arg.
(org-insert-todo-heading-respect-content): Don't use
`org-insert-todo-heading-respect-content', use the second
argument of `org-insert-todo-heading' instead.

* org-mobile.el (org-mobile-edit): Use only one arg.

Thanks to Bernt Hansen for reporting this.
2014-06-11 17:45:13 +02:00
Bastien Guerry b88c5464db org.el (org-overview): Don't call `recenter'
* org.el (org-overview): Don't call `recenter'.

Thanks to Nicolas Richard for suggesting this.
2014-06-10 16:20:47 +02:00
Nicolas Goaziou 5cca90edf8 Merge branch 'maint'
Conflicts:
	lisp/org.el
	testing/lisp/test-org.el
2014-06-09 18:11:19 +02:00
Nicolas Goaziou 8cc4e09950 Fix `org-insert-heading' before first headline
* lisp/org.el (org-insert-heading): Fix error when inserting
  a headline before first headline, with point not at bol.  Remove
  source block check for consistency with behavior after first
  headline.  Tiny fix to docstring.

* testing/lisp/test-org.el (test-org/meta-return): Remove unnecessary
  test (not testing specifications).
(test-org/insert-heading): New test.
2014-06-09 18:07:07 +02:00
Bastien Guerry a5991acd69 Remove useless code 2014-06-05 12:16:23 +02:00
Nicolas Goaziou 9263654e5b Merge branch 'maint' 2014-06-03 23:28:56 +02:00
Nicolas Goaziou 88f2625f28 Fix typo
* lisp/org.el (org-scan-tags): Fix typo in docstring.
2014-06-03 23:28:08 +02:00
Bastien Guerry 3518403790 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-02 15:57:41 +02:00
Bastien Guerry 89cb26ed17 org.el: Fix setting and deleting properties with a null value
* org.el (org-property-re): Also match null properties by
default.
(org-entry-delete): Also delete null properties.
(org-read-property-value): Allow the empty string as a new
value.
(org-delete-property): Throw a message when there is not
property to delete.

Thanks to Andrea Rossetti for reporting this.
2014-06-02 15:40:04 +02:00
Achim Gratz 108658e94f org: forward declare functions
* lisp/org.el: Forward declare `org-clock-sum',
  `org-table-end-of-field', `org-element-cache-refresh'.

These have been introduced with b5554077cb, b76071f2b6 and 6eb940a8dc.
2014-06-01 14:22:42 +02:00
Bastien Guerry 14dd4c56f2 Don't use the org-warning face for the wrong install warning 2014-05-31 16:47:37 +02:00
Bastien Guerry dd17e9d299 org.el (org-todo): When changing from one state to the same state, throw a more accurate message
* org.el (org-todo): When changing from one state to the same
state, throw a more accurate message.
2014-05-31 14:31:46 +02:00
Bastien Guerry 63ce68af06 org.el: Don't quote lambdas and known functions. Fix indentation.
* org.el (org-confirm-shell-link-function)
(org-todo-keywords, org-time-stamp-rounding-minutes)
(org-file-contents, org-update-radio-target-regexp)
(org-hide-block-toggle-all, org-hide-block-all)
(org-open-at-point, org-sparse-tree, org-timestamp-change)
(org-create-formula-image, org-insert-comment)
(org-comment-or-uncomment-region, org-comment-dwim): Don't
quote lambdas and known functions.
2014-05-30 08:52:19 +02:00
Bastien Guerry f86d99a292 Merge branch 'maint' 2014-05-30 08:47:26 +02:00
Bastien Guerry 822dcfc881 org.el: Fix bug when setting properties with a null value
* org.el (org-re-property): New parameter `allow-null' to
match property with a null value.
(org-entry-put): Correctly update a property with a null
value.

Thanks to Andrea Rossetti for reporting this and suggesting a fix.
2014-05-30 08:46:39 +02:00
Bastien Guerry 554c9e3228 org.el (org-refresh-effort-properties): New function
* org.el (org-refresh-effort-properties): New function.
(org-agenda-prepare-buffers, org-mode): Use it.
2014-05-29 23:46:11 +02:00
Bastien Guerry f36b19eef6 org.el: Send a warning when org-loaddefs.el could not be found
* org.el: Send a warning when org-loaddefs.el could not be
found in the directory where this org.el file is loaded from.

* ox-org.el (org-org-publish-to-org):
* ox-odt.el (org-odt-do-format-code):
* ox-html.el (org-html-fontify-code):
* org.el (org-fontify-like-in-org-mode):
* org-src.el (org-src-font-lock-fontify-block):
* org-clock.el (org-clock-get-clocktable): Use
`font-lock-ensure' instead of `font-lock-fontify-buffer'.

* org.el (org-outline-level, org-copy-subtree)
(org-sort-entries, orgstruct-setup, org-show-context)
(org-create-formula-image-with-dvipng)
(org-create-formula-image-with-imagemagick)
(org-goto-sibling, org-goto-first-child, org-show-entry): Use
`ignore-errors' instead of (condition-case nil ... (error nil)).

People trying to load org.el when org-loaddefs.el is not available
has been a major cause of trouble when installing Org.  The warning
tells them what they need to do.
2014-05-29 22:08:43 +02:00
Bastien Guerry 029b393032 Merge branch 'maint' 2014-05-29 19:49:07 +02:00
Bastien Guerry d8034c3b19 org.el (org-insert-heading): Don't insert an item when called with two universal prefix arguments
* org.el (org-insert-heading): Don't insert an item when
called with two universal prefix arguments.
2014-05-29 19:48:47 +02:00
Bastien Guerry b978abb485 org.el (org-shiftmetaup, org-shiftmetadown): Update behavior
* org.el (org-shiftmetaup, org-shiftmetadown): Don't move the
subtree or list item at point up or down, as this feature is
already accessible through `org-metaup' and `org-metadown'.
Update the docstrings to reflect the new behavior.
2014-05-29 19:25:08 +02:00
Achim Gratz 5bf928bae7 Merge branch 'maint'
Conflicts:
	lisp/ob-core.el
	lisp/org.el
	lisp/ox.el
2014-05-28 16:23:08 +02:00
Achim Gratz 3d973cdc6e org: add forward declarations
* lisp/org.el: Add forward declarations for a number of functions that
  the compiler otherwise warns about as potentially undefined at
  runtime.
2014-05-28 15:18:24 +02:00
Achim Gratz 6c1b41bd68 org, ox: move defsubst before first use
* lisp/ox.el (org-export-get-parent): Move definition of
  'org-export-get-parent' before first use.  Leave comment at original
  place of definition.

* lisp/org.el (org-uniquify): Move definition of 'org-uniquify' before
  first use.  Leave comment at original place of definition.
2014-05-28 13:44:53 +02:00
Bastien Guerry 7dceecbb30 Small refactoring and fix a bug in `org-timer-set-timer'
* org.el (org-refresh-property): New function.
(org-refresh-properties, org-set-effort)
(org-property-next-allowed-value): Use it.

* org-timer.el (org-timer-set-timer): Get the correct number
of minutes from text properties, both in an `org-mode' and
`org-agenda-mode' buffer.
2014-05-28 10:47:05 +02:00
Bastien Guerry 500252abf3 org.el (org-open-link-in-comment-or-property): Refactor into `org-open-at-point'
* org.el (org-open-link-in-comment-or-property): Delete.
(org-open-at-point): Handle links in comments and property
drawers.  Update docstring.
2014-05-28 10:21:11 +02:00
Nicolas Goaziou 0e303ab577 Small fix
* lisp/org.el (org-open-at-point): Use parser instead of
  `org-at-comment-p' and `org-at-property-p', which are not accurate.
2014-05-26 18:17:35 +02:00
Nicolas Goaziou f574744aee Tiny refactoring
* lisp/org.el (org-at-property-p): Tiny refactoring.  Improve docstring.
2014-05-26 18:17:30 +02:00
Bastien Guerry b11570c2f1 Fix regression: allow to open a link in a comment or a property line
* org.el (org-open-link-in-comment-or-property): New function.
(org-open-at-point): Use it.

See http://thread.gmane.org/gmane.emacs.orgmode/84300/focus=84300 for
the follow-up of a discussion on whether links should be supported in
comments and properties.
2014-05-26 17:42:58 +02:00
Bastien Guerry f768629404 Simplify comments matching functions
* org.el (org-fontify-entities): Use `org-at-comment-p'.
(org-in-commented-line): Delete.
(org-in-indented-comment-line): Delete.
(org-at-comment-p): Also match indented comments and save
match data.

* org-footnote.el (org-footnote-in-valid-context-p): Use
`org-at-comment-p'.
2014-05-26 17:33:24 +02:00
Bastien Guerry 956c00cce3 org.el (org-link-escape): Don't escape characters in internal links
* org.el (org-link-escape): Don't escape characters in
internal links.

Thanks to Alan Schmitt for raising this issue.
2014-05-26 16:06:10 +02:00
Bastien Guerry 2affa4d333 org.el (org-sort-entries): Improve TODO entries sorting
* org.el (org-sort-entries): When sorting by TODO keywords,
put TODO entries first, then entries without a TODO keyword,
then DONE entries.

Thanks to Eric Abrahamsen for triggering this.
2014-05-26 07:10:16 +02:00
Bastien Guerry abe931dca9 org.el (org-link-escape-chars): Remove ?\+ ?\; and ?\=
* org.el (org-link-escape-chars): Remove ?\+ ?\; and ?\=.

Thanks to Michael Weylandt for suggesting this.
2014-05-25 07:53:56 +02:00
Bastien Guerry 2c33442ae2 org.el (org-refile-check-position): Remove unused user error
* org.el (org-refile-check-position): Remove unused user error.
2014-05-24 11:52:15 +02:00
Bastien Guerry 253b60cdaf org.el (org-refresh-stats-properties): Fix arithmetic error
* org.el (org-refresh-stats-properties): Fix arithmetic error.

Thanks to Gregor Zattler for reporting this.
2014-05-24 11:25:39 +02:00
Bastien Guerry d978a9e585 org-agenda.el (org-agenda-format-item): Don't add the 'effort and 'effort-minutes text properties
* org-agenda.el (org-agenda-format-item): Don't add the
'effort and 'effort-minutes text properties as they are
already accessible through the 'txt property of agenda lines.

* org-clock.el (org-clock-in): Refresh both the 'effort and
'effort-minutes text properties.

* org-rmail.el (rmail, rmail-file-name): Silent byte-compiler.

* org.el (org-refresh-properties): Allow to set several text
properties by passing an alist to the TPROP argument.
(org-set-effort, org-property-next-allowed-value): Use 'effort
instead of 'org-effort.
(org-agenda-prepare-buffers): Update both 'effort and
'effort-minutes.
(org-mark-jump-unhide): Move up to silent the byte-compiler.
2014-05-23 16:51:55 +02:00
Bastien Guerry 45c4f276f2 org.el: Implement agenda sorting against stats cookies. Code cleanup
* org.el (org-refresh-category-properties): Don't put the
'org-category-position property.
(org-refresh-stats-properties): New function.
(org-agenda-ignore-properties): Rename from
`org-agenda-ignore-drawer-properties', which is now obsolete.
Allow to use 'stats.
(org-agenda-prepare-buffers): Check stats properties.
(org-get-at-bol): Make a defsubst.
(org-get-at-eol): New function.

* org-agenda.el (org-entries-lessp): Sort by statistic
cookies.
(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): Don't set
the 'org-category and 'org-category-pos text properties.
'org-category-pos is useless and 'org-category is set through
`org-agenda-format-item'.
(org-agenda-format-item): Remove useless code.
(org-cmp-priority): Delete.
(org-cmp-values): New function to compare text properties
values.
(org-cmp-effort, org-agenda-to-appt): Check against the end of
the line.
(org-agenda-filter-by-category, org-agenda-filter-apply)
(org-agenda-change-all-lines): Use `org-get-at-eol'.
2014-05-23 15:54:50 +02:00
Bastien Guerry 7384c96954 Merge branch 'maint' 2014-05-23 13:12:37 +02:00
Bastien Guerry fe0057556b org.el: Don't advise `outline-end-of-subtree'
* org.el (org-move-subtree-down): Use `org-end-of-subtree'
instead of `outline-end-of-subtree'.
(outline-end-of-subtree): Remove advice.

* org-mouse.el (org-mouse-move-tree, org-mouse-do-remotely):
Use `org-end-of-subtree' instead of `outline-end-of-subtree'.
2014-05-23 13:11:57 +02:00
Nicolas Richard 54f4d2f4a4 org.el (org-cycle-internal-local): Fix trailing character bug
* org.el (org-cycle-internal-local): Don't show a trailing
character when cycling a subtree that ends with a non-newline
character at the end of the buffer or the narrowed region.
2014-05-23 13:04:28 +02:00
Eric Abrahamsen c23d9ee8c5 Warn users of malformed property drawers
* org.el (org-buffer-property-keys): When scanning the buffer for
valid property keys, give users a chance to repair any malformed
property drawers.
2014-05-23 11:06:50 +02:00
Bastien Guerry 92d84410ef Merge branch 'maint' 2014-05-22 12:56:18 +02:00
Bastien Guerry 58e45f4df1 org.el (org-entry-properties): Ensure the special property is not commented out when matched
* org.el (org-entry-properties): Ensure the special property
is not commented out when matched.

Other an agenda view like (tags "DEADLINE<\"<+0d>\"" ...) will
wrongly list an entry with a commented out DEADLINE line, because
org-agenda-skip only skip commented out stuff on the current line,
with is the headline itself when using "tags" agenda.

Thanks to Sébastien for reporting this.
2014-05-22 12:38:06 +02:00
Ian Kelling 1ca86f555f Make the point visible when jumping to the mark
* org.el: Advise commands which jump to the mark.
2014-05-22 11:53:43 +02:00
Bastien Guerry 0cf1be58f5 Merge branch 'maint' 2014-05-21 04:02:49 +02:00
Bastien Guerry d438fbfb1b Continue fixing fdb4b54e 2014-05-21 03:56:26 +02:00
Bastien Guerry c264904b12 Merge branch 'maint' 2014-05-20 23:28:33 +02:00
Bastien Guerry 03acfe44b6 org.el (org-insert-heading): Fix bug
* org.el (org-insert-heading): Fix bug when trying to insert a
heading when point is before the first headline and not at the
beginning of a line.
2014-05-20 23:28:06 +02:00
Albert Krewinkel d2b7c50880 org.el (org-offer-links-in-entry): Reuse global variable
* org.el (org-offer-links-in-entry): Use global variable
  `org-any-link-re' instead of defining a string-equal local variable.

The `re' variable defined in function `org-offer-links-in-entry' is
string-equal to `org-any-link-re' and is hence replaced by the latter.

TINYCHANGE
2014-05-20 23:08:27 +02:00
Bastien Guerry 74168eea55 Merge branch 'maint' 2014-05-20 22:22:14 +02:00
Dmitry Gorbik 1811b37f4d org.el (org-fast-tag-selection): Fix window splitting
* org.el (org-fast-tag-selection): Fix window splitting.

This is basically the same fix than the one listed here:
http://article.gmane.org/gmane.emacs.orgmode/34802

TINYCHANGE
2014-05-20 22:20:56 +02:00
Bastien Guerry d8fdaf89ae Continue enhancing 7ac468
Thanks to Michael Brand for his feedback.
2014-05-20 21:44:37 +02:00
Bastien Guerry 060fc1ca2c Merge branch 'maint' 2014-05-20 18:00:20 +02:00
Bastien Guerry 6fab5bf04b * org.el (org-set-regexps-and-options): Fix
* org.el (org-set-regexps-and-options): Allow
`org-complex-heading-regexp-format' to match [/] and [%]
cookies when they are both before and after the heading.

Thanks to Nicolas Bercher for reporting this.
2014-05-20 18:00:05 +02:00
Bastien Guerry 32e77efa32 Fix previous commit by adding docstrings 2014-05-20 15:49:59 +02:00
Bastien Guerry b76071f2b6 Add `org-increase-number-at-point' bound to C-M-S-<right>
* org.el (org-increase-number-at-point)
(org-decrease-number-at-point): New commands.
(org-mode-map): Bind them to C-M-S-<right> and C-M-S-<left>.
2014-05-20 15:48:01 +02:00
Nicolas Goaziou f58201b1e1 Fix indentation in source blocks
* lisp/org.el (org-indent-line): Indent source block contents
  according to line above when `org-src-tab-acts-natively' is nil.

* testing/lisp/test-org.el (test-org/indent-line): Update test.
2014-05-19 13:33:28 +02:00
Nicolas Goaziou 3702dce1db Fix previous patch
* lisp/org.el (org-update-radio-target-regexp): Fix previous patch.

* testing/lisp/test-org.el (test-org/update-radio-target-regexp): Add test.
2014-05-17 11:14:27 +02:00
Nicolas Goaziou f8b7eb4e20 Fix radio target update
* lisp/org.el (org-update-radio-target-regexp): Properly update cache
  when refreshing regexp.

* testing/lisp/test-org.el (test-org/update-radio-target-regexp): Fix
  test.
2014-05-17 11:03:29 +02:00
Bastien Guerry 736bc7b904 org.el (org-overview): Don't call `recenter'
* org.el (org-overview): Don't call `recenter'.

Thanks to Nicolas Richard for suggesting this.
2014-05-15 11:11:43 +02:00
Nicolas Goaziou 7515066d94 Rewrite `org-indent-drawer' and `org-indent-block'
* lisp/org.el (org-indent-block, org-indent-drawer): Rewrite functions.
2014-05-07 17:39:52 +02:00
Nicolas Goaziou fe129fb352 Rewrite `org-indent-region'
* lisp/org.el (org-indent-region): Update function according to recent
  `org-indent-line' change.  Optimize it.

* testing/lisp/test-org.el (test-org/indent-region): New test.
2014-05-07 17:39:52 +02:00
Nicolas Goaziou 51ffcd02dd Rewrite `org-indent-line'
* lisp/org.el (org--get-expected-indentation,
  org--align-node-property): New functions.
(org-indent-line): Use new function.  Also merge functionalities with
`org-src-native-tab-command-maybe'.

* lisp/org-src.el (org-src-native-tab-command-maybe): Remove function.

* testing/lisp/test-org.el (test-org/indent-line): New test.
2014-05-07 17:39:52 +02:00
Kyle Meyer d3f210676c org-find-exact-heading-in-directory: Use full path
* lisp/org.el (org-find-exact-heading-in-directory): Use full path for
files.

When the path is not included, `org-find-exact-heading-in-directory'
will fail when the current value of `default-directory' is different
from the argument DIR.

TINYCHANGE
2014-05-06 11:31:18 +02:00
Bastien Guerry 60502a0217 Merge branch 'maint' 2014-04-30 10:44:20 +02:00
Bastien Guerry 0ca4092d72 Fix commit fdb4b54e 2014-04-30 10:43:40 +02:00
Nicolas Goaziou 86a129c597 Fix `org-flag-drawer'
* lisp/org.el (org-flag-drawer): Do not flag drawer when point is on
  an empty line after it.  When hiding the drawer away, make sure
  point always stays in a visible part of the buffer.

* testing/lisp/test-org.el (test-org/flag-drawer): Add tests.
2014-04-28 19:41:08 +02:00
Bastien Guerry c6d698a5ec Merge branch 'maint' 2014-04-25 09:28:43 +02:00
Bastien Guerry fc37d1020a Fix bug introduced in commit fdb4b54e
Thanks to Leonard Randall for reporting it.
2014-04-25 09:27:12 +02:00
Bastien Guerry 1fd54bf8e0 Fix typos
* org.el (org-get-agenda-file-buffer): Fix docstring.

* ox-icalendar.el (org-icalendar-use-deadline): Fix typo in docstring.
2014-04-23 10:06:43 +02:00
Aaron Ecay ef5900641c org.el: use `user-error' instead of `error'.
* lisp/org.el (org-next-block, org-reftex-citation)
(org-create-math-formula, org-check-agenda-file)
(org-occur-next-match, org-auto-repeat-maybe)
(org-offer-links-in-entry, org-open-at-point)
(org-clone-subtree-with-time-shift):
Use `user-error' instead of `error'.
2014-04-22 15:29:38 -04:00
Bastien Guerry 38ffaf061e Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-04-22 11:18:58 +02:00
Bastien Guerry fdb4b54e92 org.el (org-insert-heading): Fix behavior
* org.el (org-insert-heading): Fix behavior when point is at
the beginning of a heading or a list item.  Enhance docstring.

Thanks to York Zhao for reporting this.
2014-04-22 11:18:12 +02:00
Bastien Guerry 28b038e470 Merge branch 'maint' 2014-04-22 08:03:59 +02:00
Bastien Guerry 162f8867c9 org.el (org-mode): Use `org-*-element' functions again
* org.el (org-mode): Use `org-*-element' functions for C-M-a
and C-M-e but fix C-M-e.
2014-04-22 08:03:44 +02:00
Bastien Guerry 9ca840a501 Revert "org.el (org-mode): Use `org-back-to-heading' and `org-end-of-subtree' for C-M-a and C-M-e"
This reverts commit 47e456d8a6.
2014-04-22 08:02:05 +02:00
Bastien Guerry 9a4cc3a21e Merge branch 'maint' 2014-04-21 19:25:44 +02:00
Bastien Guerry 47e456d8a6 org.el (org-mode): Use `org-back-to-heading' and `org-end-of-subtree' for C-M-a and C-M-e
* org.el (org-mode): Use `org-back-to-heading' and
`org-end-of-subtree' for C-M-a and C-M-e.

This partially reverts commit 76fa97922.

Thanks to Leo Liu for reporting this.
2014-04-21 19:25:27 +02:00
Nicolas Goaziou 99af267738 Merge branch 'maint' 2014-04-21 09:25:22 +02:00
Nicolas Goaziou f9c93aaa49 Tiny fix
* lisp/org.el (org-sparse-tree): Tiny fix.
2014-04-21 09:24:58 +02:00
Nicolas Goaziou 881459c6bc Merge branch 'maint' 2014-04-21 09:22:54 +02:00
Nicolas Goaziou 2434d3e248 Fix code typo
* lisp/org.el (org-sparse-tree): Fix code typo.  Small refactoring.

Thanks to Brady Trainor for spotting it.
http://permalink.gmane.org/gmane.emacs.orgmode/85320
2014-04-21 09:19:37 +02:00
Bastien Guerry 198140aa68 org.el: New alias: `org-highlight-links' -> `org-activate-links'
* org.el (org-highlight-links): Rename from
`org-activate-links'.  Update docstring.
(org-update-radio-target-regexp, org-set-font-lock-defaults):
Use `org-highlight-links'.
2014-04-20 12:12:21 +02:00
Bastien Guerry 5e60677cf8 Merge branch 'maint' 2014-04-20 09:31:36 +02:00
Bastien Guerry d9312231e9 org.el (org-check-before-invisible-edit): Show the subtree
* org.el (org-check-before-invisible-edit): Don't just cycle,
show the subtree, as cycling may leave the current heading
folded.

Thanks to Paul Stansell for reporting this.
2014-04-20 09:31:28 +02:00
Bastien Guerry abd8e52dc0 Merge branch 'maint' 2014-04-20 08:44:33 +02:00
Bastien Guerry 5d0e668cc6 org.el (org-contextualize-validate-key): Fix wrong test
* org.el (org-contextualize-validate-key): Fix wrong test.

Thanks to Eric Abrahamsen for reporting the problem and the fix:
http://article.gmane.org/gmane.emacs.orgmode/85276
2014-04-20 08:44:07 +02:00
Bastien Guerry c9ce0cad11 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-04-20 08:01:14 +02:00
Bastien Guerry 9272ef3e17 Revert "org.el (org-refile): Allow org-refile goto from everywhere"
This reverts commit faa1703b8f.
2014-04-20 08:00:19 +02:00
Nicolas Goaziou 6eb940a8dc Fix cache update when radio targets are being refreshed
* lisp/org-element.el (org-element-cache-refresh): New function.
* lisp/org.el (org-update-radio-target-regexp): Make it standalone.
  Also refresh fontification only when necessary.
(org-all-targets, org-make-target-link-regexp): Remove functions.

* testing/lisp/test-org.el (test-org/update-radio-target-regexp): New
  test
(test-org/all-targets): Remove test.

We need to manually reset cache on radio links as re-fontification
doesn't trigger a buffer change, and, as a consequence, a cache reset.
2014-04-19 18:36:58 +02:00
Bastien Guerry 4ea6c690fd Minor updates on org-trim, org-babel-chomp and org-babel-trim
* org.el (org-trim): Make a defsubst, use `replace-regexp-in-string'.

* ob-core.el (org-babel-chomp, org-babel-trim): Fix docstrings.
2014-04-19 14:43:28 +02:00
Bastien Guerry 9e4113994c Revert "Alias `org-babel-trim' and `org-babel-chomp' to `org-trim' and `org-trim-trailing'."
This reverts commit 7925d42d43.
2014-04-19 14:36:00 +02:00
Bastien Guerry 7925d42d43 Alias `org-babel-trim' and `org-babel-chomp' to `org-trim' and `org-trim-trailing'.
* org.el (org-trim): Rewrite and make a defsubst.

* org-bibtex.el (org-bibtex-get): Use `org-trim' instead of
`org-babel-trim'.

* ob-core.el (org-babel-trim): Delete and alias to `org-trim'.
(org-babel-chomp): Delete and alias to `org-trim-trailing'.
(org-trim-trailing): New defsubst.
(org-babel-examplize-region): Fix version.
2014-04-18 15:11:42 +02:00
Bastien Guerry 5807bfbed2 org.el (org-do-emphasis-faces): Fix docstring
* org.el (org-do-emphasis-faces): Fix docstring.
2014-04-18 13:56:41 +02:00
Nicolas Goaziou b9f2e17f07 Better handling for "mailto" links
* lisp/org.el (org-link-mailto-program): Remove variable.
(org-open-at-point): Delegate "mailto" links handling to `browse-url'
and `browse-url-mailto-function'.

This patch allows to use regular URI syntax and deprecates old Org
specific syntax: mailto:user@domain::Title.

http://permalink.gmane.org/gmane.emacs.orgmode/85007
2014-04-17 21:44:50 +02:00
Bastien Guerry e247cfe1e3 Complete previous patch 2014-04-17 16:20:48 +02:00
Bastien Guerry 6cdaf171db org.el (org-insert-heading): Minor docstring enhancement
* org.el (org-insert-heading): Minor docstring enhancement.
2014-04-17 16:15:48 +02:00
Bastien Guerry cd823dc3f7 Fix commit 5ec31814 2014-04-17 13:19:15 +02:00
Bastien Guerry 1a27bed477 Merge branch 'maint' 2014-04-17 12:52:04 +02:00
Bastien Guerry a937366e8a org.el (org-sort-entries): Fix the number of blank lines to keep for the last entry to sort
* org.el (org-sort-entries): Fix the number of blank lines to
keep for the last entry to sort.

Thanks to Kyle Meyer for raising this issue.
2014-04-17 12:51:49 +02:00
Nicolas Goaziou fffd055ac5 Merge branch 'maint'
Conflicts:
	lisp/org-element.el
	lisp/ox-html.el
2014-04-17 11:34:54 +02:00
Nicolas Goaziou 018a80541a Small refactoring
* lisp/org.el (org-make-link-regexps): Use `regexp-opt' instead of
  `mapconcat' and `regexp-quote'.
2014-04-17 11:30:15 +02:00
Nicolas Goaziou 1ca819e398 Revert "Make Org links compatible with URI syntax"
This reverts commit 3589f64e42.
2014-04-17 11:30:15 +02:00
Bastien Guerry 5ec31814f9 org.el (org-sort-entries): Allow to sort by clocking time
* org.el (org-sort-entries): Allow to sort by clocking time.

Thanks to Noah Slater for this idea.
2014-04-17 10:32:36 +02:00
Bastien Guerry 817619a50b Revert "org.el (org-sort-entries): Allow to sort by clocking time"
This reverts commit 1cca8f534f.
2014-04-17 10:32:23 +02:00
Bastien Guerry 1cca8f534f org.el (org-sort-entries): Allow to sort by clocking time
* org.el (org-sort-entries): Allow to sort by clocking time.

Thanks to Noah Slater for this idea.
2014-04-17 10:30:44 +02:00
Bastien Guerry 06bbbee67a Merge branch 'maint' 2014-04-17 09:18:19 +02:00
Bastien Guerry c3810f71b6 org.el (org-update-dblock): Use `save-excursion'
* org.el (org-update-dblock): Use `save-excursion' instead of
`save-window-excursion' so that blocks can edit other windows and
change the window layout.

Thanks to Martin for reporting this.
2014-04-17 09:18:08 +02:00
Bastien Guerry 11f7fe8408 Merge branch 'maint' 2014-04-17 00:35:39 +02:00
Bastien Guerry 675e8b2b86 org.el (org-insert-heading): Fix code typo
* org.el (org-insert-heading): Fix code typo.

Thanks to Thorsten Jolitz for reporting this and to Nicolas Richard
for his comments.
2014-04-16 18:28:26 +02:00
Bastien Guerry 132da2db35 Let sort-by-time handle [H]H:MM strings and add a :sort parameter for clocktables
* org-clock.el (org-clocktable-write-default): New parameter
":sort" to sort a column by a sorting type.  E.g., a value of
:sort (1 . ?a) will sort the first column alphabetically.  The
sorting line is the third one, table-wise, which is usually
the first line that contains user data.

* org.texi (The clock table): Document the new :sort
parameter.

* org.el (org-do-sort): Recognize [H]H:MM strings as time
values and allow sort-by-time to process them.

* org-table.el (org-table-sort-lines): Mention that sorting by
time also recognize [H]H:MM time values.
2014-04-16 18:23:47 +02:00
Bastien Guerry 6ff38b1f6d org.el (org-create-dblock): Tiny docstring fix
* org.el (org-create-dblock): Tiny docstring fix.
2014-04-16 17:49:19 +02:00
Bastien Guerry d1600af7b6 org.el (org-cycle): Try `org-try-cdlatex-tab' before trying to edit/move as in a table
* org.el (org-cycle): Try `org-try-cdlatex-tab' before trying
to edit/move as in a table.

Thanks to Konstantin Kliakhandler for reporting this.
2014-04-16 17:25:08 +02:00
Nicolas Goaziou c4f7880429 Fix fontification of radio links
* lisp/org.el (org-set-font-lock-defaults): Fix fontification of radio
  links.

Thanks to Daniel Clemente for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/84927
2014-04-15 20:01:16 +02:00
Bastien Guerry e24f336cd3 Merge branch 'master' of orgmode.org:org-mode 2014-04-11 21:33:08 +02:00
Nicolas Goaziou 7c82e6ac19 No alphanumeric characters around radio links
* lisp/org.el (org-make-target-link-regexp): Change regexp so
  alphanumeric characters cannot be found next to a radio link.
(org-activate-target-links): Apply changes to radio link regexp.

* lisp/org-element.el (org-element--object-lex,
  org-element-link-parser): Apply changes to radio link regexp.

* testing/lisp/test-org-element.el (test-org-element/link-parser):
  Update test.

Patch suggested by Daniel Clemente.
http://permalink.gmane.org/gmane.emacs.orgmode/84461
2014-04-11 21:30:15 +02:00
Bastien Guerry eb0b98d91f Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-04-11 12:22:48 +02:00
Markus Hauck faa1703b8f org.el (org-refile): Allow org-refile goto from everywhere
* lisp/org-agenda.el (org-refile): Flip logic to allow instead of
  prohibit the use of `org-refile' with the goto flat from non
  org-mode buffers.

In commit 49da67d the condition was changed from only
`(unless goto ...)` to `(unless (and goto (listp arg)) ...)`
where the `and` condition is only true for non-empty lists, so that
calling `(org-refile t)` complains about not being inside an org-mode
buffer.

With this patch org-refile can be used (again) from anywhere when
passed the goto flag to jump to the chosen task.

TINYCHANGE
2014-04-11 11:59:43 +02:00
Sacha Chua d6a38604e6 org.el (org-refresh-properties): Don't throw an error when reaching the end of the buffer
* org.el (org-refresh-properties): Don't throw an error when
reaching the end of the buffer.
2014-04-11 11:28:45 +02:00
Nicolas Goaziou 37e3c112dd Merge branch 'maint' 2014-04-10 23:01:20 +02:00
Nicolas Goaziou 3589f64e42 Make Org links compatible with URI syntax
* lisp/org.el (org-make-link-regexps): Allow optional double slashes
  after type.  Small refactoring.

* testing/lisp/test-org-element.el (test-org-element/link-parser):
  Update test.

This patch allows to write both [[file:/file.org]] and [[file:///file.org]].
See bug#16751.
2014-04-10 22:57:05 +02:00
Nicolas Goaziou fea23d3da2 Fix COMMENT keyword when stacked with a regular keyword
* lisp/org.el (org-set-font-lock-defaults): Fix headline fontification
  when keywords are stacked.
(org-toggle-comment): Properly toggle COMMENT keyword when a regular
keyword is already present.
(org-todo, org-agenda-prepare-buffers): Correctly match a commented
heading.
* lisp/org-colview.el (org-columns-capture-view): Correctly match
  a commented heading.

* testing/lisp/test-org.el (test-org/toggle-comment): New test.
2014-04-10 22:51:16 +02:00
Nicolas Goaziou a36dde7c68 Merge branch 'maint' 2014-04-05 09:51:36 +02:00
Nicolas Goaziou 7de492a0c4 Update docstrings
* lisp/org.el (org-latex-packages-alist,
  org-latex-default-packages-alist): Update docstrings.
2014-04-05 09:50:20 +02:00
Nicolas Goaziou 23e62f7527 Radio targets cannot beging or end with whitespace
* lisp/org.el (org-radio-target-regexp): Radio targets cannot begin or
  end with whitespace.
(org-target-regexp): Update syntax according to previous rule.
(org-any-target-regexp): Fix fontification bug.

* testing/lisp/test-org-element.el (test-org-element/radio-target-parser):
  Add test.

Variables are turned into defconst to emphasize the fact that they are
not subject to change.

Thanks to Daniel Clemente for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/84461
2014-04-02 14:54:37 +02:00
Nicolas Goaziou 938e1ef3bf Fix `org-in-commented-heading-p'
* lisp/org.el (org-in-commented-heading-p): Fix recursive call.

http://permalink.gmane.org/gmane.emacs.orgmode/84294
2014-03-27 16:13:58 +01:00
Nicolas Goaziou 1c1936fbb1 Allow radio links after an apostrophe and mid-word
* lisp/org.el (org-make-target-link-regexp): Allow radio links after
  an apostrophe and mid-word.  Small refactoring.

* testing/lisp/test-ox.el (test-org-export/resolve-radio-link): Add
  test.

See http://permalink.gmane.org/gmane.emacs.orgmode/84108.
2014-03-25 10:21:26 +01:00
Nicolas Goaziou 6d1d61f667 Rename `org-babel-under-commented-heading-p'
* lisp/org.el (org-in-commented-heading-p): New function.
* lisp/ob-tangle.el (org-babel-under-commented-heading-p): Remove
  function.
(org-babel-tangle-collect-blocks): Use new function.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Use new function.

* testing/lisp/test-org.el (test-org/in-commented-heading-p): New
  test.
2014-03-24 13:29:42 -04:00
Nicolas Goaziou 230d09aeb0 Merge branch 'maint' 2014-03-24 14:20:23 +01:00
Nicolas Goaziou 8212776cfc Fix radio target parsing
* lisp/org-element.el (org-element-all-successors,
  org-element-object-restrictions): Prioritize `link' over other
  successors in order to find radio links starting with another syntax
  object (e.g., an entity).  Also allow text markup within radio
  targets.
(org-element-link-parser): Add contents to radio targets.

* lisp/org.el (org-make-target-link-regexp): Fix regexp so it can
  match targets starting with an Org object (e.g., an entity).
(org-ctrl-c-ctrl-c): Fix function when applied on an object contained
within a radio target.

* testing/lisp/test-org-element.el (test-org-element/radio-target-parser): Add test.
* testing/lisp/test-ox.el (test-org-export/resolve-radio-link): Add test.
2014-03-24 14:13:24 +01:00
Nicolas Goaziou 955d9d8a78 Change "\" and "~" syntax to symbol
* lisp/org.el (org-mode): Change "\" and "~" characters syntax from
  `punctuation' to `symbol' so they are on par with other characters used
  in Org syntax (e.g., "/", "*"...).

This change is needed to correctly find radio links starting with an
entity:

  <<<\alpha-test>>> \alpha-test
2014-03-24 14:13:24 +01:00
Nicolas Goaziou 9665f83f7b Merge branch 'maint' 2014-03-22 15:16:44 +01:00
Nicolas Goaziou 95eeefa9bc Revert "LaTeX: Use \ul (from the "soul" package) instead of \uline"
This reverts commit b399ff0cba.
2014-03-22 15:15:35 +01:00
Bastien Guerry 368aa1078f Merge branch 'maint' 2014-03-22 00:28:30 +01:00
Bastien Guerry b399ff0cba LaTeX: Use \ul (from the "soul" package) instead of \uline
* ox-latex.el (org-latex-text-markup-alist): Use \ul{...} for
underlining instead of \uline{...} as requiring the hyperref
package makes \uline{...} unusable on headline.

* org.el (org-latex-default-packages-alist): Add the "soul"
package.

Thanks to Konstantin Kliakhandler for reporting this.
2014-03-22 00:27:34 +01:00
Nicolas Goaziou d6d1f25429 Fix `org-open-at-point'
* lisp/org.el (org-open-at-point): Correctly open fuzzy links when
  path is hexified.
* testing/lisp/test-org.el (test-org/coderef): New test.
(test-org/fuzzy-links): Add test.
2014-03-21 14:51:34 +01:00
Bastien Guerry 83a55c6f5b Merge branch 'maint' 2014-03-21 12:51:16 +01:00
Bastien Guerry 5a195423d3 org.el (org-refresh-properties): Bugfix
* org.el (org-refresh-properties): Don't add the property to
the whole subtree, only to the part between the beginning of
the headline and the end of the "content", before any other
headline.  This fix a bug about properties displayed as
inherited in the agenda, where Org properties are checked
against text properties.

Thanks to Sébastien Vauban for reporting this.
2014-03-21 12:51:04 +01:00
Bastien Guerry 613333d665 Merge branch 'maint' 2014-03-20 15:07:11 +01:00
Bastien Guerry a3ec854cab Fix bugs wrt invisibility handline.
* org-compat.el (org-move-to-column): Always ignore invisible
text in agenda buffer, and when there is both a bracket link
and '(org-link) as a member of `buffer-invisibility-spec'.
Add a docstring.

* org.el (org-align-tags-here): Add docstring and remove
useless arguments when calling `org-move-to-column'.

* org-table.el (org-table-copy-down)
(org-table-find-dataline, org-table-move-row)
(org-table-insert-hline, org-table-kill-row):
* org-agenda.el (org-agenda-next-item)
(org-agenda-previous-item, org-agenda-todo)
(org-agenda-priority, org-agenda-show-new-time)
(org-agenda-clock-in, org-agenda-clock-out): Remove useless
arguments when calling `org-move-to-column'.

This fixes the issue about S-RET not placing the cursor in the right
table field when M-x org-toggle-link-display RET removed '(org-link)
from `buffer-invisibility-spec' and some other discrepancies (like
S-M-<up> not restoring point correctly when there is a bracket link
before point, or M-x org-clock-display RET not aligning overlays
correctly, etc.

Thanks to Matt Lundin and Michael Brand for tracking issues
about this.
2014-03-20 15:04:49 +01:00
Bastien Guerry 932b41e973 org.el (org-refile): Only keep bracket links descriptions in the displayed heading
* org.el (org-refile): Rename first argument to arg, as its
use goes beyond is now more general.  Only keep bracket links
descriptions in the displayed heading.  Enhance docstring.
2014-03-19 16:22:46 +01:00
Bastien Guerry 5590531007 Merge branch 'maint' 2014-03-19 16:13:43 +01:00
Bastien Guerry 49da67d351 org.el (org-refile): Fix C-u 3 C-c C-w
* org.el (org-refile): Fix calling with a numeric prefix
argument of 3 to refile and keep.
2014-03-19 16:13:33 +01:00
Bastien Guerry 2cd15b9c7c org.el (org-refile): Minor docstring enhancement
* org.el (org-refile): Minor docstring enhancement.
2014-03-19 15:47:20 +01:00
Bastien Guerry 88d151b05b Merge branch 'maint' 2014-03-19 09:31:23 +01:00
Nikolai Weibull 2d09804e19 org.el: Only set org-hide foreground if one is available
* org.el (org-mode): Add guard around set-face-foreground.

TINYCHANGE
2014-03-19 09:31:11 +01:00
Bastien Guerry 040ec48a0d Merge branch 'maint' 2014-03-18 16:25:55 +01:00
Bastien Guerry 922135a4a6 org.el (org-entry-get-with-inheritance): Remove wrong quote
* org.el (org-entry-get-with-inheritance): Remove wrong quote.
2014-03-18 16:25:12 +01:00
Bastien Guerry cdb16718c0 Merge branch 'maint' 2014-03-18 14:50:42 +01:00
Bastien Guerry 42ee862d33 org.el (org-entry-get): Fix inheritance problem
* org.el (org-entry-get): Only try to combine file properties
with local properties when the property drawer contains such
local property, not when the property drawer exists.

Before the fix, `org-entry-get' behavior was inconsistent,
returning `nil' when looking for a property in a subtree with
no property drawer, and returning the global properties in a
subtree with a property drawer, independantly of whether this
property drawer contained a reference to the property we are checking
against or not.

As a side-effect, inheritance was broken for the case that
Ilya reported in commit 475f2f53, because `org-entry-get' returned
a value (with the global properties of the file) too early.

Thanks to Ilya for raising this bug and to Achim for pointing
out that the previous fix was wrong.
2014-03-18 14:47:09 +01:00