Commit Graph

3243 Commits

Author SHA1 Message Date
Eric Schulte 804d08b119 babel: don't ask twice for confirmation with :eval query
Thanks to Carsten for the Patch

* lisp/ob.el (org-babel-confirm-evaluate): don't ask twice for
  confirmation with :eval query
2010-07-06 09:39:07 -07:00
Carsten Dominik 2cc4c0d564 BEAMER: Standardize the header cookie for the beamer extra stuff
* lisp/org-beamer.el (org-beamer-amend-header): Standardize the
header cookie for the beamer extra stuff.
2010-07-06 15:04:00 +02:00
Carsten Dominik b7157cc666 Beamer: Put extra header last in header
* lisp/org-beamer.el (org-beamer-amend-header): Put extra header
last in header.

Tassilo Horn writes:

> I'm doing a LaTeX beamer presentation with org.  The org doc starts with
> these lines:
>
> --8<---------------cut here---------------start------------->8---
> #+STARTUP: beamer
> #+LaTeX_CLASS: beamer
> #+TITLE: Implementieren, Integrieren, Installieren
> #+AUTHOR: Tassilo Horn
> #+EMAIL: horn@uni-koblenz.de
> #+LANGUAGE: de
> #+BEAMER_FRAME_LEVEL: 2
> #+LaTeX_CLASS_OPTIONS: [presentation]
> #+BEAMER_HEADER_EXTRA: \usetheme[secheader]{Boadilla} \institute{Universitt Koblenz, IST}
> --8<---------------cut here---------------end--------------->8---
>
> In the presentation, the  in Universitt is printed as an A with a ~ on
> top, followed by a d'.  The reason is that the BEAMER_HEADER_EXTRA is
> put before the input encoding declaration.  To be clear, org produces a
> TeX file that starts with
>
> --8<---------------cut here---------------start------------->8---
> % Created 2010-07-06 Tue 08:57
> \documentclass[presentation]{beamer}
> \usetheme[secheader]{Boadilla} \institute{Universitt Koblenz, IST}
> \usepackage[utf8]{inputenc}
> \usepackage[T1]{fontenc}
> --8<---------------cut here---------------end--------------->8---
>
> but it should be at least:
>
> --8<---------------cut here---------------start------------->8---
> % Created 2010-07-06 Tue 08:57
> \documentclass[presentation]{beamer}
> \usepackage[utf8]{inputenc}
> \usetheme[secheader]{Boadilla} \institute{Universitt Koblenz, IST}
> \usepackage[T1]{fontenc}
> --8<---------------cut here---------------end--------------->8---
>
> In general, I'd say that it would be even more safe to put the extra
> headers below all default headers.
2010-07-06 14:55:47 +02:00
Daniel Clemente b324bdca5c default base-extension .org for org-publish
Org-publish: correctly find files in projects which didn't define a base-extension.
Previously, (org-publish-get-project-from-filename "~/org/file.org") would return nil because the constructed regular expression "^/home/dc/org/.+\\.\\(\\)$" required a dot at the end.

#+BEGIN_QUOTE

#+END_QUOTE
2010-07-06 12:56:47 +02:00
Carsten Dominik b6305c713c Make sure going to last capture also works after refile 2010-07-06 12:49:41 +02:00
Carsten Dominik 2235ecb422 Fix bug in getting template from file or function 2010-07-06 12:49:35 +02:00
David Maus d044ad3f1c Remove text properties of body before calculating cache hash.
* org-exp-blocks.el (org-export-blocks-format-ditaa)
(org-export-blocks-format-dot): Remove text properties of body before
calculating cache hash.

Otherwise one and the same ditta/graphviz image has a different hash
depending on the text properties of the body.
E.g. `org-export-region-as-html' with target buffer 'string passed the
body of the block without possible indentation property `wrap-prefix'
while `org-export-as-html' does.
2010-07-06 10:42:33 +02:00
Carsten Dominik e1262e57d2 LaTeX export: Allow to customize the tabular environment
* lisp/org-latex.el (org-export-latex-tabular-environment): New option.
(org-export-latex-tables): Use `org-export-latex-tabular-environment'.
2010-07-06 10:39:35 +02:00
Carsten Dominik 85c90e96fd Allow org-indent-mode only on Emacsen that do support it
* lisp/org-compat.el (org-version-check): New function.
* lisp/org-indent.el (org-indent-mode): Check for exact emacs version.
2010-07-06 10:23:41 +02:00
Carsten Dominik c80d5b9c27 Capture: Expand template file name 2010-07-06 09:44:31 +02:00
Carsten Dominik 75192f263e Allow capture template to come from a file or from a function call
* lisp/org-capture.el (org-capture-templates): Allow the template
to come from a file or function call.
(org-capture-place-entry): Get the template from file or function.
2010-07-06 09:41:01 +02:00
David Maus dfd0c7ad2e Fix typo in docstring.
* babel/ob-exp.el (org-babel-exp-inline-src-blocks): Fix typo
in docstring.
2010-07-06 09:14:01 +02:00
Carsten Dominik 0e30108330 Fix typo 2010-07-06 09:12:50 +02:00
David Maus 4273e50ab7 Don't create marker if target is entire file.
* org-agenda.el (org-agenda-bulk-action): Don't create marker for
position if target is entire file.

If the target of a bulk refile operation is the entire file,
`org-refile-get-location' returns nil for the refile position.
Creating a marker for the target file's buffer at position nil returns
a marker that points nowhere (Cf. GNU Emacs Lisp Reference Manual,
31.6).  `org-refile' adds headings to level 1 if the target position
for the target file is nil -- and hence a marker that points nowhere
is not nil, tries to jump to nowhere.
2010-07-06 08:55:02 +02:00
Carsten Dominik 6d889cc363 Escape parenthesis at bol in docstring 2010-07-06 08:51:23 +02:00
Carsten Dominik f3d72b13f4 Implement comment standards in org-ctags.el 2010-07-06 08:25:48 +02:00
Carsten Dominik 44d56dfa2d Autoload more org-table-functions
* lisp/org.el (org-autoload): Autoload a few more org-table functions.
2010-07-06 07:39:57 +02:00
Eric Schulte c87b6a90b0 ob-latex: shouldn't require org-latex as that results in a recursive require
Thanks to Juan Pechiar for pointing this out

* lisp/ob-latex.el (org-latex): don't require org-latex as that
  results in a recursive require loop
2010-07-05 20:17:40 -07:00
Eric Schulte ae44ae853d babel: adding ob-mscgen to org-babel-load-languages
* lisp/org.el (org-babel-load-languages): adding ob-mscgen
2010-07-05 19:08:50 -07:00
Eric Schulte 2538e687da babel: updating ob-dot.el and ob-mscgen.el to use ob-eval 2010-07-05 19:03:45 -07:00
Eric Schulte 07b8908903 ob-mscgen: support for mscgen code blocks by Juan Pechiar
from the comments of the new file

This software provides EMACS org-babel export support for message
sequence charts. The mscgen utility is used for processing the
sequence definition, and must therefore be installed in the system.

Mscgen is available and documented at
http://www.mcternan.me.uk/mscgen/index.html

This code is directly inspired by Eric Schulte's ob-dot.el

Example:

msc {
 A,B;
 A -> B [ label = "send message" ];
 A <- B [ label = "get answer" ];
}

Header for alternative file type:

This differs from most standard languages in that

1) there is no such thing as a "session" in mscgen
2) we are generally only going to return results of type "file"
3) we are adding the "file" and "filetype" header arguments
4) there are no variables
2010-07-05 18:48:47 -07:00
Eric Schulte e4cfd468a0 babel: :eval header argument takes arguments "never" and "query" to limit evaluation
* lisp/ob.el (org-babel-confirm-evaluate): adding a new :eval header
  argument which can be used to control evaluation

* doc/org.texi (eval): adding documentation for the new :eval header
  argument
