From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#59575: 29.0.50; add-log-current-defun-header-regexp matches Windows drive letter Date: Sat, 26 Nov 2022 15:03:55 +0200 Message-ID: <83zgcdsw90.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37599"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 59575@debbugs.gnu.org To: Juanma Barranquero , Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 26 14:04:24 2022 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 1oyur2-0009XR-Ds for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 26 Nov 2022 14:04:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oyuqi-0006sA-Rq; Sat, 26 Nov 2022 08:04:04 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oyuqg-0006ru-Rl for bug-gnu-emacs@gnu.org; Sat, 26 Nov 2022 08:04:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oyuqg-0007aI-If for bug-gnu-emacs@gnu.org; Sat, 26 Nov 2022 08:04:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oyuqg-00070T-EI for bug-gnu-emacs@gnu.org; Sat, 26 Nov 2022 08:04:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 26 Nov 2022 13:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59575 X-GNU-PR-Package: emacs Original-Received: via spool by 59575-submit@debbugs.gnu.org id=B59575.166946783526913 (code B ref 59575); Sat, 26 Nov 2022 13:04:02 +0000 Original-Received: (at 59575) by debbugs.gnu.org; 26 Nov 2022 13:03:55 +0000 Original-Received: from localhost ([127.0.0.1]:38149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oyuqZ-0006zz-0f for submit@debbugs.gnu.org; Sat, 26 Nov 2022 08:03:55 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:58304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oyuqX-0006zo-G3 for 59575@debbugs.gnu.org; Sat, 26 Nov 2022 08:03:53 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oyuqS-0007Xk-8r; Sat, 26 Nov 2022 08:03:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=P2gVeLUQQfJWniZf6ADv2DrB6fC+VcrqhbOLd4kwiiY=; b=L4nkn3hSvRwH0EvFTaQe WvBMdFtsC3Vd4T+UBdb4Ud+OzP6PcfwrKxdCfWSdYOHfmtX2Zvvhm2TVdYWmYk9aT+nyrE2FKc2Ev f8yjQMBnPwkXSWJsiY0zydl2DtVXCDtFznQajEvC71OO2ew3wR+v+jf2AZLC2CoS+3WBO7JRTJ0d1 TYaiy+/1AgpGjTOT2fEoAEsDGBIzzDJKlqc8RH84Gty5lhQAgRDWQX3jEVSn3YDH8Px7AvOxOfmQX Y/l6bqV4pWnRdmaLlW/FYl6kuYM2VceddeHO6NY/91kk867OBHc5ciLo+GcXALE+2aqbp9Kdh5fJz JIDhIyETJuqGlg==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oyuqC-0003JW-Df; Sat, 26 Nov 2022 08:03:39 -0500 In-Reply-To: (message from Juanma Barranquero on Fri, 25 Nov 2022 16:53:51 +0100) 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:249081 Archived-At: > From: Juanma Barranquero > Date: Fri, 25 Nov 2022 16:53:51 +0100 > > If you have an *xref* buffer with absolute Windows filenames, like > > ~/.emacs.d/init.el > 93: server-name (replace-regexp-in-string "\\\\+" "\\" serv t t) > 1102: (let ((s (when server-name > 1104: (string-match (rx (+ (not (any ?\\))) line-end) server-name) > 1105: (upcase (match-string 0 server-name)))))) > d:/Devel/emacs/repo/trunk/lisp/erc/erc-backend.el > 1820: (pcase-let ((`(,server-name ,server-version) > 1823: (setq erc-server-announced-name server-name) > 1827: 's004 ?s server-name ?v server-version > > and put the cursor in an absolute filename line (like the one d:/Devel/[etc] above), calling > `add-log-current-defun' returns the drive letter "d", because it matches a-l-c-d-header-regexp. > > The effect is visible when you have which-function-mode enabled, because the function returns non-nil, so > which-function does not resort to imenu, and you end with "d" in the mode-line. > > I suppose this should be fixed in xref.el, which apparently assumes that file name lines will be either relative > or Unix-style (/path/file works correctly, it's just d:/path/file that fails) and the add-log heuristics will always > fail. xref.el doesn't know anything about add-log, and AFAICT doesn't customize it in any way, shape, or form. So I think this should be fixed in add-log.el. Its regexp is too naïve, and should be beefed-up not to fail in this way. For example, is it really reasonable to accept "defuns" whose name is a single letter? Or if it's impossible to do that in the regexp, then we should reject such "matches" in add-log-current-defun instead. It is also possible to have xref.el define its customized add-log-current-defun-function, but that sounds like overkill to me. Dmitry, WDYT?