4.2 BUGLIST, Part 1 of 10
Vance Vaughan
vance at mtxinu.UUCP
Tue Nov 6 10:43:46 AEST 1984
4.2 BUGLIST ABSTRACTS from MT XINU, part 1 of 10:
The following is part of the 4.2 buglist abstracts as processed by
Mt Xinu. The initial line of each abstract gives the offending
program or source file and source directory (separated by --),
who submitted the bug, when, and whether or not it contained
a proposed fix. Due to license restrictions, no source is
included in these abstracts.
Important general information and disclaimers about this and
other lists is appended at the end of the list...
adb/runpcs.c--bin rws at mit-bold (Robert W. Scheifler) 18 Nov 83 +FIX
When using adb,
:r foo bar foobar bletch
ends up passing "foo ar oobar letch" as arguments.
REPEAT BY:
adb /bin/echo
:r foo bar bletch
_______________________________________________________________________________
ar.c--bin salkind at nyu (Lou Salkind) 10 Feb 84 +FIX
If you try to archive a file with a uid or gid greater than
32K, ar will fail when you try to read the archive back in.
You will get the message "Malformed archive."
REPEAT BY:
mkdir f
chgrp 50000 f
cd f
cp /etc/passwd f
ar r f.a passwd
ar t f.a
FIX:
When the file header is written out, cast the uid and gid to an
unsigned short. "diff ar.c.dist ar.c" follows:
510,511c510,511
< stbuf.st_uid,
< stbuf.st_gid,
---
> (u_short)stbuf.st_uid,
> (u_short)stbuf.st_gid,
_______________________________________________________________________________
arff.c--etc salkind at nyu (Lou Salkind) 17 Nov 83 +FIX
"arff x" will only extract files in the first segment of a multiply
segmented RT-11 filesystem. (All the other commands seem to work
properly, though.)
REPEAT BY:
Try "arff x" on a floppy with more than one directory
segment (such as our VMS boot floppy). Watch it break.
_______________________________________________________________________________
as--bin Bob Brown <rlb at RIACS.ARPA> 31 May 84 +FIX
The .fill pseudo-op fills in the requested amount of data but
does not increment the location assignment counter on pass two,
causing the locations (r_address) in the relocation_info table
to be wrong.
REPEAT BY:
Assemble a program that contains a relocatable symbol after a
.fill statement - the loader will relocate the wrong word:
.globl foobar
.data 0
here: .fill 8,4,0
addr: .long foobar
This will result in the first longword at symbol "here" to be
relocated by the amount that should have been added to the
longword at symbol "addr" and the longword at "addr" will not be
relocated at all.
_______________________________________________________________________________
as--bin Steve Draper <draper at nprdc> 25 Mar 84
If I have a buggy program which redefines a variable (see attached short demo)
the message comes from the assembler, referring to a line number in a file
that is deleted by cc, and NOT giving the name of the symbol in question.
This happens, with different wording, on both vax 4.2, and Sun 1.0.
The compiler should surely catch this and give a more intelligible message.
As it is, the user has to understand that "as:" means assembler, know how to
generate a .s file, rerun cc to do that, and then edit the .s file to turn the
line number into the symbol name. Clearly not a step toward a high-level
programming language environment.
REPEAT BY:
---------------------------------------
#include <stdio.h>
char *help = "hallo";
char *help;
main(argc, argv)
unsigned int argc; char *argv[];
{
return(0);
}
_______________________________________________________________________________
as--bin Hans Boehm <boehm at rice.ARPA> 8 Sep 84
The use of multiple text segments appears to prevent jeql and similar
instructions from being expanded correctly all the time. It
generates "Branch too far" messages with all conceivable assembler
options, even when the branch and destination are clearly less than
1K apart (and in the same segment).
REPEAT BY:
The assembly program which is known to exhibit this behaviour is
approximately 1400 lines long, and available on request.
_______________________________________________________________________________
as.c--bin cbosgd!mark (Mark Horton) 6 Jun 83
When the enclosed program is compiled with -g, e.g.
cc -c -g y.c
I get the message from as:
/tmp/ctm000000: line 00 CM expected
(The numbers in the error message are actually correct.)
The line in question contains a symbol table entry for
the structure - one very long line.
REPEAT BY:
cc -c -g y.c
where y.c is:
/*
* This program, when compiled with -g, produces a syntax error
* message from the 4.1c assembler. It apparently has too many fields
* for something in the fancy symbol table line it outputs, or
* else an fgets is done with too small a buffer. This program
* (and a similar one with 3 times as many fields) compiled fine
* with and without -g on 4.1BSD.
*/
typedef char *charptr;
struct strs {
charptr
Back_tab,
Bell,
Carriage_return,
Change_scroll_region,
Clear_all_tabs,
Clear_screen,
Clr_eol,
Clr_eos,
Column_address,
Command_character,
Cursor_address,
Cursor_down,
Cursor_home,
Cursor_invisible,
Cursor_left,
Cursor_mem_address,
Cursor_normal,
Cursor_right,
Cursor_to_ll,
Cursor_up,
Cursor_visible,
Delete_character,
Delete_line,
Dis_status_line,
Down_half_line,
Enter_alt_charset_mode,
Enter_blink_mode,
Enter_bold_mode,
Enter_ca_mode,
Enter_delete_mode,
Enter_dim_mode,
Enter_insert_mode,
Enter_secure_mode,
Enter_protected_mode,
Enter_reverse_mode,
Enter_standout_mode,
Enter_underline_mode,
Erase_chars,
Exit_alt_charset_mode,
Exit_attribute_mode,
Exit_ca_mode,
Exit_delete_mode,
Exit_insert_mode,
Exit_standout_mode,
Exit_underline_mode,
Flash_screen,
Form_feed,
From_status_line,
Init_1string,
Init_2string,
Init_3string,
Init_file,
Insert_character,
Insert_line,
Insert_padding,
Key_backspace,
Key_catab,
Key_clear,
Key_ctab,
Key_dc,
Key_dl,
Key_down,
Key_eic,
Key_eol,
Key_eos,
Key_f0,
Key_f1,
Key_f10,
Key_f2,
Key_f3,
Key_f4,
Key_f5,
Key_f6,
Key_f7,
Key_f8,
Key_f9,
Key_home,
Key_ic,
Key_il,
Key_left,
Key_ll,
Key_npage,
Key_ppage,
Key_right,
Key_sf,
Key_sr,
Key_stab,
Key_up,
Keypad_local,
Keypad_xmit,
Lab_f0,
Lab_f1,
Lab_f10,
Lab_f2,
Lab_f3,
Lab_f4,
Lab_f5,
Lab_f6,
Lab_f7,
Lab_f8;
};
main()
{
}
_______________________________________________________________________________
atrun.c--usr.lib hpda!hpdsd!hpdsa!mojo (Joe Moran) 14 Feb 84 +FIX
When atrun is used to run a shell script created by at(1),
it sets the uid and gid to that of the file ownership.
Because initgroups(3X) is not used to set all the access
groups that the original user had access to, the command
can fail if you must belong to multiple groups to execute
the "cd" or other commands.
REPEAT BY:
If you belong to multiple access groups and the directory
you are in when executing at(1) is rwxrwx--- and the group
is one which is in your access group, but not your "primary"
group as determined by /etc/passwd, the at(1) command will
run successfully. However, when atrun is used to execute
the command the will fail to be executed but no errors messages
will be apparent. The file created by at(1) will then be removed.
This happens because the "cd" to the directory in which at(1)
was orginally run will fail because atrun does not initial
all the access groups from /etc/group.
_______________________________________________________________________________
awk--bin sun!shannon (Bill Shannon) 9 Dec 83 +FIX
Awk doesn't allow you to replace fields. This bug was
introduced when the indirect-through-zero bugs in awk
were fixed.
REPEAT BY:
The following command
echo 1 2 3 | awk '{$1 = NF; print}'
should give
3 2 3
if it works.
If it's broken it will give
1 2 3
_______________________________________________________________________________
awk--usr.bin James Larus <jlarus at bbn-vax> 13 Jul 84
awk does not properly concatenate a pair of strings passed to the
function substr.
REPEAT BY:
% cat t.awk
{print "'" substr($1 " ", 1, 8) "'"}
% cat t.d
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
% awk -f t.awk < t.d
'a ' <- all strings should be 8 chars
'ab '
'abc '
'abcd '
'abcde '
'abcdef '
'abcdefg '
'abcdefgh'
'abcdefgh'
But it works with a variable, rather than a concatenation
% cat t.awk
{x = $1 " "
print "'" substr(x, 1, 8) "'"}
% cat t.d
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
% awk -f t.awk < t.d
'a '
'ab '
'abc '
'abcd '
'abcde '
'abcdef '
'abcdefg '
'abcdefgh'
%
_______________________________________________________________________________
backgammon--games brownell at harvard.ARPA (Dave Brownell) 22 Aug 84
Recognizes DEL/RUBOUT directly, instead of checking which
character is USED for interrupt. VERY annoying -- I've
never worked on a UNIX system where DELETE is really the
standard interrupt character, and as it stands I get knocked
out of backgammon whenever I make a typo and try to correct it.
REPEAT BY:
% stty intr ^c quit ^b erase '^?'
% backgammon
(hit DELETE)
FIX:
ioctl() call to get local editing characters, and then compare
against the INTR character rather than DEL.
_______________________________________________________________________________
c2--lib chris at maryland (Chris Torek) 6 Aug 84 +FIX
1) c2 incorrectly converts ``extv'' and ``extzv'' instructions
(to mov's) that occur in word 1 (extzv $16,$16,...).
2) c2 mangles certain movz and cvt instructions which are
followed by bic's and then branches.
REPEAT BY:
1) run /lib/c2 over this input:
extv $16,$16,_a,_a
extzv $16,$16,_b,_b
c2 will convert them to movwl and movzwl's that reference
_a+1 and _b+1 (instead of _a+2 and _b+2)
2) run /lib/c2 over this input:
.globl _main
_main:
.word 0
jbr L26
L15:
movzwl (r6)+,r0
bicl2 $-65536,r0
jeql L16
calls $0,_foo
L16:
ret
L26:
jbr L15
It will put out an extzv instruction, which increments
r6 by the wrong amount (4 instead of 2). There are other
things that can go wrong here, too; this is just one of
a set.
_______________________________________________________________________________
c2--lib Vincent Broman <broman%BUGS at Nosc> 21 Sep 84
The c2 optimizer mungs up the label placement in the code in
the next paragraph. This is the minimum error-causing example
from a long winnowing process. Cause of error, unimaginable.
REPEAT BY:
compare the assembler output from pc -S -O for the following procedure,
with and without the optimizer on.
{------------------------------------------}
procedure badoptim(a: integer; q: boolean);
begin
q := false;
if a > 0 then
q := true
else
q := false;
if q = true then {ends up in the else clause}
a := 4
end;
{------------------------------------------}
or do the same experiment with cc -S -O on this.
/*--------------------*/
badoptim(a,q)
int a;
char q;
{
q = 0;
if (a > 0)
q = 1;
else
q = 0;
if (q == 1) /*ends up in the else clause*/
a = 4;
}
/*--------------------*/
the error disappears if the unnecessary 'q := false;' is removed,
or if 'if q = true then' is replaced by 'if q then',
or if any innocuous statement is inserted before the 'if q'.
UUCP: sdcsvax!noscvax!broman Vincent Broman
ARPA: broman at nosc Naval Ocean Systems Center, code 632
Phone: (619) 225-2365 San Diego, CA 92152
_______________________________________________________________________________
c2/c21.c--lib Vincent Broman <broman%BUGS at Nosc> 26 Sep 84 +FIX
This is a followup on my previous bug report.
c2 keeps track to some extent of the contents of the registers
and of one other variable (source string) with a known constant value.
(i.e. conloc/conval). The address described by conloc may be
rewritten without rmove() properly noting the change. e.g.
REPEAT BY:
Run c2 on the following code, noting that it combines the jump
to a compare-and-jump into one jump because it assumes that _a
is still 0 arriving at L2, despite the previous "cvtlb $1,_a" .
Essentially, the second "if" statement ends up inside the first
"else" clause.
.text
.align 1
_optim: .word 0x0
clrb _a
tstl _b
jleq L1
cvtlb $1,_a
jbr L2
L1: bicl3 sp,$-2,_a
L2: cmpb _a,$1
jneq L3
movl $4,_b
L3: ret
_______________________________________________________________________________
c2/c21.c--lib root.Oregon-Grad at Rand-Relay 4 Nov 83
The C object-code improver /lib/c2 for VAXes generates
incorrect code for source of the type:
int i;
double x;
i = ((int) x) & 03777;
The conditions for creating the erroneous code are that a
double (or float) is converted to int, then and'd with a mask
(03777 in this case) which must be a power of 2 minus 1; i.e.,
in binary, contiguous 1's starting at bit 0 (LSB).
/lib/c2 replaces this correct code:
cvtdl _x,r0
bicl2 $-2048,r0
movl r0,_i
with this incorrect code:
extzv $0,$11,_x,_i
The optimization, which would be correct for int x, is to
replace the bic with extraction of bits when the mask meets the
conditions mentioned above. However, the incorrect code
apparently ignores the fact that _x and r0 in the cvtdl
instruction are not the same.
REPEAT BY:
At the end of this report are the source files, delimited by
"=======", for the examples below. Compile and run the C source
as shown below; it will print out incorrect numerical results
when compiled with the -O flag.
Correct results without -O flag:
% cc maskbug.c
% a.out
32.000000 == 32
Incorrect results with -O flag:
% cc -O maskbug.c
% a.out
32.000000 == 768
For a simplified demonstration, the three lines of correct
assembler code shown above may be filtered through /lib/c2:
% /lib/c2 maskcode.s
extzv $0,$11,_x,_i
Results are the same with the 4.1, 4.1c, and 4.2 versions of
/lib/c2.
The c2 code involved is in the file /usr/src/lib/c2/c21.c, in
the routines bflow(), bicopt(), and bixprep().
Bruce Jerrick
Oregon Graduate Center
(503) 645-1121 ex. 355
CSNet: bruce at Oregon-Grad
UUCP: ...teklabs!ogcvax!bruce
=========== maskbug.c =============
/* This gives incorrect value of i when compiled with -O .
Problem exists on VAX 4.1, 4.1c and 4.2 .
*/
double x = 32.0; /* or float */
int i;
main()
{
i = ((int) x) & 03777;
printf("%f == %d\n", x, i);
}
===================================
=========== maskcode.s ============
cvtdl _x,r0
bicl2 $-2048,r0
movl r0,_i
===================================
_______________________________________________________________________________
calendar--usr.bin ihnp4!garfield!andrew (Andrew Draskoy) 5 May 84 +FIX
Calendar doesn't recognize tabs as valid white space,
which can cause wrong dates to be recognized as valid.
REPEAT BY:
Put a line like:
month<tab>number
in a file called calendar in the current directory,
where number is the current day of the month, with an extra
digit or two prepended to it. Run /bin/calendar, and the
line will be printed out, even though it shouldn't be.
_______________________________________________________________________________
canfield--games brownell at harvard.ARPA (Dave Brownell) 22 Aug 84
Canfield does not correctly run through the hand. After one
pass through the hand, I am supposed to have seen every card
in it. On the contrary, I have frequently gotten new base
cards on the foundation on the third or fourth pass through
the hand.
Also, the tableau is supposed to be shown THREE cards at a
time. No fair saying I owe $3 each time ... the last time
I read Hoyle, it gave MARKEDLY different rules for the game
than this program enforces.
REPEAT BY:
Try playing it!!!!
_______________________________________________________________________________
catman--etc ucsfcgl!blia!eric (Eric Allman) 22 Feb 84 +FIX
The command "/etc/catman l" silently does nothing.
This is because catman insists that all names be *.[0-9]
followed by an optional letter.
REPEAT BY:
rm -f /usr/man/catl/*
/etc/catman l
ls /usr/man/catl
The ls will show that /usr/man/catl is still empty.
_______________________________________________________________________________
cc--bin weemba at ucbbrahms (Matthew P. Wiener) 26 Aug 84
The C compiler always defaults to the old syntax. There is no
way of the user turning this off.
REPEAT BY:
compile the following:
main()
{ int x,*p;
scanf("%d",p);
x=*p;
}
_______________________________________________________________________________
cc--bin M. Satyanarayanan <cmuitca!satya at cmu-cs-h.arpa> 21 Jul 84
An assignment of the form a = b, where a and b are both pointers
to functions returning void causes the C compiler to indicate an
error. A similar assignment, using functions returning int
works.
REPEAT BY:
#include <stdio.h>
#ifdef BUG
typedef void bad;
#else
typedef int bad;
#endif
extern bad (*rpcEpilogue)();
bad myEpilogue();
main()
{
rpcEpilogue = myEpilogue;
}
bad myEpilogue()
{
}
_______________________________________________________________________________
cc--bin Mike Braca <mjb%Brown at UDel-Relay> 27 Sep 83
The C compiler incorrectly casts unsigned bit fields (it forgets
they're unsigned).
REPEAT BY:
Compile and run the following program:
-----
main() {
struct { unsigned int field:16 } bit;
unsigned short hword;
hword = bit.field = 60000;
printf("bits = %d, %d\n", bit.field, (int) bit.field);
printf("hword = %d, %d\n", hword, (int) hword);
}
-----
It produces as output:
-----
bits = 60000, -5536
hword = 60000, 60000
-----
I say all the values should be 60000.
_______________________________________________________________________________
cc--usr.lib edhall at randvax.ARPA (Ed Hall) 11 Jan 84 +FIX
When assignement operators such as *= are used with an integer
Left-Hand Side and a floating-point expression on the Right-
Hand Side, results are incorrect. For example:
int i = 6;
i *= .5;
leaves a value of 0 in i, rather than 3. The +=, -=, and /=
operators are similarly affected.
This bug may affect all pre-5.0USG C compilers, and perhaps earlier
5.0USG compilers as well. The below fix only works for PCC-derived
compilers (such as the BSD VAX C compiler).
REPEAT BY:
Conversion of RHS of assignment to type of LHS before application
of the operator.
_______________________________________________________________________________
cc--bin Preston Mullen <mullen at NRL-CSS> 12 May 83
If i is declared as "unsigned" then the compiler evaluates
(int)(i % 19) as ((int)i) % 19. This is at best
counterintuitive and at worst incorrect if i is such that
((int)i) < 0. Of course, "19" is not a magic value --
I imagine any int will do.
I find it hard to believe that the vague caveats in "The
C Programming Language" about order of expression evaluation
can justify this completely counterintuitive interpretation.
The cast operator (unsigned) is not distributive over % and
should not be treated as if it were.
REPEAT BY:
Look at the results of and code generated for the following
program.
/* test program to demonstrate the problem */
main() { unsigned int x; int r;
x = 2269620549;
printf("x\t\t%u\toctal %o\n",x,x);
printf("x%%19\t\t%u\n",x%19);
printf("(int)(x%%19)\t%d\n",(int)(x%19));
printf("(int)x\t\t%d\toctal %o\n",(int)x,(int)x);
printf("((int)x)%%19\t%d\n",((int)x)%19);
r = (int)(x%19);
printf("\nAfter r=(int)(x%%19);\n");
printf("r\t\t%d\n",r);
r = x % 19;
printf("\nAfter r=x%%19;\n");
printf("r\t\t%d\n",r);
x %= 19;
printf("\nAfter x%%=19;\n");
printf("x\t\t%u\n",x);
printf("(int)x\t\t%d\n",(int)x);
}
(end of message)
_______________________________________________________________________________
cfscores--games brownell at harvard.ARPA (Dave Brownell) 22 Aug 84
Some info printed out by cfscores is not initialized, or is
stored as garbage. Runs, information, and think-time are
reported as HUGE numbers.
REPEAT BY:
Play a game of canfield, then run 'cfscores'.
_______________________________________________________________________________
cfscores.c--games chris at gymble (Chris Torek) 9 Sep 84 +FIX
cfscores will, if the user ID for which it is looking is past
the last one in the score database, do odd things.
REPEAT BY:
Run cfscores -a on a machine other than a Vax, for example.
_______________________________________________________________________________
changes.4-81--man ogcvax!root Jun 24 83 +FIX
The version of /usr/man/man0/changes.4-81 that was distributed
with 4.1c (as of Feb 13 01:11) seems to have regressed to
a version that contains errors that were not in the version
distributed with 4.1 (as of Sep 1981).
REPEAT BY:
Do a diff between the version distributed with 4.1 and that
recently distributed with 4.1c. Many typos, etc. are back
in the 4.1c version.
The two versions can readily be distinguished as follows:
4.1 (good) version contains the string "Understand".
4.1c (bad) version contains "versteht".
FIX:
Replace /usr/man/man0/changes.4-81 with the version distributed
with 4.1 circa Sep 1981.
--------------------------------
Bruce Jerrick
Oregon Graduate Center
(503) 645-1121 ex. 355
CSNet: bruce at Oregon-Grad
UUCP: ...teklabs!ogcvax!bruce
_______________________________________________________________________________
compact--ucb allegra!rdg Jul 2 83 +FIX
(1) Compact will fail to compact a file and abort producing a core
file without explanation when large (greater than 4.7 Mbyte) files
are compacted.
(2) Even when compact succeeds, it exits with a non-zero exit code.
(3) Signals may cause both the compacted and uncompacted files to
disappear.
REPEAT BY:
compact large_file
_______________________________________________________________________________
compact--ucb Mike Braca <mjb%Brown at UDel-Relay> 27 Sep 83 +FIX
compact and uncompact complain about filenames exceeding 14 chars.
REPEAT BY:
Try typing "compact thisisafilewithaverylongname"
_______________________________________________________________________________
compat--games salkind at nyu (Lou Salkind) 7 Dec 83
Many many problems with compat:
(1) floating point doesn't work
(2) environment not passed correctly
(3) old style directories not supported
REPEAT BY:
Try running the following in compatability mode
(1) cc (with a file which has floating point code)
(2) printenv
(3) ls
FIX:
If you want a much better compat, contact me. I use it alot
for one application around here.
_______________________________________________________________________________
config--etc watrose!arwhite (Alex White) 14 Dec 83 +FIX
config blows up if you try to use wildcarded unibus drive numbers.
REPEAT BY:
Use something like
device ra0 at uda? drive ?
Mind you, it won't do much good unless you have a driver which can
figure out drive numbers, as for the uda. I have such a driver if
you want it.
_______________________________________________________________________________
cp--bin Mike Braca <mjb%Brown at UDel-Relay> 27 Sep 83 +FIX
cp does not close files on errors. If you get more than 17
errors it craps out with "too many open files".
REPEAT BY:
Go to a directory with more than 17 files. Type "cp * ."
You get 17 "cannot copy file to itself" messages, then
cp dies.
_______________________________________________________________________________
cpp/cpp.c--lib kalsow at wisc-crys.arpa (Bill Kalsow) 19 Sep 84 +FIX
It would often be handy to define macros that could intelligently
handle missing arguments. I would like to see a predefined macro,
'ifmissing' with 3 arguments. If the first argument was missing,
the second argument would be the macro's value. If the first
argument was present (ie. a non-null string) the third argument
would be the macro's value. This capability is not present in
cpp, nor is it constructable from the cpp primitives.
_______________________________________________________________________________
cpp/cpp.c--lib Spencer W. Thomas <UTAH-GR.thomas at utah-cs> 27 Apr 83 +FIX
Line numbers on compiler error messages (sometimes) do not
match the line actually in error. Usually the reported line
numbers are too big.
REPEAT BY:
Run this input through cc (without the line numbers):
1 #define twice(a) a;a
3 main()
4 {
5 int a;
6 twice(a =
7 0);
8 while;
9 }
Cc produces the following error message:
"tmp.c", line 9: syntax error
Note that the message has the wrong line number. Inserting a
#if 0, #endif pair will cause the line number to be even
further off (because the preprocessor has seen 3 newlines while
expanding the macro).
_______________________________________________________________________________
creat--man Jay Lepreau <lepreau at utah-cs> 25 Apr 83 +FIX
Since ancient history, the man entry for creat(2) has included
the outright lie that creat is a good form of locking. This
continues to lead users astray (it fails for the super-user,
of course). That paragraph remains in the current creat(3) entry
on monet.
REPEAT BY:
man creat
FIX:
Get rid of that stupid paragraph and substitute references to link(2)
and flock(2) for locking.
_______________________________________________________________________________
cribbage--games smith at wisc-rsch (Jim Smith) 7 Dec 83
When counting hands, flushes are not counted (neither 4 or 5 flushes).
This results in not only losing the points for the flush but in
a penalty of two additional points which is particularly vexing.
REPEAT BY:
Playing cribbage, throwing cards into the crib at the first opportunity
to form a flush.
_______________________________________________________________________________
csh--bin Mike Braca <mjb%Brown at UDel-Relay> 3 Oct 83 +FIX
Earlier I submitted a bug report saying that "unlimit datasize"
and "unlimit stacksize" don't work because you get a "not owner"
error, and I suggested that the problem should be corrected in
the kernel, /sys/sys/kern_resource.c . This is, of course, wrong,
and I hereby retract that particular report. I now contend that
the semantics of the csh unlimit command should be bent a bit
instead. Instead of trying to set the limits to RLIM_INFINITY
I think you should set the "soft" limit (rlim_cur) to the
"hard" limit (rlim_max).
REPEAT BY:
Type "unlimit stacksize". Watch error message appear.
FIX:
Change csh to use rlim_max instead of RLIM_INFINITY for an
"unlimit" or "limit xxx unlimit" command. Sorry I can't be
more specific, but I already made the change in the kernel.
_______________________________________________________________________________
csh--bin leblanc at ucbdali (Emile LeBlanc) 15 Mar 84
Giving the command "history -<arg>", where <arg> is anything, to the
csh causes an infinite loop. It can be easily interupt'ed however.
REPEAT BY:
Type the following (to the cshell):
history -a (anything after a "-" seems to work)
and it hangs there.
_______________________________________________________________________________
csh--bin edjames at ucbcory (Ed James) 5 Oct 83
Foreach, while and if statements work with no difficulty when run
from scripts. However, the if statement, when run interactively,
simply does not work, as the other functions do.
REPEAT BY:
% if (1) then
%
_______________________________________________________________________________
csh--bin ralph (Ralph Campbell) 23 May 83
The command `sleep 10 && sleep 5 &' will create a non-interruptable
non-suspendable pipeline which is not run in background. I can
reliably reproduced the problem. It seems to fail if (any) other
commands besides sleep are used.
REPEAT BY:
type `sleep 10 && sleep 5 &'
_______________________________________________________________________________
csh--bin ralph (Ralph Campbell) 25 May 83
The C shell quits silently if the parent directory (or anything back to the
root) isn't readable when it starts up (and if it isn't a login shell). This
can happen when you su to someone who can't read your working directory; the
su fails silently.
Here's why:
The Cshell's dinit() calls getwd() (defined in /usr/src/libc/libjobs/getwd.c),
which notices the problem, writes an error message to file descriptor 2, and
exits. However, file descriptor 2 is closed by initdesc() before getwd()
acts. The whole thing is a mess because you're trying to be compatible with
version 5 on up with respect to file descriptors, so I daren't suggest a fix.
_______________________________________________________________________________
csh--bin csuf!dav at trw-unix.UUCP 19 May 83
We have found the following bug in csh:
Each case in a switch appears to REQUIRE a breaksw after it.
We are unable to set up multiple cases for a single block of code:
csh complains of "case: too many arguments.".
{trw-unix,ucivax}!csuf!dav
David L. Markowitz
System Manager, Rockwell International
_______________________________________________________________________________
csh/sh.glob.c--bin Christopher A Kent <cak at arthur.ARPA> 17 Oct 83 +FIX
If the user has non-standard histchars, a glob expansion
involving those characters always fails.
REPEAT BY:
unset histchars
set histchars = ',;'
cp /dev/null \,foo
echo \,*
FIX:
RCS file: RCS/sh.glob.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
357c357
< if (c != scc)
---
> if ((c & TRIM) != scc)
_______________________________________________________________________________
ctags--ucb steveg at ucbic (Steve Greenberg) 18 Oct 83
In creating the regular expression to search for
CTAGS does not put a \ in front of any [ that may be in the string.
This causes the regular expression analyzer to interpret the [ as a
meta-character.
REPEAT BY:
Run CTAGS on a file with a define in it so that it produces a line
like the following:
SIG ../dev/nets.c /^#define SIG(var,i) net->buf[i].var$/
FIX:
CTAGS should be fixed to create the line like the following:
SIG ../dev/nets.c /^#define SIG(var,i) net->buf\[i].var$/
_______________________________________________________________________________
ctype.h(3)--man sjk at SRIJOYCE (Scott J. Kramer) 16 Jun 83 +FIX
The manual claims that "isprint" includes space ...
isprint c is a printing character, code 040(8)
(space) through 0176 (tilde)
But the macro definition doesn't include space ...
#define isprint(c) ((_ctype_+1)[c]&(_P|_U|_L|_N))
REPEAT BY:
Obvious.
FIX:
Change the macro or change the manual, probably the latter.
scott
_______________________________________________________________________________
curses--usr.lib decvax!popvax!neilr 15 May 84 +FIX
In curses, there is an improperly terminated loop which seems
to appear only on terminals with < 24 rows.
It has been a couple of weeks since I fixed it; I have
forgotten exactly *why* it occurs.
REPEAT BY:
run 'talk' on a vt100 terminal with vt100-s TERM
you will get a core dump;
_______________________________________________________________________________
curses--usr.lib mazama!stew (Stewart Levin) 29 Jun 84 +FIX
I tried to use an interactive graphics display program
with data to be plotted piped through standard input
out of a windowing filter. The program failed. A gcore
dump revealed it was looping indefinitely within a subroutine
that called wgetch() to read a character from the terminal.
Examining the source for libcurses I found that wgetch() was
using the stdio macro getchar(). The plot program was thereby
being fed a few megabytes of binary data as if they were characters
typed from the control terminal.
The initscr() command searches around through file descriptors
to find one that references a tty (trying file descriptor 2 first)
and places that info in the external variable _tty_ch for use by
other routines. I find that some but not all of the curses routines
use this file descriptor.
REPEAT BY:
Use a curses program to read screen input when stdin is redirected.
For that matter, use curses to write screen output when stdout is
redirected.
FIX:
Change the body of _putchar() in cr_put.c to:
char byte = c;
write(_tty_ch,&byte,1);
Change all occurences of putchar(...) in refresh.c and scroll.c
to _putchar(...)
Change "inp = getchar()" in getch.c to "read(_tty_ch,&inp,1)"
To pass muster with lint, you should have _putchar return an
integer just as putchar() does. Also, the returned value of
read and write should be checked for I/O errors.
_______________________________________________________________________________
curses--usr.lib root%wisc-spool.uwisc at wisc-crys.ARPA 4 Apr 84 +FIX
When using a termcap with a large number of columns (e.g. 132
instead of 80) wrefresh() of the curses package will sometimes
try to update beyond the end of it's screen if the old and new
screens are very similar. A good example is starting up talk.
The problem is that the makech() procedure in refresh.c does
not check to see if it ran off the end of its window in one
case.
REPEAT BY:
Use a termcap with a large number of columns (132 column mode
is what I used). Run 'talk'. A 'segment violation' should be
produced.
_______________________________________________________________________________
curses/cr_tty.c--usr.lib cbosgd!mark (Mark Horton) 19 Jul 83 +FIX
The size of the array tspace is too small.
Any program that uses this curses will dump core when
run on a moderately complex terminal (the Ann Arbor
Ambassador is an example).
REPEAT BY:
Run any curses program (e.g. /usr/games/mille) on a
fancy aaa termcap entry, e.g. aaa-30-s-rv-ctxt.
FIX:
Increase the size of tspace from 128 to AT LEAST 256.
I recommend even more room - 512 should be plenty.
In testing this, try it on ALL the aaa entries. I
think the version of termcap you have has some entries
that are too big in another dimension - the array
passed to tgetent is 1024 bytes, yet some aaa entries
are > 1024. I have a fixed termcap for this which
I am enclosing. It duplicates some info to make them
all fit. These aaa entries are the most recent aaa
termcap I have - I don't maintain a current termcap
anymore since we have switched to terminfo.
Mark Horton
NA|aaa-unk|ann arbor ambassador (internal - don't use this directly):\
:cr=^M:do=^J:nl=^J:bl=^G:al=3\E[L:am:le=^H:bs:\
:cd=\E[J:ce=5\E[K:cl=156\E[H\E[J:cm=\E[%i%d;%dH:co#80:\
:dc=4\E[P:dl=3\E[M:ho=\E[H:ic=4\E[@:\
:md=\E[1m:mr=\E[7m:mb=\E[5m:mk=\E[8m:me=\E[m:\
:ku=\EM:kd=\ED:kl=\E[D:kr=\E[C:kh=\E[H:ko=cl,dc,dl,ce,cd:\
:ks=\EP`?z~[H~[[J`>z~[[J`8xz~[M`4xz~[[D`6xz~[[C`2xz~[D\E\\:\
:ke=\EP`?y~[H~[[J`>y~[[2J`8xy~[M`4xy~[[D`6xy~[[C`2xy~[D\E\\:\
:ch=\E[%i%d`:\
:ul:ei=:im=:pt:bw:bt=\E[Z:\
:mi:nd=\E[C:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m:up=\EM:
NB|aaa-18|ann arbor ambassador/18 lines:\
:ti=\E[2J\E[18;0;0;18p:te=\E[60;0;0;18p\E[18;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;18p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#18:tc=aaa-unk:
NC|aaa-20|ann arbor ambassador/20 lines:\
:ti=\E[2J\E[20;0;0;20p:te=\E[60;0;0;20p\E[20;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;20p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#20:tc=aaa-unk:
ND|aaa-22|ann arbor ambassador/22 lines:\
:ti=\E[2J\E[22;0;0;22p:te=\E[60;0;0;22p\E[22;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;22p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#22:tc=aaa-unk:
NE|aaa-24|ann arbor ambassador/24 lines:\
:ti=\E[2J\E[24;0;0;24p:te=\E[60;0;0;24p\E[24;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;24p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#24:tc=aaa-unk:
NF|aaa-26|ann arbor ambassador/26 lines:\
:ti=\E[2J\E[26;0;0;26p:te=\E[60;0;0;26p\E[26;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;26p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#26:tc=aaa-unk:
NG|aaa-28|ann arbor ambassador/28 lines:\
:ti=\E[2J\E[28;0;0;28p:te=\E[60;0;0;28p\E[28;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;28p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#28:tc=aaa-unk:
NH|aaa|aaa-30|ambas|ambassador|ann arbor ambassador/30 lines:\
:ti=\E[2J\E[30;0;0;30p:te=\E[60;0;0;30p\E[30;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;30p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#30:tc=aaa-unk:
NI|aaa-36|ann arbor ambassador/36 lines:\
:ti=\E[2J\E[36;0;0;36p:te=\E[60;0;0;36p\E[36;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;36p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#36:tc=aaa-unk:
NJ|aaa-40|ann arbor ambassador/40 lines:\
:ti=\E[2J\E[40;0;0;40p:te=\E[60;0;0;40p\E[40;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;40p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#40:tc=aaa-unk:
NK|aaa-48|ann arbor ambassador/48 lines:\
:ti=\E[2J\E[48;0;0;48p:te=\E[60;0;0;48p\E[48;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;48p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#48:tc=aaa-unk:
NL|aaa-60|ann arbor ambassador/60 lines:\
:ti=\E[2J\E[60;0;0;60p:te=\E[60;0;0;60p\E[60;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;0;0;60p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#60:tc=aaa-unk:
NS|aaa-unk-s|ann arbor ambassador unknown with/status:\
:es:hs:i2=\E7\E[>51h\E[H\E[2K\E[>51l\E8:\
:ts=\E7\E[>51h\E[H\E[2K:fs=\E[>51l\E8:\
:ds=\E7\E[>51h\E[H\E[2K\E[>51l\E8:\
:tc=aaa-unk:
NM|aaa-18-s|ambassador|ann arbor ambassador/18 lines + status line:\
:ti=\E[2J\E[18;1;0;18p:\
:te=\E[60;1;0;18p\E[18;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;18p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#17:tc=aaa-unk-s:
NN|aaa-20-s|ambassador|ann arbor ambassador/20 lines + status line:\
:ti=\E[2J\E[20;1;0;20p:\
:te=\E[60;1;0;20p\E[20;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;20p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#19:tc=aaa-unk-s:
NO|aaa-22-s|ambassador|ann arbor ambassador/22 lines + status line:\
:ti=\E[2J\E[22;1;0;22p:\
:te=\E[60;1;0;22p\E[22;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;22p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#21:tc=aaa-unk-s:
NP|aaa-24-s|ambassador|ann arbor ambassador/24 lines + status line:\
:ti=\E[2J\E[24;1;0;24p:\
:te=\E[60;1;0;24p\E[24;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;24p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#23:tc=aaa-unk-s:
NQ|aaa-26-s|ambassador|ann arbor ambassador/26 lines + status line:\
:ti=\E[2J\E[26;1;0;26p:\
:te=\E[60;1;0;26p\E[26;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;26p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#25:tc=aaa-unk-s:
NR|aaa-28-s|ambassador|ann arbor ambassador/28 lines + status line:\
:ti=\E[2J\E[28;1;0;28p:\
:te=\E[60;1;0;28p\E[28;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;28p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#27:tc=aaa-unk-s:
NT|aaa-30-s|ambassador|ann arbor ambassador/30 lines + status line:\
:ti=\E[2J\E[30;1;0;30p:\
:te=\E[60;1;0;30p\E[30;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;30p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#29:tc=aaa-unk-s:
NU|aaa-36-s|ambassador|ann arbor ambassador/36 lines + status line:\
:ti=\E[2J\E[36;1;0;36p:\
:te=\E[60;1;0;36p\E[36;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;36p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#35:tc=aaa-unk-s:
NV|aaa-40-s|ambassador|ann arbor ambassador/40 lines + status line:\
:ti=\E[2J\E[40;1;0;40p:\
:te=\E[60;1;0;40p\E[40;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;40p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#39:tc=aaa-unk-s:
NW|aaa-48-s|ann arbor ambassador/48 lines+sl:\
:ti=\E[2J\E[48;1;0;48p:te=\E[60;1;0;48p\E[48;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\EP`?y~[[2J~[[H\E7\E[60;1;0;48p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#47:tc=aaa-unk-s:
NX|aaa-60-s|ambassador|ann arbor ambassador/60 lines + status line:\
:ti=\E[2J\E[60;1;0;60p:te=\E[60;1;0;60p\E[60;1H\E[J:\
:is=\EP`+x~M\E\\\E[m\E7\E[60;1;0;60p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#59:tc=aaa-unk-s:
NY|aaa-18-rv|ambassador/18 lines+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;18p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-18:
NZ|aaa-20-rv|ambassador/20 lines+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;20p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-20:
Na|aaa-22-rv|ambassador/22 lines+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;22p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-22:
Nb|aaa-24-rv|ambassador/24 lines+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;24p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-24:
Nc|aaa-26-rv|ambassador/26 lines+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;26p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-26:
Nd|aaa-28-rv|ambassador/28 lines+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;28p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-28:
Ne|aaa-30-rv|ann arbor ambassador/30 lines in reverse video:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;30p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-30:
Nf|aaa-36-rv|ann arbor ambassador/36 lines in reverse video:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;36p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-36:
Ng|aaa-40-rv|ann arbor ambassador/40 lines in reverse video:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;40p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-40:
Nh|aaa-48-rv|ann arbor ambassador/48 lines in reverse video:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;48p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-48:
Ni|aaa-60-rv|ann arbor ambassador/60 lines in reverse video:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;60p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-60:
Nj|aaa-18-rv-s|aaa-18-s-rv|ambassador/18 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[18;1;0;18p:te=\E[60;1;0;18p\E[18;1H\E[J:li#17:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;18p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nk|aaa-20-rv-s|aaa-20-s-rv|ambassador/20 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[20;1;0;20p:te=\E[60;1;0;20p\E[20;1H\E[J:li#19:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;20p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nl|aaa-22-rv-s|aaa-22-s-rv|ambassador/22 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[22;1;0;22p:te=\E[60;1;0;22p\E[22;1H\E[J:li#21:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;22p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nm|aaa-24-rv-s|aaa-24-s-rv|ambassador/24 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[24;1;0;24p:te=\E[60;1;0;24p\E[24;1H\E[J:li#23:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;24p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nn|aaa-26-rv-s|aaa-26-s-rv|ambassador/26 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[26;1;0;26p:te=\E[60;1;0;26p\E[26;1H\E[J:li#25:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;26p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
No|aaa-28-rv-s|aaa-28-s-rv|ambassador/28 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[28;1;0;28p:te=\E[60;1;0;28p\E[28;1H\E[J:li#27:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;28p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Np|aaa-rv|aaa-30-rv-s|aaa-30-s-rv|ambassador/30 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[30;1;0;30p:te=\E[60;1;0;30p\E[30;1H\E[J:li#29:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;30p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nq|aaa-36-rv-s|aaa-36-s-rv|ambassador/36 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[36;1;0;36p:te=\E[60;1;0;36p\E[36;1H\E[J:li#35:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;36p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nr|aaa-40-rv-s|aaa-40-s-rv|ambassador/40 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[40;1;0;40p:te=\E[60;1;0;40p\E[40;1H\E[J:li#39:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;40p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Ns|aaa-48-rv-s|aaa-48-s-rv|ambassador/48 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:ti=\E[2J\E[48;1;0;48p:te=\E[60;1;0;48p\E[48;1H\E[J:li#47:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;48p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:tc=aaa-unk-s:
Nt|aaa-60-rv-s|aaa-60-s-rv|ambassador/60 lines+sl+rv:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;60p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#50:tc=aaa-unk-s:
NL|aaa-24-ctxt|ann arbor ambassador/24 lines:\
:ti=\E[30;1H\E[K\E[24;0;0;24p:te=\E[60;1;0;24p\E[60;1H\E[K:tc=aaa-24:
NL|aaa-24-rv-ctxt|ambassador/24+rv:\
:ti=\E[30;1H\E[K\E[24;0;0;24p:te=\E[60;1;0;24p\E[60;1H\E[K:tc=aaa-24-rv:
NL|aaa-s-ctxt|aaa-30-s-ctxt|hairy aaa:\
:ti=\E[30;1H\E[K\E[30;1;0;30p:te=\E[60;1;0;30p\E[59;1H\E[K:tc=aaa-30-s:
NL|aaa-s-rv-ctxt|aaa-30-s-rv-ctxt|hairy aaa:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;1;0;30p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:ti=\E[30;1H\E[K\E[30;1;0;30p:te=\E[60;1;0;30p\E[59;1H\E[K:\
:li#29:tc=aaa-unk-s:
NH|aaa-ctxt|aaa-30-ctxt|ann arbor ambassador/30 lines:\
:ti=\E[30;0;0;30p:te=\E[60;0;0;30p\E[60;1H\E[K:tc=aaa-30:
NH|aaa-rv-ctxt|aaa-30-rv-ctxt|ann arbor ambassador/30 lines:\
:ti=\E[30;0;0;30p:te=\E[60;0;0;30p\E[60;1H\E[K:\
:md=\E[1;7m:mr=\E[m:mb=\E[5;7m:mk=\E[7;8m:me=\E[7m:\
:us=\E[4;7m:ue=\E[7m:se=\E[7m:so=\E[m:\
:is=\EP`+x~M\E\\\E[7m\E7\E[60;0;0;30p\E[3g\E[f\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E[8a\EH\E8\E[>6h\E[1Q:\
:li#30:tc=aaa-unk:
Nd|aaa-db|ann arbor ambassador 30/destructive backspace:\
:ti=\E[H\E[J\E[30;0;0;30p:te=\E7\E[60;0;0;30p\E8:li#30:\
:is=\E[60;0;0;30p\E[H\E[J\E[1Q\E[m\E[20l\E[>30h:le=\E[D:bc=\E[D:bs@:\
:tc=aaa-unk:
N0|aaa-29-np|aaa-29 with no padding (for psl):\
:al=\E[L:ce=\E[K:cl=\E[H\E[J:\
:dc=\E[P:dl=\E[M:ic=\E[@:tc=aaa-29:
_______________________________________________________________________________
GENERAL INFORMATION ON THE 4.2 BUGLIST FROM MT XINU
_________________________________________________________________
--IMPORTANT DISCLAIMERS--
Material in this announcement and the accompanying reports
has been edited and organized by MT XINU as a service to the
UNIX community on a non-profit, non-commercial basis. MT
XINU MAKES NO WARRANTY, EXPRESSED OR IMPLIED, ABOUT THE
ACCURACY, COMPLETENESS, OR FITNESS FOR USE FOR ANY PURPOSE
OF ANY MATERIAL INCLUDED IN THESE REPORTS.
MT XINU welcomes comments in writing about the contents of
these reports via uucp or US mail. MT XINU cannot, however,
accept telephone calls or enter into telephone conversations
about this material.
_________________________________________________________________
Legal difficulties which have delayed the distribution of
4.2bsd buglist summaries by MT XINU have been resolved and
three versions of the buglist are now available.
The current buglist has been derived from reports submitted
to 4bsd-bugs at BERKELEY (not from reports submitted only to
net.bugs.4bsd, for example). Reports are integrated into
the buglist as they are received, so that any distributions
are current to within a week or so.
Buglists now being distributed are essentially "raw". No
judgment has been passed as to whether the submitted bug is
real or not or whether it has been fixed. Only minimal edit-
ing has been done to produce a manageable list. Reports
which are complaints (rather than bug reports) have been
eliminated; obscenities and content-free flames have been
eliminated; and duplicates have been combined. The result-
ing collection contains over 500 bugs.
Three versions of the buglist are now ready for distribu-
tion:
2-Liners:
Two lines per bug, including a concise description, the
affected module, the submittor. Approximately 55K
bytes, it is being distributed to net.sources con-
currently with this announcement.
All-but-Source:
All material, except that all but the most inocuous of
source material has been removed to meet AT&T license
restrictions. Nearly a mega-byte, this will be
distributed to net.sources in several 50K byte pieces
later this week.
A paper listing or mag tape is also available, see
below.
Please note that local usenet size restrictions may
prevent large files from being received and/or
retransmitted. MT XINU will not dump this material on
the net a second time; if your site has not received
material of interest to you within a reasonable time,
please send for a paper or tape copy.
All-with-Source (FOR SOURCE LICENSEES ONLY):
4.2 licensees who also have a suitable AT&T source
license can obtain a tape containing all the material,
including proposed source fixes where such were submit-
ted.
Once again, MT XINU has not evaluated, tested or passed
judgment on proposed fixes; all we have done is organ-
ize the collection and eliminate obvious irrelevancies
and duplications.
A free paper copy of the All-but-Source list can be obtained
by sending mail to:
MT XINU
739 Allston Way
Berkeley CA 94710
attn: buglist
or electronic mail to:
ucbvax!mtxinu!buglist
(Be sure to include your US mail address!)
For a tape, send a check for $110 or a purchase order for
$150 to cover MT XINU's costs to the address given above
(California orders add sales tax). For the All-with-Source
list, mail us a request for the details of license verifica-
tion at either of the above addresses.
More information about the Comp.sources.unix
mailing list