Commit Graph

2744 Commits

Author SHA1 Message Date
Bastien Guerry de33803038 org.el (org-read-date-minibuffer-local-map): New variable (Incompatible change)
* org.el (org-read-date-minibuffer-local-map): New variable.
(org-read-date): Use it.
(org-read-date-minibuffer-setup-hook): Mark as obsolete.

Thanks to Mark Edgington for suggesting this.

This is an incompatible change: if you use
`org-read-date-minibuffer-setup-hook' to set up commands for the
`org-read-date' minibuffer, you need to update your configuration
and use `org-read-date-minibuffer-local-map' instead.
2013-01-26 11:32:46 +01:00
Bastien Guerry cd47d5a80b Silent compiler warning 2013-01-26 11:23:08 +01:00
Bastien Guerry 9a466f2f05 Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-26 10:59:12 +01:00
Bastien Guerry 36dba0cf6e org.el (org-agenda-inhibit-startup-visibility-cycling): New option
* org.el (org-agenda-inhibit-startup-visibility-cycling): New
option.
(org-agenda-prepare-buffers): Use it to speed up the agenda
generation.

This change will boost agenda creation *a lot*, especially for
people using many agenda files.  See the docstring of the new
option for details.
2013-01-26 10:57:47 +01:00
Nicolas Goaziou 61078b4ed4 Fix C-c C-c at a footnote definition
* lisp/org.el (org-ctrl-c-ctrl-c): `save-excursion' prevents
  `org-footnote-action' to put point back onto the definition.
2013-01-26 10:34:57 +01:00
Bastien Guerry f11accd3ee Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-24 16:36:36 +01:00
Bastien Guerry 97f0951d14 Fix compiler warning. 2013-01-24 16:31:08 +01:00
Bastien Guerry 3b77bc7c66 org.el (org-read-date): Bind `!' to `diary-view-entries'
* org.el (org-read-date): Bind `!' to `diary-view-entries' in
order to check diary entries while setting an Org date.
2013-01-24 15:31:54 +01:00
Bastien Guerry b2abdfb95a New face `org-priority'. Enhance fontification of priority cookies in agenda.
* org-faces.el (org-priority): New face.

* org.el (org-font-lock-add-priority-faces): Use the new face.

* org-agenda.el (org-agenda-fontify-priorities): Use the
org-priority face and add specific agenda face on top of it.
2013-01-24 14:16:11 +01:00
Nicolas Goaziou 699bb5415b Silence byte-compiler 2013-01-23 17:38:17 +01:00
Bastien Guerry 5e432838fd org.el: fix error message when C-u C-u C-c C-c on a list.
* org.el (org-ctrl-c-ctrl-c): Only throw a message when using
two universal prefix arguments on a list where all items are
already in a transitory state.  Refine the error when the
checkbox cannot be toggled.

Thanks to Robert Horn for reporting this.
2013-01-22 15:22:17 +01:00
Bastien Guerry 627b3faa3d Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-22 13:57:57 +01:00
Bastien Guerry a85b393994 org.el (org-adaptive-fill-function): Fix various bugs when filling in message-mode
* org.el (org-adaptive-fill-function): In message-mode, don't
lines in the message header, nor table lines in the body.
Correctly fill lines starting with `org-outline-regexp' in the
body.
2013-01-22 13:55:57 +01:00
Nicolas Goaziou f7f1b4bb7e Fix C-c C-c error when called on attributes attached to a plain list
* lisp/org.el (org-ctrl-c-ctrl-c): Fix error when called on attributes
  attached to a plain list.
2013-01-21 21:59:03 +01:00
Nicolas Goaziou e376137e71 Allow C-c C-c to act on item anywhere on its first line
* lisp/org.el (org-ctrl-c-ctrl-c): Anywhere on the first line of an
  item, act on that item, provided no other object is found under the
  point.  Fix bug when function is called on a footnote definition
  attribute.

