;; erc.el ;; brand new function: (defun erc-dump-hidden (string buffer) (save-excursion (set-buffer (get-buffer-create buffer)) (goto-char (point-max)) (insert-before-markers string) (insert-before-markers "\n"))) ;; ;; slightly patched function ;; (defun erc-display-message (parsed type buffer msg &rest args) "Display MSG in BUFFER. ARGS, PARSED, and TYPE are used to format MSG sensibly. See also `erc-format-message' and `erc-display-line'." (let ((string (if (symbolp msg) (apply 'erc-format-message msg args) msg))) (setq string (cond ((null type) string) ((listp type) (mapc (lambda (type) (setq string (erc-display-message-highlight type string))) type) string) ((symbolp type) (erc-display-message-highlight type string)))) (if (not (erc-response-p parsed)) (erc-display-line string buffer) ;; ;; changes have been made here ;; (if (not (member (erc-response.command parsed) erc-hide-list)) (progn (erc-put-text-property 0 (length string) 'erc-parsed parsed string) (erc-put-text-property 0 (length string) 'rear-sticky t string) (erc-display-line string buffer)) (erc-dump-hidden string "*erc-scratch*")))))