Saluton,
On Wed, Apr 23, 2014 at 07:45:56PM +0000, James Hearon wrote:
> I was hoping to get some advice on printing from emacs-slime. I'm trying to
> print output to a visible area of the emacs editor when the code is compiled
> and runs, such as in with-sound below.
>
> I'm using f20, sbcl, emacs-slime, and clm but having a devil of a time
> getting any contrib to load and run with my .emacs file which might support
> more repl such as to the echo area etc. I'm wondering what approach you
> folks might use to print to std out? Are you using a contrib package or
> other editor and print .el utility files?
>
> I've tried things like (print ), and (format t ...) and (message ...), and
> those evaluate the expression to the echo area but they don't work when I
> compile and run and it is beeping. Or am I totally off base, and lisp
> doesn't do that very well at all?
hopefully I am not misunderstanding your intention, you could use the
*inferior-lisp* buffer associated with the lisp process:
(format swank:*log-output* "After all the jacks are in their boxes~%")
;; idem but sbcl specific
(format sb-sys:*stderr* "and the clowns have all gone to bed~%")
(format sb-sys:*stdout* "~Ahe traffic lights, they turn blue tomorrow~%"
(eq swank:*log-output* sb-sys:*stderr*))
(let ((*standard-output* swank:*log-output*))
(with-sound ...))
etc..
Perhaps it is enough, otherwise it is also possible to change the
process-filter (from emacs), for example
;; current process-filter
(process-filter (get-buffer-process "*inferior-lisp*"))
; => comint-output-filter
;; And the wind screams Mary
(set-process-filter (get-buffer-process "*inferior-lisp*")
(lambda (process string)
...
... something with the string ...
...
(comint-output-filter process string)))
;; Uh will the wind ever remember the names it has blow in the past?
(set-process-filter (get-buffer-process "*inferior-lisp*")
#'comint-output-filter)
Tito Latini
_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist