- Add fix for GNU Emacs bug report# 8522 which affects users of euc-japan

keyboard-coding-system[1]
- Fix portlint warnings
- Update PATCH_SITES

Submitted by:	hrs[1]
This commit is contained in:
Ashish SHUKLA 2011-09-07 20:20:25 +00:00
parent 9b9f79d3e0
commit 085666acef
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=281397
4 changed files with 116 additions and 12 deletions

View file

@ -7,7 +7,7 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}
PORTREVISION= 3
PORTREVISION= 4
PORTEPOCH= 2
CATEGORIES= editors ipv6
MASTER_SITES= ${MASTER_SITE_GNU}
@ -17,6 +17,9 @@ DISTNAME= ${PORTNAME}-${PORTVERSION}a
MAINTAINER= ashish@FreeBSD.org
COMMENT= GNU editing macros
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
MAKE_JOBS_UNSAFE= yes
CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-24.* \
@ -28,13 +31,11 @@ EMACS_VER= 23.3
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_BZIP2= yes
CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
CPPFLAGS= "-I${LOCALBASE}/include"
CONFIGURE_ENV+= LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS= --localstatedir=/var
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
MAN1= b2m.1 ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
grep-changelog.1 rcs-checkin.1
PLIST_SUB= EMACS_VER=${EMACS_VER}
@ -200,7 +201,7 @@ CONFIGURE_ARGS+= --without-xim
.endif
.if defined(WITH_CANNA)
PATCH_SITES+= http://wahjava.users.sourceforge.net/%SUBDIR%/ ${MASTER_SITE_LOCAL}
PATCH_SITES+= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL}
PATCH_SITE_SUBDIR+= ashish
PATCHFILES+= emacs23.3canna-20110316.diff.gz
PATCH_DIST_STRIP= -p1

View file

@ -0,0 +1,51 @@
$FreeBSD$
--- src/coding.c.orig
+++ src/coding.c
@@ -3853,8 +3853,20 @@
else
charset = CHARSET_FROM_ID (charset_id_2);
ONE_MORE_BYTE (c1);
- if (c1 < 0x20 || (c1 >= 0x80 && c1 < 0xA0))
- goto invalid_code;
+ /*
+ * <ESC>N sequence is recognized as SS2 in some ISO2022
+ * encodings. As a workaround, mark invalid only if
+ * <ESC>N + GR in a 7-bit encoding or <ESC>N + GL in an 8-bit
+ * encoding.
+ */
+ if (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_SEVEN_BITS) {
+ if (c1 < 0x20 || c1 >= 0x80)
+ goto invalid_code;
+ }
+ else {
+ if (c1 < 0xA0)
+ goto invalid_code;
+ }
break;
case 'O': /* invocation of single-shift-3 */
@@ -3867,8 +3879,20 @@
else
charset = CHARSET_FROM_ID (charset_id_3);
ONE_MORE_BYTE (c1);
- if (c1 < 0x20 || (c1 >= 0x80 && c1 < 0xA0))
- goto invalid_code;
+ /*
+ * <ESC>O sequence by arrow keys is recognized as SS3 in
+ * some ISO2022 encodings. As a workaround, mark invalid only if
+ * <ESC>O + GR in a 7-bit encoding or <ESC>O + GL in an 8-bit
+ * encoding.
+ */
+ if (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_SEVEN_BITS) {
+ if (c1 < 0x20 || c1 >= 0x80)
+ goto invalid_code;
+ }
+ else {
+ if (c1 < 0xA0)
+ goto invalid_code;
+ }
break;
case '0': case '2': case '3': case '4': /* start composition */

View file

@ -7,7 +7,7 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}
PORTREVISION= 3
PORTREVISION= 4
PORTEPOCH= 2
CATEGORIES= editors ipv6
MASTER_SITES= ${MASTER_SITE_GNU}
@ -17,6 +17,9 @@ DISTNAME= ${PORTNAME}-${PORTVERSION}a
MAINTAINER= ashish@FreeBSD.org
COMMENT= GNU editing macros
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
MAKE_JOBS_UNSAFE= yes
CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-24.* \
@ -28,13 +31,11 @@ EMACS_VER= 23.3
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_BZIP2= yes
CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
CPPFLAGS= "-I${LOCALBASE}/include"
CONFIGURE_ENV+= LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS= --localstatedir=/var
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
MAN1= b2m.1 ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
grep-changelog.1 rcs-checkin.1
PLIST_SUB= EMACS_VER=${EMACS_VER}
@ -200,7 +201,7 @@ CONFIGURE_ARGS+= --without-xim
.endif
.if defined(WITH_CANNA)
PATCH_SITES+= http://wahjava.users.sourceforge.net/%SUBDIR%/ ${MASTER_SITE_LOCAL}
PATCH_SITES+= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL}
PATCH_SITE_SUBDIR+= ashish
PATCHFILES+= emacs23.3canna-20110316.diff.gz
PATCH_DIST_STRIP= -p1

View file

@ -0,0 +1,51 @@
$FreeBSD$
--- src/coding.c.orig
+++ src/coding.c
@@ -3853,8 +3853,20 @@
else
charset = CHARSET_FROM_ID (charset_id_2);
ONE_MORE_BYTE (c1);
- if (c1 < 0x20 || (c1 >= 0x80 && c1 < 0xA0))
- goto invalid_code;
+ /*
+ * <ESC>N sequence is recognized as SS2 in some ISO2022
+ * encodings. As a workaround, mark invalid only if
+ * <ESC>N + GR in a 7-bit encoding or <ESC>N + GL in an 8-bit
+ * encoding.
+ */
+ if (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_SEVEN_BITS) {
+ if (c1 < 0x20 || c1 >= 0x80)
+ goto invalid_code;
+ }
+ else {
+ if (c1 < 0xA0)
+ goto invalid_code;
+ }
break;
case 'O': /* invocation of single-shift-3 */
@@ -3867,8 +3879,20 @@
else
charset = CHARSET_FROM_ID (charset_id_3);
ONE_MORE_BYTE (c1);
- if (c1 < 0x20 || (c1 >= 0x80 && c1 < 0xA0))
- goto invalid_code;
+ /*
+ * <ESC>O sequence by arrow keys is recognized as SS3 in
+ * some ISO2022 encodings. As a workaround, mark invalid only if
+ * <ESC>O + GR in a 7-bit encoding or <ESC>O + GL in an 8-bit
+ * encoding.
+ */
+ if (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_SEVEN_BITS) {
+ if (c1 < 0x20 || c1 >= 0x80)
+ goto invalid_code;
+ }
+ else {
+ if (c1 < 0xA0)
+ goto invalid_code;
+ }
break;
case '0': case '2': case '3': case '4': /* start composition */