Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Oct 2003 15:39:45 +0100
From:      AMAKAWA Shuhei <sa264@cam.ac.uk>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        amakawa@jp.freebsd.org
Subject:   ports/58238: cad/cider: don't link with readline
Message-ID:  <E1ABEif-000C2B-64@m218-3.phy.cam.ac.uk>
Resent-Message-ID: <200310191450.h9JEoIGe089116@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         58238
>Category:       ports
>Synopsis:       cad/cider: don't link with readline
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 19 07:50:18 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     AMAKAWA Shuhei
>Release:        FreeBSD 4.9-RC i386
>Organization:
>Environment:
System: FreeBSD m218-3.phy.cam.ac.uk 4.9-RC FreeBSD 4.9-RC #0: Sat Oct 4 11:46:11 BST 2003 sa264@m218-3.phy.cam.ac.uk:/usr/obj/usr/src/sys/KERNCONF i386


	
>Description:

cad/cider: don't link with readline.
Suggested by Pedro Giffuni.

>How-To-Repeat:
	
>Fix:

	

Removed files:
files/patch-ae
files/patch-af
files/patch-ag
files/patch-ah
files/patch-ai

diff -uNr /usr/ports/cad/cider/Makefile cider/Makefile
--- /usr/ports/cad/cider/Makefile	Sun Jun  1 20:24:56 2003
+++ cider/Makefile	Sun Oct 19 15:37:25 2003
@@ -7,7 +7,7 @@
 
 PORTNAME=	cider
 PORTVERSION=	1.b1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	cad
 MASTER_SITES=	ftp://ic.eecs.berkeley.edu/pub/Cider/new/
 DISTNAME=	cider1b1
@@ -15,6 +15,7 @@
 MAINTAINER=	amakawa@jp.FreeBSD.org
 COMMENT=	A mixed-level circuit and device simulator (includes SPICE3)
 
+CONFLICTS=	spice-*
 WRKSRC=		${WRKDIR}/sim
 USE_XLIB=	yes
 MAN1=		sconvert.1 nutmeg.1 spice.1 cider.1
diff -uNr /usr/ports/cad/cider/files/FreeBSD cider/files/FreeBSD
--- /usr/ports/cad/cider/files/FreeBSD	Wed Dec 29 21:32:06 1999
+++ cider/files/FreeBSD	Sun Aug 31 11:10:41 2003
@@ -5,6 +5,6 @@
 CC_OPT          = $(CFLAGS)
 #CC_OPT_SAFE     = $(CFLAGS) -fno-strength-reduce
 X_DIR		= $(X11BASE)
-LDFLAGS		= -L$(X11BASE)/lib -lreadline -lm -ltermcap
+LDFLAGS		= -L$(X11BASE)/lib -lm -ltermcap
 ASM_HACK	= < /dev/null
-SYS_CFLAGS	= -Dbsd -DHAS_GNUREADLINE
+SYS_CFLAGS	= -Dbsd
diff -uNr /usr/ports/cad/cider/files/patch-ad cider/files/patch-ad
--- /usr/ports/cad/cider/files/patch-ad	Wed Oct 10 21:53:14 2001
+++ cider/files/patch-ad	Fri Oct 17 22:12:14 2003
@@ -1,20 +1,6 @@
 --- spice/common/src/bin/main.c.orig	Sat Mar 12 08:22:28 1994
-+++ spice/common/src/bin/main.c	Wed Sep 19 11:06:34 2001
-@@ -25,6 +25,13 @@
- #include <pwd.h>
- #endif
- 
-+#ifdef HAS_GNUREADLINE
-+/* Added GNU Readline Support 11/3/97 -- Andrew Veliath <veliaa@rpi.edu> */
-+#include <readline/readline.h>
-+#include <readline/history.h>
-+#include "fteinput.h"
-+#endif
-+
- #ifdef HAS_UNIX_SIGS
- #include <signal.h>
- #endif
-@@ -36,6 +43,11 @@
++++ spice/common/src/bin/main.c	Fri Oct 17 22:11:28 2003
+@@ -36,6 +36,11 @@
  #endif
  
  #include "patchlev.h"
@@ -26,172 +12,14 @@
  #include "suffix.h"
  
  /* (Virtual) Machine architecture parameters */
-@@ -53,6 +65,11 @@
- bool ft_intrpt = false;     /* Set by the (void) signal handlers. */
- bool ft_setflag = false;    /* Don't abort after an interrupt. */
+@@ -214,6 +219,10 @@
+     FILE	*fp;
+     FILE	*circuit_file;
  
-+#ifdef HAS_GNUREADLINE
-+char gnu_history_file[512];
-+static char *application_name;
 +#endif
 +
- struct variable *(*if_getparam)( );
- 
- #ifdef BATCH
-@@ -185,6 +202,95 @@
- 
- #endif
- 
-+#ifdef HAS_GNUREADLINE
-+/* Adapted ../lib/cp/lexical.c:prompt() for GNU Readline -- Andrew Veliath <veliaa@rpi.edu> */
-+static char *
-+prompt()
-+{
-+    static char pbuf[128];
-+    int n = sizeof(pbuf);
-+    char *p = pbuf, *s;
-+
-+    if (cp_interactive == false)
-+        return;
-+    if (cp_promptstring == NULL)
-+        s = "-> ";
-+    else
-+        s = cp_promptstring;
-+    if (cp_altprompt)
-+        s = cp_altprompt;
-+    while (*s && (n > 1)) {
-+	int w;
-+        switch (strip(*s)) {
-+	case '!':
-+	    w = snprintf(p, n, "%d", where_history() + 1);
-+	    w = (w >= n) ? n - 1 : w;
-+	    p += w;
-+	    n -= w;
-+	    break;
-+	case '\\':
-+	    if (*(s + 1)) ++s;
-+	default:
-+	    *p = strip(*s); ++p;
-+	    --n;
-+	    break;
-+        }
-+        s++;
-+    }
-+    *p = 0;
-+    return pbuf;
-+}
-+
-+/* Process device events in Readline's hook since there is no where
-+   else to do it now - AV */
-+int rl_event_func()
-+{
-+    static REQUEST reqst = { checkup_option, 0 };
-+    Input(&reqst, NULL);
-+    return 0;
-+}
-+
-+/* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
-+void app_rl_readlines()
-+{
-+    char *line, *expanded_line;
-+
-+    strcpy(gnu_history_file, getenv("HOME"));
-+    strcat(gnu_history_file, "/.");
-+    strcat(gnu_history_file, application_name);
-+    strcat(gnu_history_file, "_history");
-+
-+    using_history();
-+    read_history(gnu_history_file);
-+
-+    rl_readline_name = application_name;
-+    rl_instream = cp_in;
-+    rl_outstream = cp_out;
-+    rl_event_hook = rl_event_func;
-+	
-+    while (1) {
-+	history_set_pos(history_length);
-+	line = readline(prompt());
-+	if (line && *line) {
-+	    int s = history_expand(line, &expanded_line);
-+		    
-+	    if (s == 2) {
-+		fprintf(stderr, "-> %s\n", expanded_line);
-+	    } else if (s == -1) {
-+		fprintf(stderr, "readline: %s\n", expanded_line);
-+	    } else {
-+		cp_evloop(expanded_line);
-+		add_history(expanded_line);
-+	    }
-+	    free(expanded_line);
-+	}
-+	if (line) free(line);
-+	else if (line == NULL) cp_evloop("quit");
-+    }
-+    /* History gets written in ../fte/misccoms.c com_quit */
-+}
-+#endif /* HAS_GNUREADLINE */
-+
- char *hlp_filelist[] = { "spice", 0 };
- 
- void
-@@ -216,6 +322,10 @@
- 
- #endif
- 
 +#ifdef __FreeBSD__
 +    fpsetmask(fpgetmask() & ~FP_X_INV & ~FP_X_DZ & ~FP_X_OFL);
