This is 100% reproducible. It does not happen on 20.4.
System is mips-sgi-irix6.4. XEmacs 21.0-b54.
To reproduce:
1. xemacs -vanilla
2. Do a `narrow-to-region' in *scratch* from halfway in the first line
through the end of the buffer.
3. Do a `widen'. Notice that the beginning of the first line is not
redisplayed.
4. Hit C-l. Boom!
Here is the trace, etc...:
(dbx) run -vanilla
Process 5113 (xemacs) started
Fatal error: assertion failed, file /sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/redisplay.c, line 6757, cur_elt >= 0
Process 5113 (xemacs) stopped on signal SIGABRT: Abort (see abort(3c)) (handler fatal_error_signal) at [_kill:15 +0x8,0xfaa56b8]
Source (of /xlv24/patches/3269/work/irix/lib/libc/libc_n32_M4/signal/kill.s) not available for Process 5113
(dbx) where
> 0 _kill(0x13f9, 0x6, 0x0, 0x0, 0x0, 0x200e6c, 0xfb512f0, 0x200e70) ["/xlv24/patches/3269/work/irix/lib/libc/libc_n32_M4/signal/kill.s":15, 0xfaa56b8]
1 _raise(0x13f9, 0x6, 0x0, 0x0, 0x0, 0x200e6c, 0xfb512f0, 0x200e70) ["/xlv24/patches/3269/work/irix/lib/libc/libc_n32_M4/signal/raise.c":25, 0xfaa5d70]
2 abort(0x13f9, 0x6, 0x0, 0x0, 0x0, 0x200e6c, 0xfb512f0, 0x200e70) ["/xlv24/patches/3269/work/irix/lib/libc/libc_n32_M4/gen/abort.c":44, 0xfa316ac]
3 assert_failed(file = 0x1027fd90 = "/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/redisplay.c", line = 6757, expr = 0x102800b8 = "cur_elt >= 0") ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/emacs.c":2605, 0x10090998]
4 start_with_line_at_pixpos(w = 0x1053d200, point = 126, pixpos = 282) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/redisplay.c":6757, 0x1018f6fc]
5 Fcenter_to_window_line(n = 272216068, window = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/window.c":4266, 0x1020ee90]
6 funcall_recording_as(recorded_as = 272339228, nargs = 2, args = 0x7ffb6cc0) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":3197, 0x1009a37c]
7 Ffuncall(nargs = 3, args = 0x7ffb6cc0) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":3238, 0x1009a804]
8 Fbyte_code(bytestr = 271924100, vector = 271924160, maxdepth = 7) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/bytecode.c":416, 0x100592e0]
9 funcall_lambda(fun = 271924200, nargs = 1, arg_vector = 0x7ffb7024) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":3597, 0x1009c154]
10 funcall_recording_as(recorded_as = 272537772, nargs = 1, args = 0x7ffb7020) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":3200, 0x1009a5dc]
11 Ffuncall(nargs = 2, args = 0x7ffb7020) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":3238, 0x1009a804]
12 Fcall_interactively(function = 272537772, record_flag = 272216068, keys = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/callint.c":949, 0x1005eed0]
13 Fcommand_execute(cmd = 272537772, record = 272216068, keys = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":2584, 0x10097c6c]
14 execute_command_event(command_builder = 0x1048ee80, event = 273857560) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/event-stream.c":4346, 0x100e3490]
15 Fdispatch_event(event = 273857560) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/event-stream.c":4637, 0x100e3e70]
16 Fcommand_loop_1() ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/cmdloop.c":579, 0x10066dd4]
17 command_loop_1(dummy = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/cmdloop.c":494, 0x10066a0c]
18 condition_case_1(handlers = 272216180, bfun = 0x100669d0, barg = 272216068, hfun = 0x10065e50, harg = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":1653, 0x100952e4]
19 command_loop_3() ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/cmdloop.c":256, 0x10066044]
20 command_loop_2(dummy = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/cmdloop.c":267, 0x100660a4]
21 internal_catch(tag = 272294368, func = 0x10066080, arg = 272216068, threw = (nil)) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/eval.c":1328, 0x10094c88]
22 initial_command_loop(load_me = 272216068) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/cmdloop.c":305, 0x100663c0]
23 xemacs_21_0_mips_sgi_irix6_4(argc = 2, argv = 0x7ffb7ea4, envp = 0x7ffb7eb0, restart = 0) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/emacs.c":1702, 0x1008eb58]
24 main(argc = 2, argv = 0x7ffb7ea4, envp = 0x7ffb7eb0) ["/sag1/u4/sag1_dev4/craffert/xemacs/xemacs-21.0-b54/src/emacs.c":2119, 0x1008fa88]
25 __start() ["/xlv22/ficus-jan23/work/irix/lib/libc/libc_n32_M4/csu/crt1text.s":166, 0x10041fc8]
(dbx) up
_raise:
Source (of /xlv24/patches/3269/work/irix/lib/libc/libc_n32_M4/signal/raise.c) not available for Process 5113
(dbx) up
abort:
Source (of /xlv24/patches/3269/work/irix/lib/libc/libc_n32_M4/gen/abort.c) not available for Process 5113
(dbx) up
assert_failed:2605 abort ();
(dbx) up
start_with_line_at_pixpos:6757 assert (cur_elt >= 0);
(dbx) print cur_elt
-1
(dbx) cont
Lisp backtrace follows:
center-to-window-line(nil nil)
# bind (window n)
recenter(nil)
# bind (command-debug-status)
call-interactively(recenter)
# (condition-case ... . error)
# (catch top-level ...)
--
Colin