diff --git a/src/ChangeLog b/src/ChangeLog
index c0c5ba77e74441477159be98ceb5e01cb6411c6f..fafe4243bb9d024a6fb3d14ed59d8d75df975ade 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,16 @@
+2000-03-15  David Byers  <davby@ida.liu.se>
+
+	* view-text.el (lyskom-format-mx-author): Make mx-from clickable.
+
+	* lyskom-buttons.el (lyskom-default-button): URLs and e-mail get
+	kom-url-face.
+
+	* commands2.el (kom-review-mail-headers): Transform text headers
+	as an external text.
+
+	* lyskom-buttons.el (lyskom-button-transform-text): Don't add
+	text, conf or pers buttons when transforming an external text.
+
 2000-03-11  David Byers  <davby@ida.liu.se>
 
 	* menus.el (lyskom-define-menu-xemacs): Encode menu item strings
diff --git a/src/TODO b/src/TODO
index bcebfbfbbed6d80ac7bb2bd9e1977d74c111aca0..433b5677391b80db4758de5e79b80d9c09ca8f05 100644
--- a/src/TODO
+++ b/src/TODO
@@ -5,6 +5,10 @@ Att g
 
 * INTRESSANTA SAKER
 
+** Knappar i email-adressen i importerade brev.
+
+** Knappar � s�nt i �terse brevhuvud.
+
 ** Man vill kunna skicka user-agent och proxy-authorization till
    HTTP-proxyn. Se specen f�r HTTP 1.1, kapitel 11 och RFC 2069.
 
@@ -18,10 +22,6 @@ Att g
    ut och han s�ger att problemen f�rsvann n�r han skrev en
    presentation f�r sin person Martin;. User-arean finns i 4730269.
 
-** I Gnu Emacs 20.4.1 f�r man ett fyrkantigt tecken f�re varje svenskt
-   tecken. Antagligen en \201 som sp�kar. Vi m�ste bergis koda om alla
-   str�ngar som hamnar i menyer.
-
 ** Man f�r illegal consp nil i processfiltret n�r man g�r med i eller
    �ndrar prioritet p� ett m�te ibland. S�llan. Jag gick med i
    programmering i TokKOM med kom-handle-membership uppe. N�r jag
@@ -31,14 +31,6 @@ Att g
 
    H�nder ibland n�r man loggar in ocks�.
 
-** Inst�llningsbufferten �r buggig. Om man har en inst�llning i
-   servern och markerar att den skall sparas i .emacs s� sparas
-   defaultv�rdet och inte det aktuella v�rdet. Buggligt ju! Jag undrar 
-   om det kan bli fel n�r man g�r �t andra h�llet ocks�.
-
-   Antagligen �r det fixat nu.
-
-
 ** N�r man g�r med i ett m�te s� sorteras inte medlemskapet in korrekt 
    i medlemskapslistan.
 
@@ -65,7 +57,6 @@ Att g
    appropriate bytedness. Maybe.
 
 ** In completing-read.el, MULEify the character comparisons.
-   
 
 ** In completing-read.el, end of lyskom-complete-string, check how the
    result of make-string is used and modified.
@@ -187,13 +178,6 @@ j-or-n-p.
     kommando, utan hamnar �verst i bufferten.
     FIX BY: ---
 
-    Om man byter buffert med C-x b till den sista aktiva KOM-bufferten
-    s� tycker N�sta LysKOM att det inte finns fler aktiva
-    KOM-sessioner. Funktionen verkar vara lite f�r k�nslig f�r hur
-    lyskom-buffer-list ser ut. Den borde nog g�ra n�got lite
-    intelligentare n�r listan ser ut att ha tagit slut.
-    FIX BY: 0.46        KLART
-
     Peter Enderborg hade en 118 tecken bred XEmacs 20.3 med scrollbar,
     och vilkalistan blev precis 1 tecken f�r bred. I Gnu Emacs 19.30
     blev det r�tt. Det verkar som om window-width ljuger.
@@ -250,9 +234,6 @@ j-or-n-p.
     parallella prefetcher p� samma m�te.
     FIX BY: 
 
-    G� ur m�tet man prefetchar genererar en bug.
-    FIX BY: 0.46            FIXED
-
     Om man g�r till ett m�te som inte prefetchats och inte har n�gra
     inl�gg blir promten fel, och man f�r ett felmeddelande.
     FIX BY: 0.46
@@ -462,7 +443,7 @@ j-or-n-p.
     Kolla hur misslyckad inskickning hanteras. Vi borde ajtomagiskt
     ploppa upp edit-bufferten, alternativt ha ett kommando f�r att
     g�ra det (och g�ra det till defaultkommandot.)
-    FIX BY: 0.46
+    FIX BY: 0.46            KLART
 
     Man borde kunna manipulera mottagare i editbufferten med musen (ta
     bort, �ndra typ.)
