%% /u/sy/beebe/src/dired/dired-4.04.3/ChangeLog, Wed Jan 21 17:19:07 2004
%% Edit by Nelson H. F. Beebe <beebe@math.utah.edu>
%% Release version 4.04.3
%%
%% /u/sy/beebe/src/dired/dired-4.04.2/ChangeLog, Fri May 16 12:04:43 2003
%% Edit by Nelson H. F. Beebe <beebe@math.utah.edu>
%% Release version 4.04.2
%%
%% /u/sy/beebe/src/dired/dired-4.01/ChangeLog, Mon Aug 17 16:24:56 1998
%% Edit by Nelson H. F. Beebe <beebe@math.utah.edu>
%% Release version 4.01.
%%
%% /u/sy/beebe/src/dired/dired-4.00/ChangeLog, Mon Jul  6 12:57:26 1998
%% Edit by Nelson H. F. Beebe <beebe@math.utah.edu>
%% Update for versions 3.00 and 4.00
%%
%% /u/sy/beebe/src/dired/ChangeLog, Thu Jun 22 10:13:50 1995
%% Edit by Nelson H. F. Beebe <beebe@plot79.math.utah.edu>

------------------------------------------------------------------------	
2004-04-12 07:06:00-0600  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.06.   The -ltermlib vs -lcurses problem
	  recorded in README.curses remains unresolved.

	* dired.c: In main(), move "case 'S'" after "case 's'", to repair
	  broken key-driven reverse sorting: "case 'r'" expects to fall
	  through into "case 's'".  This error was introduced when the 
	  S (show symbolic link toggle) key was implemented in dired-4.05.

------------------------------------------------------------------------
2004-03-02 06:51:06-0700  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.05.

	* dired.c:  Add global show_link_target and support for -S
	option.  Change gstat() to use lstat() instead of stat() when
	symbolic-link targets are shown.  Add code in pentry() to print
	symbolic-link targets.  Add code in help_and_exit() to document
	new -S option, which suppresses printing of symbolic-link targets.
	Make MAXFILEPATHLEN fallback to MAX_DNAME (newly increased)
	instead of 1024.

	Add globals cursor_x, max_gname_width, max_gid_width,
	max_lsize_width, max_uname_width, and max_uid_width, set them in
	pentry(), getgids(), and getuids(), and use them to control format
	widths in pentry().  This produces maximally-compact output,
	giving more space for filenames. This change was inspired by GNU
	coreutils 5.1.0 (3-Dec-2003), which does something similar for
	"ls -l" output.

	Add S key binding to toggle display of symbolic-link targets.
	Note that this does not update the file data displayed (since that
	is a relatively expensive practice), so it is not quite the same
	as using the -S command-line option.

	Add putstr() function to handle filename display without exceeding
	screen width.
	
	Correct very longstanding bug: "dired dir" correctly showed
	usernames, but "dired dir/*" did not.  The cause was missing calls
	to getgids() and getuids() in getfiles() when an argument list is
	provided.

	* lbuf.h: Increase MAX_DNAME from 256 to 4097, since GNU/Linux
	systems now permit PATH_MAX values up to 4096 and NAME_MAX up to
	255.  All other Unix flavors limit PATH_MAX to 1023 or 1024.

	* dired.man: Document new -l option, update dired version
	number and date, and update email addresses in file header.

	* configure.in: Update dired version number and date.

	* Makefile.in: Change installation location of dired.hlp from
	$(BINDIR) to (prefix)/share/lib/$(PROGRAM)/$(PROGRAM)-$(VERSION)
	to conform to current practice. Add install-hlp and uninstall-hlp
	targets.

------------------------------------------------------------------------
2004-01-21 17:03:30-0700  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.04.3.

	* dired.c:  Correct minor problem of two missing (int) typecasts in
	  a printf() call.

