Commit Graph

1831 Commits

Author SHA1 Message Date
Bastien Guerry c6bee11433 Use outline-regexp in org-overview so that global cycling works outside of Org buffers.
* org.el (org-overview): Use outline-regexp instead of
org-outline-regexp so that global cycling using orgstruct-mode
works outside of Org buffers.

Thanks to Matt Lundin for this fix.
2011-08-15 09:51:44 +02:00
Bastien Guerry bc1b688ff0 Move org-find-visible and org-find-invisible from org-exp.el to org.el. 2011-08-15 09:44:52 +02:00
Bastien Guerry 71332ac8a6 Move org-agenda-todo-yesterday from org.el to org-agenda.el. 2011-08-15 09:39:52 +02:00
David Maus 20ff46e825 Merge branch 'master' of orgmode.org:org-mode 2011-08-13 15:02:58 +02:00
David Maus 3771185cae Fix wrong order of lines to move before pasting
* org.el (org-paste-subtree): Fix wrong order of lines to move before
pasting.
2011-08-13 15:02:03 +02:00
John Wiegley 7d2d8f884b Add customization variable `org-use-effective-time'
If non-nil, consider `org-extend-today-until' when creating timestamps.
For example, if `org-extend-today-until' is 8, and it's 4am, then the
"effective time" of any timestamps between midnight and 8am will be
23:59 of the previous day.
2011-08-13 03:21:49 -05:00
David Maus e5199c4095 Paste subtree above target headline if point is at bol
* org.el (org-paste-subtree): Paste subtree above target headline if
point is at bol.

Capture and refile depend on this buggy behavior of org-past-subtree.
2011-08-13 09:19:19 +02:00
Nicolas Goaziou 9c33b9c259 Fix fontification error in feb52f9028
* lisp/org.el (org-activate-code): correct regexp so ":.*" isn't
  matched.
2011-08-12 13:06:25 +02:00
Nicolas Goaziou feb52f9028 Allow "^[ \t]*:$" as a special case of fixed-width section
* lisp/org.el (org-activate-code, org-toggle-fixed-width-section,
  org-indent-line-function): allow "[ \t]*:$" as a special case of
  fixed-width section.
2011-08-11 11:46:32 +02:00
David Maus ece3091f16 Don't eat headline when yank with point at existing headline
* org.el (org-paste-subtree): Don't eat headline when called with
point at existing headline.
2011-08-10 18:38:26 +02:00
David Maus 14b556772b Merge branch 'master' of orgmode.org:org-mode 2011-08-10 18:18:06 +02:00
David Maus fc572f5a6b Fix typo in variable name
* org.el (org-paste-subtree): Fix typo in variable name.
2011-08-10 18:17:48 +02:00
Valentin Wüstholz ce6010262d Preserve indentation of explicitly indented lines in example blocks
* lisp/org.el (org-indent-line-function): Made the way in which example blocks are
  indented more flexible.

Before: Lines in example blocks were indented like the surrounding begin and end
delimiters.
After: By default, lines in example blocks are indented like the surrounding begin and end
delimiters, unless the user explicitly indents them differently.

TINYCHANGE
2011-08-10 10:54:46 +02:00
Nicolas Goaziou aab16ffdf4 Fix `newline-and-indent' in a list when called on a line being filled
* lisp/org.el (org-return): when filling happens, `newline' can change
  match data, hence modifying the indent column.
2011-08-08 18:32:32 +02:00
John Wiegley 54c722a83a Added customization hook `org-log-buffer-setup-hook'
This allows changes to org-mode after the log buffer has been setup.
2011-08-06 18:59:18 -05:00
Nicolas Goaziou afa0df9b47 Fix heading insertion before any other headline but after a list
* lisp/org.el (org-insert-heading): with force-heading non-nil,
  inserting an heading before any headline, and just after a list
  would return an error.
2011-08-06 10:57:08 +02:00
David Maus 049c0776ff Don't move line upward if point is at eob
* org.el (org-back-over-empty-lines): Don't move line upward if point
is at eob.

Fixes a bug with refiling reported by Bernt Hansen, simplified version
of fix proposed by Jason Dunsmore.
2011-08-04 16:05:08 +02:00
Nicolas Goaziou 8c6c6a4f3d Rename `org-in-regexps-block-p' to `org-between-regexps-p'
* lisp/org.el (org-between-regexps-p): previous name implied the
  function was related to blocks, which isn't mandatory.
(org-narrow-to-block, org-in-block-p, org-indent-line-function):
applied the rename.
* lisp/ob-exp.el (org-babel-in-example-or-verbatim): applied
  rename. Also removed a white space.
2011-07-30 09:32:03 +02:00
Nicolas Goaziou 226f8c873d Change behaviour of `org-in-regexps-block-p'
* lisp/org.el (org-in-regexps-block-p): return an useful value when
  point is between START-RE and END-RE. No incomplete block is allowed
  anymore. Add another optional argument to bound the bottom part of
  the search.
(org-narrow-to-block, org-in-block-p): apply modifications.
2011-07-30 09:32:03 +02:00
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00:00
Bastien Guerry 59e7fc4d3a org.el: (org-map-entries): Allow SCOPE to be the active region. 2011-07-28 10:50:44 +02:00
Bastien Guerry 0c0bce4a67 Manually revert 366254217a.
As David Maus pointed out, the implementation is not good.

* org.el (org-deadline, org-schedule): Don't loop.
(org-loop-over-siblings-within-active-region-p): Remove.
* org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag):
Don't loop.

* org-macs.el (org-loop-over-siblings-in-active-region):
Remove.
2011-07-28 10:50:35 +02:00
Max Mikhanosha dea1a6f87b Make `org-extend-today-until' variable affect log notes, and CLOSED: line.
(org-done-yesterday), (org-agenda-done-yesterday): new functions
2011-07-28 10:33:14 +02:00
Carsten Dominik 30dccb04bf Add key and documentation for `org-copy-visible'.
* lisp/org.el (org-org-menu): Add `org-copy-visible' to the menu.
* doc/org.texi (Visibility cycling): Document `org-copy-visible'.
* doc/orgcard.tex: Document `org-copy-visible'.
2011-07-26 12:09:50 +02:00
Carsten Dominik 7f742f12cf Add `org-copy-visible' command proposed by Florian Beck
* lisp/org.el (org-copy-visible): New command.
2011-07-26 11:53:13 +02:00
Nicolas Goaziou ee3ea164c9 Keep point in the same category when updating a time-stamp
* lisp/org.el (org-timestamp-change): keep point in the same category
  when updating a time-stamp. This requires to be careful, as,
  depending on the locale, name of day might change of length during
  the process.
2011-07-25 11:37:45 +02:00
Bastien Guerry 88eada52a6 org: allow relative time in `org-add-planning-info'.
(org-deadline, org-schedule): Improve docstrings.
(org-add-planning-info): Allow relative time like "-2d" or
"++2w" for the TIME argument.

The user can now call `org-schedule' and `org-deadline'
and use "+1d" to say that the task must be scheduled one
day later than today, or "++1d" to say that the task must
be scheduled one day later than the current SCHEDULED date,
if any.

This also works in agenda: you can select several entries
and reschedule them to +2d.

Thanks to Memnon Anon for insisting an finding a solution
for this!
2011-07-24 18:08:24 +02:00
Bastien Guerry 162080f5f8 org.el: tiny typo in docstring. 2011-07-24 16:44:48 +02:00
Bastien Guerry eaafa42948 New hook `org-ctrl-c-ctrl-c-final-hook'.
* org.el (org-ctrl-c-ctrl-c-final-hook): New hook to be run
when `org-ctrl-c-ctrl-c' cannot do anything useful in the
given context.

