home *** CD-ROM | disk | FTP | other *** search
- From: mool@oce.nl (Bram Moolenaar)
- Newsgroups: comp.sources.misc
- Subject: v44i033: vim - Vi IMproved editor, v3.0, Part14/26
- Date: 16 Aug 1994 21:18:35 -0500
- Organization: Sterling Software
- Sender: kent@sparky.sterling.com
- Approved: kent@sparky.sterling.com
- Message-ID: <32rs1r$kfm@sparky.sterling.com>
- References: <csm-v44i019=vim.211640@sparky.sterling.com>
- X-Md4-Signature: 83372001bb77555c58b36fc0f1a14d01
-
- Submitted-by: mool@oce.nl (Bram Moolenaar)
- Posting-number: Volume 44, Issue 33
- Archive-name: vim/part14
- Environment: UNIX, AMIGA, MS-DOS, Windows NT
- Supersedes: vim: Volume 41, Issue 50-75
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: vim/macros/maze/maze_5.78 vim/src/param.c vim/src/tags
- # Wrapped by kent@sparky on Mon Aug 15 21:44:07 1994
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 14 (of 26)."'
- if test -f 'vim/macros/maze/maze_5.78' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/macros/maze/maze_5.78'\"
- else
- echo shar: Extracting \"'vim/macros/maze/maze_5.78'\" \(626 characters\)
- sed "s/^X//" >'vim/macros/maze/maze_5.78' <<'END_OF_FILE'
- X._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
- X| ._| . . ._| | |_._._. . ._|_._._._._. ._|_. ._|_._. ._| . ._|_. | . ._._. |
- X| ._|_| |_. | | | | ._._|_._|_._. . |_. | | | ._._| |_._._| | ._. ._| . . |_|
- X|_._._._. | ._|_. ._._._. | | ._. |_._. . | ._._| |_. | ._._._. |_. | |_|_| |
- X| | . |_._| . ._._._| ._._. ._._| | | |_| . | |_. . ._|_| ._._. |_._|_| . | |
- X|_._|_._._._|_._._._|_|_._._._|_._|_._._._|_._._._|_._._._|_._._._._._._|_._|
- X
- XSee Vim solve a maze!
- X
- X type ":so maze_mac<RETURN>" to load the macros
- X
- X type "g" to start
- X
- Xto interrupt type "<CTRL-C>"
- X to quit type ":q!<RETURN>"
- X
- END_OF_FILE
- if test 626 -ne `wc -c <'vim/macros/maze/maze_5.78'`; then
- echo shar: \"'vim/macros/maze/maze_5.78'\" unpacked with wrong size!
- fi
- # end of 'vim/macros/maze/maze_5.78'
- fi
- if test -f 'vim/src/param.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/param.c'\"
- else
- echo shar: Extracting \"'vim/src/param.c'\" \(35665 characters\)
- sed "s/^X//" >'vim/src/param.c' <<'END_OF_FILE'
- X/* vi:ts=4:sw=4
- X *
- X * VIM - Vi IMproved by Bram Moolenaar
- X *
- X * Read the file "credits.txt" for a list of people who contributed.
- X * Read the file "uganda.txt" for copying and usage conditions.
- X */
- X
- X/*
- X * Code to handle user-settable parameters. This is all pretty much table-
- X * driven. To add a new parameter, put it in the params array, and add a
- X * variable for it in param.h. If it's a numeric parameter, add any necessary
- X * bounds checks to doset().
- X */
- X
- X#include "vim.h"
- X#include "globals.h"
- X#include "proto.h"
- X#include "param.h"
- X
- Xstruct param
- X{
- X char *fullname; /* full parameter name */
- X char *shortname; /* permissible abbreviation */
- X short flags; /* see below */
- X char_u *var; /* pointer to variable */
- X};
- X
- X/*
- X * Flags
- X * Note: Don't use P_STRING and P_IND at the same time
- X */
- X#define P_BOOL 0x01 /* the parameter is boolean */
- X#define P_NUM 0x02 /* the parameter is numeric */
- X#define P_STRING 0x04 /* the parameter is a string */
- X#define P_CHANGED 0x08 /* the parameter has been changed */
- X#define P_EXPAND 0x10 /* environment expansion */
- X#define P_IND 0x20 /* indirect, is in curwin or curbuf */
- X
- X/*
- X * The options that are in curwin or curbuf have P_IND set and a var field
- X * that contains one of the values below. The values are odd to make it very
- X * unlikely that another variable has the same value.
- X * Note: P_EXPAND and P_IND can never be used at the same time.
- X * Note: P_IND cannot be used for a terminal option.
- X */
- X#define PV_LIST 1
- X#define PV_NU 3
- X#define PV_SCROLL 5
- X#define PV_WRAP 7
- X
- X#define PV_AI 11
- X#define PV_BIN 13
- X#define PV_EOL 14
- X#define PV_ET 15
- X#define PV_ML 17
- X#define PV_RO 19
- X#define PV_SI 21
- X#define PV_SN 23
- X#define PV_SW 25
- X#define PV_TS 27
- X#define PV_TW 29
- X#define PV_TX 31
- X#define PV_WM 33
- X
- X/*
- X * The param structure is initialized here.
- X * The order of the parameters should be alfabetic
- X * The parameters with a NULL variable are 'hidden': a set command for
- X * them is ignored and they are not printed.
- X */
- Xstatic struct param params[] =
- X{
- X {"autoindent", "ai", P_BOOL|P_IND, (char_u *)PV_AI},
- X {"autoprint", "ap", P_BOOL, (char_u *)NULL},
- X {"autowrite", "aw", P_BOOL, (char_u *)&p_aw},
- X {"backspace", "bs", P_NUM, (char_u *)&p_bs},
- X {"backup", "bk", P_BOOL, (char_u *)&p_bk},
- X#ifdef UNIX
- X {"backupdir", "bdir", P_STRING|P_EXPAND, (char_u *)&p_bdir},
- X#endif
- X {"beautify", "bf", P_BOOL, (char_u *)NULL},
- X {"binary", "bin", P_BOOL|P_IND, (char_u *)PV_BIN},
- X#ifdef MSDOS
- X {"bioskey", "biosk",P_BOOL, (char_u *)&p_biosk},
- X#endif
- X {"cmdheight", "ch", P_NUM, (char_u *)&p_ch},
- X {"columns", "co", P_NUM, (char_u *)&Columns},
- X {"compatible", "cp", P_BOOL, (char_u *)&p_cp},
- X#ifdef DIGRAPHS
- X {"digraph", "dg", P_BOOL, (char_u *)&p_dg},
- X#endif /* DIGRAPHS */
- X {"directory", "dir", P_STRING|P_EXPAND, (char_u *)&p_dir},
- X {"edcompatible",NULL, P_BOOL, (char_u *)&p_ed},
- X {"endofline", "eol", P_BOOL|P_IND, (char_u *)PV_EOL},
- X {"equalalways", "ea", P_BOOL, (char_u *)&p_ea},
- X {"equalprg", "ep", P_STRING|P_EXPAND, (char_u *)&p_ep},
- X {"errorbells", "eb", P_BOOL, (char_u *)&p_eb},
- X {"errorfile", "ef", P_STRING|P_EXPAND, (char_u *)&p_ef},
- X {"errorformat", "efm", P_STRING, (char_u *)&p_efm},
- X {"esckeys", "ek", P_BOOL, (char_u *)&p_ek},
- X {"expandtab", "et", P_BOOL|P_IND, (char_u *)PV_ET},
- X {"exrc", NULL, P_BOOL, (char_u *)&p_exrc},
- X {"formatprg", "fp", P_STRING|P_EXPAND, (char_u *)&p_fp},
- X {"gdefault", "gd", P_BOOL, (char_u *)&p_gd},
- X {"graphic", "gr", P_BOOL, (char_u *)&p_gr},
- X {"hardtabs", "ht", P_NUM, (char_u *)NULL},
- X {"helpfile", "hf", P_STRING|P_EXPAND, (char_u *)&p_hf},
- X {"hidden", "hid", P_BOOL, (char_u *)&p_hid},
- X {"highlight", "hl", P_STRING, (char_u *)&p_hl},
- X {"history", "hi", P_NUM, (char_u *)&p_hi},
- X {"icon", NULL, P_BOOL, (char_u *)&p_icon},
- X {"ignorecase", "ic", P_BOOL, (char_u *)&p_ic},
- X {"insertmode", "im", P_BOOL, (char_u *)&p_im},
- X {"joinspaces", "js", P_BOOL, (char_u *)&p_js},
- X {"keywordprg", "kp", P_STRING|P_EXPAND, (char_u *)&p_kp},
- X {"laststatus", "ls", P_NUM, (char_u *)&p_ls},
- X {"lines", NULL, P_NUM, (char_u *)&Rows},
- X {"lisp", NULL, P_BOOL, (char_u *)NULL},
- X {"list", NULL, P_BOOL|P_IND, (char_u *)PV_LIST},
- X {"magic", NULL, P_BOOL, (char_u *)&p_magic},
- X {"makeprg", "mp", P_STRING|P_EXPAND, (char_u *)&p_mp},
- X {"maxmem", "mm", P_NUM, (char_u *)&p_mm},
- X {"maxmemtot", "mmt", P_NUM, (char_u *)&p_mmt},
- X {"mesg", NULL, P_BOOL, (char_u *)NULL},
- X {"modeline", "ml", P_BOOL|P_IND, (char_u *)PV_ML},
- X {"modelines", "mls", P_NUM, (char_u *)&p_mls},
- X {"more", NULL, P_BOOL, (char_u *)&p_more},
- X {"nobuf", "nb", P_BOOL, (char_u *)&p_nb},
- X {"number", "nu", P_BOOL|P_IND, (char_u *)PV_NU},
- X {"open", NULL, P_BOOL, (char_u *)NULL},
- X {"optimize", "opt", P_BOOL, (char_u *)NULL},
- X {"paragraphs", "para", P_STRING, (char_u *)&p_para},
- X {"paste", NULL, P_BOOL, (char_u *)&p_paste},
- X {"patchmode", "pm", P_STRING, (char_u *)&p_pm},
- X {"path", "pa", P_STRING|P_EXPAND, (char_u *)&p_path},
- X {"prompt", NULL, P_BOOL, (char_u *)NULL},
- X {"readonly", "ro", P_BOOL|P_IND, (char_u *)PV_RO},
- X {"redraw", NULL, P_BOOL, (char_u *)NULL},
- X {"remap", NULL, P_BOOL, (char_u *)&p_remap},
- X {"report", NULL, P_NUM, (char_u *)&p_report},
- X {"revins", "ri", P_BOOL, (char_u *)&p_ri},
- X {"ruler", "ru", P_BOOL, (char_u *)&p_ru},
- X {"scroll", NULL, P_NUM|P_IND, (char_u *)PV_SCROLL},
- X {"scrolljump", "sj", P_NUM, (char_u *)&p_sj},
- X {"sections", "sect", P_STRING, (char_u *)&p_sections},
- X {"secure", NULL, P_BOOL, (char_u *)&p_secure},
- X {"shell", "sh", P_STRING|P_EXPAND, (char_u *)&p_sh},
- X {"shellpipe", "sp", P_STRING, (char_u *)&p_sp},
- X {"shelltype", "st", P_NUM, (char_u *)&p_st},
- X {"shiftround", "sr", P_BOOL, (char_u *)&p_sr},
- X {"shiftwidth", "sw", P_NUM|P_IND, (char_u *)PV_SW},
- X#ifndef MSDOS
- X {"shortname", "sn", P_BOOL|P_IND, (char_u *)PV_SN},
- X#endif
- X {"showcmd", "sc", P_BOOL, (char_u *)&p_sc},
- X {"showmatch", "sm", P_BOOL, (char_u *)&p_sm},
- X {"showmode", "smd", P_BOOL, (char_u *)&p_smd},
- X {"sidescroll", "ss", P_NUM, (char_u *)&p_ss},
- X {"slowopen", "slow", P_BOOL, (char_u *)NULL},
- X {"smartindent", "si", P_BOOL|P_IND, (char_u *)PV_SI},
- X {"smarttab", "sta", P_BOOL, (char_u *)&p_sta},
- X {"sourceany", NULL, P_BOOL, (char_u *)NULL},
- X {"splitbelow", "sb", P_BOOL, (char_u *)&p_sb},
- X {"suffixes", "su", P_STRING, (char_u *)&p_su},
- X {"tabstop", "ts", P_NUM|P_IND, (char_u *)PV_TS},
- X {"taglength", "tl", P_NUM, (char_u *)&p_tl},
- X {"tagrelative", "tr", P_BOOL, (char_u *)&p_tr},
- X {"tags", NULL, P_STRING|P_EXPAND, (char_u *)&p_tags},
- X {"term", NULL, P_STRING|P_EXPAND, (char_u *)&term_strings.t_name},
- X {"terse", NULL, P_BOOL, (char_u *)&p_terse},
- X {"textauto", "ta", P_BOOL, (char_u *)&p_ta},
- X {"textmode", "tx", P_BOOL|P_IND, (char_u *)PV_TX},
- X {"textwidth", "tw", P_NUM|P_IND, (char_u *)PV_TW},
- X {"tildeop", "to", P_BOOL, (char_u *)&p_to},
- X {"timeout", NULL, P_BOOL, (char_u *)&p_timeout},
- X {"timeoutlen", "tm", P_NUM, (char_u *)&p_tm},
- X {"title", NULL, P_BOOL, (char_u *)&p_title},
- X {"ttimeout", NULL, P_BOOL, (char_u *)&p_ttimeout},
- X {"ttyfast", "tf", P_BOOL, (char_u *)&p_tf},
- X {"ttytype", NULL, P_STRING, (char_u *)NULL},
- X {"undolevels", "ul", P_NUM, (char_u *)&p_ul},
- X {"updatecount", "uc", P_NUM, (char_u *)&p_uc},
- X {"updatetime", "ut", P_NUM, (char_u *)&p_ut},
- X {"visualbell", "vb", P_BOOL, (char_u *)&p_vb},
- X {"w300", NULL, P_NUM, (char_u *)NULL},
- X {"w1200", NULL, P_NUM, (char_u *)NULL},
- X {"w9600", NULL, P_NUM, (char_u *)NULL},
- X {"warn", NULL, P_BOOL, (char_u *)&p_warn},
- X {"weirdinvert", "wi", P_BOOL, (char_u *)&p_wi},
- X {"whichwrap", "ww", P_NUM, (char_u *)&p_ww},
- X {"wildchar", "wc", P_NUM, (char_u *)&p_wc},
- X {"window", NULL, P_NUM, (char_u *)NULL},
- X {"winheight", "wh", P_NUM, (char_u *)&p_wh},
- X {"wrap", NULL, P_BOOL|P_IND, (char_u *)PV_WRAP},
- X {"wrapmargin", "wm", P_NUM|P_IND, (char_u *)PV_WM},
- X {"wrapscan", "ws", P_BOOL, (char_u *)&p_ws},
- X {"writeany", "wa", P_BOOL, (char_u *)&p_wa},
- X {"writebackup", "wb", P_BOOL, (char_u *)&p_wb},
- X {"yankendofline", "ye", P_BOOL, (char_u *)&p_ye},
- X
- X/* terminal output codes */
- X {"t_cdl", NULL, P_STRING, (char_u *)&term_strings.t_cdl},
- X {"t_ci", NULL, P_STRING, (char_u *)&term_strings.t_ci},
- X {"t_cil", NULL, P_STRING, (char_u *)&term_strings.t_cil},
- X {"t_cm", NULL, P_STRING, (char_u *)&term_strings.t_cm},
- X {"t_cri", NULL, P_STRING, (char_u *)&term_strings.t_cri},
- X {"t_cv", NULL, P_STRING, (char_u *)&term_strings.t_cv},
- X {"t_cvv", NULL, P_STRING, (char_u *)&term_strings.t_cvv},
- X {"t_dl", NULL, P_STRING, (char_u *)&term_strings.t_dl},
- X {"t_cs", NULL, P_STRING, (char_u *)&term_strings.t_cs},
- X {"t_ed", NULL, P_STRING, (char_u *)&term_strings.t_ed},
- X {"t_el", NULL, P_STRING, (char_u *)&term_strings.t_el},
- X {"t_il", NULL, P_STRING, (char_u *)&term_strings.t_il},
- X {"t_ke", NULL, P_STRING, (char_u *)&term_strings.t_ke},
- X {"t_ks", NULL, P_STRING, (char_u *)&term_strings.t_ks},
- X {"t_ms", NULL, P_STRING, (char_u *)&term_strings.t_ms},
- X {"t_se", NULL, P_STRING, (char_u *)&term_strings.t_se},
- X {"t_so", NULL, P_STRING, (char_u *)&term_strings.t_so},
- X {"t_ti", NULL, P_STRING, (char_u *)&term_strings.t_ti},
- X {"t_tb", NULL, P_STRING, (char_u *)&term_strings.t_tb},
- X {"t_tp", NULL, P_STRING, (char_u *)&term_strings.t_tp},
- X {"t_sr", NULL, P_STRING, (char_u *)&term_strings.t_sr},
- X {"t_te", NULL, P_STRING, (char_u *)&term_strings.t_te},
- X {"t_ts", NULL, P_STRING, (char_u *)&term_strings.t_ts},
- X {"t_vb", NULL, P_STRING, (char_u *)&term_strings.t_vb},
- X
- X/* terminal key codes */
- X {"t_ku", NULL, P_STRING, (char_u *)&term_strings.t_ku},
- X {"t_kd", NULL, P_STRING, (char_u *)&term_strings.t_kd},
- X {"t_kr", NULL, P_STRING, (char_u *)&term_strings.t_kr},
- X {"t_kl", NULL, P_STRING, (char_u *)&term_strings.t_kl},
- X {"t_sku", NULL, P_STRING, (char_u *)&term_strings.t_sku},
- X {"t_skd", NULL, P_STRING, (char_u *)&term_strings.t_skd},
- X {"t_skr", NULL, P_STRING, (char_u *)&term_strings.t_skr},
- X {"t_skl", NULL, P_STRING, (char_u *)&term_strings.t_skl},
- X {"t_f1", NULL, P_STRING, (char_u *)&term_strings.t_f1},
- X {"t_f2", NULL, P_STRING, (char_u *)&term_strings.t_f2},
- X {"t_f3", NULL, P_STRING, (char_u *)&term_strings.t_f3},
- X {"t_f4", NULL, P_STRING, (char_u *)&term_strings.t_f4},
- X {"t_f5", NULL, P_STRING, (char_u *)&term_strings.t_f5},
- X {"t_f6", NULL, P_STRING, (char_u *)&term_strings.t_f6},
- X {"t_f7", NULL, P_STRING, (char_u *)&term_strings.t_f7},
- X {"t_f8", NULL, P_STRING, (char_u *)&term_strings.t_f8},
- X {"t_f9", NULL, P_STRING, (char_u *)&term_strings.t_f9},
- X {"t_f10", NULL, P_STRING, (char_u *)&term_strings.t_f10},
- X {"t_sf1", NULL, P_STRING, (char_u *)&term_strings.t_sf1},
- X {"t_sf2", NULL, P_STRING, (char_u *)&term_strings.t_sf2},
- X {"t_sf3", NULL, P_STRING, (char_u *)&term_strings.t_sf3},
- X {"t_sf4", NULL, P_STRING, (char_u *)&term_strings.t_sf4},
- X {"t_sf5", NULL, P_STRING, (char_u *)&term_strings.t_sf5},
- X {"t_sf6", NULL, P_STRING, (char_u *)&term_strings.t_sf6},
- X {"t_sf7", NULL, P_STRING, (char_u *)&term_strings.t_sf7},
- X {"t_sf8", NULL, P_STRING, (char_u *)&term_strings.t_sf8},
- X {"t_sf9", NULL, P_STRING, (char_u *)&term_strings.t_sf9},
- X {"t_sf10", NULL, P_STRING, (char_u *)&term_strings.t_sf10},
- X {"t_help", NULL, P_STRING, (char_u *)&term_strings.t_help},
- X {"t_undo", NULL, P_STRING, (char_u *)&term_strings.t_undo},
- X {"t_csc", NULL, P_STRING, (char_u *)&term_strings.t_csc},
- X {NULL, NULL, 0, NULL} /* end marker */
- X};
- X
- X#define PARAM_COUNT (sizeof(params) / sizeof(struct param))
- X
- Xstatic void param_expand __ARGS((int, int));
- Xstatic int findparam __ARGS((char_u *));
- Xstatic void showparams __ARGS((int));
- Xstatic void showonep __ARGS((struct param *));
- Xstatic int istermparam __ARGS((struct param *));
- Xstatic char_u *get_varp __ARGS((struct param *));
- X
- X/*
- X * Initialize the shell parameter and scroll size.
- X */
- X void
- Xset_init()
- X{
- X char_u *p;
- X int i;
- X
- X if ((p = vimgetenv((char_u *)"SHELL")) != NULL
- X#ifdef MSDOS
- X || (p = vimgetenv((char_u *)"COMSPEC")) != NULL
- X#endif
- X )
- X {
- X p = strsave(p);
- X if (p != NULL) /* we don't want a NULL */
- X p_sh = p;
- X }
- X
- X#ifdef UNIX
- X /*
- X * Default for p_sp is "| tee".
- X * For known shells it is changed here to include stderr.
- X */
- X p = gettail(p_sh);
- X if ( STRCMP(p, "csh") == 0 ||
- X STRCMP(p, "tcsh") == 0 ||
- X STRCMP(p, "zsh") == 0)
- X p_sp = (char_u *)"|& tee";
- X else if (STRCMP(p, "sh") == 0 ||
- X STRCMP(p, "ksh") == 0 ||
- X STRCMP(p, "bash") == 0)
- X p_sp = (char_u *)"2>&1| tee";
- X#endif
- X
- X curwin->w_p_scroll = (Rows >> 1);
- X comp_col();
- X
- X/*
- X * set the options in curwin and curbuf that are non-zero
- X */
- X curwin->w_p_wrap = TRUE;
- X curbuf->b_p_ml = TRUE;
- X curbuf->b_p_sw = 8;
- X curbuf->b_p_ts = 8;
- X#ifdef MSDOS
- X curbuf->b_p_tx = TRUE; /* texmode is default for MSDOS */
- X#endif
- X
- X /*
- X * expand environment variables in some string options
- X */
- X for (i = 0; params[i].fullname != NULL; i++)
- X param_expand(i, FALSE);
- X
- X /*
- X * may adjust p_mmt and p_mm for available memory
- X */
- X if (p_mmt == 0)
- X {
- X p_mmt = (mch_avail_mem(FALSE) >> 11);
- X if (p_mm > p_mmt)
- X p_mm = p_mmt;
- X }
- X}
- X
- X/*
- X * parse 'arg' for option settings
- X * 'arg' may be IObuff, but only when no errors can be present and parameter
- X * does not need to be expanded with param_expand().
- X *
- X * return FAIL if errors are detected, OK otherwise
- X */
- X int
- Xdoset(arg)
- X char_u *arg; /* parameter string (may be written to!) */
- X{
- X register int i;
- X char_u *s;
- X char_u *errmsg;
- X char_u *startarg;
- X int prefix; /* 0: nothing, 1: "no", 2: "inv" in front of name */
- X int nextchar;
- X int len;
- X int flags; /* flags for current option */
- X char_u *varp; /* pointer to variable for current option */
- X int errcnt = 0; /* number of errornous entries */
- X long oldRows = Rows; /* remember old Rows */
- X int oldpaste = p_paste; /* remember old paste option */
- X long oldch = p_ch; /* remember old command line height */
- X int oldea = p_ea; /* remember old 'equalalways' */
- X long olduc = p_uc; /* remember old 'updatecount' */
- X static int save_sm = 0; /* saved options for 'paste' */
- X static int save_ru = 0;
- X static int save_ri = 0;
- X int did_show = FALSE; /* already showed one value */
- X WIN *wp;
- X
- X if (*arg == NUL)
- X {
- X showparams(0);
- X return OK;
- X }
- X if (STRNCMP(arg, "all", (size_t)3) == 0)
- X {
- X showparams(1);
- X return OK;
- X }
- X if (STRNCMP(arg, "termcap", (size_t)7) == 0)
- X {
- X showparams(2);
- X return OK;
- X }
- X
- X while (*arg) /* loop to process all parameters */
- X {
- X errmsg = NULL;
- X startarg = arg; /* remember for error message */
- X prefix = 1;
- X if (STRNCMP(arg, "no", (size_t)2) == 0)
- X {
- X prefix = 0;
- X arg += 2;
- X }
- X else if (STRNCMP(arg, "inv", (size_t)3) == 0)
- X {
- X prefix = 2;
- X arg += 3;
- X }
- X /* find end of name */
- X for (len = 0; isalnum(arg[len]) || arg[len] == '_'; ++len)
- X ;
- X nextchar = arg[len];
- X arg[len] = 0; /* name ends with 0 */
- X i = findparam(arg);
- X arg[len] = nextchar; /* restore nextchar */
- X
- X if (i == -1) /* found a mismatch: skip the rest */
- X {
- X errmsg = (char_u *)"Unknown option";
- X goto skip;
- X }
- X
- X if (!params[i].var) /* hidden option */
- X goto skip;
- X
- X flags = params[i].flags;
- X varp = get_varp(&(params[i]));
- X
- X /*
- X * allow '=' and ':' as MSDOS command.com allows only one
- X * '=' character per "set" command line. grrr. (jw)
- X */
- X if (nextchar == '?' ||
- X (prefix == 1 && nextchar != '=' &&
- X nextchar != ':' && !(flags & P_BOOL)))
- X { /* print value */
- X if (did_show)
- X msg_outchar('\n'); /* cursor below last one */
- X else
- X {
- X gotocmdline(TRUE, NUL); /* cursor at status line */
- X did_show = TRUE; /* remember that we did a line */
- X }
- X showonep(¶ms[i]);
- X }
- X else
- X {
- X if (nextchar != NUL && strchr("=: \t", nextchar) == NULL)
- X {
- X errmsg = e_invarg;
- X goto skip;
- X }
- X else if (flags & P_BOOL) /* boolean */
- X {
- X if (nextchar == '=' || nextchar == ':')
- X {
- X errmsg = e_invarg;
- X goto skip;
- X }
- X /*
- X * in secure mode, setting of the secure option is not allowed
- X */
- X if (secure && (int *)varp == &p_secure)
- X {
- X errmsg = (char_u *)"not allowed here";
- X goto skip;
- X }
- X if (prefix == 2)
- X *(int *)(varp) ^= 1; /* invert it */
- X else
- X *(int *)(varp) = prefix;
- X /* handle compatible option here */
- X if ((int *)varp == &p_cp && p_cp)
- X {
- X p_bs = 0; /* normal backspace */
- X p_ww = 0; /* backspace and space do not wrap */
- X p_bk = 0; /* no backup file */
- X#ifdef DIGRAPHS
- X p_dg = 0; /* no digraphs */
- X#endif /* DIGRAPHS */
- X p_ek = 0; /* no ESC keys in insert mode */
- X curbuf->b_p_et = 0; /* no expansion of tabs */
- X p_gd = 0; /* /g is not default for :s */
- X p_hi = 0; /* no history */
- X p_im = 0; /* do not start in insert mode */
- X p_js = 1; /* insert 2 spaces after period */
- X curbuf->b_p_ml = 0; /* no modelines */
- X p_more = 0; /* no -- more -- for listings */
- X p_ru = 0; /* no ruler */
- X p_ri = 0; /* no reverse insert */
- X p_sj = 1; /* no scrolljump */
- X p_sr = 0; /* do not round indent to shiftwidth */
- X p_sc = 0; /* no showcommand */
- X p_smd = 0; /* no showmode */
- X curbuf->b_p_si = 0; /* no smartindent */
- X p_sta = 0; /* no smarttab */
- X p_ta = 0; /* no automatic textmode detection */
- X curbuf->b_p_tw = 0; /* no automatic line wrap */
- X p_to = 0; /* no tilde operator */
- X p_ttimeout = 0; /* no terminal timeout */
- X p_tr = 0; /* tag file names not relative */
- X p_ul = 0; /* no multilevel undo */
- X p_uc = 0; /* no autoscript file */
- X p_wb = 0; /* no backup file */
- X if (p_wc == TAB)
- X p_wc = Ctrl('E'); /* normal use for TAB */
- X p_ye = 0; /* no yank to end of line */
- X }
- X if ((int *)varp == &curbuf->b_p_bin && curbuf->b_p_bin) /* handle bin */
- X {
- X curbuf->b_p_tw = 0; /* no automatic line wrap */
- X curbuf->b_p_wm = 0; /* no automatic line wrap */
- X curbuf->b_p_tx = 0; /* no text mode */
- X p_ta = 0; /* no text auto */
- X curbuf->b_p_ml = 0; /* no modelines */
- X curbuf->b_p_et = 0; /* no expandtab */
- X }
- X if ((int *)varp == &p_paste) /* handle paste here */
- X {
- X BUF *buf;
- X
- X if (p_paste && !oldpaste) /* paste switched on */
- X {
- X /* save and set options for all buffers */
- X for (buf = firstbuf; buf != NULL; buf = buf->b_next)
- X {
- X buf->b_p_tw_save = buf->b_p_tw;
- X buf->b_p_wm_save = buf->b_p_wm;
- X buf->b_p_ai_save = buf->b_p_ai;
- X buf->b_p_si_save = buf->b_p_si;
- X buf->b_p_tw = 0; /* textwidth is 0 */
- X buf->b_p_wm = 0; /* wrapmargin is 0 */
- X buf->b_p_ai = 0; /* no auto-indent */
- X buf->b_p_si = 0; /* no smart-indent */
- X }
- X /* save and set global options */
- X save_sm = p_sm;
- X save_ru = p_ru;
- X save_ri = p_ri;
- X p_sm = 0; /* no showmatch */
- X p_ru = 0; /* no ruler */
- X p_ri = 0; /* no reverse insert */
- X }
- X else if (!p_paste && oldpaste) /* paste switched off */
- X {
- X /* restore options for all buffers */
- X for (buf = firstbuf; buf != NULL; buf = buf->b_next)
- X {
- X buf->b_p_tw = buf->b_p_tw_save;
- X buf->b_p_ai = buf->b_p_ai_save;
- X buf->b_p_si = buf->b_p_si_save;
- X }
- X /* restore global options */
- X p_sm = save_sm;
- X p_ru = save_ru;
- X p_ri = save_ri;
- X }
- X }
- X if (!starting && ((int *)varp == &p_title ||
- X (int *)varp == &p_icon))
- X {
- X if (*(int *)varp) /* Set window title NOW */
- X maketitle();
- X else /* Reset window title NOW */
- X mch_restore_title((int *)varp == &p_title ? 1 : 2);
- X }
- X }
- X else /* numeric or string */
- X {
- X if ((nextchar != '=' && nextchar != ':') || prefix != 1)
- X {
- X errmsg = e_invarg;
- X goto skip;
- X }
- X if (flags & P_NUM) /* numeric */
- X {
- X *(long *)(varp) = atol((char *)arg + len + 1);
- X
- X if ((long *)varp == &p_wh)
- X {
- X if (p_wh < 0)
- X {
- X errmsg = e_positive;
- X p_wh = 0;
- X }
- X /* Change window height NOW */
- X if (p_wh && lastwin != firstwin)
- X {
- X win_equal(curwin, FALSE);
- X must_redraw = CLEAR;
- X }
- X }
- X if ((long *)varp == &p_ls)
- X last_status(); /* (re)set last window status line */
- X }
- X else /* string */
- X {
- X arg += len + 1; /* jump to after the '=' */
- X s = alloc((unsigned)(STRLEN(arg) + 1)); /* get a bit too much */
- X if (s == NULL)
- X break;
- X if (flags & P_CHANGED)
- X free(*(char **)(varp));
- X *(char_u **)(varp) = s;
- X /* copy the string */
- X while (*arg && *arg != ' ')
- X {
- X if (*arg == '\\' && *(arg + 1)) /* skip over escaped chars */
- X ++arg;
- X *s++ = *arg++;
- X }
- X *s = NUL;
- X param_expand(i, TRUE); /* expand environment variables and ~ */
- X /*
- X * options that need some action
- X * to perform when changed (jw)
- X */
- X if (varp == (char_u *)&term_strings.t_name)
- X set_term(term_strings.t_name);
- X else if (istermparam(¶ms[i]))
- X {
- X ttest(FALSE);
- X if (varp == (char_u *)&term_strings.t_tp)
- X {
- X outstr(T_TP);
- X updateScreen(CLEAR);
- X }
- X }
- X }
- X }
- X params[i].flags |= P_CHANGED;
- X }
- X
- Xskip:
- X /*
- X * Check the bounds for numeric parameters here
- X */
- X if (Rows < 2)
- X {
- X Rows = 2;
- X errmsg = (char_u *)"Need at least 2 lines";
- X }
- X /*
- X * If the screenheight has been changed, assume it is the physical
- X * screenheight.
- X */
- X if (oldRows != Rows)
- X {
- X screen_new_rows();
- X#ifdef MSDOS
- X set_window(); /* active window may have changed */
- X#endif
- X }
- X
- X if (curbuf->b_p_ts <= 0)
- X {
- X errmsg = e_positive;
- X curbuf->b_p_ts = 8;
- X }
- X if (p_tm < 0)
- X {
- X errmsg = e_positive;
- X p_tm = 0;
- X }
- X if (curwin->w_p_scroll <= 0 || curwin->w_p_scroll > curwin->w_height)
- X {
- X if (curwin->w_p_scroll != 0)
- X errmsg = e_scroll;
- X win_comp_scroll(curwin);
- X }
- X if (p_report < 0)
- X {
- X errmsg = e_positive;
- X p_report = 1;
- X }
- X if (p_sj < 0 || p_sj >= Rows)
- X {
- X errmsg = e_scroll;
- X p_sj = 1;
- X }
- X if (p_uc < 0)
- X {
- X errmsg = e_positive;
- X p_uc = 100;
- X }
- X if (p_ch < 1)
- X {
- X errmsg = e_positive;
- X p_ch = 1;
- X }
- X if (p_ut < 0)
- X {
- X errmsg = e_positive;
- X p_ut = 2000;
- X }
- X if (p_ss < 0)
- X {
- X errmsg = e_positive;
- X p_ss = 0;
- X }
- X if (errmsg)
- X {
- X STRCPY(IObuff, errmsg);
- X STRCAT(IObuff, ": ");
- X s = IObuff + STRLEN(IObuff);
- X while (*startarg && !isspace(*startarg))
- X *s++ = *startarg++;
- X *s = NUL;
- X did_show = TRUE; /* error message counts as show */
- X ++no_wait_return; /* wait_return done below */
- X emsg(IObuff);
- X --no_wait_return;
- X arg = startarg; /* skip to next argument */
- X ++errcnt; /* count number of errors */
- X }
- X skiptospace(&arg); /* skip to next white space */
- X skipspace(&arg); /* skip spaces */
- X }
- X
- X /*
- X * when 'updatecount' changes from zero to non-zero, open swap files
- X */
- X if (p_uc && !olduc)
- X ml_open_files();
- X
- X if (p_ch != oldch) /* p_ch changed value */
- X command_height();
- X comp_col();
- X
- X /*
- X * Update the screen in case we changed something like "tabstop" or
- X * "lines" or "list" that will change its appearance.
- X * If we messed up the screen by showing more than one line of param
- X * values or an error message, call wait_return(), which will also
- X * update the screen.
- X */
- X for (wp = firstwin; wp; wp = wp->w_next)
- X wp->w_redr_status = TRUE; /* mark all status lines dirty */
- X if (p_ea && !oldea)
- X win_equal(curwin, FALSE);
- X if (did_show && msg_check())
- X {
- X msg_outchar('\n');
- X wait_return(TRUE);
- X }
- X else
- X updateScreen(NOT_VALID);
- X return (errcnt == 0 ? OK : FAIL);
- X}
- X
- X/*
- X * expand environment variable at the start of some string options
- X */
- X static void
- Xparam_expand(i, dofree)
- X int i;
- X int dofree;
- X{
- X char_u *p;
- X
- X if ((params[i].flags & P_EXPAND) &&
- X (p = *(char_u **)(params[i].var)) != NULL &&
- X (*p == '$' || *p == '~'))
- X {
- X expand_env(*(char_u **)(params[i].var), IObuff, IOSIZE);
- X p = strsave(IObuff);
- X if (p)
- X {
- X if (dofree)
- X free(*(char_u **)(params[i].var));
- X *(char_u **)(params[i].var) = p;
- X }
- X }
- X}
- X
- X/*
- X * find index for option 'arg'
- X * return -1 if not found
- X */
- X static int
- Xfindparam(arg)
- X char_u *arg;
- X{
- X int i;
- X char *s;
- X
- X for (i = 0; (s = params[i].fullname) != NULL; i++)
- X {
- X if (STRCMP(arg, s) == 0) /* match full name */
- X break;
- X }
- X if (s == NULL)
- X {
- X for (i = 0; params[i].fullname != NULL; i++)
- X {
- X s = params[i].shortname;
- X if (s != NULL && STRCMP(arg, s) == 0) /* match short name */
- X break;
- X s = NULL;
- X }
- X }
- X if (s == NULL)
- X i = -1;
- X return i;
- X}
- X
- X/*
- X * mark option 'arg' changed
- X */
- X void
- Xparamchanged(arg)
- X char_u *arg;
- X{
- X int i;
- X
- X i = findparam(arg);
- X if (i >= 0)
- X params[i].flags |= P_CHANGED;
- X}
- X
- X/*
- X * if 'all' == 0: show changed parameters
- X * if 'all' == 1: show all normal parameters
- X * if 'all' == 2: show all terminal parameters
- X */
- X static void
- Xshowparams(all)
- X int all;
- X{
- X struct param *p;
- X int col;
- X int isterm;
- X char_u *varp;
- X struct param *(items[PARAM_COUNT]);
- X int item_count;
- X int run;
- X int row, rows;
- X int cols;
- X int i;
- X int len;
- X
- X#define INC 19
- X
- X gotocmdline(TRUE, NUL);
- X msg_outstr((char_u *)"--- Parameters ---\n");
- X
- X /*
- X * do the loop two times:
- X * 1. display the short items (non-strings and short strings)
- X * 2. display the long items (strings)
- X */
- X for (run = 1; run <= 2 && !got_int; ++run)
- X {
- X /*
- X * collect the items in items[]
- X */
- X item_count = 0;
- X for (p = ¶ms[0]; p->fullname != NULL && !got_int; p++)
- X {
- X isterm = istermparam(p);
- X varp = get_varp(p);
- X if (varp && (
- X (all == 2 && isterm) ||
- X (all == 1 && !isterm) ||
- X (all == 0 && (p->flags & P_CHANGED))))
- X {
- X if ((p->flags & P_STRING) && *(char_u **)(varp) != NULL)
- X len = STRLEN(p->fullname) + strsize(*(char_u **)(varp));
- X else
- X len = 1; /* a non-string is assumed to fit always */
- X if ((len <= INC - 4 && run == 1) || (len > INC - 4 && run == 2))
- X items[item_count++] = p;
- X }
- X breakcheck();
- X }
- X /*
- X * display the items
- X */
- X if (run == 1)
- X {
- X cols = Columns / INC;
- X if (cols == 0)
- X cols = 1;
- X rows = (item_count + cols - 1) / cols;
- X }
- X else /* run == 2 */
- X rows = item_count;
- X for (row = 0; row < rows && !got_int; ++row)
- X {
- X col = 0;
- X for (i = row; i < item_count; i += rows)
- X {
- X msg_pos(-1, col); /* make columns */
- X showonep(items[i]);
- X col += INC;
- X }
- X msg_outchar('\n'); /* scroll screen one line up */
- X flushbuf();
- X breakcheck();
- X }
- X }
- X
- X wait_return(FALSE);
- X}
- X
- X/*
- X * showonep: show the value of one option
- X * must not be called with a hidden option!
- X */
- X static void
- Xshowonep(p)
- X struct param *p;
- X{
- X char_u buf[64];
- X char_u *varp;
- X
- X varp = get_varp(p);
- X
- X if ((p->flags & P_BOOL) && !*(int *)(varp))
- X msg_outstr((char_u *)"no");
- X else
- X msg_outstr((char_u *)" ");
- X msg_outstr((char_u *)p->fullname);
- X if (!(p->flags & P_BOOL))
- X {
- X msg_outchar('=');
- X if (p->flags & P_NUM)
- X {
- X sprintf((char *)buf, "%ld", *(long *)(varp));
- X msg_outstr(buf);
- X }
- X else if (*(char_u **)(varp) != NULL)
- X {
- X if (p->flags & P_EXPAND)
- X {
- X home_replace(*(char_u **)(varp), NameBuff, MAXPATHL);
- X msg_outtrans(NameBuff, -1);
- X }
- X else
- X msg_outtrans(*(char_u **)(varp), -1);
- X }
- X }
- X}
- X
- X/*
- X * Write modified parameters as set command to a file.
- X * Return FAIL on error, OK otherwise.
- X */
- X int
- Xmakeset(fd)
- X FILE *fd;
- X{
- X struct param *p;
- X char_u *s;
- X int e;
- X char_u *varp;
- X
- X for (p = ¶ms[0]; p->fullname != NULL; p++)
- X if ((p->flags & P_CHANGED) && p->var)
- X {
- X varp = get_varp(p);
- X if (p->flags & P_BOOL)
- X fprintf(fd, "set %s%s", *(int *)(varp) ? "" : "no", p->fullname);
- X else if (p->flags & P_NUM)
- X fprintf(fd, "set %s=%ld", p->fullname, *(long *)(varp));
- X else
- X {
- X fprintf(fd, "set %s=", p->fullname);
- X s = *(char_u **)(varp);
- X /* some characters hav to be escaped with CTRL-V or backslash */
- X if (s != NULL && putescstr(fd, s, TRUE) == FAIL)
- X return FAIL;
- X }
- X#ifdef MSDOS
- X putc('\r', fd);
- X#endif
- X /*
- X * Only check error for this putc, should catch at least
- X * the "disk full" situation.
- X */
- X e = putc('\n', fd);
- X if (e < 0)
- X return FAIL;
- X }
- X return OK;
- X}
- X
- X/*
- X * Clear all the terminal parameters.
- X * If the parameter has been changed, free the allocated memory.
- X * Reset the "changed" flag, so the new value will not be freed.
- X */
- X void
- Xclear_termparam()
- X{
- X struct param *p;
- X
- X for (p = ¶ms[0]; p->fullname != NULL; p++)
- X if (istermparam(p)) /* terminal parameters must never be hidden */
- X {
- X if (p->flags & P_CHANGED)
- X free(*(char_u **)(p->var));
- X *(char_u **)(p->var) = NULL;
- X p->flags &= ~P_CHANGED;
- X }
- X}
- X
- X/*
- X * return TRUE if 'p' starts with 't_'
- X */
- X static int
- Xistermparam(p)
- X struct param *p;
- X{
- X return (p->fullname[0] == 't' && p->fullname[1] == '_');
- X}
- X
- X/*
- X * Compute columns for ruler and shown command. 'sc_col' is also used to
- X * decide what the maximum length of a message on the status line can be.
- X * If there is a status line for the last window, 'sc_col' is independent
- X * of 'ru_col'.
- X */
- X
- X#define COL_SHOWCMD 10 /* columns needed by shown command */
- X#define COL_RULER 17 /* columns needed by ruler */
- X
- X void
- Xcomp_col()
- X{
- X int last_status = (p_ls == 2 || (p_ls == 1 && firstwin != lastwin));
- X
- X sc_col = 0;
- X ru_col = 0;
- X if (p_ru)
- X {
- X ru_col = COL_RULER + 1;
- X /* no last status line, adjust sc_col */
- X if (!last_status)
- X sc_col = ru_col;
- X }
- X if (p_sc)
- X {
- X sc_col += COL_SHOWCMD;
- X if (!p_ru || last_status) /* no need for separating space */
- X ++sc_col;
- X }
- X sc_col = Columns - sc_col;
- X ru_col = Columns - ru_col;
- X if (sc_col <= 0) /* screen too narrow, will become a mess */
- X sc_col = 1;
- X if (ru_col <= 0)
- X ru_col = 1;
- X}
- X
- X static char_u *
- Xget_varp(p)
- X struct param *p;
- X{
- X if (!(p->flags & P_IND))
- X return p->var;
- X
- X switch ((long)(p->var))
- X {
- X case PV_LIST: return (char_u *)&(curwin->w_p_list);
- X case PV_NU: return (char_u *)&(curwin->w_p_nu);
- X case PV_SCROLL: return (char_u *)&(curwin->w_p_scroll);
- X case PV_WRAP: return (char_u *)&(curwin->w_p_wrap);
- X
- X case PV_AI: return (char_u *)&(curbuf->b_p_ai);
- X case PV_BIN: return (char_u *)&(curbuf->b_p_bin);
- X case PV_EOL: return (char_u *)&(curbuf->b_p_eol);
- X case PV_ET: return (char_u *)&(curbuf->b_p_et);
- X case PV_ML: return (char_u *)&(curbuf->b_p_ml);
- X case PV_RO: return (char_u *)&(curbuf->b_p_ro);
- X case PV_SI: return (char_u *)&(curbuf->b_p_si);
- X case PV_SN: return (char_u *)&(curbuf->b_p_sn);
- X case PV_SW: return (char_u *)&(curbuf->b_p_sw);
- X case PV_TS: return (char_u *)&(curbuf->b_p_ts);
- X case PV_TW: return (char_u *)&(curbuf->b_p_tw);
- X case PV_TX: return (char_u *)&(curbuf->b_p_tx);
- X case PV_WM: return (char_u *)&(curbuf->b_p_wm);
- X default: EMSG("get_varp ERROR");
- X }
- X /* always return a valid pointer to avoid a crash! */
- X return (char_u *)&(curbuf->b_p_wm);
- X}
- X
- X/*
- X * Copy options from one window to another.
- X * Used when creating a new window.
- X */
- X void
- Xwin_copy_options(wp_from, wp_to)
- X WIN *wp_from;
- X WIN *wp_to;
- X{
- X wp_to->w_p_list = wp_from->w_p_list;
- X wp_to->w_p_nu = wp_from->w_p_nu;
- X wp_to->w_p_scroll = wp_from->w_p_scroll;
- X wp_to->w_p_wrap = wp_from->w_p_wrap;
- X}
- X
- X/*
- X * Copy options from one buffer to another.
- X * Used when creating a new buffer.
- X */
- X void
- Xbuf_copy_options(bp_from, bp_to)
- X BUF *bp_from;
- X BUF *bp_to;
- X{
- X bp_to->b_p_ai = bp_from->b_p_ai;
- X bp_to->b_p_si = bp_from->b_p_si;
- X bp_to->b_p_ro = bp_from->b_p_ro;
- X bp_to->b_p_sw = bp_from->b_p_sw;
- X bp_to->b_p_ts = bp_from->b_p_ts;
- X bp_to->b_p_tw = bp_from->b_p_tw;
- X bp_to->b_p_wm = bp_from->b_p_wm;
- X bp_to->b_p_bin = bp_from->b_p_bin;
- X bp_to->b_p_et = bp_from->b_p_et;
- X bp_to->b_p_ml = bp_from->b_p_ml;
- X bp_to->b_p_sn = bp_from->b_p_sn;
- X bp_to->b_p_tx = bp_from->b_p_tx;
- X}
- X
- X#ifdef WEBB_COMPLETE
- X void
- Xset_context_in_set_cmd(arg)
- X char_u *arg;
- X{
- X int nextchar;
- X int flags;
- X int i;
- X char_u *p;
- X char_u *after_blank = NULL;
- X
- X expand_context = EXPAND_SETTINGS;
- X if (*arg == NUL)
- X {
- X expand_pattern = arg;
- X return;
- X }
- X p = arg + STRLEN(arg) - 1;
- X if (*p == ' ' && *(p - 1) != '\\')
- X {
- X expand_pattern = p + 1;
- X return;
- X }
- X while (p != arg && (*p != ' ' || *(p - 1) == '\\'))
- X {
- X if (*p == ' ' && after_blank == NULL)
- X after_blank = p + 1;
- X p--;
- X }
- X if (p != arg)
- X p++;
- X if (STRNCMP(p, "no", (size_t) 2) == 0)
- X {
- X expand_context = EXPAND_BOOL_SETTINGS;
- X p += 2;
- X }
- X if (STRNCMP(p, "inv", (size_t) 3) == 0)
- X {
- X expand_context = EXPAND_BOOL_SETTINGS;
- X p += 3;
- X }
- X expand_pattern = arg = p;
- X while (isalnum(*p) || *p == '_' || *p == '*') /* Allow * as wildcard */
- X p++;
- X if (*p == NUL)
- X return;
- X nextchar = *p;
- X *p = NUL;
- X i = findparam(arg);
- X *p = nextchar;
- X if (i == -1 || params[i].var == NULL)
- X {
- X expand_context = EXPAND_NOTHING;
- X return;
- X }
- X flags = params[i].flags;
- X if (flags & P_BOOL)
- X {
- X expand_context = EXPAND_NOTHING;
- X return;
- X }
- X if ((nextchar != '=' && nextchar != ':')
- X || expand_context == EXPAND_BOOL_SETTINGS)
- X {
- X expand_context = EXPAND_UNSUCCESSFUL;
- X return;
- X }
- X expand_context = EXPAND_NOTHING;
- X if (flags & P_NUM)
- X return;
- X if (after_blank != NULL)
- X expand_pattern = after_blank;
- X else
- X expand_pattern = p + 1;
- X if (flags & P_EXPAND)
- X {
- X p = params[i].var;
- X if (
- X#ifdef UNIX
- X p == (char_u *)&p_bdir ||
- X#endif
- X p == (char_u *)&p_dir || p == (char_u *)&p_path)
- X expand_context = EXPAND_DIRECTORIES;
- X else
- X expand_context = EXPAND_FILES;
- X }
- X return;
- X}
- X
- X int
- XExpandSettings(prog, num_file, file)
- X regexp *prog;
- X int *num_file;
- X char_u ***file;
- X{
- X int num_normal = 0; /* Number of matching non-term-code settings */
- X int num_term = 0; /* Number of matching terminal code settings */
- X int i;
- X int match;
- X int count;
- X char_u *str;
- X
- X if (expand_context != EXPAND_BOOL_SETTINGS)
- X {
- X if (regexec(prog, (char_u *)"all", TRUE))
- X num_normal++;
- X if (regexec(prog, (char_u *)"termcap", TRUE))
- X num_normal++;
- X }
- X for (i = 0; (str = (char_u *)params[i].fullname) != NULL; i++)
- X {
- X if (params[i].var == NULL)
- X continue;
- X if (expand_context == EXPAND_BOOL_SETTINGS
- X && !(params[i].flags & P_BOOL))
- X continue;
- X if (istermparam(¶ms[i]) && num_normal > 0)
- X continue;
- X match = FALSE;
- X if (regexec(prog, str, TRUE))
- X match = TRUE;
- X else if (params[i].shortname != NULL
- X && regexec(prog, (char_u *)params[i].shortname, TRUE))
- X match = TRUE;
- X if (match)
- X {
- X if (istermparam(¶ms[i]))
- X num_term++;
- X else
- X num_normal++;
- X }
- X }
- X if (num_normal > 0)
- X *num_file = num_normal;
- X else if (num_term > 0)
- X *num_file = num_term;
- X else
- X return OK;
- X *file = (char_u **) alloc((unsigned)(*num_file * sizeof(char_u *)));
- X if (*file == NULL)
- X {
- X *file = (char_u **)"";
- X return FAIL;
- X }
- X count = 0;
- X if (expand_context != EXPAND_BOOL_SETTINGS)
- X {
- X if (regexec(prog, (char_u *)"all", TRUE))
- X (*file)[count++] = strsave((char_u *)"all");
- X if (regexec(prog, (char_u *)"termcap", TRUE))
- X (*file)[count++] = strsave((char_u *)"termcap");
- X }
- X for (i = 0; (str = (char_u *)params[i].fullname) != NULL; i++)
- X {
- X if (params[i].var == NULL)
- X continue;
- X if (expand_context == EXPAND_BOOL_SETTINGS
- X && !(params[i].flags & P_BOOL))
- X continue;
- X if (istermparam(¶ms[i]) && num_normal > 0)
- X continue;
- X match = FALSE;
- X if (regexec(prog, str, TRUE))
- X match = TRUE;
- X else if (params[i].shortname != NULL
- X && regexec(prog, (char_u *)params[i].shortname, TRUE))
- X match = TRUE;
- X if (match)
- X (*file)[count++] = strsave(str);
- X }
- X return OK;
- X}
- X#endif /* WEBB_COMPLETE */
- END_OF_FILE
- if test 35665 -ne `wc -c <'vim/src/param.c'`; then
- echo shar: \"'vim/src/param.c'\" unpacked with wrong size!
- fi
- # end of 'vim/src/param.c'
- fi
- if test -f 'vim/src/tags' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/tags'\"
- else
- echo shar: Extracting \"'vim/src/tags'\" \(29029 characters\)
- sed "s/^X//" >'vim/src/tags' <<'END_OF_FILE'
- XAppendCharToRedobuff getchar.c /^AppendCharToRedobuff(c)$/
- XAppendNumberToRedobuff getchar.c /^AppendNumberToRedobuff(n)$/
- XAppendToRedobuff getchar.c /^AppendToRedobuff(s)$/
- XCHECK memfile.c /^#define CHECK(c, s) if (c) printf(s)$/
- XChk_Abort amiga.c /^Chk_Abort()$/
- XCtrl ascii.h /^#define Ctrl(x) ((x) & 0x1f)$/
- XDoOneCmd cmdline.c /^DoOneCmd(buff)$/
- XEMSG vim.h /^#define EMSG(s) emsg((char_u *)(s))$/
- XEMSG2 vim.h /^#define EMSG2(s, p) emsg2((char_u *)(s), (char_u/
- XEMSG_RETURN regexp.c /^#define EMSG_RETURN(m) { emsg(m); return NULL; }$/
- XEXTERN param.h /^EXTERN char_u *p_ep INIT(= (char_u *)"indent"); \/*/
- XExpandFromContext cmdline.c /^ExpandFromContext(pat, num_file, file, files_only,/
- XExpandOne cmdline.c /^ExpandOne(str, list_notfound, mode)$/
- XExpandSettings param.c /^ExpandSettings(prog, num_file, file)$/
- XExpandTags tag.c /^ExpandTags(prog, num_file, file)$/
- XExpandWildCards amiga.c /^ExpandWildCards(num_pat, pat, num_file, file, file/
- XFreeWild amiga.c /^FreeWild(num, file)$/
- XFullName amiga.c /^FullName(fname, buf, len)$/
- XGetChars amiga.c /^GetChars(buf, maxlen, time)$/
- XINIT normal.c /^#define INIT(x) x$/
- XISSPECIAL edit.c /^#define ISSPECIAL(c) ((c) < ' ' || (c) >= DEL)$/
- XMEMHASH structs.h /^#define MEMHASH(nr) ((nr) & (MEMHASHSIZE - 1))$/
- XML_SIMPLE memline.c /^#define ML_SIMPLE(x) (x & 0x10) \/* DEL, INS or FIN/
- XMP amiga.c /^#define MP(xx) ((struct MsgPort *)((struct FileHan/
- XMSG vim.h /^#define MSG(s) msg((char_u *)(s))$/
- XMaddcr addcr.c /^main(argc, argv)$/
- XMagic regexp.c /^#define Magic(x) ((x)|('\\\\'<<8))$/
- XMeta ascii.h /^#define Meta(x) ((x) | 0x80)$/
- XMmain main.c /^main(argc, argv)$/
- XMmkcmdtab mkcmdtab.c /^main(argc, argv)$/
- XNEXT regexp.c /^#define NEXT(p) (((*((p)+1)&0377)<<8) + (*((p)+2)&/
- XOP regexp.c /^#define OP(p) (*(p))$/
- XOPERAND regexp.c /^#define OPERAND(p) ((p) + 3)$/
- XOUTSTR vim.h /^#define OUTSTR(s) outstr((char_u *)(s))$/
- XOUTSTRN vim.h /^#define OUTSTRN(s) outstrn((char_u *)(s))$/
- XOpencmd misccmds.c /^Opencmd(dir, redraw, delspaces)$/
- XPERR winnt.c /^#define PERR(bSuccess, api) {if (!(bSuccess)) perr/
- XPeekChr regexp.c /^#define PeekChr() curchr \/* shortcut only when las/
- XRead archie.c /^Read(buf, maxlen)$/
- XRealWaitForChar archie.c /^RealWaitForChar(ticks)$/
- XResetRedobuff getchar.c /^ResetRedobuff()$/
- XSTRCAT vim.h /^#define STRCAT(d, s) strcat((char *)(d), (char *)/
- XSTRCHR vim.h /^#define STRCHR(s, c) (char_u *)strchr((char *)(s)/
- XSTRCMP vim.h /^#define STRCMP(d, s) strcmp((char *)(d), (char *)/
- XSTRCPY vim.h /^#define STRCPY(d, s) strcpy((char *)(d), (char *)/
- XSTRLEN vim.h /^#define STRLEN(s) strlen((char *)(s))$/
- XSTRNCMP vim.h /^#define STRNCMP(d, s, n) strncmp((char *)(d), (cha/
- XSTRNCPY vim.h /^#define STRNCPY(d, s, n) strncpy((char *)(d), (cha/
- XSTRRCHR vim.h /^#define STRRCHR(s, c) (char_u *)strrchr((char *)(/
- XTGETSTR term.c /^# define TGETSTR(s, p) (char_u *)tgetstr((s), (cha/
- XTO_LOWER macros.h /^# define TO_LOWER(c) (isupper(c) ? tolower(c) : (c/
- XTO_UPPER macros.h /^# define TO_UPPER(c) (islower(c) ? toupper(c) : (c/
- XUCHARAT regexp.c /^#define UCHARAT(p) ((int)*(unsigned char *)(p))$/
- XUNCHANGED vim.h /^#define UNCHANGED(buf) unset_Changed(buf)$/
- XWaitForChar archie.c /^WaitForChar(ticks)$/
- X__ARGS regsub.c /^# define __ARGS(a) a$/
- X__PARMS vim.h /^# define __PARMS(x) x$/
- X_addfmt termlib.c /^_addfmt(buf, fmt, val) \/* add val to b/
- X_find termlib.c /^_find(s, set) \/* finds next c in s that's a memb/
- X_match termlib.c /^_match(s1, s2) \/* returns length o/
- Xadd_buff getchar.c /^add_buff(buf, s)$/
- Xadd_char_buff getchar.c /^add_char_buff(buf, c)$/
- Xadd_num_buff getchar.c /^add_num_buff(buf, n)$/
- Xaddfile msdos.c /^addfile(fl, f, isdir)$/
- Xaddstar cmdline.c /^addstar(fname, len)$/
- Xadjust_cursor linefunc.c /^adjust_cursor()$/
- Xalloc alloc.c /^alloc(size)$/
- Xask_yesno misccmds.c /^ask_yesno(str)$/
- Xautowrite cmdline.c /^autowrite(buf)$/
- Xautowrite_all cmdline.c /^autowrite_all()$/
- Xbck_word search.c /^bck_word(count, type)$/
- Xbeep misccmds.c /^beep()$/
- Xbeginline edit.c /^beginline(flag)$/
- Xblock_prep ops.c /^block_prep(lnum, delete)$/
- Xbreakcheck amiga.c /^breakcheck()$/
- Xbsdmemset alloc.c /^bsdmemset(ptr, c, size)$/
- Xbuf_clear buffer.c /^buf_clear(buf)$/
- Xbuf_copy_options param.c /^buf_copy_options(bp_from, bp_to)$/
- Xbuf_freeall buffer.c /^buf_freeall(buf)$/
- Xbuf_modname fileio.c /^buf_modname(buf, fname, ext)$/
- Xbuf_write fileio.c /^buf_write(buf, fname, sfname, start, end, append, /
- Xbuf_write_all cmdline.c /^buf_write_all(buf)$/
- Xbufempty macros.h /^#define bufempty() (curbuf->b_ml.ml_flags & ML_EMP/
- Xbuflist_add buffer.c /^buflist_add(fname)$/
- Xbuflist_altlnum buffer.c /^buflist_altlnum()$/
- Xbuflist_findlnum buffer.c /^buflist_findlnum(buf)$/
- Xbuflist_findname buffer.c /^buflist_findname(fname)$/
- Xbuflist_findnr buffer.c /^buflist_findnr(nr)$/
- Xbuflist_getfile buffer.c /^buflist_getfile(n, lnum, setpm)$/
- Xbuflist_getlnum buffer.c /^buflist_getlnum()$/
- Xbuflist_list buffer.c /^buflist_list()$/
- Xbuflist_name_nr buffer.c /^buflist_name_nr(fnum, fname, lnum)$/
- Xbuflist_new buffer.c /^buflist_new(fname, sfname, lnum, use_curbuf)$/
- Xbuflist_nr2name buffer.c /^buflist_nr2name(n)$/
- Xbuflist_setlnum buffer.c /^buflist_setlnum(buf, lnum)$/
- Xbzero unix.c /^# define bzero(a, b) memset((a), 0, (b))$/
- Xcall_shell amiga.c /^call_shell(cmd, filter, cooked)$/
- Xcatch_cbrk msdos.c /^catch_cbrk()$/
- Xcatch_cint msdos.c /^catch_cint(bp, di, si, ds, es, dx, cx, bx, ax)$/
- Xcbrk_handler msdos.c /^cbrk_handler()$/
- Xccheck_abbr cmdline.c /^ccheck_abbr(c)$/
- Xchange_drive msdos.c /^change_drive(drive)$/
- Xchange_warning misccmds.c /^change_warning()$/
- Xcharsize charset.c /^charsize(c)$/
- Xchartabsize charset.c /^chartabsize(c, col)$/
- Xcheck_abbr getchar.c /^check_abbr(c, ptr, col, mincol)$/
- Xcheck_changed cmdline.c /^check_changed(buf, checkaw, mult_win)$/
- Xcheck_changed_any cmdline.c /^check_changed_any(checkaw)$/
- Xcheck_cursor screen.c /^check_cursor()$/
- Xcheck_fname cmdline.c /^check_fname()$/
- Xcheck_more cmdline.c /^check_more(message)$/
- Xcheck_readonly cmdline.c /^check_readonly()$/
- Xcheck_status misccmds.c /^check_status(buf)$/
- Xcheck_termcode term.c /^check_termcode(buf)$/
- Xcheck_win amiga.c /^check_win(argc, argv)$/
- Xcheck_winsize term.c /^check_winsize()$/
- Xcheckclearop normal.c /^checkclearop()$/
- Xcheckclearopq normal.c /^checkclearopq()$/
- Xchecknextcomm cmdline.c /^checknextcomm(arg)$/
- Xcheckpcmark mark.c /^checkpcmark()$/
- Xchk_mline fileio.c /^chk_mline(lnum)$/
- Xclear_termparam param.c /^clear_termparam()$/
- Xclearopbeep normal.c /^clearopbeep()$/
- Xclose_buffer buffer.c /^close_buffer(buf, free_buf, remove)$/
- Xclose_others window.c /^close_others(message)$/
- Xclose_window window.c /^close_window(free_buf)$/
- Xclrallmarks mark.c /^clrallmarks(buf)$/
- Xclreol winnt.c /^clreol()$/
- Xclrscr winnt.c /^clrscr()$/
- Xcls search.c /^cls()$/
- Xcoladvance linefunc.c /^coladvance(wcol)$/
- Xcommand_height window.c /^command_height()$/
- Xcomp_Botline screen.c /^comp_Botline(wp)$/
- Xcomp_Botline_all screen.c /^comp_Botline_all()$/
- Xcomp_col param.c /^comp_col()$/
- Xcompute_cmdrow cmdline.c /^compute_cmdrow()$/
- Xcopy_redo getchar.c /^copy_redo()$/
- Xcopy_spaces alloc.c /^copy_spaces(ptr, count)$/
- Xcstrchr regexp.c /^cstrchr(s, c)$/
- Xcstrncmp regexp.c /^cstrncmp(s1, s2, n)$/
- Xcurs_columns screen.c /^curs_columns(scroll)$/
- Xcursor_off term.c /^cursor_off()$/
- Xcursor_on term.c /^cursor_on()$/
- Xcursor_visible winnt.c /^cursor_visible(int visible)$/
- Xcursorcmd cmdline.c /^cursorcmd()$/
- Xcursupdate screen.c /^cursupdate()$/
- Xdec linefunc.c /^dec(lp)$/
- Xdec_cursor linefunc.c /^dec_cursor()$/
- Xdecl linefunc.c /^decl(lp)$/
- Xdel_spaces alloc.c /^del_spaces(ptr)$/
- Xdel_typestr getchar.c /^del_typestr(len)$/
- Xdelay winnt.c /^delay(x)$/
- Xdelchar misccmds.c /^delchar(fixpos)$/
- Xdelline winnt.c /^delline(int count)$/
- Xdellines misccmds.c /^dellines(nlines, dowindow, undo)$/
- Xdelmode screen.c /^delmode()$/
- Xdirname archie.c /^dirname(buf, len)$/
- Xdis_msg ops.c /^dis_msg(p, skip_esc)$/
- Xdo_Copy regsub.c /^do_Copy(d, c)$/
- Xdo_Lower regsub.c /^do_Lower(d, c)$/
- Xdo_Upper regsub.c /^do_Upper(d, c)$/
- Xdo_align cmdcmds.c /^do_align(start, end, width, type)$/
- Xdo_arg_all buffer.c /^do_arg_all()$/
- Xdo_buffer buffer.c /^do_buffer(action, start, dir, count, forceit)$/
- Xdo_buffer_all buffer.c /^do_buffer_all(all)$/
- Xdo_copy cmdcmds.c /^do_copy(line1, line2, n)$/
- Xdo_lower regsub.c /^do_lower(d, c)$/
- Xdo_mlines fileio.c /^do_mlines()$/
- Xdo_move cmdcmds.c /^do_move(line1, line2, n)$/
- Xdo_upper regsub.c /^do_upper(d, c)$/
- Xdo_window window.c /^do_window(nchar, Prenum)$/
- Xdoaddsub ops.c /^doaddsub(command, Prenum1)$/
- Xdoarglist cmdline.c /^doarglist(str)$/
- Xdobang cmdcmds.c /^dobang(addr_count, line1, line2, forceit, arg)$/
- Xdochange ops.c /^dochange()$/
- Xdocmdline cmdline.c /^docmdline(cmdline)$/
- Xdodelete ops.c /^dodelete()$/
- Xdodigraph digraph.c /^dodigraph(c)$/
- Xdodis ops.c /^dodis()$/
- Xdodojoin ops.c /^dodojoin(count, insert_space, redraw)$/
- Xdoecmd cmdline.c /^doecmd(fname, sfname, command, hide, newlnum)$/
- Xdoexecbuf ops.c /^doexecbuf(c)$/
- Xdofilter cmdcmds.c /^dofilter(line1, line2, buff, do_in, do_out)$/
- Xdoformat ops.c /^doformat()$/
- Xdoglob csearch.c /^doglob(type, lp, up, cmd)$/
- Xdojoin ops.c /^dojoin(insert_space, redraw)$/
- Xdojumps mark.c /^dojumps()$/
- Xdomake cmdline.c /^domake(arg)$/
- Xdomap getchar.c /^domap(maptype, keys, mode)$/
- Xdomarks mark.c /^domarks()$/
- Xdoput ops.c /^doput(dir, count, fix_indent)$/
- Xdorecord ops.c /^dorecord(c)$/
- Xdos_packet amiga.c /^dos_packet(pid, action, arg)$/
- Xdosearch search.c /^dosearch(dirc, str, reverse, count, echo, message)/
- Xdoset param.c /^doset(arg)$/
- Xdoshell cmdcmds.c /^doshell(cmd)$/
- Xdoshift ops.c /^doshift(op, curs_top, amount)$/
- Xdosource cmdline.c /^dosource(fname)$/
- Xdosub csearch.c /^dosub(lp, up, cmd, nextcommand, use_old)$/
- Xdotag tag.c /^dotag(tag, type, count)$/
- Xdotags tag.c /^dotags()$/
- Xdotilde ops.c /^dotilde()$/
- Xdowrite cmdline.c /^dowrite(fname, append)$/
- Xdoyank ops.c /^doyank(deleting)$/
- Xecheck_abbr edit.c /^echeck_abbr(c)$/
- Xedit edit.c /^edit(count)$/
- Xemsg message.c /^emsg(s)$/
- Xemsg2 message.c /^emsg2(s, a1)$/
- Xend_word search.c /^end_word(count, type, stop)$/
- Xenter_buffer buffer.c /^enter_buffer(buf)$/
- Xequal macros.h /^#define equal(a, b) (((a).lnum == (b).lnum) && ((a/
- Xexpand_env misccmds.c /^expand_env(src, dst, dstlen)$/
- Xexpandpath msdos.c /^expandpath(fl, path, fonly, donly, notf)$/
- Xfile_name_at_cursor window.c /^file_name_at_cursor()$/
- Xfileinfo buffer.c /^fileinfo(fullname)$/
- Xfilemess fileio.c /^filemess(name, s)$/
- Xfill_inbuf archie.c /^fill_inbuf()$/
- Xfindfunc search.c /^findfunc(dir, what, count)$/
- Xfindpar search.c /^findpar(dir, count, what, both)$/
- Xfindparam param.c /^findparam(arg)$/
- Xfindsent search.c /^findsent(dir, count)$/
- Xfindswapname memline.c /^findswapname(buf, second_try)$/
- Xfindtag tag.c /^findtag(tag)$/
- Xfix_fname buffer.c /^fix_fname(fname)$/
- Xflush_buffers getchar.c /^flush_buffers(typeahead)$/
- Xflushbuf term.c /^flushbuf()$/
- Xfm_getname mark.c /^fm_getname(fmark)$/
- Xfname_case amiga.c /^fname_case(name)$/
- Xfname_expand buffer.c /^fname_expand(fname, sfname)$/
- Xfnamecmp vim.h /^# define fnamecmp(x, y) stricmp((char *)(x), (char/
- Xfree vim.h /^# define free(x) nofreeNULL(x)$/
- Xfree_buff getchar.c /^free_buff(buf)$/
- Xfree_yank ops.c /^free_yank(n)$/
- Xfree_yank_all ops.c /^free_yank_all()$/
- Xfreefiles amiga.c /^freefiles()$/
- Xfstatfs memfile.c /^# define fstatfs(fd, buf, len, nul) fstat((fd), (b/
- Xfullpathcmp misccmds.c /^fullpathcmp(s1, s2)$/
- Xfwd_word search.c /^fwd_word(count, type, eol)$/
- Xgchar misccmds.c /^gchar(pos)$/
- Xgchar_cursor misccmds.c /^gchar_cursor()$/
- Xget_address cmdline.c /^get_address(ptr)$/
- Xget_bufcont getchar.c /^get_bufcont(buffer, dozero)$/
- Xget_fib amiga.c /^get_fib(fname)$/
- Xget_indent misccmds.c /^get_indent()$/
- Xget_inserted getchar.c /^get_inserted()$/
- Xget_last_insert edit.c /^get_last_insert()$/
- Xget_literal edit.c /^get_literal(nextc)$/
- Xget_recorded getchar.c /^get_recorded()$/
- Xget_varp param.c /^get_varp(p)$/
- Xget_x11_icon unix.c /^get_x11_icon()$/
- Xget_x11_title unix.c /^get_x11_title()$/
- Xget_x11_windis unix.c /^get_x11_windis()$/
- Xget_yank_buffer ops.c /^get_yank_buffer(writing)$/
- Xgetargcmd cmdline.c /^getargcmd(argp)$/
- Xgetchr regexp.c /^getchr()$/
- Xgetcmdline cmdline.c /^getcmdline(firstc, buff)$/
- Xgetdigits misccmds.c /^getdigits(pp)$/
- Xgetdigraph digraph.c /^getdigraph(char1, char2, meta)$/
- Xgetent termlib.c /^getent(tbuf, term, termcap, buflen)$/
- Xgetfile cmdline.c /^getfile(fname, sfname, setpm, lnum)$/
- Xgetlinecol term.c /^getlinecol()$/
- Xgetmark mark.c /^getmark(c, changefile)$/
- Xgetout main.c /^getout(r)$/
- Xgetperm amiga.c /^getperm(name)$/
- Xgettail misccmds.c /^gettail(fname)$/
- Xgetvcol screen.c /^getvcol(wp, pos, type)$/
- Xgotchars getchar.c /^gotchars(s, len)$/
- Xgotocmdend cmdline.c /^gotocmdend()$/
- Xgotocmdline cmdline.c /^gotocmdline(clr, firstc)$/
- Xgotoxy winnt.c /^gotoxy(x, y)$/
- Xhandler_routine winnt.c /^BOOL WINAPI handler_routine(DWORD dwCtrlType)$/
- Xhas_wildcard amiga.c /^has_wildcard(p)$/
- Xhave_wildcard archie.c /^have_wildcard(num, file)$/
- Xhelp help.c /^help()$/
- Xhome_replace misccmds.c /^home_replace(src, dst, dstlen)$/
- Xinc linefunc.c /^inc(lp)$/
- Xinc_cursor linefunc.c /^inc_cursor()$/
- Xinchar term.c /^inchar(buf, maxlen, time)$/
- Xincl linefunc.c /^incl(lp)$/
- Xinindent misccmds.c /^inindent()$/
- Xinit_typestr getchar.c /^init_typestr()$/
- Xinit_yank ops.c /^init_yank()$/
- Xinitchr regexp.c /^initchr(str)$/
- Xinmacro search.c /^inmacro(opt, s)$/
- Xins_typestr getchar.c /^ins_typestr(str, noremap)$/
- Xinschar misccmds.c /^inschar(c)$/
- Xinsertbuf ops.c /^insertbuf(c)$/
- Xinsertchar edit.c /^insertchar(c)$/
- Xinsfile amiga.c /^insfile(name, isdir)$/
- Xinsline winnt.c /^insline(int count)$/
- Xinsstr misccmds.c /^insstr(s)$/
- XisFullName amiga.c /^isFullName(fname)$/
- Xis_yank_buffer ops.c /^is_yank_buffer(c, write)$/
- Xisdir amiga.c /^isdir(name)$/
- Xisidchar charset.c /^isidchar(c)$/
- Xiskeypad winnt.c /^#define iskeypad(x) (KEYPADLO <= (x) && (x) <= KEY/
- Xismult regexp.c /^ismult(c)$/
- Xispathsep misccmds.c /^ispathsep(c)$/
- Xisspace vim.h /^# define isspace(x) (((x) >= 9 && (x) <= 13) || (/
- Xistermparam param.c /^istermparam(p)$/
- Xiswhite vim.h /^#define iswhite(x) ((x) == ' ' || (x) == '\\t')$/
- Xkbhit winnt.c /^int kbhit()$/
- Xlalloc alloc.c /^lalloc(size, message)$/
- Xlast_status window.c /^last_status()$/
- Xlineempty macros.h /^#define lineempty(p) (*ml_get(p) == NUL)$/
- Xlistdigraphs digraph.c /^listdigraphs()$/
- Xlock2name amiga.c /^lock2name(lock, buf, len)$/
- Xlt macros.h /^#define lt(a, b) (((a).lnum != (b).lnum) \\$/
- Xltoreq macros.h /^#define ltoreq(a, b) (((a).lnum != (b).lnum) \\$/
- Xmake_windows window.c /^make_windows(count)$/
- Xmakemap getchar.c /^makemap(fd)$/
- Xmakeset param.c /^makeset(fd)$/
- Xmakeswapname memline.c /^makeswapname(buf, second_try)$/
- Xmaketitle buffer.c /^maketitle()$/
- Xmark_adjust mark.c /^mark_adjust(line1, line2, inc)$/
- Xmch_avail_mem amiga.c /^mch_avail_mem(special)$/
- Xmch_char_avail amiga.c /^mch_char_avail()$/
- Xmch_get_winsize amiga.c /^mch_get_winsize()$/
- Xmch_restore_title amiga.c /^mch_restore_title(which)$/
- Xmch_screenmode amiga.c /^mch_screenmode(arg)$/
- Xmch_set_winsize amiga.c /^mch_set_winsize()$/
- Xmch_settitle amiga.c /^mch_settitle(title, icon)$/
- Xmch_settmode amiga.c /^mch_settmode(raw)$/
- Xmch_suspend amiga.c /^mch_suspend()$/
- Xmch_windexit amiga.c /^mch_windexit(r)$/
- Xmch_windinit amiga.c /^mch_windinit()$/
- Xmch_write amiga.c /^mch_write(p, len)$/
- Xmemmove alloc.c /^memmove(desti, source, len)$/
- Xmemset unix.h /^# define memset(ptr, c, size) bsdmemset((ptr), (c)/
- Xmf_alloc_bhdr memfile.c /^mf_alloc_bhdr(mfp, page_count)$/
- Xmf_close memfile.c /^mf_close(mfp, delete)$/
- Xmf_do_open memfile.c /^mf_do_open(mfp, fname, new)$/
- Xmf_find_hash memfile.c /^mf_find_hash(mfp, nr)$/
- Xmf_free memfile.c /^mf_free(mfp, hp)$/
- Xmf_free_bhdr memfile.c /^mf_free_bhdr(hp)$/
- Xmf_fullname memfile.c /^mf_fullname(mfp)$/
- Xmf_get memfile.c /^mf_get(mfp, nr, page_count)$/
- Xmf_ins_free memfile.c /^mf_ins_free(mfp, hp)$/
- Xmf_ins_hash memfile.c /^mf_ins_hash(mfp, hp)$/
- Xmf_ins_used memfile.c /^mf_ins_used(mfp, hp)$/
- Xmf_need_trans memfile.c /^mf_need_trans(mfp)$/
- Xmf_new memfile.c /^mf_new(mfp, negative, page_count)$/
- Xmf_open memfile.c /^mf_open(fname, new, fail_nofile)$/
- Xmf_open_file memfile.c /^mf_open_file(mfp, fname)$/
- Xmf_put memfile.c /^mf_put(mfp, hp, dirty, infile)$/
- Xmf_read memfile.c /^mf_read(mfp, hp)$/
- Xmf_release memfile.c /^mf_release(mfp, page_count)$/
- Xmf_release_all memfile.c /^mf_release_all()$/
- Xmf_rem_free memfile.c /^mf_rem_free(mfp)$/
- Xmf_rem_hash memfile.c /^mf_rem_hash(mfp, hp)$/
- Xmf_rem_used memfile.c /^mf_rem_used(mfp, hp)$/
- Xmf_statistics memfile.c /^mf_statistics()$/
- Xmf_sync memfile.c /^mf_sync(mfp, all, check_char)$/
- Xmf_trans_add memfile.c /^mf_trans_add(mfp, hp)$/
- Xmf_trans_del memfile.c /^mf_trans_del(mfp, old)$/
- Xmf_write memfile.c /^mf_write(mfp, hp)$/
- Xmktemp cmdcmds.c /^# define mktemp(a) tmpnam(a)$/
- Xml_add_stack memline.c /^ml_add_stack(buf)$/
- Xml_append memline.c /^ml_append(lnum, line, len, newfile)$/
- Xml_append_int memline.c /^ml_append_int(buf, lnum, line, len, newfile)$/
- Xml_clearmarked memline.c /^ml_clearmarked()$/
- Xml_close memline.c /^ml_close(buf)$/
- Xml_close_all memline.c /^ml_close_all()$/
- Xml_delete memline.c /^ml_delete(lnum)$/
- Xml_delete_int memline.c /^ml_delete_int(buf, lnum)$/
- Xml_find_line memline.c /^ml_find_line(buf, lnum, action)$/
- Xml_firstmarked memline.c /^ml_firstmarked()$/
- Xml_flush_line memline.c /^ml_flush_line(buf)$/
- Xml_get memline.c /^ml_get(lnum)$/
- Xml_get_buf memline.c /^ml_get_buf(buf, lnum, will_change)$/
- Xml_get_cursor memline.c /^ml_get_cursor()$/
- Xml_get_pos memline.c /^ml_get_pos(pos)$/
- Xml_has_mark memline.c /^ml_has_mark(lnum)$/
- Xml_line_alloced memline.c /^ml_line_alloced()$/
- Xml_lineadd memline.c /^ml_lineadd(buf, count)$/
- Xml_new_data memline.c /^ml_new_data(mfp, negative, page_count)$/
- Xml_new_ptr memline.c /^ml_new_ptr(mfp)$/
- Xml_open memline.c /^ml_open()$/
- Xml_open_files memline.c /^ml_open_files()$/
- Xml_preserve memline.c /^ml_preserve(buf, message)$/
- Xml_recover memline.c /^ml_recover()$/
- Xml_replace memline.c /^ml_replace(lnum, line, copy)$/
- Xml_setmarked memline.c /^ml_setmarked(lnum)$/
- Xml_sync_all memline.c /^ml_sync_all(check_file)$/
- Xml_timestamp memline.c /^ml_timestamp(buf)$/
- Xmodname fileio.c /^modname(fname, ext)$/
- Xmovemark mark.c /^movemark(count)$/
- Xmsg message.c /^msg(s)$/
- Xmsg_ceol message.c /^msg_ceol()$/
- Xmsg_check message.c /^msg_check()$/
- Xmsg_check_screen message.c /^msg_check_screen()$/
- Xmsg_end message.c /^msg_end()$/
- Xmsg_outchar message.c /^msg_outchar(c)$/
- Xmsg_outnum message.c /^msg_outnum(n)$/
- Xmsg_outstr message.c /^msg_outstr(s)$/
- Xmsg_outtrans message.c /^msg_outtrans(str, len)$/
- Xmsg_pos message.c /^msg_pos(row, col)$/
- Xmsg_prt_line message.c /^msg_prt_line(s)$/
- Xmsg_start message.c /^msg_start()$/
- Xmsgmore misccmds.c /^msgmore(n)$/
- Xmyregcomp search.c /^myregcomp(pat, sub_cmd, which_pat)$/
- Xnextent termlib.c /^nextent(tbuf, termcap, buflen) \/* Read 1 e/
- Xnextwild cmdline.c /^nextwild(buff, type)$/
- XnofreeNULL alloc.c /^nofreeNULL(x)$/
- Xnormal normal.c /^normal()$/
- Xnormvideo winnt.c /^normvideo()$/
- Xonedown edit.c /^onedown(n)$/
- Xoneleft edit.c /^oneleft()$/
- Xonepage edit.c /^onepage(dir, count)$/
- Xoneright edit.c /^oneright()$/
- Xoneup edit.c /^oneup(n)$/
- Xopen_buffer buffer.c /^open_buffer()$/
- Xopenscript getchar.c /^openscript(name)$/
- Xotherfile buffer.c /^otherfile(fname)$/
- Xoutchar term.c /^outchar(c)$/
- Xoutnum term.c /^outnum(n)$/
- Xoutstr term.c /^outstr(s)$/
- Xoutstrn term.c /^outstrn(s)$/
- Xparam_expand param.c /^param_expand(i, dofree)$/
- Xparamchanged param.c /^paramchanged(arg)$/
- Xparse_builtin_tcap term.c /^parse_builtin_tcap(tc, s)$/
- Xpchar macros.h /^#define pchar(lp, c) (*(ml_get_buf(curbuf, (lp).ln/
- Xpchar_cursor misccmds.c /^pchar_cursor(c)$/
- Xpeekchr regexp.c /^peekchr()$/
- Xperr winnt.c /^void perr(PCHAR szFileName, int line, P/
- Xplines misccmds.c /^plines(p)$/
- Xplines_m misccmds.c /^plines_m(first, last)$/
- Xplines_m_win misccmds.c /^plines_m_win(wp, first, last)$/
- Xplines_win misccmds.c /^plines_win(wp, p)$/
- Xplural misccmds.c /^plural(n)$/
- Xpremsg normal.c /^premsg(c1, c2)$/
- Xprep_redo normal.c /^prep_redo(num, cmd, c, nchar)$/
- Xprintdigraph digraph.c /^printdigraph(p)$/
- Xpstrcmp msdos.c /^pstrcmp(a, b)$/
- Xputch winnt.c /^putch(char c)$/
- Xputcmdline cmdline.c /^putcmdline(c, buff)$/
- Xputdigraph digraph.c /^putdigraph(str)$/
- Xputescstr getchar.c /^putescstr(fd, str, set)$/
- Xqf_free quickfix.c /^qf_free()$/
- Xqf_init quickfix.c /^qf_init()$/
- Xqf_jump quickfix.c /^qf_jump(dir, errornr)$/
- Xqf_list quickfix.c /^qf_list()$/
- Xqf_mark_adjust quickfix.c /^qf_mark_adjust(line1, line2, inc)$/
- Xqf_types quickfix.c /^qf_types(c, nr)$/
- Xread_redo getchar.c /^read_redo(init)$/
- Xread_stuff getchar.c /^read_stuff(advance)$/
- Xreadfile fileio.c /^readfile(fname, sfname, from, newfile, skip_lnum, /
- Xredrawcmd cmdline.c /^redrawcmd()$/
- Xredrawcmdline cmdline.c /^redrawcmdline()$/
- Xredrawhelp help.c /^redrawhelp()$/
- Xreg regexp.c /^reg(paren, flagp)$/
- Xregatom regexp.c /^regatom(flagp)$/
- Xregbranch regexp.c /^regbranch(flagp)$/
- Xregc regexp.c /^regc(b)$/
- Xregcomp regexp.c /^regcomp(exp)$/
- Xregdump regexp.c /^regdump(r)$/
- Xregexec regexp.c /^regexec(prog, string, at_bol)$/
- Xreginsert regexp.c /^reginsert(op, opnd)$/
- Xregmatch regexp.c /^regmatch(prog)$/
- Xregnext regexp.c /^regnext(p)$/
- Xregnode regexp.c /^regnode(op)$/
- Xregoptail regexp.c /^regoptail(p, val)$/
- Xregpiece regexp.c /^regpiece(flagp)$/
- Xregprop regexp.c /^regprop(op)$/
- Xregrepeat regexp.c /^regrepeat(p)$/
- Xregsub regsub.c /^regsub(prog, source, dest, copy, magic)$/
- Xregtail regexp.c /^regtail(p, val)$/
- Xregtilde regsub.c /^regtilde(source, magic)$/
- Xregtry regexp.c /^regtry(prog, string)$/
- Xremove unix.c /^remove(buf)$/
- Xrename unix.c /^rename(src, dest)$/
- Xresettitle archie.c /^resettitle()$/
- XresizeConBufAndWindow winnt.c /^void resizeConBufAndWindow(HANDLE hCons/
- Xscreen_char screen.c /^screen_char(p, row, col)$/
- Xscreen_del_lines screen.c /^screen_del_lines(off, row, nlines, end)$/
- Xscreen_fill screen.c /^screen_fill(start_row, end_row, start_col, end_col/
- Xscreen_ins_lines screen.c /^screen_ins_lines(off, row, nlines, end)$/
- Xscreen_msg screen.c /^screen_msg(msg, row, col)$/
- Xscreen_new_rows window.c /^screen_new_rows()$/
- Xscreen_outchar screen.c /^screen_outchar(c, row, col)$/
- Xscreen_start screen.c /^screen_start()$/
- Xscreen_valid screen.c /^screen_valid()$/
- Xscreenalloc screen.c /^screenalloc(clear)$/
- Xscreenclear screen.c /^screenclear()$/
- Xscreenclear2 screen.c /^screenclear2()$/
- Xscroll winnt.c /^scroll()$/
- Xscroll_region_reset term.c /^scroll_region_reset()$/
- Xscroll_region_set term.c /^scroll_region_set(wp)$/
- Xscrolldown screen.c /^scrolldown(nlines)$/
- Xscrollup screen.c /^scrollup(nlines)$/
- Xsearchc search.c /^searchc(c, dir, type, count)$/
- Xsearchit search.c /^searchit(pos, dir, str, count, end, message)$/
- Xset_Changed misccmds.c /^set_Changed()$/
- Xset_context_in_set_cmd param.c /^set_context_in_set_cmd(arg)$/
- Xset_expand_context cmdline.c /^set_expand_context(firstc, buff)$/
- Xset_highlight screen.c /^set_highlight(context)$/
- Xset_indent misccmds.c /^set_indent(size, delete)$/
- Xset_init param.c /^set_init()$/
- Xset_keymap amiga.c /^set_keymap(name)$/
- Xset_one_cmd_context cmdline.c /^set_one_cmd_context(firstc, buff)$/
- Xset_redo_ins getchar.c /^set_redo_ins()$/
- Xset_term term.c /^set_term(term)$/
- Xset_window msdos.c /^set_window()$/
- Xset_winsize term.c /^set_winsize(width, height, mustset)$/
- Xset_x11_icon unix.c /^set_x11_icon(icon)$/
- Xset_x11_title unix.c /^set_x11_title(title)$/
- Xsetaltfname buffer.c /^setaltfname(fname, sfname, lnum)$/
- Xsetcursor term.c /^setcursor()$/
- Xsetfname buffer.c /^setfname(fname, sfname, message)$/
- Xsetmark mark.c /^setmark(c)$/
- Xsetpcmark mark.c /^setpcmark()$/
- Xsetperm amiga.c /^setperm(name, perm)$/
- Xsettitle archie.c /^settitle(str)$/
- Xsettmode term.c /^settmode(raw)$/
- Xshift_line ops.c /^shift_line(left, round, amount)$/
- Xshowmap getchar.c /^showmap(mp)$/
- Xshowmatch search.c /^showmatch(initc)$/
- Xshowmatches cmdline.c /^showmatches(buff)$/
- Xshowmode screen.c /^showmode()$/
- Xshowonep param.c /^showonep(p)$/
- Xshowparams param.c /^showparams(all)$/
- Xshowruler screen.c /^showruler(always)$/
- Xsig_winch unix.c /^sig_winch()$/
- Xskip_chars search.c /^skip_chars(class, dir)$/
- Xskip_regexp regexp.c /^skip_regexp(p, dirc)$/
- Xskipchr regexp.c /^skipchr()$/
- Xskipspace misccmds.c /^skipspace(pp)$/
- Xskiptodigit misccmds.c /^skiptodigit(pp)$/
- Xskiptospace misccmds.c /^skiptospace(pp)$/
- Xsleep amiga.c /^sleep(n)$/
- Xsmsg message.c /^smsg(s, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)$/
- Xsortcmp amiga.c /^sortcmp(a, b)$/
- XstartPS search.c /^startPS(lnum, para, both)$/
- Xstart_arrow edit.c /^start_arrow()$/
- Xstart_highlight screen.c /^start_highlight()$/
- Xstart_redo getchar.c /^start_redo(count)$/
- Xstart_redo_ins getchar.c /^start_redo_ins()$/
- Xstart_stuff getchar.c /^start_stuff()$/
- Xstartinsert ops.c /^startinsert(initstr, startln, count)$/
- Xstarttermcap term.c /^starttermcap()$/
- Xstatus_redraw_all screen.c /^status_redraw_all()$/
- Xstop_arrow edit.c /^stop_arrow()$/
- Xstop_highlight screen.c /^stop_highlight()$/
- Xstop_insert edit.c /^stop_insert()$/
- Xstop_redo_ins getchar.c /^stop_redo_ins()$/
- Xstoptermcap term.c /^stoptermcap()$/
- Xstrchr unix.h /^# define strchr(ptr, c) index((ptr), (c))$/
- Xstrcspn regexp.c /^strcspn(s1, s2)$/
- Xstrlowcpy msdos.c /^strlowcpy(d, s)$/
- Xstrnfcpy regsub.c /^strnfcpy(f, d, s, n)$/
- Xstrnsave alloc.c /^strnsave(string, len)$/
- Xstrrchr unix.h /^# define strrchr(ptr, c) rindex((ptr), (c))$/
- Xstrsave alloc.c /^strsave(string)$/
- Xstrsize charset.c /^strsize(s)$/
- XstuffReadbuff getchar.c /^stuffReadbuff(s)$/
- Xstuff_empty getchar.c /^stuff_empty()$/
- Xstuff_inserted edit.c /^stuff_inserted(c, count, no_esc)$/
- Xstuff_yank ops.c /^stuff_yank(bufname, p)$/
- XstuffcharReadbuff getchar.c /^stuffcharReadbuff(c)$/
- XstuffnumReadbuff getchar.c /^stuffnumReadbuff(n)$/
- Xswapchar ops.c /^swapchar(pos)$/
- Xtermcapinit term.c /^termcapinit(term)$/
- Xtextattr winnt.c /^textattr(int attr)$/
- Xtgetch winnt.c /^int tgetch()$/
- Xtgetent termlib.c /^tgetent(tbuf, term)$/
- Xtgetflag termlib.c /^tgetflag(id)$/
- Xtgetnum termlib.c /^tgetnum(id)$/
- Xtgetstr termlib.c /^tgetstr(id, buf)$/
- Xtgoto term.c /^tgoto(cm, x, y)$/
- Xtinit termlib.c /^tinit(name)$/
- Xtltoa term.c /^tltoa(i)$/
- Xtputs termlib.c /^tputs(cp, affcnt, outc)$/
- Xtranschar charset.c /^transchar(c)$/
- Xttest term.c /^ttest(pairs)$/
- Xu_alloc_line undo.c /^u_alloc_line(size)$/
- Xu_blockalloc undo.c /^u_blockalloc(size)$/
- Xu_blockfree undo.c /^u_blockfree(buf)$/
- Xu_clearall undo.c /^u_clearall(buf)$/
- Xu_clearline undo.c /^u_clearline()$/
- Xu_free_line undo.c /^u_free_line(ptr)$/
- Xu_freeentry undo.c /^u_freeentry(uep, n)$/
- Xu_freelist undo.c /^u_freelist(uhp)$/
- Xu_getbot undo.c /^u_getbot()$/
- Xu_inssub undo.c /^u_inssub(lnum)$/
- Xu_redo undo.c /^u_redo(count)$/
- Xu_save undo.c /^u_save(top, bot)$/
- Xu_save_cursor undo.c /^u_save_cursor()$/
- Xu_save_line undo.c /^u_save_line(lnum)$/
- Xu_savecommon undo.c /^u_savecommon(top, bot, newbot)$/
- Xu_savedel undo.c /^u_savedel(lnum, nlines)$/
- Xu_saveline undo.c /^u_saveline(lnum)$/
- Xu_savesub undo.c /^u_savesub(lnum)$/
- Xu_sync undo.c /^u_sync()$/
- Xu_unchanged undo.c /^u_unchanged(buf)$/
- Xu_undo undo.c /^u_undo(count)$/
- Xu_undo_end undo.c /^u_undo_end()$/
- Xu_undoline undo.c /^u_undoline()$/
- Xu_undoredo undo.c /^u_undoredo()$/
- Xungetchr regexp.c /^ungetchr()$/
- Xunregc regexp.c /^unregc()$/
- Xunset_Changed misccmds.c /^unset_Changed(buf)$/
- XupdateScreen screen.c /^updateScreen(type)$/
- Xupdateline screen.c /^updateline()$/
- Xupdatescript getchar.c /^updatescript(c)$/
- Xusage main.c /^usage(n)$/
- Xvbell winnt.c /^vbell()$/
- Xvgetc getchar.c /^vgetc()$/
- Xvgetorpeek getchar.c /^vgetorpeek(advance)$/
- Xvim_chdir msdos.c /^vim_chdir(path)$/
- Xvim_delay amiga.c /^vim_delay()$/
- Xvim_dirname amiga.c /^vim_dirname(buf, len)$/
- Xvim_fgets fileio.c /^vim_fgets(buf, size, fp, lnum)$/
- Xvim_remove msdos.c /^vim_remove(name)$/
- Xvim_strncpy cmdline.c /^vim_strncpy(to, from, len)$/
- Xvim_strnicmp alloc.c /^vim_strnicmp(s1, s2, len)$/
- Xvimgetenv amiga.c /^vimgetenv(var)$/
- Xvpeekc getchar.c /^vpeekc()$/
- Xwait_return message.c /^wait_return(redraw)$/
- Xwin_alloc window.c /^win_alloc(after)$/
- Xwin_alloc_lsize window.c /^win_alloc_lsize(wp)$/
- Xwin_append window.c /^win_append(after, wp)$/
- Xwin_comp_pos window.c /^win_comp_pos()$/
- Xwin_comp_scroll window.c /^win_comp_scroll(wp)$/
- Xwin_copy_options param.c /^win_copy_options(wp_from, wp_to)$/
- Xwin_del_lines screen.c /^win_del_lines(wp, row, nlines, invalid, mayclear)$/
- Xwin_enter window.c /^win_enter(wp, undo_sync)$/
- Xwin_equal window.c /^win_equal(next_curwin, redraw)$/
- Xwin_exchange window.c /^win_exchange(Prenum)$/
- Xwin_free window.c /^win_free(wp)$/
- Xwin_free_lsize window.c /^win_free_lsize(wp)$/
- Xwin_init window.c /^win_init(wp)$/
- Xwin_ins_lines screen.c /^win_ins_lines(wp, row, nlines, invalid, mayclear)$/
- Xwin_line screen.c /^win_line(wp, lnum, startrow, endrow)$/
- Xwin_redr_ruler screen.c /^win_redr_ruler(wp, always)$/
- Xwin_redr_status screen.c /^win_redr_status(wp)$/
- Xwin_remove window.c /^win_remove(wp)$/
- Xwin_resize_off amiga.c /^win_resize_off()$/
- Xwin_resize_on amiga.c /^win_resize_on()$/
- Xwin_rest_invalid screen.c /^win_rest_invalid(wp)$/
- Xwin_rotate window.c /^win_rotate(upwards, count)$/
- Xwin_setheight window.c /^win_setheight(height)$/
- Xwin_split window.c /^win_split(new_height, redraw)$/
- Xwin_update screen.c /^win_update(wp)$/
- Xwindgoto term.c /^windgoto(row, col)$/
- Xwrite_buf fileio.c /^write_buf(fd, buf, len)$/
- END_OF_FILE
- if test 29029 -ne `wc -c <'vim/src/tags'`; then
- echo shar: \"'vim/src/tags'\" unpacked with wrong size!
- fi
- # end of 'vim/src/tags'
- fi
- echo shar: End of archive 14 \(of 26\).
- cp /dev/null ark14isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 26 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-