From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Stefan Monnier" Newsgroups: gmane.emacs.devel Subject: Deleting skeleton-proxy Date: Thu, 22 May 2003 20:42:52 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200305230042.h4N0gqWd028126@rum.cs.yale.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1053650757 8772 80.91.224.249 (23 May 2003 00:45:57 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 23 May 2003 00:45:57 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri May 23 02:45:55 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19J0h1-0002HK-00 for ; Fri, 23 May 2003 02:45:55 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19J0sX-000353-00 for ; Fri, 23 May 2003 02:57:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19J0gM-0000qx-3Q for emacs-devel@quimby.gnus.org; Thu, 22 May 2003 20:45:14 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19J0g2-0000Ed-BJ for emacs-devel@gnu.org; Thu, 22 May 2003 20:44:54 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19J0ex-0006eY-9X for emacs-devel@gnu.org; Thu, 22 May 2003 20:44:18 -0400 Original-Received: from rum.cs.yale.edu ([128.36.229.169]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19J0e5-0005OD-Bv for emacs-devel@gnu.org; Thu, 22 May 2003 20:42:53 -0400 Original-Received: from rum.cs.yale.edu (localhost [127.0.0.1]) by rum.cs.yale.edu (8.12.8/8.12.8) with ESMTP id h4N0gqx6028128 for ; Thu, 22 May 2003 20:42:52 -0400 Original-Received: (from monnier@localhost) by rum.cs.yale.edu (8.12.8/8.12.8/Submit) id h4N0gqWd028126; Thu, 22 May 2003 20:42:52 -0400 X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 Original-To: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:14110 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:14110 While looking at abbrevs and friends, I bumped into the skeleton-proxy horror. Trying to understand what happened, I finally discovered that skeleton used to use something like (defmacro define-skeleton (name &rest skel) `(progn (defvar ,name ',skel) (defalias ',name 'skeleton-proxy))) and so skeleton-proxy looked up the stack to find the name of the alias used, then looked up the var-binding of that name to find the actual skeleton. Someone (apparently Richard) saw how disgusting it was and fixed it to do the right thing. This was way back in 96. revision 1.15 date: 1996/06/28 08:11:18; author: rms; state: Exp; lines: +53 -3 (skeleton-proxy-new): New function. (define-skeleton): Define the skeleton as a defun using skeleton-proxy-new. Now, skeleton-proxy was kept at that time because it was still needed by code byte-compiled with the old macro. I don't know if the code still works (its stack-walking thing is something that I'd expect to break at least somewhat in the course of 7 years), but it is still autoloaded. Any objection to getting rid of this thing ? Stefan