2010-07-05 15:51:36 -07:00
Carsten Dominik 0dec8ac617 Revert "Fix agenda display for late scheduled and deadline tasks"
This reverts commit 516640aff9.
2010-07-05 23:18:34 +02:00
Eric Schulte 4406aa5a34 org-latex: fixed last remaining elisp compilation warning
* lisp/org-latex.el (org-export-latex-tables): format string now
  matches options
2010-07-05 13:29:33 -07:00
Eric Schulte 5ded079a1a Merge branch 'safety-babel' 2010-07-05 11:31:03 -07:00
Eric Schulte 0deb72c068 babel: removed `org-babel-tangle-w-comments', now just use the :comments header arg
* lisp/ob-tangle.el (org-babel-spec-to-string): removed
  `org-babel-tangle-w-comments', now just use the :comments header arg
  to control the insertion of comments on tangling
2010-07-05 11:14:51 -07:00
Eric Schulte 0a109680ee fixed list nesting error in ob-R.el 2010-07-05 11:14:51 -07:00
Eric Schulte baa6e1d3d7 babel: absolutely no babel related compiler warnings
had to nest an argument in a trivial `or' to trick the compiler in
  the large ob-comint macro.
2010-07-05 11:14:51 -07:00
Eric Schulte 3416a0e323 babel: clean compile 2010-07-05 11:14:51 -07:00
Eric Schulte 9be0990ae1 babel: clojure is now using ob-eval 2010-07-05 11:14:51 -07:00
Eric Schulte 1e43fa0413 babel: updated ob-octave.el to work with the new ob-eval.el functions
Note, the session based evaluation has *not* be updated, mainly
  because I don't have a working octave install with which to test the
  changes.
2010-07-05 11:14:50 -07:00
Eric Schulte 1956026332 babel: ob-perl is now using the new ob-eval functionality 2010-07-05 11:14:50 -07:00
Eric Schulte d1ba364572 babel: cleaned up R code 2010-07-05 11:14:50 -07:00
Eric Schulte 7b3077dcd4 babel: cleaned up ruby (now using ob-eval) 2010-07-05 11:14:50 -07:00
Eric Schulte 0a6a5b4fae babel: fixed small input error related to empty tables 2010-07-05 11:14:50 -07:00
Eric Schulte fd9bf71265 babel: fixed sessions in python, extracted external eval into ob-eval 2010-07-05 11:14:50 -07:00
Eric Schulte 15b36e2380 ext: prefix on external file names 2010-07-05 11:14:50 -07:00
Eric Schulte 9de1e9c6cc babel: greatly enhanced support for sqlite 2010-07-05 11:14:50 -07:00
Eric Schulte 6c2e35003f babel: all languages compiling cleanly (but R has a small problem)
For some reason ob-R refuses to compile when it requires ob-comint.

  When (require 'ob-comint) is not included in  ob-R.el everything
  compiles without error, but warnings are thrown because the
  arguments to a macro defined in ob-comint are mis-interpreted as
  functions.

  When (require 'ob-comint) is added to ob-R.el then it throws errors
  complaining that the last argument to a function is nil and should
  be a string.  I don't understand this error at all and can't fix it.
2010-07-05 11:14:50 -07:00
Eric Schulte d7b7025eac flattening out lisp directory structure
all babel and babel/langs files now live in the base of the lisp directory.
2010-07-05 11:14:49 -07:00
Eric Schulte 6e469f4afb babel: `org-babel-load-languages' activates code blocks by language
* lisp/org.el (org-babel-load-languages): this variable controls which
  languages will be loaded by org-babel.  It is customizable through
  the customize interface.

  (org-babel-do-load-languages): load those languages in
  org-babel-load-languages and disable those with nil cdr's
2010-07-05 11:14:49 -07:00
Eric Schulte 0ea1432d31 babel: evaluation of code blocks now requires confirmation
* lisp/babel/ob.el (org-confirm-babel-evaluate): variable used to
  control evaluation of code blocks, default value it t, meaning all
  code block evaluation requires confirmation

  (org-babel-confirm-evaluate): function used to request confirmation
  of code block evaluation from the user

  (org-babel-execute-src-block): this function is the single point of
  entry for evaluation of code blocks (whether initiated through lob
  call, through direct code block evaluation, or as part of file
  exportation).  Every time this function is called it will now
  request confirmation from the user.  The newly added
  `org-confirm-babel-evaluate' variable can be used to configure this
  behavior.

  (org-babel-no-eval-on-ctrl-c-ctrl-c): This variable can be used to
  inhibit evaluation of code blocks with C-c C-c.

* lisp/org.el (org-ctrl-c-ctrl-c): added documentation of code block
  evaluation behavior

* lisp/babel/ob-keys.el (org-babel-key-bindings): adding keybindings
  for executing code blocks and for opening their results
2010-07-05 11:14:49 -07:00
Carsten Dominik 1217e02e56 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-07-05 19:01:13 +02:00
Eric Schulte 6d4cf4db84 org-latex: org-export-latex-format-image now accepts optional shortname
* lisp/org-latex.el (org-export-latex-format-image): updated number of
  arguments to allow for an optional short-name
2010-07-05 09:56:20 -07:00
Carsten Dominik 040b2aa6b2 Indent-mode: Disable in Emacs 21 and earlier
* lisp/org-indent.el (org-indent-mode): Refuse to turn on prior to Emacs 23.2
2010-07-05 17:46:19 +02:00
Stephen Eglen 27a4e48b0a Small doc fixes to org-feed.el and org-capture.el 2010-07-05 15:07:53 +02:00
Carsten Dominik 9e9bc16476 Capture: fix the function target 2010-07-05 08:53:48 +02:00
Carsten Dominik 8b7c742750 Capture: Put final touched to file+regexp & file+function targets
* lisp/org-capture.el (org-capture-set-target-location): Store
exact positions for file+regexp and file+function targets.
(org-capture-place-entry, org-capture-place-item)
(org-capture-place-table-line, org-capture-place-plain-text): Respect
exact positions.
(org-capture-finalize): Make sure we are at the beginning of a line
when fixing the empty lines after the entry.
2010-07-05 08:25:51 +02:00
Carsten Dominik 3f259819d6 Merge branch 'change-gnus-frame-default' 2010-07-02 16:27:27 +02:00
Carsten Dominik 57a5ef69b8 Repair the working of a LOGGING property value `nil'
* lisp/org.el (org-entry-get-with-inheritance): New argument LITERAL-NIL.
(org-entry-get): Pass `literal-nil' into
`org-entry-get-with-inheritance'.
(org-todo): React to nil values of the LOGGING property.
2010-07-02 15:49:40 +02:00
Carsten Dominik 8da31057eb Update docstring or `org-default-notes-file'
* lisp/org.el (org-default-notes-file): Update docstring
2010-07-02 10:54:12 +02:00
Carsten Dominik 708266eedd New default for the gnus frame setup
* lisp/org.el (org-link-frame-setup): Use `org-gnus-no-new-news' as default.
2010-07-02 10:32:51 +02:00
Eric Schulte 5edefbba26 a better way with babel
Of course, an updated patch is attached.

Best -- Eric
Carsten Dominik <carsten.dominik@gmail.com> writes:

