Function: rcirc-split-message

rcirc-split-message is a byte-compiled function defined in rcirc.el.gz.

Signature

(rcirc-split-message MESSAGE)

Documentation

Split MESSAGE into chunks within rcirc-max-message-length.

Source Code

;; Defined in /usr/src/emacs/lisp/net/rcirc.el.gz
(defun rcirc-split-message (message)
  "Split MESSAGE into chunks within `rcirc-max-message-length'."
  ;; `rcirc-encode-coding-system' can have buffer-local value.
  (let ((encoding rcirc-encode-coding-system))
    (with-temp-buffer
      (insert message)
      (goto-char (point-min))
      (let (result)
	(while (not (eobp))
	  (goto-char (or (byte-to-position rcirc-max-message-length)
			 (point-max)))
	  ;; max message length is 512 including CRLF
	  (while (and (not (bobp))
		      (> (length (encode-coding-region
				  (point-min) (point) encoding t))
			 rcirc-max-message-length))
	    (forward-char -1))
	  (push (delete-and-extract-region (point-min) (point)) result))
	(nreverse result)))))