[Orgmode] [BUG/PATCH] Set fill-indent-according-to-mode to nil in Org buffers

2011-01-21 Thread Lawrence Mitchell
* lisp/org.el (org-mode): Locally set `fill-indent-according-to-mode'
to nil.

`org-adaptive-fill-function' attempts to correctly pick up a fill
prefix for hand-indented paragraphs and lists.  This is defeated by
the indentation code, which does not recognise sublists correctly and
gets the indentation wrong.  By setting
`fill-indent-according-to-mode' to nil, we tell Emacs' filling code to
pay attention to `adaptive-fill-prefix' rather than using
`indent-line-function'.

This is not a perfect solution, since refilling a list entry still
does not work correctly unless the entire item is on a single line.
---
The filling code is a maze of twisty passages all alike, so I don't
really understand what's going on.  The problem is demonstrated with
auto-fill-mode on when typing sublist entries that wrap over more than
a single line

#+begin_src org
* Header
- List
  + Sublist entry with lots and lots and lots and lots of text is wrapped
  like this
#+end_src org
And like this is incorrectly considered to be be part of the List
entry, rather than the Sublist entry.

This change fixes this problem for auto-fill-mode wrapping, but it
doesn't work correctly for refilling, for reasons that are unclear to
me.

Cheers,
Lawrence


 lisp/org.el |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index fcdf245..268223b 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4716,6 +4716,7 @@ The following commands are available:
   ;; Paragraphs and auto-filling
   (org-set-autofill-regexps)
   (setq indent-line-function 'org-indent-line-function)
+  (set (make-local-variable 'fill-indent-according-to-mode) nil)
   (org-update-radio-target-regexp)
   ;; Beginning/end of defun
   (org-set-local 'beginning-of-defun-function 'org-beginning-of-defun)
-- 
1.7.4.rc1.7.g2cf08


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] [BUG/PATCH] Set fill-indent-according-to-mode to nil in Org buffers

2011-01-21 Thread Nicolas Goaziou
Hello,

 This is defeated by the indentation code, which does not recognise
 sublists correctly and gets the indentation wrong. 

Would you mind elaborating? I fail to see where the indentation code
has some problem recognizing lists.

 By setting `fill-indent-according-to-mode' to nil, we tell Emacs'
 filling code to pay attention to `adaptive-fill-prefix' rather than
 using `indent-line-function'.

Not using `org-indent-line-function' sounds like a very bad idea to
me. Before ignoring this function, perhaps we could try to see what is
wrong with it.

 This is not a perfect solution, since refilling a list entry still
 does not work correctly unless the entire item is on a single line.

Huh? Again, could you provide an example, please?

 --- The filling code is a maze of twisty passages all alike, so I
 don't really understand what's going on. The problem is demonstrated
 with auto-fill-mode on when typing sublist entries that wrap over
 more than a single line

 #+begin_src org 
 * Header - List 
 + Sublist entry with lots and lots and lots and lots of text is
wrapped
 like this
 #+end_src org

  And like this is incorrectly considered to be be part of the
 List entry, rather than the Sublist entry.

If like this is like this (!), then it _isn't_ part of the list. So
it is correctly considered outside of the list. Or am I missing the
point?

Regards,

-- Nicolas

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode