From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical. Date: Thu, 13 Feb 2020 17:13:12 -0800 (PST) Message-ID: <9d89598d-8d48-4bfc-b118-717dfbd10b5b@default> References: <20170103141444.GA4649@acm.fritz.box> <20170103213228.GB2085@acm.fritz.box> <20170104133948.GA7373@acm.fritz.box> <20170104200458.GA2052@acm.fritz.box> <29855ded-8607-4132-a80f-3204c06d74d9@default> <256f068f-5a0a-4127-aa7c-633eae24f15f@default> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="62824"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Mackenzie , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 14 02:13:51 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j2PYF-000GGc-Hp for ged-emacs-devel@m.gmane-mx.org; Fri, 14 Feb 2020 02:13:51 +0100 Original-Received: from localhost ([::1]:33468 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j2PYE-0005aJ-Ka for ged-emacs-devel@m.gmane-mx.org; Thu, 13 Feb 2020 20:13:50 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44007) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j2PXj-0004xC-2d for emacs-devel@gnu.org; Thu, 13 Feb 2020 20:13:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j2PXi-0002g4-2Y for emacs-devel@gnu.org; Thu, 13 Feb 2020 20:13:18 -0500 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:48160) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j2PXh-0002fD-Sc for emacs-devel@gnu.org; Thu, 13 Feb 2020 20:13:18 -0500 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 01E1DHu4082015; Fri, 14 Feb 2020 01:13:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=B/bbnn7duU/visFj4pgqYrG7lI3qsEYy74I3OgqIbqA=; b=DUhUTERvY5gF1/kP3MvRviJRv80aTcietRVXzfRgQi1mLWFADQkZFK+fgneVpEh/7n4A Tb21oob0bsbayQPcNfGwqFRv8loygrEPXvV0NUCj6qIZSWyaAsQrXII/KZUAt3XOgC8r F3Jo+9hYPtRGJYynzQtkRJ+yvLXCKeJh4YyLeMxrMLM1GxOTZGw9z33318bj4ngB16bJ YykwDCD7etdtV1X3kLEGVpI1vGeWfCFYWu+jBZk8b1trb3xleiO1xdPsbZEAL6gJx6Zv GvUUVlXBsz3eJnAn7wQ2IXU23guGhmuTKR/eAvKvuG5RgoBJX5WVQFuaeDnvHb9Bb3+2 yw== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2120.oracle.com with ESMTP id 2y2jx6pcsv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Feb 2020 01:13:16 +0000 Original-Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 01E1BwPP064341; Fri, 14 Feb 2020 01:13:16 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3030.oracle.com with ESMTP id 2y4k80y2jc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Feb 2020 01:13:16 +0000 Original-Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 01E1DEY6023242; Fri, 14 Feb 2020 01:13:15 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4954.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9530 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2002140006 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9530 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 mlxscore=0 suspectscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2002140006 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 141.146.126.78 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:244932 Archived-At: > > Sorry, but I really don't understand what is meant > > by what you wrote. I also don't understand the > > implication, "since this is a function". > > ^^^^^ >=20 > A function cannot access the lexical scope of its caller, so a function > cannot know if variable FOO is special in the caller's scope. Right. (See my other reply, for how CL would say that: it can't know whether the symbol FOO refers to the special var FOO or a lexical var FOO.) I think it would be clearer to just say that `special-variable-p' can't know whether its arg refers to a special variable. But I think that brings us back to what Alan said: it's apparently useless, since that's what it claims to do (even by just its name). To which you replied that the function is "mostly internal" (which is mostly vague). So far, it sounds to me like this function (1) should have an "internal"-advertising name, (double hyphens) if any function should, and (2) it shouldn't even be mentioned in the manual. Any mention of it seems like an invitation to use it and be confused in its use. Or if it should be mentioned, it's not yet clear to me what its semi-internal use case is, and why that should be communicated to users in the manual. What will they (users) do with it?