From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kelly Dean Newsgroups: gmane.emacs.devel Subject: Rant - Elisp terminology is deceptive Date: Fri, 23 Jan 2015 02:59:12 +0000 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1421982040 4211 80.91.229.3 (23 Jan 2015 03:00:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 23 Jan 2015 03:00:40 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 23 04:00:39 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 1YEUU9-0005Go-9u for ged-emacs-devel@m.gmane.org; Fri, 23 Jan 2015 04:00:37 +0100 Original-Received: from localhost ([::1]:56869 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YEUU8-0000IM-Pc for ged-emacs-devel@m.gmane.org; Thu, 22 Jan 2015 22:00:36 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59092) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YEUU3-0000HC-Dr for emacs-devel@gnu.org; Thu, 22 Jan 2015 22:00:32 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YEUTv-0005uh-0K for emacs-devel@gnu.org; Thu, 22 Jan 2015 22:00:31 -0500 Original-Received: from relay3-d.mail.gandi.net ([2001:4b98:c:538::195]:51157) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YEUTu-0005uH-Ps for emacs-devel@gnu.org; Thu, 22 Jan 2015 22:00:22 -0500 Original-Received: from mfilter25-d.gandi.net (mfilter25-d.gandi.net [217.70.178.153]) by relay3-d.mail.gandi.net (Postfix) with ESMTP id 92BBEA80B9 for ; Fri, 23 Jan 2015 04:00:21 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter25-d.gandi.net Original-Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by mfilter25-d.gandi.net (mfilter25-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id XLnsnHcKGcWR for ; Fri, 23 Jan 2015 04:00:20 +0100 (CET) X-Originating-IP: 66.220.3.179 Original-Received: from localhost (unknown [66.220.3.179]) (Authenticated sender: kelly@prtime.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 088DDA80AB for ; Fri, 23 Jan 2015 04:00:18 +0100 (CET) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4b98:c:538::195 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:181646 Archived-At: I wasted an hour today re-discovering the fact that (eval (car (get 'foo = 'standard-value))), not (default-value 'foo), returns the default value o= f 'foo. I learned this lesson before, but the word =E2=80=9Fdefault=E2=80= =9D is so suggestive of meaning =C2=ABdefault=C2=BB that I forgot that it= doesn't actually mean =C2=ABdefault=C2=BB in Emacs. I even remembered se= tq-default, but cognitive dissonance from the absurdity of its name preve= nted me from remembering that default-value has the same problem. For the value of a symbol in the global context, how about using the word= =E2=80=9Fglobal=E2=80=9D? Ask any normal English-speaker for an antonym of =E2=80=9Flocal=E2=80=9D.= He won't say =E2=80=9Fdefault=E2=80=9D. He'll say =E2=80=9Fremote=E2=80=9D= or =E2=80=9Fglobal=E2=80=9D or some such. Ask him for an antonym of =E2=80=9Fdefault=E2=80=9D. He won't say =E2=80=9F= local=E2=80=9D. He'll say =E2=80=9Fnon-standard=E2=80=9D or =E2=80=9Fcust= omized=E2=80=9D or some such. Inflict Emacs upon him for a few months, then ask him what's the differen= ce between a =E2=80=9Fstandard value=E2=80=9D and a =E2=80=9Fdefault valu= e=E2=80=9D. He won't know. Even after writing a thousand lines of Elisp. Tell him that the default value of shift-select-mode is t. Then do (setq = shift-select-mode nil), and ask him what the default value is. He'll say = =E2=80=9Ft=E2=80=9D, not =E2=80=9Fnil=E2=80=9D. Ask him what changed, and= he'll say shift-select-mode is no longer set to the default value. Then = show him what (default-value shift-select-mode) returns, and he'll tell y= ou it must be a bug. Since =E2=80=9Fdefault=E2=80=9D is already misused to mean =C2=ABglobal=C2= =BB, it can't be changed to mean =C2=ABstandard=C2=BB, since that would c= ause even more confusion. =E2=80=9FStandard=E2=80=9D can stay the way it = is. =E2=80=9FBuffer-local=E2=80=9D can too. But please stop using the wor= d =E2=80=9Fdefault=E2=80=9D for =C2=ABglobal=C2=BB; use =E2=80=9Fglobal=E2= =80=9D. There's already precedence in Emacs: describe-variable calls it =E2= =80=9Fglobal=E2=80=9D.