At 8:17 PM +0200 5/11/00, Jan Vroonhof wrote:
Mike Alexander <mta(a)arbortext.com> writes:
> I did that. It doesn't lay out any lines because the height of the
> window is less than the height of one line. I don't know enough
> about the redisplay code to know if this is supposed to be impossible
> or if it is normal but the redisplay code isn't handling it right.
Could you try whether this (untested) attempt at fixing
update_line_start_cache helps?
<patch deleted to save space>
That seems to fix the problem, thanks for the patch. You also need
to remove the call to reinit_vars_of_redisplay, but that's the only
thing I changed. The patch to do that is below. I didn't put a
ChangeLog on this since it's really an addendum to the previous patch.
You can reproduce the problem by executing the following lines in
xemacs -vanilla. It wouldn't be necessary to use ediff, of course,
but that's what I was doing when I first noticed this so it seemed
like an easy way to reproduce the problem.
(require 'ediff)
(setq scroll-step 15)
(setq tiny (make-frame ediff-control-frame-parameters))
It still seems like my patch might be a good idea since it seems to
work and it's better than an assert failure if this problem shows up
again for some other reason, but it doesn't really matter to me. If
the consensus is that it's a bad idea, then leave it out.
Mike
Index: symsinit.h
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/symsinit.h,v
retrieving revision 1.31.2.25
diff -u -r1.31.2.25 symsinit.h
--- symsinit.h 2000/03/21 02:06:44 1.31.2.25
+++ symsinit.h 2000/05/14 21:54:55
@@ -354,7 +354,6 @@
void vars_of_profile (void);
void vars_of_ralloc (void);
void vars_of_redisplay (void);
-void reinit_vars_of_redisplay (void);
void vars_of_scrollbar_x (void);
void reinit_vars_of_scrollbar_x (void);
void vars_of_scrollbar (void);
Index: emacs.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/emacs.c,v
retrieving revision 1.82.2.64
diff -u -r1.82.2.64 emacs.c
--- emacs.c 2000/05/12 09:19:45 1.82.2.64
+++ emacs.c 2000/05/14 21:55:14
@@ -1960,7 +1960,6 @@
#endif
reinit_vars_of_objects ();
reinit_vars_of_print ();
- reinit_vars_of_redisplay ();
reinit_vars_of_search ();
reinit_vars_of_undo ();
reinit_vars_of_window ();