summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2009-08-17 16:05:32 +0000
committertaca <taca@pkgsrc.org>2009-08-17 16:05:32 +0000
commitd0d94e31a9e93ab6d166e6f85eb129b9cd0b5a25 (patch)
tree275232c376515df0e92bebcc4df9800e5c67517e /editors
parent011b8c3c52041f516a83f3ddfbf2fa0ad32c0c76 (diff)
downloadpkgsrc-d0d94e31a9e93ab6d166e6f85eb129b9cd0b5a25.tar.gz
Revert previous. It didn't work on emacs22.
Diffstat (limited to 'editors')
-rw-r--r--editors/tamago/Makefile4
-rw-r--r--editors/tamago/distinfo5
-rw-r--r--editors/tamago/patches/patch-aa176
-rw-r--r--editors/tamago/patches/patch-ab328
4 files changed, 179 insertions, 334 deletions
diff --git a/editors/tamago/Makefile b/editors/tamago/Makefile
index 466eb816ddc..1948deff3f1 100644
--- a/editors/tamago/Makefile
+++ b/editors/tamago/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.22 2009/08/17 15:28:24 taca Exp $
+# $NetBSD: Makefile,v 1.23 2009/08/17 16:05:32 taca Exp $
DISTNAME= tamago-4.0.6
PKGNAME= ${EMACS_PKGNAME_PREFIX}tamago-20020909
-PKGREVISION= 4
+PKGREVISION= 3
CATEGORIES= editors
MASTER_SITES= http://unit.aist.go.jp/itri/itri-gist/ftp.m17n.org/pub/tamago/
diff --git a/editors/tamago/distinfo b/editors/tamago/distinfo
index 0afa8f36d1e..a206c930a24 100644
--- a/editors/tamago/distinfo
+++ b/editors/tamago/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.9 2009/08/17 15:28:24 taca Exp $
+$NetBSD: distinfo,v 1.10 2009/08/17 16:05:32 taca Exp $
SHA1 (tamago-4.0.6.tar.gz) = f1ae53cbcdeb5f2aad9d90d75742efe2fcd83d39
RMD160 (tamago-4.0.6.tar.gz) = 6b744b5e8e512d3dc05f3483ac9b76b0f4eaa968
Size (tamago-4.0.6.tar.gz) = 260021 bytes
-SHA1 (patch-aa) = b5b51bc45794adbe047aad011c3e0d18fe69eae9
-SHA1 (patch-ab) = d951d6f229b1c30a44ba46aff0384777e667f353
+SHA1 (patch-aa) = 21d8bfed2478c8c49f366f49a7409c704799c5b2
diff --git a/editors/tamago/patches/patch-aa b/editors/tamago/patches/patch-aa
index b2e7e7bedeb..806e2a06d9e 100644
--- a/editors/tamago/patches/patch-aa
+++ b/editors/tamago/patches/patch-aa
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.9 2009/08/17 15:28:23 taca Exp $
+$NetBSD: patch-aa,v 1.10 2009/08/17 16:05:32 taca Exp $
Index: AUTHORS
===================================================================
@@ -6091,6 +6091,180 @@ diff -d -u -p -r1.1.1.2 -r1.4
-;;; egg-cnv.el ends here.
+
+;;; egg-cnv.el ends here
+Index: egg-com.el
+===================================================================
+RCS file: /cvs/tamago/tamago/egg-com.el,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -d -u -p -r1.1.1.1 -r1.2
+--- egg-com.el 27 Jan 2001 18:45:24 -0000 1.1.1.1
++++ egg-com.el 27 Jan 2001 18:53:13 -0000 1.2
+@@ -136,6 +136,7 @@
+ (cons ccl-decode-fixed-euc-kr ccl-encode-fixed-euc-kr))
+
+ ;; Chinese
++
+ (defconst egg-pinyin-shengmu
+ '(("" . 0) ("B" . 1) ("C" . 2) ("Ch" . 3) ("D" . 4)
+ ("F" . 5) ("G" . 6) ("H" . 7) ("J" . 8) ("K" . 9)
+@@ -521,53 +522,60 @@
+ (defun decode-fixed-euc-china-region (beg end type zhuyin)
+ "Decode EUC-CN/TW encoded text in the region.
+ Return the length of resulting text."
+- (prog1
+- (let ((str (string-as-unibyte (buffer-substring beg end)))
+- (i 0)
+- l c0 c1 s y ss)
+- (delete-region beg end)
+- (setq l (1- (length str)))
+- (while (< i l)
+- (setq c0 (aref str i)
+- c1 (aref str (1+ i))
+- i (+ i 2))
+- (cond
+- ((eq c0 0)
+- (if (> c1 ?\xa0)
+- (insert leading-code-private-11
+- (charset-id 'chinese-sisheng)
+- c1)
+- (insert c1)))
+- ((>= c0 ?\x80)
+- (cond
+- ((eq type 'cn)
+- (insert (charset-id 'chinese-gb2312) c0 (logior c1 ?\x80)))
+- ((>= c1 ?\x80)
+- (insert (charset-id 'chinese-cns11643-1) c0 c1))
+- (t
+- (insert (charset-id 'chinese-cns11643-2) c0 (+ c1 ?\x80)))))
+- (t
+- (setq c1 (logand c1 ?\x7f))
+- (setq s (- (lsh c1 -2) 7);;(+ (lsh (- c1 32) -2) 1)
+- y (- (lsh c0 -1) 16);;(lsh (- c0 32) -1)
+- ss (+ (logand c0 1) (logand c1 3)))
+- (if (and (eq s 20)
+- (eq (aref egg-pinyin-table (+ (* 39 20) y)) 0))
+- (setq s 0))
+- (if (null zhuyin)
+- (setq s (car (nth s egg-pinyin-shengmu))
+- y (car (nth (+ (* 5 y) ss) egg-pinyin-yunmu)))
+- (setq c0 (aref egg-zhuyin-table (+ (* 41 s) y)))
+- (if (eq (logand c0 ?\x8080) ?\x80)
+- (setq s (lsh c0 -8)
+- y (logand c0 ?\x7f)))
+- (setq s (car (nth s egg-zhuyin-shengmu))
+- y (car (nth (+ (* 5 y) ss) egg-zhuyin-yunmu))))
+- (if enable-multibyte-characters
+- (insert s y)
+- (insert (string-as-unibyte s) (string-as-unibyte y))))))
+- (- (point) beg))
+- (if (looking-at "\0\0") (forward-char 2))))
++ (let ((str (string-as-unibyte (buffer-substring beg end)))
++ (i 0)
++ (char (make-string 3 0))
++ l c0 c1 s y ss)
++ (delete-region beg end)
++ (setq l (1- (length str)))
++ (while (< i l)
++ (setq c0 (aref str i)
++ c1 (aref str (1+ i))
++ i (+ i 2))
++ (cond
++ ((eq c0 0)
++ (if (<= c1 ?\xa0)
++ (insert c1)
++ (aset char 0 leading-code-private-11)
++ (aset char 1 (charset-id 'chinese-sisheng))
++ (aset char 2 c1)
++ (insert (string-as-multibyte char))))
++ ((>= c0 ?\x80)
++ (cond
++ ((eq type 'cn)
++ (aset char 0 (charset-id 'chinese-gb2312))
++ (aset char 1 c0)
++ (aset char 2 (logior c1 ?\x80)))
++ ((>= c1 ?\x80)
++ (aset char 0 (charset-id 'chinese-cns11643-1))
++ (aset char 1 c0)
++ (aset char 2 c1))
++ (t
++ (aset char 0 (charset-id 'chinese-cns11643-2))
++ (aset char 1 c0)
++ (aset char 2 (+ c1 ?\x80))))
++ (insert (string-as-multibyte char)))
++ (t
++ (setq c1 (logand c1 ?\x7f))
++ (setq s (- (lsh c1 -2) 7);;(+ (lsh (- c1 32) -2) 1)
++ y (- (lsh c0 -1) 16);;(lsh (- c0 32) -1)
++ ss (+ (logand c0 1) (logand c1 3)))
++ (if (and (eq s 20)
++ (eq (aref egg-pinyin-table (+ (* 39 20) y)) 0))
++ (setq s 0))
++ (if (null zhuyin)
++ (setq s (car (nth s egg-pinyin-shengmu))
++ y (car (nth (+ (* 5 y) ss) egg-pinyin-yunmu)))
++ (setq c0 (aref egg-zhuyin-table (+ (* 41 s) y)))
++ (if (eq (logand c0 ?\x8080) ?\x80)
++ (setq s (lsh c0 -8)
++ y (logand c0 ?\x7f)))
++ (setq s (car (nth s egg-zhuyin-shengmu))
++ y (car (nth (+ (* 5 y) ss) egg-zhuyin-yunmu))))
++ (if enable-multibyte-characters
++ (insert s y)
++ (insert (string-as-unibyte s) (string-as-unibyte y))))))
++ (- (point) beg)))
+
+ (defun post-read-decode-fixed-euc-china (len type zhuyin)
+ (let ((pos (point))
+@@ -620,7 +628,7 @@ Return the length of resulting text."
+
+ (eval-and-compile
+ (define-ccl-program ccl-decode-egg-binary
+- `(2
++ `(1
+ ((read r0)
+ (loop
+ (if (r0 == ?\xff)
+@@ -628,7 +636,7 @@ Return the length of resulting text."
+ (write-read-repeat r0)))))
+
+ (define-ccl-program ccl-encode-egg-binary
+- `(1
++ `(2
+ ((read r0)
+ (loop
+ (if (r0 == ?\xff)
+@@ -705,6 +713,7 @@ U: 32-bit integer. The argument is 2 el
+ u: 32-bit integer. The argument is treat as unsigned integer.
+ (Note: Elisp's integer may be less than 32 bits)
+ i: 32-bit integer.
++ (Note: Elisp's integer may be greater than 32 bits)
+ w: 16-bit integer.
+ b: 8-bit integer.
+ S: 16-bit wide-character EUC string (0x0000 terminated).
+@@ -776,6 +785,14 @@ V: Fixed length string (0x00 terminated)
+ (+ (lsh (comm-following+forward-char) 8)
+ (comm-following+forward-char)))))
+
++(defun comm-unpack-i32 ()
++ (progn
++ (comm-require-process-output 4)
++ (+ (lsh (- (logxor (comm-following+forward-char) 128) 128) 24)
++ (lsh (comm-following+forward-char) 16)
++ (lsh (comm-following+forward-char) 8)
++ (comm-following+forward-char))))
++
+ (defun comm-unpack-u32 ()
+ (progn
+ (comm-require-process-output 4)
+@@ -852,7 +869,7 @@ See `comm-format' for FORMAT."
+ (list
+ (cond ((eq f 'U) `(setq ,arg (comm-unpack-u32c)))
+ ((eq f 'u) `(setq ,arg (comm-unpack-u32)))
+- ((eq f 'i) `(setq ,arg (comm-unpack-u32)))
++ ((eq f 'i) `(setq ,arg (comm-unpack-i32)))
+ ((eq f 'w) `(setq ,arg (comm-unpack-u16)))
+ ((eq f 'b) `(setq ,arg (comm-unpack-u8)))
+ ((eq f 'S) `(setq ,arg (comm-unpack-u16-string)))
Index: egg-mlh.el
===================================================================
RCS file: /cvs/tamago/tamago/egg-mlh.el,v
diff --git a/editors/tamago/patches/patch-ab b/editors/tamago/patches/patch-ab
deleted file mode 100644
index d22a6530b56..00000000000
--- a/editors/tamago/patches/patch-ab
+++ /dev/null
@@ -1,328 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2009/08/17 15:28:23 taca Exp $
-
---- egg-com.el.orig 2000-01-04 15:49:56.000000000 +0900
-+++ egg-com.el
-@@ -44,62 +44,101 @@
-
- ;; Japanese
-
--(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))
-+(cond
-+ ((string-match "^\\(20\\|21\\|22\\)" emacs-version)
-+ (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)))
-+ (t
-+ (defun fixed-euc-jp-pre-write-conversion (from to)
-+ (let ((work-buf (generate-new-buffer " *temp*"))
-+ ch)
-+ (if (stringp from)
-+ (encode-coding-string from 'euc-japan nil work-buf)
-+ (encode-coding-region from to 'euc-japan work-buf))
-+ (set-buffer work-buf)
-+ (set-buffer-multibyte nil)
-+ (goto-char (point-min))
-+ (while (not (eobp))
-+ (setq ch (following-char))
-+ (cond ((= ch #x8E) ; SS2 for JISX0201-kana
-+ (delete-char 1) ; SS2 BYTE -> 0 BYTE&0x7F
-+ (insert 0)
-+ (forward-char 1))
-+ ((= ch #x8F) ; SS3 for JISX0212
-+ (delete-char 1) ; SS3 BYTE1 BYTE2 -> BYTE1 BYTE2&0x7F
-+ (forward-char 1)
-+ (setq ch (following-char))
-+ (delete-char 1)
-+ (insert (logand ch #x7F)))
-+ ((>= ch #xA0) ; JISX0208
-+ (forward-char 2))
-+ (t ; ASCII
-+ (insert 0) ; BYTE -> 0 BYTE
-+ (forward-char 1))))))
-+
-+ (defun fixed-euc-jp-post-read-conversion (len)
-+ (let ((str (string-as-unibyte (buffer-substring (point) (+ (point) len))))
-+ (pos (point))
-+ i ch1 ch2)
-+ (delete-region (point) (+ (point) len))
-+ (setq i 0)
-+ (while (< i len)
-+ (setq ch1 (aref str i))
-+ (setq ch2 (aref str (1+ i)))
-+ (cond ((>= ch1 #x80)
-+ (if (>= ch2 #x80)
-+ (setq ch1 ; JISX0208
-+ (decode-char 'japanese-jisx0208
-+ (logior (lsh (logand ch1 #x7F) 8)
-+ (logand ch2 #x7F))))
-+ (setq ch1 ; JISX0212
-+ (decode-char 'japanese-jisx0212
-+ (logior (lsh (logand ch1 #x7F) 8) ch2)))))
-+ (t
-+ (if (>= ch2 #x80)
-+ (setq ch1 ; JISX0201-kana
-+ (decode-char 'katakana-jisx0201 (logand ch2 #x7F)))
-+ (setq ch1 ch2))))
-+ (insert ch1)
-+ (setq i (+ i 2)))
-+ (prog1 (- (point) pos)
-+ (goto-char pos))))
-+
-+ (define-coding-system 'fixed-euc-jp "Coding System for fixed EUC Japanese"
-+ :mnemonic ?W
-+ :coding-type 'raw-text
-+ :charset-list '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212)
-+ :pre-write-conversion 'fixed-euc-jp-pre-write-conversion
-+ :post-read-conversion 'fixed-euc-jp-post-read-conversion)))
-
- ;; Korean
-
-@@ -136,6 +175,7 @@
- (cons ccl-decode-fixed-euc-kr ccl-encode-fixed-euc-kr))
-
- ;; Chinese
-+
- (defconst egg-pinyin-shengmu
- '(("" . 0) ("B" . 1) ("C" . 2) ("Ch" . 3) ("D" . 4)
- ("F" . 5) ("G" . 6) ("H" . 7) ("J" . 8) ("K" . 9)
-@@ -521,53 +561,60 @@
- (defun decode-fixed-euc-china-region (beg end type zhuyin)
- "Decode EUC-CN/TW encoded text in the region.
- Return the length of resulting text."
-- (prog1
-- (let ((str (string-as-unibyte (buffer-substring beg end)))
-- (i 0)
-- l c0 c1 s y ss)
-- (delete-region beg end)
-- (setq l (1- (length str)))
-- (while (< i l)
-- (setq c0 (aref str i)
-- c1 (aref str (1+ i))
-- i (+ i 2))
-- (cond
-- ((eq c0 0)
-- (if (> c1 ?\xa0)
-- (insert leading-code-private-11
-- (charset-id 'chinese-sisheng)
-- c1)
-- (insert c1)))
-- ((>= c0 ?\x80)
-- (cond
-- ((eq type 'cn)
-- (insert (charset-id 'chinese-gb2312) c0 (logior c1 ?\x80)))
-- ((>= c1 ?\x80)
-- (insert (charset-id 'chinese-cns11643-1) c0 c1))
-- (t
-- (insert (charset-id 'chinese-cns11643-2) c0 (+ c1 ?\x80)))))
-- (t
-- (setq c1 (logand c1 ?\x7f))
-- (setq s (- (lsh c1 -2) 7);;(+ (lsh (- c1 32) -2) 1)
-- y (- (lsh c0 -1) 16);;(lsh (- c0 32) -1)
-- ss (+ (logand c0 1) (logand c1 3)))
-- (if (and (eq s 20)
-- (eq (aref egg-pinyin-table (+ (* 39 20) y)) 0))
-- (setq s 0))
-- (if (null zhuyin)
-- (setq s (car (nth s egg-pinyin-shengmu))
-- y (car (nth (+ (* 5 y) ss) egg-pinyin-yunmu)))
-- (setq c0 (aref egg-zhuyin-table (+ (* 41 s) y)))
-- (if (eq (logand c0 ?\x8080) ?\x80)
-- (setq s (lsh c0 -8)
-- y (logand c0 ?\x7f)))
-- (setq s (car (nth s egg-zhuyin-shengmu))
-- y (car (nth (+ (* 5 y) ss) egg-zhuyin-yunmu))))
-- (if enable-multibyte-characters
-- (insert s y)
-- (insert (string-as-unibyte s) (string-as-unibyte y))))))
-- (- (point) beg))
-- (if (looking-at "\0\0") (forward-char 2))))
-+ (let ((str (string-as-unibyte (buffer-substring beg end)))
-+ (i 0)
-+ (char (make-string 3 0))
-+ l c0 c1 s y ss)
-+ (delete-region beg end)
-+ (setq l (1- (length str)))
-+ (while (< i l)
-+ (setq c0 (aref str i)
-+ c1 (aref str (1+ i))
-+ i (+ i 2))
-+ (cond
-+ ((eq c0 0)
-+ (if (<= c1 ?\xa0)
-+ (insert c1)
-+ (aset char 0 leading-code-private-11)
-+ (aset char 1 (charset-id 'chinese-sisheng))
-+ (aset char 2 c1)
-+ (insert (string-as-multibyte char))))
-+ ((>= c0 ?\x80)
-+ (cond
-+ ((eq type 'cn)
-+ (aset char 0 (charset-id 'chinese-gb2312))
-+ (aset char 1 c0)
-+ (aset char 2 (logior c1 ?\x80)))
-+ ((>= c1 ?\x80)
-+ (aset char 0 (charset-id 'chinese-cns11643-1))
-+ (aset char 1 c0)
-+ (aset char 2 c1))
-+ (t
-+ (aset char 0 (charset-id 'chinese-cns11643-2))
-+ (aset char 1 c0)
-+ (aset char 2 (+ c1 ?\x80))))
-+ (insert (string-as-multibyte char)))
-+ (t
-+ (setq c1 (logand c1 ?\x7f))
-+ (setq s (- (lsh c1 -2) 7);;(+ (lsh (- c1 32) -2) 1)
-+ y (- (lsh c0 -1) 16);;(lsh (- c0 32) -1)
-+ ss (+ (logand c0 1) (logand c1 3)))
-+ (if (and (eq s 20)
-+ (eq (aref egg-pinyin-table (+ (* 39 20) y)) 0))
-+ (setq s 0))
-+ (if (null zhuyin)
-+ (setq s (car (nth s egg-pinyin-shengmu))
-+ y (car (nth (+ (* 5 y) ss) egg-pinyin-yunmu)))
-+ (setq c0 (aref egg-zhuyin-table (+ (* 41 s) y)))
-+ (if (eq (logand c0 ?\x8080) ?\x80)
-+ (setq s (lsh c0 -8)
-+ y (logand c0 ?\x7f)))
-+ (setq s (car (nth s egg-zhuyin-shengmu))
-+ y (car (nth (+ (* 5 y) ss) egg-zhuyin-yunmu))))
-+ (if enable-multibyte-characters
-+ (insert s y)
-+ (insert (string-as-unibyte s) (string-as-unibyte y))))))
-+ (- (point) beg)))
-
- (defun post-read-decode-fixed-euc-china (len type zhuyin)
- (let ((pos (point))
-@@ -620,7 +667,7 @@ Return the length of resulting text."
-
- (eval-and-compile
- (define-ccl-program ccl-decode-egg-binary
-- `(2
-+ `(1
- ((read r0)
- (loop
- (if (r0 == ?\xff)
-@@ -628,7 +675,7 @@ Return the length of resulting text."
- (write-read-repeat r0)))))
-
- (define-ccl-program ccl-encode-egg-binary
-- `(1
-+ `(2
- ((read r0)
- (loop
- (if (r0 == ?\xff)
-@@ -705,6 +752,7 @@ U: 32-bit integer. The argument is 2 el
- u: 32-bit integer. The argument is treat as unsigned integer.
- (Note: Elisp's integer may be less than 32 bits)
- i: 32-bit integer.
-+ (Note: Elisp's integer may be greater than 32 bits)
- w: 16-bit integer.
- b: 8-bit integer.
- S: 16-bit wide-character EUC string (0x0000 terminated).
-@@ -776,6 +824,14 @@ V: Fixed length string (0x00 terminated)
- (+ (lsh (comm-following+forward-char) 8)
- (comm-following+forward-char)))))
-
-+(defun comm-unpack-i32 ()
-+ (progn
-+ (comm-require-process-output 4)
-+ (+ (lsh (- (logxor (comm-following+forward-char) 128) 128) 24)
-+ (lsh (comm-following+forward-char) 16)
-+ (lsh (comm-following+forward-char) 8)
-+ (comm-following+forward-char))))
-+
- (defun comm-unpack-u32 ()
- (progn
- (comm-require-process-output 4)
-@@ -852,7 +908,7 @@ See `comm-format' for FORMAT."
- (list
- (cond ((eq f 'U) `(setq ,arg (comm-unpack-u32c)))
- ((eq f 'u) `(setq ,arg (comm-unpack-u32)))
-- ((eq f 'i) `(setq ,arg (comm-unpack-u32)))
-+ ((eq f 'i) `(setq ,arg (comm-unpack-i32)))
- ((eq f 'w) `(setq ,arg (comm-unpack-u16)))
- ((eq f 'b) `(setq ,arg (comm-unpack-u8)))
- ((eq f 'S) `(setq ,arg (comm-unpack-u16-string)))