[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/calc/calc-aent.el
From: |
Jay Belanger |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/calc/calc-aent.el |
Date: |
Wed, 08 Dec 2004 01:19:54 -0500 |
Index: emacs/lisp/calc/calc-aent.el
diff -c emacs/lisp/calc/calc-aent.el:1.18 emacs/lisp/calc/calc-aent.el:1.19
*** emacs/lisp/calc/calc-aent.el:1.18 Tue Nov 30 16:59:39 2004
--- emacs/lisp/calc/calc-aent.el Wed Dec 8 06:09:20 2004
***************
*** 465,470 ****
--- 465,537 ----
;;; Algebraic expression parsing. [Public]
+ (defvar math-read-replacement-list
+ '(;; Misc symbols
+ ("±" "+/-") ; plus or minus
+ ("Ã" "*") ; multiplication sign
+ ("÷" ":") ; division sign
+ ("â" "-") ; subtraction sign
+ ("â" "/") ; division sign
+ ("â" "*") ; asterisk multiplication
+ ("â" "inf") ; infinity symbol
+ ("â¤" "<=")
+ ("â¥" ">=")
+ ("â¦" "<=")
+ ("â§" ">=")
+ ;; fractions
+ ("¼" "(1:4)") ; 1/4
+ ("½" "(1:2)") ; 1/2
+ ("¾" "(3:4)") ; 3/4
+ ("â
" "(1:3)") ; 1/3
+ ("â
" "(2:3)") ; 2/3
+ ("â
" "(1:5)") ; 1/5
+ ("â
" "(2:5)") ; 2/5
+ ("â
" "(3:5)") ; 3/5
+ ("â
" "(4:5)") ; 4/5
+ ("â
" "(1:6)") ; 1/6
+ ("â
" "(5:6)") ; 5/6
+ ("â
" "(1:8)") ; 1/8
+ ("â
" "(3:8)") ; 3/8
+ ("â
" "(5:8)") ; 5/8
+ ("â
" "(7:8)") ; 7/8
+ ("â
" "1:") ; 1/...
+ ;; superscripts
+ ("â°" "0") ; 0
+ ("¹" "1") ; 1
+ ("²" "2") ; 2
+ ("³" "3") ; 3
+ ("â´" "4") ; 4
+ ("âµ" "5") ; 5
+ ("â¶" "6") ; 6
+ ("â·" "7") ; 7
+ ("â¸" "8") ; 8
+ ("â¹" "9") ; 9
+ ("âº" "+") ; +
+ ("â»" "-") ; -
+ ("â½" "(") ; (
+ ("â¾" ")") ; )
+ ("â¿" "n") ; n
+ ("â±" "i")) ; i
+ "A list whose elements (old new) indicate replacements to make
+ in Calc algebraic input.")
+
+ (defvar math-read-superscripts
+ "â°Â¹Â²Â³â´âµâ¶â·â¸â¹âºâ»â½â¾â¿â±" ; 0123456789+-()ni
+ "A string consisting of the superscripts allowed by Calc.")
+
+ (defun math-read-preprocess-string (str)
+ "Replace some substrings of STR by Calc equivalents."
+ (setq str
+ (replace-regexp-in-string (concat "[" math-read-superscripts "]+")
+ "^(\\&)" str))
+ (let ((rep-list math-read-replacement-list))
+ (while rep-list
+ (setq str
+ (replace-regexp-in-string (nth 0 (car rep-list))
+ (nth 1 (car rep-list)) str))
+ (setq rep-list (cdr rep-list))))
+ str)
+
;; The next few variables are local to math-read-exprs (and math-read-expr
;; in calc-ext.el), but are set in functions they call.
- [Emacs-diffs] Changes to emacs/lisp/calc/calc-aent.el,
Jay Belanger <=