From: Stefan Monnier Date: Mon, 23 Jan 2006 22:04:36 +0000 (+0000) Subject: (ses-read-cell): Provide a default value. X-Git-Tag: emacs-pretest-22.0.90~4608 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1e3b6bec727d28a561c86945a018416dd99fe2e2;p=emacs.git (ses-read-cell): Provide a default value. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bb821cdfcd3..1f65a3bfa90 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-01-23 Stefan Monnier + + * ses.el (ses-read-cell): Provide a default value. + 2006-01-23 Juanma Barranquero * term/w32-win.el (image-library-alist): Add additional names for 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 ;; Maintainer: Jonathan Yavner @@ -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)