Commit Graph

5258 Commits

Author SHA1 Message Date
Carsten Dominik d752029422 EXPORT: Fix the options parser
* lisp/org-exp.el (org-export-add-options-to-plist): Fix the option parser

This fixes up commit aa6dba8a74.
Instead of looking for the start of a word (which does not work for
the options that are characters), it looks for the beginning of the
line or a whitespace character preceding the option.
2011-05-05 09:08:13 +02:00
Carsten Dominik cd04462438 Remove unnecessary local variable 2011-05-05 00:35:08 +02:00
Robert P. Goldman bf7ce56a72 Make the latex export preprocessor rewrite #+INDEX to \index.
* lisp/org-latex.el (org-export-latex-preprocess): Replace index entries.
2011-05-04 09:57:50 +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
Matt Lundin ad28fc9a61 Making the output of %% functions linkable in agenda views
charles.sebold@lcms.org writes:

> On 7 Apr 2011, Charles Sebold wrote:
>
>> Here's a test.  Take the line below and put it in an agenda file, then
>> view the agenda.
>>
>> %%(format "%s" (concat "[[elisp:(info)]" "[Link to info]]"))
>>
>> The results as I see them give me a link that I can mouse-click on,
>> but I can't move point to it and hit C-c C-o.
>>
>> What do I need to do to make this a normal org link in every way?  Or
>> is this a bug?
>>

Here's what seems to be going on.

Clicking with the mouse works because it calls org-open-at-mouse, which
(by calling org-open-at-point) simply looks at the text surrounding the
click point to find a link.

The function org-agenda-open-link, on the other hand, grabs part of the
headline as a string (the prefix), then jumps to the location in the
original buffer and calls org-offer-links-in-entry to look for links in
both the entry and the prefix of agenda text. Obviously, it won't find
your link in the original entry since it looks like this:

%%(format "%s" (concat "[[elisp:(info)]" "[Link to info]]"))

I think it shouldn't be a problem to pass the whole agenda line to
org-offer-links-in-entry. This will not result in duplicate links, since
org-offer-links-in-entry "uniquifies" the links.

I've attached a patch.

The bigger question, however, is why the expression above is even
showing up in the agenda, since it contains no scheduling information.
:)

Best,
Matt

>From 58c7621c0c84b9c1930098a098e4559aa516eec0 Mon Sep 17 00:00:00 2001
From: Matt Lundin <mdl@imapmail.org>
Date: Tue, 3 May 2011 15:54:35 -0400
Subject: [PATCH] Pass entire text of agenda line to org-offer-links-in-entry.

* lisp/org-agenda.el (org-agenda-open-link): Pass entire text of
  agenda line to org-offer-links-in-entry.

This fixes bug noticed by Charles Sebold, in which links that are
dynamically formatted for the agenda view are ignored.
http://permalink.gmane.org/gmane.emacs.orgmode/40673
2011-05-04 09:43:01 +02:00
Matt Lundin 1918731fdf Add helper functions to org-bibtex
* lisp/org-bibtex.el: (org-bibtex-search): New function.
  (org-bibtex-export-to-kill-ring): New function. Export to kill ring.
  (org-bibtex-create-in-current-entry): New function
  (org-bibtex-create): Make it easier to add bib fields to an
  existing headline
  (org-bibtex-export-arbitrary-fields)
  (org-bibtex-treat-headline-as-title): Fix typos
  (org-bibtex-fleshout): Don't upcase optional field; remove ":" from
  type completion

This patch implements several helper functions: exporting to kill
ring, searching only for entries with bib fields, and creating bib
fields in an existing headline. It makes the UI of org-bibtex-fleshout
more consistent.
2011-05-02 11:23:11 -06:00
Matt Lundin 3c148beeb7 More options in use of headlines as substitute for title field
* lisp/org-bibtex.el (org-bibtex-treat-headline-as-title): New
  defcustom.
  (org-bibtex-headline): Only use headline text (not TODO or other
  metadata) to generate title field and auto key.
  (org-bibtex-fleshout): Allow user to choose whether to treat
  headline as title.
2011-05-02 11:22:27 -06:00
Tom Dye 54aa9eb6c0 * lisp/org-bibtex.el: Added crossref field to other fields 2011-05-02 10:23:35 -06:00
Tom Dye 1ee59008e8 * lisp/org-bibtex.el: Add crossref option to incollection 2011-05-02 10:23:27 -06:00
Matt Lundin c446b4dfbe Do not export TYPE property as field when allowing arbitrary fields
* lisp/org-bibtex.el (org-bibtex-headline): Don't export TYPE property
  as field
2011-05-02 10:19:36 -06:00
Matt Lundin 5cfb04a4e1 Warn if duplicate ID is created
* lisp/org-bibtex.el (org-bibtex-key-property): When storing key in
  ID, warn if a duplicate ID is generated.
2011-05-02 10:19:33 -06:00
Matt Lundin 1af957a906 Implement bibtex keywords field <-> org-mode tags
* lisp/org-bibtex.el (org-bibtex-tags): New variable
  (org-bibtex-tags-are-keywords): New variable
  (org-bibtex-no-export-tags): New variable
  (org-bibtex-headline): Export tags as comma-separated bibtex keywords
  (org-bibtex-read): Import bibtex keywords field as tags

Bibtex users often rely on the keywords field to tag their entries.
With biblatex, the keywords field can be used to organize and filter
bibliographic entries. This patch adds an option to import keywords as
org-mode tags, and to export tags as bibtex keywords.

It also adds an option to add user-defined tags to newly created bib
headlines.
2011-05-02 10:19:26 -06:00
Manuel Giraud 04c13ee6b5 Optimize getting the date for org-publish
* org-publish.el (org-publish-find-date): optimization
2011-05-02 11:13:46 +02:00
Tassilo Horn 53c1894bfa org-gnus-follow-link and nnimap-request-scan
Eden Cardim <edencardim@gmail.com> writes:

>     Tassilo> No, I just wasn't really sure what that SCAN argument
>     Tassilo> means, so I tried to be as safe as possible.  If it's
>     Tassilo> always safe to provide nil, let's change that.
>
> Well, right now all it does is to check split rules against incoming
> mail. But, if we have a link to a message in org, then that message
> already went through the split process, so re-splitting is
> unnecessary.

Ok, so here we go:
Bye,
Tassilo

>From 89fecc7b938385647618dc28c4df304df872e6eb Mon Sep 17 00:00:00 2001
From: Tassilo Horn <tassilo@member.fsf.org>
Date: Tue, 12 Apr 2011 20:27:54 +0200
Subject: [PATCH] Call gnus-activate-group without SCAN arg.

* org-gnus.el (org-gnus-follow-link): Don't request scan of
group when following link.
2011-05-02 11:10:22 +02:00
Matt Lundin 95a8b0680e Removed unecessary invocations of org-agenda-show.
lisp/org-agenda.el (org-agenda-set-tags): Remove org-agenda-show to prevent
disrupting windows and changing point in original buffer.
(org-agenda-set-property): Same
(org-agenda-set-effort): Same
(org-agenda-toggle-archive-tag): Same

When setting a tag in the agenda, org-mode displays the corresponding
entry in the original org buffer by calling org-agenda-show. This has
the unwelcome side-effect of disrupting the current window arrangement
and changing the position of the point in the original buffer. This
behavior is inconsistent with the that of org-agenda-todo, which makes
all its changes "silently."

Here is the offending line (6799) in org-agenda-set-tags:

--8<---------------cut here---------------start------------->8---
(org-agenda-show)   ;;; FIXME This is a stupid hack and should not be needed
--8<---------------cut here---------------end--------------->8---

The same line occurs in org-agenda-set-property, org-agenda-set-effort,
and org-agenda-toggle-archive tag.
2011-05-02 10:08:54 +02:00
Carsten Dominik d8625e809f Make `org-save-outline-visibility' macro return a useful value
Modified from a patch by Paul Sexton
2011-05-02 09:42:11 +02:00
Manuel Giraud 71400037f3 Allow Sitemap links without extension
* lisp/org-publish.el (org-publish-project-alist): Document new
:sitemap-sans-extension property.
(org-publish-org-sitemap): Use new sitemap-sans-extension setting.

The following patch adds an option to remove extensions of files linked
from the auto generated sitemap. This is useful if you want to follow
this: http://www.w3.org/Provider/Style/URI
2011-05-02 09:26:15 +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
Eric Schulte c7ed6cde3a ob-clojure: qualify pp dispatch functions, wrap body in (do )
Patch by Eric S Fraga

* lisp/ob-clojure.el (org-babel-expand-body:clojure): Qualify pp
  dispatch functions, wrap body in `(do )'.
2011-04-29 08:26:01 -06:00
Carsten Dominik bfdc942050 Merge branch 'master' of orgmode.org:org-mode 2011-04-28 22:58:42 +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
Eric Schulte 4a8640d0cf ob-clojure: more robust reading of results
* lisp/ob-clojure.el (org-babel-execute:clojure): If results are not
  readable by lisp, then return them as a string.
2011-04-28 12:21:17 -06:00
Eric Schulte 0846a121b0 org-bibtex: fixed most of the compiler warnings 2011-04-28 10:05:24 -06:00
Eric Schulte d689755ca5 org-bibtex: prompts for file name when writing to .bib file
Thanks to Tom Dye for this suggestion

* lisp/org-bibtex.el (org-bibtex): Now prompts for a file name.
2011-04-28 10:02:33 -06:00
Eric Schulte daef7d8631 org-bibtex: optionally fill in optional fields on bibtex headline creation
Thanks to Tom Dye for suggesting this functionality

* lisp/org-bibtex.el (org-bibtex-create): Adding prefix argument which
  will result in prompting for optional fields.
