Subject: bug#45926: closed (Re: bug#45926: Tabulated-list-mode wasteful properties)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 21 Apr 2021 03:36:03 +0000

Your bug report

#45926: Tabulated-list-mode wasteful properties

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
45926: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=45926
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#45926: Tabulated-list-mode wasteful properties
From: Stefan Kangas <[email-masked]>
To: Boruch Baum <[email-masked]>
Cc: "Basil L. Contovounesios" <[email-masked]>, Lars Ingebrigtsen <[email-masked]>, [email-masked]
Date: Tue, 20 Apr 2021 22:35:53 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Stefan Kangas <[email-masked]> writes:

> Boruch Baum <[email-masked]> writes:
>
>>> Borouch, did you have the time to look into if this data is indeed
>>> shared or not?  Thanks.
>>
>> Oh. I thought I had done that right away ...
>>
>> Doing it again now. Yes. It's very simple to check for yourself. Open a
>> buffer that uses the mode and evaluate from any table line ...
>>
>>   (buffer-substring (line-beginning-position) (line-end-position))
>>
>> You should be able to clearly see all the duplication. It's easiest when
>> you have pretty-print set up to display the output in a dedicated
>> buffer, but even without that you can isearch through the duplications.
>
> I think the interesting question is if that data is duplicated in memory
> or if these are just pointers to the same shared data.
>
> I would try modifying this data with something like `setcdr' to see if
> it updates everywhere -- if the answer yes, then this data is shared and
> there is no problem here.

More information was requested, but none was given within 5 weeks, so
I'm closing this bug.

If anyone can provide further information on this issue to show that
there is a bug here, please reply to this email (use "Reply to all" in
your email client) and we can reopen the bug report.

Subject: Tabulated-list-mode wasteful properties
From: Boruch Baum <[email-masked]>
To: Emacs Bug Reporting <[email-masked]>
Date: Sun, 17 Jan 2021 02:32:52 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Tabulated lists can grow quite large. In fact, the most common use for
the mode is the *Packages* buffer listing, which for me today clocks in
at 5211 lines * five columns. In the case of the *Packages* buffer, Performing

   (buffer-substring (point) (line-end-position))

on a sampling of lines yields 'PP eval' buffers of length ~500 - ~700
characters.

Most of this looks to me to be unnecessary duplicate data. In using the
mode for my own purpose, I see that the mode is putting all data of all
columns in an entry (row) in each and every single column, ie the size
grows exponentially by number of columns (in my personal case, ten
columns).

This isn't breaking anything, but it looks like bad design unnecessarily
hogging memory and filling buffers with cruft.

--
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0