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.bugs Subject: bug#62762: 'make' often errors with "Org version mismatch" after pulling a new version of the code Date: Thu, 04 May 2023 08:35:55 +0300 Message-ID: <83ild8lkuc.fsf@gnu.org> References: <83zg7ealrd.fsf@gnu.org> <87pm8a8dx4.fsf@localhost> <87pm7vt0mx.fsf@localhost> <87cz3k8i27.fsf@localhost> <87sfcfdldt.fsf@localhost> <87bkj1g10g.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38895"; mail-complaints-to="usenet@ciao.gmane.io" Cc: yantar92@posteo.net, 62762@debbugs.gnu.org, bzg@gnu.org, dmitry@gutov.dev, monnier@iro.umontreal.ca, manikulin@gmail.com To: Alan Mackenzie Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu May 04 07:36:20 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1puRdb-0009uS-Sd for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 May 2023 07:36:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puRdO-0008Lq-Dy; Thu, 04 May 2023 01:36: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 1puRdK-0008La-LW for bug-gnu-emacs@gnu.org; Thu, 04 May 2023 01:36:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puRdK-0007iw-BS for bug-gnu-emacs@gnu.org; Thu, 04 May 2023 01:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1puRdK-0004HZ-4W for bug-gnu-emacs@gnu.org; Thu, 04 May 2023 01:36:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 04 May 2023 05:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62762 X-GNU-PR-Package: emacs Original-Received: via spool by 62762-submit@debbugs.gnu.org id=B62762.168317851516403 (code B ref 62762); Thu, 04 May 2023 05:36:02 +0000 Original-Received: (at 62762) by debbugs.gnu.org; 4 May 2023 05:35:15 +0000 Original-Received: from localhost ([127.0.0.1]:48230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puRcY-0004GU-DO for submit@debbugs.gnu.org; Thu, 04 May 2023 01:35:14 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:48912) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puRcW-0004GG-F5 for 62762@debbugs.gnu.org; Thu, 04 May 2023 01:35:13 -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 1puRcP-0003RH-H6; Thu, 04 May 2023 01:35: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=vqpqsIZJ/W95GI0p7sec2HuAA8uM/xCwB86uX8hD8Pw=; b=GOw2igKjJJdY ystQNTvNp0kD6bz3jXhVbRzi4ckvYEWDSzu6T7PwUMRFzCZ3cDgJOTGdKUjJdSrenpY8hjoynnyGk Ss7ikkLFmDvce0wy0BSyxNvFqTfxxts7LXXjpII8U7kDebIIxlAS768VHSoyPOT2AtUYwI67j90tX wx959vAkEypkTrPYVWmxkNec7Ks3uFk7DnMmb7tgi3gh19ZJI4gP4b8EgiHDTHO25Dedg/EfOKC26 j9GC/usz9tw4ADWz3FYrgKTZBek1fxe9FIlsQrrJwceCYNxH5EyUm87QsIVrDjajXsW/7yYMF8MbX FP/zU1Yd/udkAS1vY+u0cg==; 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 1puRcO-0003Ln-WE; Thu, 04 May 2023 01:35:05 -0400 In-Reply-To: (message from Alan Mackenzie on Wed, 3 May 2023 21:37:11 +0000) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:260998 Archived-At: > Date: Wed, 3 May 2023 21:37:11 +0000 > Cc: Stefan Monnier , bzg@gnu.org, dmitry@gutov.dev, > Eli Zaretskii , 62762@debbugs.gnu.org, > Max Nikulin > From: Alan Mackenzie > > It occurs to me that perhaps the CC Mode solution to the original > problem might be useful. It was written by my predecessor at CC Mode, > Martin Stjernholm. In ~20 years of using it, I've never had problems > with using incorrect versions of macros, or anything like that. No, the situation with CC Mode solution is far from ideal. It's the reason that we have had the dependencies below in lisp/Makefile.in for the past 15 years: # https://debbugs.gnu.org/1004 # CC Mode uses a compile time macro system which causes a compile time # dependency in cc-*.elc files on the macros in other cc-*.el and the # version string in cc-defs.el. $(lisp)/progmodes/cc-align.elc\ $(lisp)/progmodes/cc-cmds.elc $(lisp)/progmodes/cc-compat.elc\ $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-fonts.elc\ $(lisp)/progmodes/cc-langs.elc $(lisp)/progmodes/cc-menus.elc\ $(lisp)/progmodes/cc-mode.elc $(lisp)/progmodes/cc-styles.elc\ $(lisp)/progmodes/cc-vars.elc: \ $(lisp)/progmodes/cc-bytecomp.elc $(lisp)/progmodes/cc-defs.elc $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-cmds.elc: \ $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-compat.elc: \ $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-styles.elc \ $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-defs.elc: $(lisp)/progmodes/cc-bytecomp.elc $(lisp)/progmodes/cc-engine.elc: $(lisp)/progmodes/cc-langs.elc \ $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-fonts.elc: $(lisp)/progmodes/cc-langs.elc \ $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \ $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \ $(lisp)/progmodes/cc-styles.elc $(lisp)/progmodes/cc-cmds.elc \ $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc $(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \ $(lisp)/progmodes/cc-align.elc Each time some of the cc-*.el files change we recompile all of them. The difference between this and Org is that Org has many more files, so spelling out their dependencies is impractical (that was the first possible solution I thought about when I tried to solve the Org issue).