tamago/tamago-5.0.7.1-make-coding-system.patch

241 lines
7.5 KiB
Diff
Raw Normal View History

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)