(calc-record-compilation-date): Remove.
(calc-bug-address): Update. (calc-settings-file): Use `user-init-file'. Change all toplevel `setq' forms to `defvar' forms, and move them before their first use. Use `when', `unless'. Remove trailing periods from error forms. Add description and headers suggested by Emacs Lisp coding conventions.
This commit is contained in:
parent
8cd8ee52f7
commit
f269b73e3e
1 changed files with 47 additions and 57 deletions
|
@ -1,6 +1,10 @@
|
|||
;; Calculator for GNU Emacs, part I
|
||||
;;; calc.el ---
|
||||
|
||||
;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
|
||||
;; Written by Dave Gillespie, daveg@synaptics.com.
|
||||
|
||||
;; Author: David Gillespie <daveg@synaptics.com>
|
||||
;; Maintainer: Colin Walters <walters@debian.org>
|
||||
;; Keywords: convenience, extensions
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
@ -19,7 +23,7 @@
|
|||
;; file named COPYING. Among other things, the copyright notice
|
||||
;; and this notice must be preserved on all copies.
|
||||
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Calc is split into many files. This file is the main entry point.
|
||||
;;; This file includes autoload commands for various other basic Calc
|
||||
|
@ -64,16 +68,12 @@
|
|||
;;; "report-calc-bug", and "defmath". User-accessible variables begin
|
||||
;;; with "var-".
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
||||
(provide 'calc)
|
||||
(require 'calc-macs)
|
||||
|
||||
(defun calc-record-compilation-date ()
|
||||
(calc-record-compilation-date-macro))
|
||||
(calc-record-compilation-date)
|
||||
|
||||
|
||||
;;; The "###autoload" comment will be used by Emacs version 19 for
|
||||
;;; maintaining the loaddefs.el file automatically.
|
||||
|
||||
|
@ -82,8 +82,8 @@
|
|||
"*File name in which to look for the Calculator's Info documentation.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar calc-settings-file "~/.emacs"
|
||||
"*File in which to record permanent settings; default is \"~/.emacs\".")
|
||||
(defvar calc-settings-file user-init-file
|
||||
"*File in which to record permanent settings; default is `user-init-file'.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar calc-autoload-directory nil
|
||||
|
@ -104,10 +104,8 @@ This can safely be nil as long as the Calc files are on the load-path.")
|
|||
(defvar calc-gnuplot-print-command "lp %s"
|
||||
"*Name of command for printing GNUPLOT output; %s = file name to print.")
|
||||
|
||||
|
||||
;; Address of the author of Calc, for use by report-calc-bug.
|
||||
(defvar calc-bug-address "daveg@synaptics.com")
|
||||
|
||||
(defvar calc-bug-address "walters@debian.org")
|
||||
|
||||
;; If T, scan keymaps to find all DEL-like keys.
|
||||
;; If NIL, only DEL itself is mapped to calc-pop.
|
||||
|
@ -118,7 +116,6 @@ This can safely be nil as long as the Calc files are on the load-path.")
|
|||
(defvar calc-extensions-loaded nil)
|
||||
|
||||
|
||||
|
||||
;;; IDEAS:
|
||||
;;;
|
||||
;;; Fix rewrite mechanism to do less gratuitous rearrangement of terms.
|
||||
|
@ -736,8 +733,7 @@ This can safely be nil as long as the Calc files are on the load-path.")
|
|||
(mapcar (function (lambda (v) (or (boundp v) (set v nil))))
|
||||
calc-local-var-list)
|
||||
|
||||
(if (boundp 'calc-mode-map)
|
||||
nil
|
||||
(unless (boundp 'calc-mode-map)
|
||||
(setq calc-mode-map (make-keymap))
|
||||
(suppress-keymap calc-mode-map t)
|
||||
(define-key calc-mode-map "+" 'calc-plus)
|
||||
|
@ -919,10 +915,7 @@ calc-help calc-info calc-info-summary calc-inv calc-last-args-stub
|
|||
calc-missing-key calc-mod calc-other-window calc-over calc-percent
|
||||
calc-pop-above calc-power calc-roll-down calc-roll-up
|
||||
calc-shift-Y-prefix-help calc-tutorial calcDigit-letter
|
||||
report-calc-bug)
|
||||
|
||||
))
|
||||
)
|
||||
report-calc-bug))))
|
||||
|
||||
(calc-init-base)
|
||||
|
||||
|
@ -931,7 +924,7 @@ report-calc-bug)
|
|||
|
||||
;;;###autoload
|
||||
(defun calc-dispatch (&optional arg)
|
||||
"Invoke the GNU Emacs Calculator. See calc-dispatch-help for details."
|
||||
"Invoke the GNU Emacs Calculator. See `calc-dispatch-help' for details."
|
||||
(interactive "P")
|
||||
(sit-for echo-keystrokes)
|
||||
(condition-case err ; look for other keys bound to calc-dispatch
|
||||
|
@ -948,6 +941,7 @@ report-calc-bug)
|
|||
(error nil))
|
||||
(calc-do-dispatch arg))
|
||||
|
||||
(defvar calc-dispatch-help nil)
|
||||
(defun calc-do-dispatch (arg)
|
||||
(let ((key (calc-read-key-sequence
|
||||
(if calc-dispatch-help
|
||||
|
@ -962,7 +956,6 @@ report-calc-bug)
|
|||
(or (commandp key) (calc-extensions))
|
||||
(call-interactively key))
|
||||
(beep))))
|
||||
(setq calc-dispatch-help nil)
|
||||
|
||||
(defun calc-read-key-sequence (prompt map)
|
||||
(let ((prompt2 (format "%s " (key-description (this-command-keys))))
|
||||
|
@ -1035,6 +1028,7 @@ Notations: 3.14e6 3.14 * 10^6
|
|||
1 nil))))))
|
||||
(setq calc-stack-top (- (length calc-stack) calc-stack-top -1))
|
||||
(or calc-loaded-settings-file
|
||||
(null calc-settings-file)
|
||||
(string-match "\\.emacs" calc-settings-file)
|
||||
(progn
|
||||
(setq calc-loaded-settings-file t)
|
||||
|
@ -1063,6 +1057,7 @@ Notations: 3.14e6 3.14 * 10^6
|
|||
(calc-set-mode-line)))
|
||||
(calc-check-defines))
|
||||
|
||||
(defvar calc-check-defines 'calc-check-defines) ; suitable for run-hooks
|
||||
(defun calc-check-defines ()
|
||||
(if (symbol-plist 'calc-define)
|
||||
(let ((plist (copy-sequence (symbol-plist 'calc-define))))
|
||||
|
@ -1080,7 +1075,6 @@ Notations: 3.14e6 3.14 * 10^6
|
|||
;; See if this has added any more calc-define properties.
|
||||
(calc-check-defines))
|
||||
(setplist 'calc-define nil)))))
|
||||
(setq calc-check-defines 'calc-check-defines) ; suitable for run-hooks
|
||||
|
||||
(defun calc-trail-mode (&optional buf)
|
||||
"Calc Trail mode.
|
||||
|
@ -1107,8 +1101,7 @@ commands given here will actually operate on the *Calculator* stack."
|
|||
(setq calc-main-buffer buf)))
|
||||
(if (= (buffer-size) 0)
|
||||
(let ((buffer-read-only nil))
|
||||
(insert "Emacs Calculator v" calc-version " by Dave Gillespie, "
|
||||
"installed " calc-installed-date "\n")))
|
||||
(insert "Emacs Calculator v" calc-version " by Dave Gillespie\n")))
|
||||
(run-hooks 'calc-trail-mode-hook))
|
||||
|
||||
(defun calc-create-buffer ()
|
||||
|
@ -1172,7 +1165,7 @@ commands given here will actually operate on the *Calculator* stack."
|
|||
(and calc-display-trail
|
||||
(= (window-width) (frame-width))
|
||||
(calc-trail-display 1 t)))
|
||||
(message "Welcome to the GNU Emacs Calculator! Press `?' or `h' for help, `q' to quit.")
|
||||
(message "Welcome to the GNU Emacs Calculator! Press `?' or `h' for help, `q' to quit")
|
||||
(run-hooks 'calc-start-hook)
|
||||
(and (windowp full-display)
|
||||
(window-point full-display)
|
||||
|
@ -1221,8 +1214,8 @@ commands given here will actually operate on the *Calculator* stack."
|
|||
calc-embedded-info
|
||||
(eq (current-buffer) (aref calc-embedded-info 0)))
|
||||
(calc-embedded nil)
|
||||
(or (eq major-mode 'calc-mode)
|
||||
(calc-create-buffer))
|
||||
(unless (eq major-mode 'calc-mode)
|
||||
(calc-create-buffer))
|
||||
(run-hooks 'calc-end-hook)
|
||||
(setq calc-undo-list nil calc-redo-list nil)
|
||||
(mapcar (function (lambda (v) (set-default v (symbol-value v))))
|
||||
|
@ -1276,6 +1269,8 @@ See calc-keypad for details."
|
|||
(calc-do-keypad t (interactive-p)))
|
||||
|
||||
|
||||
(defvar calc-aborted-prefix nil)
|
||||
(defvar calc-start-time nil)
|
||||
;;; Note that modifications to this function may break calc-pass-errors.
|
||||
(defun calc-do (do-body &optional do-slow)
|
||||
(calc-check-defines)
|
||||
|
@ -1295,27 +1290,26 @@ See calc-keypad for details."
|
|||
(and (eq calc-algebraic-mode 'total)
|
||||
(calc-extensions)
|
||||
(use-local-map calc-alg-map))
|
||||
(and do-slow calc-display-working-message
|
||||
(progn
|
||||
(message "Working...")
|
||||
(calc-set-command-flag 'clear-message)))
|
||||
(when (and do-slow calc-display-working-message)
|
||||
(message "Working...")
|
||||
(calc-set-command-flag 'clear-message))
|
||||
(funcall do-body)
|
||||
(setq calc-aborted-prefix nil)
|
||||
(and (memq 'renum-stack calc-command-flags)
|
||||
(calc-renumber-stack))
|
||||
(and (memq 'clear-message calc-command-flags)
|
||||
(message "")))
|
||||
(when (memq 'renum-stack calc-command-flags)
|
||||
(calc-renumber-stack))
|
||||
(when (memq 'clear-message calc-command-flags)
|
||||
(message "")))
|
||||
(error
|
||||
(if (and (eq (car err) 'error)
|
||||
(stringp (nth 1 err))
|
||||
(string-match "max-specpdl-size\\|max-lisp-eval-depth"
|
||||
(nth 1 err)))
|
||||
(error "Computation got stuck or ran too long. Type `M' to increase the limit.")
|
||||
(error "Computation got stuck or ran too long. Type `M' to increase the limit")
|
||||
(setq calc-aborted-prefix nil)
|
||||
(signal (car err) (cdr err)))))
|
||||
(setq calc-old-aborted-prefix calc-aborted-prefix)
|
||||
(and calc-aborted-prefix
|
||||
(calc-record "<Aborted>" calc-aborted-prefix))
|
||||
(when calc-aborted-prefix
|
||||
(calc-record "<Aborted>" calc-aborted-prefix))
|
||||
(and calc-start-time
|
||||
(let* ((calc-internal-prec 12)
|
||||
(calc-date-format nil)
|
||||
|
@ -1340,25 +1334,23 @@ See calc-keypad for details."
|
|||
(calc-select-buffer)
|
||||
(goto-line calc-final-point-line)
|
||||
(move-to-column calc-final-point-column))))
|
||||
(or (memq 'keep-flags calc-command-flags)
|
||||
(save-excursion
|
||||
(calc-select-buffer)
|
||||
(setq calc-inverse-flag nil
|
||||
calc-hyperbolic-flag nil
|
||||
calc-keep-args-flag nil)))
|
||||
(and (memq 'do-edit calc-command-flags)
|
||||
(switch-to-buffer (get-buffer-create "*Calc Edit*")))
|
||||
(unless (memq 'keep-flags calc-command-flags)
|
||||
(save-excursion
|
||||
(calc-select-buffer)
|
||||
(setq calc-inverse-flag nil
|
||||
calc-hyperbolic-flag nil
|
||||
calc-keep-args-flag nil)))
|
||||
(when (memq 'do-edit calc-command-flags)
|
||||
(switch-to-buffer (get-buffer-create "*Calc Edit*")))
|
||||
(calc-set-mode-line)
|
||||
(and calc-embedded-info
|
||||
(calc-embedded-finish-command))))
|
||||
(when calc-embedded-info
|
||||
(calc-embedded-finish-command))))
|
||||
(identity nil)) ; allow a GC after timing is done
|
||||
|
||||
(setq calc-aborted-prefix nil)
|
||||
(setq calc-start-time nil)
|
||||
|
||||
(defun calc-set-command-flag (f)
|
||||
(if (not (memq f calc-command-flags))
|
||||
(setq calc-command-flags (cons f calc-command-flags))))
|
||||
(unless (memq f calc-command-flags)
|
||||
(setq calc-command-flags (cons f calc-command-flags))))
|
||||
|
||||
(defun calc-select-buffer ()
|
||||
(or (eq major-mode 'calc-mode)
|
||||
|
@ -3332,10 +3324,8 @@ If mouse is pressed in Calc window, push cut buffer contents onto the stack."
|
|||
( ":=" calcFunc-assign 51 50 )
|
||||
( "::" calcFunc-condition 45 46 )
|
||||
( "=>" calcFunc-evalto 40 41 )
|
||||
( "=>" calcFunc-evalto 40 -1 )
|
||||
))
|
||||
(setq math-expr-opers math-standard-opers)
|
||||
|
||||
( "=>" calcFunc-evalto 40 -1 )))
|
||||
(defvar math-expr-opers math-standard-opers)
|
||||
|
||||
;;;###autoload
|
||||
(defun calc-grab-region (top bot arg)
|
||||
|
|
Loading…
Add table
Reference in a new issue