home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume44
/
vim
/
part09
< prev
next >
Wrap
Internet Message Format
|
1994-08-16
|
70KB
From: mool@oce.nl (Bram Moolenaar)
Newsgroups: comp.sources.misc
Subject: v44i028: vim - Vi IMproved editor, v3.0, Part09/26
Date: 16 Aug 1994 21:18:09 -0500
Organization: Sterling Software
Sender: kent@sparky.sterling.com
Approved: kent@sparky.sterling.com
Message-ID: <32rs11$kdo@sparky.sterling.com>
X-Md4-Signature: 0c12b0b40cceaf16a44822d55c39cf60
Submitted-by: mool@oce.nl (Bram Moolenaar)
Posting-number: Volume 44, Issue 28
Archive-name: vim/part09
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/doc/vim.hlp.UU vim/src/buffer.c vim/src/proto/mark.pro
# Wrapped by kent@sparky on Mon Aug 15 21:44:03 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 9 (of 26)."'
if test -f 'vim/doc/vim.hlp.UU' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'vim/doc/vim.hlp.UU'\"
else
echo shar: Extracting \"'vim/doc/vim.hlp.UU'\" \(43036 characters\)
sed "s/^X//" >'vim/doc/vim.hlp.UU' <<'END_OF_FILE'
Xbegin 644 vim/doc/vim.hlp
XM(" @(" @(" @(" @(" @(" @(" @5DE-(&AE;' @9FEL92!I;F1E> H*4D54
XM55).('%U:70@:&5L<" @(" @(" @(" @(" @("!624T@<W1A;F1S(&9O<B!6
XM:2!)37!R;W9E9"X*(%-004-%("!O;F4@<&%G92!F;W)W87)D(" @(" @("!-
XM;W-T(&]F(%9)32!W87,@;6%D92!B>2!"<F%M($UO;VQE;F%A<BX*(" @("!A
XM("!G;R!T;R!T:&ES(&EN9&5X"B @(" @8B @;VYE('!A9V4@8F%C:W=A<F0*
XM"F,@("!L969T+7)I9VAT(&%N9"!U<"UD;W=N(&UO=&EO;G,@("!Q(" @;W!T
XM:6]N<R!I+6X*9" @('=O<F0@86YD('1E>'0@;V)J96-T(&UO=&EO;G,@(" @
XM('(@("!O<'1I;VYS(' M<PIE(" @<&%T=&5R;B!S96%R8VAE<R @(" @(" @
XM(" @(" @(" @<R @(&]P=&EO;G,@<RUT"F8@("!V87)I;W5S(&UO=&EO;G,[
XM('5S:6YG('1A9W,@(" @("!T(" @;W!T:6]N<R!T+7D*9R @('-C<F]L;&EN
XM9R @(" @(" @(" @(" @(" @(" @(" @('4@("!U;F1O.R!S:&5L;#L@<75I
XM8VMF:7@[('9A<FEO=7,*:" @(&EN<V5R=&EN9R!T97AT.R!D:6=R87!H<R @
XM(" @(" @('8@("!C;VUM86YD(&QI;F4@961I=&EN9PII(" @:6YS97)T(&UO
XM9&4@(" @(" @(" @(" @(" @(" @(" @=R @($5X(')A;F=E<SL@17@@<W!E
XM8VEA;"!C:&%R86-T97)S"FH@("!C:&%N9VEN9R!T97AT(" @(" @(" @(" @
XM(" @(" @("!X(" @961I=&EN9R!F:6QE<PIK(" @8V]M<&QE>"!C:&%N9V5S
XM(" @(" @(" @(" @(" @(" @>2 @('5S:6YG('1H92!F:6QE(&QI<W0*;" @
XM(&1E;&5T:6YG+"!C;W!Y:6YG+"!M;W9I;F<@=&5X=" @('H@("!W<FET:6YG
XM(&%N9"!Q=6ET=&EN9PIM(" @<F5P96%T:6YG(&-O;6UA;F1S(" @(" @(" @
XM(" @(" @02 @('-T87)T:6YG(%9)30IN(" @:V5Y(&UA<'!I;F<[(&%B8G)E
XM=FEA=&EO;G,@(" @(" @0B @(&UU;'1I('=I;F1O=R!F=6YC=&EO;G,*;R @
XM(&]P=&EO;B!C;VUM86YD<RP@;W!T:6]N<R!A+6,@(" @($,@("!B=69F97(@
XM;&ES="!F=6YC=&EO;G,*<" @(&]P=&EO;G,@9"UH"@I296%D(")R969E<F5N
XM8V4N9&]C(B!F;W(@82!M;W)E(&-O;7!L971E(&5X<&QA;F%T:6]N+@H, DQE
XM9G0M<FEG:'0@;6]T:6]N<P4*3B @:" @(" @(" @(" @(&QE9G0@*'-A;64@
XM87,@0U123"U(+"!"4R!A;F0@8W5R<V]R+6QE9G0@:V5Y*0I.("!L(" @(" @
XM(" @(" @<FEG:'0@*'-A;64@87,@4U!!0T4@86YD(&-U<G-O<BUR:6=H="!K
XM97DI"B @(# @(" @(" @(" @("!T;R!F:7)S="!C:&%R86-T97(@:6X@=&AE
XM(&QI;F4*(" @7B @(" @(" @(" @('1O(&9I<G-T(&YO;BUB;&%N:R!C:&%R
XM86-T97(@:6X@=&AE(&QI;F4*3B @)" @(" @(" @(" @('1O('1H92!L87-T
XM(&-H87)A8W1E<B!I;B!T:&4@;&EN92 H3BTQ(&QI;F5S(&QO=V5R*0I.("!\
XM(" @(" @(" @(" @=&\@8V]L=6UN($X*3B @9CQC:&%R/B @(" @('1O('1H
XM92!.=&@@;V-C=7)R96YC92!O9B \8VAA<CX@=&\@=&AE(')I9VAT"DX@($8\
XM8VAA<CX@(" @("!T;R!T:&4@3G1H(&]C8W5R<F5N8V4@;V8@/&-H87(^('1O
XM('1H92!L969T"DX@('0\8VAA<CX@(" @("!T:6QL(&)E9F]R92!T:&4@3G1H
XM(&]C8W5R<F5N8V4@;V8@/&-H87(^('1O('1H92!R:6=H= I.("!4/&-H87(^
XM(" @(" @=&EL;"!B969O<F4@=&AE($YT:"!O8V-U<G)E;F-E(&]F(#QC:&%R
XM/B!T;R!T:&4@;&5F= I.(" [(" @(" @(" @(" @<F5P96%T('1H92!L87-T
XM(&8L($8L('0@;W(@5"!.('1I;65S"DX@("P@(" @(" @(" @("!R97!E870@
XM=&AE(&QA<W0@9BP@1BP@="!O<B!4($X@=&EM97,@:6X@;W!P;W-I=&4@9&ER
XM96-T:6]N"@H"57 M9&]W;B!M;W1I;VYS!0I.("!K(" @(" @(" @(" @=7 @
XM*'-A;64@87,@0U123"U0(&%N9"!C=7)S;W(M=7 @:V5Y*0I.("!J(" @(" @
XM(" @(" @9&]W;B H<V%M92!A<R!#5%),+4HL($-44DPM3BP@3$8@86YD(&-U
XM<G-O<BUD;W=N(&ME>2D*3B @+2 @(" @(" @(" @('5P+"!O;B!T:&4@9FER
XM<W0@;F]N+6)L86YK(&-H87)A8W1E<@I.(" K(" @(" @(" @(" @9&]W;BP@
XM;VX@=&AE(&9I<G-T(&YO;BUB;&%N:R!C:&%R+B H<V%M92!A<R!#5%),+4T@
XM86YD($-2*0I.("!?(" @(" @(" @(" @3B M(#$@;&EN97,@9&]W;BP@;VX@
XM=&AE(&9I<G-T(&YO;BUB;&%N:R!C:&%R86-T97(*3B @1R @(" @(" @(" @
XM(&=O=&\@;&EN92!.("AD969A=6QT(&QA<W0@;&EN92DL(&]N('1H92!F:7)S
XM="!N;VXM8FQA;FL@8VAA<BX*3B @)2 @(" @(" @(" @(&=O=&\@;&EN92!.
XM('!E<F-E;G1A9V4@9&]W;B!I;B!T:&4@9FEL92X*# )7;W)D(&UO=&EO;G,%
XM"DX@('<@(" @(" @(" @("!.('=O<F1S(&9O<G=A<F0*3B @5R @(" @(" @
XM(" @($X@8FQA;FLM<V5P87)A=&5D('=O<F1S(&9O<G=A<F0*3B @92 @(" @
XM(" @(" @(&9O<G=A<F0@=&\@=&AE(&5N9"!O9B!T:&4@3G1H('=O<F0*3B @
XM12 @(" @(" @(" @(&9O<G=A<F0@=&\@=&AE(&5N9"!O9B!T:&4@3G1H(&)L
XM86YK+7-E<&%R871E9"!W;W)D"DX@(&(@(" @(" @(" @("!.('=O<F1S(&)A
XM8VMW87)D"DX@($(@(" @(" @(" @("!.(&)L86YK+7-E<&%R871E9"!W;W)D
XM<R!B86-K=V%R9 H* E1E>'0@;V)J96-T(&UO=&EO;G,%"DX@("D@(" @(" @
XM(" @("!.('-E;G1E;F-E<R!F;W)W87)D"DX@("@@(" @(" @(" @("!.('-E
XM;G1E;F-E<R!B86-K=V%R9 I.("!](" @(" @(" @(" @3B!P87)A9W)A<&AS
XM(&9O<G=A<F0*3B @>R @(" @(" @(" @($X@<&%R86=R87!H<R!B86-K=V%R
XM9 I.("!=72 @(" @(" @(" @3B!S96-T:6]N<R!F;W)W87)D"DX@(%M;(" @
XM(" @(" @("!.('-E8W1I;VYS(&)A8VMW87)D"DX@(%U;(" @(" @(" @("!.
XM('-E8W1I;VYS("AS=&%R=&EN9R!W:71H(&$@/'T^*2!F;W)W87)D"DX@(%M=
XM(" @(" @(" @("!.('-E8W1I;VYS("AS=&%R=&EN9R!W:71H(&$@/'T^*2!B
XM86-K=V%R9 I.("!;*" @6WL@(" @(" @3B!T:6UE<R!B86-K('1O('5N8VQO
XM<V5D(#PH/B!O<B \>SX*3B @72D@(%U](" @(" @($X@=&EM97,@9F]R=V%R
XM9"!T;R!U;F-L;W-E9" \*#X@;W(@/'L^"@P"4&%T=&5R;B!S96%R8VAE<P4*
XM3B @+WMP871T97)N?5LO72 @(" @(" @<V5A<F-H(&9O<G=A<F0@9F]R('1H
XM92!.=&@@;V-C=7)R96YC92!O9B![<&%T=&5R;GT*3B @/WMP871T97)N?5L_
XM72 @(" @(" @<V5A<F-H(&)A8VMW87)D(&9O<B!T:&4@3G1H(&]C8W5R<F5N
XM8V4@;V8@>W!A='1E<FY]"DX@("\@(" @(" @(" @(" @(" @(" @(')E<&5A
XM="!L87-T('-E87)C:"P@:6X@=&AE(&9O<G=A<F0@9&ER96-T:6]N"DX@(#\@
XM(" @(" @(" @(" @(" @(" @(')E<&5A="!L87-T('-E87)C:"P@:6X@=&AE
XM(&)A8VMW87)D(&1I<F5C=&EO;@I.("!N(" @(" @(" @(" @(" @(" @("!R
XM97!E870@;&%S="!S96%R8V@*3B @3B @(" @(" @(" @(" @(" @(" @<F5P
XM96%T(&QA<W0@<V5A<F-H+"!I;B!O<'!O<VET92!D:7)E8W1I;VX*3B @*B @
XM(" @(" @(" @(" @(" @(" @<V5A<F-H(&9O<G=A<F0@9F]R('1H92!I9&5N
XM="!U;F1E<B!T:&4@8W5R<V]R"DX@(",@(" @(" @(" @(" @(" @(" @('-E
XM87)C:"!B86-K=V%R9"!F;W(@=&AE(&ED96YT('5N9&5R('1H92!C=7)S;W(*
XM"@)S<&5C:6%L(&-H87)A8W1E<G,@:6X@<V5A<F-H('!A='1E<FYS!2 @(" @
XM(&UA9VEC(" @(" @;F]M86=I8PH@(" @(" @(" @(&UA=&-H97,@86YY('-I
XM;F=L92!C:&%R86-T97(@(" @(" N(" @(" @(" @(" @7"X*(" @(" @(" @
XM(" @(" @(" @;6%T8VAE<R!S=&%R="!O9B!L:6YE(" @(" @7B @(" @(" @
XM(" @(%X*(" @(" @(" @(" @(" @(" @("!M871C:&5S(&5N9"!O9B!L:6YE
XM(" @(" @)" @(" @(" @(" @("0*(" @(" @(" @(" @(" @(" @;6%T8VAE
XM<R!S=&%R="!O9B!W;W)D(" @(" @7#P@(" @(" @(" @(%P\"B @(" @(" @
XM(" @(" @(" @(" @;6%T8VAE<R!E;F0@;V8@=V]R9" @(" @(%P^(" @(" @
XM(" @("!</@H@("!M871C:&5S(&$@<VEN9VQE(&-H87(@9G)O;2!T:&4@<F%N
XM9V4@(" @("!;82UZ72 @(" @(" @7%MA+7I="B!M871C:&5S(&$@<VEN9VQE
XM(&-H87(@;F]T(&EN('1H92!R86YG92 @(" @(%M>82UZ72 @(" @("!<6UYA
XM+7I="FUA=&-H97,@,"!O<B!M;W)E(&]F('1H92!P<F5C961I;F<@871O;2 @
XM(" @("H@(" @(" @(" @("!<*@IM871C:&5S(#$@;W(@;6]R92!O9B!T:&4@
XM<')E8V5D:6YG(&%T;VT@(" @("!<*R @(" @(" @(" @7"L*(" @;6%T8VAE
XM<R P(&]R(#$@;V8@=&AE('!R96-E9&EN9R!A=&]M(" @(" @7#T@(" @(" @
XM(" @(%P]"B @(" @(" @(" @(" @(" @<V5P87)A=&5S('1W;R!B<F%N8VAE
XM<R @(" @(%Q\(" @(" @(" @("!<? H@(" @(" @(" @(&=R;W5P(&$@<&%T
XM=&5R;B!I;G1O(&%N(&%T;VT@(" @("!<*%PI(" @(" @(" @7"A<*0H, E9A
XM<FEO=7,@;6]T:6]N<P4*(" @;3QA+7I!+5H^(" @(&UA<FL@8W5R<F5N="!P
XM;W-I=&EO;B!W:71H(&UA<FL@/&$M>D$M6CX*(" @8#QA+7I!+5H^(" @(&=O
XM('1O(&UA<FL@/&$M>D$M6CX*(" @8& @(" @(" @(" @(&=O('1O('1H92!P
XM;W-I=&EO;B!B969O<F4@=&AE(&QA<W0@:G5M< H@("!@6R!O<B!@72 @(" @
XM9V\@=&\@=&AE('-T87)T(&]R(&5N9"!O9B!T:&4@<')E=FEO=7-L>2!O<&5R
XM871E9"!O<B!P=70@=&5X= H@(" G/&$M>D$M6EM=)SX@<V%M92!A<R!@+"!B
XM=70@;VX@=&AE(&9I<G-T(&YO;BUB;&%N:R!I;B!T:&4@;&EN90HZ;6%R:W,@
XM(" @(" @(" @<')I;G0@=&AE(&%C=&EV92!M87)K<PI.("!#5%),+4\@(" @
XM(" @9V\@=&\@3B!O;&1E<B!P;W-I=&EO;B!I;B!J=6UP(&QI<W0*3B @0U12
XM3"U)(" @(" @(&=O('1O($X@;F5W97(@<&]S:71I;VX@:6X@:G5M<"!L:7-T
XM"CIJ=6UP<R @(" @(" @("!P<FEN="!T:&4@:G5M<"!L:7-T"B @("4@(" @
XM(" @(" @("!F:6YD('1H92!N97AT(&)R86-E+"!B<F%C:V5T+"!C;VUM96YT
XM(&]R("-I9B\C96QS92\C96YD:68@:6X*(" @(" @(" @(" @(" @('1H:7,@
XM;&EN92!A;F0@9V\@=&\@:71S(&UA=&-H"DX@($@@(" @(" @(" @("!G;R!T
XM;R!T:&4@3G1H(&QI;F4@:6X@=&AE('=I;F1O=RP@;VX@=&AE(&9I<G-T(&YO
XM;BUB;&%N:PH@("!-(" @(" @(" @(" @9V\@=&\@=&AE(&UI9&1L92!L:6YE
XM(&EN('1H92!W:6YD;W<L(&]N('1H92!F:7)S="!N;VXM8FQA;FL*3B @3" @
XM(" @(" @(" @(&=O('1O('1H92!.=&@@;&EN92!F<F]M('1H92!B;W1T;VTL
XM(&]N('1H92!F:7)S="!N;VXM8FQA;FL*"@)5<VEN9R!T86=S!0HZ=&%;9UU;
XM(5T@>W1A9WT@(" @(" @("!*=6UP('1O('1A9R![=&%G?2P@=6YL97-S(&-H
XM86YG97,@:&%V92!B965N(&UA9&4*(" @0U123"U=(" @(" @(" @(" @(" @
XM2G5M<"!T;R!T:&4@=&%G('5N9&5R(&-U<G-O<BP@=6YL97-S(&-H86YG97,@
XM;6%D90I.("!#5%),+50@(" @(" @(" @(" @("!*=6UP('1O($X@;VQD97(@
XM=&%G(&EN('1A9R!L:7-T"CI;8V]U;G1=<&];<%U;(5T@(" @(" @($IU;7 @
XM=&\@6V-O=6YT72!O;&1E<B!T86<@:6X@=&%G(&QI<W0*.EMC;W5N=%UT85MG
XM75LA72 @(" @(" @2G5M<"!T;R!;8V]U;G1=(&YE=V5R('1A9R!I;B!T86<@
XM;&ES= HZ=&%G<R @(" @(" @(" @(" @(" @("!0<FEN="!T86<@;&ES= H,
XM E-C<F]L;&EN9P4*3B @0U123"U%(" @(" @('=I;F1O=R!.(&QI;F5S(&1O
XM=VYW87)D<R H3B!L:6YE<R!%>'1R82D*3B @0U123"U$(" @(" @('=I;F1O
XM=R!.(&QI;F5S($1O=VYW87)D<R H9&5F875L="!H86QF(&$@=VEN9&]W*0I.
XM("!#5%),+48@(" @(" @=VEN9&]W($X@<&%G97,@1F]R=V%R9',@*&1O=VYW
XM87)D<RD*3B @0U123"U9(" @(" @('=I;F1O=R!.(&QI;F5S('5P=V%R9',*
XM3B @0U123"U5(" @(" @('=I;F1O=R!.(&QI;F5S(%5P=V%R9',@*&1E9F%U
XM;'0@:&%L9B!A('=I;F1O=RD*3B @0U123"U"(" @(" @('=I;F1O=R!.('!A
XM9V5S($)A8VMW87)D<R H=7!W87)D<RD*(" @>CQ#4CX@;W(@>G0@(')E9')A
XM=RP@8W5R<F5N="!L:6YE(&%T('1O<"!O9B!W:6YD;W<*(" @>BX@(" @;W(@
XM>GH@(')E9')A=RP@8W5R<F5N="!L:6YE(&%T(&-E;G1E<B!O9B!W:6YD;W<*
XM(" @>BT@(" @;W(@>F(@(')E9')A=RP@8W5R<F5N="!L:6YE(&%T(&)O='1O
XM;2!O9B!W:6YD;W<*# ));G-E<G1I;F<@=&5X= 4*3B @82 @(" @(" @(" @
XM(&%P<&5N9"!T97AT(&%F=&5R('1H92!C=7)S;W(@*$X@=&EM97,I"DX@($$@
XM(" @(" @(" @("!A<'!E;F0@=&5X="!A="!T:&4@96YD(&]F('1H92!L:6YE
XM("A.('1I;65S*0I.("!I(" @(" @(" @(" @:6YS97)T('1E>'0@8F5F;W)E
XM('1H92!C=7)S;W(@*$X@=&EM97,I"DX@($D@(" @(" @(" @("!I;G-E<G0@
XM=&5X="!B969O<F4@=&AE(&9I<G-T(&YO;BUB;&%N:R!I;B!T:&4@;&EN92 H
XM3B!T:6UE<RD*3B @;R @(" @(" @(" @(&]P96X@82!N97<@;&EN92!B96QO
XM=R!T:&4@8W5R<F5N="!L:6YE+"!A<'!E;F0@=&5X=" H3B!T:6UE<RD*3B @
XM3R @(" @(" @(" @(&]P96X@82!N97<@;&EN92!A8F]V92!T:&4@8W5R<F5N
XM="!L:6YE+"!A<'!E;F0@=&5X=" H3B!T:6UE<RD*"@)3<&5C:6%L(&EN<V5R
XM=',%"CIR(%MF:6QE72 @(" @("!I;G-E<G0@=&AE(&-O;G1E;G1S(&]F(%MF
XM:6QE72!B96QO=R!T:&4@8W5R<V]R"CIR(7MC;VUM86YD?2 @("!I;G-E<G0@
XM=&AE('-T86YD87)D(&]U='!U="!O9B![8V]M;6%N9'T@8F5L;W<@=&AE(&-U
XM<G-O<@H* D1I9W)A<&AS!0HZ9&EG6W)A<&AS72 @(" @<VAO=R!C=7)R96YT
XM(&QI<W0@;V8@9&EG<F%P:',*.F1I9UMR87!H<UT@>V-H87(Q?7MC:&%R,GT@
XM>VYU;6)E<GT@+BXN"B @(" @(" @(" @(" @("!A9&0@9&EG<F%P:"AS*2!T
XM;R!T:&4@;&ES= H, F-H87(%(" @(" @(" @(" @(" "86-T:6]N(&EN(&EN
XM<V5R="!M;V1E!0I#5%),+5L@;W(@/$530SX@("!E;F0@:6YS97)T(&]R(')E
XM<&QA8V4@;6]D92P@8F%C:R!T;R!C;VUM86YD(&UO9&4*0U123"U!(" @(" @
XM(" @(" @:6YS97)T('!R979I;W5S;'D@:6YS97)T960@=&5X= I#5%),+4 @
XM(" @(" @(" @("!I;G-E<G0@<')E=FEO=7-L>2!I;G-E<G1E9"!T97AT(&%N
XM9"!S=&]P(&EN<V5R= I#5%),+5(@/# M.6$M>B4Z/B!I;G-E<G0@8V]N=&5N
XM=',@;V8@<F5G:7-T97(@/# M.6$M>B4Z/@I#5%),+4H@;W(@/$Q&/B!O<B!#
XM5%),+4T@;W(@/$-2/B @(&)E9VEN(&YE=R!L:6YE"D-44DPM2R![8VAA<C%]
XM('MC:&%R,GT@(&5N=&5R(&1I9W)A<&@*0U123"U%("\@0U123"U9(" @:6YS
XM97)T('1H92!C:&%R86-T97(@=VAI8V@@:7,@8F5L;W<O86)O=F4@=&AE(&-U
XM<G-O<@I#5%),+58@(" @(" @(" @("!I;G-E<G0@8VAA<F%C=&5R(&QI=&5R
XM86QL>2P@;W(@96YT97(@9&5C:6UA;"!B>71E('9A;'5E"D-44DPM3B O($-4
XM4DPM4" @(&EN<V5R="!N97AT+W!R979I;W5S(&UA=&-H(&]F(&ED96YT:69I
XM97(@8F5F;W)E('1H92!C=7)S;W(*0U123"U((&]R(#Q"4SX@;W(@/$1%3#X@
XM9&5L971E('1H92!C:&%R86-T97(@8F5F;W)E('1H92!C=7)S;W(*0U123"U7
XM(" @(" @(" @(" @9&5L971E('=O<F0@8F5F;W)E('1H92!C=7)S;W(*0U12
XM3"U5(" @(" @(" @(" @9&5L971E(&%L;"!E;G1E<F5D(&-H87)A8W1E<G,@
XM:6X@=&AE(&-U<G)E;G0@;&EN90I#5%),+50@(" @(" @(" @("!I;G-E<G0@
XM;VYE('-H:69T=VED=&@@;V8@:6YD96YT(&EN('1H92!C=7)R96YT(&QI;F4*
XM0U123"U$(" @(" @(" @(" @9&5L971E(&]N92!S:&EF='=I9'1H(&]F(&EN
XM9&5N="!I;B!T:&4@8W5R<F5N="!L:6YE"C @0U123"U$(&]R(%X@0U123"U$
XM(" @(&1E;&5T92!A;&P@:6YD96YT(&EN('1H92!C=7)R96YT(&QI;F4*>V-H
XM87(Q?2 \0E,^('MC:&%R,GT@(" @96YT97(@9&EG<F%P:"!I9B G9&<G(&]P
XM=&EO;B!S970*0U123"U"(" @(" @(" @(" @=&]G9VQE("=R979I;G,G("AR
XM979E<G-E(&EN<V5R="D@;W!T:6]N"B @(" @(" @ FME>7,@=&AA="!S=&]P
XM(&EN<V5R="P@9&\@<V]M971H:6YG(&%N9"!G970@8F%C:R!T;R!I;G-E<G0Z
XM!0IC=7)S;W(@:V5Y<R @(" @("!M;W9E(&-U<G-O<B!L969T+W)I9VAT+W5P
XM+V1O=VX*<VAI9G0M=7 O9&]W;B @(" @;VYE('-C<F5E;F9U;&P@8F%C:W=A
XM<F0O9F]R=V%R9 IS:&EF="UL969T+W)I9VAT("!O;F4@=V]R9"!L969T+W)I
XM9VAT"D-44DPM3R![8V]M;6%N9'T@(&5X96-U=&4@>V-O;6UA;F1]"@P"0VAA
XM;F=I;F<@=&5X= 4*3B @4B @(" @(" @(" @(&5N=&5R(')E<&QA8V4@;6]D
XM92 H<F5P96%T('1H92!E;G1E<F5D('1E>'0@3B!T:6UE<RD*3B @8WMM;W1I
XM;VY](" @(&-H86YG92!T:&4@=&5X="!T:&%T(&ES(&UO=F5D(&]V97(@=VET
XM:"![;6]T:6]N?0I[=FES=6%L?6,@(" @(" @8VAA;F=E('1H92!H:6=H;&EG
XM:'1E9"!T97AT"DX@(&-C(" @(" @(" @("!C:&%N9V4@3B!L:6YE<PI.("!#
XM(" @(" @(" @(" @8VAA;F=E('1O(&5N9"!O9B!L:6YE("AA;F0@3BTQ(&UO
XM<F4@;&EN97,I"DX@(',@(" @(" @(" @("!C:&%N9V4@3B!C:&%R86-T97)S
XM"DX@(%,@(" @(" @(" @("!C:&%N9V4@3B!L:6YE<PI.("!R/&-H87(^(" @
XM(" @<F5P;&%C92!.(&-H87)A8W1E<G,@8GD@/&-H87(^"DX@('X@(" @(" @
XM(" @("!S=VET8V@@8V%S92!F;W(@3B!C:&%R86-T97)S(&%N9"!A9'9A;F-E
XM(&-U<G-O<@I[=FES=6%L?7X@(" @(" @<W=I=&-H(&-A<V4@9F]R(&AI9VAL
XM:6=H=&5D('1E>'0*>W9I<W5A;'UU(" @(" @(&UA:V4@:&EG:&QI9VAT960@
XM=&5X="!L;W=E<F-A<V4*>W9I<W5A;'U5(" @(" @(&UA:V4@:&EG:&QI9VAT
XM960@=&5X="!U<'!E<F-A<V4*3B @0U123"U!(" @(" @(&%D9"!.('1O('1H
XM92!N=6UB97(@870@;W(@869T97(@=&AE(&-U<G-O<@I.("!#5%),+5@@(" @
XM(" @<W5B=')A8W0@3B!F<F]M('1H92!N=6UB97(@870@;W(@869T97(@=&AE
XM(&-U<G-O<@I.(" \>VUO=&EO;GT@(" @;6]V92!T:&4@;&EN97,@=&AA="!A
XM<F4@;6]V960@;W9E<B!O;F4@<VAI9G1W:61T:"!L969T"DX@(#P\(" @(" @
XM(" @("!M;W9E($X@;&EN97,@;VYE('-H:69T=VED=&@@;&5F= I.(" ^>VUO
XM=&EO;GT@(" @;6]V92!T:&4@;&EN97,@=&AA="!A<F4@;6]V960@;W9E<B!O
XM;F4@<VAI9G1W:61T:"!R:6=H= I.(" ^/B @(" @(" @(" @;6]V92!.(&QI
XM;F5S(&]N92!S:&EF='=I9'1H(')I9VAT"DX@(%%[;6]T:6]N?2 @("!F;W)M
XM870@=&AE(&QI;F5S('1H870@87)E(&UO=F5D(&]V97(@=&\@)W1E>'1W:61T
XM:"<@;&5N9W1H"CI;<F%N9V5=8V5;;G1E<ET@6W=I9'1H72 @(&-E;G1E<B!T
XM:&4@;&EN97,@:6X@6W)A;F=E70HZ6W)A;F=E76QE6V9T72!;:6YD96YT72 @
XM("!L969T(&%L:6=N('1H92!L:6YE<R!I;B!;<F%N9V5=(%MW:71H(&EN9&5N
XM=%T*.EMR86YG95UR:5MG:'1=(%MW:61T:%T@(" @<FEG:'0@86QI9VX@=&AE
XM(&QI;F5S(&EN(%MR86YG95T*# )#;VUP;&5X(&-H86YG97,%"B @('8@(" @
XM(" @(" @("!S=&%R="!H:6=H;&EG:'1I;F<@8VAA<F%C=&5R<R @?2!M;W9E
XM(&-U<G-O<B!A;F0@=7-E"B @(%8@(" @(" @(" @("!S=&%R="!H:6=H;&EG
XM:'1I;F<@;&EN97=I<V4@(" @?2!O<&5R871O<B!T;R!A9F9E8W0*(" @0U12
XM3"U6(" @(" @('-T87)T(&AI9VAL:6=H=&EN9R!B;&]C:W=I<V4@("!](&AI
XM9VAL:6=H=&5D('1E>'0*(" @;R @(" @(" @(" @(&5X8VAA;F=E(&-U<G-O
XM<B!P;W-I=&EO;B!W:71H('-T87)T(&]F(&AI9VAL:6=H=&EN9PH*3B @(7MM
XM;W1I;VY]>V-O;6UA;F1]"B @(" @(" @(" @(" @("!F:6QT97(@=&AE(&QI
XM;F5S('1H870@87)E(&UO=F5D(&]V97(@=&AR;W5G:"![8V]M;6%N9'T*3B @
XM(2%[8V]M;6%N9'T*(" @(" @(" @(" @(" @(&9I;'1E<B!.(&QI;F5S('1H
XM<F]U9V@@>V-O;6UA;F1]"CI;<F%N9V5=(7MC;VUM86YD?0H@(" @(" @(" @
XM(" @(" @9FEL=&5R(%MR86YG95T@;&EN97,@=&AR;W5G:"![8V]M;6%N9'T*
XM3B @/7MM;W1I;VY]>V-O;6UA;F1]"B @(" @(" @(" @(" @("!F:6QT97(@
XM=&AE(&QI;F5S('1H870@87)E(&UO=F5D(&]V97(@=&AR;W5G:" B:6YD96YT
XM(@I.(" ]/7MC;VUM86YD?0H@(" @(" @(" @(" @(" @9FEL=&5R($X@;&EN
XM97,@=&AR;W5G:" B:6YD96YT(@HZ6W)A;F=E77-;=6)S=&ET=71E72][<&%T
XM=&5R;GTO>W-T<FEN9WTO6V==6V-="B @(" @(" @(" @(" @("!S=6)S=&ET
XM=71E('MP871T97)N?2!B>2![<W1R:6YG?2!I;B!;<F%N9V5=(&QI;F5S.R!W
XM:71H(%MG70H@(" @(" @(" @(" @(" @<F5P;&%C92!A;&P@;V-C=7)R96YC
XM97,@;V8@>W!A='1E<FY].R!W:71H(%MC72!A<VL@9FER<W0*.EMR86YG95US
XM6W5B<W1I='5T95T@6V==6V-="B @(" @(" @(" @(" @("!R97!E870@<')E
XM=FEO=7,@.G,@=VET:"!N97<@<F%N9V4@86YD(&]P=&EO;G,*(" @)B @(" @
XM(" @(" @(%)E<&5A="!P<F5V:6]U<R Z<R!O;B!C=7)R96YT(&QI;F4@=VET
XM:&]U="!O<'1I;VYS"@H, D1E;&5T:6YG('1E>'0%"DX@('@@(" @(" @(" @
XM("!D96QE=&4@3B!C:&%R86-T97)S('5N9&5R(&%N9"!A9G1E<B!T:&4@8W5R
XM<V]R"DX@(%@@(" @(" @(" @("!D96QE=&4@3B!C:&%R86-T97)S(&)E9F]R
XM92!T:&4@8W5R<V]R"DX@(&1[;6]T:6]N?2 @("!D96QE=&4@=&AE('1E>'0@
XM=&AA="!I<R!M;W9E9"!O=F5R('=I=&@@>VUO=&EO;GT*>W9I<W5A;'UD(" @
XM(" @(&1E;&5T92!T:&4@:&EG:&QI9VAT960@=&5X= I.("!D9" @(" @(" @
XM(" @9&5L971E($X@;&EN97,*3B @1" @(" @(" @(" @(&1E;&5T92!T;R!E
XM;F0@;V8@;&EN92 H86YD($XM,2!M;W)E(&QI;F5S*0I.("!*(" @(" @(" @
XM(" @:F]I;B!.+3$@;&EN97,@*&1E;&5T92!N97=L:6YE<RD*>W9I<W5A;'U*
XM(" @(" @(&IO:6X@=&AE(&AI9VAL:6=H=&5D(&QI;F5S"CI;<F%N9V5=9"!;
XM>%T@("!D96QE=&4@6W)A;F=E72!L:6YE<R!;:6YT;R!R96=I<W1E<B!X70H*
XM D-O<'EI;F<@86YD(&UO=FEN9R!T97AT!0H@(" B/&-H87(^(" @(" @=7-E
XM(')E9VES=&5R(#QC:&%R/B!F;W(@=&AE(&YE>'0@9&5L971E+"!Y86YK(&]R
XM('!U= HZ9&ES(" @(" @(" @(" @<VAO=R!T:&4@8W5R<F5N="!R96=I<W1E
XM<B!C;VYT96YT<PI.("!Y>VUO=&EO;GT@(" @>6%N:R!T:&4@=&5X="P@;6]V
XM960@;W9E<B!W:71H('MM;W1I;VY]+"!I;G1O(&$@<F5G:7-T97(*>W9I<W5A
XM;'UY(" @(" @('EA;FL@=&AE(&AI9VAL:6=H=&5D('1E>'0@:6YT;R!A(')E
XM9VES=&5R"DX@('EY(" @(" @(" @("!Y86YK($X@;&EN97,@:6YT;R!A(')E
XM9VES=&5R"DX@(%D@(" @(" @(" @("!Y86YK($X@;&EN97,@:6YT;R!A(')E
XM9VES=&5R"DX@(' @(" @(" @(" @("!P=70@82!R96=I<W1E<B!A9G1E<B!T
XM:&4@8W5R<V]R('!O<VET:6]N("A.('1I;65S*0I.("!0(" @(" @(" @(" @
XM<'5T(&$@<F5G:7-T97(@8F5F;W)E('1H92!C=7)S;W(@<&]S:71I;VX@*$X@
XM=&EM97,I"DX@(%UP(" @(" @(" @("!L:6ME(' L(&)U="!A9&IU<W0@:6YD
XM96YT('1O(&-U<G)E;G0@;&EN90I.("!;<" @(" @(" @(" @;&EK92!0+"!B
XM=70@861J=7-T(&EN9&5N="!T;R!C=7)R96YT(&QI;F4*# )297!E871I;F<@
XM8V]M;6%N9',%"DX@("X@(" @(" @(" @("!R97!E870@;&%S="!C:&%N9V4@
XM*'=I=&@@8V]U;G0@<F5P;&%C960@8GD@3BD*(" @<3QA+7H^(" @(" @(')E
XM8V]R9"!T>7!E9"!C:&%R86-T97)S(&EN=&\@<F5G:7-T97(@/&$M>CX*(" @
XM<2 @(" @(" @(" @('-T;W @<F5C;W)D:6YG"DX@($ \82UZ/B @(" @("!E
XM>&5C=71E('1H92!C;VYT96YT<R!O9B!R96=I<W1E<B \82UZ/B H3B!T:6UE
XM<RD*3B @0$ @(" @(" @(" @(')E<&5A="!P<F5V:6]U<R! /&$M>CX@*$X@
XM=&EM97,I"CI /&$M>CX@(" @(" @("!E>&5C=71E('1H92!C;VYT96YT<R!O
XM9B!R96=I<W1E<B \82UZ/B!A<R!A;B!%>"!C;VUM86YD"CI 0" @(" @(" @
XM(" @("!R97!E870@<')E=FEO=7,@.D \82UZ/@HZ6W)A;F=E76=;;&]B86Q=
XM+WMP871T97)N?2];8VUD70H@(" @(" @(" @(" @(" @17AE8W5T92!%>"!C
XM;VUM86YD(%MC;61=("AD969A=6QT(#IP*2!O;B!T:&4@;&EN97,@=VET:&EN
XM"B @(" @(" @(" @(" @("!;<F%N9V5=('=H97)E('MP871T97)N?2!M871C
XM:&5S+@HZ6W)A;F=E76=;;&]B86Q=(2][<&%T=&5R;GTO6V-M9%T*(" @(" @
XM(" @(" @(" @($5X96-U=&4@17@@8V]M;6%N9"!;8VUD72 H9&5F875L=" Z
XM<"D@;VX@=&AE(&QI;F5S('=I=&AI;@H@(" @(" @(" @(" @(" @6W)A;F=E
XM72!W:&5R92![<&%T=&5R;GT@9&]E<R!.3U0@;6%T8V@N"CIS;UMU<F-E72![
XM9FEL97T*(" @(" @(" @(" @(" @(%)E860@17@@8V]M;6%N9',@9G)O;2![
XM9FEL97TN"CIS;UMU<F-E72$@>V9I;&5]"B @(" @(" @(" @(" @("!296%D
XM(%9)32!C;VUM86YD<R!F<F]M('MF:6QE?2X*.G-L6V5E<%T@6TY;(" @(&1O
XM;B=T(&1O(&%N>71H:6YG(&9O<B!.('-E8V]N9',*3B @9W,@(" @(" @(" @
XM(&=O=&\@<VQE97 @9F]R($X@<V5C;VYD<PH, DME>2!M87!P:6YG!0HZ;6%;
XM<%T@>VQH<WT@>W)H<WT@(" @("!-87 @>VQH<WT@=&\@>W)H<WT@:6X@;F]R
XM;6%L(&UO9&4N"CIM85MP72$@>VQH<WT@>W)H<WT@(" @($UA<"![;&AS?2!T
XM;R![<FAS?2!I;B!I;G-E<G0@86YD(&-O;6UA;F0@;&EN92!M;V1E+@HZ;F];
XM<F5M87!=6R%=('ML:'-]('MR:'-]"B @(" @(" @(" @(" @(" @(" @(" @
XM(%-A;64@87,@.FUA<"P@;F\@<F5M87!P:6YG(&9O<B!T:&ES('MR:'-]"CIU
XM;FU;87!=('ML:'-](" @(" @(" @(%)E;6]V92!T:&4@;6%P<&EN9R!O9B![
XM;&AS?2!F;W(@;F]R;6%L(&UO9&4N"CIU;FU;87!=(2![;&AS?2 @(" @(" @
XM(%)E;6]V92!T:&4@;6%P<&EN9R!O9B![;&AS?2!F;W(@:6YS97)T(&%N9"!C
XM;VUM86YD"B @(" @(" @(" @(" @(" @(" @(" @(&QI;F4@;6]D92X*.FUA
XM6W!=(%ML:'-=(" @(" @(" @(" @3&ES="!M87!P:6YG<R H<W1A<G1I;F<@
XM=VET:"!;;&AS72D@9F]R(&YO<FUA;"!M;V1E+@HZ;6%;<%TA(%ML:'-=(" @
XM(" @(" @("!,:7-T(&UA<'!I;F=S("AS=&%R=&EN9R!W:71H(%ML:'-=*2!F
XM;W(@:6YS97)T(&%N9 H@(" @(" @(" @(" @(" @(" @(" @("!C;VUM86YD
XM(&QI;F4@;6]D92X*.F-M87 O.F-U;FUA<"\Z8VYO<F5M87 @;&EK92!M87 O
XM=6YM87 O;F]R96UA<"!B=70@9F]R(&-O;6UA;F0@;&EN92!M;V1E(&]N;'D*
XM.FEM87 O.FEU;FUA<"\Z:6YO<F5M87 @;&EK92!M87 O=6YM87 O;F]R96UA
XM<"!B=70@9F]R(&EN<V5R="!M;V1E(&]N;'D*.FUK6V5X<F-=6R%=(%MF:6QE
XM72 @(" @=W)I=&4@8W5R<F5N="!M87!P:6YG<RP@86)B<F5V:6%T:6]N<R!A
XM;F0@<V5T=&EN9W,*(" @(" @(" @(" @(" @(" @(" @(" @=&\@6V9I;&5=
XM("AD969A=6QT("(N97AR8R([('5S92 A('1O(&]V97)W<FET92D*.FUK=EMI
XM;7)C75LA72!;9FEL95T@(" @<V%M92!A<R Z;6ME>')C+"!B=70@=VET:"!D
XM969A=6QT("(N=FEM<F,B"@H"06)B<F5V:6%T:6]N<P4*.F%B6V)R979I871E
XM72![;&AS?2![<FAS?2 @("!A9&0@86)B<F5V:6%T:6]N(&9O<BB
XM<F5V:6%T:6]N<R!T:&%T('-T87)T('=I=&@@>VQH<WT*.F%B6V)R979I871E
XM72 @(" @(" @(" @(" @("!S:&]W(&%L;"!A8F)R979I871I;VYS"CIU;F%;
XM8F)R979I871E72![;&AS?2 @(" @(" @<F5M;W9E(&%B8G)E=FEA=&EO;B!F
XM;W(@>VQH<WT*.FEA8B\Z8V%B+SII=6YA8B\Z8W5N86(O.FYO<F5A8B\Z8VYO
XM<F5A8B\Z:6YO<F5A8B @("!A;'-O(&%V86EL86)L92$*# )/<'1I;VYS!0HZ
XM<V5;=%T@(" @(" @(" @(" @(" @("!3:&]W(&%L;"!M;V1I9FEE9"!O<'1I
XM;VYS+@HZ<V5;=%T@86QL(" @(" @(" @(" @("!3:&]W(&%L;"!O<'1I;VYS
XM+@HZ<V5;=%T@>V]P=&EO;GT@(" @(" @("!3970@=&]G9VQE(&]P=&EO;B!O
XM;BP@<VAO=R!S=')I;F<@;W(@;G5M8F5R(&]P=&EO;BX*.G-E6W1=(&YO>V]P
XM=&EO;GT@(" @(" @4V5T('1O9V=L92!O<'1I;VX@;V9F+@HZ<V5;=%T@:6YV
XM>V]P=&EO;GT@(" @("!I;G9E<G0@=&]G9VQE(&]P=&EO;BX*.G-E6W1=('MO
XM<'1I;VY]/7MV86QU97T@4V5T('-T<FEN9R!O<B!N=6UB97(@;W!T:6]N('1O
XM('MV86QU97TN"CIS95MT72![;W!T:6]N?3\@(" @(" @(%-H;W<@=F%L=64@
XM;V8@>V]P=&EO;GTN"@H";W!T:6]N("AS:&]R=&AA;F0I!2 @( )T>7!E!2 @
XM F1E9F%U;'0%(" @(" @(" "969F96-T!0IA=71O:6YD96YT("AA:2D@(" @
XM('1O9V=L92 @("!O9F8@("!I;G-E<G0@;6]D93H@8V]P>2!I;F1E;G0@9G)O
XM;2!P<F5V(&QI;F4*875T;W=R:71E("AA=RD@(" @("!T;V=G;&4@(" @;V9F
XM(" @=W)I=&4@=&AE(&9I;&4@=VAE;B!S=&%R=&EN9R!A(&YE=R!E9&ET"F)A
XM8VMS<&%C92 H8G,I(" @(" @;G5M8F5R(" @(# @(" @(# @<W1A;F1A<F0@
XM5FDL(#$@9&5L971E($Y,+" R(&1E;&5T92!A;&P*8F%C:W5P("AB:RD@(" @
XM(" @("!T;V=G;&4@(" @;VX@(" @8F%C:W5P(&$@9FEL92!B969O<F4@;W9E
XM<G=R:71I;F<@:70*8F%C:W5P9&ER("AB9&ER*2 @("!S=')I;F<@(" @(GXO
XM(B @56YI>"!O;FQY.B!$:7)E8W1O<GD@9F]R(&)A8VMU<"!F:6QE<PIB:6YA
XM<GD@*&)I;BD@(" @(" @('1O9V=L92 @("!O9F8@("!B:6YA<GD@9FEL92!M
XM;V1E"F)I;W-K97D@*&)K*2 @(" @(" @=&]G9VQE(" @(&]N(" @($U31$]3
XM.B!U<V4@8FEO<R!T;R!G970@8VAA<F%C=&5R<PIC;61H96EG:'0@*&-H*2 @
XM(" @(&YU;6)E<B @(" @,2 @("!N=6UB97(@;V8@;&EN97,@9F]R('1H92!C
XM;VUM86YD(&QI;F4*8V]L=6UN<R H8V\I(" @(" @("!N=6UB97(@(" @.# @
XM(" @;G5M8F5R(&]F(&-O;'5M;G,@:6X@=&AE(&1I<W!L87D*8V]M<&%T:6)L
XM92 H8W I(" @("!T;V=G;&4@(" @;V9F(" @<V5T(&]P=&EO;G,@9F]R(&UA
XM>&EM=6T@=FDM8V]M<&%T:6)I;&ET>0H, F]P=&EO;B H<VAO<G1H86YD*04@
XM(" "='EP904@( )D969A=6QT!2 @(" @(" @ F5F9F5C= 4*9&EG<F%P:" H
XM9&<I(" @(" @("!T;V=G;&4@(" @;V9F(" @96YA8FQE(#Q"4SX@9&EG<F%P
XM:',@:6X@:6YS97)T(&UO9&4*9&ER96-T;W)Y("AD:7(I(" @("!S=')I;F<@
XM(" @(B(@(" @9&ER96-T;W)Y('1O('!U="!S=V%P(&9I;&4*961C;VUP871I
XM8FQE(" @(" @("!T;V=G;&4@(" @;V9F(" @9FQA9W,@9F]R(#IS=6)S=&ET
XM=71E('1O9V=L90IE;F1O9FQI;F4@*&5O;"D@(" @('1O9V=L92 @("!O;B @
XM("!L87-T(&QI;F4@:&%S(&$@;F5W;&EN92!C:&%R86-T97(*97%U86QA;'=A
XM>7,@*&5A*2 @("!T;V=G;&4@(" @;VX@(" @=VEN9&]W<R!M861E(&5Q=6%L
XM(&AE:6=H="!A9G1E<B!O<&5N+V-L;W-E"F5Q=6%L<')G("AE<"D@(" @(" @
XM<W1R:6YG(" @(")I;F1E;G0B("!P<F]G<F%M('5S960@9F]R("<])R!C;VUM
XM86YD"F5R<F]R8F5L;',@*&5B*2 @(" @=&]G9VQE(" @(&]F9B @(')I;F<@
XM=&AE(&)E;&P@9F]R(&5R<F]R(&UE<W-A9V5S"F5R<F]R9FEL92 H968I(" @
XM(" @<W1R:6YG(" @(")!>G1E8T,N17)R(B!F:6QE(&9O<B!1=6EC:T9I>"!O
XM<'1I;VX*97)R;W)F;W)M870@*&5F;2D@("!S=')I;F<@(" @(" @(" @9F]R
XM;6%T(&]F(&5R<F]R(&UE<W-A9V5S(&9R;VT@8V]M<&EL97(*97-C:V5Y<R H
XM96LI(" @(" @("!T;V=G;&4@(" @;VX@(" @9G5N8RX@:V5Y<R!W:71H(#Q%
XM4T,^('=O<FL@:6X@:6YS97)T(&UO9&4*97AP86YD=&%B("AE="D@(" @("!T
XM;V=G;&4@(" @;V9F(" @:6YS97)T(&UO9&4Z('5S92!S<&%C97,@=&\@96YT
XM97(@82!T86(*97AR8R @(" @(" @(" @(" @("!T;V=G;&4@(" @;V9F(" @
XM<F5A9" N97AR8R\N=FEM<F,@9G)O;2!C=7)R96YT(&1I<F5C=&]R>0IF;W)M
XM871P<F<@*&9P*2 @(" @('-T<FEN9R @(" B(B @("!E>'1E<FYA;"!P<F]G
XM<F%M(&9O<B G42<@8V]M;6%N9 IG9&5F875L=" H9V0I(" @(" @('1O9V=L
XM92 @("!O9F8@("!T:&4@)V<G(&9L86<@:7,@9&5F875L="!O;B!F;W(@.G-U
XM8G-T:71U=&4*9W)A<&AI8R H9W(I(" @(" @("!T;V=G;&4@(" @;V9F(" @
XM9&ES<&QA>2!C:&%R<R P>#@P+3!X.68@9&ER96-T;'D*:&5L<&9I;&4@*&AF
XM*2 @(" @("!S=')I;F<@(" @(G9I;3IV:6TN:&QP(B @(" @;F%M92!O9B!H
XM96QP(&9I;&4*:&ED9&5N("AH:60I(" @(" @("!T;V=G;&4@(" @;V9F(" @
XM8G5F9F5R<R!B96-O;64@:&ED9&5N('=H96X@86)A;F1O;F5D"FAI9VAL:6=H
XM=" H:&PI(" @(" @<W1R:6YG(" @(")D8BQE<RQH<RQR<RQV:2QS:2(@("!W
XM:&5N('1O('5S92!H:6=L:6=H=&EN9PIH:7-T;W)Y("AH:2D@(" @(" @(&YU
XM;6)E<B @(" R," @("!N=6UB97(@;V8@<F5M96UB97)E9"!C;VUM86YD(&QI
XM;F5S"@P";W!T:6]N("AS:&]R=&AA;F0I!2 @( )T>7!E!2 @ F1E9F%U;'0%
XM(" @(" @(" "969F96-T!0II8V]N(" @(" @(" @(" @(" @('1O9V=L92 @
XM("!O9F8@("!S970@:6-O;B!T:71L92!T;R!F:6QE(&YA;64*:6=N;W)E8V%S
XM92 H:6,I(" @("!T;V=G;&4@(" @;V9F(" @:6=N;W)E(&-A<V4@:6X@<V5A
XM<F-H('!A='1E<FYS"FEN<V5R=&UO9&4@*&EM*2 @(" @=&]G9VQE(" @(&]F
XM9B @('-T87)T(&5D:71I;F<@:6X@:6YS97)T(&UO9&4*:F]I;G-P86-E<R H
XM:G,I(" @("!T;V=G;&4@(" @;VX@(" @:6YS97)T('1W;R!S<&%C97,@869T
XM97(@82 G+B<@=VET:"!J;VEN"FME>7=O<F1P<F<@*&MP*2 @(" @<W1R:6YG
XM(" @(")R968B(&YA;64@;V8@<')O9W)A;2!F;W(@)TLG(&-O;6UA;F0*;&%S
XM='-T871U<R H;',I(" @("!N=6UB97(@(" @,2 @(" @=VAE;B P(&QA<W0@
XM=VEN9&]W(&AA<R!N;R!S=&%T=7,@;&EN92P@=VAE;@H@(" @(" @(" @(" @
XM(" @(" @(" @(" @(" @(" @(" @(" Q(&]N;'D@=VET:"!M=6QT:7!L92!W
XM:6YD;W=S+"!W:&5N(#(@86QW87ES"FQI;F5S(" @(" @(" @(" @(" @;G5M
XM8F5R(" @(#(U(" @(&YU;6)E<B!O9B!L:6YE<R!I;B!T:&4@9&ES<&QA>0IL
XM:7-T(" @(" @(" @(" @(" @('1O9V=L92 @("!O9F8@("!D:7-P;&%Y(&QI
XM;F5S(&EN(&QI<W0@;6]D90IM86=I8R @(" @(" @(" @(" @('1O9V=L92 @
XM("!O;B @("!D:69F97)E;G0@<&%T=&5R;B!M871C:&EN9R!C:&%R86-T97)S
XM"FUA:V5P<F<@*&UP*2 @(" @(" @<W1R:6YG(" @(")M86ME(B!N86UE(&]F
XM('!R;V=R86T@9F]R("<Z;6%K92<@8V]M;6%N9 IM87AM96T@*&UM*2 @(" @
XM(" @(&YU;6)E<B @(" U,3(@("!(;W<@;6%Y($MB>71E('1O('5S92!F;W(@
XM;VYE(&)U9F9E<@IM87AM96UT;W0@*&UM="D@(" @(&YU;6)E<B @(" U,3(@
XM("!(;W<@;6%Y($MB>71E('1O('5S92!F;W(@86QL(&)U9F9E<G,*;6]D96QI
XM;F4@*&UL*2 @(" @("!T;V=G;&4@(" @;VX@(" @;&EN97,@87)E(&-H96-K
XM960@9F]R('-E="!C;VUM86YD<PIM;V1E;&EN97,@*&UL<RD@(" @(&YU;6)E
XM<B @(" U(" @("!N=6UB97(@;V8@;&EN97,@8VAE8VME9"!F;W(@<V5T(&-O
XM;6UA;F1S"FUO<F4@(" @(" @(" @(" @(" @=&]G9VQE(" @(&]N(" @('!A
XM=7-E('=I=&@@;&]N9R!L:7-T:6YG<PIN=6UB97(@*&YU*2 @(" @(" @('1O
XM9V=L92 @("!O9F8@("!D:7-P;&%Y(&QI;F4@;G5M8F5R<PH, F]P=&EO;B H
XM<VAO<G1H86YD*04@(" "='EP904@( )D969A=6QT!2 @(" @(" @ F5F9F5C
XM= 4*<&%R86=R87!H<R H<&%R82D@("!S=')I;F<@(" @(DE03%!04%%04"!,
XM27!P;'!I<&)P(@H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XM("!N<F]F9B!M86-R;W,@=&AA="!S97!A<F%T92!P87)A9W)A<&AS"G!A<W1E
XM(" @(" @(" @(" @(" @=&]G9VQE(" @(&]F9B @('!A<W1E(&UO9&4Z(&EN
XM<V5R="!L:71E<F%L;'D*<&%T8VAM;V1E("AP;2D@(" @("!S=')I;F<@(" @
XM(B(@(" @97AT96YS:6]N('1O('5S92!W:&5N('!A=&-H:6YG(&9I;&5S"G)E
XM861O;FQY("AR;RD@(" @(" @=&]G9VQE(" @(&]F9B @(&]V97)W<FET:6YG
XM('1H92!F:6QE(&YO="!A;&QO=V5D"G)E;6%P(" @(" @(" @(" @(" @=&]G
XM9VQE(" @(&]N(" @(#IM87 @8V]M;6%N9"!W;W)K<R!R96-U<G-I=F5L>0IR
XM97!O<G0@(" @(" @(" @(" @(&YU;6)E<B @(" R(" @("!M:6YI;6%L(&YU
XM;6)E<B!O9B!L:6YE<R!F;W(@<F5P;W)T:6YG"G)E=FEN<R H<FDI(" @(" @
XM(" @=&]G9VQE(" @(&]F9B @(&EN<V5R="!C:&%R86-T97)S(')I9VAT('1O
XM(&QE9G0*<G5L97(@*')U*2 @(" @(" @("!T;V=G;&4@(" @;V9F(" @<VAO
XM=R!C=7)S;W(@<&]S:71I;VX@:6X@<W1A='5S(&QI;F4*<V-R;VQL(" @(" @
XM(" @(" @("!N=6UB97(@(" @,3(@(" @<V-R;VQL('-I>F4@9F]R($-44DPM
XM52!A;F0@0U123"U$"G-C<F]L;&IU;7 @*'-J*2 @(" @;G5M8F5R(" @(#$@
XM(" @(&UI;FEM86P@;G5M8F5R(&]F(&QI;F5S(&9O<B!S8W)O;&QI;F<*<V5C
XM=&EO;G,@*'-E8W0I(" @("!S=')I;F<@(" @(E-(3DA(($A5;FAS:"(@(" @
XM("!M86-R;W,@<V5P87)A=&EN9R!S96-T:6]N<PIS96-U<F4@(" @(" @(" @
XM(" @('1O9V=L92 @("!O9F8@("!S96-U<FET>2!C:&5C:W,@9F]R("YV:6UR
XM8R!A;F0@+F5X<F,*<VAE;&P@*'-H*2 @(" @(" @("!S=')I;F<@(" @(G-H
XM(B @<VAE;&P@=&\@=7-E(&9O<B A(&%N9" Z(2!C;VUM86YD<PIS:&5L;'!I
XM<&4@*'-H*2 @(" @('-T<FEN9R @(" @(" @("!P:7!E(&-O;6UA;F0@=&\@
XM8F4@=7-E9"!F;W(@.FUA:V4*<VAE;&QT>7!E("AS="D@(" @("!N=6UB97(@
XM(" @," @(" @:&]W('1O('5S92!T:&4@<VAE;&P@*$%M:6=A(&]N;'DI"G-H
XM:69T<F]U;F0@*'-R*2 @(" @=&]G9VQE(" @(&]F9B @(')O=6YD(&EN9&5N
XM="!T;R!S:&EF='=I9'1H('=I=&@@/B!A;F0@/ IS:&EF='=I9'1H("AS=RD@
XM(" @(&YU;6)E<B @(" X(" @("!N=6UB97(@;V8@<W!A8V5S('1O('5S92!F
XM;W(@*&%U=&\I:6YD96YT"G-H;W)T;F%M92 H<VXI(" @(" @=&]G9VQE(" @
XM(&]F9B @($U31$]3+6QI:V4@9FEL97-Y<W1E;2!B96EN9R!U<V5D"G-H;W=C
XM;60@*'-C*2 @(" @(" @=&]G9VQE(" @(&]N(" @('-H;W<@8V]M;6%N9"!I
XM;B!S=&%T=7,@;&EN90IS:&]W;6%T8V@@*'-M*2 @(" @('1O9V=L92 @("!O
XM9F8@("!S:&]W(&UA=&-H:6YG(&)R86-K970@:68@;VYE(&ES(&EN<V5R=&5D
XM"@P";W!T:6]N("AS:&]R=&AA;F0I!2 @( )T>7!E!2 @ F1E9F%U;'0%(" @
XM(" @(" "969F96-T!0IS:&]W;6]D92 H<VUD*2 @(" @('1O9V=L92 @("!O
XM;B @("!S:&]W(&EN<V5R="]R97!L86-E(&UO9&4@;65S<V%G90IS:61E<V-R
XM;VQL("AS<RD@(" @(&YU;6)E<B @(" P(" @("!M:6YI;6%L(&YR(&]F(&-O
XM;'5M;G,@9F]R(&AO<FEZ+B!S8W)O;&P*<VUA<G1I;F1E;G0@*'-I*2 @("!T
XM;V=G;&4@(" @;V9F(" @9&\@<VUA<G0@875T;VEN9&5N=&EN9PIS;6%R='1A
XM8B H<W1A*2 @(" @('1O9V=L92 @("!O9F8@("!T86(@<VEZ92!D97!E;F1S
XM(&]N('!O<VET:6]N"G-P;&ET8F5L;W<@*'-B*2 @(" @=&]G9VQE(" @(&]F
XM9B @(&-R96%T92!N97<@=VEN9&]W<R!B96QO=R!C=7)R96YT(&]N90IS=69F
XM:7AE<R H<W4I(" @(" @('-T<FEN9R @(" B+F)A:RYO+F@N:6YF;RYS=W B
XM('-U9F9I>&5S('1H870@87)E(&EG;F]R960*(" @(" @(" @(" @(" @(" @
XM(" @(" @(" @(" @(" @(" @=VAE;B!M=6QT:7!L92!F:6QE<R!M871C:"!A
XM('=I;&1C87)D"G1A8G-T;W @*'1S*2 @(" @(" @;G5M8F5R(" @(#@@(" @
XM(&YU;6)E<B!O9B!S<&%C97,@=&AA="!A(%1!0B!C;W5N=',@9F]R"G1A9VQE
XM;F=T:" H=&PI(" @(" @;G5M8F5R(" @(# @(" @(&EF(&YO;BUZ97)O+"!T
XM86=S(&%R92!S:6=N:69I8V%N="!U<'1O"B @(" @(" @(" @(" @(" @(" @
XM(" @(" @(" @(" @(" @(" @("!T:&ES(&YU;6)E<B!O9B!C:&%R86-T97)S
XM"G1A9W)E;&%T:79E("AT<BD@(" @=&]G9VQE(" @(&]N(" @(&9I;&4@;F%M
XM97,@:6X@=&%G<R!F:6QE(&%R92!R96QA=&EV90IT86=S(" @(" @(" @(" @
XM(" @('-T<FEN9R @(" B=&%G<R(@("!N86UE<R!O9B!T86<@9FEL97,*=&5R
XM;2 @(" @(" @(" @(" @("!S=')I;F<@(" @(F%M:6=A(B @(&YA;64@;V8@
XM=&5R;6EN86P*=&5R<V4@(" @(" @(" @(" @("!T;V=G;&4@(" @;V9F(" @
XM;6%K92!S;VUE(&UE<W-A9V5S('-H;W)T97(*=&5X=&%U=&\@*'1A*2 @(" @
XM("!T;V=G;&4@(" @;VX@(" @9&5T96-T(&QI;F4@<V5P87)A=&]R+" H<F4I
XM<V5T("=T97AT;6]D92<*=&5X=&UO9&4@*'1X*2 @(" @("!T;V=G;&4@(" @
XM;V9F(" @=7-E(#Q#4CX\3$8^(&9O<B!L:6YE('-E<&%R871O<@IT97AT=VED
XM=&@@*'1W*2 @(" @(&YU;6)E<B @(" P(" @("!M87AI;75M('=I9'1H(&]F
XM(&$@;&EN92!I;B!I;G-E<G0@;6]D90IT:6QD96]P("AT;RD@(" @(" @('1O
XM9V=L92 @("!O9F8@("!T:6QD92!B96AA=F5S(&QI:V4@86X@;W!E<F%T;W(*
XM=&EM96]U=" @(" @(" @(" @("!T;V=G;&4@(" @;VX@(" @=V%I="!O;FQY
XM("=T;2<@;7-E8R!F;W(@;6%P<&EN9W,F:V5Y(&-O9&5S"@P";W!T:6]N("AS
XM:&]R=&AA;F0I!2 @( )T>7!E!2 @ F1E9F%U;'0%(" @(" @(" "969F96-T
XM!0IT=&EM96]U=" @(" @(" @(" @('1O9V=L92 @("!O9F8@("!W86ET(&]N
XM;'D@)W1M)R!M<V5C(&9O<B!K97D@8V]D97,*=&EM96]U=&QE;B H=&TI(" @
XM("!N=6UB97(@(" @,3 P," @;6EL;&ES96-O;F1S('1O('=A:70@9F]R(&UA
XM<'!I;F=S)FME>2!C;V1E<PIT:71L92 @(" @(" @(" @(" @('1O9V=L92 @
XM("!O;B @("!S970@=VEN9&]W('1I=&QE('1O(&9I;&4@;F%M90IT='EF87-T
XM("AT9BD@(" @(" @('1O9V=L92 @("!O9F8@("!D;VXG="!U<V4@<V-R;VQL
XM(&-O;6UA;F1S(&9O<B!T97)M:6YA; IU;F1O;&5V96QS("AU;"D@(" @(&YU
XM;6)E<B @(" Q,# @("!N=6UB97(@;V8@8VAA;F=E<R!T:&%T(&-A;B!B92!U
XM;F1O;F4*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XM("@P(&9O<B!6:2!C;VUP871I8FEL:71Y*0IU<&1A=&5C;W5N=" H=6,I(" @
XM(&YU;6)E<B @(" R,# @("!A9G1E<B!T:&ES(&UA;GD@:V5Y(&AI=',@<W=A
XM<"!F:6QE('5P9&%T960*=7!D871E=&EM92 H=70I(" @("!N=6UB97(@(" @
XM-# P," @869T97(@=&AI<R!M86YY(&UI;"YS96,N('-W87 @9FEL92!U<&1A
XM=&5D"G9I<W5A;&)E;&P@*'9B*2 @(" @=&]G9VQE(" @(&]F9B @('5S92!V
XM:7-U86P@:6YS=&5A9"!O9B!A=61I8FQE(&)E97 *=V%R;B @(" @(" @(" @
XM(" @("!T;V=G;&4@(" @;VX@(" @=V%R;B!W:&5N(&-H86YG97,@86YD('-H
XM96QL(&-O;6UA;F0@=7-E9 IW96ER9&EN=F5R=" H=VDI(" @('1O9V=L92 @
XM("!O9F8@("!T97)M:6YA;"!H87,@82!W96ER9"!I;G9E<G0@8F5H879I;W5R
XM"G=H:6-H=W)A<" H=W<I(" @(" @;G5M8F5R(" @(#,@(" @('=H:6-H(&QE
XM9G0O<FEG:'0@;6]V92!C;VUM86YD<R!W<F%P"G=I;&1C:&%R("AW8RD@(" @
XM(" @;G5M8F5R(" @(%1!0B @(&-H87(@=7-E9"!T;R!S=&%R="!F:6QE;F%M
XM92!C;VUP;&5T:6]N"G=I;FAE:6=H=" H=V@I(" @(" @;G5M8F5R(" @(# @
XM(" @(&UI;FEM86P@;G5M8F5R(&]F(&QI;F5S(&9O<B!C=7)R96YT('=I;F1O
XM=PIW<F%P(" @(" @(" @(" @(" @('1O9V=L92 @("!O;B @("!W:&5N(&]F
XM9CH@:&]R:7IO;G1A;"!S8W)O;&QI;F<*=W)A<&UA<F=I;B H=VTI(" @("!N
XM=6UB97(@(" @," @(" @=W)A<"!T97AT('=H96X@870@*&-O;'5M;G,@+2!W
XM<F%P;6%R9VEN*0IW<F%P<V-A;B H=W,I(" @(" @('1O9V=L92 @("!O;B @
XM("!S96%R8VAE<R!W<F%P(&%R;W5N9"!T:&4@96YD(&]F('1H92!F:6QE"G=R
XM:71E86YY("AW82D@(" @(" @=&]G9VQE(" @(&]F9B @(&%L=V%Y<R!W<FET
XM92!F:6QE('=I=&AO=70@87-K:6YG"G=R:71E8F%C:W5P("AW8BD@(" @=&]G
XM9VQE(" @(&]N(" @(&)A8VMU<"!A(&9I;&4@5TA)3$4@;W9E<G=R:71I;F<@
XM:70*>6%N:V5N9&]F;&EN92 H>64I("!T;V=G;&4@(" @;V9F(" @)UDG('EA
XM;FMS(&9R;VT@8W5R<V]R('1O(&5N9"!O9B!L:6YE"@P"56YD;R]2961O(&-O
XM;6UA;F1S!0I.("!U(" @(" @(" @(" @=6YD;R!.(&QA<W0@8VAA;F=E<PI.
XM("!#5%),+5(@(" @(" @<F5D;R!.(&QA<W0@=6YD;VYE(&-H86YG97,*(" @
XM52 @(" @(" @(" @(')E<W1O<F4@;&%S="!C:&%N9V5D(&QI;F4* D5X=&5R
XM;F%L(&-O;6UA;F1S!0HZ<V@@(" @(" @(" @(" @<W1A<G0@82!S:&5L; HZ
XM(7MC;VUM86YD?2 @(" @97AE8W5T92![8V]M;6%N9'T@=VET:"!A('-H96QL
XM"B @($L@(" @(" @(" @("!L;V]K=7 @:V5Y=V]R9"!U;F1E<B!T:&4@8W5R
XM<V]R('=I=&@@)VME>7=O<F1P<F<G('!R;V=R86T* E%U:6-K9FEX(&-O;6UA
XM;F1S!0HZ8V,@6VYR72 @(" @(" @9&ES<&QA>2!E<G)O<B!;;G)=("AD969A
XM=6QT(&ES('1H92!S86UE(&%G86EN*0HZ8VX@(" @(" @(" @(" @9&ES<&QA
XM>2!T:&4@;F5X="!E<G)O<@HZ8W @(" @(" @(" @(" @9&ES<&QA>2!T:&4@
XM<')E=FEO=7,@97)R;W(*.F-L(" @(" @(" @(" @(&QI<W0@86QL(&5R<F]R
XM<PHZ8V8@(" @(" @(" @(" @<F5A9"!E<G)O<G,@9G)O;2!T:&4@9FEL92 G
XM97)R;W)F:6QE)PHZ8W$@(" @(" @(" @(" @<75I="!W:71H;W5T('=R:71I
XM;F<@86YD(')E='5R;B!E<G)O<B!C;V1E("AT;R!T:&4@8V]M<&EL97(I"CIM
XM86ME(%MA<F=S72 @("!S=&%R="!M86ME+"!R96%D(&5R<F]R<R!A;F0@:G5M
XM<"!T;R!F:7)S="!E<G)O<@H"5F%R:6]U<R!C;VUM86YD<P4*(" @0U123"U,
XM(" @(" @($-L96%R(&%N9"!R961R87<@=&AE('-C<F5E;BX*(" @0U123"U'
XM(" @(" @('-H;W<@8W5R<F5N="!F:6QE(&YA;64@*'=I=&@@<&%T:"D@86YD
XM(&-U<G-O<B!P;W-I=&EO;@H@("!#5%),+4,@(" @(" @9'5R:6YG('-E87)C
XM:&5S.B!I;G1E<G)U<'0@=&AE('-E87)C: H@(" \1$5,/B @(" @(" @=VAI
XM;&4@96YT97)I;F<@82!C;W5N=#H@9&5L971E(&QA<W0@8VAA<F%C=&5R"CIV
XM97)S(" @(" @(" @("!S:&]W(&5X86-T('9E<G-I;VX@;G5M8F5R(&]F('1H
XM:7,@5DE-"CIM;V1E($X@(" @(" @("!-4T1/4SH@<V5T('-C<F5E;B!M;V1E
XM('1O($X@*&YU;6)E<BP@0S@P+"!#-#,U,"P@971C+BD*# )#;VUM86YD(&QI
XM;F4@961I=&EN9P4*/$530SX@(" @(" @(" @(" @(&%B86YD;VX@8V]M;6%N
XM9"!L:6YE("AI9B G=VEL9&-H87(G(&ES(#Q%4T,^('1Y<&4@:70@='=I8V4I
XM"D-44DPM5B,+58@>VYU;6)E<GT@(" @96YT97(@9&5C:6UA;"!B>71E('9A;'5E("AU
XM<"!T;R!T:')E92!D:6=I=',I"CQ#7TQ%1E0^+SQ#7U))1TA4/B!C=7)S;W(@
XM;&5F="]R:6=H= H\4T-?3$5&5#XO/%-#7U))1TA4/B @8W5R<V]R(&]N92!W
XM;W)D(&QE9G0O<FEG:'0*0U123"U"+T-44DPM12 @(" @(&-U<G-O<B!T;R!B
XM96=I;B]E;F0@;V8@8V]M;6%N9"!L:6YE"CQ"4SX@(" @(" @(" @(" @("!D
XM96QE=&4@=&AE(&-H87)A8W1E<B!I;B!F<F]N="!O9B!T:&4@8W5R<V]R"CQ$
XM14P^(" @(" @(" @(" @("!D96QE=&4@=&AE(&-H87)A8W1E<B!U;F1E<B!T
XM:&4@8W5R<V]R"D-44DPM5R @(" @(" @(" @("!D96QE=&4@=&AE('=O<F0@
XM:6X@9G)O;G0@;V8@=&AE(&-U<G-O<@I#5%),+54@(" @(" @(" @(" @<F5M
XM;W9E(&%L;"!C:&%R86-T97)S"CQ#7U50/B\\0U]$3U=./B @("!R96-A;&P@
XM;VQD97(O;F5W97(@8V]M;6%N9"!L:6YE(&9R;VT@:&ES=&]R>0H\4T-?55 ^
XM+SQ30U]$3U=./B @<F5C86QL(&]L9&5R+VYE=V5R(&-O;6UA;F0@=&AA="!S
XM=&%R=',@=VET:"!C=7)R96YT(&-O;6UA;F0*"@)#;VYT97AT('-E;G-I=&EV
XM92!C;VUP;&5T:6]N!0HG=VEL9&-H87(G(" H9&5F+B \5$%"/BD@(&1O(&-O
XM;7!L971I;VX@;VX@=&AE('!A='1E<FX@:6X@9G)O;G0@;V8@=&AE(&-U<G-O
XM<@I#5%),+40@(" @(" @(" @(" @;&ES="!A;&P@;F%M97,@=&AA="!M871C
XM:"!T:&4@<&%T=&5R;B!I;B!F<F]N="!O9B!T:&4@8W5R<V]R"D-44DPM02 @
XM(" @(" @(" @("!I;G-E<G0@86QL(&YA;65S('1H870@;6%T8V@@<&%T=&5R
XM;B!I;B!F<F]N="!O9B!C=7)S;W(*0U123"U,(" @(" @(" @(" @(&EN<V5R
XM="!L;VYG97-T(&-O;6UO;B!P87)T(&]F(&YA;65S('1H870@;6%T8V@@<&%T
XM=&5R;@I#5%),+4X@(" @(" @(" @(" @869T97(@)W=I;&1C:&%R)R!W:71H
XM(&UU;'1I<&QE(&UA=&-H97,Z(&=O('1O(&YE>'0@;6%T8V@*0U123"U0(" @
XM(" @(" @(" @(&%F=&5R("=W:6QD8VAA<B<@=VET:"!M=6QT:7!L92!M871C
XM:&5S.B!G;R!T;R!P<F5V:6]U<R!M871C: H, D5X(')A;F=E<P4*+" @(" @
XM(" @(" @(" @('-E<&%R871E<R!T=V\@;&EN92!N=6UB97)S"CL@(" @(" @
XM(" @(" @("!I9&5M+"!S970@8W5R<V]R('1O('1H92!F:7)S="!L:6YE(&YU
XM;6)E<@H*>VYU;6)E<GT@(" @(" @(&%N(&%B<V]L=71E(&QI;F4@;G5M8F5R
XM"BX@(" @(" @(" @(" @("!T:&4@8W5R<F5N="!L:6YE"B0@(" @(" @(" @
XM(" @("!T:&4@;&%S="!L:6YE(&EN('1H92!F:6QE"B4@(" @(" @(" @(" @
XM("!E<75A;"!T;R Q+"0@*'1H92!E;G1I<F4@9FEL92D*)W0@(" @(" @(" @
XM(" @('!O<VET:6]N(&]F(&UA<FL@= HO>W!A='1E<FY](" @(" @=&AE(&YE
XM>'0@;&EN92!W:&5R92E<B H9&5F875L=" Q*0HM6VYU;5T@(" @(" @(" @<W5B=')A
XM8W0@6VYU;5T@9G)O;2!T:&4@<')E8V5D:6YG(&QI;F4@;G5M8F5R("AD969A
XM=6QT(#$I"@H"4W!E8VEA;"!%>"!C:&%R86-T97)S!0H@(" @?" @(" @(" @
XM(" @<V5P87)A=&5S('1W;R!C;VUM86YD<R H;F]T(&9O<B B.F=L;V)A;"(@
XM86YD("(Z(2(I"B @(" B(" @(" @(" @("!B96=I;G,@8V]M;65N= H@(" @
XM(UMN=6UB97)=(" @86QT97)N871E(&9I;&5N86UE(%MN=6UB97)=("AO;FQY
XM('=H97)E(&9I;&5N86UE(&ES(&5X<&5C=&5D*0H@(" @)2 @(" @(" @(" @
XM8W5R<F5N="!F:6QE;F%M92 H;VYL>2!W:&5R92!F:6QE;F%M92!I<R!E>'!E
XM8W1E9"D*(" @("4\("!O<B C/" @(&ED96TL(&)U="!W:71H;W5T(&5X=&5N
XM<VEO;@H, D5D:71I;F<@82!F:6QE!0HZ92 @(" @(" @(" @(" @(" @(" @
XM("!%9&ET('1H92!C=7)R96YT(&9I;&4L('5N;&5S<R!C:&%N9V5S(&AA=F4@
XM8F5E;B!M861E+@HZ92$@(" @(" @(" @(" @(" @(" @("!%9&ET('1H92!C
XM=7)R96YT(&9I;&4@86QW87ES+B!$:7-C87)D(&%N>2!C:&%N9V5S+@HZ95MD
XM:71=('MF:6QE?2 @(" @(" @("!%9&ET('MF:6QE?2P@=6YL97-S(&-H86YG
XM97,@:&%V92!B965N(&UA9&4N"CIE6V1I=%TA('MF:6QE?2 @(" @(" @($5D
XM:70@>V9I;&5](&%L=V%Y<RX@1&ES8V%R9"!A;GD@8VAA;F=E<RX*3B @($-4
XM4DPM7B @(" @(" @(" @(" @161I="!A;'1E<FYA=&4@9FEL92!.("AE<75I
XM=F%L96YT('1O("(Z92 C3B(I+@IG9B @;W(@768@(" @(" @(" @(" @("!%
XM9&ET('1H92!F:6QE('=H;W-E(&YA;64@:7,@=6YD97(@=&AE(&-U<G-O<@HZ
XM<'=D(" @(" @(" @(" @(" @(" @("!0<FEN="!T:&4@8W5R<F5N="!D:7)E
XM8W1O<GD@;F%M92X*.F-D(%MP871H72 @(" @(" @(" @(" @0VAA;F=E('1H
XM92!C=7)R96YT(&1I<F5C=&]R>2!T;R!;<&%T:%TN"CIF6VEL95T@(" @(" @
XM(" @(" @(" @(%!R:6YT('1H92!C=7)R96YT(&9I;&5N86UE(&%N9"!T:&4@
XM8W5R<V]R('!O<VET:6]N+@HZ9EMI;&5=('MN86UE?2 @(" @(" @("!3970@
XM=&AE(&-U<G)E;G0@9FEL96YA;64@=&\@>VYA;65]+@HZ9FEL97,@(" @(" @
XM(" @(" @(" @("!3:&]W(&%L=&5R;F%T92!F:6QE(&YA;65S+@H*# )5<VEN
XM9R!T:&4@9FEL92!L:7-T!0HZ87);9W-=(" @(" @(" @(" @(" @("!0<FEN
XM="!T:&4@9FEL92!L:7-T+"!W:71H('1H92!C=7)R96YT(&9I;&4@:6X@(EM=
XM(BX*.F%L;" @;W(@.G-A;&P@(" @(" @(" @3W!E;B!A('=I;F1O=R!F;W(@
XM979E<GD@9FEL92X*.G=N6V5X=%U;(5T@(" @(" @(" @(" @5W)I=&4@9FEL
XM92!A;F0@961I="!N97AT(&9I;&4N"CIW;EME>'1=6R%=('MF:6QE?2 @(" @
XM(%=R:71E('1O('MF:6QE?2!A;F0@961I="!N97AT(&9I;&4L('5N;&5S<R![
XM9FEL97T*(" @(" @(" @(" @(" @(" @(" @(" @97AI<W1S+B!7:71H("$@
XM;W9E<G=R:71E(&5X:7-T:6YG(&9I;&5S+@HZ=TY;97AT75LA72!;9FEL95T@
XM(" @("!7<FET92!F:6QE(&%N9"!E9&ET('!R979I;W5S(&9I;&4N"@H":6X@
XM8W5R<F5N="!W:6YD;W<%(" @( )I;B!N97<@=VEN9&]W!0HZ87)G=5MM96YT
XM72!.(" @(" @(" Z<V%R6V=U;65N=%T@3B @(" @(" @161I="!F:6QE($X*
XM.FY;97AT72 @(" @(" @(" @(" @.G-N6V5X=%T@(" @(" @(" @(" @($5D
XM:70@;F5X="!F:6QE"CIN6V5X=%T@>V9I;&5L:7-T?2 @(#IS;EME>'1=('MF
XM:6QE;&ES='T@("!D969I;F4@;F5W(&QI<W0@;V8@9FEL97,@86YD(&5D:70*
XM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XM(" @=&AE(&9I<G-T(&]N90HZ3EME>'1=(" @(" @(" @(" @(" Z<TY;97AT
XM72 @(" @(" @(" @(" @161I="!P<F5V:6]U<R!F:6QE"CIR97=;:6YD75LA
XM72 @(" @(" @(#IS<F5W6VEN9%T@(" @(" @(" @("!%9&ET(&9I<G-T(&9I
XM;&4*.FQA<W0@(" @(" @(" @(" @(" @.G-L87-T(" @(" @(" @(" @(" @
XM($5D:70@;&%S="!F:6QE"@H, E=R:71I;F<@86YD('%U:71T:6YG!0HZ6W)A
XM;F=E77=;<FET95U;(5T@(" @("!7<FET92!T;R!T:&4@8W5R<F5N="!F:6QE
XM+@HZ6W)A;F=E77=;<FET95T@>V9I;&5]("!7<FET92!T;R![9FEL97TL('5N
XM;&5S<R!I="!A;')E861Y(&5X:7-T<RX*.EMR86YG95UW6W)I=&5=(2![9FEL
XM97T@5W)I=&4@=&\@>V9I;&5]+B!/=F5R=W)I=&4@86X@97AI<W1I;F<@9FEL
XM92X*.EMR86YG95UW6W)I=&5=6R%=(#X^(" @07!P96YD('1O('1H92!C=7)R
XM96YT(&9I;&4N"CI;<F%N9V5==UMR:71E75LA72 ^/B![9FEL97T*(" @(" @
XM(" @(" @(" @(" @(" @(" @07!P96YD('1O('MF:6QE?2X*.EMR86YG95UW
XM6W)I=&5=("%[8VUD?2 @17AE8W5T92![8VUD?2!W:71H(%MR86YG95T@;&EN
XM97,@87,@<W1A;F1A<F0@:6YP=70N"CIW86QL6R%=(" @(" @(" @(" @(" @
XM('=R:71E(&%L;"!C:&%N9V5D(&)U9F9E<G,*"CIQ6W5I=%T@(" @(" @(" @
XM(" @(" @(%%U:70L('5N;&5S<R!C:&%N9V5S(&AA=F4@8F5E;B!M861E+@HZ
XM<5MU:71=(2 @(" @(" @(" @(" @("!1=6ET(&%L=V%Y<RP@9&ES8V%R9"!A
XM;GD@8VAA;F=E<RX*.G%A;&Q;(5T@(" @(" @(" @(" @(" @97AI="P@86QS
XM;R!W:&5N(&)U9F9E<G,@86YD('=I;F1O=W,@;W!E;@HZ8W$@(" @(" @(" @
XM(" @(" @(" @("!1=6ET('=I=&AO=70@=W)I=&EN9R!A;F0@<F5T=7)N(&5R
XM<F]R(&-O9&4*.G=Q6R%=(" @(" @(" @(" @(" @(" @5W)I=&4@=&AE(&-U
XM<G)E;G0@9FEL92!A;F0@97AI="X*.G=Q6R%=('MF:6QE?2 @(" @(" @(" @
XM5W)I=&4@=&\@>V9I;&5](&%N9"!E>&ET+@HZ>%MI=%U;(5T@6V9I;&5=(" @
XM(" @("!,:6ME("(Z=W$B(&)U="!W<FET92!O;FQY('=H96X@8VAA;F=E<R!H
XM879E(&)E96X@;6%D90H@("!:6B @(" @(" @(" @(" @(" @("!386UE(&%S
XM("(Z>"(N"CIX86QL6R%=("!O<B Z=W%A;&Q;(5T@('=R:71E(&%L;"!C:&%N
XM9V5D(&)U9F9E<G,@86YD(&5X:70*"CIS=%MO<%U;(5T@(" @(" @(" @(" @
XM('-U<W!E;F0@5DE-(&]R('-T87)T(&YE=R!S:&5L;"X@268@)V%W)R!O<'1I
XM;VX@:7,@<V5T"B @(" @(" @(" @(" @(" @(" @(" @(&%N9"!;(5T@;F]T
XM(&=I=F5N('=R:71E('1H92!B=69F97(N"D-44DPM6B @(" @(" @(" @(" @
XM(" @('-A;64@87,@(CIS=&]P(2(*# )3=&%R=&EN9R!624T%"G9I;2!;;W!T
XM:6]N<UT@(" @(" @(" @('-T87)T(&5D:71I;F<@=VET:"!A;B!E;7!T>2!B
XM=69F97(*=FEM(%MO<'1I;VYS72![9FEL92 N+GT@<W1A<G0@961I=&EN9R!O
XM;F4@;W(@;6]R92!F:6QE<PIV:6T@6V]P=&EO;G-=("UT('MT86=]("!E9&ET
XM('1H92!F:6QE(&%S<V]C:6%T960@=VET:"![=&%G?0IV:6T@6V]P=&EO;G-=
XM("UE(%MF;F%M95T@<W1A<G0@961I=&EN9R!I;B!1=6EC:T9I>"!M;V1E+"!D
XM:7-P;&%Y('1H92!F:7)S="!E<G)O<@H"3W!T:6]N<P4**UMN=6U=(" @(" @
XM(" @(" @(" @(" @<'5T('1H92!C=7)S;W(@870@;&EN92!;;G5M72 H9&5F
XM875L="!L87-T(&QI;F4I"BLO>W!A='T@>V9I;&4@+BY](" @(" @('!U="!T
XM:&4@8W5R<V]R(&%T('1H92!F:7)S="!O8V-U<G)E;F-E(&]F('MP871]"BUV
XM(" @(" @(" @(" @(" @(" @(" @(')E860M;VYL>2!M;V1E("A6:65W*2P@
XM:6UP;&EE<R M;@HM8B @(" @(" @(" @(" @(" @(" @("!B:6YA<GD@;6]D
XM90HM<B @(" @(" @(" @(" @(" @(" @("!R96-O=F5R(&%B;W)T960@961I
XM="P@=7-I;F<@(BYS=W B(&9I;&4*+6X@(" @(" @(" @(" @(" @(" @(" @
XM9&\@;F]T(&-R96%T92 B+G-W<"(@9FEL90HM;R!;3ET@(" @(" @(" @(" @
XM(" @("!O<&5N($X@=VEN9&]W<R H9&5F875L=#H@;VYE(&9O<B!E86-H(&9I
XM;&4I"BUX(" @(" @(" @(" @(" @(" @(" @(&1O(&YO="!R97-T87)T(%9)
XM32!T;R!O<&5N(&$@=VEN9&]W("AF;W(@92YG+B!M86EL*0HM<RS="!R96%D('1H92!C;VUM86YD<R!I;B!T:&4@
XM9FEL92![<V-R:7!T:6Y]"BUW('MS8W)I<'1O=71](" @(" @(" @('=R:71E
XM(&%L;"!T>7!E9"!C:&%R86-T97)S('1O('1H92!F:6QE('MS8W)I<'1O=71]
XM"BU4('MT97)M:6YA;'T@(" @(" @(" @('-E="!T97)M:6YA;"!T>7!E"BUD
XM('MD979I8V5](" @(" @(" @(" @(&]P96X@>V1E=FEC97T@=&\@8F4@=7-E
XM9"!A<R!A(&-O;G-O;&4*"@)!=71O;6%T:6,@;W!T:6]N('-E='1I;F<@=VAE
XM;B!E9&ET:6YG(&$@9FEL904*=FEM.GMS970M87)G?3H@+BX@(" @(" @26X@
XM=&AE(&9I<G-T(&%N9"!L87-T(&QI;F5S(&]F('1H92!F:6QE("AS964@)VUL
XM)PH@(" @(" @(" @(" @(" @(" @(" @("!O<'1I;VXI+"![<V5T+6%R9WT@
XM:7,@9VEV96X@87,@86X@87)G=6UE;G0@=&\@.G-E= H, DUU;'1I('=I;F1O
XM=R!F=6YC=&EO;G,%"D-44DPM5R!S("!O<B Z<W!L:70@(" @(%-P;&ET('=I
XM;F1O=R!I;B!T=V\@<&%R=',*.G-P;&ET(#QF:6QE/B @(" @(" @(" @4W!L
XM:70@=VEN9&]W(&%N9"!E9&ET(#QF:6QE/B!I;B!O;F4@;V8@=&AE;0I#5%),
XM+5<@72 @(" @(" @(" @(" @("!3<&QI="!W:6YD;W<@86YD(&IU;7 @=&\@
XM=&%G('5N9&5R(&-U<G-O<@I#5%),+5<@9B @(" @(" @(" @(" @("!3<&QI
XM="!W:6YD;W<@86YD(&5D:70@9FEL92!N86UE('5N9&5R('1H92!C=7)S;W(*
XM0U123"U7(&X@(&]R(#IN97<@(" @(" @0W)E871E(&YE=R!E;7!T>2!W:6YD
XM;W<*0U123"U7('$@(&]R(#IQ6W5I=%T@(" @475I="!E9&ET:6YG(&%N9"!C
XM;&]S92!W:6YD;W<*0U123"U7(&,@(&]R(#IC;%MO<V5=(" @36%K92!B=69F
XM97(@:&ED9&5N(&%N9"!C;&]S92!W:6YD;W<*0U123"U7(&\@(&]R(#IO6VYL
XM>5T@(" @36%K92!C=7)R96YT('=I;F1O=R!O;FQY(&]N92!O;B!T:&4@<V-R
XM965N"@I#5%),+5<@:B @(" @(" @(" @(" @("!-;W9E(&-U<G-O<B!T;R!W
XM:6YD;W<@8F5L;W<*0U123"U7(&L@(" @(" @(" @(" @(" @36]V92!C=7)S
XM;W(@=&\@=VEN9&]W(&%B;W9E"D-44DPM5R!#5%),+5<@(" @(" @(" @($UO
XM=F4@8W5R<V]R('1O(&YE>'0@=VEN9&]W("AW<F%P(&%R;W5N9"D*0U123"U7
XM(' @(" @(" @(" @(" @(" @36]V92!C=7)S;W(@=&\@<')E=FEO=7,@86-T
XM:79E('=I;F1O=PH*0U123"U7('(@(" @(" @(" @(" @(" @4F]T871E('=I
XM;F1O=W,@9&]W;G=A<F1S"D-44DPM5R!2(" @(" @(" @(" @(" @(%)O=&%T
XM92!W:6YD;W=S('5P=V%R9',*0U123"U7('@@(" @(" @(" @(" @(" @17AC
XM:&%N9V4@8W5R<F5N="!W:6YD;W<@=VET:"!N97AT(&]N90H*0U123"U7(#T@
XM(" @(" @(" @(" @(" @36%K92!A;&P@=VEN9&]W<R!E<75A;"!H96EG:'0*
XM0U123"U7("T@(" @(" @(" @(" @(" @9&5C<F5A<V4@8W5R<F5N="!W:6YD
XM;W<@:&5I9VAT"D-44DPM5R K(" @(" @(" @(" @(" @(&EN8W)E87-E(&-U
XM<G)E;G0@=VEN9&]W(&AE:6=H= I#5%),+5<@7R @(" @(" @(" @(" @("!3
XM970@8W5R<F5N="!W:6YD;W<@:&5I9VAT("AD969A=6QT.B!V97)Y(&AI9V@I
XM"@P"0G5F9F5R(&QI<W0@9G5N8W1I;VYS!0HZ8G5F9F5R<R @;W(@.F9I;&5S
XM(" @("!L:7-T(&%L;"!K;F]W;B!B=69F97(@86YD(&9I;&4@;F%M97,*"CIB
XM86QL(" @("!O<B Z<V)A;&P@(" @(&5D:70@86QL(&%R9W,O8G5F9F5R<PHZ
XM=6YH:61E(" @;W(@.G-U;FAI9&4@("!E9&ET(&%L;"!L;V%D960@8G5F9F5R
XM<PH* FEN(&-U<G)E;G0@=VEN9&]W!2 @(" @ FEN(&YE=R!W:6YD;W<%"CI;
XM3EUB=69F97(@6TY=(" @(" @(#I;3EUS8G5F9F5R(%M.72 @(" @("!T;R!A
XM<F<O8G5F($X*.EM.76)N97AT(%M.72 @(" @(" @.EM.77-B;F5X="!;3ET@
XM(" @(" @('1O($YT:"!N97AT(&%R9R]B=68*.EM.76).97AT(%M.72 @(" @
XM(" @.EM.77-B3F5X="!;3ET@(" @(" @('1O($YT:"!P<F5V:6]U<R!A<F<O
XM8G5F"CI;3EUB<')E=FEO=7,@6TY=(" @(#I;3EUS8G!R979I;W5S(%M.72 @
XM("!T;R!.=&@@<')E=FEO=7,@87)G+V)U9@HZ8G)E=VEN9" @(" @(" @(" @
XM(" Z<V)R97=I;F0@(" @(" @(" @(" @=&\@9FER<W0@87)G+V)U9@HZ8FQA
XM<W0@(" @(" @(" @(" @(" Z<V)L87-T(" @(" @(" @(" @(" @=&\@;&%S
XM="!A<F<O8G5F"CI;3EUB;6]D(%M.72 @(" @(" @(#I;3EUS8FUO9"!;3ET@
XM(" @(" @("!T;R!.=&@@;6]D:69I960@8G5F"@HZ8G5N;&]A9%LA72!;3ET@
XM(" @(" @(" @=6YL;V%D(&)U9F9E<B!;3ET@9G)O;2!M96UO<GD*.F)D96QE
XM=&5;(5T@6TY=(" @(" @(" @('5N;&]A9"!B=69F97(@6TY=(&%N9"!D96QE
X;=&4@:70@9G)O;2!T:&4@8G5F9F5R(&QI<W0*
X
Xend
END_OF_FILE
if test 43036 -ne `wc -c <'vim/doc/vim.hlp.UU'`; then
echo shar: \"'vim/doc/vim.hlp.UU'\" unpacked with wrong size!
else
echo shar: Uudecoding \"'vim/doc/vim.hlp'\" \(31212 characters\)
cat vim/doc/vim.hlp.UU | uudecode
if test 31212 -ne `wc -c <'vim/doc/vim.hlp'`; then
echo shar: \"'vim/doc/vim.hlp'\" uudecoded with wrong size!
else
rm vim/doc/vim.hlp.UU
fi
fi
# end of 'vim/doc/vim.hlp.UU'
fi
if test -f 'vim/src/buffer.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'vim/src/buffer.c'\"
else
echo shar: Extracting \"'vim/src/buffer.c'\" \(22119 characters\)
sed "s/^X//" >'vim/src/buffer.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 * buffer.c: functions for dealing with the buffer structure
X */
X
X/*
X * The buffer list is a double linked list of all buffers.
X * Each buffer can be in one of these states:
X * never loaded: b_neverloaded == TRUE, only the file name is valid
X * not loaded: b_ml.ml_mfp == NULL, no memfile allocated
X * hidden: b_nwindows == 0, loaded but not displayed in a window
X * normal: loaded and displayed in a window
X *
X * Instead of storing file names all over the place, each file name is
X * stored in the buffer list. It can be referenced by a number.
X *
X * The current implementation remembers all file names ever used.
X */
X
X#include "vim.h"
X#include "globals.h"
X#include "proto.h"
X#include "param.h"
X
Xstatic void enter_buffer __ARGS((BUF *));
Xstatic BUF *buflist_findname __ARGS((char_u *));
Xstatic BUF *buflist_findnr __ARGS((int));
Xstatic void buflist_setlnum __ARGS((BUF *, linenr_t));
Xstatic linenr_t buflist_findlnum __ARGS((BUF *));
X
X/*
X * Open current buffer, that is: open the memfile and read the file into memory
X * return FAIL for failure, OK otherwise
X */
X int
Xopen_buffer()
X{
X if (readonlymode && curbuf->b_filename != NULL)
X curbuf->b_p_ro = TRUE;
X if (ml_open() == FAIL)
X {
X /*
X * There MUST be a memfile, otherwise we can't do anything
X * If we can't create one for the current buffer, take another buffer
X */
X close_buffer(curbuf, FALSE, FALSE);
X for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
X if (curbuf->b_ml.ml_mfp != NULL)
X break;
X /*
X * if there is no memfile at all, exit
X * This is OK, since there are no changes to loose.
X */
X if (curbuf == NULL)
X {
X EMSG("Cannot allocate buffer, exiting...");
X getout(2);
X }
X EMSG("Cannot allocate buffer, using other one...");
X enter_buffer(curbuf);
X return FAIL;
X }
X if (curbuf->b_filename != NULL)
X {
X if (readfile(curbuf->b_filename, curbuf->b_sfilename, (linenr_t)0,
X TRUE, (linenr_t)0, MAXLNUM) == FAIL)
X return FAIL;
X }
X else
X MSG("Empty Buffer");
X UNCHANGED(curbuf);
X curbuf->b_neverloaded = FALSE;
X return OK;
X}
X
X/*
X * Close the link to a buffer. If "free_buf" is TRUE free the buffer if it
X * becomes unreferenced. The caller should get a new buffer very soon!
X * if 'remove' is TRUE, remove the buffer from the buffer list.
X */
X void
Xclose_buffer(buf, free_buf, remove)
X BUF *buf;
X int free_buf;
X int remove;
X{
X if (buf->b_nwindows > 0)
X --buf->b_nwindows;
X if (buf->b_nwindows > 0 || !free_buf)
X {
X if (buf == curbuf)
X u_sync(); /* sync undo before going to another buffer */
X return;
X }
X
X buf_freeall(buf); /* free all things allocated for this buffer */
X /*
X * If there is no file name, remove the buffer from the list
X */
X if (buf->b_filename == NULL || remove)
X {
X free(buf->b_filename);
X free(buf->b_sfilename);
X if (buf->b_prev == NULL)
X firstbuf = buf->b_next;
X else
X buf->b_prev->b_next = buf->b_next;
X if (buf->b_next == NULL)
X lastbuf = buf->b_prev;
X else
X buf->b_next->b_prev = buf->b_prev;
X free(buf);
X }
X else
X buf_clear(buf);
X}
X
X/*
X * buf_clear() - make buffer empty
X */
X void
Xbuf_clear(buf)
X BUF *buf;
X{
X buf->b_ml.ml_line_count = 1;
X buf->b_changed = FALSE;
X#ifndef MSDOS
X buf->b_shortname = FALSE;
X#endif
X buf->b_p_eol = TRUE;
X buf->b_ml.ml_mfp = NULL;
X buf->b_ml.ml_flags = ML_EMPTY; /* empty buffer */
X}
X
X/*
X * buf_freeall() - free all things allocated for the buffer
X */
X void
Xbuf_freeall(buf)
X BUF *buf;
X{
X u_blockfree(buf); /* free the memory allocated for undo */
X ml_close(buf); /* close and delete the memline/memfile */
X buf->b_ml.ml_line_count = 0; /* no lines in buffer */
X u_clearall(buf); /* reset all undo information */
X}
X
X/*
X * Implementation of the command for the buffer list
X */
X int
Xdo_buffer(action, start, dir, count, forceit)
X int action; /* 0 = normal, 1 = split window, 2 = unload, 3 = delete */
X int start; /* 0 = current, 1 = first, 2 = last, 3 = modified */
X int dir; /* FORWARD or BACKWARD */
X int count; /* buffer number or number of buffers */
X int forceit; /* TRUE for :bdelete! */
X{
X BUF *buf;
X int retval;
X
X switch (start)
X {
X case 0: buf = curbuf;
X break;
X case 1: buf = firstbuf;
X break;
X case 2: buf = curbuf;
X while (buf->b_next != NULL)
X buf = buf->b_next;
X break;
X default: buf = curbuf;
X break;
X }
X if (start == 3) /* find next modified buffer */
X {
X while (count-- > 0)
X {
X do
X {
X buf = buf->b_next;
X if (buf == NULL)
X buf = firstbuf;
X }
X while (buf != curbuf && !buf->b_changed);
X }
X if (!buf->b_changed)
X {
X EMSG("No modified buffer found");
X return FAIL;
X }
X }
X else if (start == 1 && count) /* find specified buffer number */
X {
X while (buf != NULL && buf->b_fnum != count)
X buf = buf->b_next;
X }
X else
X {
X while (buf != NULL && count-- > 0)
X {
X if (dir == FORWARD)
X buf = buf->b_next;
X else
X buf = buf->b_prev;
X }
X }
X if (buf == NULL) /* could not find it */
X {
X if (start == 1)
X EMSG2("Cannot go to buffer %ld", (char_u *)count);
X else if (dir == FORWARD)
X EMSG("Cannot go beyond last buffer");
X else
X EMSG("Cannot go before first buffer");
X return FAIL;
X }
X /*
X * delete buffer buf from memory and/or the list
X */
X if (action == 2 || action == 3)
X {
X if (buf->b_nwindows > 1 || (buf != curbuf && buf->b_nwindows != 0))
X {
X EMSG2("Other window editing buffer %ld", (char_u *)buf->b_fnum);
X return FAIL;
X }
X if (!forceit && buf->b_changed)
X {
X EMSG2("No write since last change for buffer %ld (use ! to override)",
X (char_u *)buf->b_fnum);
X return FAIL;
X }
X /*
X * if deleting last buffer, make it empty
X */
X if (firstbuf->b_next == NULL)
X {
X buf = curbuf;
X retval = doecmd(NULL, NULL, NULL, FALSE, (linenr_t)1);
X /* the doecmd() may create a new buffer, then we have to
X * delete the old one */
X if (action == 3 && buf != curbuf)
X close_buffer(buf, TRUE, action == 3);
X return retval;
X }
X /*
X * If deleted buffer is not current one, delete it here.
X * Otherwise find buffer to go to and delete it below.
X */
X {
X if (buf != curbuf)
X {
X close_buffer(buf, TRUE, action == 3);
X return OK;
X }
X if (buf->b_next != NULL)
X buf = buf->b_next;
X else
X buf = buf->b_prev;
X }
X }
X/*
X * make buf current buffer
X */
X if (action == 1) /* split window first */
X {
X if (win_split(0L, FALSE) == FAIL)
X return FAIL;
X }
X buflist_altlnum(); /* remember curpos.lnum */
X close_buffer(curbuf, action == 2 || action == 3, action == 3);
X enter_buffer(buf);
X return OK;
X}
X
X/*
X * enter a new current buffer.
X * (old curbuf must have been freed already)
X */
X static void
Xenter_buffer(buf)
X BUF *buf;
X{
X int need_fileinfo = TRUE;
X
X if (buf->b_neverloaded)
X {
X buf_copy_options(curbuf, buf);
X buf->b_neverloaded = FALSE;
X }
X curwin->w_buffer = buf;
X curbuf = buf;
X ++curbuf->b_nwindows;
X if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */
X {
X open_buffer();
X need_fileinfo = FALSE;
X }
X buflist_getlnum(); /* restore curpos.lnum */
X maketitle();
X updateScreen(NOT_VALID);
X if (need_fileinfo)
X fileinfo(did_cd);
X}
X
X/*
X * functions for dealing with the buffer list
X */
X
X/*
X * Add a file name to the buffer list. Return a pointer to the buffer.
X * If the same file name already exists return a pointer to that buffer.
X * If it does not exist, or if fname == NULL, a new entry is created.
X * If use_curbuf is TRUE, may use current buffer.
X * This is the ONLY way to create a new buffer.
X */
X BUF *
Xbuflist_new(fname, sfname, lnum, use_curbuf)
X char_u *fname;
X char_u *sfname;
X linenr_t lnum;
X int use_curbuf;
X{
X static int top_file_num = 1; /* highest file number */
X BUF *buf;
X
X fname_expand(&fname, &sfname);
X
X/*
X * If file name already exists in the list, update the entry
X */
X if (fname != NULL && (buf = buflist_findname(fname)) != NULL)
X {
X if (lnum != 0)
X buflist_setlnum(buf, lnum);
X if (buf->b_neverloaded && curbuf != NULL && buf != curbuf)
X buf_copy_options(curbuf, buf);
X return buf;
X }
X
X/*
X * If the current buffer has no name and no contents, use the current buffer.
X * Otherwise: Need to allocate a new buffer structure.
X *
X * This is the ONLY place where a new buffer structure is allocated!
X */
X if (use_curbuf && curbuf != NULL && curbuf->b_filename == NULL &&
X curbuf->b_nwindows <= 1 &&
X (curbuf->b_ml.ml_mfp == NULL || curbuf->b_ml.ml_flags == ML_EMPTY))
X buf = curbuf;
X else
X {
X buf = (BUF *)alloc((unsigned)sizeof(BUF));
X if (buf == NULL)
X return NULL;
X memset((char *)buf, 0, sizeof(BUF));
X }
X
X if (fname != NULL)
X {
X buf->b_filename = strsave(fname);
X buf->b_sfilename = strsave(sfname);
X }
X if (buf->b_winlnum == NULL)
X buf->b_winlnum = (WINLNUM *)alloc((unsigned)sizeof(WINLNUM));
X if ((fname != NULL && (buf->b_filename == NULL || buf->b_sfilename == NULL)) ||
X buf->b_winlnum == NULL)
X {
X free(buf->b_filename);
X buf->b_filename = NULL;
X free(buf->b_sfilename);
X buf->b_sfilename = NULL;
X if (buf != curbuf)
X {
X free(buf->b_winlnum);
X free(buf);
X }
X return NULL;
X }
X
X if (buf == curbuf)
X {
X buf_freeall(buf); /* free all things allocated for this buffer */
X buf->b_nwindows = 0;
X }
X else
X {
X if (curbuf != NULL) /* don't do this for first buffer */
X buf_copy_options(curbuf, buf);
X
X /*
X * put new buffer at the end of the buffer list
X */
X buf->b_next = NULL;
X if (firstbuf == NULL) /* buffer list is empty */
X {
X buf->b_prev = NULL;
X firstbuf = buf;
X }
X else /* append new buffer at end of the list */
X {
X lastbuf->b_next = buf;
X buf->b_prev = lastbuf;
X }
X lastbuf = buf;
X
X buf->b_fnum = top_file_num++;
X if (top_file_num < 0) /* wrap around (may cause duplicates) */
X {
X EMSG("Warning: List of file names overflow");
X sleep(3); /* make sure it is noticed */
X top_file_num = 1;
X }
X
X buf->b_winlnum->wl_lnum = lnum;
X buf->b_winlnum->wl_next = NULL;
X buf->b_winlnum->wl_prev = NULL;
X buf->b_winlnum->wl_win = curwin;
X }
X
X if (did_cd)
X buf->b_xfilename = buf->b_filename;
X else
X buf->b_xfilename = buf->b_sfilename;
X buf->b_u_synced = TRUE;
X buf->b_neverloaded = TRUE;
X buf_clear(buf);
X clrallmarks(buf); /* clear marks */
X
X return buf;
X}
X
X/*
X * get alternate file n
X * set linenr to lnum or altlnum if lnum == 0
X * if (setpm) setpcmark
X * return FAIL for failure, OK for success
X */
X int
Xbuflist_getfile(n, lnum, setpm)
X int n;
X linenr_t lnum;
X int setpm;
X{
X BUF *buf;
X
X buf = buflist_findnr(n);
X if (buf == NULL)
X {
X emsg(e_noalt);
X return FAIL;
X }
X if (lnum == 0)
X lnum = buflist_findlnum(buf); /* altlnum may be changed by getfile() */
X RedrawingDisabled = TRUE;
X if (getfile(buf->b_filename, buf->b_sfilename, setpm, lnum) <= 0)
X {
X RedrawingDisabled = FALSE;
X return OK;
X }
X RedrawingDisabled = FALSE;
X return FAIL;
X}
X
X/*
X * go to the last know line number for the current buffer
X */
X void
Xbuflist_getlnum()
X{
X linenr_t lnum;
X
X curwin->w_cursor.lnum = 1;
X curwin->w_cursor.col = 0;
X lnum = buflist_findlnum(curbuf);
X if (lnum != 0 && lnum <= curbuf->b_ml.ml_line_count)
X curwin->w_cursor.lnum = lnum;
X}
X
X/*
X * find file in buffer list by name (it has to be for the current window)
X * 'fname' must have a full path.
X */
X static BUF *
Xbuflist_findname(fname)
X char_u *fname;
X{
X BUF *buf;
X
X for (buf = firstbuf; buf != NULL; buf = buf->b_next)
X if (buf->b_filename != NULL && fnamecmp(fname, buf->b_filename) == 0)
X return (buf);
X return NULL;
X}
X
X/*
X * find file in buffer name list by number
X */
X static BUF *
Xbuflist_findnr(nr)
X int nr;
X{
X BUF *buf;
X
X if (nr == 0)
X nr = curwin->w_alt_fnum;
X for (buf = firstbuf; buf != NULL; buf = buf->b_next)
X if (buf->b_fnum == nr)
X return (buf);
X return NULL;
X}
X
X/*
X * get name of file 'n' in the buffer list
X */
X char_u *
Xbuflist_nr2name(n)
X int n;
X{
X BUF *buf;
X char_u *fname;
X
X buf = buflist_findnr(n);
X if (buf == NULL)
X return NULL;
X fname = did_cd ? buf->b_filename : buf->b_sfilename;
X home_replace(fname, NameBuff, MAXPATHL);
X return NameBuff;
X}
X
X/*
X * set the lnum for the buffer 'buf' and the current window
X */
X static void
Xbuflist_setlnum(buf, lnum)
X BUF *buf;
X linenr_t lnum;
X{
X WINLNUM *wlp;
X
X for (wlp = buf->b_winlnum; wlp != NULL; wlp = wlp->wl_next)
X if (wlp->wl_win == curwin)
X break;
X if (wlp == NULL) /* make new entry */
X {
X wlp = (WINLNUM *)alloc((unsigned)sizeof(WINLNUM));
X if (wlp == NULL)
X return;
X wlp->wl_win = curwin;
X }
X else /* remove entry from list */
X {
X if (wlp->wl_prev)
X wlp->wl_prev->wl_next = wlp->wl_next;
X else
X buf->b_winlnum = wlp->wl_next;
X if (wlp->wl_next)
X wlp->wl_next->wl_prev = wlp->wl_prev;
X }
X wlp->wl_lnum = lnum;
X/*
X * insert entry in front of the list
X */
X wlp->wl_next = buf->b_winlnum;
X buf->b_winlnum = wlp;
X wlp->wl_prev = NULL;
X if (wlp->wl_next)
X wlp->wl_next->wl_prev = wlp;
X
X return;
X}
X
X/*
X * find the lnum for the buffer 'buf' for the current window
X */
X static linenr_t
Xbuflist_findlnum(buf)
X BUF *buf;
X{
X WINLNUM *wlp;
X
X for (wlp = buf->b_winlnum; wlp != NULL; wlp = wlp->wl_next)
X if (wlp->wl_win == curwin)
X break;
X
X if (wlp == NULL) /* if no lnum for curwin, use the first in the list */
X wlp = buf->b_winlnum;
X
X if (wlp)
X return wlp->wl_lnum;
X else
X return (linenr_t)1;
X}
X
X/*
X * list all know file names (for :files and :buffers command)
X */
X void
Xbuflist_list()
X{
X BUF *buf;
X int len;
X
X gotocmdline(TRUE, NUL);
X for (buf = firstbuf; buf != NULL && !got_int; buf = buf->b_next)
X {
X if (buf != firstbuf)
X msg_outchar('\n');
X if (buf->b_xfilename == NULL)
X STRCPY(NameBuff, "No File");
X else
X /* careful: home_replace calls vimgetenv(), which uses IObuff! */
X home_replace(buf->b_xfilename, NameBuff, MAXPATHL);
X
X sprintf((char *)IObuff, "%3d %c%c%c \"",
X buf->b_fnum,
X buf == curbuf ? '%' :
X (curwin->w_alt_fnum == buf->b_fnum ? '#' : ' '),
X buf->b_ml.ml_mfp == NULL ? '-' :
X (buf->b_nwindows == 0 ? 'h' : ' '),
X buf->b_changed ? '+' : ' ');
X
X len = STRLEN(IObuff);
X STRNCPY(IObuff + len, NameBuff, (size_t)IOSIZE - 20 - len);
X
X len = STRLEN(IObuff);
X IObuff[len++] = '"';
X /*
X * try to put the "line" strings in column 40
X */
X do
X {
X IObuff[len++] = ' ';
X } while (len < 40 && len < IOSIZE - 18);
X sprintf((char *)IObuff + len, "line %ld",
X buf == curbuf ? curwin->w_cursor.lnum :
X (long)buflist_findlnum(buf));
X msg_outstr(IObuff);
X flushbuf(); /* output one line at a time */
X breakcheck();
X }
X msg_end();
X}
X
X/*
X * get file name and line number for file 'fnum'
X * used by DoOneCmd() for translating '%' and '#'
X * return FAIL if not found, OK for success
X */
X int
Xbuflist_name_nr(fnum, fname, lnum)
X int fnum;
X char_u **fname;
X linenr_t *lnum;
X{
X BUF *buf;
X
X buf = buflist_findnr(fnum);
X if (buf == NULL || buf->b_filename == NULL)
X return FAIL;
X
X if (did_cd)
X *fname = buf->b_filename;
X else
X *fname = buf->b_sfilename;
X *lnum = buflist_findlnum(buf);
X
X return OK;
X}
X
X/*
X * Set the current file name to 's', short file name to 'ss'.
X * The file name with the full path is also remembered, for when :cd is used.
X * Returns FAIL for failure (file name already in use by other buffer)
X * OK otherwise.
X */
X int
Xsetfname(fname, sfname, message)
X char_u *fname, *sfname;
X int message;
X{
X BUF *buf;
X
X if (fname == NULL || *fname == NUL)
X {
X curbuf->b_filename = NULL;
X curbuf->b_sfilename = NULL;
X }
X else
X {
X fname_expand(&fname, &sfname);
X /*
X * if the file name is already used in another buffer:
X * - if the buffer is loaded, fail
X * - if the buffer is not loaded, delete it from the list
X */
X buf = buflist_findname(fname);
X if (buf != NULL && buf != curbuf)
X {
X if (buf->b_ml.ml_mfp != NULL) /* it's loaded, fail */
X {
X if (message)
X EMSG("Buffer with this name already exists");
X return FAIL;
X }
X close_buffer(buf, TRUE, TRUE); /* delete from the list */
X }
X fname = strsave(fname);
X sfname = strsave(sfname);
X if (fname == NULL || sfname == NULL)
X {
X free(sfname);
X free(fname);
X return FAIL;
X }
X free(curbuf->b_filename);
X free(curbuf->b_sfilename);
X curbuf->b_filename = fname;
X curbuf->b_sfilename = sfname;
X }
X if (did_cd)
X curbuf->b_xfilename = curbuf->b_filename;
X else
X curbuf->b_xfilename = curbuf->b_sfilename;
X
X#ifndef MSDOS
X curbuf->b_shortname = FALSE;
X#endif
X return OK;
X}
X
X/*
X * set alternate file name for current window
X *
X * used by dowrite() and doecmd()
X */
X void
Xsetaltfname(fname, sfname, lnum)
X char_u *fname;
X char_u *sfname;
X linenr_t lnum;
X{
X BUF *buf;
X
X buf = buflist_new(fname, sfname, lnum, FALSE);
X if (buf != NULL)
X curwin->w_alt_fnum = buf->b_fnum;
X}
X
X/*
X * add a file name to the buflist and return its number
X *
X * used by qf_init(), main() and doarglist()
X */
X int
Xbuflist_add(fname)
X char_u *fname;
X{
X BUF *buf;
X
X buf = buflist_new(fname, NULL, (linenr_t)0, FALSE);
X if (buf != NULL)
X return buf->b_fnum;
X return 0;
X}
X
X/*
X * set alternate lnum for current window
X */
X void
Xbuflist_altlnum()
X{
X buflist_setlnum(curbuf, curwin->w_cursor.lnum);
X}
X
X/*
X * return nonzero if 'fname' is not the same file as current file
X * fname must have a full path (expanded by FullName)
X */
X int
Xotherfile(fname)
X char_u *fname;
X{ /* no name is different */
X if (fname == NULL || *fname == NUL || curbuf->b_filename == NULL)
X return TRUE;
X return fnamecmp(fname, curbuf->b_filename);
X}
X
X void
Xfileinfo(fullname)
X int fullname;
X{
X char_u *name;
X
X#if 0 /* this message is quite useless */
X if (bufempty())
X {
X MSG("Buffer Empty");
X return;
X }
X#endif
X
X if (curbuf->b_filename == NULL)
X STRCPY(IObuff, "\"No File");
X else
X {
X if (!fullname && curbuf->b_sfilename != NULL)
X name = curbuf->b_sfilename;
X else
X name = curbuf->b_filename;
X /* careful: home_replace cals vimgetenv(), which also uses IObuff! */
X home_replace(name, IObuff + 1, IOSIZE - 1);
X IObuff[0] = '"';
X }
X
X sprintf((char *)IObuff + STRLEN(IObuff),
X "\"%s%s%s line %ld of %ld --%d%%-- col %d",
X curbuf->b_changed ? " [Modified]" : "",
X curbuf->b_notedited ? " [Not edited]" : "",
X curbuf->b_p_ro ? " [readonly]" : "",
X (long)curwin->w_cursor.lnum,
X (long)curbuf->b_ml.ml_line_count,
X (int)(((long)curwin->w_cursor.lnum * 100L) / (long)curbuf->b_ml.ml_line_count),
X (int)curwin->w_cursor.col + 1);
X
X if (arg_count > 1)
X sprintf((char *)IObuff + STRLEN(IObuff), " (file %d of %d)", curwin->w_arg_idx + 1, arg_count);
X msg(IObuff);
X}
X
X/*
X * put filename in title bar of window and in icon title
X */
X
Xstatic char_u *lasttitle = NULL;
Xstatic char_u *lasticon = NULL;
X
X void
Xmaketitle()
X{
X char_u *t;
X char_u *i;
X
X if (!p_title && !p_icon)
X return;
X
X if (curbuf->b_filename == NULL)
X {
X t = (char_u *)"";
X i = (char_u *)"No File";
X }
X else
X {
X home_replace(curbuf->b_filename, IObuff, IOSIZE);
X if (arg_count > 1)
X sprintf((char *)IObuff + STRLEN(IObuff), " (%d of %d)", curwin->w_arg_idx + 1, arg_count);
X t = IObuff;
X i = gettail(curbuf->b_filename); /* use filename only for icon */
X }
X
X free(lasttitle);
X if (p_title)
X lasttitle = alloc((unsigned)(STRLEN(t) + 7));
X else
X lasttitle = NULL;
X if (lasttitle != NULL)
X sprintf((char *)lasttitle, "VIM - %s", (char *)t);
X
X free(lasticon);
X if (p_icon)
X lasticon = strsave(i);
X else
X lasticon = NULL;
X
X resettitle();
X}
X
X void
Xresettitle()
X{
X mch_settitle(lasttitle, lasticon);
X}
X
X/*
X * If fname is not a full path, make it a full path
X */
X char_u *
Xfix_fname(fname)
X char_u *fname;
X{
X if (fname != NameBuff) /* if not already expanded */
X {
X if (!isFullName(fname))
X {
X (void)FullName(fname, NameBuff, MAXPATHL);
X fname = NameBuff;
X }
X#ifdef AMIGA
X else
X {
X STRNCPY(NameBuff, fname, (size_t)MAXPATHL); /* make copy so we can change it */
X fname = NameBuff;
X fname_case(fname); /* set correct case for filename */
X }
X#endif
X }
X return fname;
X}
X
X/*
X * make fname a full file name, set sfname to fname if not NULL
X */
X void
Xfname_expand(fname, sfname)
X char_u **fname;
X char_u **sfname;
X{
X if (*fname == NULL) /* if no file name given, nothing to do */
X return;
X if (*sfname == NULL) /* if no short file name given, use fname */
X *sfname = *fname;
X *fname = fix_fname(*fname); /* expand to full path */
X}
X
X/*
X * do_arg_all: open a window for each argument
X */
X void
Xdo_arg_all()
X{
X int win_count;
X int i;
X
X if (arg_count <= 1)
X {
X EMSG("Argument list contains less than 2 files");
X return;
X }
X /*
X * 1. close all but first window
X * 2. make the desired number of windows
X * 3. start editing the first window (hide the current window contents)
X * 4. stuff commands to fill the other windows
X */
X close_others(FALSE);
X curwin->w_arg_idx = 0;
X win_count = make_windows(arg_count);
X for (i = 0; i < win_count; ++i)
X {
X /* edit file i */
X (void)doecmd(arg_files[i], NULL, NULL, TRUE, (linenr_t)1);
X curwin->w_arg_idx = i;
X if (curwin->w_next == NULL) /* just checking */
X break;
X win_enter(curwin->w_next, FALSE);
X }
X win_enter(firstwin, FALSE); /* back to first window */
X}
X
X/*
X * do_arg_all: open a window for each buffer
X *
X * when 'all' is TRUE, also load inactive buffers
X */
X void
Xdo_buffer_all(all)
X int all;
X{
X int win_count;
X BUF *buf;
X int i;
X
X/*
X * count number of desired windows
X */
X win_count = 0;
X for (buf = firstbuf; buf != NULL; buf = buf->b_next)
X if (all || buf->b_ml.ml_mfp != NULL)
X ++win_count;
X
X if (win_count == 0) /* Cannot happen? */
X {
X EMSG("No relevant entries in buffer list");
X return;
X }
X
X /*
X * 1. close all but first window
X * 2. make the desired number of windows
X * 3. stuff commands to fill the windows
X */
X close_others(FALSE);
X curwin->w_arg_idx = 0;
X win_count = make_windows(win_count);
X buf = firstbuf;
X for (i = 0; i < win_count; ++i)
X {
X for ( ; buf != NULL; buf = buf->b_next)
X if (all || buf->b_ml.ml_mfp != NULL)
X break;
X if (buf == NULL) /* Cannot happen? */
X break;
X if (i != 0)
X stuffReadbuff((char_u *)"\n\027\027:"); /* CTRL-W CTRL-W */
X stuffReadbuff((char_u *)":buf "); /* edit Nth buffer */
X stuffnumReadbuff((long)buf->b_fnum);
X buf = buf->b_next;
X }
X stuffReadbuff((char_u *)"\n100\027k"); /* back to first window */
X}
END_OF_FILE
if test 22119 -ne `wc -c <'vim/src/buffer.c'`; then
echo shar: \"'vim/src/buffer.c'\" unpacked with wrong size!
fi
# end of 'vim/src/buffer.c'
fi
if test -f 'vim/src/proto/mark.pro' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'vim/src/proto/mark.pro'\"
else
echo shar: Extracting \"'vim/src/proto/mark.pro'\" \(439 characters\)
sed "s/^X//" >'vim/src/proto/mark.pro' <<'END_OF_FILE'
X/* mark.c */
Xint setmark __PARMS((int c));
Xvoid setpcmark __PARMS((void));
Xvoid checkpcmark __PARMS((void));
Xstruct fpos *movemark __PARMS((int count));
Xstruct fpos *getmark __PARMS((int c, int changefile));
Xvoid clrallmarks __PARMS((struct buffer *buf));
Xunsigned char *fm_getname __PARMS((struct filemark *fmark));
Xvoid domarks __PARMS((void));
Xvoid dojumps __PARMS((void));
Xvoid mark_adjust __PARMS((long line1, long line2, long inc));
END_OF_FILE
if test 439 -ne `wc -c <'vim/src/proto/mark.pro'`; then
echo shar: \"'vim/src/proto/mark.pro'\" unpacked with wrong size!
fi
# end of 'vim/src/proto/mark.pro'
fi
echo shar: End of archive 9 \(of 26\).
cp /dev/null ark9isdone
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...