diff options
author | Vincent Belaïche <vincentb1@users.sourceforge.net> | 2017-03-20 22:42:00 +0100 |
---|---|---|
committer | Vincent Belaïche <vincentb1@users.sourceforge.net> | 2017-03-20 22:42:00 +0100 |
commit | 205223f4725864e1fb53df5cd12694d0bc89f7d0 (patch) | |
tree | f99bdb513f594b16a4e6b1e2145d7d8a6ede54ea /lisp/ses.el | |
parent | 3c4ec7e1d2fd0197c5fcadac7dd35414b7be72cb (diff) | |
download | emacs-205223f4725864e1fb53df5cd12694d0bc89f7d0.tar.gz |
Solve ses-recalculate-cell updating only current line bug.
* lisp/ses.el (ses-recalculate-cell): Add optional argument
ses--curcell to avoid overwriting ses--curcell when function is
called from ses-recalculate-all. Update docstring accordingly.
(ses-recalculate-all): Call ses-recalculate-cell with argument
ses--curcell to avoid its overwriting.
Diffstat (limited to 'lisp/ses.el')
-rw-r--r-- | lisp/ses.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/ses.el b/lisp/ses.el index 76d4ca577d7..50507132346 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -1,4 +1,3 @@ - ;;; ses.el -- Simple Emacs Spreadsheet -*- lexical-binding:t -*- ;; Copyright (C) 2002-2017 Free Software Foundation, Inc. @@ -2273,15 +2272,19 @@ print area if NONARROW is nil." ;; (defvar maxrow) ;; (defvar maxcol) -(defun ses-recalculate-cell () +(defun ses-recalculate-cell (&optional ses--curcell) "Recalculate and reprint the current cell or range. +If SES--CURCELL is non nil use it as current cell or range +without any check, otherwise fnuction (ses-check-curcell 'range) +is called. + For an individual cell, shows the error if the formula or printer signals one, or otherwise shows the cell's complete value. For a range, the cells are recalculated in \"natural\" order, so cells that other cells refer to are recalculated first." (interactive "*") - (ses-check-curcell 'range) + (or ses--curcell (ses-check-curcell 'range)) (ses-begin-change) (ses-initialize-Dijkstra-attempt) (let (sig cur-rowcol) @@ -2334,7 +2337,7 @@ to are recalculated first." (let ((startcell (ses--cell-at-pos (point))) (ses--curcell (cons 'A1 (ses-cell-symbol (1- ses--numrows) (1- ses--numcols))))) - (ses-recalculate-cell) + (ses-recalculate-cell ses--curcell) (ses-jump-safe startcell))) (defun ses-truncate-cell () |