Function: rcirc-update-prompt

rcirc-update-prompt is a byte-compiled function defined in rcirc.el.gz.

Signature

(rcirc-update-prompt &optional ALL)

Documentation

Reset the prompt string in the current buffer.

If ALL is non-nil, update prompts in all IRC buffers.

Source Code

;; Defined in /usr/src/emacs/lisp/net/rcirc.el.gz
(defun rcirc-update-prompt (&optional all)
  "Reset the prompt string in the current buffer.

If ALL is non-nil, update prompts in all IRC buffers."
  (if all
      (mapc (lambda (process)
              (mapc (lambda (buffer)
                      (with-current-buffer buffer
                        (rcirc-update-prompt)))
                    (with-rcirc-process-buffer process
                      (mapcar 'cdr rcirc-buffer-alist))))
            (rcirc-process-list))
    (let ((inhibit-read-only t)
          (prompt (or rcirc-prompt "")))
      (mapc (lambda (rep)
              (setq prompt
                    (replace-regexp-in-string (car rep) (cdr rep) prompt)))
            (list (cons "%n" (rcirc-buffer-nick))
                  (cons "%s" (with-rcirc-server-buffer rcirc-server-name))
                  (cons "%t" (or rcirc-target ""))))
      (save-excursion
        (delete-region rcirc-prompt-start-marker rcirc-prompt-end-marker)
        (goto-char rcirc-prompt-start-marker)
        (let ((start (point)))
          (insert-before-markers prompt)
          (set-marker rcirc-prompt-start-marker start)
          (when (not (zerop (- rcirc-prompt-end-marker
                               rcirc-prompt-start-marker)))
            (add-text-properties rcirc-prompt-start-marker
                                 rcirc-prompt-end-marker
                                 (list 'face 'rcirc-prompt
                                       'read-only t 'field t
                                       'front-sticky t 'rear-nonsticky t))))))))