Function: jsonrpc--forwarding-buffer
jsonrpc--forwarding-buffer is a byte-compiled function defined in
jsonrpc.el.gz.
Signature
(jsonrpc--forwarding-buffer NAME PREFIX CONN)
Documentation
Helper for jsonrpc-process-connection(var)/jsonrpc-process-connection(fun) helpers.
Make a stderr buffer named NAME, forwarding lines prefixed by PREFIX to CONN's events buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/jsonrpc.el.gz
(defun jsonrpc--forwarding-buffer (name prefix conn)
"Helper for `jsonrpc-process-connection' helpers.
Make a stderr buffer named NAME, forwarding lines prefixed by
PREFIX to CONN's events buffer."
(with-current-buffer (get-buffer-create name)
(let ((inhibit-read-only t))
(fundamental-mode)
(erase-buffer)
(buffer-disable-undo)
(add-hook
'after-change-functions
(lambda (beg _end _pre-change-len)
(let* ((props (slot-value conn '-events-buffer-config))
(max (plist-get props :size)))
(unless (eql max 0)
(cl-loop initially (goto-char beg)
do (forward-line)
while (bolp)
for line = (buffer-substring
(line-beginning-position 0)
(line-end-position 0))
do (with-current-buffer (jsonrpc-events-buffer conn)
(goto-char (point-max))
(let ((inhibit-read-only t))
(insert
(propertize (format "%s %s\n" prefix line)
'face 'shadow))
(jsonrpc--limit-buffer-size max)))
until (eobp)))))
nil t))
(current-buffer)))