Gnus development mailing list
 help / color / mirror / Atom feed
* making gnus-summary-reparent-thread work right with nnml
@ 1997-11-18 16:13 Steinar Bang
  1997-11-19  9:14 ` Steinar Bang
  1997-11-23  6:08 ` making gnus-summary-reparent-thread work right with nnml Lars Magne Ingebrigtsen
  0 siblings, 2 replies; 14+ messages in thread
From: Steinar Bang @ 1997-11-18 16:13 UTC (permalink / raw)


Platform: Emacs 19.34, gnus-5.4.67 with nnml backend, SPARC, Solaris 2.5

I've never gotten gnus-summary-reparent-thread to work right.  If I
insert a References: header or edit an existing References: header
manually with gnus-summary-edit-article, it is immediately rethreaded
when I do a C-c C-c.

If I use gnus-summary-reparent-thread, I don't see the new References:
header when I toggle all headers with the "t" command, if the message
had no References: header to begin with (this is the part I don't know
how to make work).  Also "Fetch parent" doesn't work for these
articles. 

If the article already has a References header, the new article number
is inserted at the start (looking at the code at the end of this
message), and I belive it should be inserted at the end...? (at least
that's the way I understand 2.2.5 of RFC 1036...)  One way to make
this work, would be to strip away the earlier contents of the
References: header, before inserting the message-id of the new parent.

Anyways, if someone could come up with ideas of how to fix this for an
emacs lisp semi literate, I would be thankful (I'm tired of hand
editing Eudora, Outlook and MSExchange messages).

Thanx!


- Steinar

code from lisp/gnus-sum.el:
...
(defun gnus-summary-reparent-thread ()
  "Make the current article child of the marked (or previous) article.

Note that the re-threading will only work if `gnus-thread-ignore-subject'
is non-nil or the Subject: of both articles are the same."
  (interactive)
  (unless (not (gnus-group-read-only-p))
    (error "The current newsgroup does not support article editing"))
  (unless (<= (length gnus-newsgroup-processable) 1)
    (error "No more than one article may be marked"))
  (save-window-excursion
    (let ((gnus-article-buffer " *reparent*")
	  (current-article (gnus-summary-article-number))
	  ;; First grab the marked article, otherwise one line up.
	  (parent-article (if (not (null gnus-newsgroup-processable))
			      (car gnus-newsgroup-processable)
			    (save-excursion
			      (if (eq (forward-line -1) 0)
				  (gnus-summary-article-number)
				(error "Beginning of summary buffer"))))))
      (unless (not (eq current-article parent-article))
	(error "An article may not be self-referential"))
      (let ((message-id (mail-header-id
			 (gnus-summary-article-header parent-article))))
	(unless (and message-id (not (equal message-id "")))
	  (error "No message-id in desired parent"))
	(gnus-summary-select-article t t nil current-article)
	(set-buffer gnus-original-article-buffer)
	(let ((buf (format "%s" (buffer-string))))
	  (nnheader-temp-write nil
	    (insert buf)
	    (goto-char (point-min))
	    (if (search-forward-regexp "^References: " nil t)
		(insert message-id " " )
	      (insert "References: " message-id "\n"))
	    (unless (gnus-request-replace-article
		     current-article (car gnus-article-current)
		     (current-buffer))
	      (error "Couldn't replace article"))))
	(set-buffer gnus-summary-buffer)
	(gnus-summary-unmark-all-processable)
	(gnus-summary-rethread-current)
	(gnus-message 3 "Article %d is now the child of article %d"
		      current-article parent-article)))))
...


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~1997-11-24 13:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-11-18 16:13 making gnus-summary-reparent-thread work right with nnml Steinar Bang
1997-11-19  9:14 ` Steinar Bang
1997-10-24 21:01   ` automagicly compressed nnml files St. Suika Roberts
1997-10-24 23:39     ` Lars Magne Ingebrigtsen
1997-10-26 15:39       ` Simon Josefsson
1997-10-27 11:22         ` Simon Josefsson
1997-10-29  5:09       ` David Hedbor
1997-11-05 12:50         ` Lars Magne Ingebrigtsen
1997-11-06 23:37           ` David Hedbor
1997-11-13 21:14             ` Lars Magne Ingebrigtsen
1997-11-18 23:14               ` David Hedbor
1997-11-23  6:08                 ` Lars Magne Ingebrigtsen
1997-11-23  6:08 ` making gnus-summary-reparent-thread work right with nnml Lars Magne Ingebrigtsen
1997-11-24 13:53   ` Steinar Bang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).