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.
* 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.
* 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
* 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
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
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)).
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* org-exp.el (org-export-preprocess-string): Set the source
buffer and use `org-clone-local-variables' to get local
variables from it.
* org.el (org-clone-local-variables): New function.
* lisp/org.el (org-open-at-point): Fix bug when using prefix arg to
construct `org-link-search' call. Rename prefix arg with a more
generic name, to reflect its diverse uses in this function.
* lisp/org.el (org-entry-get): Don't look for a property drawer if we
are before the first heading in the file.
(org-entry-get-with-inheritance): Don't attempt to move up the tree if
we are before the first heading in the file. Also, enclose less of the
function in the save-excursion.
* org.el (org-update-parent-todo-statistics): fix bug when
updating statistics from the column view.
This was reported by James Deaton and confirmed by Bernt Hansen.
* org.el (org-narrow-to-block): New function to narrow to block.
Bound this function to `C-x n b'.
* org.texi (Dynamic blocks, Structure editing): Mention
the function `org-narrow-to-block'.
This is inspired by a request by Leonidas Tsampros.
On Sat, Jan 29 2011, Matt Lundin wrote:
> The regexp in org-link-expand-abbrev does not allow for accented
> characters in the link abbreviation. I am not sure whether this is an
> intended limitation or a bug. :)
I don't see any reason. Patch attached.
>From 1ec1e178aaa6a9935819a873ae492be7a2ddb2f6 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 31 Jan 2011 21:19:07 +0100
Subject: [PATCH] Allow more char type in link abbrev
* org.el (org-link-expand-abbrev): Allow any type of character
in link expand.
Signed-off-by: Julien Danjou <julien@danjou.info>
On Jan 26, 2011, at 10:34 AM, Eli Zaretskii wrote:
> The file org-complete.el, added about a month ago, causes a file-name
> clash with org-compat.el after 8+3 truncation. This causes trouble
> when unpacking Emacs tarballs on DOS filesystems.
Also rename org-complete-* functions in org-pcomplete.el and remove a
wrong reference to org-complete in doc/org.texi.
We still use org-complete-* namespace for the custom group and the
custom variables.
I just found a left over in org-list.el. :)
Updated patch attached.
>From bf6c65a42e04d4753c58795442a479685bb5f318 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Wed, 26 Jan 2011 11:14:11 +0100
Subject: [PATCH] org: remove org-invisible-p
* org.el: Remove org-invisible-p: outline-invisible-p is
available in Emacs 22 and in recent XEmacs 21. Replace in
various files.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org.el (org-occur-next-match): New function.
(org-mode): Set the variable `next-error-function'.
(org-highlight-new-match): Add an `org-type' property to the overlays.
* doc/org.texi (Sparse trees): Document the next-error / previous-error
functionality.
After a sparse tree construction, `M-g n' and `M-g p' will now jump to
the location of matches.
* Makefile (LISPF): Add org-special-blocks to the list of Lisp files
* lisp/org-special-blocks.el (htmlp):
(latexp):
(line): Add defvars for dynamically scoped variables.
* lisp/org.el (org-modules): Move org-special-blocks into
the core modules section.
* lisp/org.el (org-get-category): New optional argument FORCE-REFRESH.
Automatically refresh if the property is not there.
(org-entry-properties): Remove refresh - this is now done in
org-get-category.
* lisp/org-clock.el (org-clock-insert-selection-line): Let `org-get-category'
do the property refresh.
* lisp/org-archive.el (org-archive-subtree): Force a refresh of
category properties.
Based on a patch by Julien Danjou.
* org-icalendar.el (org-print-icalendar-entries): Do not manually
refresh categories.
* org-clock.el (org-clock-insert-selection-line): Do not manually
refresh categories.
* org.el (org-get-category): Refresh categories if no category found.
(org-entry-properties): Do not manually refresh categories.
(org-prepare-agenda-buffers): Do not manually refresh categories.
It seems a very bad thing to call manually for a category refresh. It
seems better to try to refresh if we do not have a category.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org.el (org-before-first-heading-p): If point is on an org-mode heading line then we are not before the first heading
If point is anywhere on the first line of the first heading then we
are not before the first heading. This makes
org-before-first-heading-p returns t instead of nil when on the '*' or
blank of the first level 1 heading in an org file.
This was noticed when the first heading has an encryption
tag :crypt:. C-c C-r would not decrypt this entry if point is at the
beginning of the line since it was considered before the first
heading.
* org-capture.el (org-capture-fill-template): Use `org-set-property'
directly.
* org.el (org-set-property): Split property and values reading.
(org-read-property-name, org-read-property-value)
(org-set-property-function): New functions.
(org-property-set-functions-alist): New variable.
The goal of this patch is to introduce a special variable
`org-property-set-functions-alist'. This variable allows to read
properties values in a more intelligent way from `org-set-property' or
from `org-capture'.
For that, it simplifies the `org-set-property' code and remove
duplication between `org-capture' and `org-set-property'.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org.el (org-make-target-link-regexp): regexp-quote target
before replacing whitespace.
Previously a radio link <<<...>>> would match all three-letter words
in the buffer. The manual indicates the radio links are meant to
match literally (modulo whitespace differences), so we should
regexp-quote all the targets to avoid over-eager matching.
* lisp/org.el: (org-entry-properties) Stop scanning for timestamps if
a specific timestamp property (e.g., DEADLINE, SCHEDULED, etc.) is
requested and a match is found. Also, if a specific timestamp property
is requested, do not push non-relevant timestamps onto property list.
This change only effects org-entry-properties when a specific
timestamp is requested with the special flag, as in:
(org-entry-properties nil 'special "SCHEDULED")
Previously, even if only the SCHEDULED timestamp was requested,
org-entry-properties would parse all the timestamps in an entry. This
extra parsing could slow down the construction of agenda views,
especially with entries that contained a large number of log
items (CLOCK, state changes, etc.). The function org-entry-get,
however, is only interested in the first occurrence of the item. When
looking for a specific type of timestamp, org-entry-properties now
stops searching for timestamps after the match is found, unless the
property is "CLOCK".
Here are the relevant ELP results:
Before:
org-entry-get 296 0.4724579999 0.0015961418
org-entry-properties 31 0.3438769999 0.0110928064
After:
org-entry-get 296 0.1447729999 0.0004890979
org-entry-properties 31 0.015765 0.0005085483
* org-inlinetask.el (org-inlinetask-outline-regexp): new function
* org-inlinetask.el (org-inlinetask-goto-beginning): new function
* org-inlinetask.el (org-inlinetask-goto-end): new function
* org.el (org-mark-subtree): new command
* org.el (org-speed-commands-default, org-mode-map): make use of new command
This reverts commit 383802d063.
The commit had org-mode process the headlines from bottom to top, which
meant that any changes to the visibility of lower headlines were
overridden/modified by changes higher up the tree. Reverting the commit
causes VISIBILITY to work correctly.
* lisp/org.el: (org-make-heading-search-string) Optionally limit
number of lines stored in file link search strings.
(org-context-in-file-links) Add option to set to integer specifying
number of lines.
* lisp/ob.el (org-babel-insert-result): Responds to new "wrap" header
argument.
(org-babel-merge-params): Includes new "wrap" header argument in
one of the results header argument exclusive groups.
* lisp/org.el (org-additional-option-like-keywords): Fontify begin and
and results lines as comments.
* lisp/org.el (org-open-at-point): Don't do footnote action if cursor is
on a bracket link.
Sebastian Mengin writes:
> Hi,
>
> Consider the following minimal example:
>
> Text[fn:1]
>
> * Footnotes
> [fn:1] Note with a [[file:abecedaire.jpg][link]].
>
> Here with orgmode 7.02, doing C-c C-o on the link moves the cursor on
> [fn:1] and says in the minibuffer: "Position saved mark to ring, go back
> with C-c &", instead of opening the linked file.
>
> Is this a bug?
>
* lisp/org.el (org-indent-line-function): drawers and blocks have no
influence on indentation of text below. Also fix indentation problem
with a block at column 0 and add a special case for literal examples.
* lisp/org-faces.el (org-cycle-level-faces): New option.
* lisp/org.el (org-get-level-face): Honor org-cycle-level-faces
Original patch by Jonathan BISSON, modified by Carsten Dominik
* org.el (org-open-at-point): Remove stale link handler for news:
links.
This condition case is never evaluated because the news: link is
already passed to `browse-url'.
* lisp/org.el (org-diary-sexp-entry): Split sexp result strings at semicolon.
When evaluating my %%(org-calendar-holidays) on October 31st, I got a
line like:
"Halloween; Daylight Saving Time Ends 3:00am (CEST)"
And it displays in calendar:
3:00 .... Halloween; Daylight Saving Time Ends (CEST)
This is wrong since Halloween is all day, not only at 3:00.
Splitting results on "; " allows to have an independant entry on each
event and displays things correctly.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org.el (org-shorten-string): New function.
* lisp/org-exp.el (org-export-convert-protected-spaces): New function.
(org-export-preprocess-string): Call
`org-export-convert-protected-spaces' to handle new hard spaces.
* lisp/org-clock.el (org-clocktable): New customization group.
(org-clocktable-defaults): New option.
(org-clock-clocktable-formatter): New option.
(org-clock-clocktable-default-properties): New option.
(org-dblock-write:clocktable): Rewrite to split out functionality
into separate functions.
(org-clocktable-write-default):
(org-clocktable-indent-string):
(org-clock-get-table-data): New functions.
* lisp/org-agenda.el (org-agenda-list):
(org-agenda-redo):
(org-agenda-clockreport-mode):
(org-agenda-set-mode-name): Rewrite to implement filtered clock tables.
* doc/org.texi (Clocking commands):
(The clock table): New sections.
(Agenda commands): Document filtered clock reports.
* lisp/org-agenda.el (org-agenda-get-sexps): Handle lists as return values
from diary entries
* lisp/org-bbdb.el (org-bbdb-anniversaries): Handle lists of anniversaries
* lisp/org.el (org-diary-sexp-entry): Handle lists as return values
from diary entries.
ukasz Stelmach <lukasz.stelmach@iem.pw.edu.pl> writes:
> I've disovered, that %%(org-bbdb-anniversaries) returns (as every other
> sexp) a string. Which is OK if there is only one.
>
> Anniversaries: John Doe's 10th wedding anniversary
>
> Unfortunately the agenda view becomes awful if we have noted Jane's
> weeding date too
>
> Anniversaries: John Doe's 10th wedding anniversary; Jane Doe's 10th wedding anniversary
>
> And what if we know 3 Eves and 5 Adams and it's Christmas Eve? (Hint:
> their name day)
[...]
As Thomas Bauman pointed out, there are functions that can be used in
sexps which return cons cells like this
(nil . "Full Moon 3:35am (CEST)")
(this one is diary-lunar-phases), these aren't properly supported by the
previous version of my patch. This one can distinguish between such a
cons cell and a "real" list.
("John Doe's 10th wedding anniversary"
"Jane Doe's 10th wedding anniversary")
This is because
(consp (cdr '(a . b))) ; => nil
so org-diary-sexp-entry can be made return (cdr result) only in case of
the former cons cell. The third condition in the `cond' block is IMHO
enough as it is now, but if you think adding
(listp (cdr result))
may help then be it.
* lisp/org.el (org-cycle): Make sure resetting to startup visibility
works after another cycle command.
Gez writes:
> I have a query about the C-u C-u TAB command. When I've just edited
> or used S-TAB (no matter which part of the global cycle it's on) C-u
> C-u TAB works as I would expect. But if I've just used TAB, C-u C-u
> TAB cycles hrough -> CONTENTS -> SHOW ALL etc, even while the mini
> buffer displays "startup visibility plus VISIBILITY properties" at
> each stage of the cycle. C-u C-u TAB also cycles when it's repeated.
> I find it hard to keep track of whether it will cycle or not while I'm
> using it to view areas of the outline, so in effect, the only way I
> feel sure I can quickly return to my desired startup visibility is
> with S-TAB C-u C-u TAB, which is a lot of keystrokes! So my questions
> are - is this expected behaviour? Can it be changed?
* doc/org.texi: Document the <c> cookie.
* lisp/org-exp.el (org-store-forced-table-alignment):
(org-export-remove-special-table-lines): Allow the "c" cookie for
table alignment.
* lisp/org-html.el (org-export-table-header-tags):
(org-export-table-data-tags): Add another %s format for the alignment.
(org-export-html-table-align-individual-fields): New option.
(org-format-org-table-html): Implement field-by-field alignment and
support centering.
(org-format-table-table-html): Make sure the new table tag formats
don't break this function.
* lisp/org-table.el (org-table-cookie-line-p):
(org-table-align): Allow for the <c> cookie.
* lisp/org.el (org-set-font-lock-defaults): Allow for the <c> cookie.
* lisp/org-inlinetask.el (org-inlinetask-min-level): Set customization
type to integer or nil.
* lisp/org.el (org-insert-heading): When after an inline task, do not
use level but go back to headline level before the inline task
* lisp/org-inlinetask.el (org-inlinetask-in-task-p): New function.
* lisp/org.el (org-indent-line-function): Fix indentation of inline tasks
Patch by Nicolas Goaziou
* lisp/org.el (org-set-tags): Allow comma as a separator when
specifying tags at the completion interface.
(org-tags-completion-function): Allow comma as a separator when
specifying tags at the completion interface.
Patch by Richard Riley, extended by Carsten
* lisp/org.el (org-insert-heading): Run org-insert-heading-hook when creating
the first heading in a file
The org-insert-heading-hook was skipped when creating the first
heading in a new org file.
* lisp/org.el (org-startup-with-inline-images): New option.
(org-startup-options): Add new keywords inlineimages and
noinlineimages.
(org-mode): Inline images when this has been configured.
* doc/org.texi (Handling links):
(In-buffer settings): Document inlining images on startup.
* lisp/org.el (org-speed-command-hook): New. Hook for installing
additional speed commands. Use this for enabling speed commands on
src blocks.
(org-speed-command-default-hook): The default hook for
org-speed-command-hook. Factored out from org-self-insert-command
and mimics existing behaviour.
(org-self-insert-command): Modified to use org-speed-command-hook.
TINYCHANGE.
* lisp/org.el (org-additional-option-like-keywords): Add PROPERTIES to
the list of completable meta line words.
(org-complete): Complete property names after #+PROPERTY
* org.el (org-make-org-heading-search-string): Leave headline
intact.
Otherwise `org-link-search-must-match-exact-headline' set to a non-nil
value won't work properly.
* org.el (org-link-types): Add 'message:' link type to default link
types.
Jules Bean wrote:
>The link-type "message" is one of the ones org handles by default, it
>is an explicit case in org-open-at-point, much like http and it is
>handled by the following code:
>((member type '("message"))
> (browse-url (concat type ":" path)))
>However it is not included in the default value of org-link-types:
>(defvar org-link-types '("http" "https" "ftp" "mailto" "file" "news"
> "shell" "elisp" "doi"))
>...and therefore it doesn't work when clicked/followed.
>Manually adding it to org-link-types makes it work correctly. For me,
>anyway.
* org.el (org-skip-over-state-notes): do not compute bottom point at
each item.
* org-mouse.el (org-mouse-for-each-item): use `org-apply-on-list'
instead of moving to each item.
* org.el (org-priority): Save match data before call to
`read-char-exclusive'.
Otherwise interactively calling `org-priority' with org-indent-mode
enabled fails to set a new priority cookie.
Bug reported by Joseph Buchignani.
* org.el (org-store-log-note): Indent new notes to the right column.
Also take `org-list-two-spaces-after-bullet-regexp' into
consideration when creating the note.
* lisp/org.el (org-delete-backward-char): check for nil overwrite-mode before inserting
spaces.
TINYCHANGE
There's probably a different/better way to do this, but this seemed the least intrusive.
This patch is in the public domain.
Also bind `org-timer-cancel-timer' to `C-c C-x :' in org-mode.
We may want to bind this command in org-agenda-mode as well but
I don't have any good idea of a keybinding now.
* org.el (org-fontify-meta-lines-and-blocks): Alter main
regexp to match code blocks with switches and header
args. Call `org-src-font-lock-fontify-block' for automatic
fontification of code in code blocks, controlled by variable
`org-src-fontify-natively'.
(org-src-fontify-natively): New variable
* org-src.el (org-src-font-lock-fontify-block): New function
called during font-lock
(org-src-fontify-block): New function for manual fontification
of code block at point.
(org-src-fontify-buffer): New function to manually fontify all
code blocks in buffer
(org-src-get-lang-mode): New utility function to map language
name as a string to major mode symbol
Based on an initial fontification patch by David O'Toole and
suggestions from Carsten Dominik.
* org.el (org-indent-line-function): indentation of source block is
left to `org-edit-src-exit' and shouldn't be modified by
`org-indent-line-function'. Indentation of others blocks should be
the same as the #+begin line.
* org-list.el (org-list-bullet-string): do not modify match-data.
* org.el (org-toggle-item): now working again when changing list items
into plain text. Moreover take into consideration
`org-list-two-spaces-after-bullet-regexp'.
* org.el (org-set-font-lock-defaults): Correct fontification for
checkboxes found after [@start:?].
* org-list.el (org-list-at-regexp-after-bullet-p): skip any [@start:?]
when looking at a regex after a bullet.
* org-list.el (org-toggle-checkbox): correct insertion of checkboxes
when there is already a [@start:?] in the item.
* org-list.el (org-checkbox-blocked-p): properly check if there's an
unchecked item before.
* org-list.el (org-list-parse-list): function handles items having
both a counter and a checkbox.
* org.el (org-ctrl-c-ctrl-c): call `org-fix-bullet-type' instead of
`org-maybe-renumber-ordered-list' and `org-fix-bullet-type' before
toggling a checkbox.
* org-list.el (org-list-bottom-point): Be sure to check real
ORG-OUTLINE-REGEXP and not outline-regexp, that might be modified.
* org.el (org-cycle-internal-local): cycle up to end of subtree or end
of item if we are in a list.
* Makefile (LISPF): adding ob-scheme.el to the makefile
* lisp/ob-scheme.el: very preliminary support for evaluating scheme
code blocks
* lisp/org.el (org-babel-load-languages): adding scheme
Thanks to Nick Dokos for pointing out this as a fix to a Babel issue
* lisp/org-macs.el (org-save-outline-visibility): moved from org.el
* lisp/org.el: moved `org-save-outline-visibility' to org-macs.el
ob-org has two non-standard header arguments in that it exports it's
results by default and the result type defaults to raw, this ensures
that the body of a begin_src org block exports transparently.
This is a breaking change in that if you are currently using org
code blocks to export org-fontified code you will have to set the
":exports" header argument for org-mode blocks to "code" on a block,
file, language or system-wide basis.
* Makefile (LISPF): adding ob-org.el to the makefile
* lisp/ob-org.el: defines handling of org code blocks
* lisp/ob.el (org-babel-insert-result): now when "org" is a result
type the results are wrapped in an org code block
* Makefile (LISPF): now compiling and installing ob-plantuml.el
* contrib/scripts/.gitignore : ignores the plantuml.jar file, so that
it can be located next to ditaa.jar
* lisp/ob-plantuml.el: adding copyright notice and FSF attribution
(org-plantuml-jar-path): now a defcustom
(org-babel-execute:plantuml): now using org-babel-eval which
displays error messages
* lisp/org.el (org-babel-load-languages): ob-plantuml is now part of
org-babel-load-languages
* org.el (org-store-link): Return link when invoked non-interactively from
an agenda buffer.
TINYCHANGE
> Summary:
>
> When I trigger a org-capture, with the cursor positioned on a line in
> the agenda buffer, I want the link to the agenda entry to be available
> as an annotation (%a) to the capture process. Currently this is broken.
>
> The enclosed patch fixes this.
>
> Setup:
>
> # file todo.org
> * TODO Talk to someone
> SCHEDULED: <2010-08-23 Mon>
>
> # org-capture-templates
> ("z" "Conversation" entry
> (file+headline "~/conversation.org" "Conversations")
> "** Note taken on %U\n %a\n %?" :prepend t :empty-lines 1)
>
> Steps for reporduction:
>
> 1. Restrict agenda to todo.org
> 2. Do org-agenda
> 3. Place the cursor on the above todo line
> 4. Trigger an org-capture for the above capture entry
>
> Examine the entries in conversation.org before/after the patch is
> applied. Note the absence/presence of the link to the parent todo entry.
>
> * Conversations
>
> ** Note taken on [2010-08-23 Mon 03:58]
> [[file:~/todo.org::*Talk%20to%20someone][Talk to someone]]
>
> ** Note taken on [2010-08-23 Mon 03:42]
>
> Jambunathan K.
* org.el (org-store-link): Storing of links to headlines in indirect
buffers was broken. Fix it.
TINYCHANGE
Summary:
> When org-store-link is invoked on a headline in indirect buffer (as in a
> capture buffer), hyperlink gets created to the file and NOT the
> headline. This is a bug.
>
> The attached patch fixes this.
>
> Setup:
>
> # ~/.emacs
>
> (defun my-conversation-id ()
> (interactive)
>
> (remove-hook 'org-capture-before-finalize-hook 'my-conversation-id)
>
> (let ((org-link-to-org-use-id t))
> (call-interactively 'org-store-link)
> )
> )
>
> # org-capture-templates
>
> ("x" "Conversations" entry
> (file+headline "~/conversation.org" "Conversations")
> "%(progn (add-hook 'org-capture-before-finalize-hook 'my-conversation-id) \"\")** Note taken on %U\n %? " :prepend t :empty-lines 1)
>
> Steps for reproduction:
>
> Trigger org-capture for the above capture entry.
>
> Examine conversation.org before/after the patch is applied. Note the
> absence/presence of IDs for the captured entry.
>
> Check for the stored links using C-c C-l. Note the file/headline links.
>
> # file conversation.org before and after the patch
>
> * Conversations
>
> ** Note taken on [2010-08-23 Mon 04:33]
> :PROPERTIES:
> :ID: 7e1974a6-8fa1-43cf-bef3-2adf37d99130
> :END:
>
> ** Note taken on [2010-08-23 Mon 04:32]
>
> # (org-insert-link) showing stored links before and after the patch
>
> file:~/conversation.org (file:~/conversation.org)
> id:7e1974a6-8fa1-43cf-bef3-2adf37d99130 (Note taken on [2010-08-23 Mon 04:33])
>
The latest XEmacs package release does now contain a modern version of
outline.el, put there by Michael Sperber.
* Makefile: Remove targets related to noutline.el.
* README: Remove the entry for the xemacs directory.
* README_DIST: Remove the entry for the xemacs directory.
* doc/org.texi (Installation): Remove the special installation
instructions for XEmacs.
* lisp/org.el (outline): Remove special code to load noutline.el
for XEmacs.
* xemacs/README: File removed.
* xemacs/noutline.el: File removed.
* xemacs/ps-print-invisible.el: File removed.
* lisp/org.el (org-make-tags-matcher): Read "\\-" as "-" in
the tags/property matcher.
Ilya Shlyakhter writes:
> When doing an agenda tags match for tags or properties with dashes in
> their name, the dashes become negation operators: "my-prop>0" means
> "entries that have the tag 'my' and do not have a positive property
> 'prop'", rather than "entries that have a positive property
> 'my-prop'". Is there a way to escape the dashes to get the latter
> meaning?
* lisp/org.el (org-complex-heading-regexp-format): Document the variable.
(org-get-refile-targets): Use `org-complex-heading-regexp-format' to
make the regular expression for matching the headline.
Now we use the format for the complex heading regexp, which means that
Changing the TODO state, level, priority, or tags of a heading will
still allow the heading to be matched by the regexp.
* lisp/org.el (org-refile-check-position): New function.
(org-goto):
(org-refile-get-location): Call `org-refile-check-position'.
Samuel Wales has reported that the cache is loosing it, occasionally.
* lisp/org-exp.el (org-export-with-LaTeX-fragments): New default t, which
now means to use MathJax processing for HTML. Also allow new value
`dvipng' to force the old image processing.
(org-infile-export-plist): Parse for MATHJAX setup line.
* lisp/org-html.el (org-export-html-mathjax-options): New option.
(org-export-html-mathjax-config): New function.
(org-export-html-mathjax-template): New option.
(org-export-html-preprocess): Call the LaTeX snippet processor with an
additional argument to declare special ways of processing.
(org-export-as-html): Bind the dynamical variable
`org-export-have-math'. Insert the MathJax script template when it is
needed by the document.
* lisp/org.el (org-preview-latex-fragment): Call `org-format-latex' with
the additional processing argument.
(org-export-have-math): New variable, for dynamic scoping.
(org-format-latex): Implement specific ways of processing. New
function argument for processing type.
(org-org-menu): Remove the entry to configure LaTeX snippet
processing.
MathJax is now the default for displaying math in a browser.
On Fri, Jul 30, 2010 at 4:38 PM, Rainer Stengele
<rainer.stengele@online.de>wrote:
> Having
>
> * headline 1
> :PROPERTIES:
> :VISIBILITY: folded
> :END:
> ** headline 2.1
> - stuff
> ** headline 2.1
> :PROPERTIES:
> :VISIBILITY: folded
> :END:
> - stuff
>
> C-u C-u <TAB>
> Switch back to the startup visibility of the buffer, i.e. whatever is
> requested by startup options and VISIBILITY properties in individual
> entries.
>
>
> does not result in
>
>
> * headline 1...>
>
>
> as expected. Instead I get:
>
>
> * headline 1...>
> ** headline 2.1...>
> ** headline 2.1...>
>
>
> removing the second folded propertiy results correctly in:
>
> * headline 1...>
>
>
> This looks like a bug in the :VISIBILITY: handling!?
>
>
>
I am not sure whether this is a bug. But it looks like the above scenario
was not considered initially. I might be wrong.
The attached patch seems to solve this problem.
* lisp/org.el: org-set-visibility-according-to-property ()
Use backward search instead of forward, so that top hierarchy gets
priority.
Thanks and Regards
Noorul
http://article.gmane.org/gmane.emacs.orgmode/28415
,----
| From: Carsten Dominik <carsten.dominik@gmail.com>
| Subject: Re: [Orgmode] Change resolution of LaTeX formulas in HTML output?
| To: Bastien <bastien.guerry@wikimedia.fr>
| Cc: amscopub-mail@yahoo.com, emacs-orgmode@gnu.org
| Date: Fri, 6 Aug 2010 12:46:28 +0200
|
| On Aug 5, 2010, at 12:32 AM, Bastien wrote:
|
| > amscopub-mail@yahoo.com writes:
| >
| >> Is there a way to control the resolution of PNG LaTeX formulas when
| >> you export to HTML?
| >
| > I've implemented this.
|
| I would not think that we need this change, the :scale and :html-scale
| parameters do this for in-buffer display and html formatting,
| respectively.
|
| Please revert this change.
|
| - Carsten
`----
* contrib/lisp/org-wikinodes.el: New file.
* lisp/org-exp.el (org-export-preprocess-after-radio-targets-hook):
(org-export-define-heading-targets-headline-hook): New hooks.
* lisp/org.el (org-modules): Add entry for org-wikinodes.el.
(org-font-lock-set-keywords-hook): New hook.
(org-open-at-point-functions): New hook.
(org-find-exact-headling-in-buffer):
(org-find-exact-heading-in-directory): New functions.
(org-mode-flyspell-verify): Better cursor position for checking if
flyspell should ignore a word.
* lisp/org.el (org-link-search-must-match-exact-headline): New option.
(org-link-search-inhibit-query): New variable.
(org-link-search): Search for exact headline match in Org files
* doc/org.texi (Internal links): Document the changes in internal links.
Internal links used to do a fuzzy text search for the link text. This
patch changes the behavior for Org files. Here a link [[My Target]]
now searches for an exact headline match, i.e. for a headline that
does look like "* My Target", optionally with TODO keyword, priority
cookie and tags.
The new option `org-link-search-must-match-exact-headline' is
`query-to-create' by default. This means that a failed link search
will offer to create the headline as a top-level headline at the end
of the buffer. This corresponds to a wiki-like behavior where missing
targets are automatically created. If you do not like this behavior,
change the option to t.
This parameter default to 140 and controls the resolution of images
created from LaTeX fragments for HTML output. There is no :resolution
parameter: the resolution of images produced for a buffer is computed
from the font height.)
This was suggested by Uriel (amscopub-mail@yahoo.com).
From: Alexandre Passos <alexandre.tp@gmail.com>
> I was editing an org document on a server earlier today, remotely
> using tramp, and continuously exporting it to html. When I added
> LaTeX, it exported once and then not anymore, failing because it
> couldn't create a directory anymore. So I found out that patching
> org-export-latex to pass a "t" parameter to org-make-directory fixes
> this, and it continues to work perfectly. This is the modified version
> of that function, if anyone else is interested in this constrained
> case. The only change I made was right under the "make sure directory
> exists" comment.
Hello,
Like what is already done with drawers, point should not move when
cycling visibility of headings and list items.
The call to `org-back-to-heading' this patch removes seems redundant
anyways.
Regards,
-- Nicolas
>From 17cd55557d747366c90fad47b44edeac2daf920b Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <n.goaziou@gmail.com>
Date: Sun, 25 Jul 2010 23:14:08 +0200
Subject: [PATCH] Cursor stays at same column when cycling visibility.
* org.el (org-cycle-internal-local): Removed an unnecessary call to
`org-back-to-heading' that was preventing point to stay at its
column when cycling visibility.
* lisp/org.el (org-insert-time-stamp): Fix org-insert-time-stamp so
that the value of org-last-inserted-timestamp includes time range.
Previously, org-last-inserted-timestamp included only the
beginning of a time range (e.g., 10:00 instead of 10:00-12:00).
This caused parsing problems elsewhere, such as when rescheduling
items with repeating timestamps and a time range (the repeater
was removed during rescheduling).
This is the eighth patch in a series that makes some straightforward
corrections to a number of docstrings. Each change is normally to:
- correct a typo, or
- fix up hyperlinks to function or variable names, or
- ensure slightly better conformance with the documentation guidelines
and tips given in the Elisp manual
* lisp/ob-ref.el (org-babel-ref-resolve-reference): removed an error
introduced while fixing compiler warnings -- required mirroring of
the count cl-seqs function under the org-mode namespace.
* lisp/org.el (org-count): adding an org-mode version of the cl-seqs
count function