Thanks to Paul Sexton for this idea.
2011-07-24 16:12:47 +02:00
Bastien Guerry de27fab99a org.el: remove one trailing whitespace. 2011-07-22 11:21:29 +02:00
Bastien Guerry 7c8db0fa34 org-refile: exclude current (sub)heading(s) even if they start with a TODO keyword.
(org-get-heading): New optional argument to return heading
with no TODO keyword.
(org-refile-get-location): Use this new argument.
2011-07-22 11:20:53 +02:00
Bastien Guerry 07d42cbee6 org-refile: exclude current heading and subheadings from targets
* org.el (org-refile-get-targets): new optional argument
`excluded-entries' to exclude entries from the targets.
(org-refile-get-location): From an org-mode buffer, exclude
current heading and subheadings from the list of targets when
org-refile-use-cache is nil.

Also remove some trailing whitespaces.

Thanks to Jason Dunsmore for this idea.
2011-07-22 11:20:35 +02:00
Bastien Guerry bd01d9bf83 Revert "Fix bug with TODO states changes modifying scheduling of next headline"
This reverts commit fd0f8e10d1.
2011-07-22 09:24:28 +02:00
Nicolas Goaziou 6b38912771 Fix small mistake
* lisp/org.el (org-imenu-get-tree): note to self: headlines start at bol.
2011-07-21 20:40:58 +02:00
Nicolas Goaziou 4fd9989b58 Fix archiving bug introduced by last commit
* lisp/org.el (org-kill-is-subtree-p): matched string needs to start
  at bol.
2011-07-21 16:53:50 +02:00
Nicolas Goaziou 5b39df0523 Remove inline tasks from subtrees yanking
* lisp/org.el (org-paste-subtree, org-kill-is-subtree-p,
  org-yank-folding-would-swallow-text, org-yank-generic): use
  `org-with-limited-levels' macro.
2011-07-21 13:47:55 +02:00
Bastien Guerry 74a4f97108 Revert "org.el: exclude current heading from the refile table."
This reverts commit 651a537e49.
2011-07-21 12:28:57 +02:00
Nicolas Goaziou fd0f8e10d1 Fix bug with TODO states changes modifying scheduling of next headline
* lisp/org.el (org-timestamp-change): some locales don't use the same
  length for date abbreviations. Set a marker at origin in case length
  of new timestamp is different.

Thanks to Tom for analyzing this.
2011-07-21 11:48:35 +02:00
Nicolas Goaziou d8bd43ed5f Avoid getting inline tasks when using imenu
* lisp/org.el (org-imenu-get-tree): browse only true headlines.
2011-07-21 01:43:29 +02:00
Bastien Guerry ce2a33104b org.el: (org-do-emphasis-faces): docstring fix. 2011-07-19 11:25:45 +02:00
Bastien Guerry 08fc6384bc org.el (org-outline-regexp): Turn into a defvar.
`org-outline-regexp' ought to be a defconst but is let-binded
in some places -- e.g. see the macro `org-with-limited-levels'
and this produces misleading warnings.

Thanks to Matthew Sauer for reporting this.
2011-07-19 02:00:50 +02:00
Eric Schulte 58763f36e3 moving ob-fortran from core to contrib until FSF assignment is complete 2011-07-18 15:47:39 -06:00
Bastien Guerry 651a537e49 org.el: exclude current heading from the refile table.
* org.el (org-refile-get-location): exclude current heading
from the refile table.

Thanks to Jason Dunsmore for this idea.
2011-07-18 22:57:53 +02:00
Eric Schulte 1c913603cd moving ob-fortran into core, and cleaning up the code 2011-07-18 12:19:21 -06:00
Bastien Guerry 5c53026d32 Fix (a lot of) compiler warnings.
Also introduce `org-pop-to-buffer-same-window' as a compatibility
function for Emacs =>24.1.
2011-07-18 19:25:10 +02:00
Bastien Guerry 05c66a2e2f Merge branch 'master' of orgmode.org:org-mode 2011-07-18 18:14:58 +02:00
Bastien Guerry 395af11404 Use `org-loop-over-siblings-in-active-region' for `org-archive-set-tag'. 2011-07-18 18:14:35 +02:00
Eric Schulte 06bf0eb7fe ob-java: minimal support for evaluation of java code blocks 2011-07-18 10:08:04 -06:00
Nicolas Goaziou ddec51af0f Comment some code for posterity 2011-07-18 15:11:56 +02:00
Bastien Guerry 366254217a New feature: allow some commands to loop over siblings.
This commit introduce `org-loop-over-siblings-within-active-region-p'
as a new defcustom that you can turn on (`non-nil') to allow commands
to loop over siblings in the active region.

The list of commands is this:

- org-archive-subtree
- org-archive-to-archive-sibling
- org-toggle-archive-tag
- org-deadline
- org-schedule

When `org-loop-over-siblings-within-active-region-p' is `non-nil' and
you run one of the command above on a region containing several headlines,
then Org will apply the command to each headline.

This can be particularily useful for archiving several headlines, or to
add a deadline or schedule several entries.

* org.el (org-loop-over-siblings-within-active-region-p): New
defcustom so that `org-loop-over-siblings-in-active-region'
can be turned on and off.
(org-deadline, org-schedule): Use the new macro.

* org-macs.el (org-loop-over-siblings-in-active-region): New
macro to let some commands act upon several siblings in the
active region.

* org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag): Use
`org-loop-over-siblings-in-active-region'.
2011-07-18 10:09:53 +02:00
Bastien Guerry c3748fcd80 Don't use `outline-regexp' anymore.
Use `org-outline-regexp' instead or `outline-regexp'.  Also use the
new defconst `org-outline-regexp-bol' to match `org-outline-regexp'
at the beginning of line.

* org.el (org-outline-regexp-bol): New defconst.
(org-outline-level, org-set-font-lock-defaults, org-cycle)
(org-overview, org-content, org-flag-drawer)
(org-first-headline-recenter, org-insert-todo-heading)
(org-map-region, org-move-subtree-down, org-paste-subtree)
(org-kill-is-subtree-p, org-context-p, org-refile)
(org-refile-new-child, org-toggle-comment, org-todo)
(org-add-planning-info, org-add-log-setup, org-scan-tags)
(org-set-tags, org-insert-property-drawer)
(org-prepare-agenda-buffers, org-preview-latex-fragment)
(org-speed-command-default-hook, org-check-for-hidden)
(org-toggle-item, org-toggle-heading)
(org-indent-line-function, org-set-autofill-regexps)
(org-fill-paragraph, org-toggle-fixed-width-section)
(org-yank-generic, org-yank-folding-would-swallow-text)
(org-first-sibling-p, org-goto-sibling)
(org-goto-first-child, org-show-entry): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-remember.el (org-remember-handler): Use
`org-outline-regexp-bol'.

* org-mouse.el (org-mouse-match-todo-keyword, org-mode-hook)
(org-mouse-move-tree, org-mouse-transform-to-outline): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-macs.el (org-with-limited-levels)
(org-get-limited-outline-regexp): Use `org-outline-regexp'.

* org-indent.el (org-indent-outline-re)
(org-indent-refresh-section, org-indent-refresh-to): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-html.el (org-export-as-html): Use
`org-outline-regexp-bol'.

* org-footnote.el (org-footnote-at-definition-p)
(org-footnote-normalize): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-exp.el (org-export-preprocess-string): Don't redefine
`outline-regexp'.

* org-docbook.el (org-export-as-docbook): Use
`org-outline-regexp-bol'.

* org-colview.el (org-columns, org-columns-compute): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-colview-xemacs.el (org-columns, org-columns-compute):
Use `org-outline-regexp-bol'.

* org-clock.el (org-clock-insert-selection-line)
(org-clock-in, org-clock-out, org-dblock-write:clocktable):
Use `org-outline-regexp' and `org-outline-regexp-bol'.

* org-ascii.el (org-export-as-ascii)
(org-export-ascii-push-links): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-archive.el (org-archive-to-archive-sibling)
(org-archive-all-done): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-agenda.el (org-agenda, org-search-view)
(org-agenda-list-stuck-projects, org-agenda-get-timestamps)
(org-agenda-get-progress, org-agenda-get-blocks): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
2011-07-18 09:42:11 +02:00
Nicolas Goaziou d243679491 Fix cookies update with recursive COOKIE_DATA property
* lisp/org.el (org-update-parent-todo-statistics): COOKIE_DATA should
  be checked for parent, not current headline. Also, this function
  doesn't need to be interactive.
2011-07-18 02:20:00 +02:00
Bastien Guerry 5dec19fe5b * org.el (org-refile): minor rewriting. 2011-07-17 08:16:59 +02:00
Nicolas Goaziou c59da42c4e Fix fontification error
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): blocks cannot be
  correctly fontified when the buffer is missing a final newline.
