comparison lisp/international/utf-7.el @ 51630:90215b7be64d

Adjusted for the name change: xxx-utf-16-{le,be} -> xxx-utf-16{le,be}.
author Kenichi Handa <handa@m17n.org>
date Sat, 21 Jun 2003 02:25:38 +0000
parents 289523dd4fa7
children 695cf19ef79e
comparison
equal deleted inserted replaced
51629:0333f026178a 51630:90215b7be64d
38 38
39 (make-coding-system 39 (make-coding-system
40 'utf-7 0 ?U 40 'utf-7 0 ?U
41 "UTF-7 encoding of Unicode (RFC 2152)" 41 "UTF-7 encoding of Unicode (RFC 2152)"
42 nil 42 nil
43 `((safe-chars . ,(coding-system-get 'utf-16-be 'safe-chars)) 43 `((safe-chars . ,(coding-system-get 'utf-16be 'safe-chars))
44 (mime-charset . utf-7) 44 (mime-charset . utf-7)
45 (pre-write-conversion . utf-7-pre-write-conversion) 45 (pre-write-conversion . utf-7-pre-write-conversion)
46 (post-read-conversion . utf-7-post-read-conversion))) 46 (post-read-conversion . utf-7-post-read-conversion)))
47 47
48 ;; (make-coding-system 48 ;; (make-coding-system
49 ;; 'utf-7-imap 0 ?u 49 ;; 'utf-7-imap 0 ?u
50 ;; "UTF-7 encoding of Unicode, IMAP version (RFC 2060)" 50 ;; "UTF-7 encoding of Unicode, IMAP version (RFC 2060)"
51 ;; nil 51 ;; nil
52 ;; `((safe-chars . ,(coding-system-get 'utf-16-be 'safe-chars)) 52 ;; `((safe-chars . ,(coding-system-get 'utf-16be 'safe-chars))
53 ;; (pre-write-conversion . utf-7-imap-pre-write-conversion) 53 ;; (pre-write-conversion . utf-7-imap-pre-write-conversion)
54 ;; (post-read-conversion . utf-7-imap-post-read-conversion))) 54 ;; (post-read-conversion . utf-7-imap-post-read-conversion)))
55 55
56 (defun utf-7-decode (len imap) 56 (defun utf-7-decode (len imap)
57 "Decode LEN bytes of UTF-7 at point. 57 "Decode LEN bytes of UTF-7 at point.
73 (let ((pl (mod (- run-length) 4))) 73 (let ((pl (mod (- run-length) 4)))
74 (insert-char ?= pl) 74 (insert-char ?= pl)
75 (if imap 75 (if imap
76 (subst-char-in-region p (point) ?, ?/)) 76 (subst-char-in-region p (point) ?, ?/))
77 (base64-decode-region p (point))) 77 (base64-decode-region p (point)))
78 (decode-coding-region p (point) 'utf-16-be) 78 (decode-coding-region p (point) 'utf-16be)
79 (save-excursion 79 (save-excursion
80 (goto-char p) 80 (goto-char p)
81 (delete-backward-char 1))))))) 81 (delete-backward-char 1)))))))
82 (- (point-max) (point-min))))) 82 (- (point-max) (point-min)))))
83 83
114 (let ((p (point))) 114 (let ((p (point)))
115 (skip-chars-forward not-skip-chars) 115 (skip-chars-forward not-skip-chars)
116 (save-restriction 116 (save-restriction
117 ;; encode-coding-region doesn't preserve point 117 ;; encode-coding-region doesn't preserve point
118 (narrow-to-region p (point)) 118 (narrow-to-region p (point))
119 (encode-coding-region p (point-max) 'utf-16-be) 119 (encode-coding-region p (point-max) 'utf-16be)
120 (base64-encode-region p (point-max)) 120 (base64-encode-region p (point-max))
121 (if imap 121 (if imap
122 (subst-char-in-region p (point-max) ?/ ?,)) 122 (subst-char-in-region p (point-max) ?/ ?,))
123 (goto-char p) 123 (goto-char p)
124 ;; As I read the RFC, this isn't correct, but it's 124 ;; As I read the RFC, this isn't correct, but it's