[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r109171: * ses.el (ses-rename-cell):
From: |
Vincent Belaïche |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r109171: * ses.el (ses-rename-cell): Set new name also in reference list of cells of which the renamed cell depends. |
Date: |
Fri, 20 Jul 2012 23:09:04 +0200 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 109171
committer: Vincent Belaïche <address@hidden>
branch nick: trunk
timestamp: Fri 2012-07-20 23:09:04 +0200
message:
* ses.el (ses-rename-cell): Set new name also in reference list of cells of
which the renamed cell depends.
modified:
lisp/ChangeLog
lisp/ses.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-07-20 11:32:30 +0000
+++ b/lisp/ChangeLog 2012-07-20 21:09:04 +0000
@@ -1,3 +1,8 @@
+2012-07-20 Vincent Belaïche <address@hidden>
+
+ * ses.el (ses-rename-cell): Set new name also in reference list of
+ cells of which the renamed cell depends.
+
2012-07-20 Masatake YAMATO <address@hidden>
* term/x-win.el (x-menu-bar-open): Use `frame-parameter'
=== modified file 'lisp/ses.el'
--- a/lisp/ses.el 2012-07-11 23:13:41 +0000
+++ b/lisp/ses.el 2012-07-20 21:09:04 +0000
@@ -3209,17 +3209,28 @@
new-name)))
(error "Already a bound cell name")))
(let* ((rowcol (ses-sym-rowcol ses--curcell))
- (cell (ses-get-cell (car rowcol) (cdr rowcol))))
+ (row (car rowcol))
+ (col (cdr rowcol))
+ (cell (ses-get-cell row col)))
(put new-name 'ses-cell rowcol)
- (dolist (reference (ses-cell-references (car rowcol) (cdr rowcol)))
- (let* ((rowcol (ses-sym-rowcol reference))
- (cell (ses-get-cell (car rowcol) (cdr rowcol))))
+ ;; replace name by new name in formula of cells refering to renamed cell
+ (dolist (ref (ses-cell-references cell))
+ (let* ((x (ses-sym-rowcol ref))
+ (xcell (ses-get-cell (car x) (cdr x))))
(ses-cell-set-formula (car rowcol)
(cdr rowcol)
(ses-replace-name-in-formula
- (ses-cell-formula cell)
+ (ses-cell-formula xcell)
ses--curcell
new-name))))
+ ;; replace name by new name in reference list of cells to which renamed
cell refers to
+ (dolist (ref (ses-formula-references (ses-cell-formula cell)))
+ (let* ((x (ses-sym-rowcol ref))
+ (xrow (car x))
+ (xcol (cdr x)))
+ (ses-set-cell xrow xcol 'references
+ (cons new-name (delq ses--curcell
+ (ses-cell-references xrow xcol))))))
(push new-name ses--renamed-cell-symb-list)
(set new-name (symbol-value ses--curcell))
(aset cell 0 new-name)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r109171: * ses.el (ses-rename-cell): Set new name also in reference list of cells of which the renamed cell depends.,
Vincent Belaïche <=