I don't have a wset_new_total. Is that a new function? I'm using mostly stock 24.2. Ross On Sat, Jan 19, 2013 at 5:11 AM, martin rudalics wrote: > I haven't investigated. But because protecting those calls by if >> (initialized) and even moving the lisp->C binding for >> window_root_window_resize_**vertically to after initialization didn't >> help, I >> suspect the issue might be deeper than just protecting C calls to lisp. I >> really don't know how to follow up though. >> > > If Lisp hasn't been called yet, the root window cannot have > been split yet. So in the case at hand the following patch > sould work. Can you please try it? > > Thanks, martin > > > === modified file 'src/window.c' > --- src/window.c 2013-01-11 23:08:55 +0000 > +++ src/window.c 2013-01-19 09:54:07 +0000 > @@ -4207,8 +4207,15 @@ > > root = FRAME_ROOT_WINDOW (f); > r = XWINDOW (root); > - value = call2 (Qwindow_resize_root_window_vertically, > - root, make_number (- delta)); > + if (WINDOW_LIVE_P (root)) > + { > + wset_new_total (r, make_number (XFASTINT (r->total_lines) - delta)); > + value = make_number (- delta); > + } > + else > + value = call2 (Qwindow_resize_root_window_vertically, > + root, make_number (- delta)); > + > if (INTEGERP (value) && window_resize_check (r, 0)) > { > block_input (); > @@ -4245,8 +4252,15 @@ > { > root = FRAME_ROOT_WINDOW (f); > r = XWINDOW (root); > - value = call2 (Qwindow_resize_root_window_vertically, > - root, make_number (size - 1)); > + if (WINDOW_LIVE_P (root)) > + { > + wset_new_total (r, make_number (XFASTINT (r->total_lines) + size > - 1)); > + value = make_number (size - 1); > + } > + else > + value = call2 (Qwindow_resize_root_window_vertically, > + root, make_number (size - 1)); > + > if (INTEGERP (value) && window_resize_check (r, 0)) > { > block_input (); > > > >