From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: Why is `C-M-x' only for top-level defuns? Date: Thu, 12 Jan 2012 07:29:19 -0800 Message-ID: <5EE4D15C6F794FFD809CEC03AC1C14A1@us.oracle.com> References: <87zkdtdbk1.fsf@mail.jurta.org> <4F0E4835.1030106@dancol.org><5115ABD13D084717AA639D79BCCE9753@us.oracle.com> <87fwflsa3r.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1326382179 2286 80.91.229.12 (12 Jan 2012 15:29:39 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 12 Jan 2012 15:29:39 +0000 (UTC) To: "'Thierry Volpiatto'" , Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 12 16:29:35 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RlMas-0000pp-6h for ged-emacs-devel@m.gmane.org; Thu, 12 Jan 2012 16:29:34 +0100 Original-Received: from localhost ([::1]:37619 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlMar-0004V0-P2 for ged-emacs-devel@m.gmane.org; Thu, 12 Jan 2012 10:29:33 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:53626) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlMam-0004Uq-BE for emacs-devel@gnu.org; Thu, 12 Jan 2012 10:29:32 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RlMal-0004TJ-1z for emacs-devel@gnu.org; Thu, 12 Jan 2012 10:29:28 -0500 Original-Received: from rcsinet15.oracle.com ([148.87.113.117]:54130) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlMak-0004TF-P3 for emacs-devel@gnu.org; Thu, 12 Jan 2012 10:29:27 -0500 Original-Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by rcsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id q0CFTOj0000340 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 12 Jan 2012 15:29:25 GMT Original-Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q0CFTNXj013480 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 12 Jan 2012 15:29:24 GMT Original-Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q0CFTNbt010496; Thu, 12 Jan 2012 09:29:23 -0600 Original-Received: from dradamslap1 (/10.159.35.187) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 12 Jan 2012 07:29:22 -0800 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <87fwflsa3r.fsf@gmail.com> Thread-Index: AczQ9DxZn1ry+iE+RFC9B2qjCc0axQAR4JgQ X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-CT-RefId: str=0001.0A090207.4F0EFC55.0056,ss=1,re=0.000,fgs=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-Received-From: 148.87.113.117 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:147612 Archived-At: > With anything, you can put point in any sexp of a block an eval it. > If needed you can edit it in minibuffer to provide a result. > Here cursor is on the let sexp and i hit `C-u C-:' and then edit it to > have a value for 'a' and 'b'. > > (defun foo (a b) > -!-(let ((c (+ a b))) (+ a b c))) See my earlier message and my reply to Stephen T. 1. The question is not about whether there are handy ways to edit a subexpression and evaluate it. It's about hitting a key to redefine a face or var, regardless of where the face or var definition is (column 0 or not). Mere evaluation does not _redefine_ a face or var - it does nothing to a defface, defcustom, or defvar if the face or var has already been defined. 2. Wrt someone trying to eval (with or without redefinition) a sexp that is incomplete because it depends on stuff outside it (e.g., `a', `b' in your example), sure, you could edit to could complete it. But typically for an incomplete defface, defcustom, or defvar form, the best behavior is to let Emacs complain (error). Typically, asking for its eval/redefinition just represents user error. Anyway, the question I raised is not how we might simplify editing for evaluating a subform. It's about having a key that redefines faces and variables.