mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-24 07:20:37 +00:00
Make `ses--symbolic-formulas' a safe local variable.
(ses-mode-print-map): Add `c' and `t' (suggested by Gareth Rees). (ses-recalculate-cell): Deal with point being just beyond end of data area (why does this happen?) (ses-set-curcell): Ditto. (ses-column-letter): Handle columns beyond 702. Code written by Gareth Rees.
This commit is contained in:
parent
d88da39af6
commit
4eb3897c84
@ -1,3 +1,14 @@
|
||||
2007-10-25 Jonathan Yavner <jyavner@member.fsf.org>
|
||||
|
||||
* ses.el: Make `ses--symbolic-formulas' a safe local variable.
|
||||
(ses-mode-print-map): Add `c' and `t' (suggested by
|
||||
Gareth Rees).
|
||||
(ses-recalculate-cell): Deal with point being just beyond end of
|
||||
data area (why does this happen?)
|
||||
(ses-set-curcell): Ditto.
|
||||
(ses-column-letter): Handle columns beyond 702. Code written by
|
||||
Gareth Rees.
|
||||
|
||||
2007-10-25 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el: (org-agenda-get-restriction-and-command): Use
|
||||
|
21
lisp/ses.el
21
lisp/ses.el
@ -172,8 +172,10 @@ Each function is called with ARG=1."
|
||||
"\"" ses-read-cell
|
||||
"'" ses-read-symbol
|
||||
"=" ses-edit-cell
|
||||
"c" ses-recalculate-cell
|
||||
"j" ses-jump
|
||||
"p" ses-read-cell-printer
|
||||
"t" ses-truncate-cell
|
||||
"w" ses-set-column-width
|
||||
"x" ses-export-keymap
|
||||
"\M-p" ses-read-column-printer))
|
||||
@ -271,6 +273,9 @@ default printer and then modify its output.")
|
||||
(make-local-variable x)
|
||||
(set x nil)))
|
||||
|
||||
;;;This variable is documented as being permitted in file-locals:
|
||||
(put 'ses--symbolic-formulas 'safe-local-variable 'consp)
|
||||
|
||||
(defconst ses-paramlines-plist
|
||||
'(ses--col-widths -5 ses--col-printers -4 ses--default-printer -3
|
||||
ses--header-row -2 ses--file-format 1 ses--numrows 2
|
||||
@ -507,10 +512,12 @@ for this spreadsheet."
|
||||
(list (symbol-name (cadr formula))))))
|
||||
|
||||
(defun ses-column-letter (col)
|
||||
"Converts a column number to A..Z or AA..ZZ"
|
||||
(if (< col 26)
|
||||
(char-to-string (+ ?A col))
|
||||
(string (+ ?@ (/ col 26)) (+ ?A (% col 26)))))
|
||||
"Return the alphabetic name of column number COL.
|
||||
0-25 become A-Z; 26-701 become AA-ZZ, and so on."
|
||||
(let ((units (char-to-string (+ ?A (% col 26)))))
|
||||
(if (< col 26)
|
||||
units
|
||||
(concat (ses-column-letter (1- (/ col 26))) units))))
|
||||
|
||||
(defun ses-create-cell-symbol (row col)
|
||||
"Produce a symbol that names the cell (ROW,COL). (0,0) => 'A1."
|
||||
@ -738,6 +745,9 @@ region, or nil if cursor is not at a cell."
|
||||
;;Range
|
||||
(let ((bcell (get-text-property (region-beginning) 'intangible))
|
||||
(ecell (get-text-property (1- (region-end)) 'intangible)))
|
||||
(when (= (region-end) ses--data-marker)
|
||||
;;Correct for overflow
|
||||
(setq ecell (get-text-property (- (region-end) 2) 'intangible)))
|
||||
(setq ses--curcell (if (and bcell ecell)
|
||||
(cons bcell ecell)
|
||||
nil))))
|
||||
@ -2328,6 +2338,9 @@ hard to override how mouse-1 works."
|
||||
(defun ses-copy-region (beg end)
|
||||
"Treat the region as rectangular. Convert the intangible attributes to
|
||||
SES attributes recording the contents of the cell as of the time of copying."
|
||||
(when (= end ses--data-marker)
|
||||
;;Avoid overflow situation
|
||||
(setq end (1- ses--data-marker)))
|
||||
(let* ((inhibit-point-motion-hooks t)
|
||||
(x (mapconcat 'ses-copy-region-helper
|
||||
(extract-rectangle beg (1- end)) "\n")))
|
||||
|
Loading…
Reference in New Issue
Block a user