[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/calc/calc-prog.el
From: |
Jay Belanger |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/calc/calc-prog.el |
Date: |
Wed, 29 Dec 2004 00:10:52 -0500 |
Index: emacs/lisp/calc/calc-prog.el
diff -c emacs/lisp/calc/calc-prog.el:1.13 emacs/lisp/calc/calc-prog.el:1.14
*** emacs/lisp/calc/calc-prog.el:1.13 Wed Dec 29 04:04:09 2004
--- emacs/lisp/calc/calc-prog.el Wed Dec 29 04:58:24 2004
***************
*** 170,176 ****
(arglist nil)
(is-lambda (and (eq (car-safe form) 'calcFunc-lambda)
(>= (length form) 2)))
! odef key keyname cmd cmd-base func calc-user-formula-alist is-symb)
(if is-lambda
(setq arglist (mapcar (function (lambda (x) (nth 1 x)))
(nreverse (cdr (reverse (cdr form)))))
--- 170,177 ----
(arglist nil)
(is-lambda (and (eq (car-safe form) 'calcFunc-lambda)
(>= (length form) 2)))
! odef key keyname cmd cmd-base cmd-base-default
! func calc-user-formula-alist is-symb)
(if is-lambda
(setq arglist (mapcar (function (lambda (x) (nth 1 x)))
(nreverse (cdr (reverse (cdr form)))))
***************
*** 189,206 ****
(char-to-string key)
(format "%03d" key)))
odef (assq key (calc-user-key-map)))
(while
(progn
! (setq cmd (completing-read "Define M-x command name: "
! obarray 'commandp nil
! (if (and odef (symbolp (cdr odef)))
! (symbol-name (cdr odef))
! "calc-"))
! cmd-base (and (string-match "\\`calc-\\(.+\\)\\'" cmd)
! (math-match-substring cmd 1))
! cmd (and (not (or (string-equal cmd "")
! (string-equal cmd "calc-")))
! (intern cmd)))
(and cmd
(fboundp cmd)
odef
--- 190,214 ----
(char-to-string key)
(format "%03d" key)))
odef (assq key (calc-user-key-map)))
+ (unless keyname
+ (setq keyname (format "%05d" (abs (% (random) 10000)))))
(while
(progn
! (setq cmd-base-default (concat "User-" keyname))
! (setq cmd (completing-read
! (concat "Define M-x command name (default: calc-"
! cmd-base-default
! "): ")
! obarray 'commandp nil
! (if (and odef (symbolp (cdr odef)))
! (symbol-name (cdr odef))
! "calc-")))
! (if (or (string-equal cmd "")
! (string-equal cmd "calc-"))
! (setq cmd (concat "calc-User-" keyname)))
! (setq cmd-base (and (string-match "\\`calc-\\(.+\\)\\'" cmd)
! (math-match-substring cmd 1)))
! (setq cmd (intern cmd))
(and cmd
(fboundp cmd)
odef
***************
*** 210,239 ****
(concat "Replace previous definition for "
(symbol-name cmd) "? ")
"That name conflicts with a built-in Emacs function.
Replace this function? "))))))
- (if (and key (not cmd))
- (setq cmd (intern (concat "calc-User-" keyname))))
(while
(progn
(setq func
(concat "calcFunc-"
! (completing-read "Define algebraic function name: "
! (mapcar (lambda (x) (substring x 9))
! (all-completions "calcFunc-"
! obarray))
! (lambda (x)
! (fboundp
! (intern (concat "calcFunc-" x))))
! nil
! (if cmd-base
! (if (string-match
! "\\`User-.+" cmd-base)
! (concat
! "User"
! (substring cmd-base 5))
! cmd-base)
! "")))
! func (and (not (string-equal func "calcFunc-"))
! (intern func)))
(and func
(fboundp func)
(not (fboundp cmd))
--- 218,250 ----
(concat "Replace previous definition for "
(symbol-name cmd) "? ")
"That name conflicts with a built-in Emacs function.
Replace this function? "))))))
(while
(progn
+ (setq cmd-base-default
+ (if cmd-base
+ (if (string-match
+ "\\`User-.+" cmd-base)
+ (concat
+ "User"
+ (substring cmd-base 5))
+ cmd-base)
+ (concat "User" keyname)))
(setq func
(concat "calcFunc-"
! (completing-read
! (concat "Define algebraic function name (default: "
! cmd-base-default "): ")
! (mapcar (lambda (x) (substring x 9))
! (all-completions "calcFunc-"
! obarray))
! (lambda (x)
! (fboundp
! (intern (concat "calcFunc-" x))))
! nil)))
! (setq func
! (if (string-equal func "calcFunc-")
! (intern (concat "calcFunc-" cmd-base-default))
! (intern func)))
(and func
(fboundp func)
(not (fboundp cmd))
***************
*** 244,254 ****
--- 255,267 ----
(concat "Replace previous definition for "
(symbol-name func) "? ")
"That name conflicts with a built-in Emacs function.
Replace this function? "))))))
+
(if (not func)
(setq func (intern (concat "calcFunc-User"
(or keyname
(and cmd (symbol-name cmd))
(format "%05d" (% (random) 10000)))))))
+
(if is-lambda
(setq calc-user-formula-alist arglist)
(while