To: vim-dev@vim.org Subject: Patch 6.1.170 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.1.170 Problem: Using ":mksession" uses the default session file name, but "vim -S" doesn't. (Hans Ginzel) Solution: Use the default session file name if "-S" is the last command line argument or another option follows. Files: runtime/doc/starting.txt, src/main.c *** ../vim61.169/runtime/doc/starting.txt Fri Mar 22 21:18:39 2002 --- runtime/doc/starting.txt Thu Aug 29 20:27:38 2002 *************** *** 1,4 **** ! *starting.txt* For Vim version 6.1. Last change: 2002 Feb 21 VIM REFERENCE MANUAL by Bram Moolenaar --- 1,4 ---- ! *starting.txt* For Vim version 6.1. Last change: 2002 Aug 29 VIM REFERENCE MANUAL by Bram Moolenaar *************** *** 181,188 **** --- 181,192 ---- This is an easy way to do the equivalent of: > -c "source {file}" < It can be mixed with "-c" arguments and repeated like "-c". + {file} cannot start with a "-". {not in Vi} + -S Works like "-S Session.vim". Only when used as the last + argument or when another "-" option follows. + *-r* -r Recovery mode. Without a file name argument, a list of existing swap files is given. With a file name, a swap file *** ../vim61.169/src/main.c Sun Jul 21 21:29:47 2002 --- src/main.c Thu Aug 29 20:28:21 2002 *************** *** 829,835 **** mainerr(ME_GARBAGE, (char_u *)argv[0]); --argc; ! if (argc < 1) mainerr_arg_missing((char_u *)argv[0]); ++argv; argv_idx = -1; --- 829,835 ---- mainerr(ME_GARBAGE, (char_u *)argv[0]); --argc; ! if (argc < 1 && c != 'S') mainerr_arg_missing((char_u *)argv[0]); ++argv; argv_idx = -1; *************** *** 842,851 **** mainerr(ME_EXTRA_CMD, NULL); if (c == 'S') { ! p = alloc((unsigned)(STRLEN(argv[0]) + 4)); if (p == NULL) mch_exit(2); ! sprintf((char *)p, "so %s", argv[0]); commands[n_commands++] = p; } else --- 842,867 ---- mainerr(ME_EXTRA_CMD, NULL); if (c == 'S') { ! char *a; ! ! if (argc < 1) ! /* "-S" without argument: use default session file ! * name. */ ! a = SESSION_FILE; ! else if (argv[0][0] == '-') ! { ! /* "-S" followed by another option: use default ! * session file name. */ ! a = SESSION_FILE; ! ++argc; ! --argv; ! } ! else ! a = argv[0]; ! p = alloc((unsigned)(STRLEN(a) + 4)); if (p == NULL) mch_exit(2); ! sprintf((char *)p, "so %s", a); commands[n_commands++] = p; } else *** ../vim61.169/src/version.c Fri Aug 30 22:27:17 2002 --- src/version.c Fri Aug 30 22:29:01 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 170, /**/ -- Futility Factor: No experiment is ever a complete failure - it can always serve as a negative example. /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ /// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\ \\\ Project leader for A-A-P -- http://www.a-a-p.org /// \\\ Lord Of The Rings helps Uganda - http://iccf-holland.org/lotr.html ///