Is there a simple way to stuff strings back into slime?
Suppose one has a function for connecting to a database. This connection will need a password and suppose further that one is a bit conscious about saving the password in clear text inside the source file ro typing it directly into the slime repl buffer (where it also would appear in cleartext).
For shell buffers, I have solved this problem by indentifying the shell modes filter function and (this on the meacs side) adding the advice
(defadvice term-emulate-terminal (after term-emulate-terminal-advice activate) "Advice `term-emulate-terminal' to prompt for passwords. The variable `term-password-regexp' determines how to match prompt strings. The variable `term-password-handling' determines whether passwords are actually handled or not." (if (and term-password-handling (string-match term-password-regexp str)) (term-read-password (match-string 0 str))))
Together with the function:
(defun term-read-password (&optional prompt) "Read a password and send it to the buffers process. Optional argument PROMPT specifies alternative prompt string." (interactive) (process-send-string nil (my-read-passwd (or prompt "Password: "))) (process-send-string nil "\n"))
this allows emacs to recognise that a password is needed, prompt for the password in the minibuffer using 'read-passwd' and the send the password directly to the inferior process without the password appearing directly in the buffer.
I am not claiming this to be perfect security but I think it is a little better than nothing.
Now I would like to retrofit this functionality to slime, but as the lisp process is not running directly within the slime repl buffer I am somewhat unsure on how to best hook in to the I/O flow.
(Some stuff has been left out for brevity, let me know if you need the full emacs code.)
------------------------+----------------------------------------------------- Christian Lynbech | christian #@ defun #. dk ------------------------+----------------------------------------------------- Hit the philistines three times over the head with the Elisp reference manual. - petonic@hal.com (Michael A. Petonic)