home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2017 < prev    next >
SHell self-extracting ARchive  |  1990-12-28  |  8.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail text default
99% file C source, ASCII text, with very long lines (466) default
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 62 72 | 6e 73 74 6e 64 40 6b 72 |From: br|nstnd@kr|
|00000010| 61 6d 64 65 6e 2e 61 63 | 66 2e 6e 79 75 2e 65 64 |amden.ac|f.nyu.ed|
|00000020| 75 20 28 44 61 6e 20 42 | 65 72 6e 73 74 65 69 6e |u (Dan B|ernstein|
|00000030| 29 0a 4e 65 77 73 67 72 | 6f 75 70 73 3a 20 61 6c |).Newsgr|oups: al|
|00000040| 74 2e 73 6f 75 72 63 65 | 73 0a 53 75 62 6a 65 63 |t.source|s.Subjec|
|00000050| 74 3a 20 70 6d 6c 69 6e | 65 64 20 31 2e 30 20 2d |t: pmlin|ed 1.0 -|
|00000060| 20 74 68 65 20 70 6f 6f | 72 20 6d 61 6e 27 73 20 | the poo|r man's |
|00000070| 6c 69 6e 65 20 64 69 73 | 63 69 70 6c 69 6e 65 0a |line dis|cipline.|
|00000080| 4d 65 73 73 61 67 65 2d | 49 44 3a 20 3c 38 35 39 |Message-|ID: <859|
|00000090| 32 3a 4f 63 74 33 31 32 | 31 3a 31 36 3a 32 30 39 |2:Oct312|1:16:209|
|000000a0| 30 40 6b 72 61 6d 64 65 | 6e 2e 61 63 66 2e 6e 79 |0@kramde|n.acf.ny|
|000000b0| 75 2e 65 64 75 3e 0a 44 | 61 74 65 3a 20 33 31 20 |u.edu>.D|ate: 31 |
|000000c0| 4f 63 74 20 39 30 20 32 | 31 3a 31 36 3a 32 30 20 |Oct 90 2|1:16:20 |
|000000d0| 47 4d 54 0a 0a 54 68 69 | 73 20 69 73 20 70 6d 6c |GMT..Thi|s is pml|
|000000e0| 69 6e 65 64 20 31 2e 30 | 2c 20 74 68 65 20 70 6f |ined 1.0|, the po|
|000000f0| 6f 72 20 6d 61 6e 27 73 | 20 6c 69 6e 65 20 64 69 |or man's| line di|
|00000100| 73 63 69 70 6c 69 6e 65 | 2e 20 4c 69 6b 65 20 65 |scipline|. Like e|
|00000110| 76 65 72 79 20 75 74 69 | 6c 69 74 79 0a 69 6e 20 |very uti|lity.in |
|00000120| 74 68 65 20 70 6f 6f 72 | 20 6d 61 6e 27 73 20 73 |the poor| man's s|
|00000130| 65 72 69 65 73 2c 20 70 | 6d 6c 69 6e 65 64 20 68 |eries, p|mlined h|
|00000140| 61 73 20 73 6f 6d 65 20 | 66 65 61 74 75 72 65 20 |as some |feature |
|00000150| 6d 69 73 73 69 6e 67 20 | 66 72 6f 6d 20 61 6c 6d |missing |from alm|
|00000160| 6f 73 74 0a 61 6c 6c 20 | 74 68 65 20 63 6f 6d 70 |ost.all |the comp|
|00000170| 65 74 69 74 69 6f 6e 3a | 20 69 6e 20 74 68 69 73 |etition:| in this|
|00000180| 20 63 61 73 65 2c 20 74 | 68 65 20 61 62 69 6c 69 | case, t|he abili|
|00000190| 74 79 20 74 6f 20 6d 61 | 6b 65 20 79 6f 75 72 20 |ty to ma|ke your |
|000001a0| 42 53 44 20 73 79 73 74 | 65 6d 0a 66 65 65 6c 20 |BSD syst|em.feel |
|000001b0| 6c 69 6b 65 20 61 20 67 | 6f 6f 64 20 6f 6c 64 20 |like a g|ood old |
|000001c0| 49 42 4d 20 56 4d 2f 43 | 4d 53 20 62 6f 78 2e 0a |IBM VM/C|MS box..|
|000001d0| 0a 70 6d 6c 69 6e 65 64 | 20 6c 65 74 73 20 79 6f |.pmlined| lets yo|
|000001e0| 75 20 65 64 69 74 20 69 | 6e 70 75 74 20 6c 69 6e |u edit i|nput lin|
|000001f0| 65 73 20 6f 6e 20 74 68 | 65 20 73 74 61 74 75 73 |es on th|e status|
|00000200| 20 6c 69 6e 65 20 6f 66 | 20 79 6f 75 72 20 74 65 | line of| your te|
|00000210| 72 6d 69 6e 61 6c 2e 0a | 59 6f 75 20 63 61 6e 20 |rminal..|You can |
|00000220| 73 77 69 74 63 68 20 62 | 65 74 77 65 65 6e 20 74 |switch b|etween t|
|00000230| 68 69 73 20 61 6e 64 20 | 74 68 65 20 6e 61 74 69 |his and |the nati|
|00000240| 76 65 20 74 74 79 20 6d | 6f 64 65 20 77 69 74 68 |ve tty m|ode with|
|00000250| 20 5e 41 2e 20 70 6d 6c | 69 6e 65 64 0a 73 68 6f | ^A. pml|ined.sho|
|00000260| 75 6c 64 20 62 65 20 65 | 61 73 79 20 74 6f 20 70 |uld be e|asy to p|
|00000270| 6c 61 79 20 77 69 74 68 | 2c 20 75 6e 6c 69 6b 65 |lay with|, unlike|
|00000280| 20 6d 6f 73 74 20 6c 69 | 6e 65 20 64 69 73 63 69 | most li|ne disci|
|00000290| 70 6c 69 6e 65 20 69 6d | 70 6c 65 6d 65 6e 74 61 |pline im|plementa|
|000002a0| 74 69 6f 6e 73 0a 72 75 | 6e 6e 69 6e 67 20 61 72 |tions.ru|nning ar|
|000002b0| 6f 75 6e 64 2e 20 46 65 | 65 6c 20 66 72 65 65 20 |ound. Fe|el free |
|000002c0| 74 6f 20 61 64 64 20 66 | 65 61 74 75 72 65 73 2e |to add f|eatures.|
|000002d0| 0a 0a 53 65 6e 64 20 63 | 6f 6d 6d 65 6e 74 73 20 |..Send c|omments |
|000002e0| 74 6f 20 6d 65 20 6f 72 | 20 74 6f 20 61 6c 74 2e |to me or| to alt.|
|000002f0| 73 6f 75 72 63 65 73 2e | 64 2e 0a 0a 2d 2d 2d 44 |sources.|d...---D|
|00000300| 61 6e 0a 0a 23 21 20 2f | 62 69 6e 2f 73 68 0a 23 |an..#! /|bin/sh.#|
|00000310| 20 54 68 69 73 20 69 73 | 20 61 20 73 68 65 6c 6c | This is| a shell|
|00000320| 20 61 72 63 68 69 76 65 | 2e 20 20 52 65 6d 6f 76 | archive|. Remov|
|00000330| 65 20 61 6e 79 74 68 69 | 6e 67 20 62 65 66 6f 72 |e anythi|ng befor|
|00000340| 65 20 74 68 69 73 20 6c | 69 6e 65 2c 20 74 68 65 |e this l|ine, the|
|00000350| 6e 20 75 6e 70 61 63 6b | 0a 23 20 69 74 20 62 79 |n unpack|.# it by|
|00000360| 20 73 61 76 69 6e 67 20 | 69 74 20 69 6e 74 6f 20 | saving |it into |
|00000370| 61 20 66 69 6c 65 20 61 | 6e 64 20 74 79 70 69 6e |a file a|nd typin|
|00000380| 67 20 22 73 68 20 66 69 | 6c 65 22 2e 20 20 54 6f |g "sh fi|le". To|
|00000390| 20 6f 76 65 72 77 72 69 | 74 65 20 65 78 69 73 74 | overwri|te exist|
|000003a0| 69 6e 67 0a 23 20 66 69 | 6c 65 73 2c 20 74 79 70 |ing.# fi|les, typ|
|000003b0| 65 20 22 73 68 20 66 69 | 6c 65 20 2d 63 22 2e 20 |e "sh fi|le -c". |
|000003c0| 20 59 6f 75 20 63 61 6e | 20 61 6c 73 6f 20 66 65 | You can| also fe|
|000003d0| 65 64 20 74 68 69 73 20 | 61 73 20 73 74 61 6e 64 |ed this |as stand|
|000003e0| 61 72 64 20 69 6e 70 75 | 74 20 76 69 61 0a 23 20 |ard inpu|t via.# |
|000003f0| 75 6e 73 68 61 72 2c 20 | 6f 72 20 62 79 20 74 79 |unshar, |or by ty|
|00000400| 70 69 6e 67 20 22 73 68 | 20 3c 66 69 6c 65 22 2c |ping "sh| <file",|
|00000410| 20 65 2e 67 2e 2e 20 20 | 49 66 20 74 68 69 73 20 | e.g.. |If this |
|00000420| 61 72 63 68 69 76 65 20 | 69 73 20 63 6f 6d 70 6c |archive |is compl|
|00000430| 65 74 65 2c 20 79 6f 75 | 0a 23 20 77 69 6c 6c 20 |ete, you|.# will |
|00000440| 73 65 65 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |see the |followin|
|00000450| 67 20 6d 65 73 73 61 67 | 65 20 61 74 20 74 68 65 |g messag|e at the|
|00000460| 20 65 6e 64 3a 0a 23 09 | 09 22 45 6e 64 20 6f 66 | end:.#.|."End of|
|00000470| 20 73 68 65 6c 6c 20 61 | 72 63 68 69 76 65 2e 22 | shell a|rchive."|
|00000480| 0a 23 20 43 6f 6e 74 65 | 6e 74 73 3a 20 20 52 45 |.# Conte|nts: RE|
|00000490| 41 44 4d 45 20 70 6d 6c | 69 6e 65 64 2e 63 20 74 |ADME pml|ined.c t|
|000004a0| 65 72 6d 63 61 70 0a 23 | 20 57 72 61 70 70 65 64 |ermcap.#| Wrapped|
|000004b0| 20 62 79 20 62 72 6e 73 | 74 6e 64 40 6b 72 61 6d | by brns|tnd@kram|
|000004c0| 64 65 6e 20 6f 6e 20 57 | 65 64 20 4f 63 74 20 33 |den on W|ed Oct 3|
|000004d0| 31 20 31 36 3a 30 39 3a | 31 32 20 31 39 39 30 0a |1 16:09:|12 1990.|
|000004e0| 50 41 54 48 3d 2f 62 69 | 6e 3a 2f 75 73 72 2f 62 |PATH=/bi|n:/usr/b|
|000004f0| 69 6e 3a 2f 75 73 72 2f | 75 63 62 20 3b 20 65 78 |in:/usr/|ucb ; ex|
|00000500| 70 6f 72 74 20 50 41 54 | 48 0a 69 66 20 74 65 73 |port PAT|H.if tes|
|00000510| 74 20 2d 66 20 27 52 45 | 41 44 4d 45 27 20 2d 61 |t -f 'RE|ADME' -a|
|00000520| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|00000530| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|00000540| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 63 6c |har: Wil|l not cl|
|00000550| 6f 62 62 65 72 20 65 78 | 69 73 74 69 6e 67 20 66 |obber ex|isting f|
|00000560| 69 6c 65 20 5c 22 27 52 | 45 41 44 4d 45 27 5c 22 |ile \"'R|EADME'\"|
|00000570| 0a 65 6c 73 65 0a 65 63 | 68 6f 20 73 68 61 72 3a |.else.ec|ho shar:|
|00000580| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 27 52 | Extract|ing \"'R|
|00000590| 45 41 44 4d 45 27 5c 22 | 20 5c 28 32 34 34 36 20 |EADME'\"| \(2446 |
|000005a0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 73 65 64 |characte|rs\).sed|
|000005b0| 20 22 73 2f 5e 58 2f 2f | 22 20 3e 27 52 45 41 44 | "s/^X//|" >'READ|
|000005c0| 4d 45 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |ME' <<'E|ND_OF_FI|
|000005d0| 4c 45 27 0a 58 70 6d 6c | 69 6e 65 64 20 31 2e 30 |LE'.Xpml|ined 1.0|
|000005e0| 2c 20 31 30 2f 33 31 2f | 39 30 2e 0a 58 50 6c 61 |, 10/31/|90..XPla|
|000005f0| 63 65 64 20 69 6e 74 6f | 20 74 68 65 20 70 75 62 |ced into| the pub|
|00000600| 6c 69 63 20 64 6f 6d 61 | 69 6e 20 62 79 20 44 61 |lic doma|in by Da|
|00000610| 6e 69 65 6c 20 4a 2e 20 | 42 65 72 6e 73 74 65 69 |niel J. |Bernstei|
|00000620| 6e 2e 0a 58 43 6f 6d 6d | 65 6e 74 73 20 74 6f 20 |n..XComm|ents to |
|00000630| 68 69 6d 20 61 74 20 62 | 72 6e 73 74 6e 64 40 6e |him at b|rnstnd@n|
|00000640| 79 75 2e 65 64 75 2e 0a | 58 0a 58 0a 58 54 68 69 |yu.edu..|X.X.XThi|
|00000650| 73 20 69 73 20 70 6d 6c | 69 6e 65 64 2c 20 74 68 |s is pml|ined, th|
|00000660| 65 20 70 6f 6f 72 20 6d | 61 6e 27 73 20 6c 69 6e |e poor m|an's lin|
|00000670| 65 20 64 69 73 63 69 70 | 6c 69 6e 65 2e 0a 58 0a |e discip|line..X.|
|00000680| 58 70 6d 6c 69 6e 65 64 | 20 70 72 6f 76 69 64 65 |Xpmlined| provide|
|00000690| 73 20 61 20 74 74 79 20 | 65 64 69 74 69 6e 67 20 |s a tty |editing |
|000006a0| 6d 6f 64 65 20 74 68 61 | 74 20 73 68 6f 75 6c 64 |mode tha|t should|
|000006b0| 20 6d 61 6b 65 20 66 6f | 72 6d 65 72 20 49 42 4d | make fo|rmer IBM|
|000006c0| 20 75 73 65 72 73 0a 58 | 66 65 65 6c 20 72 69 67 | users.X|feel rig|
|000006d0| 68 74 20 61 74 20 68 6f | 6d 65 2e 20 59 6f 75 20 |ht at ho|me. You |
|000006e0| 65 64 69 74 20 74 68 65 | 20 63 75 72 72 65 6e 74 |edit the| current|
|000006f0| 20 6c 69 6e 65 20 6f 6e | 20 74 68 65 20 73 74 61 | line on| the sta|
|00000700| 74 75 73 20 6c 69 6e 65 | 0a 58 28 74 68 72 6f 75 |tus line|.X(throu|
|00000710| 67 68 20 73 74 64 65 72 | 72 29 2e 20 4c 6f 6e 67 |gh stder|r). Long|
|00000720| 20 6c 69 6e 65 73 20 73 | 63 72 6f 6c 6c 20 68 6f | lines s|croll ho|
|00000730| 72 69 7a 6f 6e 74 61 6c | 6c 79 2e 20 57 68 65 6e |rizontal|ly. When|
|00000740| 20 79 6f 75 20 70 72 65 | 73 73 20 72 65 74 75 72 | you pre|ss retur|
|00000750| 6e 2c 0a 58 70 6d 6c 69 | 6e 65 64 20 73 65 6e 64 |n,.Xpmli|ned send|
|00000760| 73 20 74 68 65 20 6c 69 | 6e 65 20 74 6f 20 73 74 |s the li|ne to st|
|00000770| 64 6f 75 74 2e 20 41 6c | 6c 20 74 68 65 20 75 73 |dout. Al|l the us|
|00000780| 75 61 6c 20 65 64 69 74 | 69 6e 67 20 63 68 61 72 |ual edit|ing char|
|00000790| 61 63 74 65 72 73 2c 0a | 58 69 6e 63 6c 75 64 69 |acters,.|Xincludi|
|000007a0| 6e 67 20 5e 55 2c 20 5e | 57 2c 20 62 61 63 6b 73 |ng ^U, ^|W, backs|
|000007b0| 70 61 63 65 2c 20 64 65 | 6c 65 74 65 2c 20 61 6e |pace, de|lete, an|
|000007c0| 64 20 5e 56 2c 20 77 6f | 72 6b 20 6e 6f 72 6d 61 |d ^V, wo|rk norma|
|000007d0| 6c 6c 79 2e 20 5e 41 20 | 73 77 69 74 63 68 65 73 |lly. ^A |switches|
|000007e0| 0a 58 62 65 74 77 65 65 | 6e 20 74 68 69 73 20 65 |.Xbetwee|n this e|
|000007f0| 64 69 74 69 6e 67 20 6d | 6f 64 65 20 61 6e 64 20 |diting m|ode and |
|00000800| 74 68 65 20 75 73 75 61 | 6c 20 74 74 79 20 6d 6f |the usua|l tty mo|
|00000810| 64 65 2e 0a 58 0a 58 4f | 66 20 63 6f 75 72 73 65 |de..X.XO|f course|
|00000820| 2c 20 70 6d 6c 69 6e 65 | 64 20 69 73 20 61 6c 73 |, pmline|d is als|
|00000830| 6f 20 74 68 65 20 73 6d | 61 6c 6c 65 73 74 20 6c |o the sm|allest l|
|00000840| 69 6e 65 20 64 69 73 63 | 69 70 6c 69 6e 65 20 69 |ine disc|ipline i|
|00000850| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 0a 58 6b |mplement|ation.Xk|
|00000860| 6e 6f 77 6e 20 74 6f 20 | 6d 61 6e 2e 0a 58 0a 58 |nown to |man..X.X|
|00000870| 4f 74 68 65 72 20 74 68 | 61 6e 20 74 68 61 74 2c |Other th|an that,|
|00000880| 20 69 74 27 73 20 70 72 | 65 74 74 79 20 70 6f 6f | it's pr|etty poo|
|00000890| 72 2e 20 54 68 69 73 20 | 76 65 72 73 69 6f 6e 20 |r. This |version |
|000008a0| 69 73 20 6a 75 73 74 20 | 61 20 70 72 6f 74 6f 74 |is just |a protot|
|000008b0| 79 70 65 2e 20 49 74 0a | 58 63 6f 75 6c 64 20 62 |ype. It.|Xcould b|
|000008c0| 65 20 6d 61 64 65 20 6d | 75 63 68 20 6d 6f 72 65 |e made m|uch more|
|000008d0| 20 65 66 66 69 63 69 65 | 6e 74 3b 20 74 68 65 72 | efficie|nt; ther|
|000008e0| 65 20 61 72 65 20 61 20 | 6c 6f 74 20 6f 66 20 66 |e are a |lot of f|
|000008f0| 65 61 74 75 72 65 73 20 | 6d 69 73 73 69 6e 67 2e |eatures |missing.|
|00000900| 0a 58 46 65 65 6c 20 66 | 72 65 65 20 74 6f 20 70 |.XFeel f|ree to p|
|00000910| 6c 61 79 20 77 69 74 68 | 20 69 74 2c 20 74 68 6f |lay with| it, tho|
|00000920| 75 67 68 2e 20 54 68 65 | 20 63 6f 64 65 20 69 73 |ugh. The| code is|
|00000930| 20 73 68 6f 72 74 20 61 | 6e 64 20 28 49 20 68 6f | short a|nd (I ho|
|00000940| 70 65 29 20 65 61 73 79 | 0a 58 74 6f 20 75 6e 64 |pe) easy|.Xto und|
|00000950| 65 72 73 74 61 6e 64 2e | 0a 58 0a 58 70 6d 6c 69 |erstand.|.X.Xpmli|
|00000960| 6e 65 64 20 77 61 73 20 | 6f 72 69 67 69 6e 61 6c |ned was |original|
|00000970| 6c 79 20 63 61 6c 6c 65 | 64 20 62 6f 74 77 61 6e |ly calle|d botwan|
|00000980| 61 2e 20 49 74 20 77 61 | 73 20 6e 6f 74 20 6e 61 |a. It wa|s not na|
|00000990| 6d 65 64 20 61 66 74 65 | 72 20 61 20 73 6d 61 6c |med afte|r a smal|
|000009a0| 6c 0a 58 41 66 72 69 63 | 61 6e 20 63 6f 75 6e 74 |l.XAfric|an count|
|000009b0| 72 79 20 72 75 6d 6f 72 | 65 64 20 74 6f 20 6d 61 |ry rumor|ed to ma|
|000009c0| 6e 75 66 61 63 74 75 72 | 65 20 63 6c 6f 6e 65 20 |nufactur|e clone |
|000009d0| 49 42 4d 20 33 32 37 30 | 20 74 65 72 6d 69 6e 61 |IBM 3270| termina|
|000009e0| 6c 73 2e 0a 58 0a 58 0a | 58 52 65 71 75 69 72 65 |ls..X.X.|XRequire|
|000009f0| 6d 65 6e 74 73 3a 0a 58 | 0a 58 20 20 41 20 74 65 |ments:.X|.X A te|
|00000a00| 72 6d 63 61 70 20 65 6e | 74 72 79 20 77 69 74 68 |rmcap en|try with|
|00000a10| 20 60 60 74 73 27 27 2c | 20 60 60 66 73 27 27 2c | ``ts'',| ``fs'',|
|00000a20| 20 61 6e 64 20 60 60 63 | 65 27 27 2e 20 45 6e 63 | and ``c|e''. Enc|
|00000a30| 6c 6f 73 65 64 20 69 73 | 20 61 20 67 65 6e 65 72 |losed is| a gener|
|00000a40| 69 63 0a 58 20 20 56 54 | 20 74 65 72 6d 63 61 70 |ic.X VT| termcap|
|00000a50| 20 73 75 70 70 6f 72 74 | 69 6e 67 20 74 68 65 20 | support|ing the |
|00000a60| 73 74 61 74 75 73 20 6c | 69 6e 65 3b 20 79 6f 75 |status l|ine; you|
|00000a70| 20 6d 61 79 20 68 61 76 | 65 20 74 6f 20 72 65 77 | may hav|e to rew|
|00000a80| 72 69 74 65 20 79 6f 75 | 72 0a 58 20 20 74 65 72 |rite you|r.X ter|
|00000a90| 6d 63 61 70 20 65 6e 74 | 72 79 20 61 6e 61 6c 6f |mcap ent|ry analo|
|00000aa0| 67 6f 75 73 6c 79 2e 0a | 58 0a 58 20 20 54 68 65 |gously..|X.X The|
|00000ab0| 20 70 74 79 20 70 72 6f | 67 72 61 6d 2c 20 66 6f | pty pro|gram, fo|
|00000ac0| 72 20 75 73 65 20 61 73 | 20 64 65 73 63 72 69 62 |r use as| describ|
|00000ad0| 65 64 20 62 65 6c 6f 77 | 2e 0a 58 0a 58 0a 58 54 |ed below|..X.X.XT|
|00000ae0| 6f 20 75 73 65 20 70 6d | 6c 69 6e 65 64 2c 20 74 |o use pm|lined, t|
|00000af0| 79 70 65 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |ype the |followin|
|00000b00| 67 3a 0a 58 0a 58 20 20 | 70 6d 6c 69 6e 65 64 20 |g:.X.X |pmlined |
|00000b10| 7c 20 70 74 79 20 24 53 | 48 45 4c 4c 0a 58 0a 58 || pty $S|HELL.X.X|
|00000b20| 49 74 20 73 68 6f 75 6c | 64 20 66 65 65 6c 20 6a |It shoul|d feel j|
|00000b30| 75 73 74 20 6c 69 6b 65 | 20 61 20 6e 6f 72 6d 61 |ust like| a norma|
|00000b40| 6c 20 73 68 65 6c 6c 2c | 20 65 78 63 65 70 74 20 |l shell,| except |
|00000b50| 74 68 61 74 20 79 6f 75 | 20 65 64 69 74 20 6c 69 |that you| edit li|
|00000b60| 6e 65 73 20 6f 6e 0a 58 | 74 68 65 20 62 6f 74 74 |nes on.X|the bott|
|00000b70| 6f 6d 20 6f 66 20 79 6f | 75 72 20 73 63 72 65 65 |om of yo|ur scree|
|00000b80| 6e 20 62 65 66 6f 72 65 | 20 65 6e 74 65 72 69 6e |n before| enterin|
|00000b90| 67 20 74 68 65 6d 2e 20 | 49 66 20 79 6f 75 20 72 |g them. |If you r|
|00000ba0| 65 61 6c 6c 79 20 61 72 | 65 20 61 6e 20 49 42 4d |eally ar|e an IBM|
|00000bb0| 0a 58 70 72 6f 67 72 61 | 6d 6d 65 72 2c 20 79 6f |.Xprogra|mmer, yo|
|00000bc0| 75 20 6d 69 67 68 74 20 | 66 65 65 6c 20 6d 6f 72 |u might |feel mor|
|00000bd0| 65 20 63 6f 6d 66 6f 72 | 74 61 62 6c 65 20 77 69 |e comfor|table wi|
|00000be0| 74 68 20 61 20 73 68 65 | 6c 6c 20 70 72 6f 6d 70 |th a she|ll promp|
|00000bf0| 74 20 6f 66 20 52 3b 0a | 58 66 6f 6c 6c 6f 77 65 |t of R;.|Xfollowe|
|00000c00| 64 20 62 79 20 61 20 6e | 65 77 6c 69 6e 65 2e 20 |d by a n|ewline. |
|00000c10| 59 6f 75 20 6d 61 79 20 | 77 61 6e 74 20 74 6f 20 |You may |want to |
|00000c20| 25 20 61 6c 69 61 73 20 | 69 62 6d 20 27 70 6d 6c |% alias |ibm 'pml|
|00000c30| 69 6e 65 64 20 7c 20 70 | 74 79 27 2e 0a 58 0a 58 |ined | p|ty'..X.X|
|00000c40| 41 20 64 69 66 66 65 72 | 65 6e 74 20 75 73 65 20 |A differ|ent use |
|00000c50| 6f 66 20 70 6d 6c 69 6e | 65 64 20 69 73 20 74 6f |of pmlin|ed is to|
|00000c60| 20 6d 61 6b 65 20 63 6c | 65 61 6e 20 74 79 70 65 | make cl|ean type|
|00000c70| 73 63 72 69 70 74 73 2e | 20 49 66 20 79 6f 75 20 |scripts.| If you |
|00000c80| 68 61 76 65 20 74 68 65 | 0a 58 73 63 72 69 70 74 |have the|.Xscript|
|00000c90| 20 63 6c 6f 6e 65 20 69 | 6e 20 74 68 65 20 70 74 | clone i|n the pt|
|00000ca0| 79 20 70 61 63 6b 61 67 | 65 2c 0a 58 0a 58 20 20 |y packag|e,.X.X |
|00000cb0| 70 6d 6c 69 6e 65 64 20 | 7c 20 73 63 72 69 70 74 |pmlined || script|
|00000cc0| 0a 58 0a 58 77 69 6c 6c | 20 6c 65 74 20 79 6f 75 |.X.Xwill| let you|
|00000cd0| 20 63 6f 72 72 65 63 74 | 20 65 64 69 74 69 6e 67 | correct| editing|
|00000ce0| 20 65 72 72 6f 72 73 20 | 62 65 66 6f 72 65 20 74 | errors |before t|
|00000cf0| 68 65 79 20 65 6e 74 65 | 72 20 74 68 65 20 73 63 |hey ente|r the sc|
|00000d00| 72 69 70 74 2e 0a 58 20 | 20 0a 58 0a 58 43 61 76 |ript..X | .X.XCav|
|00000d10| 65 61 74 73 3a 0a 58 0a | 58 20 20 59 6f 75 20 68 |eats:.X.|X You h|
|00000d20| 61 76 65 20 74 6f 20 74 | 79 70 65 20 73 6f 6d 65 |ave to t|ype some|
|00000d30| 74 68 69 6e 67 20 61 66 | 74 65 72 20 74 68 65 20 |thing af|ter the |
|00000d40| 66 69 6e 61 6c 20 5e 44 | 2c 20 6f 72 20 70 6d 6c |final ^D|, or pml|
|00000d50| 69 6e 65 64 20 77 69 6c | 6c 20 6e 6f 74 0a 58 20 |ined wil|l not.X |
|00000d60| 20 72 65 61 6c 69 7a 65 | 20 74 68 61 74 20 74 68 | realize| that th|
|00000d70| 65 20 6f 75 74 70 75 74 | 20 68 61 73 20 65 6e 64 |e output| has end|
|00000d80| 65 64 2e 0a 58 0a 58 20 | 20 70 6d 6c 69 6e 65 64 |ed..X.X | pmlined|
|00000d90| 20 64 6f 65 73 20 6e 6f | 74 20 72 65 61 63 74 20 | does no|t react |
|00000da0| 61 75 74 6f 6d 61 74 69 | 63 61 6c 6c 79 20 74 6f |automati|cally to|
|00000db0| 20 63 68 61 6e 67 65 73 | 20 69 6e 20 74 68 65 20 | changes| in the |
|00000dc0| 74 74 79 20 6d 6f 64 65 | 2e 20 57 68 65 6e 0a 58 |tty mode|. When.X|
|00000dd0| 20 20 79 6f 75 20 72 75 | 6e 20 76 69 2c 20 66 6f | you ru|n vi, fo|
|00000de0| 72 20 69 6e 73 74 61 6e | 63 65 2c 20 79 6f 75 20 |r instan|ce, you |
|00000df0| 68 61 76 65 20 74 6f 20 | 72 65 6d 65 6d 62 65 72 |have to |remember|
|00000e00| 20 74 6f 20 74 79 70 65 | 20 5e 41 20 74 6f 20 75 | to type| ^A to u|
|00000e10| 73 65 0a 58 20 20 63 68 | 61 72 61 63 74 65 72 2d |se.X ch|aracter-|
|00000e20| 61 74 2d 61 2d 74 69 6d | 65 20 6d 6f 64 65 2e 20 |at-a-tim|e mode. |
|00000e30| 41 20 73 6f 6d 65 77 68 | 61 74 20 6c 65 73 73 20 |A somewh|at less |
|00000e40| 70 75 72 65 20 64 65 73 | 69 67 6e 20 63 6f 75 6c |pure des|ign coul|
|00000e50| 64 20 64 65 61 6c 20 77 | 69 74 68 0a 58 20 20 74 |d deal w|ith.X t|
|00000e60| 68 69 73 20 61 75 74 6f | 6d 61 74 69 63 61 6c 6c |his auto|maticall|
|00000e70| 79 2e 0a 58 0a 58 20 20 | 70 6d 6c 69 6e 65 64 20 |y..X.X |pmlined |
|00000e80| 64 6f 65 73 6e 27 74 20 | 75 6e 64 65 72 73 74 61 |doesn't |understa|
|00000e90| 6e 64 20 74 61 62 73 2e | 0a 58 0a 58 20 20 70 6d |nd tabs.|.X.X pm|
|00000ea0| 6c 69 6e 65 64 27 73 20 | 6b 65 79 20 62 69 6e 64 |lined's |key bind|
|00000eb0| 69 6e 67 73 20 61 72 65 | 20 68 61 72 64 77 69 72 |ings are| hardwir|
|00000ec0| 65 64 2e 0a 58 0a 58 20 | 20 70 6d 6c 69 6e 65 64 |ed..X.X | pmlined|
|00000ed0| 20 64 6f 65 73 6e 27 74 | 20 68 61 76 65 20 6d 61 | doesn't| have ma|
|00000ee0| 63 72 6f 73 2c 20 6f 72 | 20 61 20 63 6f 6d 6d 61 |cros, or| a comma|
|00000ef0| 6e 64 20 68 69 73 74 6f | 72 79 2c 20 6f 72 20 68 |nd histo|ry, or h|
|00000f00| 65 6c 70 2c 20 6f 72 0a | 58 20 20 76 61 72 69 61 |elp, or.|X varia|
|00000f10| 62 6c 65 73 2c 20 6f 72 | 20 66 69 6c 65 20 63 6f |bles, or| file co|
|00000f20| 6d 70 6c 65 74 69 6f 6e | 2c 20 6f 72 20 73 69 67 |mpletion|, or sig|
|00000f30| 6e 61 6c 20 63 68 61 72 | 61 63 74 65 72 73 2c 20 |nal char|acters, |
|00000f40| 6f 72 20 61 6e 79 74 68 | 69 6e 67 20 65 6c 73 65 |or anyth|ing else|
|00000f50| 0a 58 20 20 79 6f 75 27 | 64 20 65 78 70 65 63 74 |.X you'|d expect|
|00000f60| 20 6f 75 74 20 6f 66 20 | 61 20 66 61 6e 63 79 20 | out of |a fancy |
|00000f70| 6c 69 6e 65 20 64 69 73 | 63 69 70 6c 69 6e 65 2e |line dis|cipline.|
|00000f80| 20 42 75 74 20 69 74 27 | 73 20 65 61 73 79 20 74 | But it'|s easy t|
|00000f90| 6f 20 65 78 74 65 6e 64 | 2e 0a 58 0a 58 0a 58 47 |o extend|..X.X.XG|
|00000fa0| 6f 6f 64 20 6c 75 63 6b | 21 0a 45 4e 44 5f 4f 46 |ood luck|!.END_OF|
|00000fb0| 5f 46 49 4c 45 0a 69 66 | 20 74 65 73 74 20 32 34 |_FILE.if| test 24|
|00000fc0| 34 36 20 2d 6e 65 20 60 | 77 63 20 2d 63 20 3c 27 |46 -ne `|wc -c <'|
|00000fd0| 52 45 41 44 4d 45 27 60 | 3b 20 74 68 65 6e 0a 20 |README'`|; then. |
|00000fe0| 20 20 20 65 63 68 6f 20 | 73 68 61 72 3a 20 5c 22 | echo |shar: \"|
|00000ff0| 27 52 45 41 44 4d 45 27 | 5c 22 20 75 6e 70 61 63 |'README'|\" unpac|
|00001000| 6b 65 64 20 77 69 74 68 | 20 77 72 6f 6e 67 20 73 |ked with| wrong s|
|00001010| 69 7a 65 21 0a 66 69 0a | 23 20 65 6e 64 20 6f 66 |ize!.fi.|# end of|
|00001020| 20 27 52 45 41 44 4d 45 | 27 0a 66 69 0a 69 66 20 | 'README|'.fi.if |
|00001030| 74 65 73 74 20 2d 66 20 | 27 70 6d 6c 69 6e 65 64 |test -f |'pmlined|
|00001040| 2e 63 27 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |.c' -a "|${1}" !=|
|00001050| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00001060| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00001070| 6e 6f 74 20 63 6c 6f 62 | 62 65 72 20 65 78 69 73 |not clob|ber exis|
|00001080| 74 69 6e 67 20 66 69 6c | 65 20 5c 22 27 70 6d 6c |ting fil|e \"'pml|
|00001090| 69 6e 65 64 2e 63 27 5c | 22 0a 65 6c 73 65 0a 65 |ined.c'\|".else.e|
|000010a0| 63 68 6f 20 73 68 61 72 | 3a 20 45 78 74 72 61 63 |cho shar|: Extrac|
|000010b0| 74 69 6e 67 20 5c 22 27 | 70 6d 6c 69 6e 65 64 2e |ting \"'|pmlined.|
|000010c0| 63 27 5c 22 20 5c 28 32 | 38 38 33 20 63 68 61 72 |c'\" \(2|883 char|
|000010d0| 61 63 74 65 72 73 5c 29 | 0a 73 65 64 20 22 73 2f |acters\)|.sed "s/|
|000010e0| 5e 58 2f 2f 22 20 3e 27 | 70 6d 6c 69 6e 65 64 2e |^X//" >'|pmlined.|
|000010f0| 63 27 20 3c 3c 27 45 4e | 44 5f 4f 46 5f 46 49 4c |c' <<'EN|D_OF_FIL|
|00001100| 45 27 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 73 74 |E'.X#inc|lude <st|
|00001110| 64 69 6f 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |dio.h>.X|#include|
|00001120| 20 3c 73 69 67 6e 61 6c | 2e 68 3e 0a 58 23 69 6e | <signal|.h>.X#in|
|00001130| 63 6c 75 64 65 20 3c 63 | 75 72 73 65 73 2e 68 3e |clude <c|urses.h>|
|00001140| 0a 58 0a 58 23 64 65 66 | 69 6e 65 20 4c 49 4e 45 |.X.X#def|ine LINE|
|00001150| 4c 45 4e 20 31 30 30 30 | 0a 58 23 64 65 66 69 6e |LEN 1000|.X#defin|
|00001160| 65 20 50 52 4c 49 4e 45 | 4c 45 4e 20 32 30 30 30 |e PRLINE|LEN 2000|
|00001170| 0a 58 0a 58 6f 75 74 63 | 28 63 68 29 0a 58 63 68 |.X.Xoutc|(ch).Xch|
|00001180| 61 72 20 63 68 3b 0a 58 | 7b 0a 58 20 70 75 74 63 |ar ch;.X|{.X putc|
|00001190| 28 63 68 2c 73 74 64 65 | 72 72 29 3b 0a 58 7d 0a |(ch,stde|rr);.X}.|
|000011a0| 58 0a 58 73 69 67 70 69 | 70 65 28 29 0a 58 7b 0a |X.Xsigpi|pe().X{.|
|000011b0| 58 20 63 6c 6f 73 65 28 | 30 29 3b 20 2f 2a 20 67 |X close(|0); /* g|
|000011c0| 75 61 72 61 6e 74 65 65 | 69 6e 67 20 74 68 61 74 |uarantee|ing that|
|000011d0| 20 74 68 65 20 6e 65 78 | 74 20 63 68 61 72 61 63 | the nex|t charac|
|000011e0| 74 65 72 20 77 65 20 72 | 65 61 64 20 77 69 6c 6c |ter we r|ead will|
|000011f0| 20 62 65 20 61 6e 20 45 | 4f 46 20 2a 2f 0a 58 7d | be an E|OF */.X}|
|00001200| 0a 58 0a 58 6d 61 69 6e | 28 61 72 67 63 2c 61 72 |.X.Xmain|(argc,ar|
|00001210| 67 76 29 0a 58 69 6e 74 | 20 61 72 67 63 3b 0a 58 |gv).Xint| argc;.X|
|00001220| 63 68 61 72 20 2a 61 72 | 67 76 5b 5d 3b 0a 58 7b |char *ar|gv[];.X{|
|00001230| 0a 58 20 63 68 61 72 20 | 62 70 5b 31 30 32 34 5d |.X char |bp[1024]|
|00001240| 3b 0a 58 20 63 68 61 72 | 20 74 73 5b 32 35 36 5d |;.X char| ts[256]|
|00001250| 3b 0a 58 20 63 68 61 72 | 20 66 73 5b 32 35 36 5d |;.X char| fs[256]|
|00001260| 3b 0a 58 20 63 68 61 72 | 20 63 65 5b 32 35 36 5d |;.X char| ce[256]|
|00001270| 3b 0a 58 20 63 68 61 72 | 20 2a 63 70 74 72 3b 0a |;.X char| *cptr;.|
|00001280| 58 20 63 68 61 72 20 65 | 72 72 62 75 66 5b 42 55 |X char e|rrbuf[BU|
|00001290| 46 53 49 5a 5d 3b 0a 58 | 20 63 68 61 72 20 6c 69 |FSIZ];.X| char li|
|000012a0| 6e 65 5b 4c 49 4e 45 4c | 45 4e 5d 3b 0a 58 20 63 |ne[LINEL|EN];.X c|
|000012b0| 68 61 72 20 6c 69 6e 65 | 70 72 5b 50 52 4c 49 4e |har line|pr[PRLIN|
|000012c0| 45 4c 45 4e 5d 3b 0a 58 | 20 69 6e 74 20 63 68 3b |ELEN];.X| int ch;|
|000012d0| 0a 58 20 63 68 61 72 20 | 2a 63 68 70 72 3b 0a 58 |.X char |*chpr;.X|
|000012e0| 20 69 6e 74 20 78 3b 0a | 58 20 69 6e 74 20 78 70 | int x;.|X int xp|
|000012f0| 72 3b 0a 58 20 69 6e 74 | 20 66 6c 61 67 63 68 61 |r;.X int| flagcha|
|00001300| 72 6d 6f 64 65 20 3d 20 | 30 3b 0a 58 20 69 6e 74 |rmode = |0;.X int|
|00001310| 20 63 6f 3b 0a 58 0a 58 | 20 73 69 67 6e 61 6c 28 | co;.X.X| signal(|
|00001320| 53 49 47 50 49 50 45 2c | 73 69 67 70 69 70 65 29 |SIGPIPE,|sigpipe)|
|00001330| 3b 0a 58 20 73 65 74 62 | 75 66 28 73 74 64 65 72 |;.X setb|uf(stder|
|00001340| 72 2c 65 72 72 62 75 66 | 29 3b 0a 58 0a 58 20 74 |r,errbuf|);.X.X t|
|00001350| 67 65 74 65 6e 74 28 62 | 70 2c 67 65 74 65 6e 76 |getent(b|p,getenv|
|00001360| 28 22 54 45 52 4d 22 29 | 29 3b 0a 58 20 63 70 74 |("TERM")|);.X cpt|
|00001370| 72 20 3d 20 74 73 3b 0a | 58 20 69 66 20 28 21 74 |r = ts;.|X if (!t|
|00001380| 67 65 74 73 74 72 28 22 | 74 73 22 2c 26 63 70 74 |getstr("|ts",&cpt|
|00001390| 72 29 29 0a 58 20 20 20 | 3b 20 2f 2a 58 58 58 2a |r)).X |; /*XXX*|
|000013a0| 2f 0a 58 20 63 70 74 72 | 20 3d 20 66 73 3b 0a 58 |/.X cptr| = fs;.X|
|000013b0| 20 69 66 20 28 21 74 67 | 65 74 73 74 72 28 22 66 | if (!tg|etstr("f|
|000013c0| 73 22 2c 26 63 70 74 72 | 29 29 0a 58 20 20 20 3b |s",&cptr|)).X ;|
|000013d0| 20 2f 2a 58 58 58 2a 2f | 0a 58 20 63 70 74 72 20 | /*XXX*/|.X cptr |
|000013e0| 3d 20 63 65 3b 0a 58 20 | 69 66 20 28 21 74 67 65 |= ce;.X |if (!tge|
|000013f0| 74 73 74 72 28 22 63 65 | 22 2c 26 63 70 74 72 29 |tstr("ce|",&cptr)|
|00001400| 29 0a 58 20 20 20 3b 20 | 2f 2a 58 58 58 2a 2f 0a |).X ; |/*XXX*/.|
|00001410| 58 20 63 6f 20 3d 20 74 | 67 65 74 6e 75 6d 28 22 |X co = t|getnum("|
|00001420| 63 6f 22 29 3b 0a 58 23 | 64 65 66 69 6e 65 20 54 |co");.X#|define T|
|00001430| 53 20 74 70 75 74 73 28 | 74 73 2c 31 2c 6f 75 74 |S tputs(|ts,1,out|
|00001440| 63 29 0a 58 23 64 65 66 | 69 6e 65 20 43 45 20 74 |c).X#def|ine CE t|
|00001450| 70 75 74 73 28 63 65 2c | 31 2c 6f 75 74 63 29 0a |puts(ce,|1,outc).|
|00001460| 58 23 64 65 66 69 6e 65 | 20 46 53 20 74 70 75 74 |X#define| FS tput|
|00001470| 73 28 66 73 2c 31 2c 6f | 75 74 63 29 0a 58 0a 58 |s(fs,1,o|utc).X.X|
|00001480| 20 66 6f 72 20 28 3b 3b | 29 0a 58 20 20 20 69 66 | for (;;|).X if|
|00001490| 20 28 66 6c 61 67 63 68 | 61 72 6d 6f 64 65 29 0a | (flagch|armode).|
|000014a0| 58 20 20 20 20 7b 0a 58 | 20 20 20 20 20 69 66 20 |X {.X| if |
|000014b0| 28 28 63 68 20 3d 20 67 | 65 74 63 68 61 72 28 29 |((ch = g|etchar()|
|000014c0| 29 20 3d 3d 20 45 4f 46 | 29 0a 58 20 20 20 20 20 |) == EOF|).X |
|000014d0| 20 20 62 72 65 61 6b 3b | 0a 58 20 20 20 20 20 69 | break;|.X i|
|000014e0| 66 20 28 63 68 20 3d 3d | 20 30 30 30 31 29 0a 58 |f (ch ==| 0001).X|
|000014f0| 20 20 20 20 20 20 20 66 | 6c 61 67 63 68 61 72 6d | f|lagcharm|
|00001500| 6f 64 65 20 3d 20 30 3b | 0a 58 20 20 20 20 20 65 |ode = 0;|.X e|
|00001510| 6c 73 65 0a 58 20 20 20 | 20 20 20 7b 0a 58 20 20 |lse.X | {.X |
|00001520| 20 20 20 20 20 70 75 74 | 63 68 61 72 28 63 68 29 | put|char(ch)|
|00001530| 3b 0a 58 20 20 20 20 20 | 20 20 66 66 6c 75 73 68 |;.X | fflush|
|00001540| 28 73 74 64 6f 75 74 29 | 3b 0a 58 20 20 20 20 20 |(stdout)|;.X |
|00001550| 20 7d 0a 58 20 20 20 20 | 7d 0a 58 20 20 20 65 6c | }.X |}.X el|
|00001560| 73 65 0a 58 20 20 20 20 | 7b 0a 58 20 20 20 20 20 |se.X |{.X |
|00001570| 54 53 3b 20 43 45 3b 20 | 70 75 74 63 28 27 5f 27 |TS; CE; |putc('_'|
|00001580| 2c 73 74 64 65 72 72 29 | 3b 20 46 53 3b 20 66 66 |,stderr)|; FS; ff|
|00001590| 6c 75 73 68 28 73 74 64 | 65 72 72 29 3b 0a 58 20 |lush(std|err);.X |
|000015a0| 20 20 20 20 78 20 3d 20 | 78 70 72 20 3d 20 30 3b | x = |xpr = 0;|
|000015b0| 0a 58 20 20 20 20 20 6c | 69 6e 65 5b 78 5d 20 3d |.X l|ine[x] =|
|000015c0| 20 6c 69 6e 65 70 72 5b | 78 70 72 5d 20 3d 20 27 | linepr[|xpr] = '|
|000015d0| 5c 30 27 3b 0a 58 20 20 | 20 20 20 77 68 69 6c 65 |\0';.X | while|
|000015e0| 20 28 28 63 68 20 3d 20 | 67 65 74 63 68 61 72 28 | ((ch = |getchar(|
|000015f0| 29 29 20 21 3d 20 27 5c | 6e 27 29 0a 58 20 20 20 |)) != '\|n').X |
|00001600| 20 20 20 7b 0a 58 20 20 | 20 20 20 20 20 69 66 20 | {.X | if |
|00001610| 28 63 68 20 3d 3d 20 34 | 29 0a 58 09 20 62 72 65 |(ch == 4|).X. bre|
|00001620| 61 6b 3b 0a 58 20 20 20 | 20 20 20 20 69 66 20 28 |ak;.X | if (|
|00001630| 63 68 20 3d 3d 20 45 4f | 46 29 0a 58 09 20 62 72 |ch == EO|F).X. br|
|00001640| 65 61 6b 3b 0a 58 20 20 | 20 20 20 20 20 69 66 20 |eak;.X | if |
|00001650| 28 63 68 20 3d 3d 20 27 | 5c 72 27 29 0a 58 09 7b |(ch == '|\r').X.{|
|00001660| 0a 58 09 20 63 68 20 3d | 20 27 5c 6e 27 3b 0a 58 |.X. ch =| '\n';.X|
|00001670| 09 20 62 72 65 61 6b 3b | 0a 58 09 7d 0a 58 20 20 |. break;|.X.}.X |
|00001680| 20 20 20 20 20 69 66 20 | 28 63 68 20 3d 3d 20 31 | if |(ch == 1|
|00001690| 29 0a 58 09 7b 0a 58 09 | 20 66 6c 61 67 63 68 61 |).X.{.X.| flagcha|
|000016a0| 72 6d 6f 64 65 20 3d 20 | 31 3b 0a 58 09 20 62 72 |rmode = |1;.X. br|
|000016b0| 65 61 6b 3b 0a 58 09 7d | 0a 58 20 20 20 20 20 20 |eak;.X.}|.X |
|000016c0| 20 73 77 69 74 63 68 28 | 63 68 29 0a 58 20 20 20 | switch(|ch).X |
|000016d0| 20 20 20 20 20 7b 0a 58 | 09 20 63 61 73 65 20 32 | {.X|. case 2|
|000016e0| 31 3a 20 78 20 3d 20 78 | 70 72 20 3d 20 30 3b 0a |1: x = x|pr = 0;.|
|000016f0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00001700| 20 20 20 6c 69 6e 65 5b | 78 5d 20 3d 20 6c 69 6e | line[|x] = lin|
|00001710| 65 70 72 5b 78 70 72 5d | 20 3d 20 27 5c 30 27 3b |epr[xpr]| = '\0';|
|00001720| 0a 58 09 09 20 20 62 72 | 65 61 6b 3b 0a 58 09 20 |.X.. br|eak;.X. |
|00001730| 63 61 73 65 20 32 33 3a | 20 77 68 69 6c 65 20 28 |case 23:| while (|
|00001740| 78 20 26 26 20 28 6c 69 | 6e 65 5b 78 20 2d 20 31 |x && (li|ne[x - 1|
|00001750| 5d 20 3d 3d 20 27 20 27 | 29 29 0a 58 09 09 20 20 |] == ' '|)).X.. |
|00001760| 20 7b 0a 58 09 09 20 20 | 20 20 78 2d 2d 3b 0a 58 | {.X.. | x--;.X|
|00001770| 09 09 20 20 20 20 78 70 | 72 2d 2d 3b 0a 58 09 09 |.. xp|r--;.X..|
|00001780| 20 20 20 7d 0a 58 09 20 | 20 20 20 20 20 20 20 20 | }.X. | |
|00001790| 20 77 68 69 6c 65 20 28 | 78 20 26 26 20 28 6c 69 | while (|x && (li|
|000017a0| 6e 65 5b 78 20 2d 20 31 | 5d 20 21 3d 20 27 20 27 |ne[x - 1|] != ' '|
|000017b0| 29 29 0a 58 09 09 20 20 | 20 7b 0a 58 09 09 20 20 |)).X.. | {.X.. |
|000017c0| 20 20 78 2d 2d 3b 0a 58 | 09 09 20 20 20 20 63 68 | x--;.X|.. ch|
|000017d0| 70 72 20 3d 20 75 6e 63 | 74 72 6c 28 6c 69 6e 65 |pr = unc|trl(line|
|000017e0| 5b 78 5d 29 3b 0a 58 09 | 09 20 20 20 20 77 68 69 |[x]);.X.|. whi|
|000017f0| 6c 65 20 28 2a 28 63 68 | 70 72 2b 2b 29 29 0a 58 |le (*(ch|pr++)).X|
|00001800| 09 09 20 20 20 20 20 20 | 78 70 72 2d 2d 3b 0a 58 |.. |xpr--;.X|
|00001810| 09 09 20 20 20 7d 0a 58 | 20 20 09 09 20 20 6c 69 |.. }.X| .. li|
|00001820| 6e 65 70 72 5b 78 70 72 | 5d 20 3d 20 27 5c 30 27 |nepr[xpr|] = '\0'|
|00001830| 3b 0a 58 20 20 09 09 20 | 20 6c 69 6e 65 5b 78 5d |;.X .. | line[x]|
|00001840| 20 3d 20 27 5c 30 27 3b | 0a 58 20 20 09 09 20 20 | = '\0';|.X .. |
|00001850| 62 72 65 61 6b 3b 0a 58 | 20 20 20 20 20 20 20 20 |break;.X| |
|00001860| 20 63 61 73 65 20 27 5c | 62 27 3a 0a 58 20 20 20 | case '\|b':.X |
|00001870| 20 20 20 20 20 20 63 61 | 73 65 20 31 32 37 3a 20 | ca|se 127: |
|00001880| 69 66 20 28 21 78 29 0a | 58 09 09 20 20 20 20 20 |if (!x).|X.. |
|00001890| 62 72 65 61 6b 3b 0a 58 | 09 09 20 20 20 78 2d 2d |break;.X|.. x--|
|000018a0| 3b 0a 58 20 20 09 09 20 | 20 20 63 68 70 72 20 3d |;.X .. | chpr =|
|000018b0| 20 75 6e 63 74 72 6c 28 | 6c 69 6e 65 5b 78 5d 29 | unctrl(|line[x])|
|000018c0| 3b 0a 58 20 20 09 09 20 | 20 20 77 68 69 6c 65 20 |;.X .. | while |
|000018d0| 28 2a 28 63 68 70 72 2b | 2b 29 29 0a 58 20 20 09 |(*(chpr+|+)).X .|
|000018e0| 09 20 20 20 20 20 78 70 | 72 2d 2d 3b 0a 58 20 20 |. xp|r--;.X |
|000018f0| 09 09 20 20 20 6c 69 6e | 65 70 72 5b 78 70 72 5d |.. lin|epr[xpr]|
|00001900| 20 3d 20 27 5c 30 27 3b | 0a 58 20 20 09 09 20 20 | = '\0';|.X .. |
|00001910| 20 6c 69 6e 65 5b 78 5d | 20 3d 20 27 5c 30 27 3b | line[x]| = '\0';|
|00001920| 0a 58 20 20 09 09 20 20 | 20 62 72 65 61 6b 3b 0a |.X .. | break;.|
|00001930| 58 09 20 63 61 73 65 20 | 32 32 3a 20 63 68 20 3d |X. case |22: ch =|
|00001940| 20 67 65 74 63 68 61 72 | 28 29 3b 0a 58 20 20 20 | getchar|();.X |
|00001950| 20 20 20 20 20 20 64 65 | 66 61 75 6c 74 3a 20 69 | de|fault: i|
|00001960| 66 20 28 28 78 20 3d 3d | 20 4c 49 4e 45 4c 45 4e |f ((x ==| LINELEN|
|00001970| 20 2d 20 31 29 20 7c 7c | 20 28 78 70 72 20 3d 3d | - 1) ||| (xpr ==|
|00001980| 20 50 52 4c 49 4e 45 4c | 45 4e 20 2d 20 31 29 29 | PRLINEL|EN - 1))|
|00001990| 0a 58 09 09 20 20 20 7b | 0a 58 09 09 20 20 20 20 |.X.. {|.X.. |
|000019a0| 70 75 74 63 68 61 72 28 | 37 29 3b 0a 58 09 09 20 |putchar(|7);.X.. |
|000019b0| 20 20 20 62 72 65 61 6b | 3b 0a 58 09 09 20 20 20 | break|;.X.. |
|000019c0| 7d 0a 58 09 09 20 20 6c | 69 6e 65 5b 78 2b 2b 5d |}.X.. l|ine[x++]|
|000019d0| 20 3d 20 63 68 3b 0a 58 | 20 20 09 09 20 20 6c 69 | = ch;.X| .. li|
|000019e0| 6e 65 5b 78 5d 20 3d 20 | 27 5c 30 27 3b 0a 58 20 |ne[x] = |'\0';.X |
|000019f0| 20 09 09 20 20 63 68 70 | 72 20 3d 20 75 6e 63 74 | .. chp|r = unct|
|00001a00| 72 6c 28 63 68 29 3b 0a | 58 20 20 09 09 20 20 77 |rl(ch);.|X .. w|
|00001a10| 68 69 6c 65 28 2a 63 68 | 70 72 29 0a 58 20 20 09 |hile(*ch|pr).X .|
|00001a20| 09 20 20 20 20 6c 69 6e | 65 70 72 5b 78 70 72 2b |. lin|epr[xpr+|
|00001a30| 2b 5d 20 3d 20 2a 28 63 | 68 70 72 2b 2b 29 3b 0a |+] = *(c|hpr++);.|
|00001a40| 58 20 20 09 09 20 20 6c | 69 6e 65 70 72 5b 78 70 |X .. l|inepr[xp|
|00001a50| 72 5d 20 3d 20 27 5c 30 | 27 3b 0a 58 20 20 20 20 |r] = '\0|';.X |
|00001a60| 20 20 20 20 7d 0a 58 20 | 20 20 20 20 20 20 54 53 | }.X | TS|
|00001a70| 3b 20 69 66 20 28 78 20 | 3e 20 63 6f 2d 34 29 20 |; if (x |> co-4) |
|00001a80| 7b 20 66 70 75 74 73 28 | 22 3c 2d 20 22 2c 73 74 |{ fputs(|"<- ",st|
|00001a90| 64 65 72 72 29 3b 20 66 | 70 75 74 73 28 6c 69 6e |derr); f|puts(lin|
|00001aa0| 65 70 72 20 2b 20 78 2d | 63 6f 2b 37 2c 73 74 64 |epr + x-|co+7,std|
|00001ab0| 65 72 72 29 3b 20 7d 0a | 58 20 20 20 20 20 20 20 |err); }.|X |
|00001ac0| 65 6c 73 65 20 66 70 75 | 74 73 28 6c 69 6e 65 70 |else fpu|ts(linep|
|00001ad0| 72 2c 73 74 64 65 72 72 | 29 3b 20 70 75 74 63 28 |r,stderr|); putc(|
|00001ae0| 27 5f 27 2c 73 74 64 65 | 72 72 29 3b 20 43 45 3b |'_',stde|rr); CE;|
|00001af0| 20 46 53 3b 20 66 66 6c | 75 73 68 28 73 74 64 65 | FS; ffl|ush(stde|
|00001b00| 72 72 29 3b 0a 58 20 20 | 20 20 20 20 7d 0a 58 20 |rr);.X | }.X |
|00001b10| 20 20 20 20 69 66 20 28 | 28 63 68 20 3d 3d 20 45 | if (|(ch == E|
|00001b20| 4f 46 29 20 7c 7c 20 28 | 63 68 20 3d 3d 20 34 29 |OF) || (|ch == 4)|
|00001b30| 29 0a 58 20 20 20 20 20 | 20 7b 0a 58 20 20 20 20 |).X | {.X |
|00001b40| 20 20 20 66 70 75 74 73 | 28 6c 69 6e 65 2c 73 74 | fputs|(line,st|
|00001b50| 64 6f 75 74 29 3b 0a 58 | 20 20 20 20 20 20 20 70 |dout);.X| p|
|00001b60| 75 74 63 68 61 72 28 34 | 29 3b 0a 58 20 20 20 20 |utchar(4|);.X |
|00001b70| 20 20 20 66 66 6c 75 73 | 68 28 73 74 64 6f 75 74 | fflus|h(stdout|
|00001b80| 29 3b 0a 58 20 20 20 20 | 20 20 20 69 66 20 28 63 |);.X | if (c|
|00001b90| 68 20 3d 3d 20 45 4f 46 | 29 0a 58 09 20 62 72 65 |h == EOF|).X. bre|
|00001ba0| 61 6b 3b 0a 58 20 20 20 | 20 20 20 20 2f 2a 20 4f |ak;.X | /* O|
|00001bb0| 6e 20 61 20 6e 6f 72 6d | 61 6c 20 5e 44 2c 20 77 |n a norm|al ^D, w|
|00001bc0| 65 20 77 6f 6e 27 74 20 | 64 69 65 20 75 6e 74 69 |e won't |die unti|
|00001bd0| 6c 20 61 66 74 65 72 20 | 6f 75 72 20 6f 75 74 70 |l after |our outp|
|00001be0| 75 74 20 64 6f 65 73 2e | 20 2a 2f 0a 58 20 20 20 |ut does.| */.X |
|00001bf0| 20 20 20 7d 0a 58 20 20 | 20 20 20 65 6c 73 65 20 | }.X | else |
|00001c00| 69 66 20 28 63 68 20 3d | 3d 20 31 29 0a 58 20 20 |if (ch =|= 1).X |
|00001c10| 20 20 20 20 7b 0a 58 20 | 20 20 20 20 20 20 66 70 | {.X | fp|
|00001c20| 75 74 73 28 6c 69 6e 65 | 2c 73 74 64 6f 75 74 29 |uts(line|,stdout)|
|00001c30| 3b 20 66 66 6c 75 73 68 | 28 73 74 64 6f 75 74 29 |; fflush|(stdout)|
|00001c40| 3b 0a 58 20 20 20 20 20 | 20 20 54 53 3b 20 43 45 |;.X | TS; CE|
|00001c50| 3b 20 46 53 3b 20 66 66 | 6c 75 73 68 28 73 74 64 |; FS; ff|lush(std|
|00001c60| 65 72 72 29 3b 0a 58 20 | 20 20 20 20 20 7d 0a 58 |err);.X | }.X|
|00001c70| 20 20 20 20 20 65 6c 73 | 65 0a 58 20 20 20 20 20 | els|e.X |
|00001c80| 20 7b 0a 58 20 20 20 20 | 20 20 20 70 75 74 73 28 | {.X | puts(|
|00001c90| 6c 69 6e 65 29 3b 20 66 | 66 6c 75 73 68 28 73 74 |line); f|flush(st|
|00001ca0| 64 6f 75 74 29 3b 0a 58 | 20 20 20 20 20 20 7d 0a |dout);.X| }.|
|00001cb0| 58 20 20 20 20 7d 0a 58 | 20 54 53 3b 20 43 45 3b |X }.X| TS; CE;|
|00001cc0| 20 46 53 3b 20 66 66 6c | 75 73 68 28 73 74 64 65 | FS; ffl|ush(stde|
|00001cd0| 72 72 29 3b 0a 58 20 65 | 78 69 74 28 30 29 3b 0a |rr);.X e|xit(0);.|
|00001ce0| 58 7d 0a 45 4e 44 5f 4f | 46 5f 46 49 4c 45 0a 69 |X}.END_O|F_FILE.i|
|00001cf0| 66 20 74 65 73 74 20 32 | 38 38 33 20 2d 6e 65 20 |f test 2|883 -ne |
|00001d00| 60 77 63 20 2d 63 20 3c | 27 70 6d 6c 69 6e 65 64 |`wc -c <|'pmlined|
|00001d10| 2e 63 27 60 3b 20 74 68 | 65 6e 0a 20 20 20 20 65 |.c'`; th|en. e|
|00001d20| 63 68 6f 20 73 68 61 72 | 3a 20 5c 22 27 70 6d 6c |cho shar|: \"'pml|
|00001d30| 69 6e 65 64 2e 63 27 5c | 22 20 75 6e 70 61 63 6b |ined.c'\|" unpack|
|00001d40| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00001d50| 7a 65 21 0a 66 69 0a 23 | 20 65 6e 64 20 6f 66 20 |ze!.fi.#| end of |
|00001d60| 27 70 6d 6c 69 6e 65 64 | 2e 63 27 0a 66 69 0a 69 |'pmlined|.c'.fi.i|
|00001d70| 66 20 74 65 73 74 20 2d | 66 20 27 74 65 72 6d 63 |f test -|f 'termc|
|00001d80| 61 70 27 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |ap' -a "|${1}" !=|
|00001d90| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00001da0| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00001db0| 6e 6f 74 20 63 6c 6f 62 | 62 65 72 20 65 78 69 73 |not clob|ber exis|
|00001dc0| 74 69 6e 67 20 66 69 6c | 65 20 5c 22 27 74 65 72 |ting fil|e \"'ter|
|00001dd0| 6d 63 61 70 27 5c 22 0a | 65 6c 73 65 0a 65 63 68 |mcap'\".|else.ech|
|00001de0| 6f 20 73 68 61 72 3a 20 | 45 78 74 72 61 63 74 69 |o shar: |Extracti|
|00001df0| 6e 67 20 5c 22 27 74 65 | 72 6d 63 61 70 27 5c 22 |ng \"'te|rmcap'\"|
|00001e00| 20 5c 28 34 36 36 20 63 | 68 61 72 61 63 74 65 72 | \(466 c|haracter|
|00001e10| 73 5c 29 0a 73 65 64 20 | 22 73 2f 5e 58 2f 2f 22 |s\).sed |"s/^X//"|
|00001e20| 20 3e 27 74 65 72 6d 63 | 61 70 27 20 3c 3c 27 45 | >'termc|ap' <<'E|
|00001e30| 4e 44 5f 4f 46 5f 46 49 | 4c 45 27 0a 58 76 34 7c |ND_OF_FI|LE'.Xv4||
|00001e40| 76 74 31 30 32 2d 32 34 | 7c 44 45 43 20 76 74 31 |vt102-24||DEC vt1|
|00001e50| 30 32 20 77 69 74 68 20 | 32 34 20 6c 69 6e 65 73 |02 with |24 lines|
|00001e60| 3a 2e 61 6c 3d 5c 45 5b | 4c 3a 2e 61 6d 3a 62 6c |:.al=\E[|L:.am:bl|
|00001e70| 3d 5e 47 3a 62 73 3a 63 | 64 3d 35 30 5c 45 5b 4a |=^G:bs:c|d=50\E[J|
|00001e80| 3a 63 65 3d 33 5c 45 5b | 4b 3a 63 6c 3d 35 30 5c |:ce=3\E[|K:cl=50\|
|00001e90| 45 5b 3b 48 5c 45 5b 32 | 4a 3a 63 6d 3d 35 5c 45 |E[;H\E[2|J:cm=5\E|
|00001ea0| 5b 25 69 25 32 3b 25 32 | 48 3a 63 6f 23 38 30 3a |[%i%2;%2|H:co#80:|
|00001eb0| 63 73 3d 35 5c 45 5b 25 | 69 25 64 3b 25 64 72 3a |cs=5\E[%|i%d;%dr:|
|00001ec0| 64 63 3d 32 5c 45 5b 50 | 3a 2e 64 6c 3d 5c 45 5b |dc=2\E[P|:.dl=\E[|
|00001ed0| 4d 3a 64 6f 3d 33 5c 45 | 5b 42 3a 64 73 3d 33 5c |M:do=3\E|[B:ds=3\|
|00001ee0| 45 5b 4b 3a 65 73 3a 66 | 73 3d 5c 45 38 3a 68 73 |E[K:es:f|s=\E8:hs|
|00001ef0| 3a 6c 65 3d 32 5c 45 5b | 44 3a 6c 69 23 32 33 3a |:le=2\E[|D:li#23:|
|00001f00| 6d 65 3d 32 5c 45 5b 6d | 3a 6e 64 3d 32 5c 45 5b |me=2\E[m|:nd=2\E[|
|00001f10| 43 3a 70 74 3a 52 63 3d | 5c 45 38 3a 53 63 3d 5c |C:pt:Rc=|\E8:Sc=\|
|00001f20| 45 37 3a 73 65 3d 32 5c | 45 5b 6d 3a 73 66 3d 32 |E7:se=2\|E[m:sf=2|
|00001f30| 5e 4a 3a 73 67 3d 30 3a | 73 6f 3d 32 5c 45 5b 31 |^J:sg=0:|so=2\E[1|
|00001f40| 6d 3a 73 72 3d 35 5c 45 | 4d 3a 74 61 3d 5e 49 3a |m:sr=5\E|M:ta=^I:|
|00001f50| 74 73 3d 35 5c 45 37 5c | 45 5b 3f 36 68 5c 45 5b |ts=5\E7\|E[?6h\E[|
|00001f60| 32 34 3b 30 48 3a 75 65 | 3d 32 5c 45 5b 6d 3a 75 |24;0H:ue|=2\E[m:u|
|00001f70| 67 3d 30 3a 75 70 3d 32 | 5c 45 5b 41 3a 75 73 3d |g=0:up=2|\E[A:us=|
|00001f80| 32 5c 45 5b 34 6d 3a 69 | 73 3d 5c 45 37 5c 45 5b |2\E[4m:i|s=\E7\E[|
|00001f90| 31 3b 32 33 72 5c 45 3e | 5c 45 5b 3f 31 3b 33 3b |1;23r\E>|\E[?1;3;|
|00001fa0| 34 3b 35 6c 5c 45 5b 3f | 36 3b 37 3b 38 68 5c 45 |4;5l\E[?|6;7;8h\E|
|00001fb0| 38 3a 69 66 3d 2f 75 73 | 72 2f 6c 69 62 2f 74 61 |8:if=/us|r/lib/ta|
|00001fc0| 62 73 65 74 2f 76 74 31 | 30 30 3a 72 73 3d 5c 45 |bset/vt1|00:rs=\E|
|00001fd0| 37 5c 45 5b 31 3b 32 33 | 72 5c 45 3e 5c 45 5b 3f |7\E[1;23|r\E>\E[?|
|00001fe0| 31 3b 33 3b 34 3b 35 6c | 5c 45 5b 3f 36 3b 37 3b |1;3;4;5l|\E[?6;7;|
|00001ff0| 38 68 5c 45 38 3a 68 6f | 3d 35 5c 45 5b 3b 48 3a |8h\E8:ho|=5\E[;H:|
|00002000| 63 72 3d 5e 4d 3a 69 63 | 3d 5c 45 5b 40 3a 0a 45 |cr=^M:ic|=\E[@:.E|
|00002010| 4e 44 5f 4f 46 5f 46 49 | 4c 45 0a 69 66 20 74 65 |ND_OF_FI|LE.if te|
|00002020| 73 74 20 34 36 36 20 2d | 6e 65 20 60 77 63 20 2d |st 466 -|ne `wc -|
|00002030| 63 20 3c 27 74 65 72 6d | 63 61 70 27 60 3b 20 74 |c <'term|cap'`; t|
|00002040| 68 65 6e 0a 20 20 20 20 | 65 63 68 6f 20 73 68 61 |hen. |echo sha|
|00002050| 72 3a 20 5c 22 27 74 65 | 72 6d 63 61 70 27 5c 22 |r: \"'te|rmcap'\"|
|00002060| 20 75 6e 70 61 63 6b 65 | 64 20 77 69 74 68 20 77 | unpacke|d with w|
|00002070| 72 6f 6e 67 20 73 69 7a | 65 21 0a 66 69 0a 23 20 |rong siz|e!.fi.# |
|00002080| 65 6e 64 20 6f 66 20 27 | 74 65 72 6d 63 61 70 27 |end of '|termcap'|
|00002090| 0a 66 69 0a 65 63 68 6f | 20 73 68 61 72 3a 20 45 |.fi.echo| shar: E|
|000020a0| 6e 64 20 6f 66 20 73 68 | 65 6c 6c 20 61 72 63 68 |nd of sh|ell arch|
|000020b0| 69 76 65 2e 0a 65 78 69 | 74 20 30 0a |ive..exi|t 0. |
+--------+-------------------------+-------------------------+--------+--------+