diff --git a/src/ChangeLog b/src/ChangeLog
index 3f62cb5420e347cff91cee7c8badc49ef9b5e863..4b7bf66d4382b2f1ceade7be3d1f78b4ca0f5821 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,24 @@
+2002-12-13  David Byers  <david.byers@swipnet.se>
+
+	* lyskom-rest.el (lyskom-update-prompt): Change `insert-string' to
+	`insert' since the former is obsolete.
+
+	Bog 928:
+	* commands1.el (lyskom-times): Added Lucia.
+
+	Finished bug 924:
+	* option-edit.el (lyskom-nameday-widget): New widget type.
+
+	* vars.el.in (kom-url-transformation-rules): Improved the
+	Aftonbladet regexp.
+
+2002-12-11  David Byers  <david.byers@swipnet.se>
+
+	* swedish-strings.el (lyskom-sv-mode-map): Define swedish chars
+	using all possible methods.
+
+	* macros.el (lyskom-try-define-key): New macro.
+
 2002-12-09  David Byers  <david.byers@swipnet.se>
 
 	Work on bug 924:
diff --git a/src/commands1.el b/src/commands1.el
index 9c451f05f95092dd8b19b8befdf94550d11024f6..ba933fd80608a23c18adc23b093d7724ddfa4030 100644
--- a/src/commands1.el
+++ b/src/commands1.el
@@ -551,7 +551,7 @@ If optional USE-PRIORITY is non-nil then use that as the priority.
     (let ((priority
            (if (/= lyskom-pers-no (conf-stat->conf-no pers-conf-stat))
                (lyskom-read-num-range 0 255
-                                      (lyskom-get-string 'priority-q)
+                                      (lyskom-get-string 'other-priority-q)
                                       nil 100)
              (if (and (numberp kom-membership-default-priority)
                       (< kom-membership-default-priority 256)
@@ -2276,6 +2276,7 @@ If MARK-NO is nil, review all marked texts."
     ((nil  8 15 nil nil nil) . holdnose)
     ((nil 10 24 nil nil nil) . fnday)
     ((nil 11  1 nil nil nil) . allhelgonadag)
+    ((nil 12 13 nil nil nil) . luciaday)
     ((nil 12 24 nil nil nil) . xmaseve)
     ((nil 12 25 nil nil nil) . xmasday)
     ((nil 12 28 nil nil nil) . varnlosdag)
diff --git a/src/english-strings.el b/src/english-strings.el
index 1eb991344be45fca975e87edba8c35646d40b605..4a9f702b82a293a843f62e72a4ec7e1037dd9067 100644
--- a/src/english-strings.el
+++ b/src/english-strings.el
@@ -151,6 +151,7 @@
 (lyskom-language-missing-string lyskom-message fnday en)
 (lyskom-language-missing-string lyskom-message allhelgonadag en)
 (lyskom-language-missing-string lyskom-message varnlosdag en)
+(lyskom-language-missing-string lyskom-message luciaday en)
 
 (lyskom-language-ending-mismatch lyskom-message carbon-copy-prefix en sv)
 (lyskom-language-ending-mismatch lyskom-message blank-carbon-copy-prefix en sv)
@@ -304,6 +305,7 @@ instead of removing it.")
     (where-to-add . "To which conference? ")
     (where-to-add-self . "Join which conference? ")
     (priority-q . "Priority of your membership? (0 (low) - 255 (high)) ")
+    (other-priority-q . "Priority of the membership? (0 (low) - 255 (high)) ")
     (done . "done.\n")
     (cancelled . "cancelled.\n")
     (nope . "didn't work.\n")
@@ -2743,6 +2745,10 @@ Select whether to execute command or keyboard macro.")
 
     (url-transform-regexp . "From (regexp):")
     (url-transform-newtext . " To:")
+
+    (default-namedays . "Namedays for current language")
+    (specific-namedays . "Specific name list:")
+
     ;;
     ;; Misc doc strings
     ;;
@@ -3403,8 +3409,9 @@ be saved in the server. Otherwise it will be saved in your .emacs.")
   instead.")
 
     (kom-show-namedays-doc . "\
-  This only works in Swedish. If you're running LysKOM in Swedish, turning
-  this on causes today's names to be shown when you ask for the time.")
+  When this is on, display the name of the day. You can choose to display
+  names from a list appropriate to the currently selected language. You
+  can also choose a specific list of names.")
 
     (kom-show-week-number-doc . "\
   The Time command shows week numbers if this is on.")
diff --git a/src/lyskom-rest.el b/src/lyskom-rest.el
index b90668c465a6433ccca03427bb81517994d0264c..9cb29356aba27f35d44c98bc12d095543845ed20 100644
--- a/src/lyskom-rest.el
+++ b/src/lyskom-rest.el
@@ -2852,7 +2852,7 @@ Set lyskom-current-prompt accordingly. Tell server what I am doing."
                (add-text-properties 0 (length prompt-text)
                                     '(read-only t rear-nonsticky t)
                                     prompt-text))
-              (insert-string prompt-text)
+              (insert prompt-text)
               ;; Delete the old prompt
               (when lyskom-current-prompt
                 (if (and lyskom-slow-mode 
diff --git a/src/macros.el b/src/macros.el
index 9a5fb9dc3ffa12e4a49700eddf91960cffed592b..b93d4a588c405f99326aaa0aebe8da9bb311f5aa 100644
--- a/src/macros.el
+++ b/src/macros.el
@@ -257,6 +257,11 @@ the current buffer, and its value is copied from the LysKOM buffer."
                   (lyskom-default-value (quote (, keymap))))
             (use-local-map (, keymap)))))
 
+(defmacro lyskom-try-define-key (map seq fn)
+  `(condition-case nil
+       (define-key ,map ,seq ,fn)
+     (error nil)))
+
 
 ;;; ============================================================
 ;;; Widget gunk
diff --git a/src/names.el b/src/names.el
index 20911ee74badff2509bf03a8db1079efa39aee79..75506568a319bed2406c9e759ecd9ad448802cc8 100644
--- a/src/names.el
+++ b/src/names.el
@@ -77,7 +77,8 @@ DATA is nameday data"
 
 (lyskom-define-namedays 'sv 
                         "Sverige"
-                        "Namnsdagar ur svenska spr�kn�mndens nya namnl�ngd."
+                        "\
+Namnsdagar enligt svenska spr�kn�mndens nya namnl�ngd."
                         '((1 . ((1 . ())
                                 (2 . ("Svea"))
                                 (3 . ("Alfred" "Alfrida"))
@@ -455,9 +456,11 @@ DATA is nameday data"
                                  (30 . ("Abel" "Set"))
                                  (31 . ("Sylvester"))))))
 
-(lyskom-define-namedays 'sv_1901
-                        "Sverge (f�re 1901)"
-                        "Svenska namnl�ngden f�r 1901"
+(lyskom-define-namedays 'sv-1901
+                        "Sverige (f�re 1901)"
+                        "\
+Namnsdagar enligt namnl�ngd fr�n f�re 1901, med uppenbara helgdagar
+borttagna"
                         '((1 . ((1 . ())
                                 (2 . ("Abel" "Set"))
                                 (3 . ("Enoch"))
@@ -848,8 +851,12 @@ DATA is nameday data"
                                  ))))
 
 (lyskom-define-namedays 'fi
-                        "Suomi"
-                        "Finska namnsdagar"
+                        "Finska"
+                        "\
+Namnsdagar ur n�gon finsk namnl�ngd. Eftersom utvecklarna inte
+kan finska �r beskrivningen p� svenska, med f�rhoppningen att
+n�gon som kan finska kommer att reta sig p� den och skriva om
+texten p� r�tt spr�k."
                         '((1 . ((1 . ())
                                 (2 . ("Aapeli"))
                                 (3 . ("Elmeri" "Elmer" "Elmo"))
@@ -1239,9 +1246,10 @@ DATA is nameday data"
                                  (31 . ("Sylvester" "Silvo"))
                                  ))))
 
-(lyskom-define-namedays 'fi_sv
+(lyskom-define-namedays 'fi-sv
                         "Finlandssvenska"
-                        "Finlandssvenska namnsdagar"
+                        "\
+Namnsdagar enligt n�gon finlandssvenskt namnl�ngd."
                         '((1 . ((1 . ())
                                 (2 . ("Gehard" "Gert"))
                                 (3 . ("Elmer" "Helmer"))
@@ -1631,9 +1639,13 @@ DATA is nameday data"
                                  (31 . ("Sylvester"))
                                  ))))
 
-(lyskom-define-namedays 'fi_orthodox
-                        "Suomi (ortodox)"
-                        "Ortodoxa namnsdagar fr�n finland"
+(lyskom-define-namedays 'fi-orthodox
+                        "Finska (ortodoxa)"
+                        "\
+Namnsdagar ur n�gon finsk ortodox namnl�ngd. Eftersom 
+utvecklarna inte kan finska �r beskrivningen p� svenska, med
+f�rhoppningen att n�gon som kan finska kommer att reta sig
+p� den och skriva om texten p� r�tt spr�k."
                         '((1 . ((1 . ("Vasili" "Vilho" "Pasi"))
                                 (2 . ("Sylvester" "Tapio" "Serafim"))
                                 (3 . ("Malakia" "Harto"))
@@ -2025,7 +2037,7 @@ DATA is nameday data"
 
 
 
-(defun lyskom-list-nameday-lists ()
+(defun kom-list-nameday-lists ()
   (interactive)
   (with-output-to-temp-buffer "*Help*"
     (princ
diff --git a/src/option-edit.el b/src/option-edit.el
index 2816258b28a237c3ae40fee5b013d2c8ed695f44..40c6645970edacfe97f56463e9b88a4e19fb476c 100644
--- a/src/option-edit.el
+++ b/src/option-edit.el
@@ -661,7 +661,9 @@ customize buffer but do not save them to the server."
                                     :indent 4))
     (kom-self-control (toggle (yes no)))
     (kom-ispell-dictionary (ispell-dictionary))
-    (kom-show-namedays (toggle (on off)))
+    (kom-show-namedays (choice ((const (off nil))
+                                (const (default-namedays t))
+                                (nameday nil :tag specific-namedays))))
 
     (kom-show-week-number (toggle (on off)))
     (kom-membership-default-placement (choice ((const (last last))
@@ -741,6 +743,7 @@ customize buffer but do not save them to the server."
     (const .  lyskom-item-widget)
     (repeat . lyskom-repeat-widget)
     (cons . lyskom-cons-widget)
+    (nameday . lyskom-nameday-widget)
     (kbd-macro . lyskom-kbd-macro-widget)
     (url-viewer . lyskom-url-viewer-widget)
     (ispell-dictionary . lyskom-ispell-dictionary-widget)
@@ -918,6 +921,21 @@ customize buffer but do not save them to the server."
           lyskom-languages))
    propl))
 
+(defun lyskom-nameday-widget (type &optional args propl)
+  (lyskom-build-simple-widget-spec
+   'menu-choice
+   (list ':format "%[%t%] %v"
+         ':case-fold t
+         ':args
+         (mapcar
+          (lambda (x)
+            (list 'item
+                  ':tag (nameday-data->name (cdr x))
+                  ':format "%t"
+                  ':value (nameday-data->code (cdr x))))
+          lyskom-namedays))
+   propl))
+
 (defun lyskom-ispell-dictionary-widget (type &optional args propl)
   (let ((tmp-dictionary-alist nil))
     (condition-case nil 
diff --git a/src/prefetch.el b/src/prefetch.el
index 43ab0b9623c75f6f7725b88347b2ddfa53d2c8ea..9ea2e6dc7708a0e7990c0c05604f3d57ec386d55 100644
--- a/src/prefetch.el
+++ b/src/prefetch.el
@@ -703,8 +703,8 @@ Put the requests on QUEUE."
 (defun lyskom-prefetch-membership-handler (memberships pers-no queue)
   "Handle the return of the membership prefetch call."
   (lyskom-stop-prefetch)
-  (let ((size (length memberships))
-	(i 0)
+;;;  (let ((size (length memberships))
+;;;	(i 0)
 ;;; Commented out 1999-06-28 byers
 ;;; Used by removed code below
 ;;;        (old-mships (mapcar (lambda (mship)
@@ -712,7 +712,7 @@ Put the requests on QUEUE."
 ;;;                                    (membership->conf-no mship))
 ;;;                                   (membership->conf-no mship)))
 ;;;                            memberships))
-        )
+;;;        )
     (lyskom-insert-memberships-in-membership memberships)
 ;;;     (while (< i size)
 ;;;      (let ((membership (aref memberships i)))
@@ -736,7 +736,8 @@ Put the requests on QUEUE."
       (setq lyskom-membership-is-read (+ lyskom-membership-is-read
 					 lyskom-fetch-membership-length))
       (lyskom-prefetch-membership pers-no queue)
-      ))
+      )
+;;;)
   (lyskom-queue-enter queue 'FINISHED)
   (-- lyskom-pending-prefetch)
   (lyskom-start-prefetch))
diff --git a/src/swedish-strings.el b/src/swedish-strings.el
index 7d45853754a1e040ff3c34270695d7a7616cf070..9692aa723009396112ac54bcc1fb17d139daf1cb 100644
--- a/src/swedish-strings.el
+++ b/src/swedish-strings.el
@@ -85,10 +85,12 @@
   (define-key lyskom-sv-edit-prefix (kbd "]")       'lyskom-sv-edit-review-prefix)
   (define-key lyskom-sv-edit-prefix (kbd "C-]")     'lyskom-sv-edit-review-prefix)
   (define-key lyskom-sv-edit-prefix (kbd "C-}")     'lyskom-sv-edit-review-prefix)
+
   (define-key lyskom-sv-edit-prefix (lyskom-keys 'C-�) 'lyskom-sv-edit-review-prefix)
   (define-key lyskom-sv-edit-prefix (lyskom-keys 'C-�) 'lyskom-sv-edit-review-prefix)
   (define-key lyskom-sv-edit-prefix [(control �)] 'lyskom-sv-edit-review-prefix)
   (define-key lyskom-sv-edit-prefix [(control �)] 'lyskom-sv-edit-review-prefix)
+
   (define-key lyskom-sv-edit-prefix (kbd "*")       'kom-button-press)
   (define-key lyskom-sv-edit-prefix (kbd "=")       'kom-menu-button-press)
   (define-key lyskom-sv-edit-prefix (kbd "C-i")     'lyskom-sv-edit-insert-prefix)
@@ -278,6 +280,7 @@ f
     (where-to-add . "Vilket m�te skall han/hon adderas till? ")
     (where-to-add-self . "Vilket m�te vill du bli medlem i? ")
     (priority-q . "Prioritet p� ditt medlemskap i m�tet? (0 (l�g) - 255 (h�g)) ")
+    (other-priority-q . "Prioritet p� den adderades medlemskap i m�tet? (0 (l�g) - 255 (h�g)) ")
     (done . "klart.\n")
     (cancelled . "avbrutet.\n")
     (nope . "det gick inte.\n")
@@ -499,6 +502,7 @@ i svensk datorhistoria. L
     (fnday . "FN-dagen.")
     (allhelgonadag . "Allhelgonadagen.")
     (varnlosdag . "V�rnl�sa barns dag.")
+    (luciaday . "\nLuciadagen! Gl�m inte att lussa f�r dina kollegor.")
 
     (total-users . "    Sammanlagt %#1d anv�ndare (%#2s).\n")
     (total-users-sans-date . "    Sammanlagt %#1d anv�ndare\n")
@@ -2281,6 +2285,8 @@ teckenkodning.
 (defvar lyskom-sv-list-prefix nil)
 (defvar lyskom-sv-fast-reply-prefix nil)
 (defvar lyskom-sv-filter-get-prefix nil)
+(defvar lyskom-sv-change-prefix nil)
+(defvar lyskom-sv-review-prefix nil)
 
 (if lyskom-sv-mode-map
     nil
@@ -2301,14 +2307,30 @@ teckenkodning.
   (define-key lyskom-sv-mode-map (kbd "s") 'lyskom-sv-S-prefix)
   (define-key lyskom-sv-mode-map (kbd "r") 'lyskom-sv-fast-reply-prefix)
   (define-key lyskom-sv-mode-map (kbd "v") 'lyskom-sv-who-prefix)
-  (define-key lyskom-sv-mode-map (lyskom-keys '�) 'lyskom-sv-change-prefix)
-  (define-key lyskom-sv-mode-map (lyskom-keys '�) 'lyskom-sv-change-prefix)
-  (define-key lyskom-sv-mode-map (lyskom-keys '�) 'lyskom-sv-review-prefix)
-  (define-key lyskom-sv-mode-map (lyskom-keys '�) 'lyskom-sv-review-prefix)
-  (define-key lyskom-sv-mode-map [�] 'lyskom-sv-change-prefix)
-  (define-key lyskom-sv-mode-map [�] 'lyskom-sv-change-prefix)
-  (define-key lyskom-sv-mode-map [�] 'lyskom-sv-review-prefix)
-  (define-key lyskom-sv-mode-map [�] 'lyskom-sv-review-prefix)
+
+  (lyskom-try-define-key lyskom-sv-mode-map (kbd "�")    'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map (kbd "{")    'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map (kbd "[")    'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [adiaeresis] 'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [Adiaeresis] 'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [228]        'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [196]        'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [2276]       'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [2244]       'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [3908]       'lyskom-sv-change-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [3940]       'lyskom-sv-change-prefix)
+
+  (lyskom-try-define-key lyskom-sv-mode-map (kbd "�") 'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map (kbd "}") 'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map (kbd "]") 'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [aring]     'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [Aring]     'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [229]     'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [197]     'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [2277]    'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [2245]    'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [3909]    'lyskom-sv-review-prefix)
+  (lyskom-try-define-key lyskom-sv-mode-map [3941]    'lyskom-sv-review-prefix)
 
   (define-key lyskom-sv-mode-map (kbd "M-m") 'kom-toggle-mark-as-read-prefix)
 
@@ -2324,12 +2346,6 @@ teckenkodning.
   (define-key lyskom-sv-mode-map (kbd "C-i")   'kom-next-link)
   (define-key lyskom-sv-mode-map (kbd "M-C-i") 'kom-previous-link)
 
-  (define-key lyskom-sv-mode-map (kbd "{") 'lyskom-sv-change-prefix) ; krullar
-  (define-key lyskom-sv-mode-map (kbd "[") 'lyskom-sv-change-prefix)
-  (define-key lyskom-sv-mode-map (kbd "}") 'lyskom-sv-review-prefix)
-  (define-key lyskom-sv-mode-map (kbd "]") 'lyskom-sv-review-prefix)
-
-
   ;;(define-key lyskom-sv-mode-map "vi" 'vilka)
   
   ;; These should be first in order to be last in the menu of alternatives.
@@ -2370,12 +2386,19 @@ teckenkodning.
   (define-key lyskom-sv-mode-map (kbd "l p") 'kom-list-persons)
   (define-key lyskom-sv-mode-map (kbd "l r") 'kom-list-re)
   (define-key lyskom-sv-mode-map (kbd "l s") 'kom-membership)
-  (define-key lyskom-sv-list-prefix (lyskom-keys '�) 'kom-list-summary)
-  (define-key lyskom-sv-list-prefix (lyskom-keys '�) 'kom-list-summary)
-  (define-key lyskom-sv-list-prefix [�] 'kom-list-summary)
-  (define-key lyskom-sv-list-prefix [�] 'kom-list-summary)
-  (define-key lyskom-sv-mode-map (kbd "l {") 'kom-list-summary)
-  (define-key lyskom-sv-mode-map (kbd "l [") 'kom-list-summary)
+
+  (lyskom-try-define-key lyskom-sv-list-prefix (kbd "�") 'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix (kbd "{") 'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix (kbd "[") 'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [adiaeresis]     'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [Adiaeresis]     'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [228]     'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [196]     'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [2276]    'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [2244]    'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [3908]    'kom-list-summary)
+  (lyskom-try-define-key lyskom-sv-list-prefix [3940]    'kom-list-summary)
+
   (define-key lyskom-sv-mode-map (kbd "l f") 'kom-list-filters)
   (define-key lyskom-sv-mode-map (kbd "m")   'kom-add-self)
   (define-key lyskom-sv-mode-map (kbd "M")   'kom-mark-text)
@@ -2394,12 +2417,19 @@ teckenkodning.
   (define-key lyskom-sv-mode-map (kbd "f s") 'kom-get-abuse)
   (define-key lyskom-sv-mode-map (kbd "f t") 'kom-move-text)
   (define-key lyskom-sv-mode-map (kbd "f T") 'kom-move-text-tree)
-  (define-key lyskom-sv-filter-get-prefix (lyskom-keys '�) 'kom-filter-subject)
-  (define-key lyskom-sv-filter-get-prefix (lyskom-keys '�) 'kom-filter-subject)
-  (define-key lyskom-sv-filter-get-prefix [�] 'kom-filter-subject)
-  (define-key lyskom-sv-filter-get-prefix [�] 'kom-filter-subject)
-  (define-key lyskom-sv-mode-map (kbd "f {") 'kom-filter-subject)
-  (define-key lyskom-sv-mode-map (kbd "f [") 'kom-filter-subject)
+
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix (kbd "�")    'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix (kbd "{")    'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix (kbd "[")    'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [adiaeresis] 'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [Adiaeresis] 'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [228]        'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [196]        'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [2276]       'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [2244]       'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [3908]       'kom-filter-subject)
+  (lyskom-try-define-key lyskom-sv-filter-get-prefix [3940]       'kom-filter-subject)
+
   (define-key lyskom-sv-mode-map (kbd "f f") 'kom-filter-author)
   (define-key lyskom-sv-mode-map (kbd "f i") 'kom-filter-text)
   (define-key lyskom-sv-mode-map (kbd "f m") 'kom-filter-recipient)
@@ -2409,56 +2439,62 @@ teckenkodning.
   (define-key lyskom-sv-mode-map (kbd "v v") 'kom-who-is-on-and-friend)
   (define-key lyskom-sv-mode-map (kbd "J")   'kom-who-am-i)
   (define-key lyskom-sv-mode-map (kbd "V")   'kom-busy-wait)
-  (define-key lyskom-sv-mode-map (kbd "{ p") 'kom-change-presentation)
-  (define-key lyskom-sv-mode-map (kbd "{ q") 'kom-change-conf-faq)
-  (define-key lyskom-sv-mode-map (kbd "{ f") 'kom-filter-edit)
-  (define-key lyskom-sv-mode-map (kbd "{ m") 'kom-change-auto-reply)
-  (define-key lyskom-sv-mode-map (kbd "} SPC") 'kom-view)
-  (define-key lyskom-sv-mode-map (kbd "} 0") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 1") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 2") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 3") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 4") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 5") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 6") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 7") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 8") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} 9") 'kom-initial-digit-view)
-  (define-key lyskom-sv-mode-map (kbd "} k") 'kom-view-commented-text)
-  (define-key lyskom-sv-mode-map (kbd "} K") 'kom-view-previous-commented-text)
-  (define-key lyskom-sv-mode-map (kbd "} a ?") 'lyskom-help)
-  (define-key lyskom-sv-mode-map (kbd "} a k") 'kom-review-comments)
-  (define-key lyskom-sv-mode-map (kbd "} a r") 'kom-review-tree)
-  (define-key lyskom-sv-mode-map (kbd "} h") 'kom-review-clear)
-  (define-key lyskom-sv-mode-map (kbd "} i") 'kom-review-last-normally-read)
-  (define-key lyskom-sv-mode-map (kbd "} n") 'kom-review-next)
-  (define-key lyskom-sv-mode-map (kbd "} o") 'kom-review-noconversion)
-  (define-key lyskom-sv-mode-map (kbd "} r") 'kom-find-root)
-  (define-key lyskom-sv-mode-map (kbd "} u") 'kom-find-root)
-  (define-key lyskom-sv-mode-map (kbd "} s") 'kom-review-by-to)
-  (define-key lyskom-sv-mode-map (kbd "} y") 'kom-review-more)
-  (define-key lyskom-sv-mode-map (kbd "} A") 'kom-review-all)
-  (define-key lyskom-sv-mode-map (kbd "} f") 'kom-review-first)
-  (define-key lyskom-sv-mode-map (kbd "} l") 'kom-review-stack)
-  (define-key lyskom-sv-mode-map (kbd "} p") 'kom-review-presentation)
-  (define-key lyskom-sv-mode-map (kbd "} t") 'kom-find-root-review)
-  (define-key lyskom-sv-mode-map (kbd "} m") 'kom-review-marked-texts)
-  (define-key lyskom-sv-mode-map (kbd "} q") 'kom-review-faq)
-  (define-key lyskom-sv-mode-map (kbd "} Q") 'kom-review-server-faq)
-  (define-key lyskom-sv-mode-map (kbd "} a m") 'kom-review-all-marked-texts)
-  (define-key lyskom-sv-mode-map (kbd "} a SPC") 'kom-review-all)
-  (define-key lyskom-sv-mode-map (kbd "} b") 'kom-review-mail-headers)
+  (define-key lyskom-sv-change-prefix (kbd "p") 'kom-change-presentation)
+  (define-key lyskom-sv-change-prefix (kbd "q") 'kom-change-conf-faq)
+  (define-key lyskom-sv-change-prefix (kbd "f") 'kom-filter-edit)
+  (define-key lyskom-sv-change-prefix (kbd "m") 'kom-change-auto-reply)
+  (define-key lyskom-sv-review-prefix (kbd "SPC") 'kom-view)
+  (define-key lyskom-sv-review-prefix (kbd "0") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "1") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "2") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "3") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "4") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "5") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "6") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "7") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "8") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "9") 'kom-initial-digit-view)
+  (define-key lyskom-sv-review-prefix (kbd "k") 'kom-view-commented-text)
+  (define-key lyskom-sv-review-prefix (kbd "K") 'kom-view-previous-commented-text)
+  (define-key lyskom-sv-review-prefix (kbd "a ?") 'lyskom-help)
+  (define-key lyskom-sv-review-prefix (kbd "a k") 'kom-review-comments)
+  (define-key lyskom-sv-review-prefix (kbd "a r") 'kom-review-tree)
+  (define-key lyskom-sv-review-prefix (kbd "h") 'kom-review-clear)
+  (define-key lyskom-sv-review-prefix (kbd "i") 'kom-review-last-normally-read)
+  (define-key lyskom-sv-review-prefix (kbd "n") 'kom-review-next)
+  (define-key lyskom-sv-review-prefix (kbd "o") 'kom-review-noconversion)
+  (define-key lyskom-sv-review-prefix (kbd "r") 'kom-find-root)
+  (define-key lyskom-sv-review-prefix (kbd "u") 'kom-find-root)
+  (define-key lyskom-sv-review-prefix (kbd "s") 'kom-review-by-to)
+  (define-key lyskom-sv-review-prefix (kbd "y") 'kom-review-more)
+  (define-key lyskom-sv-review-prefix (kbd "A") 'kom-review-all)
+  (define-key lyskom-sv-review-prefix (kbd "f") 'kom-review-first)
+  (define-key lyskom-sv-review-prefix (kbd "l") 'kom-review-stack)
+  (define-key lyskom-sv-review-prefix (kbd "p") 'kom-review-presentation)
+  (define-key lyskom-sv-review-prefix (kbd "t") 'kom-find-root-review)
+  (define-key lyskom-sv-review-prefix (kbd "m") 'kom-review-marked-texts)
+  (define-key lyskom-sv-review-prefix (kbd "q") 'kom-review-faq)
+  (define-key lyskom-sv-review-prefix (kbd "Q") 'kom-review-server-faq)
+  (define-key lyskom-sv-review-prefix (kbd "a m") 'kom-review-all-marked-texts)
+  (define-key lyskom-sv-review-prefix (kbd "a SPC") 'kom-review-all)
+  (define-key lyskom-sv-review-prefix (kbd "b") 'kom-review-mail-headers)
   (define-key lyskom-sv-mode-map (kbd "B")   'kom-review-backward)
   (define-key lyskom-sv-mode-map (kbd "s m") 'kom-status-conf)
   (define-key lyskom-sv-mode-map (kbd "s p") 'kom-status-person)
   (define-key lyskom-sv-mode-map (kbd "s s") 'kom-status-session)
   (define-key lyskom-sv-mode-map (kbd "s k") 'kom-status-server)
-  (define-key lyskom-sv-S-prefix (lyskom-keys '�) 'kom-send-message)
-  (define-key lyskom-sv-S-prefix (lyskom-keys '�) 'kom-send-message)
-  (define-key lyskom-sv-S-prefix [�] 'kom-send-message)
-  (define-key lyskom-sv-S-prefix [�] 'kom-send-message)
-  (define-key lyskom-sv-mode-map (kbd "s {") 'kom-send-message)
-  (define-key lyskom-sv-mode-map (kbd "s [") 'kom-send-message)
+
+  (lyskom-try-define-key lyskom-sv-S-prefix (kbd "�")    'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix (kbd "{")    'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix (kbd "[")    'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [adiaeresis] 'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [Adiaeresis] 'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [228]        'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [196]        'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [2276]       'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [2244]       'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [3908]       'kom-send-message)
+  (lyskom-try-define-key lyskom-sv-S-prefix [3940]       'kom-send-message)
 
   (define-key lyskom-sv-mode-map (kbd "r a") 'kom-fast-reply)
   (define-key lyskom-sv-mode-map (kbd "r r") 'kom-fast-reply)
@@ -2797,6 +2833,9 @@ teckenkodning.
     (url-transform-regexp . "Fr�n (regexp):")
     (url-transform-newtext . " Till:")
 
+    (default-namedays . "Namnsdagar f�r aktuellt spr�k")
+    (specific-namedays . "Specifik namnl�ngd:")
+
     ;;
     ;; Misc doc strings
     ;;
@@ -3465,9 +3504,10 @@ i servern. Annars sparas det i din .emacs.")
   att anv�ndas ist�llet.")
 
     (kom-show-namedays-doc . "\
-  P�slaget inneb�r att dagens namn visas n�r man ser tiden. Antagligen s�
-  kommer detta att ers�ttas av ett nytt kommando i n�gon kommande version
-  av elispklienten, men det var visst n�gon som ville ha det, s� ...")
+  P�slaget inneb�r att dagens namn visas n�r man ser tiden. Det g�r att
+  v�lja att se namnsdagarna fr�n namnsdagsl�ngden som h�r till det spr�k
+  man f�r n�rvarande anv�nder eller att anv�nda en specifik lista med
+  namn.")
 
     (kom-show-week-number-doc . "\
   Se tiden visar veckonummer om detta �r p�slaget. Annars visas inte 
diff --git a/src/vars.el.in b/src/vars.el.in
index 58df8fc9775dc791fd5af9e9097b69838c53f5b5..7a6528088a6018d9979776a6a09735060f683846 100644
--- a/src/vars.el.in
+++ b/src/vars.el.in
@@ -197,7 +197,9 @@ The cdrs on the list may be either of:
   )
 
 (def-kom-var kom-url-transformation-rules 
-  '(("http://[^/]*aftonbladet\\.se/.*" . "\\&."))
+  '(
+    ("^http://[^/]*aftonbladet\\.se/.*/story/.*html?$" . "\\&.")
+    )
   "*An alist specifying transformations to be applied to URLs.
 
 Elements in this list are of the form `(REGEXP . NEWTEXT)'. Before an