Subject: Re: bug#55870: GNU Emacs 26.3, Select All(C-x h) does not work

From: Po Lu <[email-masked]>
Date: Sun, 17 Jul 2022 19:57:20 +0800

Eli Zaretskii <[email-masked]> writes:

> So the growing memory can only be explained by the consing of
> selection_value onto terminal->Vselection_alist, where selection_value
> is the text being copied by M-w?

The previous value of the selection will also be removed from
terminal->Vselection_alist, so it shouldn't cause memory usage to
constantly increase.

> Can any of the potential requests in this situation allocate lots of
> memory?

Yes.  The string is copied each time another program requests the
selection, and we have to allocate a buffer the size of the encoded X
property data each time we want to send it to another client.

But unfortunately I can't see any obvious memory leak here.  The
reporter should build with TRACE_SELECTION and send some of the output,
which could reveal, for example, bugs in the other program (possibly a
clipboard manager, since clipboard managers are a known problematic area
in the X world) that the code in xselect.c doesn't already take into
account.