Gnus development mailing list
 help / color / mirror / Atom feed
* major problem with recent cvs
@ 2000-03-13 16:54 Laura Conrad
  2000-03-13 23:58 ` Simon Josefsson
  0 siblings, 1 reply; 23+ messages in thread
From: Laura Conrad @ 2000-03-13 16:54 UTC (permalink / raw)


I had killed my editor over the weekend, so I upped the cvs before
restarting it this morning.  I went into a group with unread messages, 
and the headers were plausible, but selecting an article caused gnus
to tell me that the message no longer existed, and may have been
cancelled.  (This was in my nnml groups.)

I wasn't able to get this to stop, so I went back to pgnus-0.98, and
at this point I could see my old mail fine, and the new mail that
arrived this morning seemed ok, but none of the mail between Friday
and this morning seemed to be there, including several messages that I 
know need to be answered today.

I poked around, and regenerated the nov databases, and finally did "ls 
-l" in my Mail directory, and discovered that the messages got written 
by this morning's CVS gnus as files like Mail/world1699 instead of
Mail/world/1699.

This is a bug.

-- 
Laura (mailto:lconrad@world.std.com , http://www.world.std.com/~lconrad/ )
(617) 661-8097	fax: (801) 365-6574 
233 Broadway, Cambridge, MA 02139




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

* Re: major problem with recent cvs
  2000-03-13 16:54 major problem with recent cvs Laura Conrad
@ 2000-03-13 23:58 ` Simon Josefsson
  2000-03-14 10:48   ` Kai Großjohann
                     ` (2 more replies)
  0 siblings, 3 replies; 23+ messages in thread
From: Simon Josefsson @ 2000-03-13 23:58 UTC (permalink / raw)
  Cc: ding, bugs

Laura Conrad <lconrad@gamesville.lycos.com> writes:

> I had killed my editor over the weekend, so I upped the cvs before
> restarting it this morning.
...
> I poked around, and regenerated the nov databases, and finally did "ls 
> -l" in my Mail directory, and discovered that the messages got written 
> by this morning's CVS gnus as files like Mail/world1699 instead of
> Mail/world/1699.

Glancing recent modifications made me came up with this patch. Please
test if it work and I'll commit it.

2000-03-14  Simon Josefsson  <jas@pdc.kth.se>

	* nnheader.el (nnheader-group-pathname): Add "/".

	* nnmail.el (nnmail-group-pathname): Ditto.

Index: nnmail.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnmail.el,v
retrieving revision 5.48
diff -w -u -r5.48 nnmail.el
--- nnmail.el	2000/03/13 19:43:14	5.48
+++ nnmail.el	2000/03/13 23:56:44
@@ -470,12 +470,14 @@
      ;; If this directory exists, we use it directly.
      (if (or nnmail-use-long-file-names
 	     (file-directory-p (concat dir group)))
-	 (expand-file-name group dir)
+	 (expand-file-name (concat group "/") dir)
        ;; If not, we translate dots into slashes.
        (expand-file-name
+	(concat
 	(mm-encode-coding-string
 	 (nnheader-replace-chars-in-string group ?. ?/)
 	 nnmail-pathname-coding-system)
+	 "/")
 	dir)))
    (or file "")))
 
