From xemacs-m  Thu Mar  6 10:41:43 1997
Received: from frege.math.ethz.ch (root@frege-d-math-north-g-west.math.ethz.ch [129.132.145.3])
	by xemacs.org (8.8.5/8.8.5) with SMTP id KAA21232
	for <xemacs-beta@xemacs.org>; Thu, 6 Mar 1997 10:41:40 -0600 (CST)
Received: from fresnel.math.ethz.ch (vroonhof@fresnel [129.132.145.6]) by frege.math.ethz.ch (8.6.12/Main-STAT-mailer) with ESMTP id RAA29929 for <xemacs-beta@xemacs.org>; Thu, 6 Mar 1997 17:41:21 +0100
Received: (vroonhof@localhost) by fresnel.math.ethz.ch (8.6.9/D-MATH-client) id RAA06430; Thu, 6 Mar 1997 17:39:19 +0100
Sender: vroonhof@math.ethz.ch
To: xemacs-beta@xemacs.org
Subject: Re: window-scroll-functions and lazy-lock
References: <199703061542.KAA00196@fragola.hr.lucent.com>
Mime-Version: 1.0 (generated by tm-edit 7.105)
Content-Type: text/plain; charset=US-ASCII
From: Jan Vroonhof <vroonhof@math.ethz.ch>
Date: 06 Mar 1997 17:39:18 +0100
In-Reply-To: Rajappa Iyer's message of Thu, 06 Mar 1997 10:42:28 -0500
Message-ID: <bywwrlynyh.fsf@math.ethz.ch>
Lines: 32
X-Mailer: Gnus v5.4.16/XEmacs 19.15

Rajappa Iyer <rsi@lucent.com> writes:

> Not meaning to start a flamewar here, but I was curious about the
> window-scroll-function controversy as presented in the commentary in
> lazy-lock.el.

I guess your (renewed) interest, like mine, was generated by the
recent post of lazy-lock 2 on g.e.s.?

> So I looked at the code which implements the window-scroll-functions
> on Emacs and to my (admittedly (X)Emacs-internals-inexperienced) eyes
> it did not look too `horribly, horribly kludgy'. I guess I'm curious
> why Ben Wing thought it was kludgy and why something like that cannot
> be implemented on XEmacs.
> 
> Any thoughts on this matter?

I don't exactly now what Ben thought about this. But I think the best
way (and most general) to attack this problem would be to have a
two special extent properties.

1. in-view-hook, a list of functions that will be called after redisplay
whenever (part of) this extent came on view. This will allow lazy lock
to set this extent for the part it has not yet fontified or updated
and be called when it shows up.

2. no-draw. Whenever an extent with this property is in the view
   port, no actual redrawing will take place. This is to prevent
   flicker.

Jan

