From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 24 15:14:43 2018 Received: (at submit) by debbugs.gnu.org; 24 Jan 2018 20:14:43 +0000 Received: from localhost ([127.0.0.1]:41348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeRRT-0001Hi-1v for submit@debbugs.gnu.org; Wed, 24 Jan 2018 15:14:43 -0500 Received: from eggs.gnu.org ([208.118.235.92]:45691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeRRR-0001HX-SP for submit@debbugs.gnu.org; Wed, 24 Jan 2018 15:14:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eeRRL-0005S6-RE for submit@debbugs.gnu.org; Wed, 24 Jan 2018 15:14:36 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:48332) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eeRRL-0005Rw-NA for submit@debbugs.gnu.org; Wed, 24 Jan 2018 15:14:35 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eeRRK-00056j-LN for bug-gnu-emacs@gnu.org; Wed, 24 Jan 2018 15:14:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eeRRF-0005P7-NP for bug-gnu-emacs@gnu.org; Wed, 24 Jan 2018 15:14:34 -0500 Received: from colin.muc.de ([193.149.48.1]:45597 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1eeRRF-0005Om-FJ for bug-gnu-emacs@gnu.org; Wed, 24 Jan 2018 15:14:29 -0500 Received: (qmail 71600 invoked by uid 3782); 24 Jan 2018 20:14:28 -0000 Received: from acm.muc.de (p548C7473.dip0.t-ipconnect.de [84.140.116.115]) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 24 Jan 2018 21:14:27 +0100 Received: (qmail 4497 invoked by uid 1000); 24 Jan 2018 20:06:52 -0000 Date: Wed, 24 Jan 2018 20:06:52 +0000 To: bug-gnu-emacs@gnu.org Subject: Emacs 26.0.91: "Generalized variables" are not defined. Message-ID: <20180124200652.GA4493@ACM> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.7.2 (2016-11-26) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.4 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.4 (----) Hello, Emacs. Emacs 25.3, Emacs 26.0.91 elisp manual. In enough places in emacs, we find terms like "generalized variable" "place form", and "place" being used. These terms are not defined in the Elisp manual, or any place where they are used. This is a bug. There is a page in elisp which purports to define "generalized variable", but rather than defining the term, it talks vaguely around it, saying it is "one of the many places in Lisp memory where values can be stored". Does this mean it is different from the other such places? If so, how does it differ. WHAT IS IT???? The elisp page then goes on to give examples of "generalized variables", never defining the term. It gives no criterion by which the reader can determine whether some random object is a generalized variable or not. I want to know whether a function is a "generalized variable". After a long time trying to find out, I still don't know. I've been trying for over an hour to use add-function, with forms like (add-function :before sit-for (lambda () (acm-backtrace 5))) (add-function :before 'sit-for (....)) (add-function :before #'sit-for (.....)) (add-function :before (symbol-function 'sit-for) (....)) , and got nothing but unhelpful error messages back, such as Symbol's value as variable is void: sit-for . The documentation of add-function is likewise vague and unhelpful. The various inflections of "sit-for" above are at a place in the add-function form where a "generalized variable" is needed. Is a function a generalized variable or not? -- Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 24 15:49:11 2018 Received: (at 30241) by debbugs.gnu.org; 24 Jan 2018 20:49:11 +0000 Received: from localhost ([127.0.0.1]:41355 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeRyo-00026t-Rv for submit@debbugs.gnu.org; Wed, 24 Jan 2018 15:49:11 -0500 Received: from mail-wm0-f51.google.com ([74.125.82.51]:43439) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeRyn-00026d-Hb for 30241@debbugs.gnu.org; Wed, 24 Jan 2018 15:49:09 -0500 Received: by mail-wm0-f51.google.com with SMTP id g1so10832106wmg.2 for <30241@debbugs.gnu.org>; Wed, 24 Jan 2018 12:49:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=Mphb++XhYZ/oKGeGziL0HyfFaACAQAIuNI9FUFoX/l4=; b=c4Z+yNaQ4VtdjDDW5bgprXW1Htr2R6uoFo7Pn3ihUqtK/CjZgvnFFDLfhnWH/W0Utd Po+KyI+9Dj140NYoFXESQVfwFGvwDtyIVhmOiLr71FSHG98vqtF26Md16HzOu0NbNH9B 7C4fX2f3ZjRqncMLaE93kuGbNAQsnJf1rt7JK0Q0M/knG1fX4pFOpudqhRpY7fLB0rWG nP1jSACu2beit+93AtvBmQfpXtUlb1v8bcw3Cp/qbgwumMeiYooOqi8zks251egDRogM 86BgUJwhNh1ErcTp0xy441a/aWcettKcIqTiQHDI2LPvUmkz150k7X6CHWKaKELlrmFg Xh7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=Mphb++XhYZ/oKGeGziL0HyfFaACAQAIuNI9FUFoX/l4=; b=EkK11ZPxnRgwXueiyvlUj3iFVmxStW7oHHlB09vRZKyMNtxLFKYA90E9dvI+hK3IRu CqhCMv4nUuJYrhda78LnRmKOxgRxDorXsVW021Ysm751lnetQuGmQ14uTidIEia9WeHe YElYDbQ5KFGPC3LgJDx26qKnIFc6ZeIdGrwfjr6Xc5TAa0q6arTAaVDp4CS4fbSpE/bg 9asYaoUK47Skz8dQkrgilsbF5/CJWrBd0mk9fRF5w2dnSi4O9h3LoP2hqCZhIcMkyTTI LZXVi1M1SDbfatKlWvhIOAjo748N1KHlXaGQF5dCakAGa33cigulkSfj+pTLdf9TsO3C dKHA== X-Gm-Message-State: AKwxytdiWWNjyN23aoIhD7wedpOvHjlbgelW20VY8ROLeqYKz9axoB1K QjF7nfY+t3T90hBIZ/QPCAXcM3hVHps0zLeAsOY= X-Google-Smtp-Source: AH8x226HrYSGYKaEpXwrBsNNqrJ6QwsQuOw+M5sQi34/t2V2Kngqo2M+DK0HS88oqz++d0g275UUXDHhcnWbBMYKWCY= X-Received: by 10.28.35.200 with SMTP id j191mr6452915wmj.146.1516826943695; Wed, 24 Jan 2018 12:49:03 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.182.77 with HTTP; Wed, 24 Jan 2018 12:49:03 -0800 (PST) In-Reply-To: <20180124200652.GA4493@ACM> References: <20180124200652.GA4493@ACM> From: Noam Postavsky Date: Wed, 24 Jan 2018 15:49:03 -0500 X-Google-Sender-Auth: JfeJECw3LtdKyjIa2LOgy8Itmbo Message-ID: Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. To: Alan Mackenzie Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) On Wed, Jan 24, 2018 at 3:06 PM, Alan Mackenzie wrote: > (add-function :before sit-for (lambda () (acm-backtrace 5))) > (add-function :before 'sit-for (....)) > (add-function :before #'sit-for (.....)) > (add-function :before (symbol-function 'sit-for) (....)) > > , and got nothing but unhelpful error messages back, such as > > Symbol's value as variable is void: sit-for Your last form works for me, but the lambda has to accept the same arguments as sit-for. (add-function :before (symbol-function 'sit-for) (lambda (&rest _) (acm-backtrace 5))) I think advice-add would make more sense for that use case though. (advice-add 'sit-for :before (lambda (&rest _) (acm-backtrace 5))) From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 24 16:25:47 2018 Received: (at 30241) by debbugs.gnu.org; 24 Jan 2018 21:25:48 +0000 Received: from localhost ([127.0.0.1]:41396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeSYF-0004sn-Je for submit@debbugs.gnu.org; Wed, 24 Jan 2018 16:25:47 -0500 Received: from aserp2120.oracle.com ([141.146.126.78]:41502) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeSYD-0004sa-9A for 30241@debbugs.gnu.org; Wed, 24 Jan 2018 16:25:45 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w0OLOsed082799; Wed, 24 Jan 2018 21:25:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2017-10-26; bh=pOzBbf+y0KFLECmVk61ClM8f1mqwdi+6MFIIk+EGcNo=; b=owdt8zIUejKCvsvGybQVPFpqy2yGXS1Oe6IyhW7v7xbONPgLJO2Vxe4lZGXFl6QKW5PA d52X5ozCd6uVeOytK1U67CulNLCalluqUREAsbKkInR0lwZuNFEP5H81KlNyZQVq/l1h oLFWpz8vIDn5+tR0fge42fBDkpxwY4h9hhfphO2oafHYPNpsf1+6WIHGHjJh+c98+yml Du/W+q8M88ctH5pB7aB3h28t1bhkXBjkMuqf14bFfMrZn3Thpgv25QrObJmu9uNF2nlm YoLL1l7hLfxYDb+SmbjoBjd/L3wtHFJNJYLGEPXXk6eKuWHDGaNfd0av1nhUosG0bSwl /w== Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2120.oracle.com with ESMTP id 2fq21s8046-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 24 Jan 2018 21:25:30 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w0OLPTYa020959 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 24 Jan 2018 21:25:29 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w0OLPSK3015676; Wed, 24 Jan 2018 21:25:28 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 24 Jan 2018 13:25:27 -0800 (PST) From: Drew Adams To: Alan Mackenzie , 30241@debbugs.gnu.org Subject: RE: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> In-Reply-To: <20180124200652.GA4493@ACM> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4639.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8784 signatures=668655 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=883 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801240280 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Emacs 25.3, Emacs 26.0.91 elisp manual. >=20 > In enough places in emacs, we find terms like "generalized variable" > "place form", and "place" being used. These terms are not defined in > the Elisp manual, or any place where they are used. This is a bug. >=20 > There is a page in elisp which purports to define "generalized > variable", but rather than defining the term, it talks vaguely around > it, saying it is "one of the many places in Lisp memory where values can > be stored". Does this mean it is different from the other such places? > If so, how does it differ. WHAT IS IT???? >=20 > The elisp page then goes on to give examples of "generalized variables", > never defining the term. It gives no criterion by which the reader can > determine whether some random object is a generalized variable or not. >=20 > I want to know whether a function is a "generalized variable". After a > long time trying to find out, I still don't know. I've been trying for > over an hour to use add-function, with forms like >=20 > (add-function :before sit-for (lambda () (acm-backtrace 5))) > (add-function :before 'sit-for (....)) > (add-function :before #'sit-for (.....)) > (add-function :before (symbol-function 'sit-for) (....)) >=20 > , and got nothing but unhelpful error messages back, such as >=20 > Symbol's value as variable is void: sit-for >=20 > . The documentation of add-function is likewise vague and unhelpful. > The various inflections of "sit-for" above are at a place in the > add-function form where a "generalized variable" is needed. Is a > function a generalized variable or not? Hear, hear. This is a more general problem, for all of our Common Lisp emulation or Cl-inspired stuff. (Not that the Emacs implementation of generalized vars actually emulates what Common Lisp has for generalized vars.) When Emacs has something more or less borrowed or inspired from Common Lisp, the Emacs doc explaining it (e.g. the concepts) is sometimes somewhat paltry. In such cases, you it can help to (1) know that Emacs was inspired by Common Lisp for that construct and (2) consult the Common Lisp doc. To learn about generalized variables I think you need to consult the Common Lisp doc, which is quite clear about it: https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html "The concept of variables named by symbols can be generalized to any storage location that can remember one piece of data, no matter how that location is named. Examples of such storage locations are the car and cdr of a cons, elements of an array, and components of a structure." When you hear "generalized variable" just think `setf'. For Emacs, we could conceivably have many more generalized vars than we have now. We might make it possible to use `setf' for functions like these, for instance: `point', `selected-* (*=3D...), `point-min|max', `current-*', ... Not that we need that, but it could sometimes be useful. In most cases it just provides a uniform way to change something. E.g., (setf (current-local-map) my-map) instead of (use-local-map my-map). The old Emacs update functions are often simpler, but using `setf' means you don't need to know the setter/update function; you just need to know the getter/access function. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 24 16:38:36 2018 Received: (at 30241) by debbugs.gnu.org; 24 Jan 2018 21:38:36 +0000 Received: from localhost ([127.0.0.1]:41400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeSkd-0005DA-RU for submit@debbugs.gnu.org; Wed, 24 Jan 2018 16:38:35 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:36605) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeSkc-0005Cq-CP for 30241@debbugs.gnu.org; Wed, 24 Jan 2018 16:38:34 -0500 Received: by mail-wm0-f46.google.com with SMTP id f3so11337834wmc.1 for <30241@debbugs.gnu.org>; Wed, 24 Jan 2018 13:38:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=+KeWef4rd2lZ4QtX44O5ov347t+35jEPyDcv4ZU2vXU=; b=i1Uhzn8//Oe/0wQcivUQRFAm8v0/XDQp3C4pg/crh1lvExgubDd8rd39YL9chu7B9P wreZ5MMuaT/ZyzzdR2LqEV+MywPL7yTOI6Chmrb0YFLPPQILTigO0a9UAbjLxgdaL4MT fHYr8SY5imFs66qN370aAZ5YKwuIngydmQyEvcyU22I0rvIosYzT5ZwFk+nKKCvc/wnv IuVm3VBXrwdsIraZP/LdL6bTwgZ6gwDNTIFdxcvA01gsADhlFYTfx+xgi2NGdSkKLKaA AG73AwmoM3LtxZQd6byGeTJhSuAO1UFde5f/ppbqW3ikBvDMooy9JZ6aQXXqPZrPigzK u+NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=+KeWef4rd2lZ4QtX44O5ov347t+35jEPyDcv4ZU2vXU=; b=DSmadc2Co9Xl8QmKiU+kKgoQrDoxVGSuynDA8UOPimjbj2uHwJ9eSgo6ddjkZC0CEe onKCP4fX87KmUCiOqrHMARPYUFQMrw5yib+CrQm3AZhqnhIibcayp3lHbfUD0sae4naO yrXDeb1wOIQugBAO3bEDqTpEw5R7MevjCzySCggz2mmYHEYhOUb3RC7PlhFwnG+suEJV IYqeiaUt1OqPOhvCs+KgLeqjfh5me0orE7Twz2gHVjg9YJjh+5BJibodLS7u+VjF/szR d2z48m2WJvjTK3L4Q9cM7rn26QG9+I7AKrPmJ1GjwPHWHIfN+f+FUksa859lO9nqJH5t AKig== X-Gm-Message-State: AKwxytcF+4swxGGWFYlIb/JvDgITjVZ0QX2jVzqQtkBlpvw55KmNSjHE QHtpkYMVXUUJh3jWjCCbuL4UKa008wHaKzp1Ij8= X-Google-Smtp-Source: AH8x225M5b6EhlKnqV3ny9zBVZD3laM/7UWXDERnD+porIIdWUCOfJanivVTgUzoIXmz5z9/C/VPITCfGJVwQYiz6HQ= X-Received: by 10.28.239.19 with SMTP id n19mr5726145wmh.20.1516829908758; Wed, 24 Jan 2018 13:38:28 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.182.77 with HTTP; Wed, 24 Jan 2018 13:38:28 -0800 (PST) In-Reply-To: References: <20180124200652.GA4493@ACM> From: Noam Postavsky Date: Wed, 24 Jan 2018 16:38:28 -0500 X-Google-Sender-Auth: Z3QiktoF1o3a95HMLJvNAkFpZDA Message-ID: Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. To: Drew Adams Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 30241 Cc: Alan Mackenzie , 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) On Wed, Jan 24, 2018 at 4:25 PM, Drew Adams wrote: > For Emacs, we could conceivably have many more generalized > vars than we have now. We might make it possible to use > `setf' for functions like these, for instance: `point', > `selected-* (*=...), `point-min|max', `current-*', ... We do seem have such setf functions for several of those, a lot of them require loading cl-lib (historical reasons, I guess). From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 24 16:43:25 2018 Received: (at 30241) by debbugs.gnu.org; 24 Jan 2018 21:43:25 +0000 Received: from localhost ([127.0.0.1]:41406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeSpJ-0005KD-DV for submit@debbugs.gnu.org; Wed, 24 Jan 2018 16:43:25 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:35890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeSpG-0005Jy-U5 for 30241@debbugs.gnu.org; Wed, 24 Jan 2018 16:43:23 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w0OLgUAB140397; Wed, 24 Jan 2018 21:43:14 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-2017-10-26; bh=GmLsRwwtYve3TRGIv0LPgVDT2rtxW2kjmSutGTkLH5w=; b=PRsgXK9d9xeSV05GDRCj+6eWJI0p59ML1J2P6Q+V5dej+Yi0rzytdqfuPn0ljpExpwXE hHVJiw1NDdAPFj7U/7McdKOQaVJTS+OAfXNpCamUsIJtuQgluPiqnxEIc2+S0Aa6VpXU mG28/ZiqS5Sy02vxeMe6z5UjgLW4FyFIj1lEoa0UP1obv/IuWLUa2t8VBseRxEejj9k8 8V/0MkPQ8jUPwzCRmVv1pMzx9P2lAbqKkbXeES0mv5/dyXoT0lNn+bOt3wZPxqTpiy2w UzbA03/0rNSRfFOF1xUSZqUO3BhKzrJfxKF5V1Wt+urw3AQkPn5UjCakHANk4x4u4oq7 4w== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2fq29180aa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 24 Jan 2018 21:43:14 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w0OLhDvH009445 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 24 Jan 2018 21:43:13 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w0OLhCtb024854; Wed, 24 Jan 2018 21:43:12 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 24 Jan 2018 13:43:10 -0800 (PST) From: Drew Adams To: Noam Postavsky Subject: RE: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4639.0 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8784 signatures=668655 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=702 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801240284 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 Cc: Alan Mackenzie , 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > > For Emacs, we could conceivably have many more generalized > > vars than we have now. We might make it possible to use > > `setf' for functions like these, for instance: `point', > > `selected-* (*=3D...), `point-min|max', `current-*', ... >=20 > We do seem have such setf functions for several of those, a lot of > them require loading cl-lib (historical reasons, I guess). Yes, and in particular we have `cl-letf' (which is misnamed, since it does not come from Common Lisp - it should be called `letf'). I meant only that we could conceivably have more generalized vars than we have now. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 26 09:16:44 2018 Received: (at 30241) by debbugs.gnu.org; 26 Jan 2018 14:16:44 +0000 Received: from localhost ([127.0.0.1]:43254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ef4o8-00085M-83 for submit@debbugs.gnu.org; Fri, 26 Jan 2018 09:16:44 -0500 Received: from eggs.gnu.org ([208.118.235.92]:39875) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ef4o6-0007zo-MC for 30241@debbugs.gnu.org; Fri, 26 Jan 2018 09:16:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ef4nx-0000ZJ-Bo for 30241@debbugs.gnu.org; Fri, 26 Jan 2018 09:16:37 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:56820) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ef4nx-0000ZC-96; Fri, 26 Jan 2018 09:16:33 -0500 Received: from [176.228.60.248] (port=1452 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ef4nv-0000JM-5r; Fri, 26 Jan 2018 09:16:33 -0500 Date: Fri, 26 Jan 2018 16:16:21 +0200 Message-Id: <83h8r8ln7u.fsf@gnu.org> From: Eli Zaretskii To: Drew Adams In-reply-to: (message from Drew Adams on Wed, 24 Jan 2018 13:25:27 -0800 (PST)) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: acm@muc.de, 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Wed, 24 Jan 2018 13:25:27 -0800 (PST) > From: Drew Adams > > To learn about generalized variables I think you need to > consult the Common Lisp doc, which is quite clear about it: > > https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html > > "The concept of variables named by symbols can be generalized to > any storage location that can remember one piece of data, no > matter how that location is named. Examples of such storage > locations are the car and cdr of a cons, elements of an array, > and components of a structure." Maybe I'm missing something, but how is the above significantly different from what we have in the ELisp manual now: A “generalized variable” or “place form” is one of the many places in Lisp memory where values can be stored. The simplest place form is a regular Lisp variable. But the CARs and CDRs of lists, elements of arrays, properties of symbols, and many other locations are also places where Lisp values are stored. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 26 11:15:50 2018 Received: (at 30241) by debbugs.gnu.org; 26 Jan 2018 16:15:50 +0000 Received: from localhost ([127.0.0.1]:43948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ef6fO-0003CT-Df for submit@debbugs.gnu.org; Fri, 26 Jan 2018 11:15:50 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:60034) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ef6fM-0003CB-Dr for 30241@debbugs.gnu.org; Fri, 26 Jan 2018 11:15:49 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w0QGF659104276; Fri, 26 Jan 2018 16:15:38 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-2017-10-26; bh=EI6meevSgbMCP73EfZkYueQzbLkEJawrb6J8FMn+oQA=; b=Q7c41GfrLU1BwCbZZiVKq04kR0jB0MIw9bFPDuDENwyTeWCZNZ8UZHxuNzgmRM8FvDlr I+byv1VEgOAtxZQVQhQod+cTETIGsb4ROsZN+tZ5MH3fWr0jYC2BnYTxrJYMnzXgvpx+ zRxd6APvL1E+iSl91RR+9Z9bQkXWaZmnTfFbuf4Rk8dlHRHt/RMzbTeJlgwfi9eGHDX0 PAx2dEdVhuCgZWdLlT3p+kxZM+cUoTJjvFPAXrc0sCbNo1BUqTr1jSll6uYoGsj0d2V8 5+KEp98QTlB97tzR0Fge8FggbycpTigF/FYW+38EOm+4s/GcCqNtk5XLxvhqr/2SrHSP ag== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2120.oracle.com with ESMTP id 2fr7m2r1v0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 Jan 2018 16:15:38 +0000 Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w0QGFapF032096 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 26 Jan 2018 16:15:38 GMT Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w0QGFXqW025757; Fri, 26 Jan 2018 16:15:33 GMT MIME-Version: 1.0 Message-ID: <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> Date: Fri, 26 Jan 2018 08:15:32 -0800 (PST) From: Drew Adams To: Eli Zaretskii Subject: RE: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> In-Reply-To: <83h8r8ln7u.fsf@gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4639.0 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8785 signatures=668655 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=647 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801260212 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 Cc: acm@muc.de, 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > > To learn about generalized variables I think you need to > > consult the Common Lisp doc, which is quite clear about it: > > > > https://urldefense.proofpoint.com/v2/url?u=3Dhttps- > 3A__www.cs.cmu.edu_Groups_AI_html_cltl_clm_node80.html&d=3DDwIDaQ&c=3DRoP= 1YumCX > CgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=3DkI3P6ljGv6CTHIKju0jqInF6AOwMCYRDQU= mqX2 > 2rJ98&m=3DuYx8D- > JLTyaLnvAeQBooq2REnESUwTiKj48oTomgyLw&s=3DR0hqNECRUwHIUT4SaPqUG5lRICppWh0= FMJr > C-q7z3qw&e=3D > > > > "The concept of variables named by symbols can be generalized to > > any storage location that can remember one piece of data, no > > matter how that location is named. Examples of such storage > > locations are the car and cdr of a cons, elements of an array, > > and components of a structure." >=20 > Maybe I'm missing something, but how is the above significantly > different from what we have in the ELisp manual now: >=20 > A =E2=80=9Cgeneralized variable=E2=80=9D or =E2=80=9Cplace form=E2=80= =9D is one of the many places in > Lisp memory where values can be stored. The simplest place form is a > regular Lisp variable. But the CARs and CDRs of lists, elements of > arrays, properties of symbols, and many other locations are also places > where Lisp values are stored. Would it be clearer if I said "To learn MORE about generalized variables" instead of "To learn about generalized variables"? Surely it's possible to learn SOMETHING about generalized vars from the Emacs doc about them. I did not suggest that the paragraph I quoted was the only thing that the CL doc says about generalized vars. I pointed to the part of the CL doc that provides their explanation. If you want to compare the Emacs explanation with the CL one, compare all that is written at the URL I provided. I think you'll see a difference - it is, IMO, "significantly different". From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 27 05:35:04 2018 Received: (at 30241) by debbugs.gnu.org; 27 Jan 2018 10:35:04 +0000 Received: from localhost ([127.0.0.1]:44398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efNp9-0002CM-WD for submit@debbugs.gnu.org; Sat, 27 Jan 2018 05:35:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59360) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efNp8-0002Bp-Kl for 30241@debbugs.gnu.org; Sat, 27 Jan 2018 05:35:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1efNoz-0005wd-8m for 30241@debbugs.gnu.org; Sat, 27 Jan 2018 05:34:57 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51713) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1efNoz-0005wX-4x; Sat, 27 Jan 2018 05:34:53 -0500 Received: from [176.228.60.248] (port=2553 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1efNoy-0002kq-2j; Sat, 27 Jan 2018 05:34:52 -0500 Date: Sat, 27 Jan 2018 12:34:53 +0200 Message-Id: <83o9lfk2sy.fsf@gnu.org> From: Eli Zaretskii To: Drew Adams In-reply-to: <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> (message from Drew Adams on Fri, 26 Jan 2018 08:15:32 -0800 (PST)) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: acm@muc.de, 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Fri, 26 Jan 2018 08:15:32 -0800 (PST) > From: Drew Adams > Cc: acm@muc.de, 30241@debbugs.gnu.org > > If you want to compare the Emacs explanation with the CL one, > compare all that is written at the URL I provided. I already did, and would expect you to assume that up front. > I think you'll see a difference - it is, IMO, "significantly > different". Actually, no, I didn't. I do see some additional explanations that might have helped Alan understand the issue, but nothing "significant". So much so that I doubt Alan will find the CL docs helpful after disliking our docs of the same subject, as he did, based on his original bug report. Of course, it's possible that I'm missing something here. Therefore, I invite Alan (and anyone else who'd like to chime in) to please compare the CL docs on this matter with ours, and tell what parts of the former made the issue "fall into place" (pun intended) wrt this topic, where our docs don't. Bonus points for proposing patches for the relevant parts of the ELisp manual, to make this subject's documentation "significantly" better. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 27 10:32:10 2018 Received: (at 30241) by debbugs.gnu.org; 27 Jan 2018 15:32:10 +0000 Received: from localhost ([127.0.0.1]:45401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efSSg-0005hR-DT for submit@debbugs.gnu.org; Sat, 27 Jan 2018 10:32:10 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:54138) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efSSd-0005gs-H1 for 30241@debbugs.gnu.org; Sat, 27 Jan 2018 10:32:08 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w0RFRmdJ179444; Sat, 27 Jan 2018 15:31:57 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-2017-10-26; bh=HFddCZOSslvj4gZXIjSjySB/8LRqUirBi4pRXw6jU5o=; b=GkF3a2Pj/2GRwLaa0GcenreWS9XOWoYsKY37TloBQXtzS49j7u/+ZdEjWm/PI0Hw8v0n Ew8BBbpKfL3dVtRhNxyjRiPblaXajKVGgU4ZS4h9pwJcjy21Ka0kpU5z1FhPKW9DKjqo y735N3fI5tSDfM9Fjp/Nm1dRp5BApxSRtGYTvtEd43F/B6eCiiCYl09zXw/Ak3J57dTQ /SdEPevdjZiWWkcUpksxr91KzZuJ9zZATxaiyA9WDKuF5QWaKV2oWei4KTjSOZicn3rY Os4AyG3BmgSRBKliC6CCyYa+I5GHS3ws4RZiTvWe9Evf+dmx5CJoD69Y61fSapPSnYQb IQ== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2130.oracle.com with ESMTP id 2fru60r2ug-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 27 Jan 2018 15:31:57 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w0RFVuj7025188 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sat, 27 Jan 2018 15:31:56 GMT Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w0RFVu8E028671; Sat, 27 Jan 2018 15:31:56 GMT MIME-Version: 1.0 Message-ID: Date: Sat, 27 Jan 2018 07:31:55 -0800 (PST) From: Drew Adams To: Eli Zaretskii Subject: RE: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <<20180124200652.GA4493@ACM>> <> <<83h8r8ln7u.fsf@gnu.org>> <<41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default>> <<83o9lfk2sy.fsf@gnu.org>> In-Reply-To: <<83o9lfk2sy.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4639.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8786 signatures=668655 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=611 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801270208 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 Cc: acm@muc.de, 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) For more food for thought about this topic, Cf. https://www.csee.umbc.edu/c= ourses/331/resources/lisp/onLisp/12generalizedVariables.pdf From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 02 10:23:53 2018 Received: (at 30241) by debbugs.gnu.org; 2 Feb 2018 15:23:53 +0000 Received: from localhost ([127.0.0.1]:54151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ehdBw-0006Al-Pk for submit@debbugs.gnu.org; Fri, 02 Feb 2018 10:23:52 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ehdBu-0006A1-JB for 30241@debbugs.gnu.org; Fri, 02 Feb 2018 10:23:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ehdAl-0000Lm-E0 for 30241@debbugs.gnu.org; Fri, 02 Feb 2018 10:23:45 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:47382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ehdAl-00062f-12; Fri, 02 Feb 2018 10:22:39 -0500 Received: from [176.228.60.248] (port=3742 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ehYem-00006R-Bx; Fri, 02 Feb 2018 05:33:20 -0500 Date: Fri, 02 Feb 2018 12:33:04 +0200 Message-Id: <83r2q3d6lb.fsf@gnu.org> From: Eli Zaretskii To: acm@muc.de In-reply-to: <83o9lfk2sy.fsf@gnu.org> (message from Eli Zaretskii on Sat, 27 Jan 2018 12:34:53 +0200) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Sat, 27 Jan 2018 12:34:53 +0200 > From: Eli Zaretskii > Cc: acm@muc.de, 30241@debbugs.gnu.org > > > I think you'll see a difference - it is, IMO, "significantly > > different". > > Actually, no, I didn't. I do see some additional explanations that > might have helped Alan understand the issue, but nothing > "significant". So much so that I doubt Alan will find the CL docs > helpful after disliking our docs of the same subject, as he did, based > on his original bug report. Of course, it's possible that I'm missing > something here. > > Therefore, I invite Alan (and anyone else who'd like to chime in) to > please compare the CL docs on this matter with ours, and tell what > parts of the former made the issue "fall into place" (pun intended) > wrt this topic, where our docs don't. Bonus points for proposing > patches for the relevant parts of the ELisp manual, to make this > subject's documentation "significantly" better. Alan, any inputs on this? As you disliked the current text so much, I'd like to fix it if possible for Emacs 26.1. TIA From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 10 06:25:20 2018 Received: (at 30241) by debbugs.gnu.org; 10 Feb 2018 11:25:20 +0000 Received: from localhost ([127.0.0.1]:36128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekTHU-00065O-Cc for submit@debbugs.gnu.org; Sat, 10 Feb 2018 06:25:20 -0500 Received: from eggs.gnu.org ([208.118.235.92]:38404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekTHS-00063k-4c for 30241@debbugs.gnu.org; Sat, 10 Feb 2018 06:25:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ekTHK-0006CQ-9e for 30241@debbugs.gnu.org; Sat, 10 Feb 2018 06:25:12 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37878) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ekTHK-0006CI-6Y; Sat, 10 Feb 2018 06:25:10 -0500 Received: from [176.228.60.248] (port=3510 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ekTHH-0003S7-7O; Sat, 10 Feb 2018 06:25:08 -0500 Date: Sat, 10 Feb 2018 13:24:50 +0200 Message-Id: <83d11d2ikd.fsf@gnu.org> From: Eli Zaretskii To: acm@muc.de In-reply-to: <83r2q3d6lb.fsf@gnu.org> (message from Eli Zaretskii on Fri, 02 Feb 2018 12:33:04 +0200) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> <83r2q3d6lb.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Fri, 02 Feb 2018 12:33:04 +0200 > From: Eli Zaretskii > Cc: 30241@debbugs.gnu.org > > > Date: Sat, 27 Jan 2018 12:34:53 +0200 > > From: Eli Zaretskii > > Cc: acm@muc.de, 30241@debbugs.gnu.org > > > > > I think you'll see a difference - it is, IMO, "significantly > > > different". > > > > Actually, no, I didn't. I do see some additional explanations that > > might have helped Alan understand the issue, but nothing > > "significant". So much so that I doubt Alan will find the CL docs > > helpful after disliking our docs of the same subject, as he did, based > > on his original bug report. Of course, it's possible that I'm missing > > something here. > > > > Therefore, I invite Alan (and anyone else who'd like to chime in) to > > please compare the CL docs on this matter with ours, and tell what > > parts of the former made the issue "fall into place" (pun intended) > > wrt this topic, where our docs don't. Bonus points for proposing > > patches for the relevant parts of the ELisp manual, to make this > > subject's documentation "significantly" better. > > Alan, any inputs on this? As you disliked the current text so much, > I'd like to fix it if possible for Emacs 26.1. Ping! From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 10 17:09:31 2018 Received: (at 30241) by debbugs.gnu.org; 10 Feb 2018 22:09:31 +0000 Received: from localhost ([127.0.0.1]:37335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekdKt-0005Lw-78 for submit@debbugs.gnu.org; Sat, 10 Feb 2018 17:09:31 -0500 Received: from colin.muc.de ([193.149.48.1]:59365 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1ekdKr-0005Lm-2x for 30241@debbugs.gnu.org; Sat, 10 Feb 2018 17:09:29 -0500 Received: (qmail 4624 invoked by uid 3782); 10 Feb 2018 22:09:27 -0000 Received: from acm.muc.de (p548C6FC0.dip0.t-ipconnect.de [84.140.111.192]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sat, 10 Feb 2018 23:09:26 +0100 Received: (qmail 25928 invoked by uid 1000); 10 Feb 2018 21:58:41 -0000 Date: Sat, 10 Feb 2018 21:58:41 +0000 To: Eli Zaretskii Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. Message-ID: <20180210215841.GB4537@ACM> References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83o9lfk2sy.fsf@gnu.org> User-Agent: Mutt/1.7.2 (2016-11-26) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org, Drew Adams X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello, Eli. Sorry about the long delay. On Sat, Jan 27, 2018 at 12:34:53 +0200, Eli Zaretskii wrote: > > Date: Fri, 26 Jan 2018 08:15:32 -0800 (PST) > > From: Drew Adams > > Cc: acm@muc.de, 30241@debbugs.gnu.org [ .... ] > > I think you'll see a difference - it is, IMO, "significantly > > different". > Actually, no, I didn't. I do see some additional explanations that > might have helped Alan understand the issue, but nothing > "significant". So much so that I doubt Alan will find the CL docs > helpful after disliking our docs of the same subject, as he did, based > on his original bug report. Of course, it's possible that I'm missing > something here. > Therefore, I invite Alan (and anyone else who'd like to chime in) to > please compare the CL docs on this matter with ours, and tell what > parts of the former made the issue "fall into place" (pun intended) > wrt this topic, where our docs don't. Bonus points for proposing > patches for the relevant parts of the ELisp manual, to make this > subject's documentation "significantly" better. I've read https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html, and found it clear indeed. However it was also long. After reading it, the Elisp sections on generalised variables make much more sense. This suggests that these Elisp sections contain the material, but are not suitable for readers who don't already understand generalised variables. In that CL page, a generalised variable is effectively defined as something you can use `setf' on within the first three paragraphs. In the elisp sections, that identification is not present in the opening paragraphs - there is no definition on that opening page. The first sub-page does not define a generalised variable as something you can use setf on - it merely says setf is a way to access one. But that definition needs to be in the top level page, and it needs to be clear that it _is_ a definition. The CL page gives a complete list of forms setf will work with. The elisp page merely gives a list, without it being clear whether that list is complete or not. > Thanks. -- Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 10 17:59:50 2018 Received: (at 30241) by debbugs.gnu.org; 10 Feb 2018 22:59:50 +0000 Received: from localhost ([127.0.0.1]:37348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eke7a-0008QC-E6 for submit@debbugs.gnu.org; Sat, 10 Feb 2018 17:59:50 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:52806) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eke7Z-0008Q0-83 for 30241@debbugs.gnu.org; Sat, 10 Feb 2018 17:59:49 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w1AMxMOO124525; Sat, 10 Feb 2018 22:59:43 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-2017-10-26; bh=7vMHfHtcbNiTdHU170FSHEXXVI71HE5b8jn1ht42LOI=; b=T3iWrzzg/dmkU2YSzEp5oj/8KeI4p6pZGYvAj4VQuUb/RYno3uDiofD4oBySZLYIxJ6+ fy4qZqQLyCseeYL59c9fu8/76KLSa3niwDsoYzmiDmwQpCmwgBdr7lIBr125ylrjoQg2 WOY51jWApgLG5CYkZs1234FzGggbq0SaHQQjTjNfFEvLNhaWP3zLnMbOg36O49ZsxpjD DGWxX4WGpFYjsc/rNi3zl9JIzX4S+c8wH+Tkhe32RTDj/esgmDWPu1jLaL1Ci7BDcfF7 bpvlGI6rRWfktCqjZ2gydrYdYVVmBxI+P2OM26dRPaBSsbmgJcNYjq4823/6OjT+lvzO ow== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2120.oracle.com with ESMTP id 2g29vk00x2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 10 Feb 2018 22:59:43 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w1AMt0RC015420 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sat, 10 Feb 2018 22:55:02 GMT Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w1AMt0ko019917; Sat, 10 Feb 2018 22:55:00 GMT MIME-Version: 1.0 Message-ID: <7e0daea2-f6e1-4b57-a439-df03b35aac3e@default> Date: Sat, 10 Feb 2018 14:54:58 -0800 (PST) From: Drew Adams To: Alan Mackenzie , Eli Zaretskii Subject: RE: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> <20180210215841.GB4537@ACM> In-Reply-To: <20180210215841.GB4537@ACM> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4639.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8801 signatures=668668 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=857 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1802100302 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > > > I think you'll see a difference - it is, IMO, "significantly > > > different". >=20 > > Actually, no, I didn't. I do see some additional explanations that > > might have helped Alan understand the issue, but nothing > > "significant". So much so that I doubt Alan will find the CL docs > > helpful after disliking our docs of the same subject, as he did, based > > on his original bug report. Of course, it's possible that I'm missing > > something here. >=20 > > Therefore, I invite Alan (and anyone else who'd like to chime in) to > > please compare the CL docs on this matter with ours, and tell what > > parts of the former made the issue "fall into place" (pun intended) > > wrt this topic, where our docs don't. Bonus points for proposing > > patches for the relevant parts of the ELisp manual, to make this > > subject's documentation "significantly" better. >=20 > I've read..., > and found it clear indeed. However it was also long. After reading it, > the Elisp sections on generalised variables make much more sense. >=20 > This suggests that these Elisp sections contain the material, but are > not suitable for readers who don't already understand generalised > variables. >=20 > In that CL page, a generalised variable is effectively defined as > something you can use `setf' on within the first three paragraphs. In > the elisp sections, that identification is not present in the opening > paragraphs - there is no definition on that opening page. The first > sub-page does not define a generalised variable as something you can use > setf on - it merely says setf is a way to access one. But that > definition needs to be in the top level page, and it needs to be clear > that it _is_ a definition. >=20 > The CL page gives a complete list of forms setf will work with. The > elisp page merely gives a list, without it being clear whether that list > is complete or not. Good summary. FWIW, I agree. It's about `setf', in particular. From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 11 11:01:08 2018 Received: (at 30241) by debbugs.gnu.org; 11 Feb 2018 16:01:08 +0000 Received: from localhost ([127.0.0.1]:38498 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eku3w-0002Q9-HC for submit@debbugs.gnu.org; Sun, 11 Feb 2018 11:01:08 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49667) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eku3u-0002PY-VG for 30241@debbugs.gnu.org; Sun, 11 Feb 2018 11:01:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eku3m-0002Kv-0k for 30241@debbugs.gnu.org; Sun, 11 Feb 2018 11:01:01 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:52504) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eku3l-0002KX-Sw; Sun, 11 Feb 2018 11:00:57 -0500 Received: from [176.228.60.248] (port=4999 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eku3l-0002AT-C4; Sun, 11 Feb 2018 11:00:57 -0500 Date: Sun, 11 Feb 2018 18:00:43 +0200 Message-Id: <83inb31pp0.fsf@gnu.org> From: Eli Zaretskii To: Alan Mackenzie In-reply-to: <20180210215841.GB4537@ACM> (message from Alan Mackenzie on Sat, 10 Feb 2018 21:58:41 +0000) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> <20180210215841.GB4537@ACM> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Sat, 10 Feb 2018 21:58:41 +0000 > Cc: Drew Adams , 30241@debbugs.gnu.org > From: Alan Mackenzie > > I've read https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html, > and found it clear indeed. However it was also long. After reading it, > the Elisp sections on generalised variables make much more sense. > > This suggests that these Elisp sections contain the material, but are > not suitable for readers who don't already understand generalised > variables. > > In that CL page, a generalised variable is effectively defined as > something you can use `setf' on within the first three paragraphs. In > the elisp sections, that identification is not present in the opening > paragraphs - there is no definition on that opening page. The first > sub-page does not define a generalised variable as something you can use > setf on - it merely says setf is a way to access one. But that > definition needs to be in the top level page, and it needs to be clear > that it _is_ a definition. It seems strange to me to define something in terms of its uses, but if people think this is better than the other way around, I don't mind. Can you propose how to change what we have now to include what you think should be there? > The CL page gives a complete list of forms setf will work with. The > elisp page merely gives a list, without it being clear whether that list > is complete or not. It's supposed to be a complete list, but if someone knows of other forms, let them speak up. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 11 15:43:38 2018 Received: (at 30241) by debbugs.gnu.org; 11 Feb 2018 20:43:38 +0000 Received: from localhost ([127.0.0.1]:38642 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekyTJ-0000Ok-SB for submit@debbugs.gnu.org; Sun, 11 Feb 2018 15:43:38 -0500 Received: from eggs.gnu.org ([208.118.235.92]:34168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekyTI-0000OW-PU for 30241@debbugs.gnu.org; Sun, 11 Feb 2018 15:43:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ekyTC-0002Kh-K2 for 30241@debbugs.gnu.org; Sun, 11 Feb 2018 15:43:31 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41487) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ekyT4-00023r-TN; Sun, 11 Feb 2018 15:43:22 -0500 Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1ekySw-0008Tq-5O; Sun, 11 Feb 2018 15:43:14 -0500 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman To: Drew Adams In-reply-to: <7e0daea2-f6e1-4b57-a439-df03b35aac3e@default> (message from Drew Adams on Sat, 10 Feb 2018 14:54:58 -0800 (PST)) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> <20180210215841.GB4537@ACM> <7e0daea2-f6e1-4b57-a439-df03b35aac3e@default> Message-Id: Date: Sun, 11 Feb 2018 15:43:14 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: acm@muc.de, eliz@gnu.org, 30241@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rms@gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I've read..., > > and found it clear indeed. However it was also long. After reading it, > > the Elisp sections on generalised variables make much more sense. Is it possible a few more cross-references that explanation would solve the problem? -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) Skype: No way! See https://stallman.org/skype.html. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 20 17:09:47 2018 Received: (at 30241) by debbugs.gnu.org; 20 Mar 2018 21:09:47 +0000 Received: from localhost ([127.0.0.1]:44301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyOVu-0006Tu-Hf for submit@debbugs.gnu.org; Tue, 20 Mar 2018 17:09:46 -0400 Received: from colin.muc.de ([193.149.48.1]:64308 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1eyOVt-0006Tm-08 for 30241@debbugs.gnu.org; Tue, 20 Mar 2018 17:09:45 -0400 Received: (qmail 19339 invoked by uid 3782); 20 Mar 2018 21:09:44 -0000 Received: from acm.muc.de (p548C7B48.dip0.t-ipconnect.de [84.140.123.72]) by colin.muc.de (tmda-ofmipd) with ESMTP; Tue, 20 Mar 2018 22:09:43 +0100 Received: (qmail 23331 invoked by uid 1000); 20 Mar 2018 20:51:31 -0000 Date: Tue, 20 Mar 2018 20:51:31 +0000 To: Eli Zaretskii Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. Message-ID: <20180320205131.GB16673@ACM> References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> <20180210215841.GB4537@ACM> <83inb31pp0.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83inb31pp0.fsf@gnu.org> User-Agent: Mutt/1.7.2 (2016-11-26) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello, Eli. Maybe there's still a chance to get this doc fix into Emacs 26. What do you say? On Sun, Feb 11, 2018 at 18:00:43 +0200, Eli Zaretskii wrote: > > Date: Sat, 10 Feb 2018 21:58:41 +0000 > > Cc: Drew Adams , 30241@debbugs.gnu.org > > From: Alan Mackenzie > > I've read https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html, > > and found it clear indeed. However it was also long. After reading it, > > the Elisp sections on generalised variables make much more sense. > > This suggests that these Elisp sections contain the material, but are > > not suitable for readers who don't already understand generalised > > variables. > > In that CL page, a generalised variable is effectively defined as > > something you can use `setf' on within the first three paragraphs. In > > the elisp sections, that identification is not present in the opening > > paragraphs - there is no definition on that opening page. The first > > sub-page does not define a generalised variable as something you can use > > setf on - it merely says setf is a way to access one. But that > > definition needs to be in the top level page, and it needs to be clear > > that it _is_ a definition. > It seems strange to me to define something in terms of its uses, but > if people think this is better than the other way around, I don't > mind. > Can you propose how to change what we have now to include what you > think should be there? A proposed patch is below. > > The CL page gives a complete list of forms setf will work with. The > > elisp page merely gives a list, without it being clear whether that list > > is complete or not. > It's supposed to be a complete list, but if someone knows of other > forms, let them speak up. OK, I've made this clear in the patch. A quick summary of what I've changed: (i) a GV is defined as something `setf' can be used to store into. (ii) I've removed the insinuation that hackers would have difficulty remembering two functions (a get and a set) rather than just one. (iii) I've made clear that the list of GVs in the page is complete. (iv) I've removed the suggestion that setf has superseded, or is in the process of superseding, setq. (v) I've made minor corrections to the English. diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index e025d3fd10..355cf5a09a 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -2316,11 +2316,12 @@ Generalized Variables @cindex generalized variable @cindex place form -A @dfn{generalized variable} or @dfn{place form} is one of the many places -in Lisp memory where values can be stored. The simplest place form is -a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of lists, elements -of arrays, properties of symbols, and many other locations are also -places where Lisp values are stored. +A @dfn{generalized variable} or @dfn{place form} is one of the many +places in Lisp memory where values can be stored using the @code{setf} +macro (@pxref{Setting Generalized Variables}). The simplest place +form is a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of +lists, elements of arrays, properties of symbols, and many other +locations are also places where Lisp values get stored. Generalized variables are analogous to lvalues in the C language, where @samp{x = a[i]} gets an element from an array @@ -2341,8 +2342,8 @@ Setting Generalized Variables accepts arbitrary place forms on the left side rather than just symbols. For example, @code{(setf (car a) b)} sets the car of @code{a} to @code{b}, doing the same operation as @code{(setcar a b)}, -but without having to remember two separate functions for setting and -accessing every type of place. +but without you having to use two separate functions for setting and +accessing this type of place. @defmac setf [place form]@dots{} This macro evaluates @var{form} and stores it in @var{place}, which @@ -2352,18 +2353,19 @@ Setting Generalized Variables @var{form}. @end defmac -The following Lisp forms will work as generalized variables, and -so may appear in the @var{place} argument of @code{setf}: +The following Lisp forms are the forms in Emacs that will work as +generalized variables, and so may appear in the @var{place} argument +of @code{setf}: @itemize @item -A symbol naming a variable. In other words, @code{(setf x y)} is -exactly equivalent to @code{(setq x y)}, and @code{setq} itself is -strictly speaking redundant given that @code{setf} exists. Many -programmers continue to prefer @code{setq} for setting simple -variables, though, purely for stylistic or historical reasons. -The macro @code{(setf x y)} actually expands to @code{(setq x y)}, -so there is no performance penalty for using it in compiled code. +A symbol. In other words, @code{(setf x y)} is exactly equivalent to +@code{(setq x y)}, and @code{setq} itself is strictly speaking +redundant given that @code{setf} exists. Most programmers will +continue to prefer @code{setq} for setting simple variables, though, +for stylistic and historical reasons. The macro @code{(setf x y)} +actually expands to @code{(setq x y)}, so there is no performance +penalty for using it in compiled code. @item A call to any of the following standard Lisp functions: > Thanks. -- Alan Mackenzie (Nuremberg, Germany). From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 21 02:17:16 2018 Received: (at 30241) by debbugs.gnu.org; 21 Mar 2018 06:17:16 +0000 Received: from localhost ([127.0.0.1]:44741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyX3j-0001tf-WB for submit@debbugs.gnu.org; Wed, 21 Mar 2018 02:17:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyX3i-0001tT-HV for 30241@debbugs.gnu.org; Wed, 21 Mar 2018 02:17:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyX3a-0002Cv-3O for 30241@debbugs.gnu.org; Wed, 21 Mar 2018 02:17:09 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyX3Z-0002Cg-Vu; Wed, 21 Mar 2018 02:17:06 -0400 Received: from [176.228.60.248] (port=1593 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eyX3Z-0004FC-EK; Wed, 21 Mar 2018 02:17:05 -0400 Date: Wed, 21 Mar 2018 08:17:19 +0200 Message-Id: <83lgemkl5c.fsf@gnu.org> From: Eli Zaretskii To: Alan Mackenzie In-reply-to: <20180320205131.GB16673@ACM> (message from Alan Mackenzie on Tue, 20 Mar 2018 20:51:31 +0000) Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined. References: <20180124200652.GA4493@ACM> <83h8r8ln7u.fsf@gnu.org> <41654c7c-2d8d-44ec-a5c4-dd12014b7a9e@default> <83o9lfk2sy.fsf@gnu.org> <20180210215841.GB4537@ACM> <83inb31pp0.fsf@gnu.org> <20180320205131.GB16673@ACM> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30241 Cc: 30241@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Tue, 20 Mar 2018 20:51:31 +0000 > Cc: drew.adams@oracle.com, 30241@debbugs.gnu.org > From: Alan Mackenzie > > Maybe there's still a chance to get this doc fix into Emacs 26. What do > you say? Documentation changes are always welcome on the release branch, as they cannot possibly break anything. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 21 14:05:26 2018 Received: (at 30241-done) by debbugs.gnu.org; 21 Mar 2018 18:05:26 +0000 Received: from localhost ([127.0.0.1]:46179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyi74-0005vO-CT for submit@debbugs.gnu.org; Wed, 21 Mar 2018 14:05:26 -0400 Received: from colin.muc.de ([193.149.48.1]:41961 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1eyi72-0005vF-Jh for 30241-done@debbugs.gnu.org; Wed, 21 Mar 2018 14:05:25 -0400 Received: (qmail 55445 invoked by uid 3782); 21 Mar 2018 18:05:23 -0000 Received: from acm.muc.de (p548C793E.dip0.t-ipconnect.de [84.140.121.62]) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 21 Mar 2018 19:05:22 +0100 Received: (qmail 21675 invoked by uid 1000); 21 Mar 2018 17:46:58 -0000 Date: Wed, 21 Mar 2018 17:46:58 +0000 To: 30241-done@debbugs.gnu.org Subject: Re: bug#30241: (Emacs 26.0.91: "Generalized variables" are not defined.) Message-ID: <20180321174658.GA21666@ACM> References: <20180124200652.GA4493@ACM> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.7.2 (2016-11-26) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30241-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Wed, Jan 24, 2018 at 20:15:02 +0000, GNU bug Tracking System wrote: [ .... ] Bug fixed, by enhancing the documentation, in commit 4ab455147069d4b7247ba3aff0da3dba3a671df6. -- Alan Mackenzie (Nuremberg, Germany). From unknown Wed Sep 10 13:55:55 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 19 Apr 2018 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator