summaryrefslogtreecommitdiff
path: root/math/eval/files/patch-ac
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2014-07-28 23:33:47 +0000
committerAdam Weinberger <adamw@FreeBSD.org>2014-07-28 23:33:47 +0000
commita14c0668720dcafde3f60b7659a01d99ec693a41 (patch)
tree9c1a149bc961f7cd84b7aa93a2d61fec3d0f9685 /math/eval/files/patch-ac
parentRename mail/ patch-xy patches to reflect the files they modify. (diff)
Rename math/ patch-xy patches to reflect the files they modify.
Notes
Notes: svn path=/head/; revision=363276
Diffstat (limited to 'math/eval/files/patch-ac')
-rw-r--r--math/eval/files/patch-ac166
1 files changed, 0 insertions, 166 deletions
diff --git a/math/eval/files/patch-ac b/math/eval/files/patch-ac
deleted file mode 100644
index 50dd1635f5b0..000000000000
--- a/math/eval/files/patch-ac
+++ /dev/null
@@ -1,166 +0,0 @@
---- /tmp/Eval/source/eval.c Tue Apr 13 21:04:42 1993
-+++ eval.c Wed Sep 24 12:25:27 1997
-@@ -44,6 +44,9 @@
- */
-
- #include "eval.h"
-+#include <readline/readline.h>
-+#include <readline/history.h>
-+#include <signal.h>
-
- static char tempname[80];
- static char wdir[100];
-@@ -122,6 +125,7 @@
- static BOOLEAN process_line(FILE *stream,int showinp,int showout,VARPTR vlist,
- VARPTR clist,char *pinput);
- static void init_varlist(VARPTR vlist);
-+static void init_sig(void);
- static void var_copy(VARPTR dest,VARPTR source);
- static int print_help(FILE *stream,int extended,int page,char *s);
- static int more(char *text,char *input,int pause);
-@@ -143,6 +147,8 @@
-
-
- init_varlist(vlist);
-+ initialize_readline();
-+ init_sig();
- wdir[0]=EOS;
- rpath[0]=EOS;
- setobase(10);
-@@ -462,6 +468,7 @@
- if (input[m0]!='?')
- {
- evaluate(&input[m0],showout,vlist,clist);
-+ init_sig();
- break;
- }
- if (!strcmp(&input[m0],"?"))
-@@ -565,6 +572,24 @@
- vlist[i].name[0]=EOS;
- }
-
-+static void ignore_fpe(void)
-+{
-+ printf("Floating point exception... ignore result!\n");
-+ signal(SIGFPE, SIG_IGN);
-+}
-+
-+/*
-+** init_sig()
-+**
-+** initialize signal handler for floating point exceptions
-+**
-+*/
-+
-+static void init_sig(void)
-+{
-+ signal(SIGFPE, ignore_fpe);
-+}
-+
- /*
- ** var_copy(VARPTR dest,VARPTR source)
- **
-@@ -839,24 +864,89 @@
- s[j+1]=EOS;
- }
-
-+char *
-+complete_consts (char *text, int state)
-+{
-+ static int i = 0, j = 0;
-+
-+ if (state == 0) {
-+ i = 0;
-+ j = 0;
-+ }
-+
-+ while (i<MAXC) {
-+ if (strncmp (clist[i].name, text, strlen(text)) == 0)
-+ return strdup(clist[i++].name);
-+ else
-+ i++;
-+ }
-
--static int nextline(char *s,FILE *stream)
--
-+ while (j<NUMFUNCS) {
-+ if (strncmp (flist[j].name, text, strlen(text)) == 0)
-+ return strdup(flist[j++].name);
-+ else
-+ j++;
-+ }
-+
-+ return NULL;
-+}
-+
-+int initialize_readline ()
-+{
-+ /* Allow conditional parsing of the ~/.inputrc file. */
-+ rl_readline_name = "Eval";
-+
-+ rl_completion_entry_function = (Function *)complete_consts;
-+}
-+
-+/* A static variable for holding the line. */
-+static char *line_read = (char *)NULL;
-+
-+/* Read a string, and return a pointer to it. Returns NULL on EOF. */
-+char *
-+do_gets ()
-+{
-+ /* If the buffer has already been allocated, return the memory
-+ to the free pool. */
-+ if (line_read != (char *)NULL)
- {
-- while (1)
--
-- {
-- if (stream==stdin)
-- printf("%s",PROMPT);
-- if (fgets(s,MAXINPUT,stream)==NULL)
-- return(0);
-- fixup(s);
-- if (s[0]!=';')
-- break;
-- }
-- return(1);
-+ free (line_read);
-+ line_read = (char *)NULL;
- }
-
-+ /* Get a line from the user. */
-+ line_read = readline (PROMPT);
-+
-+ /* If the line has any text in it, save it on the history. */
-+ if (line_read && *line_read)
-+ add_history (line_read);
-+
-+ return (line_read);
-+}
-+
-+
-+static int nextline(char *s,FILE *stream)
-+
-+{
-+ while (1)
-+
-+ {
-+ if (stream==stdin) {
-+ if (do_gets() == NULL)
-+ return 0;
-+ else
-+ strncpy(s, line_read, MAXINPUT);
-+ }
-+ else
-+ if (fgets(s,MAXINPUT,stream)==NULL)
-+ return(0);
-+ fixup(s);
-+ if (s[0]!=';')
-+ break;
-+ }
-+ return(1);
-+}
-+
-
- static void close_temp(int showout)
-