;;; calc-ext.el --- various extension functions for Calc
;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007 Free Software Foundation, Inc.
+;; 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
(define-key calc-mode-map "\M-k" 'calc-copy-as-kill)
(define-key calc-mode-map "\C-w" 'calc-kill-region)
(define-key calc-mode-map "\M-w" 'calc-copy-region-as-kill)
- (define-key calc-mode-map "\C-y" 'calc-yank)
- (define-key calc-mode-map [mouse-2] 'calc-yank)
+ (define-key calc-mode-map "\M-\C-w" 'kill-ring-save)
(define-key calc-mode-map "\C-_" 'calc-undo)
(define-key calc-mode-map "\C-xu" 'calc-undo)
(define-key calc-mode-map "\M-\C-m" 'calc-last-args)
(define-key calc-mode-map "dt" 'calc-truncate-stack)
(define-key calc-mode-map "dw" 'calc-auto-why)
(define-key calc-mode-map "dz" 'calc-leading-zeros)
+ (define-key calc-mode-map "dA" 'calc-giac-language)
(define-key calc-mode-map "dB" 'calc-big-language)
(define-key calc-mode-map "dD" 'calc-redo)
(define-key calc-mode-map "dC" 'calc-c-language)
(define-key calc-mode-map "dL" 'calc-latex-language)
(define-key calc-mode-map "dU" 'calc-unformatted-language)
(define-key calc-mode-map "dW" 'calc-maple-language)
+ (define-key calc-mode-map "dX" 'calc-maxima-language)
+ (define-key calc-mode-map "dY" 'calc-yacas-language)
(define-key calc-mode-map "d[" 'calc-truncate-up)
(define-key calc-mode-map "d]" 'calc-truncate-down)
(define-key calc-mode-map "d." 'calc-point-char)
(define-key calc-mode-map "mX" 'calc-load-everything)
(define-key calc-mode-map "r" nil)
+ (define-key calc-mode-map "ri" 'calc-insert-register)
+ (define-key calc-mode-map "rs" 'calc-copy-to-register)
(define-key calc-mode-map "r?" 'calc-r-prefix-help)
(define-key calc-mode-map "s" nil)
(define-key calc-mode-map "vx" 'calc-index)
(define-key calc-mode-map "vA" 'calc-apply)
(define-key calc-mode-map "vC" 'calc-cross)
+ (define-key calc-mode-map "vK" 'calc-kron)
(define-key calc-mode-map "vD" 'calc-mdet)
(define-key calc-mode-map "vE" 'calc-set-enumerate)
(define-key calc-mode-map "vF" 'calc-set-floor)
("calc-vec" calcFunc-append calcFunc-appendrev
calcFunc-arrange calcFunc-cnorm calcFunc-cons calcFunc-cross
-calcFunc-ctrn calcFunc-cvec calcFunc-diag calcFunc-find
+calcFunc-kron calcFunc-ctrn calcFunc-cvec calcFunc-diag calcFunc-find
calcFunc-getdiag calcFunc-grade calcFunc-head calcFunc-histogram
calcFunc-idn calcFunc-index calcFunc-mcol calcFunc-mdims
calcFunc-mrcol calcFunc-mrow calcFunc-mrrow calcFunc-pack
("calc-yank" calc-alg-edit calc-clean-newlines
calc-do-grab-rectangle calc-do-grab-region calc-finish-stack-edit
+calc-copy-to-register calc-insert-register
+calc-append-to-register calc-prepend-to-register
calc-force-refresh calc-locate-cursor-element calc-show-edit-buffer)
))
("calc-lang" calc-big-language calc-c-language calc-eqn-language
calc-flat-language calc-fortran-language calc-maple-language
+calc-yacas-language calc-maxima-language calc-giac-language
calc-mathematica-language calc-normal-language calc-pascal-language
calc-tex-language calc-latex-language calc-unformatted-language)
("calc-stuff" calc-clean calc-clean-num calc-flush-caches
calc-less-recursion-depth calc-more-recursion-depth calc-num-prefix
-calc-version calc-why)
+calc-why)
("calc-trail" calc-trail-backward calc-trail-first calc-trail-forward
calc-trail-in calc-trail-isearch-backward calc-trail-isearch-forward
calc-view-units-table)
("calc-vec" calc-arrange-vector calc-build-vector calc-cnorm
-calc-conj-transpose calc-cons calc-cross calc-diag
+calc-conj-transpose calc-cons calc-cross calc-kron calc-diag
calc-display-strings calc-expand-vector calc-grade calc-head
calc-histogram calc-ident calc-index calc-mask-vector calc-mcol
calc-mrow calc-pack calc-pack-bits calc-remove-duplicates
(if (boundp 'overriding-terminal-local-map)
(setq overriding-terminal-local-map calc-fancy-prefix-map)
(let ((event (calc-read-key t)))
- (if (eq (setq last-command-char (car event)) ?\C-u)
+ (if (eq (setq last-command-event (car event)) ?\C-u)
(universal-argument)
- (if (or (not (integerp last-command-char))
- (and (>= last-command-char 0) (< last-command-char ? )
- (not (memq last-command-char '(?\e)))))
+ (if (or (not (integerp last-command-event))
+ (and (>= last-command-event 0) (< last-command-event ? )
+ (not (memq last-command-event '(?\e)))))
(calc-wrapper)) ; clear flags if not a Calc command.
(setq last-command-event (cdr event))
- (if (or (not (integerp last-command-char))
- (eq last-command-char ?-))
+ (if (or (not (integerp last-command-event))
+ (eq last-command-event ?-))
(calc-unread-command)
(digit-argument n))))))))
(defun calc-fancy-prefix-other-key (arg)
(interactive "P")
(if (and
- (not (eq last-command-char 'tab))
- (not (eq last-command-char 'M-tab))
- (or (not (integerp last-command-char))
- (and (>= last-command-char 0) (< last-command-char ? )
- (not (eq last-command-char meta-prefix-char)))))
+ (not (eq last-command-event 'tab))
+ (not (eq last-command-event 'M-tab))
+ (or (not (integerp last-command-event))
+ (and (>= last-command-event 0) (< last-command-event ? )
+ (not (eq last-command-event meta-prefix-char)))))
(calc-wrapper)) ; clear flags if not a Calc command.
(setq prefix-arg arg)
(calc-unread-command)
(calc-handle-whys)))
+(defvar calc-extended-command-history nil
+ "The history list for calc-execute-extended-command.")
+
(defun calc-execute-extended-command (n)
(interactive "P")
(let* ((prompt (concat (calc-num-prefix-name n) "M-x "))
- (cmd (intern (completing-read prompt obarray 'commandp t "calc-"))))
+ (cmd (intern
+ (completing-read prompt obarray 'commandp t "calc-"
+ 'calc-extended-command-history))))
(setq prefix-arg n)
(command-execute cmd)))
(provide 'calc-ext)
-;;; arch-tag: 1814ba7f-a390-49dc-9e25-a5adc205e97e
+;; arch-tag: 1814ba7f-a390-49dc-9e25-a5adc205e97e
;;; calc-ext.el ends here