This is a convenience feature mimicing old behaviour, but it is an
aberration from the structure POV.
2013-01-20 23:45:44 +01:00
Nicolas Goaziou 60083a5edb Rewrite C-c C-c using Elements
* lisp/org.el (org-ctrl-c-ctrl-c): Rewrite function using Elements.
2013-01-19 23:34:59 +01:00
Nicolas Goaziou 780b453227 Allow special editing of SETUPFILE keywords again
* lisp/org.el (org-edit-special): Fix regression.
2013-01-16 19:27:38 +01:00
Bastien Guerry 6d48cbc944 Revert "Compatibility: Use org-define-obsolete-{function,variable}-alias"
This reverts commit 8fcdb5179b.
2013-01-14 09:34:07 +01:00
Bastien Guerry 6b746e20b8 Merge branch 'master' of orgmode.org:org-mode 2013-01-13 11:18:00 +01:00
Bastien Guerry 7369cada30 Merge branch 'maint' 2013-01-13 11:17:56 +01:00
Nicolas Goaziou 9d26797448 Move functions operating on timestamp objects into org.el
* contrib/lisp/org-export.el (org-export-timestamp-has-time-p,
  org-export-format-timestamp, org-export-split-timestamp-range,
  org-export-translate-timestamp): Removed functions.
* lisp/org.el (org-timestamp-has-time-p, org-timestamp-format,
  org-timestamp-split-range, org-timestamp-translate): New functions.
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Apply move.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Apply move.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Apply move.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Apply move.
* contrib/lisp/org-e-odt.el (org-e-odt--format-timestamp,
  org-e-odt-timestamp): Apply move.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Apply move.
* testing/lisp/test-org-export.el: Remove tests.
* testing/lisp/test-org.el: Add tests.
2013-01-13 10:01:05 +01:00
Bastien Guerry 04eb4b08c3 Revert "Compatibility: Use org-define-obsolete-{function,variable}-alias"
This reverts commit 305f29776f.
2013-01-13 09:19:24 +01:00
Bastien Guerry 71f2befb61 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2013-01-11 17:19:52 +01:00
Bastien Guerry 3c4df588e8 Restore previous behavior for inherited tags, now just more flexible
* org.el (org-get-tags-at): Remove duplicate inherited tags.

* org-agenda.el (org-agenda-show-inherited-tags): Allow to be
set to 'always or to a list of agenda types.
(org-agenda-finalize): Rework conditions under which inherited
tags should be made available even when not displayed.
(org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-scheduled)
(org-agenda-get-blocks): Use new possible values of
`org-agenda-show-inherited-tags'.

Thanks to Karl Voit and Tassilo Horn who first reported this.
2013-01-11 17:15:17 +01:00
Bastien Guerry 69133332aa Merge branch 'maint' 2013-01-11 12:31:51 +01:00
Bastien Guerry db7ece9fa2 org.el ("org-loaddefs.el"): use `load', not `org-load-noerror-mustsuffix'
* org.el ("org-loaddefs.el"): Load org-loaddefs.el before
requiring any org library.  Also use `load', not
`org-load-noerror-mustsuffix'.
(org-effort-durations): Move up to fix a compiler warning.

This patch should reduce complexity without breaking compatibility
with XEmacs.  Before this patch, users with a wrong load path would
require org-compat.el from this wrong load path, and loading
org-loaddefs.el would not work.
2013-01-11 12:31:40 +01:00
Bastien Guerry de10210cf9 org.el (org-open-at-point): Fix opening all links at point
* org.el (org-open-at-point): Fix opening all links at point.

Thanks to Ingo Lohmar for reporting this.
2013-01-11 12:11:09 +01:00
Bastien Guerry d1d7da4267 org.el (org-edit-special): Fix typo in docstring
* org.el (org-edit-special): Fix typo in docstring.
2013-01-09 17:57:06 +01:00
Nicolas Goaziou 3ea93df5a6 Rewrite `org-edit-special' with Elements
* lisp/org.el (org-edit-special): Rewrite `org-edit-special' using Org
  Elements tools.  Behaviour should be unchanged.
2013-01-09 15:41:41 +01:00
Bastien Guerry 94ea6bca08 Merge branch 'maint' 2013-01-08 23:44:59 +01:00
Bastien Guerry e53f22c615 org.el (org-edit-special): Check for table.el before checking for Org tables
* org.el (org-edit-special): Check for table.el before
checking for Org tables.

