Annotation of 43BSD/contrib/jove/vars.c, revision 1.1.1.1

1.1       root        1: /*************************************************************************
                      2:  * This program is copyright (C) 1985, 1986 by Jonathan Payne.  It is    *
                      3:  * provided to you without charge for use only on a licensed Unix        *
                      4:  * system.  You may copy JOVE provided that this notice is included with *
                      5:  * the copy.  You may not sell copies of this program or versions        *
                      6:  * modified for use on microcomputer systems, unless the copies are      *
                      7:  * included with a Unix system distribution and the source is provided.  *
                      8:  *************************************************************************/
                      9: 
                     10: #include "jove.h"
                     11: 
                     12: struct variable        variables[] = {
                     13:        VARIABLE, "allow-^S-and-^Q", &OKXonXoff, V_BOOL|V_TTY_RESET,
                     14:        VARIABLE, "allow-bad-filenames", &OkayBadChars, V_BOOL,
                     15: #ifdef ABBREV
                     16:        VARIABLE, "auto-case-abbrev", &AutoCaseAbbrev, V_BOOL,
                     17: #endif
                     18: #ifdef F_COMPLETION
                     19:        VARIABLE, "bad-filename-extensions", (int *) BadExtensions, V_STRING,
                     20: #endif
                     21:        VARIABLE, "c-indentation-increment", &CIndIncrmt, V_BASE10,
                     22:        VARIABLE, "case-ignore-search", &CaseIgnore, V_BOOL,
                     23: #ifdef CMT_FMT
                     24:        VARIABLE, "comment-format", (int *) CmtFmt, V_STRING,
                     25: #endif
                     26: #ifdef BIFF
                     27:        VARIABLE, "disable-biff", &BiffChk, V_BOOL,
                     28: #endif
                     29:        VARIABLE, "error-window-size", &EWSize, V_BASE10,
                     30:        VARIABLE, "file-creation-mode", &CreatMode, V_BASE8,
                     31:        VARIABLE, "files-should-end-with-newline", &EndWNewline, V_BOOL,
                     32:        VARIABLE, "internal-tabstop", &tabstop, V_BASE10|V_CLRSCREEN,
                     33:        VARIABLE, "left-margin", &LMargin, V_BASE10,
                     34:        VARIABLE, "mailbox", (int *) Mailbox, V_STRING,
                     35:        VARIABLE, "mail-check-frequency", (int *) &MailInt, V_BASE10,
                     36: #ifdef BACKUPFILES
                     37:        VARIABLE, "make-backup-files", &BkupOnWrite, V_BOOL,
                     38: #endif
                     39:        VARIABLE, "mark-threshold", &MarkThresh, V_BASE10,
                     40:        VARIABLE, "marks-should-float", &MarksShouldFloat, V_BOOL,
                     41:        VARIABLE, "match-regular-expressions", &UseRE, V_BOOL,
                     42:        VARIABLE, "meta-key", &MetaKey, V_BOOL|V_TTY_RESET,
                     43:        VARIABLE, "mode-line", (int *) ModeFmt, V_STRING|V_MODELINE,
                     44:        VARIABLE, "mode-line-should-standout", &BriteMode, V_BOOL|V_MODELINE,
                     45:        VARIABLE, "paren-flash-delay", &PDelay, V_BASE10,
                     46:        VARIABLE, "physical-tabstop", &phystab, V_BASE10|V_CLRSCREEN,
                     47: #ifdef IPROCS
                     48:        VARIABLE, "process-prompt", (int *) proc_prompt, V_STRING,
                     49: #endif
                     50:        VARIABLE, "right-margin", &RMargin, V_BASE10,
                     51:        VARIABLE, "scroll-step", &ScrollStep, V_BASE10,
                     52:        VARIABLE, "search-exit-char", &SExitChar, V_CHAR,
                     53:        VARIABLE, "send-typeout-to-buffer", &UseBuffers, V_BOOL,
                     54:        VARIABLE, "shell", (int *) Shell, V_STRING,
                     55:        VARIABLE, "shell-flags", (int *) ShFlags, V_STRING,
                     56:        VARIABLE, "sync-frequency", &SyncFreq, V_BASE10,
                     57:        VARIABLE, "tag-file", (int *) TagFile, V_STRING,
                     58:        VARIABLE, "update-time-frequency", &UpdFreq, V_BASE10,
                     59: #ifdef ID_CHAR
                     60:        VARIABLE, "use-i/d-char", &UseIC, V_BOOL,
                     61: #endif
                     62:        VARIABLE, "visible-bell", &VisBell, V_BOOL,
                     63:        VARIABLE, "wrap-search", &WrapScan, V_BOOL,
                     64:        VARIABLE, "write-files-on-make", &WtOnMk, V_BOOL,
                     65:        VARIABLE, 0, 0, 0
                     66: };
                     67: 
                     68: data_obj *
                     69: findvar(prompt)
                     70: char   *prompt;
                     71: {
                     72:        static char     *strings[(sizeof variables) / sizeof (struct variable)];
                     73:        static int      beenhere = 0;
                     74:        register int    com;
                     75: 
                     76:        if (beenhere == 0) {
                     77:                register char   **strs = strings;
                     78:                register struct variable        *v = variables;
                     79: 
                     80:                beenhere = 1;
                     81:                for (; v->Name; v++)
                     82:                        *strs++ = v->Name;
                     83:                *strs = 0;
                     84:        }
                     85: 
                     86:        if ((com = complete(strings, prompt)) < 0)
                     87:                return 0;
                     88:        return (data_obj *) &variables[com];
                     89: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.