help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adaptive fill getting prefix wrong -- how to fix?


From: martin rudalics
Subject: Re: Adaptive fill getting prefix wrong -- how to fix?
Date: Sat, 22 Jul 2006 14:59:42 +0200
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

> I'm seeing some undesired behavior in emacs-lisp mode that involves adaptive
> fill, and I'm hoping someone can tell me how to fix this.  As an example of
> the problem, consider the following excerpt from my .emacs file:
>
> ;; override default binding of return as newline-and-indent, which is
> ;; distracting in text mode.
> (add-hook 'text-mode-hook
>           '(lambda () (define-key text-mode-map (kbd "RET") 'newline)))
>
> I have auto-fill and adaptive fill enabled but otherwise at their default
> settings.  The end of the (lambda ...) expression extends beyond my fill
> column, so if I put point at the end of the line and hit space, it refills:
>
> ;; override default binding of return as newline-and-indent, which is
> ;; distracting in text mode.
> (add-hook 'text-mode-hook
>           '(lambda () (define-key text-mode-map (kbd "RET")
> ;; 'newline)))
>
> That's not right -- it's commented out the end of the function, including
> the close parens.  Clearly adaptive fill is inferring the fill prefix
> incorrectly.  What I want to happen is for the 'newline))) to be
> uncommented and appropriately indented -- 2 spaces in from the (define-key.
>
> Is this a misconfiguration on my part, or am I stuck with this behavior?

This happens because `do-auto-fill' does a `backward-paragraph'
when you type the space, goes to the ";; override ..." and
detects an `adaptive-fill-regexp' there - the semicolon.  Please
remove the semicolon from `adaptive-fill-regexp' (it's
customizable).  If you want to modify this for emacs-lisp mode
only, consider doing this in `emacs-lisp-mode-hook'.  If this
breaks comment filling, it might be necessary to change
`lisp-mode-auto-fill' appropriately.

martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]