From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#46859: 28.0.50; [PATCH]: Add option to truncate long lines in xref.el Date: Thu, 4 Mar 2021 04:50:48 +0200 Message-ID: <9d87da5b-e30e-149d-a467-a2c4c752a60e@yandex.ru> References: <87im69uzlt.fsf@mail.linkov.net> <878s74fv27.fsf@mail.linkov.net> <4119ea3055ef8f306fc0@heytings.org> <4119ea30557ef84ca190@heytings.org> <7eb7ee0f-7dba-c90d-cb58-af42c3828643@yandex.ru> <4119ea30554b406efbbf@heytings.org> <4119ea30558f1e4145b0@heytings.org> <4119ea30555e80bdcf7e@heytings.org> <1c82e582-8b90-f3c5-5391-1e88ca4e7ab2@yandex.ru> <875z282el0.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20751"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cc: Gregory Heytings , 46859@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Mar 04 03:51:15 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 1lHe55-0005K5-5H for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 Mar 2021 03:51:15 +0100 Original-Received: from localhost ([::1]:44934 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lHe54-0002ZE-7T for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 03 Mar 2021 21:51:14 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49788) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lHe4s-0002Yi-IR for bug-gnu-emacs@gnu.org; Wed, 03 Mar 2021 21:51:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:45811) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lHe4s-0008CN-Ay for bug-gnu-emacs@gnu.org; Wed, 03 Mar 2021 21:51:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lHe4s-0000qf-8s for bug-gnu-emacs@gnu.org; Wed, 03 Mar 2021 21:51:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 04 Mar 2021 02:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46859 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 46859-submit@debbugs.gnu.org id=B46859.16148262593252 (code B ref 46859); Thu, 04 Mar 2021 02:51:02 +0000 Original-Received: (at 46859) by debbugs.gnu.org; 4 Mar 2021 02:50:59 +0000 Original-Received: from localhost ([127.0.0.1]:57357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHe4p-0000qO-Lh for submit@debbugs.gnu.org; Wed, 03 Mar 2021 21:50:59 -0500 Original-Received: from mail-wr1-f51.google.com ([209.85.221.51]:33110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHe4n-0000qC-TN for 46859@debbugs.gnu.org; Wed, 03 Mar 2021 21:50:58 -0500 Original-Received: by mail-wr1-f51.google.com with SMTP id 7so25956272wrz.0 for <46859@debbugs.gnu.org>; Wed, 03 Mar 2021 18:50:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=1o+9TC4lGOQnoDyKqBvcv9yYIJLciesGKnw03Oni8yM=; b=gnMRmU7Br/FVhRbjWoTd+qNJ/WEnNwaouPrN+4SLbKYNXXJ+Sev7cxohDwxalHdftC mWeVxXd9UUrCWSjflC7MkJ0dfRWG8EShEOlxsJRo+tNH2Xq5d+0mH/h/daj3JxE8vN30 9mViTWNlvJEe2GqFL0Thl3jY0AbfeN88oBo8f/qOcWFRaCtX6eUbkf4ke5Lz0743SSPh GYaBR07Dn1+PfIfM0UdpBFSJFklIxgHNmCkwthUfX0ug/wDbRs0GAZkN2+oiup1m987C ZTUyT5BVkH3Lr8V1OvHds+aGUNQSP+Bke/XCUg8/6dZo6PVnGaUmuLGORRkUBSrujuVl 0wZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=1o+9TC4lGOQnoDyKqBvcv9yYIJLciesGKnw03Oni8yM=; b=dDWb9tqAOsh0D26m428erwIf2dx7P7hiS7RKi8JQEccXrphlCzlthKiuw2/2Vurj8X 8CIgPDwrczVVhTLfRXpx5LizGeDwHUkQAq/6qOLemJraDI5m7CktqhE4hqDOZ7rjHUPB YKERF+d3AQN50u2tvX95IvpfBq6Dkwmxmes3AWrqJyd2HBeY6wwNS4zDwspgquTBvjOk TfyrBEAZPTTwJ8XfnXJQQ0g5cc3KfbpBmtLGDboIISUTdRdDJlgahiu80KNEkp93Npqs gIjNQqSNb/4h+kkPvuuQlPkRdFgF4s5Aqi1jCVgPnrxyGnhgfkDb6MuKjkJklkKK+Idk VSiQ== X-Gm-Message-State: AOAM532Dj/5NHMTTbABR2HDmHel4aVlsmcAXLvC5JS8BU7QdwXVzUps3 B2fjQuBrzqKSgWperNH363oSKNscHVE= X-Google-Smtp-Source: ABdhPJym2SnkOueqvbdiSTt6g0PHQC8R4/JEAKr//Gz7dstBe5rjf+mmW/ksdIPU1HvTnEpung23JQ== X-Received: by 2002:a5d:42d2:: with SMTP id t18mr1605030wrr.258.1614826252004; Wed, 03 Mar 2021 18:50:52 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id d16sm34053119wrx.79.2021.03.03.18.50.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Mar 2021 18:50:51 -0800 (PST) In-Reply-To: <875z282el0.fsf@mail.linkov.net> Content-Language: en-US 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:201354 Archived-At: Hi Juri, On 03.03.2021 21:59, Juri Linkov wrote: >> We currently don't visit the file buffer if it's not already visited, >> parsing the line in a temp buffer instead. That approach resulted in a nice >> perf improvement. > > Reusing visited files is a nice feature, but still needs a fix. > > Test case: visit emacs/src/xdisp.c and type > > C-x p g expose_frame RET > > See that not all lines from xdisp.c have font-lock highlighting. > After applying this patch, all xref output lines from xdisp.c > have font-lock faces: I thought about this, but applying font-lock rules is not exactly a trivial action. So I figured we better avoid it (and only call syntax-propertize when necessary) to get the best performance possible. Have you tried benchmarking with and without your patch? Particular case of interest: many files, each already visited, with 1 match in each of them. Or few matches. The opposite would be one file with many matches inside of it. This case should be relatively inexpensive for this patch, but it's worth measuring to compare too. P.S. The "(unless syntax-needed" guard in the proposed patch is not needed.