summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/byte-run.el
diff options
context:
space:
mode:
authorVincent Belaïche <vincentb1@users.sourceforge.net>2016-01-29 12:22:30 +0100
committerVincent Belaïche <vincentb1@users.sourceforge.net>2016-01-29 12:25:34 +0100
commit9421b948101689675293a0827ca86321888af83a (patch)
treea1144e2b7dba6a089686095504d3004202181336 /lisp/emacs-lisp/byte-run.el
parentf524e8b7f12d9b5a8b92084e5385429fe7b085b9 (diff)
downloademacs-9421b948101689675293a0827ca86321888af83a.tar.gz
emacs-9421b948101689675293a0827ca86321888af83a.tar.bz2
emacs-9421b948101689675293a0827ca86321888af83a.zip
Correct a whole bunch of bugs coming with renamed cell relocation.
This is the same change as commit on master branch. See http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=badcd38aa86ed7973f2be2743c405710973a0bdd * lisp/ses.el (ses-localvars): rename variable `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list' and adjust the comment about it. (ses-plist-delq): new defun. (ses--ses-buffer-list): new defvar. (ses--unbind-cell-name): new defun. (ses-relocate-symbol): Do not relocate symbol when it is a named cell. (ses-relocate-formula): Undo change of 2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was preventing relocation for named cell --- now doing this is delegated to function `ses-relocate-symbol'. (ses-relocate-range): In docstring, undo change of 2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain lower case as it is not a variable. (ses-relocate-all): Cell name relocation : 1) check that cell is a renamed cell by testing `ses-cell' property to :ses-named, rather than comparing name to corresponding standard name. Set rowcol of renamed cell into the hashmap --- `ses-cell' property must not be used for that as the same name can be used for different locations in different SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and `local-variable-p' to check if cell name is already in use in this sheet or needs initialisation. (ses-relocate-all): Cell value relocation : 1) like for name relocation use the `ses-cell' property rather than comparing actual name to corresponding standard name. 2) Correct bug introduced in 2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was made the other way round than the intention --- ie value relocation was disabled for standard cell, not for renamed cell as was the intention. (ses-relocate-all): Add loop for unbinding deleted renamed cells names. (ses-killbuffer-hook): new defun. (ses-mode): Add the ses--ses-buffer-list maintenance mechanism --- kill buffer hook, plus pushing current buffer if new in list. (ses-delete-row, ses-delete-column): Collect deleted renamed cells into `ses--in-killing-named-cell-list'. (ses-rename-cell): Remove update of variable `ses--renamed-cell-symb-list', this variable is renamed to `ses--in-killing-named-cell-list', and its setting is done in functions `ses-delete-row' and , `ses-delete-column' now. (ses-rename-cell): Make cell new name a buffer local variable. (ses-rename-cell): Change correction of 2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning computation of the range over which `cursor-intangible' property was to be updated. This correction was ok for non spilling cells, but not for cells spilling over following blank cells. Simply use `next-single-property-change' rather than computing the end column from column widths.
Diffstat (limited to 'lisp/emacs-lisp/byte-run.el')
0 files changed, 0 insertions, 0 deletions