From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: `read--expression' and `read-minibuffer' Date: Sun, 4 Sep 2016 08:39:58 -0700 (PDT) Message-ID: <8e6be928-75ae-4714-bf03-d6505954cf21@default> References: <60e5e890-6f50-4f38-a74f-e82ff83b24dc@default> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1473003624 23766 195.159.176.226 (4 Sep 2016 15:40:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 4 Sep 2016 15:40:24 +0000 (UTC) To: Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 04 17:40:18 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bgZWq-0005Mr-L5 for ged-emacs-devel@m.gmane.org; Sun, 04 Sep 2016 17:40:16 +0200 Original-Received: from localhost ([::1]:50246 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgZWo-0003s7-Ec for ged-emacs-devel@m.gmane.org; Sun, 04 Sep 2016 11:40:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49981) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgZWi-0003pv-CO for emacs-devel@gnu.org; Sun, 04 Sep 2016 11:40:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bgZWe-0000an-5B for emacs-devel@gnu.org; Sun, 04 Sep 2016 11:40:07 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:50980) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgZWd-0000ah-TZ for emacs-devel@gnu.org; Sun, 04 Sep 2016 11:40:04 -0400 Original-Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u84Fe1L8026079 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 4 Sep 2016 15:40:02 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0022.oracle.com (8.14.4/8.13.8) with ESMTP id u84Fe13S002226 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 4 Sep 2016 15:40:01 GMT Original-Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id u84FdxBX018661; Sun, 4 Sep 2016 15:40:01 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6753.5000 (x86)] X-Source-IP: userv0022.oracle.com [156.151.31.74] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:207175 Archived-At: > > I don't see why you think that what it reads is limited, or > > could or should be limited, to expressions that can be eval'd. >=20 > Because it is tailored for that use case. The kind of completion > it provides for instance assumes the S-exp is an Elisp expression. Of course it is an Elisp expression. It does not follow that the Elisp expression that has been read will then be _evaluated_. A list such as (2 bookmark-alist) or (forward-char forward-line) is an Elisp exression, and the function and variable names in these can be constructed using completion. Neither list is one that you would then try to evaluate. And even for what you might consider a more typical case, such as expression (previous-single-property-change (point) 'foo), there is nothing that obliges the expression to be evaluated. Completion can be used and useful when constructing an Elisp expression to be read, regardless of whether the expression that is read will be evaluated, or can be evaluated without error. What a Lisp program does with a Lisp expression is up to that program. Zillions of actions are possible, other than just evaluation.