Re: tex-symb

Masayuki Ataka <[email protected]> Wed, 09 Mar 2005 06:52:52 +0900 (JST)
Newsgroups gmane.emacs.auc-tex
Message-ID <[email protected]>
From: Ralf Angeli <[email protected]>
Subject: Re: tex-symb
Date: Mon, 07 Mar 2005 10:13:21 +0100

# I'm reading the discussion in 2004-08,09.
# Sorry.  I havn't read them.
# If I bring up again, let me know the reference, please.

> > preview-latex illustlates duplicate images, if we step in
> > preview image, fold symbols, and step out without unfolding
> > symbols.  There are lots of work...
> 
> Fixing this is probably pretty easy.  preview-latex simply has to set
> a priority for its overlays higher than the ones inserted by TeX-fold.

Thank you.  It was not *pretty easy* for me ;), but I tried.
A trick code is below.  It seemed to work correctly, for me.

# When many of tex-fold overlays are inside preview-latex
# overlay, Emacs tries to make many duplicate overlays and
# sometimes crushes down.
# (emacs-version)"GNU Emacs 22.0.50.6 of 2005-02-20"
# Maybe the latest CVS Emacs fix this problem :)

thanks,
---
email: [email protected]
Name:: Masayuki Ataka // (Japan)


*** preview.el	8 Mar 2005 11:01:14 -0000	1.238
--- preview.el	8 Mar 2005 21:43:14 -0000
***************
*** 1961,1966 ****
--- 1961,1969 ----
  		     (preview-toggle ,ov 'toggle event))
  		  `(lambda(event) (interactive "e")
  		     (preview-context-menu ,ov event))))
+     (if (fboundp 'TeX-fold-prioritize)
+ 	(overlay-put ov 'priority (TeX-fold-prioritize start end))
+       (overlay-put ov 'priority 16))
      (when (cdr counters)
        (overlay-put ov 'preview-counters counters)
        (setq preview-buffer-has-counters t))
***************
*** 2038,2043 ****
--- 2041,2049 ----
  		       (preview-toggle ,ov 'toggle event))
  		    `(lambda(event) (interactive "e")
  		       (preview-context-menu ,ov event))))
+       (if (fboundp 'TeX-fold-prioritize)
+ 	  (overlay-put ov 'priority (TeX-fold-prioritize start end))
+ 	(overlay-put ov 'priority 16))
        (when counters
  	(overlay-put
  	 ov 'preview-counters

*** tex-fold.el	21  2 2005 11:38:36 +0900	1.33
--- tex-fold.el	09  3 2005 06:46:12 +0900	
***************
*** 515,521 ****
--- 515,522 ----
  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)
+ 		(overlay-get ov 'preview-map))
  	(let ((ov-priority (overlay-get ov 'priority)))
  	  (if (>= (overlay-start ov) start)
  	      (setq inner-priority (max ov-priority (or inner-priority