------------------------------------------------------------------------
2003-05-16 11:48:39-0600  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.04.2.  This corrects a bug that seems
	  to have impacted only a single system, FreeBSD 5.0: an
	  incorrect last argument to regcomp().

	* BUGS: Update with notes about problem systems, and temporary
	  workarounds.

	* dired.c: Change last argument of recomp() from REG_NOSUB to 0.
	  Rewrite assignment of monochrome to avoid warnings on systems
	  where Boolean is an enum.

	* Makefile.in: Add BUGS to SHARFILES.

------------------------------------------------------------------------
2003-03-20 10:18:35-0700  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.04.1.  This is a minor maintenance release
	  to ensure that CFLAGS and LDFLAGS can be inherited from
	  configure by the Makefile.  There are no user-visible source
	  code or documentation changes, other than version number and
	  date.

	* Makefile.in: Update setting of CFLAGS, and use LDFLAGS in
	  program linking.

------------------------------------------------------------------------
2002-11-15 08:42:38-0700  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.04.

	* configure.in, dired.c, Makefile.in: Major update to prefer IEEE
	  Std 1003.1-2001 (POSIX) regcomp() and regexec() over old
	  BSD-style re_comp() and re_exec(). Apple Darwin 6.2 dropped
	  support for the latter, even though they remain in <unistd.h>.
	  Their manual page says that they are obsolete, but available in
	  -lcompat; however, that library is not provided, sigh...  When
	  regcomp() and regexec() are available, the regexpr.c file with
	  private implementations of re_comp() and re_exec() is not
	  compiled.

	* configure.in: Update to requirements of recent autoconf
	  releases.  The old acconfig.h file is now integrated into
	  configure.in, and thus no longer needed.

	* acconfig.h: Remove this obsolete file.

	* dired.c: Make full-screen display the default, simply by
	  changing the initialiation of scrlen from 999 to 0.  The
	  half-screen display simply wastes screen space.

	* dired.c: Add support for new -? and -h (help) command-line
	  options, and -V (version) option synonym.

	* dired.c: Quit after diagnosing unrecognized command-line
	  options.  Older versions issued an error message and continued
	  processing, but that message was immediately overwritten by the
	  dired screen display.

	* dired.c: Add (char*) typecast in putpad() call in curxy()
	  to override a prototype inconsistency on Solaris 2.7.

	* Add C command in dired to toggle colorization.

	* Add v command synonym for m (more) command.

	* dired.hlp: Document new C and v commands.

	* dired.man: Update version number and date.

------------------------------------------------------------------------
2001-03-03 17:58:56-0700  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.03

	* Makefile.in: Move SYSDEFS from configure-time substitution in
	  CFLAGS to separate variable for run-time substitution by make,
	  since it can be long on some systems.

	* README.*, README: Update version number.

	* configure.in: Update version number and release date.

	  Correct include file for strxxx() to string.h, instead of erroneous
	  unistd.h.

	  Add test for -lcompat and -lgnuregex; one or the other is needed
	  for builds on FreeBSD 4.1.1.

	  Add test for Compaq/DEC Alpha OSF/1 4.0 to test additional
	  defines in SYSDEFS to expose needed function prototypes in
	  C++ compilation.

	* dired.c: Add const modifier to declarations of prog and q, and
	  remove unused variable t.

	* dregexpr.h: Add const modifier to arguments of re_comp() and
	re_exec(), to match current practice in vendor-provided versions.

	* regexpr.c: Add const modifier to arguments of re_comp() and
	  re_exec(), to match current practice in vendor-provided versions.
	  regexpr.c.

	  Add typecasts in calls to re_compile_pattern() and re_search()
	  to allow C++ compilation after the first change.

------------------------------------------------------------------------
2001-04-22	Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 4.02

	* Makefile.in: allow prefix to be set at configure time

	* configure.in: update release date

	* dired.c: update to support GNU-style --arg

------------------------------------------------------------------------
Release version 4.01

22 April 2000	Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Update Makefile.in to allow configure to set prefix.

	* Update dired.c to recognize a GNU-style --version switch.

------------------------------------------------------------------------
Release version 4.01

