home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / old / 5.4.45 < prev    next >
Encoding:
Internet Message Format  |  1999-08-21  |  36.0 KB

  1. To: vim-dev@vim.org
  2. Subject: patch 5.4.45
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. ------------
  6.  
  7. This is a big one, even though it doesn't fix much.  Part of the change is to
  8. cleanup the global variable expand_interactively.  I thought of cleaning up
  9. expand_context too, but that would result in a lot of changes without fixing
  10. anything.  I'll keep that for later.
  11.  
  12.  
  13. Patch 5.4.45 (also see 5.4.x8)
  14. Problem:    When expand("$ASDF") fails, there is an error message.
  15. Solution:   Remove the global expand_interactively.  Pass a flag down to skip
  16.         the error message.
  17.         Also: expand("$ASDF") returns an empty string if $ASDF isn't set.
  18.         Previously it returned "$ASDF" when 'shell' is "sh".
  19.         Also: system() doesn't print an error when the command returns an
  20.         error code.
  21. Files:        many
  22.  
  23.  
  24. *** ../vim-5.4.44/src/edit.c    Wed Aug 11 22:31:27 1999
  25. --- src/edit.c    Sun Aug 22 14:16:28 1999
  26. ***************
  27. *** 1741,1747 ****
  28.       p_scs = FALSE;
  29.       set_reg_ic(pat);    /* set reg_ic according to p_ic, p_scs and pat */
  30.       prog = vim_regcomp(pat, (int)p_magic);
  31. -     expand_interactively = TRUE;
  32.       while (buf != NULL && prog != NULL && *dict != NUL
  33.                  && !got_int && !completion_interrupted)
  34.       {
  35. --- 1741,1746 ----
  36. ***************
  37. *** 1754,1760 ****
  38.       else
  39.       {
  40.           copy_option_part(&dict, buf, LSIZE, ",");
  41. !         if (expand_wildcards(1, &buf, &count, &files, EW_FILE) != OK)
  42.           count = 0;
  43.       }
  44.   
  45. --- 1753,1760 ----
  46.       else
  47.       {
  48.           copy_option_part(&dict, buf, LSIZE, ",");
  49. !         if (expand_wildcards(1, &buf, &count, &files,
  50. !                              EW_FILE|EW_SILENT) != OK)
  51.           count = 0;
  52.       }
  53.   
  54. ***************
  55. *** 1804,1810 ****
  56.       if (flags)
  57.           break;
  58.       }
  59. -     expand_interactively = FALSE;
  60.       p_scs = save_p_scs;
  61.       vim_free(prog);
  62.       vim_free(buf);
  63. --- 1804,1809 ----
  64. ***************
  65. *** 2263,2271 ****
  66.           break;
  67.   
  68.       case CTRL_X_FILES:
  69. -         expand_interactively = TRUE;
  70.           if (expand_wildcards(1, &complete_pat, &num_matches, &matches,
  71. !                         EW_FILE|EW_DIR|EW_ADDSLASH) == OK)
  72.           {
  73.           int    add_r = OK;
  74.           int    ldir = dir;
  75. --- 2262,2269 ----
  76.           break;
  77.   
  78.       case CTRL_X_FILES:
  79.           if (expand_wildcards(1, &complete_pat, &num_matches, &matches,
  80. !                   EW_FILE|EW_DIR|EW_ADDSLASH|EW_SILENT) == OK)
  81.           {
  82.           int    add_r = OK;
  83.           int    ldir = dir;
  84. ***************
  85. *** 2279,2285 ****
  86.               ldir = FORWARD;
  87.           FreeWild(num_matches, matches);
  88.           }
  89. -         expand_interactively = FALSE;
  90.           break;
  91.   
  92.       default:    /* normal ^P/^N and ^X^L */
  93. --- 2277,2282 ----
  94. ***************
  95. *** 2799,2805 ****
  96.           ;
  97.           tmp_ptr += ++temp;
  98.           temp = (int)complete_col - temp;
  99. !         complete_pat = addstar(tmp_ptr, temp);
  100.           if (complete_pat == NULL)
  101.           return FALSE;
  102.       }
  103. --- 2796,2802 ----
  104.           ;
  105.           tmp_ptr += ++temp;
  106.           temp = (int)complete_col - temp;
  107. !         complete_pat = addstar(tmp_ptr, temp, EXPAND_FILES);
  108.           if (complete_pat == NULL)
  109.           return FALSE;
  110.       }
  111. *** ../vim-5.4.44/src/eval.c    Fri Aug 20 11:21:12 1999
  112. --- src/eval.c    Sun Aug 22 13:58:09 1999
  113. ***************
  114. *** 2601,2607 ****
  115.       char_u    *s;
  116.       int        len;
  117.       char_u    *errormsg;
  118. !     int        flags = WILD_LIST_NOTFOUND|WILD_USE_NL;
  119.   
  120.       retvar->var_type = VAR_STRING;
  121.       s = get_var_string(&argvars[0]);
  122. --- 2601,2607 ----
  123.       char_u    *s;
  124.       int        len;
  125.       char_u    *errormsg;
  126. !     int        flags = WILD_SILENT|WILD_USE_NL;
  127.   
  128.       retvar->var_type = VAR_STRING;
  129.       s = get_var_string(&argvars[0]);
  130. ***************
  131. *** 2613,2620 ****
  132. --- 2613,2623 ----
  133.       }
  134.       else
  135.       {
  136. +     /* When the optional second argument is non-zero, don't remove matches
  137. +      * for 'suffixes' and 'wildignore' */
  138.       if (argvars[1].var_type != VAR_UNKNOWN && get_var_number(&argvars[1]))
  139.           flags |= WILD_KEEP_ALL;
  140. +     expand_context = EXPAND_FILES;
  141.       retvar->var_val.var_string = ExpandOne(s, NULL, flags, WILD_ALL);
  142.       }
  143.   }
  144. ***************
  145. *** 2787,2795 ****
  146.       VAR        argvars;
  147.       VAR        retvar;
  148.   {
  149.       retvar->var_type = VAR_STRING;
  150.       retvar->var_val.var_string = ExpandOne(get_var_string(&argvars[0]),
  151. !                          NULL, WILD_USE_NL, WILD_ALL);
  152.   }
  153.   
  154.   /*
  155. --- 2790,2799 ----
  156.       VAR        argvars;
  157.       VAR        retvar;
  158.   {
  159. +     expand_context = EXPAND_FILES;
  160.       retvar->var_type = VAR_STRING;
  161.       retvar->var_val.var_string = ExpandOne(get_var_string(&argvars[0]),
  162. !                      NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL);
  163.   }
  164.   
  165.   /*
  166. ***************
  167. *** 3805,3811 ****
  168.   {
  169.       char_u    *p;
  170.   
  171. !     p = get_cmd_output(get_var_string(&argvars[0]));
  172.   #ifdef USE_CR
  173.       /* translate <CR> into <NL> */
  174.       if (p != NULL)
  175. --- 3809,3815 ----
  176.   {
  177.       char_u    *p;
  178.   
  179. !     p = get_cmd_output(get_var_string(&argvars[0]), SHELL_SILENT);
  180.   #ifdef USE_CR
  181.       /* translate <CR> into <NL> */
  182.       if (p != NULL)
  183. *** ../vim-5.4.44/src/ex_docmd.c    Sat Aug 21 15:40:51 1999
  184. --- src/ex_docmd.c    Sun Aug 22 13:58:45 1999
  185. ***************
  186. *** 3394,3400 ****
  187.            * For other systems spaces are considered to be part
  188.            * of the file name.
  189.            * Only check here if there is no wildcard, otherwise
  190. !          * ExpandOne will check for errors. This allows
  191.            * ":e `ls ve*.c`" on Unix.
  192.            */
  193.           if (!has_wildcards)
  194. --- 3394,3400 ----
  195.            * For other systems spaces are considered to be part
  196.            * of the file name.
  197.            * Only check here if there is no wildcard, otherwise
  198. !          * ExpandOne() will check for errors. This allows
  199.            * ":e `ls ve*.c`" on Unix.
  200.            */
  201.           if (!has_wildcards)
  202. ***************
  203. *** 3451,3456 ****
  204. --- 3451,3457 ----
  205.           }
  206.           else /* n == 2 */
  207.           {
  208. +             expand_context = EXPAND_FILES;
  209.               if ((p = ExpandOne(eap->arg, NULL,
  210.                           WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
  211.                              WILD_EXPAND_FREE)) == NULL)
  212. *** ../vim-5.4.44/src/ex_getln.c    Fri Aug 20 11:21:13 1999
  213. --- src/ex_getln.c    Sun Aug 22 14:27:06 1999
  214. ***************
  215. *** 1904,1910 ****
  216.       /* Caller can use the character as a normal char instead */
  217.       return FAIL;
  218.       }
  219. -     expand_interactively = TRUE;
  220.   
  221.       MSG_PUTS("...");        /* show that we are busy */
  222.       out_flush();
  223. --- 1904,1909 ----
  224. ***************
  225. *** 1924,1935 ****
  226.       /*
  227.        * Translate string into pattern and expand it.
  228.        */
  229. !     if ((p1 = addstar(&ccline.cmdbuff[i], oldlen)) == NULL)
  230.           p2 = NULL;
  231.       else
  232.       {
  233.           p2 = ExpandOne(p1, vim_strnsave(&ccline.cmdbuff[i], oldlen),
  234. !               WILD_HOME_REPLACE | WILD_ADD_SLASH | options, type);
  235.           vim_free(p1);
  236.           /* longest match: make sure it is not shorter (happens with :help */
  237.           if (p2 != NULL && type == WILD_LONGEST)
  238. --- 1923,1935 ----
  239.       /*
  240.        * Translate string into pattern and expand it.
  241.        */
  242. !     if ((p1 = addstar(&ccline.cmdbuff[i], oldlen, expand_context)) == NULL)
  243.           p2 = NULL;
  244.       else
  245.       {
  246.           p2 = ExpandOne(p1, vim_strnsave(&ccline.cmdbuff[i], oldlen),
  247. !             WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE
  248. !                                   |options, type);
  249.           vim_free(p1);
  250.           /* longest match: make sure it is not shorter (happens with :help */
  251.           if (p2 != NULL && type == WILD_LONGEST)
  252. ***************
  253. *** 1970,1976 ****
  254.       vim_free(p2);
  255.   
  256.       redrawcmd();
  257. -     expand_interactively = FALSE;        /* reset for next call */
  258.   
  259.       /* When expanding a ":map" command and no matches are found, assume that
  260.        * the key is supposed to be inserted literally */
  261. --- 1970,1975 ----
  262. ***************
  263. *** 2005,2010 ****
  264. --- 2004,2013 ----
  265.    * options = WILD_NO_BEEP:        Don't beep for multiple matches
  266.    * options = WILD_ADD_SLASH:        add a slash after directory names
  267.    * options = WILD_KEEP_ALL:        don't remove 'wildignore' entries
  268. +  * options = WILD_SILENT:        don't print warning messages
  269. +  * options = WILD_ESCAPE:        put backslash before special chars
  270. +  *
  271. +  * The global variable expand_context must have been set!
  272.    */
  273.       char_u *
  274.   ExpandOne(str, orig, options, mode)
  275. ***************
  276. *** 2096,2108 ****
  277.            * are wildcards, the real problem is that there was no match,
  278.            * causing the pattern to be added, which has illegal characters.
  279.            */
  280. !         if (!expand_interactively && (options & WILD_LIST_NOTFOUND))
  281.           emsg2(e_nomatch2, str);
  282.   #endif
  283.       }
  284.       else if (cmd_numfiles == 0)
  285.       {
  286. !         if (!expand_interactively)
  287.           emsg2(e_nomatch2, str);
  288.       }
  289.       else
  290. --- 2099,2111 ----
  291.            * are wildcards, the real problem is that there was no match,
  292.            * causing the pattern to be added, which has illegal characters.
  293.            */
  294. !         if (!(options & WILD_SILENT) && (options & WILD_LIST_NOTFOUND))
  295.           emsg2(e_nomatch2, str);
  296.   #endif
  297.       }
  298.       else if (cmd_numfiles == 0)
  299.       {
  300. !         if (!(options & WILD_SILENT))
  301.           emsg2(e_nomatch2, str);
  302.       }
  303.       else
  304. ***************
  305. *** 2117,2123 ****
  306.            * Insert backslashes into a file name before a space, \, %, # and
  307.            * wildmatch characters, except '~'.
  308.            */
  309. !         if (expand_interactively
  310.               && (expand_context == EXPAND_FILES
  311.               || expand_context == EXPAND_BUFFERS
  312.               || expand_context == EXPAND_DIRECTORIES))
  313. --- 2120,2126 ----
  314.            * Insert backslashes into a file name before a space, \, %, # and
  315.            * wildmatch characters, except '~'.
  316.            */
  317. !         if ((options & WILD_ESCAPE)
  318.               && (expand_context == EXPAND_FILES
  319.               || expand_context == EXPAND_BUFFERS
  320.               || expand_context == EXPAND_DIRECTORIES))
  321. ***************
  322. *** 2172,2179 ****
  323.               non_suf_match = cmd_numfiles;
  324.           else
  325.               non_suf_match = 1;
  326. !         if ((!expand_interactively
  327. !                 || expand_context == EXPAND_FILES
  328.                   || expand_context == EXPAND_DIRECTORIES)
  329.               && cmd_numfiles > 1)    /* more than one match; check suffix */
  330.           {
  331. --- 2175,2181 ----
  332.               non_suf_match = cmd_numfiles;
  333.           else
  334.               non_suf_match = 1;
  335. !         if ((expand_context == EXPAND_FILES
  336.                   || expand_context == EXPAND_DIRECTORIES)
  337.               && cmd_numfiles > 1)    /* more than one match; check suffix */
  338.           {
  339. ***************
  340. *** 2193,2199 ****
  341.                * together. Don't really want to wait for this message
  342.                * (and possibly have to hit return to continue!).
  343.                */
  344. !             if (!expand_interactively)
  345.               emsg(e_toomany);
  346.               else if (!(options & WILD_NO_BEEP))
  347.               beep_flush();
  348. --- 2195,2201 ----
  349.                * together. Don't really want to wait for this message
  350.                * (and possibly have to hit return to continue!).
  351.                */
  352. !             if (!(options & WILD_SILENT))
  353.               emsg(e_toomany);
  354.               else if (!(options & WILD_NO_BEEP))
  355.               beep_flush();
  356. ***************
  357. *** 2328,2347 ****
  358.           /* Caller can use the character as a normal char instead */
  359.           return FAIL;
  360.       }
  361. -     expand_interactively = TRUE;
  362.   
  363.       /* add star to file name, or convert to regexp if not exp. files. */
  364.       file_str = addstar(expand_pattern,
  365. !               (int)(ccline.cmdbuff + ccline.cmdpos - expand_pattern));
  366.       if (file_str == NULL)
  367. -     {
  368. -         expand_interactively = FALSE;
  369.           return OK;
  370. -     }
  371.   
  372.       /* find all files that match the description */
  373.       if (ExpandFromContext(file_str, &num_files, &files_found, FALSE,
  374. !                               WILD_ADD_SLASH) == FAIL)
  375.       {
  376.           num_files = 0;
  377.           files_found = (char_u **)"";
  378. --- 2330,2346 ----
  379.           /* Caller can use the character as a normal char instead */
  380.           return FAIL;
  381.       }
  382.   
  383.       /* add star to file name, or convert to regexp if not exp. files. */
  384.       file_str = addstar(expand_pattern,
  385. !               (int)(ccline.cmdbuff + ccline.cmdpos - expand_pattern),
  386. !                                   expand_context);
  387.       if (file_str == NULL)
  388.           return OK;
  389.   
  390.       /* find all files that match the description */
  391.       if (ExpandFromContext(file_str, &num_files, &files_found, FALSE,
  392. !                       WILD_ADD_SLASH|WILD_SILENT) == FAIL)
  393.       {
  394.           num_files = 0;
  395.           files_found = (char_u **)"";
  396. ***************
  397. *** 2471,2500 ****
  398.       FreeWild(num_files, files_found);
  399.       }
  400.   
  401. -     expand_interactively = FALSE;
  402.       return OK;
  403.   }
  404.   
  405.   /*
  406.    * Prepare a string for expansion.
  407. !  * When expanding file names:  The string will be used with expand_wildcards().
  408.    * Copy the file name into allocated memory and add a '*' at the end.
  409. !  * When expanding other names:    The string will be used with regcomp().  Copy
  410.    * the name into allocated memory and add ".*" at the end.
  411.    */
  412.       char_u *
  413. ! addstar(fname, len)
  414.       char_u    *fname;
  415.       int        len;
  416.   {
  417.       char_u    *retval;
  418.       int        i, j;
  419.       int        new_len;
  420.       char_u    *tail;
  421.   
  422. !     if (expand_interactively
  423. !         && expand_context != EXPAND_FILES
  424. !         && expand_context != EXPAND_DIRECTORIES)
  425.       {
  426.       /*
  427.        * Matching will be done internally (on something other than files).
  428. --- 2470,2497 ----
  429.       FreeWild(num_files, files_found);
  430.       }
  431.   
  432.       return OK;
  433.   }
  434.   
  435.   /*
  436.    * Prepare a string for expansion.
  437. !  * When expanding file names: The string will be used with expand_wildcards().
  438.    * Copy the file name into allocated memory and add a '*' at the end.
  439. !  * When expanding other names: The string will be used with regcomp().  Copy
  440.    * the name into allocated memory and add ".*" at the end.
  441.    */
  442.       char_u *
  443. ! addstar(fname, len, context)
  444.       char_u    *fname;
  445.       int        len;
  446. +     int        context;    /* EXPAND_FILES etc. */
  447.   {
  448.       char_u    *retval;
  449.       int        i, j;
  450.       int        new_len;
  451.       char_u    *tail;
  452.   
  453. !     if (context != EXPAND_FILES && context != EXPAND_DIRECTORIES)
  454.       {
  455.       /*
  456.        * Matching will be done internally (on something other than files).
  457. ***************
  458. *** 2503,2509 ****
  459.        */
  460.   
  461.       /* for help tags the translation is done in find_help_tags() */
  462. !     if (expand_context == EXPAND_HELP)
  463.           retval = vim_strnsave(fname, len);
  464.       else
  465.       {
  466. --- 2500,2506 ----
  467.        */
  468.   
  469.       /* for help tags the translation is done in find_help_tags() */
  470. !     if (context == EXPAND_HELP)
  471.           retval = vim_strnsave(fname, len);
  472.       else
  473.       {
  474. ***************
  475. *** 2515,2521 ****
  476.                          '~' needs to be replaced by "\~" */
  477.   
  478.           /* Buffer names are like file names.  "." should be literal */
  479. !         if (expand_context == EXPAND_BUFFERS && fname[i] == '.')
  480.               new_len++;        /* "." becomes "\." */
  481.           }
  482.           retval = alloc(new_len);
  483. --- 2512,2518 ----
  484.                          '~' needs to be replaced by "\~" */
  485.   
  486.           /* Buffer names are like file names.  "." should be literal */
  487. !         if (context == EXPAND_BUFFERS && fname[i] == '.')
  488.               new_len++;        /* "." becomes "\." */
  489.           }
  490.           retval = alloc(new_len);
  491. ***************
  492. *** 2536,2542 ****
  493.                       break;
  494.               case '?':   retval[j] = '.';
  495.                       continue;
  496. !             case '.':   if (expand_context == EXPAND_BUFFERS)
  497.                       retval[j++] = '\\';
  498.                       break;
  499.               }
  500. --- 2533,2539 ----
  501.                       break;
  502.               case '?':   retval[j] = '.';
  503.                       continue;
  504. !             case '.':   if (context == EXPAND_BUFFERS)
  505.                       retval[j++] = '\\';
  506.                       break;
  507.               }
  508. ***************
  509. *** 2679,2686 ****
  510.       flags |= EW_ADDSLASH;
  511.       if (options & WILD_KEEP_ALL)
  512.       flags |= EW_KEEPALL;
  513.   
  514. !     if (!expand_interactively || expand_context == EXPAND_FILES)
  515.       {
  516.       /*
  517.        * Expand file names.
  518. --- 2676,2685 ----
  519.       flags |= EW_ADDSLASH;
  520.       if (options & WILD_KEEP_ALL)
  521.       flags |= EW_KEEPALL;
  522. +     if (options & WILD_SILENT)
  523. +     flags |= EW_SILENT;
  524.   
  525. !     if (expand_context == EXPAND_FILES)
  526.       {
  527.       /*
  528.        * Expand file names.
  529. *** ../vim-5.4.44/src/memline.c    Tue Aug 10 16:09:34 1999
  530. --- src/memline.c    Sun Aug 22 13:35:25 1999
  531. ***************
  532. *** 1169,1175 ****
  533.       msg((char_u *)"Swap files found:");
  534.       msg_putchar('\n');
  535.       }
  536. -     expand_interactively = TRUE;
  537.   
  538.       /*
  539.        * Do the loop for every directory in 'directory'.
  540. --- 1169,1174 ----
  541. ***************
  542. *** 1273,1279 ****
  543.       if (num_names == 0)
  544.           num_files = 0;
  545.       else if (expand_wildcards(num_names, names, &num_files, &files,
  546. !                                  EW_FILE) == FAIL)
  547.           num_files = 0;
  548.   
  549.       /*
  550. --- 1272,1278 ----
  551.       if (num_names == 0)
  552.           num_files = 0;
  553.       else if (expand_wildcards(num_names, names, &num_files, &files,
  554. !                            EW_FILE|EW_SILENT) == FAIL)
  555.           num_files = 0;
  556.   
  557.       /*
  558. ***************
  559. *** 1372,1378 ****
  560.       FreeWild(num_files, files);
  561.       }
  562.       vim_free(dir_name);
  563. -     expand_interactively = FALSE;
  564.       return file_count;
  565.   }
  566.   
  567. --- 1371,1376 ----
  568. ***************
  569. *** 3627,3634 ****
  570.   # endif
  571.                       (char_u *)"&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Delete it", 1))
  572.               {
  573. -                 /* there are some messy ways to avoid the hit-return
  574. -                  * message here... */
  575.                   case 1:
  576.                   buf->b_p_ro = TRUE;
  577.                   break;
  578. --- 3625,3630 ----
  579. *** ../vim-5.4.44/src/misc1.c    Wed Aug 18 10:54:13 1999
  580. --- src/misc1.c    Sun Aug 22 14:55:04 1999
  581. ***************
  582. *** 2343,2349 ****
  583.           if (var == NULL)
  584.   # endif
  585.           {
  586. !             var = ExpandOne(dst, NULL, WILD_ADD_SLASH,
  587.                                   WILD_EXPAND_FREE);
  588.               mustfree = TRUE;
  589.           }
  590. --- 2344,2351 ----
  591.           if (var == NULL)
  592.   # endif
  593.           {
  594. !             expand_context = EXPAND_FILES;
  595. !             var = ExpandOne(dst, NULL, WILD_ADD_SLASH|WILD_SILENT,
  596.                                   WILD_EXPAND_FREE);
  597.               mustfree = TRUE;
  598.           }
  599. ***************
  600. *** 5210,5225 ****
  601.    */
  602.       int
  603.   expand_wildcards(num_pat, pat, num_file, file, flags)
  604. !     int        num_pat;        /* number of input patterns */
  605. !     char_u  **pat;        /* array of input patterns */
  606. !     int        *num_file;        /* resulting number of files */
  607. !     char_u  ***file;        /* array of resulting files */
  608. !     int        flags;        /* EW_DIR, etc. */
  609.   {
  610.       int        retval;
  611.       int        i, j;
  612.       char_u    *p;
  613. !     int        non_suf_match;        /* number without matching suffix */
  614.   #ifdef WILDIGNORE
  615.       char_u    buf[100];
  616.       char_u    *ffname;
  617. --- 5212,5227 ----
  618.    */
  619.       int
  620.   expand_wildcards(num_pat, pat, num_file, file, flags)
  621. !     int           num_pat;    /* number of input patterns */
  622. !     char_u     **pat;        /* array of input patterns */
  623. !     int          *num_file;    /* resulting number of files */
  624. !     char_u    ***file;    /* array of resulting files */
  625. !     int           flags;    /* EW_DIR, etc. */
  626.   {
  627.       int        retval;
  628.       int        i, j;
  629.       char_u    *p;
  630. !     int        non_suf_match;    /* number without matching suffix */
  631.   #ifdef WILDIGNORE
  632.       char_u    buf[100];
  633.       char_u    *ffname;
  634. ***************
  635. *** 5329,5334 ****
  636. --- 5331,5341 ----
  637.   }
  638.   
  639.   #ifndef NO_EXPANDPATH
  640. + # ifdef VIM_BACKTICK
  641. + static int expand_backtick __ARGS((struct growarray *gap, char_u *pat, int flags));
  642. + # endif
  643.   /*
  644.    * Generic wildcard expansion code.
  645.    *
  646. ***************
  647. *** 5346,5352 ****
  648.       char_u    **pat;        /* array of input patterns */
  649.       int        *num_file;    /* resulting number of files */
  650.       char_u    ***file;    /* array of resulting files */
  651. !     int        flags;        /* EW_DIR, EW_FILE, EW_NOTFOUND, EW_ADDSLASH */
  652.   {
  653.       int            i;
  654.       struct growarray    ga;
  655. --- 5353,5359 ----
  656.       char_u    **pat;        /* array of input patterns */
  657.       int        *num_file;    /* resulting number of files */
  658.       char_u    ***file;    /* array of resulting files */
  659. !     int        flags;        /* EW_* flags */
  660.   {
  661.       int            i;
  662.       struct growarray    ga;
  663. ***************
  664. *** 5456,5472 ****
  665.       return (ga.ga_data != NULL) ? OK : FAIL;
  666.   }
  667.   
  668. ! #if defined(VIM_BACKTICK) || defined(PROTO)
  669.   
  670.   /*
  671.    * Expand an item in `backticks` by executing it as a command.
  672.    * Currently only works when pat[] starts and ends with a `.
  673.    */
  674. !     int
  675.   expand_backtick(gap, pat, flags)
  676.       struct growarray    *gap;
  677.       char_u        *pat;
  678. !     int            flags;
  679.   {
  680.       char_u    *p;
  681.       char_u    *cmd;
  682. --- 5463,5479 ----
  683.       return (ga.ga_data != NULL) ? OK : FAIL;
  684.   }
  685.   
  686. ! # ifdef VIM_BACKTICK
  687.   
  688.   /*
  689.    * Expand an item in `backticks` by executing it as a command.
  690.    * Currently only works when pat[] starts and ends with a `.
  691.    */
  692. !     static int
  693.   expand_backtick(gap, pat, flags)
  694.       struct growarray    *gap;
  695.       char_u        *pat;
  696. !     int            flags;    /* EW_* flags */
  697.   {
  698.       char_u    *p;
  699.       char_u    *cmd;
  700. ***************
  701. *** 5479,5485 ****
  702.       if (cmd == NULL)
  703.       return 0;
  704.   
  705. !     buffer = get_cmd_output(cmd);
  706.       vim_free(cmd);
  707.       if (buffer == NULL)
  708.       return 0;
  709. --- 5486,5492 ----
  710.       if (cmd == NULL)
  711.       return 0;
  712.   
  713. !     buffer = get_cmd_output(cmd, (flags & EW_SILENT) ? SHELL_SILENT : 0);
  714.       vim_free(cmd);
  715.       if (buffer == NULL)
  716.       return 0;
  717. ***************
  718. *** 5508,5514 ****
  719.       vim_free(buffer);
  720.       return cnt;
  721.   }
  722. ! #endif
  723.   
  724.   /*
  725.    * Add a file to a file list.  Accepted flags:
  726. --- 5515,5521 ----
  727.       vim_free(buffer);
  728.       return cnt;
  729.   }
  730. ! # endif /* VIM_BACKTICK */
  731.   
  732.   /*
  733.    * Add a file to a file list.  Accepted flags:
  734. ***************
  735. *** 5578,5585 ****
  736.    * Returns an allocated string, or NULL for error.
  737.    */
  738.       char_u *
  739. ! get_cmd_output(cmd)
  740.       char_u    *cmd;
  741.   {
  742.       char_u    *tempname;
  743.       char_u    *command;
  744. --- 5585,5593 ----
  745.    * Returns an allocated string, or NULL for error.
  746.    */
  747.       char_u *
  748. ! get_cmd_output(cmd, flags)
  749.       char_u    *cmd;
  750. +     int        flags;        /* can be SHELL_SILENT */
  751.   {
  752.       char_u    *tempname;
  753.       char_u    *command;
  754. ***************
  755. *** 5603,5609 ****
  756.       /*
  757.        * Call the shell to execute the command (errors are ignored).
  758.        */
  759. !     call_shell(command, SHELL_DOOUT | SHELL_EXPAND);
  760.       vim_free(command);
  761.   
  762.       /*
  763. --- 5611,5617 ----
  764.       /*
  765.        * Call the shell to execute the command (errors are ignored).
  766.        */
  767. !     call_shell(command, SHELL_DOOUT | SHELL_EXPAND | flags);
  768.       vim_free(command);
  769.   
  770.       /*
  771. *** ../vim-5.4.44/src/os_unix.c    Tue Aug 17 10:24:26 1999
  772. --- src/os_unix.c    Sun Aug 22 14:57:24 1999
  773. ***************
  774. *** 2013,2022 ****
  775.   
  776.       int
  777.   mch_call_shell(cmd, options)
  778. !     char_u  *cmd;
  779. !     int        options;    /* SHELL_FILTER if called by do_filter() */
  780. !             /* SHELL_COOKED if term needs cooked mode */
  781. !             /* SHELL_EXPAND if called by mch_expand_wildcards() */
  782.   {
  783.   #ifdef USE_SYSTEM    /* use system() to start the shell: simple but slow */
  784.   
  785. --- 2013,2020 ----
  786.   
  787.       int
  788.   mch_call_shell(cmd, options)
  789. !     char_u    *cmd;
  790. !     int        options;    /* SHELL_*, see vim.h */
  791.   {
  792.   #ifdef USE_SYSTEM    /* use system() to start the shell: simple but slow */
  793.   
  794. ***************
  795. *** 2087,2093 ****
  796.       MSG_PUTS("\nCannot execute shell sh\n");
  797.       }
  798.   #endif    /* __EMX__ */
  799. !     else if (x && !expand_interactively)
  800.       {
  801.       msg_putchar('\n');
  802.       msg_outnum((long)x);
  803. --- 2085,2091 ----
  804.       MSG_PUTS("\nCannot execute shell sh\n");
  805.       }
  806.   #endif    /* __EMX__ */
  807. !     else if (x && !(options & SHELL_SILENT))
  808.       {
  809.       msg_putchar('\n');
  810.       msg_outnum((long)x);
  811. ***************
  812. *** 2632,2638 ****
  813.               msg_outtrans(p_sh);
  814.               msg_putchar('\n');
  815.               }
  816. !             else if (!expand_interactively)
  817.               {
  818.               msg_putchar('\n');
  819.               msg_outnum((long)retval);
  820. --- 2630,2636 ----
  821.               msg_outtrans(p_sh);
  822.               msg_putchar('\n');
  823.               }
  824. !             else if (!(options & SHELL_SILENT))
  825.               {
  826.               msg_putchar('\n');
  827.               msg_outnum((long)retval);
  828. ***************
  829. *** 2967,2973 ****
  830.   mch_expandpath(gap, path, flags)
  831.       struct growarray    *gap;
  832.       char_u        *path;
  833. !     int            flags;
  834.   {
  835.       return unix_expandpath(gap, path, 0, flags);
  836.   }
  837. --- 2965,2971 ----
  838.   mch_expandpath(gap, path, flags)
  839.       struct growarray    *gap;
  840.       char_u        *path;
  841. !     int            flags;        /* EW_* flags */
  842.   {
  843.       return unix_expandpath(gap, path, 0, flags);
  844.   }
  845. ***************
  846. *** 2977,2983 ****
  847.       struct growarray    *gap;
  848.       char_u        *path;
  849.       int            wildoff;
  850. !     int            flags;
  851.   {
  852.       char_u        *buf;
  853.       char_u        *path_end;
  854. --- 2975,2981 ----
  855.       struct growarray    *gap;
  856.       char_u        *path;
  857.       int            wildoff;
  858. !     int            flags;        /* EW_* flags */
  859.   {
  860.       char_u        *buf;
  861.       char_u        *path_end;
  862. ***************
  863. *** 3129,3150 ****
  864.   /* ARGSUSED */
  865.       int
  866.   mch_expand_wildcards(num_pat, pat, num_file, file, flags)
  867. !     int            num_pat;
  868. !     char_u      **pat;
  869. !     int           *num_file;
  870. !     char_u     ***file;
  871. !     int            flags;
  872.   {
  873. !     int        i;
  874. !     size_t  len;
  875. !     char_u  *p;
  876. !     int        dir;
  877.   #ifdef __EMX__
  878.   # define EXPL_ALLOC_INC    16
  879. !     char_u  **expl_files;
  880. !     size_t  files_alloced, files_free;
  881. !     char_u  *buf;
  882. !     int        has_wildcard;
  883.   
  884.       *num_file = 0;    /* default: no files found */
  885.       files_alloced = EXPL_ALLOC_INC; /* how much space is allocated */
  886. --- 3127,3148 ----
  887.   /* ARGSUSED */
  888.       int
  889.   mch_expand_wildcards(num_pat, pat, num_file, file, flags)
  890. !     int           num_pat;
  891. !     char_u     **pat;
  892. !     int          *num_file;
  893. !     char_u    ***file;
  894. !     int           flags;    /* EW_* flags */
  895.   {
  896. !     int        i;
  897. !     size_t    len;
  898. !     char_u    *p;
  899. !     int        dir;
  900.   #ifdef __EMX__
  901.   # define EXPL_ALLOC_INC    16
  902. !     char_u    **expl_files;
  903. !     size_t    files_alloced, files_free;
  904. !     char_u    *buf;
  905. !     int        has_wildcard;
  906.   
  907.       *num_file = 0;    /* default: no files found */
  908.       files_alloced = EXPL_ALLOC_INC; /* how much space is allocated */
  909. ***************
  910. *** 3348,3354 ****
  911.           STRCAT(command, pat[i]);
  912.   #endif
  913.       }
  914. !     if (expand_interactively)
  915.       show_shell_mess = FALSE;
  916.       if (ampersent)
  917.       STRCAT(command, "&");            /* put the '&' back after the
  918. --- 3346,3352 ----
  919.           STRCAT(command, pat[i]);
  920.   #endif
  921.       }
  922. !     if (flags & EW_SILENT)
  923.       show_shell_mess = FALSE;
  924.       if (ampersent)
  925.       STRCAT(command, "&");            /* put the '&' back after the
  926. ***************
  927. *** 3370,3376 ****
  928.       else if (shell_style == STYLE_GLOB && !have_dollars(num_pat, pat))
  929.       extra_shell_arg = (char_u *)"-f";    /* Use csh fast option */
  930.   
  931. !     i = call_shell(command, SHELL_EXPAND);    /* execute it */
  932.   
  933.       /* When running in the background, give it some time to create the temp
  934.        * file, but don't wait for it to finish. */
  935. --- 3368,3378 ----
  936.       else if (shell_style == STYLE_GLOB && !have_dollars(num_pat, pat))
  937.       extra_shell_arg = (char_u *)"-f";    /* Use csh fast option */
  938.   
  939. !     /*
  940. !      * execute the shell command
  941. !      */
  942. !     i = call_shell(command,
  943. !              SHELL_EXPAND | ((flags & EW_SILENT) ? SHELL_SILENT : 0));
  944.   
  945.       /* When running in the background, give it some time to create the temp
  946.        * file, but don't wait for it to finish. */
  947. ***************
  948. *** 3391,3397 ****
  949.        * from the shell, so screen may still get messed up -- webb.
  950.        */
  951.   #ifndef USE_SYSTEM
  952. !     if (!expand_interactively)
  953.   #endif
  954.       {
  955.           must_redraw = CLEAR;    /* probably messed up screen */
  956. --- 3393,3399 ----
  957.        * from the shell, so screen may still get messed up -- webb.
  958.        */
  959.   #ifndef USE_SYSTEM
  960. !     if (!(flags & EW_SILENT))
  961.   #endif
  962.       {
  963.           must_redraw = CLEAR;    /* probably messed up screen */
  964. ***************
  965. *** 3550,3556 ****
  966.       for (j = 0, i = 0; i < *num_file; ++i)
  967.       {
  968.       /* Require the files to exist.    Helps when using /bin/sh */
  969. !     if (expand_interactively && mch_getperm((*file)[i]) < 0)
  970.           continue;
  971.   
  972.       /* check if this entry should be included */
  973. --- 3552,3558 ----
  974.       for (j = 0, i = 0; i < *num_file; ++i)
  975.       {
  976.       /* Require the files to exist.    Helps when using /bin/sh */
  977. !     if (!(flags & EW_NOTFOUND) && mch_getperm((*file)[i]) < 0)
  978.           continue;
  979.   
  980.       /* check if this entry should be included */
  981. *** ../vim-5.4.44/src/proto/ex_getln.pro    Tue Aug 10 16:10:35 1999
  982. --- src/proto/ex_getln.pro    Sun Aug 22 13:52:55 1999
  983. ***************
  984. *** 11,17 ****
  985.   void gotocmdline __ARGS((int clr));
  986.   char_u *ExpandOne __ARGS((char_u *str, char_u *orig, int options, int mode));
  987.   void tilde_replace __ARGS((char_u *orig_pat, int num_files, char_u **files));
  988. ! char_u *addstar __ARGS((char_u *fname, int len));
  989.   int ExpandGeneric __ARGS((vim_regexp *prog, int *num_file, char_u ***file, char_u *((*func)(int))));
  990.   int get_histtype __ARGS((char_u *name));
  991.   void add_to_history __ARGS((int histype, char_u *new_entry, int in_map));
  992. --- 11,17 ----
  993.   void gotocmdline __ARGS((int clr));
  994.   char_u *ExpandOne __ARGS((char_u *str, char_u *orig, int options, int mode));
  995.   void tilde_replace __ARGS((char_u *orig_pat, int num_files, char_u **files));
  996. ! char_u *addstar __ARGS((char_u *fname, int len, int context));
  997.   int ExpandGeneric __ARGS((vim_regexp *prog, int *num_file, char_u ***file, char_u *((*func)(int))));
  998.   int get_histtype __ARGS((char_u *name));
  999.   void add_to_history __ARGS((int histype, char_u *new_entry, int in_map));
  1000. *** ../vim-5.4.44/src/proto/misc1.pro    Sun Jul 25 13:08:32 1999
  1001. --- src/proto/misc1.pro    Sat Aug 21 20:49:59 1999
  1002. ***************
  1003. *** 59,66 ****
  1004.   void line_breakcheck __ARGS((void));
  1005.   int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
  1006.   int match_suffix __ARGS((char_u *fname));
  1007. - int expand_backtick __ARGS((struct growarray *gap, char_u *pat, int flags));
  1008.   void addfile __ARGS((struct growarray *gap, char_u *f, int flags));
  1009. ! char_u *get_cmd_output __ARGS((char_u *cmd));
  1010.   void FreeWild __ARGS((int num, char_u **file));
  1011.   int goto_im __ARGS((void));
  1012. --- 59,65 ----
  1013.   void line_breakcheck __ARGS((void));
  1014.   int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
  1015.   int match_suffix __ARGS((char_u *fname));
  1016.   void addfile __ARGS((struct growarray *gap, char_u *f, int flags));
  1017. ! char_u *get_cmd_output __ARGS((char_u *cmd, int flags));
  1018.   void FreeWild __ARGS((int num, char_u **file));
  1019.   int goto_im __ARGS((void));
  1020. *** ../vim-5.4.44/src/tag.c    Thu Jul 15 20:34:12 1999
  1021. --- src/tag.c    Sun Aug 22 14:02:19 1999
  1022. ***************
  1023. *** 2262,2269 ****
  1024.       /*
  1025.        * expand file name (for environment variables)
  1026.        */
  1027. !     expanded_fname = ExpandOne((char_u *)fname, NULL, WILD_LIST_NOTFOUND,
  1028. !                                 WILD_EXPAND_FREE);
  1029.       if (expanded_fname != NULL)
  1030.       fname = expanded_fname;
  1031.   
  1032. --- 2262,2270 ----
  1033.       /*
  1034.        * expand file name (for environment variables)
  1035.        */
  1036. !     expand_context = EXPAND_FILES;
  1037. !     expanded_fname = ExpandOne((char_u *)fname, NULL,
  1038. !                 WILD_LIST_NOTFOUND|WILD_SILENT, WILD_EXPAND_FREE);
  1039.       if (expanded_fname != NULL)
  1040.       fname = expanded_fname;
  1041.   
  1042. *** ../vim-5.4.44/src/vim.h    Mon May 31 22:15:00 1999
  1043. --- src/vim.h    Sun Aug 22 14:34:29 1999
  1044. ***************
  1045. *** 339,348 ****
  1046.   
  1047.   #define WILD_LIST_NOTFOUND    1
  1048.   #define WILD_HOME_REPLACE    2
  1049. ! #define WILD_USE_NL        4    /* separate names with '\n' */
  1050. ! #define WILD_NO_BEEP        8    /* don't beep for multiple matches */
  1051. ! #define WILD_ADD_SLASH        16    /* add slash after directory name */
  1052. ! #define WILD_KEEP_ALL        32    /* keep all matches */
  1053.   
  1054.   /* Flags for expand_wildcards() */
  1055.   #define EW_DIR        1    /* include directory names */
  1056. --- 339,350 ----
  1057.   
  1058.   #define WILD_LIST_NOTFOUND    1
  1059.   #define WILD_HOME_REPLACE    2
  1060. ! #define WILD_USE_NL        4
  1061. ! #define WILD_NO_BEEP        8
  1062. ! #define WILD_ADD_SLASH        16
  1063. ! #define WILD_KEEP_ALL        32
  1064. ! #define WILD_SILENT        64
  1065. ! #define WILD_ESCAPE        128
  1066.   
  1067.   /* Flags for expand_wildcards() */
  1068.   #define EW_DIR        1    /* include directory names */
  1069. ***************
  1070. *** 350,355 ****
  1071. --- 352,361 ----
  1072.   #define EW_NOTFOUND    4    /* include not found names */
  1073.   #define EW_ADDSLASH    8    /* append slash to directory name */
  1074.   #define EW_KEEPALL    16    /* keep all matches */
  1075. + #define EW_SILENT    32    /* don't print "1 returned" from shell */
  1076. + /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
  1077. +  * is used when executing commands and EW_SILENT for interactive expanding. */
  1078.   #ifdef NO_EXPANDPATH
  1079.   # define gen_expand_wildcards mch_expand_wildcards
  1080.   #endif
  1081. ***************
  1082. *** 403,408 ****
  1083. --- 409,415 ----
  1084.   #define SHELL_EXPAND    2    /* expanding wildcards */
  1085.   #define SHELL_COOKED    4    /* set term to cooked mode */
  1086.   #define SHELL_DOOUT    8    /* redirecting output */
  1087. + #define SHELL_SILENT    16    /* don't print error returned by command */
  1088.   
  1089.   /* Values for readfile() flags */
  1090.   #define READ_NEW    0x01    /* read a file into a new buffer */
  1091. *** ../vim-5.4.44/src/window.c    Tue Jul 13 10:24:22 1999
  1092. --- src/window.c    Sun Aug 22 13:35:31 1999
  1093. ***************
  1094. *** 2143,2152 ****
  1095.       file_name[len] = NUL;
  1096.       }
  1097.   
  1098. -     ++expand_interactively;
  1099.       expand_wildcards(1, &file_name, &nFiles, &ppFiles,
  1100. !                           EW_FILE|EW_DIR|EW_ADDSLASH);
  1101. !     --expand_interactively;
  1102.   
  1103.       if (!*rest_of_wildcards)
  1104.       {
  1105. --- 2143,2150 ----
  1106.       file_name[len] = NUL;
  1107.       }
  1108.   
  1109.       expand_wildcards(1, &file_name, &nFiles, &ppFiles,
  1110. !                     EW_FILE|EW_DIR|EW_ADDSLASH|EW_SILENT);
  1111.   
  1112.       if (!*rest_of_wildcards)
  1113.       {
  1114. *** ../vim-5.4.44/runtime/doc/eval.txt    Wed Aug 18 13:05:54 1999
  1115. --- runtime/doc/eval.txt    Sun Aug 22 13:20:42 1999
  1116. ***************
  1117. *** 1,4 ****
  1118. ! *eval.txt*      For Vim version 5.4.  Last change: 1999 Jul 09
  1119.   
  1120.   
  1121.             VIM REFERENCE MANUAL    by Bram Moolenaar
  1122. --- 1,4 ----
  1123. ! *eval.txt*      For Vim version 5.4.  Last change: 1999 Aug 22
  1124.   
  1125.   
  1126.             VIM REFERENCE MANUAL    by Bram Moolenaar
  1127. ***************
  1128. *** 334,339 ****
  1129. --- 334,350 ----
  1130.   
  1131.   The String value of any environment variable.  When it is not defined, the
  1132.   result is an empty string.
  1133. +                             *expr-env-expand*
  1134. + Note that there is a difference between using $VAR directly and using
  1135. + expand("$VAR").  Using it directly will only expand environment variables that
  1136. + are known inside the current Vim session.  Using expand() will first try using
  1137. + the environment variables known inside the current Vim session.  If that
  1138. + fails, a shell will be used to expand the variable.  This can be slow, but it
  1139. + does expand all variables that the shell knows about.  Example:
  1140. + >   echo $version
  1141. + >   echo expand("$version")
  1142. + The first one probably doesn't echo anything, the second echoes the $version
  1143. + variable (if you shell supports it).
  1144.   
  1145.   
  1146.   internal variable                    *expr-variable*
  1147. ***************
  1148. *** 721,727 ****
  1149.           caused problems when a file name contains a space]
  1150.   
  1151.           If the expansion fails, the result is an empty string.  A name
  1152. !         for a non-existing file is included anyway.
  1153.   
  1154.           When {expr} starts with '%', '#' or '<', the expansion is done
  1155.           like for the |cmdline-special| variables with their associated
  1156. --- 732,738 ----
  1157.           caused problems when a file name contains a space]
  1158.   
  1159.           If the expansion fails, the result is an empty string.  A name
  1160. !         for a non-existing file is not included.
  1161.   
  1162.           When {expr} starts with '%', '#' or '<', the expansion is done
  1163.           like for the |cmdline-special| variables with their associated
  1164. ***************
  1165. *** 750,755 ****
  1166. --- 761,771 ----
  1167.   >            :let doesntwork = expand("%:h.bak")
  1168.           Use this:
  1169.   >            :let doeswork = expand("%:h") . ".bak"
  1170. +         Also note that expanding "<cfile>" and others only returns the
  1171. +         referenced file name without further expansion.  If "<cfile>"
  1172. +         is "~/.cshrc", you need to do another expand() to have the
  1173. +         "~/" expanded into the path of the home directory:
  1174. + >            :echo expand(expand("<cfile>"))
  1175.   
  1176.           There cannot be white space between the variables and the
  1177.           following modifier.  The |fnamemodify()| function can be used
  1178. ***************
  1179. *** 763,769 ****
  1180.           When {expr} does not start with '%', '#' or '<', it is
  1181.           expanded like a file name is expanded on the command line.
  1182.           'suffixes' and 'wildignore' are used, unless the optional
  1183. !         second argument is given and it is non-zero.
  1184.   
  1185.           See |glob()| for finding existing files.  See |system()| for
  1186.           getting the raw output of an external command.
  1187. --- 779,789 ----
  1188.           When {expr} does not start with '%', '#' or '<', it is
  1189.           expanded like a file name is expanded on the command line.
  1190.           'suffixes' and 'wildignore' are used, unless the optional
  1191. !         {flag} argument is given and it is non-zero.
  1192. !         Expand() can also be used to expand variables and environment
  1193. !         variables that are only known in a shell.  But this can be
  1194. !         slow, because a shell must be started.  See |expr-env-expand|.
  1195.   
  1196.           See |glob()| for finding existing files.  See |system()| for
  1197.           getting the raw output of an external command.
  1198. *** ../vim-5.4.44/src/version.h    Sun Aug 22 14:14:53 1999
  1199. --- src/version.h    Sun Aug 22 16:52:21 1999
  1200. ***************
  1201. *** 19,26 ****
  1202.   #define VIM_VERSION_MINOR_STR        "4"
  1203.   #define VIM_VERSION_BUILD         57
  1204.   #define VIM_VERSION_BUILD_STR        "57"
  1205. ! #define VIM_VERSION_PATCHLEVEL         44
  1206. ! #define VIM_VERSION_PATCHLEVEL_STR    "44"
  1207.   
  1208.   /*
  1209.    * VIM_VERSION_NODOT is used for the runtime directory name.
  1210. --- 19,26 ----
  1211.   #define VIM_VERSION_MINOR_STR        "4"
  1212.   #define VIM_VERSION_BUILD         57
  1213.   #define VIM_VERSION_BUILD_STR        "57"
  1214. ! #define VIM_VERSION_PATCHLEVEL         45
  1215. ! #define VIM_VERSION_PATCHLEVEL_STR    "45"
  1216.   
  1217.   /*
  1218.    * VIM_VERSION_NODOT is used for the runtime directory name.
  1219. ***************
  1220. *** 30,35 ****
  1221.    */
  1222.   #define VIM_VERSION_NODOT    "vim54"
  1223.   #define VIM_VERSION_SHORT    "5.4"
  1224. ! #define VIM_VERSION_MEDIUM    "5.4.44"
  1225. ! #define VIM_VERSION_LONG    "VIM - Vi IMproved 5.4.44 (1999 Aug 21)"
  1226. ! #define VIM_VERSION_LONG_DATE    "VIM - Vi IMproved 5.4.44 (1999 Aug 21, compiled "
  1227. --- 30,35 ----
  1228.    */
  1229.   #define VIM_VERSION_NODOT    "vim54"
  1230.   #define VIM_VERSION_SHORT    "5.4"
  1231. ! #define VIM_VERSION_MEDIUM    "5.4.45"
  1232. ! #define VIM_VERSION_LONG    "VIM - Vi IMproved 5.4.45 (1999 Aug 22)"
  1233. ! #define VIM_VERSION_LONG_DATE    "VIM - Vi IMproved 5.4.45 (1999 Aug 22, compiled "
  1234.  
  1235. --
  1236. hundred-and-one symptoms of being an internet addict:
  1237. 185. You order fast food over the Internet
  1238.  
  1239. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\--
  1240.   \ \    www.vim.org/iccf      www.moolenaar.net       www.vim.org    / /
  1241.