-+#endif
-+
-     /* MFB tends to jump to 0 on errors.  This tends to catch it. */
-     if (started) {
-         fprintf(cp_err, "main: Internal Error: jump to zero\n");
-@@ -236,6 +346,13 @@
-     ARCHsize = 1;
- #endif /* PARALLEL_ARCH */
- 
-+#ifdef HAS_GNUREADLINE
-+    if (!(application_name = strrchr(av[0],'/')))
-+        application_name = av[0];
-+    else
-+        ++application_name;
-+#endif
-+
- #ifdef HAS_MAC_ARGCARGV
-     ac = initmac(&av);
- #endif
-@@ -472,7 +589,11 @@
- #  ifdef HAS_UNIX_SIGS
-     /* Set up (void) signal handling */
-     if (!ft_batchmode) {
-+#    ifdef HAS_GNUREADLINE
-+        (void) signal(SIGINT, SIG_IGN);
-+#    else
-         (void) signal(SIGINT, ft_sigintr);
-+#    endif
-         (void) signal(SIGFPE, sigfloat);
- #    ifdef SIGTSTP
-         (void) signal(SIGTSTP, sigstop);
-@@ -668,7 +789,11 @@
-     } else {
-         (void) setjmp(jbuf);
-         cp_interactive = true;
-+#ifdef HAS_GNUREADLINE
-+	app_rl_readlines();
-+#else
- 	while (cp_evloop((char *) NULL) == 1) ;
-+#endif /* ifelse HAS_GNUREADLINE */
-     }
- 
- #  else /* if BATCH */
-@@ -708,7 +833,11 @@
-     /* Nutmeg "main" */
-     (void) setjmp(jbuf);
-     cp_interactive = true;
-+#ifdef HAS_GNUREADLINE
-+    app_rl_readlines();
-+#else
-     while (cp_evloop((char *) NULL) == 1) ;
-+#endif /* ifelse HAS_GNUREADLINE */
- 
  #endif
  
+     /* MFB tends to jump to 0 on errors.  This tends to catch it. */
diff -uNr /usr/ports/cad/cider/files/patch-ae cider/files/patch-ae
--- /usr/ports/cad/cider/files/patch-ae	Wed Dec 29 21:32:09 1999
+++ cider/files/patch-ae	Thu Jan  1 01:00:00 1970
@@ -1,81 +0,0 @@
-*** spice/common/src/lib/cp/history.c.orig	Sat Jan 29 18:44:09 1994
---- spice/common/src/lib/cp/history.c	Sun Dec 12 14:56:43 1999
-***************
-*** 11,16 ****
---- 11,24 ----
-  #include "cpdefs.h"
-  #include "suffix.h"
-  
-+ #ifdef HAS_GNUREADLINE
-+ 
-+ /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
-+ #include <readline/readline.h>
-+ #include <readline/history.h>
-+ 
-+ #endif /* HAS_GNUREADLINE */
-+ 
-  static char *dohs();
-  static void freehist();
-  static wordlist *dohmod();
-***************
-*** 19,24 ****
---- 27,33 ----
-  static wordlist *hpattern();
-  static wordlist *hprefix();
-  
-+ 
-  struct histent *cp_lastone = NULL;
-  int cp_maxhistlength = 1000;
-  char cp_hat = '^';
-***************
-*** 345,352 ****
---- 354,363 ----
-      cp_lastone->hi_next = NULL;
-      cp_lastone->hi_event = event;
-      cp_lastone->hi_wlist = wl_copy(wlist);
-+ #ifndef HAS_GNUREADLINE
-      freehist(histlength - cp_maxhistlength);
-      histlength++;
-+ #endif
-      return;
-  }
-  
-***************
-*** 483,492 ****
---- 494,529 ----
-          wl = wl->wl_next;
-          rev = true;
-      }
-+ #ifdef HAS_GNUREADLINE
-+     /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
-+     {
-+ 	HIST_ENTRY *he;
-+ 	int i, N;
-+ 
-+ 	N = (wl == NULL) ? history_length : atoi(wl->wl_word);
-+ 
-+ 	if (N < 0) N = 0;
-+ 	if (N > history_length) N = history_length;
-+ 
-+ 	if (rev)
-+ 	    for (i = history_length; i > 0 && N; --i, --N) {
-+ 		he = history_get(i);
-+ 		if (!he) return;
-+ 		fprintf(cp_out, "%d\t%s\n", i, he->line);
-+ 	    }
-+ 	else
-+ 	    for (i = history_length - N + 1; i <= history_length; ++i) {
-+ 		he = history_get(i);
-+ 		if (!he) return;
-+ 		fprintf(cp_out, "%d\t%s\n", i, he->line);
-+ 	    }
-+     }
-+ #else
-      if (wl == NULL)
-          cp_hprint(cp_event - 1, cp_event - histlength, rev);
-      else
-          cp_hprint(cp_event - 1, cp_event - 1 - atoi(wl->wl_word), rev);
-+ #endif /* ifelse HAS_GNUREADLINE */
-      return;
-  }
-  
diff -uNr /usr/ports/cad/cider/files/patch-af cider/files/patch-af
--- /usr/ports/cad/cider/files/patch-af	Wed Dec 29 21:32:09 1999
+++ cider/files/patch-af	Thu Jan  1 01:00:00 1970
@@ -1,36 +0,0 @@
-*** spice/common/src/lib/fte/misccoms.c.orig	Wed Mar  9 04:15:44 1994
---- spice/common/src/lib/fte/misccoms.c	Sun Dec 12 14:56:44 1999
-***************
-*** 11,16 ****
---- 11,24 ----
-  #include "hlpdefs.h"
-  #include "suffix.h"
-  
-+ #ifdef HAS_GNUREADLINE
-+ #include <readline/readline.h>
-+ #include <readline/history.h>
-+ 
-+ extern int gnu_history_lines;
-+ extern char gnu_history_file[];
-+ #endif
-+ 
-  static void byemesg();
-  
-  void
-***************
-*** 299,304 ****
---- 307,320 ----
-              byemesg();
-      } else
-          byemesg();
-+ 
-+ #ifdef HAS_GNUREADLINE
-+     /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
-+     if (cp_interactive && (cp_maxhistlength > 0)) {
-+ 	stifle_history(cp_maxhistlength);
-+ 	write_history(gnu_history_file);
-+     }
-+ #endif /* HAS_GNUREADLINE */
-  
-      exit(EXIT_NORMAL);
-      /* NOTREACHED */
diff -uNr /usr/ports/cad/cider/files/patch-ag cider/files/patch-ag
--- /usr/ports/cad/cider/files/patch-ag	Wed Dec 29 21:32:09 1999
+++ cider/files/patch-ag	Thu Jan  1 01:00:00 1970
@@ -1,23 +0,0 @@
-*** spice/common/src/lib/fte/signal.c.orig	Sat Jan 29 18:48:38 1994
---- spice/common/src/lib/fte/signal.c	Sun Dec 12 14:56:46 1999
-***************
-*** 32,37 ****
---- 32,39 ----
-   * is true.
-   */
-  
-+ /* not using SIGINT with GNU Readline - AV */
-+ #ifndef HAS_GNUREADLINE
-  SIGNAL_TYPE
-  ft_sigintr()
-  {
-***************
-*** 58,63 ****
---- 60,66 ----
-      cp_resetcontrol();
-      longjmp(jbuf, 1);
-  }
-+ #endif /* !HAS_GNUREADLINE */
-  
-  /* ARGSUSED */
-  SIGNAL_TYPE
diff -uNr /usr/ports/cad/cider/files/patch-ah cider/files/patch-ah
--- /usr/ports/cad/cider/files/patch-ah	Wed Dec 29 21:32:09 1999
+++ cider/files/patch-ah	Thu Jan  1 01:00:00 1970
@@ -1,20 +0,0 @@
-*** spice/common/src/lib/fte/x10.c.orig	Sat Jan 29 18:47:11 1994
---- spice/common/src/lib/fte/x10.c	Sun Dec 12 14:56:48 1999
-***************
-*** 726,737 ****
---- 726,740 ----
-              graph->commandline, fx0, fx1, fy0, fy1);
-      }
-  
-+ /* don't use the following if using GNU Readline - AV */
-+ #ifndef HAS_GNUREADLINE
-      /* hack for Gordon Jacobs */
-      /* add to history list if plothistory is set */
-      if (cp_getvar("plothistory", VT_BOOL, (char *) &dummy)) {
-        wl = cp_parse(buf);
-        (void) cp_addhistent(cp_event++, wl);
-      }
-+ #endif /* HAS_GNUREADLINE */
-  
-      (void) cp_evloop(buf);
-  
diff -uNr /usr/ports/cad/cider/files/patch-ai cider/files/patch-ai
--- /usr/ports/cad/cider/files/patch-ai	Wed Dec 29 21:32:10 1999
+++ cider/files/patch-ai	Thu Jan  1 01:00:00 1970
@@ -1,20 +0,0 @@
-*** spice/common/src/lib/fte/x11.c.orig	Sat Jan 29 18:48:34 1994
---- spice/common/src/lib/fte/x11.c	Sun Dec 12 14:56:50 1999
-***************
-*** 773,784 ****
---- 773,787 ----
-  	        graph->commandline, fx0, fx1, fy0, fy1);
-  	}
-  
-+ /* don't use the following if using GNU Readline - AV */
-+ #ifndef HAS_GNUREADLINE
-  	/* hack for Gordon Jacobs */
-  	/* add to history list if plothistory is set */
-  	if (cp_getvar("plothistory", VT_BOOL, (char *) &dummy)) {
-  	  wl = cp_parse(buf);
-  	  (void) cp_addhistent(cp_event++, wl);
-  	}
-+ #endif /* HAS_GNUREADLINE */
-  
-  	(void) cp_evloop(buf);
-  
diff -uNr /usr/ports/cad/cider/files/patch-bc cider/files/patch-bc
--- /usr/ports/cad/cider/files/patch-bc	Wed Oct 10 21:53:14 2001
+++ cider/files/patch-bc	Fri Oct 17 22:20:13 2003
@@ -1,20 +1,6 @@
 --- cider/common/src/bin/main.c.orig	Sat Mar 12 08:20:59 1994
-+++ cider/common/src/bin/main.c	Wed Sep 19 11:07:47 2001
-@@ -25,6 +25,13 @@
- #include <pwd.h>
- #endif
- 
-+#ifdef HAS_GNUREADLINE
-+/* Added GNU Readline Support 11/3/97 -- Andrew Veliath <veliaa@rpi.edu> */
-+#include <readline/readline.h>
-+#include <readline/history.h>
-+#include "fteinput.h"
-+#endif
-+
- #ifdef HAS_UNIX_SIGS
- #include <signal.h>
- #endif
-@@ -36,6 +43,11 @@
++++ cider/common/src/bin/main.c	Fri Oct 17 22:19:55 2003
+@@ -36,6 +36,11 @@
  #endif
  
  #include "patchlev.h"
@@ -26,172 +12,14 @@
  #include "suffix.h"
  
  /* (Virtual) Machine architecture parameters */
-@@ -53,6 +65,11 @@
- bool ft_intrpt = false;     /* Set by the (void) signal handlers. */
- bool ft_setflag = false;    /* Don't abort after an interrupt. */
+@@ -214,6 +219,10 @@
+     FILE	*fp;
+     FILE	*circuit_file;
  
-+#ifdef HAS_GNUREADLINE
-+char gnu_history_file[512];
-+static char *application_name;
 +#endif
 +
