From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: moving more cl seq/mapping support into core Date: Thu, 30 Sep 2010 17:33:22 -0700 Message-ID: <4CA52C52.1000004@gmail.com> References: <87sk0y1i18.fsf@catnip.gol.com> <7DEE67615141433C8FE87DBFE1DE88E8@us.oracle.com> <7B99087F2F72472DA0740D54DB71A408@us.oracle.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1285893219 24386 80.91.229.12 (1 Oct 2010 00:33:39 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 1 Oct 2010 00:33:39 +0000 (UTC) Cc: emacs-devel@gnu.org To: Leo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 01 02:33:37 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P1TZ7-0003k0-Uu for ged-emacs-devel@m.gmane.org; Fri, 01 Oct 2010 02:33:34 +0200 Original-Received: from localhost ([127.0.0.1]:49151 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1TZ7-00062a-8T for ged-emacs-devel@m.gmane.org; Thu, 30 Sep 2010 20:33:33 -0400 Original-Received: from [140.186.70.92] (port=54201 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1TZ1-00062V-OM for emacs-devel@gnu.org; Thu, 30 Sep 2010 20:33:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P1TZ0-0005yz-L6 for emacs-devel@gnu.org; Thu, 30 Sep 2010 20:33:27 -0400 Original-Received: from mail-pz0-f41.google.com ([209.85.210.41]:60351) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P1TZ0-0005ys-E1 for emacs-devel@gnu.org; Thu, 30 Sep 2010 20:33:26 -0400 Original-Received: by pzk26 with SMTP id 26so1477386pzk.0 for ; Thu, 30 Sep 2010 17:33:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=BjTetTq/IY4LXiVQKpP7EVyhCJEj7G+oJy/sy/GXKoc=; b=MDHdB8iqdhth+nEN6m+fnGAX36Z7SUeYUMTFlR726bOIEqEt3KKApkwVA9p1cFzpKO GwG5FLmZBMG7OAyiBnfWp0JfmLp+IIfNJGhy3Dv/MT79lDlMU4KprAr2o4PZE4gerXad S74lF69qr7m9fWIg7YZQLAZwS9A0QNvqOFhzU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=v0FRseb1c14IQpXWS2C58eXi29OGuIBsexvrQZzxg94fm02KT7zPdlRy7Pn4NGYJed Zh9AOSmNkEh3BwnndhAeflQufyzNKrzy+shao7EOI8Wql5CaO6Ak6dDfdkU4GwcKxf+9 8bx7yP/h/5U4PAJdLAmKywpphvyOtjqxkI5hQ= Original-Received: by 10.114.52.1 with SMTP id z1mr5428640waz.64.1285893205617; Thu, 30 Sep 2010 17:33:25 -0700 (PDT) Original-Received: from [0.0.0.0] (c-67-183-23-114.hsd1.wa.comcast.net [67.183.23.114]) by mx.google.com with ESMTPS id c10sm744105wam.1.2010.09.30.17.33.23 (version=SSLv3 cipher=RC4-MD5); Thu, 30 Sep 2010 17:33:24 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:131113 Archived-At: On 9/25/2010 8:30 AM, Leo wrote: > On 2010-09-25 16:23 +0100, Drew Adams wrote: >> Sorry, I don't get it. What is TEST for? It is typically for a binary >> predicate such as `equal' - but we already have PREDICATE here. And just what >> is second class here (if TEST is not added)? > > `remove-if' as defined in cl.el can not be used in a package intended to > be included in GNU Emacs due to the use of cl run time functions. > > So to move this function into elisp Miles (I think) proposed that we > give up some of its keyword arguments since they mostly are not used and > turned the keyword :test argument into an optional one. Why bother? A compiler-macro can examine a call to remove-if, see whether it recognizes the keyword arguments, and if it does, transform the whole call into something more lightweight. You retain the current function's expressive power and CL compatibility while losing nothing in performance.