Thank you Eli, I just realized I forgot to be clear about my question. The problem is that after evaluating the code, here, after starting from emacs -Q, the vscroll value is still zero. So I was wondering what is the value when doing > M-: (window-vscroll nil t) > after evaluating the example code. So Eli, when you say it works, do you mean that vscroll value is 300? Thanks again... On Sun, 5 Nov 2023 at 17:20, Eli Zaretskii wrote: > > From: dalanicolai > > Date: Sun, 5 Nov 2023 16:49:04 +0100 > > > > It works when I simply load my Emacs configuration, but for some > > reason it does not work when I start from emacs -Q. > > > > Although I guess vscroll should be working on lines smaller than the > > screen, just for testing I now display 3 'spaces' and then try to set > > vscroll as follows: > > > > (progn > > (pop-to-buffer "example") > > (dotimes (i 3) > > (let ((o (make-overlay (point) > > (progn (insert " ") > > (point))))) > > (insert "\n") > > (overlay-put o 'display `(space . (:width (600) :height (800)))) > > (overlay-put o 'face (list :background (pcase (% i 3) > > (0 "red") > > (1 "green") > > (2 "blue")))))) > > (goto-char (point-min)) > > > > (set-window-vscroll nil 300 t)) > > > > I have tested it on Emacs 29.1 and 28.3. > > > > I wonder if this is a bug, or if I am missing something. Could you > > please evaluate the above code starting from emacs -Q, and confirm > > this is a bug (or tell me what I am missing)? > > Works for me in "emacs -Q". >