2011-07-17 00:48:36 +02:00
Bastien Guerry 462c0d1e86 org.el: cosmetic changes in docstring. 2011-07-12 00:54:14 +02:00
Bastien 9a2bf02346 `org-set-property' to use the last set property as default prompt
I'm testing whether patchwork catches the patches again.

You are free to test the feature as well :)

>From 2064e28c44ffc6f4020c8a5ec46e0d6bcf559c01 Mon Sep 17 00:00:00 2001
From: Bastien Guerry <bzg@altern.org>
Date: Mon, 11 Jul 2011 12:10:32 +0200
Subject: [PATCH] Make `org-set-property' defaults to the last set property.

* org.el (org-last-set-property): New variable.
(org-read-property-name): Use the new variable: the prompt
defaults to the last property set, unless there is a property
in the line at point.
2011-07-11 12:25:57 +02:00
Bastien Guerry badec64cbf Bufix: remove useless whitespace added after planning.
(org-add-planning-info): Bufix: remove useless whitespace
added after planning.
2011-07-11 12:23:47 +02:00
Bastien Guerry fd12e700b0 Minor code cleanup. 2011-07-09 18:12:18 +02:00
Bastien Guerry f65e63d094 Fix tiny spelling mistake. 2011-07-09 17:38:59 +02:00
Bastien Guerry db731a9715 Allow synchronous update of timestamps in CLOCK log.
* org.el (org-shiftcontrolup, org-shiftcontroldown): New
commands to use `org-clock-timestamps-change'.

* org-clock.el (org-clock-timestamps-change)
(org-clock-timestamps-down, org-clock-timestamps-up)
(org-at-clock-log-p): New functions to let the user update
clock log timestamps while keeping the same clock duration.

Thanks to Rainer Stengele for this idea.
2011-07-09 17:38:21 +02:00
Bastien Guerry a4bbc54d15 org.el: org-timestamp-up/down: mention time changes.
* org.el (org-timestamp-up, org-timestamp-down): mention time
changes in the docstring.
2011-07-09 15:26:29 +02:00
Bastien Guerry 516b2fbb87 org.el: remove CLOCK: and empty drawers from clones. 2011-07-09 15:04:39 +02:00
Nicolas Goaziou abe9550309 Forbid footnotes in some contexts
* lisp/org.el (org-in-block-p): new function.
* lisp/org-footnote.el (org-footnote-forbidden-blocks): new variable.
(org-footnote-in-valid-context-p): new function.
(org-footnote-at-reference-p): use new function. Allow inline
footnotes to start at bol.
2011-07-08 18:08:34 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Bastien Guerry 7a88eaec29 New face: org-default.
* install/git/org-mode/lisp/org.el (org-mode): Use org-default as
the default face in org-mode.

* install/git/org-mode/lisp/org-faces.el (org-default): New face.

M-x customize-face RET org-default RET lets the user define a default
face for org-mode.
2011-07-06 17:25:29 +02:00
Bastien Guerry 330ed08feb org.el: fix `org-end-of-meta-data-and-drawers'
Back to the previous version of `org-end-of-meta-data-and-drawers',
with a better fix.

Thanks to Eric Abrahamsen for this.
2011-07-05 11:05:20 +02:00
Bastien Guerry 43a380708e org.el: tiny fix to org-add-planning-info. 2011-07-02 15:23:25 +02:00
Bastien Guerry 5fb8c750fb org.el: fix issues with timestamps: insert them at the same position.
* install/git/org-mode/lisp/org.el (org-add-planning-info): fix
issues with timestamps not being inserted at the same position.
2011-07-02 15:13:03 +02:00
Bastien Guerry 467435dba7 Don't include org-lparse.el in the list of contributed modules.
This modules is a dependancy of org-odt.el, which is the real
library users want to load.
2011-07-02 11:15:57 +02:00
Jambunathan K 67be9be326 Add org-lparse and org-odt as contrib modules
--

>From 9b97d19c1184d3cf2cc82831e3d29067cf91f014 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Sat, 2 Jul 2011 01:56:01 +0530
Subject: [PATCH] Add org-lparse and org-odt as contrib modules

* lisp/org.el (org-modules): Add org-lparse and org-odt as
contrib modules.
* contrib/README: Ditto
2011-07-02 11:13:22 +02:00
Eric Schulte 9c0ddffdc4 fix typo 2011-07-01 17:37:30 -07:00
Eric Schulte ca4472063a org: fontify #+header lines
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Include header
  lines.
  (org-additional-option-like-keywords): Include data as a synonym for
  results.
2011-07-01 13:12:03 -07:00
Julien Barnier 549a521256 Fix some #+ blocks fontification when there is no lang attribute
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Fix test for src blocks
lang attribute

When there is no lang attribute to a block (for quote, verse or others), the
lang variable is not nil, but an empty string.
2011-07-01 17:28:32 +02:00
Bastien Guerry 0461d55c41 Merge branch 'master' of orgmode.org:org-mode 2011-07-01 09:38:47 +02:00
Eric Schulte 0e4d6f3e77 moving ob-lilypond into the core of Org-mode 2011-06-30 11:06:22 -07:00
Nicolas Goaziou ffa016ba3d Fix some glitches in footnotes fontification
* lisp/org.el (org-activate-footnote-links): properly fontify inline
  footnotes.
(org-set-font-lock-defaults): apply changes to previous function.
2011-06-30 19:29:14 +02:00
Bastien Guerry dbde087a21 org.el: don't escape image links with no description.
(org-make-link-string): Don't escape image links when no description
is provided by the user.  Otherwise those images won't be recognized
as images when trying to display inline pictures.
2011-06-30 18:40:24 +02:00
Bastien Guerry f0bbfe50aa org.el: (org-end-of-meta-data-and-drawers): simplify. 2011-06-30 18:01:38 +02:00
Bastien Guerry 9c582ceed8 org.el: Remove useless `org-without-partial-completion'.
* org.el (org-set-tags): Remove useless `org-without-partial-completion'.
2011-06-30 17:06:13 +02:00
Michael Markert b3e8b3f87c adding optional argument KIND to all org-called-interactively-p function invocations
* lisp/ob.el (org-babel-sha1-hash): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
* lisp/org-agenda.el (org-agenda-redo): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-agenda-show-1): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-agenda-set-tags): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org-ascii.el (org-export-as-latin1): Adding optional argument
  KIND to all org-called-interactively-p function invocations.
  (org-export-as-latin1-to-buffer): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-export-as-utf8-to-buffer): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-export-region-as-ascii): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org-docbook.el (org-export-region-as-docbook): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-html.el (org-export-region-as-html): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-latex.el (org-export-region-as-latex): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-table.el (org-table-blank-field): Adding optional argument
  KIND to all org-called-interactively-p function invocations.
  (org-table-current-column): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-current-dline): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-sort-lines): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-sum): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-rotate-recalc-marks): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-table-eval-formula): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (orgtbl-send-table): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org.el (org-mode): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-copy-subtree): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-paste-subtree): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-store-link): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-todo): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-occur): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
2011-06-29 16:22:58 -07:00
Bastien Guerry 2b7dbee193 Replace interactive-p with the org-called-interactively-p macro.
Interactive-p is an obsolete function as of Emacs 23.2.
`org-called-interactively-p' takes care of the current (x)Emacs
version and use either `interactive-p' (for XEmacs and Emacs<23.2)
or `called-interactively-p'.
2011-06-29 18:24:08 +02:00
Nicolas Goaziou 1eac25a438 Adjust fontification of footnotes
* lisp/org-footnote.el (org-footnote-next-reference-or-definition):
  new function.
* lisp/org.el (org-activate-footnote-links): activate the whole
  footnote, but only fontify its label.
2011-06-29 12:00:42 +02:00
Bastien Guerry 7311ac5d4f Keep warning cookie when timestamping/rescheduling/redeadlining.
* install/git/org-mode/lisp/org.el (org-deadline, org-schedule):
keep warning cookie when rescheduling/redeadlining.
(org-time-stamp): Fix problem with warning cookie.
2011-06-29 01:56:40 +02:00
Bastien Guerry f9cc3f525b org.el: make org-time-stamp also keep warning periods.
... not only repeaters.

