From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Org mode update breaking build? Date: Mon, 08 May 2023 16:22:05 +0300 Message-ID: <83a5yfc60y.fsf@gnu.org> References: <00b52cc1-b0ac-a0c0-c91d-33a7213e9881@web.de> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18262"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Madhu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 08 15:21:47 2023 Return-path: Envelope-to: ged-emacs-devel@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 1pw0oD-0004Tc-SF for ged-emacs-devel@m.gmane-mx.org; Mon, 08 May 2023 15:21:45 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pw0na-0000c5-Pu; Mon, 08 May 2023 09:21:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pw0nZ-0000bc-N9 for emacs-devel@gnu.org; Mon, 08 May 2023 09:21:05 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pw0nZ-0004Zp-3P; Mon, 08 May 2023 09:21:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=YJFIGGBjupMslKBxPhMkz7oCAQ1nVeX0PcWgHgrADDw=; b=no4Rx1O1cMEP 9AO/lSWjpwiAb7Kzfwgd2aeUZU0fNy7GU32Vjog5YAd38blGHqcksGWgQB7Qsdo5A07L1e+IP1MK9 f1ig0dujJxFh8JwFD7jyUZdCGnKDfGaqnkO9ax+lmI78MRJV8N2qUWYov4BARsy4bzP3U4qLC07y/ PS1UoJxvDGQXCb3cRwjB0BR5DCFB5f3G+wRDcIRXNuz/CixcBXAIIOObNvZ++Z9uy5A9kJj3cHnnz DhBc2BNMgH/Ayxx0SbKpMK4EvYSjR9cho6qlso3NAkvHMQ4D8OAH8qXhTSecs/GTk6becKizFp3Fo rrl5+ooMT/lpJBn1EsxHug==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pw0nY-0000UY-JX; Mon, 08 May 2023 09:21:04 -0400 In-Reply-To: (message from Madhu on Mon, 08 May 2023 17:30:17 +0530) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:305978 Archived-At: > From: Madhu > Date: Mon, 08 May 2023 17:30:17 +0530 > > I haven't update master very recently but a while ago I got into the > habit of running a script before calling `make'. the $1 parameter is the > path to src/lisp. it lists stale elc files, which I then delete by hand. > > ``` > for i in $(find "$1" -name \*.elc); do > j=${i%c}; > if [ ! -e "$i" ]; then > echo "MISSING $i" >> /dev/stderr > elif [ ! -e "$j" ]; then > echo "MISSING $j" >> /dev/stderr > else > # file-newer-p.sh $j $i # UNTESTED. > a=$(stat -c '%Y' "$j") > b=$(stat -c '%Y' "$i") > if [ $a -gt $a ]; then echo "$i"; fi; > fi > done > ``` > > Since I started doing this, I don't think I've faced elisp recompilation > problems. But I never understood the rationale for "loading stale elc" > behaviour as a part of recompilation. If someone can explain that I'd > appreciate it. We have switched to "load newer el" behavior quite some time ago, so I think your script is from before that. The problem here is not with *.elc files that are older than the corresponding *.el files, the problem is with _other_ *.elc files that were produced with outdated definitions of macros, and those macros are defined in the *.el files other than the one corresponding to the problematic *.elc. So just looking at time stamps will not allow to find the problematic *.elc files.