%!PS-Adobe-2.0
-%%Creator: dvips(k) 2021.1 Copyright 2021 Radical Eye Software
+%%Creator: dvips(k) 2022.1 (TeX Live 2022) Copyright 2022 Radical Eye Software
%%Title: readline.dvi
-%%CreationDate: Fri Apr 8 19:52:34 2022
-%%Pages: 85
+%%CreationDate: Tue Jun 14 14:48:25 2022
+%%Pages: 86
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o readline.ps readline.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2022.04.08:1552
+%DVIPSSource: TeX output 2022.06.14:1048
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
2[37 75 67 41 61 75 60 75 65 7[102 1[139 102 103 94 75
100 101 92 101 105 128 81 105 1[50 105 106 85 88 103
-97 96 102 6[37 67 67 67 67 67 67 67 67 67 2[37 1[37 44[{}57
-119.552 /CMBX12 rf /Fs 129[48 48 48 48 48 48 48 48 48
+97 96 102 6[37 67 67 67 67 67 67 67 67 67 67 1[37 1[37
+44[{}58 119.552 /CMBX12 rf /Fs 129[48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 1[48 48 1[48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 33[{}91 90.9091 /CMTT10
-rf /Ft 131[91 45 40 48 48 66 48 51 35 36 36 48 51 45
-51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 45
-25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 47
-33 68 71 59 62 69 66 64 68 71 4[25 25 45 45 45 45 45
-45 45 45 45 45 45 25 30 25 2[35 35 25 2[45 1[45 19[76
-51 51 53 11[{}84 90.9091 /CMR10 rf /Fu 134[102 6[79 3[108
-1[54 2[54 3[88 108 1[108 94 11[149 2[144 3[151 1[116
-4[152 71[{}14 172.154 /CMBX12 rf end
+48 48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 1[48 48 1[48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 33[{}91
+90.9091 /CMTT10 rf /Ft 131[91 45 40 48 48 66 48 51 35
+36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51
+45 25 2[25 45 25 56 68 68 93 68 68 66 51 67 71 62 71
+68 83 57 71 47 33 68 71 59 62 69 66 64 68 71 4[25 25
+45 45 45 45 45 45 45 45 45 45 45 25 30 25 2[35 35 25
+2[45 1[45 19[76 51 51 53 11[{}84 90.9091 /CMR10 rf /Fu
+134[102 6[79 3[108 1[54 2[54 3[88 108 1[108 94 11[149
+2[144 3[151 1[116 4[152 71[{}14 172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)28 b
Ft(60)150 991 y Fr(App)t(endix)44 b(A)119 b(GNU)39 b(F)-11
b(ree)38 b(Do)t(cumen)l(tation)i(License)25 b Fo(:)20
-b(:)32 b Fr(69)150 1269 y(Concept)45 b(Index)36 b Fo(:)19
+b(:)32 b Fr(70)150 1269 y(Concept)45 b(Index)36 b Fo(:)19
b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)49 b Fr(77)150 1548 y(F)-11 b(unction)44 b(and)h(V)-11
+h(:)49 b Fr(78)150 1548 y(F)-11 b(unction)44 b(and)h(V)-11
b(ariable)45 b(Index)20 b Fo(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fr(78)p
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fr(79)p
eop end
%%Page: 1 5
TeXDict begin 1 4 bop 3705 -116 a Ft(1)150 299 y Fp(1)80
1519 y(#ifdef)g(HAVE_UNISTD_H)390 1606 y(#)79 b(include)40
b(<unistd.h>)390 1694 y(#endif)390 1868 y(#include)h(<fcntl.h>)390
1955 y(#include)g(<stdio.h>)390 2042 y(#include)g(<errno.h>)390
-2217 y(#if)f(defined)h(\(HAVE_STRING_H\))390 2304 y(#)79
-b(include)40 b(<string.h>)390 2391 y(#else)g(/*)g(!HAVE_STRING_H)i(*/)
-390 2478 y(#)79 b(include)40 b(<strings.h>)390 2565 y(#endif)h(/*)e
-(!HAVE_STRING_H)k(*/)390 2740 y(#ifdef)e(HAVE_STDLIB_H)390
-2827 y(#)79 b(include)40 b(<stdlib.h>)390 2914 y(#endif)390
-3088 y(#include)h(<time.h>)390 3263 y(#include)g(<readline/readline.h>)
-390 3350 y(#include)g(<readline/history.h>)390 3524 y(extern)g(char)f
-(*xmalloc)h(PARAMS\(\(size_t\)\);)390 3699 y(/*)f(The)g(names)g(of)g
+2130 y(#include)g(<locale.h>)390 2304 y(#if)f(defined)h
+(\(HAVE_STRING_H\))390 2391 y(#)79 b(include)40 b(<string.h>)390
+2478 y(#else)g(/*)g(!HAVE_STRING_H)i(*/)390 2565 y(#)79
+b(include)40 b(<strings.h>)390 2653 y(#endif)h(/*)e(!HAVE_STRING_H)k
+(*/)390 2827 y(#ifdef)e(HAVE_STDLIB_H)390 2914 y(#)79
+b(include)40 b(<stdlib.h>)390 3001 y(#endif)390 3176
+y(#include)h(<time.h>)390 3350 y(#include)g(<readline/readline.h>)390
+3437 y(#include)g(<readline/history.h>)390 3611 y(extern)g(char)f
+(*xmalloc)h(PARAMS\(\(size_t\)\);)390 3786 y(/*)f(The)g(names)g(of)g
(functions)h(that)f(actually)h(do)f(the)g(manipulation.)i(*/)390
-3786 y(int)e(com_list)h(PARAMS\(\(char)h(*\)\);)390 3873
-y(int)e(com_view)h(PARAMS\(\(char)h(*\)\);)390 3960 y(int)e(com_rename)
-h(PARAMS\(\(char)h(*\)\);)390 4047 y(int)e(com_stat)h(PARAMS\(\(char)h
-(*\)\);)390 4134 y(int)e(com_pwd)h(PARAMS\(\(char)h(*\)\);)390
-4222 y(int)e(com_delete)h(PARAMS\(\(char)h(*\)\);)390
-4309 y(int)e(com_help)h(PARAMS\(\(char)h(*\)\);)390 4396
-y(int)e(com_cd)g(PARAMS\(\(char)i(*\)\);)390 4483 y(int)e(com_quit)h
-(PARAMS\(\(char)h(*\)\);)390 4658 y(/*)e(A)f(structure)i(which)g
+3873 y(int)e(com_list)h(PARAMS\(\(char)h(*\)\);)390 3960
+y(int)e(com_view)h(PARAMS\(\(char)h(*\)\);)390 4047 y(int)e(com_rename)
+h(PARAMS\(\(char)h(*\)\);)390 4134 y(int)e(com_stat)h(PARAMS\(\(char)h
+(*\)\);)390 4222 y(int)e(com_pwd)h(PARAMS\(\(char)h(*\)\);)390
+4309 y(int)e(com_delete)h(PARAMS\(\(char)h(*\)\);)390
+4396 y(int)e(com_help)h(PARAMS\(\(char)h(*\)\);)390 4483
+y(int)e(com_cd)g(PARAMS\(\(char)i(*\)\);)390 4570 y(int)e(com_quit)h
+(PARAMS\(\(char)h(*\)\);)390 4745 y(/*)e(A)f(structure)i(which)g
(contains)g(information)h(on)d(the)h(commands)h(this)f(program)508
-4745 y(can)g(understand.)h(*/)390 4919 y(typedef)g(struct)f({)468
-5006 y(char)h(*name;)f(/*)g(User)g(printable)h(name)f(of)g(the)g
-(function.)h(*/)468 5093 y(rl_icpfunc_t)h(*func;)f(/*)f(Function)h(to)e
-(call)i(to)e(do)h(the)g(job.)g(*/)468 5181 y(char)h(*doc;)f(/*)g
-(Documentation)i(for)e(this)g(function.)80 b(*/)390 5268
-y(})39 b(COMMAND;)p eop end
+4832 y(can)g(understand.)h(*/)390 5006 y(typedef)g(struct)f({)468
+5093 y(char)h(*name;)f(/*)g(User)g(printable)h(name)f(of)g(the)g
+(function.)h(*/)468 5181 y(rl_icpfunc_t)h(*func;)f(/*)f(Function)h(to)e
+(call)i(to)e(do)h(the)g(job.)g(*/)468 5268 y(char)h(*doc;)f(/*)g
+(Documentation)i(for)e(this)g(function.)80 b(*/)p eop
+end
%%Page: 62 66
TeXDict begin 62 65 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(62)390
-386 y Fe(COMMAND)41 b(commands[])g(=)f({)468 473 y({)g("cd",)g(com_cd,)
-h("Change)g(to)f(directory)h(DIR")f(},)468 560 y({)g("delete",)h
-(com_delete,)h("Delete)f(FILE")f(},)468 648 y({)g("help",)h(com_help,)g
-("Display)g(this)f(text")h(},)468 735 y({)f("?",)g(com_help,)h
-("Synonym)g(for)f(`help'")h(},)468 822 y({)f("list",)h(com_list,)g
-("List)f(files)h(in)e(DIR")i(},)468 909 y({)f("ls",)g(com_list,)i
-("Synonym)f(for)f(`list'")g(},)468 996 y({)g("pwd",)g(com_pwd,)i
-("Print)e(the)g(current)h(working)g(directory")g(},)468
-1083 y({)f("quit",)h(com_quit,)g("Quit)f(using)h(Fileman")g(},)468
-1171 y({)f("rename",)h(com_rename,)h("Rename)f(FILE)f(to)g(NEWNAME")h
-(},)468 1258 y({)f("stat",)h(com_stat,)g("Print)g(out)f(statistics)h
-(on)f(FILE")g(},)468 1345 y({)g("view",)h(com_view,)g("View)f(the)g
-(contents)h(of)f(FILE")g(},)468 1432 y({)g(\(char)g(*\)NULL,)h
-(\(rl_icpfunc_t)h(*\)NULL,)f(\(char)f(*\)NULL)h(})390
-1519 y(};)390 1694 y(/*)f(Forward)g(declarations.)j(*/)390
-1781 y(char)d(*stripwhite)i(\(\);)390 1868 y(COMMAND)f(*find_command)h
-(\(\);)390 2042 y(/*)e(The)g(name)g(of)f(this)i(program,)g(as)e(taken)i
-(from)f(argv[0].)h(*/)390 2130 y(char)f(*progname;)390
-2304 y(/*)g(When)g(non-zero,)h(this)f(global)h(means)f(the)g(user)g(is)
-g(done)g(using)g(this)h(program.)g(*/)390 2391 y(int)f(done;)390
-2565 y(char)g(*)390 2653 y(dupstr)h(\(s\))586 2740 y(char)f(*s;)390
-2827 y({)468 2914 y(char)h(*r;)468 3088 y(r)f(=)f(xmalloc)i(\(strlen)g
-(\(s\))f(+)f(1\);)468 3176 y(strcpy)i(\(r,)f(s\);)468
-3263 y(return)h(\(r\);)390 3350 y(})390 3524 y(main)f(\(argc,)h(argv\))
-586 3611 y(int)f(argc;)586 3699 y(char)g(**argv;)390
-3786 y({)468 3873 y(char)h(*line,)f(*s;)468 4047 y(progname)h(=)f
-(argv[0];)468 4222 y(initialize_readline)k(\(\);)c(/*)g(Bind)g(our)g
-(completer.)h(*/)468 4396 y(/*)f(Loop)g(reading)h(and)f(executing)h
-(lines)g(until)f(the)g(user)g(quits.)h(*/)468 4483 y(for)f(\()g(;)f
-(done)h(==)g(0;)g(\))547 4570 y({)625 4658 y(line)g(=)g(readline)h
-(\("FileMan:)h("\);)625 4832 y(if)e(\(!line\))704 4919
-y(break;)625 5093 y(/*)g(Remove)h(leading)f(and)g(trailing)h
-(whitespace)h(from)e(the)g(line.)743 5181 y(Then,)g(if)g(there)g(is)g
-(anything)h(left,)g(add)e(it)h(to)g(the)g(history)h(list)743
-5268 y(and)f(execute)h(it.)f(*/)p eop end
+299 y Fe(})39 b(COMMAND;)390 473 y(COMMAND)i(commands[])g(=)f({)468
+560 y({)g("cd",)g(com_cd,)h("Change)g(to)f(directory)h(DIR")f(},)468
+648 y({)g("delete",)h(com_delete,)h("Delete)f(FILE")f(},)468
+735 y({)g("help",)h(com_help,)g("Display)g(this)f(text")h(},)468
+822 y({)f("?",)g(com_help,)h("Synonym)g(for)f(`help'")h(},)468
+909 y({)f("list",)h(com_list,)g("List)f(files)h(in)e(DIR")i(},)468
+996 y({)f("ls",)g(com_list,)i("Synonym)f(for)f(`list'")g(},)468
+1083 y({)g("pwd",)g(com_pwd,)i("Print)e(the)g(current)h(working)g
+(directory")g(},)468 1171 y({)f("quit",)h(com_quit,)g("Quit)f(using)h
+(Fileman")g(},)468 1258 y({)f("rename",)h(com_rename,)h("Rename)f(FILE)
+f(to)g(NEWNAME")h(},)468 1345 y({)f("stat",)h(com_stat,)g("Print)g(out)
+f(statistics)h(on)f(FILE")g(},)468 1432 y({)g("view",)h(com_view,)g
+("View)f(the)g(contents)h(of)f(FILE")g(},)468 1519 y({)g(\(char)g
+(*\)NULL,)h(\(rl_icpfunc_t)h(*\)NULL,)f(\(char)f(*\)NULL)h(})390
+1606 y(};)390 1781 y(/*)f(Forward)g(declarations.)j(*/)390
+1868 y(char)d(*stripwhite)i(\(\);)390 1955 y(COMMAND)f(*find_command)h
+(\(\);)390 2130 y(/*)e(The)g(name)g(of)f(this)i(program,)g(as)e(taken)i
+(from)f(argv[0].)h(*/)390 2217 y(char)f(*progname;)390
+2391 y(/*)g(When)g(non-zero,)h(this)f(global)h(means)f(the)g(user)g(is)
+g(done)g(using)g(this)h(program.)g(*/)390 2478 y(int)f(done;)390
+2653 y(char)g(*)390 2740 y(dupstr)h(\(s\))586 2827 y(char)f(*s;)390
+2914 y({)468 3001 y(char)h(*r;)468 3176 y(r)f(=)f(xmalloc)i(\(strlen)g
+(\(s\))f(+)f(1\);)468 3263 y(strcpy)i(\(r,)f(s\);)468
+3350 y(return)h(\(r\);)390 3437 y(})390 3611 y(main)f(\(argc,)h(argv\))
+586 3699 y(int)f(argc;)586 3786 y(char)g(**argv;)390
+3873 y({)468 3960 y(char)h(*line,)f(*s;)468 4134 y(setlocale)i
+(\(LC_ALL,)f(""\);)468 4309 y(progname)g(=)f(argv[0];)468
+4483 y(initialize_readline)k(\(\);)c(/*)g(Bind)g(our)g(completer.)h(*/)
+468 4658 y(/*)f(Loop)g(reading)h(and)f(executing)h(lines)g(until)f(the)
+g(user)g(quits.)h(*/)468 4745 y(for)f(\()g(;)f(done)h(==)g(0;)g(\))547
+4832 y({)625 4919 y(line)g(=)g(readline)h(\("FileMan:)h("\);)625
+5093 y(if)e(\(!line\))704 5181 y(break;)p eop end
%%Page: 63 67
TeXDict begin 63 66 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(63)625
-299 y Fe(s)40 b(=)f(stripwhite)j(\(line\);)625 473 y(if)e(\(*s\))704
-560 y({)782 648 y(add_history)i(\(s\);)782 735 y(execute_line)g(\(s\);)
-704 822 y(})625 996 y(free)e(\(line\);)547 1083 y(})468
-1171 y(exit)h(\(0\);)390 1258 y(})390 1432 y(/*)f(Execute)g(a)g
-(command)h(line.)f(*/)390 1519 y(int)390 1606 y(execute_line)i
-(\(line\))586 1694 y(char)e(*line;)390 1781 y({)468 1868
-y(register)h(int)f(i;)468 1955 y(COMMAND)h(*command;)468
-2042 y(char)g(*word;)468 2217 y(/*)f(Isolate)h(the)f(command)h(word.)f
-(*/)468 2304 y(i)g(=)f(0;)468 2391 y(while)i(\(line[i])g(&&)f
-(whitespace)h(\(line[i]\)\))547 2478 y(i++;)468 2565
-y(word)g(=)e(line)h(+)g(i;)468 2740 y(while)h(\(line[i])g(&&)f
-(!whitespace)h(\(line[i]\)\))547 2827 y(i++;)468 3001
-y(if)f(\(line[i]\))547 3088 y(line[i++])h(=)f('\\0';)468
-3263 y(command)h(=)f(find_command)i(\(word\);)468 3437
-y(if)e(\(!command\))547 3524 y({)625 3611 y(fprintf)h(\(stderr,)g
+299 y Fe(/*)40 b(Remove)h(leading)f(and)g(trailing)h(whitespace)h(from)
+e(the)g(line.)743 386 y(Then,)g(if)g(there)g(is)g(anything)h(left,)g
+(add)e(it)h(to)g(the)g(history)h(list)743 473 y(and)f(execute)h(it.)f
+(*/)625 560 y(s)g(=)f(stripwhite)j(\(line\);)625 735
+y(if)e(\(*s\))704 822 y({)782 909 y(add_history)i(\(s\);)782
+996 y(execute_line)g(\(s\);)704 1083 y(})625 1258 y(free)e(\(line\);)
+547 1345 y(})468 1432 y(exit)h(\(0\);)390 1519 y(})390
+1694 y(/*)f(Execute)g(a)g(command)h(line.)f(*/)390 1781
+y(int)390 1868 y(execute_line)i(\(line\))586 1955 y(char)e(*line;)390
+2042 y({)468 2130 y(register)h(int)f(i;)468 2217 y(COMMAND)h(*command;)
+468 2304 y(char)g(*word;)468 2478 y(/*)f(Isolate)h(the)f(command)h
+(word.)f(*/)468 2565 y(i)g(=)f(0;)468 2653 y(while)i(\(line[i])g(&&)f
+(whitespace)h(\(line[i]\)\))547 2740 y(i++;)468 2827
+y(word)g(=)e(line)h(+)g(i;)468 3001 y(while)h(\(line[i])g(&&)f
+(!whitespace)h(\(line[i]\)\))547 3088 y(i++;)468 3263
+y(if)f(\(line[i]\))547 3350 y(line[i++])h(=)f('\\0';)468
+3524 y(command)h(=)f(find_command)i(\(word\);)468 3699
+y(if)e(\(!command\))547 3786 y({)625 3873 y(fprintf)h(\(stderr,)g
("\045s:)f(No)g(such)g(command)h(for)f(FileMan.\\n",)i(word\);)625
-3699 y(return)f(\(-1\);)547 3786 y(})468 3960 y(/*)f(Get)g(argument)h
-(to)f(command,)h(if)f(any.)g(*/)468 4047 y(while)h(\(whitespace)h
-(\(line[i]\)\))547 4134 y(i++;)468 4309 y(word)f(=)e(line)h(+)g(i;)468
-4483 y(/*)g(Call)g(the)g(function.)h(*/)468 4570 y(return)g
-(\(\(*\(command->func\)\))j(\(word\)\);)390 4658 y(})390
-4832 y(/*)c(Look)g(up)f(NAME)i(as)e(the)h(name)g(of)g(a)g(command,)h
-(and)e(return)i(a)f(pointer)g(to)g(that)508 4919 y(command.)80
+3960 y(return)f(\(-1\);)547 4047 y(})468 4222 y(/*)f(Get)g(argument)h
+(to)f(command,)h(if)f(any.)g(*/)468 4309 y(while)h(\(whitespace)h
+(\(line[i]\)\))547 4396 y(i++;)468 4570 y(word)f(=)e(line)h(+)g(i;)468
+4745 y(/*)g(Call)g(the)g(function.)h(*/)468 4832 y(return)g
+(\(\(*\(command->func\)\))j(\(word\)\);)390 4919 y(})390
+5093 y(/*)c(Look)g(up)f(NAME)i(as)e(the)h(name)g(of)g(a)g(command,)h
+(and)e(return)i(a)f(pointer)g(to)g(that)508 5181 y(command.)80
b(Return)41 b(a)e(NULL)h(pointer)h(if)f(NAME)g(isn't)g(a)g(command)g
-(name.)h(*/)390 5006 y(COMMAND)g(*)390 5093 y(find_command)h(\(name\))
-586 5181 y(char)e(*name;)390 5268 y({)p eop end
+(name.)h(*/)390 5268 y(COMMAND)g(*)p eop end
%%Page: 64 68
TeXDict begin 64 67 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(64)468
-299 y Fe(register)41 b(int)f(i;)468 473 y(for)g(\(i)g(=)f(0;)h
-(commands[i].name;)j(i++\))547 560 y(if)d(\(strcmp)g(\(name,)h
-(commands[i].name\))i(==)d(0\))625 648 y(return)h(\(&commands[i]\);)468
-822 y(return)g(\(\(COMMAND)g(*\)NULL\);)390 909 y(})390
-1083 y(/*)f(Strip)g(whitespace)i(from)e(the)g(start)g(and)g(end)g(of)f
-(STRING.)81 b(Return)40 b(a)g(pointer)508 1171 y(into)g(STRING.)h(*/)
-390 1258 y(char)f(*)390 1345 y(stripwhite)h(\(string\))586
-1432 y(char)f(*string;)390 1519 y({)468 1606 y(register)h(char)g(*s,)f
-(*t;)468 1781 y(for)g(\(s)g(=)f(string;)i(whitespace)h(\(*s\);)e(s++\))
-547 1868 y(;)468 2042 y(if)g(\(*s)g(==)g(0\))547 2130
-y(return)g(\(s\);)468 2304 y(t)g(=)f(s)h(+)f(strlen)i(\(s\))f(-)f(1;)
-468 2391 y(while)i(\(t)e(>)h(s)f(&&)h(whitespace)i(\(*t\)\))547
-2478 y(t--;)468 2565 y(*++t)f(=)e('\\0';)468 2740 y(return)i(s;)390
-2827 y(})390 3001 y(/*)f(******************************)q(*****)q(****)
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(64)390
+299 y Fe(find_command)42 b(\(name\))586 386 y(char)e(*name;)390
+473 y({)468 560 y(register)h(int)f(i;)468 735 y(for)g(\(i)g(=)f(0;)h
+(commands[i].name;)j(i++\))547 822 y(if)d(\(strcmp)g(\(name,)h
+(commands[i].name\))i(==)d(0\))625 909 y(return)h(\(&commands[i]\);)468
+1083 y(return)g(\(\(COMMAND)g(*\)NULL\);)390 1171 y(})390
+1345 y(/*)f(Strip)g(whitespace)i(from)e(the)g(start)g(and)g(end)g(of)f
+(STRING.)81 b(Return)40 b(a)g(pointer)508 1432 y(into)g(STRING.)h(*/)
+390 1519 y(char)f(*)390 1606 y(stripwhite)h(\(string\))586
+1694 y(char)f(*string;)390 1781 y({)468 1868 y(register)h(char)g(*s,)f
+(*t;)468 2042 y(for)g(\(s)g(=)f(string;)i(whitespace)h(\(*s\);)e(s++\))
+547 2130 y(;)468 2304 y(if)g(\(*s)g(==)g(0\))547 2391
+y(return)g(\(s\);)468 2565 y(t)g(=)f(s)h(+)f(strlen)i(\(s\))f(-)f(1;)
+468 2653 y(while)i(\(t)e(>)h(s)f(&&)h(whitespace)i(\(*t\)\))547
+2740 y(t--;)468 2827 y(*++t)f(=)e('\\0';)468 3001 y(return)i(s;)390
+3088 y(})390 3263 y(/*)f(******************************)q(*****)q(****)
q(*****)q(****)q(****)q(*****)q(****)q(***)45 b(*/)390
-3088 y(/*)2589 b(*/)390 3176 y(/*)707 b(Interface)41
-b(to)f(Readline)h(Completion)629 b(*/)390 3263 y(/*)2589
-b(*/)390 3350 y(/*)40 b(******************************)q(*****)q(****)q
+3350 y(/*)2589 b(*/)390 3437 y(/*)707 b(Interface)41
+b(to)f(Readline)h(Completion)629 b(*/)390 3524 y(/*)2589
+b(*/)390 3611 y(/*)40 b(******************************)q(*****)q(****)q
(*****)q(****)q(****)q(*****)q(****)q(***)45 b(*/)390
-3524 y(char)40 b(*command_generator)j(PARAMS\(\(const)g(char)d(*,)f
-(int\)\);)390 3611 y(char)h(**fileman_completion)k(PARAMS\(\(const)e
-(char)e(*,)g(int,)g(int\)\);)390 3786 y(/*)g(Tell)g(the)g(GNU)g
+3786 y(char)40 b(*command_generator)j(PARAMS\(\(const)g(char)d(*,)f
+(int\)\);)390 3873 y(char)h(**fileman_completion)k(PARAMS\(\(const)e
+(char)e(*,)g(int,)g(int\)\);)390 4047 y(/*)g(Tell)g(the)g(GNU)g
(Readline)h(library)g(how)e(to)h(complete.)81 b(We)39
-b(want)h(to)g(try)g(to)g(complete)508 3873 y(on)f(command)i(names)g(if)
+b(want)h(to)g(try)g(to)g(complete)508 4134 y(on)f(command)i(names)g(if)
e(this)h(is)g(the)g(first)g(word)g(in)g(the)g(line,)g(or)g(on)g
-(filenames)508 3960 y(if)f(not.)h(*/)390 4047 y(initialize_readline)k
-(\(\))390 4134 y({)468 4222 y(/*)c(Allow)g(conditional)i(parsing)f(of)f
-(the)g(~/.inputrc)h(file.)g(*/)468 4309 y(rl_readline_name)i(=)d
-("FileMan";)468 4483 y(/*)g(Tell)g(the)g(completer)h(that)g(we)e(want)h
-(a)g(crack)g(first.)h(*/)468 4570 y(rl_attempted_completion_fun)q(ctio)
-q(n)k(=)39 b(fileman_completion;)390 4658 y(})390 4832
+(filenames)508 4222 y(if)f(not.)h(*/)390 4309 y(initialize_readline)k
+(\(\))390 4396 y({)468 4483 y(/*)c(Allow)g(conditional)i(parsing)f(of)f
+(the)g(~/.inputrc)h(file.)g(*/)468 4570 y(rl_readline_name)i(=)d
+("FileMan";)468 4745 y(/*)g(Tell)g(the)g(completer)h(that)g(we)e(want)h
+(a)g(crack)g(first.)h(*/)468 4832 y(rl_attempted_completion_fun)q(ctio)
+q(n)k(=)39 b(fileman_completion;)390 4919 y(})390 5093
y(/*)h(Attempt)g(to)g(complete)h(on)f(the)g(contents)h(of)f(TEXT.)79
-b(START)41 b(and)e(END)h(bound)h(the)508 4919 y(region)f(of)g
+b(START)41 b(and)e(END)h(bound)h(the)508 5181 y(region)f(of)g
(rl_line_buffer)i(that)f(contains)g(the)e(word)i(to)e(complete.)81
-b(TEXT)40 b(is)508 5006 y(the)g(word)g(to)f(complete.)81
-b(We)40 b(can)g(use)f(the)h(entire)h(contents)g(of)f(rl_line_buffer)508
-5093 y(in)f(case)h(we)g(want)g(to)g(do)g(some)g(simple)g(parsing.)81
-b(Return)40 b(the)g(array)h(of)e(matches,)508 5181 y(or)g(NULL)h(if)g
-(there)h(aren't)f(any.)g(*/)390 5268 y(char)g(**)p eop
-end
+b(TEXT)40 b(is)508 5268 y(the)g(word)g(to)f(complete.)81
+b(We)40 b(can)g(use)f(the)h(entire)h(contents)g(of)f(rl_line_buffer)p
+eop end
%%Page: 65 69
TeXDict begin 65 68 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(65)390
-299 y Fe(fileman_completion)43 b(\(text,)e(start,)g(end\))586
-386 y(const)f(char)h(*text;)586 473 y(int)f(start,)h(end;)390
-560 y({)468 648 y(char)g(**matches;)468 822 y(matches)g(=)f(\(char)g
-(**\)NULL;)468 996 y(/*)g(If)g(this)g(word)g(is)g(at)f(the)h(start)h
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(65)508
+299 y Fe(in)39 b(case)h(we)g(want)g(to)g(do)g(some)g(simple)g(parsing.)
+81 b(Return)40 b(the)g(array)h(of)e(matches,)508 386
+y(or)g(NULL)h(if)g(there)h(aren't)f(any.)g(*/)390 473
+y(char)g(**)390 560 y(fileman_completion)j(\(text,)e(start,)g(end\))586
+648 y(const)f(char)h(*text;)586 735 y(int)f(start,)h(end;)390
+822 y({)468 909 y(char)g(**matches;)468 1083 y(matches)g(=)f(\(char)g
+(**\)NULL;)468 1258 y(/*)g(If)g(this)g(word)g(is)g(at)f(the)h(start)h
(of)e(the)h(line,)h(then)f(it)g(is)f(a)h(command)586
-1083 y(to)g(complete.)80 b(Otherwise)42 b(it)d(is)h(the)g(name)g(of)g
-(a)f(file)h(in)g(the)g(current)586 1171 y(directory.)i(*/)468
-1258 y(if)e(\(start)h(==)e(0\))547 1345 y(matches)i(=)e
+1345 y(to)g(complete.)80 b(Otherwise)42 b(it)d(is)h(the)g(name)g(of)g
+(a)f(file)h(in)g(the)g(current)586 1432 y(directory.)i(*/)468
+1519 y(if)e(\(start)h(==)e(0\))547 1606 y(matches)i(=)e
(rl_completion_matches)44 b(\(text,)d(command_generator\);)468
-1519 y(return)g(\(matches\);)390 1606 y(})390 1781 y(/*)f(Generator)h
+1781 y(return)g(\(matches\);)390 1868 y(})390 2042 y(/*)f(Generator)h
(function)g(for)f(command)h(completion.)81 b(STATE)40
-b(lets)g(us)g(know)g(whether)508 1868 y(to)f(start)i(from)f(scratch;)h
+b(lets)g(us)g(know)g(whether)508 2130 y(to)f(start)i(from)f(scratch;)h
(without)g(any)f(state)g(\(i.e.)g(STATE)h(==)e(0\),)h(then)g(we)508
-1955 y(start)g(at)g(the)g(top)g(of)f(the)h(list.)h(*/)390
-2042 y(char)f(*)390 2130 y(command_generator)j(\(text,)e(state\))586
-2217 y(const)f(char)h(*text;)586 2304 y(int)f(state;)390
-2391 y({)468 2478 y(static)h(int)f(list_index,)i(len;)468
-2565 y(char)f(*name;)468 2740 y(/*)f(If)g(this)g(is)g(a)f(new)h(word)g
+2217 y(start)g(at)g(the)g(top)g(of)f(the)h(list.)h(*/)390
+2304 y(char)f(*)390 2391 y(command_generator)j(\(text,)e(state\))586
+2478 y(const)f(char)h(*text;)586 2565 y(int)f(state;)390
+2653 y({)468 2740 y(static)h(int)f(list_index,)i(len;)468
+2827 y(char)f(*name;)468 3001 y(/*)f(If)g(this)g(is)g(a)f(new)h(word)g
(to)g(complete,)h(initialize)h(now.)79 b(This)40 b(includes)586
-2827 y(saving)h(the)f(length)g(of)g(TEXT)g(for)g(efficiency,)i(and)e
-(initializing)i(the)d(index)586 2914 y(variable)i(to)f(0.)g(*/)468
-3001 y(if)g(\(!state\))547 3088 y({)625 3176 y(list_index)i(=)d(0;)625
-3263 y(len)h(=)g(strlen)g(\(text\);)547 3350 y(})468
-3524 y(/*)g(Return)h(the)f(next)g(name)g(which)g(partially)i(matches)e
-(from)h(the)e(command)i(list.)g(*/)468 3611 y(while)g(\(name)f(=)g
-(commands[list_index].name\))547 3699 y({)625 3786 y(list_index++;)625
-3960 y(if)g(\(strncmp)h(\(name,)g(text,)f(len\))g(==)g(0\))704
-4047 y(return)g(\(dupstr\(name\)\);)547 4134 y(})468
-4309 y(/*)g(If)g(no)f(names)i(matched,)g(then)f(return)h(NULL.)f(*/)468
-4396 y(return)h(\(\(char)g(*\)NULL\);)390 4483 y(})390
-4658 y(/*)f(******************************)q(*****)q(****)q(*****)q
-(****)q(****)q(*****)q(****)q(***)45 b(*/)390 4745 y(/*)2589
-b(*/)390 4832 y(/*)903 b(FileMan)41 b(Commands)1060 b(*/)390
-4919 y(/*)2589 b(*/)390 5006 y(/*)40 b(******************************)q
+3088 y(saving)h(the)f(length)g(of)g(TEXT)g(for)g(efficiency,)i(and)e
+(initializing)i(the)d(index)586 3176 y(variable)i(to)f(0.)g(*/)468
+3263 y(if)g(\(!state\))547 3350 y({)625 3437 y(list_index)i(=)d(0;)625
+3524 y(len)h(=)g(strlen)g(\(text\);)547 3611 y(})468
+3786 y(/*)g(Return)h(the)f(next)g(name)g(which)g(partially)i(matches)e
+(from)h(the)e(command)i(list.)g(*/)468 3873 y(while)g(\(name)f(=)g
+(commands[list_index].name\))547 3960 y({)625 4047 y(list_index++;)625
+4222 y(if)g(\(strncmp)h(\(name,)g(text,)f(len\))g(==)g(0\))704
+4309 y(return)g(\(dupstr\(name\)\);)547 4396 y(})468
+4570 y(/*)g(If)g(no)f(names)i(matched,)g(then)f(return)h(NULL.)f(*/)468
+4658 y(return)h(\(\(char)g(*\)NULL\);)390 4745 y(})390
+4919 y(/*)f(******************************)q(*****)q(****)q(*****)q
+(****)q(****)q(*****)q(****)q(***)45 b(*/)390 5006 y(/*)2589
+b(*/)390 5093 y(/*)903 b(FileMan)41 b(Commands)1060 b(*/)390
+5181 y(/*)2589 b(*/)390 5268 y(/*)40 b(******************************)q
(*****)q(****)q(*****)q(****)q(****)q(*****)q(****)q(***)45
-b(*/)390 5181 y(/*)40 b(String)g(to)g(pass)g(to)g(system)g(\(\).)80
-b(This)40 b(is)f(for)h(the)g(LIST,)h(VIEW)f(and)g(RENAME)508
-5268 y(commands.)h(*/)p eop end
+b(*/)p eop end
%%Page: 66 70
TeXDict begin 66 69 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(66)390
-299 y Fe(static)41 b(char)f(syscom[1024];)390 473 y(/*)g(List)g(the)g
-(file\(s\))h(named)f(in)g(arg.)g(*/)390 560 y(com_list)h(\(arg\))586
-648 y(char)f(*arg;)390 735 y({)468 822 y(if)g(\(!arg\))547
-909 y(arg)g(=)f("";)468 1083 y(sprintf)i(\(syscom,)g("ls)f(-FClg)h
-(\045s",)f(arg\);)468 1171 y(return)h(\(system)g(\(syscom\)\);)390
-1258 y(})390 1432 y(com_view)g(\(arg\))586 1519 y(char)f(*arg;)390
-1606 y({)468 1694 y(if)g(\(!valid_argument)j(\("view",)e(arg\)\))547
-1781 y(return)f(1;)390 1955 y(#if)g(defined)h(\(__MSDOS__\))468
-2042 y(/*)f(more.com)h(doesn't)g(grok)f(slashes)h(in)f(pathnames)h(*/)
-468 2130 y(sprintf)g(\(syscom,)g("less)g(\045s",)f(arg\);)390
-2217 y(#else)468 2304 y(sprintf)h(\(syscom,)g("more)g(\045s",)f(arg\);)
-390 2391 y(#endif)468 2478 y(return)h(\(system)g(\(syscom\)\);)390
-2565 y(})390 2740 y(com_rename)g(\(arg\))586 2827 y(char)f(*arg;)390
-2914 y({)468 3001 y(too_dangerous)j(\("rename"\);)468
-3088 y(return)e(\(1\);)390 3176 y(})390 3350 y(com_stat)g(\(arg\))586
-3437 y(char)f(*arg;)390 3524 y({)468 3611 y(struct)h(stat)f(finfo;)468
-3786 y(if)g(\(!valid_argument)j(\("stat",)e(arg\)\))547
-3873 y(return)f(\(1\);)468 4047 y(if)g(\(stat)g(\(arg,)h(&finfo\))g(==)
-e(-1\))547 4134 y({)625 4222 y(perror)i(\(arg\);)625
-4309 y(return)g(\(1\);)547 4396 y(})468 4570 y(printf)g(\("Statistics)h
-(for)e(`\045s':\\n",)h(arg\);)468 4745 y(printf)g(\("\045s)f(has)g
+386 y Fe(/*)40 b(String)g(to)g(pass)g(to)g(system)g(\(\).)80
+b(This)40 b(is)f(for)h(the)g(LIST,)h(VIEW)f(and)g(RENAME)508
+473 y(commands.)h(*/)390 560 y(static)g(char)f(syscom[1024];)390
+735 y(/*)g(List)g(the)g(file\(s\))h(named)f(in)g(arg.)g(*/)390
+822 y(com_list)h(\(arg\))586 909 y(char)f(*arg;)390 996
+y({)468 1083 y(if)g(\(!arg\))547 1171 y(arg)g(=)f("";)468
+1345 y(sprintf)i(\(syscom,)g("ls)f(-FClg)h(\045s",)f(arg\);)468
+1432 y(return)h(\(system)g(\(syscom\)\);)390 1519 y(})390
+1694 y(com_view)g(\(arg\))586 1781 y(char)f(*arg;)390
+1868 y({)468 1955 y(if)g(\(!valid_argument)j(\("view",)e(arg\)\))547
+2042 y(return)f(1;)390 2217 y(#if)g(defined)h(\(__MSDOS__\))468
+2304 y(/*)f(more.com)h(doesn't)g(grok)f(slashes)h(in)f(pathnames)h(*/)
+468 2391 y(sprintf)g(\(syscom,)g("less)g(\045s",)f(arg\);)390
+2478 y(#else)468 2565 y(sprintf)h(\(syscom,)g("more)g(\045s",)f(arg\);)
+390 2653 y(#endif)468 2740 y(return)h(\(system)g(\(syscom\)\);)390
+2827 y(})390 3001 y(com_rename)g(\(arg\))586 3088 y(char)f(*arg;)390
+3176 y({)468 3263 y(too_dangerous)j(\("rename"\);)468
+3350 y(return)e(\(1\);)390 3437 y(})390 3611 y(com_stat)g(\(arg\))586
+3699 y(char)f(*arg;)390 3786 y({)468 3873 y(struct)h(stat)f(finfo;)468
+4047 y(if)g(\(!valid_argument)j(\("stat",)e(arg\)\))547
+4134 y(return)f(\(1\);)468 4309 y(if)g(\(stat)g(\(arg,)h(&finfo\))g(==)
+e(-1\))547 4396 y({)625 4483 y(perror)i(\(arg\);)625
+4570 y(return)g(\(1\);)547 4658 y(})468 4832 y(printf)g(\("Statistics)h
+(for)e(`\045s':\\n",)h(arg\);)468 5006 y(printf)g(\("\045s)f(has)g
(\045d)g(link\045s,)h(and)f(is)f(\045d)h(byte\045s)g(in)g(length.\\n",)
-468 4832 y(arg,)782 4919 y(finfo.st_nlink,)782 5006 y(\(finfo.st_nlink)
-j(==)d(1\))f(?)h("")f(:)h("s",)782 5093 y(finfo.st_size,)782
-5181 y(\(finfo.st_size)j(==)c(1\))h(?)g("")f(:)h("s"\);)468
-5268 y(printf)h(\("Inode)g(Last)f(Change)h(at:)f(\045s",)g(ctime)g
-(\(&finfo.st_ctime\)\);)p eop end
+468 5093 y(arg,)782 5181 y(finfo.st_nlink,)782 5268 y(\(finfo.st_nlink)
+j(==)d(1\))f(?)h("")f(:)h("s",)p eop end
%%Page: 67 71
TeXDict begin 67 70 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(67)468
-299 y Fe(printf)41 b(\(")236 b(Last)40 b(access)h(at:)f(\045s",)g
-(ctime)g(\(&finfo.st_atime\)\);)468 386 y(printf)h(\(")157
-b(Last)41 b(modified)g(at:)f(\045s",)g(ctime)g(\(&finfo.st_mtime\)\);)
-468 473 y(return)h(\(0\);)390 560 y(})390 735 y(com_delete)g(\(arg\))
-586 822 y(char)f(*arg;)390 909 y({)468 996 y(too_dangerous)j
-(\("delete"\);)468 1083 y(return)e(\(1\);)390 1171 y(})390
-1345 y(/*)f(Print)g(out)g(help)g(for)g(ARG,)g(or)g(for)g(all)g(of)f
-(the)h(commands)h(if)f(ARG)g(is)508 1432 y(not)g(present.)h(*/)390
-1519 y(com_help)g(\(arg\))586 1606 y(char)f(*arg;)390
-1694 y({)468 1781 y(register)h(int)f(i;)468 1868 y(int)g(printed)h(=)f
-(0;)468 2042 y(for)g(\(i)g(=)f(0;)h(commands[i].name;)j(i++\))547
-2130 y({)625 2217 y(if)d(\(!*arg)h(||)e(\(strcmp)i(\(arg,)g
-(commands[i].name\))i(==)c(0\)\))704 2304 y({)782 2391
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(67)782
+299 y Fe(finfo.st_size,)782 386 y(\(finfo.st_size)43
+b(==)c(1\))h(?)g("")f(:)h("s"\);)468 473 y(printf)h(\("Inode)g(Last)f
+(Change)h(at:)f(\045s",)g(ctime)g(\(&finfo.st_ctime\)\);)468
+560 y(printf)h(\(")236 b(Last)40 b(access)h(at:)f(\045s",)g(ctime)g
+(\(&finfo.st_atime\)\);)468 648 y(printf)h(\(")157 b(Last)41
+b(modified)g(at:)f(\045s",)g(ctime)g(\(&finfo.st_mtime\)\);)468
+735 y(return)h(\(0\);)390 822 y(})390 996 y(com_delete)g(\(arg\))586
+1083 y(char)f(*arg;)390 1171 y({)468 1258 y(too_dangerous)j
+(\("delete"\);)468 1345 y(return)e(\(1\);)390 1432 y(})390
+1606 y(/*)f(Print)g(out)g(help)g(for)g(ARG,)g(or)g(for)g(all)g(of)f
+(the)h(commands)h(if)f(ARG)g(is)508 1694 y(not)g(present.)h(*/)390
+1781 y(com_help)g(\(arg\))586 1868 y(char)f(*arg;)390
+1955 y({)468 2042 y(register)h(int)f(i;)468 2130 y(int)g(printed)h(=)f
+(0;)468 2304 y(for)g(\(i)g(=)f(0;)h(commands[i].name;)j(i++\))547
+2391 y({)625 2478 y(if)d(\(!*arg)h(||)e(\(strcmp)i(\(arg,)g
+(commands[i].name\))i(==)c(0\)\))704 2565 y({)782 2653
y(printf)i(\("\045s\\t\\t\045s.\\n",)i(commands[i].name,)g
-(commands[i].doc\);)782 2478 y(printed++;)704 2565 y(})547
-2653 y(})468 2827 y(if)d(\(!printed\))547 2914 y({)625
-3001 y(printf)h(\("No)f(commands)h(match)g(`\045s'.)79
-b(Possibilities)42 b(are:\\n",)f(arg\);)625 3176 y(for)f(\(i)g(=)f(0;)h
-(commands[i].name;)j(i++\))704 3263 y({)782 3350 y(/*)d(Print)g(in)g
-(six)g(columns.)h(*/)782 3437 y(if)f(\(printed)h(==)f(6\))861
-3524 y({)939 3611 y(printed)h(=)e(0;)939 3699 y(printf)i(\("\\n"\);)861
-3786 y(})782 3960 y(printf)g(\("\045s\\t",)g(commands[i].name\);)782
-4047 y(printed++;)704 4134 y(})625 4309 y(if)f(\(printed\))704
-4396 y(printf)g(\("\\n"\);)547 4483 y(})468 4570 y(return)h(\(0\);)390
-4658 y(})390 4832 y(/*)f(Change)g(to)g(the)g(directory)h(ARG.)f(*/)390
-4919 y(com_cd)h(\(arg\))586 5006 y(char)f(*arg;)390 5093
-y({)468 5181 y(if)g(\(chdir)h(\(arg\))f(==)g(-1\))547
-5268 y({)p eop end
+(commands[i].doc\);)782 2740 y(printed++;)704 2827 y(})547
+2914 y(})468 3088 y(if)d(\(!printed\))547 3176 y({)625
+3263 y(printf)h(\("No)f(commands)h(match)g(`\045s'.)79
+b(Possibilities)42 b(are:\\n",)f(arg\);)625 3437 y(for)f(\(i)g(=)f(0;)h
+(commands[i].name;)j(i++\))704 3524 y({)782 3611 y(/*)d(Print)g(in)g
+(six)g(columns.)h(*/)782 3699 y(if)f(\(printed)h(==)f(6\))861
+3786 y({)939 3873 y(printed)h(=)e(0;)939 3960 y(printf)i(\("\\n"\);)861
+4047 y(})782 4222 y(printf)g(\("\045s\\t",)g(commands[i].name\);)782
+4309 y(printed++;)704 4396 y(})625 4570 y(if)f(\(printed\))704
+4658 y(printf)g(\("\\n"\);)547 4745 y(})468 4832 y(return)h(\(0\);)390
+4919 y(})390 5093 y(/*)f(Change)g(to)g(the)g(directory)h(ARG.)f(*/)390
+5181 y(com_cd)h(\(arg\))586 5268 y(char)f(*arg;)p eop
+end
%%Page: 68 72
TeXDict begin 68 71 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(68)625
-299 y Fe(perror)41 b(\(arg\);)625 386 y(return)g(1;)547
-473 y(})468 648 y(com_pwd)g(\(""\);)468 735 y(return)g(\(0\);)390
-822 y(})390 996 y(/*)f(Print)g(out)g(the)g(current)h(working)g
-(directory.)g(*/)390 1083 y(com_pwd)g(\(ignore\))586
-1171 y(char)f(*ignore;)390 1258 y({)468 1345 y(char)h(dir[1024],)g(*s;)
-468 1519 y(s)f(=)f(getcwd)i(\(dir,)f(sizeof\(dir\))i(-)e(1\);)468
-1606 y(if)g(\(s)g(==)f(0\))547 1694 y({)625 1781 y(printf)i(\("Error)g
-(getting)g(pwd:)f(\045s\\n",)g(dir\);)625 1868 y(return)h(1;)547
-1955 y(})468 2130 y(printf)g(\("Current)g(directory)h(is)d(\045s\\n",)i
-(dir\);)468 2217 y(return)g(0;)390 2304 y(})390 2478
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(68)390
+299 y Fe({)468 386 y(if)40 b(\(chdir)h(\(arg\))f(==)g(-1\))547
+473 y({)625 560 y(perror)h(\(arg\);)625 648 y(return)g(1;)547
+735 y(})468 909 y(com_pwd)g(\(""\);)468 996 y(return)g(\(0\);)390
+1083 y(})390 1258 y(/*)f(Print)g(out)g(the)g(current)h(working)g
+(directory.)g(*/)390 1345 y(com_pwd)g(\(ignore\))586
+1432 y(char)f(*ignore;)390 1519 y({)468 1606 y(char)h(dir[1024],)g(*s;)
+468 1781 y(s)f(=)f(getcwd)i(\(dir,)f(sizeof\(dir\))i(-)e(1\);)468
+1868 y(if)g(\(s)g(==)f(0\))547 1955 y({)625 2042 y(printf)i(\("Error)g
+(getting)g(pwd:)f(\045s\\n",)g(dir\);)625 2130 y(return)h(1;)547
+2217 y(})468 2391 y(printf)g(\("Current)g(directory)h(is)d(\045s\\n",)i
+(dir\);)468 2478 y(return)g(0;)390 2565 y(})390 2740
y(/*)f(The)g(user)g(wishes)g(to)g(quit)g(using)h(this)f(program.)80
-b(Just)40 b(set)g(DONE)g(non-zero.)h(*/)390 2565 y(com_quit)g(\(arg\))
-586 2653 y(char)f(*arg;)390 2740 y({)468 2827 y(done)h(=)e(1;)468
-2914 y(return)i(\(0\);)390 3001 y(})390 3176 y(/*)f(Function)h(which)f
+b(Just)40 b(set)g(DONE)g(non-zero.)h(*/)390 2827 y(com_quit)g(\(arg\))
+586 2914 y(char)f(*arg;)390 3001 y({)468 3088 y(done)h(=)e(1;)468
+3176 y(return)i(\(0\);)390 3263 y(})390 3437 y(/*)f(Function)h(which)f
(tells)g(you)g(that)h(you)e(can't)i(do)e(this.)i(*/)390
-3263 y(too_dangerous)h(\(caller\))586 3350 y(char)e(*caller;)390
-3437 y({)468 3524 y(fprintf)h(\(stderr,)821 3611 y("\045s:)g(Too)f
+3524 y(too_dangerous)h(\(caller\))586 3611 y(char)e(*caller;)390
+3699 y({)468 3786 y(fprintf)h(\(stderr,)821 3873 y("\045s:)g(Too)f
(dangerous)h(for)f(me)f(to)h(distribute.)81 b(Write)40
-b(it)g(yourself.\\n",)821 3699 y(caller\);)390 3786 y(})390
-3960 y(/*)g(Return)g(non-zero)h(if)f(ARG)g(is)g(a)f(valid)h(argument)h
-(for)f(CALLER,)h(else)f(print)508 4047 y(an)f(error)i(message)g(and)e
-(return)i(zero.)f(*/)390 4134 y(int)390 4222 y(valid_argument)i
-(\(caller,)f(arg\))586 4309 y(char)f(*caller,)h(*arg;)390
-4396 y({)468 4483 y(if)f(\(!arg)g(||)g(!*arg\))547 4570
-y({)625 4658 y(fprintf)h(\(stderr,)g("\045s:)f(Argument)h
-(required.\\n",)i(caller\);)625 4745 y(return)e(\(0\);)547
-4832 y(})468 5006 y(return)g(\(1\);)390 5093 y(})p eop
-end
+b(it)g(yourself.\\n",)821 3960 y(caller\);)390 4047 y(})390
+4222 y(/*)g(Return)g(non-zero)h(if)f(ARG)g(is)g(a)f(valid)h(argument)h
+(for)f(CALLER,)h(else)f(print)508 4309 y(an)f(error)i(message)g(and)e
+(return)i(zero.)f(*/)390 4396 y(int)390 4483 y(valid_argument)i
+(\(caller,)f(arg\))586 4570 y(char)f(*caller,)h(*arg;)390
+4658 y({)468 4745 y(if)f(\(!arg)g(||)g(!*arg\))547 4832
+y({)625 4919 y(fprintf)h(\(stderr,)g("\045s:)f(Argument)h
+(required.\\n",)i(caller\);)625 5006 y(return)e(\(0\);)547
+5093 y(})468 5268 y(return)g(\(1\);)p eop end
%%Page: 69 73
-TeXDict begin 69 72 bop 3659 -116 a Ft(69)150 299 y Fp(App)t(endix)52
+TeXDict begin 69 72 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(69)390
+299 y Fe(})p eop end
+%%Page: 70 74
+TeXDict begin 70 73 bop 3659 -116 a Ft(70)150 299 y Fp(App)t(endix)52
b(A)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359
502 y Ft(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fq(\015)e
5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
(cumen)m(t)g(is)g(released)p eop end
-%%Page: 70 74
-TeXDict begin 70 73 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 71 75
+TeXDict begin 71 74 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(70)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(71)330 299 y(under)26 b(this)i(License.)40 b(If)27
b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199
5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end
-%%Page: 71 75
-TeXDict begin 71 74 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 72 76
+TeXDict begin 72 75 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(71)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(72)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
b(,)p eop end
-%%Page: 72 76
-TeXDict begin 72 75 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 73 77
+TeXDict begin 73 76 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(72)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(73)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
-%%Page: 73 77
-TeXDict begin 73 76 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 74 78
+TeXDict begin 74 77 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(73)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(74)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
b(ersion's)36 b(license)g(notice.)57 b(These)330 408
y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 74 78
-TeXDict begin 74 77 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 75 79
+TeXDict begin 75 78 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(74)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(75)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 75 79
-TeXDict begin 75 78 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 76 80
+TeXDict begin 76 79 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(75)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+b(76)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 76 80
-TeXDict begin 76 79 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 77 81
+TeXDict begin 77 80 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(76)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(77)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Ft(T)-8 b(o)35
b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s
(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
eop end
-%%Page: 77 81
-TeXDict begin 77 80 bop 150 -116 a Ft(Concept)31 b(Index)2927
-b(77)150 100 y Fp(Concept)52 b(Index)146 434 y Fr(A)150
+%%Page: 78 82
+TeXDict begin 78 81 bop 150 -116 a Ft(Concept)31 b(Index)2927
+b(78)150 100 y Fp(Concept)52 b(Index)146 434 y Fr(A)150
550 y Fb(application-sp)r(eci\014c)27 b(completion)f(functions)e
Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(53)146 796 y
Fr(C)150 913 y Fb(command)26 b(editing)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
b Fa(:)12 b(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)32 b Fb(2)p eop end
-%%Page: 78 82
-TeXDict begin 78 81 bop 3659 -116 a Ft(78)150 299 y Fp(F)-13
+%%Page: 79 83
+TeXDict begin 79 82 bop 3659 -116 a Ft(79)150 299 y Fp(F)-13
b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)p 156
740 41 6 v 150 860 a Fe(_rl_digit_p)10 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(8)p
eop end
-%%Page: 79 83
-TeXDict begin 79 82 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(79)146 294 y
+%%Page: 80 84
+TeXDict begin 80 83 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(80)146 294 y
Fr(K)150 423 y Fb(k)n(eymap)14 b Fa(:)e(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29
b Fb(43)2025 5128 y Fe(rl_free_keymap)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(35)p eop end
-%%Page: 80 84
-TeXDict begin 80 83 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(80)150 260 y
+%%Page: 81 85
+TeXDict begin 81 84 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(81)150 260 y
Fe(rl_free_line_state)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24
b Fb(52)150 348 y Fe(rl_free_undo_list)12 b Fa(:)17 b(:)c(:)g(:)h(:)f
4948 y(visible-stats)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(11)p eop end
-%%Page: 81 85
-TeXDict begin 81 84 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(81)146 294 y
+%%Page: 82 86
+TeXDict begin 82 85 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(82)146 294 y
Fr(Y)150 410 y Fe(yank)27 b(\(C-y\))20 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b