summaryrefslogtreecommitdiff
path: root/lisp/calc
diff options
context:
space:
mode:
authorJay Belanger <jay.p.belanger@gmail.com>2005-05-30 21:03:51 +0000
committerJay Belanger <jay.p.belanger@gmail.com>2005-05-30 21:03:51 +0000
commited65ed86e10f9a9a4112e510d46400069d44de19 (patch)
tree8694f930708a294f5d40a7c9e13dcfd37e82adbf /lisp/calc
parent3c1ebc5af8b9fee8834a77ca6a37db6ccde6648f (diff)
downloademacs-ed65ed86e10f9a9a4112e510d46400069d44de19.tar.gz
(calc-bug-address): Fix docstring.
(calc-window-hook, calc-trail-window-hook): New variables. (calc-trail-display): Use calc-trail-window-hook if it is non-nil. (calc): Use calc-window-hook if it is non-nil.
Diffstat (limited to 'lisp/calc')
-rw-r--r--lisp/calc/calc.el54
1 files changed, 32 insertions, 22 deletions
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index dbc5e90b917..3a99291fdef 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -325,7 +325,7 @@ This is not required to be present for user-written mode annotations."
:type '(choice (string) (sexp)))
(defvar calc-bug-address "belanger@truman.edu"
- "Address of the author of Calc, for use by `report-calc-bug'.")
+ "Address of the maintainer of Calc, for use by `report-calc-bug'.")
(defvar calc-scan-for-dels t
"If t, scan keymaps to find all DEL-like keys.
@@ -720,6 +720,12 @@ If nil, selections displayed but ignored.")
(defvar calc-load-hook nil
"Hook run when calc.el is loaded.")
+(defvar calc-window-hook nil
+ "Hook called to create the Calc window.")
+
+(defvar calc-trail-window-hook nil
+ "Hook called to create the Calc trail window.")
+
;; Verify that Calc is running on the right kind of system.
(defvar calc-emacs-type-lucid (not (not (string-match "Lucid" emacs-version))))
@@ -1205,18 +1211,20 @@ commands given here will actually operate on the *Calculator* stack."
(switch-to-buffer (current-buffer) t)
(if (get-buffer-window (current-buffer))
(select-window (get-buffer-window (current-buffer)))
- (let ((w (get-largest-window)))
- (if (and pop-up-windows
- (> (window-height w)
- (+ window-min-height calc-window-height 2)))
- (progn
- (setq w (split-window w
- (- (window-height w)
- calc-window-height 2)
- nil))
- (set-window-buffer w (current-buffer))
- (select-window w))
- (pop-to-buffer (current-buffer))))))
+ (if calc-window-hook
+ (run-hooks 'calc-window-hook)
+ (let ((w (get-largest-window)))
+ (if (and pop-up-windows
+ (> (window-height w)
+ (+ window-min-height calc-window-height 2)))
+ (progn
+ (setq w (split-window w
+ (- (window-height w)
+ calc-window-height 2)
+ nil))
+ (set-window-buffer w (current-buffer))
+ (select-window w))
+ (pop-to-buffer (current-buffer)))))))
(save-excursion
(set-buffer (calc-trail-buffer))
(and calc-display-trail
@@ -1823,15 +1831,17 @@ See calc-keypad for details."
(not (if flag (memq flag '(nil 0)) win)))
(if (null win)
(progn
- (let ((w (split-window nil (/ (* (window-width) 2) 3) t)))
- (set-window-buffer w calc-trail-buffer))
- (calc-wrapper
- (setq overlay-arrow-string calc-trail-overlay
- overlay-arrow-position calc-trail-pointer)
- (or no-refresh
- (if interactive
- (calc-do-refresh)
- (calc-refresh))))))
+ (if calc-trail-window-hook
+ (run-hooks 'calc-trail-window-hook)
+ (let ((w (split-window nil (/ (* (window-width) 2) 3) t)))
+ (set-window-buffer w calc-trail-buffer)))
+ (calc-wrapper
+ (setq overlay-arrow-string calc-trail-overlay
+ overlay-arrow-position calc-trail-pointer)
+ (or no-refresh
+ (if interactive
+ (calc-do-refresh)
+ (calc-refresh))))))
(if win
(progn
(delete-window win)