[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



COPYRIGHT

The system now has a facility for automatically inserting a
copyright notice near the front of files, right after the
FILECREATED expression, specifying the years it was edited and the
copyright owner.  The format of the copyright notice is:

(* Copyright (c) 1981 by Foo Bars Corporation)

Once a file has a copyright notice then every version will have a
new copyright notice inserted into the file without user intervention. 
(The copyright information necessary to keep the copyright up to
date is stored at the end of the file.).

COPYRIGHTFLG					[Variable]
COPYRIGHTOWNERS				[Variable]
DEFAULTCOPYRIGHTOWNER			[Variable]

The variables COPYRIGHTFLG, COPYRIGHTOWNERS, and
DEFAULTCOPYRIGHTOWNER control the operation of the
COPYRIGHT facility.

If COPYRIGHTFLG=NIL (default), the system will preserve old
copyright information, but will not ask the user about copyrighting
new files.

If COPYRIGHTFLG=T, then when a file is made, if it has no copyright
information, the system will ask:

filename copyright owner:

The potential responses are controlled by the list COPYRIGHTOWNERS. 
COPYRIGHTOWNERS is a list of entries of the form

	(KEY OWNERSTRING) 

where KEY is used as a response to ASKUSER and OWNERSTRING
is a string which is the full identification of the owner.  In addition,
there are three other possible responses the user can make (even if
COPYRIGHTOWNERS is NIL)

(1) Type a left-square-bracket. The system will then prompt for
an arbitrary string which will be used as the owner-string

(2) Type a right-square-bracket, which specifies that the user
really does not want a copyright notice.

(3) Type "NONE" which specifies that this file should never have
a copyright notice.


If the user does not respond in DWIMWAIT seconds to the copyright
query, the value of DEFAULTCOPYRIGHTOWNER will be used instead.

For example, if COPYRIGHTOWNERS has the value

	((BBN "Bolt Beranek and Newman Inc.")
	 (XEROX "Xerox Corporation"))

then for a new file FOO the following interaction will take place:

	Do you want to Copyright FOO? Yes
        Copyright owner: {user typed ?}
	one of:
	BBN - Bolt Beranek and Newman Inc.
	XEROX - Xerox Corporation
	NONE - no copyright ever for this file
	[ - new copyright owner -- type one line of text
	] - no copyright notice for this file now

	Copyright owner: BBN

Then "Foo Bars Corporation" in the above copyright notice example
would have been "Bolt Beranek and Newman Inc."

Any year the file has been edited is considered a "copyright year" and
therefore kept with the copyright information.  For example, if a file
has been edited in 1981, 1982, and 1984, then the copyright notice
would look like:

(* Copyright (c) 1981,1982,1984 by Martin D. Yonke)

Implementation notes

The copyright information for a file is stored on the property list
of the file, under the COPYRIGHT property, which is a list of the form
(OWNER year1 year2 ...). To remove all current copyright information
about a file, call (REMPROP FILE 'COPYRIGHT).

If COPYRIGHTFLG=NEVER, the system will neither prompt for new
copyright information nor preserve old copyright information.

Copyright information included via the previous <LISPUSERS>COPYRIGHT
package will be preserved (i.e., the copyright facility looks at the 
COPYRIGHTOWNER and COPYRIGHTYEARS property of a file.)


= = = = = = = = = = = = = = = = = = =

In addition, there is available on <LISPUSERS>COPYRIGHT & .COM an 
extension of the copyright facility: if you load in this file, then copyright
notices will be printed as

(*                      Copyright (c) 1981, 1982, 1984
                                    by
                           Larry M. Masinter                                    *)