File tamago-5.0.7.1-make-coding-system.patch of Package tamago

Picked from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249201 and
rebased.

Replace make-coding-system (obsolete and not available anymore) by
define-coding-system.

--- egg-com.el
+++ egg-com.el
@@ -97,135 +97,37 @@
     (prog1 (- (point) pos)
       (goto-char pos))))
 
-(if (and (fboundp 'make-coding-system)
-         (null (get 'make-coding-system 'byte-obsolete-info)))
-;; since Emacs 23.1, make-coding-system has been marked as obsolete. 
-    (eval-and-compile
-	(define-ccl-program ccl-decode-fixed-euc-jp
-	  `(2
-	    ((r2 = ,(charset-id 'japanese-jisx0208))
-	     (r3 = ,(charset-id 'japanese-jisx0212))
-	     (r4 = ,(charset-id 'katakana-jisx0201))
-	     (read r0)
-	     (loop
-	      (read r1)
-	      (if (r0 < ?\x80)
-		  ((r0 = r1)
-		   (if (r1 < ?\x80)
-		       (write-read-repeat r0))
-		   (write r4)
-		   (write-read-repeat r0))
-		((if (r1 > ?\x80)
-		     ((write r2 r0)
-		      (r0 = r1)
-		      (write-read-repeat r0))
-		   ((write r3 r0)
-		    (r0 = (r1 | ?\x80))
-		    (write-read-repeat r0)))))))))
-
-	(define-ccl-program ccl-encode-fixed-euc-jp
-	  `(2
-	    ((read r0)
-	     (loop
-	      (if (r0 == ,(charset-id 'latin-jisx0201))                   ; Unify
-		  ((read r0)
-		   (r0 &= ?\x7f)))
-	      (if (r0 < ?\x80)                                            ;G0
-		  ((write 0)
-		   (write-read-repeat r0)))
-	      (r6 = (r0 == ,(charset-id 'japanese-jisx0208)))
-	      (r6 |= (r0 == ,(charset-id 'japanese-jisx0208-1978)))
-	      (if r6                                                      ;G1
-		  ((read r0)
-		   (write r0)
-		   (read r0)
-		   (write-read-repeat r0)))
-	      (if (r0 == ,(charset-id 'katakana-jisx0201))                ;G2
-		  ((read r0)
-		   (write 0)
-		   (write-read-repeat r0)))
-	      (if (r0 == ,(charset-id 'japanese-jisx0212))                ;G3
-		  ((read r0)
-		   (write r0)
-		   (read r0)
-		   (r0 &= ?\x7f)
-		   (write-read-repeat r0)))
-	      (read r0)
-	      (repeat)))))
-	(make-coding-system 'fixed-euc-jp 4 ?W "Coding System for fixed EUC Japanese"
-			    (cons ccl-decode-fixed-euc-jp ccl-encode-fixed-euc-jp))
-	)
-    (eval-and-compile
-    ;; since Emacs 23.1, make-coding-system has been marked as obsolete. 
-    ;; From Handa-san. [mule-ja : No.09414]
-    (define-charset 'fixed-euc-jp
-      "Fixed EUC Japanese"
-      :dimension 2
-      :superset '(ascii
-		  (katakana-jisx0201 . #x80)
-		  (japanese-jisx0208 . #x8080)
-		  (japanese-jisx0212 . #x8000)))
-    (define-coding-system 'fixed-euc-jp
-      "Coding System for fixed EUC Japanese"
-      :mnemonic ?W
-      :coding-type 'charset
-      :charset-list '(fixed-euc-jp))
-    )
+(eval-and-compile
+  (define-charset 'fixed-euc-jp
+    "Fixed EUC Japanese"
+    :dimension 2
+    :superset '(ascii
+		(katakana-jisx0201 . #x80)
+		(japanese-jisx0208 . #x8080)
+		(japanese-jisx0212 . #x8000)))
+  (define-coding-system 'fixed-euc-jp
+    "Coding System for fixed EUC Japanese"
+    :mnemonic ?W
+    :coding-type 'charset
+    :charset-list '(fixed-euc-jp))
   )
 
 ;; Korean
-
-(if (and (fboundp 'make-coding-system)
-         (null (get 'make-coding-system 'byte-obsolete-info)))
-;; since Emacs 23.1, make-coding-system has been marked as obsolete. 
-    (eval-and-compile
-(define-ccl-program ccl-decode-fixed-euc-kr
-  `(2
-    ((r2 = ,(charset-id 'korean-ksc5601))
-     (read r0)
-     (loop
-      (read r1)
-      (if (r0 < ?\x80)
-	  (r0 = r1 & ?\x7f)
-	((write r2 r0)
-	 (r0 = r1 | ?\x80)))
-      (write-read-repeat r0)))))
-
-(define-ccl-program ccl-encode-fixed-euc-kr
-  `(2
-    ((read r0)
-     (loop
-      (if (r0 < ?\x80)
-	  ((write 0)
-	   (write-read-repeat r0)))
-      (if (r0 == ,(charset-id 'korean-ksc5601))
-	  ((read r0)
-	   (write r0)
-	   (read r0)
-	   (write-read-repeat r0)))
-      (read r0)
-      (repeat)))))
-(make-coding-system 'fixed-euc-kr 4 ?W "Coding System for fixed EUC Korean"
-		    (cons ccl-decode-fixed-euc-kr ccl-encode-fixed-euc-kr)))
-    (eval-and-compile
-    ;; since Emacs 23.1, make-coding-system has been marked as obsolete. 
-    (define-charset 'fixed-euc-kr
-      "Fixed EUC Korean"
-      :dimension 2
-      :superset '(ascii
-		  (korean-ksc5601 . #x8080)))
-    (define-coding-system 'fixed-euc-kr
-      "Coding System for fixed EUC Korean"
-      :mnemonic ?W
-      :coding-type 'charset
-      :charset-list '(fixed-euc-kr))
-    )
-)
-
+(eval-and-compile
+  (define-charset 'fixed-euc-kr
+    "Fixed EUC Korean"
+    :dimension 2
+    :superset '(ascii
+		(korean-ksc5601 . #x8080)))
+  (define-coding-system 'fixed-euc-kr
+    "Coding System for fixed EUC Korean"
+    :mnemonic ?W
+    :coding-type 'charset
+    :charset-list '(fixed-euc-kr))
+  )
 
 ;; Chinese
 ;;
-;; TODO: convert an obsolete make-coding-system to define-coding-system.
 
 (defconst egg-pinyin-shengmu
   '((""  . 0)  ("B" . 1)  ("C"  . 2)  ("Ch" . 3)  ("D" . 4)
@@ -685,29 +587,34 @@ Return the length of resulting text."
 (defun post-read-decode-euc-zy-tw (len)
   (post-read-decode-fixed-euc-china len 'tw t))
 
-(make-coding-system 'fixed-euc-py-cn 0 ?W
-		    "Coding System for fixed EUC Chinese-gb2312")
+
+(define-coding-system
+  'fixed-euc-py-cn "Coding System for fixed EUC Chinese-gb2312"
+  :mnemonic ?W :coding-type 'emacs-mule)
 (coding-system-put 'fixed-euc-py-cn
 		   'pre-write-conversion 'pre-write-encode-euc-cn)
 (coding-system-put 'fixed-euc-py-cn
 		   'post-read-conversion 'post-read-decode-euc-py-cn)
 
-(make-coding-system 'fixed-euc-zy-cn 0 ?W
-		    "Coding System for fixed EUC Chinese-gb2312")
+(define-coding-system
+  'fixed-euc-zy-cn "Coding System for fixed EUC Chinese-gb2312"
+  :mnemonic ?W :coding-type 'emacs-mule)
 (coding-system-put 'fixed-euc-zy-cn
 		   'pre-write-conversion 'pre-write-encode-euc-cn)
 (coding-system-put 'fixed-euc-zy-cn
 		   'post-read-conversion 'post-read-decode-euc-zy-cn)
 
-(make-coding-system 'fixed-euc-py-tw 0 ?W
-		    "Coding System for fixed EUC Chinese-cns11643")
+(define-coding-system
+  'fixed-euc-py-tw "Coding System for fixed EUC Chinese-cns11643"
+  :mnemonic ?W :coding-type 'emacs-mule)
 (coding-system-put 'fixed-euc-py-tw
 		   'pre-write-conversion 'pre-write-encode-euc-tw)
 (coding-system-put 'fixed-euc-py-tw
 		   'post-read-conversion 'post-read-decode-euc-py-tw)
 
-(make-coding-system 'fixed-euc-zy-tw 0 ?W
-		    "Coding System for fixed EUC Chinese-cns11643")
+(define-coding-system
+  'fixed-euc-zy-tw "Coding System for fixed EUC Chinese-cns11643"
+  :mnemonic ?W :coding-type 'emacs-mule)
 (coding-system-put 'fixed-euc-zy-tw
 		   'pre-write-conversion 'pre-write-encode-euc-tw)
 (coding-system-put 'fixed-euc-zy-tw
@@ -733,8 +640,9 @@ Return the length of resulting text."
 	   (r0 = 0)))
       (write-read-repeat r0))))))
 
-(make-coding-system 'egg-binary 4 ?W "Coding System for binary data"
-		    (cons ccl-decode-egg-binary ccl-encode-egg-binary))
+(define-coding-system 'egg-binary "Coding System for binary data"
+  :mnemonic ?W :coding-type 'ccl :ccl-decoder ccl-decode-egg-binary
+  :ccl-encoder ccl-encode-egg-binary)
 
 
 (defun comm-format-u32c (uint32c)
--- egg-x0213.el
+++ egg-x0213.el
@@ -102,8 +102,10 @@
               (repeat)))
          (repeat)))))
 
-   (make-coding-system 
-    'fixed-euc-jisx0213 4 ?W "Coding System for fixed EUC Japanese"
-    (cons ccl-decode-fixed-euc-jisx0213 ccl-encode-fixed-euc-jisx0213))))
+   (define-coding-system
+     'fixed-euc-jisx0213 "Coding System for fixed EUC Japanese"
+     :mnemonic ?W :coding-type 'ccl
+     :ccl-decoder ccl-decode-fixed-euc-jisx0213
+     :ccl-encoder ccl-encode-fixed-euc-jisx0213)))
 
 (provide 'egg-x0213)
openSUSE Build Service is sponsored by