home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-09-25 | 51.4 KB | 1,601 lines |
- Newsgroups: comp.sources.misc
- From: iain@estevax.uucp (Iain J. Lea)
- Subject: v23i015: tin - threaded full screen newsreader v1.0 PL2, Part01/09
- Message-ID: <csm-v23i015=tin.154849@sparky.IMD.Sterling.COM>
- X-Md4-Signature: b5aa4ffc0bd60998670606284e1ebce0
- Date: Wed, 25 Sep 1991 20:49:32 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: iain@estevax.uucp (Iain J. Lea)
- Posting-number: Volume 23, Issue 15
- Archive-name: tin/part01
- Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
-
- This is version 1.0 PL2 (Patchlevel 2) of the tin newsreader.
-
- Major improvements over tin 1.0 PL1 are the following:
-
- o -n option informs of any new newsgroups since last session.
- o -S option saves news to private news structure for later reading.
- o -U option forks a tin -u to update indexes while reading news in foregroud.
- o Goto first / last unread article within a group (selectable).
- o Resizes automatically if running under an Xterm.
- o Added regex pattern matching to kill articles.
- o Cancel a posted article from within tin.
- o Backups .newsrc to .oldnewsrc on starting tin.
-
- For more bugs fixes, other changes & additions read the CHANGES & TODO files.
- For the full blurb read README and tin.1 man page...
-
- Credits
- -------
- I wish to give credit to the following people for the routines
- that they have written and I have used in tin:
-
- Rich Skrenta - tass v3.2 that tin is based upon.
- Syd Weinstein - curses.c is taken from the elm mailreader
- Rich Salz - wildmat regex pattern matching routine
- Chris Smith - multi-part uudecode routine
-
- I wish to thank the following people for bug reports/patchs/comments:
-
- Klaus Arzig, Reiner Balling, Volker Beyer, Roger Binns, Georg Biehler,
- Andreas Brosig, Peter Dressler, Gerhard Ermer, Joachim Feld,
- Bernhard Gmelch, Viet Hoang, Joe Johnson, Cyrill Jung,
- Karl-Koenig Koenigsson, Hans-Juergen Knopp, Bob Lukas, Clifford Luke,
- Phillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, Otto Niesser,
- Wolf Paul, Nickolay Saukh, Rich Salz, Fredy Schwatz, Bernd Schwerin,
- Karl-Olav Serrander, Chris Smith, Cliff Stanford, Adri Verhoef,
- Cary Whitney
-
- I may be off the net for a couple of months at the end of September, but
- will be contactable at the following address:
- Iain J. Lea
- BrueckenStr. 12
- 8500 Nuernberg 90
- Germany.
- Phone. +49-911-331963 (home)
- Phone. +49-911-895-3853 (work until Sep 30)
- Phone. +49-911-3089-407 (work from Oct 1)
- Email. iain@estevax.uucp (will only be reading mailbox weekly)
-
- ----------
- #!/bin/sh
- # This is tin1.02, a shell archive (shar 3.24)
- # made 09/24/1991 12:18 UTC by iain@estevax.uucp
- # Source directory /piez/iain/.src/tin
- #
- # existing files WILL be overwritten
- #
- # This is part 1 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 8986 -rw------- Makefile
- # 757 -rw------- MANIFEST
- # 4762 -rw------- README
- # 14067 -rw------- CHANGES
- # 1810 -rw------- TODO
- # 530 -rwx------ UPDATE_INDEX
- # 26331 -rw------- tin.1
- # 2247 -rw------- wildmat.3
- # 26620 -rw------- art.c
- # 6043 -rw------- curses.c
- # 2575 -rw------- debug.c
- # 11087 -rw------- feed.c
- # 19165 -rw------- group.c
- # 2811 -rw------- hashstr.c
- # 5124 -rw------- help.c
- # 9529 -rw------- kill.c
- # 17911 -rw------- lang.c
- # 7015 -rw------- main.c
- # 6239 -rw------- memory.c
- # 19195 -rw------- misc.c
- # 19674 -rw------- newsrc.c
- # 6736 -rw------- open.c
- # 24185 -rw------- page.c
- # 17061 -rw------- post.c
- # 3098 -rw------- prompt.c
- # 18379 -rw------- rcfile.c
- # 19585 -rw------- save.c
- # 2171 -rw------- screen.c
- # 7830 -rw------- search.c
- # 19579 -rw------- select.c
- # 7569 -rw------- signal.c
- # 4749 -rw------- wildmat.c
- # 9348 -rw------- tin.h
- # 9707 -rw------- lang.h
- # 3688 -rw------- nntp.h
- # 17147 -rw------- proto.h
- # 21 -rw------- patchlevel.h
- #
- if touch 2>&1 | fgrep '[-amc]' > /dev/null
- then TOUCH=touch
- else TOUCH=true
- fi
- if test -r shar3_seq_.tmp; then
- echo "Must unpack archives in sequence!"
- next=`cat shar3_seq_.tmp`; echo "Please unpack part $next next"
- exit 1
- fi
- # ============= Makefile ==============
- echo "x - extracting Makefile (Text)"
- sed 's/^X//' << 'SHAR_EOF' > Makefile &&
- X# Makefile for tin
- X#
- X# NB. NNTP (NetNews Transport Protocol RFC 977) is required if you
- X# wish to read news remotely. It is a seperate package that is
- X# available from many FTP and mailserver sites.
- X
- X# command line compile flags
- X#
- X# -D LIBDIR=\"\"
- X# defaults to /usr/lib/news if not defined.
- X#
- X# -D INEWSDIR=\"\"
- X# define if inews is not in LIBDIR. defaults to LIBDIR if not defined.
- X#
- X# -D SPOOLDIR=\"\"
- X# defaults to /usr/spool/news if not defined.
- X#
- X# You only need to worry about the following three defines if you have
- X# defined NNTP to build a version to access news locally & remotely
- X#
- X# -D USE_NNTP
- X# include -DUSE_NNTP if you want to allow reading of news locally
- X# and also remotely via the -r option over an NNTP server.
- X#
- X# -D NNTPLIB=
- X# point NNTPLIB at the nntp clientlib.o support library
- X#
- X# -D NETLIBS=
- X# NETLIBS should be the networking libraries you need to link with
- X# the nntp clientlib.o
- X#
- X# -D POSIX_JOB_CONTROL
- X# define if your machine uses sigaction() POSIX signal handling.
- X# This is defined as default for SysVR4 machines in this makefile.
- X#
- X# -D USE_MKDIR
- X# define if your machine does not have the mkdir() system call.
- X#
- X# -D USE_LONG_FILENAMES
- X# include -DUSE_LONG_FILENAMES if filesystem supports filenames
- X# longer than 14 chars. (default for BSD type systems)
- X#
- X# -D USE_INVERSE_HACK
- X# define if you want inverse video and highlighted bar disabled.
- X# (default for SCO Unix & SysVR4) Can be toggled in tin by the
- X# 'I' command & highlight bar by 'M' command.
- X#
- X# -D USE_CLEARSCREEN
- X# define if the you wish screen to use ClearScreen() and not MoveCursor()
- X# and CleartoEOLN(). This is perhaps faster on slow terminals but I have
- X# not really run any speed tests. Not sure this option works anymore.
- X#
- X# -D DONT_USE_REGEX
- X# don't match strings using regular expressions, just use strstr().
- X#
- X# -D DONT_USE_START_LINE
- X# stop editor being started with line offset into file
- X#
- X# -D SLOW_SCREEN_UPDATE
- X# useful if running over a low speed connection (ie. 2400baud).
- X# 1) stops percentage being shown at bottom of select and group menus.
- X# 2) stops group being written to screen as it is subscribed/unsubscribed.
- X#
- X
- X# name of executable file
- X#
- XEXE=tin
- X
- X# name of dir where base version is for use by diff program
- X#
- XBASE_DIR=../tin-1.01
- X
- X#BINDIR = /piez/iain/bin
- XBINDIR = /usr/local/bin
- XSTRIP = strip
- XROFF = + drf -F Helvetica -man3
- XPRINT= -Pps0
- X
- XHFILES = tin.h lang.h nntp.h proto.h patchlevel.h
- X
- XCFILES = art.c curses.c debug.c feed.c group.c hashstr.c help.c kill.c \
- X lang.c main.c memory.c misc.c newsrc.c open.c page.c post.c \
- X prompt.c rcfile.c save.c screen.c search.c select.c signal.c wildmat.c
- X
- XOBJECTS = art.o curses.o debug.o feed.o group.o hashstr.o help.o kill.o \
- X lang.o main.o memory.o misc.o newsrc.o open.o page.o post.o \
- X prompt.o rcfile.o save.o screen.o search.o select.o signal.o wildmat.o
- X
- XSUPPORT = Makefile MANIFEST README CHANGES TODO UPDATE_INDEX *.[13]
- X
- XLINTFLAGS=-a -c -h -n -x
- X
- X.c.o:
- X $(CC) $(CFLAGS) $*.c
- X
- Xall:
- X @echo "There is no default. Specify one of the following targets."
- X @echo " make bsd (BSD/Ultrix)"
- X @echo " make sysv (SysV)"
- X @echo " make sysvr4 (SysV R4)"
- X @echo " make sco (SCO Unix)"
- X @echo " make xenix (Xenix 386)"
- X
- X# For Berkeley systems:
- Xbsd:
- X @echo "Compiling for BSD/Ultrix..."
- X @$(MAKE) CFLAGS='-c -O -DBSD -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
- X LIBS="-lcurses -ltermcap" \
- X EXE=tin linkit
- X
- X# For System V:
- Xsysv:
- X @echo "Compiling for System V..."
- X @$(MAKE) CFLAGS='-c -O -DUSE_NNTP -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
- X NNTPLIB="clientlib.o" \
- X NETLIBS="-lnet -lnsl_s" \
- X LIBS="-lcurses -ltermcap" \
- X EXE=tin linkit
- X
- X# For System V Release 4:
- Xsysvr4:
- X @echo "Compiling for System V Release 4..."
- X @$(MAKE) CFLAGS='-c -O -DUSE_NNTP -DPOSIX_JOB_CONTROL -DUSE_INVERSE_HACK -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
- X NNTPLIB="./nntp/clientlib.o" \
- X NETLIBS="-lnsl -lsocket" \
- X LIBS="-lcurses -ltermcap -L/usr/ucblib -lucb" \
- X EXE=tin linkit
- X
- X# For SCO Unix:
- Xsco:
- X @echo "Compiling for SCO Unix..."
- X @$(MAKE) CFLAGS='-c -O -UM_XENIX -DUSE_INVERSE_HACK -DAUTO_RESIZE -DLIBDIR="\"/usr/lib/news\"" -DSPOOLDIR="\"/usr/spool/news\""' \
- X LIBS="-lcurses -lgen -lc_s" \
- X EXE=tin linkit
- X
- X# For Xenix 386:
- X# NNTPLIB=clientlib.o
- X# NETLIBS="-lsocket"
- Xxenix:
- X @echo "Compiling for Xenix 386..."
- X @$(MAKE) CFLAGS='-c -Zi -DSYSV -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \
- X LIBS="-lcurses -ltinfo -lx" \
- X EXE=tin linkit
- X
- X# SITE SPECIFIC - IGNORE
- Xnorisc:
- X @echo "Compiling for NORISC with NNTP..."
- X @$(MAKE) CFLAGS='-c -g -DBSD -DUSE_NNTP -DAUTO_RESIZE -DLIBDIR=\"/news/lib\" -DSPOOLDIR=\"/news/spool\"' \
- X NNTPLIB=/news/nntp/clientlib.o \
- X LIBS="-lcurses -ltermcap" \
- X EXE=tin linkit
- X
- X# SITE SPECIFIC - IGNORE
- Xestevax:
- X @echo "Compiling for ESTEVAX with NNTP..."
- X @$(MAKE) CFLAGS='-c -O -DBSD -DUSE_NNTP -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
- X NNTPLIB=/others/mtz/bnews2/NNTP/common/clientlib.o \
- X LIBS="-lcurses -ltermcap" \
- X EXE=tin linkit
- X
- X# SITE SPECIFIC - IGNORE
- Xkommu:
- X @echo "Compiling for KOMMU with NNTP..."
- X @$(MAKE) CFLAGS='-c -O -UM_XENIX -DUSE_INVERSE_HACK -DAUTO_RESIZE -DUSE_NNTP -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \
- X NNTPLIB=/usr/spool/user/TONI/bnews2/NNTP/common/clientlib.o \
- X NETLIBS="-lnsl_s -lsocket" \
- X LIBS="-lcurses -lgen -lc_s" \
- X EXE=tin linkit
- X
- Xlinkit: $(OBJECTS)
- X @echo "Linking $(EXE)..."
- X# $(CC) -Zi -o $(EXE) $(OBJECTS) $(NNTPLIB) $(NETLIBS) $(LIBS)
- X $(CC) -o $(EXE) $(OBJECTS) $(NNTPLIB) $(NETLIBS) $(LIBS)
- X @ls -l $(EXE)
- X
- Xinstall: all
- X @echo "installing $(EXE)..."
- X @$(STRIP) $(EXE)
- X @-mv $(EXE) $(BINDIR)
- X @chmod 755 $(BINDIR)/$(EXE)
- X
- Xinstall_setuid: all
- X @echo "installing SETUID $(EXE)..."
- X @mv $(EXE) $(BINDIR)
- X @chown news $(BINDIR)/$(EXE)
- X @su news -c "chmod 4755 $(BINDIR)/$(EXE)"
- X
- Xproto:
- X @echo "generating function prototypes for proto.h..."
- X @echo "#ifdef __STDC__" > PROTO.H
- X @echo " " >> PROTO.H
- X @cproto $(CFILES) >> PROTO.H
- X @echo " " >> PROTO.H
- X @echo "#else" >> PROTO.H
- X @echo " " >> PROTO.H
- X @cproto -f1 $(CFILES) >> PROTO.H
- X @echo " " >> PROTO.H
- X @echo "#endif" >> PROTO.H
- X @-mv PROTO.H proto.h
- X
- Xshar:
- X @echo "generating shell archive..."
- X @echo "MANIFEST for tin newsreader (`date`)" > MANIFEST
- X @echo "--------------------------------------------------------------" >> MANIFEST
- X @wc -c README CHANGES TODO UPDATE_INDEX Makefile *.[13] $(HFILES) $(CFILES) >> MANIFEST
- X @shar -a -n $(EXE)1.02 -s iain@estevax.uucp -L50 -o ../$(EXE).shar $(SUPPORT) $(CFILES) $(HFILES)
- X
- Xuuencode:
- X make tar
- X @echo "uuencoding $(EXE).tar.Z..."
- X @uuencode $(EXE).tar.Z $(EXE).tar.Z > $(EXE).tar.Z.uue
- X @ls -l $(EXE).tar.Z.uue
- X
- Xdiff:
- X @echo "generating diffs against $(BASE_DIR) (results in $(EXE).diff)..."
- X @-mv -f $(EXE).diff $(EXE).diff-
- X @diff $(BASE_DIR) . > $(EXE).diff
- X
- Xtar:
- X @echo "archiving files to $(EXE).tar..."
- X @-rm $(EXE).tar $(EXE).tar.Z > /dev/null 2>&1
- X @tar cvf $(EXE).tar $(SUPPORT) $(CFILES) $(HFILES)
- X @echo "compressing $(EXE).tar..."
- X @compress $(EXE).tar
- X @ls -l $(EXE).tar.Z
- X
- Xzoo:
- X @echo "archiving files to $(EXE).zoo..."
- X @-rm $(EXE).zoo > /dev/null 2>&1
- X @zoo ah $(EXE).zoo $(SUPPORT) $(CFILES) $(HFILES)
- X @ls -l $(EXE).zoo
- X
- Xtags:
- X @echo "generating tags (results in ./tags)..."
- X @-rm tags
- X @ctags $(HFILES) $(CFILES)
- X
- Xlint:
- X @echo "linting source (results in ./LINT)..."
- X @lint $(LINTFLAGS) -DUSE_NNTP $(CFILES) > LINT
- X
- Xclean:
- X @echo "cleaning..."
- X @-'rm' -rf *.o #* $(EXE).diff*
- X
- Xclobber:
- X @echo "clobbering..."
- X @-'rm' -rf *.o #* tags $(EXE) $(EXE).diff*
- X
- Xcflow:
- X @echo "creating cflow for $(EXE)..."
- X @cflow $(CFILES) > cflow.$(EXE) &
- X
- Xgrind:
- X @echo "grinding tags index..."
- X @ctags -v *.[ch] | sort -f > $(EXE).index
- X
- Xman:
- X @echo "printing $(EXE) manual to $(PRINT)..."
- X @$(ROFF) $(PRINT) $(EXE).1
- X
- Xprint:
- X @for FILE in $(HFILES) $(CFILES); do \
- X echo "printing $$FILE to $(PRINT)..."; \
- X expand -4 $$FILE | enscript -2r -h -G $(PRINT) -b $$FILE; \
- X done
- X
- Xdist:
- X @for HOST in estevax kommu beperl; do \
- X echo "copying to $$HOST..."; \
- X rcp $(CFILES) $(HFILES) $(SUPPORT) $$HOST:.src/tin &; \
- X done
- X
- Xart.o: art.c $(HFILES)
- Xcurses.o: curses.c
- Xdebug.o: debug.c $(HFILES)
- Xfeed.o: feed.c $(HFILES)
- Xgroup.o: group.c $(HFILES)
- Xhashstr.o: hashstr.c $(HFILES)
- Xhelp.o: help.c $(HFILES)
- Xkill.o: kill.c $(HFILES)
- Xlang.o: lang.c $(HFILES)
- Xmain.o: main.c $(HFILES)
- Xmemory.o: memory.c $(HFILES)
- Xmisc.o: misc.c $(HFILES)
- Xnewsrc.o: newsrc.c $(HFILES)
- Xopen.o: open.c $(HFILES)
- Xpage.o: page.c $(HFILES)
- Xpost.o: post.c $(HFILES)
- Xprompt.o: prompt.c $(HFILES)
- Xrcfile.o: rcfile.c $(HFILES)
- Xsave.o: save.c $(HFILES)
- Xscreen.o: screen.c $(HFILES)
- Xsearch.o: search.c $(HFILES)
- Xselect.o: select.c $(HFILES)
- Xsignal.o: signal.c $(HFILES)
- Xwildmat.o: wildmat.c $(HFILES)
- SHAR_EOF
- $TOUCH -am 0924141891 Makefile &&
- chmod 0600 Makefile ||
- echo "restore of Makefile failed"
- set `wc -c Makefile`;Wc_c=$1
- if test "$Wc_c" != "8986"; then
- echo original size 8986, current size $Wc_c
- fi
- # ============= MANIFEST ==============
- echo "x - extracting MANIFEST (Text)"
- sed 's/^X//' << 'SHAR_EOF' > MANIFEST &&
- XMANIFEST for tin newsreader (Tue Sep 24 14:18:13 MET DST 1991)
- X--------------------------------------------------------------
- X 4762 README
- X 14067 CHANGES
- X 1810 TODO
- X 530 UPDATE_INDEX
- X 8986 Makefile
- X 26331 tin.1
- X 2247 wildmat.3
- X 9348 tin.h
- X 9707 lang.h
- X 3688 nntp.h
- X 17147 proto.h
- X 21 patchlevel.h
- X 26620 art.c
- X 6043 curses.c
- X 2575 debug.c
- X 11087 feed.c
- X 19165 group.c
- X 2811 hashstr.c
- X 5124 help.c
- X 9529 kill.c
- X 17911 lang.c
- X 7015 main.c
- X 6239 memory.c
- X 19195 misc.c
- X 19674 newsrc.c
- X 6736 open.c
- X 24185 page.c
- X 17061 post.c
- X 3098 prompt.c
- X 18379 rcfile.c
- X 19585 save.c
- X 2171 screen.c
- X 7830 search.c
- X 19579 select.c
- X 7569 signal.c
- X 4749 wildmat.c
- X 382574 total
- SHAR_EOF
- $TOUCH -am 0924141891 MANIFEST &&
- chmod 0600 MANIFEST ||
- echo "restore of MANIFEST failed"
- set `wc -c MANIFEST`;Wc_c=$1
- if test "$Wc_c" != "757"; then
- echo original size 757, current size $Wc_c
- fi
- # ============= README ==============
- echo "x - extracting README (Text)"
- sed 's/^X//' << 'SHAR_EOF' > README &&
- XThis is version 1.0 PL2 (patchlevel 2) of the tin newsreader.
- X
- XMajor improvements over tin 1.0 PL1 are the following:
- X
- Xo -n option informs of any new newsgroups since last session.
- X
- Xo -S option saves news to private news structure for later reading.
- X
- Xo -U option forks a tin -u to update indexes while reading news in foregroud.
- X
- Xo Goto first / last unread article within a group (selectable).
- X
- Xo Resizes automatically if running under an Xterm.
- X
- Xo Added regex pattern matching to kill articles.
- X
- Xo Cancel a posted article from within tin.
- X
- Xo Backups .newsrc to .oldnewsrc on starting tin.
- X
- XFor more bugs fixes, other changes & additions read the CHANGES & TODO files.
- X
- XI am still looking for people to send me ideas/comments & bug reports.
- X
- XAnd now for a bit of blurb from the original version...
- X
- XTin is a full screen threaded newsreader that uses the tass newsreader as
- Xits base. Tass was developed by Rich Skrenta (skrenta@blekko.commodore.com).
- XTin can read news locally and also via an NNTP server (-r option). Tin
- Xcontains more features than tass but they are still accessable to the
- Xbeginner and expert alike. I tried to follow the tass UI conventions as
- Xmuch as possible.
- X
- XThis is the only newsreader that I know of that threads on the Archive-name:
- Xfield as used in comp.sources.* groups as well as on the more normal Subject:
- Xfield. Before anyone comments on Subject: threading not being right and I
- Xshould look at trn, I have and its threads are neat but I get more done with
- Xtin than trn. It is especially good at saving and processing saved articles
- X& threads.
- X
- Xo Organizes articles by threads. Displays a really nice article selection
- X page.
- X
- Xo Group selection page makes it easy to scan newsgroups, subscribe,
- X unsubscribe, reorder your .newsrc.
- X
- Xo If you've ever used tass/notes, this is the program for you.
- X Tin looks a lot like tass, but has many improvements.
- X
- XNewsreading style under tin tends to be different than with rn. Instead of
- Xplowing through each group reading everything unread, you may find yourself
- Xreading fewer articles in more groups. It's easier to skip about and only
- Xread interesting threads with tin.
- X
- XTin keeps an index file for each group. The first time you enter a group,
- Xit will be a bit slow creating this file. After that it will incrementally
- Xupdate the index file and there should be little delay.
- X
- XI may be off the net for a couple of months at the end of September, but
- Xwill be contactable at the following address:
- X Iain J. Lea
- X BrueckenStr. 12
- X 8500 Nuernberg 90
- X Germany.
- X Phone. +49-911-331963 (home)
- X Phone. +49-911-895-3853 (work until Sep 30)
- X Phone. +49-911-3089-407 (work from Oct 1)
- X Email. iain@estevax.uucp (will only be reading mailbox weekly)
- X
- XBuilt & used on the following machines
- X--------------------------------------
- X 1) Vax 8850 & Ultrix 4.1 (Developed on & most tested platform)
- X 3) 386 PC & Xenix 386
- X 2) Vax 11/785 & BSD 4.3
- X 4) 386 PC & ATT SysVR4.0
- X 5) 386 PC & SCO SysVR3.2
- X 6) 386 PC & ISC SysVR3.2
- X 7) ICL DRS6000 (sparc) & SysVR4.0
- X 8) Sun 3/4/IPC/Sparcstation & SunOS 4.0.3/4.1/4.1.1
- X 9) Intel303 & SysVR4
- X 10) DEC 5000 & Ultrix 4.1
- X 11) Sony News & SysVR4 / BSD 4.3
- X 12) Atari STe & Minix 1.5.10.3b
- X 13) Apricot VX/FT & SCO 3.2.2
- X 14) DIAB DS90 & D-NIX 5.3
- X
- XBuilding Tin
- X------------
- X 1) type 'make' and a few system types will be displayed
- X 2) edit Makefile if you want to add/change -D DEFINES
- X 3) type 'make <system type>' to compile for your system
- X 4) type 'make install' / 'make install_setuid' to install
- X
- X Note: the supplied Makefile will not run directly on BSD. It
- X requires a little work (Any takers to write a good Makefile?)
- X
- XNB. NNTP (NetNews Transport Protocol RFC 977) is required if you
- X wish to read news remotely. It is a seperate package that is
- X available from many FTP and mailserver sites.
- X
- XCredits
- X-------
- XI wish to give credit to the following people for the routines
- Xthat they have written and I have used in tin:
- X
- XRich Skrenta - tass v3.2 that tin is based upon.
- XSyd Weinstein - curses.c is taken from the elm mailreader
- XRich Salz - wildmat regex pattern matching routine
- XChris Smith - multi-part uudecode routine
- X
- XI wish to thank the following people for bug reports/patchs/comments:
- X
- XKlaus Arzig, Reiner Balling, Volker Beyer, Roger Binns, Georg Biehler,
- XAndreas Brosig, Peter Dressler, Gerhard Ermer, Joachim Feld,
- XBernhard Gmelch, Viet Hoang, Joe Johnson, Cyrill Jung,
- XKarl-Koenig Koenigsson, Hans-Juergen Knopp, Bob Lukas, Clifford Luke,
- XPhillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, Otto Niesser,
- XWolf Paul, Nickolay Saukh, Rich Salz, Fredy Schwatz, Bernd Schwerin,
- XKarl-Olav Serrander, Chris Smith, Cliff Stanford, Adri Verhoef,
- XCary Whitney
- SHAR_EOF
- $TOUCH -am 0924141591 README &&
- chmod 0600 README ||
- echo "restore of README failed"
- set `wc -c README`;Wc_c=$1
- if test "$Wc_c" != "4762"; then
- echo original size 4762, current size $Wc_c
- fi
- # ============= CHANGES ==============
- echo "x - extracting CHANGES (Text)"
- sed 's/^X//' << 'SHAR_EOF' > CHANGES &&
- XCHANGES tin v1.0 PL1 -> tin 1.0 PL2
- X-----------------------------------
- X
- X1) rsalz@bbn.com (Rich Salz)
- X Modified man page to format correctly.
- X
- X2) iain@estevax.uucp (Iain Lea)
- X BUG. if compiled on xenix DEFAULT_MAILBOX define is redefined later.
- X FIX. tin.h - repositioned DEFAULT_MAILBOX define.
- X
- X3) uunet!sisd!jeh (Ed Hanway)
- X BUG. If chars are signed, hash_str() will calculate a bad hash
- X value if it hits a char with the high bit set.
- X FIX. hashstr.c - changed hash routine to use unsigned char.
- X
- X4) iain@estevax.uucp (Iain Lea)
- X BUG. Always put cursor on last unread article in newsgroup.
- X FIX. select.c - set changed space_mode = FALSE to TRUE, so
- X that the cursor is positioned on the first unread art.
- X
- X5) rsalz@bbn.com (Rich Salz)
- X Contributed a large patch file that changed numerous small
- X things, such as deleted unused variables, changed fgets()'s
- X to use sizeof() call on the buffer, corrected input parameters
- X on qsort() compare functions to be char * and then cast inside
- X the compare function. Many thanx and I'll have to have a look
- X at Saber C.
- X
- X6) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. I would prefer to press save, and then be presented with
- X choices of post processing. If you can't figure out which
- X it is, offer the choice from the 'M' menu as default.
- X FIX. feed.c - asks for processing type when saving article.
- X
- X7) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. free_all_arrays() called inside signal_handler() causes errors.
- X FIX. signal.c - deleted free_all_arrays() from signal_handler().
- X
- X8) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. If the active file is empty, abort (I just learnt the hard
- X way) - core dumps and other silly things happen.
- X FIX. misc.c - changed read_active() to exit if no newsgroups.
- X
- X9) cliff@norisc.uucp (Clifford Luke)
- X BUG. When resizing under an xterm tin hangs / gets SIGSEGV.
- X FIX. memory.c signal.c - modified to resize screen[] array.
- X
- X10) rdb@oasis.icl.co.uk (Roger Binns)
- X ADD. backup_newsrc() copies .newsrc to .oldnewsrc for safety.
- X
- X11) iain@estevax.uucp (Iain Lea)
- X BUG. follow-ups rejected by inews when to many '>' are in text.
- X FIX. tin.h - added DEFAULT_COMMENT to let user specify comment
- X string (default is ": ").
- X
- X12) nms@jvd.msk.su (Nickolay Saukh)
- X BUG. Whats the reason to use file dead.article instead of .article?
- X FIX. post.c - no reason at all. Fixed it - must have been asleep?!
- X
- X13) nms@jvd.msk.su (Nickolay Saukh)
- X BUG. There should be a way to inform user about created newsgroups
- X since last session.
- X FIX. misc.c - added notify_groups() to check for new newsgroups. Use
- X -n option to check for groups on starting tin. A tad sloooooww.
- X
- X14) whitney@zeus.unomaha.edu (Cary Whitney)
- X BUG. I have found that saving articles in there news structure in my own
- X area is an easy way for myself to organize articles.
- X FIX. feed.c - feed_articles(). If '+<filename>' is given the '+' will be
- X converted to <newsgroup>/<filename>.
- X
- X15) unido!tintin.rivm.nl!a3 (Adri Verhoef)
- X BUG. The 'options' line in .newsrc is being reconized as a newsgroup.
- X FIX. Ignores lines beginning with 'options ' when reading .newsrc
- X
- X16) cliff@demon.co.uk (Cliff Stanford)
- X BUG. Because of the way setuid() works when the user is root, tin
- X should test for this case when it is setuid news. Thanx for
- X code patch for a subtle bug.
- X FIX. main.c - changed test case for getuid() & geteuid().
- X
- X17) cliff@demon.co.uk (Cliff Stanford)
- X BUG. When running setuid what happens to the index directory
- X 'index' in alt.sources & alt.sources.index? You effectively
- X corrupt the directory.
- X FIX. tin.h - changed the name of 'index' to '.index'
- X
- X18) juergen@norisc (Hans-Juergen Knopp)
- X BUG. Allow user to select whether cursor should be positioned on
- X first / last unread article upon entering a newsgroup.
- X FIX. rcfile.c - added 'Goto 1st unread' option.
- X
- X19) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. When in the 'M' options menu try pressing return. It does
- X nothing, but if you press it again, it saves and exits.
- X FIX. rcfile.c - change_rcfile() does better input checking and
- X saves and exits when char < '1' && char > '9'.
- X
- X20) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. Will print articles straight away when 'o' is pressed.
- X FIX. group.c - asks if you really want to print articles.
- X
- X21) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. I have tried to use the pattern so that the word `rape' will
- X be killed on. I tried regex patterns and nothing happened eg
- X *rape* or *[Rr][Aa][Pp][Ee]* and nothing was killed.
- X FIX. kill.c - added regex pattern matching to kill routines.
- X
- X22) iain@estevax.uucp (Iain Lea)
- X BUG. Hangs when running under a xterm window that is resized.
- X FIX. signal.c - set_win_size() changed so that tin will resize
- X to the new xterm window size. Allows big displays of info
- X when run on a window system.
- X
- X23) molloy@icd.teradyne.com (Philip E. Molloy)
- X BUG. If there is no file called ~/.tin/posted, then the first
- X posting stays named as ~/.tin/posted.<pid> and you cannot
- X use the "W" command. If you test for the existence of the
- X file posted and create it if not there, this should work.
- X FIX. misc.c - creates ~/.tin/posted empty if it does not exist.
- X
- X24) nms@jvd.msk.su (Nickolay Saukh)
- X BUG. It should turn on arrow mode -> if inverse video is turned off.
- X FIX. select.c group.c - turns on arrow -> if inverse video turned off.
- X
- X25) iain@estevax.uucp (Iain Lea)
- X ADD. Added thread operators '<' & '>' to goto first & last article
- X in current thread.
- X
- X26) nms@jvd.msk.su (Nickolay Saukh)
- X BUG. There is no reason to enter groups with no articles in them.
- X FIX. select.c - checks if arts in group otherwise will not enter.
- X
- X27) iain@estevax.uucp (Iain Lea)
- X ADD. Added 'w' post base article command to group selection level
- X so that even if there are no arts in a group one can still
- X post articles to it.
- X
- X28) unido!tintin.rivm.nl!a3 (Adri Verhoef)
- X BUG. Tagging articles 'T' causes a redraw of the entire index page.
- X This is tiresome on very slow lines.
- X FIX. group.c - fixed 'T' so it does not redraw the screen everytime.
- X
- X29) cliff@demon.co.uk (Cliff Stanford)
- X BUG. Default mailer rmail does not work on SCO 3.2.2 & small fixes to
- X Makefile. Thanx for the patches.
- X FIX. Changed rmail to sendmail -t for default mailer. Only works
- X if you have got tcp-ip package installed.
- X
- X30) iain@estevax.uucp (Iain Lea)
- X ADD. post.c - added cancel_article() to cancel an article that was
- X posted by the same user.
- X
- X31) miller@julian.uwo.CA (Greg Miller)
- X ADD. How about a TINDIR environment variable so that if defined the
- X .tin directory are set up there rather than $HOME.
- X
- X32) nms@jvd.msk.su (Nickolay Saukh)
- X BUG. All sortable options should have reverse option.
- X FIX. rcfile.c - added ascending & descending options to sort routines.
- X
- X33) kos@nd.se (Karl-Olov Serrander)
- X BUG. SIGSEGV happens when debug routines are used.
- X FIX. debug.c - applied supplied patch.
- X
- X34) cliff@demon.co.uk (Cliff Stanford)
- X ADD. main.c - added -U option to fork a 'tin -u' and update index
- X files in background while reading the news in foreground.
- X
- XCHANGES tin v1.00 -> tin v1.0 PL1
- X---------------------------------
- X
- X1) crs@siesoft.co.uk (Chris Smith)
- X BUG. uudecoding multi-part archives sometimes does not work.
- X FIX. Contibuted uuscram routine that was hacked into post_process_uud().
- X
- X2) unido!mprgate.mpr.ca!lukas (Bob Lukas)
- X BUG. The docs refer to various defaults as being $HOME/... In
- X fact, they are relative to the pw_dir field from /etc/passwd,
- X not the environment variable $HOME. (For obscure reasons, my
- X $HOME is not pw_dir.)
- X FIX. misc.c - init_selfinfo()
- X
- X3) iain@estevax.uucp (Iain Lea)
- X BUG. info string "Serching..." not cleared from bottom of screen
- X when string is found.
- X FIX. search.c - added clear_message() to various search routines.
- X
- X4) unido!skuld.north.de!heimdall (Volker Beyer)
- X BUG. Du versuchst den Vi aufzurufen, und zwar ind /usr/bin, bei
- X Xenix steht er aber in /bin.Ausserdem sollte kein Editor
- X definiert werden wenn die Shell-Variable EDITOR gesetzt ist
- X (wird u.a. auch in vnews benutzt (der von bnews zumindestens)).
- X FIX. tin.h - Added #ifdef M_XENIX #define DEFAULT_EDITOR /bin/vi #endif
- X
- X5) rsalz@bbn.com (Rich Salz)
- X Contributed newer version (June 91) of wildmat.c & wildmat.3 routines
- X
- X6) v.hoang@att.com (Viet Hoang)
- X BUG. <sys/types.h> defined in tin.h and open.c
- X FIX. open.c - deleted <sys/types.h>
- X
- X7) v.hoang@att.com (Viet Hoang)
- X BUG. The entry for sysv in Makefile uses double backslash when it
- X should only be single backslash.
- X FIX. Makefile - changed \\ to \ in sysv entry.
- X
- X8) kos@nd.se (Karl-Olov Serrander)
- X BUG. If tin is suid news, it is not possible to create .tin and
- X .tin/.tinrc when you use command M.
- X FIX. rcfile.c - write_rcfile() now uses setuid() & setgid() routines.
- X
- X9) iain@estevax.uucp (Iain Lea)
- X BUG. If tin is suid news, it has problems creating files in users home
- X dir.
- X FIX. kill.c misc.c post.c - added setuid() & setgid() routines.
- X
- X10) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson)
- X BUG. If I do "tin -u" via cron, the job gets aborted due to the
- X environment variable TERM not being defined.
- X FIX. main.c - main() put do_update() before curses is initialized.
- X
- X11) iain@estevax.uucp (Iain Lea)
- X BUG. Inverse video does not work correctly on sysV machines
- X FIX. page.c group.c select.c screen.c - modified inverse routines.
- X
- X12) unido!gmdzi.gmd.de!brosig (Andreas Brosig)
- X BUG. Ich hatte in TASS die Moeglichkeit mit !:kommando: shell-
- X Kommandos abzugeben; gut, das geht mit TIN auch, aber nach
- X der shell-Kommando Ausgabe wird direkt ein redraw des Screens
- X gemacht, zu schnell fuer meine Augen. TASS wartete noch auf
- X einen Tastendruck des Benutzers.
- X FIX. misc.c - shell_escape() added continue_prompt() to wait for
- X user input.
- X
- X13) cliff@norisc.uucp (Clifford Luke)
- X BUG. When ^Z done in Options Menu 'M' incorrect screen is redrawn
- X when process is restarted. Wrong signal handler set.
- X FIX. signal.c rcfile.c - added signal handler for change_rcfile().
- X
- X14) cliff@norisc.uucp (Clifford Luke)
- X BUG. When ^Z done under SysVR4 the screen goes into endless loop
- X of redrawing itself. Many thanx for patches supplied.
- X FIX. signal.c - added POSIX? signal handler code to all handlers.
- X
- X15) iain@estevax.uucp (Iain Lea)
- X Added percentage info to bottom of group & select menus.
- X
- X16) rdb@oasis.icl.co.uk (Roger Binns)
- X BUG. I would like it to do something about non-existent groups.
- X It should delete them or something.
- X FIX. newsrc.c - rewrite_newsrc() writes new newsrc with only
- X newsgroups that are present in active file.
- X
- X17) iain@estevax.uucp (Iain Lea)
- X Rewrote mail,pipe,print & save commands to handle a)rticle,
- X t)thread r)egex pattern and T)agged articles.
- X
- X18) unido!tintin.rivm.nl!a3 (Adri Verhoef)
- X BUG. Failed posts don't get saved (to dead.article).
- X FIX. post.c - changed post_base() & post_response()
- X
- X19) unido!tintin.rivm.nl!a3 (Adri Verhoef)
- X BUG. inews not found. (Mine is located in ~news/nntp)
- X Thanx for the supplied patches.
- X FIX. added INEWSDIR define. Set to inews dir otherwise
- X defaults to LIBDIR.
- X
- X20) unido!tintin.rivm.nl!a3 (Adri Verhoef)
- X BUG. From the options menu it is not clear that you use a <CR> to
- X leave the option that you are toggling.
- X FIX. lang.c - rewrote text messages to mention <CR> being needed.
- X
- X21) unido!tintin.rivm.nl!a3 (Adri Verhoef)
- X BUG. Long newsgroup names cause troubles; when I jumped to the
- X last newsgroup ($), the following appeared:
- X 191 alt.wpi.negativland.subgenii.for.rent
- X 2 general
- X ^^
- X FIX. select.c - changed max length of newsgroup name from 36 to 40.
- X
- X22) iain@estevax.uucp (Iain Lea)
- X Finished man page.
- X
- X23) iain@estevax.uucp (Iain Lea)
- X BUG. mail_setup () will not work if MAIL env varaible not set.
- X FIX. mail.c - mail_setup() now checks mailbox path as well.
- X
- X24) crs@siesoft.co.uk (Chris Smith)
- X BUG. help screens are hard coded for 25 line terminals so if
- X screen is bigger it cannot use the extra space.
- X FIX. help.c - show_help_screen() rewrote to use maximum lines.
- X
- X25) bernd@norisc.uucp (Bernd Schwerin)
- X BUG. Save operation doesnt ask for a base filename when saving
- X tagged articles. After saving the tagged articles the
- X pathnames are .01, .02 etc.
- X FIX. feed.c - feed_articles () removed if () to allow tagged files
- X sequence to ask for filename to save to.
- X
- XCHANGES tass v3.2 -> tin v1.00
- X------------------------------
- X
- Xo News can be read locally (ie. /usr/spool/news) or remotely by NNTP (-r option)
- X
- Xo User can config tin's options dynamically by 'M' command and have them
- X saved to ~/.tin/tinrc.
- X
- Xo Archive-name: mail header is used when saving and post processing
- X articles / threads.
- X
- Xo Adjusts to size of screen for how much of Subject: & From: is displayed.
- X
- Xo Post processes saved articles/threads. It will handle sh, uudecode,
- X zoo, lharc, arc and zip (unzip) formats.
- X
- Xo Articles can be sorted on Subject:, From:, Date: field or nothing.
- X
- Xo Killfile support (Not fully debugged). Kill articles at single group
- X / all groups on Subject:,From: line or on user entered pattern.
- X
- Xo Saves articles / threads to elm mailbox by pressing '=' when asked
- X for name of saved file.
- X
- Xo Displays history of user posted articles/replies & followups.
- X
- Xo Higlighted bar / -> arrow can be used for selecting articles
- X
- Xo Tagging of articles to save in a particular order
- X
- XAnd many other small changes.
- X
- SHAR_EOF
- $TOUCH -am 0923175591 CHANGES &&
- chmod 0600 CHANGES ||
- echo "restore of CHANGES failed"
- set `wc -c CHANGES`;Wc_c=$1
- if test "$Wc_c" != "14067"; then
- echo original size 14067, current size $Wc_c
- fi
- # ============= TODO ==============
- echo "x - extracting TODO (Text)"
- sed 's/^X//' << 'SHAR_EOF' > TODO &&
- XFIX FEATURES
- X------------
- Xo Fix uuscram code in uudecode.
- X
- Xo Fix code to sort arts. At page level funny things happen.
- X
- Xo Fix code to KILL articles. At page level funny things happen.
- X
- Xo Fix code to KILL articles with 't' command.
- X
- Xo Fix 'z' so that it stays unread even if a KILL is performed before
- X leaving the group.
- X
- Xo Fix so that it always finds unread messages.
- X
- XADD FEATURES
- X------------
- Xo Add crossposting of articles so that read ones are marked read in
- X other groups. in rn it uses Xref: line to do this. Perhaps just
- X use update_group() to do it?
- X Needs to handle 'c' 'C' 'k' 'K' commands. Perhaps it should be an
- X option so that performance is not impaired.
- X
- Xo Add 'C' command at group level to catchup present group and
- X enter next group with unread news in it.
- X
- Xo Add code to 'N' at group level so it goes to next group with unread news.
- X
- Xo Add -s <dir> option to save new news to specifed spool dir for when
- X one goes on holiday so that it can be read later by giving -S <dir>.
- X
- Xo Add 'H' context senstive level help screens
- X
- Xo Sort .newsrc according to preference. (sort active file as it is read)
- X
- Xo Add code to do unpack patches
- X
- Xo Add time period kill article
- X
- XPIPEDREAMS
- X----------
- Xo Add rebindable keymaps and provide different terminal keymaps
- X (ie. keymap.ansi, keymap.wy50 etc.)
- X
- Xo Add support for german text messages.
- X
- Xo Add Virtual newsgroups (combination of newsgroups ie. virtual.ibm
- X consists of comp.sys.ibm.* groups).
- X
- Xo Add threading on References like trn with mthreads database.
- X
- Xo Add full curses support instead of using printf()'s.
- X
- Xo Sub all not empty groups by looking at min max values in active array
- X and Unsub all empty groups by looking at min max values in active
- X array. have a command to do this in a toggle effect.
- SHAR_EOF
- $TOUCH -am 0923175591 TODO &&
- chmod 0600 TODO ||
- echo "restore of TODO failed"
- set `wc -c TODO`;Wc_c=$1
- if test "$Wc_c" != "1810"; then
- echo original size 1810, current size $Wc_c
- fi
- # ============= UPDATE_INDEX ==============
- echo "x - extracting UPDATE_INDEX (Text)"
- sed 's/^X//' << 'SHAR_EOF' > UPDATE_INDEX &&
- X#! /bin/csh -f
- X# Iain Lea, 21-08-91
- X# Script to update tin indexes from the at queue
- X
- X# required for at
- Xsetenv HOME /piez/iain
- Xsetenv NAME 'Iain J. Lea'
- Xsetenv GROUP 'piez'
- Xsetenv PATH :/usr/ucb:/bin:/usr/bin:/usr/local
- X
- X# specific for this script
- Xsetenv SCRIPT /piez/iain/bin/UPDATE_INDEX
- Xsetenv TIME 0700
- Xsetenv TINDIR /piez/iain/bin
- X
- X# hangs update indexes onto system batch queue
- X$TINDIR/tin -u > $HOME/UPDATE_LOG
- X
- X# sleeps and then submits this script again for tommorow
- X/usr/bin/sleep 1200
- X/usr/local/at $TIME $SCRIPT
- SHAR_EOF
- $TOUCH -am 0923175591 UPDATE_INDEX &&
- chmod 0700 UPDATE_INDEX ||
- echo "restore of UPDATE_INDEX failed"
- set `wc -c UPDATE_INDEX`;Wc_c=$1
- if test "$Wc_c" != "530"; then
- echo original size 530, current size $Wc_c
- fi
- # ============= tin.1 ==============
- echo "x - extracting tin.1 (Text)"
- sed 's/^X//' << 'SHAR_EOF' > tin.1 &&
- X.TH TIN 1 "Version 1.0 PL2"
- X.SH NAME
- Xtin \- Visual threaded Usenet news reader
- X.SH SYNOPSIS
- X.B tin
- X[options] [newsgroups]
- X.SH DESCRIPTION
- X.I Tin
- Xis a full-screen threaded Usenet newsreader. It can read news
- Xlocally (ie. \fI/usr/spool/news\fP) or remotely (-r option) via
- Xa NNTP (Network News Transport Protocol) server.
- X.PP
- XTin has three newsreading levels:
- Xthe newsgroup selection page, the group index page and the article viewer.
- XUse the 'h' (help) command to view a list of the commands available at a
- Xparticular level, or the 'H' command to view context sensitive help.
- X.PP
- XOn startup Tin will show a list of the newsgroups found in \fI$HOME/.newsrc\fP.
- XAn arrow '->' or highlighted bar will point to the first newsgroup.
- XMove to a group by using the terminal arrow keys (ansi/at386/vt100 only) or
- X'j' and 'k'. Use PgUp/PgDn (ansi/at386/vt100 only) or Ctrl-U and Ctrl-D to
- Xpage up/down. Enter a newsgroup by pressing RETURN.
- X.PP
- XThe TAB key may be used to advance to the next newsgroup with unread articles
- Xand enter it.
- X.SH OPTIONS
- X.TP 10
- X\fB-c\fP
- Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
- Xfile specified by -f option and mark all articles as read.
- X.TP
- X\fB-d dir\fP
- Xsave articles to directory. Default is \fI$HOME/News\fP.
- X.TP
- X\fB-f file\fP
- XUse the indicated file in place of \fI$HOME/.newsrc\fP.
- X.TP
- X\fB-h\fP
- Xhelp.
- X.TP
- X\fB-m file\fP
- Xmail program to use for sending mail. Default is \fI/usr/ucb/mail\fP.
- X.TP
- X\fB-M dir\fP
- Xmailbox directory to use. Default is \fI$HOME/Mail\fP.
- X.TP
- X\fB-n\fP
- Xnotify the user of any new newsgroups since last session.
- X.TP
- X\fB-p file\fP
- Xprint program with options. Default is \fI/usr/ucb/lpr\fP.
- X.TP
- X\fB-r\fP
- Xread news remotely from the default NNTP server specified in the
- Xenvironment variable NNTPSERVER or contained in the file
- X\fI/etc/nntpserver\fP.
- X.TP
- X\fB-s dir\fP
- Xspool directory where news is stored. Default is \fI/usr/spool/news\fP.
- X.TP
- X\fB-S\fP
- Xsave news articles for later reading. Useful when going on holiday and
- Xyou don't want to return and find that expire has removed a whole load
- Xof unread articles. Best to run from crontab everyday while away. After
- Xeach run the user will be mailed a report of which articles were saved
- Xin which groups and the total number of articles saved. To keep your
- X\fI$HOME/.newsrc\fP upto date specify the -u option as well. Articles
- Xare saved in a private news structure under your <savedir> directory
- X(default is \fI$HOME/News\fP). Be careful of using this option if you
- Xread a lot of groups because you could overflow your filesystem. If
- Xyou only want to save a few groups it would be best to backup your
- Xfull \fI$HOME/.newsrc\fP and create a new one that only contains the
- Xgroups you want to save. Saved news can be read later by starting tin
- Xwith the -s <savedir> option.
- X.TP
- X\fB-u\fP
- Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
- Xfile specified by -f option.
- X.TP
- X\fB-U\fP
- Xstart tin in the background to update index files while reading news
- Xin the foreground.
- X.TP
- X\fB-v\fP
- Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
- Xfile specified by -f option. Each group name is printed to stdout as
- Xit is updated.
- X.PP
- XTin can also dynamically change its options by the 'M' menu command.
- XAny changes are written to \fI$HOME/.tin/tinrc\fP.
- X.SH "INDEX FILES"
- XIn order to keep track of threads, Tin maintains an index for each group.
- XIf Tin is made setuid to news, the indexes will be stored in the news spool
- Xdirectory (typically \fI/usr/spool/news\fP). If Tin is not setuid, it
- Xwill store index files in the subdirectory \fI$HOME/.tin/.index\fP.
- XDo not make Tin setuid news if news will be obtained via NNTP and not
- Xfrom \fI/usr/spool/news\fP.
- X.PP
- XEntering a group the first time tends to be slow because the index file must
- Xbe built from scratch. Subsequent readings of a group will cause
- XTin to incrementally update the index file, adding or removing entries as new
- Xarticles come in or as news expires. If reading news remotely indexing
- Xwill be somewhat slower because the articles must be retrieved via the
- XNNTP.
- X.PP
- XA good way to keep Tin index files current is to run tin -u from cron:
- X.RS
- X.nf
- X20 6 * * * /usr/local/bin/tin -u -f /usr/lib/news/tin_groups
- X.fi
- X.RE
- XThis would update the index files for those groups appearing in
- X\fI/usr/lib/news/tin_groups\fP. To index all of the groups on the
- Xsystem, run tin -u with -f indicating the active file:
- X.RS
- X.nf
- X20 6 * * * /usr/local/bin/tin -u -f /usr/lib/news/active
- X.fi
- X.RE
- X.SH "SCREEN FORMAT"
- XTin has three separate levels of operation: Selection Group level, Group level
- Xand Article level.
- X.PP
- XAt the Selection Group level the newsgroups are displayed on the left
- Xof the screen with the number of unread articles displayed on the same
- Xline in the middle of the screen.
- X.RS
- X.nf
- X.in +.5i
- X.ta +\w'1 'u +\w'news.software.readers 'u
- X<Selection Num> <Newsgroup> <Num of unread articles>
- X.ti -.5i
- Xi.e.,
- X1 alt.sources 10
- X2 comp.sources.misc 3
- X3 news.software.readers 12
- X.in -.5i
- X.fi
- X.RE
- X.PP
- XAt the Group level the following formats are possible:
- X.RS
- X.nf
- X.in +.5i
- X.ta +\w'1 'u +\w'+ 'u +\w'This question has 'u +\w'1 'u
- X<Selection Num> <Unread> <Responses> <Subject> <Author>
- X.ti -.5i
- Xi.e.,
- X1 + 3 Bnews sources? iain@estevax
- X2 1 This question has ether@net
- X.ti -.5i
- Xor
- X.ta +\w'1 'u +\w'+ 'u +\w'This question has a long subject line 'u
- X<Selection Num> <Unread> <Responses> <Subject (longer)>
- X.ti -.5i
- Xi.e.,
- X1 + 3 Bnews sources?
- X2 1 This question has a longer subject line
- X.in -.5i
- X.fi
- X.RE
- X.PP
- XAt the Article level the page header has the following format:
- X.RS
- X.nf
- X.in +.5i
- X.ta \w'<Date posted> <Newsgroup> 'u
- X<Date posted> <Newsgroup> <Thread 1 of n>
- X<Article Num> <Subject> <Num of responses in thread>
- X<Author> <Organization>
- X
- X<Article body>
- X.ti -.5i
- Xi.e.,
- X.ta \w'24 Jul 15:20:03 GMT 'u +\w'Bnews sources? 'u
- X24 Jul 15:20:03 GMT alt.sources Thread 1 of 2
- XArticle 452 Bnews sources? 3 responses
- Xiain@estevax Siemens AG, Germany
- X
- X<Article boby>
- X.in -.5i
- X.fi
- X.RE
- X.SH "COMMON MOVING KEYS"
- XThis table shows the common keys/commands for moving at all three levels
- Xwithin Tin.
- X.RS
- X.nf
- X.ta \w'Beginning of list/article 'u +\w'ansi/at386/vt100 'u
- X ansi/at386/vt100 Other Terminals
- XBeginning of list/article \fBHome\fP \fB1\fP (\fB^R\fP or \fBg\fP at article level)
- XEnd of list/article \fBEnd\fP \fB$\fP (also \fBG\fP at article level)
- XPage Up \fBPgUp\fP \fB^U\fP or \fBb\fP
- XPage Down \fBPgDn\fP \fB^D\fP or \fB<SPACE>\fP
- XLine Up \fBUp arrow\fP \fBk\fP (not at article level)
- XLine Down \fBDown arrow\fP \fBj\fP (not at article level)
- X.fi
- X.RE
- X.SH "NEWSGROUP SELECTION COMMANDS"
- X.TP 10
- X\fB4\fP
- XSelect group 4.
- X.TP
- X\fB^K\fP
- XDelete current group from \fI$HOME/.newsrc\fP file.
- X.TP
- X\fB^L\fP
- XRedraw page.
- X.TP
- X\fB^R\fP
- XReset \fI$HOME/.newsrc\fP file.
- X.TP
- X\fB<CR>\fP
- XRead current group.
- X.TP
- X\fB<TAB>\fP
- XView next unread group.
- X.TP
- X\fBB\fP
- XMail a bug/gripe/comment to the author of tin. This is the best way
- Xof getting bugs fixed and features added/changed.
- X.TP
- X\fBc\fP
- XMark current group as all read and goto next group in group selection list.
- X.TP
- X\fBC\fP
- XMark current group as all read and goto next unread group in group selection
- Xlist.
- X.TP
- X\fBg\fP
- XChoose a new group by name. The position of the group within the group
- Xlist will also be asked for. By entering '1' the new group will be the
- Xfirst group in the displayed list, by entering '8' the group will be
- Xthe eighth group in the list etc. By entering '$' the group will be the
- Xlast group displayed.
- X.TP
- X\fBh\fP
- Xhelp screen of newsgroup selection commands.
- X.TP
- X\fBH\fP
- Xhelp screen of context sensitive help about newsgroup selection level.
- X.TP
- X\fBI\fP
- XToggle inverse video.
- X.TP
- X\fBm\fP
- XMove the current group within the group selection list.
- XBy entering '1' the group will become the first displayed group in
- Xthe list, by entering '8' the eighth group in the list etc. By
- Xentering '$' the group will be the last group displayed.
- X.TP
- X\fBM\fP
- XUser configurable options menu (for more information see section Options Menu).
- X.TP
- X\fBq\fP
- XQuit tin.
- X.TP
- X\fBs\fP
- XSubscribe to current group.
- X.TP
- X\fBS\fP
- XSubscribe to groups matching user specified pattern.
- X.TP
- X\fBu\fP
- XUnsubscribe to current group.
- X.TP
- X\fBU\fP
- XUnsubscribe to groups matching user specified pattern.
- X.TP
- X\fBv\fP
- XPrint tin version number.
- X.TP
- X\fBw\fP
- XPost an article to current group.
- X.TP
- X\fBW\fP
- XList articles posted by user. The date posted, the newsgroup and the
- Xsubject are listed.
- X.TP
- X\fBy\fP
- XThe first time this command is called it will yank in all groups from
- X\fI/usr/local/news/active\fP that are not in \fI$HOME/.newsrc\fP.
- XAfter any groups have been subscribed/unsubscribed to, this command
- Xif pressed again will reread \fI$HOME/.newsrc\fP and display only
- Xsubscribed groups.
- X.TP
- X\fBY\fP
- XReread group list from \fI$HOME/.newsrc\fP file.
- X.TP
- X\fBz\fP
- XMark all articles in the current group as unread.
- X.TP
- X\fBZ\fP
- XUndelete previously deleted group from \fI$HOME/.newsrc\fP file.
- X.TP
- X\fB/\fP
- XGroup forward search.
- X.TP
- X\fB?\fP
- XGroup backward search.
- X.SH "GROUP INDEX COMMANDS"
- X.TP 10
- X\fB4\fP
- XSelect article 4.
- X.TP
- X\fB^K\fP
- XKill current article (for more information read section Kill Article Menu).
- X.TP
- X\fB^L\fP
- XRedraw page.
- X.TP
- X\fB<CR>\fP
- XRead current article.
- X.TP
- X\fB<TAB>\fP
- XView next unread article or group.
- X.TP
- X\fBa\fP
- XAuthor forward search.
- X.TP
- X\fBA\fP
- XAuthor backward search.
- X.TP
- X\fBB\fP
- XMail a bug/gripe/comment to the author of tin. This is the best way
- Xof getting bugs fixed and features added/changed.
- X.TP
- X\fBc\fP
- XMark all articles as read.
- X.TP
- X\fBC\fP
- XCancel current article. It must have been posted by the same user. The
- Xcancel message can be seen in the newsgroup 'control'.
- X.TP
- X\fBg\fP
- XChoose a new group by name.
- X.TP
- X\fBh\fP
- Xhelp screen of group index commands.
- X.TP
- X\fBH\fP
- Xhelp screen of context sensitive help about group index level.
- X.TP
- X\fBI\fP
- XToggle inverse video.
- X.TP
- X\fBK\fP
- XMark article/thread as read and advance to next unread article/thread.
- X.TP
- X\fBm\fP
- XMail current article / thread / articles matching pattern / tagged articles
- Xto someone.
- X.TP
- X\fBM\fP
- XUser configurable options menu (for more information see section Options Menu).
- X.TP
- X\fBn\fP
- XGo to next group.
- X.TP
- X\fBN\fP
- XGo to next unread group.
- X.TP
- X\fBo\fP
- XOutput current article / thread / articles matching pattern / tagged articles
- Xto printer.
- X.TP
- X\fBp\fP
- XGo to previous group.
- X.TP
- X\fBP\fP
- XGo to previous unread group.
- X.TP
- X\fBq\fP
- XQuit tin.
- X.TP
- X\fBs\fP
- XSave current article / thread / articles matching pattern / tagged articles
- Xto file / files / mailbox. To save to a mailbox enter '=' or '=mailbox' when
- Xasked for filename to save to. To save to <newsgroup name>/<filename> enter '+<filename>'.
- X.TP
- X\fBT\fP
- XTag current article for mailing ('m') / piping ('|') / printing ('o') / saving ('s').
- X.TP
- X\fBt\fP
- XReturn to group selection index.
- X.TP
- X\fBU\fP
- XUntag all articles that were tagged for saving.
- X.TP
- X\fBv\fP
- XPrint tin version number.
- X.TP
- X\fBw\fP
- XPost an article to current group.
- X.TP
- X\fBW\fP
- XList articles posted by user. The date posted, the newsgroup and the
- Xsubject are listed.
- X.TP
- X\fBz\fP
- XMark current article as unread.
- X.TP
- X\fBZ\fP
- XMark current thread as unread.
- X.TP
- X\fB/\fP
- XSearch forward for specified subject.
- X.TP
- X\fB?\fP
- XSearch backward for specified subject.
- X.TP
- X\fB-\fP
- XShow last message.
- X.TP
- X\fB|\fP
- XPipe current article / thread / articles matching pattern / tagged articles
- Xinto command.
- X.SH "ARTICLE COMMANDS"
- X.TP 10
- X\fB0\fP
- XRead the base article in this thread.
- X.TP
- X\fB4\fP
- XRead response 4 in this thread.
- X.TP
- X\fB^H\fP
- XShow all of the articles mail header.
- X.TP
- X\fB^K\fP
- XKill current article (for more information read section Kill Article Menu).
- X.TP
- X\fB^L\fP
- XRedraw page.
- X.TP
- X\fB<CR>\fP
- XSkip to next base article.
- X.TP
- X\fB<TAB>\fP
- XAdvance to next page or unread article.
- X.TP
- X\fBa\fP
- XAuthor forward search.
- X.TP
- X\fBA\fP
- XAuthor backward search.
- X.TP
- X\fBB\fP
- XMail a bug/gripe/comment to the author of tin. This is the best way
- Xof getting bugs fixed and features added/changed.
- X.TP
- X\fBc\fP
- XMark all articles as read.
- X.TP
- X\fBd\fP
- XToggle rot-13 decoding for this article.
- X.TP
- X\fBf\fP
- XPost a followup to current article.
- X.TP
- X\fBF\fP
- XPost a followup with a copy of the current article included.
- X.TP
- X\fBh\fP
- XHelp screen of article page commands.
- X.TP
- X\fBH\fP
- XHelp screen of context sensitive help about article page level.
- X.TP
- X\fBi\fP
- XReturn to index page.
- X.TP
- X\fBI\fP
- XToggle inverse video.
- X.TP
- X\fBk\fP
- XMark article as read and advance to next unread article.
- X.TP
- X\fBK\fP
- XMark thread as read and advance to next unread thread.
- X.TP
- X\fBm\fP
- XMail current article / thread / articles matching pattern / tagged articles
- Xto someone.
- X.TP
- X\fBM\fP
- XUser configurable options menu (for more information see section Options Menu).
- X.TP
- X\fBn\fP
- XGo to to the next article.
- X.TP
- X\fBN\fP
- XGo to to the next unread article.
- X.TP
- X\fBo\fP
- XOutput current article / thread / articles matching pattern / tagged articles
- Xto printer.
- X.TP
- X\fBo\fP
- XOutput article/thread/tagged articles to printer.
- X.TP
- X\fBp\fP
- XGo to the previous article.
- X.TP
- X\fBP\fP
- XGo to the previous unread article.
- X.TP
- X\fBq\fP
- XQuit tin.
- X.TP
- X\fBr\fP
- XReply through mail to author.
- X.TP
- X\fBR\fP
- XReply through mail to author with a copy of the current article included.
- X.TP
- X\fBs\fP
- XSave current article / thread / articles matching pattern / tagged articles
- Xto file(s) / mailbox. To save to a mailbox enter '=' or '=mailbox' when
- Xasked for filename to save to. To save to <newsgroup name>/<filename> enter '+<filename>'.
- X.TP
- X\fBt\fP
- XReturn to group selection index.
- X.TP
- X\fBv\fP
- XPrint tin version number.
- X.TP
- X\fBw\fP
- XPost an article to current group.
- X.TP
- X\fBW\fP
- XList articles posted by user. The date posted, the newsgroup and the
- Xsubject are listed.
- SHAR_EOF
- echo "End of tin1.02 part 1"
- echo "File tin.1 is continued in part 2"
- echo "2" > shar3_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-