[slime-devel] `slime-space', `slime-show-arglist', `slime-echo-arglist' + STFU

MON KEY monkey at sandpframing.com
Tue Nov 9 16:41:31 UTC 2010


Hello slime-devels,

I'd like to propose the following changes/additions to `slime-space'
around `slime-echo-arglist'. As best I can gather these provide the
quickest path to toggling the verbosity of `slime-space's invocation
of `slime-echo-arglist' (which I find too distracting at times).

I'd also like to suggest that various of slime-autodoc's variables be
made permanent-local.  AFAICT the emacs-devels (esp. their fearless
leader) are increasingly less adverse to judicious use of and
apportioning of permanent buffer-locals and as such Slime could be
making better use of permanent-locals as well :)

--
/s_P\

;;; ==============================
;;; :CREATED <Timestamp: #{2010-10-31T16:15:03-04:00Z}#{10437} - by MON>
(defvar *slime-echo-arglist-STFU* nil
  "When non-nil `slime-space' won't invoke `slime-echo-arglist' verbosely.\n
`slime-echo-arglist-behave-or-back-to-your-cage' toggles `slime-echo-arglist'
back on, and `slime-echo-arglist-STFU' shuts it up again.\n
Evaluate `slime-show-arglist' explicitly if an arglist is needed.\n
:SEE-ALSO `slime-echo-arglist-function'.\n►►►")
;;
(make-variable-buffer-local '*slime-echo-arglist-STFU*)
(put '*slime-echo-arglist-STFU* 'permanent-local t)
(set-default '*slime-echo-arglist-STFU* nil)

(defun slime-echo-arglist-behave-or-back-to-your-cage ()
  "De-gimpify `slime-space's and allow `slime-echo-arglist' in current-buffer.\n
Evaluate `slime-echo-arglist-STFU' to tone down the minibuffer noise.\n
:SEE ALSO `*slime-echo-arglist-STFU*', `slime-echo-arglist-function'.\n►►►"
  (interactive)
  (with-current-buffer (current-buffer)
    (set (make-local-variable 'slime-echo-arglist-STFU)
         nil)))

(defun slime-echo-arglist-STFU ()
  "Silence `slime-space's invocation of `slime-echo-arglist' in
current-buffer.\n
Evaluate `slime-echo-arglist-behave-or-back-to-your-cage' to turn it back on.\n
Evaluate `slime-show-arglist' explicitly if an arglist is needed.
:SEE-ALSO `*slime-echo-arglist-STFU*', `slime-echo-arglist-function'.\n►►►"
  (interactive)
  (with-current-buffer (current-buffer)
    (set (make-local-variable 'slime-echo-arglist-STFU)
         t)))

(defun slime-space (n)
      (interactive "p")
      (self-insert-command n)
      (when (and (not *slime-echo-arglist-STFU*) ;; <- redefined here.
                 (slime-background-activities-enabled-p))
        (slime-echo-arglist)))

(defun slime-space (n)
 "Insert a space and print some relevant information (function arglist).
Designed to be bound to the SPC key.  Prefix argument can be used to insert
more than one space."
 (interactive "p")
 (self-insert-command n)
 (when (and (not *slime-echo-arglist-STFU*) ;; <- redefined here.
            (slime-background-activities-enabled-p))
   (slime-echo-arglist)))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slime-space-STFU.el
Type: application/octet-stream
Size: 2356 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20101109/de3f1919/attachment.obj>


More information about the slime-devel mailing list