|
|
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.