[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 0c9abf3: Correct ses-rename-cell cursor-intangible
From: |
Vincent Belaïche |
Subject: |
[Emacs-diffs] master 0c9abf3: Correct ses-rename-cell cursor-intangible text prop updating. |
Date: |
Wed, 30 Dec 2015 23:11:44 +0000 |
branch: master
commit 0c9abf36a4fbc775918c08c1104a64d037280abc
Author: Vincent Belaïche <address@hidden>
Commit: Vincent Belaïche <address@hidden>
Correct ses-rename-cell cursor-intangible text prop updating.
There were two problems:
- First ses-rename-cell has to work when called non interactively
(with non-nil CELL argument), so in this case the start pos of
put-text-property cannot be plainly (point), you need a
ses-goto-print call before
- Second, the range itself was computed erronously, only the first
char was affected instead of the full cell width. This was not
noticeable prior to changes (Deprecate `intangible' and
`point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
* lisp/ses.el (ses-rename-cell): Correct computation of position range
to which the 'cursor-intangible text property has to be set to cell
new name.
---
lisp/ses.el | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/lisp/ses.el b/lisp/ses.el
index 8cbc2e8..3e35fc1 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)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 0c9abf3: Correct ses-rename-cell cursor-intangible text prop updating.,
Vincent Belaïche <=