From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: [ANN] Changes to lists Date: Sun, 23 Jan 2011 22:59:12 +0100 Message-ID: <87k4hve0y7.wl%n.goaziou@gmail.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from [140.186.70.92] (port=59180 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ph7xw-0008W1-6U for emacs-orgmode@gnu.org; Sun, 23 Jan 2011 16:59:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ph7xu-0005zh-On for emacs-orgmode@gnu.org; Sun, 23 Jan 2011 16:59:20 -0500 Received: from mail-ww0-f49.google.com ([74.125.82.49]:47968) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ph7xu-0005zc-BU for emacs-orgmode@gnu.org; Sun, 23 Jan 2011 16:59:18 -0500 Received: by wwb17 with SMTP id 17so3847556wwb.30 for ; Sun, 23 Jan 2011 13:59:16 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Org Mode List Hello, I would like to announce, and submit to discussion, some list code upgrades. So, let me introduce the changes done in development branch: * Major changes 1) It is possible (again) to have indentation of text determine the current level of the list. But this time, the 3 main exporters handle it. In other words, you can have: - a list - a sub-list Some text belonging to main list. - and even another sub-list This is on by default (with org-list-ending-method set to 'both). 2) There is now support for finite alphabetical lists, thanks to Nathaniel Naff. This is off by default and activated by the variable `org-alphabetical-lists'. This also recognizes counters like [@c] in addition to normal counters (i.e. [@3]). For now, counters only affect matching bullets, so [@c] have no effect on a numbered list. Though, they will during export, where [@c] is the same as [@3]. In original patch, bullet type was passed to HTML and DocBook exporters. I removed that part of the code for various reasons: - It wasn't consistent across every exporter ; - While it sounds nice in HTML and, maybe, DocBook, it is, usually, a bad idea to enforce bullet types in LaTeX ; - It should be the job of style files ; - Org should otherwise provide, at least, roman numbering, in order to give a real choice to the user, as alphabetical and numbered ordered lists are somewhat limited with regards to what exporters standardly offer. Thus, setting a list to alphabetical bullets will not ensure export will have them too. To sum it up, alphabetical lists are some cosmetics applied to lists in an Org buffer only. Here comes: a. Some list with an alphabetical bullet W. [@W] Upper case letters are also allowed. 3) As announced before, lists can now contain drawers, inline tasks, and blocks, themselves containing lists. Two variables (one for the Org buffer, and one for exporters) are controlling this: `org-list-forbidden-blocks' (by default no list can live in example, verse, and src blocks), and `org-list-export-context' (lists in valid blocks and in inline tasks will be exported by default). + an example of a list #+begin_center 1. with another list 2. in a block #+end_center + and now another item As a special case, inline tasks, though starting at column 0, are always considered part of the first item above in the list. Consider the following example, with (require 'org-inlinetask), and try moving first sub-item, or exporting: - A list with + A sub-list *************** TODO Stuff waiting 1. First good reason to delay the task 2. Second good reason to delay it *************** END + Another sub-item 4) Improve `newline-and-indent' (C-j): used in an item, it will keep text from moving at column 0. This allows to split text and make paragraphs while not breaking list. For example, type C-j twice at ¦, then M-q: + I have this quite long item. Now I'd like to start a new paragraph there. ¦This should be the beginning of the new paragraph. 5) Improve `org-toggle-item' (C-c -): used on a region, it will change the region into *one* item. With a prefix argument, it will fallback to previous behavior and make every line in region an item. It permits to easily add paragraphs inside a close list. For example, if you mark the paragraph below, and use C-c -, it will be added to the list above it: #+begin_quote 1. A list strolling around A paragraph that should be included in the list. Just select it and use C-c -. #+end_quote * Bug fixes There are also some bug fixes. To name the visible ones: - Fix for checkboxes and cookies handling. - Export correctly sub-lists counters in LaTeX. - List are sturdier with regards to Babel printing output inside them. - Fix list to subtree transformation (with C-c C-*), as much as possible. Indeed, there is no equivalency between these constructs, mainly due to major change #1. * What now? While Bernt Hansen helped me a lot already, some more testing would be appreciated. The repository is at: git://github.com/ngz/org-mode-lists.git new-struct It supersedes "recursive-lists" branch, submitted to the ML a few weeks ago. I'm open to ideas, suggestions, and criticism. Regards, -- Nicolas