Function: rfc822-nuke-whitespace

rfc822-nuke-whitespace is a byte-compiled function defined in rfc822.el.gz.

Signature

(rfc822-nuke-whitespace &optional LEAVE-SPACE)

Source Code

;; Defined in /usr/src/emacs/lisp/mail/rfc822.el.gz
(defun rfc822-nuke-whitespace (&optional leave-space)
  (let (ch)
    (while (cond ((eobp)
		  nil)
		 ((= (setq ch (following-char)) ?\()
		  (forward-char 1)
		  (while (if (eobp)
			     (rfc822-bad-address "Unbalanced comment (...)")
			   (/= (setq ch (following-char)) ?\)))
		    (cond ((looking-at "[^()\\]+")
			   (replace-match ""))
			  ((= ch ?\()
			   (rfc822-nuke-whitespace))
			  ((< (point) (1- (point-max)))
			   (delete-char 2))
			  (t
			   (rfc822-bad-address "orphaned backslash"))))
		  ;; delete remaining "()"
		  (forward-char -1)
		  (delete-char 2)
		  t)
		 ((memq ch '(?\  ?\t ?\n))
		  (delete-region (point)
				 (progn (skip-chars-forward " \t\n") (point)))
		  t)
		 (t
		  nil)))
    (or (not leave-space)
	(eobp)
	(bobp)
	(= (preceding-char) ?\ )
	(insert ?\ ))))