GNU bug report logs - #76322
Make ctags a thin wrapper around etags

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Sun, 16 Feb 2025 05:22:02 UTC

Severity: wishlist

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 76322 <at> debbugs.gnu.org
Subject: bug#76322: Make ctags a thin wrapper around etags
Date: Sun, 9 Mar 2025 00:13:51 -0800
[Message part 1 (text/plain, inline)]
On 2025-03-06 05:31, Eli Zaretskii wrote:
>> Date: Tue, 4 Mar 2025 10:37:05 -0800
>> Cc: 76322 <at> debbugs.gnu.org
>> From: Paul Eggert <eggert <at> cs.ucla.edu>
>>
>> Thanks for the review. Revised patch attached, which I think addresses
>> all the comments.
> 
> Thanks.  This mostly worked, but I needed a few minor changes (below).
> We should use _spawnvp, not _execvp, since the latter doesn't return,
> so we cannot return the exit status of etags to the caller.  More
> importantly, the counting of bytes to allocate missed the PROGRAM part
> of --ctags=PROGRAM, so ctags would crash in weird ways.  Finally, I
> need to include stdio.h to get the declaration of perror.  Here's the
> patch:

Thanks, I incorporated all that into the proposed patch. A couple of 
things, though. First, when _spawnvp returns -1 I assume ctags should 
call perror and exit with status 127 rather than simply try to exit with 
status -1. Second and more important, my earlier proposal violated the 
GNU Coding Standards because its behavior depended on its name.[1]

Fixing the second problem simplified the C and shell code a bit. Revised 
patch attached.

[1]: 
https://www.gnu.org/prep/standards/html_node/User-Interfaces.html#index-program-name-and-its-behavior
[0001-Make-ctags-a-thin-wrapper-around-etags.patch (text/x-patch, attachment)]

This bug report was last modified 58 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.