17 August 1998	Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Fix minor error: a incorrect command-line argument
	of -r or -s would index the character NUL in set_sorttyp(),
	resulting in the lookup of a nonexistant entry in cmp_table[].
	Adding an extra entry of cmp_name() to the table initializer
	removes the error.

	* Add additional code in configure.in and acconfig.h to handle
	conflict between new GNU/Linux (version 2.0.35) re_comp.h and our
	dregexpr.h.

	* Replace use of gets() in dired.c with safer fgets().

	* Correct one assignment to numeric_sort to use True and
	False instead of a C-style boolean expression.

	* Include <sys/types.h> in cshsystem.c, since it is needed
	for recent GNU/Linux releases.

------------------------------------------------------------------------
Release version 4.00

10 July 1998	Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Major new release, with support for GNU autoconfigure, and
	portability to many more systems and compilers, including lcc
	and many C++ compilers.

	* Installation documentation is now in README.html, from which
	alternate forms README, README.pdf, and README.ps are derived
	automatically.

	* User documentation is in UNIX manual page form in dired.man,
	as before, from which alternate forms dired.html, dired.pdf,
	dired.ps, and dired.txt are derived automatically.  There is,
	however, not yet a standard place in UNIX systems to install the
	HTML form of the manual pages, so the installer is reminded to
	do this manually; a Makefile target is provided.

	* All system header files are inside preprocessor conditionals
	and their inclusion is determined by HAVE_xxx_H flags set by
	configure in config.h.

	* dired.c: Correct error about line 2970:
		if ((my_CD == (char*)NULL) & splitflg)
	is now
		if ((my_CD == (char*)NULL) && splitflg)
	The HP-9000 C++ compiler found this.

	* New files: Makefile.in, configure.in, acconfig.h, confix.h,
	stdc.h. The files configure and config.hin are also new, but are
	generated automatically by GNU autoconf and autoheader.

	* New files: xsignal.h, xstring.h, xterm.h, xwait.h to
	encapsulate workarounds for problems with system header files.

	* Replace body of nottext() with modern code to check for
	binary files; the old body was PDP-11 specific.

	* Rename regexpr.h to dregexpr.h to avoid confusion with
	system header files on some systems.

	* Add -g and -u options to provide a way to restrict files
	listed to just those belonging to a given group or user.

	* Provide modern version of getname() to use library functions
	for accessing group and password files; earlier versions just
	read /etc/passwd and /etc/group, which is wrong in modern
	networked systems, since that data is now stored in a
	network-distributed database, such as YP, NIS, or NIS+, and the
	local files in /etc are just short skeletons with no real user
	account data.

	* Add support for sorting by file type, group name, group
	number, inode, link count, user name, and user number, since
	these fields are available in the directory structure.

	* Beep at the user when an invalid sort option is entered, and
	add fflush() call in telluser() to prevent delays from output
	buffering.

	* Change date format to more informative ISO style
	"1998.07.04 10:30:06"; the old ls-style remains available
	if the symbol USE_LS_DATE is defined at compile time.

	* Replace old qsort() comparison function, compar(), containing
	a complex nested switch(sortyp){...} statement, by a set of
	simple functions, cmp_xxx(), one for each value of sortyp,
	thereby eliminating a complex branch for each file line, but
	more importantly, making a secondary sort on file name
	convenient when the primary sort keys are identical.  This is
	important for sorts by group, username, link counts, and file
	types, for which many files have identical primary keys.

	* Add support for SIGWINCH interrupt handling, so that the
	display size can be adjusted to match a changed screen size.

	* Add support for batch mode processing, so that dired's output
	can be directed to a file without human interaction.

	* Add -b (batch mode) command-line option.

	* Add new file color.c and lbuf.h file.  The former provides
	support for colorizing filenames in the dired screen, and is
	fully compatible with the GNU ls(1) command implementation, and
	its LS_COLORS (or LS_COLOURS) environment variable, although the
	support code is completely independent of the GNU code.

	* Add -m (monochrome) option to suppress file colorization.

	* In interactive mode, remember last search string, and re-use
	  it if the next search string that is input is empty.

	* Major code cleanup: prettyprint with indent to standardize the
	formerly extremely haphazard formatting, and alphabetize macro
	definitions and variable declarations.  Replace globals by
	locals when possible.  Make all MAXxxx symbols compile-time
	definable, and change MAX_xxx to MAXxxx for consistency.

	* Introduce Boolean typedef, since there were already a number
	of (inconsistent) uses of True and False in assignments, and
	make all flag variables Boolean instead of int.

	* Remove all calls to setbuf(), except one at the start of
	main(); ANSI/ISO Standard C permits the use of this function
	only before any input or output operation has been performed on
	the stream.  Although the old code had worked on many UNIX
	systems, it failed under GNU with the Linux kernel: the last
	display line was garbled until the setbuf() calls were removed.
	This change required the addition of a number of fflush(stdout)
	calls to ensure that the screen display is up-to-date.

	* Remove calls to low-level UNIX-specific
	open()/close()/read()/write() functions in the V4P2 sections to
	enhance portability.

	* Replace static allocation of file[] array by dynamic
	allocation, with new functions grow_file_array() and my_exit().
	This is more flexible, and also reduces the memory requirements
	for most runs, since the previous versions had 10K file entries,
	occupying about 4MB of memory.

	* The code sections selected by the V4P2 option are now the
	default, and that option is permanently defined in the Makefile.
	With the GNU autoconfigure system working nicely, and the
	program having been successfully installed on more than 100
	compiler-O/S combinations, I do not expect that the non-V4P2
	code will ever be needed again.

