Accepting request 1000127 from home:1Antoine1:branches:M17N

- 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
This commit is contained in:
Hillwood Yang 2022-08-31 07:56:46 +00:00 committed by Git OBS Bridge
parent 6e4adaf46e
commit 691b19afdf
3 changed files with 253 additions and 4 deletions

View File

@ -0,0 +1,240 @@
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)

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Aug 29 20:34:04 UTC 2022 - antoine.belvire@opensuse.org
- Add tamago-5.0.7.1-make-coding-system.patch: Fix build with Emacs
28.
-------------------------------------------------------------------
Wed Feb 11 21:02:21 UTC 2015 - bkbin005@rinku.zaq.ne.jp

View File

@ -1,7 +1,7 @@
#
# spec file for package tamago
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@ -27,7 +27,7 @@ BuildRequires: emacs-nox >= 23
Requires: emacs >= 23
Version: 5.0.7.1
Release: 0
Url: http://sourceforge.jp/projects/tamago-tsunagi/
URL: http://sourceforge.jp/projects/tamago-tsunagi/
# Other useful, tamago related URLs:
# http://emacs-20.ki.nu/tamago/
# http://cgi18.plala.or.jp/~nyy/canna/
@ -44,10 +44,12 @@ Source3: http://iij.dl.sourceforge.jp/tamago-tsunagi/62684/ISFST99.pdf.bz
Source4: http://iij.dl.sourceforge.jp/tamago-tsunagi/62685/LC99.pdf.bz2
Source5: suse-start.el
Patch0: eggrc.patch
# PATCH-FIX-UPSTREAM tamago-5.0.7.1-make-coding-system.patch -- Fix build with Emacs 28
Patch1: tamago-5.0.7.1-make-coding-system.patch
#BuildRoot: %%{_tmppath}/%%{name}-%%{version}-build
BuildArch: noarch
Summary: Multilingual input method for Emacs
License: GPL-2.0+
License: GPL-2.0-or-later
Group: System/I18n/Japanese
%description
@ -58,6 +60,7 @@ It is completely written in Emacs Lisp and can use the backends FreeWnn
%prep
%setup -q -n %{tsunagiName}-%{version}
%patch0 -p1
%patch1
cp -p $RPM_SOURCE_DIR/suse-start.el .
#cp -p $RPM_SOURCE_DIR/egg-canna.el.bz2 . # deleted 2013-08-27 .