Index: nnheader.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnheader.el,v
retrieving revision 5.35
diff -w -u -r5.35 nnheader.el
--- nnheader.el	2000/03/13 13:50:38	5.35
+++ nnheader.el	2000/03/13 23:56:44
@@ -730,11 +730,13 @@
    (let ((dir (file-name-as-directory (expand-file-name dir))))
      ;; If this directory exists, we use it directly.
      (if (file-directory-p (concat dir group))
-	 (expand-file-name group dir)
+	 (expand-file-name (concat group "/") dir)
        ;; If not, we translate dots into slashes.
-       (expand-file-name (mm-encode-coding-string
+       (expand-file-name (concat
+			  (mm-encode-coding-string
 			  (nnheader-replace-chars-in-string group ?. ?/)
 			  nnheader-pathname-coding-system)
+			  "/")
 			 dir)))
    (cond ((null file) "")
 	 ((numberp file) (int-to-string file))



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

* Re: major problem with recent cvs
  2000-03-13 23:58 ` Simon Josefsson
@ 2000-03-14 10:48   ` Kai Großjohann
  2000-03-14 11:42     ` Simon Josefsson
  2000-03-14 16:43   ` Jan Vroonhof
  2000-03-14 17:17   ` Jan Vroonhof
  2 siblings, 1 reply; 23+ messages in thread
From: Kai Großjohann @ 2000-03-14 10:48 UTC (permalink / raw)
  Cc: lconrad, ding, bugs

Simon Josefsson <jas@pdc.kth.se> writes:

> +	 (expand-file-name (concat group "/") dir)

Do you think it would be good to use the following instead?

(file-name-as-directory (expand-file-name group dir))

Just a thought.

kai
-- 
~/.signature: No such file or directory



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

* Re: major problem with recent cvs
  2000-03-14 10:48   ` Kai Großjohann
@ 2000-03-14 11:42     ` Simon Josefsson
  2000-03-14 14:56       ` lconrad
  2000-03-15 10:43       ` major problem with recent cvs Per Abrahamsen
  0 siblings, 2 replies; 23+ messages in thread
From: Simon Josefsson @ 2000-03-14 11:42 UTC (permalink / raw)
  Cc: lconrad, ding, bugs

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> > +	 (expand-file-name (concat group "/") dir)
> 
> Do you think it would be good to use the following instead?
> 
> (file-name-as-directory (expand-file-name group dir))
> 
> Just a thought.

Good idea, here's a new patch.

Index: lisp/nnmail.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnmail.el,v
retrieving revision 5.48
diff -w -u -r5.48 nnmail.el
--- lisp/nnmail.el	2000/03/13 19:43:14	5.48
+++ lisp/nnmail.el	2000/03/14 11:43:56
@@ -470,13 +470,14 @@
      ;; If this directory exists, we use it directly.
      (if (or nnmail-use-long-file-names
 	     (file-directory-p (concat dir group)))
-	 (expand-file-name group dir)
+	 (file-name-as-directory (expand-file-name group dir))
        ;; If not, we translate dots into slashes.
+       (file-name-as-directory
        (expand-file-name
 	(mm-encode-coding-string
 	 (nnheader-replace-chars-in-string group ?. ?/)
 	 nnmail-pathname-coding-system)
-	dir)))
+	 dir))))
    (or file "")))
 
 (defun nnmail-get-active ()
Index: lisp/nnheader.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnheader.el,v
retrieving revision 5.35
diff -w -u -r5.35 nnheader.el
--- lisp/nnheader.el	2000/03/13 13:50:38	5.35
+++ lisp/nnheader.el	2000/03/14 11:43:56
@@ -730,12 +730,13 @@
    (let ((dir (file-name-as-directory (expand-file-name dir))))
      ;; If this directory exists, we use it directly.
      (if (file-directory-p (concat dir group))
-	 (expand-file-name group dir)
+	 (file-name-as-directory (expand-file-name group dir))
        ;; If not, we translate dots into slashes.
+       (file-name-as-directory
        (expand-file-name (mm-encode-coding-string
 			  (nnheader-replace-chars-in-string group ?. ?/)
 			  nnheader-pathname-coding-system)
-			 dir)))
+			  dir))))
    (cond ((null file) "")
 	 ((numberp file) (int-to-string file))
 	 (t file))))



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

* Re: major problem with recent cvs
  2000-03-14 11:42     ` Simon Josefsson
@ 2000-03-14 14:56       ` lconrad
  2000-03-14 15:07         ` Karl Kleinpaste
                           ` (3 more replies)
  2000-03-15 10:43       ` major problem with recent cvs Per Abrahamsen
  1 sibling, 4 replies; 23+ messages in thread
From: lconrad @ 2000-03-14 14:56 UTC (permalink / raw)
  Cc: Kai Großjohann, ding, bugs

>>>>> "Simon" == Simon Josefsson <jas@pdc.kth.se> writes:

    Simon> Good idea, here's a new patch.


I think it's unrelated to the patch, but now when I go back to the cvs 
gnus from pgnus-0.98  I get the following backtrace:

Signaling: (wrong-type-argument characterp 116)
  mm-char-int(116)
  gnus-continuum-version("September Gnus v0.1")
  gnus-convert-old-newsrc()
  gnus-read-newsrc-file(nil)
  gnus-setup-news(nil nil nil)
  byte-code("..." [dont-connect did-connect gnus-startup-file gnus-current-startup-file gnus-slave gnus-use-dribble-file gnus-group-quit gnus-run-hooks gnus-startup-hook gnus-make-newsrc-file gnus-dribble-read-file bbb-login add-hook gnus-summary-mode-hook gnus-grouplens-mode gnus-setup-news nil gnus-setup-news-hook gnus-start-draft-setup gnus-group-list-groups gnus-group-first-unread-group gnus-configure-windows group gnus-group-set-mode-line gnus-started-hook gnus-use-grouplens level] 4)
  gnus-1(nil nil nil)
  gnus()
  command-line-do-funcall("-f")
  command-line-1()
  command-line()
  normal-top-level()

So I can't report that your patch works, although it certainly looks
like the right sort of patch.

-- 
Laura (mailto:lconrad@world.std.com , http://www.world.std.com/~lconrad/ )
(617) 661-8097	fax: (801) 365-6574 
233 Broadway, Cambridge, MA 02139






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

* Re: major problem with recent cvs
  2000-03-14 14:56       ` lconrad
@ 2000-03-14 15:07         ` Karl Kleinpaste
  2000-03-14 15:37           ` Laura Conrad
  2000-03-14 15:59         ` Kai Großjohann
                           ` (2 subsequent siblings)
  3 siblings, 1 reply; 23+ messages in thread
From: Karl Kleinpaste @ 2000-03-14 15:07 UTC (permalink / raw)


lconrad@world.std.com writes:
> I think it's unrelated to the patch, but now when I go back to the cvs 
> gnus from pgnus-0.98  I get the following backtrace:
> Signaling: (wrong-type-argument characterp 116)
>   mm-char-int(116)
>   gnus-continuum-version("September Gnus v0.1")

You have a serious problem with your load-path.  "September Gnus v0.1"
is about 4 years out of date.  Make sure you're getting the right Gnus.



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

* Re: major problem with recent cvs
  2000-03-14 15:07         ` Karl Kleinpaste
@ 2000-03-14 15:37           ` Laura Conrad
  0 siblings, 0 replies; 23+ messages in thread
From: Laura Conrad @ 2000-03-14 15:37 UTC (permalink / raw)


>>>>> "Karl" == Karl Kleinpaste <karl@justresearch.com> writes:

    Karl> lconrad@world.std.com writes:
    >> I think it's unrelated to the patch, but now when I go back to the cvs 
    >> gnus from pgnus-0.98  I get the following backtrace:
    >> Signaling: (wrong-type-argument characterp 116)
    >> mm-char-int(116)
    >> gnus-continuum-version("September Gnus v0.1")

    Karl> You have a serious problem with your load-path.  "September
    Karl> Gnus v0.1" is about 4 years out of date.  Make sure you're
    Karl> getting the right Gnus.

No, it really is pgnus-0.98.  According to the V command.  I vaguely
remember that September gnus string suddenly popping up last fall.  

-- 
Laura Conrad	mailto:lconrad@gamesville.lycos.com
http://acme47.nineco.com/qa/
Gamesville.com, One Arsenal Marketplace, Watertown, MA 02472
(617) 673-1104	fax: (617) 673-1199




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

* Re: major problem with recent cvs
  2000-03-14 14:56       ` lconrad
  2000-03-14 15:07         ` Karl Kleinpaste
@ 2000-03-14 15:59         ` Kai Großjohann
  2000-03-14 16:18           ` Laura Conrad
  2000-03-14 16:55           ` Gunnar Evermann
  2000-03-14 16:47         ` Kai Großjohann
  2000-03-17 17:12         ` Resolution (was: Re: major problem with recent cvs) lconrad
  3 siblings, 2 replies; 23+ messages in thread
From: Kai Großjohann @ 2000-03-14 15:59 UTC (permalink / raw)
  Cc: Simon Josefsson, ding, bugs

lconrad@world.std.com writes:

> Signaling: (wrong-type-argument characterp 116)
>   mm-char-int(116)
>   gnus-continuum-version("September Gnus v0.1")

What happens when you do M-: (gnus-continuum-version "September Gnus
v0.1") RET in that version of Gnus?

Does it help to do M-x load-library RET gnus-start.el RET before
starting Gnus?  (Note the `.el'.)

Karl: gnus-convert-old-newsrc evals (gnus-continuum-version "September
Gnus v0.1") -- see gnus-startup.el.  I had thought it was a load-path
mixup, too.  I don't remember the resolution back then, though.  Maybe
searching Deja.com for this error message turns up that discussion?

kai
-- 
~/.signature: No such file or directory



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

* Re: major problem with recent cvs
  2000-03-14 15:59         ` Kai Großjohann
@ 2000-03-14 16:18           ` Laura Conrad
  2000-03-14 16:55           ` Gunnar Evermann
  1 sibling, 0 replies; 23+ messages in thread
From: Laura Conrad @ 2000-03-14 16:18 UTC (permalink / raw)
  Cc: Simon Josefsson, ding, bugs

>>>>> "Kai" == Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> writes:

    Kai> lconrad@world.std.com writes:
    >> Signaling: (wrong-type-argument characterp 116)
    >> mm-char-int(116)
    >> gnus-continuum-version("September Gnus v0.1")

    Kai> What happens when you do M-: (gnus-continuum-version "September Gnus
    Kai> v0.1") RET in that version of Gnus?

5.010001

    Kai> Does it help to do M-x load-library RET gnus-start.el RET before
    Kai> starting Gnus?  (Note the `.el'.)

No.


-- 
Laura Conrad	mailto:lconrad@gamesville.lycos.com
http://acme47.nineco.com/qa/
Gamesville.com, One Arsenal Marketplace, Watertown, MA 02472
(617) 673-1104	fax: (617) 673-1199




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

* Re: major problem with recent cvs
  2000-03-13 23:58 ` Simon Josefsson
  2000-03-14 10:48   ` Kai Großjohann
@ 2000-03-14 16:43   ` Jan Vroonhof
  2000-03-14 17:17   ` Jan Vroonhof
  2 siblings, 0 replies; 23+ messages in thread
From: Jan Vroonhof @ 2000-03-14 16:43 UTC (permalink / raw)


Simon Josefsson <jas@pdc.kth.se> writes:

> Glancing recent modifications made me came up with this patch. Please
> test if it work and I'll commit it.
> 
> 2000-03-14  Simon Josefsson  <jas@pdc.kth.se>
> 
> 	* nnheader.el (nnheader-group-pathname): Add "/".
> 
> 	* nnmail.el (nnmail-group-pathname): Ditto.

Please don't.

1. That you have to do this is usually and indication that the problem
   is elsewhere (i.e. somebody is using concat where expand-file-name
   should be used). It is better to fix the real problem.
2. In the rare situations where this is really needed, please use
   file-name-as-directory instead.

Jan





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

* Re: major problem with recent cvs
  2000-03-14 14:56       ` lconrad
  2000-03-14 15:07         ` Karl Kleinpaste
  2000-03-14 15:59         ` Kai Großjohann
@ 2000-03-14 16:47         ` Kai Großjohann
  2000-03-14 20:18           ` lconrad
  2000-03-17 17:12         ` Resolution (was: Re: major problem with recent cvs) lconrad
  3 siblings, 1 reply; 23+ messages in thread
From: Kai Großjohann @ 2000-03-14 16:47 UTC (permalink / raw)
  Cc: Simon Josefsson, ding, bugs

lconrad@world.std.com writes:

> Signaling: (wrong-type-argument characterp 116)
>   mm-char-int(116)
>   gnus-continuum-version("September Gnus v0.1")

Another idea: change the newsrc file format version to the version of
the Gnus you're using.  ATTENTION, might eat your mail for lunch and
stuff.

But you should be fairly safe if you make a backup of your
.newsrc.eld, first.

kai
-- 
~/.signature: No such file or directory



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

* Re: major problem with recent cvs
  2000-03-14 15:59         ` Kai Großjohann
  2000-03-14 16:18           ` Laura Conrad
@ 2000-03-14 16:55           ` Gunnar Evermann
  2000-03-14 16:57             ` Kai Großjohann
  1 sibling, 1 reply; 23+ messages in thread
From: Gunnar Evermann @ 2000-03-14 16:55 UTC (permalink / raw)
  Cc: lconrad, Simon Josefsson, ding, bugs

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> lconrad@world.std.com writes:
> 
> > Signaling: (wrong-type-argument characterp 116)
> >   mm-char-int(116)
> >   gnus-continuum-version("September Gnus v0.1")

> Karl: gnus-convert-old-newsrc evals (gnus-continuum-version "September
> Gnus v0.1") -- see gnus-startup.el.  I had thought it was a load-path
> mixup, too.  I don't remember the resolution back then, though.  Maybe
> searching Deja.com for this error message turns up that discussion?

Kai, I think this was on of of the German Newsgroups. ISTR us spending
about a week coming up with all kind of complicated suggestions and in
the end it was something *really* trivial -- can't remeber what is
was though :-)

maybe doing a 
  make distclean && ./configure && make EMAS=xemacs 

might help?

  Gunnar



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

* Re: major problem with recent cvs
  2000-03-14 16:55           ` Gunnar Evermann
@ 2000-03-14 16:57             ` Kai Großjohann
  0 siblings, 0 replies; 23+ messages in thread
From: Kai Großjohann @ 2000-03-14 16:57 UTC (permalink / raw)
  Cc: lconrad, Simon Josefsson, ding, bugs

Gunnar Evermann <ge204@eng.cam.ac.uk> writes:

> maybe doing a 
>   make distclean && ./configure && make EMAS=xemacs 
> 
> might help?

Hm.  Yes, it might be possible that it was compiling Gnus with Emacs
and using it with XEmacs, or vice versa.  Maybe that was it.

Was it, Laura?

kai
-- 
~/.signature: No such file or directory



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

* Re: major problem with recent cvs
  2000-03-13 23:58 ` Simon Josefsson
  2000-03-14 10:48   ` Kai Großjohann
  2000-03-14 16:43   ` Jan Vroonhof
@ 2000-03-14 17:17   ` Jan Vroonhof
  2 siblings, 0 replies; 23+ messages in thread
From: Jan Vroonhof @ 2000-03-14 17:17 UTC (permalink / raw)


Simon Josefsson <jas@pdc.kth.se> writes:

> Glancing recent modifications made me came up with this patch. Please
> test if it work and I'll commit it.
> 
> 2000-03-14  Simon Josefsson  <jas@pdc.kth.se>
> 
> 	* nnheader.el (nnheader-group-pathname): Add "/".
> 
> 	* nnmail.el (nnmail-group-pathname): Ditto.

Here is an untested (but IMO better) patch, with the help of igrep and
a keyboard macro. In a new development cycle, somebody should do this
for the whole of gnus.

2000-03-14  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* nnmh.el (nnmh-retrieve-headers): Use expand-file-name instead of concat.
	(nnmh-request-article): ditto.
	(nnmh-request-expire-articles): ditto.
	(nnmh-request-move-article): ditto.
	(nnmh-request-replace-article): ditto.
	(nnmh-request-rename-group): ditto.
	(nnmh-save-mail): ditto.
	(nnmh-active-number): ditto.
	(nnmh-update-gnus-unreads): ditto.
	(nnmh-deletable-article-p): ditto.

	* nnml.el (nnml-request-article): Use expand-file-name instead of concat.
	(nnml-request-rename-group): ditto.
	(nnml-save-mail): ditto.
	(nnml-generate-nov-file): ditto.

Index: nnmh.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnmh.el,v
retrieving revision 5.10
diff -u -u -r5.10 nnmh.el
--- nnmh.el	1999/12/04 06:38:52	5.10
+++ nnmh.el	2000/03/14 17:15:05
@@ -91,10 +91,10 @@
 	  'headers
 	(while articles
 	  (when (and (file-exists-p
-		      (setq file (concat (file-name-as-directory
-					  nnmh-current-directory)
+		      (setq file (expand-file-name
 					 (int-to-string
-					  (setq article (pop articles))))))
+					  (setq article (pop articles))) 
+					  nnmh-current-directory)))
 		     (not (file-directory-p file)))
 	    (insert (format "221 %d Article retrieved.\n" article))
 	    (setq beg (point))
@@ -141,7 +141,7 @@
   (nnmh-possibly-change-directory newsgroup server)
   (let ((file (if (stringp id)
 		  nil
-		(concat nnmh-current-directory (int-to-string id))))
+		(expand-file-name (int-to-string id) nnmh-current-directory)))
 	(pathname-coding-system 'binary)
 	(nntp-server-buffer (or buffer nntp-server-buffer)))
     (and (stringp file)
@@ -256,8 +256,8 @@
     (nnheader-init-server-buffer)
 
     (while (and articles is-old)
-      (setq article (concat nnmh-current-directory
-			    (int-to-string (car articles))))
+      (setq article (expand-file-name
+			    (int-to-string (car articles)) nnmh-current-directory))
       (when (setq mod-time (nth 5 (file-attributes article)))
 	(if (and (nnmh-deletable-article-p newsgroup (car articles))
 		 (setq is-old
@@ -297,7 +297,7 @@
        (nnmh-possibly-change-directory group server)
        (condition-case ()
 	   (funcall nnmail-delete-file-function
-		    (concat nnmh-current-directory (int-to-string article)))
+		    (expand-file-name (int-to-string article) nnmh-current-directory))
 	 (file-error nil))))
     result))
 
@@ -330,7 +330,7 @@
     (ignore-errors
       (nnmail-write-region
        (point-min) (point-max)
-       (concat nnmh-current-directory (int-to-string article))
+       (expand-file-name (int-to-string article) nnmh-current-directory)
        nil (if (nnheader-be-verbose 5) nil 'nomesg))
       t)))
 
@@ -386,8 +386,8 @@
       (let ((files (nnheader-article-to-file-alist old-dir)))
 	(while files
 	  (rename-file
-	   (concat old-dir (cdar files))
-	   (concat new-dir (cdar files)))
+	   (expand-file-name (cdar files) old-dir)
+	   (expand-file-name (cdar files) new-dir))
 	  (pop files)))
       (when (<= (length (directory-files old-dir)) 2)
 	(ignore-errors
@@ -443,9 +443,10 @@
 	first)
     (while ga
       (nnmh-possibly-create-directory (caar ga))
-      (let ((file (concat (nnmail-group-pathname
-			   (caar ga) nnmh-directory)
-			  (int-to-string (cdar ga)))))
+      (let ((file (expand-file-name
+			  (int-to-string (cdar ga))
+                          (nnmail-group-pathname
+			   (caar ga) nnmh-directory))))
 	(if first
 	    ;; It was already saved, so we just make a hard link.
 	    (funcall nnmail-crosspost-link-function first file t)
@@ -481,8 +482,9 @@
     (while (or
 	    ;; See whether the file exists...
 	    (file-exists-p
-	     (setq file (concat (nnmail-group-pathname group nnmh-directory)
-				(int-to-string (cdr active)))))
+	     (setq file (expand-file-name
+				(int-to-string (cdr active))
+                                (nnmail-group-pathname group nnmh-directory))))
 	    ;; ... or there is a buffer that will make that file exist
 	    ;; in the future.
 	    (get-file-buffer file))
@@ -499,7 +501,7 @@
 			      (directory-files nnmh-current-directory
 					       nil "^[0-9]+$" t))
 		      '<))
-	 (nnmh-file (concat dir ".nnmh-articles"))
+	 (nnmh-file (expand-file-name ".nnmh-articles" dir))
 	 new articles)
     ;; Load the .nnmh-articles file.
     (when (file-exists-p nnmh-file)
@@ -526,7 +528,7 @@
       (while (setq art (pop arts))
 	(when (not (equal
 		    (nth 5 (file-attributes
-			    (concat dir (int-to-string (car art)))))
+			    (expand-file-name (int-to-string (car art)) dir)))
 		    (cdr art)))
 	  (setq articles (delq art articles))
 	  (push (car art) new))))
@@ -538,7 +540,7 @@
 		  (lambda (art)
 		    (cons art
 			  (nth 5 (file-attributes
-				  (concat dir (int-to-string art))))))
+				  (expand-file-name (int-to-string art) dir)))))
 		  new)))
     ;; Make Gnus mark all new articles as unread.
     (when new
@@ -557,7 +559,7 @@
 
 (defun nnmh-deletable-article-p (group article)
   "Say whether ARTICLE in GROUP can be deleted."
-  (let ((path (concat nnmh-current-directory (int-to-string article))))
+  (let ((path (expand-file-name (int-to-string article) nnmh-current-directory)))
     ;; Writable.
     (and (file-writable-p path)
 	 (or
Index: nnml.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnml.el,v
retrieving revision 5.21
diff -u -u -r5.21 nnml.el
--- nnml.el	2000/03/13 19:43:14	5.21
+++ nnml.el	2000/03/14 17:15:05
@@ -174,7 +174,7 @@
 				 (nnmail-group-pathname
 				  (car group-num)
 				  nnml-directory))))))
-	  (setq path (concat gpath (int-to-string (cdr group-num)))))
+	  (setq path (expand-file-name (int-to-string (cdr group-num)) gpath)))
       (setq path (nnml-article-to-file id)))
     (cond
      ((not path)
@@ -439,13 +439,13 @@
       (let ((files (nnheader-article-to-file-alist old-dir)))
 	(while files
 	  (rename-file
-	   (concat old-dir (cdar files))
-	   (concat new-dir (cdar files)))
+	   (expand-file-name (cdar files) old-dir)
+	   (expand-file-name (cdar files) new-dir))
 	  (pop files)))
       ;; Move .overview file.
-      (let ((overview (concat old-dir nnml-nov-file-name)))
+      (let ((overview (expand-file-name nnml-nov-file-name old-dir)))
 	(when (file-exists-p overview)
-	  (rename-file overview (concat new-dir nnml-nov-file-name))))
+	  (rename-file overview (expand-file-name nnml-nov-file-name new-dir))))
       (when (<= (length (directory-files old-dir)) 2)
 	(ignore-errors (delete-directory old-dir)))
       ;; That went ok, so we change the internal structures.
@@ -590,9 +590,10 @@
 	  first)
       (while ga
 	(nnml-possibly-create-directory (caar ga))
-	(let ((file (concat (nnmail-group-pathname
-			     (caar ga) nnml-directory)
-			    (int-to-string (cdar ga)))))
+	(let ((file (expand-file-name
+			    (int-to-string (cdar ga))
+                            (nnmail-group-pathname
+			     (caar ga) nnml-directory))))
 	  (if first
 	      ;; It was already saved, so we just make a hard link.
 	      (funcall nnmail-crosspost-link-function first file t)
@@ -756,7 +757,7 @@
 
 (defun nnml-generate-nov-file (dir files)
   (let* ((dir (file-name-as-directory dir))
-	 (nov (concat dir nnml-nov-file-name))
+	 (nov (expand-file-name nnml-nov-file-name dir))
 	 (nov-buffer (get-buffer-create " *nov*"))
 	 chars file headers)
     (save-excursion
@@ -769,7 +770,8 @@
       (when (file-exists-p nov)
 	(funcall nnmail-delete-file-function nov))
       (while files
-	(unless (file-directory-p (setq file (concat dir (cdar files))))
+	(unless (file-directory-p (setq file (expand-file-name
+                                                (cdar files) dir)))
 	  (erase-buffer)
 	  (nnheader-insert-file-contents file)
 	  (narrow-to-region



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

* Re: major problem with recent cvs
  2000-03-14 16:47         ` Kai Großjohann
@ 2000-03-14 20:18           ` lconrad
  0 siblings, 0 replies; 23+ messages in thread
From: lconrad @ 2000-03-14 20:18 UTC (permalink / raw)


>>>>> "Kai" == Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> writes:

    Kai> lconrad@world.std.com writes:
    >> Signaling: (wrong-type-argument characterp 116)
    >> mm-char-int(116)
    >> gnus-continuum-version("September Gnus v0.1")

    Kai> Another idea: change the newsrc file format version to the version of
    Kai> the Gnus you're using.  ATTENTION, might eat your mail for lunch and
    Kai> stuff.

I tried that; I still got the same backtrace.  

I also recompiled my pgnus-0.98 as Gunnar suggested, and that doesn't
seem to have had any effect, which I would have expected.  That is, I
don't necessarily have any clear memory of what I did to compile it in
November, but I would have guessed that I used xemacs the way I always
do.

-- 
Laura (mailto:lconrad@world.std.com , http://www.world.std.com/~lconrad/ )
(617) 661-8097	fax: (801) 365-6574 
233 Broadway, Cambridge, MA 02139





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

* Re: major problem with recent cvs
  2000-03-14 11:42     ` Simon Josefsson
  2000-03-14 14:56       ` lconrad
@ 2000-03-15 10:43       ` Per Abrahamsen
  2000-03-15 18:07         ` Jan Vroonhof
  1 sibling, 1 reply; 23+ messages in thread
From: Per Abrahamsen @ 2000-03-15 10:43 UTC (permalink / raw)


Simon Josefsson <jas@pdc.kth.se> writes:

> Good idea, here's a new patch.

It looks correct to me.  I committed the patch, the problem is close
enough to losing mail to be urgent.



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

* Re: major problem with recent cvs
  2000-03-15 10:43       ` major problem with recent cvs Per Abrahamsen
@ 2000-03-15 18:07         ` Jan Vroonhof
  2000-03-16 10:34           ` Per Abrahamsen
  0 siblings, 1 reply; 23+ messages in thread
From: Jan Vroonhof @ 2000-03-15 18:07 UTC (permalink / raw)


Per Abrahamsen <abraham@dina.kvl.dk> writes:

> It looks correct to me.  I committed the patch, the problem is close
> enough to losing mail to be urgent.

Uhmm.. Why didn't you apply my version (which solves the real problem)
instead?

Jan



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

* Re: major problem with recent cvs
  2000-03-15 18:07         ` Jan Vroonhof
@ 2000-03-16 10:34           ` Per Abrahamsen
  2000-03-16 11:40             ` Jan Vroonhof
  0 siblings, 1 reply; 23+ messages in thread
From: Per Abrahamsen @ 2000-03-16 10:34 UTC (permalink / raw)


Jan Vroonhof <vroonhof@math.ethz.ch> writes:

> Per Abrahamsen <abraham@dina.kvl.dk> writes:
> 
> > It looks correct to me.  I committed the patch, the problem is close
> > enough to losing mail to be urgent.
> 
> Uhmm.. Why didn't you apply my version (which solves the real problem)
> instead?

I checked the ChangeLog for likely candidates to the change that broke
Gnus, used CVS to find the exact change, added the code so the
semantics were restored (the change in semantics didn't seem
intentional, and the old semantics made perfectly sense), checked that
it worked, saw that Simon Josefsson had came up with the exact same
solution, and that you had some completely different untested changes
in files unrelated to the place in the code that was changed.

Given this, commiting my (and Simons) changes seemed like the safest
course af action.



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

* Re: major problem with recent cvs
  2000-03-16 10:34           ` Per Abrahamsen
@ 2000-03-16 11:40             ` Jan Vroonhof
  2000-03-17 13:20               ` Per Abrahamsen
  0 siblings, 1 reply; 23+ messages in thread
From: Jan Vroonhof @ 2000-03-16 11:40 UTC (permalink / raw)



Per Abrahamsen <abraham@dina.kvl.dk> writes:

> intentional, and the old semantics made perfectly sense), checked that
> it worked, saw that Simon Josefsson had came up with the exact same
> solution, and that you had some completely different untested changes
> in files unrelated to the place in the code that was changed.

I'm using the changes for a few days now. They are tested.

Requiring the paths to end in a separator is fragile. Note that the
changes I made are not unrelated, they are simply the functions that
use the functions that cause the problem.

> Given this, commiting my (and Simons) changes seemed like the safest
> course af action.

It sure is the shortest change. However I claim my version is more
robust against future changes. Using concat to construct paths is
wrong. Maybe because this is 5.8.x using the minimal change is good,
but I propose doing my change in any new development branch at least.

Jan



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

* Re: major problem with recent cvs
  2000-03-16 11:40             ` Jan Vroonhof
@ 2000-03-17 13:20               ` Per Abrahamsen
  0 siblings, 0 replies; 23+ messages in thread
From: Per Abrahamsen @ 2000-03-17 13:20 UTC (permalink / raw)


Jan Vroonhof <vroonhof@math.ethz.ch> writes:

> Requiring the paths to end in a separator is fragile.

However, returning a directory name (in whatever the local convention
for directory names are) for a function whose purpose is to convert a
group name into a directory name, makes a lot of sense.

You patch may make sense as well (in addition to Simons patch), but
that is really an orthogonal question.



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

* Resolution (was: Re: major problem with recent cvs)
  2000-03-14 14:56       ` lconrad
                           ` (2 preceding siblings ...)
  2000-03-14 16:47         ` Kai Großjohann
@ 2000-03-17 17:12         ` lconrad
  3 siblings, 0 replies; 23+ messages in thread
From: lconrad @ 2000-03-17 17:12 UTC (permalink / raw)


>>>>> "laura" == lconrad  <lconrad@world.std.com> writes:

    laura> I think it's unrelated to the patch, but now when I go back
    laura> to the cvs gnus from pgnus-0.98 I get the following
    laura> backtrace:

    laura> Signaling: (wrong-type-argument characterp 116)
    laura>   mm-char-int(116)
    laura>   gnus-continuum-version("September Gnus v0.1")

I should report that while you cannot (or I couldn't) go from
pgnus-0.98 to cvs gnus, you can go from pgnus-0.98 to gnus 5.8.3, and
from that to cvs gnus.

I assume this is a problem that affects only a small number of people, 
but anyone who skipped upgrading to the stable 5.8.3 the way I did, on 
the grounds that a version like pgnus-0.98 was close enough, might
want to rethink that decision.

The original problem where last Monday's cvs was putting the mail
where it wasn't looking for it seems to have been fixed.

-- 
Laura (mailto:lconrad@world.std.com , http://www.world.std.com/~lconrad/ )
(617) 661-8097	fax: (801) 365-6574 
233 Broadway, Cambridge, MA 02139






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

* Re: major problem with recent cvs
  2000-03-13 20:48 ` Emerick Rogul
@ 2000-03-14 17:35   ` Matt Swift
  0 siblings, 0 replies; 23+ messages in thread
From: Matt Swift @ 2000-03-14 17:35 UTC (permalink / raw)


>> "E" == Emerick wrote:

    E> : I poked around, and regenerated the nov databases, and finally did "ls 
    E> : -l" in my Mail directory, and discovered that the messages got written 
    E> : by this morning's CVS gnus as files like Mail/world1699 instead of
    E> : Mail/world/1699.

    E> : This is a bug.

    E> I'm seeing the same problem with today's CVS.

Ditto.  The *Message* buffer tells you correctly where mail is being
(mis)stored.



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

* Re: major problem with recent cvs
       [not found] <8aj6qv$qvc$1@quimby.gnus.org>
@ 2000-03-13 20:48 ` Emerick Rogul
  2000-03-14 17:35   ` Matt Swift
  0 siblings, 1 reply; 23+ messages in thread
From: Emerick Rogul @ 2000-03-13 20:48 UTC (permalink / raw)


Laura Conrad writes:

: I had killed my editor over the weekend, so I upped the cvs before
: restarting it this morning.  I went into a group with unread messages, 
: and the headers were plausible, but selecting an article caused gnus
: to tell me that the message no longer existed, and may have been
: cancelled.  (This was in my nnml groups.)

: I wasn't able to get this to stop, so I went back to pgnus-0.98, and
: at this point I could see my old mail fine, and the new mail that
: arrived this morning seemed ok, but none of the mail between Friday
: and this morning seemed to be there, including several messages that I 
: know need to be answered today.

: I poked around, and regenerated the nov databases, and finally did "ls 
: -l" in my Mail directory, and discovered that the messages got written 
: by this morning's CVS gnus as files like Mail/world1699 instead of
: Mail/world/1699.

: This is a bug.

I'm seeing the same problem with today's CVS.

-Emerick
-- 
-------------------------------------------------------------------------
Emerick Rogul         /\/  "i was going to take every drug known to the
emerick@cs.bu.edu     /\/   human race and shag anything that moved."
------------------------------------------------- 'ecstasy', irvine welsh



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

end of thread, other threads:[~2000-03-17 17:12 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-03-13 16:54 major problem with recent cvs Laura Conrad
2000-03-13 23:58 ` Simon Josefsson
2000-03-14 10:48   ` Kai Großjohann
2000-03-14 11:42     ` Simon Josefsson
2000-03-14 14:56       ` lconrad
2000-03-14 15:07         ` Karl Kleinpaste
2000-03-14 15:37           ` Laura Conrad
2000-03-14 15:59         ` Kai Großjohann
2000-03-14 16:18           ` Laura Conrad
2000-03-14 16:55           ` Gunnar Evermann
2000-03-14 16:57             ` Kai Großjohann
2000-03-14 16:47         ` Kai Großjohann
2000-03-14 20:18           ` lconrad
2000-03-17 17:12         ` Resolution (was: Re: major problem with recent cvs) lconrad
2000-03-15 10:43       ` major problem with recent cvs Per Abrahamsen
2000-03-15 18:07         ` Jan Vroonhof
2000-03-16 10:34           ` Per Abrahamsen
2000-03-16 11:40             ` Jan Vroonhof
2000-03-17 13:20               ` Per Abrahamsen
2000-03-14 16:43   ` Jan Vroonhof
2000-03-14 17:17   ` Jan Vroonhof
     [not found] <8aj6qv$qvc$1@quimby.gnus.org>
2000-03-13 20:48 ` Emerick Rogul
2000-03-14 17:35   ` Matt Swift

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).