emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r102746: flow-fill.el (fill-flowed-en


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r102746: flow-fill.el (fill-flowed-encode): Do encoding citation-aware.
Date: Tue, 04 Jan 2011 02:24:15 +0000
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 102746
author: Lars Magne Ingebrigtsen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Tue 2011-01-04 02:24:15 +0000
message:
  flow-fill.el (fill-flowed-encode): Do encoding citation-aware.
  gnus-art.el (gnus-treat-fill-long-lines): Add missing version tag.
  gnus-msg.el (gnus-message-replyencrypt): Fix typo in version string.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/flow-fill.el
  lisp/gnus/gnus-art.el
  lisp/gnus/gnus-msg.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2011-01-03 08:13:45 +0000
+++ b/lisp/gnus/ChangeLog       2011-01-04 02:24:15 +0000
@@ -1,3 +1,7 @@
+2011-01-03  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * flow-fill.el (fill-flowed-encode): Do encoding citation-aware.
+
 2011-01-03  Glenn Morris  <address@hidden>
 
        * sieve-manage.el (sieve-manage-open): Correctly set sieve-manage-port.

=== modified file 'lisp/gnus/flow-fill.el'
--- a/lisp/gnus/flow-fill.el    2010-09-18 10:02:19 +0000
+++ b/lisp/gnus/flow-fill.el    2011-01-04 02:24:15 +0000
@@ -1,7 +1,7 @@
 ;;; flow-fill.el --- interpret RFC2646 "flowed" text
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;;   2009, 2010, 2011 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <address@hidden>
 ;; Keywords: mail
@@ -82,19 +82,38 @@
        ;; Go through each paragraph, filling it and adding SPC
        ;; as the last character on each line.
        (while (setq end (text-property-any start (point-max) 'hard 't))
-         (let ((fill-column (eval fill-flowed-encode-column)))
-           (fill-region start end t 'nosqueeze 'to-eop))
-         (goto-char start)
-         ;; `fill-region' probably distorted end.
-         (setq end (text-property-any start (point-max) 'hard 't))
-         (while (and (< (point) end)
-                     (re-search-forward "$" (1- end) t))
-           (insert " ")
-           (setq end (1+ end))
-           (forward-char))
-         (goto-char (setq start (1+ end)))))
+         (save-restriction
+           (narrow-to-region start end)
+           (let ((fill-column (eval fill-flowed-encode-column)))
+             (fill-flowed-fill-buffer))
+           (goto-char (point-min))
+           (while (re-search-forward "\n" nil t)
+             (replace-match " \n" t t))
+           (goto-char (setq start (1+ (point-max)))))))
       t)))
 
+(defun fill-flowed-fill-buffer ()
+  (let ((prefix nil)
+       (prev-prefix nil)
+       (start (point-min)))
+    (goto-char (point-min))
+    (while (not (eobp))
+      (setq prefix (and (looking-at "[> ]+")
+                       (match-string 0)))
+      (if (equal prefix prev-prefix)
+         (forward-line 1)
+       (save-restriction
+         (narrow-to-region start (point))
+         (let ((fill-prefix prev-prefix))
+           (fill-region (point-min) (point-max) t 'nosqueeze 'to-eop))
+         (goto-char (point-max)))
+       (setq prev-prefix prefix
+             start (point))))
+    (save-restriction
+      (narrow-to-region start (point))
+      (let ((fill-prefix prev-prefix))
+       (fill-region (point-min) (point-max) t 'nosqueeze 'to-eop)))))
+
 ;;;###autoload
 (defun fill-flowed (&optional buffer delete-space)
   (with-current-buffer (or (current-buffer) buffer)

=== modified file 'lisp/gnus/gnus-art.el'
--- a/lisp/gnus/gnus-art.el     2010-12-21 02:30:36 +0000
+++ b/lisp/gnus/gnus-art.el     2011-01-04 02:24:15 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-art.el --- article mode commands for Gnus
 
 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;;   2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <address@hidden>
 ;; Keywords: news
@@ -1594,6 +1594,7 @@
   "Fill long lines.
 Valid values are nil, t, `head', `first', `last', an integer or a
 predicate.  See Info node `(gnus)Customizing Articles'."
+  :version "24.1"
   :group 'gnus-article-treat
   :link '(custom-manual "(gnus)Customizing Articles")
   :type gnus-article-treat-custom)

=== modified file 'lisp/gnus/gnus-msg.el'
--- a/lisp/gnus/gnus-msg.el     2011-01-03 08:13:45 +0000
+++ b/lisp/gnus/gnus-msg.el     2011-01-04 02:24:15 +0000
@@ -247,7 +247,7 @@
 (defcustom gnus-message-replyencrypt t
   "Automatically encrypt replies to encrypted messages.
 See also the `mml-default-encrypt-method' variable."
-  :version "22.1"
+  :version "24.1"
   :group 'gnus-message
   :type 'boolean)
 


reply via email to

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