Thanks to Karl Voit for spotting this.
2011-06-28 19:27:12 +02:00
Bastien Guerry d7c693c1ff org.el: fix bug about repeater not kept when using org-time-stamp
Thanks to Karl Voit for reporting this.
2011-06-27 18:22:37 +02:00
Vincent Belaïche 6d18e03519 * org.el (org-read-property-name): Propose default property name.
Propose default property name value by looking at whether current line
is already some property setting.
2011-06-27 12:35:08 +02:00
Achim Gratz d37223562d Introduce CLOCK_INTO_DRAWER property like the existing LOG_INTO_DRAWER
* lisp/org.el (defcustom org-log-into-drawer): correct typo
* lisp/org-clock.el: new function org-clock-into-drawer to change
  the location of clock events based on properties CLOCK_INTO_DRAWER
  or, as fallback, LOG_INTO_DRAWER, like it is already possible for
  state change logs.
* lisp/org-clock.el (org-clock-jump-to-current-clock): add statement
  to let clause to bind org-clock-into-drawer to result of function
  eval
* lisp/org-clock.el (org-clock-find-position): add statement
  to let clause to bind org-clock-into-drawer to result of function
  eval, change let to let* since the binding is used later in the
  same clause
* doc/org.texi: document that both CLOCK_INTO_DRAWER and
  LOG_INTO_DRAWER can be used to override the contents of variable
  org-clock-into-drawer (or if unset, org-log-into-drawer)
* doc/org.texi: @xref->@pxref
2011-06-27 12:12:23 +02:00
Bastien Guerry 8608b6651d Fix doubled-word typo.
Thanks to Jim Meyering <jim@meyering.net> for this upstream fixes.
2011-06-20 15:38:24 +02:00
Ted Zlatanov b3aad7ffa8 Do not error out on fontification errors
* org.el (org-fontify-meta-lines-and-blocks): Ignore errors.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-06-20 11:23:44 +02:00
Eric Schulte db1c3f6a3e Revert "replacing calls to now-defunct function `interactive-p'"
This reverts commit 4f084e1467.
2011-06-16 21:32:54 -07:00
Carsten Dominik faccb8d58c Make S-up/down/left/right in indented clocktable BEGIN lines
* lisp/org.el (org-find-dblock):
(org-clocktable-try-shift): Make regexp work also when #+begin
line is indentex.

Achim Gratz writes:

It wasn't possible to use S-up/down/left/right on the clocktable BEGIN
line when the whole table was indented.  Interestingly enough calling
the function directly would work, it turned out to be a regexp in org.el
that was still pinned to bol.  There was a second one further down that
is used to recognize dynamic blocks that got the same treatment.

TINYCHANGE
2011-06-15 08:55:09 +02:00
Eric Schulte a034526448 more small compiler errors
* lisp/org-mouse.el (org-agenda-earlier): Declaring previously unknown
  function.
  (org-agenda-later): Declaring previously unknown function.
  (org-agenda-mode-map): Declaring previously unknown variable.
* lisp/org.el (org-read-date-analyze): Explicitly ignore the return
  value of a function.
2011-06-14 12:51:13 -07:00
Eric Schulte 94b325839c Replacing '(λ...) with #'(λ...).
* lisp/org-ascii.el (org-export-as-ascii): Replacing '(λ...) with #'(λ...).
* lisp/org-attach.el: Replacing '(λ...) with #'(λ...).
  (org-attach-commit): Replacing '(λ...) with #'(λ...).
* lisp/org-exp.el: Replacing '(λ...) with #'(λ...).
  (org-export-handle-include-files): Replacing '(λ...) with #'(λ...).
* lisp/org-html.el: Replacing '(λ...) with #'(λ...).
  (org-export-as-html): Replacing '(λ...) with #'(λ...).
* lisp/org-mouse.el: Replacing '(λ...) with #'(λ...).
  (org-mouse-popup-global-menu): Replacing '(λ...) with
  (org-mode-hook): Replacing '(λ...) with #'(λ...).
  (org-agenda-mode-hook): Replacing '(λ...) with #'(λ...).
* #'(λ...).Replacing '(λ...) with #'(λ...).
  (org-mouse-context-menu): Replacing '(λ...) with #'(λ...).
* lisp/org-src.el: Replacing '(λ...) with #'(λ...).
  (org-src-mode-configure-edit-buffer): Replacing '(λ...) with #'(λ...).
* lisp/org-table.el: Replacing '(λ...) with #'(λ...).
  (org-table-fix-formulas-confirm): Replacing '(λ...) with #'(λ...).
* lisp/org.el: Replacing '(λ...) with #'(λ...).
  (org-confirm-shell-link-function): Replacing '(λ...) with
  (org-category): Replacing '(λ...) with #'(λ...).
* #'(λ...).Replacing '(λ...) with #'(λ...).
  (org-time-stamp-rounding-minutes): Replacing '(λ...) with #'(λ...).
2011-06-14 12:01:04 -07:00
Eric Schulte f8abb11eff Declaring functions used by `org-open-file'
* lisp/org.el (mailcap-parse-mailcaps): Declaring functions used by
  `org-open-file'.
  (mailcap-extension-to-mime): Declaring functions used by
  `org-open-file'.
  (mailcap-mime-info): Declaring functions used by `org-open-file'.
2011-06-14 11:58:00 -07:00
Eric Schulte 4f084e1467 replacing calls to now-defunct function `interactive-p'
* lisp/org-agenda.el (org-agenda-redo): Replacing call to now-defunct
  function `interactive-p'.
  (org-agenda-show-1): Replacing call to now-defunct function
  `interactive-p'.
  (org-agenda-set-tags): Replacing call to now-defunct function `interactive-p'.
* lisp/org-ascii.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1-to-buffer): Replacing call to now-defunct
  function `interactive-p'.
  (org-export-as-utf8): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-utf8-to-buffer): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-ascii): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-docbook.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-docbook): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-html.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-html): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-latex.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-latex): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-macs.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-called-interactively-p): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-table.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-table-blank-field): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-column): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-dline): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sort-lines): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sum): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-rotate-recalc-marks): Replacing call to now-defunct
  function `interactive-p'.
  (org-table-eval-formula): Replacing call to now-defunct function
  `interactive-p'.
  (orgtbl-send-table): Replacing call to now-defunct function `interactive-p'.
* lisp/org.el: Replacing call to now-defunct function `interactive-p'.
  (org-mode): Replacing call to now-defunct function `interactive-p'.
  (org-copy-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-paste-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-store-link): Replacing call to now-defunct function
  `interactive-p'.
  (org-todo): Replacing call to now-defunct function `interactive-p'.
  (org-occur): Replacing call to now-defunct function `interactive-p'.
2011-06-14 11:37:59 -07:00
Michael Brand 374b70a383 Bugfix for heading levels when toggling from list
* org.el (org-toggle-heading): More comments and fix number of stars
when toggling from list items.

TINYCHANGE
2011-06-09 21:11:20 +02:00
Nicolas Goaziou ddeab1a8af Changes automatically made to cookies shouldn't move tags
* lisp/org.el (org-auto-align-tags): change docstring.
(org-update-parent-todo-statistics): keep tags aligned even when
statistics cookies are shifting them.
* lisp/org-list.el (org-update-checkbox-count): keep tags aligned even
when statistics cookies are shifting them.
2011-06-05 18:55:25 +02:00
Carsten Dominik 0db8830733 Fix issue with truncate-lines and visual-line-mode
* lisp/org.el (org-insert-link): Set truncate-line in the *Org Link* buffer
and make sure that it really is set there.

See http://thread.gmane.org/gmane.emacs.orgmode/42447
2011-06-02 19:48:36 +02:00
Carsten Dominik 32ac8dd0e5 More fixes to priority setting.
Patch by Michael Brand
2011-06-01 14:25:03 +02:00
Sébastien Delafond 1afcef3007 Do not run flyspell-checks on {todo,all-time,additional-option-like}-keywords
* org.el (org-mode-flyspell-verify): This is useful when using
  flyspell with a non-English dictionary, or if some of your
  keywords are in another language.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-06-01 13:51:31 +02:00
David Maus 00040e708c Use `delete-char' instead of `delete-backward-char'
* org.el (org-self-insert-command): Use `delete-char' instead of
  `delete-backward-char'.
