From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: Generation of tags for the current project on the fly Date: Mon, 29 Jan 2018 22:05:06 -0700 Message-ID: <878tcgaqd9.fsf@tromey.com> 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> <76696ae3-318c-bb83-bbf9-a4f8680114ba@yandex.ru> <87lggsnkwc.fsf@tromey.com> <854cd0fd-5e4f-771a-0f58-b94373a2f98c@yandex.ru> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1517288614 7127 195.159.176.226 (30 Jan 2018 05:03:34 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 30 Jan 2018 05:03:34 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) Cc: Eli Zaretskii , Tom Tromey , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 30 06:03:30 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 1egO4i-0000nF-SK for ged-emacs-devel@m.gmane.org; Tue, 30 Jan 2018 06:03:17 +0100 Original-Received: from localhost ([::1]:38831 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1egO6j-0001Za-J0 for ged-emacs-devel@m.gmane.org; Tue, 30 Jan 2018 00:05:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34552) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1egO6c-0001ZQ-8b for emacs-devel@gnu.org; Tue, 30 Jan 2018 00:05:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1egO6Y-0007ip-2j for emacs-devel@gnu.org; Tue, 30 Jan 2018 00:05:14 -0500 Original-Received: from gateway34.websitewelcome.com ([192.185.148.212]:22439) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1egO6X-0007hu-Pr for emacs-devel@gnu.org; Tue, 30 Jan 2018 00:05:09 -0500 Original-Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway34.websitewelcome.com (Postfix) with ESMTP id B2D9E386E6 for ; Mon, 29 Jan 2018 23:05:08 -0600 (CST) Original-Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id gO6WeItYTzzFjgO6WexqCq; Mon, 29 Jan 2018 23:05:08 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=9Y8kVW1eVAqsGpASRUK9D6USOHN2TcJ4Zl02A8b0+/o=; b=OplivJQU/oEKn9T/aIFYgYMsTp BKkYMdAxdB1FonargGaKE268vA1zxcnVwPgBgYA4sNSHlRfuUcTbxEFBXqAd71zCbZEcq2FcGOwRn EFoBTnxAMz5XWjBbtN2sQ0Nx7; Original-Received: from 174-29-33-254.hlrn.qwest.net ([174.29.33.254]:36206 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1egO6V-003QYm-Tw; Mon, 29 Jan 2018 23:05:08 -0600 X-Attribution: Tom In-Reply-To: <854cd0fd-5e4f-771a-0f58-b94373a2f98c@yandex.ru> (Dmitry Gutov's message of "Sun, 21 Jan 2018 15:26:27 +0300") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 174.29.33.254 X-Source-L: No X-Exim-ID: 1egO6V-003QYm-Tw X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 174-29-33-254.hlrn.qwest.net (bapiya) [174.29.33.254]:36206 X-Source-Auth: tom+tromey.com X-Email-Count: 3 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 192.185.148.212 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:222307 Archived-At: >>>>> "Dmitry" == Dmitry Gutov writes: Dmitry> Speaking of deletions, this is not strictly necessary (we could just Dmitry> delete the whole TAGS and recreate), but it would be helpful if, when Dmitry> passed a non-existing file that is in TAGS, 'etags -u' deleted it from Dmitry> the index. Right now, it only complains "No such file or directory", Dmitry> but keeps it in the index. Could you try the appended? It worked locally for me. Tom diff --git a/lib-src/etags.c b/lib-src/etags.c index 925355f9da..d6eda19be6 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -1942,7 +1942,15 @@ process_file_name (char *file, language *lang) if (! inf) { errno = file_errno; - perror (file); + + if (update && errno == ENOENT) + { + /* Add the filename to the hash but don't do anything else. This + will result in the entry being removed from the tags file. */ + add_filename_to_hash (file); + } + else + perror (file); goto cleanup; } }