From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.devel Subject: Re: defcustom standard value and byte-compilation Date: Wed, 11 Mar 2015 16:04:06 +0100 Message-ID: <87egovr2xl.fsf@gnu.org> References: <87r3sxukh4.fsf@gnu.org> <8761a8rohr.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1426086265 13800 80.91.229.3 (11 Mar 2015 15:04:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 11 Mar 2015 15:04:25 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 11 16:04:16 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YViBD-0004vG-Pp for ged-emacs-devel@m.gmane.org; Wed, 11 Mar 2015 16:04:15 +0100 Original-Received: from localhost ([::1]:55229 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YViBD-0005pH-7N for ged-emacs-devel@m.gmane.org; Wed, 11 Mar 2015 11:04:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49906) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YViB9-0005p3-RS for emacs-devel@gnu.org; Wed, 11 Mar 2015 11:04:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YViB5-0007mU-Ki for emacs-devel@gnu.org; Wed, 11 Mar 2015 11:04:11 -0400 Original-Received: from deliver.uni-koblenz.de ([141.26.64.15]:39706) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YViB5-0007ls-FM for emacs-devel@gnu.org; Wed, 11 Mar 2015 11:04:07 -0400 Original-Received: from thinkpad-t440p (dhcp27.uni-koblenz.de [141.26.71.27]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by deliver.uni-koblenz.de (Postfix) with ESMTPSA id 432391A84B6; Wed, 11 Mar 2015 16:04:06 +0100 (CET) Mail-Followup-To: Stefan Monnier , emacs-devel@gnu.org In-Reply-To: (Stefan Monnier's message of "Wed, 11 Mar 2015 09:54:39 -0400") User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 141.26.64.15 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:183785 Archived-At: Stefan Monnier writes: >> I don't think this is an option for AUCTeX as it supports Emacs >> versions down to 21.4 and also XEmacs. > > Of course, I think that's a mistake ;-) I'd have no problems cutting support for emacs <23 or even <24, but cutting support for XEmacs is something which I'd prefer not to do without extremely good reasons although that would make life much more easy. >> And several parts make use of the dynamic binding of locals. :-( > > That's no problem, lexical-binding supports dynamically scoped > variables as well (you just have to declare them beforehand via > (defvar )). Yes, I know. But having non-prefixed (defvar name) etc just looks so damn wrong. >> But customize shows the value of the expression, not the expression >> itself. > > IIRC there's a way to get the expression rather than the value. At least I couldn't find one in the customize UI but maybe you're right. >> Ok, but couldn't the standard form be at least macroexpanded? That >> shouldn't cause any harm and would take care of the typical use-case >> where one uses macros of a package which might not be available at >> load-time. > > Changing the defcustom behavior in Emacs-25.1 to be the same in > dynamic-binding than with lexical-binding wouldn't help you with > XEmacs and Emacs-21.4. No, sure. And macroexpanding in dynamic-binding wouldn't make it the same with byte-compilation in lexical-binding. But still it would eliminate the (void-function some-macro) error at load-time. There's also an issue from 2011 about the very same thing: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=9712 But I can also see the good thing about the current behavior. It consistently fails on all Emacs/XEmacs versions (if dynamic-binding is in use and not something else loaded, e.g., cl, before the file in question). Bye, Tassilo