;;;
-;;; $Id: mel-q.el,v 1.5 1995/06/26 05:56:39 morioka Exp $
+;;; $Id: mel-q.el,v 3.0 1995/11/02 03:48:01 morioka Exp $
;;;
;;; @ constants
(let ((i 0))
(mapconcat (function
(lambda (chr)
- (cond ((or (< chr 32) (< 126 chr) (eq chr ?=))
+ (cond ((eq chr ?\n)
+ (setq i 0)
+ "\n")
+ ((or (< chr 32) (< 126 chr) (eq chr ?=))
(if (>= i 73)
(progn
- (setq i 0)
+ (setq i 3)
(concat "=\n" (quoted-printable-quote-char chr))
)
(progn
)))
(t (if (>= i 75)
(progn
- (setq i 0)
+ (setq i 1)
(concat "=\n" (char-to-string chr))
)
(progn
(save-excursion
(save-restriction
(narrow-to-region beg end)
- (goto-char (point-min))
- (while (re-search-forward "^.*$" nil t)
- (replace-match
- (quoted-printable-encode-string
- (buffer-substring (match-beginning 0)(match-end 0))
- ))
- ))))
+ (let ((str (buffer-substring beg end)))
+ (delete-region beg end)
+ (insert (quoted-printable-encode-string str))
+ )
+ (or (bolp)
+ (insert "=\n")
+ )
+ )))
(defun quoted-printable-internal-decode-region (beg end)
(save-excursion
(setq b (match-beginning 0))
(setq e (match-end 0))
(setq str (buffer-substring b e))
- (replace-match (quoted-printable-decode-string str))
+ (delete-region b e)
+ (insert (quoted-printable-decode-string str))
))
)))
(defun quoted-printable-external-encode-region (beg end)
(save-excursion
- (apply (function call-process-region)
- beg end (car quoted-printable-external-encoder)
- t t nil (cdr quoted-printable-external-encoder))
- ))
+ (save-restriction
+ (narrow-to-region beg end)
+ (let ((selective-display nil) ;Disable ^M to nl translation.
+ (mc-flag nil) ;Mule
+ (kanji-flag nil)) ;NEmacs
+ (apply (function call-process-region)
+ beg end (car quoted-printable-external-encoder)
+ t t nil (cdr quoted-printable-external-encoder))
+ )
+ ;; for OS/2
+ ;; regularize line break code
+ (goto-char (point-min))
+ (while (re-search-forward "\r$" nil t)
+ (replace-match "")
+ )
+ )))
(defun quoted-printable-external-decode-region (beg end)
(save-excursion
- (apply (function call-process-region)
- beg end (car quoted-printable-external-decoder)
- t t nil (cdr quoted-printable-external-decoder))
- ))
+ (let ((selective-display nil) ;Disable ^M to nl translation.
+ (mc-flag nil) ;Mule
+ (kanji-flag nil)) ;NEmacs
+ (apply (function call-process-region)
+ beg end (car quoted-printable-external-decoder)
+ t t nil (cdr quoted-printable-external-decoder))
+ )))
(defun quoted-printable-encode-region (beg end)
(interactive "r")
(defun q-encoding-encode-string-for-phrase (str)
(mapconcat (function
(lambda (chr)
- (cond ((or (and (<= ?A chr)(<= chr ?Z))
+ (cond ((eq chr 32) "_")
+ ((or (and (<= ?A chr)(<= chr ?Z))
(and (<= ?a chr)(<= chr ?z))
(and (<= ?0 chr)(<= chr ?9))
(memq chr '(?! ?* ?+ ?- ?/))
((eq mode 'comment)
(q-encoding-encode-string-for-comment str)
)
- ((eq mode 'phrase)
+ (t
(q-encoding-encode-string-for-phrase str)
- )
- (t (quoted-printable-encode-string str))
- ))
+ )))
(defun q-encoding-decode-string (str)
(let (q h l)
;;; @ end
;;;
-(provide 'qprint)
+(provide 'mel-q)