diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2006-01-23 22:04:36 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2006-01-23 22:04:36 +0000 |
commit | 1e3b6bec727d28a561c86945a018416dd99fe2e2 (patch) | |
tree | 0dfc6ae7caa85d62ce64fdcc7037ae87435c667d /lisp/ses.el | |
parent | 9dd28cae262b1f6d18244592175aae01364432b3 (diff) | |
download | emacs-1e3b6bec727d28a561c86945a018416dd99fe2e2.tar.gz |
(ses-read-cell): Provide a default value.
Diffstat (limited to 'lisp/ses.el')
-rw-r--r-- | lisp/ses.el | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/lisp/ses.el b/lisp/ses.el index 4c959c015a7..debb22d84db 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -1,6 +1,6 @@ ;;; ses.el -- Simple Emacs Spreadsheet -*- coding: utf-8 -*- -;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Jonathan Yavner <jyavner@member.fsf.org> ;; Maintainer: Jonathan Yavner <jyavner@member.fsf.org> @@ -148,8 +148,7 @@ Each function is called with ARG=1." (newmap (make-sparse-keymap))) (set-keymap-parent newmap minibuffer-local-map) (while keys - (define-key newmap (car keys) (cadr keys)) - (setq keys (cddr keys))) + (define-key newmap (pop keys) (pop keys))) newmap) "Local keymap for SES minibuffer cell-editing.") @@ -1865,20 +1864,20 @@ cell formula was unsafe and user declined confirmation." (defun ses-read-cell (row col newval) "Self-insert for initial character of cell function." (interactive - (let ((initial (this-command-keys)) - (rowcol (progn (ses-check-curcell) (ses-sym-rowcol ses--curcell)))) + (let* ((initial (this-command-keys)) + (rowcol (progn (ses-check-curcell) (ses-sym-rowcol ses--curcell))) + (curval (ses-cell-formula (car rowcol) (cdr rowcol)))) (barf-if-buffer-read-only) - (if (string= initial "\"") - (setq initial "\"\"") ;Enter a string - (if (string= initial "(") - (setq initial "()"))) ;Enter a formula list (list (car rowcol) (cdr rowcol) - (read-from-minibuffer (format "Cell %s: " ses--curcell) - (cons initial 2) - ses-mode-edit-map - t ;Convert to Lisp object - 'ses-read-cell-history)))) + (read-from-minibuffer + (format "Cell %s: " ses--curcell) + (cons (if (equal initial "\"") "\"\"" + (if (equal initial "(") "()" initial)) 2) + ses-mode-edit-map + t ;Convert to Lisp object + 'ses-read-cell-history + (prin1-to-string curval))))) (when (ses-edit-cell row col newval) (ses-command-hook) ;Update cell widths before movement (dolist (x ses-after-entry-functions) |