Annotation of 43BSDReno/share/doc/smm/12.uchanges/1.t, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1986 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)1.t 6.12 (Berkeley) 4/15/86
        !             6: .\"
        !             7: .sp
        !             8: .ce
        !             9: .LG
        !            10: .B "Bug fixes and changes"
        !            11: .SM
        !            12: .sp
        !            13: .LP
        !            14: .LP
        !            15: .LG
        !            16: .ce
        !            17: Section 1
        !            18: .SM
        !            19: .sp
        !            20: .PP
        !            21: .de BP
        !            22: .IP \fB\\$1\\fR 14n
        !            23: ..
        !            24: .BP adb
        !            25: Locates the stack frame when debugging the kernel.
        !            26: Slight changes were made to output formats.
        !            27: .BP arcv
        !            28: Has been retired to \fI/usr/old\fP.
        !            29: .BP as
        !            30: The default data alignment may now be specified on the
        !            31: command line with a \fB\-a\fP flag.
        !            32: A problem in handling filled data was fixed.
        !            33: Some bugs in the handling of dbx stab information were fixed.
        !            34: .BP at
        !            35: The user may now choose to run \fIsh\fP or \fIcsh\fP.
        !            36: Mail can now be sent to the user after the job has run;
        !            37: mail is always sent if there were any errors during execution.
        !            38: .I At
        !            39: now runs with the user's full permissions.
        !            40: All spool files are now owned by ``daemon''.
        !            41: The last update time is in seconds instead of hours.
        !            42: The problems with day and year increments have been fixed.
        !            43: .BP awk
        !            44: Problems when writing to pipes have been corrected.
        !            45: .BP bc
        !            46: .I Bc
        !            47: will continue reading from standard input,
        !            48: after failing to open a file specified from the command line.
        !            49: .BP calendar
        !            50: Now allows tabs as separators.
        !            51: A subject line with the date of the reminder is added to each message.
        !            52: .BP cat
        !            53: Problems opening standard input multiple times have been fixed.
        !            54: .I Cat
        !            55: now runs much faster in the default (optionless) case.
        !            56: .BP cb
        !            57: No longer dumps core for unterminated comments
        !            58: or large block comments.
        !            59: For most purposes,
        !            60: .I indent (1)
        !            61: is far superior to
        !            62: .I cb .
        !            63: .BP cc
        !            64: The C compiler has some new features as well as numerous bug fixes.
        !            65: The principal new feature is a
        !            66: .B \-f
        !            67: flag that tells the compiler to compute expressions
        !            68: of type
        !            69: .B float
        !            70: in single precision,
        !            71: following the ANSI C standard proposals.
        !            72: The C preprocessor has been extended to generate the dependency list for
        !            73: source files.
        !            74: The output is designed for inclusion in a makefile without
        !            75: modification.
        !            76: .IP
        !            77: The bug fixes are many and varied.
        !            78: Several fixes deal with type coercion and sign extension.
        !            79: Signed
        !            80: .B char
        !            81: and
        !            82: .B short
        !            83: values are now properly sign-extended
        !            84: in comparisons with unsigned values
        !            85: of the same length.
        !            86: Conversion of a signed
        !            87: .B char
        !            88: value to \fBunsigned short\fP now correctly sign-extends
        !            89: to 16 bits (on the VAX).
        !            90: Non-integer switch expressions now elicit warnings
        !            91: and the appropriate conversions are emitted.
        !            92: Unsigned longs were being treated as signed for the purpose of
        !            93: conversion to floating types; the compiler now produces the appropriate
        !            94: complicated instruction sequence to do this right.
        !            95: An ancient misunderstanding that caused
        !            96: .I "i *= d
        !            97: to be treated as \fIi = i *\fP (\fBint\fP) \fId\fP
        !            98: instead of \fIi =\fP (\fBdouble\fP) \fIi * d\fP
        !            99: for \fBint\fP \fIi\fP
        !           100: and \fBdouble\fP \fId\fP
        !           101: has been corrected.
        !           102: If a signed integer division or modulus is cast to unsigned,
        !           103: the unsigned division or modulus routine
        !           104: is no longer used to compute the operation.
        !           105: .IP
        !           106: Some problems with bogus input and bogus output
        !           107: are now handled better;
        !           108: more syntax errors are caught and
        !           109: fewer code errors are emitted.
        !           110: Many declarations and expressions involving type
        !           111: .B void
        !           112: that used to be disallowed now work;
        !           113: some expressions that were not supposed to work
        !           114: are now caught.
        !           115: A pointer to a structure no longer stands a chance
        !           116: of being incremented by the size of its first element
        !           117: instead of the size of the structure
        !           118: when the value of the element is used at the same
        !           119: time the pointer is postincremented.
        !           120: Side effects in the left hand side of
        !           121: an unsigned assignment operator expression
        !           122: are now performed only once.
        !           123: Hex constants of the form 01234x56789 are now illegal.
        !           124: External declarations of functions
        !           125: may now possess arguments only if
        !           126: they are also definitions of functions.
        !           127: Declarations or initializations for objects of type structure
        !           128: where the particular structure was not previously defined
        !           129: used to result in confusing messages or even compiler errors;
        !           130: it's now possible to deduce one's mistake.
        !           131: .IP
        !           132: Some effort has been put into
        !           133: making the compiler more robust.
        !           134: Initializers containing casts sometimes would draw
        !           135: complaints about compiler loops or other problems;
        !           136: these now work properly.
        !           137: The register resource calculation now
        !           138: takes into account implicit conversions from
        !           139: .B float
        !           140: to
        !           141: .B double
        !           142: type, so that the code generator
        !           143: will not block by running out of registers.
        !           144: The compiler is more diligent about
        !           145: reducing structure type arguments to functions
        !           146: and no longer gives up when it cannot
        !           147: reduce the address to an offset from a register
        !           148: in only two tries.
        !           149: Programs that end in ``\|\e\|n\|#\|'' no longer cause compiler core dumps.
        !           150: The compiler no longer dumps core
        !           151: for floating point exceptions that
        !           152: occur during reduction of constant expressions.
        !           153: The compiler expression tree table
        !           154: was enlarged so that it does not run out
        !           155: of space as quickly when processing complex expressions
        !           156: such as
        !           157: .I putchar(c) .
        !           158: The C preprocessor no longer uses a statically allocated
        !           159: space for strings.
        !           160: The preprocessor also now handles
        !           161: .B "#\ line
        !           162: directives properly
        !           163: and correctly treats standard input from a terminal or a pipe.
        !           164: Two fencepost errors in the C peephole optimizer
        !           165: were adjusted and it now dumps core less often.
        !           166: .IP
        !           167: Some minor code efficiency changes were made.
        !           168: An important change is that the compiler
        !           169: now recognizes unsigned division and modulus operations
        !           170: that can be done with masking and shifting;
        !           171: this avoids the usual subroutine call overhead
        !           172: associated with these operations.
        !           173: The computation of register resources
        !           174: has improved so that
        !           175: the number of registers required for an expression
        !           176: is not overestimated as often.
        !           177: Register storage declarations for
        !           178: .B float
        !           179: variables now cause them to be put in registers
        !           180: if the
        !           181: .B \-f
        !           182: flag is used.
        !           183: The compiler itself is somewhat faster,
        !           184: thanks primarily to a change that considerably
        !           185: reduces symbol table searches
        !           186: when entering and leaving blocks.
        !           187: .IP
        !           188: The compiler sources have been rearranged to make maintenance easier.
        !           189: The names of some source files have been changed to protect the innocent;
        !           190: header files now end in
        !           191: .I .h ,
        !           192: and names of files reflect their functions.
        !           193: Configuration control has been simplified,
        !           194: so that only a simple configuration include file
        !           195: and the makefile flags variable should have to be considered
        !           196: when putting the compiler together.
        !           197: Redundant information has been eliminated from
        !           198: include files and the makefile,
        !           199: to reduce the chance of introducing changes
        !           200: that will make data structures or defines inconsistent.
        !           201: Values for opcodes are now taken
        !           202: from an include file
        !           203: .I pcc.h
        !           204: that is common to all the compilers
        !           205: that use the C compiler back end.
        !           206: The peephole optimizer can now be compiled without
        !           207: .B \-w .
        !           208: .BP checknr
        !           209: The
        !           210: .B "\&.T&
        !           211: .I tbl
        !           212: directive was added to the list of known commands.
        !           213: .BP chfn
        !           214: Has been merged into
        !           215: .I passwd (1).
        !           216: .BP chgrp
        !           217: An option has been added for recursively
        !           218: changing the group of a directory tree.
        !           219: .BP chmod
        !           220: Can now recursively modify the permissions on a directory tree.
        !           221: The mode string was extended to turn on the execute bit
        !           222: conditionally if the file is executable or is a directory.
        !           223: .BP chsh
        !           224: Has been merged into
        !           225: .I passwd (1).
        !           226: .BP clear
        !           227: Now has a proper exit status.
        !           228: .BP colrm
        !           229: Line length limitations have been removed.
        !           230: .BP compact
        !           231: Has been retired to \fI/usr/old\fP.
        !           232: .BP compress
        !           233: Replaces \fIcompact\fP as the preferred method to use in saving file
        !           234: system space.
        !           235: .BP cp
        !           236: No longer suffers
        !           237: problems when copying a directory to a nonexistent name or when
        !           238: some directories are not writable in a recursive copy.
        !           239: The \fB\-p\fP flag was added to preserve modes
        !           240: and times when copying files.
        !           241: .BP crypt
        !           242: Waits for
        !           243: .I makekey
        !           244: to finish before reading from its pipe.
        !           245: .BP csh
        !           246: Has a new flag to stop argument processing so set user id shell scripts are more
        !           247: secure.  File name completion may be optionally enabled.
        !           248: .I Csh
        !           249: keeps better
        !           250: track of the current directory when traversing symbolic links.
        !           251: Some major work was done on performance.
        !           252: .BP ctags
        !           253: .I Ctags
        !           254: was modified to recognize LEX and YACC input files.
        !           255: Files ending in
        !           256: .I "\&.y
        !           257: are presumed to be YACC input,
        !           258: and a tag is generated for each non-terminal defined,
        !           259: plus a tag
        !           260: .B yyparse
        !           261: for the first %% line in the file.
        !           262: Files ending in \fI.l\fP are checked to see if they are
        !           263: LEX or Lisp files.
        !           264: A tag \fByylex\fP is generated for the first %% line in a LEX file.
        !           265: In addition, for both kinds of files,
        !           266: any C source after a second %% is scanned for tags.
        !           267: .BP date
        !           268: The
        !           269: .I date
        !           270: command can now be used to set the date on all machines in a network using the
        !           271: .I timed (8)
        !           272: program.
        !           273: More information is logged regarding the setting of time.
        !           274: .BP dbx
        !           275: Major improvements have been made to
        !           276: .I dbx
        !           277: since the 4.2BSD release.
        !           278: Large numbers of bug fixes have made
        !           279: .I dbx
        !           280: much more pleasant to use;
        !           281: in particular many pointer errors that used to cause
        !           282: .I dbx
        !           283: to crash have been caught.
        !           284: Some new features have been installed;
        !           285: for instance it is now possible to search
        !           286: for source lines with regular expressions.
        !           287: The Fortran and Pascal language support is much improved,
        !           288: and the DEC Western Research Labs Modula-2 compiler
        !           289: is now supported.
        !           290: .BP dd
        !           291: Exit codes have been changed to correspond with normal conventions.
        !           292: .BP deroff
        !           293: .I Deroff
        !           294: no longer throws out two letter words.
        !           295: .BP diff
        !           296: Context diffs merge nearby changes.
        !           297: New flags were added for ignoring white space
        !           298: differences and for insensitivity to case.
        !           299: .BP diff3
        !           300: The RCS version of \fIdiff3\fP has been merged
        !           301: into the standard \fIdiff3\fP
        !           302: under two new flags, \fB\-E\fP and \fB\-X\fP.
        !           303: .BP echo
        !           304: No longer accepts \fB\-n\fIanything\fR in place of \fB\-n\fP.
        !           305: .BP error
        !           306: Support for the DEC Western Research Labs Modula-2 compiler has been added.
        !           307: .I Error
        !           308: will now be able to run when there is no associated tty,
        !           309: so it may now be driven from \fIat\fP(1), etc.
        !           310: If the \fB\-n\fP and \fB\-t\fP options are selected,
        !           311: .I error
        !           312: will not touch files.
        !           313: .BP ex
        !           314: Support for changing window size has been added,
        !           315: and terminals with many lines,
        !           316: such as the WE5620,
        !           317: are now handled.
        !           318: Several small bug fixes were installed
        !           319: and various facilities have been made faster.
        !           320: .I Ex
        !           321: only reads the file
        !           322: .I "\&.exrc
        !           323: if it is owned by the user, unless
        !           324: the \fIsourceany\fP option is set.
        !           325: It only looks for ``mode lines'' if the \fImodeline\fP option is set.
        !           326: If Lisp mode is set, it allows ``\-'' to be used in ``words''.
        !           327: .I Expreserve
        !           328: now provides a better description of what happened
        !           329: to a user's buffer when disaster struck.
        !           330: .BP eyacc
        !           331: \fIeyacc\fP is no longer a standard utility.
        !           332: It has been moved to the Pascal source directory.
        !           333: .BP f77
        !           334: The Fortran compiler has been substantially improved.
        !           335: Many serious bugs have been fixed since the last release;
        !           336: the compiler now passes several widely used tests
        !           337: such as the Navy Fortran Compiler Validation System and
        !           338: the IMSL and NAG mathematical libraries.
        !           339: The optimizer is now trustworthy and robust;
        !           340: the many gruesome bugs that it used to inflict on programs,
        !           341: such as resolving different variables in the same
        !           342: .B common
        !           343: block into the same temporary for purposes
        !           344: of common subexpression elimination,
        !           345: have been fixed.
        !           346: .B Do
        !           347: loops, which used to suffer from deadly problems
        !           348: where loop variables, limit values and tests all managed
        !           349: to misfire even without the help of the optimizer,
        !           350: now produce proper results.
        !           351: Many severe bugs with
        !           352: .B character
        !           353: variables and expressions have been fixed;
        !           354: it is now possible to have variable length
        !           355: .B character
        !           356: variables on either side of an assignment,
        !           357: and the lengths of concatenations are properly computed.
        !           358: Several register allocation bugs have been fixed,
        !           359: among them the awful bug that
        !           360: .I "a = f\|(a)
        !           361: where
        !           362: .I a
        !           363: is in a register would not alter the value of \fIa\fP.
        !           364: Register allocation, though significantly improved,
        !           365: is still pitifully naive compared
        !           366: with the methods found in production Fortran compilers.
        !           367: .B Save
        !           368: statements cause variables to be retained,
        !           369: even if a subroutine returns from inside a loop.
        !           370: It is no longer possible to modify constants
        !           371: that are passed as parameters to subroutines
        !           372: and thus change all future uses of the constant
        !           373: when it is used as a subroutine parameter.
        !           374: Multi-level equivalences are no longer scrambled,
        !           375: and the
        !           376: .B cmplx
        !           377: intrinsic conversion function
        !           378: no longer garbles its result.
        !           379: The compiler now generates integer move instructions
        !           380: where it used to produce floating point move instructions,
        !           381: even when not optimizing, so that non-standard use of equivalences
        !           382: between
        !           383: .B real
        !           384: and
        !           385: .B integer
        !           386: types work as on most other systems.
        !           387: .B Assign
        !           388: statements now work with
        !           389: .B format
        !           390: statements.
        !           391: The ``first character'' parameter of a substring
        !           392: is now evaluated only once instead of twice.
        !           393: Restrictions on
        !           394: .B parameter
        !           395: variables are now enforced,
        !           396: and the compiler no longer aborts while
        !           397: trying to make sense of impossible
        !           398: .B parameter
        !           399: variables.
        !           400: The restrictions on array dimension declarators
        !           401: are much closer to the standard and much more stringent.
        !           402: Statement ordering used to be much more flexible, and wrong;
        !           403: it is now strictly enforced,
        !           404: leading to fewer compiler errors.
        !           405: The compiler now chides the user for
        !           406: declaring adjustable length character variables
        !           407: that are not dummy arguments.
        !           408: The compiler understands that subroutines and functions
        !           409: are different and prevents them from being used interchangeably.
        !           410: The parser is no longer fooled by excess
        !           411: ``positional I/O control'' parameters in I/O statements.
        !           412: .IP
        !           413: Several changes have been made to prevent the compiler
        !           414: itself from aborting;
        !           415: in particular, computed \fBgoto\fPs
        !           416: do not elicit compiler core dumps,
        !           417: nor do multiplications by zero,
        !           418: nor do unusual statement numbers.
        !           419: The compiler now recognizes and complains about
        !           420: various kinds of hardware errors that
        !           421: can result from evaluating constant expressions,
        !           422: such as integer and floating overflow;
        !           423: it no longer dies when it receives a SIGFPE.
        !           424: Several memory management bugs that
        !           425: caused the compiler to dump core for
        !           426: seemingly random things have met their demise.
        !           427: Some conversion operations used to cause
        !           428: the code generator to emit impossible
        !           429: assembly language instructions
        !           430: that in turn caused the assembler some indigestion;
        !           431: these are now fixed.
        !           432: Some symbol table modifications were made to help out \fIdbx\fP(1),
        !           433: so that values of
        !           434: .B common
        !           435: and
        !           436: .B parameter
        !           437: storage classes
        !           438: and
        !           439: .B logical
        !           440: types are now accessible from \fIdbx\fP.
        !           441: When the compiler does abort,
        !           442: the error messages produced are now comprehensible to human beings
        !           443: and messy core dumps are no longer left behind.
        !           444: Some effort has been made to improve error reporting
        !           445: for program errors and to handle exceptional conditions in which
        !           446: the old compiler used to punt.
        !           447: .IP
        !           448: Some improvements in optimization were
        !           449: added to the compiler.
        !           450: Offsets to static data are now
        !           451: shorter than before;
        !           452: the compiler used to produce 32-bit offsets
        !           453: for all local variables.
        !           454: .B Real
        !           455: variables may now be allocated to registers.
        !           456: Format strings in \fBformat\fP statements are compiled
        !           457: for considerable runtime savings;
        !           458: for various reasons, format strings
        !           459: in character constants and variables in I/O statements are not.
        !           460: Common subexpression elimination
        !           461: now reduces the re-evaluation of exponentiations
        !           462: in polynomial expressions.
        !           463: Some problems with alignment of data
        !           464: that caused ghastly performance degradation have been repaired.
        !           465: .IP
        !           466: Some changes have been made in the way the compiler is put together.
        !           467: The compiler front end now uses the common intermediate code format
        !           468: established in the include file
        !           469: .I pcc.h
        !           470: to communicate with the back end.
        !           471: The back end has been re-merged with the C compiler sources,
        !           472: so that bug fixes to the C compiler
        !           473: are automatically propagated to the Fortran back end.
        !           474: Similarly, the Fortran and C peephole optimizers were re-merged.
        !           475: .IP
        !           476: Some new features were added to the compiler.
        !           477: There is now a
        !           478: .B \-r8
        !           479: flag to coerce
        !           480: .B real
        !           481: and
        !           482: .B complex
        !           483: variables and constants to
        !           484: double precision and double complex
        !           485: types for extended precision.
        !           486: There is a
        !           487: .B \-q
        !           488: flag to suppress listing of file and entry names during compilation.
        !           489: Some foolproofing was added to the compiler driver;
        !           490: it is no longer possible to wipe out a source file
        !           491: by entering ``f77 \-o foo.f'',
        !           492: and it now complains about incompatible combinations of options.     
        !           493: .IP
        !           494: Many I/O library bugs were fixed.
        !           495: Auxiliary I/O has been fixed to be closer to the standard:
        !           496: \fIclose\fP is a no-op on a non-existent or unconnected unit;
        !           497: \fIrewind\fP and \fIbackspace\fP are no-ops on an unconnected unit;
        !           498: \fIendfile\fP opens an unconnected unit.
        !           499: \fIInquire\fP returns \fBtrue\fP when asked
        !           500: if units 0-MAXUNIT exist, \fBfalse\fP for other integers; it used to return
        !           501: \fBfalse\fP for legal but unconnected file numbers
        !           502: and errors for illegal numbers.
        !           503: \fIInquire\fP now fills in all requested fields,
        !           504: even if the file or unit does not
        !           505: exist or is unconnected.
        !           506: \fIInquire\fP by unit now correctly returns the unit number.
        !           507: Most of the formatted I/O input scanning has been rewritten to check
        !           508: for invalid input.
        !           509: For example, with an
        !           510: .I f10.0
        !           511: format term, the following all used to read as 12.345:
        !           512: ``1+2.345'', ``12.3abc45'', ``12.3.45'', ``12345e1-'';
        !           513: they now generate errors.
        !           514: Conversely, the legal datum ``12345-2'' for 12.345 used to be misread
        !           515: as -1234.52.
        !           516: The
        !           517: .I b
        !           518: format term is now fixed,
        !           519: and
        !           520: .I bz
        !           521: now works for short records.
        !           522: Reads of short
        !           523: .B logical
        !           524: variables no longer overwrite neighboring data
        !           525: in memory.
        !           526: Infinite loops in formatted output (an I/O list but no conversion terms
        !           527: in the format) are now caught,
        !           528: printing multiple records after the list is exhausted.
        !           529: In list directed reads, a repeat count, \fIr\fP,
        !           530: followed by an asterisk and
        !           531: a space (and no comma) now follows the standard and skips
        !           532: .I r
        !           533: list items.
        !           534: Repeat counts for complex constants now work.
        !           535: Tabs are now fully equivalent to spaces in list directed input.
        !           536: There are two new formatting terms,
        !           537: .I x
        !           538: for hex
        !           539: and
        !           540: .I o
        !           541: for octal.
        !           542: The library now attempts to get to the next record if doing an
        !           543: \fBerr=\fP branch on error;
        !           544: the standard does not require this,
        !           545: but it is undesirable to leave the system hanging in mid record.
        !           546: After input errors, the I/O library now tries to skip to
        !           547: the next line if there is another read.
        !           548: This functionality is not required by the standard
        !           549: and is still not guaranteed to work.
        !           550: .IP
        !           551: The Fortran runtime and I/O libraries have several new features.
        !           552: Many routines and variables have been made static, cutting
        !           553: the number of symbols defined by the library almost in half.
        !           554: Many source files have been reorganized to eliminate the loading of
        !           555: extraneous routines; for example,
        !           556: the formatted read routines are not loaded
        !           557: if a program only performs formatted writes.
        !           558: Standard error is now buffered.
        !           559: All error processing is now centralized in a single routine, \fIf77_abort\fP.
        !           560: The \fIf77_abort\fP
        !           561: routine has been separated from the normal Fortran main routine so
        !           562: that C code can call Fortran subroutines.  Fortran programs
        !           563: that abort normally get a core file only if they are loaded with
        !           564: \fB\-g\fP; the environment variable \fBf77_dump_flag\fP may be used to override
        !           565: this by setting it to \fIy\fP or \fIn\fP.
        !           566: The
        !           567: .I rindex
        !           568: routine now works as documented.
        !           569: The C library
        !           570: .I malloc
        !           571: and
        !           572: .I random
        !           573: routines may now be accessed from Fortran.
        !           574: .IP
        !           575: The new VAX math library has been incorporated
        !           576: and some bugs in calling math library routines have been fixed.
        !           577: The routine \fId_dprod\fP was added for use with the \fB\-r8\fP flag.
        !           578: The \fIsinh\fP and \fItanh\fP routines have been deleted as
        !           579: they are loaded directly from the math library.
        !           580: The \fIlog10\fP routine from the math library
        !           581: is now used by \fIr_lg10\fP and \fId_lg10\fP.  
        !           582: The \fIpow\fP routines now divide by zero when zero is raised
        !           583: to a negative power so as to generate an exception.
        !           584: Complex division by zero now generates an error message.
        !           585: .IP
        !           586: Appropriately named environment variables now override default file
        !           587: names and names in open statements;
        !           588: see ``Introduction to the f77 I/O Library'' for details.
        !           589: Unit numbers may vary from 0 to 99; the maximum number 
        !           590: that can be open simultaneously
        !           591: depends on the system configuration limit
        !           592: (the library does not check this value).
        !           593: Namelist I/O similar to that in VMS Fortran has been added to the compiler,
        !           594: and library routines to implement it have been added to the I/O library.
        !           595: The documents ``A Portable Fortran 77 Compiler'' and ``Introduction
        !           596: to the f77 I/O Library'' have been revised to describe these changes.
        !           597: The new \fIhelp\fP system on the distribution tape in the user contributed
        !           598: software section contains a large set of help files for f77.
        !           599: .BP fed
        !           600: Has been retired to \fI/usr/old\fP.
        !           601: .BP find
        !           602: Some new options have been added.
        !           603: It is now possible to choose users or groups that have no names
        !           604: by using the \fB\-nouser\fP and \fB\-nogroup\fP options.
        !           605: The \fB\-ls\fP option provides a built in
        !           606: .I ls
        !           607: facility to allow the printing of various file attributes;
        !           608: it is identical to ``ls \-lgids''.
        !           609: It is now possible to restrict
        !           610: .I find
        !           611: to the file system of the initial path name with the \fB\-xdev\fP option.
        !           612: A new type, \fB\-type\fP \fIs\fP,
        !           613: for sockets has been added.
        !           614: Symbolic links are now handled better.
        !           615: Globbing is now faster.
        !           616: .I Find
        !           617: supports an abbreviated notation, ``find \fIpattern\fP,''
        !           618: which searches for a pattern in a database
        !           619: of the system's path names;
        !           620: this is much faster than the standard method.
        !           621: .BP finger
        !           622: Despite numerous changes, \fIfinger\fP still has Berkeley parochialisms.
        !           623: It has been modified to provide finger information over the network.
        !           624: Control characters are mapped to their printable equivalents
        !           625: (e.g. ^X) to avoid trojan horses in
        !           626: \fI\&.plan\fP and \fI.profile\fP files.
        !           627: .BP file
        !           628: .I File
        !           629: has been extended to recognize sockets,
        !           630: compressed files (\fI.Z\fP),
        !           631: and shell scripts.
        !           632: When it determines that a file is a shell script, 
        !           633: it tries to discover whether it is a Bourne shell script or a C shell script.
        !           634: The special bits set user id, sticky, and append-only are also noted.
        !           635: The value of a symbolic link is now printed.
        !           636: .BP from
        !           637: An error message is printed if the requested mailbox cannot be opened.
        !           638: .BP ftp
        !           639: Many bugs have been fixed.
        !           640: New features are:
        !           641: support for new RFC959 FTP features (such as ``store unique''),
        !           642: new commands that manipulate local and remote file names
        !           643: to better support connections to non-UNIX systems,
        !           644: support for third party file transfers between two 
        !           645: simultaneously connected remote hosts,
        !           646: transfer abort support,
        !           647: expanded and documented initialization procedures (the \fI.netrc\fP file),
        !           648: and a simple command macro facility.
        !           649: .BP gprof
        !           650: Uses \fIsetitimer\fP to discover the clock frequency
        !           651: instead of looking it up in \fI/dev/kmem\fP.
        !           652: An alphabetical index printing routine has been added.
        !           653: A few changes were made to the output format; a new column
        !           654: indicates milliseconds per call.
        !           655: .BP groups
        !           656: Now prints out the group listed in the password file in addition to the 
        !           657: groups listed in the groups file.
        !           658: .BP help
        !           659: Has been superseded by the \fIhelp\fP facility included in the
        !           660: User Contributed Software.
        !           661: .BP hostid
        !           662: Has been extended to take an Internet address or hostname.
        !           663: .BP indent
        !           664: Has been completely rewritten;
        !           665: its default mode now produces programs
        !           666: somewhat more closely reflecting the local Berkeley style.
        !           667: .BP install
        !           668: The \fIchmod\fP in the \fIinstall\fP script
        !           669: uses \fB\-f\fP so that it does not complain if it fails.
        !           670: When \fImv\fP'ing and \fIstrip\fP'ing a binary (\fB\-s\fP and not \fB\-c\fP),
        !           671: the \fIstrip\fP is done before the \fImv\fP to
        !           672: avoid fragmentation on the destination file system.
        !           673: .BP iostat
        !           674: Disk statistics are collected by an alternate clock, if it exists.
        !           675: Overflow detection has been added to avoid printing negative times.
        !           676: A call to
        !           677: \fIfflush\fP was added so that \fIiostat\fP works through pipes and sockets.
        !           678: Code to handle additional disks was added in the same way as in \fIvmstat\fP.
        !           679: The header is reprinted when \fIiostat\fP is restarted.
        !           680: .BP kill
        !           681: Signal 0 may now be used as documented.
        !           682: .BP lastcomm
        !           683: Several bug fixes were installed.
        !           684: \fILastcomm\fP now understands the revised accounting units.
        !           685: .BP ld
        !           686: A list of directories to search for libraries may now be specified on
        !           687: the command line.
        !           688: .BP learn
        !           689: The ``files'' lesson has been updated to reflect the default
        !           690: system tty conventions for erase and kill characters.
        !           691: .I Learn
        !           692: now uses directory access routines so that trash files
        !           693: can be removed properly between lessons.
        !           694: .BP leave
        !           695: Now ignores SIGTTOU and properly handles the +\fIhhmm\fP option.
        !           696: .BP lex
        !           697: The error messages have been made more informative.
        !           698: .BP lint
        !           699: Tests for negative or excessively large constant shifts were added.
        !           700: For \fB\-a\fP, warnings for
        !           701: expressions of type \fBlong\fP that are cast to type \fBvoid\fP
        !           702: are no longer emitted.
        !           703: A bug which caused \fIlint\fP to incorrectly report
        !           704: clashes for the return types of functions has been fixed.
        !           705: \fILint\fP now understands that \fBenum\fPs are not \fBint\fPs.
        !           706: The lint description for the C library was updated to reflect
        !           707: sections two and three of the Programmers Manual more accurately.
        !           708: Several more libraries in
        !           709: .I /usr/lib
        !           710: now have lint libraries.
        !           711: Changes were made to accommodate the restructuring of the C compiler
        !           712: for common header files.
        !           713: .BP lisp
        !           714: The Berkeley version of Franz Lisp has not been changed much
        !           715: since the 4.2BSD release.
        !           716: It has been updated to reflect changes in the C library.
        !           717: .BP ln
        !           718: Now prints a more accurate error message
        !           719: when asked to make a symbolic link into an unwritable directory.
        !           720: .BP lock
        !           721: .I Lock
        !           722: now has a default fifteen minute timeout.
        !           723: The root password may be used to override the lock.
        !           724: If an EOF is typed, it is now cleared instead of spinning in a tight
        !           725: loop until the timeout period.
        !           726: .BP logger
        !           727: A new program that logs its standard input using \fIsyslog\fP(3).
        !           728: .BP login
        !           729: The environment may be set up by another process that calls \fIlogin\fP.
        !           730: It now uses the new
        !           731: .IR getttyent (3)
        !           732: routines to read \fI/etc/ttys\fP.
        !           733: .BP lpr
        !           734: Now supports ``restricted access'' to a printer\- printer use may
        !           735: be restricted to only those users in a specific group-id.
        !           736: .BP mail
        !           737: \fIMail\fP now expects RFC822 headers instead of
        !           738: the obsolete RFC733 headers.
        !           739: A \fBretain\fP command has been added.
        !           740: If the PAGER variable is set in the environment,
        !           741: it is used to page messages instead of \fImore\fP\|(1).
        !           742: The \fBwrite\fP command now deletes the entire header
        !           743: instead of only the first line.
        !           744: An \fBunread\fP/\fBUnread\fP command (to mark messages as not read) was added.
        !           745: If \fBReplyall\fP is set,
        !           746: the senses of \fBreply\fP and \fBReply\fP are reversed.
        !           747: When editing a different file,
        !           748: \fImail\fP always prints the headers of the first few messages.
        !           749: \fIFlock\fP(2) is used for mailbox locking.
        !           750: Commands ``\fB\-\fP'' and ``\fB+\fP'' skip over deleted messages;
        !           751: \fBtype\fP\ \fIuser\fP now does a substring match
        !           752: instead of a literal comparison.
        !           753: A \fB\-I\fP flag was added
        !           754: which causes \fImail\fP to assume that input is a terminal.
        !           755: .BP make
        !           756: A bug which caused \fImake\fP to run out of file descriptors
        !           757: because too many files and directories were left open
        !           758: has been fixed.
        !           759: Long path names should not be a problem now.
        !           760: A VPATH macro has been added to allow the user to specify
        !           761: a path of directories to search for source files.
        !           762: .BP man
        !           763: Support for alternate manual directories for \fIman\fP,
        !           764: \fIapropos\fP and \fIwhatis\fP was added.
        !           765: A side effect of this is that the \fIwhatis\fP database
        !           766: was moved to the \fIman\fP directory.
        !           767: If the source for a manual page is not available,
        !           768: \fIman\fP will display the formatted version.
        !           769: This allows machines to avoid storing both formatted and unformatted
        !           770: versions of the manual pages.
        !           771: The environment variable MANPATH overrides the default directory \fI/usr/man\fP.
        !           772: The \fB\-t\fP option is no longer supported.
        !           773: The printing process has been streamlined by using ``more \-s \fIcatfile\fP''
        !           774: instead of ``cat \-s \fIcatfile\fP | ul | more \-f''.
        !           775: Searches of \fI/usr/man/mano\fP are more lenient about file name extensions.
        !           776: The source for \fIman\fP was considerably cleaned up;
        !           777: the magic search lists and commands were put at the top of the source file
        !           778: and the private copy of \fIsystem\fP was deleted.
        !           779: .BP mesg
        !           780: So that terminals need not be writable to the world,
        !           781: .I mesg
        !           782: only changes the group ``write'' permission.
        !           783: (Terminals are now placed in group \fItty\fP
        !           784: so that users may restrict terminal write permission
        !           785: to programs which are set-group-id \fItty\fP.)
        !           786: .BP mkdir
        !           787: Prints a ``usage'' error message
        !           788: instead of an uninformative ``arg count'' message.
        !           789: .BP more
        !           790: Now allows backward scanning.
        !           791: It will also handle window size changes.
        !           792: It simulates ``crt'' style erase and kill processing if the terminal
        !           793: mode includes those options.
        !           794: .BP msgs
        !           795: Will no longer update \fI.msgsrc\fP
        !           796: if the saved message number is out of bounds.
        !           797: .BP mv
        !           798: No longer runs
        !           799: .I cp (1)
        !           800: to copy a file;
        !           801: instead it does the copy itself.
        !           802: .BP netstat
        !           803: Routes and interfaces for Xerox NS networks are now shown.
        !           804: The \fB\-I\fP option has been added to specify a particular interface
        !           805: for the default display.
        !           806: The \fB\-u\fP option has been added to show UNIX domain information.
        !           807: Several new mbuf types and statistics are now displayed;
        !           808: subnetting is now understood.
        !           809: .BP nice
        !           810: Is relative as documented, not absolute.
        !           811: .BP nroff
        !           812: No longer replaces single spaces with tabs when using the
        !           813: \fB\-h\fP option.
        !           814: .BP Pascal
        !           815: The Pascal compiler and interpreter have been extensively
        !           816: rewritten so that they will (nearly) pass through \fIlint\fP.
        !           817: In theory they have not changed from a semantic point of view.
        !           818: A few bugs have been fixed, and undoubtedly some new ones introduced.
        !           819: The Pascal runtime support has improved error diagnostics.
        !           820: Real number input scanning
        !           821: now corresponds to standard Pascal conventions rather than
        !           822: those of \fIscanf\fP\|(3S).
        !           823: .BP passwd
        !           824: The \fIpasswd\fP program incorporates the functions of
        !           825: \fIchfn\fP and \fIchsh\fP under \fB\-f\fP and \fB\-s\fP flags. 
        !           826: Whenever information is changed \fIpasswd\fP also
        !           827: updates the associated \fIndbm\fP(3X) database used by
        !           828: \fIgetpwnam\fP and \fIgetpwuid\fP.
        !           829: Office room and phone numbers are less dependent on Berkeley's usage.
        !           830: Checks are made for write errors before renaming the password file.
        !           831: .BP plot
        !           832: The output device resolution can now be specified using the \fB\-r\fP option.
        !           833: Support has been added for the Imagen laser printer and the Tektronix 4013.
        !           834: .BP pr
        !           835: The buffer is now large enough for 66 x 132 output.
        !           836: .BP print
        !           837: Has been retired to \fI/usr/old\fP;
        !           838: use ``lpr \-p'' instead.
        !           839: .BP prmail
        !           840: Has been retired to \fI/usr/old\fP;
        !           841: use ``Mail -u \fIuser\fP'' instead.
        !           842: .BP prof
        !           843: Uses \fIsetitimer\fP to determine the clock frequency
        !           844: instead of assuming 60 hertz.
        !           845: .BP ps
        !           846: Saves static information for faster startup.
        !           847: It now prints symbolic
        !           848: values for wait channels.
        !           849: .BP pti
        !           850: Has been retired to \fI/usr/old\fP.
        !           851: .BP ptx
        !           852: Cleans up after itself and exits with a zero status on successful completion.
        !           853: .BP quota
        !           854: Verifies that the system supports quotas before trying to
        !           855: interpret the quota files.
        !           856: .BP ranlib
        !           857: The \fB\-t\fP option updates a library's internal time stamp without
        !           858: rebuilding the table of contents.
        !           859: ``Old format'' and ``mangled string table'' are now warnings rather
        !           860: than fatal errors.
        !           861: Memory allocation is done dynamically.
        !           862: .BP rcp
        !           863: For the convenience of system managers, \fIrcp\fP has moved from \fI/usr/ucb\fP
        !           864: to \fI/bin\fP, hence it can be used without mounting \fI/usr\fP.
        !           865: Remote user names are now specified as \fIuser\fP@\fIhost\fP instead of
        !           866: \fIhost.user\fP to support Internet domain hostnames
        !           867: that contain periods (``.'').
        !           868: A \fB\-p\fP option has been added that preserves file and directory
        !           869: modes, access time, and modify time.
        !           870: It now uses \fIgetservbyname\fP instead of compile time constants.
        !           871: .BP rdist
        !           872: A new program that keeps files on multiple machines consistent with
        !           873: those on a master machine.
        !           874: .BP refer
        !           875: The key letter code was fixed so that control characters are not generated.
        !           876: Several problems that caused the generation of duplicate citations,
        !           877: particularly with the \fB\-e\fP and \fB\-s\fP options, have been fixed.
        !           878: EOF on standard input is now properly handled.
        !           879: \fIRefer\fP folds upper and lower case when sorting.
        !           880: .BP rlogin
        !           881: \fIRlogin\fP negotiates with \fIrlogind\fP to determine whether window
        !           882: size changes should be passed through.
        !           883: If the remote end is running a 4.3BSD \fIrlogind\fP,
        !           884: it will agree to accept and pass through SIGWINCH signals
        !           885: to user processes under its control.
        !           886: The \fB\-8\fP flag allows an 8-bit path on input.
        !           887: The \fB\-L\fP flag allows an 8-bit path on output.    
        !           888: The escape character is now echoed as soon as a second non-command 
        !           889: character is typed.
        !           890: A new command character
        !           891: \fI^Y\fP has been added to suspend only the input end of the
        !           892: session without stopping output from the remote end
        !           893: (unless \fBtostop\fP has been set).
        !           894: The \fIioctl\fP TIOCSPGRP has been changed to \fIfcntl\fP F_SETOWN.
        !           895: Several changes have been made to reduce the amount of data
        !           896: sent after an interrupt has been typed, and to avoid flushing data when
        !           897: changing modes.
        !           898: .BP rm
        !           899: The \fB\-f\fP option produces no error messages and exits with status 0.
        !           900: The problem of running out of file descriptors when doing a recursive
        !           901: remove have been fixed.
        !           902: .BP rmdir
        !           903: Improved error messages, in the same fashion as \fImkdir\fP.
        !           904: .BP rsh
        !           905: The \fB\-L\fP, \fB\-w\fP, and \fB\-8\fP flags are ignored so that they may be 
        !           906: passed along with \fB\-e\fP to rlogin.
        !           907: .BP ruptime
        !           908: The \fB\-r\fP flag has been added to reverse sort order.
        !           909: .BP rwho
        !           910: Now allows hosts with long names
        !           911: (greater than 16 characters).
        !           912: .BP script
        !           913: Now propagates window size changes.
        !           914: .BP sed
        !           915: No longer loops when the first regular expression is null.
        !           916: .BP sendbug
        !           917: Allows command line \fB\-D\fP arguments to override built in
        !           918: defaults for name and host address of the bugs mailing list.
        !           919: The ``Repeat-By'' field is now optional.
        !           920: .I Sendbug
        !           921: now checks the EDITOR environment variable instead of assuming \fIvi\fP.
        !           922: .BP sh
        !           923: ``#'' is no longer considered a comment character when \fIsh\fP is interactive.
        !           924: The IFS variable is not imported when \fIsh\fP runs
        !           925: as root or if the effective user id differs from the real user id.
        !           926: .BP size
        !           927: Now exits with the number of errors encountered.
        !           928: .BP sort
        !           929: Checks for and exits on write errors.
        !           930: .BP spell
        !           931: A couple of trouble-causing words have been removed from \fIspell\fP's
        !           932: stoplist; \fIe.g.\fP ``reus'' that caused ``reused'' to be flagged.
        !           933: A few words that \fIspell\fP would not derive have been
        !           934: removed from the stoplist.
        !           935: Several hundred words that \fIspell\fP derives without
        !           936: difficulty from existing words (\fIe.g.\fP ``getting'' from ``get''), or that
        !           937: \fIspell\fP would accept anyway, \fIe.g.\fP ``1st, 2nd'' etc., have been removed
        !           938: from \fI/usr/dict/words\fP.
        !           939: .BP stty
        !           940: Has been extended to handle window sizes and 8-bit input data paths.
        !           941: "stty size" prints only the size of the associated terminal.
        !           942: .BP su
        !           943: Only members of group 0 may become root.
        !           944: .BP symorder
        !           945: Now reorders the string table as well as the name list.
        !           946: .BP sysline
        !           947: Now understands how to run in one-line windows and how to
        !           948: adjust to window size changes.
        !           949: Numerous small changes have been made in the output format.
        !           950: .BP systat
        !           951: A new program that provides a cursed form of \fIvmstat\fP,
        !           952: as well as several other status displays.
        !           953: .BP tail
        !           954: Makes use of a much larger buffer.
        !           955: .BP talk
        !           956: The new version of \fItalk\fP has an incompatible
        !           957: but well-defined protocol that works across a much broader
        !           958: range of architectures.
        !           959: The new talk rendezvouses at a new port so that the old version
        !           960: can still be used during the conversion.
        !           961: .I Talkd
        !           962: looks for a writable terminal instead of giving up if a user's
        !           963: first entry in \fI/etc/utmp\fP is not writable.
        !           964: Root may always interrupt.
        !           965: .I Talk
        !           966: now runs set-group-id to group \fItty\fP so that it is no longer
        !           967: necessary to make terminals world writable.
        !           968: .BP tar
        !           969: Preserves modified times of extracted directories.
        !           970: The \fB\-B\fP option is turned on when reading from standard input.
        !           971: Some sections were rewritten for efficiency.
        !           972: .BP tbl
        !           973: The hardwired line length has been removed.
        !           974: .BP tcopy
        !           975: A new program for doing tape to tape copy of multifile, arbitrarily
        !           976: blocked magnetic tapes.
        !           977: .BP tee
        !           978: \fITee\fP's buffer size was increased.
        !           979: .BP telnet
        !           980: \fITelnet\fP first tries to interpret the destination as an address;
        !           981: if that fails, it is then passed off to \fIgethostbyname\fP.
        !           982: If multiple addresses are returned, each is tried in turn
        !           983: until one succeeds, or the list is exhausted.
        !           984: If a non-standard port is specified, the initial ``Suppress Go Ahead''
        !           985: option is not sent.
        !           986: Commands were added to escape the escape character,
        !           987: send an interrupt command, and send ``Are You There''.
        !           988: Carriage return is now mapped to carriage return, newline.
        !           989: .BP tftp
        !           990: Has many bug fixes.
        !           991: It no longer loops upon reading EOF from standard input.
        !           992: Re-transmission to send was added,
        !           993: as well as an input buffer flush to both send and receive.
        !           994: .BP tip
        !           995: Lock files are no longer left lying about after
        !           996: .I tip
        !           997: exits,
        !           998: and the \fIuucp\fP spool directory does not need to be world writable.
        !           999: A new ``~$'' command sends output from a local program to a remote host.
        !          1000: Alternate phone numbers are separated only by ``,'';
        !          1001: thus several dialer characters that were previously illegal may now be used.
        !          1002: .I Tip
        !          1003: now arranges to copy a phone number argument to a safe place, then zero
        !          1004: out the original version.
        !          1005: This narrows the window in which the phone number
        !          1006: is visible to miscreants using \fIps\fP or \fIw\fP.
        !          1007: Also fixed was a bug that caused the phone number to be written in place of
        !          1008: the connection message.
        !          1009: Carrier loss is recognized and an appropriate disconnect action is taken.
        !          1010: Bugs in calculating time and fielding signals have been fixed.
        !          1011: Several new dialers were added.
        !          1012: .BP tn3270
        !          1013: A new program for emulating an IBM 3270 over a \fItelnet\fP connection.
        !          1014: .BP tp
        !          1015: Memory allocation was changed to avoid \fIrealloc\fP.
        !          1016: .BP tr
        !          1017: Checks for and exits on write errors.
        !          1018: .BP trman
        !          1019: Has been retired to \fI/usr/old\fP.
        !          1020: .BP tset
        !          1021: Can now set the interrupt character.
        !          1022: The defaults have been changed when the interrupt,
        !          1023: kill, or erase characters are NULL.
        !          1024: \fIReset\fP is now part of \fItset\fP.
        !          1025: The window size is set if it has not already been set.
        !          1026: \fITset\fP continues to prompt as long as the terminal type
        !          1027: is unknown.
        !          1028: .BP users
        !          1029: Now much quieter if there are no users logged on.
        !          1030: .BP uucp
        !          1031: Several fixes and changes from the Usenet have been incorporated.
        !          1032: The maximum length of a sitename has been increased from 7 to 14 characters.
        !          1033: .I Uucp
        !          1034: has been changed to understand the new format of \fI/etc/ttys\fP.
        !          1035: Support for more dialers has been added.
        !          1036: .BP vacation
        !          1037: A new program that answers mail while you are on vacation.
        !          1038: .BP vgrind
        !          1039: Has been extended to handle the DEC Western Research Labs Modula-2 compiler 
        !          1040: and \fIyacc\fP.
        !          1041: .BP vlp
        !          1042: Now properly handles indented lines.
        !          1043: .BP vmstat
        !          1044: The \fB\-i\fP flag was added to summarize interrupt activity.
        !          1045: The \fB\-s\fP listing was expanded to include cache hit rates for the
        !          1046: name cache and the text cache.
        !          1047: The standard display has been generalized to allow command line selection
        !          1048: of the disks to be displayed.
        !          1049: A new header is printed after the program is restarted.
        !          1050: If an alternative clock is being used to gather statistics,
        !          1051: it is properly taken into account.
        !          1052: .BP vpr
        !          1053: Has been retired to \fI/usr/old\fP.
        !          1054: .BP w
        !          1055: Users logged in for more than one day have login day and hour listed;
        !          1056: users idle for more than one day have their idle time listed in days.
        !          1057: .BP wall
        !          1058: Will now notify all users on large systems.
        !          1059: .BP whereis
        !          1060: Now also checks \fImanl\fP, \fImann\fP, and \fImano\fP.
        !          1061: .BP which
        !          1062: Now sets prompt before sourcing the user's \fI.cshrc\fP file to ensure
        !          1063: that initialization for interactive shells is done.
        !          1064: .BP whoami
        !          1065: Uses the effective user id instead of the real user id.
        !          1066: .BP window
        !          1067: A new program that provides multiple windows on ASCII terminals.
        !          1068: .BP write
        !          1069: Looks for a writable terminal instead of giving up if a user's
        !          1070: first entry in \fI/etc/utmp\fP is not writable.
        !          1071: Root may always interrupt.
        !          1072: Non-printable escape sequences can no longer be sent
        !          1073: to an unsuspecting user's terminal.
        !          1074: .I Write
        !          1075: now runs set-group-id to group \fItty\fP so that it is no longer
        !          1076: necessary to make terminals world writable.
        !          1077: .BP xsend
        !          1078: Notice of secret mail is now sent with a subject line showing
        !          1079: who sent the mail.
        !          1080: The body of the message includes the name of the machine
        !          1081: on which the mail can be read.
        !          1082: .BP xstr
        !          1083: Now handles multiple-line strings.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.