GNU bug report logs - #59115
29.0.50; byte-recompile-directory incorrectly ignoring files

Previous Next

Package: emacs;

Reported by: No Wayman <iarchivedmywholelife <at> gmail.com>

Date: Tue, 8 Nov 2022 01:26:02 UTC

Severity: normal

Merged with 59076

Found in version 29.0.50

Done: Philip Kaludercic <philipk <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: No Wayman <iarchivedmywholelife <at> gmail.com>
Subject: bug#59115: closed (Re: bug#59115: 29.0.50; byte-recompile-directory
 incorrectly ignoring files)
Date: Wed, 09 Nov 2022 08:41:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#59115: 29.0.50; byte-recompile-directory incorrectly ignoring files

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 59115 <at> debbugs.gnu.org.

-- 
59115: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59115
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Philip Kaludercic <philipk <at> posteo.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 59115-done <at> debbugs.gnu.org, No Wayman <iarchivedmywholelife <at> gmail.com>
Subject: Re: bug#59115: 29.0.50; byte-recompile-directory incorrectly
 ignoring files
Date: Wed, 09 Nov 2022 08:39:54 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: No Wayman <iarchivedmywholelife <at> gmail.com>
>> Date: Mon, 07 Nov 2022 19:49:58 -0500
>> 
>> Commit 8638aace3fbe01529f33870f469fa60bf5e43ee7
>> introduced a bug which will cause byte-recompile-directory to 
>> invert the semantics of the byte-compile-ingore-files option.
>> 
>> To reproduce:
>> 
>> 1. mkdir /tmp/bug/ && cd /tmp/bug/
>> 2. Copy an elisp file which would normally be byte-compiled into 
>> that directory
>> 3. emacs -Q --batch --eval "(byte-recompile-directory 
>> default-directory 0 'force)"
>> 
>> You should see output similar to:
>> 
>> Checking /tmp/bug...
>> Done (Total of 0 files compiled)
>> 
>> 
>> In general the entire logic of byte-recompile-directory is messy.
>> Two ifs without elses, lots of negated predicates, etc. I can see 
>> why the mistake was easy to overlook. This could be further 
>> refactored to make it easier to read by leveraging when/unless 
>> appropriately. Perhaps there's an argument for some abnormal hooks 
>> in place of those long chains of ad-hoc predicates, but I'm more 
>> interested in fixing the problem now.
>> 
>> The attached patch fixes it for me.
>
> Philip, can you look into tis, please?

Yes, the patch makes sense.  I'm going to apply the patch.

Thanks.

[Message part 3 (message/rfc822, inline)]
From: No Wayman <iarchivedmywholelife <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; byte-recompile-directory incorrectly ignoring files
Date: Mon, 07 Nov 2022 19:49:58 -0500
[Message part 4 (text/plain, inline)]
Commit 8638aace3fbe01529f33870f469fa60bf5e43ee7
introduced a bug which will cause byte-recompile-directory to 
invert the semantics of the byte-compile-ingore-files option.

To reproduce:

1. mkdir /tmp/bug/ && cd /tmp/bug/
2. Copy an elisp file which would normally be byte-compiled into 
that directory
3. emacs -Q --batch --eval "(byte-recompile-directory 
default-directory 0 'force)"

You should see output similar to:

Checking /tmp/bug...
Done (Total of 0 files compiled)


In general the entire logic of byte-recompile-directory is messy.
Two ifs without elses, lots of negated predicates, etc. I can see 
why the mistake was easy to overlook. This could be further 
refactored to make it easier to read by leveraging when/unless 
appropriately. Perhaps there's an argument for some abnormal hooks 
in place of those long chains of ad-hoc predicates, but I'm more 
interested in fixing the problem now.

The attached patch fixes it for me.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.34, cairo version 1.17.6) of 2022-11-07 built on nbook
Repository revision: 35221a7bd55e18244604376497097f4259c7351b
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 
11.0.12101004
System Description: Arch Linux

[0001-bytecomp.el-byte-recompile-directory-Fix-negated-ign.patch (text/x-patch, attachment)]

This bug report was last modified 2 years and 191 days ago.

Previous Next


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