From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Code inspection: W32 specific problems Date: Tue, 12 Jul 2005 18:28:57 -0400 Message-ID: <87k6jvpsq5.fsf-monnier+emacs@gnu.org> References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1121221732 26660 80.91.229.2 (13 Jul 2005 02:28:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 13 Jul 2005 02:28:52 +0000 (UTC) Cc: emacs-devel@gnu.org, "Kim F. Storm" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 13 04:28:43 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DsWzG-0000H4-FE for ged-emacs-devel@m.gmane.org; Wed, 13 Jul 2005 04:28:38 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DsWvh-0001aA-7O for ged-emacs-devel@m.gmane.org; Tue, 12 Jul 2005 22:24:57 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DsU1l-0001NW-0d for emacs-devel@gnu.org; Tue, 12 Jul 2005 19:19:01 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DsTz4-0000Hk-3D for emacs-devel@gnu.org; Tue, 12 Jul 2005 19:16:14 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DsTwt-0007du-GR for emacs-devel@gnu.org; Tue, 12 Jul 2005 19:13:59 -0400 Original-Received: from [209.226.175.93] (helo=tomts36-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DsTN1-0008OZ-8g; Tue, 12 Jul 2005 18:36:55 -0400 Original-Received: from alfajor ([67.71.25.244]) by tomts36-srv.bellnexxia.net (InterMail vM.5.01.06.10 201-253-122-130-110-20040306) with ESMTP id <20050712222858.RNZX16985.tomts36-srv.bellnexxia.net@alfajor>; Tue, 12 Jul 2005 18:28:58 -0400 Original-Received: by alfajor (Postfix, from userid 1000) id 7774BD7571; Tue, 12 Jul 2005 18:28:57 -0400 (EDT) Original-To: Eli Zaretskii In-Reply-To: (Eli Zaretskii's message of "Tue, 12 Jul 2005 21:59:16 +0300") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:40849 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:40849 > Can please you remind the rules for what variables need staticpro? All static/global variables of type Lisp_Object. The `staticpro' simply adds the variable to the list of root pointers for the GC, so if the staticpro is missing, the GC may accidentally collect the object, even though it's live. If you want to live dangerously, you can try to argue in some corner cases that a staticpro is not necessary by showing that in all possible cases, the object stored in the variable is either non-allocated (e.g. a fixnum), or will always be reachable via some other way (which the GC will use to detect that the object is live). I hope nobody here wants to live dangerously, since in this case it's a lot more trouble than it's worth. Stefan