|
|
1.1 root 1: .TH SAMUEL 9.1
2: .SH NAME
3: samuel \(mi text editor and C browser
4: .SH SYNOPSIS
5: .B samuel
6: [
7: .I options
8: ] [ files ]
9: .SH DESCRIPTION
10: .I Samuel
11: is the editor
12: .IR sam (9.1)
13: with additional features, including a browser for C and C++ programs.
14: Most new features
15: are available from the button 3 menu or commands typed in the
16: command window.
17: The new menu entries are
18: .BR unopen ,
19: .BR smudge ,
20: .BR advisor ,
21: .BR browser ,
22: and
23: .BR interpreter .
24: .SS Unopen
25: .B Unopen
26: closes a window or file without removing the file name from the
27: menu.
28: .SS Smudge
29: .B Smudge
30: associates a descriptive tag with a window and places the
31: tag in the
32: .B smudge
33: submenu.
34: The tag may be hit like a file name to switch to the window.
35: .SS Advisor
36: .B Advisor
37: gives information about the selected library function name or
38: C keyword.
39: .SS Browser
40: .PP
41: When
42: .B browser
43: is first hit, the browser's data base is initialized
44: for the currently active
45: files.
46: A submenu then shows browsing functions.
47: .TF definition
48: .TP
49: .B reference
50: Find all references to the selected C symbol.
51: `Selected' means either highlighted
52: with button 1 or contained in the snarf buffer.
53: .TP
54: .B definition
55: Find the definition of the selected function name, #define
56: symbol, structure, union, class or typedef name.
57: .TP
58: .B called\ by
59: Find all functions called by the selected function name.
60: .TP
61: .B calls\ to
62: Find all calls to the selected function name.
63: .TP
64: .B find
65: Find all instances of the selected pattern.
66: .TP
67: .B egrep
68: Find all instances of the selected pattern, interpreted as in
69: .IR egrep (1).
70: .TP
71: .B all\ defs
72: Find definitions of all functions.
73: .TP
74: .B files
75: List files currently in browser data base.
76: .TP
77: .B rebuild
78: Rebuild the data base with the current list of files.
79: .TP
80: .B exit
81: Exit the browser.
82: .TP
83: .B \~\~samuel\~\~
84: Replace the contents of dot with the results of the last search.
85: .PD
86: .PP
87: Search results are placed in a
88: .B browser
89: submenu labeled with the search string.
90: Hitting an item in a
91: search submenu closes the currently active window
92: (unless that would lose data) and opens
93: a window of the same size for the file containing the item, with the
94: window positioned at the item.
95: .SS Interpreter
96: .PP
97: When
98: .B interpreter
99: is first hit, the interpreter is initialized for interactive use, and
100: a submenu then shows interpreting functions.
101: .TF interrupt
102: .TP
103: .B \~\~cin\~\~
104: Toggle the use of the command window. The first hit allows the user to send information to
105: the interpreter from the command window. The second hit returns the command window to the
106: editor. This interface will change in the near future.
107: .TP
108: .B doit
109: Send the selected text to the interpreter.
110: `Selected' means either highlighted
111: with button 1 or contained in the snarf buffer.
112: .TP
113: .B load
114: Load a file into the interpreter. The user selects the window to load when the `bullseye'
115: prompt is presented. The
116: .B load
117: submenu provides functions to
118: .B load
119: a single file,
120: .B loadall
121: files in the editor,
122: or load the
123: .B function
124: that contains dot (the edit point).
125: .TP
126: .B view
127: Sets the current view. The
128: .B view
129: submenu provides functions to set the current
130: .BR view ,
131: a list of all
132: .BR views ,
133: describe
134: .B whatis
135: the selected identifier, and
136: .B where
137: the execution stopped in the interpreter.
138: .TP
139: .B return
140: Returns from a breakpoint. The
141: .B return
142: submenu provides functions to
143: .B return
144: from a breakpoint, set a
145: breakpoint
146: .RL ( break ),
147: and clear a breakpoint
148: .RL ( unbreak ).
149: .TP
150: .B interrupt
151: Interrupt the interpreter.
152: .TP
153: .B eof
154: Sends an EOF to the interpreter. Useful when the user program expects to see a
155: .BR <control-d> .
156: .TP
157: .B exit
158: Exit the interpreter.
159: .PD
160: .SS Other features
161: .I Help.
162: Press button 1 simultaneously with button 2 or 3 to see
163: a short description of the button 2 or 3 item.
164: In a search submenu, the information includes file name,
165: line number and, where appropriate, function name;
166: for a smudge submenu, the file name associated with the tag.
167: .PP
168: .I File menu.
169: When too many files appear in the button 3 menu, they are moved
170: to a submenu.
171: .PP
172: .I Font.
173: On the 630 MTG Terminal, the button 2 menu includes a
174: .L font
175: item with a submenu that lists fonts in the terminal's cache.
176: The font may be set independently in each window.
177: New windows and menus use the last font selected.
178: .SS Commands
179: .PD 0
180: .TP .5i
181: .BI z
182: Make
183: .I samuel
184: menu items visible; see
185: .B \-v
186: below.
187: Start the browser unless
188: it is already running.
189: .TP
190: .BI z-
191: Make
192: .I samuel
193: menu items invisible.
194: .TP
195: .BI zF " dbfile
196: If
197: .I dbfile
198: is specified, start, or restart, the browser with
199: .I dbfile
200: as a read-only data base file; see options
201: .B -f
202: and
203: .B -F
204: below.
205: Otherwise display the current
206: database file.
207: .TP
208: .BI zA " advisordb
209: If
210: .I advisordb
211: is specified, set the
212: .B ADVISOR
213: environment variable.
214: Otherwise display the value of
215: .BR ADVISOR .
216: .TP
217: .BI za " keyword
218: Search for
219: .I keyword
220: in the advisor database.
221: .TP
222: .BI zu " file-list
223: Unopen the named files. If no files are named, the current file is unopened. It is an
224: error to
225: .B zu
226: a modified file, but a subsequent
227: .B zu
228: will unopen such a file.
229: .TP
230: .B zc
231: Delete dot and save the deleted text in the snarf buffer.
232: .TP
233: .B zp
234: Replace the text in dot by the contents of the snarf buffer.
235: .TP
236: .B zs
237: Save the text in dot in the snarf buffer.
238: .I keyword
239: in the advisor database.
240: .PD
241: .SS Options
242: .PD 0
243: .TP .5i
244: .BI -f " file.db
245: Create the data base in the named file.
246: If the file
247: already exists and any files
248: have been modified since the last build, update the data base.
249: .TP
250: .BI -F " file.db
251: The data base already exists in the named
252: file.
253: The file is read-only; rebuilds are not allowed.
254: .TP
255: .BI -i " filenames
256: Use the named files in creating the data base.
257: .TP
258: .BI -I " includedir
259: Search directory
260: .I includedir
261: for included files.
262: This option may appear more than once.
263: .TP
264: .BI -s " sourcedir
265: Search directory
266: .I sourcedir
267: for referenced function definitions.
268: This option may appear more than once.
269: .TP
270: .BI -D name=def
271: .TP
272: .BI -D name
273: Define the
274: .I name
275: to
276: .I cin ,
277: as if by
278: .BR #define .
279: If no definition is given, the name is defined as 1.
280: .TP
281: .BI -U name
282: Remove any initial definition of
283: .IR name .
284: .TP
285: .BI -l x
286: This option is an abbreviation for the library name
287: .BI /lib/lib x .a ,
288: where
289: .I x
290: is a string. If that does not exist,
291: .I cin
292: tries
293: .BI /usr/lib/lib x .a .
294: A library is searched when its name is encountered, so the placement of a
295: .B -l
296: is significant.
297: .TP
298: .BI -u name
299: Enters
300: .I name
301: as undefined into
302: .IR cin 's
303: symbol table. This is useful for loading wholly from a library, since initially
304: the symbol table is empty and an unresolved reference is needed to force the loading
305: of the first routine.
306: .TP
307: .BI -V func:n
308: Declare function
309: .I func
310: to have a variable number of arguments, the first
311: .I n
312: of which are to be type checked.
313: .PD
314: .TP
315: .B -c
316: If the terminal is a 630 MTG, cache the terminal portion of
317: .IR samuel ;
318: later invocations will be executed from the cache without downloading.
319: .TP
320: .B -v
321: Make
322: .I samuel
323: behave like
324: .IR sam ;
325: use the
326: .L z
327: command to restore
328: .I samuel.
329: .PD
330: .SS Environment Variables
331: .TF SAMUEL
332: .TP
333: .B INCLUDEDIRS
334: Colon-separated list of directories to search for
335: .B #include
336: files.
337: .TP
338: .B SOURCEDIRS
339: Colon-separated list of directories to search for additional source files.
340: .TP
341: .B SAMUEL
342: Directory containing samuel utilities.
343: Overrides the default locations listed below.
344: .TP
345: .B TMPDIR
346: Directory used to create temporary files,
347: .F/tmp
348: by default.
349: .TP
350: .B ADVISOR
351: Colon-separated list of advisor data base files.
352: These are searched in
353: specified order followed by the standard samuel data base file.
354: .TP
355: .B DMD
356: Directory for standard dmd software,
357: .F /usr/jerq/lib
358: by default.
359: .PD
360: .SH FILES
361: .TF $DMD/samuel/samuel.ca.dat
362: .TP
363: .F $HOME/sam.err
364: saved diagnostic output from Unix commands
365: .TP
366: .F $HOME/sam.save
367: bundled files on unexpected exit
368: .TP
369: .F $DMD/samuel/samuel.m
370: terminal support program for samuel
371: .TP
372: .F $DMD/samuel/samuel.cs
373: C browser support program for samuel
374: .TP
375: .F $DMD/samuel/samuel.ca
376: C advisor support program
377: .TP
378: .F $DMD/samuel/samuel.ca.dat
379: C advisor data base
380: .TP
381: .F $DMD/samuel/samuel.st
382: samuel statistics gathering program
383: .TP
384: .F $TMPDIR/cscope*.0
385: default data base file
386: .TP
387: .F $TMPDIR/cscope*.1
388: results of last search
389: .TP
390: .F $TMPDIR/cscope*.2
391: temporary
392: .SH SEE ALSO
393: sam(9.1)
394: .br
395: J. J. Puttress,
396: .I "The C Browser"
397: (11229-861017-19TMS).
398: .br
399: J. J. Puttress,
400: .I "The C Browser: Examples"
401: (11229-861014-18TMS).
402: .br
403: T. J. Kowalski, H. H. Goguen, J. J. Puttress,
404: .I "The C Interpreter: A Tutorial for Cin Version 0.18"
405: (11229-880606-07TMS).
406: .br
407: R. Pike,
408: .I "The Text Editor Sam"
409: (11271-870423-06TMS).
410: .br
411: R. Pike,
412: .I "A Tutorial for the SAM Command Language"
413: (11271-860924-07TMS).
414: .br
415: J. L. Steffen, Interactive Examination of a C Program with Cscope.
416: .IR "USENIX Winter Conference Proceedings Dallas 1985" ,
417: 170-175.
418: .SH BUGS
419: .I Samuel
420: will not correctly browse C source with syntax errors.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.