Thanks to Jacobo de Vera for reporting this.
2013-01-08 23:44:54 +01:00
Bastien Guerry 5fc740a230 Merge branch 'maint' 2013-01-08 15:04:40 +01:00
Bastien Guerry 72bc144c15 Update Copyright lines to match Emacs format. 2013-01-08 15:04:32 +01:00
Nicolas Goaziou d9649ca7a2 Merge branch 'maint' 2013-01-08 10:36:47 +01:00
Nicolas Goaziou 7684fbd6a2 Ignore `auto-fill-inhibit-regexp'
* lisp/org.el (org-setup-filling): Ignore `auto-fill-inhibit-regexp'.
  The idea behind this is that `org-adaptive-fill-function' already
  determines which lines should be filled.
2013-01-08 10:34:40 +01:00
Bastien Guerry daa35c0c68 Merge branch 'maint' 2013-01-08 08:04:36 +01:00
Bastien Guerry 44d1a69eab org.el (org-setup-filling): Set `auto-fill-inhibit-regexp' from `org-outline-regexp'
* org.el (org-setup-filling): Set `auto-fill-inhibit-regexp'
from `org-outline-regexp'.

Thanks to John Hendy for reporting a problem in this area.
2013-01-08 08:04:24 +01:00
Bastien Guerry 68c1ad99ea New option `org-time-clocksum-use-effort-durations'
* org.el (org-time-clocksum-format): Add a version tag and add
to the 'org-clock group.
(org-time-clocksum-use-fractional): Ditto.
(org-time-clocksum-use-effort-durations): New option to allow
using `org-effort-durations' when computing clocksum durations.
(org-minutes-to-clocksum-string): Use the new option.

* org-clock.el (org-clocktable-write-default): Let-bind
`org-time-clocksum-use-effort-durations' to a new clocktable
parameter ":effort-durations".

Thanks to Sébastien Vauban for pointing the inconsistency.
2013-01-07 21:44:00 +01:00
Bastien Guerry 5c8cc17d39 Merge branch 'maint' 2013-01-07 18:21:39 +01:00
Bastien Guerry 0de96daa95 org.el (org-entry-get): Speed up by let-binding some variables only if needed
* org.el (org-entry-get): Speed up by let-binding some
variables only if needed.  Also fix a bug: consider an empty
drawer as no drawer.

Thanks to William Léchelle for reporting this.
2013-01-07 18:18:27 +01:00
Bastien Guerry b54d6f5965 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
	lisp/org.el
	testing/lisp/test-org-element.el
2013-01-07 16:19:37 +01:00
Bastien Guerry babba02750 org.el (org-use-tag-inheritance): Fix typo in docstring
* org.el (org-use-tag-inheritance): Fix typo in docstring.
2013-01-07 13:47:59 +01:00
Bastien Guerry aaf14258eb org.el (org-scan-tags): The skipper already checks for archived entries
* org.el (org-scan-tags): The skipper already checks for
archived entries.
2013-01-07 12:57:27 +01:00
Bastien Guerry 6cd243468b Speed up setting/getting the APPT_WARNTIME property.
* org.el (org-refresh-properties): Rename from
`org-refresh-effort-properties' and use two new parameters.
(org-agenda-prepare-buffers): Use `org-refresh-properties'.
Also refresh the 'org-appt-warntime text property.

* org-clock.el (org-clock-in): Use the renamed defun.

* org-icalendar.el (org-icalendar-print-entries): Refresh the
'org-appt-warntime property.
(org-icalendar-print-entries): Do not use `org-entry-get' to
get the "APPT_WARNTIME" property value.

* org-agenda.el (org-agenda-get-timestamps)
(org-agenda-get-sexps, org-agenda-get-deadlines)
(org-agenda-get-scheduled): Ditto.
2013-01-07 12:50:49 +01:00
Bastien Guerry 334596e3c7 org.el (org-adaptive-fill-function): Fix checking of post-affiliated
* org.el (org-adaptive-fill-function): Fix checking of
post-affiliated.
(org-id-link-to-org-use-id): Fix compiler warning.
2013-01-07 12:39:09 +01:00
Bastien Guerry c4d4bf3833 New defun `org-refresh-effort-properties'
* org-agenda.el (org-agenda-format-item): Do not use
org-get-effort to get the effort text property.
(org-agenda-get-sexps): Use `org-back-to-heading' when setting
the tags.

