diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ses.el | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lisp/ses.el b/lisp/ses.el index 8cbc2e80cde..3e35fc10ac6 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -3414,15 +3414,17 @@ highlighted range in the spreadsheet." (setf (ses-cell--symbol cell) new-name) (makunbound sym) (and curcell (setq ses--curcell new-name)) - (let* ((pos (point)) - (inhibit-read-only t) - (col (current-column)) - (end (save-excursion - (move-to-column (1+ col)) - (if (eolp) - (+ pos (ses-col-width col) 1) - (point))))) - (put-text-property pos end 'cursor-intangible new-name)) + (save-excursion + (or curcell (ses-goto-print row col)) + (let* ((pos (point)) + (inhibit-read-only t) + (end (progn + (move-to-column (+ (current-column) (ses-col-width col))) + (if (eolp) + (+ pos (ses-col-width col) 1) + (forward-char) + (point))))) + (put-text-property pos end 'cursor-intangible new-name))) ;; Update the cell name in the mode-line. (force-mode-line-update))) |