GNU bug report logs - #38378
26.3.50; [PATCH] Add the hierarchy library

Previous Next

Package: emacs;

Reported by: Damien Cassou <damien <at> cassou.me>

Date: Mon, 25 Nov 2019 21:33:45 UTC

Severity: wishlist

Tags: fixed, patch

Found in version 26.3.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38378 in the body.
You can then email your comments to 38378 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 25 Nov 2019 21:33:45 GMT) Full text and rfc822 format available.

Acknowledgement sent to Damien Cassou <damien <at> cassou.me>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 25 Nov 2019 21:33:45 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien <at> cassou.me>
To: bug-gnu-emacs <at> gnu.org
Cc: johnw <at> newartisans.com, joaotavora <at> gmail.com, eliz <at> gnu.org,
 monnier <at> IRO.UMontreal.CA, clement.pitclaudel <at> live.com
Subject: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 25 Nov 2019 20:03:38 +0100
[Message part 1 (text/plain, inline)]
Hi everyone,

Please find attached a patch adding hierarchy.el and
hierarchy-tests.el. The hierarchy library allows to create, query,
navigate and display hierarchy structures.

Two years ago, I suggested adding this library to ELPA and you guys on
CC answered you wanted it in Emacs core:
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00624.html

You also had several suggestions and I implemented none of them. I agree
they all make sense, I just haven't found motivation to do that yet
because hierarchy is working well for me already.

What do you think?

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill
[0001-lisp-emacs-lisp-hierarchy.el-New-file.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 07:33:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien <at> cassou.me>
To: bug-gnu-emacs <at> gnu.org
Cc: johnw <at> newartisans.com, joaotavora <at> gmail.com, eliz <at> gnu.org,
 monnier <at> IRO.UMontreal.CA, clement.pitclaudel <at> live.com
Subject: Re: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 09 Dec 2019 08:31:43 +0100
Damien Cassou <damien <at> cassou.me> writes:
> Please find attached a patch adding hierarchy.el and
> hierarchy-tests.el. The hierarchy library allows to create, query,
> navigate and display hierarchy structures.

ping

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 09:47:02 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Damien Cassou <damien <at> cassou.me>
Cc: johnw <at> newartisans.com, bug-gnu-emacs <at> gnu.org, Eli Zaretskii <eliz <at> gnu.org>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, clement.pitclaudel <at> live.com
Subject: Re: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 9 Dec 2019 10:45:52 +0100
Hi Damien,

In the top-level comment you say

;; Library to create, query, navigate and display hierarchy structures.

Did you omit "modify" specifically because it doesn't allow a created
hierarchy to be mutated?

if so, can you estimate the effort it would take to implement that
step, given your knowledge of the internals?

Thanks,
João

On Mon, Dec 9, 2019 at 8:31 AM Damien Cassou <damien <at> cassou.me> wrote:
>
> Damien Cassou <damien <at> cassou.me> writes:
> > Please find attached a patch adding hierarchy.el and
> > hierarchy-tests.el. The hierarchy library allows to create, query,
> > navigate and display hierarchy structures.
>
> ping
>
> --
> Damien Cassou
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill



-- 
João Távora




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 10:54:02 GMT) Full text and rfc822 format available.

Message #14 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Damien Cassou <damien <at> cassou.me>, 38378 <at> debbugs.gnu.org
Cc: johnw <at> newartisans.com, joaotavora <at> gmail.com, monnier <at> IRO.UMontreal.CA,
 clement.pitclaudel <at> live.com
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 9 Dec 2019 12:53:22 +0200
On 25.11.2019 21:03, Damien Cassou wrote:
> Two years ago, I suggested adding this library to ELPA and you guys on
> CC answered you wanted it in Emacs core:
> https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00624.html

Eli said the core would benefit from it, but I wonder which existing 
features exactly could use it now.

