* 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.
* doc/org.texi (Setting up the staging area): Document use of crypt password.
* lisp/org-mobile.el (org-mobile-encryption-password): Improve docstring.
(org-mobile-encryption-password-session): New variable.
(org-mobile-encryption-password): New function.
(org-mobile-check-setup):
(org-mobile-encrypt-file):
(org-mobile-decrypt-file): Use the new function.
* org-capture.el (org-capture-place-template): Widen to remove
possible restrictions in target buffer.
Jules Bean wrote:
>If I run org-capture with the template:
>("t" "Todo" entry (file+headline
>"/Users/jules/work/TODO.org" "Tasks") "* TODO %?
> (Captured at %u)
> %i
> %a
>")
>whilst I have narrowed (using, e.g., org-narrow-to-subtree) the buffer
>that contains TODO.org, a new "* Tasks" headline is inserted at the
>end of my narrowing and the new entry is added there, which messes up
>the hierarchy of the file.
* 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
* ob-scheme.el (org-babel-execute:scheme): Alter temp file name
* ob-ruby.el (org-babel-ruby-evaluate): Alter temp file name
* ob-python.el (org-babel-python-evaluate-external-process):
Alter temp file name
* ob-perl.el (org-babel-perl-evaluate): Alter temp file name
* ob-octave.el (org-babel-octave-evaluate-session):
Alter temp file name
(org-babel-octave-import-elisp-from-file): Alter temp file name
* ob-ledger.el (org-babel-execute:ledger): Alter temp file name
* ob-gnuplot.el (org-babel-gnuplot-process-vars): Alter temp
file name
(org-babel-execute:gnuplot): Alter temp file name
* ob.el (org-babel-process-file-name): New function
(org-babel-maybe-remote-file): Delete function
* ob-sql.el (org-babel-execute:sql):
Use org-babel-process-file-name
* ob-scheme.el (org-babel-execute:scheme):
Use org-babel-process-file-name
* ob-sass.el (org-babel-execute:sass):
Use org-babel-process-file-name
* ob-ruby.el (org-babel-ruby-evaluate):
Use org-babel-process-file-name
* ob-python.el (org-babel-python-evaluate-external-process):
Use org-babel-process-file-name
(org-babel-python-evaluate-session):
Use org-babel-process-file-name
* ob-plantuml.el (org-babel-execute:plantuml):
Use org-babel-process-file-name
* ob-perl.el (org-babel-perl-evaluate):
Use org-babel-process-file-name
* ob-octave.el (org-babel-octave-evaluate-external-process):
Use org-babel-process-file-name
(org-babel-octave-evaluate-session):
Use org-babel-process-file-name,
don't use org-babel-maybe-remote-file
* ob-lisp.el (org-babel-execute:lisp):
Use org-babel-process-file-name
* ob-ledger.el (org-babel-execute:ledger):
Use org-babel-process-file-name
* ob-js.el (org-babel-execute:js):
Use org-babel-process-file-name
* ob-haskell.el (org-babel-haskell-export-to-lhs):
Use org-babel-process-file-name
* ob-gnuplot.el (org-babel-execute:gnuplot):
Use org-babel-process-file-name
* ob-eval.el (org-babel-eval-read-file): Don't use
org-babel-maybe-remote-file
* ob-dot.el (org-babel-execute:dot):
Use org-babel-process-file-name
* ob-ditaa.el (org-babel-execute:ditaa):
Use org-babel-process-file-name
* ob-clojure.el (org-babel-clojure-evaluate-external-process):
Use org-babel-process-file-name
* ob-asymptote.el (org-babel-execute:asymptote):
Use org-babel-process-file-name
* ob-R.el (org-babel-R-assign-elisp): Don't use
org-babel-maybe-remote-file, use org-babel-process-file-name
(org-babel-R-evaluate-external-process):
Use org-babel-process-file-name
(org-babel-R-evaluate-session):
Use org-babel-process-file-name
* ob-C.el (org-babel-C-execute):
Use org-babel-process-file-name
In addition to passing the file path through `expand-file-name',
tramp-style remote file names are converted to conventional (local)
file paths. The reason is that, if a tramp file name was in use in
emacs, then the shell command will be executing on the remote machine
in question. Further, by default the file name is passed through
`shell-quote-argument'.
* 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-src.el (org-src-strip-leading-and-trailing-blank-lines):
New variable allowing prevention of automatic stripping of
leading and trailing blank lines when exiting edit buffer.
(org-edit-src-exit): Respect value of
`org-src-strip-leading-and-trailing-blank-lines'
(org-src-native-tab-command-maybe): Bind
`org-src-strip-leading-and-trailing-blank-lines' to nil during
this function.
Thanks to Richard Riley for the initial idea and implementation
* lisp/ob.el (org-babel-demarcate-block): interactive demarcation of
code blocks
* lisp/ob-keys.el (org-babel-key-bindings): key bindings for block
demarcation
* doc/orgcard.tex: documentation in the ref card
* 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-list.el (org-cycle-list-bullet): follow order of bullets
indicated in doc-string.
* org-list.el (org-list-bottom-point-with-indent): list is ended when
a line is less indented that the last item, not the less indented item.
* lisp/ob-exp.el (org-babel-exp-src-blocks): now switching back to the
original file before resolving code block parameters to ensure
headline and buffer wide parameters are taken into consideration
when only a narrowed portion of the file is exported
Aidan Gauland <aidalgol@no8wireless.co.nz> writes:
> Sebastian Rose <sebastian_rose <at> gmx.de> writes:
>> did you revert the previous patch? The second patch was against master
>> again.
>
> I ran git reset --hard then applied the second patch.
>
>> I changed to a subdirectory of my :base-directory (here $BASE):
>>
>> $ cd ${BASE}/subdirectory
>> $ cp ~/images/first.jpg . # a simple image
>> $ ln -s ~/images/second.jpg # a link to an image
>> $ ln -s ~/images/screenshots/ # a link to a directory
>>
>> When exporting, I get this tree in :publishing-directory ($PUB):
>>
>> $PUB/
>> |-- subdirectory/
>> | |-- first.jpg
>> | |-- second.jpg
>> | `-- screenshots/
>> | |-- some.png
>> | `-- other.png
>>
>> which is what you expected, is that right?
>
> Yes, that's what I expected. What I'm getting is a little different.
>
> $PUB/
> `-- subdirectory/
> |-- screenshots/
> | `-- subdirectory/
> | `-- screenshots/
> | |-- other.png
> | `-- some.png
> `-- subdirectory/
> |-- first.jpg
> |-- second.jpg
>
> This is how the project is defined...
> (setq
> org-publish-project-alist
> '(("static"
> :base-directory "~/org-bug/"
> :publishing-directory "~/org-bug-pub/"
> :publishing-function org-publish-attachment
> :recursive t
> :base-extension "css\\|gz\\|bz\\|lzma\\|jpg\\|gif\\|png")))
>
> And published with this sexp.
> (org-publish "static")
>
> Perhaps the discrepancy between our setups is git commit (not sure if
> I'm using the right terms there)? git log shows
> 878d94b472 at the top of its output.
>
> Thanks for your help!
> --Aidan
Ahrrgh :)
I just pulled, because I couldn't find that commit.
That commit already includes the (obviously wrong) first patch...
Here's the patch that reverts the first attempt and applies the new
one. Hope this works :)
Sebastian
* lisp/org-publish.el (org-publish-attachment): Put the attachment
into the right directory.
Aidan Gauland <aidalgol@no8wireless.co.nz> writes:
> On Thu, Sep 16, 2010 at 12:40:34AM +0200, Sebastian Rose wrote:
>> Aidan Gauland <aidalgol@no8wireless.co.nz> writes:
>> > Sebastian Rose <sebastian_rose <at> gmx.de> writes:
>> >> It would be a bug.
>> >>
>> >> But I cannot reproduce it (current Org mode from git, emacs24).
>> >
>> > I just figured out why: I store all my images in ~/images/ and just
>> > have symbolic links to them in my Org website directory.
>> >
>> > Can you reproduce it now that you have this piece of information?
>>
>>
>> Ah, OK. That might be because of some call to
>>
>> (file-truename file...)
>>
>> or similar. `file-truename' removes symbolic links in filenames.
>>
>> Functions like this are called to make sure, the file is published only
>> if needed (i.e. the file has changed since last export).
>>
>> I'm not sure currently if it's clever to remove such calls (see
>> lisp/org-publish.el and search `file-truename').
>
> What if `file-truename' was used only to get the path of the actual
> file to copy, but the (relative) path of the link is used as the
> destination?
>
> --Aidan
Hi Aidan,
`org-publish-attachment' is wrong or called with wrong arguments.
This patch fixes it.
As always, there might be a better way to fix it,
but this way the function `org-publish-attachment' will work regardless
of parameters. Someone will always call this function with the wrong
`PUB-DIR' parameter...
Aidan, would like to apply the patch and verify it works for you?
Best wishes,
Sebastian
[My apologies, but I'm afraid my first attempt at this patch mistook a
necessary second check for redundancy. Here is an improved version.]
* lisp/org-agenda.el (org-prepare-agenda): If the agenda is called
from within the agenda via an elisp link, such as
[[elisp:(org-agenda-list)]], org-prepare-agenda erases the buffer of
the file containing the link, since that buffer is current during
org-prepare agenda (due to a with-current-buffer in
org-agenda-open-link). An additional test now ensures that the
agenda buffer is in fact current when the buffer is erased and local
variables for the agenda are set.
Example:
{{{property(id)}}}
Will insert the ID property of current subtree if the Org buffer is
exported.
* lisp/org-exp.el (org-infile-export-plist): Define property macro
TINYCHANGE
Define a new variable org-icalendar-use-UTC-date-time that when
non-nil make icalendar exporter to use UTC date-time for better
compatibility with some other software (as GCALDaemon).
* lisp/org-icalendar.el (org-icalendar-use-UTC-date-time): New option.
(org-ical-ts-to-string): Use UTC time when requested.
Hi,
The attached patch makes it clear when a language mode has thrown an
error. This can clear up confusion whether an error is originating from
Org-mode or form the language-mode in question.
Should this be committed?
Best -- Eric
On Wed, Sep 8, 2010 at 2:12 AM, Daniel Clemente <n142857@gmail.com> wrote:
>
> Commit bd1b57f92a broke the exporting
> of [[file:a.org]] links, which now appear as [[http:a.html]]. Try
> C-c C-e H on any .org with such links, even in emacs -Q.
>
> The problem is, I think, that „type“ is actually "http", not "file"
> as the code tries.
>
* lisp/org-html.el (org-html-cvt-org-as-html): Do not convert protocol
from 'file' to 'http'.
TINYCHANGE
* 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.
* org-gnus.el (org-gnus-nnimap-query-article-no-from-file): New
customization variable.
(org-gnus-nnimap-cached-article-number): New function.
(org-gnus-follow-link): Try to fetch cached article number of
message-id.
Some IMAP servers (e.g. Courier) are slow when searching for a message
by its message id header field. Because article numbers in IMAP
mailboxes are persistent UIDs, we can try to look up the UID of a IMAP
message in Gnus' cache for the mailbox in question and skip the slow
search on the server.
The problem with slow server was reported by Sébastien Vauban and the
patch is based on the work of Tassilo Horn.
* lisp/ob-org.el (org-babel-org-default-header): used to insert a
dummy first line into code blocks before export so that the first
line is not interpreted as a title
(org-babel-org-export): use new dummy code block prefix
* lisp/ob-keys.el (org-babel-key-bindings): adding key-binding for
`org-babel-goto-src-block-head'
* lisp/ob.el (org-babel-goto-src-block-head): jump to the head of the
current code block
* lisp/ob.el (org-babel-next-src-block): now raising more informative
error when no further code blocks can be found
(org-babel-previous-src-block): now raising more informative error
when no previous code blocks can be found
* ob-python.el (org-babel-python-evaluate): Refactor as call
to either `org-babel-python-evaluate-external-process' or
`org-babel-python-evaluate-session'.
(org-babel-python-evaluate-external-process): New function to
handle evaluation in external process.
(org-babel-python-evaluate-session): New function to
handle evaluation in emacs inferior process.
* lisp/ob-org.el (org-babel-execute:org): evaluates body to latex
ascii or html respecting :results header arg
(org-babel-org-export): exports a string of text to an output format
Thanks to Sébastien Vauban for making the case for this behavior
* lisp/ob.el (org-babel-insert-result): remove existing results when
nil results are returned
* org-list.el (org-list-insert-item-generic): Updating checkboxes can
modifiy bottom point of a list, so make it a marker before calling
`org-update-checkbox-count-maybe'.
- this is required due to recent changes to org-babel-map-src-blocks
- thanks to Dan for pointing this out
* lisp/ob-tangle.el (org-babel-tangle-collect-blocks): rename `lang'
to `language'
* lisp/ob-tangle.el (org-babel-tangle-comment-format-beg): format
string specifying the link-comment preceding a code block
(org-babel-tangle-comment-format-end): format string specifying the
link-comment following a code block
(org-babel-tangle-collect-blocks): storing more information in the
spec of a tangling code block
(org-babel-spec-to-string): now makes use of customizable
link-comment formats
* 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.
* org-icalendar.el (org-print-icalendar-entries): Exclude tags from
summary of non-TODO ical entries.
(org-print-icalendar-entries): Use
`org-complex-heading-regexp' to exclude tags from summary of
TODO ical entries.
* org-list.el (org-toggle-checkbox): Ignore items in drawers when used
from an heading. Send an error when no item is in region.
* org-list.el (org-update-checkbox-count): Correctly handle argument
ALL. Speed optimization.
This commit introduces a new set of :comments header arguments
- no :: retains its behavior of not tangling any comments
- yes :: retains its behavior of wrapping the code in links back to
the original org-mode file
- link :: is synonymous with "yes"
- org :: does not wrap the code in links back to the original org
file, but does include preceding text from the org-mode
file as a comment before the code block
- both :: turns on both the "link" and "org" options
* lisp/ob-tangle.el (org-babel-tangle-pad-newline): can be used to
control the amount of extra newlines inserted into tangled code
(org-babel-tangle-collect-blocks): now conditionally collects
information to be used for "org" style comments
(org-babel-spec-to-string): now inserts "org" style comments, and
obeys the newline configuration variable when inserting whitespace
* doc/org.texi (comments): documenting the new :comments header
arguments
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.
notifications.el is a new package from Julien Danjou, available
in Emacs 24.1. From etc/NEWS:
,----
| ** notifications.el provides an implementation of the Desktop
| Notifications API. It requires D-Bus for communication.
`----
* org-src.el (org-src-tab-indents-natively): New variable controlling
whether language-native TAB action should be performed
(org-src-native-tab-command-maybe): New function to perform
language-native TAB action.
(org-tab-first-hook): Add `org-src-native-tab-command-maybe'
* 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.
Achim Gratz <Stromeko@nexgo.de> writes:
> HTML export removes the "mailto:" from a link, which will then be
> interpreted as a local link by the browser.
>
> For an example, see the link to this mailing list in
> ORGWEBPAGE/index.org and the corresponding HTML export on orgmode-org
> (or just the local file).
>
org-html.el : Fix exporting file, mailto, news and ftp protocols.
* lisp/org-html.el (org-html-make-link): (expand-file-name
) removes one "/" from "///path-to-file", so add one. Anything other
than 'file' type should be exported along with the type.
TINYCHANGE
Thanks and Regards
Noorul
Hi Carsten,
this little patch fixes an issue Richard brought up.
We always used the "w" template as the default for `org-remember' and
also used it for `org-capture' for historical reasons.
Unfortunately, this breaks, if the user has no "w" template defined.
The patch below simply set's the custom variable
`org-protocol-default-template-key' to nil, so the interactive template
selection is used by default. This works for both, remember an capture.
I will adjust the docs, once the patch is applied.
Thanks,
Sebastian
* lisp/org-capture.el (org-capture): Remove read-only text properties
from capture text.
(org-capture-set-target-location): Throw an error if file+headline
target does not point into a file which is in Org mode.
Richard Riley writes:
> If I select a region in, in this case, an erc (emacs irc client)
> buffer in the read only section and then use my global keys to create
> a new item using the following "j" template while the text is still
> selected
>
> ("j" "Journal" entry
> (file+datetree "journal.org")
> "* %T %?\n %i\n %a")
>
> then I get the following backtrace :-
>
> Debugger entered--Lisp error: (error "Capture abort: (text-read-only)")
> signal(error ("Capture abort: (text-read-only)"))
> error("Capture abort: %s" (text-read-only))
> byte-code("\301\302!\203\n
Thanks to John Hendy for pointing out the bad behavior and to Juan
Pechiar for pointing out the problem in the code
* lisp/ob-ditaa.el (org-babel-execute:ditaa): now expanding
org-ditaa-jar-path with expand-file-name
* org-ascii.el (org-export-ascii-preprocess): allow [@start:x] and
[@x] syntax for list numbering.
* org-capture.el (org-capture-place-item): make use of new tools.
* org-capture.el (org-capture-insert-template-here): mark use of new
tools.
* org-docbook.el (org-export-as-docbook): remove list ending detection
as they are now marked explicitely.
* org-exp.el (org-export-mark-list-ending): new function.
* org-exp.el (org-export-preprocess-string): mark list endings with
`org-export-mark-list-ending'.
* org-html.el (org-export-as-html): remove list ending detection as
they are now marked explicitely. Use value option in list items
instead of start when special numbering is needed.
* org-latex.el (org-export-latex-lists): make use of new tools.
Allow [start:x] and [@x] syntax for list numbering.
* org-list.el (org-list-two-spaces-after-bullet-regexp): docstring
correction.
* org-list.el (org-list-beginning-re): variable removed.
* org-list.el (org-list-ending-method): new variable.
* org-list.el (org-empty-line-terminates-plain-lists): corrected
docstring to match new lists.
* org-list.el (org-list-end-regexp): new variable.
* org-list.el (org-list-automatic-rules): new variable.
* org-list.el (org-provide-checkbox-statistics): variable removed.
* org-list.el (org-list-end-re): new function.
* org-list.el (org-item-re): allow regexp to properly recognize items
with two spaces after bullet.
* org-list.el (org-item-beginning-re): pay attention to
`org-plain-list-ordered-item-terminator' when defining an item.
Replace `org-list-beginning-re'.
* org-list.el (org-list-ending-between): new function.
* org-list.el (org-list-maybe-skip-block): new function.
* org-list.el (org-list-search-unenclosed-generic): new function.
* org-list.el (org-search-backward-unenclosed): new function.
* org-list.el (org-search-forward-unenclosed): new function.
* org-list.el (org-list-in-item-p-with-indent): new function.
* org-list.el (org-list-in-item-p-with-regexp): new function.
* org-list.el (org-list-top-point-with-regexp): new function.
* org-list.el (org-list-bottom-point-with-regexp): new function.
* org-list.el (org-list-top-point-with-indent): new function.
* org-list.el (org-list-bottom-point-with-indent): new function.
* org-list.el (org-list-at-regexp-after-bullet-p): new function.
* org-list.el (org-list-get-item-same-level): new function.
* org-list.el (org-list-separating-blank-lines-number): new function.
* org-list.el (org-list-insert-item-generic): new function.
* org-list.el (org-list-indent-item-generic): new function.
* org-list.el (org-in-item-p): now depends on `org-list-ending-method'.
* org-list.el (org-list-first-item-p): now needs list top item as
argument.
* org-list.el (org-at-item-timer-p): new function.
* org-list.el (org-at-item-description-p): new function.
* org-list.el (org-checkbox-blocked-p): make use of new tools.
Ignore [@start:x] and [@x] constructs before any checkbox.
* org-list.el (org-list-top-point): new function.
* org-list.el (org-list-bottom-point): new function.
* org-list.el (org-get-item-beginning): new function.
* org-list.el (org-beginning-of-item): make use of new tools.
* org-list.el (org-get-beginning-of-list): new function.
* org-list.el (org-beginning-of-item-list): make use of new list
tools.
* org-list.el (org-get-end-of-list): new function.
* org-list.el (org-end-of-item-list): make use of new tools.
* org-list.el (org-get-end-of-item): new function.
* org-list.el (org-end-of-item): make use of new tools.
* org-list.el (org-end-of-item-text-before-children): function removed.
* org-list.el (org-end-of-item-or-at-child): new function.
* org-list.el (org-end-of-item-before-blank): new function.
* org-list.el (org-get-previous-item): new function.
* org-list.el (org-previous-item): make use of new tools.
* org-list.el (org-get-next-item): new function.
* org-list.el (org-next-item): make use of new tools.
* org-list.el (org-list-exchange-items): new function.
* org-list.el (org-move-item-down): preserve blank lines when moving
items.
* org-list.el (org-move-item-up): preserve blank lines when moving
items.
* org-list.el (org-cycle-list-bullet): Apply rules defined in
`org-list-automatic-rules.
* org-list.el (org-insert-item): check `org-list-automatic-rules'
before inserting a checkbox in an description list. Apply some
heuristics to guess correct number of blank lines to insert between
items.
* org-list.el (org-list-struct-assoc-at-point): new function.
* org-list.el (org-list-struct): new function.
* org-list.el (org-list-struct-origins): new function.
* org-list.el (org-list-struct-get-parent): new function.
* org-list.el (org-list-struct-get-child): new function.
* org-list.el (org-list-struct-fix-bul): new function.
* org-list.el (org-list-struct-fix-ind): new function.
* org-list.el (org-list-struct-fix-struct): new function.
* org-list.el (org-list-struct-outdent): new function.
* org-list.el (org-list-struct-indent): new function.
* org-list.el (org-list-struct-apply-struct): new function.
* org-list.el (org-shift-item-indentation): now needs bottom position
of list as second argument.
* org-list.el (org-item-indent-positions): function removed.
* org-list.el (org-outdent-item): make use of new tools. Document
region handling.
* org-list.el (org-indent-item): make use of new tools. Document
region handling.
* org-list.el (org-outdent-item-tree): make use of new tools. Document
region handling.
* org-list.el (org-indent-item-tree): make use of new tools. Document
region handling.
* org-list.el (org-suppress-item-indentation): variable removed.
* org-list.el (org-cycle-item-indentation): only cycle to meaningful
positions in the list.
* org-list.el (org-list-bullet-string): new function.
* org-list.el (org-get-bullet): remove dependence to
`org-list-item-beginning'.
* org-list.el (org-list-inc-bullet-maybe): new function.
* org-list.el (org-maybe-renumber-ordered-list): function removed.
* org-list.el (org-maybe-renumber-ordered-list): function removed.
* org-list.el (org-renumber-ordered-list): function removed.
* org-list.el (org-fix-bullet-type): function removed.
* org-list.el (org-list-repair): replace both
`org-renumber-ordered-list' and `org-fix-bullet-type'.
* org-list.el (org-toggle-checkbox): make use of new tools.
Handle [@start:x] and [@x] constructs. Check
`org-list-automatic-rules' when inserting a checkbox in a
description list.
* org-list.el (org-update-checkbox-count): make use of new tools.
* org-list.el (org-apply-on-list): new function.
* org-list.el (org-sort-list): new function.
* org-list.el (org-list-item-beginning): function removed.
* org-list.el (org-list-goto-true-beginning): function removed.
* org-list.el (org-list-end): function removed.
* org-list.el (org-list-parse-list): make use of new tools. Handle
[@start:x] and [@x] constructs.
* org-list.el (org-list-send-list): make use of new tools.
* org-list.el (org-list-to-generic): correctly transform description
items.
* org-timer.el (org-timer): added one optional argument to return the
string instead of inserting it in the buffer.
* org-timer.el (org-timer-item): insert timer item at correct column.
Return an error when inserting such item in a list of another type.
* org.el (org-set-font-lock-defaults): correctly fontify [@start:x]
and [@x] structures.
* org.el (org-cycle-internal-local): correctly cycle visibility of
items
* org.el (org-sort): now sort timer items.
* org.el (org-sort-entries-or-items): function removed.
* org.el (org-sort-entries-sort): New function. Replace
`org-sort-entries-or-items'. List sorting code has been moved to
`org-sort-list'.
* org.el (org-add-log-setup): removed extra &optional in arguments.
* org.el (org-store-log-note): make use of new tools. Indent correctly
before inserting an item.
* org.el (org-ctrl-c-ctrl-c): make use of new tools. Unconditionally
repair list when function is called.
* org.el (org-toggle-item): check
`org-list-two-spaces-after-bullet-regexp' when toggling items.
* org.el (org-in-regexps-block-p): allow string and form returning
string as END-RE argument.
* org.el (org-indent-line-function): documented code. Correctly indent
item body and text after a list. Indentation of source code is left
to `org-edit-src-exit'. Indentation of others blocks should be the
same as the #+begin line.
* 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-struct): accept list boundaries as an
argument in order to avoid computing `org-list-top-point' and
`org-list-bottom-point' twice when indenting.
* org-list.el (org-list-in-item-p-with-indent): Test if first line is
the item beginning.
* org-list.el (org-list-top-point-with-indent): Test if first line is
a valid list beginning.
* org-docbook.el (org-export-as-docbook): Removed check for
indentation on lines that do not start with a list bullet.
* org-html.el (org-export-as-html): Same thing.
* org-list.el (org-list-insert-item-generic): A single item already
counting blank lines in his body should be separated with the next
one by a blank line. Moreover, if user already provided blank lines,
follow his wishes.
* org-list.el (org-indent-item-tree): when moving top item of a *-list
to column 0, only the first item had its bullet changed to -. It now
changes all items of the top-level list, as expected.
* org-list.el (org-list-automatic-rules): doc-string reflects this
change.
* org-list.el (org-indent-item-tree): prevent whole list from being
moved when user is not moving subtree. Thus,
`org-cycle-item-indentation' will not allow to move the list.
* org-list.el (org-indent-item-tree): Removed region code. It was prone
to errors and undocumented.
* org-list.el (org-item-indent-positions): Better heuristics to
determine what bullet the item will have when demoted.
* 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-list.el (org-indent-item-tree): removed unnecessary bullets fix,
and improved heuristics to determine bullet when indenting.
* org-list.el (org-item-indent-positions): function now returns sane
results when there are two lists separated with blank lines only.
* org-docbook.el (org-export-as-docbook): Use override="num" in any
listitem matching [@start:num]
* org-html.el (org-export-as-html): Use value="num" in any li matching
[@start:num]
* 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-list.el: `org-at-description-p' renamed to
`org-at-item-description-p', `org-first-list-item-p' renamed to
`org-list-first-item-p', `org-end-of-item-text-before-children'
renamed to `org-end-of-item-or-at-child'.
* 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-bullet-string): New function returning bullet
concatenated with an appropriate number of white spaces.
* org-list.el (org-list-insert-item-generic): Insert the right bullet,
with help of `org-list-bullet-string'.
* org-list.el (org-indent-item-tree): Use `org-list-bullet-string'.
* org-list.el (org-fix-bullet-type): Use `org-list-bullet-string'.
* org-list.el (org-toggle-checkbox): send an error when
`org-toggle-checkbox' is trying to insert a checkbox at a
description item.
* org-list.el (org-item-re): modified regexp so it can catch correct
number of white space before item body.
* org-list.el (org-list-at-regexp-after-bullet-p): Take into
consideration new `org-item-re'.
* org-list.el (org-list-insert-item-generic): the second item in a
list will be separated from its predecessor with the number of blank
lines separating the first item from its parent, if any, or no blank
line.
* org-list.el (org-indent-item-tree): Fix and reorder every list and
sublist, from parent of list that has moved if indenting, or from
list at point if outdenting.
* org-list.el (org-list-replace-bullet): New internal function.
* org-list.el (org-indent-item-tree): Try to keep relative position on
line. It can't if point is in white spaces before bullet because
mixed tabs and spaces make some columns unattainable.
* org-list.el (org-cycle-item-indentation): Cycle when the whole item
only contains bullet and maybe a checkbox. Previously, TAB would
cycle when the first line of the item was blank.
* org-list.el (org-indent-item-tree): If indent rule is activated, it
should be impossible to outdent an item having children without
moving its subtree. Improved reordering of lists modified by cycling
indentation.
* org-list.el (org-maybe-renumber-ordered-list): Removed call for
`org-fix-bullet-type' to prevent infinite loop, and some checks
already done in `org-renumber-ordered-list'.
* org-list.el (org-fix-bullet-type): Remove a check and call directly
`org-maybe-renumber-ordered-list'
* org-list.el (org-indent-item-tree): It shouldn't be possible to
indent the first item of a sublist (though outdent is possible) as
it would break list's structure.
* org-list.el (org-list-insert-item-generic): When local search
doesn't help, search the list globally for blank lines. Moreover,
don't bother with new lists, and add 1 blank line.
* org-capture.el (org-capture-place-item): use `org-search-forward-unenclosed'
and `org-search-backward-unenclosed' and new variable `org-item-beginning-re'.
* org-list.el (org-item-beginning-re): regexp matching beginning of an item.
* org-list.el (org-in-item-p): Handle case when point is at an
heading.
* org-list.el (org-list-make-subtree): Add protection when used
outside of list
* org-list.el (org-insert-item): Removed useless hack now
`org-in-item-p' is fixed.
* org-timer.el (org-timer-item): Removed useless hack now
`org-in-item-p' is fixed.
* org-list.el (org-cycle-list-bullet): prevent description items from
being numbered. String argument is also recognized now, as long as
it is a valid bullet.
* org-list.el (org-indent-item-tree): moving indentation of top list
item will make the whole list move.
* org-list.el (org-apply-on-list): function is less sensitive to
changes of indentation.
Before this patch, cycling indentation of top list item would just
break list. Now, it does something useful.
* org-list.el (org-at-item-checkbox-p): add whitespaces at the end of
the regexp.
* org-list.el (org-checkbox-blocked-p): use new checkbox regexp.
* org-list.el (org-cycle-item-indentation): allow cycling description
items and checkbox items.
* org-list.el (org-toggle-checkbox): use new checkbox regexp.
* org-list.el (org-reset-checkbox-state-subtree): use new checkbox regexp.
* org-list.el (org-search-unenclosed-internal): new function to handle
both `org-search-forward-unenclosed' and
`org-search-backward-unenclosed'.
* org-list.el (org-search-backward-unenclosed): Can send errors now.
Removed useless usage of COUNT.
* org-list.el (org-search-forward-unenclosed): Can send errors now.
Removed useless usage of COUNT.
* org-list.el (org-update-checkbox-count): Use
`org-search-forward-unenclosed' and `org-search-backward-unenclosed'
instead of `re-search-forward' and `re-search-backward'.
* org-list.el (org-sort-list): Use
`org-search-forward-unenclosed' and `org-search-backward-unenclosed'
instead of `re-search-forward' and `re-search-backward'.
* org-list.el (org-list-make-subtree): Use
`org-search-forward-unenclosed' and `org-search-backward-unenclosed'
instead of `re-search-forward' and `re-search-backward'.
* org-timer.el (org-timer-item): Refactoring. Compute timer string
before inserting it in the buffer
* org-timer.el (org-timer): added an optional argument to return timer
string instead of inserting it.
* org-list.el (org-insert-item-internal): New function to handle
positionning and contents of an item being inserted at a specific
pos. It is not possible anymore to split a term in a description
list or a checkbox when inserting a new item.
* org-list.el (org-insert-item): Refactored by using the new
`org-insert-item-internal' function.
* org-timer.el (org-timer-item): Refactored by using the new
`org-insert-item-internal' function.
* 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.
in a special block now move before block.
* org-list.el (org-insert-item): Move before any special block in a
list prior to add a new item.
* org-timer.el (org-timer-item): When in a timer list, insert a new
timer item like `org-insert-item'. If in another list, send an
error. Otherwise, start a new timer list.
* org-timer.el (org-timer-item): Insert description list item at the
right column.
* org-list.el (org-insert-item): Insert the right number of blank
lines before a relative timer.
* org-list.el (org-search-backward-unenclosed): Do not stop in
protected places.
* org-list.el (org-search-forward-unenclosed): Do not stop in
protected places.
* org-latex.el (org-export-latex-lists): Use the fact that
org-search-forward do not stop anymore at protected places.
* org-list.el (org-search-backward-unenclosed): Do not prevent list
items from being inside LaTeX blocks.
* org-list.el (org-search-forward-unenclosed): Do not prevent list
items from being inside LaTeX blocks.
* org-list.el (org-in-item-p): Do not widen before checking if we are
in item.
* org-list.el (org-list-send-list): We cannot count on
`org-list-top-point' and `org-list-bottom-point' before buffer is
narrowed. Find bounds of list otherwise.