]> git.eshelyaron.com Git - emacs.git/commitdiff
(Window Start): Mention the feature of moving
authorRichard M. Stallman <rms@gnu.org>
Thu, 7 Feb 2008 00:42:58 +0000 (00:42 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 7 Feb 2008 00:42:58 +0000 (00:42 +0000)
window-start to start of line.

lispref/ChangeLog
lispref/windows.texi

index 7febc50fdef808b99506de1ce207150fbdd5dd0d..d6a7c43f10259451b7cace3c9e0b3a569db68ee8 100644 (file)
@@ -1,3 +1,8 @@
+2008-02-07  Richard Stallman  <rms@gnu.org>
+
+       * windows.texi (Window Start): Mention the feature of moving
+       window-start to start of line.
+
 2008-01-19  Martin Rudalics  <rudalics@gmx.at>
 
        * buffers.texi (Buffer Modification): Fix typo.
index 6f6431cf45d49142875090ad0b2e3f6f247b50ec..96f4d5af69d4f1b0ea01b81a178115a06af510b7 100644 (file)
@@ -1229,6 +1229,15 @@ is called the @dfn{display-start} position of the window (or just the
 at the upper left corner of the window.  It is usually, but not
 inevitably, at the beginning of a text line.
 
+  After switching windows or buffers, and in some other cases, if the
+window start is in the middle of a line, Emacs adjusts the window
+start to the start of a line.  This prevents certain operations from
+leaving the window start at a meaningless point within a line.  This
+feature may interfere with testing some Lisp code by executing it
+using the commands of Lisp mode, because they trigger this
+readjustment.  To test such code, put it into a command and bind the
+command to a key.
+
 @defun window-start &optional window
 @cindex window top line
 This function returns the display-start position of window
@@ -1296,10 +1305,10 @@ However, if you specify the start position with this function using
 screen.  If this does place point off screen, the display routines move
 point to the left margin on the middle line in the window.
 
-For example, if point @w{is 1} and you set the start of the window @w{to
-2}, then point would be ``above'' the top of the window.  The display
-routines will automatically move point if it is still 1 when redisplay
-occurs.  Here is an example:
+For example, if point @w{is 1} and you set the start of the window
+@w{to 37}, the start of the next line, point will be ``above'' the top
+of the window.  The display routines will automatically move point if
+it is still 1 when redisplay occurs.  Here is an example:
 
 @example
 @group
@@ -1321,15 +1330,17 @@ occurs.  Here is an example:
 @group
 (set-window-start
  (selected-window)
- (1+ (window-start)))
-@result{} 2
+ (save-excursion
+   (goto-char 1)
+   (forward-line 1)
+   (point)))
+@result{} 37
 @end group
 
 @group
 ;; @r{Here is what @samp{foo} looks like after executing}
 ;;   @r{the @code{set-window-start} expression.}
 ---------- Buffer: foo ----------
-his is the contents of buffer foo.
 2
 3
 @point{}4