]> git.eshelyaron.com Git - emacs.git/commitdiff
Correct ses-truncate-cell bug implied by setting ses.el in lexical binding: row and...
authorVincent Belaïche <vincentb1@users.sourceforge.net>
Mon, 21 Jul 2014 17:53:38 +0000 (19:53 +0200)
committerVincent Belaïche <vincentb1@users.sourceforge.net>
Mon, 21 Jul 2014 17:53:38 +0000 (19:53 +0200)
lisp/ChangeLog
lisp/ses.el

index 1c557c91602451f57900b83ada63594bf0e8685d..8a916a7f11025d44bf9a503e93be69f77862b3cb 100644 (file)
@@ -1,3 +1,9 @@
+2014-07-21  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       * ses.el (ses-truncate-cell): Use cl-progv instead of eval in
+       order to ensure that row and col are lexically bound inside the
+       evaluated sexp.
+
 2014-07-21  Glenn Morris  <rgm@gnu.org>
 
        * progmodes/hideif.el (hide-ifdef-mode-submap):
index a4f5609575d38baee5a684b25425a6e99d90c837..bfe021f5300a7120cd977898b3e35b6931d61a73 100644 (file)
@@ -2252,8 +2252,10 @@ to are recalculated first."
               (eq (ses-cell-value row (1+ col)) '*skip*))
       ;; This cell has spill-over.  We'll momentarily pretend the following cell
       ;; has a `t' in it.
-      (eval `(let ((,(ses-cell-symbol row (1+ col)) t))
-              (ses-print-cell row col)))
+      (cl-progv
+         (list (ses-cell-symbol row (1+ col)))
+         '(t)
+              (ses-print-cell row col))
       ;; Now remove the *skip*.  ses-print-cell is always nil here.
       (ses-set-cell row (1+ col) 'value nil)
       (1value (ses-print-cell row (1+ col))))))