* org-table.el (orgtbl-self-insert-command): Dto.

According to the doc string `delete-backward-char' "is meant for
interactive use only; from Lisp, better use `delete-char' with a
negated argument."
2011-06-01 08:30:20 +02:00
David Maus f4f20ad5c8 Move defsubst `org-re-property' before its first use
* org.el (org-re-property): Move before its first use.
2011-06-01 06:47:03 +02:00
Carsten Dominik 1beda3d3c8 Fix typo in code
* lisp/org.el (org-toggle-item): Move parenthesis to correct location.
2011-05-31 13:46:30 +02:00
Carsten Dominik 257ce858e7 Improve documentation and error handling with priorities
* lisp/org.el (org-default-priority):
(org-priority-start-cycle-with-default): Improve docstring.
(org-priority): Throw error when priority is out of range.

Patch by Michael Brand.
2011-05-31 13:37:04 +02:00
Carsten Dominik a958e3bc8f Fix issue with buffer-undo-list being t in some buffers
* lisp/org.el (org-self-insert-command): Catch the case of
buffer-undo-list eq t.
2011-05-31 09:23:52 +02:00
Nicolas Goaziou 363a4554e2 Do not split a partially selected line when calling org-toggle-heading
* lisp/org.el (org-toggle-heading): region should be considered as
  made of full lines, without the last one if region-end is at bol.
  Removed unused variables. Refactored and commented code.
2011-05-28 19:42:53 +02:00
Nicolas Goaziou 5a57bfffae Preserve subtrees when changing headlines into items
* lisp/org.el (org-toggle-item): when region includes an headline less
  indented than first one, set it as the new reference.
2011-05-28 19:10:05 +02:00
Nicolas Goaziou 6c2737ddbd Fix code typo 2011-05-28 17:22:48 +02:00
Nicolas Goaziou ddc2467387 Fix list before first heading conversion to odd levels subtree
* lisp/org-list.el (org-list-to-subtree): if the list is before first
  heading and `org-odd-levels-only' is non-nil, the first item gets
  two stars instead of one.
* lisp/org.el (org-reduced-level): a level of 0 was reduced to 1 with
  `org-odd-levels-only' non-nil.
2011-05-28 14:13:11 +02:00
Nicolas Goaziou ec61f20650 Fix org-toggle-item
* lisp/org.el (org-toggle-item): converting an heading to an item
  would sometimes insert unnecessary spaces before it, and unwanted
  space with `org-indent-mode' on. Changing some text into an item
  wouldn't always preserve indentation.
2011-05-28 14:13:11 +02:00
Eric Schulte 5c1cc3fb4b adding support for evaluation of awk code blocks
* Makefile (LISPF): Adding ob-awk to the makefile
* lisp/org.el (org-babel-load-languages): Adding ob-awk to the list of
  executable languages.
2011-05-26 07:34:58 -06:00
David Maus b6384bbcbe Prevent adding of extra space to value if property already exists
* org.el (org-entry-put): Prevent adding of extra space to value if
  property already exists.

Fixes a regression reported by Wujun Zhou.
2011-05-24 20:55:35 +02:00
Paul Sexton 7af369da69 contrib/org-drill.el -- updated to version 2.3.2
contrib/org-drill.el -- added to choices for 'org-modules' variable
2011-05-21 00:13:35 +12:00
Carsten Dominik 2a8fbc4b46 Bury calendar buffer
* lisp/org.el (org-read-date): Bury Calendar buffer after
using it for selecting a date.

Patch by Ben North

TINYCHANGE
2011-05-16 08:36:56 +02:00
Nicolas Goaziou 3dfcaf013a Don't indent #+include lines
* lisp/org.el (org-indent-line-function): don't include #+include lines.
2011-05-14 14:32:32 +02:00
Carsten Dominik 9dba548cd5 Agenda Views: Call `org-agenda-skip' first.
* lisp/org-agenda.el (org-agenda-get-todos): Call `org-agenda-skip' first,
then check if timestamps cause exclusion.
* lisp/org.el (org-scan-tags):  Call `org-agenda-skip' first,
then check if timestamps cause exclusion.

For more information, see the following mailing list thread:

http://thread.gmane.org/gmane.emacs.orgmode/41052/focus=41052
2011-05-10 08:58:04 +02:00
Carsten Dominik e8151c382c Add CLOCKSUM to special properties, to make org-invoice.el work again
* lisp/org.el (org-special-properties): Add CLOCKSUM to the special properties.
2011-05-06 17:20:40 +02:00
Robert P. Goldman 62c12cc50f Add an easy template for index (i)
* lisp/org.el (org-structure-template-alist):  Add an easy template
for index (i), and move include file to I from i.
* doc/org.texi (Easy Templates): Document new template.

Notes about this patch:
1.  It breaks some old user-visible behavior, since <i changes meaning.
    Per Nick's posting, we expect that if index is used, it will be used
    more commonly than include file.  However, since this is a custom,
    behavior could be changed.  Indeed, we could put index on capital
    I with a suggestion that users who are indexing should swap in their
    customizations.
2.  I modified the docstring for org-structure-template-alist, which did
    not explain the function of the "?" in the string.  Someone should
    check and verify I didn't get this wrong.
3.  There doesn't seem to be a Muse tag equivalent for #+index, so I
    just made the Muse equivalent of #+index be #+index.  I don't know
    org-mtags enough to know if this is appropriate.
2011-05-04 09:49:31 +02:00
Carsten Dominik 420899b3df Fix typo in function name
* lisp/org.el (org-remove-uninherited-tags): Renamed from
org-remove-iniherited-tags.
(org-scan-tags): Fix typo in function call.
(org-get-tags-at): Fix typo in function call.
2011-05-02 09:16:51 +02:00
Carsten Dominik 3b924ef2ad Fix whitespace problem 2011-05-02 09:14:30 +02:00
Matt Lundin c6e97d88cf org-get-tags-at: exclude filetags when local is t
* lisp/org.el (org-get-tags-at): Don't include filetags if local is t.

The function org-get-tags-at and the functions that called it were
including inherited file tags even if the user requested only local
tags. This patch fixes the behavior.
2011-05-02 09:13:06 +02:00
Carsten Dominik 69811ff44c Fix multiple overlays bug in src blocks
* lisp/org.el (org-fontify-meta-lines-and-blocks): Fix bug which
resulted in the creation of multiple overlays in src blocks.
2011-04-28 22:08:15 +02:00
Carsten Dominik 02441ed433 Implement clock consistency check functionality for agenda
* lisp/org-agenda.el (org-agenda-clock-consistency-checks): New option.
(org-agenda-list): Handle display change to clock check.
(org-agenda-get-progress): Show only clock entries if we are doing the
consistency check.
(org-agenda-show-clocking-issues): New function.
(org-agenda-check-clock-gap): New function.
(org-agenda-view-mode-dispatch): Offer consistency check.
(org-agenda-log-mode): Handle switch to clock only display.
(org-agenda-set-mode-name): Show lighter for Clockcheck.
* lisp/org.el (org-hh:mm-string-to-minutes): Accept an integer argument
and return it unchanged.
* doc/org.texi (Agenda commands): Document clock consistency checks.
* doc/orgcard.tex: Document key for clock consistency check.
2011-04-24 17:17:25 +02:00
Carsten Dominik 2985816e25 Postfix to the previous patch, changing after-change-functions for demotion
* lisp/org.el (org-promote):
(org-demote): Soften the previous change, by only removing the
flyspell function from after-change functions, because that was the
one causing the slowdown - at least much of it.
2011-04-21 17:01:39 +02:00
Eric Schulte 6660a51e07 Speed up promotion and demotion by turning off after-change-functions
* lisp/org.el (org-promote):
(org-demote): Turn off after-change-functions to speed up the
reindentation of text.

This is mainly toob-oz: brought up to date with the rest of Babel
2011-04-21 16:49:41 +02:00
Julien Danjou 92b603c892 org: clean property entries matching
* lisp/org.el (org-entry-get):
(org-entry-delete):
(org-entry-put):
(org-property-values):
(org-delete-property-globally): Use org-re-property.
(org-re-property): New function allowing to build a regexp to match a
property.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-04-09 18:53:07 +02:00
Julien Danjou c9c5da9191 org: enhance docstring for org-property-values
* lisp/org.el (org-property-values): Enhance docstring.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-04-09 18:53:07 +02:00
Nicolas Goaziou abad1b4994 Auto-fill shouldn't insert new items
* lisp/org-list.el (org-list-in-valid-context-p): renamed from
  org-list-in-valid-block-p.
  (org-at-item-p,org-list-search-generic): use renamed function.

* lisp/org.el (org-fill-item-nobreak-p): new function.
  (org-set-autofill-regexps): modify `fill-nobreak-predicate' to
  prevent auto-fill from breaking line just before an item regexp.
2011-04-09 13:20:37 +02:00
Nicolas Goaziou 9a8dab1436 Correctly fontify description items
* lisp/org.el (org-set-font-lock-defaults): Be more strict when
  recognizing description items, and do not fontify wrong cases like:
  "- term ::description" or "1. term :: description"
2011-04-09 13:18:13 +02:00
Nicolas Goaziou a1458ba5ec Don't indent footnote definitions
* lisp/org.el (org-indent-line-function): footnote definition must
  stay at column 0 to be recognized as such. Body below can have
  normal indentation, so it should ignore its definition when
  computing indentation.
2011-04-09 11:50:59 +02:00
Carsten Dominik cd806a5d0d Help matching dotted European dates, like 31. 12. 2007
* lisp/org.el (org-read-date-analyze): Help matching dotted European
dates, like 31. 12. 2007

Patch by Jan Seeger.
TINYCHANGE
2011-04-08 12:06:51 +02:00
Carsten Dominik a54afa7e8e Merge branch 'capture-plain-text-into-nodes' 2011-04-07 17:03:26 +02:00
Carsten Dominik f1ffed8a6c Allow to capture plain templates into Org nodes
* lisp/org.el (org-end-of-meta-data-and-drawers): New function.
* lisp/org-capture.el (org-capture-place-plain-text): Implement adding
plain text templates to Org nodes.

This is something which came out of a discussion with Philip Rooke, in
the thread

Philip tried to use a capture template with template type plain, but
using a date tree as a target.  Plain templates where placed at the
end of the file, not at the end of the entry.  I complained first that
mixing headlined entries and plain snippets into the same capture
target is not possible, but I realized that there is a way to make
this work OK.  The headlined entries become children, and the plain
text snippets become part of the text before the first child.
2011-04-07 08:47:13 +02:00
Lawrence Mitchell f4ba6dc6ee org: Match case of todo keywords when determining empty headings
* lisp/org.el (org-point-at-end-of-empty-headline): Bind
case-fold-search to nil.
2011-04-06 10:27:58 +02:00
Carsten Dominik b869bc5a7e Remove forgotten (debug) 2011-04-03 12:26:05 +02:00
Carsten Dominik 5d5ea7bccc Fix two bugs in time regular expressions
* lisp/org.el (org-ts-regexp-both): Add "]" to class of characters that
should not be matched.
(org-ts-regexp0):
(org-ts-regexp1): Do not start a class with "^]-+", because that tries
to (not) match characters between "]" and "+".  Instead, move the "-"
to the end of the class where it causes no harm.
2011-04-03 12:25:31 +02:00
Carsten Dominik a9e6c07b6a Remove recently added code to support meeting actions
This code is now in the tutorial describing this work flow.
It is too specialized to be in org.el.

Thanks for Matt Lundin for checking on me.
2011-04-02 00:32:13 +02:00
Carsten Dominik b8fdddcd9c Add tools for tracking meeting notes
* lisp/org.el (org-numbered-action-format): New option.
(org-new-numbered-action): New command.
(org-collect-todos-in-subtree): New command.
2011-03-30 09:06:59 +02:00
Carsten Dominik 71e91e3d33 Fix bug with resolving outline-path targets when two headings are the same
* lisp/org.el (org-find-olp): Use the level of the correct match to
continue search.

The problem was that a second match of an identical headline on
another level would corrupt the value of LEVEL that is used to set up
the next search stop.

Chao LU writes:

> For org capture template, if I set an template like this:
> ("i" "INBOX" entry (file+olp (concat org-private-dir "/iPrv.org")
>                    "INBOX" "test") "* %?" :prepend t)
>
> And for the iPrv.org, I have this structure:
> * INBOX
> ** test
>
> Then it works.
>
> But if the first level and the second level happen to have the same
> title (it does happen to me sometimes), like:
> * INBOX
> ** INBOX
>
> ("i" "INBOX" entry (file+olp (concat org-private-dir "/iPrv.org")
>                     "INBOX" "INBOX") "* %?" :prepend t)
> Then Org will prompt an error.
2011-03-25 08:05:21 +01:00
Julien Danjou d5383b1769 org-icompleting-read cosmetic cleanup
* lisp/org.el (org-icompleting-read): Do not use useless lambda.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-18 15:24:31 +01:00
Bastien Guerry 39dacd3e7e Tiny docstring typo. 2011-03-17 11:41:39 +01:00
Carsten Dominik f4387417c4 Improve handling of years with limitations on representable dates
* lisp/org.el (org-read-date-force-compatible-dates): New option.
(org-read-date, org-read-date-analyze): Check representable date range.
* doc/org.texi (The date/time prompt): Document date range protection.

New variable `org-read-date-force-compatible-dates' to control
handling of dates.
2011-03-15 20:01:33 +01:00
Eric Schulte cf076fd654 adding support for Maxima code blocks -- thanks to Eric Fraga 2011-03-15 11:25:40 -06:00
Nicolas Goaziou df26ae8e69 Checkboxes should progress from intermediate state to checked
Thanks to Matt Lundin for pointing that out.
2011-03-12 16:40:37 +01:00
Nicolas Goaziou efa562c1ee Fix compatibility with emacsen < 23
* lisp/org.el (org-fill-paragraph): fill-forward-paragraph function
  has been introduced with emacs 23.1.
2011-03-10 19:45:47 +01:00
Nicolas Goaziou b12f0dd309 Fix fill-region in an item
* lisp/org.el (org-adaptive-fill-function): when a region is specified
  first line of paragraph isn't skipped, so fill-paragraph have to be
  computed even if point is at an item.
2011-03-10 00:51:03 +01:00
Nicolas Goaziou 6ff4c9f42f List indentation has priority over block indentation
* lisp/org.el (org-indent-line-function): text in both a list and
  a valid block is indented with regards to current item, not to block
  boundaries.
2011-03-09 17:48:16 +01:00
Bastien Guerry eafdbc575b * org.el (org-default-properties): Add EXPORT_TEXT. 2011-03-09 15:44:11 +01:00
Bastien Guerry 3151ef60be org.el (org-default-properties): Add EXPORT_OPTIONS.
(org-buffer-property-keys): docstring fix.
(org-default-properties): Add EXPORT_OPTIONS.

Thanks to Sébastien Vauban for catching this and his patch.
2011-03-09 11:17:33 +01:00
Bastien Guerry e6d74f9253 org.el: remove useless comment. 2011-03-09 11:06:57 +01:00
Jason Dunsmore 85f03c0859 Bugfix: honor `org-blank-before-new-entry' correctly in various contexts.
* org.el (org-back-over-empty-lines): Bugfix.  Honor
`org-blank-before-new-entry' correctly in various contexts.
2011-03-09 11:06:09 +01:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Bastien Guerry 5780612759 Fix typo in docstring. 2011-03-07 00:20:42 +01:00
Bastien Guerry 6a0de0dc7b * org.el (org-duration-string-to-minutes): Don't use `rx-to-string'. 2011-03-06 18:45:03 +01:00
Lawrence Mitchell 75a1b98cfb Support modifiers in effort durations (was: Re: Does Effort support hours only?)
Luke Crook wrote:
> Is it possible to specify estimated effort in something other
> than hours (0.5, or 0:30)?

> For example 1w, 1m, 2d etc?

