[slime-devel] Re: Fixed (we hope) -- hs-minor-mode

Lawrence Mitchell wence at gmx.li
Wed Apr 28 15:41:12 UTC 2004


Luke Gorrie wrote:

[...] hs-minor-mode fix.

> This is pretty hairy code. I don't think hs-minor-mode is useful
> enough to warrant it, myself.

I'd be inclined to agree.  Especially due to the XEmacs/Emacs
schism involved --- this is due to the fact the the released
XEmacs contains version 3.4 of hideshow, whereas Emacs has
version 5.something.  The new file is not backward-compatible,
sadly.

How about using outline-minor-mode instead.  This is simpler,
and cross-emacs compatible.

(defun slime-log-event (event)
  (when slime-log-events
    (with-current-buffer (slime-events-buffer)
      ;; trim?
      (when (> (buffer-size) 100000)
        (goto-char (/ (buffer-size) 2))
        (re-search-forward "^(" nil t)
        (delete-region (point-min) (point)))
      (goto-char (point-max))
      (save-excursion
        (pp event (current-buffer)))
      (when outline-minor-mode
        (hide-entry))
      (goto-char (point-max)))))

(defun slime-events-buffer ()
  (or (get-buffer "*slime-events*")
      (let ((buffer (get-buffer-create "*slime-events*")))
        (with-current-buffer buffer
          (set (make-local-variable 'outline-regexp) "^(")
          (set (make-local-variable 'comment-start) ";")
          (set (make-local-variable 'comment-end) "")
          (outline-minor-mode))
        buffer)))

-- 
Lawrence Mitchell <wence at gmx.li>





More information about the slime-devel mailing list