If none, I think GNU ELPA is the better place for it. And as soon as 
someone finds a specific use for it in the core, moving would be trivial.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 12:22:02 GMT) Full text and rfc822 format available.

Message #17 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien <at> cassou.me>
To: Dmitry Gutov <dgutov <at> yandex.ru>, 38378 <at> debbugs.gnu.org
Cc: johnw <at> newartisans.com, eliz <at> gnu.org, joaotavora <at> gmail.com,
 monnier <at> IRO.UMontreal.CA, clement.pitclaudel <at> live.com
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 09 Dec 2019 13:21:19 +0100
Dmitry Gutov <dgutov <at> yandex.ru> writes:
> Eli said the core would benefit from it, but I wonder which existing 
> features exactly could use it now.
>
> If none, I think GNU ELPA is the better place for it. And as soon as 
> someone finds a specific use for it in the core, moving would be trivial.

Clément Pit-Claudel suggested "the tree displayed by profiler-report."
in https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00675.html.

Maybe proced's tree mode?

I stated my opinion about this matter in the past (see
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00686.html):

Damien Cassou wrote:
> If you think Emacs would benefit from having hierarchy included,
> please do include it. My philosophy is more in the opposite direction
> (getting rid of as much as possible in the core to facilitate release
> and to let package maintainers use the tools they want)

To which Eli answered:

Eli Zaretskii wrote:
> As much as possible, but no more than that, I presume? Then the issue
> here is whether this capability should or shouldn't be in core, as
> other basics.  I think it should.

I let you decide.

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 12:24:01 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien <at> cassou.me>
To: João Távora <joaotavora <at> gmail.com>
Cc: johnw <at> newartisans.com, bug-gnu-emacs <at> gnu.org, Eli Zaretskii <eliz <at> gnu.org>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, clement.pitclaudel <at> live.com
Subject: Re: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 09 Dec 2019 13:23:33 +0100
João Távora <joaotavora <at> gmail.com> writes:
> ;; Library to create, query, navigate and display hierarchy structures.
>
> Did you omit "modify" specifically because it doesn't allow a created
> hierarchy to be mutated?

a Hierarchy is created with (hierarchy-new) and must then be mutated to
add elements to it. This is the same as with (make-hash-table).

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 12:27:02 GMT) Full text and rfc822 format available.

Message #23 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Damien Cassou <damien <at> cassou.me>
Cc: johnw <at> newartisans.com, 38378 <at> debbugs.gnu.org, clement.pitclaudel <at> live.com,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, Dmitry Gutov <dgutov <at> yandex.ru>,
 Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 9 Dec 2019 13:25:59 +0100
On Mon, Dec 9, 2019 at 1:21 PM Damien Cassou <damien <at> cassou.me> wrote:
>
> Dmitry Gutov <dgutov <at> yandex.ru> writes:
> > Eli said the core would benefit from it, but I wonder which existing
> > features exactly could use it now.
> >
> > If none, I think GNU ELPA is the better place for it. And as soon as
> > someone finds a specific use for it in the core, moving would be trivial.

FWIW, I agree with Dmitry here.

> Clément Pit-Claudel suggested "the tree displayed by profiler-report."
> in https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00675.html.
>
> Maybe proced's tree mode?

So why don't we add a comment to those libraries and say: "if
you're considering simplifying this code and adding some more features,
consider installing Damien Cassous's as a :core GNU ELPA package
in the core" .

Would this work for everyone?

Having it in ELPA is good for me if I ever want to upgrade it, then make SLY
use it. But the clincher would be that you implement mutable trees :-)

João




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Mon, 09 Dec 2019 12:28:01 GMT) Full text and rfc822 format available.

