| Summary: | /usr/ports/editors/emacs termcap problem | ||
|---|---|---|---|
| Product: | Ports & Packages | Reporter: | baram <baram> |
| Component: | Individual Port(s) | Assignee: | freebsd-ports (Nobody) <ports> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Latest | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
baram
2000-03-20 01:50:00 UTC
To fix termcap problem: 1. emacs CANNOT use libtermcap.a (libncurses.a) of FreeBSD-4.0. 2. Use following "quick dirty" patch --- work/emacs-20.6/src/s/freebsd.h~ Mon Mar 27 13:41:49 2000 +++ work/emacs-20.6/src/s/freebsd.h Mon Mar 27 13:43:37 2000 @@ -43,7 +43,9 @@ #define LIBS_DEBUG #define LIBS_SYSTEM -lutil +#if __FreeBSD_version < 400000 #define LIBS_TERMCAP -ltermcap +#endif /* Use XPG4 Library for FreeBSD */ #if __FreeBSD_version >= 220000 Tomoyuki, Kano It was to change termcap library in FreeBSD 4.0R.
The old version's tgetstr("cm"...) return follows string at xterm.
\E%i%d;%dH
But, new version's it return follows that is likely terminfo format.
\E%p1%d;%p2%dH
The Emacs has 'tgoto' routine in itself that is in tparam.c. This
routine doesn't support new format. So, We don't use system termcap
library (Mr.Tomoyuki's patch) or must be modify tgoto routine.
e.g)
--- tparam.c.orig Wed Apr 10 07:14:20 1996
+++ tparam.c Wed May 10 04:14:24 2000
@@ -174,6 +174,10 @@
tem = *argp;
switch (c)
{
+ case 'p': /* 2000.05.10 Kazuho Okui <kaz@naan.net
> */
+ p++; /* Under FreeBSD 4.0R ignore %pn
format. */
+ break;
+
case 'd': /* %d means output in decimal. */
if (tem < 10)
goto onedigit;
Thanks,
----------------
Kazuho Okui
<kaz@naan.net>
http://www.naan.net
Dear committers, use the below patch to fix the port.
Tetsurou
diff -urN /usr/ports/editors/emacs/patches/patch-ac emacs/patches/patch-ac
--- /usr/ports/editors/emacs/patches/patch-ac Sun Apr 11 15:57:07 1999
+++ emacs/patches/patch-ac Tue Jun 6 16:58:51 2000
@@ -1,5 +1,5 @@
---- src/s/freebsd.h.orig Sun Jun 9 15:14:32 1996
-+++ src/s/freebsd.h Fri Apr 9 18:17:41 1999
+--- src/s/freebsd.h.orig Mon Jun 10 05:14:32 1996
++++ src/s/freebsd.h Tue Jun 6 16:44:10 2000
@@ -1,5 +1,15 @@
/* s/ file for freebsd system. */
@@ -16,15 +16,18 @@
/* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up.
Earlier versions do not have shared libraries, so inhibit them.
You can inhibit them on newer systems if you wish
-@@ -34,7 +44,6 @@
+@@ -33,8 +43,9 @@
+
#define LIBS_DEBUG
#define LIBS_SYSTEM -lutil
++#if __FreeBSD_version < 400000
#define LIBS_TERMCAP -ltermcap
-#define LIB_GCC -lgcc
++#endif
#define SYSV_SYSTEM_DIR
-@@ -42,12 +51,33 @@
+@@ -42,12 +53,33 @@
#undef BSD_PGRPS
#define GETPGRP_NO_ARG
@@ -59,7 +62,7 @@
#ifndef N_TRELOFF
#define N_PAGSIZ(x) __LDPGSZ
-@@ -63,6 +93,8 @@
+@@ -63,6 +95,8 @@
#endif /* __FreeBSD__ */
#endif /* NO_SHARED_LIBS */
@@ -68,7 +71,7 @@
#define HAVE_WAIT_HEADER
#define HAVE_GETLOADAVG
/*#define HAVE_GETPAGESIZE /* configure now puts this in config.h */
-@@ -80,6 +112,8 @@
+@@ -80,6 +114,8 @@
#define BSD 199103
#elif __FreeBSD__ == 2
#define BSD 199306
State Changed From-To: open->closed Committed. Thanks! |