(1) I do not know the proper behavior for tsort, but it would be convient
if it wrote out something for every node even if a cycle is detected.
The current behavior is not to write out the nodes in the cycle, I
believe. 

This is a problem when using the "lorder *.o | tsort" idiom for
building archives, since some object files never appear in that list.

Example
cycle.o cycle.o
cycle.o two.o
two.o two.o
two.o cycle.o


(2) Also, I believe that there is a bug in the messages printed by tsort. 
I have appended the example which I experienced; I have not attempted
to reduce it in size. (Sorry.)

The bug is:
tsort: -: input contains a loop:

tsort: context_find.o
tsort: strcasecmp.o

But the loop is actually (as reported by solaris tsort):
UX /usr/ccs/bin/tsort: INFORM: cycle in data
        path.o
        m_maildir.o
        context_find.o


Andrew Mauer-Oats
[EMAIL PROTECTED]


TEST ORDERING (BIG):

add.o add.o
addrsbr.o addrsbr.o
ambigsw.o ambigsw.o
atooi.o atooi.o
brkstring.o brkstring.o
check_charset.o check_charset.o
closefds.o closefds.o
concat.o concat.o
context_del.o context_del.o
context_find.o context_find.o
context_foil.o context_foil.o
context_read.o context_read.o
context_replace.o context_replace.o
context_save.o context_save.o
copy.o copy.o
copyip.o copyip.o
cpydata.o cpydata.o
cpydgst.o cpydgst.o
discard.o discard.o
done.o done.o
error.o error.o
fdcompare.o fdcompare.o
fmt_addr.o fmt_addr.o
fmt_compile.o fmt_compile.o
fmt_def.o fmt_def.o
fmt_new.o fmt_new.o
fmt_rfc2047.o fmt_rfc2047.o
fmt_scan.o fmt_scan.o
folder_addmsg.o folder_addmsg.o
folder_delmsgs.o folder_delmsgs.o
folder_free.o folder_free.o
folder_pack.o folder_pack.o
folder_read.o folder_read.o
folder_realloc.o folder_realloc.o
gans.o gans.o
getans.o getans.o
getanswer.o getanswer.o
getarguments.o getarguments.o
getcpy.o getcpy.o
getfolder.o getfolder.o
lock_file.o lock_file.o
m_atoi.o m_atoi.o
m_backup.o m_backup.o
m_convert.o m_convert.o
m_draft.o m_draft.o
m_getfld.o m_getfld.o
m_gmprot.o m_gmprot.o
m_maildir.o m_maildir.o
m_msgdef.o m_msgdef.o
m_name.o m_name.o
m_scratch.o m_scratch.o
m_tmpfil.o m_tmpfil.o
makedir.o makedir.o
path.o path.o
peekc.o peekc.o
pidstatus.o pidstatus.o
pidwait.o pidwait.o
print_help.o print_help.o
print_sw.o print_sw.o
print_version.o print_version.o
push.o push.o
putenv.o putenv.o
pwd.o pwd.o
r1bindex.o r1bindex.o
readconfig.o readconfig.o
refile.o refile.o
remdir.o remdir.o
seq_add.o seq_add.o
seq_bits.o seq_bits.o
seq_del.o seq_del.o
seq_getnum.o seq_getnum.o
seq_list.o seq_list.o
seq_nameok.o seq_nameok.o
seq_print.o seq_print.o
seq_read.o seq_read.o
seq_save.o seq_save.o
seq_setcur.o seq_setcur.o
seq_setprev.o seq_setprev.o
seq_setunseen.o seq_setunseen.o
showfile.o showfile.o
signals.o signals.o
smatch.o smatch.o
snprintb.o snprintb.o
ssequal.o ssequal.o
strcasecmp.o strcasecmp.o
strindex.o strindex.o
trimcpy.o trimcpy.o
uprf.o uprf.o
vfgets.o vfgets.o
getans.o signals.o
lock_file.o signals.o
pidwait.o signals.o
push.o signals.o
context_save.o signals.o
seq_save.o signals.o
readconfig.o add.o
seq_read.o add.o
add.o error.o
addrsbr.o error.o
brkstring.o error.o
concat.o error.o
context_del.o error.o
context_find.o error.o
context_read.o error.o
context_replace.o error.o
context_save.o error.o
cpydata.o error.o
cpydgst.o error.o
fmt_addr.o error.o
fmt_compile.o error.o
fmt_new.o error.o
fmt_scan.o error.o
folder_delmsgs.o error.o
folder_read.o error.o
folder_realloc.o error.o
getarguments.o error.o
getcpy.o error.o
m_draft.o error.o
m_getfld.o error.o
readconfig.o error.o
seq_list.o error.o
seq_read.o error.o
seq_save.o error.o
vfgets.o error.o
addrsbr.o error.o
context_del.o error.o
context_replace.o error.o
folder_delmsgs.o error.o
pwd.o error.o
readconfig.o error.o
remdir.o error.o
seq_save.o error.o
addrsbr.o error.o
ambigsw.o error.o
context_foil.o error.o
fmt_compile.o error.o
folder_addmsg.o error.o
folder_delmsgs.o error.o
folder_pack.o error.o
folder_realloc.o error.o
m_convert.o error.o
m_getfld.o error.o
makedir.o error.o
push.o error.o
refile.o error.o
seq_add.o error.o
seq_del.o error.o
seq_nameok.o error.o
showfile.o error.o
getans.o ambigsw.o
m_gmprot.o atooi.o
fmt_addr.o addrsbr.o
fmt_scan.o addrsbr.o
getans.o brkstring.o
getarguments.o brkstring.o
seq_read.o brkstring.o
seq_setprev.o brkstring.o
seq_setunseen.o brkstring.o
fmt_rfc2047.o check_charset.o
context_read.o concat.o
m_draft.o concat.o
seq_save.o context_del.o
addrsbr.o context_find.o
context_read.o context_find.o
fmt_scan.o context_find.o
getarguments.o context_find.o
getfolder.o context_find.o
m_convert.o context_find.o
m_draft.o context_find.o
m_gmprot.o context_find.o
m_maildir.o context_find.o
makedir.o context_find.o
print_help.o context_find.o
seq_setprev.o context_find.o
seq_setunseen.o context_find.o
seq_save.o context_replace.o
makedir.o context_save.o
refile.o context_save.o
remdir.o context_save.o
showfile.o context_save.o
concat.o copy.o
m_maildir.o copy.o
folder_addmsg.o cpydata.o
fmt_scan.o fmt_rfc2047.o
error.o done.o
m_draft.o done.o
push.o done.o
fmt_compile.o fmt_scan.o
fmt_addr.o fmt_def.o
fmt_scan.o fmt_def.o
m_draft.o folder_free.o
m_draft.o folder_read.o
folder_addmsg.o folder_realloc.o
folder_pack.o folder_realloc.o
m_draft.o folder_realloc.o
fmt_scan.o fmt_addr.o
getanswer.o gans.o
context_read.o getanswer.o
m_draft.o getanswer.o
addrsbr.o getcpy.o
context_read.o getcpy.o
context_replace.o getcpy.o
fmt_compile.o getcpy.o
fmt_new.o getcpy.o
getarguments.o getcpy.o
m_maildir.o getcpy.o
path.o getcpy.o
readconfig.o getcpy.o
seq_read.o getcpy.o
seq_setprev.o getcpy.o
seq_setunseen.o getcpy.o
trimcpy.o getcpy.o
m_maildir.o getfolder.o
path.o getfolder.o
fmt_addr.o addrsbr.o
fmt_scan.o addrsbr.o
fmt_addr.o addrsbr.o
fmt_scan.o addrsbr.o
fmt_compile.o addrsbr.o
fmt_scan.o addrsbr.o
folder_addmsg.o m_atoi.o
folder_read.o m_atoi.o
seq_read.o m_atoi.o
folder_delmsgs.o m_backup.o
m_draft.o m_convert.o
readconfig.o m_getfld.o
seq_read.o m_getfld.o
context_read.o m_maildir.o
m_draft.o m_maildir.o
path.o m_maildir.o
folder_read.o m_maildir.o
path.o m_maildir.o
folder_addmsg.o m_name.o
folder_delmsgs.o m_name.o
folder_pack.o m_name.o
m_draft.o m_name.o
seq_list.o m_name.o
context_read.o putenv.o
context_read.o makedir.o
m_draft.o makedir.o
fmt_addr.o addrsbr.o
fmt_scan.o addrsbr.o
m_getfld.o m_msgdef.o
m_getfld.o m_msgdef.o
m_getfld.o m_msgdef.o
context_read.o path.o
m_draft.o path.o
m_maildir.o path.o
makedir.o pidstatus.o
context_read.o pidwait.o
context_save.o pidwait.o
folder_delmsgs.o pidwait.o
makedir.o pidwait.o
refile.o pidwait.o
showfile.o pidwait.o
ambigsw.o print_sw.o
getans.o print_sw.o
print_help.o print_sw.o
path.o pwd.o
folder_delmsgs.o r1bindex.o
m_backup.o r1bindex.o
m_scratch.o r1bindex.o
refile.o r1bindex.o
showfile.o r1bindex.o
context_read.o readconfig.o
seq_setcur.o seq_add.o
seq_setunseen.o seq_add.o
seq_setprev.o seq_add.o
seq_setunseen.o seq_del.o
m_convert.o seq_getnum.o
seq_list.o seq_getnum.o
seq_print.o seq_getnum.o
seq_setunseen.o seq_getnum.o
seq_print.o seq_list.o
seq_save.o seq_list.o
seq_add.o seq_nameok.o
seq_del.o seq_nameok.o
folder_read.o seq_read.o
m_draft.o seq_save.o
folder_pack.o seq_setcur.o
m_draft.o seq_setcur.o
m_draft.o seq_setprev.o
gans.o smatch.o
getans.o smatch.o
addrsbr.o snprintb.o
m_convert.o ssequal.o
path.o ssequal.o
print_sw.o ssequal.o
seq_read.o ssequal.o
addrsbr.o strcasecmp.o
context_del.o strcasecmp.o
context_find.o strcasecmp.o
context_replace.o strcasecmp.o
addrsbr.o strindex.o
fmt_scan.o strindex.o
check_charset.o strcasecmp.o
readconfig.o trimcpy.o
seq_read.o trimcpy.o
addrsbr.o uprf.o
fmt_scan.o uprf.o
strindex.o uprf.o

Reply via email to