update.
[elisp/flim.git] / mel-q-ccl.el
index 17b58be..dc84735 100644 (file)
@@ -248,6 +248,10 @@ abcdefghijklmnopqrstuvwxyz\
       ,succ
       ,fail-crlf))))
 
+)
+
+(eval-when-compile
+
 ;; Generated CCL program works not properly on 20.2 because CCL_EOF_BLOCK
 ;; is not executed.
 (defun mel-ccl-encode-quoted-printable-generic (input-crlf output-crlf)
@@ -496,7 +500,7 @@ abcdefghijklmnopqrstuvwxyz\
               (write ,(if output-crlf "=\r\n" "=\n"))
               (write r0)
               (write "=0D")
-              (r0 = r1)
+              (r0 = (r1 + 0)) ; "+ 0" is workaround for mule 2.3@19.34.
               (break))
              ;; r0:r3=ENC CR r1:noLF
              ((r6 = 6)
@@ -505,7 +509,7 @@ abcdefghijklmnopqrstuvwxyz\
               (write r0 ,mel-ccl-high-table)
               (write r0 ,mel-ccl-low-table)
               (write "=0D")
-              (r0 = r1)
+              (r0 = (r1 + 0))
               (break))))
           ;; r0:r3={RAW,ENC} r1:noCR
           ;; r0:r3={RAW,ENC} r1:noCRLF
@@ -517,7 +521,7 @@ abcdefghijklmnopqrstuvwxyz\
               (r5 = 0)
               (write ,(if output-crlf "=\r\n" "=\n"))
               (write r0)
-              (r0 = r1)
+              (r0 = (r1 + 0))
               (break))
              ;; r0:r3=ENC r1:noCR
              ;; r0:r3=ENC r1:noCRLF
@@ -526,7 +530,7 @@ abcdefghijklmnopqrstuvwxyz\
               (write ,(if output-crlf "=\r\n=" "=\n="))
               (write r0 ,mel-ccl-high-table)
               (write r0 ,mel-ccl-low-table)
-              (r0 = r1)
+              (r0 = (r1 + 0))
               (break)))))))
       (repeat)))
     ;; EOF
@@ -712,7 +716,7 @@ abcdefghijklmnopqrstuvwxyz\
                          ((setq tmp (nth r0 mel-ccl-256-to-16-table))
                           ;; '=' [\t ]* r0:[0-9A-F]
                           ;; upper nibble of hexadecimal digit found.
-                          `((r1 = r0)
+                          `((r1 = (r0 + 0))
                            (r0 = ,tmp)))
                          (t
                           ;; '=' [\t ]* r0:[^\r0-9A-F]
@@ -744,7 +748,7 @@ abcdefghijklmnopqrstuvwxyz\
                   ;; invalid input ->
                   ;; output "=" with hex digit and rescan from r2.
                   (write ?=)
-                  (r0 = r2)
+                  (r0 = (r2 + 0))
                   (write-repeat r1)))
                (t
                 ;; r0:[^\t\r -~]
@@ -918,8 +922,8 @@ abcdefghijklmnopqrstuvwxyz\
   (defun quoted-printable-ccl-insert-encoded-file (filename)
     "Encode contents of the file named as FILENAME, and insert it."
     (interactive (list (read-file-name "Insert encoded file: ")))
-    (let ((coding-system-for-read 'mel-ccl-quoted-printable-lf-lf-rev))
-      (insert-file-contents filename)))
+    (insert-file-contents-as-coding-system
+     'mel-ccl-quoted-printable-lf-lf-rev filename))
 
   (mel-define-method-function
    (mime-encode-string string (nil "quoted-printable"))
@@ -950,8 +954,8 @@ encoding."
   (interactive
    (list (region-beginning) (region-end)
          (read-file-name "Write decoded region to file: ")))
-  (let ((coding-system-for-write 'mel-ccl-quoted-printable-lf-lf-rev))
-    (write-region start end filename)))
+  (write-region-as-coding-system 'mel-ccl-quoted-printable-lf-lf-rev
+                                start end filename))
 
 (mel-define-method-function
  (mime-decode-string string (nil "quoted-printable"))