rdj@ttrde.UUCP (Robert D. Jackson) (05/22/87)
I am using a version of PC/VI, and have been trying for some time now to get the EXINIT environment variable set to my liking. On Unix, it is set as such: EXINIT="set ai sw=4 terse" export EXINIT On the PC, I am unable to get an '=' in an environment variable, The best that I have been able to do so far is settle for: set EXINIT=se ai terse I would like to be able to do something like set EXINIT="set ai sw=4 terse" or set EXINIT=set ai sw\=4 terse ... but I have had no luck. If anyone knows how to achieve this feat, please post it, or respond via email. BTW set EXINIT=set ai sw 4 terse doesn't work either.
rdj@ttrde.UUCP (Robert D. Jackson) (05/22/87)
I am using a version of PC/VI, and have been trying for some time now to get the EXINIT environment variable set to my liking. On Unix, it is set as such: EXINIT="set ai sw=4 terse" export EXINIT On the PC, I am unable to get an '=' in an environment variable, The best that I have been able to do so far is settle for: set EXINIT=se ai terse I would like to be able to do something like set EXINIT="set ai sw=4 terse" or set EXINIT=set ai sw\=4 terse ... but I have had no luck. If anyone knows how to achieve this feat, please post it, or respond via email. BTW set EXINIT=set ai sw 4 terse doesn't work either. -- --------------------------------------------------------------------------- Bob Jackson ihnp4!ttrdc!ttrde!rdj ---------------------------------------------------------------------------
jas@hou2d.UUCP (05/26/87)
limitations prevent using the =. However, the same result may be obtained by placing the commands in the VI.INI file. References: <209@ttrde.UUCP>
boykin@custom.UUCP (05/26/87)
In article <210@ttrde.UUCP>, rdj@ttrde.UUCP (Robert D. Jackson) writes: > I am using a version of PC/VI, and have been trying for some time now > to get the EXINIT environment variable set to my liking. On Unix, it is > set as such: > > EXINIT="set ai sw=4 terse" > export EXINIT > > On the PC, I am unable to get an '=' in an environment variable, ... > --------------------------------------------------------------------------- > Bob Jackson > ihnp4!ttrdc!ttrde!rdj > --------------------------------------------------------------------------- Unfortunately, DOS does not permit environment variables to contain an equal sign (or a |, and probably others). The result is that while we support the EXINIT environment variable, as the manual says, we recommend the use of the VI.INI (pronounced .exrc under UNIX) initialization file. The advantage of using EXINIT under UNIX is speed, you don't have to do the disk I/O to read in the file. Emperically, it doesn't seem to be any slower using VI.INI instead of EXINIT. Joe Boykin Custom Software Systems ...necntc!custom!boykin
tel@cbstr1.att.com (T.E.Lester) (05/27/87)
In article <209@ttrde.UUCP> rdj@ttrde.UUCP () writes: >I am using a version of PC/VI, and have been trying for some time now >to get the EXINIT environment variable set to my liking. ........ >..... If anyone knows how to achieve this feat, please >post it, or respond via email. > If you are using Custom Software Systems PC/VI, it will execute a file called vi.ini to get around all of these problems. To use this file EXINIT must NOT be set and the file must reside in your HOME directory or root of the current drive. A second VI.INI file may reside in your current working directory for additional commands. The manual states these are useful for different kinds of file editing ( text vs. program). This is equivelant to the UNIX vi file .exrc Try it and good luck. Tom Lester cb3D277 x3259
tj@mks.UUCP (05/27/87)
In article <654@custom.UUCP>, boykin@custom.UUCP (Joseph Boykin) writes: < In article <210@ttrde.UUCP>, rdj@ttrde.UUCP (Robert D. Jackson) writes: < > I am using a version of PC/VI, and have been trying for some time now < > to get the EXINIT environment variable set to my liking. On Unix, it is < > set as such: < > < > EXINIT="set ai sw=4 terse" < > export EXINIT < > < > On the PC, I am unable to get an '=' in an environment variable, < < Unfortunately, DOS does not permit environment variables to contain < an equal sign (or a |, and probably others). The result is that ... Ahem. DOS has nothing against these characters in environment variables. It is only command.com that is brain-damaged. Using the shell in the MKS Toolkit, one can type Mr. Jackson's example verbatim, with the expected effect. In fact i have a profile line which says export EXINIT="`cat $HOME/ex.rc`" What is more, the Toolkit also contains a better vi... -- ll // // ,~/~~\' T. J. Thompson {decvax,ihnp4,seismo}!watmath!mks!tj /ll/// //l' `\\\ Mortice Kern Systems Inc. / l //_// ll\___/ 43 Bridgeport Rd. E., Waterloo, ON, Can. N2J 2J4 O_/ (519)884-2251
louis@drutx.UUCP (06/02/87)
In article <210@ttrde.UUCP>, rdj@ttrde.UUCP (Robert D. Jackson) writes: > I am using a version of PC/VI, and have been trying for some time now > to get the EXINIT environment variable set to my liking. I had the identical problem with MKS Toolkit's vi. Since I couldn't put spaces or = in my EXINIT, I was using an ex.rc file in the root directory of my hard disk. When I made my current drive anything but the hard disk, vi couldn't find ex.rc and would blow up. I finally lost patience with the DOS SET command and rolled my own. After writing the program, I discovered that by setting HOME=c:, vi would have found ex.rc all of the time. Oh well. I like EXINIT better, anyway. What follows is the source and uuencoded binary for setenv. Lou Warshawsky -------- cut here for setenv.c -------- /* * setenv - set environment variable * * This program duplicates the function of SET, while avoiding * arbitrary limitations on the characters that may be used in * the variable's value. * * To set a value containing spaces, enclose the value in * quotation marks, as in: * * setenv EXINIT "set ai dir=d:" * * Compile this module using the large memory model. * * Copyright (c) 1987 by Louis Warshawsky * Permission is granted to reproduce for any purpose. * * This program has been compiled using Microsoft C 3.0 and * tested briefly under MS-DOS 2.11. */ #include <dos.h> #include <stdlib.h> #include <string.h> #ifndef NULL #define NULL 0L #endif #define ALTSYNTAX 1 /* use C-shell syntax (no =) */ #define START_SEG 0x60 /* start search after DOS communication area */ /* * Locate command.com's environment table. * The first occurrence on a 16-byte boundary of the string at * envp[0] is probably it. The redundant test of the first * character speeds the search. */ char * findenv(envp) char *envp[]; { register int c; char *p; c = *envp[0]; FP_OFF(p) = 0; for (FP_SEG(p) = START_SEG; FP_SEG(p) < _psp; FP_SEG(p)++) if (*p == c && strcmp(p, envp[0]) == 0) return p; return NULL; } /* * Recreate command.com's environment table at (op). * WARNING: Since command.com does not divulge the size of its * environment table, we can not check for overflow. */ makenv(op) register char *op; { char **ip, *cp; /* copy each string from our environment */ for (ip = environ; cp = *ip++; ) while (*op++ = *cp++) ; /* add a final null */ *op = '\0'; } main(argc, argv, envp) int argc; char *argv[], *envp[]; { char *ep; #if ALTSYNTAX char line[128]; /* C-shell syntax */ if (argc != 3) error("usage: setenv name value"); if (strchr(argv[1], '=') != NULL) error("setenv: variable name must not contain '='."); strcat(strcat(strcpy(line, argv[1]), "="), argv[2]); if (putenv(line)) #else /* MS-DOS syntax */ if (argc != 2) error("usage: setenv name=value"); if (putenv(argv[1])) #endif error("setenv: bad assignment."); if ((ep = findenv(envp)) == NULL) error("setenv: can't find environment."); makenv(ep); return 0; } error(s) char *s; { cputs(s); cputs("\r\n"); exit(1); } -------- cut here -------- begin 644 setenv.exe M35K:`0D`,P`@`($`___^```(&X%=`!P`'@````$`#@#\`$(````)````$`#\ M`,D!``"]`0``L`$``*4!``"2`0``A`$``&T!``!?`0``3@$``$`!```V`0`` M+`$```8!``#U````W@```,X```!U````5``<`)(`Y@!>`!P`/@$<`%H!'`!? M`1P`A`$<`(L!'`"1`1P`ZP$<`!(`_``I`*8`%`#\`#4!J`#:`*@`M@"H`%T` MJ`#/`AP`&`#\`!8`_`!&`,L`<0,<`(H#'`!(`-<`&0#7`#H%'`"^!1P`$`8< M`+$&'`"=!QP````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M``````````````````````!5B^RX!@":'P`<`%;$7@8FQ!\FB@>8B_#'1OH` M`,=&_&``ZS+$7OHFB@>8.\9U),1>!B;_=P(F_S?_=OS_=OJ:6P(<`(/$"`O` M=0B+1OJ+5OSK%/]&_(X&O@&+1OPF.08Z`7?`,\"97HOE7<M5B^RX"`":'P`< M`(X&P`$FH4P!)HL63@&)1OB)5OK$7OB#1O@$)HL')HM7`HE&_(E6_@O"=!C$ M7OS_1OPFB@?$7@;_1@8FB`<*P'32Z^C$7@8FQ@<`B^5=RU6+[+B$`)H?`!P` M@WX&`W0-N%``'E":G0$``(/$!+@]`%#$7@@F_W<&)O]W!)HP`AP`@\0&"\)T M#;AI`!Y0FIT!``"#Q`3$7@@F_W<*)O]W"+B5`!Y0)O]W!B;_=P2-AGS_%E": MD`(<`(/$"%)0FOL!'`"#Q`A24)K[`1P`@\0(C89\_Q90F@\`J`"#Q`0+P'0- MN)<`'E":G0$``(/$!/]V#O]V#)H`````@\0$B4;\B5;^"\)U#;BO`!Y0FIT! M``"#Q`3_=O[_=OR:;````(/$!#/`B^5=RU6+[#/`FA\`'`#_=@C_=@::00`< M`(/$!+C/`!Y0FD$`'`"#Q`2X`0!0F@P`I@"+Y5W+```````````````````` M`%E:B]PKV'(+.Q[6`'(%B^-24<NAT@!`=0/IEP%24?\NT@!5B^Q6'L5V!C+D MK`K`=`E0FN`#'`!8Z_(?7EW+O^$`BS8"`"OW@?X`$'(#O@`0^H[7@<3.`?MS M`^E6`8'D_O\VB2;@`#:))MX`B\:Q!-/@2#:CW`"T,,TA-J-$`3P"<RH>,\!0 M#A^ZKP"T"<TART1/4R`R+C`@;W(@;&%T97(@<F5Q=6ER960-"B0#]XDV`@", MPRO>]]NT2LTA-HP>.@&+-BP`'A:X`#7-(3:)'M@`-HP&V@`.'[@`);KM`<TA M-HL.M`'C(C;%!K8!C-HSVS;_'K(!<P/IVP`VQ0:Z`8S:NP,`-O\>L@$''_R_ MR@&YT`$KSS/`\ZH6%@<?FOX"'`"[!`"X`$3-(7(*]L*`=`6`CV8!0$MY[)KL M`QP`F@,%'`"[O@&!^[X!<PE3_Q];@\,$Z_&Y"@`KX;Y&`8O\%@?SI)H.`,L` M,^V:Q0```%":#`"F``T*4W1A8VL@;W9E<F9L;W<-"@T*1&EV:61E(&5R<F]R M#0H-"D9L;V%T:6YG('!O:6YT(&YO="!L;V%D960-"K$2NI,!,NT.'[L"`+1` MS2$6'[C_`%":MP(<`+$0NJ4!Z^.Q';JU`>O<58OL5U8>Q'X&B]<SP+G___*N M3XOW!L1^"HO?N?__\JY!]]F+_HOS!A\'\Z2+PHS"'UY?7<M5B^Q7Q'X&B]\S MP+G___*N0??9BD8*B_ORKD\F.`5T!#/_CL>+QXS"7UW+58OL5U8>Q78&Q'X* MB]\SP+G___*N0??9B_OSIHI$_S/))CI%_W(%=`5!ZP+WT8O!'UY?7<M5B^Q7 M5A[$?@H&'XOW,\"Y___RKD'WV<1^!HO7\Z2+PHS"'UY?7<M5B^R[O@&!^[X! M<PE3_Q];@\,$Z_&:_@(<``KD=`J`?@8`=03&1@;^'L46V`"X`"7-(1^+#K0! MXP>[`@#_'K(!BT8&M$S-(56+[%8S]KDU`#+D_*PRX.+[@/15_@XU`'4&B"8T M`.L1"N1T#;HV`+L"`+D9`+1`S2$RP*(U`%Z+Y5W+58OLQ%X&)H!/_@&+Y5W+ M58OL5E>#/IP!`'4(Z"4`=!*CG`'H:@!U%>@8`'0%Z&``=0O_=@::)`@<`(/$ M`E]>B^5=RS/`'E!0L/Y0L`)0FL$&'`"#Q`B#^O]T,XO"AQ:>`:.@`0O2=`6. MVJ,(`([8,\"C"`!(2*/\`+@*`*,``*,"`+#QHPH`L/ZC!@",V!_#C-B.P(M. M!C/;CAZ@`>B<`0O2C,&.V<-5B^R*5@:T!LTA7<N/!I0!CP:6`8X>.@$6HH% M1T$ZX'04/")T"#P)=`0\('7K6!8'OH$`ZRM/*_X+_W3QB\]"6XO#`\$%`P`E M_O\KX(O\'@8?%@?SI+`@JHO+'[Z!`.L.B\@$!"3^*^"+_+A#(*OSI(O!JHOT M%A]04(O<B_ZLJ@K`=#\\(G4@'E;_!D8!K`K`="\\(G4'@'W_7'4$3ZKK[4?& M1?\`Z]3H1`!TSTX>5D;_!D8!K*H*P'0(Z#$`=?7KX*J+](/K!#OS<P^MAP>) M1/ZMAT<"B43^Z^J+W`O2=0+_!XP62@&))D@!_RZ4`3P)=`(\(,./!I@!CP:: M`8X>.@$SR8O!B^F+^4F+-BP`"_9T"([&\JY%KG7Z19=`)/Z+_='ET>4#Q18? MFA\`'`"+SXO\`_V+[!8'CMXS]DGC$8E^`(Q6`H/%!*RJ"L!U^N+OB4X`B4X" M%A^))DP!C!9.`?\NF`'IRP"#^>YS^$&`X?Z+=P+\K8O^J`%T0D@[P7,5B]`# M\*VH`70T`\(%`@"+]XE$_NOFB_YT#`/YB4S^*\%(B07K!0/Y_DS^B\:,VH'Z MX0!T!2:,'J`!B7\"PR;&!J0!`CW^_W0EB_X#\*VH`73RB_Y(.\%SO8O0`_"M MJ`%TX@/"!0(`B_>)1/[KYHM'"`O`=`2.V.L3)OX.I`%T$(S8/>$`=`4FCAZ< M`8LWZ[V+=P8SP.A9`#O&=`TD`4!`F.A-`'0-_DW^Z`L`=`663D[KFC/`F<-1 MBT7^J`%T`RO(24%!NO]_)CL6H@%V!-'J=?6+P0/&<A4#PG(-]](CPBO&Z`P` M=0CWTM'J=>4SP%G#4E'H'0!T&%>+_HOP`_+'1/[^_XEW!HO6*]=*B57^6%E: MPU-0,](>4E)0N`$`4`8?FL$&'`"#Q`B#^O\?6EMT`@O2PU6+[%97!H-^"@!U M.+_@`(M6"(M&!DAU!^A3`'(GZTB+-C`!2'01._=T#8M$`HE&#E;H.@!><S"# MQ@2!_C`!<P0+TG4&N/__F>L=B]J#PP_1V[$#T^NT2,TA<NF2B02)5`*)-C`! M,\`'7UZ+Y5W+BTX.B_<Y3`)T#(/&!('^,`%U\OGK/XO:`QQR.8O3CL$[]W4& M.1[<`',F@\,/T=O1Z]'KT>L[]W4)`]FA.@$KV([`M$K-(7(-._=U!(D6W`"2 MAP2+T<-5B^Q65Q[\'@>+3@I!@.'^Q7X&,]N,V#WA`'4#NZ8!BU<"3T^+]ZU0 M5R3^B04#\#OR=0%"K:@!=`?_!0$%2.OMT>IS`XE_`CL-="YR'SW^_W4N1T<S MP.B@_CO&=2/H7_YT'I=>6H#B`0@4Z[.+!8D-04$#^2O!0(D%C-J+1@;K`S/` MF5]9@.$!"`T?7UZ+Y5W+58OLBUX&@$_^`8OE7<M5B^Q65[NF`8,_`'4I'@>X M!0#H9_YU!3/`F>LD0"3^HZ8!HZ@!EL<$`0"#Q@3'1/[^_XDVK`&+3@:,V([` MZ!']7UZ+Y5W+58OL5U8>BTX.XS"+V<1^!HOW,\"Y___RKD'WV3O+=@*+RXO^ MQ78*\Z:*1/\SR28Z1?]W!70%0>L"]]&+P1]>7UW+58OLC@;"`2:A0`$F"P9" M`70%)O\>0`'_=@::MP(<`(OE7<M5B^R#[`Q75HM&!@M&"'1:BT8&BU8(B4;X MB5;ZZPDF@#\]=`S_1OC$7O@F@#\`=>Z.!L0!)J%,`2:+%DX!B4;TB5;V"\)U M4+@(`%":2`,<`(/$`HX&Q`$FHTP!)HD63@&)1O2)5O8+PG4&N/__Z1X!_P:$ M`<1>](-&]`2+1@:+5@@FB0<FB5<"Q%[T,\`FB4<")HD'Z?4`BT;X*T8&4/]V M"/]V!IJC`:@`@\0&B_`+]GP#Z<$`]]B+\(,^A`$`=5/1X-'@!0@`4)I(`QP` M@\0"B4;TB5;V"\)TD/\&A`&)=OSK)HO>T>/1XXX&Q`$FQ#Y,`2:+`2:+40+$ M7O2+_M'GT><FB0$FB5$"3@OV?=6+=OSK)8O&T>#1X`4(`%#_=O;_=O2:!@#7 M`(/$!HE&](E6]@O"=0/I,O_$7O2+_M'GT>>+1@:+5@@FB0$FB5$"Q'[TB][1 MX]'C,\`FB4$&)HE!!(X&Q`&+1O2+5O8FHTP!)HD63@'K%L1>](O^T>?1YXM& M!HM6"":)`2:)40(SP%Y?B^5=RU6+[(/L#HX&Q`$FH4P!)HL63@&)1O*)5O3$ M7O(FBP<FBU<"B4;ZB5;\"\)T6(M&!HM6"(E&]HE6^(M&"HE&_NL7Q%[V_T;V M)HH'Q%[Z_T;Z)C@'=0G_3OZ#?OX`=>.#?OX`=1O$7OHF@#\]=1*+1O*.!L0! M)BL&3`'1^-'XZQB#1O($ZY2+1O*.!L0!)BL&3`'1^-'X]]B+Y5W+58OL@^P, MC@;&`2:A3`$FBQ9.`8E&](E6]L1>]":+!R8+1P)T(K@,`%"XA@$>4";_=P(F M_S>::@@<`(/$"@O`=`:#1O0$Z]+$7O0FBP<F"T<"=&$FBP<FBU<"!0P`B4;Z MB5;\QT;^``#$7OK_1OHFB@>8B4;XZRO$7OHFB@>8/?\`=00RP.L&Q%[Z)HH' MBU[^_T;^C@;(`2:(AV8!_T[X_T;Z@W[X`'7/Q%[T,\`FB4<")HD'B^5=RU6+ M[(/L"E;_=@K_=@C_=@::A0<<`(/$!@O"=!#$7@8F@&?^_HM&!HM6".M:Q%X& M)H!/_@$FBW?^@>;^__]V"II(`QP`@\0"B4;\B5;^"\)T-3EV"G,#BW8*BT;\ MBU;^B4;VB5;XZQ+$7@;_1@8FB@?$7O;_1O8FB`>+QDX+P'7GBT;\BU;^7HOE M7<L``````````````````````````````$,@3&EB<F%R>2`M("A#*4-O<'ER M:6=H="!-:6-R;W-O9G0@0V]R<"`Q.3@U``%.=6QL('!O:6YT97(@87-S:6=N M;65N=`T*`'5S86=E.B!S971E;G8@;F%M92!V86QU90!S971E;G8Z('9A<FEA M8FQE(&YA;64@;75S="!N;W0@8V]N=&%I;B`G/2<N`#T`<V5T96YV.B!B860@ M87-S:6=N;65N="X`<V5T96YV.B!C86XG="!F:6YD(&5N=FER;VYM96YT+@`- M"@#_____9@(`````````````X0`````````````````````````````````` M```````````````````````````````````````````````````````````` M````````X``````````````````````````````````````````````````` M````````````````````@8&!`0$````````````````````````````````` M```[0U]&24Q%7TE.1D\``````````````````````"`````````````````` 9`````````````````.$`X0#A`.$`X0#A```` ` end