Annotation of 43BSDTahoe/new/jove/funcdefs.c, revision 1.1.1.1

1.1       root        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: #include "jove.h"
                      9: #include "ctype.h"
                     10: 
                     11: #if !defined(TXT_TO_C) 
                     12: extern void
                     13:        EscPrefix(),
                     14:        CtlxPrefix(),
                     15:        MiscPrefix(),
                     16:        UnbindC(),
                     17:        ShowVersion(),
                     18:        WVisSpace(),
                     19: #ifdef ANSICODES
                     20:        AnsiCodes(),
                     21: #endif
                     22:        AppReg(),
                     23:        Apropos(),
                     24:        BackChar(),
                     25:        BList(),
                     26:        FList(),
                     27:        BUpList(),
                     28:        FDownList(),
                     29:        BSexpr(),
                     30:        BackWord(),
                     31:        Bof(),
                     32:        Bol(),
                     33:        Bos(),
                     34:        Bow(),
                     35:        BindAKey(),
                     36:        BindMac(),
                     37:        BufPos(),
                     38: #ifdef MSDOS
                     39:        Buf1Select(),
                     40:        Buf2Select(),
                     41:        Buf3Select(),
                     42:        Buf4Select(),
                     43:        Buf5Select(),
                     44:        Buf6Select(),
                     45:        Buf7Select(),
                     46:        Buf8Select(),
                     47:        Buf9Select(),
                     48:        Buf10Select(),
                     49: #endif /* MSDOS */
                     50:        CasRegLower(),
                     51:        CasRegUpper(),
                     52:        CapChar(),
                     53:        CapWord(),
                     54:        LowWord(),
                     55:        UppWord(),
                     56: #ifdef CHDIR
                     57:        Chdir(),
                     58:        prCWD(),
                     59:        prDIRS(),
                     60:        Pushd(),
                     61:        Popd(),
                     62: #endif
                     63:        prCTIME(),
                     64:        ChrToOct(),
                     65:        ClAndRedraw(),
                     66: #ifndef MAC
                     67:        MakeErrors(),
                     68: #endif
                     69:        CopyRegion(),
                     70:        BufSelect(),
                     71:        DelBlnkLines(),
                     72:        DelNChar(),
                     73:        DelNWord(),
                     74:        OneWindow(),
                     75:        DelPChar(),
                     76:        DelPWord(),
                     77:        DelReg(),
                     78:        KillSome(),
                     79:        DelWtSpace(),
                     80:        DelCurWindow(),
                     81:        KeyDesc(),
                     82:        Digit(),
                     83:        Digit0(),
                     84:        Digit1(),
                     85:        Digit2(),
                     86:        Digit3(),
                     87:        Digit4(),
                     88:        Digit5(),
                     89:        Digit6(),
                     90:        Digit7(),
                     91:        Digit8(),
                     92:        Digit9(),
                     93:        DescBindings(),
                     94:        DescCom(),
                     95:        Eof(),
                     96:        Eol(),
                     97:        Eos(),
                     98:        Eow(),
                     99:        ForPara(),
                    100:        BackPara(),
                    101:        BufErase(),
                    102:        PtToMark(),
                    103:        Extend(),
                    104:        ExecMacro(),
                    105:        RunMacro(),
                    106:        Leave(),
                    107:        FindFile(),
                    108:        WindFind(),
                    109:        FindTag(),
                    110:        FDotTag(),
                    111:        ToIndent(),
                    112:        ForChar(),
                    113:        FSexpr(),
                    114:        ForWord(),
                    115:        TimesFour(),
                    116:        GoLine(),
                    117:        GrowWindow(),
                    118:        IncFSearch(),
                    119:        IncRSearch(),
                    120:        InsFile(),
                    121:        Justify(),
                    122:        RegJustify(),
                    123:        SetLMargin(),
                    124:        SetRMargin(),
                    125:        BufKill(),
                    126:        KillBos(),
                    127:        KillEos(),
                    128:        KillEOL(),
                    129:        KillExpr(),
                    130:        BufList(),
                    131:        NotModified(),
                    132:        NameMac(),
                    133:        DelMacro(),
                    134:        Newline(),
                    135:        OpenLine(),
                    136:        LineAI(),
                    137: #ifndef MAC
                    138:        ShowErr(),
                    139:        NextError(),
                    140: #endif /* MAC */
                    141: #ifdef MSDOS
                    142:        PageScrollUp(),
                    143:        PageScrollDown(),
                    144: #endif /* MSDOS */
                    145: #ifndef MAC
                    146:        PrevError(),
                    147: #endif /* MAC */
                    148:        NextLine(),
                    149:        NextPage(),
                    150:        NextWindow(),
                    151:        Recur(),
                    152:        PopMark(),
                    153:        PageNWind(),
                    154:        Tab(),
                    155:        DoParen(),
                    156: #ifndef MAC
                    157:        ParseAll(),
                    158: #endif
                    159: #ifdef SPELL
                    160:        SpelWords(),
                    161: #endif
                    162: #ifdef JOB_CONTROL
                    163:        PauseJove(),
                    164: #endif
                    165:        PrevLine(),
                    166:        PrevPage(),
                    167:        PrevWindow(),
                    168: #ifndef MAC
                    169:        Push(),
                    170: #endif
                    171:        RegReplace(),
                    172:        QRepSearch(),
                    173:        QuotChar(),
                    174:        ReadFile(),
                    175:        DefKBDMac(),
                    176:        RedrawDisplay(),
                    177:        ReNamBuf(),
                    178:        RepSearch(),
                    179:        DownScroll(),
                    180:        UpScroll(),
                    181:        ForSearch(),
                    182:        FSrchND(),
                    183:        RevSearch(),
                    184:        RSrchND(),
                    185:        SelfInsert(),
                    186:        SetVar(),
                    187:        SetMark(),
                    188: #ifndef MAC
                    189:        ShellCom(),
                    190:        ShNoBuf(),
                    191:        Shtypeout(),
                    192:        ShToBuf(),
                    193: #endif
                    194:        ShrWindow(),
                    195:        Source(),
                    196: #ifdef SPELL
                    197:        SpelBuffer(),
                    198: #endif
                    199:        SplitWind(),
                    200:        GotoWind(),
                    201:        Remember(),
                    202:        Forget(),
                    203:        StrLength(),
                    204:        TransChar(),
                    205:        TransLines(),
                    206:        SaveFile(),
                    207:        WtModBuf(),
                    208:        WriteFile(),
                    209:        WriteMacs(),
                    210:        WrtReg(),
                    211:        Yank(),
                    212:        YankPop(),      PrVar(),
                    213: #ifndef MAC
                    214:        FilterRegion(),
                    215: #endif
                    216:        WNumLines(),
                    217: #ifdef IPROCS
                    218:        ShellProc(),
                    219:        ProcInt(),
                    220:        ProcQuit(),
                    221:        ProcKill(),
                    222: #  ifndef PIPEPROCS
                    223:        ProcEof(),
                    224:        ProcStop(),
                    225:        ProcCont(),
                    226:        ProcDStop(),
                    227: #  endif
                    228:        ProcSendData(),
                    229:        ProcNewline(),
                    230:        ProcList(),
                    231:        ProcBind(),
                    232:        Iprocess(),
                    233: #endif
                    234: 
                    235: #ifdef LISP
                    236:        GSexpr(),       /* Grind S Expression. */
                    237:        AddSpecial(),   /* add lisp special form */
                    238: #endif
                    239:        CAutoExec(),
                    240:        MAutoExec(),
                    241: 
                    242:        DefMAbbrev(),
                    243:        DefGAbbrev(),
                    244:        SaveAbbrevs(),
                    245:        RestAbbrevs(),
                    246:        EditAbbrevs(),
                    247:        BindMtoW(),
                    248: 
                    249: #ifdef CMT_FMT
                    250:        Comment(),
                    251: #endif
                    252: 
                    253:        ScrollLeft(),
                    254:        ScrollRight(),
                    255:        MacInter();             /* This is the last one. */
                    256: 
                    257: 
                    258: #ifdef MAC
                    259: #      define WIRED_CMD(c) c,'\0','\0' /* for About Jove... */
                    260: #else
                    261: #      define WIRED_CMD(c)     c
                    262: #endif /* MAC */
                    263: 
                    264: #else /* TXT_TO_C */
                    265: 
                    266: #ifdef MAC
                    267: #      define WIRED_CMD(c) 0,'\0','\0'
                    268: #else
                    269: #      define WIRED_CMD(c)     0
                    270: #endif
                    271: #endif /* TXT_TO_C */
                    272: 
                    273: struct cmd     commands[] = {
                    274: #ifdef LISP
                    275:        FUNCTION, "add-lisp-special", WIRED_CMD(AddSpecial),
                    276: #endif
                    277: #ifdef ANSICODES
                    278:        FUNCTION, "ansi-codes", WIRED_CMD(AnsiCodes),
                    279: #endif
                    280:        FUNCTION, "append-region", WIRED_CMD(AppReg),
                    281:        FUNCTION, "apropos", WIRED_CMD(Apropos),
                    282:        FUNCTION, "auto-execute-command", WIRED_CMD(CAutoExec),
                    283:        FUNCTION, "auto-execute-macro", WIRED_CMD(MAutoExec),
                    284:        DefMinor(Fill), "auto-fill-mode", WIRED_CMD(0),
                    285:        DefMinor(Indent), "auto-indent-mode", WIRED_CMD(0),
                    286:        FUNCTION, "backward-character", WIRED_CMD(BackChar),
                    287:        FUNCTION, "backward-list", WIRED_CMD(BList),
                    288:        FUNCTION, "backward-paragraph", WIRED_CMD(BackPara),
                    289:        FUNCTION, "backward-s-expression", WIRED_CMD(BSexpr),
                    290:        FUNCTION, "backward-sentence", WIRED_CMD(Bos),
                    291:        FUNCTION, "backward-up-list", WIRED_CMD(BUpList),
                    292:        FUNCTION, "backward-word", WIRED_CMD(BackWord),
                    293:        FUNCTION, "begin-kbd-macro", WIRED_CMD(Remember),
                    294:        FUNCTION, "beginning-of-file", WIRED_CMD(Bof),
                    295:        FUNCTION, "beginning-of-line", WIRED_CMD(Bol),
                    296:        FUNCTION, "beginning-of-window", WIRED_CMD(Bow),
                    297:        FUNCTION, "bind-to-key", WIRED_CMD(BindAKey),
                    298:        FUNCTION, "bind-macro-to-key", WIRED_CMD(BindMac),
                    299: #ifdef ABBREV
                    300:        FUNCTION, "bind-macro-to-word-abbrev", WIRED_CMD(BindMtoW),
                    301: #endif
                    302:        FUNCTION, "buffer-position", WIRED_CMD(BufPos),
                    303:        DefMajor(CMODE), "c-mode", WIRED_CMD(0),
                    304:        FUNCTION, "case-character-capitalize", WIRED_CMD(CapChar),
                    305:        FUNCTION, "case-region-lower", WIRED_CMD(CasRegLower),
                    306:        FUNCTION, "case-region-upper", WIRED_CMD(CasRegUpper),
                    307:        FUNCTION, "case-word-capitalize", WIRED_CMD(CapWord),
                    308:        FUNCTION, "case-word-lower", WIRED_CMD(LowWord),
                    309:        FUNCTION, "case-word-upper", WIRED_CMD(UppWord),
                    310:        FUNCTION, "character-to-octal-insert", WIRED_CMD(ChrToOct),
                    311: #ifdef CHDIR
                    312:        FUNCTION, "cd", WIRED_CMD(Chdir),
                    313: #endif
                    314:        FUNCTION, "clear-and-redraw", WIRED_CMD(ClAndRedraw),
                    315: #ifndef MAC
                    316:        FUNCTION, "compile-it", WIRED_CMD(MakeErrors),
                    317: #endif
                    318: #ifdef IPROCS
                    319: #  ifndef PIPEPROCS
                    320: #    ifdef TIOCSLTC
                    321:        FUNCTION, "continue-process", WIRED_CMD(ProcCont),
                    322: #    endif
                    323: #  endif
                    324: #endif
                    325:        FUNCTION, "copy-region", WIRED_CMD(CopyRegion),
                    326: #ifndef MAC
                    327:        FUNCTION, "current-error", WIRED_CMD(ShowErr),
                    328: #endif
                    329:        FUNCTION, "date", WIRED_CMD(prCTIME),
                    330: #ifdef ABBREV
                    331:        FUNCTION, "define-global-word-abbrev", WIRED_CMD(DefGAbbrev),
                    332:        FUNCTION, "define-mode-word-abbrev", WIRED_CMD(DefMAbbrev),
                    333: #endif
                    334:        FUNCTION, "define-macro", WIRED_CMD(DefKBDMac),
                    335:        FUNCTION, "delete-blank-lines", WIRED_CMD(DelBlnkLines),
                    336:        FUNCTION, "delete-buffer", WIRED_CMD(BufKill),
                    337:        FUNCTION, "delete-macro", WIRED_CMD(DelMacro),
                    338:        FUNCTION, "delete-next-character", WIRED_CMD(DelNChar),
                    339:        FUNCTION, "delete-other-windows", WIRED_CMD(OneWindow),
                    340:        FUNCTION, "delete-previous-character", WIRED_CMD(DelPChar),
                    341:        FUNCTION, "delete-white-space", WIRED_CMD(DelWtSpace),
                    342:        FUNCTION, "delete-current-window", WIRED_CMD(DelCurWindow),
                    343:        FUNCTION, "describe-bindings", WIRED_CMD(DescBindings),
                    344:        FUNCTION, "describe-command", WIRED_CMD(DescCom),
                    345:        FUNCTION, "describe-key", WIRED_CMD(KeyDesc),
                    346:        FUNCTION, "describe-variable", WIRED_CMD(DescCom),
                    347:        FUNCTION, "digit", WIRED_CMD(Digit),
                    348:        FUNCTION, "digit-1", WIRED_CMD(Digit1),
                    349:        FUNCTION, "digit-2", WIRED_CMD(Digit2),
                    350:        FUNCTION, "digit-3", WIRED_CMD(Digit3),
                    351:        FUNCTION, "digit-4", WIRED_CMD(Digit4),
                    352:        FUNCTION, "digit-5", WIRED_CMD(Digit5),
                    353:        FUNCTION, "digit-6", WIRED_CMD(Digit6),
                    354:        FUNCTION, "digit-7", WIRED_CMD(Digit7),
                    355:        FUNCTION, "digit-8", WIRED_CMD(Digit8),
                    356:        FUNCTION, "digit-9", WIRED_CMD(Digit9),
                    357:        FUNCTION, "digit-0", WIRED_CMD(Digit0),
                    358: #ifdef CHDIR
                    359:        FUNCTION, "dirs", WIRED_CMD(prDIRS),
                    360: #endif
                    361:        FUNCTION, "down-list", WIRED_CMD(FDownList),
                    362: #ifdef IPROCS
                    363: #  ifndef PIPEPROCS
                    364: #    ifdef TIOCSLTC
                    365:        FUNCTION, "dstop-process", WIRED_CMD(ProcDStop),
                    366: #    endif
                    367: #  endif
                    368: #endif
                    369: #ifdef ABBREV
                    370:        FUNCTION, "edit-word-abbrevs", WIRED_CMD(EditAbbrevs),
                    371: #endif
                    372:        FUNCTION, "end-kbd-macro", WIRED_CMD(Forget),
                    373:        FUNCTION, "end-of-file", WIRED_CMD(Eof),
                    374:        FUNCTION, "end-of-line", WIRED_CMD(Eol),
                    375:        FUNCTION, "end-of-window", WIRED_CMD(Eow),
                    376: #ifdef IPROCS
                    377: #  ifndef PIPEPROCS
                    378:        FUNCTION, "eof-process", WIRED_CMD(ProcEof),
                    379: #  endif
                    380: #endif
                    381:        FUNCTION, "erase-buffer", WIRED_CMD(BufErase),
                    382:        FUNCTION, "exchange-point-and-mark", WIRED_CMD(PtToMark),
                    383:        FUNCTION, "execute-named-command", WIRED_CMD(Extend),
                    384:        FUNCTION, "execute-kbd-macro", WIRED_CMD(ExecMacro),
                    385:        FUNCTION, "execute-macro", WIRED_CMD(RunMacro),
                    386:        FUNCTION, "exit-jove", WIRED_CMD(Leave),
                    387: #ifdef CMT_FMT
                    388:        FUNCTION, "fill-comment", WIRED_CMD(Comment),
                    389: #endif /* CMT_FMT */
                    390:        FUNCTION, "fill-paragraph", WIRED_CMD(Justify),
                    391:        FUNCTION, "fill-region", WIRED_CMD(RegJustify),
                    392: #ifndef MAC
                    393:        FUNCTION, "filter-region", WIRED_CMD(FilterRegion),
                    394: #endif
                    395:        FUNCTION, "find-file", WIRED_CMD(FindFile),
                    396:        FUNCTION, "find-tag", WIRED_CMD(FindTag),
                    397:        FUNCTION, "find-tag-at-point", WIRED_CMD(FDotTag),
                    398:        FUNCTION, "first-non-blank", WIRED_CMD(ToIndent),
                    399:        FUNCTION, "forward-character", WIRED_CMD(ForChar),
                    400:        FUNCTION, "forward-list", WIRED_CMD(FList),
                    401:        FUNCTION, "forward-paragraph", WIRED_CMD(ForPara),
                    402:        FUNCTION, "forward-s-expression", WIRED_CMD(FSexpr),
                    403:        FUNCTION, "forward-sentence", WIRED_CMD(Eos),
                    404:        FUNCTION, "forward-word", WIRED_CMD(ForWord),
                    405:        DefMajor(FUNDAMENTAL), "fundamental-mode", WIRED_CMD(0),
                    406:        FUNCTION, "gather-numeric-argument", WIRED_CMD(TimesFour),
                    407: #ifdef LISP
                    408:        FUNCTION, "grind-s-expr", WIRED_CMD(GSexpr),
                    409: #endif
                    410:        FUNCTION, "goto-line", WIRED_CMD(GoLine),
                    411:        FUNCTION, "goto-window-with-buffer", WIRED_CMD(GotoWind),
                    412:        FUNCTION, "grow-window", WIRED_CMD(GrowWindow),
                    413:        FUNCTION, "handle-tab", WIRED_CMD(Tab),
                    414:        FUNCTION, "i-search-forward", WIRED_CMD(IncFSearch),
                    415:        FUNCTION, "i-search-reverse", WIRED_CMD(IncRSearch),
                    416:        FUNCTION, "insert-file", WIRED_CMD(InsFile),
                    417: #ifdef IPROCS
                    418:        FUNCTION, "interrupt-process", WIRED_CMD(ProcInt),
                    419:        FUNCTION, "i-shell-command", WIRED_CMD(Iprocess),
                    420: #endif
                    421:        FUNCTION, "kill-next-word", WIRED_CMD(DelNWord),
                    422:        FUNCTION, "kill-previous-word", WIRED_CMD(DelPWord),
                    423: #ifdef IPROCS
                    424:        FUNCTION, "kill-process", WIRED_CMD(ProcKill),
                    425: #endif
                    426:        FUNCTION, "kill-region", WIRED_CMD(DelReg),
                    427:        FUNCTION, "kill-s-expression", WIRED_CMD(KillExpr),
                    428:        FUNCTION, "kill-some-buffers", WIRED_CMD(KillSome),
                    429:        FUNCTION, "kill-to-beginning-of-sentence", WIRED_CMD(KillBos),
                    430:        FUNCTION, "kill-to-end-of-line", WIRED_CMD(KillEOL),
                    431:        FUNCTION, "kill-to-end-of-sentence", WIRED_CMD(KillEos),
                    432:        FUNCTION, "left-margin-here", WIRED_CMD(SetLMargin),
                    433: #ifdef LISP
                    434:        DefMajor(LISPMODE), "lisp-mode", WIRED_CMD(0),
                    435: #endif
                    436:        FUNCTION, "list-buffers", WIRED_CMD(BufList),
                    437: #ifdef IPROCS
                    438:        FUNCTION, "list-processes", WIRED_CMD(ProcList),
                    439: #endif
                    440:        FUNCTION, "make-buffer-unmodified", WIRED_CMD(NotModified),
                    441:        FUNCTION, "make-macro-interactive", WIRED_CMD(MacInter),
                    442:        FUNCTION, "name-kbd-macro", WIRED_CMD(NameMac),
                    443:        FUNCTION, "newline", WIRED_CMD(Newline),
                    444:        FUNCTION, "newline-and-backup", WIRED_CMD(OpenLine),
                    445:        FUNCTION, "newline-and-indent", WIRED_CMD(LineAI),
                    446: #ifndef MAC
                    447:        FUNCTION, "next-error", WIRED_CMD(NextError),
                    448: #endif
                    449:        FUNCTION, "next-line", WIRED_CMD(NextLine),
                    450:        FUNCTION, "next-page", WIRED_CMD(NextPage),
                    451:        FUNCTION, "next-window", WIRED_CMD(NextWindow),
                    452:        FUNCTION, "number-lines-in-window", WIRED_CMD(WNumLines),
                    453:        DefMinor(OverWrite), "over-write-mode", WIRED_CMD(0),
                    454:        FUNCTION, "page-next-window", WIRED_CMD(PageNWind),
                    455:        FUNCTION, "paren-flash", WIRED_CMD(DoParen),
                    456: #ifndef MAC
                    457:        FUNCTION, "parse-errors", WIRED_CMD(ErrParse),
                    458: #endif
                    459: #ifdef SPELL
                    460:        FUNCTION, "parse-spelling-errors-in-buffer", WIRED_CMD(SpelWords),
                    461: #endif
                    462: #ifdef JOB_CONTROL
                    463:        FUNCTION, "pause-jove", WIRED_CMD(PauseJove),
                    464: #else
                    465: #      ifndef MAC
                    466:        FUNCTION, "pause-jove", WIRED_CMD(Push),
                    467: #      endif
                    468: #endif
                    469:        FUNCTION, "pop-mark", WIRED_CMD(PopMark),
                    470: #ifdef CHDIR
                    471:        FUNCTION, "popd", WIRED_CMD(Popd),
                    472: #endif
                    473:        FUNCTION, "prefix-1", WIRED_CMD(EscPrefix),
                    474:        FUNCTION, "prefix-2", WIRED_CMD(CtlxPrefix),
                    475:        FUNCTION, "prefix-3", WIRED_CMD(MiscPrefix),
                    476: #ifndef MAC
                    477:        FUNCTION, "previous-error", WIRED_CMD(PrevError),
                    478: #endif
                    479:        FUNCTION, "previous-line", WIRED_CMD(PrevLine),
                    480:        FUNCTION, "previous-page", WIRED_CMD(PrevPage),
                    481:        FUNCTION, "previous-window", WIRED_CMD(PrevWindow),
                    482:        FUNCTION, "print", WIRED_CMD(PrVar),
                    483: #ifdef IPROCS
                    484:        FUNCTION, "process-bind-to-key", WIRED_CMD(ProcBind),
                    485:        FUNCTION, "process-newline", WIRED_CMD(ProcNewline),
                    486:        FUNCTION, "process-send-data-no-return", WIRED_CMD(ProcSendData),
                    487: #endif
                    488: #ifndef MAC
                    489:        FUNCTION, "push-shell", WIRED_CMD(Push),
                    490: #endif
                    491: #ifdef CHDIR
                    492:        FUNCTION, "pushd", WIRED_CMD(Pushd),
                    493:        FUNCTION, "pwd", WIRED_CMD(prCWD),
                    494: #endif
                    495:        FUNCTION, "query-replace-string", WIRED_CMD(QRepSearch),
                    496: #ifdef IPROCS
                    497:        FUNCTION, "quit-process", WIRED_CMD(ProcQuit),
                    498: #endif
                    499:        FUNCTION, "quoted-insert", WIRED_CMD(QuotChar),
                    500: #ifdef ABBREV
                    501:        FUNCTION, "read-word-abbrev-file", WIRED_CMD(RestAbbrevs),
                    502: #endif
                    503:        FUNCTION, "redraw-display", WIRED_CMD(RedrawDisplay),
                    504:        FUNCTION, "recursive-edit", WIRED_CMD(Recur),
                    505:        FUNCTION, "rename-buffer", WIRED_CMD(ReNamBuf),
                    506:        FUNCTION, "replace-in-region", WIRED_CMD(RegReplace),
                    507:        FUNCTION, "replace-string", WIRED_CMD(RepSearch),
                    508:        FUNCTION, "right-margin-here", WIRED_CMD(SetRMargin),
                    509:        FUNCTION, "save-file", WIRED_CMD(SaveFile),
                    510:        FUNCTION, "scroll-down", WIRED_CMD(DownScroll),
                    511:        FUNCTION, "scroll-left", WIRED_CMD(ScrollLeft),
                    512: #ifdef MSDOS
                    513:        FUNCTION, "scroll-next-page", WIRED_CMD(PageScrollUp),
                    514:        FUNCTION, "scroll-previous-page", WIRED_CMD(PageScrollDown),
                    515: #endif /* MSDOS */
                    516:        FUNCTION, "scroll-right", WIRED_CMD(ScrollRight),
                    517:        FUNCTION, "scroll-up", WIRED_CMD(UpScroll),
                    518:        FUNCTION, "search-forward", WIRED_CMD(ForSearch),
                    519:        FUNCTION, "search-forward-nd", WIRED_CMD(FSrchND),
                    520:        FUNCTION, "search-reverse", WIRED_CMD(RevSearch),
                    521:        FUNCTION, "search-reverse-nd", WIRED_CMD(RSrchND),
                    522:        FUNCTION, "select-buffer", WIRED_CMD(BufSelect),
                    523: #ifdef MSDOS
                    524:        FUNCTION, "select-buffer-1", WIRED_CMD(Buf1Select),
                    525:        FUNCTION, "select-buffer-2", WIRED_CMD(Buf2Select),
                    526:        FUNCTION, "select-buffer-3", WIRED_CMD(Buf3Select),
                    527:        FUNCTION, "select-buffer-4", WIRED_CMD(Buf4Select),
                    528:        FUNCTION, "select-buffer-5", WIRED_CMD(Buf5Select),
                    529:        FUNCTION, "select-buffer-6", WIRED_CMD(Buf6Select),
                    530:        FUNCTION, "select-buffer-7", WIRED_CMD(Buf7Select),
                    531:        FUNCTION, "select-buffer-8", WIRED_CMD(Buf8Select),
                    532:        FUNCTION, "select-buffer-9", WIRED_CMD(Buf9Select),
                    533:        FUNCTION, "select-buffer-10", WIRED_CMD(Buf10Select),
                    534: #endif /* MSDOS */
                    535:        FUNCTION, "self-insert", WIRED_CMD(SelfInsert),
                    536:        FUNCTION, "set", WIRED_CMD(SetVar),
                    537:        FUNCTION, "set-mark", WIRED_CMD(SetMark),
                    538: #ifdef IPROCS  /* for GNU compatibility */
                    539:        FUNCTION, "shell", WIRED_CMD(ShellProc),
                    540: #endif
                    541: #ifndef MAC
                    542:        FUNCTION, "shell-command", WIRED_CMD(ShellCom),
                    543:        FUNCTION, "shell-command-no-buffer", WIRED_CMD(ShNoBuf),
                    544:        FUNCTION, "shell-command-to-buffer", WIRED_CMD(ShToBuf),
                    545:        FUNCTION, "shell-command-with-typeout", WIRED_CMD(Shtypeout),
                    546: #endif
                    547:        DefMinor(ShowMatch), "show-match-mode", WIRED_CMD(0),
                    548:        FUNCTION, "shrink-window", WIRED_CMD(ShrWindow),
                    549:        FUNCTION, "source", WIRED_CMD(Source),
                    550: #ifdef SPELL
                    551:        FUNCTION, "spell-buffer", WIRED_CMD(SpelBuffer),
                    552: #endif
                    553:        FUNCTION, "split-current-window", WIRED_CMD(SplitWind),
                    554:        FUNCTION, "start-remembering", WIRED_CMD(Remember),
                    555: #ifdef IPROCS
                    556: #  ifndef PIPEPROCS
                    557:        FUNCTION, "stop-process", WIRED_CMD(ProcStop),
                    558: #  endif
                    559: #endif
                    560:        FUNCTION, "stop-remembering", WIRED_CMD(Forget),
                    561:        FUNCTION, "string-length", WIRED_CMD(StrLength),
                    562: #ifdef JOB_CONTROL
                    563:        FUNCTION, "suspend-jove", WIRED_CMD(PauseJove),
                    564: #endif
                    565:        DefMajor(TEXT), "text-mode", WIRED_CMD(0),
                    566:        FUNCTION, "transpose-characters", WIRED_CMD(TransChar),
                    567:        FUNCTION, "transpose-lines", WIRED_CMD(TransLines),
                    568:        FUNCTION, "unbind-key", WIRED_CMD(UnbindC),
                    569:        FUNCTION, "version", WIRED_CMD(ShowVersion),
                    570:        FUNCTION, "visible-spaces-in-window", WIRED_CMD(WVisSpace),
                    571:        FUNCTION, "visit-file", WIRED_CMD(ReadFile),
                    572:        FUNCTION, "window-find", WIRED_CMD(WindFind),
                    573: #ifdef ABBREV
                    574:        DefMinor(Abbrev), "word-abbrev-mode", WIRED_CMD(0),
                    575:        FUNCTION, "write-word-abbrev-file", WIRED_CMD(SaveAbbrevs),
                    576: #endif
                    577:        FUNCTION, "write-file", WIRED_CMD(WriteFile),
                    578:        FUNCTION, "write-macros-to-file", WIRED_CMD(WriteMacs),
                    579:        FUNCTION, "write-modified-files", WIRED_CMD(WtModBuf),
                    580:        FUNCTION, "write-region", WIRED_CMD(WrtReg),
                    581:        FUNCTION, "yank", WIRED_CMD(Yank),
                    582:        FUNCTION, "yank-pop", WIRED_CMD(YankPop),
                    583:        FUNCTION, 0, 0
                    584: };
                    585: 
                    586: #ifndef TXT_TO_C
                    587: data_obj *
                    588: findcom(prompt)
                    589: char   *prompt;
                    590: {
                    591:        /* This is for faster startup.  This just reads until a space or a
                    592:           tab or a newline character is reached, and then does a
                    593:           semi-hashed lookup on that string.  This should be much faster
                    594:           than initializing the minibuffer for each line. */
                    595:        if (InJoverc) {
                    596:                char    cmdbuf[128];
                    597:                register struct cmd     *cmd;
                    598:                register char   *cp = cmdbuf;
                    599: #if !(defined(IBMPC) || defined(MAC))
                    600:                register int    c;
                    601: #else
                    602:                int c;
                    603: #endif         
                    604:                struct cmd      *which;
                    605:                int     cmdlen,
                    606:                        found = 0;
                    607:                static struct cmd       *cmdhash[26];
                    608:                static int      beenhere = NO;
                    609: 
                    610: /* special case for prefix commands--only upper case ones */
                    611: #define hash(c)        (c - 'a')
                    612: 
                    613:                /* initialize the hash table */
                    614:                if (beenhere == NO) {
                    615:                        int     lastc = 0;
                    616: 
                    617:                        for (cmd = commands; cmd->Name != 0; cmd++)
                    618:                                if (lastc != cmd->Name[0]) {
                    619:                                        lastc = cmd->Name[0];
                    620:                                        cmdhash[hash(lastc)] = cmd;
                    621:                                }
                    622:                        beenhere = YES;
                    623:                }
                    624: #ifdef MAC
                    625:                menus_off();    /* Block menu choices during input */
                    626: #endif
                    627:                /* gather the cmd name */
                    628:                while (((c = getch()) != EOF) && !index(" \t\r\n", c)) {
                    629: #if (defined(IBMPC) || defined(MAC))
                    630:                        lower(&c);
                    631: #else                  
                    632:                        if (isupper(c))
                    633:                                c = tolower(c);
                    634: #endif
                    635:                        *cp++ = c;
                    636:                }
                    637:                if (c == EOF)
                    638:                        return 0;
                    639:                *cp = '\0';
                    640:                cmdlen = cp - cmdbuf;
                    641:                if (cmdlen == 0)
                    642:                        return 0;
                    643: 
                    644:                /* look it up (in the reduced search space) */
                    645:                if (islower(cmdbuf[0]))
                    646:                    for (cmd = cmdhash[hash(cmdbuf[0])]; cmd != 0 && cmd->Name[0] == cmdbuf[0]; cmd++) {
                    647:                        if (strncmp(cmd->Name, cmdbuf, cmdlen) == 0) {
                    648:                                if (strcmp(cmd->Name, cmdbuf) == 0)
                    649:                                        return (data_obj *) cmd;
                    650:                                found += 1;
                    651:                                which = cmd;
                    652:                        }
                    653:                    }
                    654:                if (found > 1)
                    655:                        complain("[\"%s\" ambiguous]", cmdbuf);
                    656:                else if (found == 0)
                    657:                        complain("[\"%s\" unknown]", cmdbuf);
                    658:                else
                    659:                        return (data_obj *) which;
                    660:        } else {
                    661:                static char     *strings[(sizeof commands) / sizeof (commands[0])];
                    662:                static int      beenhere = NO;
                    663:                register int    com;
                    664: 
                    665:                if (beenhere == NO) {
                    666:                        register char   **strs = strings;
                    667:                        register struct cmd     *c;
                    668: 
                    669:                        for (c = commands; c->Name != 0; c++)
                    670:                                *strs++ = c->Name;
                    671:                        *strs = 0;
                    672:                        beenhere = YES;
                    673:                }
                    674: 
                    675:                if ((com = complete(strings, prompt, CASEIND)) < 0)
                    676:                        return 0;
                    677:                return (data_obj *) &commands[com];
                    678:        }
                    679:        /* NOTREACHED */
                    680: }
                    681: #endif

unix.superglobalmegacorp.com

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