That's fine with me.
By the way, I've been quiet on the lists for the last few weeks
because I've been extremely busy with a deadline at my day job.
We're about to ship the code I've been working on, so I should be
able to catch up on what's been going on with XEmacs soon.
Mike Alexander
--On Thursday, November 30, 2000 9:16 AM +0000 Andy Piper
<andyp(a)bea.com> wrote:
Did this ever get applied? Is it relevant?
andy
At 04:11 AM 4/30/00 +0000, Mike Alexander wrote:
> The problem described in
>
> <
http://www.xemacs.org/list-archives/xemacs-beta/200003/msg00
> 645.html>
>
> is still occurring for me sometimes. This causes random crashes
> if you have a value set for scroll-step. One way that I've made
> it happen, although not every time, is to run XEmacs -vanilla,
> immediately use M-: (i.e., don't type into the *scratch* buffer)
> to set toolbar-visible-p and gutter-buffers-tab-visible-p to nil
> and scroll-step to 15, then do a File->Save As. This doesn't
> make much sense to do since it tries to save the default
> *scratch* buffer, but it sometimes causes the crash.
>
> The patch below avoids this problem. It occurs if the height of
> a window is so small that not even one line can be formatted in
> it. In this case the line cache will always be empty and
> point-in-line-start-cache will return -1 which was causing
> vmotion-1 to assert. I looked at the various callers of
> vmotion-1 and it appears that it is reasonable to just have it
> return the input point unchanged in this case, so that's what I
> did. If this is not the right thing to do, I'd be happy to hear
> alternative suggestions.
>
> Mike
>
> 2000-04-29 Mike Alexander <mta(a)arbortext.com>
>
> * indent.c (vmotion_1): If point_in_line_start_cache
> fails simply return the input position instead of
> asserting out.
>
> Index: src/indent.c
> ================================================================
> === RCS file: /usr/CVSroot/XEmacs/xemacs/src/indent.c,v
> retrieving revision 1.9.2.4
> diff -u -r1.9.2.4 indent.c
> --- indent.c 2000/02/07 07:59:19 1.9.2.4
> +++ indent.c 2000/04/29 06:58:00
> @@ -624,8 +624,15 @@
> /* #### This assertion must be true before the if statements
> are hit but may possibly be wrong after the call to
> point_in_line_start_cache if orig is outside of the
> visible - region of the buffer. Handle this. */
> - assert (elt >= 0);
> + region of the buffer. Handle this.
> +
> + This occurs sometimes if scroll-step is non-zero and the
> window + is very small. In this case it's not possible to
> lay out any lines + in the window and
> point_in_line_start_cache returns -1 because + the line
> cache is empty. In this case we will just return the +
> original point and hope for the best. */
> + if (elt < 0)
> + return orig;
>
> /* Moving downward. */
> if (vtarget > 0)
--------------------------------------------------------------
Dr Andy Piper
Principal Consultant, BEA Systems Ltd