gno/bin/gsh/To.Do

45 lines
1.3 KiB
Plaintext
Raw Normal View History

Last updated: Dec. 27, 1998 By: Dave Tribby
Changes for gsh version 2.0d5: Add quotes around null parameters from the command line so they will be parsed properly (resolves PR#84). Output piped to an unfound command caused gsh to terminate, due to an interface change to the GNO 2.0.6 version of getpgrp(2): it now returns the process group of the caller. To get the process group number for the pid passed as a parameter pid, the call has to be made to _getpgrp(2). In addition to fixing invoke.asm, updates were also made in jobs.asm. When directory stack is full, pushd, reports a new error message: 'pushd: Directory stack full'. (Previously, 50 pushds would cause a crash.) When parameter passed to "pushd +n" is <= 0, report a new error message: 'pushd: Invalid number'. (Previously, tried to chdir to the parameter.) When a command appends to stderr (e.g., echo test >>&/tmp/err), stdin was closed, due to errappend being defined as pipefds+2 rather than pipefds+4 in cmd.asm. When there was an error reading stdin, gsh went into an infinite loop of beeping and requesting more input. Changed getchar (in stdio.asm) and GetCmdLine (in edit.asm) to report the error and terminate. Code in cmd.asm set and reset handler for signal SIGSTOP (17). This makes no sense, since there cannot be a handler for SIGSTOP. This was changed to set and reset signal SIGTSTP (18) since that handler is used by gsh. The error message "specify a command before redirecting" was never caught by the invoke() subroutine because the next higher routine, command(), checked for argv==0 before calling invoke(). The error message was moved into command().
1998-10-26 17:04:51 +00:00
For more bug reports, see http://www.gno.org/~gno/bugs.html
Completed items are reported in file UpdateLog.
Changes for gsh version 2.0d5: Add quotes around null parameters from the command line so they will be parsed properly (resolves PR#84). Output piped to an unfound command caused gsh to terminate, due to an interface change to the GNO 2.0.6 version of getpgrp(2): it now returns the process group of the caller. To get the process group number for the pid passed as a parameter pid, the call has to be made to _getpgrp(2). In addition to fixing invoke.asm, updates were also made in jobs.asm. When directory stack is full, pushd, reports a new error message: 'pushd: Directory stack full'. (Previously, 50 pushds would cause a crash.) When parameter passed to "pushd +n" is <= 0, report a new error message: 'pushd: Invalid number'. (Previously, tried to chdir to the parameter.) When a command appends to stderr (e.g., echo test >>&/tmp/err), stdin was closed, due to errappend being defined as pipefds+2 rather than pipefds+4 in cmd.asm. When there was an error reading stdin, gsh went into an infinite loop of beeping and requesting more input. Changed getchar (in stdio.asm) and GetCmdLine (in edit.asm) to report the error and terminate. Code in cmd.asm set and reset handler for signal SIGSTOP (17). This makes no sense, since there cannot be a handler for SIGSTOP. This was changed to set and reset signal SIGTSTP (18) since that handler is used by gsh. The error message "specify a command before redirecting" was never caught by the invoke() subroutine because the next higher routine, command(), checked for argv==0 before calling invoke(). The error message was moved into command().
1998-10-26 17:04:51 +00:00
Allow redirection of built-in commands' I/O even if they aren't forked.
Rather than have each built-in command always be either forked or
non-forked, check dynamically and only fork when it's really necessary
(background or piped).
Identify limits built into gsh and how they can be changed; for example,
command line cannot expand to > 1024 characters.
When a background process finishes and there's text in the input buffer,
the next keypress correctly reprints the edit line but the key itself does
not get put in the buffer.
Changes for gsh version 2.0d5: Add quotes around null parameters from the command line so they will be parsed properly (resolves PR#84). Output piped to an unfound command caused gsh to terminate, due to an interface change to the GNO 2.0.6 version of getpgrp(2): it now returns the process group of the caller. To get the process group number for the pid passed as a parameter pid, the call has to be made to _getpgrp(2). In addition to fixing invoke.asm, updates were also made in jobs.asm. When directory stack is full, pushd, reports a new error message: 'pushd: Directory stack full'. (Previously, 50 pushds would cause a crash.) When parameter passed to "pushd +n" is <= 0, report a new error message: 'pushd: Invalid number'. (Previously, tried to chdir to the parameter.) When a command appends to stderr (e.g., echo test >>&/tmp/err), stdin was closed, due to errappend being defined as pipefds+2 rather than pipefds+4 in cmd.asm. When there was an error reading stdin, gsh went into an infinite loop of beeping and requesting more input. Changed getchar (in stdio.asm) and GetCmdLine (in edit.asm) to report the error and terminate. Code in cmd.asm set and reset handler for signal SIGSTOP (17). This makes no sense, since there cannot be a handler for SIGSTOP. This was changed to set and reset signal SIGTSTP (18) since that handler is used by gsh. The error message "specify a command before redirecting" was never caught by the invoke() subroutine because the next higher routine, command(), checked for argv==0 before calling invoke(). The error message was moved into command().
1998-10-26 17:04:51 +00:00
Gsh requires the v2.0.4 ltermcap to link. A new version of the termcap
library is proposed for GNO v2.0.6, and gsh may require updates.
job control monitor for defunct processes when waiting.
job control needs to save tty information.
Allow ~user construct (call routines to get user's home directory)
recursive aliases.
In expandvars (expand.asm):
Add error checking if out buf gets too big (> 1024)
Get rid of fixed buffers
[ -- below this line...probably never will be done -- ]
write new memory management.
coolish handling of setdebug by editor.
echo should use octal and hex \12 is dec, \012 is octal, \x12 is hex.
write history expansion.