comparison lisp/calculator.el @ 49575:336c18b62203

(calculator): Don't use the minibuffer even in electric mode; use a private buffer and display it in the minibuffer window using `set-window-buffer'.
author Juanma Barranquero <lekktu@gmail.com>
date Mon, 03 Feb 2003 16:30:27 +0000
parents f18f05d77411
children 695cf19ef79e d7ddb3e565de
comparison
equal deleted inserted replaced
49574:e4bf575fd91c 49575:336c18b62203
666 (progn (calculator-add-operators calculator-initial-operators) 666 (progn (calculator-add-operators calculator-initial-operators)
667 (setq calculator-initial-operators nil) 667 (setq calculator-initial-operators nil)
668 ;; don't change this since it is a customization variable, 668 ;; don't change this since it is a customization variable,
669 ;; its set function will add any new operators 669 ;; its set function will add any new operators
670 (calculator-add-operators calculator-user-operators))) 670 (calculator-add-operators calculator-user-operators)))
671 (setq calculator-buffer (get-buffer-create "*calculator*"))
671 (if calculator-electric-mode 672 (if calculator-electric-mode
672 (save-window-excursion 673 (save-window-excursion
673 (progn (require 'electric) (message nil)) ; hide load message 674 (progn (require 'electric) (message nil)) ; hide load message
674 (let (old-g-map old-l-map (echo-keystrokes 0) 675 (let (old-g-map old-l-map (echo-keystrokes 0)
675 (garbage-collection-messages nil)) ; no gc msg when electric 676 (garbage-collection-messages nil)) ; no gc msg when electric
676 ;; strange behavior in FSF: doesn't always select correct 677 (set-window-buffer (minibuffer-window) calculator-buffer)
677 ;; minibuffer. I have no idea how to fix this
678 (setq calculator-buffer (window-buffer (minibuffer-window)))
679 (select-window (minibuffer-window)) 678 (select-window (minibuffer-window))
680 (calculator-reset) 679 (calculator-reset)
681 (calculator-update-display) 680 (calculator-update-display)
682 (setq old-l-map (current-local-map)) 681 (setq old-l-map (current-local-map))
683 (setq old-g-map (current-global-map)) 682 (setq old-g-map (current-global-map))
695 (and calculator-buffer 694 (and calculator-buffer
696 (catch 'calculator-done (calculator-quit))) 695 (catch 'calculator-done (calculator-quit)))
697 (use-local-map old-l-map) 696 (use-local-map old-l-map)
698 (use-global-map old-g-map)))) 697 (use-global-map old-g-map))))
699 (progn 698 (progn
700 (setq calculator-buffer (get-buffer-create "*calculator*"))
701 (cond 699 (cond
702 ((not (get-buffer-window calculator-buffer)) 700 ((not (get-buffer-window calculator-buffer))
703 (let ((split-window-keep-point nil) 701 (let ((split-window-keep-point nil)
704 (window-min-height 2)) 702 (window-min-height 2))
705 ;; maybe leave two lines for our window because of the normal 703 ;; maybe leave two lines for our window because of the normal