I don't think so. I haven't seen this be the case. A simple example like this works as expected I think.
#+BEGIN_SRC emacs-lisp (setq x 4) #+END_SRC #+RESULTS: : 4 #+BEGIN_SRC emacs-lisp (+ x 9) #+END_SRC #+RESULTS: : 13 So far, I have only seen where this makes some new things possible. e.g. This will not work unless evaluated with lexical-binding #+BEGIN_SRC emacs-lisp :results value :lexical yes ;; Graham's alambda (defmacro alambda (parms &rest body) `(cl-labels ((self ,parms ,@body)) #'self)) (setq N (alambda (n) (if (> n 0) (cons n (self (- n 1)))))) (princ (funcall N 3)) #+END_SRC #+RESULTS: | 3 | 2 | 1 | This just provides a different approach to :var I think. #+BEGIN_SRC emacs-lisp :lexical '((x . 23)) (print x) #+END_SRC #+RESULTS: : 23 I would be interested to see any counter examples though, where behavior changes, or stops working. Adam Porter writes: > John Kitchin <jkitc...@andrew.cmu.edu> writes: > > Forgive my ignorance--I haven't really dug into lexical scoping yet--but > what is the basic effect will this change have on elisp code blocks? > Say I'm doing some sort-of literate development and I have some code > blocks that `setq' here and there, setting vars in the Emacs > environment. Will the scope of these vars now be limited to their code > blocks? Would I need to disable lexical scoping? Thanks. -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu