691b19afdf
- Add tamago-5.0.7.1-make-coding-system.patch: Fix build with Emacs 28. OBS-URL: https://build.opensuse.org/request/show/1000127 OBS-URL: https://build.opensuse.org/package/show/M17N/tamago?expand=0&rev=13
241 lines
7.5 KiB
Diff
241 lines
7.5 KiB
Diff
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)
|