-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathgcl.info-43
1624 lines (1128 loc) · 48.6 KB
/
gcl.info-43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This is Info file gcl.info, produced by Makeinfo-1.55 from the input file
gcl.texi.
This is a Texinfo GNU Common Lisp Manual based on the draft ANSI standard
for Common Lisp.
Copyright 1994 William F. Schelter
File: gcl.info, Node: directory, Next: probe-file, Prev: Files Dictionary, Up: Files Dictionary
directory [Function]
---------------------------------------------------------------------------
`directory' pathspec &key => pathnames
Arguments and Values::
......................
pathspec--a pathname designator, which may contain wild components.
pathnames--a list of
physical pathnames.
Description::
.............
Determines which, if any, files that are present in the file system have
names matching pathspec, and returns a
fresh
list of pathnames corresponding to the truenames of those files.
An implementation may be extended to accept implementation-defined keyword
arguments to directory.
Affected By::
.............
The host computer's file system.
Exceptional Situations::
........................
If the attempt to obtain a directory listing is not successful, an error
of type file-error is signaled.
See Also::
..........
pathname,
logical-pathname,
*Note ensure-directories-exist:: , *Note File System Concepts::, *Note
File Operations on Open and Closed Streams::,
*Note Pathnames as Filenames::
Notes::
.......
If the pathspec is not wild, the resulting list will contain either zero
or one elements.
Common Lisp specifies "&key" in the argument list to directory even though
no standardized keyword arguments to directory are defined.
":allow-other-keys t" may be used in conforming programs in order to
quietly ignore any additional keywords which are passed by the program but
not supported by the implementation.
File: gcl.info, Node: probe-file, Next: ensure-directories-exist, Prev: directory, Up: Files Dictionary
probe-file [Function]
---------------------------------------------------------------------------
`probe-file' pathspec => truename
Arguments and Values::
......................
pathspec--a pathname designator.
truename--a physical pathname or nil.
Description::
.............
probe-file tests whether a file exists.
probe-file returns false if there is no file named pathspec, and otherwise
returns the truename of pathspec.
If the pathspec designator is an open stream, then probe-file produces the
truename of its associated file.
If pathspec is a stream, whether open or closed, it is coerced to a
pathname as if by the function pathname.
Affected By::
.............
The host computer's file system.
Exceptional Situations::
........................
An error of type file-error is signaled if pathspec is wild.
An error of type file-error is signaled if the file system cannot perform
the requested operation.
See Also::
..........
*Note truename:: , *Note open:: , *Note ensure-directories-exist:: ,
pathname,
logical-pathname,
*Note File System Concepts::, *Note File Operations on Open and Closed
Streams::,
*Note Pathnames as Filenames::
File: gcl.info, Node: ensure-directories-exist, Next: truename, Prev: probe-file, Up: Files Dictionary
ensure-directories-exist [Function]
---------------------------------------------------------------------------
`ensure-directories-exist' pathspec &key verbose => pathspec, created
Arguments and Values::
......................
pathspec--a pathname designator.
verbose--a generalized boolean.
created--a generalized boolean.
Description::
.............
Tests whether the directories containing the specified file actually exist,
and attempts to create them if they do not.
If the containing directories do not exist and if verbose is true, then
the implementation is permitted (but not required) to perform output to
standard output saying what directories were created. If the containing
directories exist, or if verbose is false, this function performs no
output.
The primary value is the given pathspec so that this operation can be
straightforwardly composed with other file manipulation expressions. The
secondary value, created, is true if any directories were created.
Affected By::
.............
The host computer's file system.
Exceptional Situations::
........................
An error of type file-error is signaled if the host, device, or directory
part of pathspec is wild.
If the directory creation attempt is not successful, an error of type
file-error is signaled; if this occurs, it might be the case that none,
some, or all of the requested creations have actually occurred within the
file system.
See Also::
..........
*Note probe-file:: , *Note open:: ,
*Note Pathnames as Filenames::
File: gcl.info, Node: truename, Next: file-author, Prev: ensure-directories-exist, Up: Files Dictionary
truename [Function]
---------------------------------------------------------------------------
`truename' filespec => truename
Arguments and Values::
......................
filespec--a pathname designator.
truename--a physical pathname.
Description::
.............
truename tries to find the file indicated by filespec and returns its
truename. If the filespec designator is an open stream, its associated
file is used.
If filespec is a stream, truename can be used whether the stream is open
or closed. It is permissible for truename to return more specific
information after the stream is closed than when the stream was open.
If filespec is a pathname it represents the name used to open the file.
This may be, but is not required to be, the actual name of the file.
Examples::
..........
;; An example involving version numbers. Note that the precise nature of
;; the truename is implementation-dependent while the file is still open.
(with-open-file (stream ">vistor>test.text.newest")
(values (pathname stream)
(truename stream)))
=> #P"S:>vistor>test.text.newest", #P"S:>vistor>test.text.1"
OR=> #P"S:>vistor>test.text.newest", #P"S:>vistor>test.text.newest"
OR=> #P"S:>vistor>test.text.newest", #P"S:>vistor>_temp_._temp_.1"
;; In this case, the file is closed when the truename is tried, so the
;; truename information is reliable.
(with-open-file (stream ">vistor>test.text.newest")
(close stream)
(values (pathname stream)
(truename stream)))
=> #P"S:>vistor>test.text.newest", #P"S:>vistor>test.text.1"
;; An example involving TOP-20's implementation-dependent concept
;; of logical devices -- in this case, "DOC:" is shorthand for
;; "PS:<DOCUMENTATION>" ...
(with-open-file (stream "CMUC::DOC:DUMPER.HLP")
(values (pathname stream)
(truename stream)))
=> #P"CMUC::DOC:DUMPER.HLP", #P"CMUC::PS:<DOCUMENTATION>DUMPER.HLP.13"
Exceptional Situations::
........................
An error of type file-error is signaled if an appropriate file cannot be
located within the file system for the given filespec,
or if the file system cannot perform the requested operation.
An error of type file-error is signaled if pathname is wild.
See Also::
..........
pathname, logical-pathname, *Note File System Concepts::,
*Note Pathnames as Filenames::
Notes::
.......
truename may be used to account for any filename translations performed by
the file system.
File: gcl.info, Node: file-author, Next: file-write-date, Prev: truename, Up: Files Dictionary
file-author [Function]
---------------------------------------------------------------------------
`file-author' pathspec => author
Arguments and Values::
......................
pathspec--a pathname designator.
author--a string or nil.
Description::
.............
Returns a string naming the author of the file specified by pathspec, or
nil if the author's name cannot be determined.
Examples::
..........
(with-open-file (stream ">relativity>general.text")
(file-author s))
=> "albert"
Affected By::
.............
The host computer's file system.
Other users of the file named by pathspec.
Exceptional Situations::
........................
An error of type file-error is signaled if pathspec is wild.
An error of type file-error is signaled if the file system cannot perform
the requested operation.
See Also::
..........
pathname, logical-pathname, *Note File System Concepts::,
*Note Pathnames as Filenames::
File: gcl.info, Node: file-write-date, Next: rename-file, Prev: file-author, Up: Files Dictionary
file-write-date [Function]
---------------------------------------------------------------------------
`file-write-date' pathspec => date
Arguments and Values::
......................
pathspec--a pathname designator.
date--a universal time or nil.
Description::
.............
Returns a universal time representing the time at which the file specified
by pathspec was last written (or created), or returns nil if such a time
cannot be determined.
Examples::
..........
(with-open-file (s "noel.text"
:direction :output :if-exists :error)
(format s "~&Dear Santa,~2
Please leave lots of toys.~2
~2
(truename s))
=> #P"CUPID:/susan/noel.text"
(with-open-file (s "noel.text")
(file-write-date s))
=> 2902600800
Affected By::
.............
The host computer's file system.
Exceptional Situations::
........................
An error of type file-error is signaled if pathspec is wild.
An error of type file-error is signaled if the file system cannot perform
the requested operation.
See Also::
..........
*Note Universal Time::,
*Note Pathnames as Filenames::
File: gcl.info, Node: rename-file, Next: delete-file, Prev: file-write-date, Up: Files Dictionary
rename-file [Function]
---------------------------------------------------------------------------
`rename-file' filespec new-name => defaulted-new-name, old-truename,
new-truename
Arguments and Values::
......................
filespec--a pathname designator.
new-name--a pathname designator other than a stream.
defaulted-new-name--a pathname
old-truename--a physical pathname.
new-truename--a physical pathname.
Description::
.............
rename-file modifies the file system in such a way that the file indicated
by filespec is renamed to defaulted-new-name.
It is an error to specify a filename containing a wild component, for
filespec to contain a nil component where the file system does not permit
a nil component, or for the result of defaulting missing components of
new-name from filespec to contain a nil component where the file system
does not permit a nil component.
If new-name is a logical pathname, rename-file returns a logical pathname
as its primary value.
rename-file returns three values if successful. The primary value,
defaulted-new-name, is the resulting name which is composed of new-name
with any missing components filled in by performing a merge-pathnames
operation using filespec as the defaults. The secondary value,
old-truename, is the truename of the file before it was renamed. The
tertiary value, new-truename, is the truename of the file after it was
renamed.
If the filespec designator is an open stream, then the stream itself and
the file associated with it are affected (if the file system permits).
Examples::
..........
;; An example involving logical pathnames.
(with-open-file (stream "sys:chemistry;lead.text"
:direction :output :if-exists :error)
(princ "eureka" stream)
(values (pathname stream) (truename stream)))
=> #P"SYS:CHEMISTRY;LEAD.TEXT.NEWEST", #P"Q:>sys>chem>lead.text.1"
(rename-file "sys:chemistry;lead.text" "gold.text")
=> #P"SYS:CHEMISTRY;GOLD.TEXT.NEWEST",
#P"Q:>sys>chem>lead.text.1",
#P"Q:>sys>chem>gold.text.1"
Exceptional Situations::
........................
If the renaming operation is not successful, an error of type file-error
is signaled.
An error of type file-error might be signaled if filespec is wild.
See Also::
..........
*Note truename:: , pathname, logical-pathname, *Note File System
Concepts::,
*Note Pathnames as Filenames::
File: gcl.info, Node: delete-file, Next: file-error, Prev: rename-file, Up: Files Dictionary
delete-file [Function]
---------------------------------------------------------------------------
`delete-file' filespec => t
Arguments and Values::
......................
filespec--a pathname designator.
Description::
.............
Deletes the file specified by filespec.
If the filespec designator is an open stream, then filespec and the file
associated with it are affected (if the file system permits), in which
case filespec might be closed immediately, and the deletion might be
immediate or delayed until filespec is explicitly closed, depending on the
requirements of the file system.
It is implementation-dependent whether an attempt to delete a nonexistent
file is considered to be successful.
delete-file returns true if it succeeds, or signals an error of type
file-error if it does not.
The consequences are undefined if filespec has a wild component, or if
filespec has a nil component and the file system does not permit a nil
component.
Examples::
..........
(with-open-file (s "delete-me.text" :direction :output :if-exists :error))
=> NIL
(setq p (probe-file "delete-me.text")) => #P"R:>fred>delete-me.text.1"
(delete-file p) => T
(probe-file "delete-me.text") => false
(with-open-file (s "delete-me.text" :direction :output :if-exists :error)
(delete-file s))
=> T
(probe-file "delete-me.text") => false
Exceptional Situations::
........................
If the deletion operation is not successful, an error of type file-error
is signaled.
An error of type file-error might be signaled if filespec is wild.
See Also::
..........
pathname, logical-pathname, *Note File System Concepts::,
*Note Pathnames as Filenames::
File: gcl.info, Node: file-error, Next: file-error-pathname, Prev: delete-file, Up: Files Dictionary
file-error [Condition Type]
---------------------------------------------------------------------------
Class Precedence List::
.......................
file-error, error, serious-condition, condition, t
Description::
.............
The type file-error consists of error conditions that occur during an
attempt to open or close a file, or during some low-level transactions
with a file system. The "offending pathname" is initialized by the
:pathname initialization argument to make-condition, and is accessed by
the function file-error-pathname.
See Also::
..........
file-error-pathname, *Note open:: , *Note probe-file:: , *Note directory::
, *Note ensure-directories-exist::
File: gcl.info, Node: file-error-pathname, Prev: file-error, Up: Files Dictionary
file-error-pathname [Function]
---------------------------------------------------------------------------
`file-error-pathname' condition => pathspec
Arguments and Values::
......................
condition--a condition of type file-error.
pathspec--a pathname designator.
Description::
.............
Returns the "offending pathname" of a condition of type file-error.
Exceptional Situations::
........................
See Also::
..........
file-error, *Note Conditions::
File: gcl.info, Node: Streams, Next: Printer, Prev: Files, Up: Top
Streams
*******
* Menu:
* Stream Concepts::
* Streams Dictionary::
File: gcl.info, Node: Stream Concepts, Next: Streams Dictionary, Prev: Streams, Up: Streams
Stream Concepts
===============
* Menu:
* Introduction to Streams::
* Stream Variables::
* Stream Arguments to Standardized Functions::
* Restrictions on Composite Streams::
File: gcl.info, Node: Introduction to Streams, Next: Stream Variables, Prev: Stream Concepts, Up: Stream Concepts
Introduction to Streams
-----------------------
A stream is an object that can be used with an input or output function to
identify an appropriate source or sink of characters or bytes for that
operation. A character stream is a source or sink of characters. A binary
stream is a source or sink of bytes.
Some operations may be performed on any kind of stream; Figure 21-1
provides a list of standardized operations that are potentially useful
with any kind of stream.
close stream-element-type
input-stream-p streamp
interactive-stream-p with-open-stream
output-stream-p
Figure 21-1: Some General-Purpose Stream Operations
Other operations are only meaningful on certain stream types. For
example, read-char is only defined for character streams and read-byte is
only defined for binary streams.
* Menu:
* Abstract Classifications of Streams (Introduction to Streams)::
* Input::
* Open and Closed Streams::
* Interactive Streams::
* Abstract Classifications of Streams::
* File Streams::
* Other Subclasses of Stream::
File: gcl.info, Node: Abstract Classifications of Streams (Introduction to Streams), Next: Input, Prev: Introduction to Streams, Up: Introduction to Streams
Abstract Classifications of Streams
...................................
File: gcl.info, Node: Input, Next: Open and Closed Streams, Prev: Abstract Classifications of Streams (Introduction to Streams), Up: Introduction to Streams
Input, Output, and Bidirectional Streams
........................................
A stream, whether a character stream or a binary stream, can be an input
stream (source of data), an output stream (sink for data), both, or (e.g.,
when ":direction :probe" is given to open) neither.
Figure 21-2 shows operators relating to input streams.
clear-input read-byte read-from-string
listen read-char read-line
peek-char read-char-no-hang read-preserving-whitespace
read read-delimited-list unread-char
Figure 21-2: Operators relating to Input Streams.
Figure 21-3 shows operators relating to output streams.
clear-output prin1 write
finish-output prin1-to-string write-byte
force-output princ write-char
format princ-to-string write-line
fresh-line print write-string
pprint terpri write-to-string
Figure 21-3: Operators relating to Output Streams.
A stream that is both an input stream and an output stream is called a
bidirectional stream . See the functions input-stream-p and
output-stream-p.
Any of the operators listed in Figure~21-2 or Figure~21-3 can be used with
bidirectional streams. In addition, Figure 21-4 shows a list of operators
that relate specificaly to bidirectional streams.
y-or-n-p yes-or-no-p
Figure 21-4: Operators relating to Bidirectional Streams.
File: gcl.info, Node: Open and Closed Streams, Next: Interactive Streams, Prev: Input, Up: Introduction to Streams
Open and Closed Streams
.......................
Streams are either open or closed .
Except as explicitly specified otherwise, operations that create and
return streams return open streams.
The action of closing a stream marks the end of its use as a source or
sink of data, permitting the implementation to reclaim its internal data
structures, and to free any external resources which might have been
locked by the stream when it was opened.
Except as explicitly specified otherwise, the consequences are undefined
when a closed stream is used where a stream is called for.
Coercion of streams to pathnames is permissible for closed streams; in
some situations, such as for a truename computation, the result might be
different for an open stream and for that same stream once it has been
closed.
File: gcl.info, Node: Interactive Streams, Next: Abstract Classifications of Streams, Prev: Open and Closed Streams, Up: Introduction to Streams
Interactive Streams
...................
An interactive stream is one on which it makes sense to perform
interactive querying.
The precise meaning of an interactive stream is implementation-defined,
and may depend on the underlying operating system. Some examples of the
things that an implementation might choose to use as identifying
characteristics of an interactive stream include:
*
The stream is connected to a person (or equivalent) in such a way
that the program can prompt for information and expect to receive
different input depending on the prompt.
*
The program is expected to prompt for input and support "normal input
editing".
*
read-char might wait for the user to type something before returning
instead of immediately returning a character or end-of-file.
The general intent of having some streams be classified as interactive
streams is to allow them to be distinguished from streams containing batch
(or background or command-file) input. Output to batch streams is
typically discarded or saved for later viewing, so interactive queries to
such streams might not have the expected effect.
Terminal I/O might or might not be an interactive stream.
File: gcl.info, Node: Abstract Classifications of Streams, Next: File Streams, Prev: Interactive Streams, Up: Introduction to Streams
Abstract Classifications of Streams
...................................
File: gcl.info, Node: File Streams, Next: Other Subclasses of Stream, Prev: Abstract Classifications of Streams, Up: Introduction to Streams
File Streams
............
Some streams, called file streams , provide access to files. An object of
class file-stream is used to represent a file stream.
The basic operation for opening a file is open, which typically returns a
file stream (see its dictionary entry for details). The basic operation
for closing a stream is close. The macro with-open-file is useful to
express the common idiom of opening a file for the duration of a given
body of code, and assuring that the resulting stream is closed upon exit
from that body.
File: gcl.info, Node: Other Subclasses of Stream, Prev: File Streams, Up: Introduction to Streams
Other Subclasses of Stream
..........................
The class stream has a number of subclasses defined by this specification.
Figure 21-5 shows some information about these subclasses.
Class Related Operators
broadcast-stream make-broadcast-stream
broadcast-stream-streams
concatenated-stream make-concatenated-stream
concatenated-stream-streams
echo-stream make-echo-stream
echo-stream-input-stream
echo-stream-output-stream
string-stream make-string-input-stream
with-input-from-string
make-string-output-stream
with-output-to-string
get-output-stream-string
synonym-stream make-synonym-stream
synonym-stream-symbol
two-way-stream make-two-way-stream
two-way-stream-input-stream
two-way-stream-output-stream
Figure 21-5: Defined Names related to Specialized Streams
File: gcl.info, Node: Stream Variables, Next: Stream Arguments to Standardized Functions, Prev: Introduction to Streams, Up: Stream Concepts
Stream Variables
----------------
Variables whose values must be streams are sometimes called stream
variables .
Certain stream variables are defined by this specification to be the
proper source of input or output in various situations where no specific
stream has been specified instead. A complete list of such standardized
stream variables appears in Figure 21-6. The consequences are undefined
if at any time the value of any of these variables is not an open stream.
Glossary Term Variable Name
debug I/O *debug-io*
error output *error-output*
query I/O *query-io*
standard input *standard-input*
standard output *standard-output*
terminal I/O *terminal-io*
trace output *trace-output*
Figure 21-6: Standardized Stream Variables
Note that, by convention, standardized stream variables have names ending
in "-input*" if they must be input streams, ending in "-output*" if they
must be output streams, or ending in "-io*" if they must be
bidirectional streams.
User programs may assign or bind any standardized stream variable except
*terminal-io*.
File: gcl.info, Node: Stream Arguments to Standardized Functions, Next: Restrictions on Composite Streams, Prev: Stream Variables, Up: Stream Concepts
Stream Arguments to Standardized Functions
------------------------------------------
The operators in Figure 21-7 accept stream arguments that might be either
open or closed streams.
broadcast-stream-streams file-author pathnamep
close file-namestring probe-file
compile-file file-write-date rename-file
compile-file-pathname host-namestring streamp
concatenated-stream-streams load synonym-stream-symbol
delete-file logical-pathname translate-logical-pathname
directory merge-pathnames translate-pathname
directory-namestring namestring truename
dribble open two-way-stream-input-stream
echo-stream-input-stream open-stream-p two-way-stream-output-stream
echo-stream-ouput-stream parse-namestring wild-pathname-p
ed pathname with-open-file
enough-namestring pathname-match-p
Figure 21-7: Operators that accept either Open or Closed Streams
The operators in Figure 21-8 accept stream arguments that must be open
streams.
clear-input output-stream-p read-char-no-hang
clear-output peek-char read-delimited-list
file-length pprint read-line
file-position pprint-fill read-preserving-whitespace
file-string-length pprint-indent stream-element-type
finish-output pprint-linear stream-external-format
force-output pprint-logical-block terpri
format pprint-newline unread-char
fresh-line pprint-tab with-open-stream
get-output-stream-string pprint-tabular write
input-stream-p prin1 write-byte
interactive-stream-p princ write-char
listen print write-line
make-broadcast-stream print-object write-string
make-concatenated-stream print-unreadable-object y-or-n-p
make-echo-stream read yes-or-no-p
make-synonym-stream read-byte
make-two-way-stream read-char
Figure 21-8: Operators that accept Open Streams only
File: gcl.info, Node: Restrictions on Composite Streams, Prev: Stream Arguments to Standardized Functions, Up: Stream Concepts
Restrictions on Composite Streams
---------------------------------
The consequences are undefined if any component of a composite stream is
closed before the composite stream is closed.
The consequences are undefined if the synonym stream symbol is not bound
to an open stream from the time of the synonym stream's creation until the
time it is closed.
File: gcl.info, Node: Streams Dictionary, Prev: Stream Concepts, Up: Streams
Streams Dictionary
==================
* Menu:
* stream::
* broadcast-stream::
* concatenated-stream::
* echo-stream::
* file-stream::
* string-stream::
* synonym-stream::
* two-way-stream::
* input-stream-p::
* interactive-stream-p::
* open-stream-p::
* stream-element-type::
* streamp::
* read-byte::
* write-byte::
* peek-char::
* read-char::
* read-char-no-hang::
* terpri::
* unread-char::
* write-char::
* read-line::
* write-string::
* read-sequence::
* write-sequence::
* file-length::
* file-position::
* file-string-length::
* open::
* stream-external-format::
* with-open-file::
* close::
* with-open-stream::
* listen::
* clear-input::
* finish-output::
* y-or-n-p::
* make-synonym-stream::
* synonym-stream-symbol::
* broadcast-stream-streams::
* make-broadcast-stream::
* make-two-way-stream::
* two-way-stream-input-stream::
* echo-stream-input-stream::
* make-echo-stream::
* concatenated-stream-streams::
* make-concatenated-stream::
* get-output-stream-string::
* make-string-input-stream::
* make-string-output-stream::
* with-input-from-string::
* with-output-to-string::
* *debug-io*::
* *terminal-io*::
* stream-error::
* stream-error-stream::
* end-of-file::
File: gcl.info, Node: stream, Next: broadcast-stream, Prev: Streams Dictionary, Up: Streams Dictionary
stream [System Class]
---------------------------------------------------------------------------
Class Precedence List::
.......................
stream, t
Description::
.............
A stream is an object that can be used with an input or output function to
identify an appropriate source or sink of characters or bytes for that
operation.
For more complete information, see *Note Stream Concepts::.
See Also::
..........
*Note Stream Concepts::, *Note Printing Other Objects::, *Note Printer::,
*Note Reader::
File: gcl.info, Node: broadcast-stream, Next: concatenated-stream, Prev: stream, Up: Streams Dictionary
broadcast-stream [System Class]
---------------------------------------------------------------------------
Class Precedence List::
.......................
broadcast-stream, stream, t
Description::
.............
A broadcast stream is an output stream which has associated with it a set
of zero or more output streams such that any output sent to the broadcast
stream gets passed on as output to each of the associated output streams.
(If a broadcast stream has no component streams, then all output to the
broadcast stream is discarded.)
The set of operations that may be performed on a broadcast stream is the