aboutsummaryrefslogtreecommitdiff
path: root/pkg/cl/globals.c
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /pkg/cl/globals.c
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'pkg/cl/globals.c')
-rw-r--r--pkg/cl/globals.c119
1 files changed, 119 insertions, 0 deletions
diff --git a/pkg/cl/globals.c b/pkg/cl/globals.c
new file mode 100644
index 00000000..fb7f38de
--- /dev/null
+++ b/pkg/cl/globals.c
@@ -0,0 +1,119 @@
+/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+ */
+
+#define import_spp
+#define import_libc
+#define import_stdio
+#include <iraf.h>
+
+#include "operand.h"
+#include "construct.h"
+#include "param.h"
+#include "task.h"
+#include "eparam.h"
+
+
+
+int parse_state; /* What are we parsing? */
+int proc_script; /* In a procedure script? */
+struct pfile *parse_pfile; /* Where parsed params are added. */
+
+int nextdest[MAX_LOOP]; /* Destinations for NEXT's */
+int brkdest[MAX_LOOP]; /* Destinations for BREAK's */
+
+int nestlevel = 0; /* Loop nesting level */
+int ncaseval; /* Number of cases in switch */
+
+int n_oarr; /* Number of open array indices */
+int i_oarr; /* Current open array index */
+
+int oarr_beg[N_OPEN_ARR]; /* Open index limits. */
+int oarr_end[N_OPEN_ARR];
+int oarr_curr[N_OPEN_ARR]; /* Current value for index. */
+int imloopset = 0; /* Loop inited at run time? */
+int n_indexes = 0; /* Number of indexes on stack. */
+
+int maybeindex; /* Could last constant be index */
+ /* range? */
+
+struct label *label1 = NULL; /* Pointer to first top of label list. */
+int igoto1 = -1; /* Head of list of indirect GOTO's */
+
+struct operand *parlist[MAX_PROC_PARAMS];
+struct param *last_parm; /* Last parameter before compilation. */
+int n_procpar; /* Number of params in proc stmt. */
+
+/* Default initialization of the EDCAP editor command set.
+ * Note: these are expected to be reset be the edcap facility at runtime.
+ * The source of most of these defaults is the EMACS editor
+ */
+int numcommands; /* number of defined commands */
+
+struct edit_commands command[MAX_COMMANDS] = {
+ { EDITOR_ID ,"\0" ,"" },
+ { EDIT_INIT ,"\0" ,"enable" },
+ { EDIT_TERM ,"\0" ,"disable" },
+
+ { MOVE_UP ,"\020" ,"^P" },
+ { MOVE_DOWN ,"\016" ,"^N" },
+ { MOVE_RIGHT ,"\006" ,"^F" },
+ { MOVE_LEFT ,"\002" ,"^B" },
+
+ { MOVE_UP ,"\033\133\101" ,"UP ARROW" },
+ { MOVE_DOWN ,"\033\133\102" ,"DOWN ARROW" },
+ { MOVE_RIGHT ,"\033\133\103" ,"RIGHT ARROW" },
+ { MOVE_LEFT ,"\033\133\104" ,"LEFT ARROW" },
+
+ { NEXT_WORD ,"\033\106" ,"ESC-F" },
+ { NEXT_WORD ,"\033\146" ,"ESC-f" },
+ { PREV_WORD ,"\033\102" ,"ESC-B" },
+ { PREV_WORD ,"\033\142" ,"ESC-b" },
+ { MOVE_EOL ,"\005" ,"^E" },
+ { MOVE_BOL ,"\001" ,"^A" },
+ { NEXT_PAGE ,"\026" ,"^V" },
+ { PREV_PAGE ,"\033\126" ,"ESC-V" },
+ { PREV_PAGE ,"\033\166" ,"ESC-v" },
+ { MOVE_START ,"\033\074" ,"ESC-<" },
+ { MOVE_END ,"\033\076" ,"ESC->" },
+
+ { SET_FWD ,"\000" ,"undefined" },
+ { SET_AFT ,"\000" ,"undefined" },
+ { TOGGLE_DIR ,"\000" ,"undefined" },
+
+ { DEL_LEFT ,"\177" ,"DEL" },
+ { DEL_LEFT ,"\010" ,"^H or BS" },
+ { DEL_CHAR ,"\004" ,"^D" },
+ { DEL_WORD ,"\033\104" ,"ESC-D" },
+ { DEL_WORD ,"\033\144" ,"ESC-d" },
+ { DEL_LINE ,"\013" ,"^K" },
+ { UNDEL_CHAR ,"\033\004" ,"ESC-^D" },
+ { UNDEL_WORD ,"\033\027" ,"ESC-^W" },
+ { UNDEL_LINE ,"\033\013" ,"ESC-^K" },
+
+ { FIND_FWD ,"\033\123" ,"ESC-S" },
+ { FIND_FWD ,"\033\163" ,"ESC-s" },
+ { FIND_AFT ,"\033\122" ,"ESC-R" },
+ { FIND_AFT ,"\033\162" ,"ESC-r" },
+ { FIND_NEXT ,"\000" ,"undefined" },
+
+ { GET_HELP ,"\033\077" ,"ESC-?" },
+ { REPAINT ,"\014" ,"^L" },
+ { EXIT_UPDATE ,"\032" ,"^Z" },
+ { EXIT_NOUPDATE ,"\003" ,"^C" },
+
+ { NEXT_LINE ,"\000" ,"undefined" },
+ { NOMORE_COMMANDS ,"\0" ,"" }
+};
+
+/* Names of the editor commands, used for edcap interpretation and showhelp.
+ */
+char *cmdnames[MAX_COMMANDS] = {
+ "EDITOR_ID", "EDIT_INIT", "EDIT_TERM",
+ "MOVE_UP", "MOVE_DOWN", "MOVE_RIGHT", "MOVE_LEFT", "NEXT_WORD",
+ "PREV_WORD", "MOVE_EOL", "MOVE_BOL", "NEXT_PAGE", "PREV_PAGE",
+ "MOVE_START", "MOVE_END", "SET_FWD", "SET_AFT", "TOGGLE_DIR",
+ "DEL_LEFT", "DEL_CHAR", "DEL_WORD", "DEL_LINE", "UNDEL_CHAR",
+ "UNDEL_WORD", "UNDEL_LINE", "FIND_FWD", "FIND_AFT", "FIND_NEXT",
+ "GET_HELP", "REPAINT", "EXIT_UPDATE", "EXIT_NOUPDATE",
+ "NEXT_LINE", "NOMORE_COMMANDS"
+};