tex-fold & preview-latex (was: Re: tex-symb)

Masayuki Ataka <[email protected]> Wed, 09 Mar 2005 22:12:44 +0900 (JST)
Newsgroups gmane.emacs.auc-tex
Message-ID <[email protected]>
From: Ralf Angeli <[email protected]>
Subject: Re: tex-symb
Date: Wed, 09 Mar 2005 08:55:33 +0100

> * Masayuki Ataka (2005-03-08) writes:
> 
> >> > preview-latex illustlates duplicate images, if we step in
> >> > preview image, fold symbols, and step out without unfolding
> >> > symbols.  There are lots of work...
(snip)
> Below I made some comments concerning the code.

A patch for tex-fold.el and preview/{preview.el,prv-emacs.el}
in CVS AUCTeX is placed at the end of this mail.  If you try my
latest tex-symb.el, please remove the definition of
TeX-fold-prioritize in it.

I used autoload cookie in preview-latex in order to load
"tex-fold.el".  Maybe, `require' is better.  I couldn't say
which is proper.
# I don't understand tex-fold.el and preview-latex, yet.
 
> Is there a priority needed if TeX-fold is not available?  I think it
> would be enough to use
> 
> (when (fboundp 'TeX-fold-propertize)
>   (overlay-put ov 'priority (TeX-fold-prioritize start end)))

As David said, the priority should be set for the case that
preview-latex is called before tex-fold.

> > *** tex-fold.el	21  2 2005 11:38:36 +0900	1.33
(snip)
> > -       (when (eq (overlay-get ov 'category) 'TeX-fold)
> > +       (when (or (eq (overlay-get ov 'category) 'TeX-fold)
> > + 		(overlay-get ov 'preview-map))
> 
> You could as well test for the category 'preview-overlay.
> 
I did.  Thank you for your comment.

thanks,
---
email: [email protected]
Name:: Masayuki Ataka // (Japan)

--- tex-fold.el	21  2 2005 11:38:36 +0900	1.33
+++ tex-fold.el	09  3 2005 21:03:16 +0900	
@@ -515,7 +515,8 @@
 overlays."
   (let (outer-priority inner-priority)
     (dolist (ov (overlays-in start end))
-      (when (eq (overlay-get ov 'category) 'TeX-fold)
+      (when (or (eq (overlay-get ov 'category) 'TeX-fold)
+		(eq (overlay-get ov 'category) 'preview-overlay))
 	(let ((ov-priority (overlay-get ov 'priority)))
 	  (if (>= (overlay-start ov) start)
 	      (setq inner-priority (max ov-priority (or inner-priority

Index: preview.el
===================================================================
RCS file: /cvsroot/auctex/auctex/preview/preview.el,v
retrieving revision 1.238
diff -u -r1.238 preview.el
--- preview.el	8 Mar 2005 11:01:14 -0000	1.238
+++ preview.el	9 Mar 2005 13:09:50 -0000
@@ -41,6 +41,8 @@
 
 ;;; Code:
 
+(autoload 'TeX-fold-prioritize "tex-fold" no-doc t)
+
 (eval-when-compile
   (require 'tex-site)
   (require 'tex-buf)
@@ -1954,6 +1956,7 @@
 to the close hook."
   (preview-clearout start end tempdir)
   (let ((ov (make-overlay start end nil nil nil)))
+    (overlay-put ov 'priority (TeX-fold-prioritize start end))
     (overlay-put ov 'preview-map
 		 (preview-make-clickable
 		  nil nil nil
@@ -2031,6 +2034,7 @@
     (setcar (nthcdr 2 TeX-active-tempdir) (1+ (nth 2 TeX-active-tempdir)))
     (setcdr filename TeX-active-tempdir)
     (let ((ov (make-overlay start end nil nil nil)))
+      (overlay-put ov 'priority (TeX-fold-prioritize start end))
       (overlay-put ov 'preview-map
 		   (preview-make-clickable
 		    nil nil nil

--- prv-emacs.el	04  3 2005 01:51:05 +0900	1.61
+++ prv-emacs.el	09  3 2005 21:46:20 +0900	
@@ -26,6 +26,8 @@
 
 ;;; Code:
 
+(autoload 'TeX-fold-prioritize "tex-fold" no-doc t)
+
 (defvar preview-compatibility-macros nil
   "List of macros only present when compiling/loading.")
 
@@ -233,6 +235,7 @@
 	      (unless (re-search-forward preview-dump-threshold nil t)
 		(error "Can't find preamble of `%s'" file))
 	      (setq ov (make-overlay (point-min) (point)))
+	      (overlay-put ov 'priority (TeX-fold-prioritize (point-min) (point)))
 	      (setcdr format-cons ov)
 	      (overlay-put ov 'format-cons format-cons)
 	      (overlay-put ov 'insert-in-front-hooks