From: Ihor Radchenko <yantar92@posteo.net>
To: Max Nikulin <manikulin@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH v2] Add compat.el support to Org (was: [POLL] Use compat.el in Org? (was: Useful package? Compat.el))
Date: Thu, 20 Apr 2023 09:27:45 +0000 [thread overview]
Message-ID: <878remykby.fsf@localhost> (raw)
In-Reply-To: <u1jv45$mur$1@ciao.gmane.io>
Max Nikulin <manikulin@gmail.com> writes:
>> Sure. And you will have such option (EFLAGS).
>> However, I decided to enable auto-downloading by default to not break
>> the previous working compilation instructions.
>
> For me adding external dependencies is strong enough reason to change
> compiling instructions. My vote is for clear separation of dependency
> management (even if performed through make targets) and
> compiling/testing/etc.
> ...
> In my opinion, ideally there should be 3 options for dependency management:
> 1. Completely disabled. If load from default paths failed than it is a
> fatal error.
I have no problem with this approach when using system packages.
However, it is almost guaranteed that compat.el is absent in global
load-path as long as compat.el is not built-in.
> 2. Use specified directory outside of Org tree (~/.emacs.d/elpa by
> default) or any other directory that you named pkgdir. Only dedicated
> target may clean this directory.
This is mostly an equivalent of -L switch. I do not like the idea of
using ~/.emacs.d/elpa default. It is fragile if this default ever
changes.
> 3. Install packages to Org source/build directory.
>
> You decided to make 3 the default variant. I believe, it should be
> activated by a variable, e.g. AUTODEP = 1 in local.mk or from command
> line "make compile AUTODEP=1
It is now activated by EPACKAGES being non-empty.
> I think, it is better to require an additional command
>
> make autoloads
> make fetch-dependencies
> make compile
Maybe. Then, also make doc and make install?
And make repro, which is dislike in particular - make repro is supposed
to be easy to use for users unfamiliar with Emacs internals or typical
GNU make conventions.
>> +package-install = --eval '(unless (require '"'"'$(package) nil t) (message "%s" load-path) (package-install '"'"'$(package)))'
>
> I do not like that versions of dependencies are ignored. I have noticed
> `package-install-from-buffer'. Perhaps it can be used to generate a stub
> package (e.g. org-build-deps) with Package-Requires line obtained from
> org.el. The only purpose of this package is to pull dependencies. It is
> just an idea, I have not tried such approach.
This sounds fragile. I see no reason to go this far and using so complex
approach.
>> +EMACS_VERSION := $(shell $(EMACS) -Q --batch --eval '(message "%s" emacs-version)' 2>&1)
>
> Ideally $(BATCH) should be used, but it is defined below. (princ
> emacs-version) is an alternative, but I have not idea which variant is
> better.
I used $(EMACS) on purpose. $(BATCH) may contain more things, which we
do not want (on purpose) here.
>> Subject: [PATCH 3/7] Use compat.el library instead of ad-hoc compatibility
>> function set
>>
>> * mk/default.mk (EPACKAGES): Demand compat library during compile time.
>
> when I asked for more granular commits I expected this change in
>
>> Subject: [PATCH 2/7] org-compat: Enable compat.el
>
> To separate adding dependency and replacing org-compat functions to compat.
For me, PATCH 3/7 grouping is more reasonable. So, I disagree.
Splitting EPACKAGES modification would create transient commit with
non-working Org.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
next prev parent reply other threads:[~2023-04-20 9:26 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-11 10:36 Useful package? Compat.el Timothy
2021-10-11 14:28 ` Russell Adams
2021-10-11 14:40 ` Timothy
2021-10-11 18:04 ` Joost Kremers
2023-01-27 13:23 ` [POLL] Use compat.el in Org? (was: Useful package? Compat.el) Ihor Radchenko
2023-01-27 13:34 ` [POLL] Use compat.el in Org? Bastien Guerry
2023-01-27 20:38 ` Tim Cross
2023-01-27 21:38 ` Daniel Mendler
2023-01-27 22:29 ` Samuel Wales
2023-01-28 16:04 ` [POLL] Use compat.el in Org? (was: Useful package? Compat.el) Kyle Meyer
2023-01-30 11:35 ` Greg Minshall
2023-01-30 19:33 ` Ihor Radchenko
2023-01-30 19:40 ` Greg Minshall
2023-01-30 21:38 ` Daniel Mendler
2023-04-01 10:31 ` [PATCH] Add compat.el support to Org (was: [POLL] Use compat.el in Org? (was: Useful package? Compat.el)) Ihor Radchenko
2023-04-01 11:38 ` Daniel Mendler
2023-04-01 14:20 ` Max Nikulin
2023-04-02 8:52 ` Ihor Radchenko
2023-04-02 15:31 ` Max Nikulin
2023-04-02 16:04 ` Ihor Radchenko
2023-04-02 16:37 ` Max Nikulin
2023-04-02 17:00 ` [PATCH v2] " Ihor Radchenko
2023-04-03 8:46 ` [PATCH v3] " Ihor Radchenko
2023-04-08 11:15 ` [PATCH v2] " Max Nikulin
2023-04-08 11:41 ` Ihor Radchenko
2023-04-08 16:37 ` Max Nikulin
2023-04-13 12:42 ` Ihor Radchenko
2023-04-17 17:20 ` Max Nikulin
2023-04-20 9:27 ` Ihor Radchenko [this message]
2023-04-28 15:27 ` Max Nikulin
2023-04-30 10:39 ` [PATCH v4] " Ihor Radchenko
2023-05-03 12:14 ` [PATCH] epm.el: A CLI tool for package.el Max Nikulin
2023-05-04 10:24 ` Ihor Radchenko
2023-05-04 16:16 ` Max Nikulin
2023-05-05 9:39 ` Ihor Radchenko
2023-05-06 6:39 ` [PATCH v4] Add compat.el support to Org (was: [POLL] Use compat.el in Org? (was: Useful package? Compat.el)) Max Nikulin
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878remykby.fsf@localhost \
--to=yantar92@posteo.net \
--cc=emacs-orgmode@gnu.org \
--cc=manikulin@gmail.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).