intro: "SY" == Steve Youngs <youngs(a)xemacs.org> writes:
SY> |--==> "DED" == Daniel E Doherty <ded03(a)swbell.net> writes:
DED> Under Xemacs, the numeric keypad does not work in calc. Any change of
DED> getting that changed?
SY> Sorry for taking so long to respond.
SY> I think there are quite a few keymap problems with calc under XEmacs. I
SY> don't have the time to look into it, but perhaps somebody here would like
SY> to have a go at XEmacserizing Calc's keymap?
2001-04-11 Nick V. Pakoulin <npak(a)ispras.ru>
* calc.el (calc-init-base): Added support for numeric keypad.
Index: calc.el
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-packages/oa/calc/calc.el,v
retrieving revision 1.5
diff -u -r1.5 calc.el
--- calc.el 1999/12/04 13:22:47 1.5
+++ calc.el 2001/04/11 08:23:35
@@ -766,6 +766,13 @@
(define-key calc-mode-map "\M-\C-m" 'calc-last-args-stub)
(define-key calc-mode-map "\C-j" 'calc-over)
+ ;; XEmacs change npak(a)ispras.ru
+ (if calc-emacs-type-lucid
+ (progn (define-key calc-mode-map 'kp-add 'calc-plus)
+ (define-key calc-mode-map 'kp-subtract 'calc-minus)
+ (define-key calc-mode-map 'kp-multiply 'calc-times)
+ (define-key calc-mode-map 'kp-divide 'calc-divide)))
+
(mapcar (function
(lambda (x)
(define-key calc-mode-map (char-to-string x) 'undefined)))
@@ -780,6 +787,12 @@
(lambda (x)
(define-key calc-mode-map (char-to-string x) 'calcDigit-start)))
"_0123456789.#@")
+ ;; XEmacs change npak(a)ispras.ru
+ (if calc-emacs-type-lucid
+ (mapc #'(lambda (key)
+ (define-key calc-mode-map key 'calcDigit-start))
+ '(kp-1 kp-2 kp-3 kp-4 kp-5 kp-6 kp-7 kp-8 kp-9 kp-0
+ kp-decimal)))
(setq calc-digit-map (make-keymap))
(if calc-emacs-type-lucid
@@ -803,6 +816,12 @@
(define-key calc-digit-map (char-to-string x)
'calcDigit-key)))
"_0123456789.e+-:n#@oh'\"mspM")
+ ;; XEmacs change npak(a)ispras.ru
+ (if calc-emacs-type-lucid
+ (mapc #'(lambda (key)
+ (define-key calc-digit-map key 'calcDigit-key))
+ '(kp-1 kp-2 kp-3 kp-4 kp-5 kp-6 kp-7 kp-8 kp-9 kp-0
+ kp-decimal kp-add kp-subtract kp-multiply kp-divide)))
(mapcar (function
(lambda (x)
(define-key calc-digit-map (char-to-string x)