2011-04-28 09:46:35 -06:00
Eric Schulte 1024da4e35 ob-bibtex: fixed flet variable causing compile problems
* lisp/org-bibtex.el (org-bibtex-headline): Renamed flet function
  `get' which was causing compile problems.
  (org-bibtex-fleshout): Renamed flet function `get' which was causing
  compile problems.
  (org-bibtex-write): Renamed flet function `get' which was causing
  compile problems.
2011-04-28 09:17:59 -06:00
Christian Egli 2a8ce137f4 Merge branch 'master' of orgmode.org:org-mode 2011-04-28 12:12:53 +02:00
Christian Egli 2e21cd424a Taskjuggler: Make sure an id never starts with a number
* org-taskjuggler.el (org-taskjuggler-clean-id): Make sure an
id never starts with a number.

Taskjuggler IDs may not start with a number
2011-04-28 12:11:46 +02:00
Eric Schulte aa903a749d org-bibtex: two defcustoms; org-bibtex-export-arbitrary-fields and org-bibtex-key-property
Patch by Matt Lundin adding two new customization options

* lisp/org-bibtex.el (org-bibtex-export-arbitrary-fields): New option.
  (org-bibtex-key-property): New option.
  (org-bibtex-put): Make use of new `org-bibtex-key-property' variable.
  (org-bibtex-headline):  Make use of new
  `org-bibtex-export-arbitrary-fields' and `org-bibtex-key-property'
  variables.
  (org-bibtex-autokey):  Make use of new `org-bibtex-key-property'
  variable.
  (org-bibtex-fleshout):  Make use of new `org-bibtex-key-property'
  variable.
  (org-bibtex-write):  Make use of new `org-bibtex-key-property'
  variable.
2011-04-27 16:00:16 -06:00
Eric Schulte a1b9878623 org-bibtex: org-bibtex-yank, and misc robustifying 2011-04-27 14:53:07 -06:00
Eric Schulte 5a07ae6f11 org-bibtex: added trailing space after "Type:" thanks to Matt Lundin 2011-04-27 14:53:07 -06:00
Eric Schulte 93e000923f org-bibtex: field prompt removes ":", and shrinks prompt window 2011-04-27 14:53:06 -06:00
Eric Schulte 8a41d54c1a org-bibtex: translating between Org-mode headings and Bibtex entries
* lisp/org-bibtex.el: Updating Copyright dates, author information,
  commentary and history notes.
  (org-bibtex-types): List of bibtex types with descriptions and
  required and optional fields.
  (org-bibtex-fields): List of bibtex fields with descriptions.
  (*org-bibtex-entries*): Special variable to hold parsed bibtex
  entries.
  (org-bibtex-autogen-keys): Custom variable controlling whether
  bibtex keys are automatically generated
  (org-bibtex-prefix): Custom variable allowing use of optional prefix
  for bibtex properties in Org-mode headlines.
  (org-bibtex-get): Helper function for accessing bibtex elements of a
  property list.
  (org-bibtex-put): Helper function for inserting bibtex element into
  a property list.
  (org-bibtex-headline): Return a bibtex entry of the given headline
  as a string.
  (org-bibtex-ask): Prompt the user to fill in the value of a bibtex
  field.
  (org-bibtex-autokey): Generate a bibtex key for the current
  headline.
  (org-bibtex-fleshout): Fill in missing bibtex properties of the
  current headline.
  (org-bibtex): Export the current Org-mode buffer to a bibtex buffer.
  (org-bibtex-check): Check that all bibtex properties are present in
  the current headline.
  (org-bibtex-check-all): Check all headlines in the current buffer.
  (org-bibtex-create): Create a new bibtex headline at the current
  level.
  (org-bibtex-read): Read the current bibtex entry from a bibtex file.
  (org-bibtex-write): Write the most recently read bibtex entry into
  an Org-mode file.
2011-04-27 14:53:05 -06:00
Carsten Dominik b00948328d Merge branch 'clock-check-faces' 2011-04-27 13:50:23 +02:00
Carsten Dominik ad4970a32e Configurable faces for clock problems
* lisp/org-agenda.el (org-agenda-clock-consistency-checks): Allow to
set properties.
(org-agenda-show-clocking-issues): Handle faces.
2011-04-27 13:49:11 +02:00
Eric Schulte 1a68794fdc ob-ditaa: specify utf8 data by default (default :java header argument)
* lisp/ob-ditaa.el (org-babel-default-header-args:ditaa): Specify utf8
  content by default with "-Dfile.encoding=UTF-8".
2011-04-25 18:57:59 -06:00
Eric Schulte f0d83a355e ob-ditaa: adding :java header arg for passing flags to the java command
Thanks to Juan Pechiar for raising the need for this header argument.

* lisp/ob-ditaa.el (org-babel-execute:ditaa): New ":java" header argument.
2011-04-25 13:12:12 -06:00
Nicolas Goaziou ae60048a81 org-exp: make lists more robust wrt macros expansion
* lisp/org-exp.el (org-export-preprocess-string): mark list end before
  expanding macros. Thus, a macro inside a list and containing blank
  lines cannot break the list structure.
  (org-export-preprocess-apply-macros): multi-lines macros get
  indented with the same indentation as the first line. Thus, we are
  sure that every line belongs to the same list as the first line, if
  such list exists. Also add comments in code.
2011-04-24 19:34:09 +02:00
Carsten Dominik acda0ee212 Fix typos 2011-04-24 17:21:47 +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
Nicolas Goaziou 7327b483f1 org-list: small docstring fix 2011-04-24 11:25:40 +02:00
Nicolas Goaziou fc91845fa5 org-list: fix bug with structure and blocks/drawers indentation
* lisp/org-list.el (org-list-struct): when walking down the list, the
  function would not pay attention to drawers or blocks indentation.
  Thus, such constructs couldn't consistently end an item or a list.
  This patch ensures line indentation is stored (if applicable) before
  skipping them. Also fixed doc-string and comments.
2011-04-24 11:23:01 +02:00
Carsten Dominik e7217a74e9 Export: Add EXPORT_FILE_NAME to the enclosing tree properties
* lisp/org-exp.el (org-export): Add EXPORT_FILE_NAME to the enclosing
tree properties
2011-04-22 11:23:18 +02:00
Carsten Dominik a20eebd73f Another fix for exporting enclosing class/title piece in buffer
* lisp/org-exp.el (org-export): Define a bound for finding enclosing
tree with class/title definition.
2011-04-21 18:03:05 +02:00
Carsten Dominik b7e3d7d90b Make exporting the enclosing entry with CLASS/TITLE property work better
* lisp/org-exp.el (org-export): Go to next heading before searching
backward, so make this also work if we are on the headline of the
entry with the property...
2011-04-21 17:55:18 +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
Eric Schulte 9a863dda84 Merge branch 'master' of orgmode.org:org-mode 2011-04-19 09:44:32 -06:00
Eric Schulte 892b66f062 ob-ocaml: updated to use the new script-escape function
* lisp/ob-ocaml.el (org-babel-ocaml-read-list): Using
  `org-babel-script-escape'.
  (org-babel-ocaml-read-array): Using `org-babel-script-escape'.
2011-04-19 09:43:34 -06:00
Manuel Giraud 2f50b1380b * org-html.el (org-html-handle-links): add an alternate for inline images 2011-04-19 11:22:20 +02:00
Carsten Dominik c9958a3999 Fix agenda bulk commands
* lisp/org-agenda.el (org-agenda-bulk-action): Do not use the entries
variable before it is defined
2011-04-16 18:05:51 +02:00
Carsten Dominik c2c28fc942 Merge branch 'master' of orgmode.org:org-mode 2011-04-15 22:31:11 +02:00
Eric Schulte 1997e19bd5 org-src-lang-modes: added alias "C" to "c"
* lisp/org-src.el (org-src-lang-modes): Added a language alias of "C"
  to "c".
2011-04-15 10:16:52 -06:00
Shaun Johnson de63411264 Babel: Stop tangling failing in an indirect buffer
* ob-tangle.el (org-babel-tangle): Make it work in an indirect buffer.

The problem was that the message generated after tangling included the
file name of the current buffer which was nil in an indirect buffer.

TINYCHANGE
2011-04-15 09:55:22 -06:00
Manuel Giraud c56bf33812 HTML export: correct a bug in coderef link.
* org-html.el (org-html-make-link): correct a bug in coderef link.
2011-04-15 13:58:29 +02:00
Bernt Hansen 4262dc1cbc Fix typo in agenda local variable
* lisp/org-agenda.el (org-agenda-filter-by-tag): Fix variable name typo

maybe-reftresh -> maybe-refresh
2011-04-15 13:56:12 +02:00
Bernt Hansen 383cb5dcaa Fix agenda display when headlines are missing
* lisp/org-agenda.el (org-agenda-get-timestamps): Fix agenda display when headlines are missing

The following entry breaks the agenda display.

,----
| ****
|         :PROPERTIES:
|         :DateCreated: <2011-04-13 Mi 10:00>
|         :END:
|
| [[gnus:nntp%2BGwene:gwene.org.emacsen.planet][gnus:nntp+Gwene:gwene.org.emacsen.planet]]
`----

Provide the empty string as the headline if the search for the
headline returns nil.  org-format-agenda-items requires a string for
the headline parameter.
2011-04-15 13:55:01 +02:00
Bastien Guerry 1bc0623be2 org mobile - call pre hooks earlier
* lisp/org-mobile.el (org-mobile-push): Move call to hook, make it the
first thing of the push operation.
2011-04-15 13:53:10 +02:00
Eric Schulte 60864e851b ob: now looking for header arguments in #+Properties: as well as #+Babel:
* lisp/ob.el (org-babel-params-from-buffer): Now looking for header
  arguments in #+Properties: as well as #+Babel:.  Also, we're no
  longer caching these results into a file local variable.
2011-04-14 20:37:21 -06:00
Eric Schulte 28b325fa1e ob-python: in the case of ":results output table" results can be parsed as a table
* lisp/ob-python.el (org-babel-python-evaluate-external-process):
  Allow parsing as a table in the case of ":results output table".
  (org-babel-python-evaluate-session):   Allow parsing as a table in
  the case of ":results output table".
2011-04-14 20:24:10 -06:00
Carsten Dominik e20166eb29 Fix the bulk scatter command to always schedule
* lisp/org-agenda.el (org-agenda-bulk-action): Allow bulk scatter
in all possible agenda views.  Use `org-agenda-schedule' instead of
`org-agenda-date-later'.

The bulk scatter command so far shifted the date that was causing an
entry to appear in the agenda.  However, the true intend was to
reschedule onto dates in the near future.  This patch fixes this
issue.  A side effect is that you can now bulk scatter tasks that to
not yet have a date, for example also tasks picked from the TODO
list.
2011-04-14 00:10:56 +02:00
Eric Schulte 2c8e964b70 ob-emacs-lisp: now supports :results output
* lisp/ob-emacs-lisp.el (org-babel-execute:emacs-lisp): Now supports
  ":results output".
2011-04-10 16:29:14 -06: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
Ethan Ligon 49e6bc8997 Fix for html & docbook export of description list items
The problem is illustrated by the following example:

* Illustration of bug in html export
  - This has a space after the colons :: so will work in latex and html
  - This doesn't have a space after the colons ::so is an invalid
    description item according to the org manual.  Won't work in html
    or docbook.  Will nevertheless work in latex, provided /first/
    description item is valid.
  - Has a terminating space ::
    - So it works in both html and latex export!
    - Even though it's difficult to distinguish from the next example.
  - Lacks a terminating space ::
    - At present, *doesn't* work in html or docbook export, does in
      latex.  This is the case that the following patch fixes.
2011-04-09 18:40:45 +02:00
Bastien Guerry 098ef03fa9 Minor cleanup. 2011-04-09 16:20:46 +02:00
Nicolas Goaziou a7a4693f66 org-list: don't forget to allow alphabetical counters 2011-04-09 16:09:32 +02:00
Julien Danjou 5c5468dc60 org-table: use point-min instead of 1
* lisp/org-table.el (org-table-cleanup-narrow-column-properties): Use
point-min rather than 1 when moving in the buffer.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-04-09 14:46:45 +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 5efc6f5fc4 org-latex: fix footnotes wrt lists and links
* lisp/org-latex.el: pay attention to end of footnote. Before closing
  the command, ensure that list is properly closed or that last link
  is separated from the curly brace.
2011-04-09 11:57:12 +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
Bastien Guerry b20bb56ba9 * org-agenda.el (org-agenda-start-day): Minor docstring update. 2011-04-08 18:48:08 +02:00
Bastien Guerry 9a0645bcfd org-protocol.el: more appropriate message when capture is done.
* org-protocol.el (org-protocol-remember)
(org-protocol-capture): More appropriate message.
2011-04-08 18:18:02 +02:00
Bastien Guerry 8cf35f0ab1 org-capture.el: Fix bugs about handling the :clock-keep parameter.
* org-capture.el (org-capture-clock-keep): New local variable.
(org-capture, org-capture-finalize): Use it and fix a bug when
:clock-keep is set to `t'.
2011-04-08 18:04:47 +02:00
Carsten Dominik a0a526bc3e Export: handle include files before processing macros.
* lisp/org-exp.el (org-export-preprocess-string): Handle include files
before processing macros.

Patch by Benny Simonsen.  TINYCHANGE
2011-04-08 12:35:37 +02:00
Bernt Hansen 770c2ddfba Remove obsolete functionality to add todo list in front of agenda
* lisp/org-agenda.el: Remove obsolete code for adding todo list in front
of the agenda

Todo lists should be built with the TODO list or a block agenda instead.

This code was triggered for C-u R in block agendas which is used to
limit the clock report to the current tags filter applied to the
agenda.
2011-04-08 12:27:27 +02:00
Lawrence Mitchell 44bb6ef974 org-latex: Fix export of table.el tables with captions
* lisp/org-latex.el (org-export-latex-convert-table.el-table): Fix
format-string for insertion of captions.

This fixes a bug introduced in caa5da1 since when the caption itself
is not placed inside the caption command.
2011-04-08 12:16:27 +02:00
Nick Dokos 9e15cf4fc2 Fix begin/end comment
* lisp/org-exp.el (org-export-remove-comment-blocks-and-subtrees): Fix regexp.

Rasmus <rasmus.pank@gmail.com> wrote:

> Hi,
> It seems that
>
> ,----
> | #+BEGIN_COMMENT
> |  ...
> | #+END_COMMENT
> `----
>
> Might be broken in Org-mode 7.5. According to the manual,
>
> ,----
> | Finally, regions surrounded by
> |  #+BEGIN_COMMENT  ...  #+END_COMMENT  will not be exported.
> `----
>
> Consider the following example generated with Org-mode 7.5 in Emacs 24.0.50
> (started without config files).
>
> ,----
> | #+TITLE: this is a test
> |
> | #+BEGIN_COMMENT
> | Don't export me
> | #+END_COMMENT
> |
> | I'd like to be exposed
> `----
>
> The HTML export is:
>
> ,----
> | <snip>
> | <h1 class="title">this is a test</h1>
> |
> | <div class="org-comment">
> | </br>
> | <p>
> | <p>
> | Don't export me
> | </p>
> | </div>
> |
> | I'd like to be exposed
> | <snip>
> `----
>
> The LaTeX export is:
>
> ,----
> | \begin{verbatim}
> | Don't export me
> | \end{verbatim}
> | I'd like to be exposed
> `----
>

Indeed.

It seems that one of the hair-raising regexps that Carsten manages
to come up with is not quite right. Try this patch for now:

--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---

Nick
2011-04-08 12:10:32 +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
Eric Schulte 4036da1986 ob-lisp: fixed bug in recent commit
* lisp/ob-lisp.el (org-babel-execute:lisp): Fix typo.
2011-04-07 12:51:12 -06:00
Eric Schulte fa9464ede2 ob-lisp: turning vector results into lists for easy elisp reading
* lisp/ob-lisp.el (org-babel-execute:lisp): Turn vectors into lists
  before reading by elisp
  (org-bable-lisp-vector-to-list): Stub of a vector->list function,
  should be replaced with a cl-vector->el-vector function.
2011-04-07 12:31:10 -06:00
Eric Schulte ad976c66cb ob-lisp: now reads/applies :colnames and :rownames header arguments
* lisp/ob-lisp.el (org-babel-execute:lisp): Now using
  `org-babel-reassemble-table' to apply the appropriate header
  arguments to results.
2011-04-07 11:31:56 -06:00
Carsten Dominik 27fe8e0dd7 Fix bug introduced with previous commit 2011-04-07 18:42:11 +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
Carsten Dominik 4168fccdc7 Fix docstring
* lisp/org-beamer.el (org-beamer-environments-extra): Fix docstring
2011-04-06 10:50:34 +02:00
Lawrence Mitchell 56cb9cff34 Ensure org-export-handle-comments protects its insertions
* lisp/org-exp.el (org-export-handle-comments): Add the org-protected
property to the replacement string.

Although org-export-handle-comments adds the org-protected property to
the matched string, the subsequent `replace-match' call to change the
comment character does not add this property to the entire format
string.  Fix this by propertizing the entirety of the newtext argument
to replace-match.
2011-04-06 10:42:57 +02:00
Lawrence Mitchell 5259210cfb org-html: Fix logic for export of section numbers
* lisp/org-html.el (org-export-as-html) (org-html-level-start): Fix
logic for section number printing when NUM is an integer.

