home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / src / baseline / jove-4.14.6.lha / jove-4.14.6 / vars.c < prev    next >
C/C++ Source or Header  |  1992-01-10  |  5KB  |  138 lines

  1. /***************************************************************************
  2.  * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE *
  3.  * is provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is    *
  5.  * included in all the files.                                              *
  6.  ***************************************************************************/
  7.  
  8. #ifndef    TXT_TO_C    /* so that jove.h isn't included twice in setmaps */
  9. #include "jove.h"
  10. #endif
  11.  
  12. #ifndef IBMPC
  13. const
  14. #endif
  15. struct variable    variables[] = {
  16.     VARIABLE, "abort-char", (UnivPtr) &AbortChar, V_CHAR,
  17. #ifdef    UNIX
  18.     VARIABLE, "allow-^S-and-^Q", (UnivPtr) &OKXonXoff, V_BOOL|V_TTY_RESET,
  19. #endif    /* UNIX */
  20.     VARIABLE, "allow-bad-filenames", (UnivPtr) &OkayBadChars, V_BOOL,
  21. #ifdef    ABBREV
  22.     VARIABLE, "auto-case-abbrev", (UnivPtr) &AutoCaseAbbrev, V_BOOL,
  23. #endif
  24. #ifdef    IBMPC
  25.     VARIABLE, "background-color", (UnivPtr) &Bgcolor, V_BASE10|V_CLRSCREEN,
  26. #endif    /* IBMPC */
  27. #ifdef    F_COMPLETION
  28.     VARIABLE, "bad-filename-extensions", (UnivPtr)BadExtensions, V_STRING,
  29. #endif
  30.     VARIABLE, "c-argument-indentation", (UnivPtr) &CArgIndent, V_BASE10,
  31.     VARIABLE, "c-indentation-increment", (UnivPtr) &CIndIncrmt, V_BASE10,
  32.     VARIABLE, "case-ignore-search", (UnivPtr) &CaseIgnore, V_BOOL,
  33. #ifdef    CMT_FMT
  34.     VARIABLE, "comment-format", (UnivPtr)CmtFmt, V_STRING,
  35. #endif
  36. #ifdef    IPROCS
  37.     VARIABLE, "dbx-format-string", (UnivPtr)dbx_parse_fmt, V_STRING,
  38. #endif
  39. #ifdef    BIFF
  40.     VARIABLE, "disable-biff", (UnivPtr) &BiffChk, V_BOOL,
  41. #endif
  42. #ifdef    F_COMPLETION
  43.     VARIABLE, "display-bad-filenames", (UnivPtr) &DispBadFs, V_BOOL,
  44. #endif
  45. #ifndef    MAC
  46.     VARIABLE, "error-format-string", (UnivPtr)ErrFmtStr, V_STRING,
  47.     VARIABLE, "error-window-size", (UnivPtr) &EWSize, V_BASE10,
  48. #endif
  49.     VARIABLE, "expand-environment-variables", (UnivPtr) &DoEVexpand, V_BOOL,
  50.     VARIABLE, "file-creation-mode", (UnivPtr) &CreatMode, V_BASE8,
  51.     VARIABLE, "files-should-end-with-newline", (UnivPtr) &EndWNewline, V_BOOL,
  52. #ifdef    IBMPC
  53.     VARIABLE, "foreground-color", (UnivPtr) &Fgcolor, V_BASE10|V_CLRSCREEN,
  54. #endif    /* IBMPC */
  55.     VARIABLE, "internal-tabstop", (UnivPtr) &tabstop, V_BASE10|V_CLRSCREEN,
  56.     VARIABLE, "interrupt-character", (UnivPtr) &IntChar, V_CHAR|V_TTY_RESET,
  57.     VARIABLE, "left-margin", (UnivPtr) &LMargin, V_BASE10,
  58. #ifdef    MAC
  59.     VARIABLE, "macify", (UnivPtr) &Macmode, V_BOOL,
  60. #endif
  61. #ifdef    UNIX
  62.     VARIABLE, "mail-check-frequency", (UnivPtr) &MailInt, V_BASE10,
  63.     VARIABLE, "mailbox", (UnivPtr)Mailbox, V_FILENAME,
  64. #endif    /* UNIX */
  65. #ifdef    BACKUPFILES
  66.     VARIABLE, "make-backup-files", (UnivPtr) &BkupOnWrite, V_BOOL,
  67. #endif
  68.     VARIABLE, "mark-threshold", (UnivPtr) &MarkThresh, V_BASE10,
  69.     VARIABLE, "marks-should-float", (UnivPtr) &MarksShouldFloat, V_BOOL,
  70.     VARIABLE, "match-regular-expressions", (UnivPtr) &UseRE, V_BOOL,
  71.     VARIABLE, "meta-key", (UnivPtr) &MetaKey, V_BOOL|V_TTY_RESET,
  72.     VARIABLE, "mode-line", (UnivPtr)ModeFmt, V_STRING|V_MODELINE,
  73. #ifdef    IBMPC
  74.     VARIABLE, "mode-line-color", (UnivPtr) &Mdcolor, V_BASE10|V_MODELINE,
  75. #endif
  76.     VARIABLE, "mode-line-should-standout", (UnivPtr) &BriteMode, V_BOOL|V_MODELINE,
  77.     VARIABLE, "paren-flash-delay", (UnivPtr) &PDelay, V_BASE10,
  78. #ifndef    MAC
  79.     VARIABLE, "physical-tabstop", (UnivPtr) &phystab, V_BASE10|V_CLRSCREEN,
  80. #endif
  81. #ifdef    IPROCS
  82.     VARIABLE, "process-prompt", (UnivPtr)proc_prompt, V_STRING,
  83. #endif
  84.     VARIABLE, "right-margin", (UnivPtr) &RMargin, V_BASE10,
  85.     VARIABLE, "scroll-all-lines", (UnivPtr) &ScrollAll, V_BOOL,
  86.     VARIABLE, "scroll-step", (UnivPtr) &ScrollStep, V_BASE10,
  87.     VARIABLE, "search-exit-char", (UnivPtr) &SExitChar, V_CHAR,
  88.     VARIABLE, "send-typeout-to-buffer", (UnivPtr) &UseBuffers, V_BOOL,
  89. #ifndef    MAC
  90.     VARIABLE, "shell", (UnivPtr)Shell, V_FILENAME,
  91.     VARIABLE, "shell-flags", (UnivPtr)ShFlags, V_STRING,
  92. #endif
  93. #ifndef    MSDOS
  94.     VARIABLE, "sync-frequency", (UnivPtr) &SyncFreq, V_BASE10,
  95. #endif    /* MSDOS */
  96.     VARIABLE, "tag-file", (UnivPtr)TagFile, V_FILENAME,
  97. #ifndef    MAC
  98.     VARIABLE, "tmp-file-pathname", (UnivPtr)TmpFilePath, V_FILENAME,
  99. #endif
  100. #ifdef    UNIX
  101.     VARIABLE, "update-time-frequency", (UnivPtr) &UpdFreq, V_BASE10,
  102. #endif    /* UNIX */
  103. #ifdef    ID_CHAR
  104.     VARIABLE, "use-i/d-char", (UnivPtr) &UseIC, V_BOOL,
  105. #endif
  106.     VARIABLE, "visible-bell", (UnivPtr) &VisBell, V_BOOL,
  107.     VARIABLE, "wrap-search", (UnivPtr) &WrapScan, V_BOOL,
  108. #ifndef    MAC
  109.     VARIABLE, "write-files-on-make", (UnivPtr) &WtOnMk, V_BOOL,
  110. #endif
  111.     VARIABLE, NULL, NULL, 0
  112. };
  113.  
  114. #ifndef    TXT_TO_C
  115. data_obj *
  116. findvar(prompt)
  117. const char    *prompt;
  118. {
  119.     static char    *strings[(sizeof variables) / sizeof (struct variable)];
  120.     static bool    beenhere = FALSE;
  121.     register int    com;
  122.  
  123.     if (!beenhere) {
  124.         register char    **strs = strings;
  125.         register const struct variable    *v = variables;
  126.  
  127.         beenhere = TRUE;
  128.         for (; v->Name; v++)
  129.             *strs++ = v->Name;
  130.         *strs = NULL;
  131.     }
  132.  
  133.     if ((com = complete(strings, prompt, NOTHING)) < 0)
  134.         return NULL;
  135.     return (data_obj *) &variables[com];
  136. }
  137. #endif
  138.