-+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+ Vmits`20of`20the`20`20box,`20`20and X`20`20adds`20extra`20spaces`20between`20words`20as`20needed`20so`20that`20the V`20last`20word`20on`20`20each X`20`20line`20is`20"justified"`20flush`20with`20the`20right`20margin`20or`20edg Ve`20of`20the`20box. X X`20`20Typically,`20you`20use`20`20JUSTIFY`20`20RANGE`20`20after`20`20erasing, V`20removing,`20or`20pasting X`20`20text,`20or`20after`20changing`20the`20margins`20or`20paragraph`20indent. V X X`20`20Steps: X X`20`20`20`20`201.`20Select`20or`20find`20the`20text`20to`20justify`20(see`20he Vlp`20on`20Ranges`20and`20Boxes). X X`20`20`20`20`202.`20Use`20JUSTIFY`20or`20JUSTIFY`20RANGE. X X`20`20Usage`20notes: X X`20`20o`20`20Justifying`20a`20`20range`20`20uses`20`20the`20`20current`20`20ma Vrgins`20`20of`20`20the`20buffer. X`20`20`20`20`20Justifying`20`20a`20box`20uses`20the`20limits`20of`20the`20box, V`20so`20you`20can`20reformat X`20`20`20`20`20a`20list`20or`20part`20of`20a`20table`20without`20affecting`20a Vdjacent`20text. X X`20`20o`20`20If`20you`20used`20SET`20BOX`20SELECT,`20then`20JUSTIFY`20RANGE`20 Vuses`20the`20start`20and X`20`20`20`20`20end`20of`20a`20found`20range`20as`20diagonally`20opposite`20cor Vners`20of`20a`20box. X X`20`20o`20`20If`20there`20is`20a`20found`20`20range`20`20at`20`20the`20`20end V`20`20of`20a`20selection,`20JUSTIFY X`20`20`20`20`20RANGE`20works`20on`20the`20selection,`20but`20not`20on`20the`20 Vfound`20range. X X`20`20o`20`20JUSTIFY`20RANGE`20keeps`20`20blank`20`20lines`20`20and`20`20page V`20`20breaks`20as`20paragraph X`20`20`20`20`20boundaries,`20`20so`20`20you`20can`20select`20several`20paragra Vphs`20or`20the`20`20entire X`20`20`20`20`20buffer`20for`20reformatting.`20`20For`20example,`20if`20your`20 Vselection`20contains X`20`20`20`20`20lines X X`20`20o`20`20JUSTIFY`20RANGE`20deletes`20tabs`20`20and`20`20spaces`20`20at`20 V`20the`20start`20and`20end`20of X`20`20`20`20`20each`20`20line`20`20in`20`20the`20range,`20and`20replaces`20mul Vtiple`20spaces`20`20or`20`20tabs X`20`20`20`20`20between`20words`20with`20a`20single`20space.`20`20It`20then`20a Vdds`20one`20extra`20`20space X`20`20`20`20`20following`20`20the`20`20end`20`20of`20`20a`20`20sentence,`20i.e V.,`20a`20period,`20exclamation X`20`20`20`20`20point,`20or`20question`20mark.`20`20Finally,`20extra`20spaces V`20are`20added`20between X`20`20`20`20`20words`20to`20bring`20the`20last`20word`20`20in`20`20each`20`20l Vine`20flush`20with`20the`20right X`20`20`20`20`20margin`20or`20limit`20of`20the`20box.`20`20If`20the`20range`20b Vegins`20in`20the`20middle`20of X`20`20`20`20`20a`20`20line,`20`20JUSTIFY`20`20RANGE`20does`20not`20delete`20ta Vbs`20and`20spaces`20`20at`20`20the X`20`20`20`20`20start`20of`20that`20line. X X`20`20o`20`20Justifying`20a`20box`20converts`20tab`20characters`20`20to`20spac Ves`20in`20the`20box`20or X`20`20`20`20`20to`20the`20right`20of`20the`20box,`20to`20keep`20the`20column V`20alignment`20of`20text. X X`20`20o`20`20If`20the`20paragraph`20`20indent`20`20is`20`20not`20`200`20`20(th Ve`20`20default`20setting),`20you X`20`20`20`20`20cannot`20`20justify`20a`20range`20unless`20the`20range`20starts V`20at`20the`20start`20of`20a X`20`20`20`20`20paragraph. X X`20`20Related`20topics: X X`20`20`20`20Ranges`20And`20Boxes`20`20`20`20`20JUSTIFY`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20JUSTIFY`20PARAGRAPH X`20`20`20`20UNJUSTIFY`20`20`20`20`20`20`20`20`20`20`20`20SET`20LEFT`20MARGIN V`20`20`20`20`20`20`20`20SET`20PARAGRAPH`20INDENT X`20`20`20`20SET`20RIGHT`20MARGIN`20`20`20`20`20NARROWER`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20WIDER X`20`20`20`20FILL X X1`20NARROWER X`20NARROWER X X`20`20The`20NARROWER`20command`20increases`20the`20`20left`20`20margin`20and V`20decreases`20the`20right X`20`20margin`20`20settings`20for`20the`20current`20buffer`20to`20make`20the`20 Vtext`20editing`20`20region X`20`20narrower.`20`20Optionally,`20the`20paragraph`20indent`20may`20be`20chang Ved. X X`20`20Syntax`20(items`20in`20square`20brackets`20are`20optional): X`20`20------ X X`20`20`20`20`20`20NARROWER`20`5Bhow_much`5D`20`5BP=new_indent`5D`20`5BL=left_a Vmount`5D`20`5BR=right_amount`5D X X X`20`20Examples:`20`20`20Command:`20narrower`20`20`20`20`20-`20increases`20the V`20`20left`20`20margin`20by`204 X`20`20--------`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20columns`20`20`20while`20`20decreasing`20`20the X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20right`20margin`20by`204`20columns. X X`20`20`20`20`20`20`20`20`20`20`20`20`20`20Command:`20nar`203`20p=4`20`20`20`20 V-`20changes`20`20the`20`20`20left`20`20`20and`20`20right X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20margins`20`20by`203`20columns,`20and`20`20 Valso X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20sets`20the`20paragraph`20indent`20`20to`20 V`204 X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20columns. X X`20`20`20`20`20`20`20`20`20`20`20`20`20`20Command:`20nar`206`20r=8`20`20`20`20 V-`20changes`20`20the`20`20left`20`20margin`20`20by`206 X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20columns`20`20and`20the`20right`20margin`20 Vby X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`208`20columns. X X`20`20`20`20`20`20`20`20`20`20`20`20`20`20Command:`20nar`20l=0`20p=-4`20-`20ch Vanges`20the`20`20right`20`20margin`20`20by`204 X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20columns,`20`20`20sets`20`20the`20`20`20par Vagraph X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20indent`20to`20-4`20columns,`20but`20leaves V X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20the`20left`20margin`20unchanged. X X X`20`20By`20default,`20NARROWER`20increases`20the`20left`20`20margin,`20and`20d Vecreases`20the`20right X`20`20margin,`20`20by`204`20columns`20(or`20another`20site-dependent`20default V).`20`20However,`20`20if X`20`20the`20current`20right`20margin`20is`20within`201`20column`20of`20the`20c Vurrent`20window`20width, X`20`20the`20right`20margin`20is`20decreased`20by`206`20columns`20(or`201`201/2 V`20times`20the`20`20default) X`20`20to`20`20give`20`20a`20`20more`20`20esthetically`20`20pleasing`20`20appea Vrance.`20`20`20By`20default,`20the X`20`20current`20buffer's`20paragraph`20indent`20is`20not`20changed. X X`20`20The`20user`20may`20override`20the`20default`20`20behaviour`20`20by`20sup Vplying`20any`20or`20all`20of X`20`20the`20`20optional`20`20command`20line`20parameters.`20`20Those`20paramet Vers`20may`20appear`20`20in X`20`20any`20order`20on`20the`20command`20line. X X`20`20`20`20`20`20`20`20`20how_much`20-`20the`20number`20of`20columns`20by`20 V`20which`20to`20change`20the`20left X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20and`20right`20marg Vins.`20`20How_much`20must`20be`20non-negative. X X`20`20`20`20`20`20`20new_indent`20-`20the`20new`20paragraph`20`20indent`20`20f Vor`20the`20current`20buffer. X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20New_indent`20`20_m Vay_`20`20be`20`20negative`20in`20order`20`20to`20`20give X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20"hanging`20indenti Von". X X`20`20`20`20`20`20left_amount`20-`20the`20number`20of`20`20columns`20`20by`20 V`20which`20`20to`20increase`20the X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20left`20margin.`20 V`20Left_amount`20must`20be`20non-negative. X X`20`20`20`20`20right_amount`20-`20the`20number`20of`20`20columns`20`20by`20`20 Vwhich`20`20to`20decrease`20the X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20right`20margin.`20 V`20Right_amount`20must`20be`20non-negative. X X X`20`20Parameters`20are`20processed`20in`20the`20`20order`20`20they`20appear`20 Von`20the`20command`20line. X`20`20Thus`20`20a`20`20value`20`20for`20"how_much"`20which`20appears`20to`20th Ve`20right`20of`20`20an`20`20"L=nn" X`20`20specification`20on`20the`20command`20line`20will`20override`20"nn". X X`20`20Related`20topics: X X`20`20`20`20WIDER`20`20`20`20SET`20LEFT`20MARGIN`20`20`20`20`20SET`20RIGHT`20M VARGIN`20`20`20`20SET`20PARAGRAPH`20INDENT X X1`20UNJUSTIFY X`20UNJUSTIFY X X`20`20Reformats`20a`20range,`20box,`20or`20paragraph`20so`20the`20maximum`20nu Vmber`20of`20words`20fits X`20`20on`20a`20line`20(same`20as`20UNJUSTIFY`20RANGE`20or`20UNJUSTIFY`20PARAGR VAPH). X X`20`20Typically,`20you`20use`20UNJUSTIFY`20`20after`20`20erasing,`20removing, V`20or`20pasting`20text, X`20`20or`20after`20changing`20the`20margins`20or`20paragraph`20indent. X X`20`20Steps: X X`20`20`20`20`201.`20`20Optionally,`20select`20or`20find`20`20the`20`20text`20t Vo`20reformat`20(see X`20`20`20`20`20`20`20`20`20help`20`20on`20Ranges`20And`20Boxes),`20or`20put`20 Vthe`20cursor`20anywhere X`20`20`20`20`20`20`20`20`20in`20the`20paragraph`20you`20want`20to`20reformat. V X X`20`20`20`20`202.`20`20Use`20UNJUSTIFY. X X`20`20Usage`20notes: X X`20`20o`20`20Unjustifying`20a`20range`20or`20paragraph`20uses`20the`20current V`20margins`20of`20the X`20`20`20`20`20buffer.`20`20Unjustifying`20a`20box`20uses`20`20the`20`20limits V`20`20of`20the`20box,`20so`20you X`20`20`20`20`20can`20reformat`20a`20list`20or`20part`20of`20a`20table`20withou Vt`20affecting`20adjacent X`20`20`20`20`20text. X X`20`20o`20`20If`20you`20used`20SET`20BOX`20SELECT,`20then`20UNJUSTIFY`20uses V`20the`20start`20and`20end X`20`20`20`20`20of`20a`20found`20range`20as`20diagonally`20opposite`20corners V`20of`20a`20box. X X`20`20o`20`20If`20there`20is`20a`20found`20range`20`20at`20`20the`20`20end`20o Vf`20a`20selection,`20UNJUSTIFY X`20`20`20`20`20works`20on`20the`20selection`20but`20not`20on`20the`20found`20t Vext. X X`20`20o`20`20If`20you`20do`20`20not`20`20select`20`20or`20`20find`20`20text, V`20`20UNJUSTIFY`20`20reformats`20the X`20`20`20`20`20current`20`20paragraph`20`20and`20`20moves`20`20the`20cursor`20 Vto`20`20the`20`20end`20`20of`20`20that X`20`20`20`20`20paragraph.`20`20"Paragraphs"`20are`20bounded`20by`20any`20of`20 Vthe`20following: X X`20`20`20`20`20`20`20`20*`20`20Blank`20line X`20`20`20`20`20`20`20`20*`20`20Top`20or`20bottom`20of`20the`20buffer X`20`20`20`20`20`20`20`20*`20`20Page`20break`20(form`20feed`20at`20the`20start V`20of`20a`20line) X`20`20`20`20`20`20`20`20*`20`20RUNOFF`20command`20(such`20as`20.BREAK;)`20at V`20the`20start`20of`20a`20line X`20`20`20`20`20`20`20`20*`20`20VAX`20DOCUMENT`20tag`20(such`20as`20)`20at V`20the`20start`20of`20a`20line X X`20`20o`20`20Unjustifying`20a`20range`20or`20box`20keeps`20`20blank`20lines`20 Vand`20page`20breaks`20as X`20`20`20`20`20paragraph`20boundaries,`20so`20you`20can`20select`20several`20p Varagraphs`20or`20the X`20`20`20`20`20entire`20`20buffer`20`20for`20reformating.`20`20For`20example, V`20if`20your`20`20selection X`20`20`20`20`20contains`20lines`20beginning`20with`20RUNOFF`20commands`20or`20 V`20DOCUMENT`20`20tags, X`20`20`20`20`20UNJUSTIFY`20`20does`20`20not`20`20reformat`20those`20lines,`20b Vut`20does`20reformat`20the X`20`20`20`20`20other`20lines`20in`20the`20range. X X`20`20o`20`20UNJUSTIFY`20deletes`20tabs`20and`20spaces`20`20at`20`20the`20`20s Vtart`20and`20end`20of`20each X`20`20`20`20`20line`20`20in`20the`20range`20or`20paragraph,`20and`20replaces V`20multiple`20spaces`20and X`20`20`20`20`20tabs`20between`20words`20with`20a`20single`20space.`20`20It`20t Vhen`20adds`20`20one`20`20extra X`20`20`20`20`20space`20`20at`20`20the`20`20end`20`20of`20`20each`20`20sentence V,`20`20i.e.,`20`20after`20`20a`20period, X`20`20`20`20`20exclamation`20point,`20or`20a`20question`20`20mark.`20`20`20If V`20`20the`20range`20begins`20in X`20`20`20`20`20the`20`20middle`20of`20a`20line,`20UNJUSTIFY`20does`20not`20del Vete`20tabs`20and`20`20spaces X`20`20`20`20`20at`20the`20start`20of`20that`20line. X X`20`20o`20`20Unjustifying`20a`20box`20converts`20tab`20`20characters`20`20to V`20spaces`20in`20the`20box X`20`20`20`20`20or`20to`20the`20right`20of`20the`20box,`20to`20keep`20the`20col Vumn`20alignment`20of`20text. X X`20`20o`20`20If`20the`20paragraph`20`20indent`20`20is`20`20not`20`200`20`20(th Ve`20`20default`20setting),`20you X`20`20`20`20`20cannot`20`20unjustify`20a`20range`20unless`20the`20range`20star Vts`20at`20the`20start`20of X`20`20`20`20`20a`20paragraph. X X`20`20Related`20topics: X X`20`20`20`20`20Ranges`20And`20Boxes`20`20`20`20`20UNJUSTIFY`20PARAGRAPH`20`20 V`20`20`20`20`20UNJUSTIFY`20RANGE X`20`20`20`20`20JUSTIFY`20`20`20`20`20`20`20`20`20`20`20`20`20`20SET`20LEFT`20M VARGIN`20`20`20`20`20`20`20`20`20`20`20SET`20PARAGRAPH`20INDENT X`20`20`20`20`20SET`20RIGHT`20MARGIN`20`20`20`20`20NARROWER`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20WIDER X`20`20`20`20`20FILL X X1`20UNJUSTIFY_PARAGRAPH X`20UNJUSTIFY`20PARAGRAPH X X`20`20Reformats`20the`20current`20paragraph,`20`20so`20`20that`20`20the`20`20m Vaximum`20number`20of`20words X`20`20fits`20on`20a`20line`20according`20to`20the`20margins`20of`20the`20buffe Vr. X X`20`20Typically,`20you`20`20use`20`20UNJUSTIFY`20`20PARAGRAPH`20`20after`20`20 Verasing,`20`20removing,`20or X`20`20pasting`20text,`20or`20after`20changing`20the`20margins`20or`20paragraph V`20indent. X X`20`20Steps: X X`20`20`20`20`201.`20Put`20the`20cursor`20`20anywhere`20`20in`20`20the`20`20par Vagraph`20you`20want`20to X`20`20`20`20`20`20`20`20unjustify. X X`20`20`20`20`202.`20Use`20UNJUSTIFY`20PARAGRAPH.`20`20The`20cursor`20moves`20t Vo`20the`20end`20of X`20`20`20`20`20`20`20`20the`20paragraph. X X`20`20Usage`20notes: X X`20`20o`20`20"Paragraphs"`20are`20bounded`20by`20any`20of`20the`20following: X X`20`20`20`20`20`20`20`20*`20`20Blank`20line X`20`20`20`20`20`20`20`20*`20`20Top`20or`20bottom`20of`20the`20buffer X`20`20`20`20`20`20`20`20*`20`20Page`20break`20(form`20feed`20at`20the`20start V`20of`20a`20line) X`20`20`20`20`20`20`20`20*`20`20RUNOFF`20command`20(such`20as`20.BREAK;)`20at V`20the`20start`20of`20a`20line X`20`20`20`20`20`20`20`20*`20`20VAX`20DOCUMENT`20tag`20(such`20as`20)`20at V`20the`20start`20of`20a`20line X X`20`20o`20`20UNJUSTIFY`20PARAGRAPH`20deletes`20tabs`20and`20spaces`20`20at`20t Vhe`20start`20and`20end X`20`20`20`20`20of`20`20each`20`20line`20in`20the`20range`20or`20paragraph,`20a Vnd`20`20replaces`20`20multiple X`20`20`20`20`20spaces`20and`20tabs`20between`20words`20with`20a`20single`20spa Vce.`20`20It`20then`20`20adds X`20`20`20`20`20one`20`20extra`20`20space`20`20at`20`20the`20`20end`20`20of`20 V`20each`20sentence,`20i.e.,`20after`20a X`20`20`20`20`20period,`20exclamation`20point,`20`20or`20`20a`20`20question`20 V`20mark.`20`20`20If`20the`20range X`20`20`20`20`20begins`20`20in`20`20the`20`20middle`20of`20a`20line,`20UNJUSTIF VY`20PARAGRAPH`20`20does`20`20not X`20`20`20`20`20delete`20tabs`20and`20spaces`20at`20the`20start`20of`20that`20l Vine. X X`20`20Related`20topics: X X`20`20`20`20`20Ranges`20And`20Boxes`20`20`20`20`20UNJUSTIFY`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20UNJUSTIFY`20RANGE X`20`20`20`20`20JUSTIFY`20`20`20`20`20`20`20`20`20`20`20`20`20`20SET`20LEFT`20M VARGIN`20`20`20`20`20`20`20`20`20`20`20SET`20PARAGRAPH`20INDENT X`20`20`20`20`20SET`20RIGHT`20MARGIN`20`20`20`20`20NARROWER`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20WIDER X`20`20`20`20`20FILL X X1`20UNJUSTIFY_RANGE X`20UNJUSTIFY`20RANGE X X`20`20Reformats`20a`20range`20or`20box`20so`20the`20maximum`20number`20of`20wo Vrds`20fits`20on`20a`20line. X X`20`20Typically,`20you`20use`20UNJUSTIFY`20`20RANGE`20`20after`20erasing,`20re Vmoving,`20or`20pasting X`20`20text,`20or`20after`20changing`20the`20margins`20or`20paragraph`20indent. V X X`20`20Steps: X X`20`20`20`20`201.`20Select`20or`20`20find`20`20the`20`20text`20`20to`20`20unju Vstify`20`20(see`20help`20on X`20`20`20`20`20`20`20`20Ranges`20and`20Boxes). X X`20`20`20`20`202.`20Use`20UNJUSTIFY`20or`20UNJUSTIFY`20RANGE. X X`20`20Usage`20notes: X X`20`20o`20`20Unjustifying`20a`20range`20`20uses`20`20the`20`20current`20`20mar Vgins`20`20of`20the`20buffer. X`20`20`20`20`20Unjustifying`20`20a`20`20box`20`20uses`20`20the`20limits`20of V`20the`20`20box,`20`20so`20`20you`20`20can X`20`20`20`20`20reformat`20a`20list`20or`20part`20of`20a`20`20table`20`20withou Vt`20`20affecting`20`20adjacent X`20`20`20`20`20text. X X`20`20o`20`20If`20you`20used`20SET`20BOX`20`20SELECT,`20`20then`20UNJUSTIFY`20 VRANGE`20uses`20the`20start X`20`20`20`20`20and`20end`20of`20a`20found`20range`20as`20diagonally`20opposite V`20corners`20of`20a`20box. X X`20`20o`20`20If`20there`20is`20a`20found`20range`20`20at`20`20the`20`20end`20o Vf`20a`20selection,`20UNJUSTIFY X`20`20`20`20`20RANGE`20works`20on`20the`20selection,`20but`20not`20on`20the`20 Vfound`20range. X X`20`20o`20`20UNJUSTIFY`20RANGE`20keeps`20blank`20`20lines`20`20and`20`20page V`20breaks`20as`20paragraph X`20`20`20`20`20boundaries,`20`20so`20`20you`20can`20select`20several`20paragra Vphs`20or`20the`20`20entire X`20`20`20`20`20buffer`20for`20reformatting.`20`20For`20example,`20if`20your`20 Vselection`20contains X`20`20`20`20`20lines`20beginning`20with`20RUNOFF`20commands`20or`20DOCUMENT`20 Vtags,`20`20UNJUSTIFY X`20`20`20`20`20RANGE`20`20does`20not`20reformat`20those`20lines,`20but`20does V`20reformat`20the`20other X`20`20`20`20`20lines`20in`20the`20selection. X X`20`20o`20`20UNJUSTIFY`20RANGE`20deletes`20tabs`20and`20`20spaces`20`20at`20th Ve`20start`20and`20end`20of X`20`20`20`20`20each`20`20line`20`20in`20the`20range,`20and`20replaces`20multip Vle`20spaces`20`20and`20`20tabs X`20`20`20`20`20between`20words`20with`20a`20single`20space.`20`20It`20then`20a Vdds`20one`20extra`20`20space X`20`20`20`20`20at`20`20the`20`20end`20`20of`20each`20sentence,`20i.e.,`20after V`20a`20period,`20exclamation X`20`20`20`20`20point,`20or`20a`20question`20mark.`20`20If`20the`20`20range`20b Vegins`20in`20the`20middle`20of X`20`20`20`20`20a`20`20line,`20`20UNJUSTIFY`20RANGE`20does`20not`20delete`20tab Vs`20and`20spaces`20at`20`20the X`20`20`20`20`20start`20of`20that`20line. X X`20`20o`20`20Unjustifying`20a`20box`20converts`20tab`20`20characters`20`20to V`20spaces`20in`20the`20box X`20`20`20`20`20or`20to`20the`20right`20of`20the`20box,`20to`20keep`20the`20col Vumn`20alignment`20of`20text. X X`20`20o`20`20If`20the`20paragraph`20`20indent`20`20is`20`20not`20`200`20`20(th Ve`20`20default`20setting),`20you X`20`20`20`20`20cannot`20`20unjustify`20a`20range`20unless`20the`20range`20star Vts`20at`20the`20start`20of X`20`20`20`20`20a`20paragraph. X X`20`20Related`20topics: X X`20`20`20`20`20Ranges`20And`20Boxes`20`20`20`20`20UNJUSTIFY`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20UNJUSTIFY`20PARAGRAPH X`20`20`20`20`20JUSTIFY`20`20`20`20`20`20`20`20`20`20`20`20`20`20SET`20LEFT`20M VARGIN`20`20`20`20`20`20`20`20`20`20`20SET`20PARAGRAPH`20INDENT X`20`20`20`20`20SET`20RIGHT`20MARGIN`20`20`20`20`20NARROWER`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20WIDER X`20`20`20`20`20FILL X X1`20WIDER X`20WIDER X X`20`20The`20WIDER`20command`20decreases`20`20the`20`20left`20`20margin`20`20an Vd`20`20increases`20the`20right X`20`20margin`20`20settings`20for`20the`20current`20buffer`20to`20make`20the`20 Vtext`20editing`20`20region X`20`20wider.`20`20Optionally,`20the`20paragraph`20indent`20may`20be`20changed. V X X X`20`20Syntax`20(items`20in`20square`20brackets`20are`20optional): X`20`20------ X X`20`20`20`20`20`20WIDER`20`5Bhow_much`5D`20`5BP=new_indent`5D`20`5BL=left_amou Vnt`5D`20`5BR=right_amount`5D X X X`20`20Examples:`20`20`20Command:`20wider`20`20`20`20`20`20`20`20-`20decreases V`20the`20`20left`20`20margin`20by`204 X`20`20--------`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20columns`20`20`20while`20`20increasing`20`20the X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20right`20margin`20by`204`20columns. X X`20`20`20`20`20`20`20`20`20`20`20`20`20`20Command:`20wid`203`20p=4`20`20`20`20 V-`20changes`20`20the`20`20`20left`20`20`20and`20`20right X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20margins`20`20by`203`20columns,`20and`20`20 Valso X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20sets`20the`20paragraph`20indent`20`20to`20 V`204 X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20columns. X X`20`20`20`20`20`20`20`20`20`20`20`20`20`20Command:`20wid`206`20r=8`20`20`20`20 V-`20changes`20`20the`20`20left`20`20margin`20`20by`206 X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20columns`20`20and`20the`20right`20margin`20 Vby X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`208`20columns. X X`20`20`20`20`20`20`20`20`20`20`20`20`20`20Command:`20wid`20l=0`20p=-4`20-`20ch Vanges`20the`20`20right`20`20margin`20`20by`204 X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20columns,`20`20`20sets`20`20the`20`20`20par Vagraph X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20indent`20to`20-4`20columns,`20but`20leaves V X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`20`20`20the`20left`20margin`20unchanged. X X X`20`20By`20default,`20WIDER`20decreases`20`20the`20`20left`20`20margin,`20`20a Vnd`20increases`20the`20right X`20`20margin,`20`20by`204`20columns`20(or`20another`20site-dependent`20default V).`20`20However,`20`20if X`20`20the`20new`20right`20margin`20would`20be`20within`206`20`20columns`20`20( Vor`20`201`20`201/2`20`20times`20`20the X`20`20default)`20`20of`20`20the`20`20current`20`20window`20width,`20the`20righ Vt`20margin`20is`20set`20to`20the X`20`20window`20width`20minus`201`20(EVE's`20`20default).`20`20`20If`20the`20le Vft`20margin`20would`20become X`20`20zero`20`20or`20`20negative,`20`20it`20`20is`20set`20to`20column`201.`20 V`20By`20`20default,`20`20the`20`20current X`20`20buffer's`20paragraph`20indent`20is`20not`20changed. X X`20`20The`20user`20may`20override`20the`20default`20`20behaviour`20`20by`20sup Vplying`20any`20or`20all`20of X`20`20the`20`20optional`20`20command`20line`20parameters.`20`20Those`20paramet Vers`20may`20appear`20`20in X`20`20any`20order`20on`20the`20command`20line. X X`20`20`20`20`20`20`20`20`20how_much`20-`20the`20number`20of`20columns`20by`20 V`20which`20to`20change`20the`20left X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20and`20right`20marg Vins.`20`20How_much`20must`20be`20non-negative. X X`20`20`20`20`20`20`20new_indent`20-`20the`20new`20paragraph`20`20indent`20`20f Vor`20the`20current`20buffer. X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20New_indent`20`20_m Vay_`20`20be`20`20negative`20in`20order`20`20to`20`20give X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20"hanging`20indenti Von". X X`20`20`20`20`20`20left_amount`20-`20the`20number`20of`20`20columns`20`20by`20 V`20which`20`20to`20decrease`20the X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20left`20margin.`20 V`20Left_amount`20must`20be`20non-negative. X X`20`20`20`20`20right_amount`20-`20the`20number`20of`20`20columns`20`20by`20`20 Vwhich`20`20to`20increase`20the X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20right`20margin.`20 V`20Right_amount`20must`20be`20non-negative. X X X`20`20Parameters`20are`20processed`20in`20the`20`20order`20`20they`20appear`20 Von`20the`20command`20line. X`20`20Thus`20`20a`20`20value`20`20for`20"how_much"`20which`20appears`20to`20th Ve`20right`20of`20`20an`20`20"L=nn" X`20`20specification`20on`20the`20command`20line`20will`20override`20"nn". X X X`20`20Related`20topics: X X`20`20`20`20NARROWER`20`20`20SET`20LEFT`20MARGIN`20`20`20`20SET`20RIGHT`20MARG VIN`20`20`20SET`20PARAGRAPH`20INDENT X $ call unpack KHF$FORMAT.HLP;1 1800544959 "" 40 3 6 $! $ create 'f' X`0C X!----------------------------New`20EVE/KHF`20Procedures----------------------- V----- X X XProcedure`20Eve_Justify`09`09!`20Fill`20and`20justify`20a`20range`20or`20parag Vraph X!`09`20`20----------- X XLocal`09the_selection, X`09the_status; X XOn_Error X`20`20`20`20`5BOTHERWISE`5D: XEndon_Error; X XIf`20Get_Info`20(CURRENT_BUFFER,`20"system") XThen X`20`20`20`20Eve$Message`20(EVE$_CANTSYSTEMBUF); X`20`20`20`20Eve$Learn_Abort; X`20`20`20`20Return`20(FALSE); XEndif; X Xthe_selection`20:=`20Eve$Selection`20(FALSE,,,`20eve$x_select_remove_flag,,`20 VTRUE); XIf`20(the_selection`20<>`200) XThen X`20`20`20`20Set`20(TIMER,`20ON,`20"Justifying..."); X`20`20`20`20the_status`20:=`20Eve$Fill_Range`20(the_selection,`20TRUE); X`20`20`20`20Set`20(TIMER,`20OFF); XElse X`20`20`20`20Set`20(TIMER,`20ON,`20"Justifying..."); X`20`20`20`20the_status`20:=`20Eve$Fill_Paragraph`20(TRUE); X`20`20`20`20Set`20(TIMER,`20OFF); XEndif; XReturn`20(the_status); X XEndprocedure;`09`09!`20Eve_Justify X X X XProcedure`20Eve_Justify_Paragraph X!`09`20`20--------------------- XLocal`09the_status; X XSet`20(TIMER,`20ON,`20"Justifying..."); Xthe_status`20:=`20Eve$Fill_Paragraph`20(TRUE); XSet`20(TIMER,`20OFF); XReturn`20(the_status); X XEndprocedure;`09`09!`20Eve_Justify_Paragraph X X XProcedure`20Eve_Justify_Range X!`09`20`20----------------- XLocal`20the_status; X XOn_Error X`20`20`20`20`5BOTHERWISE`5D: XEndon_Error; X XIf`20Get_Info`20(CURRENT_BUFFER,`20"system") XThen X`20`20`20`20Eve$Message`20(EVE$_CANTSYSTEMBUF); X`20`20`20`20Eve$Learn_Abort; X`20`20`20`20Return`20(FALSE); XEndif; X XSet`20(TIMER,`20ON,`20"Justifying..."); Xthe_status`20:=`20Eve$Fill_Range`20(Eve$Selection`20(FALSE,,, X`09`09`09`09`09`20`20`20`20`20eve$x_select_remove_flag,,TRUE), X`09`09`09`09`09`20`20`20`20`20TRUE); XSet`20(TIMER,`20OFF); XReturn`20(the_status); X XEndprocedure;`09`09!`20Eve_Justify_Range X X`0C XProcedure`20Eve_Unjustify`09`09!`20Fill_edit`20and`20fill`20a`20range`20or`20p Varagraph X!`09`20`20------------- X XLocal`09the_selection; X XOn_Error X`20`20`20`20`5BOTHERWISE`5D: XEndon_Error; X XIf`20Get_Info`20(CURRENT_BUFFER,`20"system") XThen X`20`20`20`20Eve$Message`20(EVE$_CANTSYSTEMBUF); X`20`20`20`20Eve$Learn_Abort; X`20`20`20`20Return`20(FALSE); XEndif; X Xthe_selection`20:=`20Eve$Selection`20(FALSE,,,`20eve$x_select_remove_flag,,`20 VTRUE); XIf`20(the_selection`20<>`200) XThen X`20`20`20`20Return`20(Eve$Fill_Range`20(the_selection,`20FALSE,`20TRUE)); XElse X`20`20`20`20Return`20(Eve$Fill_Paragraph`20(FALSE,`20TRUE)); XEndif; X XEndprocedure;`09`09!`20Eve_Unjustify X X X XProcedure`20Eve_Unjustify_Paragraph X!`09`20`20----------------------- X X`20`20`20`20Return`20(Eve$Fill_Paragraph`20(FALSE,`20TRUE)); X XEndprocedure;`09`09!`20Eve_Unjustify_Paragraph X X XProcedure`20Eve_Unjustify_Range X!`09`20`20------------------- X XOn_Error X`20`20`20`20`5BOTHERWISE`5D: XEndon_Error; X XIf`20Get_Info`20(CURRENT_BUFFER,`20"system") XThen X`20`20`20`20Eve$Message`20(EVE$_CANTSYSTEMBUF); X`20`20`20`20Eve$Learn_Abort; X`20`20`20`20Return`20(FALSE); XEndif; X XReturn`20(Eve$Fill_Range`20(Eve$Selection`20(FALSE,,,`20eve$x_select_remove_fl Vag,, X`09`09`09`09`20`20`20`20`20`20`20TRUE),`20FALSE,`20TRUE)); X XEndprocedure;`09`09!`20Eve_Unjustify_Range X`09 X`0C X!++ X!`20`20`20This`20procedure`20"narrows"`20the`20margins`20of`20the`20current`20 Vbuffer`20by`20increasing X!`20`20`20the`20left`20margin`20and`20decreasing`20the`20right`20margin.`20`20 VIn`20the`20absence`20of`20user X!`20`20`20input,`20the`20change`20is`204`20columns`20each,`20or`20as`20specifi Ved`20by`20the`20global X!`20`20`20variable`20khf$x_margin_change_amount.`20`20The`20user`20may`20optio Vnally`20specify`20a X!`20`20`20(non-negative)`20change`20amount`20for`20either`20the`20left,`20the V`20right,`20or`20both X!`20`20`20margins.`20`20Additionally,`20the`20user`20may`20specify`20a`20new V`20paragraph. X! X!`20`20Notes: X! X!`20`20`20Since`20most`20users`20prefer`20a`20slightly`20larger`20right`20marg Vin`20than`20left`20margin, X!`20`20`20for`20visual`20esthetics,`20if`20the`20current`20left`20margin`20is V`201`20and`20the`20right X!`20`20`20margin`20is`20the`20window-width`20minus`201,`20the`20right`20margin V`20is`20decreased`20by X!`20`20`20approximately`201`201/2`20times`20the`20default. X! X!`20`20Author/Date:`09`09K.H.`20Fairfield,`09`0922-JAN-1994 X! X!-- X XProcedure`20Eve_Narrower`20(; X!`09`20`20------------ X`09`09`09the_params)`09!`20Optional`20string`20giving`20the`20number X`09`09`09`09`09!`20of`20columns`20to`20narrow,`20the`20new X`09`09`09`09`09!`20paragraph`20indention,`20and/or`20the X`09`09`09`09`09!`20amount`20by`20which`20to`20change`20the`20left X`09`09`09`09`09!`20or`20right`20margin. X XLocal`09the_string,`09`09!`20Copy`20of`20the_params X`09this_piece,`09`09!`20A`20parsed`20substring`20of`20the_string X`09the_left,`09`09!`20Current`20left`20margin`20setting X`09the_right,`09`09!`20Current`20right`20margin`20setting X`09par_indent,`09`09!`20Current`20_relative_`20paragraph`20indent X`09change_left,`09`09!`20Amount`20by`20which`20to`20change`20the`20left`20marg Vin X`09change_right,`09`09!`20Amount`20by`20which`20to`20change`20the`20right`20ma Vrgin X`09initial,`09`09!`20First`20character`20in`20the_piece X`09the_len,`09`09!`20Length`20of`20the_piece X`09indx,`09`09`09!`20Index`20into`20the_piece X`09spc;`09`09`09!`20Index`20of`20a`20space`20character`20in`20the_string, X X`20`20`20`20On_Error X`09`5BTPU$_CONTROLC`5D: X`09`20`20`20`20Eve$Learn_Abort; X`09`20`20`20`20Abort; X`09`5BOTHERWISE`5D: X`09`20`20`20`20Eve$Learn_Abort; X`09`20`20`20`20Return`20(FALSE); X`20`20`20`20Endon_Error; X X`20`20`20`20the_left`20`20:=`20Get_Info`20(CURRENT_BUFFER,`20"left_margin"); X`20`20`20`20the_right`20:=`20Get_Info`20(CURRENT_BUFFER,`20"right_margin"); X X`20`20`20`20change_left`20`20:=`20khf$x_margin_change_amount; X`20`20`20`20change_right`20:=`20khf$x_margin_change_amount; X`20`20`20`20If`20((the_left`20=`201)`20And X`09((Get_Info`20(CURRENT_WINDOW,`20"width")`20-`20the_right)`20<=`201)) X`20`20`20`20Then X`09change_right`20:=`20(change_right`20*`203`20)/2; X`20`20`20`20Endif; X X`20`20`20`20If`20(eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20=`20TPU$K_U VNSPECIFIED) X`20`20`20`20Then X`09par_indent`20:=`200; X`20`20`20`20Else X`09par_indent`20:=`20eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20-`20the_ Vleft; X`20`20`20`20Endif; X X!+ X!`20`20Check`20for`20a`20non-empty`20input`20string.`20`20If`20present,`20pars Ve`20it`20for`20any`20of X!`20`201)`20a`20number,`202)`20P=number`20or`20I=number,`203)`20L=number,`20or V`204)`20R=number. X!`20`20Except`20for`20case`201),`20return`20an`20error`20if`20the`20equals`20s Vign`20is`20missing, X!`20`20or`20if`20any`20other`20syntax`20is`20encountered. X!- X`20`20`20`20this_string`20:=`20the_params; X`20`20`20`20Edit`20(this_string,`20COMPRESS,`20UPPER); X X`20`20`20`20If`20(this_string`20<>`20eve$kt_null) X`20`20`20`20Then X`09Loop X`09`20`20`20`20spc`20:=`20Index`20(this_string,`20"`20"); X`09`20`20`20`20If`20(spc`20=`200) X`09`20`20`20`20Then X`09`09this_piece`20:=`20this_string; X`09`20`20`20`20Else X`09`09this_piece`20`20:=`20Substr`20(this_string,`201,`20spc-1); X`09`09this_string`20:=`20Substr`20(this_string,`20spc+1); X`09`20`20`20`20Endif; X`09`20`20`20`20the_len`20:=`20Length`20(this_piece); X`09`20`20`20`20initial`20:=`20Substr`20(this_piece,`201,`201); X X`09`20`20`20`20Case`20initial X`09`09`5B'0','1','2','3','4','5','6','7','8','9'`5D: X`09`09`20`20`20`20indx`20:=`201;`09`09!`20Already`20"checked"`20first`20charac Vter X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09change_left`20`20:=`20Int`20(this_piece); X`09`09`09change_right`20:=`20change_left; X`09`09`20`20`20`20Endif; X X`09`09`5B'P','I'`5D: X`09`09`20`20`20`20indx`20:=`202; X`09`09`20`20`20`20If`20(Substr`20(this_piece,`20indx,`201)`20<>`20"=") X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20If`20((Substr`20(this_piece,`203,`201)`20=`20"-")`20Or X`09`09`09(Substr`20(this_piece,`203,`201)`20=`20"+")) X`09`09`20`20`20`20Then X`09`09`09indx`20:=`203; X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09par_indent`20:=`20Int`20(Substr`20(this_piece,`203)); X`09`09`20`20`20`20Endif; X X`09`09`5B'L'`5D: X`09`09`20`20`20`20indx`20:=`202; X X`09`09`20`20`20`20If`20(Substr`20(this_piece,`20indx,`201)`20<>`20"=") X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09change_left`20:=`20Int`20(Substr`20(this_piece,`203)); X`09`09`09If`20(change_left`20<`200) X`09`09`09Then X`09`09`09`20`20`20`20Eve$Message`20( X`09`09`09`09"You`20cannot`20narrow`20the`20left`20margin`20by`20a`20"`20+ X`09`09`09`09"negative`20amount:`20"`20+`20this_piece); X`09`09`09`20`20`20`20Eve$Learn_Abort; X`09`09`09`20`20`20`20Return`20(FALSE); X`09`09`09Endif; X`09`09`20`20`20`20Endif; X X`09`09`5B'R'`5D: X`09`09`20`20`20`20indx`20:=`202; X X`09`09`20`20`20`20If`20(Substr`20(this_piece,`20indx,`201)`20<>`20"=") X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09change_right`20:=`20Int`20(Substr`20(this_piece,`203)); X`09`09`09If`20(change_right`20<`200) X`09`09`09Then X`09`09`09`20`20`20`20Eve$Message`20( X`09`09`09`09"You`20cannot`20narrow`20the`20right`20margin`20by`20a`20"`20+ X`09`09`09`09"negative`20amount:`20"`20+`20this_piece); X`09`09`09`20`20`20`20Eve$Learn_Abort; X`09`09`09`20`20`20`20Return`20(FALSE); X`09`09`09Endif; X`09`09`20`20`20`20Endif; X X`09`09`5BOUTRANGE`5D: X`09`09`20`20`20`20Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" V X`09`09`09`09`20+`20this_piece); X`09`09`20`20`20`20Eve$Learn_Abort; X`09`09`20`20`20`20Return`20(FALSE); X X`09`20`20`20`20Endcase; X`09`20`20`20`20Exitif`20(spc`20=`200); X`09Endloop; X`20`20`20`20Endif; X X!+ X!`20`20The`20input`20parameters,`20if`20present,`20have`20been`20parsed.`20`20 VCalculate`20the`20new X!`20`20left`20and`20right`20margins,`20and`20(absolute)`20paragraph`20indent, V`20and`20verify`20that X!`20`20they`20are`20allowable`20values. X!- X X`20`20`20`20the_left`20`20:=`20the_left`20`20+`20change_left; X`20`20`20`20the_right`20:=`20the_right`20-`20change_right; X X`20`20`20`20If`20(the_left`20>=`20the_right) X`20`20`20`20Then X`09Eve$Message`20("Left`20margin`20must`20be`20less`20than`20right`20margin"); V X`09Eve$Learn_Abort; X`09Return`20(FALSE); X`20`20`20`20Else X`09If`20((the_left`20+`20par_indent)`20>=`20the_right) X`09Then X`09`20`20`20`20Eve$Message`20("Paragraph`20indent`20cannot`20exceed`20the`20ri Vght`20margin"); X`09`20`20`20`20Eve$Learn_Abort; X`09`20`20`20`20Return`20(FALSE); X`09Else X`09`20`20`20`20If`20((the_left`20+`20par_indent)`20<=`200) X`09`20`20`20`20Then X`09`09Eve$Message`20(EVE$_PINDENTSMALL); X`09`09Eve$Learn_Abort; X`09`09Return`20(FALSE); X`09`20`20`20`20Endif; X`09Endif; X`20`20`20`20Endif; X X`20`20`20`20Set`20(LEFT_MARGIN,`20`20CURRENT_BUFFER,`20the_left); X`20`20`20`20Set`20(RIGHT_MARGIN,`20CURRENT_BUFFER,`20the_right); X`20`20`20`20eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20:=`20the_left`20+ V`20par_indent; X`20`20`20`20If`20(eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20=`200) X`20`20`20`20Then X`09eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20:=`20TPU$K_UNSPECIFIED; X`20`20`20`20Endif; X X`20`20`20`20Eve$Message`20(Fao`20( X`09"New`20margin`20settings`20are:`20Left`20!SL,`20Right`20!SL,`20Paragraph`20 VIndent`20!SL.", X`09`20`20`20`20`20`20the_left,`20the_right,`20par_indent)); X X`20`20`20`20Return`20(TRUE); X XEndprocedure;`09`09!`20Eve_Narrower X X`0C X!++ X!`20`20`20This`20procedure`20"widens"`20the`20margins`20of`20the`20current`20b Vuffer`20by`20decreasing X!`20`20`20the`20left`20margin`20and`20increasing`20the`20right`20margin.`20`20 VIn`20the`20absence`20of`20user X!`20`20`20input,`20the`20change`20is`204`20columns`20each,`20or`20as`20specifi Ved`20by`20the`20global X!`20`20`20variable`20khf$x_margin_change_amount.`20`20The`20user`20may`20optio Vnally`20specify`20a X!`20`20`20(non-negative)`20change`20amount`20for`20either`20the`20left,`20the V`20right,`20or`20both X!`20`20`20margins.`20`20Additionally,`20the`20user`20may`20specify`20a`20new V`20paragraph. X! X!`20`20Notes: X! X!`20`20`20If`20widening`20either`20the`20left`20or`20right`20margin`20would`20 Vset`20the`20margin`20outside X!`20`20`20the`20window`20boundary,`20the`20margin`20in`20question`20will`20be V`20set`20to`20within`20the X!`20`20`20window.`20`20That`20is,`20the`20left`20margin`20will`20be`20set`20no V`20less`20than`201,`20the`20right X!`20`20`20margin`20will`20be`20set`20no`20more`20than`20the`20width`20of`20the V`20window`20minus`201`20(EVE's X!`20`20`20default).`20`20However,`20if`20a`20negative`20paragraph`20indent`20w Vould`20result`20in`20a X!`20`20`20zero`20or`20negative`20_absolute_`20indent,`20an`20error`20message V`20is`20issued`20and`20no X!`20`20`20action`20is`20taken. X! X!`20`20Author/Date:`09`09K.H.`20Fairfield,`09`0922-JAN-1994 X! X!-- X XProcedure`20Eve_Wider`20(; X!`09`20`20--------- X`09`09`20`20`20`20`20the_params)`09!`20Optional`20string`20giving`20the`20numb Ver X`09`09`09`09`09!`20of`20columns`20to`20widen,`20the`20new X`09`09`09`09`09!`20paragraph`20indention,`20and/or`20the X`09`09`09`09`09!`20amount`20by`20which`20to`20change`20the`20left X`09`09`09`09`09!`20or`20right`20margin. X XLocal`09the_string,`09`09!`20Copy`20of`20the_params X`09this_piece,`09`09!`20A`20parsed`20substring`20of`20the_string X`09the_left,`09`09!`20Current`20left`20margin`20setting X`09the_right,`09`09!`20Current`20right`20margin`20setting X`09par_indent,`09`09!`20Current`20_relative_`20paragraph`20indent X`09change_left,`09`09!`20Amount`20by`20which`20to`20change`20the`20left`20marg Vin X`09change_right,`09`09!`20Amount`20by`20which`20to`20change`20the`20right`20ma Vrgin X`09max_right,`09`09!`20Maximum`20right`20margin`20value X`09initial,`09`09!`20First`20character`20in`20the_piece X`09the_len,`09`09!`20Length`20of`20the_piece X`09indx,`09`09`09!`20Index`20into`20the_piece X`09spc;`09`09`09!`20Index`20of`20a`20space`20character`20in`20the_string X X`20`20`20`20On_Error X`09`5BTPU$_CONTROLC`5D: X`09`20`20`20`20Eve$Learn_Abort; X`09`20`20`20`20Abort; X`09`5BOTHERWISE`5D: X`09`20`20`20`20Eve$Learn_Abort; X`09`20`20`20`20Return`20(FALSE); X`20`20`20`20Endon_Error; X X`20`20`20`20the_left`20`20:=`20Get_Info`20(CURRENT_BUFFER,`20"left_margin"); X`20`20`20`20the_right`20:=`20Get_Info`20(CURRENT_BUFFER,`20"right_margin"); X`20`20`20`20max_right`20:=`20Get_Info`20(CURRENT_WINDOW,`20"width")`20-`201; X X`20`20`20`20change_left`20`20:=`20khf$x_margin_change_amount; X`20`20`20`20change_right`20:=`20khf$x_margin_change_amount; X`20`20`20`20If`20((max_right`20-`20the_right)`20<=`20(3`20*`20khf$x_margin_cha Vnge_amount)/2) X`20`20`20`20Then X`09change_right`20:=`20max_right`20-`20the_right; X`20`20`20`20Endif; X X`20`20`20`20If`20(eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20=`20TPU$K_U VNSPECIFIED) X`20`20`20`20Then X`09par_indent`20:=`200; X`20`20`20`20Else X`09par_indent`20:=`20eve$$x_paragraph_indent`20`7BCURRENT_BUFFER`7D`20-`20the_ Vleft; X`20`20`20`20Endif; X X!+ X!`20`20Check`20for`20a`20non-empty`20input`20string.`20`20If`20present,`20pars Ve`20it`20for`20any`20of X!`20`201)`20a`20number,`202)`20P=number`20or`20I=number,`203)`20L=number,`20or V`204)`20R=number. X!`20`20Except`20for`20case`201),`20return`20an`20error`20if`20the`20equals`20s Vign`20is`20missing, X!`20`20or`20if`20any`20other`20syntax`20is`20encountered. X!- X`20`20`20`20this_string`20:=`20the_params; X`20`20`20`20Edit`20(this_string,`20COMPRESS,`20UPPER); X X`20`20`20`20If`20(this_string`20<>`20eve$kt_null) X`20`20`20`20Then X`09Loop X`09`20`20`20`20spc`20:=`20Index`20(this_string,`20"`20"); X`09`20`20`20`20If`20(spc`20=`200) X`09`20`20`20`20Then X`09`09this_piece`20:=`20this_string; X`09`20`20`20`20Else X`09`09this_piece`20`20:=`20Substr`20(this_string,`201,`20spc-1); X`09`09this_string`20:=`20Substr`20(this_string,`20spc+1); X`09`20`20`20`20Endif; X`09`20`20`20`20the_len`20:=`20Length`20(this_piece); X`09`20`20`20`20initial`20:=`20Substr`20(this_piece,`201,`201); X X`09`20`20`20`20Case`20initial X`09`09`5B'0','1','2','3','4','5','6','7','8','9'`5D: X`09`09`20`20`20`20indx`20:=`201;`09`09!`20Already`20"checked"`20first`20charac Vter X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09change_left`20`20:=`20Int`20(this_piece); X`09`09`09change_right`20:=`20change_left; X`09`09`20`20`20`20Endif; X X`09`09`5B'P','I'`5D: X`09`09`20`20`20`20indx`20:=`202; X`09`09`20`20`20`20If`20(Substr`20(this_piece,`20indx,`201)`20<>`20"=") X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20If`20((Substr`20(this_piece,`203,`201)`20=`20"-")`20Or X`09`09`09(Substr`20(this_piece,`203,`201)`20=`20"+")) X`09`09`20`20`20`20Then X`09`09`09indx`20:=`203; X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09par_indent`20:=`20Int`20(Substr`20(this_piece,`203)); X`09`09`20`20`20`20Endif; X X`09`09`5B'L'`5D: X`09`09`20`20`20`20indx`20:=`202; X X`09`09`20`20`20`20If`20(Substr`20(this_piece,`20indx,`201)`20<>`20"=") X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09change_left`20:=`20Int`20(Substr`20(this_piece,`203)); X`09`09`09If`20(change_left`20<`200) X`09`09`09Then X`09`09`09`20`20`20`20Eve$Message`20( X`09`09`09`09"You`20cannot`20widen`20the`20left`20margin`20by`20a`20"`20+ X`09`09`09`09"negative`20amount:`20"`20+`20this_piece); X`09`09`09`20`20`20`20Eve$Learn_Abort; X`09`09`09`20`20`20`20Return`20(FALSE); X`09`09`09Endif; X`09`09`20`20`20`20Endif; X X`09`09`5B'R'`5D: X`09`09`20`20`20`20indx`20:=`202; X X`09`09`20`20`20`20If`20(Substr`20(this_piece,`20indx,`201)`20<>`20"=") X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Eve$Learn_Abort; X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Endif; X X`09`09`20`20`20`20Loop X`09`09`09indx`20:=`20indx+1; X`09`09`09Exitif`20(indx`20>`20the_len); X`09`09`09Exitif`20(Index`20(eve$x_digit_characters, X`09`09`09`09`20`20`20`20`20`20`20Substr`20(this_piece,`20indx,`201))`20=`200); V X`09`09`20`20`20`20Endloop; X X`09`09`20`20`20`20If`20(indx`20<=`20the_len) X`09`09`20`20`20`20Then X`09`09`09Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" X`09`09`09`09`20`20`20`20`20+`20this_piece); X`09`09`09Return`20(FALSE); X`09`09`20`20`20`20Else X`09`09`09change_right`20:=`20Int`20(Substr`20(this_piece,`203)); X`09`09`09If`20(change_right`20<`200) X`09`09`09Then X`09`09`09`20`20`20`20Eve$Message`20( X`09`09`09`09"You`20cannot`20widen`20the`20right`20margin`20by`20a`20"`20+ X`09`09`09`09"negative`20amount:`20"`20+`20this_piece); X`09`09`09`20`20`20`20Eve$Learn_Abort; X`09`09`09`20`20`20`20Return`20(FALSE); X`09`09`09Endif; X`09`09`20`20`20`20Endif; X X`09`09`5BOUTRANGE`5D: X`09`09`20`20`20`20Eve$Message`20("Unrecognized`20or`20invalid`20parameter:`20" V +-+-+-+-+-+-+-+- END OF PART 2 +-+-+-+-+-+-+-+-