------------------------------------------------------------------------
Version 3.00:
	Skipped; an offshoot of the dired 2.x development used version
	numbers of 3.x.  Its features have been incorporated in 4.x,
	but with almost entirely new code.

------------------------------------------------------------------------
Release version 2.02:

Wed Dec 20 xx:xx:xx 1995  Nelson H. F. Beebe  <beebe@plot79.math.utah.edu>
	* dired.c: Change resignalling of Ctl-Z from SIGTSTP to
	SIGSTOP to eliminate infinite loop.

------------------------------------------------------------------------
Release version 2.01:

Sat Jun 24 10:53:09 1995  Nelson H. F. Beebe  <beebe@sunrise>


	* Makefile (sun-solaris): In machine-specific targets, make
	$(TARGETS) instead of all.  Add new flags, and new sun-solaris-gcc
	target with extensive GCCFLAGS settings for maximal error checking.

	* dired.c: Add ARGS() macro and Standard C prototypes for all
	functions. Change many char* pointers to const char*.  Do some
	local variable renaming to reduce shadowing of global variables.
	Add explicit typing of all function arguments.  Use HAVE_xxx
	preprocessor symbols to control inclusion of header files or
	features that are not universally available.  Rename TRUE/FALSE to
	True/False to avoid redefinition clashes with symbols in curses.h
	on several platforms.  Remove unused, and conflicting, typedef of
	bool.  Include additional header files for library function
	prototypes.   Make all file-local variables and functions static
	to reduce global name space pollution.  Change types of members
	lnl and lnum in struct lbuf from short to unsigned long, because
	modern file systems require that, and reorder the members to
	improve memory alignment.  Change non-standard varargs use of
	telluser() to fixed two-argument form.  Parenthesize some
	complicated expressions to improve readability.  Change dired's
	exit code to errcode, instead of 0.  Revise to make dirent-style
	directory processing the default, since most machines have it now.
	Capitalize a few function names (Getcap, Getch, Readdir, Rmdir,
	Select) to avoid conflicts with library functions in system header
	files.   Fix some printf() format items and arguments to remove
	length mismatches.   Add wait_arg_t generalization for NeXT systems.

	* cshsystem.c: Add wait_arg_t generalization for NeXT systems.

------------------------------------------------------------------------
Release version 2.00:

Thu Jun 22 10:14:28 1995  Nelson H. F. Beebe  <beebe@plot79.math.utah.edu>

	* regexpr.c: include string.h for function prototypes

	* dired.c (main()): allow empty regular expression in search to
	mean re-use last one.

	* dired.c (main()): add VERSION and -v option.

