From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Pascal J. Bourguignon" Newsgroups: gmane.emacs.help Subject: Re: Real-life examples of lexical binding in Emacs Lisp Date: Sun, 14 Jun 2015 13:31:05 +0200 Organization: Informatimago Message-ID: <87k2v6wmpy.fsf@kuiper.lan.informatimago.com> References: <87bnh3eqiv.fsf@mbork.pl> <874mmuxyd5.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1434281724 14639 80.91.229.3 (14 Jun 2015 11:35:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 14 Jun 2015 11:35:24 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Jun 14 13:35:23 2015 Return-path: Envelope-to: geh-help-gnu-emacs@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 1Z46CB-0001R7-DO for geh-help-gnu-emacs@m.gmane.org; Sun, 14 Jun 2015 13:35:23 +0200 Original-Received: from localhost ([::1]:58290 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z46CA-0006tf-MY for geh-help-gnu-emacs@m.gmane.org; Sun, 14 Jun 2015 07:35:22 -0400 Original-Path: usenet.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 58 Original-X-Trace: individual.net I9FK5mUvs35RlnlV0P1cAw0KE/HXIbebjp54xChaMvjjks0mbp Cancel-Lock: sha1:MGVmZTJjMGNjODY0OGE4ZDg3ODBlNWI3NTBkZWRmYTc2OWI0ZDBkOA== sha1:3n7lISrJj+2hofWiQhasH9sQQGc= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Original-Xref: usenet.stanford.edu gnu.emacs.help:212636 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:104920 Archived-At: Marcin Borkowski writes: > Exactly. What I'm curious is how lexical scoping might make some tasks > *connected to editing* easier/more natural. It depends what you mean by "editing". Until a few decades ago, editing was performed using red pens, paper, scissors, glue. Then, lexical scoping was totally useless. Nowdays, editing is performed by software programs. Writing programs is easier and more natural with lexical scoping, IN GENERAL! Therefore, it is easier and mode natural IN PARTICULAR, to write editing programs. Writing programs in general is not *connected to editing*. But writing editor programs in particular is particularly *connected to editing*, even if programming has nothing to do with editing at all, ever. Actually, the programming activity has never anything to do with the application domain! When programming a four legged robot running across fields and parkings, the programmer DOES NOT run across fields and parkings, on his four. I repeat, this is very important: when programming a four legged robot running across fields and parkings, the programmer DOES NOT run across fields and parkings, on his four. No, what the programmer does, is sit on his ass, think, and type a program into a computer, using a keyboard. Now with editing, there may be some understandable confusion, since the programmer will actually use an editor to edit his program, notably when writing an editing program. But you must distinguish the editor being used to write the program from the editor program being written! For example, you could use ed to edit the emacs editor program. The fact that you will be happier and write a better emacs editor program using lexical scoping has NOTHING to do with how the ed editor edits your editor program! Just like you don't run in the fields when you write a robot that runs in the fields. -- __Pascal Bourguignon__ http://www.informatimago.com/ “The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.” -- Carl Bass CEO Autodesk