Message #26 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Damien Cassou <damien <at> cassou.me>
Cc: johnw <at> newartisans.com, 38378 <at> debbugs.gnu.org,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, clement.pitclaudel <at> live.com
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Mon, 9 Dec 2019 13:27:17 +0100
On Mon, Dec 9, 2019 at 1:24 PM Damien Cassou <damien <at> cassou.me> wrote:
>
> João Távora <joaotavora <at> gmail.com> writes:
> > ;; Library to create, query, navigate and display hierarchy structures.
> >
> > Did you omit "modify" specifically because it doesn't allow a created
> > hierarchy to be mutated?
>
> a Hierarchy is created with (hierarchy-new) and must then be mutated to
> add elements to it. This is the same as with (make-hash-table).

But are existing external representations of that hierarchy (such as, say
a buffer displaying it as text) automatically updated when you mutate it?

João




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Fri, 13 Dec 2019 19:57:01 GMT) Full text and rfc822 format available.

Message #29 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien <at> cassou.me>
To: João Távora <joaotavora <at> gmail.com>
Cc: johnw <at> newartisans.com, 38378 <at> debbugs.gnu.org,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, clement.pitclaudel <at> live.com
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Fri, 13 Dec 2019 20:56:24 +0100
João Távora <joaotavora <at> gmail.com> writes:
> On Mon, Dec 9, 2019 at 1:24 PM Damien Cassou <damien <at> cassou.me> wrote:
>> a Hierarchy is created with (hierarchy-new) and must then be mutated to
>> add elements to it. This is the same as with (make-hash-table).
>
> But are existing external representations of that hierarchy (such as, say
> a buffer displaying it as text) automatically updated when you mutate it?

nothing has been done or is planned to go in that direction. I guess it
would be possible to add hooks here and there to implement something
like that but I haven't spent any time thinking about it.

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Sun, 09 Aug 2020 12:51:01 GMT) Full text and rfc822 format available.

Message #32 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Damien Cassou <damien <at> cassou.me>
Cc: johnw <at> newartisans.com, 38378 <at> debbugs.gnu.org, clement.pitclaudel <at> live.com,
 joaotavora <at> gmail.com, eliz <at> gnu.org, monnier <at> IRO.UMontreal.CA
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Sun, 09 Aug 2020 14:49:51 +0200
Damien Cassou <damien <at> cassou.me> writes:

> Please find attached a patch adding hierarchy.el and
> hierarchy-tests.el. The hierarchy library allows to create, query,
> navigate and display hierarchy structures.
>
> Two years ago, I suggested adding this library to ELPA and you guys on
> CC answered you wanted it in Emacs core:
> https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00624.html
>
> You also had several suggestions and I implemented none of them. I agree
> they all make sense, I just haven't found motivation to do that yet
> because hierarchy is working well for me already.
>
> What do you think?

There was some discussion about whether to put this in ELPA or Emacs
core, but Eli seemed to be in favour of having it in Emacs core, so I've
now applied the patch.

This makes sense to me, too -- it's infrastructure, so having it in the
core makes things much easier for other applications to depend on it.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 09 Aug 2020 12:51:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 38378 <at> debbugs.gnu.org and Damien Cassou <damien <at> cassou.me> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 09 Aug 2020 12:51:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38378; Package emacs. (Sun, 09 Aug 2020 12:53:02 GMT) Full text and rfc822 format available.

Message #39 received at 38378 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Damien Cassou <damien <at> cassou.me>
Cc: johnw <at> newartisans.com, 38378 <at> debbugs.gnu.org, clement.pitclaudel <at> live.com,
 joaotavora <at> gmail.com, eliz <at> gnu.org, monnier <at> IRO.UMontreal.CA
Subject: Re: bug#38378: 26.3.50; [PATCH] Add the hierarchy library
Date: Sun, 09 Aug 2020 14:52:11 +0200
(I forgot to mention that I did some changes to the code before
committing it -- I folded some too-long lines, and I changed the
copyright line to be the FSF's.  I also changed map-put to map-put!, as
the former is now obsolete.  The tests still ran after the changes, so
I'm guessing that they didn't break anything, even if I haven't run the
hierarchy functions myself.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 07 Sep 2020 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 229 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.