wdstarr@athena.mit.edu (William December Starr) (02/04/90)
Occasionally, someone will include a "Followup-To:" line in the header of their article, indicating that further discussion of the subject should be done in a different newsgroup. I have two questions about this, one technical and one in re nettiquette. Nettiquette first: To what degree should I feel bound to respect the poster's wishes? To cite an example, if someone posts an article in misc.legal in re the legalization of some drugs, and includes a "Followup-To: alt.drugs" in it, am I obliged to honor that followup pointer, or is it all right for me to (arbitrarily) decide that the topic _does_ belong in misc.legal? Secondly, a technical question. What I want to do is to set up my NEWSHEADER environment variable such that if a difference exists between the name of the current newsgroup(s) and the name of the followup newsgroup(s), it will be very visible to me. The default NEWSHEADER, which I'm using now, includes Newsgroups: %(%F=^$?%C:%F) which, if I understand this right, translates to IF %F is a null THEN use %C ELSE use %F where %F is the string on the Followup-To line and %C is the current newsgroup name (btw, what's %C equal to if the article being followed-up is x-posted to several newsgroups?). Okay, so far, so good. What I want to do is to alter that part of my NEWSHEADER line so that the result will translate to IF %F is a null THEN use %C ELSE IF %F equals %C THEN use %C ELSE use something really eye-catching which contains both %C and %F I tried changing that part of my NEWSHEADER to Newsgroups: %(%F=^$?%C:%(%F=%C?%C:---- %C ---- %F)) The idea being that a "Newsgroups" line which contained all those dashes would leap out at me when I was editing my followup article and thereby notify me that the original poster had wanted to move the conversation to a different location. Well, it didn't work. I'm not sure why, but when I was following up article that didn't have Followup-To lines in them, I'd wind up with something like Newsgroups: ---- misc.legal ---- misc.legal which seems to indicate, against all reason, that the %F value is simultaneously (a) not null, (b) eyeball-visibly identical to %C and (c) not really identical to %C. Rather than try to believe six impossible things before breakfast, I've defaulted to assuming that I don't really know what the heck I'm doing. Can anybody help? -- William December Starr <wdstarr@athena.mit.edu>
ray@philmtl.philips.ca (Ray Dunn) (02/06/90)
In referenced article, wdstarr@athena.mit.edu (William December Starr) writes: >...article that didn't have Followup-To lines in them, I'd wind up with >something like > > Newsgroups: ---- misc.legal ---- misc.legal > >which seems to indicate, against all reason, that the %F value is >simultaneously (a) not null, (b) eyeball-visibly identical to %C and >(c) not really identical to %C. Rather than try to believe six >impossible things before breakfast, I've defaulted to assuming that I >don't really know what the heck I'm doing. Can anybody help? This anamoly is due to the fact that you cannot have a variable expanded in a "pattern" field in the rn stuff. If you are using emacs, you might like to try the following: Define the following in your .login file: setenv NEWSHEADER 'Newsgroups: %(%F=^$?%C:%F)\ Subject: %(%S=^$?%"\n\nSubject: ":Re: %S)\ %(%R=^$?:References: %R\n)%(%D=^$?:Distribution: %D\ )Organization: %o\n\ %(%`expr "%F" = "%n"`=1?:{warn_ray_newsgroups}%n\n)' setenv MAILHEADER 'To: %t\nSubject: %(%i=^$?:Re: %S\ Newsgroups: %n\nIn-Reply-To: %i)\ Organization: %o\nCc: %L\n\n{posn_cursor_here_emacs}' then define the following in your emacs .emacs_pro: (defun (rn-mode ans ;define any pet local conditions you might want for rn replies (text-mode) (setq right-margin 76) (setq mode-string "rn") ; position cursor as instructed in header info (if (!(error-occurred (search-forward "{posn_cursor_here_emacs}"))) (provide-prefix-argument 24 (delete-previous-character)) ) ; process any newsgroup followup warning (if (looking-at "{warn_ray_newsgroups}") (progn (provide-prefix-argument 21 (delete-next-character)) (kill-to-end-of-line) (delete-next-character) (save-excursion ; display original newsgroups on line following new Newsgroups: (beginning-of-file) (next-line) (insert-string "Originally: ") (yank-from-killbuffer) (newline)(newline) (beginning-of-file) ; bell the user - the ^G should be replaced by a CTRL G code (send-string-to-terminal "^G") ; ask if want to replace current ones (setq ans (get-tty-string (concat "Use original Newsgroups? "))) (if (| (= ans "y")(= ans "Y")) (progn ; yes - delete current, insert original (search-forward ": ") (yank-from-killbuffer) (kill-to-end-of-line) ) ) ; fix-up header - remove Originally: lines (next-line)(beginning-of-line) (provide-prefix-argument 3 (kill-to-end-of-line)) ) ) ) ) ) (auto-execute "rn-mode" "*.letter") (auto-execute "rn-mode" "*.article") This will flag clearly when there is a difference between the newsgroups and followup-to lines of an article you are replying to, allow you to chose one or the other, and automatically fix up the header. -- Ray Dunn. | UUCP: ray@philmtl.philips.ca Philips Electronics Ltd. | ..!{uunet|philapd|philabs}!philmtl!ray 600 Dr Frederik Philips Blvd | TEL : (514) 744-8200 Ext : 2347 (Phonemail) St Laurent. Quebec. H4M 2S9 | FAX : (514) 744-6455 TLX : 05-824090