Como salvar todas as funções I inseridos no LispBox / Slime?
-
03-07-2019 - |
Pergunta
Situação: entrei várias funções ao trabalhar com REPL em Emacs. Problema: Não é lixo como "; Avaliação abortada" quando estou simplesmente salvar buffer. O que eu quero: descrições claras de todas as funções que entraram em sua última revisão
.Posso fazer isso? Obrigado.
Solução
Eu concordo que o melhor método de fluxo de trabalho é escrever seu código em um buffer separado e avaliar em que, em vez de digitar as funções na repl.
Supondo que você tenha ido a maneira repl, eu acho, a solução da C. Martin para salvar o registro de repl e ir manualmente através dele são as suas únicas opções.
Se você entrar com as funções e VARs em um pacote separado, você poderia ir através dos símbolos do pacote para ajudar a decidir o que você deseja manter.
por exemplo. para ver todos os símbolos criados no pacote do usuário cl:
(let ((p (find-package :cl-user)))
(loop
for s being the symbols in p
when (eq p (symbol-package s))
do (format t "~a~%" s)))
Outras dicas
Eu não entendo. Você está entrando em definições no REPL e esperando para recuperá-los mais tarde? Basta salvar um arquivo de origem como faria em qualquer outra língua. 2 Use x C-dividir sua janela Emacs em dois. Abra um arquivo de origem em um deles C-x foo.LISP C-f. Use C-c C-k, C-c C-r e amigos (ver menu de SLIME) para compilar / avaliar as regiões de seu código-fonte no REPL.
Eu olhei para algo assim no passado e têm sido incapazes de encontrá-lo. Você é melhor fora de escrever todas as suas definições em um buffer separado e usando extensas funções de compilação de lodo de avaliação / (cargas Cc Ck um arquivo inteiro, Cx Ce avalia a última expressão, Cc Cr avalia uma região, etc.), entrando apenas directamente em as coisas REPL você não quer salvar.
Um, C-x o
ou C-x b
para chegar ao SLIME tampão REPL, então C-x w
ou C-x C-s
para salvá-lo em um arquivo. Todo o material SLIME / CL é um comentário do leitor; você pode escrever um hack leitor para recarregar o arquivo tratar os avisos como comentários, ou você pode ir através do arquivo de si mesmo para capturar as peças que você deseja salvar.