diff options
| author | Vincent Belaïche | 2014-07-21 19:53:38 +0200 |
|---|---|---|
| committer | Vincent Belaïche | 2014-07-21 19:53:38 +0200 |
| commit | da8b9ab0d89e7724e7d7ee9468d6f1e83ab6a053 (patch) | |
| tree | 7c23a60eb7853886bfe53a642f58642e7d50c214 | |
| parent | 780c294f37fc0132aeab5d7ee6ecf4152ebb7215 (diff) | |
| download | emacs-da8b9ab0d89e7724e7d7ee9468d6f1e83ab6a053.tar.gz emacs-da8b9ab0d89e7724e7d7ee9468d6f1e83ab6a053.zip | |
Correct ses-truncate-cell bug implied by setting ses.el in lexical binding: row and col had been erronously made unbound.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/ses.el | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1c557c91602..8a916a7f110 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-07-21 Vincent Belaïche <vincentb1@users.sourceforge.net> | ||
| 2 | |||
| 3 | * ses.el (ses-truncate-cell): Use cl-progv instead of eval in | ||
| 4 | order to ensure that row and col are lexically bound inside the | ||
| 5 | evaluated sexp. | ||
| 6 | |||
| 1 | 2014-07-21 Glenn Morris <rgm@gnu.org> | 7 | 2014-07-21 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * progmodes/hideif.el (hide-ifdef-mode-submap): | 9 | * progmodes/hideif.el (hide-ifdef-mode-submap): |
diff --git a/lisp/ses.el b/lisp/ses.el index a4f5609575d..bfe021f5300 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -2252,8 +2252,10 @@ to are recalculated first." | |||
| 2252 | (eq (ses-cell-value row (1+ col)) '*skip*)) | 2252 | (eq (ses-cell-value row (1+ col)) '*skip*)) |
| 2253 | ;; This cell has spill-over. We'll momentarily pretend the following cell | 2253 | ;; This cell has spill-over. We'll momentarily pretend the following cell |
| 2254 | ;; has a `t' in it. | 2254 | ;; has a `t' in it. |
| 2255 | (eval `(let ((,(ses-cell-symbol row (1+ col)) t)) | 2255 | (cl-progv |
| 2256 | (ses-print-cell row col))) | 2256 | (list (ses-cell-symbol row (1+ col))) |
| 2257 | '(t) | ||
| 2258 | (ses-print-cell row col)) | ||
| 2257 | ;; Now remove the *skip*. ses-print-cell is always nil here. | 2259 | ;; Now remove the *skip*. ses-print-cell is always nil here. |
| 2258 | (ses-set-cell row (1+ col) 'value nil) | 2260 | (ses-set-cell row (1+ col) 'value nil) |
| 2259 | (1value (ses-print-cell row (1+ col)))))) | 2261 | (1value (ses-print-cell row (1+ col)))))) |