From: Max Nikulin <manikulin@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>, Eli Zaretskii <eliz@gnu.org>
Cc: bzg@gnu.org, dmitry@gutov.dev, yantar92@posteo.net,
62762@debbugs.gnu.org, acm@muc.de
Subject: bug#62762: circular dependencies in elisp files and make
Date: Thu, 11 May 2023 22:14:03 +0700 [thread overview]
Message-ID: <fb3cbf7c-2df6-5102-4b00-6e46f2373596@gmail.com> (raw)
In-Reply-To: <jwvednueixo.fsf-monnier+emacs@gnu.org>
On 06/05/2023 01:26, Stefan Monnier wrote:
>> If you want to find them, you will have to write the code to detect
>> those dependencies, and then look at the graph produced from them.
>> There's no other way (unless Stefan happens to remember some by
>> heart, by some luck).
> I think looking for calls to `provide` that are not at the end of files
> is a good first step to finding the obvious ones (if my memory serves,
> viper and ediff are two examples in Emacs's own code.
I see no cyclic dependency in viper, at least based on `require':
viper.elc: viper-init.elc viper-keym.elc viper-cmd.elc
viper-cmd.elc: viper-util.elc viper-keym.elc viper-mous.elc
viper-macs.elc viper-ex.elc
viper-macs.elc: viper-mous.elc viper-ex.elc viper-util.elc viper-keym.elc
viper-ex.elc: viper-keym.elc viper-util.elc
viper-keym.elc: viper-util.elc
viper-mous.elc: viper-util.elc
viper-util.elc: viper-init.elc
I expect that it should ensure ordering for make allowing parallel
execution to some degree.
Frankly speaking, I have not realized why `provide' not at the end is
important. Do you mean the following
lisp/vc/ediff-util.el:(provide 'ediff-util) ;FIXME: Break cyclic
dependencies and move to the end!
and mutual `require' 'ediff-util from ediff-init.el and 'ediff-init from
ediff-util.el? My idea was to suppress loading of .elc files during
compilation of such files.
next prev parent reply other threads:[~2023-05-11 15:14 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-10 23:09 bug#62762: 'make' often errors with "Org version mismatch" after pulling a new version of the code Dmitry Gutov
2023-04-11 6:10 ` Eli Zaretskii
2023-04-11 7:18 ` Ihor Radchenko
2023-04-11 8:03 ` Eli Zaretskii
2023-04-11 18:35 ` Ihor Radchenko
2023-04-11 18:51 ` Eli Zaretskii
2023-04-11 18:59 ` Ihor Radchenko
2023-04-11 19:28 ` Eli Zaretskii
2023-04-11 19:37 ` Eli Zaretskii
2023-04-12 9:03 ` Ihor Radchenko
2023-04-12 9:21 ` Eli Zaretskii
2023-04-13 8:34 ` Ihor Radchenko
2023-04-13 8:37 ` Eli Zaretskii
2023-04-13 14:20 ` Ihor Radchenko
2023-04-13 14:55 ` Eli Zaretskii
2023-04-13 15:05 ` Ihor Radchenko
2023-04-15 10:48 ` Eli Zaretskii
2023-04-15 11:36 ` Ihor Radchenko
2023-04-15 11:40 ` Eli Zaretskii
2023-04-15 11:57 ` Ihor Radchenko
2023-04-15 12:08 ` Eli Zaretskii
2023-04-21 11:44 ` Eli Zaretskii
2023-04-21 15:28 ` Ihor Radchenko
2023-04-22 9:49 ` Eli Zaretskii
2023-04-22 12:39 ` Ihor Radchenko
2023-04-22 12:48 ` Eli Zaretskii
2023-04-22 14:32 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-23 8:55 ` Ihor Radchenko
2023-04-24 11:21 ` Eli Zaretskii
2023-04-24 12:29 ` Ihor Radchenko
2023-11-24 17:43 ` Dmitry Gutov
2023-11-24 18:54 ` Eli Zaretskii
2023-11-24 18:56 ` Dmitry Gutov
2023-11-25 7:08 ` Eli Zaretskii
2023-11-25 12:38 ` Dmitry Gutov
2023-11-25 12:59 ` Eli Zaretskii
2023-11-25 13:55 ` Dmitry Gutov
2023-04-22 14:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-22 14:59 ` Eli Zaretskii
2023-04-23 9:21 ` Ihor Radchenko
2023-05-01 1:48 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-01 10:25 ` Ihor Radchenko
2023-05-01 16:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-02 11:26 ` Ihor Radchenko
2023-05-02 13:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-03 10:30 ` Ihor Radchenko
2023-05-03 21:37 ` Alan Mackenzie
2023-05-04 5:35 ` Eli Zaretskii
2023-05-04 14:02 ` Alan Mackenzie
2023-05-04 14:10 ` Eli Zaretskii
2023-05-04 15:31 ` Max Nikulin
2023-05-04 21:53 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-05 4:18 ` Max Nikulin
2023-05-05 5:27 ` Max Nikulin
2023-05-05 6:46 ` Eli Zaretskii
2023-05-05 7:27 ` Max Nikulin
2023-05-05 10:38 ` Eli Zaretskii
2023-05-05 11:20 ` Max Nikulin
2023-05-05 11:33 ` Eli Zaretskii
2023-05-05 15:33 ` Max Nikulin
2023-05-05 15:49 ` Eli Zaretskii
2023-05-05 16:46 ` Max Nikulin
2023-05-05 17:48 ` Eli Zaretskii
2023-05-05 18:26 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-11 15:14 ` Max Nikulin [this message]
2023-05-11 15:20 ` bug#62762: circular dependencies in elisp files and make Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-11 15:59 ` Eli Zaretskii
2023-05-12 14:59 ` Max Nikulin
2023-05-12 15:10 ` Eli Zaretskii
2023-05-12 15:26 ` Max Nikulin
2023-05-12 16:01 ` Eli Zaretskii
2023-05-13 3:08 ` Max Nikulin
2023-05-13 6:50 ` Eli Zaretskii
2023-05-13 7:34 ` Max Nikulin
2023-05-13 8:46 ` Eli Zaretskii
2023-05-13 10:25 ` Max Nikulin
2023-05-13 10:58 ` Eli Zaretskii
2023-05-13 11:21 ` Max Nikulin
2023-05-13 14:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-13 14:48 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-15 10:11 ` Max Nikulin
2023-05-15 11:20 ` Eli Zaretskii
2023-05-15 13:00 ` Max Nikulin
2023-05-15 15:00 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-13 15:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-05 14:29 ` bug#62762: 'make' often errors with "Org version mismatch" after pulling a new version of the code Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-05 16:37 ` Max Nikulin
2023-05-05 18:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-06 5:25 ` Max Nikulin
2023-05-06 13:02 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-07 16:23 ` Max Nikulin
2023-05-07 21:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-08 10:05 ` Ihor Radchenko
2023-05-10 14:52 ` Max Nikulin
2023-06-23 12:02 ` Ihor Radchenko
2023-06-25 14:37 ` Max Nikulin
2023-06-27 10:59 ` Ihor Radchenko
2023-06-27 11:40 ` Eli Zaretskii
2023-06-27 12:08 ` Ihor Radchenko
2023-06-27 12:12 ` Eli Zaretskii
2023-06-27 12:30 ` Ihor Radchenko
2023-06-27 12:51 ` Eli Zaretskii
2023-06-27 16:11 ` Max Nikulin
2023-07-04 12:20 ` Ihor Radchenko
2023-05-06 6:00 ` Max Nikulin
2023-05-06 7:51 ` bug#62762: Incremental builds and Lisp files dependencies " Eli Zaretskii
2023-05-06 15:50 ` Max Nikulin
2023-05-06 16:26 ` Eli Zaretskii
2023-05-07 2:45 ` Max Nikulin
2023-05-07 5:34 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fb3cbf7c-2df6-5102-4b00-6e46f2373596@gmail.com \
--to=manikulin@gmail.com \
--cc=62762@debbugs.gnu.org \
--cc=acm@muc.de \
--cc=bzg@gnu.org \
--cc=dmitry@gutov.dev \
--cc=eliz@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=yantar92@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.