1 ;;; An rc to setup Emacs as a Maxima client.
3 ;;; I can't without Common Lisp.
6 (defvar maxima-path
'("~/share/maxima"
7 "/usr/local/share/maxima"
9 "List of directories to search for a distribution of Maxima.")
11 (defun find-maxima-emacs-contrib ()
12 (cl-find-if (lambda (path) (file-exists-p path
))
13 (cl-mapcan (lambda (path)
14 (mapcar (lambda (path)
15 (concat (file-name-as-directory path
)
17 ;; Prefer larger version numbers.
18 (sort (file-expand-wildcards
19 (concat (file-name-as-directory
25 (defun setup-maxima ()
26 ;; Find the emacs directory.
27 (let ((maxima-emacs-contrib (find-maxima-emacs-contrib)))
28 (when maxima-emacs-contrib
30 (add-to-list 'load-path maxima-emacs-contrib
)
31 (autoload 'maxima-mode
"maxima" "Maxima mode." t
)
32 (autoload 'maxima
"maxima" "Maxima interaction." t
)
33 (add-to-list 'auto-mode-alist
'("\\.ma?[cx]$" . maxima-mode
))
34 ;; Also use imaxima.el.
35 (autoload 'imaxima
"imaxima" "Maxima interaction with images." t
)
36 (setq imaxima-fnt-size
"Large"
37 imaxima-use-maxima-mode-flag t
))))