- struct variable *(*if_getparam)( );
- 
- #ifdef BATCH
-@@ -185,6 +202,95 @@
- 
- #endif
- 
-+#ifdef HAS_GNUREADLINE
-+/* Adapted ../lib/cp/lexical.c:prompt() for GNU Readline -- Andrew Veliath <veliaa@rpi.edu> */
-+static char *
-+prompt()
-+{
-+    static char pbuf[128];
-+    int n = sizeof(pbuf);
-+    char *p = pbuf, *s;
-+
-+    if (cp_interactive == false)
-+        return;
-+    if (cp_promptstring == NULL)
-+        s = "-> ";
-+    else
-+        s = cp_promptstring;
-+    if (cp_altprompt)
-+        s = cp_altprompt;
-+    while (*s && (n > 1)) {
-+	int w;
-+        switch (strip(*s)) {
-+	case '!':
-+	    w = snprintf(p, n, "%d", where_history() + 1);
-+	    w = (w >= n) ? n - 1 : w;
-+	    p += w;
-+	    n -= w;
-+	    break;
-+	case '\\':
-+	    if (*(s + 1)) ++s;
-+	default:
-+	    *p = strip(*s); ++p;
-+	    --n;
-+	    break;
-+        }
-+        s++;
-+    }
-+    *p = 0;
-+    return pbuf;
-+}
-+
-+/* Process device events in Readline's hook since there is no where
-+   else to do it now - AV */
-+int rl_event_func()
-+{
-+    static REQUEST reqst = { checkup_option, 0 };
-+    Input(&reqst, NULL);
-+    return 0;
-+}
-+
-+/* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
-+void app_rl_readlines()
-+{
-+    char *line, *expanded_line;
-+
-+    strcpy(gnu_history_file, getenv("HOME"));
-+    strcat(gnu_history_file, "/.");
-+    strcat(gnu_history_file, application_name);
-+    strcat(gnu_history_file, "_history");
-+
-+    using_history();
-+    read_history(gnu_history_file);
-+
-+    rl_readline_name = application_name;
-+    rl_instream = cp_in;
-+    rl_outstream = cp_out;
-+    rl_event_hook = rl_event_func;
-+	
-+    while (1) {
-+	history_set_pos(history_length);
-+	line = readline(prompt());
-+	if (line && *line) {
-+	    int s = history_expand(line, &expanded_line);
-+		    
-+	    if (s == 2) {
-+		fprintf(stderr, "-> %s\n", expanded_line);
-+	    } else if (s == -1) {
-+		fprintf(stderr, "readline: %s\n", expanded_line);
-+	    } else {
-+		cp_evloop(expanded_line);
-+		add_history(expanded_line);
-+	    }
-+	    free(expanded_line);
-+	}
-+	if (line) free(line);
-+	else if (line == NULL) cp_evloop("quit");
-+    }
-+    /* History gets written in ../fte/misccoms.c com_quit */
-+}
-+#endif /* HAS_GNUREADLINE */
-+
- char *hlp_filelist[] = { "spice", "cider", 0 };
- 
- void
-@@ -216,6 +322,10 @@
- 
- #endif
- 
 +#ifdef __FreeBSD__
 +    fpsetmask(fpgetmask() & ~FP_X_INV & ~FP_X_DZ & ~FP_X_OFL);
