From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: line-start? Date: Fri, 07 Feb 2020 11:20:53 +0200 Message-ID: <838sleg3d6.fsf@gnu.org> References: <87ftfof1xl.fsf@gnu.org> <877e0zrhud.fsf@gnu.org> <83o8ubfu9l.fsf@gnu.org> <87v9oiucdn.fsf@bzg.fr> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="68285"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Bastien Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 07 10:22:15 2020 Return-path: Envelope-to: ged-emacs-devel@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 1izzq3-000HfC-5W for ged-emacs-devel@m.gmane-mx.org; Fri, 07 Feb 2020 10:22:15 +0100 Original-Received: from localhost ([::1]:52644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1izzq2-0001d2-87 for ged-emacs-devel@m.gmane-mx.org; Fri, 07 Feb 2020 04:22:14 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34517) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1izzp6-00015I-Us for emacs-devel@gnu.org; Fri, 07 Feb 2020 04:21:17 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:36645) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1izzp6-000662-RK for emacs-devel@gnu.org; Fri, 07 Feb 2020 04:21:16 -0500 Original-Received: from [176.228.60.248] (port=1883 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1izzp5-0008WJ-Pw; Fri, 07 Feb 2020 04:21:16 -0500 In-reply-to: <87v9oiucdn.fsf@bzg.fr> (message from Bastien on Fri, 07 Feb 2020 07:42:28 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:244888 Archived-At: > From: Bastien > Cc: emacs-devel@gnu.org > Date: Fri, 07 Feb 2020 07:42:28 +0100 > > > (nth 1 (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point))))) > > Thanks a lot -- this is indeed more precise. (window-hscroll) > does not handle rescaled text very well, whereas this solution > does. Once again, window-hscroll just returns the number of columns by which the window is hscrolled, it doesn't return the buffer position. For example, window-hscroll will return the same value for each line in the window, although the buffer position of the beginning of each line is different. Are you looking for columns or for buffer positions? > However, when the cursor is right under the header-line, the > expression above returns 'header-line, so I could not use it > for my purpose. > > Also, the same expression returns 'header-line when the cursor > is on the _second_ line below the 'header-line -- I haven't > looked for why it does so, but if it is reproducible, maybe > there is something inconsistent here. Yes, you need to correct the Y coordinate returned by posn-at-point when the window has a header line. The correction can be calculated like this: (- (nth 1 (window-edges nil t nil t)) (nth 1 (window-edges nil nil nil t)))