Here's a cleaned up patch that allows user-specified modifiers
for effort strings.  The new variable `org-effort-durations'
lists modifiers, and their mapping to minutes (words, as well as
single-letter modifiers, are supported).  The default value is:

(("h" . 60)
 ("d" . 480) ; 8 hours
 ("w" . 2400) ; five days
 ("m" . 9600) ; 4 weeks
 ("y" . 96000)) ; 40 weeks

But you can change this.

Old effort strings (HH:MM) are still interpreted correctly.  See
the docstrings of `org-effort-durations' and
`org-duration-string-to-minutes' for more details.

>From a0e24b14755eb4087d9c47bb4eea11eb9151efcf Mon Sep 17 00:00:00 2001
From: Lawrence Mitchell <wence@gmx.li>
Date: Fri, 18 Feb 2011 11:01:46 +0000
Subject: [PATCH] Allow human-readable effort durations
To: emacs-orgmode@gnu.org

* lisp/org.el (org-effort-durations): New variable.
* lisp/org.el (org-duration-string-to-minutes): New function.
* lisp/org-agenda.el (org-agenda-filter-effort-form)
(org-format-agenda-item): Use it.
* lisp/org-clock.el (org-clock-notify-once-if-expired)
(org-clock-modify-effort-estimate, org-clock-get-clock-string): Use it.

Specifying large effort durations in hours and minutes is difficult.
Is 130:25 more than two weeks effort?  More than three?  This patch
allows specification of an effort duration as a friendly string.  For
example 2w 5d is two weeks and five days of effort.  Existing H:MM
entries will still be recognised correctly.
2011-03-06 18:27:14 +01:00
Nicolas Goaziou 9f0745d93c Promote and demote inline tasks
* lisp/org-inlinetask.el (org-inlinetask-promote,
  org-inlinetask-demote): new functions.

* lisp/org.el (org-metaleft, org-metaright): when point is at an
  inline task, promote or demote it.
2011-03-06 09:30:47 +01:00
Nicolas Goaziou 7ac8c529f2 When demoting a subtree, don't change level of inline tasks within
* lisp/org.el (org-demote-subtree,org-promote-subtree): wrap
  org-map-tree into org-with-limited-levels macro, so it avoids
  operating on inline tasks.
2011-03-06 09:30:06 +01:00
Nicolas Goaziou 1e59039f8c Fix bug when narrowing to subtree with point at an inline task
* lisp/org.el (org-narrow-to-subtree): ensure `org-back-to-heading'
  will move point to a real heading and not an inline task by wraping
  function into a org-with-limited-levels macro.
2011-03-06 09:29:16 +01:00
Bastien Guerry de7005c7c2 Small docstring typo. 2011-03-06 01:33:19 +01:00
Bastien Guerry 5606a6a941 Rename `org-get-refile-targets' to `org-refile-get-targets'.
* org.el (org-refile-get-targets): Rename from
`org-get-refile-targets.'
2011-03-05 23:48:29 +01:00
Bastien Guerry 9a35e5d0be Small docstring fix.
Thanks to Tassilo Horn for spotting this.
2011-03-05 22:53:06 +01:00
Tassilo Horn 9d1ce51c09 Use and show default refiling location.
* org.el (org-refile-get-location): Set and show default
	value.
	(org-goto, org-refile): Adapt calls.

	* org-id.el (org-id-get-with-outline-path-completion): Adapt
	call.

	* org-agenda.el (org-agenda-refile, org-agenda-bulk-action):
	Adapt calls.

	* org-remember.el (org-remember-handler): Adapt call.
2011-03-05 12:24:47 +01:00
Bastien Guerry 2d37c8caf5 Minor stylish fix. 2011-03-05 11:44:22 +01:00
Bastien Guerry 7a0f8bccb8 Minor stylish fix. 2011-03-05 11:44:00 +01:00
Bastien Guerry 9a7f9eda3c Fix bug when using org-confirm-shell/elisp-link-not-regexp. 2011-03-05 11:36:15 +01:00
Bastien Guerry 4369d4f9a3 Bugfix: allow org-blocker-hook to check against headings outside of a narrowed buffer.
* org.el (org-todo): Bugfix: use `org-with-wide-buffer' to
check against headings outside of a narrowed buffer.

* org-macs.el (org-with-wide-buffer): New macro.
2011-03-05 11:01:28 +01:00
Bastien Guerry ae8d522a6c New variables to skip confirmation for elisp/shell links.
* org.el (org-confirm-shell-link-not-regexp)
(org-confirm-elisp-link-not-regexp): New custom variables.
(org-open-at-point): Use the new custom variables.
2011-03-05 10:08:19 +01:00
Bastien Guerry 87ce7900c6 * org.el (org-move-subtree-down): leave the cursor at the same column we were at.
* org.el (org-move-subtree-down): leave the cursor at the same
column we were at.
2011-03-03 11:51:47 +01:00
Carsten Dominik aaf0e2d6bb Get rid of some compiler warnings
* Makefile (lisp/org-special-blocks.elc): Add dependency on org-compat.el
* lisp/ob-ref.el (org-at-item-p): Declare function.
* lisp/org-agenda.el (diary-time-regexp): defvar.
* lisp/org-archive.el (org-archive-subtree): Bind local variable `infile-p'.
* lisp/org-capture.el (org-capture-insert-template-here): Get template
text from property list, to avoid byte compiler message.
* lisp/org-latex.el (org-export-latex-tables): Bind local variable `width'.
* lisp/org-special-blocks.el (org-compat): Add require statement.
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Bind local variable `const-str'.
* lisp/org.el (org-eval): Moved function here from org-agenda.el.
2011-03-01 07:24:14 +01:00
Nicolas Goaziou c2443d48e9 fix a bug in org-open-at-point
My bad, wrong manipulation. Here is the patch.

To reproduce the error, you can type the following in a fresh Org
#+begin_src org
target some text <<<target>>> another text target
#+end_src

Using C-c C-o on any of the two links will return an error.
Regards,

>From f7738f3e9239fc4fddccc7850dad7a0936087a58 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <n.goaziou@gmail.com>
Date: Sat, 19 Feb 2011 09:37:48 +0100
Subject: [PATCH] Fix bug with link to radio target at beginning or end of buffer

* lisp/org.el (org-open-at-point): if a link to a radio target is the
  first, (resp. the last), element of a buffer, function cannot find
  the property change required to get its boundaries, and
  `buffer-substring' is called with an invalid nil argument.
2011-02-26 18:14:38 +01:00
Nicolas Goaziou f4db739a67 Keep byte-compiler happy 2011-02-23 15:03:27 +01:00
Nicolas Goaziou 6489346093 Make byte-compiler happy 2011-02-22 20:55:41 +01:00
Bastien Guerry 77c278c932 Fix small typos in docstrings. 2011-02-19 12:52:26 +01:00
Nicolas Goaziou 729564ae74 Send list only with cursor at top item
* lisp/org.el (org-ctrl-c-ctrl-c): call `org-list-send-list' only when
  cursor it at very first item of the list, as specified in the
  manual. Also refactored the list part of the function a bit.
2011-02-19 11:27:53 +01:00
Nicolas Goaziou 2366083b82 Remove org-entry-get from ignore-errors macro 2011-02-19 10:51:38 +01:00
Nicolas Goaziou 713262edc1 Preserve hierarchy when converting items to headlines and the other way
* lisp/org.el (org-toggle-item, org-toggle-heading): make sure every
  sub-item in a list is changed into a sub-heading and sub-headings
  are translated into sub-items. Also ignore inline tasks in the
  process.

org-toggle-item on headlines preserves hierarchy
2011-02-18 13:43:49 +01:00
Nicolas Goaziou 5adafe0c8d Changes to filling in items
* lisp/org.el (org-set-autofill-regexps): use `org-item-re' in
  `paragraph-start' to recognize alphabetical lists.
(org-fill-paragraph): enforce a pre-computed fill-prefix before
  calling fill-paragraph when point in in an item. Also prevent
  paragraphs getting merged into an adjacent list upon filling.
(org-adaptive-fill-function): make sure to determine real fill-prefix
  for auto-fill.
(org-auto-fill-function): use a pre-computed fill-prefix before
  calling do-auto-fill.
* lisp/org-list.el (org-list-item-body-column): new function
2011-02-18 12:45:12 +01:00
Nicolas Goaziou b7f6a916b3 Fix toggling and cycling visibility for items and inline tasks
* lisp/org-inlinetask.el (org-inlinetask-at-task-p,
org-inlinetask-toggle-visibility): new functions.
* lisp/org-list.el (org-list-set-item-visibility): new function.
* lisp/org.el (org-cycle, org-cycle-internal-local): separate lists
  and inline tasks from headlines.
(org-outline-level): do not consider lists as headlines.
  Cycling visibility is using different tools.
2011-02-18 12:45:12 +01:00
Nicolas Goaziou 69cc51fa43 C-c C-c also repairs ill-formed lists
* lisp/org-list.el (org-list-struct): mark items less indented than
  top item of the list, so that they will be modified.
(org-list-struct-apply-struct): compare struct's indentation with
  line's indentation instead of old-struct's. This is needed because
  `org-list-struct' automatically fixes indentation so changes might not
  be seen otherwise.
