295 |
calc-dollar-used 0))) |
calc-dollar-used 0))) |
296 |
(calc-handle-whys)))) |
(calc-handle-whys)))) |
297 |
|
|
298 |
|
(defvar calc-alg-ent-map nil |
299 |
|
"The keymap used for algebraic entry.") |
300 |
|
|
301 |
|
(defvar calc-alg-ent-esc-map nil |
302 |
|
"The keymap used for escapes in algebraic entry.") |
303 |
|
|
304 |
(defun calc-do-alg-entry (&optional initial prompt no-normalize) |
(defun calc-do-alg-entry (&optional initial prompt no-normalize) |
305 |
(let* ((calc-buffer (current-buffer)) |
(let* ((calc-buffer (current-buffer)) |
306 |
(blink-paren-function 'calcAlg-blink-matching-open) |
(blink-paren-function 'calcAlg-blink-matching-open) |
307 |
(alg-exp 'error)) |
(alg-exp 'error)) |
308 |
(unless (boundp 'calc-alg-ent-map) |
(unless calc-alg-ent-map |
309 |
(setq calc-alg-ent-map (copy-keymap minibuffer-local-map)) |
(setq calc-alg-ent-map (copy-keymap minibuffer-local-map)) |
310 |
(define-key calc-alg-ent-map "'" 'calcAlg-previous) |
(define-key calc-alg-ent-map "'" 'calcAlg-previous) |
311 |
(define-key calc-alg-ent-map "`" 'calcAlg-edit) |
(define-key calc-alg-ent-map "`" 'calcAlg-edit) |
312 |
(define-key calc-alg-ent-map "\C-m" 'calcAlg-enter) |
(define-key calc-alg-ent-map "\C-m" 'calcAlg-enter) |
313 |
(define-key calc-alg-ent-map "\C-j" 'calcAlg-enter) |
(define-key calc-alg-ent-map "\C-j" 'calcAlg-enter) |
314 |
(or calc-emacs-type-19 |
(let ((i 33)) |
315 |
(let ((i 33)) |
(setq calc-alg-ent-esc-map (copy-keymap esc-map)) |
316 |
(setq calc-alg-ent-esc-map (copy-sequence esc-map)) |
(while (< i 127) |
317 |
(while (< i 127) |
(aset (nth 1 calc-alg-ent-esc-map) i 'calcAlg-escape) |
318 |
(aset calc-alg-ent-esc-map i 'calcAlg-escape) |
(setq i (1+ i))))) |
319 |
(setq i (1+ i)))))) |
(define-key calc-alg-ent-map "\e" nil) |
|
(unless calc-emacs-type-19 |
|
|
(define-key calc-alg-ent-map "\e" nil)) |
|
320 |
(if (eq calc-algebraic-mode 'total) |
(if (eq calc-algebraic-mode 'total) |
321 |
(define-key calc-alg-ent-map "\e" calc-alg-ent-esc-map) |
(define-key calc-alg-ent-map "\e" calc-alg-ent-esc-map) |
322 |
(define-key calc-alg-ent-map "\ep" 'calcAlg-plus-minus) |
(define-key calc-alg-ent-map "\ep" 'calcAlg-plus-minus) |
354 |
|
|
355 |
(defun calcAlg-previous () |
(defun calcAlg-previous () |
356 |
(interactive) |
(interactive) |
357 |
(if (calc-minibuffer-contains "\\`\\'") |
(if (calc-minibuffer-contains "\\'") |
358 |
(if calc-previous-alg-entry |
(if calc-previous-alg-entry |
359 |
(insert calc-previous-alg-entry) |
(insert calc-previous-alg-entry) |
360 |
(beep)) |
(beep)) |