Fixes a bug introduced in 9f57b8e which considered all non-integer
values of the num option to be nil.
2011-04-06 10:35:55 +02:00
Lawrence Mitchell 0e8f873c88 Prefer matching line beginnings in org-export-latex-special-chars
* lisp/org-latex.el (org-export-latex-special-chars): Fix regexp for
`single' special characters and ellipsis.

Repeated special characters are exported differently depending on
their position in the buffer.  A "&&" string at the start of a line is
exported as "&\&" whereas in the middle of a line you get "\&\&".  The
former is incorrect.  Fix this by matching the beginning of a line
before a character.  While we're at it, amalgamate the regexps for the

different special characters.
2011-04-06 10:34:14 +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 1df06e0fa9 Merge branch 'master' of orgmode.org:org-mode 2011-04-06 09:24:56 +02:00
Carsten Dominik 8a831e8f6c Introduce a new org-capture escape for arbitrarily defined time strings
* lisp/org-capture.el (org-capture-fill-template): Resolve new %<...>
template escape.
(org-capture-templates): Document new %<...> template escape.
* doc/org.texi (Template expansion): Document new %<...> template escape.
2011-04-06 08:49:12 +02:00
Eric Schulte 7021f70f02 ob: fix collection of table column names during export
* lisp/ob.el (org-babel-process-params): Make this function
  idempotent, as it will sometimes be called multiple times.
2011-04-04 11:28:45 -06:00
Carsten Dominik b869bc5a7e Remove forgotten (debug) 2011-04-03 12:26:05 +02:00
Carsten Dominik 857146b484 Merge branch 'master' of orgmode.org:org-mode 2011-04-03 12:25:44 +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
Eric Schulte 15e860dc1b Merge branch 'master' of orgmode.org:org-mode 2011-04-02 11:48:43 -06:00
Eric Schulte 30931bfe1d edit-prep: language specific src-edit buffer preparation, with R session association
* lisp/ob-R.el (org-babel-edit-prep:R): Associate the appropriate R
  process with the edit buffer when :session is specified.

* lisp/org-src.el (org-edit-src-code): Allow language-specific
  edit-buffer preparation by calling the org-babel-edit-prep:lang
  function when it is defined.
2011-04-02 11:46:08 -06: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
Eric Schulte cd4ce49449 ob-tangle: fix link extraction for newer version of org-store-link
* lisp/ob-tangle.el (org-babel-tangle-collect-blocks): Brought the
  link extraction code into line with a newer version of the
  org-store-link function.
2011-04-01 10:34:49 -06:00
Eric Schulte a6aa21b0bb ob-lisp: rebuilt on top of ob-clojure
* lisp/ob-lisp.el (org-babel-expand-body:lisp): New body expansion
  wrapping the expression in either a let or progn, and possibly a
  pretty-print function invocation.
  (org-babel-execute:lisp): Greatly simplified method of executing
  lisp code blocks.
2011-03-31 18:30:44 -06:00
Eric Schulte a73a689785 ob-octave: do not echo variables to STDOUT -- Thanks to Eric S Fraga 2011-03-30 23:28:59 -06:00
Eric Schulte d54c3825a8 ob-plantuml: adding eps support -- Thanks to Michael Gauland 2011-03-30 23:25:28 -06:00
Nicolas Goaziou 2f72b3efcb org-list: fix cookie updating
* lisp/org-list.el: move org-update-checkbox-count-maybe call outside
  of save-excursion to get back to original position.
2011-03-30 19:00:45 +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 b71413947c Remove spurious letter 2011-03-30 05:35:00 +02:00
Carsten Dominik 57c379bb26 Clean up the new options to remove tasks on export 2011-03-30 05:27:43 +02:00
Carsten Dominik b4e2ef4cb9 Allow to exclude tasks from being exported
* doc/org.texi (Selective export): Document exclusion of any tasks from
export.
* lisp/org-exp.el (org-export-with-tasks): New option.
(org-export-plist-vars): Add :tasks property.
2011-03-30 00:48:29 +02:00
Carsten Dominik 6d40eb3809 Implement export without DONE tasks
* doc/org.texi (Selective export): Document how to exclude DONE tasks
from export.
(Publishing options): Document the properties to be used to turn off
export of DONE tasks.
* lisp/org-ascii.el (org-export-as-ascii):
* lisp/org-docbook.el (org-export-as-docbook):
* lisp/org-html.el (org-export-as-html):
* lisp/org-latex.el (org-export-as-latex): Pass the :done-tasks property
to the export preprocessor.
* lisp/org-exp.el (org-export-with-done-tasks): New option.
(org-export-plist-vars): Add entry for :done-tasks.
(org-export-preprocess-string): Call `org-export-remove-done-tasks'.
(org-export-remove-done-tasks): New function.
2011-03-29 17:29:24 +02:00
Carsten Dominik 35a2ef3400 Fix LaTeX export of tags containing the character `#'
* lisp/org-latex.el (org-export-latex-keywords-maybe): Protect # in tags.

The `#' is a special LaTeX character and needs to be protected.
2011-03-27 09:04:09 +02:00
Carsten Dominik 001346cbe7 Merge branch 'master' of orgmode.org:org-mode 2011-03-25 08:55:29 +01: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
Nicolas Goaziou 9010ae64fb Merge branch 'list-bytec' 2011-03-23 21:05:06 +01:00
Nicolas Goaziou d9c5b384f8 org-list: org-keyword-time-regexp might be nil in other major modes
* lisp/org-list.el (org-toggle-checkbox): build value of
  org-keyword-time-regexp instead of using it directly, as it's
  buffer-local, and function might be called outside Org.
2011-03-23 21:02:38 +01:00
Julien Danjou fb35e7017c Set lisp-indent-function for org-with-remote-undo
Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-23 20:15:25 +01:00
Eric Schulte 432e1256bc Merge branch 'master' of orgmode.org:org-mode 2011-03-23 11:42:55 -06:00
Nicolas Goaziou 051b5b291c org-list: fix infinite loop on erroneous block and drawer constructs
* lisp/org-list.el (org-list-struct,org-in-item-p): don't assume end
  of blocks or drawers necessarily start somewhere. It it isn't the
  case, treat them as normal text.
2011-03-23 18:33:05 +01:00
Eric Schulte abbee1635e ob-exp: use source block name when finding cached results.
* lisp/ob-exp.el (org-babel-exp-results): Use code block name when
  finding cached results.
2011-03-23 11:26:53 -06:00
Julien Danjou 1c0d592463 org-latex: change default date format
* lisp/org-latex.el (org-export-latex-date-format): Change default date
format to \today. This has the same result but respects the language set in
the document by default.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-23 18:26:32 +01:00
Nicolas Goaziou 06ca884162 org-list: fix bug with org-toggle-checkbox
* lisp/org-list.el (org-list-checkbox): when called from an headline,
  function would normally skip drawers, but not if a SCHEDULED or
  DEADLINE keyword is standing before the drawer. Also avoid problems
  if function is called in buffers not is Org mode.
2011-03-23 17:38:16 +01:00
Bastien Guerry 8d0c034047 `org-clock-report': use :scope sutree when inserting from within a subtree.
* org-clock.el (org-clock-report): change the scope of the
inserted clock report depending on whether the point is within
a subtree (:scope subtree) or not (:scope file).
2011-03-23 15:11:59 +01:00
Bastien Guerry c4dbff58be Whitespaces clean up. 2011-03-23 15:08:49 +01:00
Puneeth Chaganti a201b11286 Fix HTML export of footnotes with lists, tables, quotes, etc.
* org-html.el (org-export-as-html): Fix export of footnotes
containing lists, tables, quotes, etc.
2011-03-23 15:07:07 +01:00
Lawrence Mitchell c109334152 Protect starred commands in LaTeX export correctly
* lisp/org-latex.el (org-export-latex-preprocess): Correctly
match starred command names.

Many LaTeX commands exist in both normal and starred forms.  Adjust
the regexp in `org-export-latex-preprocess' to match the starred form
as well.
2011-03-23 15:05:43 +01:00
Lawrence Mitchell 9f57b8e85d Allow mixed export of numbered and unnumbered sections in HTML
* lisp/org-html.el (org-export-as-html): Get local value of
org-export-with-section-numbers from the buffer's plist.  Deal
specially with the case the resulting value is an integer.
(org-html-level-start): New optional argument of the option plist used
instead of `org-export-with-section-numbers'.  Also deal specially
with the case that the value is an integer.

When `org-export-with-section-numbers' (or the buffer-local
:section-numbers option) is an integer, we now export the first NUM
levels of headings with numbers and lower-level headings without.
2011-03-23 15:04:59 +01:00
Lawrence Mitchell 087d94b488 Allow mixed export of numbered and unnumbered sections in LaTeX
* lisp/org-latex.el (org-export-latex-subcontent): Deal specially with
the case that NUM is an integer.

We would sometimes like to have numbered \sections in LaTeX export but
unnumbered \subsections and so forth.  That is, use the starred
equivalents for all sectioning commands below a certain level.
Previously, the num: option specification could only specify whether
sections should be numbered or unnumbered at all levels.  We now treat
an integer value specially, if num:N is supplied then the highest N
levels are numbered, and lower levels are exported without numbering.
2011-03-23 15:04:27 +01:00
Bastien Guerry ac6e4c28b8 Allow org-protocol templates to be set to two characters.
* org-protocol.el (org-protocol-do-capture): allow template
keys of two characters.
(org-protocol-default-template-key): Update the docstring to
reflect the change in `org-protocol-do-capture'.
2011-03-23 10:25:38 +01:00
Bastien Guerry fab2788864 org-protocol.el: minor documentation and formatting clean up. 2011-03-23 10:14:03 +01:00
Puneeth Chaganti 078c01bf3b Tiny docstring fix in org-footnote.el
Hi,

A tiny docstring fix in org-footnote.el
2011-03-22 10:48:24 +01:00
Christian Egli f9923ecc4a Fix a typo in the commentary.
* org-taskjuggler.el: Fix a typo in the commentary.
2011-03-22 10:47:47 +01:00
Christian Egli e5340a3650 Fix allocations handling for tj3
* org-taskjuggler.el (org-taskjuggler-open-task): Only emit a "purge
allocations" statement if we are not targeting tj3.
2011-03-22 10:47:23 +01:00
Bastien Guerry ce9f1d858c Merge branch 't/patch707' 2011-03-22 10:44:53 +01:00
Christian Egli 70b8d8397f Replace recursive implementation with an iterative one
* org-taskjuggler.el (org-taskjuggler-assign-resource-ids): Replace
recursive implementation with an iterative one.

That way we can avoid to have ask users to increase
`max-lisp-eval-depth'.
2011-03-22 10:44:42 +01:00
Eric Schulte f702991626 ob-sh: fixed insertion of table data into shell variables
* lisp/ob-sh.el (org-babel-sh-var-to-sh): Fixed insertion of tabular
  data into shell variables.
2011-03-21 11:20:21 -06:00
David Maus 38c6b17822 Protected linebreak element after timestamp markup
* org-html.el (org-html-handle-time-stamps): Protected linebreak
element after timestamp markup.

Follow up of 1fb33b595d.
2011-03-21 06:45:10 +01:00
David Maus 1fb33b595d Don't protect img tag in link description
* org-html.el (org-html-handle-links): Don't protect img tag in link
description.

Follow up of 7b74ef1c13.
2011-03-20 12:14:36 +01:00
Carsten Dominik 3d802ee691 Keep byte compiler happy
* lisp/org-table.el (org-table-formula-handle-first/last-rc): Bind `char'.
2011-03-20 10:06:25 +01:00
Nicolas Goaziou 74169a8029 org-list: org-drawer-regexp is nil outside Org buffers
* lisp/org-list.el (org-in-item-p): re-build org-drawer-regexp,
  whatever the major mode is.
2011-03-20 09:10:53 +01:00
Nicolas Goaziou eab89fd82b org-inlinetask: modify export of inline tasks
* lisp/org-inlinetask.el (org-inlinetask-export-templates): fix
  default templates.
  (org-inlinetask-export-handler): Ensure contents of inline task, if
  any, starts and ends with a newline character. Refactor and comment
  code.
2011-03-19 18:18:28 +01:00
Carsten Dominik 6daac769f5 Minor fix
* lisp/org-capture.el (org-datetree-find-date-create): Lower-case for
variable names in define-function form.
2011-03-19 14:55:41 +01:00
Carsten Dominik bd089631fc Merge branch 'master' of orgmode.org:org-mode 2011-03-19 07:42:30 +01:00
Carsten Dominik 622599ca07 Avoid infinite loop when converting a table with prefix arg 0
* lisp/org-table.el (org-table-convert-region): Throw error when SEPARATOR
is smaller than 1.
2011-03-19 07:42:13 +01:00
Nicolas Goaziou 1bd87fb09f Fix export of empty items in HTML and DocBook 2011-03-18 18:36:22 +01:00
Julien Danjou 7dc1f1a973 org-colview: fix heading retrieval in Org buffers
* lisp/org-colview.el (org-columns-display-here): Fix heading retrieval in
Org buffers.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-18 18:05:12 +01:00
Nicolas Goaziou c01c2ad035 org-latex: fix lists in footnotes.
* lisp/org-latex.el (org-export-latex-preprocess): last brace
  shouldn't be on the same line as a list end marker.
2011-03-18 16:12:27 +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
Julien Danjou 9939312b37 org-agenda: fix length computing
* lisp/org-agenda.el (org-format-agenda-item): Fix length computing.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-18 11:22:54 +01:00
Julien Danjou 7426874fd9 org-agenda: fix comment and use add-text-properties when formatting
* lisp/org-agenda.el (org-format-agenda-item): Fix comment and use
`add-text-properties'.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-17 17:50:39 +01:00
Julien Danjou 9216453a38 org-agenda: remove useless concat
* lisp/org-agenda.el (org-agenda-highlight-todo): Remove useless `concat'.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-17 17:50:39 +01:00
Nicolas Goaziou b6fc03b70c org-list: enhance list transformations and fix glitches
* lisp/org-list.el (org-list-to-generic): set a default term for
  ill-formed description lists. Do not insert newline characters
  unless told to.
  (org-list-to-texinfo,org-list-to-html): apply changes to
  `org-list-parse-liste'.
2011-03-17 16:11:04 +01:00
Bastien Guerry 294dcb25ab org-taskjuggler.el: fix `org-taskjuggler-targeting-tj3-p'.
Thanks to Christian Egli for checking this.
2011-03-17 11:56:21 +01:00
Bastien Guerry 39dacd3e7e Tiny docstring typo. 2011-03-17 11:41:39 +01:00
Bastien Guerry 5a351a23e8 org-clock.el: localize the "Clock summary at" string.
* org-clock.el (org-clock-clocktable-language-setup): Add a
string.
(org-clocktable-write-default): Use the new localized string
in `org-clock-clocktable-language-setup'.
2011-03-17 11:22:00 +01:00
Bastien Guerry 58e351efbf * org-taskjuggler.el (org-taskjuggler-compute-task-leafiness):
(org-taskjuggler-assign-resource-ids): Replace recursive
implementation with an iterative one.