* org-clock.el (org-clock-in): Refresh effort properties.

* org.el (org-refresh-effort-properties): New defun.
(org-get-effort): Delete.
(org-set-effort): Set the 'org-effort text property.
(org-property-next-allowed-value): Ditto.
(org-agenda-prepare-buffers): Refresh effort properties.
2013-01-07 12:33:24 +01:00
Achim Gratz 5484a33b8d Compatibility: Use org-load-noerror-mustsuffix
* lisp/org-macs.el: New macro to allow the 5-argument form of load to
  be used where possible without breaking compatibility with XEmacs.

* lisp/org.el (org-version, org-reload): Use
  `org-load-noerror-mustsuffix´ instead of adding a fifth argument to
  load directly.  Guard against undefined variable load-suffixes,
  which doesn't exist in XEmacs.

Since load-suffixes doesn't exist in XEmacs, (org-reload 'uncompiled)
will not work.  If it doesn't complicate the compatibility macro too
much this can be added later.
2013-01-06 18:33:34 +01:00
Achim Gratz 8fcdb5179b Compatibility: Use org-define-obsolete-{function,variable}-alias
* lisp/org.el: Use
  `org-define-obsolete-{function,variable}-alias´instead of
  `define-obsolate{function,variable}-alias´.
2013-01-06 18:33:23 +01:00
Achim Gratz 19460418a0 Merge branch 'maint' 2013-01-06 18:33:16 +01:00
Achim Gratz 305f29776f Compatibility: Use org-define-obsolete-{function,variable}-alias
* lisp/org-compat.el (org-define-obsolete-function-alias,
  org-define-obsolete-variable-alias): Introduce new compatibility
  macros to obsolete functions and variables.

* lisp/org-agenda.el, lisp/org-clock.el, lisp/org-id.el,
  lisp/org-lparse.el, lisp/org-protocol.el lisp/org.el: Use
  `org-define-obsolete-{function,variable}-alias´instead of
  `define-obsolate{function,variable}-alias´.
2013-01-06 18:29:05 +01:00
Bastien Guerry 8c5b47935f Merge branch 'maint' 2013-01-06 12:46:33 +01:00
Bastien Guerry 47583ba1e4 org.el (org-read-date): Let-bind `mouse-autoselect-window' to nil
* org.el (org-read-date): Let-bind `mouse-autoselect-window'
to nil so that the mouse doesn't jump when the option is set
to t globally.

Thanks to E Sabof for reporting this.
2013-01-06 12:37:18 +01:00
Bastien Guerry 8d7990acfa Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-05 17:29:06 +01:00
Bastien Guerry cad0b388dd org.el (org-adaptive-fill-function): DTRT in `message-mode'
* org.el (org-adaptive-fill-function): DTRT in `message-mode'.

This is too hackish, but do the job for now.  Instead of
having exceptions for `message-mode' filling wrapped into
org-*-fill* functions, we should let orgstruct++-mode do
this job.
2013-01-05 17:23:34 +01:00
Bastien Guerry 5c2dd988a5 Merge branch 'maint' 2013-01-04 18:15:56 +01:00
Bastien Guerry 6a0c650dd2 org.el (org-get-priority): Save match data even when using `org-get-priority-function'
* org.el (org-get-priority): Save match data even when using
`org-get-priority-function'.
2013-01-04 18:15:51 +01:00
Bastien Guerry ab17f9959e Merge branch 'maint' 2013-01-02 23:54:12 +01:00
Bastien Guerry fd0380b52f org.el (org-store-link): Use `org-id-link-to-org-use-id'
* org.el (org-store-link): Use `org-id-link-to-org-use-id'
instead of the obsolete variable name.
2013-01-02 23:46:14 +01:00
Bastien Guerry c1934ccfb4 org.el (org-fontify-meta-lines-and-blocks-1): Fix bug when fontifying keywords with no value
* org.el (org-fontify-meta-lines-and-blocks-1): Fix bug when
fontifying keywords with no value.
2013-01-02 23:43:53 +01:00
Bastien Guerry af5514b848 Merge branch 'maint' 2013-01-02 10:48:06 +01:00
Bastien Guerry 68acb955f1 org.el: Various fixes to the org-goto interface
* org.el (org-goto-auto-isearch): Enhance docstring.
(org-goto-map): Make a defun, so that the customized value of
org-goto-auto-isearch is correctly initialized.
(org-goto): Initialize the keymap with `org-goto-map'.
(org-get-location): Use *Org Help* as a temporary buffer.
Tell whether auto-isearch is on or off.

Thanks to Tyler Smith for reporting this.
2013-01-02 10:47:59 +01:00
Bastien Guerry fb8ba17e69 Merge branch 'maint' 2013-01-01 23:49:16 +01:00
Bastien Guerry 2718888f8e Fix behavior of `org-forward/backward-h-s-l' before first headline
* org.el (org-forward-heading-same-level): Before the first
headline, go to the first headline.
(org-backward-heading-same-level): Before the first headline,
go to the beginning of the buffer, like
`outline-previous-visible-heading' does.
2013-01-01 23:49:12 +01:00
Bastien Guerry a9ece57df8 org.el (org-speed-commands-default): Use ":" instead of ";" for `org-set-tags-command'
* org.el (org-speed-commands-default): Use ":" instead of ";"
for `org-set-tags-command', which is consistent with ":" in
agenda view.  Use "=" for `org-columns".

