emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 988b53e 09/11: Merge from origin/emacs-26


From: Glenn Morris
Subject: [Emacs-diffs] master 988b53e 09/11: Merge from origin/emacs-26
Date: Mon, 18 Jun 2018 15:18:55 -0400 (EDT)

branch: master
commit 988b53ed2d3287f7ee9cfa4225765a97a245c133
Merge: 2f477cb ebe065f
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    Merge from origin/emacs-26
    
    ebe065f Prevent errant scroll on mouse click (Bug#31546)
    ffd2018 Minor documentation fix
    cf4dc95 * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug...
---
 doc/lispref/windows.texi |  4 +++-
 lisp/mouse.el            |  6 +++++-
 lisp/window.el           | 15 ++++++++-------
 src/nsterm.m             |  2 +-
 4 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 315ffd4..5497759 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -3730,6 +3730,7 @@ argument @var{window}, then returns its result.
 @end defun
 
 @cindex window end position
address@hidden last visible position in a window
 @defun window-end &optional window update
 This function returns the position where display of its buffer ends in
 @var{window}.  The default for @var{window} is the selected window.
@@ -3752,7 +3753,8 @@ Even if @var{update} is address@hidden, @code{window-end} 
does not
 attempt to scroll the display if point has moved off the screen, the
 way real redisplay would do.  It does not alter the
 @code{window-start} value.  In effect, it reports where the displayed
-text will end if scrolling is not required.
+text will end if scrolling is not required.  Note that the position it
+returns might be only partially visible.
 @end defun
 
 @vindex window-group-end-function
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 95aada9..693fc02 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1219,7 +1219,11 @@ The region will be defined with mark and point."
         (bounds (window-edges start-window))
         (make-cursor-line-fully-visible nil)
         (top (nth 1 bounds))
-        (bottom (if (window-minibuffer-p start-window)
+        (bottom (if (or (window-minibuffer-p start-window)
+                         ;; Do not account for the mode line if there
+                         ;; is no mode line, which is common for child
+                         ;; frames.
+                         (not mode-line-format))
                     (nth 3 bounds)
                   ;; Don't count the mode line.
                   (1- (nth 3 bounds))))
diff --git a/lisp/window.el b/lisp/window.el
index 085e516..fdd5104 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -1144,15 +1144,16 @@ explicitly provided via a `window-parameters' entry in 
ALIST."
                    buffer best-window 'reuse alist dedicated)))))))))
 
 (defun window-toggle-side-windows (&optional frame)
-  "Toggle side windows on specified FRAME.
+  "Toggle display of side windows on specified FRAME.
 FRAME must be a live frame and defaults to the selected one.
 
-If FRAME has at least one side window, save FRAME's state in the
-FRAME's `window-state' frame parameter and delete all side
-windows on FRAME afterwards.  Otherwise, if FRAME has a
-`window-state' parameter, use that to restore any side windows on
-FRAME leaving FRAME's main window alone.  Signal an error if
-FRAME has no side window and no saved state is found."
+If FRAME has at least one side window, delete all side
+windows on FRAME after saving FRAME's state in the
+FRAME's `window-state' frame parameter.  Otherwise,
+restore any side windows recorded in FRAME's `window-state'
+parameter, leaving FRAME's main window alone.  Signal an
+error if FRAME has no side windows and no saved state for
+it is found."
   (interactive)
   (let* ((frame (window-normalize-frame frame))
          (window--sides-inhibit-check t)
diff --git a/src/nsterm.m b/src/nsterm.m
index f0e6790..a15684d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -2603,7 +2603,7 @@ ns_mouse_position (struct frame **fp, int insist, 
Lisp_Object *bar_window,
 
   if (f && FRAME_NS_P (f))
     {
-      view = FRAME_NS_VIEW (*fp);
+      view = FRAME_NS_VIEW (f);
 
       position = [[view window] mouseLocationOutsideOfEventStream];
       position = [view convertPoint: position fromView: nil];



reply via email to

[Prev in Thread] Current Thread [Next in Thread]