* [Patch] Improvements and additions for gnus-button-alist
@ 2002-12-30 22:05 Reiner Steib
2002-12-30 22:26 ` Lars Magne Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Reiner Steib @ 2002-12-30 22:05 UTC (permalink / raw)
[-- Attachment #1: Type: text/plain, Size: 947 bytes --]
Hi,
I've modified `gnus-button-alist'. It now makes buttons for CTAN-URLs
(quite often seen in LaTeX related groups) and for
apropos-documentation:
| CTAN: macros/latex/contrib/supported/koma-script/
| M-x apropos-documentation RET buttons RET
Some other regexps in `gnus-button-alist' were changed too.
Some of the regexps use [a-zA-Z]. But gnus-article-add-buttons set
case-fold-search to t. Is this indented? (I didn't change this.)
Here's the patch and a ChangeLog entry:
--8<---------------cut here---------------start------------->8---
2002-12-30 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-button-valid-fqdn-regexp): New variable.
(gnus-button-handle-apropos-documentation): New function.
(gnus-button-handle-ctan): New function.
(gnus-button-alist): Use them. Improve some regexps.
(gnus-button-prefer-mid-or-mail): Addition to doc-string.
--8<---------------cut here---------------end--------------->8---
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gnus-art.buttons.05.patch --]
[-- Type: text/x-patch, Size: 9588 bytes --]
Index: gnus-art.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v
retrieving revision 6.258
diff -u -c -u -r6.258 gnus-art.el
cvs server: conflicting specifications of output style
cvs server: conflicting specifications of output style
--- gnus-art.el 2002/12/28 21:29:02 6.258
+++ gnus-art.el 2002/12/30 21:42:40
@@ -5323,6 +5323,18 @@
:group 'gnus-article-buttons
:type 'regexp)
+(defcustom gnus-button-valid-fqdn-regexp
+ (concat "[a-z0-9][-.a-z0-9]+\\." ;; [hostname.subdomain.]domain.
+ ;; valid TLDs:
+ "\\([a-z][a-z]" ;; two letter country TDLs
+ "\\|biz\\|com\\|edu\\|gov\\|int\\|mil\\|net\\|org"
+ "\\|aero\\|coop\\|info\\|name\\|museum"
+ "\\|arpa\\|pro\\|uucp\\|bitnet\\|bofh" ;; old style?
+ "\\)")
+ "Regular expression that matches a valid FQDN."
+ :group 'gnus-article-buttons
+ :type 'regexp)
+
(defcustom gnus-button-man-handler 'manual-entry
"Function to use for displaying man pages.
The function must take at least one argument with a string naming the
@@ -5332,15 +5344,48 @@
(function :tag "Other"))
:group 'gnus-article-buttons)
+(defcustom gnus-ctan-url "http://tug.ctan.org/tex-archive/"
+ "Top directory of a CTAN \(Comprehensive TeX Archive Network\) archive.
+If the default site is too slow, try to find a CTAN mirror, see
+<URL:http://tug.ctan.org/tex-archive/CTAN.sites?action=/index.html>. See also
+the variable `gnus-button-handle-ctan'."
+ :group 'gnus-article-buttons
+ :link '(custom-manual "(gnus)Group Parameters")
+ :type '(choice (const "http://www.tex.ac.uk/tex-archive/")
+ (const "http://tug.ctan.org/tex-archive/")
+ (const "http://www.dante.de/CTAN/")
+ (string :tag "Other")))
+
+(defcustom gnus-button-ctan-handler 'browse-url
+ "Function to use for displaying CTAN links.
+The function must take one argument, the string naming the URL."
+ :type '(choice (function-item :tag "Browse Url" browse-url)
+ (function :tag "Other"))
+ :group 'gnus-article-buttons)
+
+(defcustom gnus-button-handle-ctan-bogus-regexp "^/?tex-archive/\\|^/"
+ "Bogus strings removed from CTAN URLs."
+ :group 'gnus-article-buttons
+ :type '(choice (const "^/?tex-archive/\\|/")
+ (regexp :tag "Other")))
+
+(defcustom gnus-button-mid-or-mail-regexp
+ (concat "\\b\\(<?[a-zA-Z0-9][^<>\")!;:,{}\n\t ]*@"
+ gnus-button-valid-fqdn-regexp
+ ">?\\)\\b")
+ "Regular expression that matches a message ID or a mail address."
+ :group 'gnus-article-buttons
+ :type 'regexp)
+
(defcustom gnus-button-prefer-mid-or-mail 'guess
"What to do when the button on a string as \"foo123@bar.com\" is pushed.
Strings like this can be either a message ID or a mail address. If the
variable is set to the symbol `ask', query the user what do do. If it is the
symbol `guess', Gnus will do a guess and query the user what do do if it is
-ambiguous. If it is one of the sybols `mid' or `mail', Gnus will always assume
-that the string is a message ID or a mail address, respectivly. See the
-variable `gnus-button-guessed-mid-regexp' for details concerning the
-guessing."
+ambiguous. See the variable `gnus-button-guessed-mid-regexp' for details
+concerning the guessing. If it is one of the sybols `mid' or `mail', Gnus
+will always assume that the string is a message ID or a mail address,
+respectivly."
;; FIXME: doc-string could/should be improved.
:group 'gnus-article-buttons
:type '(choice (const ask)
@@ -5423,10 +5468,35 @@
(if (fboundp 'apropos-variable) 'apropos-variable 'apropos)
(gnus-replace-in-string url gnus-button-handle-describe-prefix "")))
+(defun gnus-button-handle-apropos-documentation (url)
+ "Call apropos when pushing the corresponding URL button."
+ (funcall
+ (if (fboundp 'apropos-documentation) 'apropos-documentation 'apropos)
+ (gnus-replace-in-string url gnus-button-handle-describe-prefix "")))
+
+(defun gnus-button-handle-ctan (url)
+ "Call `browse-url' when pushing a CTAN URL button."
+ (funcall
+ gnus-button-ctan-handler
+ (concat
+ gnus-ctan-url
+ (gnus-replace-in-string url gnus-button-handle-ctan-bogus-regexp ""))))
+
+(defcustom gnus-button-tex-level 5
+ "*Integer that says how many TeX-related buttons Gnus will show.
+The higher the number, the more buttons will appear and the more false
+positives are possible. Note that you can set this variable local to
+specifific groups. Setting it higher in TeX groups is probably a good idea.
+See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on
+how to set variables in specific groups."
+ :group 'gnus-article-buttons
+ :link '(custom-manual "(gnus)Group Parameters")
+ :type 'integer)
+
(defcustom gnus-button-man-level 5
"*Integer that says how many man-related buttons Gnus will show.
The higher the number, the more buttons will appear and the more false
-positves are possible. Note that you can set this variable local to
+positives are possible. Note that you can set this variable local to
specifific groups. Setting it higher in Unix groups is probably a good idea.
See Info node `(gnus)Group Parameters' and the variable `gnus-parameters' on
how to set variables in specific groups."
@@ -5437,9 +5507,9 @@
(defcustom gnus-button-emacs-level 5
"*Integer that says how many emacs-related buttons Gnus will show.
The higher the number, the more buttons will appear and the more false
-positves are possible. Note that you can set this variable local to
+positives are possible. Note that you can set this variable local to
specifific groups. Setting it higher in Emacs or Gnus related groups is
-probably a good idea.See Info node `(gnus)Group Parameters' and the variable
+probably a good idea. See Info node `(gnus)Group Parameters' and the variable
`gnus-parameters' on how to set variables in specific groups."
:group 'gnus-article-buttons
:link '(custom-manual "(gnus)Group Parameters")
@@ -5448,7 +5518,7 @@
(defcustom gnus-button-mail-level 5
"*Integer that says how many buttons for message IDs or mail addresses will appear.
The higher the number, the more buttons will appear and the more false
-positves are possible."
+positives are possible."
:group 'gnus-article-buttons
:type 'integer)
@@ -5466,6 +5536,9 @@
("\\(<URL: *\\)mailto: *\\([^> \n\t]+\\)>" 0 t gnus-url-mailto 2)
("mailto:\\([-a-zA-Z.@_+0-9%=?]+\\)" 0 t gnus-url-mailto 1)
("\\bmailto:\\([^ \n\t]+\\)" 0 t gnus-url-mailto 1)
+ ;; CTAN
+ ("\\bCTAN:[ \t\n]*\\([^>)!;:,\n\t ]*\\)" 0 (>= gnus-button-tex-level 1)
+ gnus-button-handle-ctan 1)
;; This is info
("\\binfo:\\(//\\)?\\([^'\">\n\t ]+\\)" 0
(>= gnus-button-emacs-level 1) gnus-button-handle-info 2)
@@ -5482,11 +5555,13 @@
0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-command 1)
("M-x[ \t\n]+apropos-variable[ \t\n]+RET[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET"
0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-variable 1)
- ("\\W\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+f[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET"
+ ("M-x[ \t\n]+apropos-documentation[ \t\n]+RET[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET"
+ 0 (>= gnus-button-emacs-level 1) gnus-button-handle-apropos-documentation 1)
+ ("\\b\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+f[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET"
0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-function 2)
- ("\\W\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+v[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET"
+ ("\\b\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+v[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+RET"
0 (>= gnus-button-emacs-level 1) gnus-button-handle-describe-variable 2)
- ("\\W\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+k[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+" 0
+ ("\\b\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+k[ \t\n]+\\([^ \t\n]+\\)[ \t\n]+" 0
;; this regexp needs to be fixed!
(>= gnus-button-emacs-level 9) gnus-button-handle-describe-key 2)
;; This is how URLs _should_ be embedded in text...
@@ -5494,22 +5569,23 @@
;; Raw URLs.
(gnus-button-url-regexp 0 t browse-url 0)
;; man pages
- ("\\b\\([a-z][a-z]+\\)([0-9])\\W" 0
+ ("\\b\\([a-z][a-z]+\\)([1-9])\\W" 0
(and (>= gnus-button-man-level 1) (< gnus-button-man-level 3))
gnus-button-handle-man 1)
;; more man pages: resolv.conf(5), iso_8859-1(7), xterm(1x)
- ("\\b\\([a-zA-Z][-_.a-zA-Z0-9]+\\)([0-9])\\W" 0
+ ("\\b\\([a-zA-Z][-_.a-zA-Z0-9]+\\)([1-9])\\W" 0
(and (>= gnus-button-man-level 3) (< gnus-button-man-level 5))
gnus-button-handle-man 1)
- ;; even more: Apache::PerlRun(3pm), PDL::IO::FastRaw(3pm), SoWWWAnchor(3iv)
- ("\\b\\([a-zA-Z][-_.:a-zA-Z0-9]+\\)([0-9][a-z]*)\\W" 0
+ ;; even more: Apache::PerlRun(3pm), PDL::IO::FastRaw(3pm),
+ ;; SoWWWAnchor(3iv), XSelectInput(3X11)
+ ("\\b\\([a-zA-Z][-_.:a-zA-Z0-9]+\\)([1-9][X1a-z]*)\\W" 0
(>= gnus-button-man-level 5) gnus-button-handle-man 1)
;; MID or mail: To avoid too many false positives we don't try to catch
;; all kind of allowed MIDs or mail addresses. Domain part must contain
;; at least one dot. TLD must contain two or three chars or be a know TLD
;; (info|name|...). Put this entry near the _end_ of `gnus-button-alist'
;; so that non-ambiguous entries (see above) match first.
- ("\\b\\(<?[a-zA-Z0-9][^<>\")!;:,{}\n\t ]*@[a-zA-Z0-9][-.a-zA-Z0-9]+\\.\\([a-zA-Z][a-zA-Z]\\([a-zA-Z]\\)?\\|[Ii][Nn][Ff][Oo]\\|[Nn][Aa][Mm][Ee]\\)>?\\)\\b"
+ (gnus-button-mid-or-mail-regexp
0 (>= gnus-button-mail-level 5) gnus-button-handle-mid-or-mail 1))
"*Alist of regexps matching buttons in article bodies.
[-- Attachment #3: Type: text/plain, Size: 116 bytes --]
Bye, Reiner.
--
,,,
(o o)
---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] Improvements and additions for gnus-button-alist
2002-12-30 22:05 [Patch] Improvements and additions for gnus-button-alist Reiner Steib
@ 2002-12-30 22:26 ` Lars Magne Ingebrigtsen
2003-01-02 17:46 ` Reiner Steib
0 siblings, 1 reply; 4+ messages in thread
From: Lars Magne Ingebrigtsen @ 2002-12-30 22:26 UTC (permalink / raw)
Reiner Steib <4uce.02.r.steib@gmx.net> writes:
> Some of the regexps use [a-zA-Z]. But gnus-article-add-buttons set
> case-fold-search to t. Is this indented? (I didn't change this.)
The [A-Z] parts in the regexps should probably be removed.
> * gnus-art.el (gnus-button-valid-fqdn-regexp): New variable.
> (gnus-button-handle-apropos-documentation): New function.
> (gnus-button-handle-ctan): New function.
> (gnus-button-alist): Use them. Improve some regexps.
> (gnus-button-prefer-mid-or-mail): Addition to doc-string.
Thanks for the patch; I've applied it to Oort Gnus v0.08 (i. e., CVS).
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] Improvements and additions for gnus-button-alist
2002-12-30 22:26 ` Lars Magne Ingebrigtsen
@ 2003-01-02 17:46 ` Reiner Steib
2003-01-02 18:44 ` Lars Magne Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Reiner Steib @ 2003-01-02 17:46 UTC (permalink / raw)
[-- Attachment #1: Type: text/plain, Size: 937 bytes --]
On Mon, Dec 30 2002, Lars Magne Ingebrigtsen wrote:
> Reiner Steib <4uce.02.r.steib@gmx.net> writes:
>
>> Some of the regexps use [a-zA-Z]. But gnus-article-add-buttons set
>> case-fold-search to t. Is this indented? (I didn't change this.)
>
> The [A-Z] parts in the regexps should probably be removed.
Done.
lisp/ChangeLog:
--8<---------------cut here---------------start------------->8---
2003-01-02 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-button-url-regexp,
(gnus-button-mid-or-mail-regexp, gnus-button-alist,
(gnus-header-button-alist): Regexps are case insensitive here.
--8<---------------cut here---------------end--------------->8---
texi/ChangeLog:
--8<---------------cut here---------------start------------->8---
2003-01-02 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (Article Buttons): Regexps are case insensitive here.
--8<---------------cut here---------------end--------------->8---
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gnus-art.buttons-case.patch --]
[-- Type: text/x-patch, Size: 4690 bytes --]
--- lisp/gnus-art.el 2003/01/02 02:34:32 6.260
+++ lisp/gnus-art.el 2003/01/02 17:24:21
@@ -5340,8 +5340,8 @@
(defcustom gnus-button-url-regexp
(if (string-match "[[:digit:]]" "1") ;; support POSIX?
- "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-a-zA-Z0-9_=!?#$@~`%&*+|\\/:;.,[:word:]]+[-a-zA-Z0-9_=#$@~`%&*+|\\/[:word:]]\\)"
- "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?\\([-a-zA-Z0-9_=!?#$@~`%&*+|\\/:;.,]\\|\\w\\)+\\([-a-zA-Z0-9_=#$@~`%&*+|\\/]\\|\\w\\)\\)")
+ "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-z0-9_.]+:[0-9]*\\)?[-a-z0-9_=!?#$@~`%&*+|\\/:;.,[:word:]]+[-a-z0-9_=#$@~`%&*+|\\/[:word:]]\\)"
+ "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-z0-9_.]+:[0-9]*\\)?\\([-a-z0-9_=!?#$@~`%&*+|\\/:;.,]\\|\\w\\)+\\([-a-z0-9_=#$@~`%&*+|\\/]\\|\\w\\)\\)")
"Regular expression that matches URLs."
:group 'gnus-article-buttons
:type 'regexp)
@@ -5393,7 +5393,7 @@
(regexp :tag "Other")))
(defcustom gnus-button-mid-or-mail-regexp
- (concat "\\b\\(<?[a-zA-Z0-9][^<>\")!;:,{}\n\t ]*@"
+ (concat "\\b\\(<?[a-z0-9][^<>\")!;:,{}\n\t ]*@"
gnus-button-valid-fqdn-regexp
">?\\)\\b")
"Regular expression that matches a message ID or a mail address."
@@ -5557,7 +5557,7 @@
("\\bin\\( +article\\| +message\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2
t gnus-button-message-id 3)
("\\(<URL: *\\)mailto: *\\([^> \n\t]+\\)>" 0 t gnus-url-mailto 2)
- ("mailto:\\([-a-zA-Z.@_+0-9%=?]+\\)" 0 t gnus-url-mailto 1)
+ ("mailto:\\([-a-z.@_+0-9%=?]+\\)" 0 t gnus-url-mailto 1)
("\\bmailto:\\([^ \n\t]+\\)" 0 t gnus-url-mailto 1)
;; CTAN
("\\bCTAN:[ \t\n]*\\([^>)!;:,\n\t ]*\\)" 0 (>= gnus-button-tex-level 1)
@@ -5596,12 +5596,12 @@
(and (>= gnus-button-man-level 1) (< gnus-button-man-level 3))
gnus-button-handle-man 1)
;; more man pages: resolv.conf(5), iso_8859-1(7), xterm(1x)
- ("\\b\\([a-zA-Z][-_.a-zA-Z0-9]+\\)([1-9])\\W" 0
+ ("\\b\\([a-z][-_.a-z0-9]+\\)([1-9])\\W" 0
(and (>= gnus-button-man-level 3) (< gnus-button-man-level 5))
gnus-button-handle-man 1)
;; even more: Apache::PerlRun(3pm), PDL::IO::FastRaw(3pm),
;; SoWWWAnchor(3iv), XSelectInput(3X11)
- ("\\b\\([a-zA-Z][-_.:a-zA-Z0-9]+\\)([1-9][X1a-z]*)\\W" 0
+ ("\\b\\([a-z][-_.:a-z0-9]+\\)([1-9][X1a-z]*)\\W" 0
(>= gnus-button-man-level 5) gnus-button-handle-man 1)
;; MID or mail: To avoid too many false positives we don't try to catch
;; all kind of allowed MIDs or mail addresses. Domain part must contain
@@ -5613,8 +5613,8 @@
"*Alist of regexps matching buttons in article bodies.
Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where
-REGEXP: is the string matching text around the button (can also be lisp
-expression evaluating to a string),
+REGEXP: is the string (case insensitive) matching text around the button (can
+also be lisp expression evaluating to a string),
BUTTON: is the number of the regexp grouping actually matching the button,
FORM: is a lisp expression which must eval to true for the button to
be added,
@@ -5641,7 +5641,7 @@
("^X-[Uu][Rr][Ll]:" gnus-button-url-regexp 0 t browse-url 0)
("^Subject:" gnus-button-url-regexp 0 t browse-url 0)
("^[^:]+:" gnus-button-url-regexp 0 t browse-url 0)
- ("^[^:]+:" "\\bmailto:\\([-a-zA-Z.@_+0-9%=?]+\\)" 0 t gnus-url-mailto 1)
+ ("^[^:]+:" "\\bmailto:\\([-a-z.@_+0-9%=?]+\\)" 0 t gnus-url-mailto 1)
("^[^:]+:" "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)" 1 t
gnus-button-message-id 3))
"*Alist of headers and regexps to match buttons in article heads.
--- texi/gnus.texi 2002/12/31 13:04:24 6.356
+++ texi/gnus.texi 2003/01/02 17:24:23
@@ -8528,10 +8528,11 @@
@table @var
@item regexp
-All text that match this regular expression will be considered an
-external reference. Here's a typical regexp that matches embedded URLs:
-@samp{<URL:\\([^\n\r>]*\\)>}. This can also be a variable containing a
-regexp, useful variables to use include @code{gnus-button-url-regexp}.
+All text that match this regular expression (case insensitive) will be
+considered an external reference. Here's a typical regexp that matches
+embedded URLs: @samp{<URL:\\([^\n\r>]*\\)>}. This can also be a
+variable containing a regexp, useful variables to use include
+@code{gnus-button-url-regexp}.
@item button-par
Gnus has to know which parts of the matches is to be highlighted. This
[-- Attachment #3: Type: text/plain, Size: 116 bytes --]
Bye, Reiner.
--
,,,
(o o)
---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] Improvements and additions for gnus-button-alist
2003-01-02 17:46 ` Reiner Steib
@ 2003-01-02 18:44 ` Lars Magne Ingebrigtsen
0 siblings, 0 replies; 4+ messages in thread
From: Lars Magne Ingebrigtsen @ 2003-01-02 18:44 UTC (permalink / raw)
Reiner Steib <4uce.02.r.steib@gmx.net> writes:
> * gnus-art.el (gnus-button-url-regexp,
> (gnus-button-mid-or-mail-regexp, gnus-button-alist,
> (gnus-header-button-alist): Regexps are case insensitive here.
Thanks for the patch; I've applied it to Oort Gnus v0.08 (i. e., CVS).
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-01-02 18:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-30 22:05 [Patch] Improvements and additions for gnus-button-alist Reiner Steib
2002-12-30 22:26 ` Lars Magne Ingebrigtsen
2003-01-02 17:46 ` Reiner Steib
2003-01-02 18:44 ` Lars Magne Ingebrigtsen
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).