tamago/tamago-5.0.7.1-make-coding-system.patch
2022-08-31 07:56:46 +00:00

241 lines
7.5 KiB
Diff
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)