changeset 32972:a51631f90704

2000-09-24 Simon Josefsson <simon@josefsson.org> * nnheader.el (nnheader-parse-head): Try both "from:" and "from: ". 2000-10-03 Bjorn Torkelsson <torkel@hpc2n.umu.se> * uudecode.el: xemacs cleanup (use featurep ' xemacs) * nnheader.el: ditto
author Dave Love <fx@gnu.org>
date Fri, 27 Oct 2000 18:32:15 +0000
parents 831149d9d733
children c3f68b4d9e37
files lisp/gnus/nnheader.el
diffstat 1 files changed, 24 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/nnheader.el	Fri Oct 27 18:13:19 2000 +0000
+++ b/lisp/gnus/nnheader.el	Fri Oct 27 18:32:15 2000 +0000
@@ -6,6 +6,7 @@
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;; 	Lars Magne Ingebrigtsen <larsi@gnus.org>
+;; Maintainer: bugs@gnus.org
 ;; Keywords: news
 
 ;; This file is part of GNU Emacs.
@@ -216,7 +217,8 @@
 	   ;; From.
 	   (progn
 	     (goto-char p)
-	     (if (search-forward "\nfrom: " nil t)
+	     (if (or (search-forward "\nfrom: " nil t)
+		     (search-forward "\nfrom:" nil t))
 		 (nnheader-header-value) "(nobody)"))
 	   ;; Date.
 	   (progn
@@ -633,11 +635,26 @@
 		      2 0))
 	;; We translate -- but only the file name.  We leave the directory
 	;; alone.
-	(if (string-match "/[^/]+\\'" file)
-	    ;; This is needed on NT's and stuff.
-	    (setq leaf (substring file (1+ (match-beginning 0)))
-		  path (substring file 0 (1+ (match-beginning 0))))
-	  ;; Fall back on this.
+	(if (and (featurep 'xemacs)
+		 (memq system-type '(win32 w32 mswindows windows-nt)))
+	    ;; This is needed on NT and stuff, because
+	    ;; file-name-nondirectory is not enough to split
+	    ;; file names, containing ':', e.g.
+	    ;; "d:\\Work\\News\\nntp+news.fido7.ru:fido7.ru.gnu.SCORE"
+	    ;; 
+	    ;; we are trying to correctly split such names:
+	    ;; "d:file.name" -> "a:" "file.name"
+	    ;; "aaa:bbb.ccc" -> "" "aaa:bbb.ccc"
+	    ;; "d:aaa\\bbb:ccc"   -> "d:aaa\\" "bbb:ccc"
+	    ;; etc.
+	    ;; to translate then only the file name part.
+	    (progn
+	      (setq leaf file
+		    path "")
+	      (if (string-match "\\(^\\w:\\|[/\\]\\)\\([^/\\]+\\)$" file)
+		  (setq leaf (substring file (match-beginning 2))
+			path (substring file 0 (match-beginning 2)))))
+	  ;; Emacs DTRT, says andrewi.
 	  (setq leaf (file-name-nondirectory file)
 		path (file-name-directory file))))
       (setq len (length leaf))
@@ -882,7 +899,7 @@
 (defalias 'nnheader-cancel-timer 'cancel-timer)
 (defalias 'nnheader-cancel-function-timers 'cancel-function-timers)
 
-(when (string-match "XEmacs" emacs-version)
+(when (featurep 'xemacs)
   (require 'nnheaderxm))
 
 (run-hooks 'nnheader-load-hook)