* 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-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.
* org-list.el (org-list-end-regexp): New customizable variable to
define what string should end lists.
* org-list.el (org-list-end-re): Function is now aware of
`org-list-end-regexp'.
* org-exp.el (org-export-mark-list-ending): fix number of blank lines
inserted after a list.
* org-list.el (org-list-parse-list): fix case when `org-list-end-re'
would have an indentation greater than current list.
* lisp/org-list.el (org-apply-to-list): Now a return value is handed
at each new call of the function applied.
* lisp/org-list.el (org-fix-bullet-type): Use the new
`org-apply-to-list' format.
* lisp/org-list.el (org-renumber-ordered-list): Use the new
`org-apply-to-list' format.
* lisp/org-list.el (org-search-forward-unenclosed): fix behavior when
last occurence was enclosed.
* lisp/org-list.el (org-search-backward-unenclosed): fix behavior when
last occurence was enclosed.
* lisp/org-list.el (org-list-parse-list): Better handling of
restrictions when function is called on a list with sublists.
* lisp/org-list.el (org-list-send-list): find the true ending of the
list being sent.
* lisp/org-list.el (org-list-radio-list-templates): templates are more
specific to lists.
This is the third 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
No attempt is made to provide missing docstrings or document arguments.
Cheers,
Phil
* lisp/org-list.el (org-list-send-list): Parse list from its true beginning.
* lisp/org.el (org-ctrl-c-ctrl-c): Maybe send the list when at a list item.
* doc/org.texi (Radio lists): Fix bug in description of radio lists.
* lisp/org-latex.el: items are no longer skipped when their first line
ends on a protected element.
* lisp/org-list.el: protected environments looking like lists are not
exported anymore.
Thanks to Nicolas Goaziou <n.goaziou@gmail.com> for this patch.
* doc/org.texi (Plain lists): Document
`org-list-demote-modify-bullet'.
* lisp/org-list.el (org-list-demote-modify-bullet): Improve docstring
by showing an example.
This change was triggered by a request by Livin Stephen Sharma.
This behavior is now parallel to the treatment of outline nodes.
This commit also introduces another change. When an outline node or a
plain list item is folded by outline and contains hidden children,
M-left/right will refuse to act on this item. You must either open
the tree, or use the subtree commands M-S-left and M-S-right.
Based on a patch by Matti De Craene, but significantly modified after
a discussion involving Bernt Hansen and others.
David Maus writes:
> When `org-previous-item' is called on an item with nothing above it
> Orgmode enters an infinite loop. The reason is that
> `org-previous-item' searches for non-empty lines by moving point up
> line by line and if there is nothing above an item point gets stuck on
> begin of buffer.
>
> example.org
> ,----
> |
> | - Item
> `----
>
> Move point on Item, M-x org-previous-item RET and Orgmode enters the
> infinite loop.
>
> Attached patch adds a conditional clause to `org-previous-item' that
> leaves the search loop if point reaches beginning of buffer.
Nicolas Girard writes:
> My point was, in the following two examples, the empty lines right
> before "C" should be preserved in the LaTeX output.
>
> Cheers,
> Nicolas
>
> #===
> - A2
> - B2
>
> C
> #===
>
>
> #===
> - A3
> - B3
>
>
> C
> #===
Daniel Hackney writes:
> When attempting to use radio lists for exporting in LaTeX, I
> found that they didn't work. I am using the example file shown
> below:
>
> ---BEGIN_EXAMPLE---
>
> #+LaTeX: % BEGIN RECEIVE ORGLST programs
> #+LaTeX: % END RECEIVE ORGLST programs
>
> #+ORGLST: SEND programs org-list-to-latex
> - Emacs text editor
> - Ubuntu Linux
> - Git version control system
> - Firefox web browser
> - Drupal content management system
> - Subversion version control system
> - Eclipse integrated development environment
>
> ---END_EXAMPLE---
>
> I eventually ran `org-list-send-list' manually on the list, and
> got the following error:
>
> funcall: Wrong type argument: number-or-marker-p, (unordered
> #("Emacs text editor" [snip...]
>
> I started debugging `org-list-send-list' and found that the error
> occurred when calling (funcall transform list). Looking back, I
> saw that `transform' was assigned (in the let*) after
> `item-beginning'. Stepping through the execution, I saw that
> `transform' was being assigned a value of `-'. It turns out when
> assigning to `item-beginning', (org-list-item-beginning) is
> called, which runs a regular expression with a capture group,
> overwriting the previously matched capture group.
>
> Luckily, the fix is simple; all that needs be done is to switch
> the assignment to `transform' with `item-beginning' so the regex
> in (org-list-item-beginning) doesn't override the match-string
> data. I tried this fix out and it worked perfectly.
Dan Davison writes:
> If you start a numbered list with
>
> 1.
>
> and hit M-RET then you get
>
> 2.
> ^
> with a space, i.e. '2. '
>
> However, when creating the 10th list item, there is no space after
> '10.'. Same for 99 -> 100. This isn't entirely trivial, because if you
> start typing blindly after hitting M-RET, then the line you have created
> (lacking the space) will not be recognised as a list item and so
> e.g. the next M-RET will create a new heading, not a list item. [Has
> this changed recently? This seems like something obvious that others
> would have noticed.]
>
> Here's my patch.
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/lisp/org-list.el b/lisp/org-list.el
> index 2fea57b..8ece3ea 100644
> --- a/lisp/org-list.el
> +++ b/lisp/org-list.el
> @@ -813,7 +813,7 @@ with something like \"1.\" or \"2)\"."
> (buffer-substring (point-at-bol) (match-beginning 3))))
> ;; (term (substring (match-string 3) -1))
> ind1 (n (1- arg))
> - fmt bobp old new)
> + fmt bobp old new delta)
> ;; find where this list begins
> (org-beginning-of-item-list)
> (setq bobp (bobp))
> @@ -835,7 +835,9 @@ with something like \"1.\" or \"2)\"."
> (delete-region (match-beginning 2) (match-end 2))
> (goto-char (match-beginning 2))
> (insert (setq new (format fmt (setq n (1+ n)))))
> - (org-shift-item-indentation (- (length new) (length old))))))
> + (setq delta (- (length new) (length old)))
> + (org-shift-item-indentation delta)
> + (if (= (org-current-line) line) (setq col (+ col delta))))))
> (org-goto-line line)
> (org-move-to-column col)))
> --8<---------------cut here---------------end--------------->8---
>
> Dan
Rainer Stengele writes:
> using org-mode for quite some time now I always look at
> operations (key sequences) I repeat a lot of times.
>
> A lot of times I start a list with an item and immediately
> indent the next item as subitem.
>
> From
>
> - item 1
> - subitem 11
>
> I go to
>
> - item 1
> - subitem 11
>
> via "M-right". Then I always want to change the style of the
> subitem list to "*". I do this via "S-right-right".
>
> I wonder how others work. I would like to automatically have
> changed the subitem list type to "*" as soon as I indent via
> "Alt-right". Next indentation should go back to "-". etc.
>
> Maybe we could introduce a variable that sets the order of
> standard list item types, in my case: "- * - * - * - *" as
> in
>
>
> - item 1
> * subitem 11
> - subitem 111
> * subitem 111
> ...
>
> very special I know but I try to reduce the keypressings as
> much as possible. Any other suggestions?
This commits adds the variable
`org-list-demote-modify-bullet' for this purpose.