From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Unicode Lisp reader escapes Date: Wed, 10 May 2006 16:37:56 -0500 (CDT) Message-ID: <200605102137.k4ALbuZX028709@jane.dms.auburn.edu> References: <17491.34779.959316.484740@parhasard.net> <17495.932.70900.796282@parhasard.net> <17495.57895.90438.848865@parhasard.net> <17498.28361.392872.954484@parhasard.net> <17503.21672.395920.94783@parhasard.net> <17503.29740.778178.932671@parhasard.net> <17504.16146.57393.970540@parhasard.net> <17505.33452.224807.946390@parhasard.net> NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1147297181 20108 80.91.229.2 (10 May 2006 21:39:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 10 May 2006 21:39:41 +0000 (UTC) Cc: kehoea@parhasard.net, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 10 23:39:36 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FdwOr-0001mp-7s for ged-emacs-devel@m.gmane.org; Wed, 10 May 2006 23:39:17 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FdwOq-0000Ai-Ra for ged-emacs-devel@m.gmane.org; Wed, 10 May 2006 17:39:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FdwOe-00009w-CT for emacs-devel@gnu.org; Wed, 10 May 2006 17:39:04 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FdwOa-00009E-Mg for emacs-devel@gnu.org; Wed, 10 May 2006 17:39:03 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FdwOa-00009B-FT for emacs-devel@gnu.org; Wed, 10 May 2006 17:39:00 -0400 Original-Received: from [131.204.53.104] (helo=manatee.dms.auburn.edu) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FdwPv-0001In-2y; Wed, 10 May 2006 17:40:23 -0400 Original-Received: from jane.dms.auburn.edu (jane.dms.auburn.edu [131.204.53.201]) by manatee.dms.auburn.edu (8.13.6/8.13.6) with ESMTP id k4ALcvKh027787; Wed, 10 May 2006 16:38:57 -0500 (CDT) Original-Received: from jane.dms.auburn.edu (localhost [127.0.0.1]) by jane.dms.auburn.edu (8.13.4+Sun/8.13.4) with ESMTP id k4ALbu0G028712; Wed, 10 May 2006 16:37:56 -0500 (CDT) Original-Received: (from teirllm@localhost) by jane.dms.auburn.edu (8.13.4+Sun/8.13.3/Submit) id k4ALbuZX028709; Wed, 10 May 2006 16:37:56 -0500 (CDT) X-Authentication-Warning: jane.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f Original-To: eliz@gnu.org In-reply-to: (message from Eli Zaretskii on Wed, 10 May 2006 20:49:41 +0300) 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:54205 Archived-At: Eli Zaretskii wrote: > It read ambiguously to me. ``Any Lisp object that you intend to refer to > again'' could be one that you intend to refer to in the bodies of the > functions you call. Can someone in the know (Richard?) state a clear rule? I think the ELisp manual should be unequivocal about the GCPRO issue. Reading in the Elisp manual: This is necessary whenever you call `Feval' or anything that can directly or indirectly call `Feval'. At such a time, any Lisp object that you intend to refer to again must be protected somehow. I have always interpreted this as meaning that as long as Feval is not directly or indirectly called, there is no problem whatsoever. If Feval gets called, directly or indirectly, the memory for the object may have been freed by gc, unless the object is protected some way or the other, for instance by a GCPPRO. If the object was not protected in any way, then if after the call to Feval it gets referenced any way whatsoever, directly or in the functions you call, from C or from Lisp, trouble can result because its memory may have been freed. Is there any _other_ way to understand the above quote from the Elisp manual or am I just completely misunderstanding the issue? If the description in the above paragraph would not be accurate, then the text would indeed be very misleading. Sincerely, Luc.