From: "Gustav Wikström" <gustav@whil.se>
To: "adam@alphapapa.net" <adam@alphapapa.net>
Cc: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: [RFC] Document level property drawer
Date: Sun, 6 Oct 2019 05:35:00 +0000 [thread overview]
Message-ID: <HE1PR02MB3033E5254ADA7ECA0C686B5CDA980@HE1PR02MB3033.eurprd02.prod.outlook.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8796 bytes --]
Hi Adam,
> > In no way is this a major, breaking change. No document you have
> > today will break by the introduction of this. The only thing changing
> > is if you *actively* create a document level property drawer and
> > choose to enter a property there that you already have defined in the
> > same document, using a property keyword.
>
> There is a bigger picture which you seem to be ignoring.
No I'm not ignoring any bigger picture. Hence the RFC which I'm asking
for comments about. So far a couple of positive remarks and your
comments on the other end of the spectrum.
> Org is distributed with Emacs itself. Emacs versions are long-lived.
> People use old Emacs and Org versions for years, because few people
> build and install Emacs themselves, so most users use the versions
> included with their OS or other distributions.
Yes.
> Your proposed change would introduce a major change in the way document
> properties are interpreted. This means that the same document, when
> used on Emacs/Org versions before and after this change, would be
> interpreted differently. That's breaking forward-compatibility between
> versions, ones which will be in the wild for years. That decision
> should not be taken lightly.
No, not really. Here we disagree again. I already interpret the
documents as an outline. And it seems others agree with me on that as
well. Your interpretation may be different but I fail to see where the
documentation agrees with your sentiment. The fact that some commands
that works for the outline doesn't work before the first headline has
been a shortcoming for a long time. I don't think that shortcoming is
something to continue to strive for.
Forward compatibility should indeed be taken into account. I don't
think the argument to stop this change due to breaking forward
compatibility is that strong though. If I as a user choose to use new
features, I agree to also use new software. As a package author you
can continue to rely on Org element and assume the user understands
that relation. If your packages creates property keywords today you
can continue to do so, or consider upgrading your package to depend on
Org mode 9.3 and start using the new feature to more easily insert
properties into a document level property drawer. If you do that you
of course have to mark your dependency to Org mode 9.3 as well.
> > Keywords that previously had file-wide effects will continue to have
> > that. That's not removed. So you must have misunderstood something
> > here.
>
> I did not misunderstand; I am looking from a different perspective. In
> your proposal, line-based keywords can be overridden by document-level
> property drawers, while they currently are applied to the entire file
> regardless of any drawers. That is a major change.
Ok, so correct me if I'm wrong here. The thing you object to in my
patch is the fact that the properties in the document level drawer
have a higher precedence over property keywords? Since it means that
outline level 0 have higher precedence than file level keywords? I've
already argued why I think that's natural. This order seems fine to
me: (from lowest to highest rank)
1. File level property keyword
2. Node level 0 property drawer property (file level property drawer)
3. Node level 1 property drawer property
4. Node level 2 property drawer property
5. ...and so on...
This feels less unintuitive and will be more difficult to explain to
new users:
1. Node level 0 property drawer property (file level property drawer)
2. File level property keyword
3. Node level 1 property drawer property
4. Node level 2 property drawer property
5. ...and so on...
I can't agree on changing to the second ranking only based on your
concerns. If more people were to back you up I think it's fair to have
that discussion though!
> >> What you're proposing is actually a fundamental change to the way Org
> >> documents are interpreted. Org documents are not currently an
> >> outline, just a series of elements which may include an outline.
> >> Text and elements before a first heading are not part of a node,
> >> they're just text and elements in the document.
> >
> > I don't agree here. What I'm proposing in this patch doesn't change
> > the fundament of an Org mode document. I'd rather say it enhances the
> > fundament! Since the outline to a large extent is the fundament! The
> > following quote is from the documentation - Chapter 2, Document
> > Structure:
> >
> > #+begin_quote Org is an outliner. Outlines allow a document to be
> > organized in a hierarchical structure, which, least for me, is the
> > best representation of notes and thoughts. #+end_quote
>
> Org is a collection of Emacs code built on top of Outline Mode, which
> interprets plain-text files in a certain way. Since the beginning, such
> files have been interpreted such that content before the first heading
> is not part of an outline node. Your proposal would change that. For
> better or worse, it is a major change that has implications which you
> seem to be unconcerned with.
Of course I'm not unconcerned. I just don't know what you’re
trying to do here. Please take a look at your comment again and then
switch over to ORG-NEWS. Version 9.3 (I.e. a MINOR version) have 9
incompatible changes and 23 new features already pushed to master.
Those 32 changes all have implications for how Org mode documents are
interpreted. Your way of arguing in this thread could be done for many
of those changes. But then, why haven't you? Things change. Most
things to the better! This change being a big step to the better
according to me. And the change I'm proposing here isn't even a
breaking one. I get that it may have struck a nerve for you. But
please argue to the point of the issue instead of trying to blow this
thing up into some mayor breaking incompatible thing. Because it
isn't. It's a harmonization of a feature that already exist. To use it
you have to agree that things before the first headline symbolizes a
level-0 node. If you don't sympathize with that, then simply don't use
it. Your external packages won't need any modifications for this, Org
element already understands it.
> > Thus, saying Org documents are not currently an outline again feels
> > disingenuous and at this point I struggle to take your comments
> > seriously.
>
> As a fellow Org developer, I empathize with the work you have put into
> your proposal and its code. However, it would be best if you would
> consider these issues impartially.
Which is what I'm doing. I got your comments and your sentiment now
Adam. If you have anything new to add then please do. But please stop
arguing that this change is a major breaking one. If you really still
think that then persuade other members of this community who share
your concern to make their voices heard. Only your comment is on the
side of reject due to major breaking change. The others are positive.
But still few comments all together.
> Like it or not, there is a wider "ecosystem" around Org today, and it is
> growing. Your proposal would have effects rippling downstream for years
> to come, and other people would have to spend time making changes to
> accommodate them. Thus, the wider implications of your proposal should
> be very carefully considered.
For this proposed addition to Org mode I don't see where any change is
needed in the wider ecosystem. I do however encourage such change. For
some packages it can resolve issues and simplify development. Because
after this patch is applied there is support for programmatic insertion
of properties that applies to whole files, without having to worry
about positional preferences of the user for property keywords. The
preference when there is a conflict for a property between the keyword
and the drawer is already discussed. That is not a breaking change. If
existing documents break, then please let me know where and how, so I
can try to fix it.
> Org is a big, and growing, project with thousands of users. We have a
> duty to take these considerations into account, so major changes, like
> your proposal, should be taken very seriously.
Of course it is taken seriously. Your responding to the RFC on the
mailing list. And I'm taking comments on the patch just due to that
concern.
/Gustav
[-- Attachment #2: Type: text/html, Size: 21652 bytes --]
next reply other threads:[~2019-10-06 5:35 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-06 5:35 Gustav Wikström [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-10-24 22:29 [RFC] Document level property drawer Gustav Wikström
2019-10-20 2:28 Gustav Wikström
2019-10-22 21:24 ` Marco Wahl
2019-10-23 8:43 ` Marco Wahl
2019-10-23 8:59 ` Gustav Wikström
2019-10-24 21:01 ` Gustav Wikström
2019-10-25 12:58 ` Marco Wahl
2019-10-23 16:08 ` Adam Porter
2019-10-06 6:02 Gustav Wikström
2019-10-05 18:20 Gustav Wikström
2019-10-06 0:51 ` Adam Porter
2019-10-02 20:29 Gustav Wikström
2019-09-30 22:09 Gustav Wikström
2019-10-03 18:31 ` Adam Porter
2019-10-04 10:38 ` Marco Wahl
2019-10-06 1:01 ` Adam Porter
2019-10-07 7:46 ` Marco Wahl
2019-09-29 10:27 Gustav Wikström
2019-09-29 19:13 ` Marco Wahl
2019-09-30 16:01 ` Adam Porter
2019-09-30 20:46 ` Marco Wahl
2019-10-01 12:38 ` Sebastian Miele
2020-01-13 21:52 ` Marco Wahl
2020-01-15 8:18 ` Sebastian Miele
2020-02-01 19:59 ` Marco Wahl
2019-10-01 13:55 ` Adam Porter
2019-10-02 10:29 ` Marco Wahl
2019-10-03 18:06 ` Adam Porter
2019-10-04 11:05 ` Marco Wahl
2019-10-06 1:05 ` Adam Porter
2019-10-06 5:10 ` Matt Price
2019-10-15 17:49 ` Gustav Wikström
2019-10-16 0:48 ` Adam Porter
2019-10-16 9:48 ` Marco Wahl
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=HE1PR02MB3033E5254ADA7ECA0C686B5CDA980@HE1PR02MB3033.eurprd02.prod.outlook.com \
--to=gustav@whil.se \
--cc=adam@alphapapa.net \
--cc=emacs-orgmode@gnu.org \
/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).