changeset 109765:416af1df94a4

Make saving and restoring of hidden threads work with overlays. Patch applied by Ted Zlatanov. * gnus-sum.el (gnus-hidden-threads-configuration) (gnus-restore-hidden-threads-configuration): Update to deal with text properties, rather than searching for a magic character.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Fri, 13 Aug 2010 10:44:22 +0000
parents f5fa348fd8eb
children af33651be88b
files lisp/gnus/ChangeLog lisp/gnus/gnus-sum.el
diffstat 2 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Fri Aug 13 10:39:16 2010 +0000
+++ b/lisp/gnus/ChangeLog	Fri Aug 13 10:44:22 2010 +0000
@@ -1,5 +1,16 @@
+2010-07-30  Lawrence Mitchell  <wence@gmx.li>
+
+	Make saving and restoring of hidden threads work with overlays.
+	Patch applied by Ted Zlatanov.
+
+	* gnus-sum.el (gnus-hidden-threads-configuration)
+	(gnus-restore-hidden-threads-configuration): Update to deal with text
+	properties, rather than searching for a magic character.
+
 2010-08-12  Teodor Zlatanov  <tzz@lifelogs.com>
 
+	New gnus-sync.el library for synchronization of marks.
+
 	* gnus-sync.el: New library for synchronization of marks.
 
 	* gnus-util.el (gnus-grep-in-list): Moved from gnus-registry.el and
--- a/lisp/gnus/gnus-sum.el	Fri Aug 13 10:39:16 2010 +0000
+++ b/lisp/gnus/gnus-sum.el	Fri Aug 13 10:44:22 2010 +0000
@@ -3406,8 +3406,10 @@
   (save-excursion
     (let (config)
       (goto-char (point-min))
-      (while (search-forward "\r" nil t)
-	(push (1- (point)) config))
+      (while (not (eobp))
+        (when (eq (get-char-property (point-at-eol) 'invisible) 'gnus-sum)
+          (push (save-excursion (forward-line 0) (point)) config))
+        (forward-line 1))
       config)))
 
 (defun gnus-restore-hidden-threads-configuration (config)
@@ -3415,10 +3417,8 @@
   (save-excursion
     (let (point (inhibit-read-only t))
       (while (setq point (pop config))
-	(when (and (< point (point-max))
-		   (goto-char point)
-		   (eq (char-after) ?\n))
-	  (subst-char-in-region point (1+ point) ?\n ?\r))))))
+        (goto-char point)
+        (gnus-summary-hide-thread)))))
 
 ;; Various summary mode internalish functions.