From 5ed1e373ba7fe1e36cfbf3dbcd618c6ce974643e Mon Sep 17 00:00:00 2001 From: morioka Date: Tue, 17 Dec 1996 11:01:47 +0000 Subject: [PATCH] (std11-wrap-as-quoted-pairs): New function. (std11-wrap-as-quoted-string): Use function `std11-wrap-as-quoted-pairs'. --- std11.el | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/std11.el b/std11.el index e5d6c2c..24a71a7 100644 --- a/std11.el +++ b/std11.el @@ -4,7 +4,7 @@ ;; Author: MORIOKA Tomohiko ;; Keywords: mail, news, RFC 822, STD 11 -;; Version: $Id: std11.el,v 0.37 1996-12-16 07:12:38 morioka Exp $ +;; Version: $Id: std11.el,v 0.38 1996-12-17 11:01:47 morioka Exp $ ;; This file is part of MU (Message Utilities). @@ -200,18 +200,29 @@ If BOUNDARY is not nil, it is used as message header separator. ;;; @ quoted-string ;;; +(defun std11-wrap-as-quoted-pairs (string specials) + (let (dest + (i 0) + (b 0) + (len (length string)) + ) + (while (< i len) + (let ((chr (aref string i))) + (if (memq chr specials) + (setq dest (concat dest (substring string b i) "\\") + b i) + )) + (setq i (1+ i)) + ) + (concat dest (substring string b)) + )) + (defconst std11-non-qtext-char-list '(?\" ?\\ ?\r ?\n)) (defun std11-wrap-as-quoted-string (string) "Wrap STRING as RFC 822 quoted-string. [std11.el]" (concat "\"" - (mapconcat (function - (lambda (chr) - (if (memq chr std11-non-qtext-char-list) - (concat "\\" (char-to-string chr)) - (char-to-string chr) - ) - )) string "") + (std11-wrap-as-quoted-pairs string std11-non-qtext-char-list) "\"")) (defun std11-strip-quoted-pair (string) -- 1.7.10.4