-+#endif
-+
-     /* MFB tends to jump to 0 on errors.  This tends to catch it. */
-     if (started) {
-         fprintf(cp_err, "main: Internal Error: jump to zero\n");
-@@ -236,6 +346,13 @@
-     ARCHsize = 1;
- #endif /* PARALLEL_ARCH */
- 
-+#ifdef HAS_GNUREADLINE
-+    if (!(application_name = strrchr(av[0],'/')))
-+        application_name = av[0];
-+    else
-+        ++application_name;
-+#endif
-+
- #ifdef HAS_MAC_ARGCARGV
-     ac = initmac(&av);
- #endif
-@@ -472,7 +589,11 @@
- #  ifdef HAS_UNIX_SIGS
-     /* Set up (void) signal handling */
-     if (!ft_batchmode) {
-+#    ifdef HAS_GNUREADLINE
-+        (void) signal(SIGINT, SIG_IGN);
-+#    else
-         (void) signal(SIGINT, ft_sigintr);
-+#    endif
-         (void) signal(SIGFPE, sigfloat);
- #    ifdef SIGTSTP
-         (void) signal(SIGTSTP, sigstop);
-@@ -668,7 +789,11 @@
-     } else {
-         (void) setjmp(jbuf);
-         cp_interactive = true;
-+#ifdef HAS_GNUREADLINE
-+	app_rl_readlines();
-+#else
- 	while (cp_evloop((char *) NULL) == 1) ;
-+#endif /* ifelse HAS_GNUREADLINE */
-     }
- 
- #  else /* if BATCH */
-@@ -708,7 +833,11 @@
-     /* Nutmeg "main" */
-     (void) setjmp(jbuf);
-     cp_interactive = true;
-+#ifdef HAS_GNUREADLINE
-+    app_rl_readlines();
-+#else
-     while (cp_evloop((char *) NULL) == 1) ;
-+#endif /* ifelse HAS_GNUREADLINE */
- 
  #endif
  
+     /* MFB tends to jump to 0 on errors.  This tends to catch it. */
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1ABEif-000C2B-64>