From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.emacs.devel Subject: Re: emacs and guile (Re: ehelp woes, or why I hate a module that I love so much) Date: 20 Jul 2002 14:00:17 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: <878z46k3se.fsf@zagadka.ping.de> References: <20020704135240.4CBB.LEKTU@terra.es> <20020704164911.4CC1.LEKTU@terra.es> <200207181456.g6IEu0J25108@aztec.santafe.edu> <200207191654.g6JGsfu27015@aztec.santafe.edu> <87d6tjshgv.fsf@zagadka.ping.de> <200207200035.g6K0Z9U27888@aztec.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1027166492 29048 127.0.0.1 (20 Jul 2002 12:01:32 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 20 Jul 2002 12:01:32 +0000 (UTC) Cc: raeburn@raeburn.org, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17VsvT-0007YP-00 for ; Sat, 20 Jul 2002 14:01:31 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17Vt8K-0002ft-00 for ; Sat, 20 Jul 2002 14:14:48 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17VsvN-0006b0-00; Sat, 20 Jul 2002 08:01:25 -0400 Original-Received: from dialin.speedway42.dip250.dokom.de ([195.138.42.250] helo=zagadka.ping.de) by fencepost.gnu.org with smtp (Exim 3.35 #1 (Debian)) id 17VsuI-0006ZU-00 for ; Sat, 20 Jul 2002 08:00:19 -0400 Original-Received: (qmail 1177 invoked by uid 1000); 20 Jul 2002 12:00:17 -0000 Original-To: rms@gnu.org In-Reply-To: <200207200035.g6K0Z9U27888@aztec.santafe.edu> Original-Lines: 25 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:5931 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:5931 Richard Stallman writes: > For additional fields, there is 'make-object-property'. This function > returns a procedure-with-setter so that can you do, for example, > > (define symbol-foo (make-object-property)) > > (symbol-foo 'x) > => #f > (set! (symbol-foo 'x) 123) > (symbol-foo 'x) > => 123 > > make-object-property is implemented with a hash table of alists. > > If Emacs needs any more than the function and the plist, > we should provide additional slots in the symbol itself, > or a facility to for an application that uses Guile to request > more of them. Ok. However, we have only two sizes of Scheme cells: 2 words and 4 words. (Non-immediate objects are implemented by pointers to such a cell.) We can not easily add more slots to the cell of a symbol. Thus, we will lose some performance for additional slots, as compared to the function slot, say.