Можно ли отлаживать Maxima CAS Код Lisp в Emacs?Отладка Maxima CAS Lisp код на Emacs
Это больно использовать так много утверждений печати все время.
Можно ли отлаживать Maxima CAS Код Lisp в Emacs?Отладка Maxima CAS Lisp код на Emacs
Это больно использовать так много утверждений печати все время.
Я использовал два подхода на протяжении многих лет.
Запуск слизи с использованием файла ядра Maxima. Смотрите это письмо для того, как сделать это
http://article.gmane.org/gmane.comp.mathematics.maxima.general/36029
Run Maxima, но добавить код в файле инициализации, чтобы создать сервер Суонк затем подключить к этому с slime-connect
.
http://article.gmane.org/gmane.comp.mathematics.maxima.general/44533
Кто-то (Лео Батлер, может быть?) В списке затем предложил аккуратнее подход, чем то, что в этом письме. К сожалению, мой поиск-фу подвел меня, и я не могу найти разговор, так что я буду просто вставить то, что в моей ~/.maxima/swank.lisp
ныне:
(eval-when (:compile-toplevel :load-toplevel :execute)
(defvar *swank-asd*
(car (directory #P"~/.emacs.d/elpa/slime*/swank.asd")))
(when *swank-asd*
(load *swank-asd*)
(require :swank)))
(when (find-package :swank)
(swank:create-server :port 56789 :dont-close t)
;; Hack to make "q" not kill Maxima outright. Only applies from console
(in-package :maxima)
(defvar *real-continue-function* (symbol-function 'continue))
(setf (symbol-function 'continue)
(lambda (&rest args)
(let ((swank::*sldb-quit-restart* 'maxima::macsyma-quit))
(apply *real-continue-function* args))))
(format t "Swank loaded successfully"))
Она начинается, пытаясь загрузить важничанье из моего каталога Emacs (I установить слизь с помощью Elpa). В случае успеха или если по какой-то причине swank загрузился, он создает сервер, а затем делает отличный «сделать ключ q
не очень раздражающим», описанным во втором письме.
поможет ли он в отладке исходного кода maxima? Разве это не похоже на запуск максимумов на slime/emacs, а не на терминал? – Rorschach
Прошу прощения, но я не понимаю ваш вопрос. Мой ответ дает два разных способа запуска Maxima с подключенной слизью. Я думал, это то, что ты хотел? –
Да, я мог догадаться, что это поможет мне запустить maxima на слизе, но также поможет мне установить точки останова в коде maxima и отладить его? – Rorschach
Лучше всего спросил список рассылки Maxima. –
@RainerJoswig Я часто посещаю список рассылки Maxima, я думал, может быть, кто-то здесь может быть в курсе этого. – Rorschach
Вы спрашиваете о запуске Maxima как Elisp или о том, чтобы запустить его под Common Lisp, связанным с Emacs через Slime? –