From: Gerd Moellmann Date: Wed, 20 Dec 2000 15:37:23 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: emacs-pretest-21.0.95~375 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=03ff8aabc3abe5d64bfec53cdb82cebc45cc8e49;p=emacs.git *** empty log message *** --- diff --git a/etc/NEWS b/etc/NEWS index f1da038cb8b..393c352ae42 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -667,6 +667,12 @@ Horizontal scrolling now happens automatically if `automatic-hscrolling' is set (the default). This setting can be customized. +If a window is scrolled horizontally with set-window-hscroll, or +scroll-left/scroll-right (C-x <, C-x >), this serves as a lower bound +for automatic horizontal scrolling. Automatic scrolling will scroll +the text more to the left if necessary, but won't scroll the text more +to the right than the column set with set-window-hscroll etc. + +++ ** Tool bar support. diff --git a/etc/TODO b/etc/TODO index ce15a579bd2..12eb39595f2 100644 --- a/etc/TODO +++ b/etc/TODO @@ -143,3 +143,5 @@ * Remove the limitation that window and frame widths and heights can be only full columns/lines. + +* Add horizontal scroll bars. diff --git a/lispref/windows.texi b/lispref/windows.texi index 5d46ed35e9d..95a6c5f7f92 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi @@ -1517,9 +1517,11 @@ left you can scroll, but eventually all the text will disappear off the left edge. In Emacs 21, redisplay automatically alters the horizontal scrolling -of a window as necessary to ensure that point is always visible. -However, you can still set the horizontal scrolling value explicitly. -The value you specify will be used, provided it leaves point visible. +of a window as necessary to ensure that point is always visible, if +@code{automatic-hscrolling} is set. However, you can still set the +horizontal scrolling value explicitly. The value you specify serves as +a lower bound for automatic scrolling, i.e. automatic scrolling +will not scroll a window to a column less than the specified one. @deffn Command scroll-left &optional count This function scrolls the selected window @var{count} columns to the diff --git a/man/display.texi b/man/display.texi index 65d4d2e8e2b..aa3d7de68b7 100644 --- a/man/display.texi +++ b/man/display.texi @@ -200,6 +200,12 @@ necessary to keep point visible and not too far from the left or right edge. If you don't want this, customize the variable @code{automatic-hscrolling} and set it to nil. +If a window is scrolled horizontally by means of @code{scroll-left}, the +chosen column serves as a lower bound for automatic horizontal +scrolling. Automatic scrolling will continue to scroll the window to +the left, if necessary, but won't scroll it more to the right than the +column set by @code{scroll-left}. + @node Follow Mode @section Follow Mode @cindex Follow mode diff --git a/src/ChangeLog b/src/ChangeLog index 83e83509c4d..b9794a8566e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,22 @@ 2000-12-20 Gerd Moellmann + * xdisp.c (hscroll_window_tree): Take window's min_hscroll + into account. + + * window.c (make_window): Initialize window's min_hscroll. + (Fset_window_hscroll): Set window's hscroll and min_hscroll. + (set_window_buffer, temp_output_buffer_show): Set min_hscroll + to zero. + (struct saved_window): New member min_hscroll. + (SAVED_WINDOW_VECTOR_SIZE): Set to 17. + (Fset_window_configuration): Set window's min_hscroll. + (save_window_save): Save window's min_hscroll. + (compare_window_configurations): Compare min_hscroll values. + + * window.h (struct window): New member min_hscroll. + + * keyboard.c (echo_prompt): Prevent a compiler warning. + * xdisp.c (try_cursor_movement): Fix last change. The real condition is that PT is at the end of the row, and should be displayed at the start of the next row.