That way we can avoid to have ask users to increase
`max-lisp-eval-depth'.
2011-03-17 09:52:01 +01:00
Christian Egli 8b1260aa08 Escape double quotes in headlines
* org-taskjuggler.el (org-taskjuggler-components): Escape quotes in
headlines.

Taskjuggler will barf if the task names (which are double quoted
strings) contain double quotes.
2011-03-17 09:48:55 +01:00
Bastien Guerry 16a1897fd9 Whitespaces clean up. 2011-03-17 09:48:19 +01:00
Christian Egli 786957ed91 Mark a task as a milestone if it is a leaf node and cannot be scheduled
* org-taskjuggler.el (org-taskjuggler-compute-task-leafiness): Compute
the leafiness of a node.
(org-taskjuggler-open-task, org-export-as-taskjuggler): Mark a node as
a milestone if it is a leaf and has no effort.

Mark a task as a milestone if it has neither an effort, a duration, an
end or a period. This is needed for tj3 export as tj3 fails to compile
the file if there is a leaf node with no computable end date. tj2
happily ignored the situation, but TJ3 throws an error.
2011-03-17 09:45:22 +01:00
Christian Egli 1eb1152155 Add some minimal infrastructure to handle export to both tj2 and tj3
* org-taskjuggler.el (org-export-taskjuggler-target-version):
(org-taskjuggler-targeting-tj3-p): Add some minimal infrastructure to
handle export to both tj2 and tj3.
(org-taskjuggler-open-task): Use a different way to purge allocations
for tj2 and tj3.
2011-03-17 09:26:50 +01:00
Matt Lundin 743bb4e14f New option to create unique, random labels for footnotes.
* lisp/org-footnote.el: (org-footnote-auto-label): New random option
* lisp/org-footnote.el: (org-footnote-new): Create random footnote
  labels with unique ids
2011-03-17 09:25:10 +01:00
Matt Lundin 2444744985 Prevent creation of duplicate footnote sections.
* lisp/org-footnote.el: (org-footnote-create-definition): Allow for
  footnote sections above the current footnote insertion point.

Fixes bug in which org-mode will create a new footnote section if the
current footnote section is not beneath the current insertion point.
2011-03-17 09:24:30 +01:00
Matt Lundin 51244d5344 Goto correct footnote insertion point in org-mode buffers
* lisp/org-footnote.el: (org-footnote-create-definition): Don't search
  for last footnote when in org-mode file.

The recent changes to accommodate signatures in message-mode instruct
org-mode to search for the last footnote in the entire buffer when
inserting a new footnote definition. This causes problems in org
buffers, since org-footnote-goto-local-insertion-point already finds
the correct insertion point. (I.e., the insertion point is always
placed in beneath the last footnote in the buffer, even if
org-footnote-section is nil.) This patch invokes the search only if in
non org-mode buffers.
2011-03-17 09:24:02 +01:00
Bastien Guerry 7b74ef1c13 org-html.el: Fix problems with special chars in links.
* org-html.el (org-export-as-html): Handle links with
`org-html-handle-links' after we handle special characters
conversions.
(org-html-make-link, org-export-html-format-image): Don't
protect html with @ anymore, as links are now handled after
special characters conversions.
2011-03-17 09:07:14 +01:00
Carsten Dominik 3dd4745752 Tables: Make @< and $< point to row/column 1 in a stable way 2011-03-17 06:50:39 +01:00
Julien Danjou 706a0b509c org-agenda: remove no-prefix argument
* lisp/org-agenda.el (org-agenda-get-timestamps):
(org-agenda-get-scheduled): Fix call to `org-format-agenda-item'.
(org-format-agenda-item): Remove no-prefix argument.
(org-agenda-change-all-lines): Call org-format-agenda-item without the
no-prefix argument.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-16 18:26:29 +01:00
Julien Danjou c84d77a7a0 org-agenda: remove prefix-length property
* lisp/org-agenda.el (org-agenda-highlight-todo): Stop using prefix-length.
(org-cmp-alpha): Stop using prefix-length.
(org-agenda-open-link): Stop using prefix-length.
(org-agenda-change-all-lines): Stop using prefix-length.
* lisp/org-colview-xemacs.el (org-columns-display-here): Stop using
prefix-length. Always return claned items.
* lisp/org-colview.el (org-columns-display-here): Stop using
prefix-length. Always return claned items.
* lisp/org-mobile.el (org-mobile-write-agenda-for-mobile): Stop using
prefix-length.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-16 18:18:23 +01:00
Bastien Guerry 0b8852b5c1 org-crypt.el: only send a warning when Emacs is not running in daemon mode. 2011-03-16 17:13:36 +01:00
Eric Schulte 59ad74f047 Merge branch 'master' of orgmode.org:org-mode 2011-03-16 07:45:51 -06:00
Eric Schulte 814012ca80 ob-tangle: don't call `org-store-link' interactively when tangling
* lisp/ob-tangle.el (org-babel-tangle-collect-blocks): Don't call
  `org-store-link' interactively as it can confuse the setting of
  `org-link-to-org-use-id' and cause undue edits to the org-mode
  buffer during tangling.
2011-03-16 07:45:27 -06:00
Nicolas Goaziou 87c427981f Open a new paragraph when closing a list in HTML and DocBook 2011-03-15 21:51:19 +01:00
David Maus c295c09fb2 Protect <p> element of image caption.
* org-html.el (org-export-html-format-image): Protect <p> element of
image caption.

Follow up of 1052f07ecf, forgot a <p>
element.
2011-03-15 21:18:40 +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
Bastien Guerry 0dc16a0fe9 Merge branch 'master' of orgmode.org:org-mode 2011-03-15 18:36:22 +01:00
Bastien Guerry 76a8c2bb17 * org-html.el (org-export-as-html): fix export of email. 2011-03-15 18:36:10 +01:00
Eric Schulte cf076fd654 adding support for Maxima code blocks -- thanks to Eric Fraga 2011-03-15 11:25:40 -06:00
Eric Schulte d0a4ed53f1 ob: new header argument `padline' controls newline padding around tangled code
* lisp/ob-tangle.el (org-babel-spec-to-string): Check value of padline
  on tangling, no longer use the now-removed variable
  `org-babel-tangle-pad-newline'.
* lisp/ob.el (org-babel-header-arg-names): Add padline to the list of
  header argument names.
  (org-babel-default-header-args): Set the default value of padline to
  "yes".
  (org-babel-merge-params): Cleaned up the merge logic, added padline.
* doc/org.texi (padline): Documentation of the new padline header
  argument.
2011-03-15 11:16:09 -06:00
Eric Schulte ae68febfbb ob: adding "shebang" to known code block header argument names
* lisp/ob.el (org-babel-header-arg-names): Adding "shebang" to known
  code block header argument names.
2011-03-15 10:44:26 -06:00
Bastien Guerry 4d9f2b4baf * org-crypt.el: remove useless TODO in comments. 2011-03-15 16:24:32 +01:00
Bastien Guerry b6b7057467 Tiny docstring fix. 2011-03-15 16:18:38 +01:00
Bastien Guerry 1b02fe8c6e org-html.el: let `org-export-time-stamp-file' control the postamble date.
* org-html.el (org-export-as-html): the default postamble now
only export a date paragraph if `org-export-time-stamp-file'
is non-nil.
2011-03-15 15:53:36 +01:00
Bastien Guerry df38f5648c * org-exp.el (org-export-xml): Remove the defgroup of org-export-xml. 2011-03-15 15:43:12 +01:00
Bastien Guerry a786464ae8 Various fixes for org-export-html-preamble/postamble.
* org-html.el (org-export-html-insert-plist-item): Remove.
(org-export-html-preamble): Default to `t'.  Accept functions.
(org-export-html-postamble): Default to `auto'.  Accept
functions and distinguish between 'auto (no formatting string)
and `t' (default formatting string).
(org-export-as-html): Handle org-export-html-preamble and
org-export-html-postamble new defaults/allowed values.
Define email and creator-info before using them.
2011-03-15 15:36:25 +01:00
Bastien Guerry 187b47f412 Merge branch 'master' of orgmode.org:org-mode 2011-03-15 14:13:40 +01:00
Bastien Guerry 2ff34a5fac * org-html.el (org-export-html-protect-char-alist): Fix typo in custom type definition. 2011-03-15 14:13:25 +01:00
Eric Schulte c6b81ca3a1 ob-exp: no longer requires :session to have an argument for eval on export
* lisp/ob-exp.el (org-babel-exp-do-export): Now runs for empty
  :session arguments.
2011-03-15 07:12:25 -06:00
Nicolas Goaziou f8c627a44b org-list: fix parsing of counters
* lisp/org-list.el (org-list-parse-list): fixed regexp.
2011-03-14 23:36:19 +01:00
David Maus 1052f07ecf Protect image elements
* org-html.el (org-export-html-format-image): Protect image elements.

Follow up of 6a369c26d3.
2011-03-14 20:38:04 +01:00
Eric Schulte bb2dd85938 Merge branch 'master' of orgmode.org:org-mode 2011-03-14 09:31:47 -06:00
Eric Schulte a793b77625 ob-tangle: new hook for pre-processing code block bodies on tangling
* lisp/ob-tangle.el (org-babel-tangle-body-hook): Hook for changing
  the contents of a code block body on export.
  (org-babel-tangle-collect-blocks): Apply
  `org-babel-tangle-body-hook' to the collected bodies of code blocks.
2011-03-14 09:31:33 -06:00
David Maus 6a369c26d3 Expand char entities after creating markup for links and timestamps
* org-html.el (org-html-make-link, org-html-handle-links): Protect
generated XHTML elements.
(org-export-as-html): Expand character entities after creating markup
for links and timestamps.

This fixes a problem with exporting active timestamps, reported by
Daniel Clemente <n142857@gmail.com>.
2011-03-13 20:27:12 +01:00
David Maus c6f5bf72e9 Revert "Fix bug when exporing inactive timestamps."
This reverts commit ca69b55624.
2011-03-13 20:08:10 +01: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
Bastien Guerry 70de130bba * org-html.el (org-export-as-html): bugfix: insert email correctly.
Thanks to Bernt Hansen for spotting this.
2011-03-12 05:22:41 +01:00
Kim Rutherford 3bf379aee9 Fix for infinite loop in org-html-protect
When I export the following as HTML, emacs hangs in org-html-protect:

#+begin_src org
&
#+end_src

The attached patch fixes the problem for me.

Thanks,
Kim.
>From cfb1ccb6f9cfd84530c73b7f72d686a2062b3c3b Mon Sep 17 00:00:00 2001
From: Kim Rutherford <kmr44@cam.ac.uk>
Date: Fri, 11 Mar 2011 16:44:09 +0000
Subject: [PATCH] Fix infinite loop in org-html-protect
2011-03-11 18:38:18 +01:00
Bastien Guerry ed8a9616a2 Revert "* org-html.el: Bugfix: prevent infinite matching of the `&' character."
This reverts commit f6752c805e.
2011-03-11 18:37:22 +01:00
Bastien Guerry f6752c805e * org-html.el: Bugfix: prevent infinite matching of the `&' character.
* org-html.el (org-html-protect): Bugfix: prevent infinite
matching of the `&' character.

This bug was spotted by Rehan Iftikhar.
2011-03-11 18:30:36 +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
Rodrigo Lazo a0dead7f10 Docstring fix for org-export-preprocess-string
Hi,

I found a trivial error with this docstring.

--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---

Best regards,
  Seb
2011-03-10 19:08:59 +01:00
Bastien Guerry aaf0bb3967 (org-attach-store-link-p): Use 'attached instead of 'attach-dir. 2011-03-10 11:25:17 +01:00
Bastien Guerry b1909f0afa (org-attach-store-link-p): Use `t' instead of 'origin for backward compatibility. 2011-03-10 11:22:33 +01:00
Bastien Guerry b814d83b51 * org-attach.el: Allow to store a link to the attach-dir location.
* org-attach.el (org-attach-store-link-p): Allow to create a
link to the attach-dir location of the file.
(org-attach-attach): Allow to store a link to the attach-dir
location.

This was requested by Darlan Cavalcante Moreira.
2011-03-10 11:18:40 +01:00
Bastien Guerry 25ea18739d Remove trailing whitespaces. 2011-03-10 10:42:57 +01:00
Puneeth Chaganti 5b1b94ac42 * org-agenda.el (org-agenda-bulk-action): Allow the user to run a function.
* org-agenda.el (org-agenda-bulk-action): Allow the user to
run a function.
2011-03-10 10:41:00 +01:00
Bernt Hansen 0f301d133b Allow clocking in new tasks inserted before the current clocking task
* lisp/org-clock.el (org-clock-in): Allow clocking in new tasks inserted
  before the current clocking task

org-clock-in now checks that the name of the task you are clocking in
also matches org-clock-current-task.  This allows us to insert a new
task in front of the current clocking task (with M-S-RET on the
heading of the current clocking task) and then clock in the new task.

Previously this just stated that clocking continues in the old task
since the marker point now matches the new task.

A side-effect of this change is that changing the current clocking
task headline and clocking in again will now close the current clock
and open a new entry as well as update the name of the current
clocking task in the modeline.
2011-03-10 10:21:19 +01:00
Bernt Hansen d008facdab Allow setting default clocking task to current clocking task
* lisp/org-clock.el (org-clock-in): Set default clocking task when already clocking the task

The default clocking task can now be set to the current clocking task.
Previously this just threw an error stating the clock continues in the
current clocking task.  The double prefix now forces setting the
default clocking task instead of forcing the user to clock out and
back in again just to set the default clocking task to the current
clocking task.
2011-03-10 10:20:40 +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 f8ca5d85ba org-list: small refactoring
* lisp/org-list.el (org-list-in-valid-block-p): new function.
(org-at-item-p,org-list-search-generic): use new function.
2011-03-09 20:30:18 +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
Manuel Giraud 72011fc407 org-html.el: correct HTML export of dedicated target.
* org-html.el (org-format-org-table-html): fix anchors in HTML
export (thanks to <aankhen@gmail.com>)
(org-html-protect): fix a  bug that prevents some target to be
rendered correctly.

* org-exp.el (org-solidify-link-text): a single "-" to avoid a
"&ndash" rewrite in HTML export later.
2011-03-09 16:37:32 +01:00
Bastien Guerry eafdbc575b * org.el (org-default-properties): Add EXPORT_TEXT. 2011-03-09 15:44:11 +01:00
Matt Lundin f920974f43 org-footnote.el: Fix sorting of footnotes.
* org-footnote.el (org-footnote-create-definition)
(org-insert-footnote-reference-near-definition): Fix sorting
of footnotes.
2011-03-09 11:42:56 +01:00
Manuel Giraud 44684a9977 org-html.el: Bugfix: don't insert closing HTML tags when exporting body only.
* org-html.el (org-export-as-html): Bugfix: don't insert
closing HTML tags when exporting body only.
2011-03-09 11:28:38 +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
Bastien Guerry f54814d108 org-macs.el (org-with-wide-buffer): Bugfix.
* org-macs.el (org-with-wide-buffer): Bugfix: use
`save-excursion' and `save-restriction'.
2011-03-09 10:56:47 +01:00
Nicolas Goaziou 4090006ab1 org-list: fix confusion due to indent-tabs-mode 2011-03-08 23:49:39 +01:00
Nicolas Goaziou 11f19abcf2 org-timer: fix bug with `org-timer-item'
* lisp/org-timer.el (org-timer-item): save-excursion prevents
  `org-list-struct' to get the list structure when point isn't on the
  first line of the item.
