From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#51590: follow-mode is broken with header-line and tab-line Date: Mon, 8 Nov 2021 18:32:20 +0100 Message-ID: <70ed9026-8c9b-a8cb-ab62-cb800ddac44d@gmx.at> References: <86bl31xfl9.fsf@mail.linkov.net> <83h7ctgk93.fsf@gnu.org> <86pmrf3l9m.fsf_-_@mail.linkov.net> <835yt7g3my.fsf@gnu.org> <8335o9dazn.fsf@gnu.org> <83bl2xbhz1.fsf@gnu.org> <83o86x9lg6.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------28F3B152507022B815D03A1F" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26766"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, 51590@debbugs.gnu.org, juri@linkov.net To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Nov 08 18:33:10 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mk8W6-0006mR-PW for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 08 Nov 2021 18:33:10 +0100 Original-Received: from localhost ([::1]:33014 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mk8W4-0003eI-RG for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 08 Nov 2021 12:33:08 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:59236) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mk8Vy-0003e8-Py for bug-gnu-emacs@gnu.org; Mon, 08 Nov 2021 12:33:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47770) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mk8Vy-0004GA-HU for bug-gnu-emacs@gnu.org; Mon, 08 Nov 2021 12:33:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mk8Vy-0004U1-F6 for bug-gnu-emacs@gnu.org; Mon, 08 Nov 2021 12:33:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 08 Nov 2021 17:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51590 X-GNU-PR-Package: emacs Original-Received: via spool by 51590-submit@debbugs.gnu.org id=B51590.163639275317187 (code B ref 51590); Mon, 08 Nov 2021 17:33:02 +0000 Original-Received: (at 51590) by debbugs.gnu.org; 8 Nov 2021 17:32:33 +0000 Original-Received: from localhost ([127.0.0.1]:59316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mk8VV-0004T9-4m for submit@debbugs.gnu.org; Mon, 08 Nov 2021 12:32:33 -0500 Original-Received: from mout.gmx.net ([212.227.17.21]:39995) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mk8VT-0004Su-1V for 51590@debbugs.gnu.org; Mon, 08 Nov 2021 12:32:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1636392742; bh=Ea/acTamS0dlIbioqXpehSSVNE+8IxZJL/4iMTasrvE=; h=X-UI-Sender-Class:Subject:From:To:Cc:References:Date:In-Reply-To; b=Q8VQt42WtMs2s2oBrN3iP9K52ghb89HnA1YRbuuggqTupDL42+j65kGr0tXpK3kqf VRrDsNHOVB7oJJQyJl5MN3Pjt1TqlK5hO2CVqNvlH6VqMvD8QHJXf2JDzDQIEJtcrT asM67lADRWhuygJ6d+CyQfxAyP8CXm7ZAEcGmv8E= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.102] ([212.95.5.204]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MeU4y-1mCAjJ3cfM-00aW8m; Mon, 08 Nov 2021 18:32:21 +0100 In-Reply-To: Content-Language: en-US X-Provags-ID: V03:K1:lAl/why79dUgHErwBg24QlI6W7VPTlXhuBm//+NBgsMGZ1rn50c DMW8vXmWyTkb6g58zpGwlNd1Si/HDHKZVkMwWreeom6zyQ5+1Mrm3RZIdR9uWaiqdvhW/Y6 1O1AslgNammcKWLcssprv5IFEjUwlKjeaqLEbuuVilvyZOEEXnhjUciNYcZbAbNp1+Q6O7M AKYtQ9XaZiyyyVkF74U/A== X-UI-Out-Filterresults: notjunk:1;V03:K0:Ri88kse0UIo=:w7faX7BOZsIpTJB0it8JWT EA4GAUMCkrWi2XagGQ2KhGssqeehSc5dKCUO+qmFWe6zWtxwmtU9TXrE0aAespKoiRSyS8Fhc wKNMdJzck3P6QYf7ptI6IaOTkvJyC0bRZaIrVZjwvgcOvwlOjwkO0I+A7LvWKZHCPe6yP8pl3 98IVlX2H8L7r3s7z/rWz+ECXaK8Dvbrgi7mB8qQjInZ1YjxdgLNnrHiUE/L77Yq36RwaQf9Qe pOVjlSR7aAu4L/qtmO1Aok/WXZ40MJGJkXAo5ejQb66mt/zBefHk87qGq4aEsGP9isQKdqePy qj/M74aITl75YxYAK/LQbbrc6zq1HiDGUQCEMKTV05rZgfi79wFvMbspBeCvSvNS0+meHjH9a P1DMmK0lLsjb5kobfYUmajQk4ypyfutx051wtFTUJ4EgzCS9P/iyRDPvO+qoT0bta5KHsH0Jy omV9diVZGm84t2mr+CqQQBHIswwc6YA9YrCcC7hHzm7JcPE3nYzmCJwMJvz4JaoYJC4XFlniN ccr9XhHiLhqatd3rztrZab+3JvM3Iv7Ej6sHd6g4EAWya12pA6Eeh9ftSBczWZcmH+2Vr9K7L ZVzHRqTqj8rjo13PKnKbal6eA+zmCJgETirNiCoM+J6mnwyvQ1oysey2NwkC0d6+ORRDF8UxI 9r/V5Y0A3PSHZf46rQWfVbUbI3gNfnPVH9q5DoN2qk97P737TdMLsNTDAJXGubIKRWX2K2wMu 3QvJuj06/vCQw4S7JiGvxbbyr6qAQXADeEo/PGA2H+rzc6+o1arpBvoPt00QfhCR1k5iMMAB X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:219366 Archived-At: This is a multi-part message in MIME format. --------------28F3B152507022B815D03A1F Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit > (posn-area (posn-at-x-y (1- (window-pixel-width)) 0)) > > currently gives 'nil' regardless of whether it's done with a header or > tab line and > > (posn-area (posn-at-x-y > (1- (window-pixel-width)) > (1- (window-pixel-height)))) > > gives 'nil' on the mode line. Only when I remove _both_ fringes and the > vertical scroll bar I get the expected results. This _is_ a bug and we > should fix it. I think the attached patch should fix that modulo some ">=" and "<" glitches. martin --------------28F3B152507022B815D03A1F Content-Type: text/x-patch; name="posn-at-x-y.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="posn-at-x-y.diff" diff --git a/src/keyboard.c b/src/keyboard.c index a99d14cb4c..d24a0ffe07 100644 =2D-- a/src/keyboard.c +++ b/src/keyboard.c @@ -11374,7 +11374,9 @@ DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, = 2, 4, 0, XSETINT (x, (XFIXNUM (x) + WINDOW_LEFT_EDGE_X (w) - + (NILP (whole) + + ((NILP (whole) + && XFIXNUM (y) >=3D WINDOW_BOX_TOP_PIXEL_EDGE (w) + && XFIXNUM (y) < WINDOW_BOX_HEIGHT_NO_MODE_LINE (w)) ? window_box_left_offset (w, TEXT_AREA) : 0))); XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XFIXNUM (y))); diff --git a/src/window.h b/src/window.h index 2400c422c1..6420706b5f 100644 =2D-- a/src/window.h +++ b/src/window.h @@ -800,6 +800,12 @@ #define WINDOW_BOX_RIGHT_PIXEL_EDGE(W) \ - WINDOW_RIGHT_DIVIDER_WIDTH (W) \ - WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH (W)) +/* Return the pixel value where the text in window W starts. */ +#define WINDOW_BOX_TOP_PIXEL_EDGE(W) \ + (WINDOW_TOP_PIXEL_EDGE (W) \ + + WINDOW_HEADER_LINE_HEIGHT (W) \ + + WINDOW_TAB_LINE_HEIGHT (W)) + /* Return the frame x-position at which the text (or left fringe) in window W starts. This does not include a left-hand scroll bar if any. */ --------------28F3B152507022B815D03A1F--