Thanks to Alan Schmitt for pointing this.
2013-01-01 23:43:34 +01:00
Bastien Guerry bc0b221203 Merge branch 'maint' 2013-01-01 17:40:31 +01:00
Bastien Guerry fc2aae5d81 org.el (org-sparse-tree): Fix redundant information in prompt
* org.el (org-sparse-tree): Fix redundant information in prompt.
2013-01-01 17:40:13 +01:00
Bastien Guerry 60b23bdeac Merge branch 'maint'
Conflicts:
	contrib/lisp/htmlize.el
	etc/schema/od-manifest-schema-v1.2-os.rnc
	etc/schema/od-schema-v1.2-os.rnc
	lisp/org-exp-blocks.el
2013-01-01 16:06:17 +01:00
Bastien Guerry 98cd4687a2 Update copyright years.
Happy new year!
2013-01-01 16:04:24 +01:00
Bastien Guerry bd7c2a59e8 Merge branch 'maint' 2012-12-31 15:12:16 +01:00
Bastien Guerry 841a81007d Revert "org.el (org-fontify-meta-lines-and-blocks-1): Fix fontification bug"
This reverts commit 001b6d1ebd.
2012-12-31 15:12:09 +01:00
Bastien Guerry bf537b5139 Merge branch 'maint' 2012-12-31 11:29:26 +01:00
Bastien Guerry 001b6d1ebd org.el (org-fontify-meta-lines-and-blocks-1): Fix fontification bug
* org.el (org-fontify-meta-lines-and-blocks-1): Fix
fontification bug when fontifying a keyword with no associated
value.
2012-12-31 11:29:17 +01:00
Bastien Guerry 6fd066fb18 Merge branch 'maint' 2012-12-31 11:07:06 +01:00
Bastien Guerry 61993bc4bf org.el (org-cycle-internal-local): Don't run hooks when cycling a plain list before first headline
* org.el (org-cycle-internal-local): Don't run hooks when
cycling a plain list before first headline.
2012-12-31 11:06:55 +01:00
Bastien Guerry 6a758e26ff Merge branch 'maint' 2012-12-31 09:30:19 +01:00
Bastien Guerry a62beff06d org.el (org-ctrl-c-ctrl-c): Throw a user error when trying to toggle a blocked checkbox
* org.el (org-ctrl-c-ctrl-c): Throw a user error when trying
to toggle a blocked checkbox.
2012-12-31 09:29:45 +01:00
Bastien Guerry aa80e441dc org.el (org-indent-line): Fix table formulas indenting
* org.el (org-indent-line): Fix table formulas indenting.
2012-12-31 09:29:18 +01:00
Bastien Guerry e1c491e72d org.el (org-parse-time-string): Parse <+1w> and friends
* org.el (org-parse-time-string): Allow strings supported by
tags/properties matcher (eg <now>, <yesterday>, <-7d>).