2011-03-08 10:40:46 +01:00
Bastien Guerry 4fc3e71f10 Merge branch 'master' of orgmode.org:org-mode 2011-03-07 17:25:11 +01:00
Bastien Guerry 9784af675c Fix bug with the handling of the new :clock-keep option.
Thanks to Bernt for the detailed report.
2011-03-07 17:25:00 +01:00
Eric Schulte 7cb0891f7a ob-sql: feed mysql through a pipe, thanks to Alain Clément 2011-03-07 08:32:37 -07:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Bastien Guerry 54c638523d org-capture.el: Rename :no-clock-out to :clock-keep.
(org-capture-templates): Rename :no-clock-out to :clock-keep.
(org-capture): Use :clock-keep instead of :no-clock-out.

Thanks to Bernt Hansen for the suggestion.
2011-03-07 15:21:13 +01:00
Bastien Guerry b969081ebd org-capture.el: new :no-clock-out template option.
* org-capture.el (org-capture-templates): New option
:no-clock-out.
(org-capture): Use the new option.

* org.texi (Template elements): document the new template
option :no-clock-out.
2011-03-07 11:43:58 +01:00
Bastien Guerry 5780612759 Fix typo in docstring. 2011-03-07 00:20:42 +01:00
Nicolas Goaziou 38877e6cf9 org-list: update statistical cookies with check-boxes in an hidden subtree
* lisp/org-list.el (org-update-checkbox-count): Ensure cookies on an
  heading are correctly updated when checkboxes are hidden. It allows,
  for example, to use C-c C-x C-b on a collapsed tree and still get
  the update.
2011-03-06 21:34:35 +01:00
Bastien Guerry 846ff13247 Merge branch 'master' of orgmode.org:org-mode 2011-03-06 19:31:46 +01:00
David Maus 1a03c5f256 Accept keys for org-export-as-html-to-buffer' and `org-export-region-as-html'
* org-exp.el (org-export-visible): Accept keys for
`org-export-as-html-to-buffer' and `org-export-region-as-html'.

H and R were not in the list of allowed keys but bound to the
respective function later.

Missing keys reported by Samuel Wales <samologist@gmail.com>.
2011-03-06 19:08: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
Bastien Guerry ef549e0891 org-agenda.el: Rename org-run-agenda-series to org-agenda-run-series.
* org-agenda.el (org-agenda-run-series): Rename from
`org-run-agenda-series'.
2011-03-06 18:12:35 +01:00
Bastien Guerry 25dfaf717c * org-capture.el: Don't allow currentfile anymore.
* org-capture.el (org-capture-templates): Don't allow
currentfile anymore.
2011-03-06 18:10:48 +01:00
Bastien Guerry 030960559e org-capture.el: remove (currentfile) as a file specification in templates.
You can already use a function like (buffer-file-name) to get the currently
visited file.  So (currentfile) is not necessary.
2011-03-06 17:31:56 +01:00
Bastien Guerry d2fb95dd4e Merge branch 'master' of orgmode.org:org-mode 2011-03-06 16:38:19 +01:00
Bastien Guerry 82224d6b34 org-agenda.el: bugfix, remove useless `org-agenda-current-span'.
* org-agenda.el (org-agenda-list): Fix bug: don't rely on
`org-agenda-current-span' when calling `org-agenda-list'.
2011-03-06 16:37:55 +01:00
Nicolas Goaziou 1ecee90f47 org-list: slight speed-up for org-list-context 2011-03-06 16:00:34 +01:00
Bastien Guerry 35effd6b6d org-capture.el: Fix bug about capturing to narrowed buffers.
* org-capture.el (org-capture-put-target-region-and-position):
New function to store information about the target buffer.
(org-capture-set-target-location): Use it.
(org-capture-finalize): restore the target buffer in its
possibly narrowed state.  Also restore the cursor position.
2011-03-06 14:10:28 +01:00
Bastien Guerry e4899b1742 org-crypt.el: replace previous commit with a warning. 2011-03-06 10:56:30 +01:00
Bastien Guerry 7c56155933 org-crypt.el: add a hook to make sure entries are encrypted before auto-saving.
* org-crypt.el (auto-save-default): make sure entries are
encrypted before auto-saving.
2011-03-06 10:41:12 +01:00
Bastien Guerry 37ac289714 org-crypt.el: fix the default value of `org-crypt-key' (should be a string). 2011-03-06 10:01:33 +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 df7f2bf3d9 org-id.el: Don't set `kill-emacs-hook' on noninteractive sessions.
Upstream change from Juanma Barranquero <lekktu@gmail.com>
See message on Sun, 06 Mar 2011 01:30:16 on emacs-diff:

  [Emacs-diffs] /srv/bzr/emacs/trunk r103541: * lisp/bookmark.el:
2011-03-06 02:44:33 +01:00
Bastien Guerry de7005c7c2 Small docstring typo. 2011-03-06 01:33:19 +01:00
Bastien Guerry c255f03676 org-capture.el: make :immediate-finish cooperate with :clock-in.
* org-capture.el (org-capture-finalize): New argument
clock-out, to tell whether finalizing the capture process
should clock out the running clock.
(org-capture): Use the new argument.
2011-03-06 01:09:51 +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 cde08b138e New variable `org-export-table-remove-empty-lines'.
* org-exp.el (org-export-table-remove-empty-lines): New custom
variable.
(org-export-remove-special-table-lines): Use it.

This was requested by Eric S Fraga.
2011-03-05 23:35:09 +01:00
Bastien Guerry cc44c2b30a New custom variable `org-table-fix-formulas-confirm'.
* org-table.el (org-table-fix-formulas-confirm): new custom
variable.
(org-table-insert-column, org-table-delete-column)
(org-table-move-column, org-table-move-row)
(org-table-insert-row, org-table-kill-row): Use it.
2011-03-05 23:22:32 +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 2ebf586e05 org-mobile.el: new custom variable org-mobile-files-exclude-regexp.
* org-mobile.el (org-mobile-files-exclude-regexp): New custom
variable.
(org-mobile-files-alist): Use it.
2011-03-05 11:49:30 +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 71d2ccb54c Fix docstring. 2011-03-05 01:27:13 +01:00
Bastien Guerry c682c9bd50 Minor comments rearrangment. 2011-03-04 20:20:12 +01:00
Lawrence Mitchell d98fc9d57b * org-latex.el: place \title \author \date before \begin{document}.
* org-latex.el (org-export-latex-make-header): place
\title \author \date before \begin{document}.
2011-03-04 20:19:21 +01:00
Bastien Guerry 5953798522 Clean handling :html-pre/postamble options wrt author/email/creator-info.
* org-html.el (org-export-html-preamble)
(org-export-html-postamble): now default to `nil'.
(org-export-as-html): when :html-pre/postamble is nil, fall
back on the default pre/postamble, which depends on the
:author-info, :email-info, :creator-info options.

* org-exp.el (org-export-plist-vars): reorder the alist.

* org.texi (Export options): better document :html-preamble
and :html-postamble: setting these options will override any
:author-info, :email-info and :creator-info options for the
HTML export.
2011-03-04 16:32:10 +01:00
Bastien Guerry fc702a8345 Keep the compiler happy. 2011-03-04 15:21:05 +01:00
Bastien Guerry 896654edc2 Merge branch 'master' of orgmode.org:org-mode 2011-03-04 10:07:59 +01:00
Carsten Dominik b1f9750fd6 Merge branch 'master' of orgmode.org:org-mode 2011-03-04 06:39:25 +01:00
Eric Schulte 9ce7d60076 ob-exp: fix export for inline source blocks
* lisp/ob-exp.el (org-babel-exp-results): Don't use cached results if
  there is no hash.
2011-03-03 15:53:25 -07:00
Carsten Dominik 4d02ff89f5 Minor fix 2011-03-03 22:16:36 +01:00
Carsten Dominik df78e9ff4e ttt 2011-03-03 22:16:36 +01:00
Carsten Dominik 4161d85da8 Fix relative column references
* lisp/org-table.el (org-table-eval-formula): Treat relative column refs.

I cannot believe this did not work and nobody complained about this.
$-1 is supposed to refer to the value in the column to the left.  Now
this does work.
2011-03-03 22:16:35 +01:00
Carsten Dominik 3bff7ce776 Change default for `org-table-use-standard-references'.
* lisp/org-table.el (org-table-use-standard-references): Change default
to `from'.
2011-03-03 22:16:35 +01:00
Carsten Dominik 5631a309ab Use @> and $> for referring to last row and column 2011-03-03 22:16:35 +01:00
Matt Lundin 9bb4ef66ab org-agenda-append-agenda: check that we are in an agenda buffer. 2011-03-03 17:40:08 +01:00
Eric Schulte c6f6b3421e Revert "new babel latex feature :imagemagick -- By Andreas Leha"
This reverts commit 3ea00f215a.

Due to copyright concerns
2011-03-03 07:53:42 -07: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
Bastien Guerry 85d4d65af0 Allow to store a link in `org-stored-links' to a newly attached file.
* org-attach.el (org-attach-store-link-p): New variable.
(org-attach-store-link): New function.
(org-attach-attach): When `org-attach-store-link-p' is
non-nil, store a link in `org-stored-links' to a newly
attached file.

Thanks to Darlan Cavalcante Moreira for this idea.
2011-03-03 11:17:55 +01:00
Bastien Guerry dc60852d24 Fix small typo in docstring. 2011-03-03 09:34:34 +01:00
Bastien Guerry 8892fe3f04 Fix small typo in docstring. 2011-03-03 09:30:16 +01:00
Bastien Guerry b8a17b7af2 Merge branch 'master' of orgmode.org:org-mode 2011-03-02 18:44:14 +01:00
Bastien Guerry 35ba10c0af Bugfix when exporting TODO keywords from the headline.
* org-exp.el (org-export-remove-headline-metadata): bugfix:
don't case-fold-search to avoid mixing TODO keywords with real
headline words.

Thanks to Samuel Wales for spotting and reporting this.
2011-03-02 18:43:50 +01:00
Carsten Dominik 8237c9ae6d Implement table formulas that apply to field ranges, fix minor issues
* lisp/org-table.el (org-table-fedit-finish): Read more general LHS of formulas.
(org-table-formula-handle-@L): New function to hanle @L references.
(org-table-current-ncol): New variable.
(org-table-line-to-dline): New function.
(org-table-get-stored-formulas): Accept range formulas as matches.
(org-table-get-specials): Compute and store the number of columns.
(org-table-get-range): New optional argument CORNERS-ONLY, to retrieve
only the region marked by the range, not the content.
(org-table-recalculate): Call `org-table-expand-lhs-ranges' to expand
range targets.  Also check for duplicate access to fields.
(org-table-expand-lhs-ranges): New funktion.
(org-table-get-remote-range): Bind `org-table-current-ncol' to protect
the caller's value.
(org-table-edit-formulas): Support highlighting of range targets.
(org-table-field-info): Handle renge formulas.

* doc/org.texi (Field and range formulas): Renamed from "Field formulas".
Document the use of range operators as targets.
(References): Document the new @L reference.
2011-03-02 18:32:19 +01:00
Bastien Guerry fe67a66e2f Docfix: explain how to escape the in *-html-(pre|post)amble-format.
* org-html.el (org-export-html-postamble-format)
(org-export-html-preamble-format): explain how to escape the
`%' character.
2011-03-02 18:30:06 +01:00
Eric Schulte 85729e693e Merge branch 'master' of orgmode.org:org-mode 2011-03-02 07:56:09 -07:00
Eric Schulte 60a8ba556d ob: read string variable values wrapped in double quotes, removing the quotes
* lisp/ob.el (org-babel-read): Read string variable values wrapped in
  double quotes, removing the quotes.
2011-03-02 07:55:39 -07:00
Eric Schulte 3755c79485 ob-exp: ensure params are properly processed on export
* lisp/ob-exp.el (org-babel-exp-results): Ensure that processed params
  are send to org-babel-execute-src-block.
2011-03-02 07:32:02 -07:00
Bastien Guerry 99675ffead Use `org-export-current-backend' whenever possible.
* org-special-blocks.el
(org-special-blocks-make-special-cookies): Use
`org-export-current-backend'.

* org-publish.el (org-publish-aux-preprocess): Use
`org-export-current-backend'.

