From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Generation of tags for the current project on the fly Date: Fri, 19 Jan 2018 04:21:05 +0300 Message-ID: <76696ae3-318c-bb83-bbf9-a4f8680114ba@yandex.ru> References: <4559858d-eb32-d071-fdad-e51430700260@yandex.ru> <83shbb30z1.fsf@gnu.org> <8360863o6a.fsf@gnu.org> <27a58fb2-d2ee-e5fc-158d-ec41be401987@yandex.ru> <83y3l0za1f.fsf@gnu.org> <259c557d-e3a3-c01b-9ba3-30df09d247ea@yandex.ru> <83inc3znpu.fsf@gnu.org> <98f4f0c3-6815-bf86-fa23-1a330c60b9f3@yandex.ru> <87lggwkuth.fsf@tromey.com> <877esgqdhk.fsf@tromey.com> <1fad0c79-cd65-df83-9dcc-2650fed4dad1@yandex.ru> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1516324817 30909 195.159.176.226 (19 Jan 2018 01:20:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 19 Jan 2018 01:20:17 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Thunderbird/58.0 Cc: Eli Zaretskii , emacs-devel@gnu.org To: Tom Tromey Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 19 02:20:12 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ecLLb-00072P-Ts for ged-emacs-devel@m.gmane.org; Fri, 19 Jan 2018 02:20:00 +0100 Original-Received: from localhost ([::1]:41188 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecLNb-0001Bn-UA for ged-emacs-devel@m.gmane.org; Thu, 18 Jan 2018 20:22:03 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50577) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecLMo-0001BT-Mj for emacs-devel@gnu.org; Thu, 18 Jan 2018 20:21:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecLMk-0006bX-NI for emacs-devel@gnu.org; Thu, 18 Jan 2018 20:21:14 -0500 Original-Received: from mail-lf0-x230.google.com ([2a00:1450:4010:c07::230]:38275) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecLMk-0006aj-EW; Thu, 18 Jan 2018 20:21:10 -0500 Original-Received: by mail-lf0-x230.google.com with SMTP id g72so152537lfg.5; Thu, 18 Jan 2018 17:21:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=BRGD0dZfIVS5fakfQt5TBgVxQk5yHyZUFfQN6OaiYJA=; b=ilxbd5hwNjvnZUcXOpBXszcZgw933P07UjjHcVo0BHTiM51rlZ3wWXw6AgtmCqoxXa BvmB8jbAfAjIYC4pLklXIAYG9mANPmWmdSSBFp8m3EQ58daTLn+PEKG8mGQ6fhqJKnxM cdKvejMLnDYLx5WYGqCe9rETznFEidUo3IH7E0gBnCH/K0J+P7dYb2pdKVs/H0jjH3/o WjM7B9wI00iBpr0KS9YMRuVP4eOTd5vTZ2DHCnOnfO+4/fyhFXpfuVWYaRwljuL58AKr Z0kSPBdlBvjEB1U1XkvbnaU2FU/75RJ9EOQyrIMm2omZ+naMrqpm0jjJJ0Y0Hnx3BXcf Co5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:cc:references:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=BRGD0dZfIVS5fakfQt5TBgVxQk5yHyZUFfQN6OaiYJA=; b=uPztecKfJibk1xkapet1ELBio6oilcWg20kwVf0ClBtNLkq7ADs+xg0zIO3YGS+yf3 y1m9xivaTVzmClPhbLO1C/M9m/qSffc81rMbLzQYBVrm2tQdAxKo+HQn4LfxSdTEN49k 1pCS87lHwt0tWmxio2PA7eip7z18FW4PiHZ6kQiZ5hzBUxd+H5+tw/v6gz4YsOx9CjOq i83f8roofIlxfb7jKVYcTN3Wo9R/T9QVB3yGHPSZ6NNUsv5aPj4ZdXbPq62WixKm1m5A J0OL8G/efjyYxohyzGhIWJM3fxsBwsxnZlMAkGbIOIt5J2OcUMP0K2fRWZSQ3Go7G9oY rlyA== X-Gm-Message-State: AKwxyteeJDHY4v5KuuRe3m9ImXz5H6GfjNHFdzvcl/cYt66gVkUEC+0J c41OozoSdxgQtrLgP/lSjB0qKvBE X-Google-Smtp-Source: ACJfBot5SEIPKuF06fNQEUiijY+6iaVqMuYwZRNiKlU+8RlxMMMk2wIUXJsRsKuryRIYbqdqM7b74w== X-Received: by 10.46.68.11 with SMTP id r11mr13212938lja.13.1516324868552; Thu, 18 Jan 2018 17:21:08 -0800 (PST) Original-Received: from [192.168.1.190] ([178.252.127.239]) by smtp.googlemail.com with ESMTPSA id h27sm1505630ljb.30.2018.01.18.17.21.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 17:21:07 -0800 (PST) In-Reply-To: <1fad0c79-cd65-df83-9dcc-2650fed4dad1@yandex.ru> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::230 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:222082 Archived-At: On 1/18/18 03:14, Dmitry Gutov wrote: >> Dmitry> I'm sure it would be helpful, even if only to study the approach. >> >> I pushed it to feature/etags-update. > > Thanks! I'll do some benchmarking if nobody beats me to it. The first result: 'make tags' never finishes with that version. Here's the last output before it's stuck: ../lib-src/etags --include=../lisp/TAGS --include=../lwlib/TAGS \ --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/\1/' \ --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"[^"]+",[ ]\([A-Za-z0-9_]+\)/\1/' \ ./character.c <...many lines here...> ./systime.h \ --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/\1/' \ --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"[^"]+",[ ]\([A-Za-z0-9_]+\)/\1/' \ ./macfont.m ./nsfont.m ./nsmenu.m ./nsterm.m ./nsselect.m ./nsfns.m ./nsimage.m Tried it several times, including after 'make bootstrap'. And here's another way to make it freeze: find . -name "*.[ch]" | lib-src/etags - -o TAGS (But both *.c and *.h finish okay separately). Other than that: 1. '-u' doesn't seem to be statistically significantly slower than without (good), but maybe I haven't tested large enough repos. 2. Not sure I understand how .etags works. How do I tell it to only index *.c files? Any presence of wildcard ignore (!*) makes 'etags --find' index nothing. 3. 'lib-src/etags src/category.c -u -o TAGS' results in having only that file's tags inside TAGS (before, it contained the entries for all .c files). This behavior contradicts the help and stops the rest of my testing in its tracks.