* test-org.el (test-org/org-parse-time-string): New test.

This is based on Ilya's commit 001bcb9.  This commit was
wrong because active timestamps were not parsed correctly
anymore.  This commit handles them correctly.

Thanks to Ivan Vilata i Balaguer for pushing this forward.
2012-12-30 10:27:02 +01:00
Bastien Guerry 460c4d4ed0 Merge branch 'maint' 2012-12-30 01:21:32 +01:00
Bastien Guerry 14c3635a0d New macro `org-with-buffer-modified-unmodified'
* org-macs.el (org-with-buffer-modified-unmodified): New
macro.

* org.el (org-entry-blocked-p): Use the new macro.

Thanks to Nick Dokos for reporting this.

The macro is a copy of `with-buffer-modified-unmodified'
which (wrongly?) lives in bookmark.el.
2012-12-30 01:21:27 +01:00
Bastien Guerry b5f93f8fe3 New option `org-clock-rounding-minutes'
* org-clock.el (org-clock-rounding-minutes): New option to
round the time by N minutes in the past when clocking in or out.
(org-clock-in, org-clock-in-last, org-clock-out): Use the new
option.

* org.el (org-current-time): New optional parameter
`rounding-minutes' to override the use of
`org-time-stamp-rounding-minutes' for rounding.

Thanks to Kevin Buchs for a preliminary patch for this feature.
2012-12-29 18:45:07 +01:00
Bastien Guerry 7773e0d94c Merge branch 'maint' 2012-12-29 10:26:03 +01:00
Bastien Guerry aa3786bc20 org.el (org-entry-blocked-p): Don't set the buffer as modified
* org.el (org-blocker-hook): Update the docstring to mention
that functions in this hook should not modify the buffer.
(org-trigger-hook): Small docstring fix.
(org-entry-blocked-p): Use `with-buffer-modified-unmodified'
so that the function never modifies the buffer.

Thanks to Sven Bretfeld for reporting this.

When building the agenda, checking for blocked items should not
set the buffers as modified, otherwise exiting the agenda will ask
for confirmation each time it kills a buffer.
2012-12-29 09:39:42 +01:00
Bastien Guerry 197881bc1a Merge branch 'maint' 2012-12-29 09:23:28 +01:00
Bastien Guerry 8477a4b215 Allow to follow internal links from the agenda
* org-agenda.el (org-agenda-open-link): Allow to open an
internal link by using the new `org-offer-links-in-entry'
function.

* org.el (org-offer-links-in-entry): Do not open the link
directly through `org-open-link-from-string', only offer to
select a link and return a cons with the link (as a string)
and the end of entry.
(org-open-at-point): Use `org-offer-links-in-entry' correctly.

Thanks to Memnon Anon for reporting this.
2012-12-29 09:20:35 +01:00
Bastien Guerry 95096f14b6 org.el (org-store-link): Fix the naming of internal links to lines starting with a keyword
* org.el (org-store-link): Fix the naming of internal links to
lines starting with a keyword.

Thanks to Thomas S. Dye for reporting a related issue.
2012-12-29 06:30:47 +01:00
Bastien Guerry 9cf6800a95 Revert "org.el: (org-mode): Use `face-background' instead of `org-find-invisible-foreground'"
This reverts commit 4549f0c99c.
2012-12-28 19:01:18 +01:00
Bastien Guerry 0276cf0975 Merge branch 'maint' 2012-12-28 18:37:53 +01:00
Abdó Roig-Maranges 5954ba9a73 org.el: Don't re-generate latex previews if already present
* org.el (org-format-latex): Do not re-generate a latex preview if the
image already exists.

This feature was lost in commit 27101a3e0e
2012-12-28 18:37:47 +01:00
Bastien Guerry ffcd23cf30 org.el (org-cycle-internal-local): Fix bug: allow headings with leading blank characters
* org.el (org-cycle-internal-local): Fix bug: allow headings
with leading blank characters.

