rn 4.3 patch #18
Larry Wall
lwall at sdcrdcf.UUCP
Fri May 24 10:43:12 AEST 1985
System: rn version 4.3
Patch #: 18
Priority: ENHANCEMENT
Subject: The 'r' and 'f' commands ought to work from "End of newsgroup"
Description:
The reply and followup commands should let you do so from a null
article (typically the pseudo-article called "End of newsgroup")
producing a basenote, or a mail message to nobody (yet). Not only
would this be handy, but it allows certain news administrators who
can't put Pnews and Rnmail in a public place to nevertheless let
people originate notes or messages. It also lets you invoke
Pnews or Rnmail with the same environment as rn, in the situation
where you aren't really carrying environment variables around in
your environment but rather setting them with -E.
Fix: From rn, say "| patch -d DIR", where DIR is your rn source directory.
Outside of rn, say "cd DIR; patch <thisarticle". If you don't have
the patch program, apply the following by hand, or get patch.
If patch indicates that patchlevel is the wrong version, you may need
to apply one or more previous patches, or the patch may already
have been applied. See the patchlevel file to find out what has or
has not been applied. In any event, don't continue with the patch.
Index: patchlevel
Prereq: 17
1c1
< Patch #: 17
---
> Patch #: 18
Index: common.h
Prereq: 4.3.1.2
*** common.h.old Thu May 23 17:23:43 1985
--- common.h Thu May 23 17:24:16 1985
***************
*** 1,4
! /* $Header: common.h,v 4.3.1.2 85/05/13 09:30:39 lwall Exp $
*
* $Log: common.h,v $
* Revision 4.3.1.2 85/05/13 09:30:39 lwall
--- 1,4 -----
! /* $Header: common.h,v 4.3.1.3 85/05/23 17:19:32 lwall Exp $
*
* $Log: common.h,v $
* Revision 4.3.1.3 85/05/23 17:19:32 lwall
***************
*** 1,6
/* $Header: common.h,v 4.3.1.2 85/05/13 09:30:39 lwall Exp $
*
* $Log: common.h,v $
* Revision 4.3.1.2 85/05/13 09:30:39 lwall
* Added CUSTOMLINES option.
*
--- 1,9 -----
/* $Header: common.h,v 4.3.1.3 85/05/23 17:19:32 lwall Exp $
*
* $Log: common.h,v $
+ * Revision 4.3.1.3 85/05/23 17:19:32 lwall
+ * Now allows 'r' and 'f' on null articles.
+ *
* Revision 4.3.1.2 85/05/13 09:30:39 lwall
* Added CUSTOMLINES option.
*
***************
*** 531,537
#else
# ifndef MAILHEADER /* % */
# ifdef CONDSUB
! # define MAILHEADER "To: %T\nSubject: Re: %S\nNewsgroups: %n\nIn-Reply-To: %i\n%(%[references]!=^$?References\\: %[references]\n)Organization: %o\nCc: \nBcc: \n\n"
# else
# define MAILHEADER "To: %T\nSubject: Re: %S\nNewsgroups: %n\nIn-Reply-To: %i\nReferences: %[references]\nCc: \nBcc: \n\n"
# endif
--- 534,540 -----
#else
# ifndef MAILHEADER /* % */
# ifdef CONDSUB
! # define MAILHEADER "To: %T\nSubject: %(%i=^$?:Re: %S\nNewsgroups: %n\nIn-Reply-To: %i)\n%(%[references]!=^$?References\\: %[references]\n)Organization: %o\nCc: \nBcc: \n\n"
# else
# define MAILHEADER "To: %T\nSubject: Re: %S\nNewsgroups: %n\nIn-Reply-To: %i\nReferences: %[references]\nCc: \nBcc: \n\n"
# endif
***************
*** 548,554
#endif
#ifndef NEWSHEADER /* % */
! # define NEWSHEADER "Newsgroups: %F\nSubject: Re: %S\nSummary: \nExpires: \nReferences: %R\nSender: \nReply-To: %L@%H.UUCP (%N)\nFollowup-To: \nDistribution: %D\nOrganization: %o\nKeywords: %[keywords]\n\n"
#endif
#ifndef ATTRIBUTION /* % */
--- 551,561 -----
#endif
#ifndef NEWSHEADER /* % */
! # ifdef CONDSUB
! # define NEWSHEADER "Newsgroups: %(%F=^$?%C:%F)\nSubject: %(%S=^$?%\"\n\nSubject: \":Re: %S)\nSummary: \nExpires: \n%(%R=^$?:References: %R\n)Sender: \nReply-To: %L@%H.UUCP (%N)\nFollowup-To: \nDistribution: %(%i=^$?%\"Distribution: \":%D)\nOrganization: %o\nKeywords: %[keywords]\n\n"
! # else
! # define NEWSHEADER "Newsgroups: %F\nSubject: Re: %S\nSummary: \nExpires: \nReferences: %R\nSender: \nReply-To: %L@%H.UUCP (%N)\nFollowup-To: \nDistribution: %D\nOrganization: %o\nKeywords: %[keywords]\n\n"
! # endif
#endif
#ifndef ATTRIBUTION /* % */
Index: intrp.c
Prereq: 4.3.1.4
*** intrp.c.old Thu May 23 17:28:02 1985
--- intrp.c Thu May 23 17:29:42 1985
***************
*** 1,4
! /* $Header: intrp.c,v 4.3.1.4 85/05/21 13:35:21 lwall Exp $
*
* $Log: intrp.c,v $
* Revision 4.3.1.4 85/05/21 13:35:21 lwall
--- 1,4 -----
! /* $Header: intrp.c,v 4.3.1.5 85/05/23 17:21:24 lwall Exp $
*
* $Log: intrp.c,v $
* Revision 4.3.1.5 85/05/23 17:21:24 lwall
***************
*** 1,6
/* $Header: intrp.c,v 4.3.1.4 85/05/21 13:35:21 lwall Exp $
*
* $Log: intrp.c,v $
* Revision 4.3.1.4 85/05/21 13:35:21 lwall
* Sped up "rn -c" by not doing unnecessary initialization.
*
--- 1,9 -----
/* $Header: intrp.c,v 4.3.1.5 85/05/23 17:21:24 lwall Exp $
*
* $Log: intrp.c,v $
+ * Revision 4.3.1.5 85/05/23 17:21:24 lwall
+ * Now allows 'r' and 'f' on null articles.
+ *
* Revision 4.3.1.4 85/05/21 13:35:21 lwall
* Sped up "rn -c" by not doing unnecessary initialization.
*
***************
*** 625,631
case 'i':
if (!(s=artid_buf))
s = artid_buf = fetchlines(art,MESSID_LINE);
! if (*s != '<') {
sprintf(scrbuf,"<%s>",artid_buf);
s = scrbuf;
}
--- 628,634 -----
case 'i':
if (!(s=artid_buf))
s = artid_buf = fetchlines(art,MESSID_LINE);
! if (*s && *s != '<') {
sprintf(scrbuf,"<%s>",artid_buf);
s = scrbuf;
}
***************
*** 713,719
artid_buf = fetchlines(art,MESSID_LINE);
if (artid_buf[0] == '<')
safecat(scrbuf,artid_buf,sizeof(scrbuf));
! else {
char tmpbuf[64];
sprintf(tmpbuf,"<%s>",artid_buf);
--- 716,722 -----
artid_buf = fetchlines(art,MESSID_LINE);
if (artid_buf[0] == '<')
safecat(scrbuf,artid_buf,sizeof(scrbuf));
! else if (artid_buf[0]) {
char tmpbuf[64];
sprintf(tmpbuf,"<%s>",artid_buf);
Index: respond.c
Prereq: 4.3.1.3
*** respond.c.old Thu May 23 17:27:17 1985
--- respond.c Thu May 23 17:27:44 1985
***************
*** 1,4
! /* $Header: respond.c,v 4.3.1.3 85/05/15 14:42:32 lwall Exp $
*
* $Log: respond.c,v $
* Revision 4.3.1.3 85/05/15 14:42:32 lwall
--- 1,4 -----
! /* $Header: respond.c,v 4.3.1.4 85/05/23 17:24:49 lwall Exp $
*
* $Log: respond.c,v $
* Revision 4.3.1.4 85/05/23 17:24:49 lwall
***************
*** 1,6
/* $Header: respond.c,v 4.3.1.3 85/05/15 14:42:32 lwall Exp $
*
* $Log: respond.c,v $
* Revision 4.3.1.3 85/05/15 14:42:32 lwall
* Removed duplicate include of intrp.h.
*
--- 1,9 -----
/* $Header: respond.c,v 4.3.1.4 85/05/23 17:24:49 lwall Exp $
*
* $Log: respond.c,v $
+ * Revision 4.3.1.4 85/05/23 17:24:49 lwall
+ * Now allows 'r' and 'f' on null articles.
+ *
* Revision 4.3.1.3 85/05/15 14:42:32 lwall
* Removed duplicate include of intrp.h.
*
***************
*** 306,322
bool incl_body = (*buf == 'R');
char *maildoer = savestr(filexp(getval("MAILPOSTER",MAILPOSTER)));
! if (artopen(art) == Nullfp) {
! #ifdef VERBOSE
! IF(verbose)
! fputs("\nBut null articles are so dull! :-)\n",stdout) FLUSH;
! ELSE
! #endif
! #ifdef TERSE
! fputs(nullart,stdout) FLUSH;
! #endif
! goto no_reply;
! }
tmpfp = fopen(headname,"w"); /* open header file */
if (tmpfp == Nullfp) {
printf(cantcreate,headname) FLUSH;
--- 309,315 -----
bool incl_body = (*buf == 'R');
char *maildoer = savestr(filexp(getval("MAILPOSTER",MAILPOSTER)));
! artopen(art);
tmpfp = fopen(headname,"w"); /* open header file */
if (tmpfp == Nullfp) {
printf(cantcreate,headname) FLUSH;
***************
*** 334,340
#ifdef TERSE
printf("\n%s\n(Header in %s)\n",buf,headname) FLUSH;
#endif
! if (incl_body) {
interp(buf, (sizeof buf), getval("YOUSAID",YOUSAID));
fprintf(tmpfp,"%s\n",buf);
#ifdef ASYNC_PARSE
--- 327,333 -----
#ifdef TERSE
printf("\n%s\n(Header in %s)\n",buf,headname) FLUSH;
#endif
! if (incl_body && artfp != Nullfp) {
interp(buf, (sizeof buf), getval("YOUSAID",YOUSAID));
fprintf(tmpfp,"%s\n",buf);
#ifdef ASYNC_PARSE
***************
*** 359,375
{
bool incl_body = (*buf == 'F');
! if (artopen(art) == Nullfp) {
! #ifdef VERBOSE
! IF(verbose)
! fputs("\nNull articles give me indigestion! :-)\n",stdout) FLUSH;
! ELSE
! #endif
! #ifdef TERSE
! fputs(nullart,stdout) FLUSH;
! #endif
! return;
! }
tmpfp = fopen(headname,"w");
if (tmpfp == Nullfp) {
printf(cantcreate,headname) FLUSH;
--- 352,358 -----
{
bool incl_body = (*buf == 'F');
! artopen(art);
tmpfp = fopen(headname,"w");
if (tmpfp == Nullfp) {
printf(cantcreate,headname) FLUSH;
***************
*** 377,383
}
interp(buf, (sizeof buf), getval("NEWSHEADER",NEWSHEADER));
fprintf(tmpfp,"%s",buf);
! if (incl_body) {
#ifdef VERBOSE
if (verbose)
fputs("\n\
--- 360,366 -----
}
interp(buf, (sizeof buf), getval("NEWSHEADER",NEWSHEADER));
fprintf(tmpfp,"%s",buf);
! if (incl_body && artfp != Nullfp) {
#ifdef VERBOSE
if (verbose)
fputs("\n\
Index: rn.1
Prereq: 4.3.1.2
*** rn.1.old Thu May 23 17:21:17 1985
--- rn.1 Thu May 23 17:23:24 1985
***************
*** 1,4
! ''' $Header: rn.1,v 4.3.1.2 85/05/13 09:27:53 lwall Exp $
'''
''' $Log: rn.1,v $
''' Revision 4.3.1.2 85/05/13 09:27:53 lwall
--- 1,4 -----
! ''' $Header: rn.1,v 4.3.1.3 85/05/23 17:14:14 lwall Exp $
'''
''' $Log: rn.1,v $
''' Revision 4.3.1.3 85/05/23 17:14:14 lwall
***************
*** 1,6
''' $Header: rn.1,v 4.3.1.2 85/05/13 09:27:53 lwall Exp $
'''
''' $Log: rn.1,v $
''' Revision 4.3.1.2 85/05/13 09:27:53 lwall
''' Added CUSTOMLINES option.
'''
--- 1,9 -----
''' $Header: rn.1,v 4.3.1.3 85/05/23 17:14:14 lwall Exp $
'''
''' $Log: rn.1,v $
+ ''' Revision 4.3.1.3 85/05/23 17:14:14 lwall
+ ''' Now allows 'r' and 'f' on null articles.
+ '''
''' Revision 4.3.1.2 85/05/13 09:27:53 lwall
''' Added CUSTOMLINES option.
'''
***************
*** 512,517
the mailing behavior of
.I rn
(see environment section).
.Ip R 8
Reply, including the current article in the header file generated.
(See \*(L'F\*(R' command below).
--- 515,523 -----
the mailing behavior of
.I rn
(see environment section).
+ If on a nonexistent article such as the "End of newsgroup" pseudo-article
+ (which you can get to with a \*(L'$\*(R' command), invokes the mailer to
+ nobody in particular.
.Ip R 8
Reply, including the current article in the header file generated.
(See \*(L'F\*(R' command below).
***************
*** 518,523
The YOUSAID environment variable controls the format of the attribution line.
.Ip f 8
Submit a followup article.
.Ip F 8
Submit a followup article, and include the old article, with lines prefixed
either by \*(L">\*(R" or by the argument to a
--- 524,532 -----
The YOUSAID environment variable controls the format of the attribution line.
.Ip f 8
Submit a followup article.
+ If on a nonexistent article such as the "End of newsgroup" pseudo-article
+ (which you can get to with a \*(L'$\*(R' command), posts an original
+ article (basenote).
.Ip F 8
Submit a followup article, and include the old article, with lines prefixed
either by \*(L">\*(R" or by the argument to a
***************
*** 1336,1342
.Sp
To: %T
.br
! Subject: Re: %S
.br
Newsgroups: %n
.br
--- 1345,1351 -----
.Sp
To: %T
.br
! Subject: %(%i=^$?:Re: %S
.br
Newsgroups: %n
.br
***************
*** 1340,1346
.br
Newsgroups: %n
.br
! In-Reply-To: %i
.br
%(%[references]!=^$?References\\: %[references]
.br
--- 1349,1355 -----
.br
Newsgroups: %n
.br
! In-Reply-To: %i)
.br
%(%[references]!=^$?References\\: %[references]
.br
***************
*** 1383,1389
.Sp
Default:
.Sp
! Newsgroups: %F
.br
Subject: Re: %S
.br
--- 1392,1398 -----
.Sp
Default:
.Sp
! Newsgroups: %(%F=^$?%C:%F)
.br
Subject: %(%S=^$?%"\n\nSubject: ":Re: %S)
.br
***************
*** 1385,1391
.Sp
Newsgroups: %F
.br
! Subject: Re: %S
.br
Summary:
.br
--- 1394,1400 -----
.Sp
Newsgroups: %(%F=^$?%C:%F)
.br
! Subject: %(%S=^$?%"\n\nSubject: ":Re: %S)
.br
Summary:
.br
***************
*** 1391,1397
.br
Expires:
.br
! References: %R
.br
Sender:
.br
--- 1400,1406 -----
.br
Expires:
.br
! %(%R=^$?:References: %R
.br
)Sender:
.br
***************
*** 1393,1399
.br
References: %R
.br
! Sender:
.br
Reply-To: %L@%H.UUCP (%N)
.br
--- 1402,1408 -----
.br
%(%R=^$?:References: %R
.br
! )Sender:
.br
Reply-To: %L@%H.UUCP (%N)
.br
***************
*** 1399,1405
.br
Followup-To:
.br
! Distribution: %D
.br
Organization: %o
.br
--- 1408,1414 -----
.br
Followup-To:
.br
! Distribution: %(%i=^$?%"\nDistribution: ":%D)
.br
Organization: %o
.br
More information about the Comp.sources.bugs
mailing list