Wed Jun 21 17:36:11 1995  Nelson H. F. Beebe  <beebe@alfred.math.utah.edu>

	* dired.c (getfullpath()): make temp[] static, because its
	address is returned (gcc 2.6.3 with -O4 caught this long-standing
	bug).

Wed Jun 21 12:36:32 1995  Nelson H. F. Beebe  <beebe@alfred.math.utah.edu>

	* Makefile: Put quotes around $(OPT) to allow embedded spaces.

	* Makefile: Add -DV4P2 for sun.

	* Makefile: Add regexpr.* files.

	* dired.c (getline()): Recognize CR (\r) as end of line too; HP-UX
	returns \r instead of \n.

	* dired.c (main()): Reduce returned screen length by 1 to avoid
	use of status line on 25-line displays (e.g. in kermit,
	only the upper 24 are cleared).

	* dired.c (main()): Add input mappings of common ESCape sequences for
	arrow, PageUp, and PageDown keys.

	* dired.c (match()): Revise to use re_exec(), and add call to
	re_comp() in main() after /pattern has been collected.  This
	restores the long-missing filename pattern search capability in
	dired.

	* dired.c (getfullpath()): Try getenv() for "PWD" and "cwd" before
	calling getwd().

	* regexpr.c, regexpr.h: Add these new files to provide a portable
	solution to regular-expression parsing.

	* regexpr.c: In Standard C environment, include stdlib.h instead
	of using explicit declarations of library functions.

	* regexpr.c (re_compile_pattern()) : Add one typecast in
	comparison of int with unsigned char.


% /u/sy/beebe/src/dired/CHANGELOG, Fri Jan  6 23:46:31 1995
% Edit by Nelson H. F. Beebe <beebe@eve.math.utah.edu>

Add support for sorting by inode-change date.  Correct off-by-one
error that made half-screen divider line wrap because it was too long.
Make some minor typographical corrections in dired.1, and clarify
some if-then-else blocks in dired.c.

% /usr/local/src/dired/dired/CHANGELOG, Sat Nov  6 11:27:21 1993
% Edit by Nelson H. F. Beebe <beebe@sunrise>

Add support for ~, #, D, and U commands.  Correct grammar in help
file.  Remove a useless declaration in dired.c.

% /usr/local/src/dired/CHANGELOG, Tue Mar  2 08:29:27 1993
% Edit by Nelson H. F. Beebe <beebe@plot79.math.utah.edu>

Reduce full-screen display size by 1 to avoid loss of line
at top of screen.

% /usr/local/src/dired/CHANGELOG, Wed Jan  6 16:44:34 1993
% Edit by Nelson H. F. Beebe <beebe@plot79.math.utah.edu>

Add Makefile support for DEC Alpha AXP OSF/1.
Add OPT flag to all $(MAKE) lines in Makefile.

% /usr/local/src/dired/CHANGELOG, Tue Jan  5 17:18:39 1993
% Edit by Nelson H. F. Beebe <beebe@plot79.math.utah.edu>

Increase size of userbuf[] in dired.c, so that long lines in
/etc/passwd do not clobber data outside userbu[] in getname().

% /u2/mth/mthnhb/src/dired/CHANGELOG, Tue Dec 29 14:20:52 1992
% Edit by Nelson H.F. Beebe <mthnhb@snow.usi.utah.edu>

Add support for compilation on IBM PS/2 and IBM 370 AIX systems.
New convenience targets: aixps2 aix370.

% /usr/local/src/dired/CHANGELOG, Tue Dec 29 13:00:24 1992
% Edit by Nelson H. F. Beebe <beebe@eros.math.utah.edu>

Add support for compilation under ANSI/ISO Standard C and POSIX
terminal interface when BSD sgtty interface is unavailable, or
incomplete (e.g. for Silicon Graphics).  New convenience targets:
fips posix sgi stdc xpg3.

The Berkeley-style signal() returns the address of the current signal
handler which is used in cshsystem() to restore signal handling; the
ANSI/ISO Standard C and POSIX signal() does not return a value.

The choice between the two terminal interfaces is determined by the
HAVE_TERMIOS_H symbol; when it is defined, ANSI/ISO Standard C and
POSIX code (<termio.h>) will be used.  Otherwise, the Berkeley style
(<sys/sgtty.h>) will be used.

