* "Terrence Brannon" | I'm wondering if there is some way to tell SLIME to not try to report | all output from the inferior lisp?
In addition to Gary King's suggestions, you probably could also use DEFPARMATER, instead of SETQ, when evaluating forms via slime. This would return just the symbol and not the value. i.e.
(defparameter *d* (gendata))
| My emacs buffer-menu shows the | slime-repl as huge and ever-growing: | | * *slime-repl sbc: 123816001 REPL
If you were worried about buffer size and wanted to automatically truncate the buffer, comint can do that for you. See C-h f comint-truncate-buffer
Typically you could define a function like:
(defun my-setup-comint-truncation () (make-variable-buffer-local 'comint-buffer-maximum-size) (make-variable-buffer-local 'comint-output-filter-functions) (add-hook 'comint-output-filter-functions 'comint-truncate-buffer))
and add it to the mode hooks.
However SLIME does not use inferior-lisp-mode to start up the inferior lisp, so you cannot add it to `inferior-lisp-mode-hook'. Instead SLIME uses `slime-start-lisp', but that does not [currently] call any hook functions. So one could resort to an an ugly hack like:
(add-hook 'comint-exec-hook (lambda () (when (and (boundp 'name) (string-match "inferior-lisp" name)) ;;XXX hack depends on comint-exec using a parameter `name' (my-setup-comint-truncation))))
[Note regarding `my-setup-comint-truncation', the variables are explicitly made buffer local in so that your other comint buffers are not affected. Also the default value of comint-buffer-maximum-size is 1024, and this may be set in that function.]
-- Madhu