@@ -488,7 +469,7 @@ j-or-n-p.
     FIX BY: 0.47
 
     Filtrera asynkrona meddelanden (Pontus Lidman)
-    FIX BY: 0.47
+    FIX BY: 0.47            KLART
 
 
 ** MEDLEMSSKAPSINFORMATION
@@ -586,7 +567,7 @@ j-or-n-p.
     Det skulle vara bra om man kunde ange f�r varje inst�llning om den
     skulle sparas i servern eller inte. I princip �r det enkelt, men
     det beh�vs ett gr�nssnitt f�r det.
-    FIX BY: 0.46
+    FIX BY: 0.46                                    KLART
 
 
 ** AUX-ITEMS
diff --git a/src/commands2.el b/src/commands2.el
index 980f938ecbd3bc13913a127093452cae67d21e40..c0e3374181896e547950dca59d2d1f226070862a 100644
--- a/src/commands2.el
+++ b/src/commands2.el
@@ -2254,11 +2254,12 @@ Return-value: 'no-session if there is no suitable session to switch to
   (interactive (list (lyskom-read-text-no-prefix-arg
                       'review-mail-headers-to-what t)))
   (let* ((text-stat (blocking-do 'get-text-stat text-no))
-         (headers (and text-stat (lyskom-get-aux-item (text-stat->aux-items text-stat) 24))))
+         (headers (and text-stat (lyskom-get-aux-item (text-stat->aux-items text-stat) 24)))
+         (lyskom-transforming-external-text t))
     (cond ((null text-stat) (lyskom-format-insert 'no-such-text-no text-no))
           ((null headers) (lyskom-format-insert 'no-mail-headers text-no))
           (t (lyskom-format-insert 'mail-headers-for text-no)
              (mapcar (lambda (el) 
-                       (lyskom-insert (aux-item->data el))
+                       (lyskom-format-insert "%#1t" (aux-item->data el))
                        (lyskom-insert "\n"))
                      headers)))))
diff --git a/src/distribution-README b/src/distribution-README
index 00ff93bc5cf1b7ee68d7695eb8aa6326818abc24..26f7c456233f8c1fbfe7104dfeeccb5cde483867 100644
--- a/src/distribution-README
+++ b/src/distribution-README
@@ -38,14 +38,15 @@
     Please mail change requests to kom@lysator.liu.se
 
 
+
 1.  What do I need
 
     You need an Emacs. The client appears to work with the following
     versions of Emacs:
 
-    * XEmacs version 20.2 and 21.2
+    * XEmacs version 21.1 and 21.2
     * Gnu Emacs version 19.34 [1]
-    * Gnu Emacs version 20.3 and 20.4
+    * Gnu Emacs version 20.3 and newer
 
     [1] You'll have to replace the included custom package, and if you 
         use Gnus, you may have to update that as well.
@@ -69,7 +70,7 @@
     load path. This file redefines a function that the client relies
     heavly on. The redefinition is buggy. You can recognize this
     problem if your Emacs says something like this: "Key sequence < m
-    o u s e - 2 > uses invalid prefix characters"
+    o u s e - 2 > uses invalid prefix characters".
 
 
 
@@ -84,10 +85,21 @@
     is available from <URL:http://www.cs.indiana.edu/elisp/w3/w3.html>
     
     The latest version of calc, when writing this, is available at
-    <URL:ftp://prep.ai.mit.edu/pub/gnu/calc-2.02f.tar.gz>
+    <URL:ftp://ftp.gnu.org/pub/gnu/calc/calc-2.02f.tar.gz>
+
+
+3.  Installation
+
+    There are two ways to install the client. You can assemble,
+    compile and install it from a tar file, or from a single emacs
+    lisp file. 
+
+    If you are using a Unix system (or something sufficiently
+    similar), try installing from the tar file. If you are using
+    Microsoft Windows, install using the single file.
 
 
-3.  Installation from the tar archive
+3.1 Installation from the tar file
 
     Edit the Makefile in the distribution to reflect your environment. 
     You can change the following variables:
@@ -141,7 +153,7 @@
 
 
 
-4.  Installation from a single .el file
+3.2.  Installation from a single .el file
 
     If you have received the client as a single file named
     lyskom-0.46.el or something similar, first rename the file to
@@ -157,7 +169,7 @@
 
 
 
-5.  Reporting Bugs
+4.  Reporting Bugs
 
     Please report bugs to bug-lyskom@lysator.liu.se. Please give us the 
     following information (at least):
diff --git a/src/english-strings.el b/src/english-strings.el
index 667e2bca646e06691ce777006e7d175144fc3ab6..6bd18ae2d188df79a7d9e9f6a72ba9d42039c37d 100644
--- a/src/english-strings.el
+++ b/src/english-strings.el
@@ -1358,6 +1358,10 @@ You must become an active member of the conference to enter it.\n")
     (passive-mt-type . "passive")
     (secret-mt-type . "secret")
 
+    (Invitation-mt-type . "Invited")
+    (Passive-mt-type . "Passive")
+    (Secret-mt-type . "Secret")
+
     (not-author-try-anyway-p . "You are not the author of the text. Try anyway? ")
     (what-no-comments-no . "Which text do you want to prevent comments to: ")
     (adding-no-comments . "Preventing commens to text %#1n...")
diff --git a/src/lyskom-buttons.el b/src/lyskom-buttons.el
index b84c7530636c5370a6439a7f1b4be907a932cd7e..1ee9650615d2a4ddfa4871fd9c85c6ea2df425b1 100644
--- a/src/lyskom-buttons.el
+++ b/src/lyskom-buttons.el
@@ -162,7 +162,7 @@ If there is no active area, then do something else."
   ;; function alters the menu, so we copy the entries to prevent it
   ;; from fiddling with lyskom-button-actions.
   (cond ((string-match "XEmacs" (emacs-version))
-         (cons title 
+         (cons (encode-coding-string title 'iso-8859-1)
                (mapcar (function
                         (lambda (entry)
                           (vector (encode-coding-string
@@ -302,7 +302,8 @@ lyskom-text-buttons. Returns the modified string."
         (add-text-properties 
          (match-beginning (or (elt el 2) 0))
          (match-end (or (elt el 2) 0))
-         (cond ((eq (elt el 1) 'text)
+         (cond ((and (eq (elt el 1) 'text)
+                     (not lyskom-transforming-external-text))
                 (lyskom-generate-button 'text
                                         (lyskom-button-get-arg el text)
                                         (lyskom-button-get-text el text)
@@ -468,7 +469,7 @@ MENU-TITLE is a list consisting of a format string or symbol and arguments
 for the format string. The arguments are not when the menu is popped
 up."
   (and kom-text-properties
-       (let (xarg text)
+       (let (xarg text face)
 	 (cond ((eq type 'conf)
 		(cond ((lyskom-conf-stat-p arg)
 		       (if (conf-type->letterbox (conf-stat->conf-type arg))
@@ -521,10 +522,17 @@ up."
 			     text (number-to-string (text-stat->text-no arg))))
 		      (t (setq xarg 0 text ""))))
 	       ((eq type 'url)
+                (setq face 'kom-url-face)
 		(cond ((stringp arg) (setq xarg nil text arg))
 		      (t (setq xarg nil text ""))))
+
+               ((eq type 'email)
+                (setq face 'kom-url-face)
+                (cond ((stringp arg) (setq xarg nil text arg))
+                      (t (setq xarg nil text ""))))
+
 	       (t (setq xarg arg text "")))
-	 (lyskom-generate-button type xarg text nil menu-title))))
+	 (lyskom-generate-button type xarg text face menu-title))))
                   
 
            
diff --git a/src/vars.el.in b/src/vars.el.in
index 28c93ae29ae7e7f9f6d5ae263c62d8b3bfb3f7f8..468534dcf0ade5e159f5d0b0634a59da3d11f55e 100644
--- a/src/vars.el.in
+++ b/src/vars.el.in
@@ -669,6 +669,10 @@ A number means wrap articles shorter than the number (in bytes)."
 ;;;
 
 
+(defvar lyskom-transforming-external-text nil
+  "Dynamically bound to non-nil when transforming text in which text,
+conference and person buttons are not expected.")
+
 (def-kom-var lyskom-url-protocol-regexp
   "\\(file\\|ftp\\|gopher\\|http\\|https\\|news\\|wais\\|mailto\\|telnet\\):"
   "Regexp to match the protocol part of a URL.")
@@ -748,7 +752,7 @@ to some URL viewers."
 			    lyskom-view-url-w3)
                            ("windows"
                             ".*"
-                            "Windows web brower"
+                            "web brower"
                             lyskom-view-url-windows)
 			   ("netscape"
 			    ".*"
diff --git a/src/view-text.el b/src/view-text.el
index 2ef50db1568e202bb469f47a4f173dc0db2af8a2..472acde11ef36413400e614ac988abf5dd9391a4 100644
--- a/src/view-text.el
+++ b/src/view-text.el
@@ -1054,7 +1054,12 @@ Args: TEXT-STAT of the text being read."
       (setq author (lyskom-get-string 'email-name-prefix))
       (when mx-author (setq author (concat author (aux-item->data mx-author))))
       (when (and mx-from mx-author) (setq author (concat author " ")))
-      (when mx-from (setq author (concat author "<" (aux-item->data mx-from) ">")))
+      (when mx-from
+        (setq author (concat author
+                      (lyskom-format 
+                       "<%[%#1@%#2s%]>"
+                       (lyskom-default-button 'email (aux-item->data mx-from))
+                       (aux-item->data mx-from)))))
       (setq author (concat (lyskom-get-string 'email-name-suffix) author))
       )
     author))