% /usr/local/src/dired/CHANGELOG, Sun Apr 19 10:49:29 1992
% Edit by Nelson H. F. Beebe <beebe@solitude.math.utah.edu>

Revise to make MOREPGM settable at compile time, as well as
at run time from PAGER environment variable.

% /usr/local/src/dired/CHANGELOG, Fri Apr 17 17:32:35 1992
% Edit by Nelson H. F. Beebe <beebe@magna.math.utah.edu>

Merge in separate IBM RS/6000 version into master sources.
Cleanup Makefile and add convenience targets for specific
systems.
Add Convex C1 and C2 support.
Put code under RCS control.

% /u/sy/beebe/src/dired/CHANGELOG, Tue Oct 22 12:58:05 1991
% Edit by Nelson H. F. Beebe <beebe@glab5.math.utah.edu>

Modify dired.c to reduce the screen height and width under DECstation
ULTRIX by 1 to avoid screen wrapping, and scrolling in full-window
mode.

/home/csc-sun/a/sy/beebe/src/dired/CHANGELOG, Fri Jun  7 15:47:48 1991
Edit by Nelson H.F. Beebe <beebe@glab1.math.utah.edu>

Add code in dired.c to use ioctl(...TIOCGWINSZ...) to try to get the
true window size; tgetent("li") returns the termcap setting on some
systems (e.g. ULTRIX), instead of the true current window size.

------------------------------------------------------------------------
Historical notes from older versions, previous recorded in now-discarded
files named NOTES and README.TOO:

[07-Jun-1991]
The original Unix version, unfortunately, contained numerous "bugs". I tried
to fix all that I could find.
Sanford Zelkovitz - Sysop XBBS ( Xenix BBS ) - 714-828-0288

[05-Mar-1984]
3/5/84  4.2 dired

These files represent a version of dired (the interactive directory editing
program written by Stuart Cracraft and enhanced by Jay Lepreau, posted over a
year ago) in which I've made a number of enhancements:

1) A command (E) to go UP from any node, including the starting node
2) "/" command, with reg expr pattern matching
3) Use of C shell in shell escapes
4) Ability to quit dired and be "pushd'd" to the current node ("Q").
5) Commands to print the full pathname of the current file and the current
   node.  This is also done automatically on startup of any node.
6) A command to abort all levels at once. ("A").
7) A visual indication of what fraction of the total files the current
   window represents.
8) Command to toggle between full and split screen modes.
9) Command to re-read the directory (R).
10) Can now be used on any terminal with random cursor addressing.
11) Several bug fixes.
12) Some additional minor fixes & enhancements since the version posted
    by me in November 83.


NOTES:

 0) This version has conditional compilation statements for generating a
   "standard" version or a 4.2 version.  The supplied makefile will generate
   the 4.2 version as is. Remove the -DV4P2 in the make to generate a
   standard version.

 1) The default shell for escapes is the "c" shell, and the "Q" command
 generates a "pushd" to the current dir node. If you don't have 4.1 or 4.2,
 remove the "Q" command", and signals to SIGTSTP.  If you don't have the "c"
 shell, omit the file "cshsystem.c", and change shell references back to
 "sh".


 2) It runs best on terminals which have "clear to end of line" and/or "clear
    to end of page", but will work, albeit poorly,
    on terminals w/o these functions, as long as the terminals have random
    cursor addressing. This version, like its predecessor, does not use
    "curses".

 3) Some known bugs: ^Z stuff does needs to be improved. Occasionally
    "t" ing out binary files will mess up the display, but this is less
    likely than before.

4)  These are some path names embedded in the dired source code
    (char dirednam and helpfile); modify these to suit local needs (as well
    as those mentioned in the manual page).


Charles Hill
Philips Labs
345 Scarborough Rd.
Briarcliff Manor, N.Y. 10510

[allegra,decvax,sdcsvax]!philabs!crh

@@@ gam Sun Apr  1  7:57:16 PM PST 1984 original version
