summaryrefslogtreecommitdiff
path: root/lisp/ses.el
diff options
context:
space:
mode:
authorVincent Belaïche <vincentb1@users.sourceforge.net>2014-10-25 01:02:25 +0200
committerVincent Belaïche <vincentb1@users.sourceforge.net>2014-10-25 01:02:25 +0200
commitb5dc75aed71ecb2310a6689e2f7082243aa7e4ab (patch)
tree9ad2eec33d866431a581a8b6533f75c1ce1fda7f /lisp/ses.el
parentac6839a839e08749669e2f25873ac911afbfe42c (diff)
downloademacs-b5dc75aed71ecb2310a6689e2f7082243aa7e4ab.tar.gz
emacs-b5dc75aed71ecb2310a6689e2f7082243aa7e4ab.tar.bz2
emacs-b5dc75aed71ecb2310a6689e2f7082243aa7e4ab.zip
* ses.el (macroexp): add require for this package, so that function
`ses--cell gets macroexp-quote. (ses--cell): makes formula a macroexp-quote of value when formula is nil. The rationale of this changr is to allow in the future shorter SES files, e.g. we could have only `(ses-cell A1 1.0)' instead of `(ses-cell A1 1.0 1.0 nil REFLIST)'. In such a case reference list REFLIST would be re-computed after load --- thus trading off load time against file size. * emacs-lisp/package.el (package--alist-to-plist-args): use macroexp-quote instead of a lambda expression which has the same content as macroexp-quote. (macroexp): add require for this package, so that function `package--alist-to-plist-args' gets macroexp-quote. * emacs-lisp/macroexp.el (macroexp-quote): new defun.
Diffstat (limited to 'lisp/ses.el')
-rw-r--r--lisp/ses.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/ses.el b/lisp/ses.el
index 541c1e19769..09001fdb358 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -491,7 +491,8 @@ Safety-checking for FORMULA and PRINTER are deferred until first use."
(let ((rowcol (ses-sym-rowcol sym)))
(ses-formula-record formula)
(ses-printer-record printer)
- (unless formula (setq formula value))
+ (unless (or formula (eq formula '*skip*))
+ (setq formula (macroexp-quote value)))
(or (atom formula)
(eq safe-functions t)
(setq formula `(ses-safe-formula ,formula)))