This patch implements reading American dates, like
2/5/3 --> 2003-02-05
2/5 --> ????-02-05
Is also fixes a bug that would force the current year when reading a
date like 2/5 (American) or 2-5 (ISO), and in this way would prevent
`org-read-date-prefer-future' to do its job. This bug was reported by
Lukasz Stelmach.
Also get rid of a bug: as timers where not properly canceled,
`org-timer-show-remaining-time' was not giving the proper result.
Thanks to Frédéric Couchet for this catch.
The `org-clock-set-current' and `org-clock-delete-current' functions
handle this variable. The variable only stores the last clocked in
entry, not the history of clocked in tasks.
Move the marker for the last refile location to the heading instead of at the
end of the entry. This was causing C-u C-u C-c C-w to end up on the heading
following the newly refiled entry.
Fixes Lisp error: (error "Not enough arguments for format string") when the
task to be clocked in has both a % in the heading due to the [%] cookie and an effort.
This can help to get out of an inconsistent state produce for example
by viewing from the agenda. Reported by Matt Lundin:
> I'd like to report a minor issue with org-agenda-goto and inline tasks.
> Let's say one has the following file:
>
> --8<---------------cut here---------------start------------->8---
> * Here is an entry.
> Blah blah blah blah.
> *************** Here is an inline task.
> *************** END
> Blah blah blah blah blah.
> *************** TODO Here is a second inline task.
> *************** END
> Blah blah blah blah blah.
> *************** Here is a third inline task
> *************** END
> Blah blah blah blah blah.
> --8<---------------cut here---------------end--------------->8---
>
> Let's say one also has the following settings:
>
> --8<---------------cut here---------------start------------->8---
> (setq org-show-hierarchy-above t)
> (setq org-show-siblings '((default . nil) (isearch . t) (agenda . t)))
> (setq org-show-entry-below '((default . nil) (isearch . t) (agenda . t)))
> --8<---------------cut here---------------end--------------->8---
>
> If 1) one tries to jump to the TODO from the agenda and 2) the entry is
> currently folded, org-show-context reveals only the headlines. E.g.,
>
> --8<---------------cut here---------------start------------->8---
> * Here is an entry.
> *************** Here is an inline task.
> *************** END...
> *************** TODO Here is a second inline task.
> *************** END...
> *************** Here is a third inline task
> *************** END...
> --8<---------------cut here---------------end--------------->8---
>
> Invoking org-cycle on the END headline does nothing, since all headlines
> deeper than org-inlinetask-min-level are exempted from cycling. As a
> result, the only way to reveal the text in the entry is to cycle the
> parent twice (first to close, then to reveal).
Ruud Brekelmans writes about problems with spurious footnotes:
> I still find similar behavior when exporting to LaTeX with:
>
> #+BEGIN_LaTeX
> \newcommand{\norm}[1]{\lVert#1\rVert}
> #+END_LaTeX
Emilio Arias writes:
> egallego@babel.ls.fi.upm.es (Emilio Jess Gallego Arias) writes:
>
> To reproduce save this minimal org file:
>
> #+STARTUP: even
> * A
> :PROPERTIES:
> :ARCHIVE: a
> :END:
> ** B :ARCHIVE:
> Some text
>
> and hit TAB when in the * A headline; then the ** B headline contents
> will be incorrectly shown.
>
> I've found the culprit in org-hide-archived-subtrees:
>
> ,----
> | (defun org-hide-archived-subtrees (beg end)
> | "Re-hide all archived subtrees after a visibility state change."
> | (save-excursion
> | (let* ((re (concat ":" org-archive-tag ":")))
> | (goto-char beg)
> | (while (re-search-forward re end t)
> | (and (org-on-heading-p) (org-flag-subtree t))
> | (org-end-of-subtree t)))))
> `----
>
> The problem is that the RE matches the first archive "property" and
> then does an org-end-of-subtree which skips all the subtrees of the
> parent tree where the ARCHIVE property is located.
>
> I've replaced this part
>
> | (and (org-on-heading-p) (org-flag-subtree t))
> | (org-end-of-subtree t)))))
>
> by
>
> | (when (org-on-heading-p)
> | (org-flag-subtree t)
> | (org-end-of-subtree t)))))))
>
> so org-end-of-subtree is only called if we are really in a headline. I
> think that makes sense.
>
This change provides for better export of named source-code blocks,
with specific support for more attractive html export. The arguments
are included with the source code name, and both the source code name
and code body are wrapped in a div to support styling with css. For
example the following CSS can be used to associate a source-code block
name with it's code body, and to slightly indent the body.
.org-src-container {
border-left: 4px solid gray;
padding: 0.5em 0.5em 0.5em 1em; }
.org-src-container pre {
margin-left: 1em; }
Wes Hardaker writes:
> Attached is a patch that lets local variables define whether or not todo
> dependency blocking should be used (both for TODOs and for checkboxes).
> I have one file in particular that I'm using checkboxes to quickly
> indicate multi-selections from a list but for most of my files I want
> TODOs blocked by uncompleted checkboxes.
>
> Normally org uses hook methods for checking for TODO blocks and this
> patch just inserts a check at the top to test and see if the variable
> turning on the blocking type is still set.
zwz writes:
> I use org-remember for my contact records.
>
> This is a template in org-remember-templates
> ("Contact" ?c "* %^{Name} \n%[~/.contact]\n" "contact.org" "Contacts")
>
> the content of the file "~/.contact":
> :PROPERTIES:
> :Mobile: %^{mobile}
> :Email:
> :Added: %u
> :END:
>
> I found that the prompt "%^{mobile}" works, but *the inactive time stamp "%u"
> does not.* It is not replaced.
>
> I guess it is a bug.
Bill Jackson writes:
> When exporting to LaTeX, curly brackets in a command will be escaped
> if that command also contains angle brackets. This can be a problem
> when using beamer. An example input file:
>
> ------------------------------------------------------------------------
>
> #+LaTeX_CLASS: beamer
>
> * The One and Only Frame
> When LaTeX \alert<2>{commands} contain angle brackets, the curly
> brackets are erroneously escaped in the output. \alert{Commands}
> that do not contain angle brackets work properly.
>
> ------------------------------------------------------------------------
>
> Typing C-c C-e l will generate the output file:
>
> ------------------------------------------------------------------------
>
> % Created 2010-01-15 Fri 13:57
> \documentclass{beamer}
> \usepackage[latin1]{inputenc}
> \usepackage[T1]{fontenc}
> \usepackage{graphicx}
> \usepackage{longtable}
> \usepackage{float}
> \usepackage{wrapfig}
> \usepackage{soul}
> \usepackage{amssymb}
> \usepackage{hyperref}
>
>
> \title{escCurly}
> \author{}
> \date{15 January 2010}
>
> \begin{document}
>
> \maketitle
>
> \begin{frame}
> \frametitle{Outline}
> \setcounter{tocdepth}{3}
> \tableofcontents
> \end{frame}
>
> \begin{frame}
> \frametitle{The One and Only Frame}
> \label{sec-1}
>
> When \LaTeX{} \alert<2>\{commands\} contain angle brackets, the curly
> brackets are erroneously escaped in the output. \alert{Commands}
> that do not contain angle brackets work properly.
> \end{frame}
>
> \end{document}
Bill Jackson writes:
> When exporting to LaTeX, the commands \LaTeX and \TeX are not
> processed consistently. In particular, the backslash for \LaTeX is
> escaped. This might not be a bug, but it is a bit confusing. An
> example input file:
>
> ------------------------------------------------------------------------
>
> * The One and Only Header
> The command \LaTeX generates an escaped backslash, while \TeX and
> \alpha do not. Note that LaTeX is converted to a command, while TeX
> is not.
>
> ------------------------------------------------------------------------
>
> Typing C-c C-e l will generate the output file:
>
> ------------------------------------------------------------------------
>
> % Created 2010-01-15 Fri 13:47
> \documentclass[11pt]{article}
> \usepackage[latin1]{inputenc}
> \usepackage[T1]{fontenc}
> \usepackage{graphicx}
> \usepackage{longtable}
> \usepackage{float}
> \usepackage{wrapfig}
> \usepackage{soul}
> \usepackage{amssymb}
> \usepackage{hyperref}
>
>
> \title{escLaTeX}
> \author{}
> \date{15 January 2010}
>
> \begin{document}
>
> \maketitle
>
> \setcounter{tocdepth}{3}
> \tableofcontents
> \vspace*{1cm}
> \section{The One and Only Header}
> \label{sec-1}
>
> The command \\LaTeX{} generates an escaped backslash, while \TeX and
> $\alpha$ do not. Note that \LaTeX{} is converted to a command, while TeX
> is not.
>
> \end{document}
The coding system of the LaTeX class will now only be set to the value
corresponding to the buffer's file coding system if the class
specifies \usepackage[AUTO]{inputenc}. Any other value for the coding
system will not be modified.
Jan Bcker writes:
> Consider the following situation:
>
> * A
> Some text.
> * B
>
> - Place the cursor on A, press C-x n w (org-narrow-to-subtree).
> - Go to the very end of the buffer and insert "xyz".
> - C-x n w (widen).
>
> You end up with:
>
> * A
> Some Text
> xyz* B
Patch by Stephen Eglen, who writes:
> Just a small suggestion here. In the agenda, an entry like:
> * <2010-01-20 Wed 09:00-09:30> test
>
> gets formatted as follows:
>
> Wednesday 20 January 2010
> 8:00...... ----------------
> test: 9:00- 9:30 test
> 10:00...... ----------------
>
> the leading whitespace before '9:00' and '9:30' is needed to align the
> times, but having the space after the dash looks odd (at least to my
> latex-trained eyes). Would it be possible to patch org-agenda to put a
> leading zero rather than leading whitespace. With this patch, I see:
>
> Wednesday 20 January 2010
> 08:00...... ----------------
> test: 09:00-09:30 test
> 10:00...... ----------------
This patch introduces a new user option to select this behavior.
Stephen Eglen writes
> Within the agenda buffer, if I type 'i j' to jump to the current date I
> get:
>
> Debugger entered--Lisp error: (void-function org-datetree-find-date-create)
> org-datetree-find-date-create((1 20 2010))
> org-agenda-diary-entry-in-org-file()
> org-agenda-diary-entry()
> call-interactively(org-agenda-diary-entry nil nil)
>
> If I then do M-x load-library org-datetree
>
> and repeat 'i j', it works. Should this function be autoloaded?
the progress-marker local variable set inside of a let in
org-exp-blocks is used to constrain searches in org-babel-exp to
ensure that a babel block doesn't overwrite non-babel src blocks
Geert Kloosterman writes:
> When an org link is created from an URL containing a hex escape
> `org-make-link-string' creates a link that ends up corrupted the moment
> it is followed (e.g. using `org-open-at-point').
>
> I've traced this back to `org-link-escape' and `org-link-unescape'. The
> following shows how the hex code "%2B" is converted to a "+" after an
> escaping round trip:
>
> (org-link-unescape (org-link-escape
> "http://some.host.com/form?&id=blah%2Bblah"))
> ==>
> "http://some.host.com/form?&id=blah+blah"
>
> In my case this small change ended up in a broken URL.
>
> Additionally, when the URL-escape happens to be in lower case (or
> otherwise not present in `org-link-escape-chars') we end up with an
> error:
>
> (org-link-unescape (org-link-escape
> "http://some.host.com/form?&id=blah%2bblah"))
> ==>
> Debugger entered--Lisp error: (wrong-type-argument characterp nil)
> char-to-string(nil)
> ...
>
> When `org-url-encoding-use-url-hexify' is set to `t' we do get a proper
> round trip of the URL containing hex-escapes:
>
> (setq org-url-encoding-use-url-hexify t)
> (org-link-unescape (org-link-escape
> "http://some.host.com/form?&id=blah%2bblah"))
> ==>
> "http://some.host.com/form?&id=blah%2bblah"
>
>
> Setting `org-url-encoding-use-url-hexify' does not fix the complete
> problem however: `org-open-at-point' still did not end up with the
> proper URL. Within `org-open-at-point' there is another call to
> `org-link-escape':
>
> (org-link-escape path org-link-escape-chars-browser)
>
> This time a mapping table is passed in explicitly (the second argument).
> However, when `org-url-encoding-use-url-hexify' is set,a this mapping
> table isn't used, resulting (again) in a broken URL.
>
> I have attached a patch that fixes the problem: do not use url-hexify in
> `org-link-escape' and `org-link-unescape' when an explicit mapping table
> has been specified.
>
> In summary:
> - the default behaviour of `org-link-escape', with
> `org-url-encoding-use-url-hexify' set to nil, has some issues with
> handling URLS which contain url-encoded hex escapes
> - when a mapping table is passed to `org-link-escape' and
> `org-link-unescape', they should probably not use url-hexify.
> Patch attached.
The variable `org-clock-out-when-done' can now also be a list of
states. When the TODO state of a task changes to one of these states,
the clock will stop running in that task.
This extension of the logic was a proposal by Ricard Riley.
Marting G. Skjaeveland writes:
> I pulled a fresh copy of org-mode this morning and noticed that
> references to source code line numbers no longer work as they used
> to. Instead of displaying the number of the line with the label, the
> label is displayed.
>
> Exporting the following example, retrieved from the online
> documentation (http://orgmode.org/manual/Literal-examples.html),
>
> -------------------------------------start
> #+BEGIN_SRC emacs-lisp -n -r
> (save-excursion (ref:sc)
> (goto-char (point-min)) (ref:jump)
> #+END_SRC
>
> In line [[(sc)]] we remember the current position. [[(jump)][Line
> (jump)]] jumps to point-min.
>
> -------------------------------------end
>
> gives me in latex export
>
> -------------------------------------start
> \begin{verbatim}
> 1: (save-excursion
> 2: (goto-char (point-min))
> \end{verbatim}
>
> In line \hyperref[(sc)]{(sc)} we remember the current
> position. \hyperref[(jump)]{Line (jump)} jumps to point-min.
> -------------------------------------end
>
Patch by Stephan Schmitt, who writes:
> An error was thrown when all tags of a headline are hidden by
> org-agenda-hide-tags-regexp (in this case the function
> get-text-property got nil as third argument)