* org-inlinetask.el (org-inlinetask-export-handler): Use
`org-export-current-backend'.

* org-exp.el (org-export-current-backend): New variable.
(org-export-preprocess-string)
(org-export-format-drawer-function)
(org-export-remove-or-extract-drawers)
(org-export-format-drawer)
(org-export-convert-protected-spaces)
(org-export-select-backend-specific-text)
(org-export-mark-list-end, org-export-mark-list-properties)
(org-export-attach-captions-and-attributes)
(org-export-replace-src-segments-and-examples)
(org-export-format-source-code-or-example)
(org-export-number-lines): Use the new global variable instead
of a local variable.

* org-exp-blocks.el (org-export-blocks-format-ditaa)
(org-export-blocks-format-dot)
(org-export-blocks-format-comment): Use
`org-export-current-backend'.
2011-03-01 20:01:42 +01:00
Eric Schulte 03a6844054 ob: fix compiler warnings
* lisp/ob-exp.el (org-babel-exp-in-export-file): Now takes the
  language as an argument.
  (org-babel-exp-src-block): Explicitly pass language to
  `org-babel-exp-in-export-file'.
  (org-babel-exp-inline-src-blocks): Removed unused code.
  (org-babel-exp-results): Explicitly pass language to
  `org-babel-exp-in-export-file'.

* lisp/ob.el (org-babel-library-of-babel): declare variable
  (org-babel-tangle-comment-links): declare function
2011-03-01 10:52:35 -07:00
Eric Schulte 9652e5f64e Merge branch 'master' of orgmode.org:org-mode 2011-03-01 10:42:59 -07:00
Eric Schulte cfb06bc70b removing babel declarations for no-longer-used `org-in-item-p' 2011-03-01 10:42:47 -07:00
Bastien Guerry 87b73ad271 Convert underscore in email addresses. 2011-03-01 18:35:47 +01:00
Eric Schulte 907bf0a4cb ob-calc: unquote quoted vectors returned from calc-eval
* lisp/ob-calc.el (org-babel-execute:calc): Unquote quoted vectors
  returned from calc-eval.
2011-03-01 10:31:33 -07:00
Eric Schulte b691233171 ob: allow passing elisp vectors through to code blocks
* lisp/ob.el (org-babel-read): Pass elisp vectors through to code
  blocks.
2011-03-01 10:31:00 -07:00
Bastien Guerry 511fb10eb1 Merge branch 'master' of orgmode.org:org-mode 2011-03-01 13:07:28 +01:00
Nicolas Goaziou b65280ae2b org-list: fix infinite loop introduced by last refactoring 2011-03-01 12:22:13 +01:00
Bastien Guerry 02ee22345d Merge branch 'master' of orgmode.org:org-mode 2011-03-01 09:20:20 +01:00
Carsten Dominik c895af44d4 Fix some compiler warnings
* lisp/ob.el (org-src-lang-modes): Defvar.
(org-at-item-p): Declare function.
* lisp/ob-calc.el (calc-store): Require.
(var-syms): Defvar.
* lisp/ob-python.el (py-default-interpreter): Defvar.
2011-03-01 08:08:36 +01:00
Carsten Dominik 3805b2c4e4 Defvar a dynamically scoped variable
* lisp/org-exp-blocks.el (backend): defvar.
2011-03-01 07:30:43 +01:00
Carsten Dominik 5726eb0676 Bind some local variables
* lisp/org-agenda.el (org-agenda-get-scheduled):
(org-agenda-get-timestamps): Bind local variable `show-all'.
2011-03-01 07:27:57 +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
Eric Schulte be0b3ca1ca ob: inhibit lisp evaluation of values read from tables and lists
* lisp/ob.el (org-babel-read-table): Inhibit lisp evaluation of values
  when reading from tables.
  (org-babel-read-list): Inhibit lisp evaluation of values when
  reading from lists.
  (org-babel-read): Add optional argument which can be used to inhibit
  lisp evaluation of value.
2011-02-28 20:06:29 -07:00
Eric Schulte 68ea1baf46 Merge branch 'master' of orgmode.org:org-mode 2011-02-28 16:03:22 -07:00
Eric Schulte c70e601b1e ob-table: fix bug returning an integer from sbe
* lisp/ob-table.el (sbe): Ensure that ob-trim is only called on
  strings.
2011-02-28 16:03:03 -07:00
Nicolas Goaziou fcf66e74c6 org-list: refactor code 2011-02-28 22:33:31 +01:00
Eric Schulte 075016cdfa ob-exp: resolve result hash in the original file
* lisp/ob-exp.el (org-babel-exp-results): On export, ensure that the
  result hash is resolved in the original org-mode file.
2011-02-28 12:31:56 -07:00
Jambunathan K 0135cb9c33 org-export-preprocess-string: Use backend var 2011-02-28 12:19:35 +01:00
Nicolas Goaziou 83b782c916 Change internal list end marker to avoid confusing special blocks
* lisp/org-exp.el (org-export-mark-list-end): change end marker
* lisp/org-docbook.el (org-export-docbook-list-line): use new marker.
* lisp/org-html.el (org-html-export-list-line): use new marker
* lisp/org-latex.el (org-export-latex-lists): use new marker
2011-02-28 11:20:06 +01:00
Nicolas Goaziou 1f78cebdf4 org-latex: fix export with various values for `org-list-ending-method'
* lisp/org-latex.el (org-export-latex-lists): make sure markers used
  for export are taken into account by temporarily setting an
  appropriate value for `org-list-ending-method'.
2011-02-28 11:04:46 +01:00
Eric Schulte 94d19488cb org-exp-blocks: match blocks with empty bodies
* lisp/org-exp-blocks.el (org-exp-blocks-block-regexp): Wrapping block
  regexp into its own variable, also allowing match of empty bodies.
  (org-export-blocks-preprocess): Using new regexp variable.
2011-02-27 14:54:36 -07:00
Eric Schulte d0a93cee37 ob: code block regexp now matches blocks with empty bodies
Thanks to Martyn Jago for this patch

* lisp/ob.el (org-babel-src-block-regexp): Code block regexp now
  matches blocks with empty bodies.
2011-02-27 14:38:58 -07:00
Eric Schulte cfcf493c29 ob: If escaped return value doesn't parse cleanly, then return it literally.
* lisp/ob.el (org-babel-script-escape): If script escaped value
  doesn't parse cleanly, then return it literally.
2011-02-27 14:29:01 -07:00
Eric Schulte 563994842d ob-exp: better caching on export
- calling org-babel-process-params on the parameters before the hash
    is calculated
  - calculating the hash before the noweb references are expanded

* lisp/ob-exp.el (org-babel-exp-src-block): When block will eventually
  be evaluated, pre-calculate the hash before noweb expansion, and
  expand the parameters before hash calculation.
  (org-babel-exp-do-export): Pass pre-calculated hash through to
  `org-babel-exp-results'.
  (org-babel-exp-results): Compare pre-calculated hash to results hash.
2011-02-27 11:01:56 -07:00
Eric Schulte dd31a84af6 ob: canonical presentation of header arguments when hashing
* lisp/ob.el (org-babel-sha1-hash): Sort list values to header
  arguments, and sort the words in strings.
2011-02-27 09:40:35 -07:00
Eric Schulte 76137b16fa ob-ref: don't treat 'hline rows as lists when indexing
* lisp/ob-ref.el (org-babel-ref-index-list): Special handling of hline
  rows.
2011-02-27 09:05:15 -07:00
Julien Danjou eced270fbf org-macs: store evaluated version of pom
* lisp/org-macs.el (org-with-point-at): Store evaluated version of pom. This
fixes a potential bug when using (org-with-point-at (func) …), where (func)
would be evaluated multiple times, therefore might return different results
if a marker was returned and different each time.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-02-27 13:44:57 +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
Bastien Guerry 0c7d8e615a org-latex.el (org-export-latex-make-header): latexify \thanks string. 2011-02-26 17:31:07 +01:00
Bastien Guerry be7490ae9e Merge branch 'master' of orgmode.org:org-mode 2011-02-26 17:17:03 +01:00
Bastien Guerry 1d404f8f96 * org-table.el (org-table-copy-down): fix docstring. 2011-02-26 17:16:41 +01:00
Eric Schulte 3ea00f215a new babel latex feature :imagemagick -- By Andreas Leha
It enables the output of graphics in a lot of formats using
  imagemagick.

* lisp/ob-latex.el (org-babel-execute:latex): Add imagemagick options,
  and for file types other than png and pdf it uses imagemagick to
  convert a compiled pdf file to the desired file type.
  (convert-pdf): Convert a pdf file to a new file type using
  imagemagick.
2011-02-26 09:15:47 -07:00
Puneeth Chaganti aa946f224d Bugfix with interactive prompt in templates expansion.
* org-capture.el (org-capture-fill-template): fix bug with
the display of interactive prompt in templates expansion.
2011-02-26 16:53:51 +01:00
Reiner Steib 3c19ab2092 * org-clock.el (org-clock-display): docstring fiw.
* org-clock.el (org-clock-display): tell to use
`org-clock-remove-overlays' to remove the display.
2011-02-26 16:29:59 +01:00
Eric Schulte 4ce05a79a0 comment blocks: explicitly append a newline to the body
* lisp/org-exp-blocks.el (org-export-blocks-format-comment):
  Explicitly append a newline to the body.
2011-02-25 17:05:20 -07:00
Nicolas Goaziou 7b211c86e7 org-list: fix insertion of item with indent-tabs-mode is non-nil
* lisp/org-list.el (org-list-insert-item): when computing size of item
  being inserted, function has to take into account that indentation
  may not only be made of spaces.
2011-02-25 20:48:27 +01:00
Nicolas Goaziou 97de64cfc3 org-clock: take full adjacent list when wraping clocks into a drawer
* lisp/org-clock.el (org-clock-find-position): if a list was adjacent
  to some clocks and a drawer was going to be created, only the first
  element of the list would make it into the drawer.
2011-02-25 18:50:29 +01:00
Nicolas Goaziou 7745ad28c3 org-list: fix checkbox toggling
* lisp/org-list.el (org-toggle-checkbox): fix bug where top item in
  list was omitted when checking boxes.

Patch from Nick Dokos.
2011-02-25 18:16:24 +01:00
Dan Davison b23d35de06 ob: R: Be more silent.
* lisp/ob-R.el: Don't print result to echo area after evaluation
2011-02-23 09:43:01 -08:00
Bastien Guerry d45739f62f * org-capture.el (org-capture-refile): Fix typo in docstring. 2011-02-23 16:47:37 +01:00
Nicolas Goaziou f4db739a67 Keep byte-compiler happy 2011-02-23 15:03:27 +01:00
Eric Schulte 4bbe31118f ob-calc: recursively resolve variables in nested parenthesis
* lisp/ob-calc.el (org-babel-execute:calc): Call out to new function
  for variables resolution.
  (ob-calc-maybe-resolve-var): Resolve (possibly recursively)
  variables in calc expressions.
2011-02-22 21:34:43 -07:00
Eric Schulte 6b02a28822 ob-C: unified naming of "c++" functions/variables to "C++"
Thanks to Martyn Jago for this patch

* lisp/ob-C.el (org-babel-tangle-lang-exts): Replace "c++" with "C++".
  (org-babel-C++-compiler): Replace "c++" with "C++".
  (org-babel-execute:cpp): Replace "c" with "C++".
  (org-babel-execute:C++): Replace "c" with "C++".
  (org-babel-expand-body:C++): Replace "c" with "C++".
  (org-babel-C-execute): Replace "c" with "C++".
2011-02-22 21:20:26 -07:00
Eric Schulte 426d4182b3 ob: more adjustments for new list handling
* lisp/ob-ref.el (org-babel-ref-at-ref-p): Only try to read results as
  a list if at the *beginning* of a list item.
* lisp/ob.el (org-babel-read-result): Only try to read results as a
  list if at the *beginning* of a list item.
2011-02-22 21:12:13 -07:00
Nicolas Goaziou 6489346093 Make byte-compiler happy 2011-02-22 20:55:41 +01:00
Nicolas Goaziou 90ad814703 org-list: indentation has precedence over visibility cycling
* lisp/org-list (org-cycle-item-indentation): do not break an
  indentation cycle because visibility cycling is requested. This
  happens when an item becomes a parent, due to indentation change.
  Not considered empty anymore, the function cannot change its
  indentation again.