* lisp/org.el (org-ctrl-c-ctrl-c): small refactoring.
2011-02-18 12:45:12 +01:00
Nicolas Goaziou f7ebd6bcf0 org-list: ignore inline tasks when shifting an item, and fix indentation
* lisp/org-list.el (org-list-struct-apply-struct): inline tasks along
  with their content must stay at column 0 even if the item is gaining
  indentation. Moreover, fix indentation of text in an inline task,
  now it can be in such a task within a list.
2011-02-18 12:45:12 +01:00
Nicolas Goaziou 0148fac717 org-list: make org-at-item-p less permissive
* lisp/org-list.el (org-at-item-p): also verify context is valid.
  Otherwise it would recognize valid items where org-in-item-p
  wouldn't.
(org-in-item-p, org-list-struct-apply-struct): use shorter version of
org-at-item-p.
(org-cycle-list-bullet): fix typo.
(org-list-parse-list): avoid calling org-at-item-p two times by using
an appropriate regexp
* lisp/org.el (org-indent-line-function): use an appropriate regexp
  instead of calling org-at-item-p two times.
2011-02-18 12:45:12 +01:00
Nicolas Goaziou f7dbea5989 Fix small bug in org-toggle-item
* lisp/org.el (org-toggle-item): when used on normal text, ensure
  every line in region is included in the new item, regardless of its
  original indentation.
2011-02-18 12:45:12 +01:00
Nicolas Goaziou 304e8f1cd2 Change behavior of org-toggle-item when used with normal text.
* lisp/org.el (org-toggle-item): Now accepts a prefix argument. When
  used without argument on normal text, it will make the whole region
  one item. With an argument, it defaults to old behavior: change each
  line in region into an item.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou 89c066a10c Newline-and-indent respects list structure
* lisp/org.el (org-return): when called from inside an item with the
  indent flag, function should keep text moved inside the item. This
  allows to use C-j to separate lines in an item: cursor won't go back
  to column 0.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou bd68169b4b org-list: reorder file, rename functions, improve comments
* lisp/ob.el (org-babel-result-end): apply renaming.
* lisp/org-exp.el (org-export-mark-list-properties): apply renaming.
* lisp/org-list.el (org-list-prevs-alist): renamed from
  org-list-struct-prev-alist.
(org-list-parents-alist): renamed from org-list-struct-parent-alist.
(org-list-write-struct): renamed from org-list-struct-fix-struct.
(org-list-parse-list, org-sort-list, org-list-indent-item-generic,
org-toggle-checkbox, org-update-checkbox-count, org-cycle-list-bullet,
org-list-repair, org-insert-item, org-move-item-up, org-move-item-up,
org-move-item-down, org-next-item, org-previous-item,
org-end-of-item-list, org-beginning-of-item-list, org-apply-on-list):
apply renaming.
(org-get-bullet): removed function, as it is not needed anymore.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou 4efa974264 Fix for `org-beginning-of-line' at an item
* lisp/org.el (org-beginning-of-line): apply changes to
  `org-item-beginning-re' to correct sub-expression reference.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou 781228183a org-list: implement alphabetical lists
* lisp/org-list.el (org-alphabetical-lists): new variable
(org-item-re, org-list-full-item, org-cycle-list-bullet,
org-list-struct-fix-bul, org-list-inc-bullet-maybe): reflect
introduction of the new variable.
(org-item-beginning-re): changed into a function, so any modification
of `org-alphabetical-lists' will not require reloading Org.
(org-at-item-p, org-toggle-checkbox, org-update-checkbox-count,
org-list-parse-list, org-list-send-list): reflect changes to
`org-item-beginning-re'.
(org-list-use-alpha-bul-p): new function.
* lisp/org.el (org-check-for-hidden): reflect changes to
`org-item-beginning-re'.
* lisp/org-capture.el (org-capture-place-item): reflect changes to
`org-item-beginning-re'.
* lisp/org-docbook.el (org-export-docbook-list-line): handle new type
of items.
* lisp/org-exp.el (org-export-mark-list-end,
org-export-mark-list-properties): reflect changes to
`org-item-beginning-re'.
* lisp/org-html.el (org-html-export-list-line): handle new type of
items.
* lisp/org-latex.el (org-export-latex-lists): handle new type of items
and reflect changes to `org-item-beginning-re'.
* lisp/org-ascii.el (org-export-ascii-preprocess): handle new counters.

Modified from a patch by Nathaniel Flath.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou 215d3fa030 Improve usage of `org-in-item-p'
When the function needs to know if cursor is in a plain list and move
to item beginning if it is the case, a fast way is to ignore errors on
(goto-char (org-in-item-p)).
2011-02-18 12:45:10 +01:00
Nicolas Goaziou 79553c4764 org-list: fixes for incorrect number of arguments 2011-02-18 12:45:10 +01:00
Nicolas Goaziou 6c81e8cc05 Move org-get-string-indentation out of org-list.el
* lisp/org.el (org-get-string-indentation): moved in generally useful
  functions section, as it wasn't specific to plain lists and that no
  code was using it in org-list.el.
2011-02-18 12:45:09 +01:00
Nicolas Goaziou 2adbcfffe1 Remove uses of deprecated top-point and bottom-point functions
* lisp/org.el (org-skip-over-state-notes,org-store-log-note): use new
  accessors.

* list/ob.el (org-babel-result-end): use new accessors.

* list/org-exp.el (org-export-mark-list-ending): use new accessors.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou c12ce921d7 Checkboxes do not change indentation in lists
* org.el (org-indent-line-function): Indentation of item's body starts
  just after the bullet, not after a checkbox. Moreover, As
  `org-in-item-p' also returns item beginning position when point is
  in a list, do not compute it a second time.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou e223357743 Lighten process when C-c C-c is called at a list item
* org.el (org-ctrl-c-ctrl-c): when called at a list item, replace
  usage `org-repair-list', forcing another reading of the list, with
  only needed subroutines.
2011-02-18 12:45:08 +01:00
David Maus 0d6dacd978 Throw error if encoding character in utf8 fails
* lisp/org.el (org-link-escape): Throw error if encoding character in
utf8 fails.
2011-02-17 19:26:49 +01:00
David Maus 139cc1d4c2 Always percent escape the percent sign
* lisp/org.el (org-link-escape, org-link-escape-chars-browser)
(org-link-escape-chars): Always percent escape the percent sign.
2011-02-17 19:26:49 +01:00
David Maus 7b58cccddd Refactor unescaping functions
* org.el (org-link-unescape): Simpler algorithm for replacing percent
escapes.
(org-link-unescape-compound): Use cond statements instead of nested
if, convert hex string with string-to-number, save match data.
(org-link-unescape-single-byte-sequence): Use mapconcat and
string-to-number for unescaping single byte sequence.
2011-02-17 19:26:49 +01:00
David Maus dc76fd5d71 Rename lambda argument
* org.el (org-link-escape): Rename lambda argument.
2011-02-17 19:26:49 +01:00
David Maus 1350e57626 Add percent sign to list of escape chars
* org.el (org-link-escape-chars-browser, org-link-escape-chars): Add
percent sign to list of escape chars.
2011-02-17 19:26:49 +01:00
David Maus 51e665622c Unescape functions moved and renamed from org-protocol.el
* org.el (org-link-unescape, org-link-unescape-compound)
(org-link-unescape-single-byte-sequence): Functions moved and renamed
from org-protocol.el.
2011-02-17 19:26:48 +01:00
David Maus 27915744a2 New optional argument: Merge user table with default table
* org.el (org-link-escape): New optional argument.  Merge user table
with default table.
2011-02-17 19:26:48 +01:00