From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: Lexical let and setq Date: Sat, 14 Sep 2013 13:13:32 +0200 Organization: Programmerer Ingebrigtsen Message-ID: References: <871u51ll93.fsf@yandex.ru> <0b29ebee-8ed4-47e2-816b-910a013a0898@default> <878uz0e02m.fsf_-_@maru2.md5i.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1379157242 8623 80.91.229.3 (14 Sep 2013 11:14:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 Sep 2013 11:14:02 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 14 13:14:04 2013 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 1VKnnf-0003xw-Aw for ged-emacs-devel@m.gmane.org; Sat, 14 Sep 2013 13:14:03 +0200 Original-Received: from localhost ([::1]:52762 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKnnb-0002Ap-RR for ged-emacs-devel@m.gmane.org; Sat, 14 Sep 2013 07:13:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36435) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKnnS-0002Af-JN for emacs-devel@gnu.org; Sat, 14 Sep 2013 07:13:56 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKnnM-0007Yk-Lb for emacs-devel@gnu.org; Sat, 14 Sep 2013 07:13:50 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:33606) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKnnM-0007Yd-El for emacs-devel@gnu.org; Sat, 14 Sep 2013 07:13:44 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VKnnK-0003Xl-IM for emacs-devel@gnu.org; Sat, 14 Sep 2013 13:13:42 +0200 Original-Received: from cm-84.215.51.58.getinternet.no ([84.215.51.58]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 14 Sep 2013 13:13:42 +0200 Original-Received: from larsi by cm-84.215.51.58.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 14 Sep 2013 13:13:42 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 33 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.51.58.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVlUVYiGiCRiYnU0MO6 tavb2MvKxrrTUagmAAACbElEQVQ4jW2Uy5LbIBBFW9g1a3Aqe4RVXidpobUGYX1AFLTOCFn//wm5 jeR5VIWNTR/6AX1bFNz7sqQ+/V+3fYVmzLxFN8pmjYHabYvYhJET88RdHFgMgTociNs6etg9p9QF nD9AHNfmMS3OXcFSCbADRBxbbYy5sp/StMZ8gBhv3BLAS0as1MahE/BIf2LmVlNljL4CzHFICSCn FJk7TeLzvYD7Dua0Ze5qItLVN4C0pTRJDr94z9wDuNeTAN+muSS/MdYqLiQ5ECyXqtZRQHFR9wKm dQf5CVQT/wPanlTcQepGAXsk5l/kYvTicIDhCRQ88h7rK3Cuic8kAEcK9KJ17gv4cRG75y7Yzx7t 8nopdv9bucaNO2gDLb2u0QiUG/AmrpSFpw/UE1rk6Mp/iSw1MfsnqPDgzowOdutuby+DhOoAlDyr UvhRrjrXBSQBF1KhIWfhUhklAIroFurPpHrtHHUWvVXmfJ1QIpdQujdk9AqFvqLiqy93QlVGB6NR qbX6zbjzbYImN6nKyPnB4Tr6p6lfsoBuB4jN1kjhpjqJhrk9gHZDbRxKqMxJUguQWgy5USRKCkDs zxy2CVESWQzO3p1RPLSpqFmNNspemr05ol1bS4gtIFJldKWvRRjbkUPhPJJA2LqoTwanr6UqU1av tT1BlPEGsJZrFDsxNieeY5TBWfdQ5lIZFLScOT0BAjW4niWA5L1P8zjugPQ91xqOj12f6ZHLqDXT lkJo0JEDzCL5RWYQvb+nj9X5HUCCPIcP+5zRWhk1mW18Kd7Bxpy9jBqXBmwHmWBnyGehSeYhTfJl SWjplsuzd8s/7HDz/FTBYVIAAAAASUVORK5CYII= Mail-Copies-To: never X-Now-Playing: =?iso-8859-1?Q?=B5-Ziq's?= _Somerset Avenue Tracks (1992-1995) (2)_: "Ropt" User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:ZYEp5otTUHZfKaahVpZ7OogcgWo= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:163338 Archived-At: Stefan Monnier writes: > That one is OK, since recursion is not supported efficiently. > The problem is when people use the above because they're writing (poor) > C code in Elisp (e.g. they begin their functions with a big let > declaring all the local vars that they may use later on in the > function). I think the most common reason for stashing a lot of variables in a let is to avoid infinite indentation. (let ((a (foo))) (something) (let ((b (something-else))) (more a b) (let ((c (yet-more))) (zot a b c)))) vs (let ((a (foo)) b c) (something) (setq b (something-else)) (more a b) (setq c (yet-more)) (zot a b c)) I kinda think the latter form is sometimes more readable. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen