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)))))