2011-02-22 18:57:57 +01:00
Nicolas Goaziou 9dc1ac5660 org-list: refactor code 2011-02-22 18:46:33 +01:00
Bastien Guerry 93a8fc9849 Fix bug in org-clock-report.
* org-clock.el (org-clocktable-write-default): Bugfix: falls
back on `org-export-default-language' when no :lang parameter
is set.

Also fix various typo in comments.
2011-02-22 16:24:15 +01:00
Carsten Dominik 4ab9990b54 Simplify the function `org-capture-expand-file' 2011-02-22 14:00:24 +01:00
Carsten Dominik a821f4e922 Fix typo in code 2011-02-22 13:38:28 +01:00
Carsten Dominik c654620d73 Allow file names in capture templates to be functions, forms, or variables
* lisp/org-capture.el (org-capture-expand-file): New function.
(org-capture-target-buffer):
(org-capture-set-target-location): Use `org-capture-expand-file'.

* doc/org.texi (Template elements): Document that files can be given
as function, form, or variable.
2011-02-22 10:10:22 +01:00
Eric Schulte 1e35a5ea37 ob: updates related to list changes
* lisp/ob.el (org-babel-read-list): Reading the value of a list has
  been updated to reflect the new structure of org-mode lists in
  elisp.
  (org-babel-insert-result): Writing code block results to lists has
  been updated to reflect the new list structure.
  (org-babel-result-end): Remove a previous change to end-of-list
  marker detection
2011-02-21 12:40:49 -07:00
Nicolas Goaziou 99aa57fb20 org-list: cycling indentation must not add white spaces at eol
* lisp/org-list.el (org-cycle-item-indentation): each time the
  function moves item back to child position, a white space is added
  to the line.
2011-02-20 17:38:26 +01:00
Eric Schulte 39192b78d2 ob: allow elisp code in results header arguments
* lisp/ob.el (org-babel-process-params): Allow elisp code in
  specification of results header arguments.
2011-02-20 02:16:43 -07:00
Bastien Guerry 77c278c932 Fix small typos in docstrings. 2011-02-19 12:52:26 +01:00
Bastien Guerry 164367fbbe Merge branch 'master' of orgmode.org:org-mode 2011-02-19 12:13:56 +01:00
Bastien Guerry 3655dcbd37 New command `org-agenda-append-agenda' to append agendas.
* org-agenda.el (org-agenda-append-agenda): New command.
(org-agenda-mode-map): New keybinding to this new command.
2011-02-19 12:13:42 +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
Bastien Guerry c6dbde1bab Fix bug when redoing a block agenda command.
* org-agenda.el (org-agenda): Set the 'last-args property to
nil when calling `org-agenda'.  Don't kill the local variable
`org-agenda-current-span'.
(org-run-agenda-series): Use the new property 'last-args.
(org-agenda-change-time-span): Use the dynamically set
`org-agenda-overriding-arguments' variable when non-nil.

Thanks to Matt Lundin and Michael Brand for reporting this.
2011-02-18 15:15:54 +01:00
Eric Schulte 10d76f720a ob: adjust to changes in list format
* lisp/ob.el (org-babel-result-end): Adjust marker of list end to
  changes in the list format.
2011-02-18 06:13:29 -07:00
Nicolas Goaziou fde7e150bb org-list: docstrings changes 2011-02-18 13:43:49 +01:00
Nicolas Goaziou 19ea827cd7 org-list: unwrap org-entry-get from ignore-errors
* lisp/org-list.el (org-toggle-checkbox, org-update-checkbox-count):
  no need to wrap org-entry-get in ignore-errors since commit
  7dd425cc5d
2011-02-18 13:43:49 +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 de3d3652bb org-html: use non breaking space for empty checkboxes 2011-02-18 13:43:48 +01:00
Nicolas Goaziou 1ac0ac16ac org-html: remove unused local variable 2011-02-18 13:43:48 +01:00
Nicolas Goaziou 3d34dd47dd org-html: remove unneeded newline characters in list export 2011-02-18 13:43:48 +01:00
Nicolas Goaziou 4fd61d8021 org-html: unchecked boxes should not appear checked without CSS 2011-02-18 13:43:48 +01:00
Nicolas Goaziou feb1a17083 org-exp: set correct text properties when replacing special blocks
* lisp/org-exp.el (org-export-select-backend-specific-text): add
  `original-indentation' property when replacing #+begin_backend and
  #+backend blocks with their content. This is needed for lists, as
  they must know if the block belonged to them.
2011-02-18 13:43:46 +01:00
Nicolas Goaziou f6bbdaf7cc org-list: minor fix in regexp 2011-02-18 12:45:13 +01:00
Nicolas Goaziou b43ad47ad1 Insert a newline character before <\li> when exporting lists
* lisp/org-html.el (org-html-export-list-line): insert a newline
  character before ending an item, as anchor could be on a line
  going to be deleted, like a drawer ending string.
* lisp/org-list.el (org-list-to-html): same.
2011-02-18 12:45:13 +01:00
Nicolas Goaziou 2de0a87f7d org-list: apply removal of org-invisible-p 2011-02-18 12:45:12 +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 e5a61ab260 org-list: update cookies in special contexts
* lisp/org-list.el (org-update-checkbox-count): when a part of the
  buffer is processed to count checkboxes, lists are read from top to
  bottom, but inside lists (in drawers, blocks, or inline tasks) are
  skipped. Thus, cookies cannot be updated. This patch enforces
  reading of such lists if counter is itself in a special context.
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 349196def4 org-list: forgot a default case in org-list-struct 2011-02-18 12:45:12 +01:00
Nicolas Goaziou 7ce76a7acc org-list: refactor org-list-struct 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 0bec47e9ab org-list: keep byte-compiler happy 2011-02-18 12:45:12 +01:00
Nicolas Goaziou 3017425c48 org-list: fix org-in-item-p when point is just after an ending regexp
* lisp/org-list.el (org-in-item-p): When point was just after
  org-list-end-re, check wouldn't be done for starting line. So, if
  the first line was an item, it wouln't be noticed and function would
  return nil. Simplify and comment code.
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 0850948dea org-list: small bug fix in org-list-struct-apply-struct
* lisp/org-list.el (org-list-struct-apply-struct): if end of list was
  at eol, for example, with list inside a block, the last list
  wouldn't be shifted. Thus, the patch ensures no blank lines is
  skipped.
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 dcf23c416f org-list: ignore lines with org-example property when creating structure
* lisp/org-list.el (org-list-struct): when a line has org-example
  property, skip the entire block. This is needed during export, for
  example when src blocks in org markup contain lists, and are
  returned verbatim because org isn't in the list of interpreted
  languages.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou d309256aff org-list: fix corner cases in org-in-item-p
* lisp/org-list.el (org-in-item-p): handle special cases when function
  is called with cursor amidst `org-list-end-re' or at an inline task.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou 12de47aa5a org-list: code cleanup 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 a02d2ad13e org-list: separate tasks needed to insert a new item more clearly
* lisp/org-list.el (org-list-insert-item-generic): change arguments.
  The function now accepts structure and previous items alist. This
  allow to insert an item programmatically more easily.
(org-insert-item): Apply changes to org-list-insert-item-generic. The
  function now takes care about repairing structure and updating
  checkboxes.
* lisp/org-timer.el (org-timer-item): Apply changes to
  org-list-insert-item-generic. The function now takes care about
  repairing structure.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou e7ca7c98dd org-list: modifications to org-list-to-generic
* lisp/org-list.el (org-list-make-subtree): function now uses
  org-list-parse-list mechanism.
(org-list-make-subtrees): removed function.
(org-list-to-generic): added a parameter and every parameter can be a
  sexp returning a string, for finer control.
(org-list-to-html, org-list-to-latex, org-list-to-texinfo): slight
  modifications to apply changes to org-list-to-generic.
(org-list-to-subtree): new function.
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 3e274d0290 org-list: small refactoring and comments improvements 2011-02-18 12:45:11 +01:00
Nicolas Goaziou 4636453e93 Do not enforce type of ordered lists upon exporting
* lisp/org-docbook.el (org-export-docbook-list-line): even with
  alphabetical lists, Org shouldn't enforce a particular list type to
  exporters. This is a job for style files.
* lisp/org-html.el (org-html-export-list-line): ib idem.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou 212828c556 org-list: correctly handle counters in `org-list-parse-list'
* lisp/org-list.el (org-at-item-counter-p): new function.
(org-list-parse-list): handle counters and list depth.
(org-list-to-generic): a special string is used when an item has a
counter.
(org-list-to-latex): use new special string for counters. This fixes
the counter bug in LaTeX export, as the enumi counter was the only one
modified.
* lisp/org-latex.el (org-export-latex-lists): use new
`org-list-parse-list' output.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou cddea8c542 org-list: new accessor returning type of list
* lisp/org-list.el (org-list-get-list-type): new function.
(org-list-parse-list): use new function.
* lisp/org-html.el (org-html-export-list-line): use new function.
* lisp/org-docbook.el (org-export-docbook-list-line): use new function.
2011-02-18 12:45:10 +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 e5293ba347 org-list: checkbox count code cleanup 2011-02-18 12:45:10 +01:00
Nicolas Goaziou 2c79244687 Change function org-list-end-re into a variable
* lisp/org-list.el (org-list-end-re): removed function and made it a
  variable. There's no need for the overhead of calling the function
  every at every line in a list. User will have to reload Org if he
  change value of either `org-list-end-regexp' or
  `org-empty-line-terminates-plain-lists'.
(org-in-item-p,org-list-struct,org-list-parse-list): apply change.
* lisp/org-exp.el (org-export-mark-list-end,
  org-export-mark-list-properties): apply change
* lisp/org-latex.el (org-export-latex-lists): apply change. Also
  prevent items with org-example property to be considered as real
  items.
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 d7a799cc86 org-inlinetask: fix export of inline tasks within lists
* lisp/org-inlinetask.el (org-inlinetask-export-templates): slightly
  modify templates so environment boundaries don't interfere with
  content of task. Unprotect content of task so it might benefit from
  further transformations. Set original-indentation property to a high
  value to ensure that task is always in the last item of the list.
  Also, apply templates later in export process.
* lisp/org-list.el (org-list-struct): fix inline task skipping.
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 eeea385b0b org-latex: during export process, only unprotected items are valid
* lisp/org-latex.el (org-export-latex-lists): Search for unprotected
  items only, and redefine `org-at-item'. This change is required when
  verbatim lists are inserted during export, usually by Babel.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou b219690f05 ob: compute correct end position when results are a list
* lisp/ob.el (org-babel-result-end): end position is end of current
  sublist instead of bottom point, as results might be inserted in a
  list themselves.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou c82805fc57 org-list: small fixes for org-list-struct 2011-02-18 12:45:10 +01:00
Nicolas Goaziou fc6c418726 org-list: remove code preventing insertion of an item in a block
* lisp/org-list.el (org-list-automatic-rules): removed insert rule.
(org-list-insert-item-generic): removed code preventing user to insert
another item in a block within a list. It is because new list context
make it impossible to see if a point in a block is also in a list.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou 23e5d5720e org-exp: split list processing in two parts to better handle org-babel
* lisp/org-exp.el (org-export-preprocess-string): mark list endings
  before babel blocks preprocessing starts, so blank lines that may be
  inserted do not break list's structure. Then, mark list with special
  properties required by exporters. Thus output from babel can easily
  be included in lists.
(org-export-mark-list-end): new function
(org-export-mark-list-properties): new function
(org-export-mark-lists): removed function. It was split into the two
  preceding functions.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou 39d85b5e39 org-list: small optimization for cookies updating
* lisp/org-list.el (org-update-checkbox-count): do not recompute every
  list before next heading when there are more than one cookie in an
  headline. Moreover, ignore the case where cookie is inserted neither
  at an heading nor at an item.
2011-02-18 12:45:09 +01:00
Nicolas Goaziou 2621fe0461 Do not remove empty list items in HTML and DocBook export 2011-02-18 12:45:09 +01:00
Nicolas Goaziou c32e39786d org-list: small corrections to sort list
* lisp/org-list.el (org-sort-list): fix number of arguments to
  `org-list-repair', plus make end-record go to end of item before any
  blank line to keep them from being swallowed in the sorting.
2011-02-18 12:45:09 +01:00
Nicolas Goaziou 884d983188 org-list: fix code typo 2011-02-18 12:45:09 +01:00
Nicolas Goaziou b37761715e Added variable to configure where lists should be interpreted
* lisp/org-list.el (org-list-forbidden-blocks): variable renamed from
  org-list-blocks.
(org-list-export-context): new variable

* list/org-exp.el (org-export-mark-lists): use new variable.

* list/org-latex.el (org-export-latex-lists): use new variable
2011-02-18 12:45:09 +01:00
Nicolas Goaziou 212a7ddced org-list: small fix in insert function 2011-02-18 12:45:09 +01:00
Nicolas Goaziou da6a10b02d Modified behavior in searches specific to lists
* lisp/org-list.el (org-list-search-generic): renamed form
  org-search-unenclosed-generic to reflect now behavior. Now, match
  can only be in a valid context for lists, as determined by
  `org-list-context'.
(org-list-search-backward): renamed from
org-search-backward-unenclosed.
(org-list-search-forward): renamed from org-search-forward-unenclosed.
(org-toggle-checkbox,org-update-checkbox-count): use new functions.
(org-sort-list): using default regexp search functions as context is
not required in this case.

* lisp/org-ascii.el (org-export-ascii-preprocess): use new function

* lisp/org-capture.el (org-capture-place-item): use new function
2011-02-18 12:45:09 +01:00
Nicolas Goaziou 8aa95608e5 org-list: small refactoring 2011-02-18 12:45:09 +01:00
Nicolas Goaziou 504b497b7f org-list: handle case when moving top item without its subtree 2011-02-18 12:45:09 +01:00
Nicolas Goaziou f66e9cbfd5 org-list: fix insert-item with added data to structure 2011-02-18 12:45:09 +01:00
Nicolas Goaziou 69e02a73de Modified export engines for lists
* lisp/org-exp.el (org-export-mark-lists): new function, replacing
  org-export-mark-list-ending. It adds information as text properties
  to every list, before changes done by exporter destruct them.

* lisp/org-html.el (org-export-as-html): delegate list handling to
  external function org-html-export-list-line.
(org-html-export-list-line): new function.

* lisp/org-latex.el (org-export-latex-lists): small modification.
2011-02-18 12:45:09 +01:00
Nicolas Goaziou bf1776b494 org-list: added new accessors
* lisp/org-list.el (org-list-get-first-item): new alias for
  org-list-get-list-begin
(org-list-get-last-item): new function
(org-list-get-list-end): use org-list-get-last-item
2011-02-18 12:45:09 +01:00
Nicolas Goaziou 0f589a33b2 org-list: added description tag as data in structures 2011-02-18 12:45:09 +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 fa1ed96d00 org-list: code comments and doc-strings improvements 2011-02-18 12:45:08 +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 148deffd4e org-list: move error messages in interactive indent/outdent functions
* list/org-list.el (org-list-indent-item-generic): remove error
  messages happening before process. This belongs to interactive
  functions.
(org-indent-item,org-indent-item-tree,
   org-outdent-item,org-outdent-item-tree): ensure point or region is
   correct before computing list structure. Return an error message
   otherwise.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou 9230df2e0d org-list: rewrite of org-apply-on-list
* lisp/org-list.el (org-apply-on-list): use new structures. Function
  is now applied in reverse order so modifications do not change
  positions of items in buffer.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou e2c1ec92a4 org-list: new parsing of lists
* org-list.el (org-list-parse-list): rewrite of function to allow text
  following a sub-list in the same item. See docstring for an example
  of output.
(org-list-to-generic): use new parsing function.
(org-list-to-latex,org-list-to-html): minor change for clearer export.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou 14df1d59d4 org-list: various fixes to accessors
* org-list.el (org-list-has-child-p): renamed from org-list-get-child.
  Returning first child is only useful as a predicate, as we're
  allowing an item to have more than one sub-list.
