From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.help Subject: Re: binding question Date: Sun, 06 Oct 2013 22:03:39 +0800 Message-ID: <874n8usdhg.fsf@ericabrahamsen.net> References: <87li267ndp.fsf@ericabrahamsen.net> <87fvse1zb1.fsf@zigzag.favinet> 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 1381068183 2535 80.91.229.3 (6 Oct 2013 14:03:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 6 Oct 2013 14:03:03 +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 Oct 06 16:03:07 2013 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 1VSovK-0003BU-Se for geh-help-gnu-emacs@m.gmane.org; Sun, 06 Oct 2013 16:03:06 +0200 Original-Received: from localhost ([::1]:55343 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VSovK-0007lL-IB for geh-help-gnu-emacs@m.gmane.org; Sun, 06 Oct 2013 10:03:06 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60822) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VSov7-0007lF-EB for help-gnu-emacs@gnu.org; Sun, 06 Oct 2013 10:02:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VSoux-0005MB-UV for help-gnu-emacs@gnu.org; Sun, 06 Oct 2013 10:02:53 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:44525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VSoux-0005Lz-OF for help-gnu-emacs@gnu.org; Sun, 06 Oct 2013 10:02:43 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VSouv-00030r-SO for help-gnu-emacs@gnu.org; Sun, 06 Oct 2013 16:02:41 +0200 Original-Received: from 111.199.226.97 ([111.199.226.97]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 06 Oct 2013 16:02:41 +0200 Original-Received: from eric by 111.199.226.97 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 06 Oct 2013 16:02:41 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 31 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 111.199.226.97 User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:UW3ta5Dr3VxnoNUasejJSFBhK+A= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:93870 Archived-At: Thien-Thi Nguyen writes: > () Eric Abrahamsen > () Sun, 06 Oct 2013 17:35:30 +0800 > > What's the best way of handling this? > > Check out ‘copy-tree’, e.g.: > > (let ((list-template (copy-tree list-template))) > ...) > > See also: > > http://www.emacswiki.org/emacs/ElispCookbook > > which compares ‘copy-sequence’ and ‘copy-tree’ in section "Copying". > > WRT, lexical vs dynamic binding, the code is written to assume dynamic > binding, so you might want to explicitly set ‘lexical-binding’ to nil > somewhere. Thanks very much to both of you! Copying sounds like exactly what I wanted. I was sort of wondering if there was a one-size-fits-all solution that would also work in future lexically-bound environments, but I guess that really would require passing arguments. Thanks again, Eric