From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Source file '.../killer-source.el' newer than byte-compiled file Date: Wed, 24 Apr 2019 02:18:49 +0200 Message-ID: <86pnpcfe6u.fsf@zoho.eu> References: <8636m8ipt5.fsf@zoho.eu> <8336m84no5.fsf@gnu.org> <86lg00h8s2.fsf@zoho.eu> <86ftq8h8gn.fsf@zoho.eu> <83zhog35nr.fsf@gnu.org> <86zhogfin1.fsf@zoho.eu> <87bm0w8g7k.fsf@alphaville.usersys.redhat.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="82906"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Apr 24 02:19:21 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hJ5d8-000LPL-Es for geh-help-gnu-emacs@m.gmane.org; Wed, 24 Apr 2019 02:19:18 +0200 Original-Received: from localhost ([127.0.0.1]:33236 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJ5d7-0006w0-CW for geh-help-gnu-emacs@m.gmane.org; Tue, 23 Apr 2019 20:19:17 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:47714) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJ5cs-0006vq-WD for help-gnu-emacs@gnu.org; Tue, 23 Apr 2019 20:19:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hJ5cr-0001I6-1S for help-gnu-emacs@gnu.org; Tue, 23 Apr 2019 20:19:02 -0400 Original-Received: from [195.159.176.226] (port=40870 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hJ5cp-0001FH-1K for help-gnu-emacs@gnu.org; Tue, 23 Apr 2019 20:18:59 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hJ5cm-000L2D-2B for help-gnu-emacs@gnu.org; Wed, 24 Apr 2019 02:18:56 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Cancel-Lock: sha1:bvQj7qd7rL8PE3LT9HQEz7HiCvA= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:120046 Archived-At: Nick Dokos wrote: >>> You can concoct Make rules for that >> >> ... how? You mean manually? If so, I'm >> afraid that's totally out of the question, >> as I have 64 `provide's and 284 `require's! >> > > This is called "topological sorting" and you > can use the tsort(1) program to do that, > although you will have to prepare an input > file that describes the dependencies in the > format that tsort expects: > > (info "(coreutils) tsort invocation") Cool stuff, straight CS, but if it has to be done manually, it's out of the question, as I `require' stuff back and forth all the time! To have a file to describe that would be so much extra work, and not only that, but the worst part, boring and error-prone extra work. Unless you have a tool to analyze my Elisp, grep the requires, parse the catch, and direct it to a file in the format that's needed... Besides, mustn't I then even hook it to make(1) as well, or is there yet another tool for that? So no, I don't think I'll do that, but it is still interesting, so if you have an example I'd like to see it, of course :) OK, hands down, this error doesn't come that often. When it does, if one could only know _what files_ require an old .elc, one could simply touch(1) those one or two files and recompile! So again, if the byte-compiler knows this (the name of the file), it would help if it outputted them! With errors and warnings, this always happens. Why not now as well? However, I think I can modify the Makefile so that, whenever there is this warning, output the name of the file that is being compiled! The simplest solution, right? But I'd still like to know what it means in theory as well as possible practice when a requires an old b, and c requires a new b, and a, b and c are part of the same Emacs system? -- underground experts united http://user.it.uu.se/~embe8573