(org-list-indent-item-generic): use `org-list-has-child-p' instead of
  org-list-get-child.
(org-in-item-p): also return item beginning when list starts at
  context beginning.
(org-list-get-parent): use of `org-list-struct-parent-alist' helper
  function is not optional anymore.
(org-list-get-all-items): shorten code with the help of cl.el.
(org-list-get-children): now returns all children of item, even if
  they do not belong to the same list. Renamed from
  org-list-get-all-children.
(org-list-get-list-begin): function wasn't return value when item was
  already the first item of the list at point.
(org-list-get-list-end): function wasn't return value when item was
  already the last item of the list at point.
(org-list-struct-fix-box,org-update-checkbox-count): now uses
  `org-list-get-children'.
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
Nicolas Goaziou ddcd5d480f org-list: rewrite of insert-item code.
* org-list.el (org-list-separating-blank-lines-number): use new
  accessors.
(org-list-insert-item-generic): use list structures to insert a new
  item.
(org-list-exchange-items): refactor and comment code. Now return new
  struct instead of modifying it, as list sorting would sometimes eat
  first item.
(org-move-item-down,org-move-item-up): reflect changes to
  `org-list-exchange-items'.
(org-insert-item): as `org-in-item-p' also computes item beginning
  when applicable, reuse the result.

* org-timer.el (org-timer-item): as `org-in-item-p' also computes item
  beginning when applicable, reuse the result.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou e865ce445a org-list: interactive navigation functions use accessors
* lisp/org-list.el (org-list-in-item-p): unify methods for this predicate.
(org-list-in-item-p-with-indent): removed function
(org-list-ending-between): removed function
(org-list-maybe-skip-block): removed function
(org-list-in-item-p-with-regexp): removed function
(org-list-top-point-with-regexp): removed function
(org-list-top-point-with-indent): removed function
(org-list-bottom-point-with-indent): removed function
(org-list-bottom-point-with-regexp): removed function
(org-list-get-item-same-level): removed function
(org-list-top-point): removed function
(org-list-bottom-point): removed function
(org-get-item-beginning): renamed to org-list-get-item-begin to be
consistent with naming policy of non-interactive functions.
(org-get-beginning-of-list): removed function
(org-beginning-of-item-list): use new accessors
(org-get-end-of-list): removed function
(org-end-of-list): use new accessors
(org-get-end-of-item): removed function
(org-end-of-item): use new accessors
(org-get-previous-item): removed function
(org-previous-item): use new accessors
(org-get-next-item): removed function
(org-next-item): use new accessors
(org-end-of-item-before-blank): renamed to
(org-list-get-item-end-before-blank): Use new accessors.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou b2c369725a org-list: keep byte-compiler happy 2011-02-18 12:45:08 +01:00
Nicolas Goaziou af8da7965c org-list: interactive tools use new structures
* org-list.el (org-list-repair): removed optional argument
  FORCE-BULLET. The job of this interactive function is to completely
  fix a list at point. Changing bullets is a separate task. Also
  removed others optional arguments TOP and BOTTOM to follow the new
  structures.
(org-list-indent-item-generic): remove need for TOP and BOTTOM. STRUCT
is a new required argument. This avoids computing a list structure
many times when function is called more than once in a row, for
example in org-cycle-item-indentation. Use new accessors. Now, also
call `org-update-checkbox-count-maybe'.
(org-outdent-item,org-indent-item,org-outdent-item-tree,org-indent-item-tree):
remove need for TOP and BOTTOM.
(org-list-insert-item-generic): reflect changes to `org-list-repair'.
(org-list-exchange-items): use new accessors. Now modify struct to
avoid re-reading it later.
(org-move-item-down): reflect changes to `org-list-repair'. Use new
accessors.
(org-move-item-up): reflect changes to `org-list-repair'. Use new
accessors.
(org-cycle-list-bullet): use new structures. Also use a shortcut to
`org-list-struct-fix-struct' in order to avoid unnecessary fixes, like
`org-list-struct-fix-box'
(org-sort-list): use of new structures. Renamed an internal function
for a little more clarity.
(org-cycle-item-indentation): remove dependency on org-list-repair.
Use new accessors.
(org-list-get-child): correct bug when asking for the child of the
last item
(org-list-exchange-items): use new accessors.
2011-02-18 12:45:08 +01:00
Nicolas Goaziou d48a6cf50d org-list: new way to get structure of a list and new accessors
* lisp/org-list.el (org-list-blocks): new variable
(org-list-context): new function
(org-list-full-item-re): new variable
(org-list-struct-assoc-at-point): use new varible
(org-list-struct): rewrite of function. Now, list data is collected by
looking at the list line after line. It reads the whole list each time
because reading only a subtree was not enough for some operations,
like fixing checkboxes. It also removes the need to get
`org-list-top-point' and `org-list-bottom-point' first. An added data
is the position of item ending. This aims to be able to have list
followed by text inside an item.
(org-list-struct-assoc-end): new function
(org-list-struct-parent-alist): new function
(org-list-get-parent): new function
(org-list-get-child): new function
(org-list-get-next-item): new function
(org-list-get-prev-item): new function
(org-list-get-subtree): use helper function `org-list-struct-prev-alist'.
(org-list-get-all-items): new function
(org-list-get-all-children): new function
(org-list-get-top-point): new function
(org-list-get-bottom-point): new function
(org-list-get-counter): new function
(org-list-get-item-end): new function
(org-list-struct-fix-bul): rewrite for cleaner code. Make use of new
accessors.
(org-list-struct-fix-ind): make use of new accessors.
(org-list-struct-fix-box): new function
(org-list-struct-fix-checkboxes): removed function
(org-list-struct-outdent): use new accessors. Use the fact that there
is no longer a virtual item at beginning of structure.
(org-list-struct-indent): use helper functions
`org-list-struct-prev-alist' and `org-list-struct-parent-alist'. Also
use new accessors.
(org-list-struct-fix-struct): comment function. Call directly
`org-list-struct-apply-struct', without removing unchanged items
first.
(org-list-struct-apply-struct): comment function. Rewrite using new
accessors. Use new variable `org-list-full-item-re'.
(org-list-shift-item-indentation): removed function, now included in
`org-list-struct-apply-struct' because it is too specific.

Conflicts:

	lisp/org-list.el
org-list: new way to get structure of a list and new accessors

* lisp/org-list.el (org-list-blocks): new variable
(org-list-context): new function
(org-list-full-item-re): new variable
(org-list-struct-assoc-at-point): use new varible
(org-list-struct): rewrite of function. Now, list data is collected by
looking at the list line after line. It reads the whole list each time
because reading only a subtree was not enough for some operations,
like fixing checkboxes. It also removes the need to get
`org-list-top-point' and `org-list-bottom-point' first. An added data
is the position of item ending. This aims to be able to have list
followed by text inside an item.
(org-list-struct-assoc-end): new function
(org-list-struct-parent-alist): new function
(org-list-get-parent): new function
(org-list-get-child): new function
(org-list-get-next-item): new function
(org-list-get-prev-item): new function
(org-list-get-subtree): use helper function `org-list-struct-prev-alist'.
(org-list-get-all-items): new function
(org-list-get-all-children): new function
(org-list-get-counter): new function
(org-list-get-item-end): new function
(org-list-struct-fix-bul): rewrite for cleaner code. Make use of new
accessors.
(org-list-struct-fix-ind): make use of new accessors.
(org-list-struct-fix-box): new function
(org-list-struct-fix-checkboxes): removed function
(org-list-struct-outdent): use new accessors. Use the fact that there
is no longer a virtual item at beginning of structure.
(org-list-struct-indent): use helper functions
`org-list-struct-prev-alist' and `org-list-struct-parent-alist'. Also
use new accessors.
(org-list-struct-fix-struct): comment function. Call directly
`org-list-struct-apply-struct', without removing unchanged items
first.
(org-list-struct-apply-struct): comment function. Rewrite using new
accessors. Use new variable `org-list-full-item-re'.
(org-list-shift-item-indentation): removed function, now included in
`org-list-struct-apply-struct' because it is too specific.

Conflicts:

	lisp/org-list.el
2011-02-18 12:45:07 +01:00
Nicolas Goaziou 1829aa79b5 org-list: use list structure to update checkboxes and cookies
* lisp/org-list.el (org-toggle-checkbox): use structures to fix
  checkboxes of a list
(org-update-checkbox-count): use structures to update cookies
2011-02-18 12:45:07 +01:00
Nicolas Goaziou 8a3a81c08e org-list: fix checkboxes directly from list structures
* lisp/org-list.el (org-list-struct-fix-checkboxes): new function
(org-checkbox-blocked-p): removed function
2011-02-18 12:45:07 +01:00
Nicolas Goaziou 7e57111524 org-list: implement new accessors to list structures
* lisp/org-list.el (org-list-get-all-items): new function
(org-list-get-all-children): new function
(org-list-get-nth): new function
(org-list-set-nth): new function
(org-list-get-ind): new function
(org-list-set-ind): new function
(org-list-get-bullet): new function
(org-list-set-bullet): new function
(org-list-get-checkbox): new function
(org-list-set-checkbox): new function
(org-list-struct-fix-bul): use new accessors
(org-list-repair): use new accessors
(org-list-indent-item-generic): make use of accessors
(org-list-get-parent): renamed from org-list-struct-get-parent
(org-list-get-child): renamed from org-list-struct-get-child
(org-list-struct-fix-ind): make use of accessors
(org-list-get-next-item): new function
(org-list-get-subtree): new function
2011-02-18 12:45:07 +01:00
Nicolas Goaziou cad24d757d org-list: add checkbox to list structures
* lisp/org-list.el (org-list-struct-assoc-at-point): add checkbox to
  list structure
* lisp/org-list.el (org-list-struct-assoc-at-point): add checkbox as
  value in structure
* lisp/org-list.el (org-list-struct-apply-struct): also apply checkboxes
2011-02-18 12:45:07 +01:00
Bastien Guerry e16c502b4a org-latex.el: fix bug about #+BIND directive not followed.
* org-latex.el (org-export-latex-content): bind local variables
for export in the temporary export buffer.

Thanks to Andreas Leha for reporting this.
2011-02-18 11:25:11 +01:00
David Maus 373caa4d1c Change date of obsolete declaration to 2011-02-17
* org-protocol.el (org-protocol-unhex-single-byte-sequence)
(org-protocol-unhex-string, org-protocol-unhex-compound): Change date
of obsolete declaration to 2011-02-17.
2011-02-17 20:21:54 +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 0590bb7fe1 Use `org-link-unescape' instead of obsolete unhex string function
* lisp/org-protocol.el (org-protocol-split-data) (org-protocol-open-source):
Use `org-link-unescape' instead of obsolete unhex string function.
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 d8c2cad3ef Use new percent escape character table format
* org-mobile.el (org-mobile-escape-olp): Use new percent escape
character table format.
2011-02-17 19:26:48 +01:00
David Maus 98bf28c52f Remove obsolete argument in call to org-link-unescape
* org-mobile.el (org-mobile-locate-entry): Remove obsolete argument in
call to org-link-unescape.

`org-link-unescape' always unescapes all percent escaped sequences.
2011-02-17 19:26:48 +01:00
David Maus 17f3548e78 Declare obsolete & alias to respective org-link-unescape-* functions
* org-protocol.el (org-protocol-unhex-string)
(org-protocol-unhex-compound)
(org-protocol-unhex-single-byte-sequence): Declare obsolete and
alias to respective org-link-unescape-* functions.
2011-02-17 19:26:48 +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 465940d6c2 Inline function to properly decode utf8 characters in Emacs 22
* org-macs.el (org-char-to-string): Inline function to properly decode
utf8 characters in Emacs 22.  Moved and renamed from org-protocol.el.

* org-protocol.el (org-protocol-unhex-compound): Use renamed inline
function.
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
David Maus 41c771378a Fixup doc string
* org.el (org-link-escape): Fixup doc string.
2011-02-17 19:26:48 +01:00
David Maus 1a68b67939 New format of percent escape table
* org.el (org-link-escape-chars, org-link-escape-chars-browser): New
format of percent escape table.
(org-link-escape): Use new table format.

Just a plain list with the chars that should be escaped.
2011-02-17 19:26:48 +01:00
David Maus 0c4bb0e406 New unicode aware percent encoding algorithm
* org.el (org-link-escape): New unicode aware percent encoding
algorithm.
2011-02-17 19:26:48 +01:00
Sebastian Rose 196a9d7b2b Decode single byte sequence if decoding unicode failed.
* org-protocol.el (org-protocol-unhex-single-byte-sequence): New
function.  Decode hex-encoded singly byte sequences.
(org-protocol-unhex-compound): Use new function if decoding sequence
as unicode character failed.
2011-02-17 19:26:48 +01:00
Bastien Guerry 17351b924f org-clock.el: require 'org-exp to set `org-export-default-language'.
Thanks to Matt Lundin for reporting this.
2011-02-17 17:38:57 +01:00
Bastien Guerry c7700d7bbe * org-html.el (org-export-as-html): expand the HTML title.
This fix is a modified version of a patch submitted by Pierre Téchoueyres.
2011-02-16 11:53:28 +01:00
Bastien Guerry 045214f9d2 org-special-blocks.el: mention that backend is dynamically scoped. 2011-02-16 11:40:53 +01:00
Bastien Guerry 4b8d74150f Fix bug: fetch the updated title of a page when creating the sitemap.
* org-publish.el (org-publish-cache-ctime-of-src): improve
docstring.
(org-publish-find-title): New option to explicitly reset the
title in the cache.
(org-publish-format-file-entry): Use this new option.

Thanks to Jonathan Bisson for reporting this.
2011-02-16 11:39:13 +01:00
Bastien Guerry d03d3575cb Code cleanup: always use 'backend instead of htmlp, latexp, etc. 2011-02-16 10:58:04 +01:00
Bastien Guerry 4db5a1edcf `org-clock-clocktable-language-setup': added spanish translation.
Thanks to Juan Pechiar for providing the translation.
2011-02-16 00:48:05 +01:00