changeset 34749:3a0a4c2b6633

*** empty log message ***
author Gerd Moellmann <gerd@gnu.org>
date Wed, 20 Dec 2000 15:37:23 +0000
parents e978a3fb2690
children 90213af2c5ba
files etc/NEWS etc/TODO lispref/windows.texi man/display.texi src/ChangeLog
diffstat 5 files changed, 36 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Wed Dec 20 15:36:56 2000 +0000
+++ b/etc/NEWS	Wed Dec 20 15:37:23 2000 +0000
@@ -667,6 +667,12 @@
 `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.
 
--- a/etc/TODO	Wed Dec 20 15:36:56 2000 +0000
+++ b/etc/TODO	Wed Dec 20 15:37:23 2000 +0000
@@ -143,3 +143,5 @@
 
 * Remove the limitation that window and frame widths and heights can
   be only full columns/lines.
+
+* Add horizontal scroll bars.
--- a/lispref/windows.texi	Wed Dec 20 15:36:56 2000 +0000
+++ b/lispref/windows.texi	Wed Dec 20 15:37:23 2000 +0000
@@ -1517,9 +1517,11 @@
 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
--- a/man/display.texi	Wed Dec 20 15:36:56 2000 +0000
+++ b/man/display.texi	Wed Dec 20 15:37:23 2000 +0000
@@ -200,6 +200,12 @@
 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
--- a/src/ChangeLog	Wed Dec 20 15:36:56 2000 +0000
+++ b/src/ChangeLog	Wed Dec 20 15:37:23 2000 +0000
@@ -1,5 +1,22 @@
 2000-12-20  Gerd Moellmann  <gerd@gnu.org>
 
+	* 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.