From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: When are unused overlays garbage collected? Date: Mon, 24 May 2021 07:00:54 +0200 Message-ID: <87v978u3nd.fsf@mbork.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14206"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.1.0; emacs 28.0.50 To: Help Gnu Emacs mailing list Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon May 24 07:02:43 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ll2ji-0003Wh-CV for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 24 May 2021 07:02:42 +0200 Original-Received: from localhost ([::1]:35014 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ll2jh-0003yA-CD for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 24 May 2021 01:02:41 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36786) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ll2if-0003wy-T9 for help-gnu-emacs@gnu.org; Mon, 24 May 2021 01:01:38 -0400 Original-Received: from mail.mojserwer.eu ([195.110.48.8]:45768) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ll2iT-00075D-OU for help-gnu-emacs@gnu.org; Mon, 24 May 2021 01:01:37 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id 483D5E68C2 for ; Mon, 24 May 2021 07:01:13 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail.mojserwer.eu Original-Received: from mail.mojserwer.eu ([127.0.0.1]) by localhost (mail.mojserwer.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rhBIjgHvUGoJ for ; Mon, 24 May 2021 07:01:02 +0200 (CEST) Original-Received: from localhost (178235147159.dynamic-3-poz-k-0-1-0.vectranet.pl [178.235.147.159]) by mail.mojserwer.eu (Postfix) with ESMTPSA id DBB76E62EA for ; Mon, 24 May 2021 07:01:01 +0200 (CEST) Received-SPF: pass client-ip=195.110.48.8; envelope-from=mbork@mbork.pl; helo=mail.mojserwer.eu X-Spam_score_int: -11 X-Spam_score: -1.2 X-Spam_bar: - X-Spam_report: (-1.2 / 5.0 requ) BAYES_05=-0.5, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:130156 Archived-At: Hi all, the Elisp reference says that the `delete-overlay' function does not entirely delete the overlay (in a sense): --8<---------------cut here---------------start------------->8--- The overlay continues to exist as a Lisp object, and its property list is unchanged, but it ceases to be attached to the buffer it belonged to, and ceases to have any effect on display. A deleted overlay is not permanently disconnected. You can give it a position in a buffer again by calling =E2=80=98move-overlay=E2=80=99. --8<---------------cut here---------------end--------------->8--- So I assume that if I `delete-overlay', it means it cannot be necessarily garbage-collected yet. So, when /can/ an overlay be really "deleted", meaning the memory it occupied is freed? My guess would be that if the overlay is "deleted" (so it is not attached to any buffer, either by means of `delete-overlay' or when its buffer is killed) /and/ it can't be referenced from Elisp (e.g., there is no variable bound to it). This would make sense, because even if there is no variable bound to an overlay which is not deleted, you can still get a reference to it using any of the overlay-finding functions (`overlays-at' or `overlays-in'). Am I correct? -- Marcin Borkowski http://mbork.pl