git: d59facdd8f77 - main - editors/tamago: Unbreak with Emacs 28
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 05 Nov 2021 07:49:29 UTC
The branch main has been updated by yasu: URL: https://cgit.FreeBSD.org/ports/commit/?id=d59facdd8f77110a194894cf74806a83b3879893 commit d59facdd8f77110a194894cf74806a83b3879893 Author: Yasuhiro Kimura <yasu@FreeBSD.org> AuthorDate: 2020-09-09 00:26:11 +0000 Commit: Yasuhiro Kimura <yasu@FreeBSD.org> CommitDate: 2021-11-05 07:48:48 +0000 editors/tamago: Unbreak with Emacs 28 PR: 249201 Approved by: maintainer timeout (> 13 months) MFH: 2021Q4 --- editors/tamago/Makefile | 5 +- editors/tamago/files/patch-make-coding-system | 237 ++++++++++++++++++++++++++ 2 files changed, 238 insertions(+), 4 deletions(-) diff --git a/editors/tamago/Makefile b/editors/tamago/Makefile index 7e67201abdd0..fb8c305bce1c 100644 --- a/editors/tamago/Makefile +++ b/editors/tamago/Makefile @@ -3,7 +3,7 @@ PORTNAME= tamago PORTVERSION= 4.0.6.0.20041122.19.14 DISTVERSIONPREFIX= v -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= editors elisp PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX} @@ -13,9 +13,6 @@ COMMENT= Egg V4, Multilingual Input Method for Emacsen LICENSE= GPLv2 USES= emacs -# Fails to build with Emacs 27. -# Temporarily disable devel_full and devel_nox. -EMACS_FLAVORS_EXCLUDE= devel_full devel_nox USE_GITHUB= yes GH_ACCOUNT= hrs-allbsd diff --git a/editors/tamago/files/patch-make-coding-system b/editors/tamago/files/patch-make-coding-system new file mode 100644 index 000000000000..6de81e8bcacd --- /dev/null +++ b/editors/tamago/files/patch-make-coding-system @@ -0,0 +1,237 @@ +diff --git egg-com.el egg-com.el +index 63ebdb5..daab668 100644 +--- egg-com.el ++++ egg-com.el +@@ -99,135 +99,38 @@ + (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) +@@ -687,29 +590,33 @@ 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 +@@ -735,8 +642,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) +diff --git egg-x0213.el egg-x0213.el +index ce13eb3..bb44584 100644 +--- egg-x0213.el ++++ egg-x0213.el +@@ -104,8 +104,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)