> Hi Eric,
>
> I tried to apply the patch, but it does not apply cleanly, maybe due
> to other changes.  Can I ask you to update and resubmit?
>
> Thanks!
>
> - Carsten
>
> On Jun 21, 2010, at 6:37 PM, Eric Schulte wrote:
>
>> Hi Robert,
>>
>> Thanks for the thoughtful message.
>>
>> I present a couple of solutions below.
>>
>> Robert Cunningham <robut@iinet.net.au> writes:
>>
>>> G'day All,
>>>
>>> I wonder if I've missed something and there is a better way.
>>>
>>> Essentially I'm trying to use org babel with R and LaTeX to create
>>> figures
>>> with both long and short captions (for contents)
>>>
>>> I'd started with:
>>>
>>> #+CAPTION: Nice data (filled points indicate less nice data)
>>> #+LABEL:   fig:nicedata
>>> #+ATTR_LaTeX: width=0.98\textwidth
>>> #+begin_src R :file ndata.pdf :width 1000 :height 617 :exports
>>> results
>>>  dotchart(data$ndata)
>>> #+end_src
>>>
>>> which pointed to the need for long/short captions...
>>>
>>> feeling hopeful I tried:
>>>
>>> #+CAPTION: Nice data [Nice data (filled points indicate less nice
>>> data)]
>>> #+LABEL:   fig:nicedata
>>> #+ATTR_LaTeX: width=0.98\textwidth
>>> #+begin_src R :file ndata.pdf :width 1000 :height 617 :exports
>>> results
>>>  dotchart(data$ndata)
>>> #+end_src
>>>
>>
>> I'm attaching a patch [1] which adds shortname support for captions.
>> Once
>> applied, the following syntax will result in a caption with a
>> shortname
>> and a longname.
>>
>> --8<---------------cut here---------------start------------->8---
>> some pre-table text
>>
>> #+source: g-nicedata
>> #+begin_src gnuplot :file graph.png :exports results
>>  plot sin(x)
>> #+end_src
>>
>> #+Caption: [nice data]{a longer description of the niceness of the
>> data}
>> #+results: g-nicedata
>> [[file:graph.png]]
>>
>> some post-table text
>> --8<---------------cut here---------------end--------------->8---
>>
>> however, while this patch is still pending there is an Org-babel
>> solution below which should work immediately.
>>
>>>
>>>
>>> but no luck there.
>>>
>>> Next effort was to try to use R and LaTex more directly with
>>> noweb. I tried
>>> this:
>>>
>>>
>>>
>>> #+srcname: r-nicedata
>>> #+begin_src R :session :file ndata.pdf :results output :exports
>>> results
>>>  dotchart(data$ndata)
>>> #+end_src
>>>
>>>
>>> #+begin_src latex :noweb yes
>>>  \begin{figure}[htb!]
>>>    \centering
>>>    \includegraphics[width=0.98\textwidth]{<<r-nicedata()>>}
>>>    \caption[Nice data]{Nice data (filled points indicate less nice
>>> data)}
>>>    \label{fig:nicedata}
>>>  \end{figure}
>>> #+end_src
>>>
>>>
>>>
>>> This does produce the figure and long/short contents BUT ALSO
>>> produces this:
>>>
>>> #+results: r-nicedata
>>> [[file:ndata.pdf]]
>>>
>>> which upon export results in a link and consequently the plot
>>> appearing both
>>> in the figure and elsewhere. This second plot is unwelcome.
>>>
>>> I've tried assorted :results and :output options but have not found
>>> how to
>>> suppress the #+results: but still obtain the figure. I've always used
>>> the :session option.
>>>
>>> I've also tried twigging an org-export option to suppress pdf
>>> export but the
>>> link is still exported so that is not a solution.
>>>
>>> The current "working" solution is to use the noweb approach and
>>> then use sed
>>> to clean out the links to the second image-ugly to say the least!
>>>
>>
>> You were very close with the noweb approach.  The following
>> combination
>> should work -- notice the ":results silent" header argument to the
>> source block.
>>
>> --8<---------------cut here---------------start------------->8---
>> some pre-table text
>>
>> #+source: g-nicedata
>> #+begin_src gnuplot :file graph.png :results silent :exports none
>>  plot sin(x)
>> #+end_src
>>
>> #+begin_src latex :noweb yes
>>  \begin{figure}[htb!]
>>    \centering
>>    \includegraphics[width=0.98\textwidth]{<<g-nicedata()>>}
>>    \caption[Nice data]{some nice data -- filled points indicate less
>> nice data}
>>    \label{fig:nicedata}
>>  \end{figure}
>> #+end_src
>>
>> some post-table text
>> --8<---------------cut here---------------end--------------->8---
>>
>> is exported to the following latex,
>>
>> --8<---------------cut here---------------start------------->8---
>> some pre-table text
>>
>>
>>
>> \begin{figure}[htb!]
>>  \centering
>>  \includegraphics[width=0.98\textwidth]{graph.png}
>>  \caption[Nice data]{some nice data -- filled points indicate less
>> nice data}
>>  \label{fig:nicedata}
>> \end{figure}
>>
>> some post-table text
>> --8<---------------cut here---------------end--------------->8---
>>
>> Hope this helps,
>>
>> Best -- Eric
>>
>>>
>>>
>>>
>>> All this with org version 6.36c
>>>
>>>
>>> What have I missed? What is the best way to do this?
>>>
>>>
>>> Cheers,
>>>
>>> Robert Cunningham
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>> Footnotes:
>> [1]  From 6a55dcab99bbd7840117b8390ab5db347d2573ef Mon Sep 17
>> 00:00:00 2001
>> From: Eric Schulte <schulte.eric@gmail.com>
>> Date: Mon, 21 Jun 2010 09:02:37 -0700
>> Subject: [PATCH] add short-names to #+captions with support for
>> latex export
>>
>>  captions specified with the following syntax
>>    #+CAPTION: [shortname]{longname}
>>  will have their short and longnames handled appropriately.
>>
>>  Thanks to Robert Cunningham for suggesting this feature.
>>
>> * lisp/org-exp.el (org-export-attach-captions-and-attributes): adding
>>  a shortname attribute to caption strings under the symbol name
>>  org-caption-shortn.
>>
>> * lisp/org-latex.el (org-export-latex-tables): handling caption short
>>  names on table export
>>
>>  (org-export-latex-convert-table.el-table): handling caption short
>>  names on table.el type table export
>>
>>  (org-export-latex-links): handling caption short names on link/image
>>  export
>>
>>  (org-export-latex-format-image): now takes an optional argument
>>  specifying a caption short name
>> ---
>> lisp/org-exp.el   |   14 +++++++++-----
>> lisp/org-latex.el |   21 ++++++++++++++-------
>> 2 files changed, 23 insertions(+), 12 deletions(-)
>>
>> diff --git a/lisp/org-exp.el b/lisp/org-exp.el
>> index 029e4d7..466d7da 100644
>> --- a/lisp/org-exp.el
>> +++ b/lisp/org-exp.el
>> @@ -1256,7 +1256,7 @@ the current file."
>>   (goto-char (point-min))
>>   (while (re-search-forward org-bracket-link-regexp nil t)
>>     (org-if-unprotected-at (1+ (match-beginning 0))
>> -     (let* ((md (match-data))
>> +      (let* ((md (match-data))
>> 	    (desc (match-end 2))
>> 	    (link (org-link-unescape (match-string 1)))
>> 	    (slink (org-solidify-link-text link))
>> @@ -1381,8 +1381,8 @@ removed as well."
>> 					   select-tags "\\|")
>> 			 "\\):"))
>> 	 (re-excl (concat ":\\(" (mapconcat 'regexp-quote
>> -					   exclude-tags "\\|")
>> -			"\\):"))
>> +					    exclude-tags "\\|")
>> +			  "\\):"))
>> 	 beg end cont)
>>     (goto-char (point-min))
>>     (when (and select-tags
>> @@ -1593,11 +1593,14 @@ table line.  If it is a link, add it to the
>> line containing the link."
>> 		    "^[ \t]*\\(|[^-]\\)"
>> 		    "\\|"
>> 		    "^[ \t]*\\[\\[.*\\]\\][ \t]*$"))
>> -	cap attr label end)
>> +	cap shortn attr label end)
>>     (while (re-search-forward re nil t)
>>       (cond
>>        ((match-end 1)
>> -	(setq cap (concat cap (if cap " " "") (org-trim (match-string 1)))))
>> +	(setq cap (concat cap (if cap " " "") (org-trim (match-string 1))))
>> +	(when (string-match "\\[\\(.*\\)\\]{\\(.*\\)}" cap)
>> +	  (setq shortn (match-string 1 cap)
>> +		cap (match-string 2 cap))))
>>        ((match-end 2)
>> 	(setq attr (concat attr (if attr " " "") (org-trim
>> (match-string 2)))))
>>        ((match-end 3)
>> @@ -1609,6 +1612,7 @@ table line.  If it is a link, add it to the
>> line containing the link."
>> 		    (point-at-eol)))
>> 	(add-text-properties (point-at-bol) end
>> 			     (list 'org-caption cap
>> +				   'org-caption-shortn shortn
>> 				   'org-attributes attr
>> 				   'org-label label))
>> 	(if label (push (cons label label) target-alist))
>> diff --git a/lisp/org-latex.el b/lisp/org-latex.el
>> index 01a4b05..6c2aab2 100644
>> --- a/lisp/org-latex.el
>> +++ b/lisp/org-latex.el
>> @@ -1576,7 +1576,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>              (org-table-last-column-widths (copy-sequence
>>                                             org-table-last-column-
>> widths))
>>              fnum fields line lines olines gr colgropen line-fmt align
>> -             caption label attr floatp longtblp)
>> +             caption shortn label attr floatp longtblp)
>>         (if org-export-latex-tables-verbatim
>>             (let* ((tbl (concat "\\begin{verbatim}\n" raw-table
>>                                 "\\end{verbatim}\n")))
>> @@ -1585,6 +1585,8 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>           (progn
>>             (setq caption (org-find-text-property-in-string
>>                            'org-caption raw-table)
>> +		  shortn (org-find-text-property-in-string
>> +			  'org-caption-shortn raw-table)
>>                   attr (org-find-text-property-in-string
>>                         'org-attributes raw-table)
>>                   label (org-find-text-property-in-string
>> @@ -1652,7 +1654,8 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>                           (if floatp "\\begin{table}[htb]\n"))
>>                         (if floatp
>>                             (format
>> -                             "\\caption{%s%s}"
>> +                             "\\caption%s{%s%s}"
>> +			     (if shortn (concat "[" shortn "]") "")
>>                              (if label (concat "\\\label{" label
>> "}") "")
>>                              (or caption "")))
>>                         (if (and longtblp caption) "\\\\\n" "\n")
>> @@ -1680,10 +1683,11 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>
>> (defun org-export-latex-convert-table.el-table ()
>>   "Replace table.el table at point with LaTeX code."
>> -  (let (tbl caption label line floatp attr align rmlines)
>> +  (let (tbl caption shortn label line floatp attr align rmlines)
>>     (setq line (buffer-substring (point-at-bol) (point-at-eol))
>> 	  label (org-get-text-property-any 0 'org-label line)
>> 	  caption (org-get-text-property-any 0 'org-caption line)
>> +	  shortn (org-get-text-property-any 0 'org-caption-shortn line)
>> 	  attr (org-get-text-property-any 0 'org-attributes line)
>> 	  align (and attr (stringp attr)
>> 		     (string-match "\\<align=\\([^ \t\n\r,]+\\)" attr)
>> @@ -1721,7 +1725,8 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>       (setq tbl (concat "\\begin{center}\n" tbl "\\end{center}")))
>>     (when floatp
>>       (setq tbl (concat "\\begin{table}\n"
>> -			(format "\\caption{%s%s}\n"
>> +			(format "\\caption%s{%s%s}\n"
>> +				(if shortn (format "[%s]" shortn) "")
>> 				(if label (format "\\label{%s}" label) "")
>> 				(or caption ""))
>> 			tbl
>> @@ -1822,6 +1827,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 			  "file")))
>> 	    (coderefp (equal type "coderef"))
>> 	    (caption (org-find-text-property-in-string 'org-caption
>> raw-
>> path))
>> +	    (shortn (org-find-text-property-in-string
>> org-caption-shortn raw-path))
>> 	    (attr (or (org-find-text-property-in-string
>> org-attributes raw-
>> path)
>> 		      (plist-get org-export-latex-options-plist
>> :latex-image-
>> options)))
>> 	    (label (org-find-text-property-in-string 'org-label raw-path))
>> @@ -1859,7 +1865,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 		   (plist-get org-export-latex-options-plist :inline-images))
>> 	      ;; OK, we need to inline an image
>> 	      (insert
>> -	       (org-export-latex-format-image raw-path caption label attr)))
>> +	       (org-export-latex-format-image raw-path caption label
>> attr shortn)))
>> 	     (coderefp
>> 	      (insert (format
>> 		       (org-export-get-coderef-format path desc)
>> @@ -1889,7 +1895,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 	     (t (insert "\\texttt{" desc "}")))))))
>>
>>
>> -(defun org-export-latex-format-image (path caption label attr)
>> +(defun org-export-latex-format-image (path caption label attr
>> &optional shortn)
>>   "Format the image element, depending on user settings."
>>   (let (ind floatp wrapp multicolumnp placement figenv)
>>     (setq floatp (or caption label))
>> @@ -1932,7 +1938,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 	   (floatp "\\begin{figure}%placement
>> \\centering
>> \\includegraphics[%attr]{%path}
>> -\\caption{%labelcmd%caption}
>> +\\caption%shortn{%labelcmd%caption}
>> \\end{figure}")
>> 	   (t "\\includegraphics[%attr]{%path}")))
>>
>> @@ -1953,6 +1959,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 			 (expand-file-name path)
>> 		       path))
>> 	       (cons "attr" attr)
>> +	       (cons "shortn" (if shortn (format "[%s]" shortn) ""))
>> 	       (cons "labelcmd" (if label (format "\\label{%s}"
>> 						  label)""))
>> 	       (cons "caption" (or caption ""))
>> --
>> 1.7.0.4
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
> - Carsten

>From 5cbb38e25a2d2eae7c3c688d347f80619ecb8463 Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Thu, 1 Jul 2010 08:07:17 -0700
Subject: [PATCH] add short-names to #+captions with support for latex export

  captions specified with the following syntax
    #+CAPTION: [shortname]{longname}
  will have their short and longnames handled appropriately.

  Thanks to Robert Cunningham for suggesting this feature.

* lisp/org-exp.el (org-export-attach-captions-and-attributes): adding
  a shortname attribute to caption strings under the symbol name
  org-caption-shortn.

* lisp/org-latex.el (org-export-latex-tables): handling caption short
  names on table export

  (org-export-latex-convert-table.el-table): handling caption short
  names on table.el type table export

  (org-export-latex-links): handling caption short names on link/image
  export

  (org-export-latex-format-image): now takes an optional argument
  specifying a caption short name
2010-07-02 10:14:12 +02:00
Carsten Dominik f693238dfe Fix naming and docstring issues in `org-iswitchb'
* lisp/org.el (org-switchb): Renamed from `org-iswitchb'.  Improve
docstring.
(org-iswitchb): New alias.
(org-ido-switchb): Make alias point to `org-switchb'.
2010-07-02 09:20:15 +02:00
Carsten Dominik d0fa608267 Capture: Respect time-of-day preference in interactive template prompt.
* lisp/org-capture.el (org-capture-fill-template): Respect
time-of-day preference in template prompt.

In an interactive time prompt in a capture template, the users
preference of getting a stamp with time was not respected.

Reported by Markus Heller
2010-07-02 09:08:29 +02:00
David Maus dc9222e066 Remove superfluous lambda.
* org-feed.el (org-feed-unescape): Remove superfluous lambda.
2010-07-02 00:48:59 -04:00
Eric Schulte 7fdfd13e96 babel: cleaner initialization of org-babel-python-buffers
* lisp/babel/langs/ob-python.el (org-babel-python-buffers):
  technically this should be initialized as an alist, although in
  practice this doesn't really make any functional difference because
  whenever this variable is used it has new values properly assigned
  to it, and it is supposed to start basically empty.
2010-07-01 15:09:34 -07:00
Carsten Dominik 0ed29448aa Keep byte compiler happy 2010-07-01 15:54:29 +02:00
David Maus 02d5f6a8b0 Provide customization variable to disable folder check when open link.
* org-wl.el (org-wl-disable-folder-check): New customization
variable.
(org-wl-open): Disable folder check depending on
`org-wl-disable-folder-check'.
2010-07-01 15:49:29 +02:00
Sebastian Rose 0a99122943 Remove obsolete function call and declaration
This patch removes an obsolete declaration and call of the function
`org-publish-initialize-files-alist'  from org-protocol.el.

This function does not exist anymore.  It was removed when we
implemented the new publishing cache.
Best wishes

  Sebastian
2010-07-01 15:46:51 +02:00
Carsten Dominik 14f05b4461 Capture: Fix bug in file+function target specification
* lisp/org-capture.el (org-capture-set-target-location): Fix
file+function interpretation.
2010-07-01 15:43:43 +02:00
Carsten Dominik e9927a6d2b Merge branch 't/patch59' 2010-07-01 15:11:54 +02:00
Carsten Dominik 2505c69796 Merge branch 't/patch58' 2010-07-01 15:11:51 +02:00
Carsten Dominik 88429d7270 Merge branch 't/patch57' 2010-07-01 15:11:46 +02:00
David Maus 6875716e76 Unescape rss element content.
* org-feed.el (org-feed-parse-rss-entry): Unescape rss element
content.
2010-07-01 15:09:43 +02:00
David Maus f15605889b Declare variable `xml-entity-alist' for byte compiler.
* org-feed.el (xml-entity-alist): Declare variable
`xml-entity-alist' for byte compiler.
2010-07-01 15:09:15 +02:00
David Maus ea47dd58ff Unescape protected entities defined in `xml-entity-alist'.
* org-feed.el (org-feed-unescape): New function.  Unescape
protected entities.
(org-feed-parse-atom-entry): Use function for atom:content
type text and html.
2010-07-01 15:08:43 +02:00
David Maus f1924d9224 Ignore case of rss element names.
* org-feed.el (org-feed-parse-rss-feed): Ignore case of rss
element names.
2010-07-01 15:07:57 +02:00
Bernt Hansen 516640aff9 Fix agenda display for late scheduled and deadline tasks
* lisp/org.el (org-time-string-to-absolute): Ignore cyclic repeater
when displaying items on todays agenda date.

Ignore the cyclic repeater when displaying items on today's agenda
date.  If you have a weekly task and miss the date the agenda view
will show more than a week late now instead of resetting on the
cyclic repeating date.  This makes it much more obvious when you
missed a repeating task after the repeater.
2010-07-01 14:56:18 +02:00
Julien Danjou 3308155e23 org-feed: Fix RSS feed parsing when <item> as attributes
I've RSS feeds with <item foo="bar"> which does not work without that change.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-07-01 14:50:08 +02:00
Carsten Dominik c74ecf4387 Fix display problem of clocked time in agenda
* lisp/org-agenda.el (org-agenda-get-progress): Avoid reusing previous
value of EXTRA.

Sebastien Vauban writes:

> Finally reporting the following bug. Has been there for as long as I can
> remember, but never did report it when seeing it. And kept forgetting.
>
> So, now...
>
> --8<---------------cut here---------------start------------->8---
> * 2010
>
> ** 2010-06 June
>
> *** Admin
>
> **** Organization
>     :LOGBOOK:
>     CLOCK: [2010-06-30 Wed 13:30]--[2010-06-30 Wed 17:50] =>  4:20
>     - DUPLICATED TeXt.
>     :END:
>
> **** Emails and News
>     :LOGBOOK:
>     CLOCK: [2010-06-28 Mon 09:10]--[2010-06-28 Mon 10:40] =>  1:30
>     CLOCK: [2010-06-30 Wed 10:30]--[2010-06-30 Wed 12:30] =>  2:00
>     :END:
>
> *** ABC
>    :LOGBOOK:
>    CLOCK: [2010-06-30 Wed 09:30]--[2010-06-30 Wed 10:30] =>  1:00
>    - Transfer of files to ABC.
>    :END:
> --8<---------------cut here---------------end--------------->8---
>
> generates the following timeline:
>
> --8<---------------cut here---------------start------------->8---
> Timeline of file /home/sva/Projects/ecm.org
>
> 2010-06-28 Mon _________________________________
>  Clocked:   (1:30) Emails and News
>
> 2010-06-29 Tue _________________________________
>
> 2010-06-30 Wed _________________________________
>  Clocked:   (1:00) ABC - Transfer of files to ABC.
>  Clocked:   (2:00) Emails and News - DUPLICATED TeXt.
>  Clocked:   (4:20) Organization - DUPLICATED TeXt.
> --8<---------------cut here---------------end--------------->8---
>
> As you can see, the fact that I never put a descriptive text for "reading
> emails" is wrongly reported: previous text is used in the timeline, instead.
2010-07-01 14:02:58 +02:00
Carsten Dominik 6c381070f9 Make timestamp directory even if the parent does not exist
* lisp/org-publish.el (org-publish-initialize-cache): Make
timestamp directory, the entire path to it.
2010-07-01 11:31:14 +02:00
Carsten Dominik a6d8eb4ea9 Fix comment protection issue
* lisp/org-exp.el (org-export-handle-comments): Make sure to check
for protection in the comment line, and not in the line after it.
2010-07-01 11:02:46 +02:00
Carsten Dominik 90afd8b797 Introduce new option for exporting LaTeX code to HTML
* lisp/org-html.el (org-export-html-preprocess): Call org-format-latex,
possibly with a protect-only argument.
* lisp/org.el (org-format-latex): New argument PROTECT-ONLY.

with the switch #+OPTIONS: LaTeX:verbatim ,
LaTeX code will be exported verbatim to HTML, so that jsmath can grab
and convert it.

Proposed by Christian Moe.
2010-07-01 10:23:33 +02:00
Carsten Dominik a5d5f4c9f3 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-07-01 06:28:45 +02:00
Eric Schulte f44832eed0 org-exp: now removing table meta (e.g. #+TBLNAME, #+TBLFM) from export
* lisp/org-exp.el (org-export-handle-table-metalines): this function
  removes table specific meta-lines, now that we aren't wiping
  everything that looks remotely like a comment at the end of the
  export process we have to be sure to catch all of the specific lines
  in org-exp.el
2010-06-30 16:01:38 -07:00
Nicolas Goaziou 011553652e Remove unwanted #+ATTR_Backend and #+Backend during export.
* lisp/org-exp.el: (org-export-select-backend-specific-text) Properly
  get rid of #+Backend and #+ATTR_Backend specifics to backends not
  matching the one we're exporting to.
2010-06-30 14:23:01 -07:00
Eric Schulte 23b13749f6 remove newline characters from the contents of table cells
This patch changes the functionality of orgtbl-to-orgtbl so that it will
remove newline characters from the text of table cells and replace them
with "\n".  This protects the final table from such newlines.

This patch will probably only have any noticeable effect for tables
imported form external files, or from the results of code blocks.

Best -- Eric

>From 34aacc9aa037e8f17c8d32ed61a25f0a350713a0 Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Fri, 18 Jun 2010 12:38:26 -0700
Subject: [PATCH] org-table: will now strip newlines from the text of table cells

* lisp/org-table.el (orgtbl-to-generic): added the :remove-newlines
  option which will strip newline characters from the text of table
  cells and replace then with "\n"

  (orgtbl-to-orgtbl): now using the new :remove-newlines option to
  orgtbl-to-generic
2010-06-30 15:34:04 +02:00
Carsten Dominik 798ebf518b Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-06-30 15:30:03 +02:00
Carsten Dominik a0962e02fd Increase security by limiting what file variables can do for evaluation query.
* lisp/org.el (org-confirm-shell-link-function):
(org-confirm-elisp-link-function): Limit the values that can be set by
file variables.
2010-06-30 15:29:55 +02:00
John Wiegley 706129c0c4 Fixed incorrect value returned from `org-habit-deadline' 2010-06-30 00:39:37 -04:00
Carsten Dominik 025a96d46f Fix bug due to new entity constant structure
* lisp/org.el (org-compute-latex-and-specials-regexp): Deal with
string elements by discarding them.
2010-06-29 11:47:42 +02:00
Carsten Dominik f255546425 Fix docstring for org-iswitchb again 2010-06-29 10:44:50 +02:00
Carsten Dominik 51d496f212 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-06-29 09:51:38 +02:00
Carsten Dominik 566a4c7f3a Restore the proper functionality for org-iswitchb
* lisp/org.el (org-iswitchb): Make sure to use at least iswitchb.

Patch by Stephen Eglen (modified).
2010-06-29 09:26:51 +02:00
Carsten Dominik d537c10964 Capture: Better error handling and better return-to-last-stored
* lisp/org-capture.el (org-capture-position-for-last-stored):
org-capture-bookmark-last-stored-position): New functions.
(org-capture-place-table-line): Better error catching.
(org-capture-place-item):
(org-capture-place-entry):
(org-capture-place-plain-text): Call
`org-capture-position-for-last-stored'.
(org-capture-finalize): Just call
`org-capture-bookmark-last-stored-position'.
2010-06-29 09:16:04 +02:00
Eric Schulte 452b00e7e1 org-exp: fixed small bug, use match data before it's overwritten by looking-at
Patch by Carsten

* lisp/org-exp.el (org-export-mark-blockquote-verse-center): fixed
  small bug, now grabbing match data before overwritten by looking-at
  this fixes a problem with remainders of #+end_quote lines appearing
  in exported output
2010-06-28 22:06:49 -07:00
David Maus 2510d02be9 Add customization option to open WL links in other frame.
* org.el (org-link-frame-setup): Add customization option for
  Wanderlust.
2010-06-29 06:39:45 +02:00
Eric Schulte b9548e92ab org-latex: now checking org-example rather than org-protected on verbatim export
* lisp/org-latex.el (org-export-latex-fixed-width): now checking
  org-example rather than org-protected on verbatim export, because by
  default all ": " prefixed lines are marked protected
2010-06-28 14:15:23 -07:00
Eric Schulte da8fffa5a4 org-latex: check for protection before wrapping ": " lines as verbatim
* lisp/org-latex.el (org-export-latex-fixed-width): check for
  protection before wrapping ": " lines as verbatim
2010-06-28 11:40:47 -07:00
Eric Schulte a8a26f245b babel: now requires org-macs
* lisp/babel/ob.el (org-macs): now requires org-macs
2010-06-28 11:38:34 -07:00
Eric Schulte 8217e8102e babel: python is more selective about None->hline replacement
thanks to Christopher Allan Webber for catching this

* lisp/babel/langs/ob-python.el (org-babel-python-table-or-string):
  now more careful not to replace "None"s which are not isolated
  portions of lists
2010-06-28 11:17:08 -07:00
Eric Schulte f4b78ad3c8 babel-haskell: variety of bug fixes
Thanks to Christopher Witte for raising these issues

* lisp/babel/langs/ob-haskell.el (org-babel-expand-body:haskell):
  replaced missing () wrapping, and now using correct variable
  expansion

  (org-babel-execute:haskell): now using
  org-babel-haskell-initiate-session to start sessions

  (org-babel-haskell-initiate-session): only starting sessions if none
  exists, also added a .25 second wait on brand new sessions to allow
  the Haskell interpreter to fire up

  (org-babel-load-session:haskell): now optionally accepts processed
  params to avoid over-execution of variable resolution

  (org-babel-prep-session:haskell):  now optionally accepts processed
  params to avoid over-execution of variable resolution, also placing
  the variable definitions directly in the session instead of loading
  them from a separate file
2010-06-28 09:55:09 -07:00
Eric Schulte 0e636dc2ed org-exp: check for protection before removing comments
* lisp/org-exp.el (org-export-handle-comments): check for protection
  before removing comments
2010-06-28 08:00:43 -07:00
Carsten Dominik ee629299c0 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-06-28 12:18:22 +02:00
Carsten Dominik af866a94bd Better help for entities
* lisp/org-entities.el (org-entities): Restructure the list.
(org-entities-help): Turn the help output into a buffer
in Org-mode, so that it becomes easier to find a symbol
in the structure.
(org-entities-create-table): Deal with new structure.
2010-06-28 12:17:58 +02:00
Eric Schulte 05b7ea5035 babel: ensure `declare-function' is available in all Emacsen
Thanks to Daniel Mahler for finding this problem and proposing the fix

* lisp/babel/ob.el (unless): ensure `declare-function' is available in
  all Emacsen
2010-06-27 23:13:51 -07:00
David Maus 5a3766e0a1 Use backquotes to make byte compiler expand `flet' macro.
* org-agenda.el (org-write-agenda): Use backquotes to expand
`flet' at compile time.
2010-06-28 06:28:02 +02:00
Eric Schulte 2653b62c47 babel: now explicitly requiring outline.el from ob.el 2010-06-27 17:59:29 -07:00
Eric Schulte 2f0e2f1c5e babel: python now treats 'hline lines in tables as "None"s
Thanks to Christopher Webber (cwebb) for bringing this up.
2010-06-27 16:43:13 -07:00
Carsten Dominik f63d977c8b Better capturing of error when aborting capture 2010-06-27 12:26:08 +02:00
Carsten Dominik 1b2a21fdf7 Fix bug when retrieving time properties with modified keywords
* lisp/org.el (org-entry-properties): Make sure that standard property
names are used even if the user has customized time keywords.
2010-06-27 09:09:15 +02:00
Carsten Dominik a77dce0eac Do not set the file name of the temporary buffer during capture 2010-06-27 08:33:16 +02:00
Carsten Dominik d325d0c255 Implement patch by Stefan Monnier 2010-06-26 13:13:14 +02:00
Carsten Dominik bcb7f7f1ef Introduce a way to set a property to undefined.
* lisp/org-macs.el (org-not-nil): Return the value if not interpreted
as nil.
* lisp/org.el (org-entry-get):
(org-entry-get-with-inheritance): Interpret the value "nil"
as nil for properties.

Bernt Hansen writes:

> Carsten Dominik <carsten.dominik@gmail.com> writes:
>
> > On Jun 25, 2010, at 3:23 PM, Robert Goldman wrote:
> >
> > > Question:  what is the proper way to get a NIL into a property?  Are
> > > we
> > > to use () instead of "nil"?  Or are property values always interpreted
> > > as strings?
> > >
> > > Apologies in advance if this is a stupid question!
> >
> > Not a stupid question at all.
> >
> > There is no way, currently.   Property values are string - the only
> > way to make
> > org-entry-get return nil is to not have the property defined at all.
>
> I've wanted a similar thing in the past for the LOGGING property where
> the parent task has special logging set via the LOGGING property but I
> want to undo that for some of the child tasks so they use the default
> logging setup.
>
> Having a way to undefine a property would be good in general I think.

-Bernt
2010-06-26 07:54:07 +02:00
Carsten Dominik bbfca4a0e4 Clean up when aborting capture template selection
* lisp/org.el (org-switch-to-buffer-other-window): Return the buffer.

Patch by Sebastian Rose.
2010-06-26 07:18:27 +02:00
Carsten Dominik 2b26cb4e4e Fix bug with regexp target definition
Patch by Juan Pechiar
2010-06-25 20:53:15 +02:00
Eric Schulte 940b6f90af babel: bringing languages closer to compilability
removing un-needed 'cl functions from language files, and generally
  cleaning them up as if they were going to be compiled.
2010-06-25 10:26:48 -07:00
Eric Schulte 7f7602e65b babel: assign copyright to FSF on ob-sh.el 2010-06-25 10:17:50 -07:00
Eric Schulte 05ac8eb8a8 babel: ensuring each language defined (possibly empty) default header arguments
this makes customization easier when users can assume that
  org-babel-default-header-args:foo will exist for every language
2010-06-25 10:12:54 -07:00
Eric Schulte 670b9899b9 babel: assigning copyright to the FSF for babel language files 2010-06-25 09:32:35 -07:00
Eric Schulte ae98b23ab9 babel: assigning copyright to the FSF for core babel files 2010-06-25 09:20:39 -07:00
Carsten Dominik 7f21f76d5e fix typo 2010-06-25 10:01:23 +02:00
Carsten Dominik 7100bbea61 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-06-25 09:03:16 +02:00
Carsten Dominik a547c1048b Fix issue with turning off ORDERED property
* lisp/org-macs.el (org-not-nil): New function.
* lisp/org.el (org-block-todo-from-children-or-siblings-or-parent):
Use `org-not-nil' to interpret a property value of nil.

Robert Goldman writes:

> I have found what I believe to be a bug in handling ordered subtasks.
> Here is the behavior:
>
> I have a top level set of tasks that is ordered.
>
> One of the outline items below the top level set is a grab bag of tasks
> that will be performed in parallel.  So this task is NOT ordered
> (ORDERED: nil).
>
> The problem is that the blocking behavior from ordered tasks seems to be
> inherited from the top level task list into the second level of the
> outline, even though the ORDERED property at the second level is
> explicitly overridden.
>
> I am attaching an org file that displays this issue.  To see the
> problem, put your cursor on the "Bar" task and attempt to change its
> status to DONE.

The problem was here that the value of the property is the string
"nil", which is of course not nil.

This patches introduces a special case to interpret "nil" as nil.
2010-06-25 09:01:40 +02:00
Carsten Dominik 732884dbeb Fix the behavior of C-a when visible-mode is active
* lisp/org.el (org-truely-invisible-p): New function.
(org-beginning-of-line): Use `org-truely-invisible-p'.

Sebastien Vauban writes:

> I'm reporting some movement problem I've observed. When on any line, let's say
> the last clock one:
>
> - `C-e' moves the cursor to the end of it
> - `C-a' moves the cursor at the level of `LOGBOOK'.
>
> --8<---------------cut here---------------start------------->8---
> **** Emails and News
>     :PROPERTIES:
>     :ID:       62849012-ae7a-4885-a552-b34516d3fd06
>     :Effort:   1:00
>     :END:
>     :LOGBOOK:
>     CLOCK: [2010-06-01 Tue 08:35]--[2010-06-01 Tue 09:20] =>  0:45
>     CLOCK: [2010-06-02 Wed 09:10]--[2010-06-02 Wed 10:20] =>  1:10
>     CLOCK: [2010-06-03 Thu 09:25]--[2010-06-03 Thu 10:20] =>  0:55
>     CLOCK: [2010-06-04 Fri 09:00]--[2010-06-04 Fri 10:00] =>  1:00
>     CLOCK: [2010-06-07 Mon 09:05]--[2010-06-07 Mon 10:25] =>  1:20
>     CLOCK: [2010-06-08 Tue 09:05]--[2010-06-08 Tue 10:30] =>  1:25
>     CLOCK: [2010-06-09 Wed 09:05]--[2010-06-09 Wed 10:20] =>  1:15
>     CLOCK: [2010-06-10 Thu 09:05]--[2010-06-10 Thu 10:20] =>  1:15
>     CLOCK: [2010-06-11 Fri 09:15]--[2010-06-11 Fri 10:00] =>  0:45
>     CLOCK: [2010-06-14 Mon 09:15]--[2010-06-14 Mon 10:10] =>  0:55
>     :END:
> --8<---------------cut here---------------end--------------->8---
>
> This is -- at least -- true whenever `M-x visible-mode' is enabled.
2010-06-25 08:23:25 +02:00
Carsten Dominik ae20361475 Fix the clock target for org-capture 2010-06-25 07:29:13 +02:00
Eric Schulte a969714755 babel: emacs-lisp no longer evaluates header argument references multiple times
* lisp/babel/langs/ob-emacs-lisp.el
  (org-babel-expand-body:emacs-lisp): removed extra call to
  `org-babel-process-params' which was causing referenced code blocks
  to be run multiple times

  (org-babel-execute:emacs-lisp): now passing processed-params through
  to `org-babel-expand-body:emacs-lisp' which keeps references from
  being evaluated multiple times
2010-06-24 14:05:34 -07:00
Carsten Dominik 08f8875ecd Catch agenda error when there is a tie stamp before the first headline
* lisp/org-agenda.el (org-agenda-get-timestamps): No errors
while getting TODO state.
(org-agenda-highlight-todo): No error when no keyword has
been matched.

Eric Arneson writes:

> I've discovered a bug in `org-agenda-get-timestamps' wherein an active
> timestamp before the first headline causes it to fail.  I realize that
> this is probably an error in my use of active timestamps, but there was
> no really handy error message and this bugged me for weeks.
>
> I'm not familiar enough with org-mode to know what the correct behavior
> should be here (it'd be nice to get an error message saying "Don't use
> active timestamps that way!"), but here's an example .org file that will
> trigger the bug:
>
> --8<---------------cut here---------------start------------->8---
> #+BEGIN: clocktable :maxlevel 3 :scope today
> Clock summary at [2010-06-20 Sun 13:09]
>
> | L | Headline                              | Time   |
> |---+---------------------------------------+--------|
> |   | *Total time*                          | *0:13* |
> |---+---------------------------------------+--------|
> | 1 | Track down funky bug <2010-06-20 Sun> | 0:13   |
> #+END:
>
> * Track down funky bug <2010-06-20 Sun>
>  :LOGBOOK:
>  CLOCK: [2010-06-20 Sun 12:43]
>  CLOCK: [2010-06-20 Sun 12:30]--[2010-06-20 Sun 12:43] =>  0:13
>  :END:
> --8<---------------cut here---------------end--------------->8---
>
> I hope this can help somebody else track down the right place to fix
> this bug.
2010-06-24 08:53:34 +02:00
Carsten Dominik 1fc1dc389b Make sure the clock history only points to base buffers 2010-06-24 07:39:10 +02:00
Carsten Dominik e6182995d9 Skip template selection if there is only a single template 2010-06-24 07:17:54 +02:00
Eric Schulte b6e9c6a996 babel: variables can now accept null literal values
* lisp/babel/ob-exp.el (org-babel-exp-results): now checking to see if
  return value of `org-babel-ref-literal' is equal to the null
  indicator flag -- meaning it's now possible to accept a value of
  null

* lisp/babel/ob-ref.el (org-babel-ref-parse):  now checking to see if
  return value of `org-babel-ref-literal' is equal to the null
  indicator flag -- meaning it's now possible to accept a value of
  null

  (org-babel-ref-literal): now returning a null indicator flag when
  the value is *not* a literal value, meaning it is possible to pass
  in a literal value of null
2010-06-23 15:57:38 -07:00
Eric Schulte 6da29f1519 integrating org-babel into org.el 2010-06-23 13:41:20 -07:00
Eric Schulte 3beba02e1e Merged w/master 2010-06-23 11:20:49 -07:00
Carsten Dominik 92d69c7cf7 Keep byte compiler happy 2010-06-23 17:41:24 +02:00
Carsten Dominik a46e01358e Org Capture: Make ?q abort, and allow to specify the line position in table 2010-06-23 17:16:44 +02:00
Carsten Dominik fb46cf11d3 Make the link properties from org-protocol work in capture 2010-06-23 16:21:22 +02:00
Sebastian Rose 99e7f33f0a New implementation of the Org remember process ready for comments and testing
Carsten Dominik <carsten.dominik@gmail.com> writes:
> 3 Why a new name?
> ~~~~~~~~~~~~~~~~~~
>
>   I have - at least for now - chosen a new name for the new setup:
>  ` org-capture'.  There are two reasons for this:

In the manual it is "Capture - Refile - Archive".  I remember searching
for "Remember" and never found it :)

> 5 Setup
> ~~~~~~~~
>
>   To use the new setup, do the following:
>
>   1. Run
>
>      M-x org-capture-import-remember-templates RET

Worked perfectly here :)

I tested all my important templates and they work.
Abandoning org-remember seems painless.

>    '(("t" "templates adding table lines")
>      ("ta" "add to table a" table-line (file+headline "~/notes.org" "Table A))
>      ("tb" "add to table b" table-line (file+headline "~/notes.org" "Table B))
>      ("tc" "add to table c" table-line (file+headline "~/notes.org" "Table C)))
>
>    When starting capture, you can then first press "t" and then see
>    the individual options.

This is great.  Number of templates is constantly growing and the new
features will increase the speed of this process.

> 7 Request for comments
> ~~~~~~~~~~~~~~~~~~~~~~~
>
> None of what I describe is set in stone yet - let me know if you have
> comments, change requests or other ideas.
>
> My feeling right now is that this should become the default capture
> system, and that we will keep the current org-remember in the
> distribution for quite some time, for compatibility.

Good track I guess.

Here's the tested and working patch for org-protocol.el.

To use `org-remember' and/or `org-capture' alike, copy your org-remember
link and change

   javascript:location.href='org-protocol://remember://'+...

to

   javascript:location.href='org-protocol://capture://'+...

The template char used is the same for both --- which is OK for me, but
could be changed.
2010-06-23 16:05:33 +02:00
Carsten Dominik c303801202 Fix typo 2010-06-23 13:26:58 +02:00
Carsten Dominik 94e76bd7e2 Remove forgotten (debug) form 2010-06-23 10:37:11 +02:00
Carsten Dominik fab06f5463 Implement aborting a capture note with `C-c C-k' 2010-06-23 10:36:42 +02:00
Carsten Dominik 85e6bb964d Improve importing of remember templates into org-capture
Tassilo Horn had set org-remember-default-headline to `bottom', and
the importer did not handle this special case.
2010-06-23 08:41:14 +02:00
Carsten Dominik 19602fa56e Fix minor bugs in org-capture.el, and keep byte-compiler happy 2010-06-23 07:39:56 +02:00
Carsten Dominik 2ea8652235 Minor fixes to org-capture.el 2010-06-23 06:24:26 +02:00
Eric Schulte 3429a496a3 merged with master 2010-06-22 11:55:19 -07:00
Eric Schulte b816a85ac0 babel: wrapped `org-babel-params-from-buffer' in `save-match-data'
* lisp/babel/ob.el (org-babel-params-from-buffer): wrapped in
  save-match-data
2010-06-22 11:46:49 -07:00
Carsten Dominik 80bcadf605 Fix behavior of org-timestamp-change for explicit number of day changes
* lisp/org.el (org-timestamp-change): New optional argument UPDOWN.
Use this to identify calls from org-timestamp-up/down, so that we can
skip by rounding minutes in this case.
(org-timestamp-up):
(org-timestamp-down):
(org-timestamp-up-day):
(org-timestamp-down-day): Call org-timestamp-change with the
updown argument.

This function used to look only if there was a prefix argument in the
current interactive call.  Now we have an explicit marker indicating
that the function is called from the updown commands.
2010-06-22 16:14:55 +02:00
Carsten Dominik 36b6471858 Merge branch 'improve-todo-match-documentation' 2010-06-22 14:47:45 +02:00
Carsten Dominik 2e73ce2177 Clarify that TODO matches only match not-DONE states by default
Bernt Hansen writes:

> I was talking to Jeff Stern about tags todo matching offlist and we
> think the documentation for tags-todo matching can probably be improved.
>
> The description of C-c a M at
> http://orgmode.org/manual/Matching-tags-and-properties.html
> states
>
> C-c a M
>
>    Like C-c a m, but only select headlines that are also TODO items and
>    force checking subitems (see variable
>    org-tags-match-list-sublevels). To exclude scheduled/deadline items,
>    see the variable org-agenda-tags-todo-honor-ignore-options. Matching
>    specific TODO keywords together with a tags match is also possible,
>    see Tag searches.
>
> When I read this I think TODO items is any todo keyword but this isn't
> the case.  It is only non-done TODO state keywords.  This makes
> tags-todo matching not work for finding tasks to archive (normally
> DONE | CANCELLED keywords in my setup)
>
> Should we explicitly state that 'headlines that are also TODO items'
> does not match DONE state keywords?  Or alternatively should TODO items
> and DONE items be separate (and explicitly defined) in the documentation
> -- like org-todo-keywords and org-done-keywords?
>
> I still think 'TODO keyword' matches any todo keyword defined in
> org-todo-keywords and maybe I need to be re-educated :)

Bernt is right, and this patch tries to clarify the issue.
2010-06-22 14:47:37 +02:00
Carsten Dominik b67492596a Merge Glen Morris' change from downstream Emacs 2010-06-22 14:42:45 +02:00
Carsten Dominik 0c4e2ab0ed Add autoloads for org-capture 2010-06-22 14:29:13 +02:00
Carsten Dominik 1d52e54efd New capture system org-capture
* lisp/org-agenda.el (org-agenda-action): Make `c' key call org-capture.
* lisp/org-capture.el: New file.
* lisp/org-compat.el (org-get-x-clipboard): Function moved here from
remember.el.
* lisp/org-mks.el: New file
* lisp/org.el (org-set-regexps-and-options): Allow statistic cookies as
part of complex headlines.
(org-find-olp): New argument THIS-BUFFER.  When set, assume that the
OLP does not contain a file name.
2010-06-22 14:19:18 +02:00
Carsten Dominik eade8e6fa3 Revert "* lisp/org-agenda.el (org-agenda-get-deadlines):"
This reverts commit 14b689946d.

See discussion in

   http://thread.gmane.org/gmane.emacs.orgmode/26154/focus=26400
2010-06-21 15:18:36 +02:00
Carsten Dominik af90fb1e4c Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-06-18 09:51:36 +02:00
Carsten Dominik 42ea7d35b7 No longer define comments in the syntax table
* lisp/org.el (org-mode): Set `comment-start' instead of changing the
syntax of the `#' character.

Leo writes:

> Setting a comment starter without a corresponding comment ender is
> problematic and the # creeps in mysteriously under auto-fill. For
> example, in my current running emacs, this happens almost certainly in
> all org files that has # in their header. The only (temporary) solution
> seems to reboot emacs (which is painful and disruptive).
>
> If you try eval (forward-comment 1) at the beginning of an org file that
> has some "#+..." it will move to the end of file (the whole file is
> regarded as one single comment). So when auto-fill a long text, it will
> find the common prefix to be #.
>
> In addition, I don't think org mode has clear comment syntax or ideas on
> what to do with it.
>
> I can't see any gain from (modify-syntax-entry ?# "<") so I am proposing
> removing it entirely and get rid of this mysterious and annoying bug
> once and for all.
>
> The attached patch may (though I think it is quite safe) cause some bugs
> but those will be fixable unlike the one mentioned above.
>
> Best wishes,
>
> Leo
2010-06-18 09:10:44 +02:00
Carsten Dominik c201da51b8 Fix source code example bug with plain list export to HTML
* lisp/org-exp.el (org-export-format-source-code-or-example): Mark examples
by a property. o
* lisp/org-html.el (org-export-html-close-lists-maybe): Check if raw
HTML stuff was actually made from an example

Daniel Mahler writes:

> 2. I would like to embed source blocks in numbered lists, without
> breaking the numbering ie:
>
>    1) get ready
>     #+BEGIN_SRC sh
>    get_ready
>     #+END_SRC
>    2) go
>     #+BEGIN_SRC sh
>    go
>     #+END_SRC
>
>    currently the src blocks cause the numbering to reset, so all
> items in a sequence like this are numbered 1

This patch fixes this issue - but I cannot say anymore why the code in
org-export-html-close-lists-maybe does in fact work.  The code looks
wrong, but it seems to work.  What looks wrong is that i does not
check for the true indentation in the case when the line is not
protected.  It must be that this case is covered by some other code
further down in the exporter.
2010-06-18 08:49:25 +02:00
Eric Schulte 0d1aaf735f babel: declaring variable to satisfy compiler 2010-06-17 18:15:36 -07:00
Eric Schulte ffbeb7ffe6 babel: languages adding their extensions to `'org-babel-tangle-lang-exts' 2010-06-17 18:15:35 -07:00
Eric Schulte 752a59c58f babel: ensure no whitespace in language names
* lisp/babel/ob.el (org-babel-src-block-regexp):
  ensure no whitespace in language names

  (org-babel-inline-src-block-regexp):
  ensure no whitespace in language names
2010-06-17 18:15:35 -07:00
Eric Schulte 97ead27f78 babel: remove all language file reference to define language variables 2010-06-17 18:15:35 -07:00