Thanks to Rémi Vanicat for sending a patch for this.
2012-12-28 18:37:07 +01:00
Bastien Guerry de6201b19c org.el (org-insert-link): Fix bug when inserting links to headlines containing the ">" character
* org.el (org-insert-link): Fix bug when inserting links to
headlines containing the ">" character.

Thanks to William Léchelle for reporting this.
2012-12-28 18:37:07 +01:00
Bastien Guerry ca4219abc9 org.el: New command `org-set-property-and-value' bound to `C-c C-x P'
* org.el (org-last-set-property-value): New variable.
(org-read-property-name): Fix dangling parentheses.
(org-set-property-and-value): New command to manually set
both the property and the value.  A prefix arg will use the
last property-value pair set without prompting the user.
(org-set-property): Set `org-last-set-property-value'.
(org-mode-map): Bind the new command to `C-c C-x P'.

This is useful when you need to set the same property-value
pair for several entries.
2012-12-24 14:44:21 +01:00
Bastien Guerry 4549f0c99c org.el: (org-mode): Use `face-background' instead of `org-find-invisible-foreground'
* org.el (org-find-invisible-foreground): Delete.
(org-mode): Use `face-background' instead of
`org-find-invisible-foreground'.

Thanks to Achim for suggesting this.
2012-12-24 13:46:36 +01:00
Bastien Guerry f01ce85026 Merge branch 'maint' 2012-12-24 01:25:38 +01:00
Bastien Guerry 40cb44e795 Fix regression: allow editing HTML and LaTeX source blocks again
* org.el (org-table-map-tables): Fix allowed blocks.
(org-edit-special): Fix regression: allow editing HTML and
LaTeX source blocks again.

* org-src.el (org-edit-src-code): Ditto.

Thanks to Nicolas Richard and Bernt Hansen for reporting bugs
in this area.
2012-12-24 01:25:33 +01:00
Bastien Guerry f0b35a6379 Merge branch 'master-fixes' 2012-12-24 01:15:57 +01:00
Bastien Guerry 4adf17f811 Merge branch 'maint' 2012-12-24 00:08:20 +01:00
Bastien Guerry 73d506a8dc org.el (org-nonsticky-props): Add `htmlize-link'
* org.el (org-nonsticky-props): Add `htmlize-link'.

Thanks to Samuel Wales for reporting a bug related to this.
2012-12-24 00:08:02 +01:00
Bastien Guerry 5fa52d9a93 org.el: Add new startup keywords
* org.el (org-startup-options): New startup keywords.
(org-log-into-drawer): Update docstring to explain how to set this
variable through the startup keyword "logdrawer" and "nologdrawer".
(org-log-states-order-reversed): Document the new startup keywords
"logstatesreversed" and "nologstatesreversed".

* org.texi (In-buffer settings): Document new startup keywords.
Thanks to John J Foerch for this idea.
2012-12-23 18:51:24 +01:00
Bastien Guerry 88555aab22 Merge branch 'maint' 2012-12-23 17:54:47 +01:00
Bastien Guerry 98a5f3df32 Don't allow special edit in verbatim blocks.
* org.el (org-edit-special): Don't edit in verbatim blocks.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This fixes a bug introduced in ad35e2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thanks to Sébastien Vauban for triggering this.
2012-09-25 14:47:58 +02:00
Bastien Guerry 9ebf9c169e Merge branch 'maint' 2012-09-25 14:40:49 +02:00
Bastien Guerry 26b9e71f26 org.el (org-options-keywords): Add "STYLE:"
* org.el (org-options-keywords): Add "STYLE:".
2012-09-25 14:40:38 +02:00
Bastien Guerry 044dbf680e org.el (org-display-outline-path): New argument `as-string'
* org.el (org-display-outline-path): New argument `as-string'.

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

(add-hook 'org-mode-hook
          (lambda() (add-to-list 'mode-line-format
                                 '(:eval (org-display-outline-path nil t t)) t)))
2012-09-25 03:43:41 +02:00