emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] [PATCH 2/2] Fix adaptive filling.


From: Samuel Wales
Subject: Re: [Orgmode] [PATCH 2/2] Fix adaptive filling.
Date: Wed, 3 Mar 2010 18:17:22 -0700

How will the new value of a non-org variable affect filladapt.el?

On 2010-03-01, Dan Hackney <address@hidden> wrote:
> For paragraph text, `org-adaptive-fill-function' did not handle the base
> case of
> regular text which needed to be filled. This commit saves a buffer-local
> value
> of `adaptive-fill-regexp' and uses it if none of the org-specific regexps
> match.
> This allows email-style ">" comments to be filled correctly.
>
> Signed-off-by: Dan Hackney <address@hidden>
> ---
>  lisp/org.el |   25 ++++++++++++++++++++-----
>  1 files changed, 20 insertions(+), 5 deletions(-)
>
> diff --git a/lisp/org.el b/lisp/org.el
> index 8ba782a..073061e 100644
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -17289,6 +17289,12 @@ which make use of the date at the cursor."
>                      t t))
>      (org-move-to-column column)))
>
> +(defvar org-adaptive-fill-regexp-backup adaptive-fill-regexp
> +  "Variable to store copy of `adaptive-fill-regexp'.
> +Since `adaptive-fill-regexp' is set to never match, we need to
> +store a backup of its value before entering `org-mode' so that
> +the functionality can be provided as a fall-back.")
> +
>  (defun org-set-autofill-regexps ()
>    (interactive)
>    ;; In the paragraph separator we include headlines, because filling
> @@ -17324,8 +17330,11 @@ which make use of the date at the cursor."
>    ;; and fixed-width regions are not wrapped.  That function will pass
>    ;; through to `fill-paragraph' when appropriate.
>    (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
> -  ; Adaptive filling: To get full control, first make sure that
> +  ;; Adaptive filling: To get full control, first make sure that
>    ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
> +  (unless (local-variable-p 'adaptive-fill-regexp)
> +    (org-set-local 'org-adaptive-fill-regexp-backup
> +                   adaptive-fill-regexp))
>    (org-set-local 'adaptive-fill-regexp "\000")
>    (org-set-local 'adaptive-fill-function
>                'org-adaptive-fill-function)
> @@ -17354,8 +17363,11 @@ which make use of the date at the cursor."
>    "Return a fill prefix for org-mode files.
>  In particular, this makes sure hanging paragraphs for hand-formatted lists
>  work correctly."
> -  (cond ((looking-at "#[ \t]+")
> -      (match-string 0))
> +  (cond
> +   ;; Comment line
> +   ((looking-at "#[ \t]+")
> +    (match-string-no-properties 0))
> +   ;; Description list
>       ((looking-at "[ \t]*\\([-*+] .*? :: \\)")
>        (save-excursion
>          (if (> (match-end 1) (+ (match-beginning 1)
> @@ -17363,11 +17375,14 @@ work correctly."
>              (goto-char (+ (match-beginning 1) 5))
>            (goto-char (match-end 0)))
>          (make-string (current-column) ?\ )))
> -     ((looking-at "[ \t]*\\([-*+] \\|[0-9]+[.)]  ?\\)?")
> +    ;; Ordered or unordered list
> +     ((looking-at "[ \t]*\\([-*+] \\|[0-9]+[.)]  ?\\)")
>        (save-excursion
>          (goto-char (match-end 0))
>          (make-string (current-column) ?\ )))
> -     (t nil)))
> +    ;; Other text
> +    ((looking-at org-adaptive-fill-regexp-backup)
> +     (match-string-no-properties 0))))
>
>  ;;; Other stuff.
>
> --
> 1.6.3.3
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>


-- 
Q: How many CDC "scientists" does it take to change a lightbulb?
A: "You only think it's dark." [CDC has denied a deadly disease for 25 years]
==========
Retrovirus: http://www.wpinstitute.org/xmrv/index.html




reply via email to

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