() 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. -- Thien-Thi Nguyen GPG key: 4C807502 (if you're human and you know it) read my lisp: (responsep (questions 'technical) (not (via 'mailing-list))) => nil