From 94506c0c8b40baf1c2b06b9fc04b0c8ce4054efc Mon Sep 17 00:00:00 2001
From: David Byers <david.byers@liu.se>
Date: Sun, 9 Jan 2005 01:16:01 +0000
Subject: [PATCH] Documentation fixes, minor bugfixes and naming fixes.

Detailed changes:
> 2005-01-08  David Byers  <byers@lysator.liu.se>
>
> 	* vars.el.in: Documentation updates in preparation for generating
> 	DocBook from the documentation strings.
>
> 	* startup.el (lyskom-refetch): We were prefetching unread confs in
> 	the reverse order, which was stupid as it slows down starting to
> 	read and may cause us to read texts in the wrong order.
>
> 2005-01-07  David Byers  <byers@lysator.liu.se>
>
> 	* mship-edit.el (lyskom-change-membership-position): Removed
> 	binding of old-position (it was never used).
>
> 	* english-strings.el (lyskom-en-edit-mode-map): Changed key
> 	bindings to explicitly use prefixes.
>
> 	* swedish-strings.el (lyskom-sv-edit-mode-map): Changed key
> 	bindings to explicitly use prefixes. Better variants of the
> 	swedish key binding. Use lyskom-try-define-key for swedish
> 	bindings.
>
> 	* edit-text.el: Updated documentation for most commands so that it
> 	can be extracted into the user manual in the future. All commands
> 	with the prefix `kom-edit-' are expected to be documented unless
> 	the documentation string ends in "Excluded from manual."
> 	(kom-ispell-message): Renamed to
> 	kom-edit-ispell-message.
> 	(kom-yank-info-nodename): Renamed to kom-edit-yank-info-nodename.
>
> 	* filter-edit.el (kom-filter-edit): Wrote docstring.
>
> 	* review.el: Various docstring updates (changed "text" to article
> 	in several places).
>
> 	* vars.el.in (kom-unread-mode-line-type): Updated docstring.
>
---
 src/ChangeLog          |  37 ++++
 src/edit-text.el       | 104 ++++++++---
 src/english-strings.el |  74 ++++----
 src/filter-edit.el     |   3 +
 src/lyskom-rest.el     |  10 +-
 src/mship-edit.el      |   5 +-
 src/review.el          |  22 +--
 src/startup.el         |   2 +-
 src/swedish-strings.el | 117 +++++++-----
 src/vars.el.in         | 414 ++++++++++++++++++++++++++---------------
 10 files changed, 522 insertions(+), 266 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 1c7181c0..ba4e4170 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,40 @@
+2005-01-08  David Byers  <byers@lysator.liu.se>
+
+	* vars.el.in: Documentation updates in preparation for generating
+	DocBook from the documentation strings.
+
+	* startup.el (lyskom-refetch): We were prefetching unread confs in
+	the reverse order, which was stupid as it slows down starting to
+	read and may cause us to read texts in the wrong order.
+
+2005-01-07  David Byers  <byers@lysator.liu.se>
+
+	* mship-edit.el (lyskom-change-membership-position): Removed
+	binding of old-position (it was never used).
+
+	* english-strings.el (lyskom-en-edit-mode-map): Changed key
+	bindings to explicitly use prefixes. 
+
+	* swedish-strings.el (lyskom-sv-edit-mode-map): Changed key
+	bindings to explicitly use prefixes. Better variants of the
+	swedish key binding. Use lyskom-try-define-key for swedish
+	bindings.
+
+	* edit-text.el: Updated documentation for most commands so that it
+	can be extracted into the user manual in the future. All commands
+	with the prefix `kom-edit-' are expected to be documented unless
+	the documentation string ends in "Excluded from manual."
+	(kom-ispell-message): Renamed to
+	kom-edit-ispell-message.
+	(kom-yank-info-nodename): Renamed to kom-edit-yank-info-nodename.
+
+	* filter-edit.el (kom-filter-edit): Wrote docstring.
+
+	* review.el: Various docstring updates (changed "text" to article
+	in several places).
+
+	* vars.el.in (kom-unread-mode-line-type): Updated docstring.
+
 2005-01-04  Ulrik Haugen  <qha@lysator.liu.se>
 
 	* swedish-strings.el (lyskom-sv-mode-map): Added keybindings for
diff --git a/src/edit-text.el b/src/edit-text.el
index a6bab241..4d54924d 100644
--- a/src/edit-text.el
+++ b/src/edit-text.el
@@ -436,12 +436,16 @@ so it's not as clean as it ought to be."
 ;;;
 
 (defun kom-edit-send-anonymous ()
-  "Send the text anonymously to the server."
+  "Send the text anonymously to the server. Be aware that although the text 
+will be truly anonymous, it is easy to slip up in such a way that the author
+is evident anyway."
   (interactive)
   (lyskom-edit-send 'initiate-create-anonymous-text t))
 
 (defun kom-edit-send ()
-  "Send the text to the server."
+  "Send the text to the server. This command will attempt to send the text
+to the server. If something goes wrong, a prompt will be shown allowing you
+to edit the message and try to send it again."
   (interactive)
    (if (and (lyskom-default-value 'lyskom-is-anonymous)
             (lyskom-j-or-n-p 'do-send-anonymous))
@@ -658,7 +662,7 @@ anonymously and take actions to avoid revealing the sender."
 (defun lyskom-ispell-text ()
   "Check spelling of the text body.
 Put this in kom-send-text-hook"
-  (kom-ispell-message)
+  (kom-edit-ispell-message)
   t)
 
 
@@ -668,10 +672,13 @@ Put this in kom-send-text-hook"
   (defvar ispell-message-start-skip nil)
   (defvar ispell-message-end-skip nil))
 
-(defun kom-ispell-message ()
-  "Check spelling of the text.
-kom-ispell-dictionary is the dictionary to use to check spelling.
-Based on ispell-message."
+(defalias 'kom-ispell-message 'kom-edit-ispell-message)
+(defun kom-edit-ispell-message ()
+  "Check spelling of the text. Spelling is checked using ispell
+and the dictionary indicated by `kom-ispell-dictionary'. If you
+want to check the spelling of every message before sending it,
+read the documentation for `lyskom-ispell-text' and 
+`kom-send-text-hook'"
   (interactive)
   (require 'ispell)
   (let ((ispell-dictionary (or kom-ispell-dictionary ispell-dictionary))
@@ -1058,7 +1065,7 @@ Cannot be called from a callback."
 
 
 (defun kom-edit-quit ()
-  "Kill the text (if any) written so far and continue reading."
+  "Cancel editing the text being written and return to reading LysKOM."
   (interactive)
   (let ((edit-buffer (current-buffer)))
     (goto-char (point-max))
@@ -1078,8 +1085,11 @@ Cannot be called from a callback."
 
 
 (defun kom-edit-insert-commented (arg)
-  "Insert the commented text. Unless an empty prefix argument is
-given, prepend each line with your commenting prefix (or '>')."
+  "Insert the commented text, prepending each line with the
+text in `kom-cite-string' (defaults to \"> \"). Note that citing
+the commented text is not common practise in LysKOM (unlike
+e-mail and news) since there is a strong link to the commented
+text anyway. Use this command sparingly."
   (interactive "P")
   (lyskom-edit-get-commented
    'lyskom-edit-insert-commented
@@ -1088,19 +1098,24 @@ given, prepend each line with your commenting prefix (or '>')."
 
 
 (defun kom-edit-insert-buglist ()
-  "Insert the commented buglist, Roxen Internet Software style."
+  "Insert the commented buglist, Roxen Internet Software style. Excluded from manual."
   (interactive)
   (lyskom-edit-get-commented 'lyskom-edit-insert-buglist))
 
 
 (defun kom-edit-insert-digit-text ()
+  "Prompt for a text to insert. Excluded from manual."
   (interactive)
   (setq unread-command-events (cons last-command-event unread-command-events))
   (call-interactively 'kom-edit-insert-text nil))
 
 
 (defun kom-edit-insert-text (no)
-  "Insert the text number NO with '>' first on each line."
+  "Prompt for a text to insert, prefixing each line with the contents
+of `kom-cite-string' (defaults to \"> \"). Note that citing texts is not
+commonplace in LysKOM (unlike e-mail and news) since it is easy to
+refer to specific texts (see `kom-edit-insert-link' and
+`kom-edit-add-cross-reference'). Use this command sparingly."
   (interactive (list
 		(cond
 		 ((null current-prefix-arg)
@@ -1154,8 +1169,12 @@ WINDOW plus any optional arguments given in ARG-LIST."
 (defvar Info-current-file)
 
 ;; NOTUSED: kom-yank-info-nodename
-(defun kom-yank-info-nodename ()
-  "Put the current Info-node on the kill-ring."
+(defalias 'kom-yank-info-nodename 'kom-edit-yank-info-nodename)
+(defun kom-edit-yank-info-nodename ()
+  "When browsing info files, this command will place a reference to the
+current info node in the kill ring, from where it can be pasted into
+another buffer. This command is useful when you want to refer to an 
+info node in a LysKOM text."
   (interactive)
   (kill-new (format "*Note %s: (%s)%s,"
 		    Info-current-node
@@ -1164,7 +1183,8 @@ WINDOW plus any optional arguments given in ARG-LIST."
 
 
 ;; NOTUSED: kom-insert-last-info-nodename
-(defun kom-insert-last-info-nodename ()
+(defalias 'kom-insert-last-info-nodename 'kom-edit-insert-last-info-nodename)
+(defun kom-edit-insert-last-info-nodename ()
   "Insert a reference to the most recently visited info node."
   (interactive)
   (condition-case nil
@@ -1185,7 +1205,10 @@ WINDOW plus any optional arguments given in ARG-LIST."
 ;;;  Changed by: Linus Tolke
 
 (defun kom-edit-add-comment ()
-  "Adds a text as commented to the text being edited."
+  "Makes this text a comment to another text. Using this command it is
+possible to make the text a comment to multiple texts. To remove a 
+comment link, simply remove the corresponding line from the headers
+in the edit buffer."
   (interactive)
   (let* ((edit-buffer (current-buffer))
          (insert-at (point-min-marker))
@@ -1202,25 +1225,38 @@ WINDOW plus any optional arguments given in ARG-LIST."
 
 
 (defun kom-edit-add-recipient ()
-  "Adds a conference as recipient to the text being edited."
+  "Adds a regular recipient to the text or converts an existing
+recipient to a regular recipient. Using this command it is possible to
+add any number of regular recipients. To remove a recipient, simply
+delete the corresponding header line in the edit buffer."
   (interactive)
   (lyskom-edit-add-recipient/copy 'added-recipient nil 'RECPT))
 
 
 (defun kom-edit-add-bcc ()
-  "Adds a conference as bcc recipient to the text being edited."
+  "Adds a blind carbon copy recipient to the text, or converts an
+existing recipient to blind carbon copy. Using this command it is
+possible to add any number of regular recipients. To remove a
+recipient, simply delete the corresponding header line in the edit
+buffer."
   (interactive)
   (lyskom-edit-add-recipient/copy 'added-blank-carbon-copy nil 'BCC-RECPT))
 
 
 (defun kom-edit-add-copy ()
-  "Adds a conference to which a copy of the edited text will be sent."
+  "Adds a carbon copy recipient to the text, or converts an existing
+recipient to blind carbon copy. Using this command it is possible to
+add any number of regular recipients. To remove a recipient, simply
+delete the corresponding header line in the edit buffer."
   (interactive)
   (lyskom-edit-add-recipient/copy 'added-carbon-copy nil 'CC-RECPT))
 
 (defun kom-edit-move-text ()
-  "Adds a conference as a recipient, and changes all other recipients to
-CC recipients."
+  "Adds a regular recipient to the text, or converts an existing
+recipient to blind carbon copy, and converts all other recipients to
+carbonn copy recipients. This command is intended for situations where
+a commend is being sent to a different recipient than the commented
+text was."
   (interactive)
   (lyskom-edit-add-recipient/copy 'who-to-move-to-q
                                   'lyskom-edit-move-recipients))
@@ -1342,12 +1378,21 @@ RECPT-TYPE is the type of recipient to add."
     
 
 (defun kom-edit-add-cross-reference ()
+  "Add a cross reference to this text. This command prompts for the
+type and target of the cross reference. Cross references are used
+to systematically refer from a text to another text, conference or
+person without altering the contents of the text."
   (interactive)
   (let ((item (lyskom-read-cross-reference-and-get-aux-item)))
     (when item
       (lyskom-edit-insert-aux-item item))))
 
 (defun kom-edit-add-read-confirm-request ()
+  "Request that others confirm reading this text. Conforming clients
+will ask each reader of this text to confirm reading the text. Note
+that not all clients understand this request, and that confirmation is
+neither automatic nor mandatory. Use very sparingly as this interrupts
+the normal flow of reading for many users."
   (interactive)
   (lyskom-edit-insert-aux-item
    (lyskom-create-aux-item 0 6 0 0
@@ -1356,6 +1401,10 @@ RECPT-TYPE is the type of recipient to add."
                            0 "")))
 
 (defun kom-edit-add-no-comments ()
+  "Request that nobody comments this text. Conforming clients will
+either prevent users from commenting the text or ask for confirmation
+before commenting the text. Note that not all clients understand this
+request and that it is advisory only."
   (interactive)
   (lyskom-edit-insert-aux-item
    (lyskom-create-aux-item 0 4 0 0
@@ -1364,6 +1413,10 @@ RECPT-TYPE is the type of recipient to add."
                            0 "")))
 
 (defun kom-edit-add-personal-comments ()
+  "Request that all replies to this text are in the form of personal
+replies. Conforming clients will treat a request to comment this text
+as a request to answer privately. Note that not all clients understand
+this request and that it is advisory only."
   (interactive)
   (lyskom-edit-insert-aux-item
    (lyskom-create-aux-item 0 5 0 0
@@ -1372,6 +1425,10 @@ RECPT-TYPE is the type of recipient to add."
                            0 "")))
 
 (defun kom-edit-add-world-readable ()
+  "Make this text readable to all users, even if they are not logged
+in. World readable texts can be read by anyone, regardless of what
+recipients the text has. World readable texts can even be read without
+logging in to LysKOM."
   (interactive)
   (lyskom-edit-insert-aux-item
    (lyskom-create-aux-item 0 34 0 0
@@ -1380,6 +1437,9 @@ RECPT-TYPE is the type of recipient to add."
                            0 "")))
 
 (defun kom-edit-insert-link ()
+  "Insert an in-line link to another text, a conference or a person.
+This command prompts for the target of the link and inserts text that
+most clients will interpret as a link."
   (interactive)
   (let ((item (lyskom-read-link)))
     (when item
@@ -1951,6 +2011,7 @@ buglist style, automating the removal of closed subjects and change-marks."
 ;;; Tab between buttons in the header
 
 (defun kom-edit-next-button-or-self-insert (num)
+  "Move to the next link or insert a TAB, depending on context. Excluded from manual."
   (interactive "p")
   (let ((header-end (lyskom-edit-find-separator))
         (start (point))
@@ -1988,6 +2049,7 @@ buglist style, automating the removal of closed subjects and change-marks."
         (setq num (1- num) start (point))))))
 
 (defun kom-edit-prev-button (num)
+  "Move to the previous link. Excluded from manual."
   (interactive "p")
   (let ((header-end (lyskom-edit-find-separator)))
     (while (> num 0)
diff --git a/src/english-strings.el b/src/english-strings.el
index e6591c7a..add057c9 100644
--- a/src/english-strings.el
+++ b/src/english-strings.el
@@ -60,7 +60,11 @@
 
 ;;; Set the keymap for lyskom-edit-mode
 
-(defvar lyskom-en-edit-prefix nil)
+(defvar lyskom-en-edit-prefix)
+(defvar lyskom-en-edit-review-prefix)
+(defvar lyskom-en-edit-insert-prefix)
+(defvar lyskom-en-edit-aux-prefix)
+(defvar lyskom-en-edit-add-prefix)
 
 (if lyskom-en-edit-mode-map
     nil
@@ -70,6 +74,7 @@
   (define-prefix-command 'lyskom-en-edit-insert-prefix)
   (define-prefix-command 'lyskom-en-edit-aux-prefix)
   (define-prefix-command 'lyskom-en-edit-add-prefix)
+
   (define-key lyskom-en-edit-mode-map (kbd (lyskom-keys (lyskom-xemacs-or-gnu 'button2 'button2up))) 'kom-button-click-or-yank)
   (define-key lyskom-en-edit-mode-map (kbd (lyskom-keys (lyskom-xemacs-or-gnu 'button2up 'button2))) 'kom-mouse-null)
   (define-key lyskom-en-edit-mode-map (kbd (lyskom-keys 'button3)) 'kom-popup-menu)
@@ -79,45 +84,50 @@
   (define-key lyskom-en-edit-mode-map (kbd "TAB")   'kom-edit-next-button-or-self-insert)
   (define-key lyskom-en-edit-mode-map (kbd "M-TAB") 'kom-edit-prev-button)
   (define-key lyskom-en-edit-mode-map (kbd "<S-tab>") 'kom-edit-prev-button)
-  (define-key lyskom-en-edit-mode-map (kbd "C-c")	'lyskom-en-edit-prefix)
+
+  (define-key lyskom-en-edit-mode-map (kbd "C-c") 'lyskom-en-edit-prefix)
   (define-key lyskom-en-edit-prefix (kbd "C-x") 'lyskom-en-edit-aux-prefix)
-  (define-key lyskom-en-edit-prefix (kbd "?")	'lyskom-help)
   (define-key lyskom-en-edit-prefix (kbd "C-r") 'lyskom-en-edit-review-prefix)
   (define-key lyskom-en-edit-prefix (kbd "C-i") 'lyskom-en-edit-insert-prefix)
   (define-key lyskom-en-edit-prefix (kbd "TAB") 'lyskom-en-edit-insert-prefix)
+  (define-key lyskom-en-edit-prefix (kbd "C-a") 'lyskom-en-edit-add-prefix)
+
+  (define-key lyskom-en-edit-prefix (kbd "?")	'lyskom-help)
   (define-key lyskom-en-edit-prefix (kbd "*") 'kom-button-press)
   (define-key lyskom-en-edit-prefix (kbd "=") 'kom-menu-button-press)
-  (define-key lyskom-en-edit-prefix (kbd "C-c")	'kom-edit-send)
-  (define-key lyskom-en-edit-prefix (kbd "C-s") 'kom-ispell-message)
-  (define-key lyskom-en-edit-prefix (kbd "C-k")	'kom-edit-quit)
-  (define-key lyskom-en-edit-prefix (kbd "r ?")	'lyskom-help)
-  (define-key lyskom-en-edit-prefix (kbd "C-r C-c") 'kom-edit-show-commented)
-  (define-key lyskom-en-edit-prefix (kbd "C-i ?") 'lyskom-help)
-  (define-key lyskom-en-edit-prefix (kbd "C-i C-c") 'kom-edit-insert-commented)
   (define-key lyskom-en-edit-prefix (kbd "C-y") 'kom-edit-insert-commented)
-  (define-key lyskom-en-edit-prefix (kbd "C-i C-y") 'kom-edit-insert-commented)
   (define-key lyskom-en-edit-prefix (kbd "C-b")     'kom-edit-insert-buglist)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 1") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 2") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 3") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 4") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 5") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 6") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 7") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 8") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i 9") 'kom-edit-insert-digit-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i SPC") 'kom-edit-insert-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-i C-l") 'kom-edit-insert-link)
-  (define-key lyskom-en-edit-prefix (kbd "C-i C-i") 'kom-insert-last-info-nodename)
-  (define-key lyskom-en-edit-prefix (kbd "C-a") 'lyskom-en-edit-add-prefix)
-  (define-key lyskom-en-edit-prefix (kbd "C-a C-r") 'kom-edit-add-recipient)
-  (define-key lyskom-en-edit-prefix (kbd "C-a C-c") 'kom-edit-add-copy)
-  (define-key lyskom-en-edit-prefix (kbd "C-a <RET>") 'kom-edit-move-text)
-  (define-key lyskom-en-edit-prefix (kbd "C-a C-x") 'kom-edit-add-cross-reference)
-  (define-key lyskom-en-edit-prefix (kbd "C-x C-p") 'kom-edit-add-personal-comments)
-  (define-key lyskom-en-edit-prefix (kbd "C-x C-n") 'kom-edit-add-no-comments)
-  (define-key lyskom-en-edit-prefix (kbd "C-x C-r") 'kom-edit-add-read-confirm-request)
-  (define-key lyskom-en-edit-prefix (kbd "C-a ?") 'lyskom-help))
+  (define-key lyskom-en-edit-prefix (kbd "C-c")	'kom-edit-send)
+  (define-key lyskom-en-edit-prefix (kbd "C-s") 'kom-edit-ispell-message)
+  (define-key lyskom-en-edit-prefix (kbd "C-k")	'kom-edit-quit)
+
+  (define-key lyskom-en-edit-review-prefix (kbd "?") 'lyskom-help)
+  (define-key lyskom-en-edit-review-prefix (kbd "C-c") 'kom-edit-show-commented)
+
+  (define-key lyskom-en-edit-insert-prefix (kbd "?") 'lyskom-help)
+  (define-key lyskom-en-edit-insert-prefix (kbd "C-c") 'kom-edit-insert-commented)
+  (define-key lyskom-en-edit-insert-prefix (kbd "C-y") 'kom-edit-insert-commented)
+  (define-key lyskom-en-edit-insert-prefix (kbd "1") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "2") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "3") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "4") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "5") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "6") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "7") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "8") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "9") 'kom-edit-insert-digit-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "SPC") 'kom-edit-insert-text)
+  (define-key lyskom-en-edit-insert-prefix (kbd "C-l") 'kom-edit-insert-link)
+  (define-key lyskom-en-edit-insert-prefix (kbd "C-i") 'kom-edit-insert-last-info-nodename)
+
+  (define-key lyskom-en-edit-add-prefix (kbd "C-r") 'kom-edit-add-recipient)
+  (define-key lyskom-en-edit-add-prefix (kbd "C-c") 'kom-edit-add-copy)
+  (define-key lyskom-en-edit-add-prefix (kbd "<RET>") 'kom-edit-move-text)
+  (define-key lyskom-en-edit-add-prefix (kbd "C-x") 'kom-edit-add-cross-reference)
+  (define-key lyskom-en-edit-add-prefix (kbd "C-p") 'kom-edit-add-personal-comments)
+  (define-key lyskom-en-edit-add-prefix (kbd "C-n") 'kom-edit-add-no-comments)
+  (define-key lyskom-en-edit-add-prefix (kbd "C-r") 'kom-edit-add-read-confirm-request)
+  (define-key lyskom-en-edit-add-prefix (kbd "?") 'lyskom-help))
 
 
 
diff --git a/src/filter-edit.el b/src/filter-edit.el
index c70ae581..0fa9dc5c 100644
--- a/src/filter-edit.el
+++ b/src/filter-edit.el
@@ -868,6 +868,9 @@ All key bindings:
 ;;;
 
 (defun kom-filter-edit ()
+  "Interactively edit text filters. This command starts a special mode
+in which it is possble to create and alter filters. Use this to remove
+undesired filters and to create complex filters."
   (interactive)
   (let ((buf (current-buffer))
         (filters lyskom-filter-list)
diff --git a/src/lyskom-rest.el b/src/lyskom-rest.el
index af25306d..e5e4fee8 100644
--- a/src/lyskom-rest.el
+++ b/src/lyskom-rest.el
@@ -187,10 +187,8 @@ be used to get a description of the corresponding error."
 
 (defun kom-recover (&optional refetch)
   "Try to recover from an error.
-If the optional argument REFETCH is non-nil, all caches are cleared and
-`lyskom-refetch' is called. Note that when called interactively, 
-REFETCH is always non-nil, regardless of the prefix argument. This is
-by design."
+If the optional argument REFETCH is non-nil or the funcion is called
+interactively, all caches are cleared and the membership is re-read."
   (interactive (list t))
   (lyskom-init-parse lyskom-buffer)
   (setq lyskom-call-data nil)
@@ -3905,6 +3903,10 @@ If MEMBERSHIPs prioriy is 0, it always returns nil."
 	  ;;   (lyskom-message "%s" (lyskom-get-string 'protocol-error) err))
 	  )
 
+;;      (unwind-protect
+;;          (save-excursion (set-buffer (process-buffer proc))
+;;                          (lyskom-check-mship-lists)))
+
       (setq lyskom-quit-flag (or lyskom-quit-flag quit-flag))
       (setq quit-flag nil)
       (when lyskom-need-prompt-update
diff --git a/src/mship-edit.el b/src/mship-edit.el
index f36873e0..55a3ad35 100644
--- a/src/mship-edit.el
+++ b/src/mship-edit.el
@@ -146,8 +146,7 @@ This function does not tell the server about the change."
 (defun lyskom-change-membership-position (conf-no new-position)
   "Change the position of memberhip for CONF-NO to NEW-POSITION.
 This function does not tell the server about the change."
-  (let* ((mship (lyskom-get-membership conf-no t))
-         (old-position (membership->position mship)))
+  (let* ((mship (lyskom-get-membership conf-no t)))
     (when mship
       (set-membership->position mship new-position)
        (lyskom-replace-membership mship))))
@@ -1687,7 +1686,7 @@ With prefix arg, contract only those that were created by self."
   "Display a list of all memberships with the option to change order,
 priority, flags, and a number of other things.
 
-See `kom-priotitize-in-window'."
+See `kom-prioritize-in-window'."
   (interactive)
   (lyskom-prioritize))
 
diff --git a/src/review.el b/src/review.el
index 42306715..45140a21 100644
--- a/src/review.el
+++ b/src/review.el
@@ -112,7 +112,7 @@ kom-review-marks-texts-as-read toggled."
 
 
 (def-kom-command kom-review-all ()
-  "Review all articles written by a particular author to a particular
+  "Review all texts written by a particular author to a particular
 conference. This can also be accomplished by using `kom-review-by-to'
 and specifying zero texts.
 
@@ -124,7 +124,7 @@ all review-related functions."
   (lyskom-review-by-to 0))
 
 (def-kom-command kom-unread-all ()
-  "Mark all articles written by a particular author to a particular
+  "Mark all texts written by a particular author to a particular
 conference as unread. This can also be accomplished by using
 `kom-unread-by-to' and specifying zero texts."
   (interactive)
@@ -132,7 +132,7 @@ conference as unread. This can also be accomplished by using
 
 
 (def-kom-command kom-review-more (count)
-  "Review more articles using the same critera as the last review
+  "Review more texts using the same critera as the last review
 performed with `kom-review-by-to'. The review will be resumed where
 the previous review finished.
 
@@ -188,7 +188,7 @@ all review-related functions."
                                (lyskom-insert-string 'no-such-text)))))))
 
 (def-kom-command kom-unread-more (count)
-  "Mark more articles unread using the same critera as the last 
+  "Mark more texts unread using the same critera as the last 
 mark unread performed with `kom-unread-by-to'."
   (interactive "P")
   (if (not lyskom-have-unread)
@@ -239,7 +239,7 @@ mark unread performed with `kom-unread-by-to'."
 
 
 (def-kom-command kom-review-first (&optional count)
-  "Review the first N articles written by a particular author to some
+  "Review the first N texts written by a particular author to some
 conference. With no author specified, review texts by all authors.
 With zero texts specified, review all text. With no conference
 specified, review texts to all conferences. With a negative number of
@@ -256,7 +256,7 @@ all review-related functions."
                             (lyskom-get-string 'review-how-many) 1)))))
 
 (def-kom-command kom-unread-first (&optional count)
-  "Mark the first N articles written by a particular author to some
+  "Mark the first N texts written by a particular author to some
 conference as unread. With no author specified, review texts by all 
 authors. With zero texts specified, review all text. With no conference
 specified, review texts to all conferences. With a negative number of
@@ -269,7 +269,7 @@ texts, review the last N texts instead of the first (you can use
 
 
 (def-kom-command kom-review-by-to (&optional count)
-  "Review the last N articles written by a particular author to some
+  "Review the last N texts written by a particular author to some
 conference. With no author specified, review texts by all authors.
 With zero texts specified, review all text. With no conference
 specified, review texts to all conferences. With a negative number of
@@ -349,7 +349,7 @@ all review-related functions."
 
 
 (def-kom-command kom-unread-by-to (&optional count)
-  "Mark the last N articles written by a particular author to some
+  "Mark the last N texts written by a particular author to some
 conference as unread. With no author specified, review texts by all 
 authors. With zero texts specified, review all text. With no conference
 specified, review texts to all conferences. With a negative number of
@@ -1512,7 +1512,7 @@ all review-related functions."
 
 
 (def-kom-command kom-review-comments (text-no)
-  "Review all comments to the selected text text. This command only
+  "Review all comments to the selected text. This command only
 reviews one level of comments. To see the entire comment tree, use
 `kom-review-tree' instead.
 
@@ -1577,7 +1577,7 @@ all review-related functions."
 
 
 (def-kom-command kom-review-cross-references (text-no)
-  "Review all cross-referenced texts from the selected text `text-no'.
+  "Review all texts cross-referenced from the selected text.
 
 This command accepts text number prefix arguments \(see
 `lyskom-read-text-no-prefix-arg').
@@ -1636,7 +1636,7 @@ displays and builds list."
 (def-kom-command kom-unread-comments (text-no)
   "Mark all comments to the selected text text as unread. This
 command only marks one level of comments as unread. To mark the 
-entire comment tree unread, use `kom-unrad-tree' instead.
+entire comment tree unread, use `kom-unread-tree' instead.
 
 This command accepts text number prefix arguments \(see
 `lyskom-read-text-no-prefix-arg')."
diff --git a/src/startup.el b/src/startup.el
index c62d3f32..c7394da5 100644
--- a/src/startup.el
+++ b/src/startup.el
@@ -738,7 +738,7 @@ This is called at login and after prioritize and set-unread."
   (lyskom-reset-prefetch)
   (let ((lyskom-inhibit-prefetch t))
     (let ((unreads (blocking-do 'get-unread-confs lyskom-pers-no)))
-      (lyskom-traverse conf-no (nreverse (conf-no-list->conf-nos unreads))
+      (lyskom-traverse conf-no (conf-no-list->conf-nos unreads)
         (lyskom-prefetch-one-membership conf-no lyskom-pers-no)))
     (lyskom-prefetch-membership lyskom-pers-no))
   (lyskom-start-prefetch)
diff --git a/src/swedish-strings.el b/src/swedish-strings.el
index 02113410..a79073ff 100644
--- a/src/swedish-strings.el
+++ b/src/swedish-strings.el
@@ -59,7 +59,11 @@
 
 ;;; Set the keymap for lyskom-edit-mode
 
-(defvar lyskom-sv-edit-prefix nil)
+(defvar lyskom-sv-edit-prefix)
+(defvar lyskom-sv-edit-review-prefix)
+(defvar lyskom-sv-edit-insert-prefix)
+(defvar lyskom-sv-edit-aux-prefix)
+(defvar lyskom-sv-edit-add-prefix)
 
 (if lyskom-sv-edit-mode-map
     nil
@@ -79,63 +83,78 @@
   (define-key lyskom-sv-edit-mode-map (kbd (lyskom-keys (lyskom-xemacs-or-gnu 'button2up 'button2))) 'kom-mouse-null)
   (define-key lyskom-sv-edit-mode-map (kbd (lyskom-keys 'button3)) 'kom-popup-menu)
   (define-key lyskom-sv-edit-mode-map (kbd (lyskom-keys 'button3up))     'kom-mouse-null)
+
   (define-key lyskom-sv-edit-prefix (kbd "C-x")     'lyskom-sv-edit-aux-prefix)
-  (define-key lyskom-sv-edit-prefix (kbd "?")       'lyskom-help)
-  (define-key lyskom-sv-edit-prefix (kbd "}")       'lyskom-sv-edit-review-prefix)
-  (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 (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 [(control aring)]     'lyskom-sv-edit-review-prefix)
-  (define-key lyskom-sv-edit-prefix [(control Aring)]     'lyskom-sv-edit-review-prefix)
-  (define-key lyskom-sv-edit-prefix [(control 229)]     'lyskom-sv-edit-review-prefix)
-  (define-key lyskom-sv-edit-prefix [(control 197)]     'lyskom-sv-edit-review-prefix)
-  (define-key lyskom-sv-edit-prefix "\205"     'lyskom-sv-edit-review-prefix) ;For windows
+  (define-key lyskom-sv-edit-prefix (kbd "C-a")     'lyskom-sv-edit-add-prefix)
+  (define-key lyskom-sv-edit-prefix (kbd "C-i")     'lyskom-sv-edit-insert-prefix)
+  (define-key lyskom-sv-edit-prefix (kbd "TAB")     'lyskom-sv-edit-insert-prefix)
 
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "C-]")       'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "C-}")       'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "C-�")       'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "C-�")       'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [(control aring)] 'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [(control Aring)] 'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix "\205"            'lyskom-sv-edit-review-prefix) ; For windows and Emacs 19
+
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "�") 'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "}") 'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix (kbd "]") 'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [aring]   'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [Aring]   'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [�]       'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [�]       'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [229]     'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [197]     'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [2277]    'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [2245]    'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [3909]    'lyskom-sv-edit-review-prefix)
+  (lyskom-try-define-key lyskom-sv-edit-prefix [3941]    'lyskom-sv-edit-review-prefix)
 
+  (define-key lyskom-sv-edit-prefix (kbd "?")       'lyskom-help)
   (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)
-  (define-key lyskom-sv-edit-prefix (kbd "TAB")     'lyskom-sv-edit-insert-prefix)
   (define-key lyskom-sv-edit-prefix (kbd "C-c")     'kom-edit-send)
-  (define-key lyskom-sv-edit-prefix (kbd "C-s")     'kom-ispell-message)
+  (define-key lyskom-sv-edit-prefix (kbd "C-s")     'kom-edit-ispell-message)
   (define-key lyskom-sv-edit-prefix (kbd "C-k")     'kom-edit-quit)
-  (define-key lyskom-sv-edit-prefix (kbd "} ?")     'lyskom-help)
-  (define-key lyskom-sv-edit-prefix (kbd "} C-k")   'kom-edit-show-commented)
-  (define-key lyskom-sv-edit-prefix (kbd "} k")     'kom-edit-show-commented)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i ?")   'lyskom-help)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i C-k") 'kom-edit-insert-commented)
   (define-key lyskom-sv-edit-prefix (kbd "C-y")     'kom-edit-insert-commented)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i C-y")     'kom-edit-insert-commented)
   (define-key lyskom-sv-edit-prefix (kbd "C-b")     'kom-edit-insert-buglist)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 1")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 2")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 3")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 4")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 5")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 6")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 7")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 8")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i 9")   'kom-edit-insert-digit-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i SPC") 'kom-edit-insert-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i C-l") 'kom-edit-insert-link)
-  (define-key lyskom-sv-edit-prefix (kbd "C-i C-i") 'kom-insert-last-info-nodename)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a")     'lyskom-sv-edit-add-prefix)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-m") 'kom-edit-add-recipient)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a <RET>") 'kom-edit-add-recipient)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-e") 'kom-edit-add-copy)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-b") 'kom-edit-add-bcc)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-f") 'kom-edit-move-text)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-j") 'kom-edit-add-recipient)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a <LFD>") 'kom-edit-add-recipient)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-k") 'kom-edit-add-comment)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a C-x") 'kom-edit-add-cross-reference)
-  (define-key lyskom-sv-edit-prefix (kbd "C-x C-p") 'kom-edit-add-personal-comments)
-  (define-key lyskom-sv-edit-prefix (kbd "C-x C-n") 'kom-edit-add-no-comments)
-  (define-key lyskom-sv-edit-prefix (kbd "C-x C-l") 'kom-edit-add-world-readable)
-  (define-key lyskom-sv-edit-prefix (kbd "C-x C-b") 'kom-edit-add-read-confirm-request)
-  (define-key lyskom-sv-edit-prefix (kbd "C-a ?")   'lyskom-help))
+
+  (define-key lyskom-sv-edit-insert-prefix (kbd "?")   'lyskom-help)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "C-k") 'kom-edit-insert-commented)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "C-y")     'kom-edit-insert-commented)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "1")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "2")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "3")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "4")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "5")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "6")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "7")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "8")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "9")   'kom-edit-insert-digit-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "SPC") 'kom-edit-insert-text)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "C-l") 'kom-edit-insert-link)
+  (define-key lyskom-sv-edit-insert-prefix (kbd "C-i") 'kom-edit-insert-last-info-nodename)
+
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-m") 'kom-edit-add-recipient)
+  (define-key lyskom-sv-edit-add-prefix (kbd "<RET>") 'kom-edit-add-recipient)
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-e") 'kom-edit-add-copy)
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-b") 'kom-edit-add-bcc)
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-f") 'kom-edit-move-text)
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-j") 'kom-edit-add-recipient)
+  (define-key lyskom-sv-edit-add-prefix (kbd "<LFD>") 'kom-edit-add-recipient)
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-k") 'kom-edit-add-comment)
+  (define-key lyskom-sv-edit-add-prefix (kbd "C-x") 'kom-edit-add-cross-reference)
+  (define-key lyskom-sv-edit-add-prefix (kbd "?")   'lyskom-help))
+
+  (define-key lyskom-sv-edit-aux-prefix (kbd "C-p") 'kom-edit-add-personal-comments)
+  (define-key lyskom-sv-edit-aux-prefix (kbd "C-n") 'kom-edit-add-no-comments)
+  (define-key lyskom-sv-edit-aux-prefix (kbd "C-l") 'kom-edit-add-world-readable)
+  (define-key lyskom-sv-edit-aux-prefix (kbd "C-b") 'kom-edit-add-read-confirm-request)
+
+  (define-key lyskom-sv-edit-review-prefix (kbd "?")     'lyskom-help)
+  (define-key lyskom-sv-edit-review-prefix (kbd "C-k")   'kom-edit-show-commented)
+  (define-key lyskom-sv-edit-review-prefix (kbd "k")     'kom-edit-show-commented)
 
 
 
diff --git a/src/vars.el.in b/src/vars.el.in
index 4581efec..72500bb3 100644
--- a/src/vars.el.in
+++ b/src/vars.el.in
@@ -32,6 +32,9 @@
 
 ;;;; Note: put "**" at the front of docstrings that are ready
 ;;;; for use in DocBook autogeneration.
+;;;;
+;;;; Rules for documentation that can be translated to DocBook
+;;;; is in interndoc/vardoc
 
 
 (setq lyskom-clientversion-long 
@@ -134,7 +137,7 @@ Values other than `t' and `nil' are reserved for future use."
   server)
 
 (def-kom-var kom-dont-complain-about-missing-presentation nil
-  "*Controls whether the client complains when you don't have
+  "**Controls whether the client complains when you don't have
 a presentation. When set to non-nil, the client will never
 complain.
 
@@ -175,18 +178,22 @@ as a URL and `IGNORE-CASE' specifies whether matching is
 case-sensitive or not.
 
 Each text is examined for each `PATTERN'. If a match is found, a URL
-is created from `REPLACEMENT'. All characters except \ are copied
-verbatim. The backslash character starts one of the following
+is created from `REPLACEMENT'. All characters except backslash are
+copied verbatim. The backslash character starts one of the following
 sequences:
 
     Sequence    Meaning
-    \&          Substitute the matched text
-    \N          Substitute match for text matching the Nth (...)
+    -----------------------------------------------------------------
+    `\\&'          Substitute the matched text
+
+    `\\N'          Substitute match for text matching the Nth (...)
                 group in `PATTERN'
-    \\          Insert one backslash.
+
+    `\\\\'          Insert one backslash.
+    -----------------------------------------------------------------
 
 The `HIGHLIGHT' parameter specifies which (...) group in `PATTERN'
-to highlight as an URL. Use `0' to highlight the entire match.
+to highlight as an URL. Use 0 to highlight the entire match.
 
 Finally, if `IGNORE-CASE' is `t', then ignore character case while
 looking for `PATTERN'. Values other than `t' and `nil' are reserved
@@ -555,67 +562,72 @@ The format of this variable may change in the future.
 
 The format of this list is as follows:
 
+<
 \((FN-KEY . ((PFX-KEY-1 . (FN1 FN2 ... PROP1 VAL1 PROP2 VAL2 ...)) 
             (PFX-KEY-2 . (FN1 FN2 ... PROP1 VAL1 PROP2 VAL2 ...))
             GPROP1 GVAL1
             GPROP2 GVAL2
             ...))
  ...)
+>
 
-FN-KEY is the name of a command, `t' or a symbol that does not
+`FN-KEY' is the name of a command, `t' or a symbol that does not
 correspond to any function. Keys corresponding to commands indicate
 configuration for that command. The `t' key indicates fallback
 condiguration that applies to all commands, unless overridden by a
 command-specific configuration. Other keys can be referenced from
 command-specific configurations.
 
-PFX-KEY is a key that indicates a prefix. If it is an atom not bound
+`PFX-KEY' is a key that indicates a prefix. If it is an atom not bound
 to a function, it indicates configuration for prefix arguments eq to
-the atom \(e.g. 0, - or nil). The special key `t' indicates fallback
+the atom \(e.g. 0, - or `nil'). The special key `t' indicates fallback
 configuration, used when all prefix-specific configurationas failed to
 generate valid values.
 
-FN is a function or variable used to generate lists of text numbers.
+`FN' is a function or variable used to generate lists of text numbers.
 If a variable name, the value of the variable is used to generate a
 list of text numbers. If a function, the function is called with no
 arguments, and is expected to return a list of text numbers.
 
-PROP is a property name \(see below) and VAL is the corresponding
+`PROP' is a property name \(see below) and VAL is the corresponding
 value. Properties defined at the inner level apply only to results
 generated for that prefix. Properties defined at the outer level apply
 irrespective of prefix arguments. Properties defined in the default
-element \(with FN-KEY set to `t'\) always apply, unless overridden by
+element \(with `FN-KEY' set to `t'\) always apply, unless overridden by
 non-nil properties in command-specific elements.
 
 The following properties are available:
 
-Key             Value
-----------------------------------------------------------------------
-:filter         A function that is called on all text numbers. The filter
-                function is expected to return a new or modified text 
-                number. This can be used to indicate that the command 
-                should prompt or bypass the constraint.
-
-:constraint    A function that is called on all text numbers. It should
-               return non-nil for text numbers that are valid for the 
-               command.
-
-:refer         A symbol indicating a configuration to use. Useful when 
-               several commands share the same (complex) configuration.
-               May not be used in the default element.
+    Key             Value
+    ------------------------------------------------------------------
+    `:filter'       A function that is called on all text numbers. The
+                    filter function is expected to return a new or 
+                    modified text number. This can be used to indicate 
+                    that the command should prompt or bypass the 
+                    constraint.
+    
+    `:constraint'  A function that is called on all text numbers. It 
+                   should return non-nil for text numbers that are 
+                   valid for the command.
+    
+    `:refer'       A symbol indicating a configuration to use. Useful 
+                   when several commands share the same (complex)
+                   configuration. May not be used in the default 
+                   element.
+    ------------------------------------------------------------------
 
 
 The following filter functions may be useful:
 
-Name                    What it does
-----------------------------------------------------------------------
-lyskom-tnpa-prompt      Prompt the user for the text number. The 
-                        number used as the argument will be the 
-                        default. 
-
-lyskom-tnpa-valid       Declare that the text number is valid, 
-                        regardless of any constraint functions.
-
+    Name                    What it does
+    ------------------------------------------------------------------
+    `lyskom-tnpa-prompt'    Prompt the user for the text number. The 
+                            number used as the argument will be the 
+                            default. 
+    
+    `lyskom-tnpa-valid'     Declare that the text number is valid, 
+                            regardless of any constraint functions.
+    ------------------------------------------------------------------
 
 When `lyskom-read-text-no-prefix-arg' is called, this list is searched
 both for a command-specific element and for the default element. Any
@@ -633,19 +645,23 @@ argument for the command."
     )
   "**An alist specifying transformations to be applied to URLs.
 
-Elements in this list are of the form `(PATTERN . REPLACEMENT)'.
+Elements in this list are of the form \(`PATTERN' . `REPLACEMENT').
 Before an URL is opened, it is transformed by matching the URL against
 each `PATTERN' in turn, and when a match is found, generating a new
 URL according to `REPLACEMENT'.
 
-All characters in `REPLACEMENT' except \ are copied verbatim. The
+All characters in `REPLACEMENT' except \\ are copied verbatim. The
 backslash character starts one of the following sequences:
 
     Sequence    Meaning
-    \&          Substitute the matched text
-    \N          Substitute match for text matching the Nth (...)
+    ---------------------------------------------------------------
+    `\\&'        Substitute the matched text
+
+    `\\N'        Substitute match for text matching the Nth (...)
                 group in `PATTERN'
-    \\          Insert one backslash.
+
+    `\\\\'        Insert one backslash.
+    ---------------------------------------------------------------
 "
   server
   )
@@ -685,6 +701,7 @@ Values other tha `t' and `nil' are reserved for future use."
 
 When set to `t', hide the add button shown after the headers when
 editing a text. When set to `nil' (the default), show the button.
+
 Values other than `t' and `nil' are reserved for future use."
   server
 )
@@ -694,7 +711,7 @@ Values other than `t' and `nil' are reserved for future use."
 
 When a text is displayed with its own background color (see
 `kom-highlight-text-body', `kom-highlight-first-line',
-`kom-highligh-dashed-linse', `kom-async-highlight-text-body' and
+`kom-highlight-dashed-lines', `kom-async-highlight-text-body' and
 `kom-async-highlight-dashed-lines') one or more overlays are created.
 Since a large number of overlays has a serious impact on performance,
 the total number of overlays in the buffer can be limited using this
@@ -783,14 +800,22 @@ corresponding value is `nil', the information is not shown.
 
 Valid tags are:
 
-    Tag                 Meaning
-    conf                Show all extended information for conferences
-    pers                Show all extended information for persons
-    server              Show all extended information for the server
-    read-faq            Show read FAQs
-    raw-server-stats    Show raw server statistics
-    raw-boottime-info   Show raw boot-time server information
-    t                   Any information not explicitly listed
+    Tag                   Meaning
+    ------------------------------------------------------------------
+    `conf'                Show all extended information for conferences
+
+    `pers'                Show all extended information for persons
+
+    `server'              Show all extended information for the server
+
+    `read-faq'            Show read FAQs
+
+    `raw-server-stats'    Show raw server statistics
+
+    `raw-boottime-info'   Show raw boot-time server information
+
+    `t'                   Any information not explicitly listed
+    ------------------------------------------------------------------
 
 The information controlled by this variable is the kind of data that
 most users are not interested in, and, if displayed, would make more
@@ -908,25 +933,43 @@ The value of this variable must be a string, which is displayed as the
 LysKOM prompt, while waiting for a command. The string may contain the
 following special sequences:
 
-    Sequence    Meaning
-    %c          Inserts the current default command.
-    %[          Inserts `[' if the ansaphone is on.
-    %]          Inserts `]' is the ansaphone is on.
-    %m          Inserts information about recorded messages.
-    %s          Inserts the name of the LysKOM system
-    %S          Inserts the server name.
-    %p          Inserts the name of the user currently logged on.
-    %w          Inserts the name of the current conference.
-    %a          Inserts `anonymous' in the current language.
-    %A          Inserts `Anonymous' in the current language.
-    %#          Inserts the current session number.
-    %           Inserts a space if it seems necessary (percent SPC).
-    %%          Inserts a percent sign.
+    Sequence      Meaning
+    -----------------------------------------------------------------
+    `%c'          Inserts the current default command.
+
+    `%['          Inserts `[' if the ansaphone is on.
+
+    `%]'          Inserts `]' is the ansaphone is on.
+
+    `%m'          Inserts information about recorded messages.
+
+    `%s'          Inserts the name of the LysKOM system
+
+    `%S'          Inserts the server name.
+
+    `%p'          Inserts the name of the user currently logged on.
+
+    `%w'          Inserts the name of the current conference.
+
+    `%a'          Inserts `anonymous' in the current language.
+
+    `%A'          Inserts `Anonymous' in the current language.
+
+    `%#'          Inserts the current session number.
+
+    `% '          Inserts a space if it seems necessary (percent SPC).
+
+    `%%'          Inserts a percent sign.
+    -----------------------------------------------------------------
 
 Here are a few examples:
 
-    \"%[%c% %m%] - \"             The default prompt
-    \"%[%s: %c% %m%] - \"         Could display \"LysKOM: Time - \"
+    Format string                 What it does
+    -----------------------------------------------------------------
+    `\"%[%c% %m%] - \"'           The default prompt
+
+    `\"%[%s: %c% %m%] - \"'       Could display \"LysKOM: Time - \"
+    -----------------------------------------------------------------
 
 Note that multiline prompts are not supported."
   server)
@@ -993,7 +1036,7 @@ LysKOM, there is occasionally reason to cite a commented text."
   server)
 
 (def-kom-var kom-created-texts-are-saved nil
-  "**If non-`nil', save all created texts to a file. 
+  "**If non-nil, save all created texts to a file. 
 
 The value of this variable is the file name on which to save new
 texts. Each time a text is created, it is appended to this file.
@@ -1003,7 +1046,7 @@ reserved for future extensions."
   inherited)
 
 (def-kom-var kom-created-texts-are-read nil
-  "**Non-`nil' means automatically mark texts that you create as read.
+  "**non-nil means automatically mark texts that you create as read.
 
 When set to `t', all text you write are automatically marked as read,
 except when running in anonymous mode. When set to `nil', your texts
@@ -1065,6 +1108,7 @@ When set to `nil', comment references are shwon in the headers.
 
 `kom-reading-puts-comments-in-pointers-last' set to `nil'
 
+<
     398331 1996-09-24  13:22  /2 lines/ George Berkeley
     Recipient: Philosophy <1226>
     Comment in text 398374 by John Locke
@@ -1072,9 +1116,11 @@ When set to `nil', comment references are shwon in the headers.
     ------------------------------------------------------------
     An abstract idea is a contradiction in terms.
     (398331) -----------------------------------
+>
 
 `kom-reading-puts-comments-in-pointers-last' set to `t'
 
+<
     398331 1996-09-24  13:22  /2 lines/ George Berkeley
     Recipient: Philosophy <1226>
     Subject: 
@@ -1082,6 +1128,7 @@ When set to `nil', comment references are shwon in the headers.
     An abstract idea is a contradiction in terms.
     (398331) -----------------------------------
     Comment in text 398374 by John Locke
+>
 "
   common reading-puts-comments-in-pointers-last boolean
   inherited)
@@ -1130,21 +1177,25 @@ dashed lines.
 
 `kom-dashed-lines' set to `t'
 
+<
     892343 1996-09-24  19:21  /2 lines/ Tycho Brahe
     Recipien: Presentation (of new) Members
     Subject: Tycho Brahe
     ------------------------------------------------------------
     Astronomer and discoverer of stars resident on the island of Ven.
     (892343) -----------------------------------
+>
 
 `kom-dashed-lines' set to `nil'
 
+<
     892343 1996-09-24  19:21  /2 lines/ Tycho Brahe
     Recipien: Presentation (of new) Members
     Subject: Tycho Brahe
 
     Astronomer and discoverer of stars resident on the island of Ven.
     (892343)
+>
 
 Values other than `t' and `nil' are reserved for future use. 
 
@@ -1155,13 +1206,13 @@ these lines."
   inherited)
 
 (def-kom-var kom-long-lines nil
-  "**If non-`nil', some lines and borders will be made longer.
+  "**If non-nil, some lines and borders will be made longer.
 
 When set to `t', most dashed lines will be longer than the default.
 When set to `nil',  use the standard length.
 
 See `kom-text-footer-dash-length', `kom-text-header-dash-length' and
-`kom-footer-format' for other related settings."
+`kom-text-footer-format' for other related settings."
   server
   inherited)
 
@@ -1200,12 +1251,18 @@ When set to a string, use that string as the text footer, overriding
 all other settings that affect the text footer. The string may contain
 the following special sequences:
 
-    Directive   Meaning
-    %n          Insert the text number
-    %p          Insert the number of the author
-    %P          Insert the name of the author
-    %-          Insert a bunch of dashes
-    %f          Insert special formatting information
+    Directive     Meaning
+    -------------------------------------------------------------
+    `%n'          Insert the text number
+
+    `%p'          Insert the number of the author
+
+    `%P'          Insert the name of the author
+
+    `%-'          Insert a bunch of dashes
+
+    `%f'          Insert special formatting information
+    -------------------------------------------------------------
 
 Format directives can be prefixed with a number specifying the minimum
 field width (e.g. `%20-'. The field width can be prefixed with an
@@ -1223,11 +1280,16 @@ When set, this variable overrides `kom-dashed-lines' and
 The default format is equivalent to the following strings, depending on 
 the settings of kom-dashed-lines and kom-show-author-at-end.
 
-`kom-dashed-lines'  `kom-show-author-at-end'    Format
-       t                    t                   \"(%n) /%P/%42-%f\"
-       t                   nil                  \"(%n) %42-%f\"
-      nil                   t                   \"(%n) /%P/ %f\"
-      nil                  nil                  \"(%n) %f\"
+    `kom-dashed-lines'  `kom-show-author-at-end'   Format
+    --------------------------------------------------------------------
+    `t'                  `t'                       `\"(%n) /%P/%42-%f\"'
+
+    `t'                  `nil'                     `\"(%n) %42-%f\"'
+
+    `nil'                `t'                       `\"(%n) /%P/ %f\"'
+
+    `nil'                `nil'                     `\"(%n) %f\"'
+    --------------------------------------------------------------------
 "
   server
   inherited)
@@ -1257,21 +1319,25 @@ after the text. When set to `nil', the author is not displayed.
 
 `kom-show-author-at-end' set to `t' (with dashed lines on):
 
+<
   892342 1996-09-24  19:21  /2 lines/ Claude Shannon
   Mottagare: Presentation (of new) Members
   �rende: Claude Shannon
   ------------------------------------------------------------
   Information theoretician
   (892342) /Claude Shannon/------------------------------
+>
 
 `kom-show-author-at-end' set to `nil':
 
+<
   892342 1996-09-24  19:21  /2 lines/ Claude Shannon
   Recipient: Presentation (of new) Members
   Subject: Claude Shannon
   ------------------------------------------------------------
   Information theoretician
   (892342) -----------------------------------
+>
 
 If `kom-text-footer-format' is set, the value of this variable is
 ignored. Values other than `t' and `nil' are reserved for future use."
@@ -1337,7 +1403,7 @@ Values other than `t' and `nil' are reserved for future extensions."
 ;; users converting from another client, but that isn't done.)
 
 (def-kom-var kom-presence-messages t
-  "Equivalent of the variable `presence-messages' in the user-area.
+  "Equivalent to the variable `presence-messages' in the user-area.
 This is a boolean where other clients may store whether the user wants
 messages about people logging in and out of LysKOM.  Here this is instead
 controlled by `kom-presence-messages-in-echo-area' and
@@ -1348,7 +1414,7 @@ influence what this client stores in the common block of the user-area."
 (def-kom-var kom-presence-messages-in-echo-area t
   "**Controls display of presence messages in the echo area.
 
-If non-`nil', LysKOM prints continuous info about what other people
+If non-nil, LysKOM prints continuous info about what other people
 are doing. Info is printed on the echo area and never in the buffer.
 If minibuffer is used, no message is printed.
 
@@ -1368,15 +1434,15 @@ Values other than those listed are reserved for future use."
   server)
 
 (def-kom-var kom-unread-mode-line-type nil
-  "**Controls how information about unread sessions is given in the mode line.
+  "**Controls how information about unread sessions is shown in the mode line.
 
-If this variable is `nil', there will be a single field of information 
-stating whatever you have unread texts or letters in any active session.
+If this variable is `nil', there will be a single prompt indicating
+whether you have unread texts or letters in any active session.
 
-If this variable is `t', the mode line will instead include all sessions with
-unread texts. Unread letters will be demonstrated by upper casing the session 
-name or (if the session name is in upper case already) surrounding it with
-asterisks.
+If this variable is `t', the mode line will indicate each session with
+unread texts. Unread letters are indicated by upper-casing the session
+name or (if the session name is in upper case already) surrounding it
+with asterisks.
 
 All other values are reserved for future use."
   )
@@ -1386,7 +1452,7 @@ All other values are reserved for future use."
 (def-kom-var kom-presence-messages-in-buffer nil
   "**Controls display of presence messages in the LysKOM buffer.
 
-If non-`nil', LysKOM prints information about what other people are
+If non-nil, LysKOM prints information about what other people are
 doing in the LysKOM buffer. All printing is done just before the
 prompt.
 
@@ -1405,6 +1471,7 @@ doing. When set to `nil', this information will not be shwon.
 
 Listing frmo `kom-who-is-on' with `kom-show-where-and-what' set to `t':
 
+<
       User                                   Is in conference             
       At                                     Activity                        
   --------------------------------------------------------------------------
@@ -1413,14 +1480,17 @@ Listing frmo `kom-who-is-on' with `kom-show-where-and-what' set to `t':
    7571 John Locke                           Philosophy                     
         eridy@cc.ox.ac.uk                    (Waiting.)                     
   --------------------------------------------------------------------------
+>
 
 Listing frmo `kom-who-is-on' with `kom-show-where-and-what' set to `nil':
 
+<
       User                                   Is in conference             
   --------------------------------------------------------------------------
    6810 George Berkeley                      Philosophy                     
    7571 John Locke                           Philosophy
   --------------------------------------------------------------------------
+>
 
 Values other than `t' and `nil' are reserved for future use."
   server)
@@ -1434,6 +1504,7 @@ last indicated activity.
 
 Listing frmo `kom-who-is-on' with `kom-show-since-and-when' set to `t':
 
+<
         User                                 Is in conference             
         Connected                            Active last                  
   --------------------------------------------------------------------------
@@ -1442,15 +1513,17 @@ Listing frmo `kom-who-is-on' with `kom-show-since-and-when' set to `t':
    7571 John Locke                           Philosophy                     
         Saturday 2003-01-11 14:02:47         12 minutes                     
   --------------------------------------------------------------------------
-
+>
 
 Listing frmo `kom-who-is-on' with `kom-show-since-and-when' set to `nil':
 
+<
         User                                 Is in conference             
   --------------------------------------------------------------------------
    6810 George Berkeley                      Philosophy                     
    7571 John Locke                           Philosophy
   --------------------------------------------------------------------------
+>
 
 Values other than `t' and `nil' are reserved for future use."
   server)
@@ -1583,7 +1656,7 @@ use."
 (def-kom-var kom-server-priority-breaks nil
   "**Controls how server priorities are handled.
 
-A non-`nil' value allows servers with a higher priority than the
+A non-nil value allows servers with a higher priority than the
 current server to break in when new texts arrive. This can be used to
 give a work-related server a higher priority than a server used for
 frivolous purposes (or, indeed, the other way around).
@@ -1591,22 +1664,30 @@ frivolous purposes (or, indeed, the other way around).
 The following settings are available:
 
   Value                 Meaning
+  --------------------------------------------------------------------
   `express'             Break in immediately when there are unread
                         texts.
+
   `express-letters'     Break in immediately when there are unread
                         letters.
+
   `t'                   Break in after the current comment chain when
                         there are unread texts.
+
   `letters'             Break in after the current comment-chain when
                         there are unread letters.
+
   `after-conf'          Break in after the current conference when
                         there are unread texts.
+
   `after-conf-letters'  Break in after the current conference when
                         there are unread letters.
+
   `when-done'           Prompt the user to go to the next session with
                         unreads after everything has been read. This
                         overrides `kom-do-when-done' as long as there
                         are sessions with unread texts. 
+  --------------------------------------------------------------------
 
 Values other than those listed above are reserved for future use and
 may result in unpredictible behavior.
@@ -1878,7 +1959,7 @@ These are arguments used to format the current prompt."
 
 (def-kom-var lyskom-current-prompt-timestamp nil
   "The creationtime of the current prompt.
-This is used when updating the prompt and on lyskom-start-of-command."
+This is used when updating the prompt and on `lyskom-start-of-command'."
   local)
 
 (def-kom-var lyskom-need-prompt-update nil
@@ -1921,7 +2002,7 @@ the amount of time (in seconds) to wait between successive beeps. The
 value must be a positive number (it may be a floating point number).")
 
 (def-kom-var kom-ding-on-priority-break 1
-  "**Non-`nil' means ding if a higher priority text or conference breaks in.
+  "**Non-nil means ding if a higher priority text or conference breaks in.
 
 This variable must be set to a `t', `nil', a positive integer, a
 string or a function. When set to `t' use the default beep. When set
@@ -1932,38 +2013,38 @@ indicated by `kom-audio-player' with the string as its sole argument."
   server)
 
 (def-kom-var kom-ding-on-new-letter nil
-  "**Non-`nil' means ding if a message arrives in the letter box. 
+  "**Non-nil means ding if a message arrives in the letter box. 
 
 See `kom-ding-on-priority-break' for valid values."
   server)
 
 
 (def-kom-var kom-ding-on-wait-done 1
-  "**Non-`nil' means ding when `kom-busy-wait' terminates.
+  "**Non-nil means ding when `kom-busy-wait' terminates.
 
 See `kom-ding-on-priority-break' for valid values."
   server)
 
 (def-kom-var kom-ding-on-common-messages 0
-  "**Non-`nil' means ding when an alarm message arrives. 
+  "**Non-nil means ding when an alarm message arrives. 
 
 See `kom-ding-no-priority-break' for valid values. In addition to
 those listed there, the value of this variable may be a list of
-elements like `(KEY . VALUE)'. If the sender (a conference number) is
+elements like \(`KEY' . `VALUE'). If the sender (a conference number) is
 found as the key of any element, the value of that element will be
 used to generate the ding (valid values are those listed for
-kom-ding-on-priority-break). The special key `t' is used when no other
+`kom-ding-on-priority-break'). The special key `t' is used when no other
 key matches the sender."
   server)
 
 (def-kom-var kom-ding-on-group-messages 1
-  "**Non-`nil' means ding when a group messages arrives.
+  "**non-nil means ding when a group messages arrives.
 
 See `kom-ding-on-common-messages' for valid values."
   server)
 
 (def-kom-var kom-ding-on-personal-messages 2
-  "**Non-`nil' means ding when a personal message arrives.
+  "**non-nil means ding when a personal message arrives.
 
 See `kom-ding-on-common-messages' for valid values."
 server)
@@ -2018,21 +2099,25 @@ alarm messages arrived. When set to `nil', only display the time.
 
 `kom-show-personal-message-date' set to `t'>:
 
+<
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Alarm message from Claude Chappe (1805-01-23 17:34):
   
   Je me donne la mort our �viter l'ennui de la vie qui m'accable; je
   n'ai point de reproches � me faire.
   ----------------------------------------------------------------
+>
 
 `kom-show-personal-message-date' set to `nil':
 
+<
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Alarm message from Claude Chappe (17:34):
   
   Je me donne la mort our �viter l'ennui de la vie qui m'accable; je
   n'ai point de reproches � me faire.
   ----------------------------------------------------------------
+>
 
 See Bulletin of Les Amis de Paris Central T�l�graphe, no. 20, July
 1993 for information on the quote above.
@@ -2084,11 +2169,15 @@ matching conferences.
 The following values are legal for keys:
 
     Value       Meaning
+    -----------------------------------------------------------------
     Symbol      If the value is a list, matches if the conference
                 number is in the list. If the value is an integer,
                 matches if the conference number matches the integer.
+
     List        Matches if the conference number is in the list.
+
     Function    Matches if the function returns non-nil (see below).
+    -----------------------------------------------------------------
 
 When using a function as the key, the function will be called with a
 single argument, the object to be printed. The type of the argument
@@ -2104,7 +2193,7 @@ All other values are reserved for future use."
 The value of this variable is a list of person numbers. People listed
 here will be displayed using the face in `kom-friends-face'. They can
 also receive special treatment in other cases (see
-`kom-presence-message').
+`kom-presence-messages').
 
 See `kom-morons' for a related variable.
 
@@ -2301,18 +2390,30 @@ first handler in the list that is associated with the URLs protocol.
 
 Value values for elements in the list are:
 
-  Handler           What it does                      Handles protocols
-  \"default\"       Use `browse-url' to open URLs     All
-  \"windows\"       Microsoft Windows default         All
-  \"netscape\"      Opens URLs in Netscape/Mozilla    All
-  \"mosaic\"        Opens URLs in NCSA Mosaic         All common
-  \"lynx\"          Opens URLs in Lynx                All common
-  \"galeon\"        Opens URLs in Galeon              All common
-  \"w3\"            Opens URLs in Emacs W3            http,gopher,ftp
-  \"emacs\"         Opens URLs in Emacs               ftp,telnet,file,mailto
-  \"dired\"         Opens URLs in Emacs               ftp,file
-  \"telnet-mode\"   Opens URLs in Emacs               telnet
-  \"mail-mode\"     Opens URLs in Emacs               mailto
+    Handler          What it does                     Handles protocols
+    ------------------------------------------------------------------------
+    \"default\"      Use `browse-url' to open URLs    All
+
+    \"windows\"      Microsoft Windows default        All
+
+    \"netscape\"     Opens URLs in Netscape/Mozilla   All
+
+    \"mosaic\"       Opens URLs in NCSA Mosaic        All common
+
+    \"lynx\"         Opens URLs in Lynx               All common
+
+    \"galeon\"       Opens URLs in Galeon             All common
+
+    \"w3\"           Opens URLs in Emacs W3           http,gopher,ftp
+
+    \"emacs\"        Opens URLs in Emacs              ftp,telnet,file,mailto
+
+    \"dired\"        Opens URLs in Emacs              ftp,file
+
+    \"telnet-mode\"  Opens URLs in Emacs              telnet
+
+    \"mail-mode\"    Opens URLs in Emacs              mailto
+    ------------------------------------------------------------------------
 
 The variable `kom-url-managers' contains a list of all handlers. 
 
@@ -2394,9 +2495,9 @@ Mozilla with no arguments. If a list, the first element must be a
 command that starts Netscape. The remaining elements are used as
 arguments to Netscape.
 
-For instance, a value of `\"netscape\"' is valid, but `\"netscape -d
-host:0\"' is not. Instead, the latter should be `\(\"netscape\" \"-d\"
-\"host:0\"\)'"
+For instance, a value of \"netscape\" is valid, but \"netscape -d
+host:0\" is not. Instead, the latter should be \(\"netscape\" \"-d\"
+\"host:0\"\)"
   server)
 
 (def-kom-var kom-netscape-variant nil
@@ -2419,9 +2520,9 @@ If a string, it should be a command that starts Galeon with no
 arguments. If a list, the first element must be a command that starts
 Galeon. The remaining elements are used as arguments to Galeon.
 
-For instance, a value of `\"galeon\"' is valid, but `\"galeon
---display host:0\"' is not. Instead, the latter should be
-`\(\"galeon\" \"--display\" \"host:0\"\)'"
+For instance, a value of \"galeon\" is valid, but \"galeon
+--display host:0\" is not. Instead, the latter should be
+\(\"galeon\" \"--display\" \"host:0\"\)"
   server)
 
 (def-kom-var kom-lynx-terminal 'xterm
@@ -2450,7 +2551,7 @@ are arguments to Lynx."
   server)
 
 (def-kom-var kom-confirm-multiple-recipients 'after
-  "**Non-`nil' means ask the user for confirmation about recipients.
+  "**Non-nil means ask the user for confirmation about recipients.
 
 When the user writes a comment to a text with more than one recipient,
 ask for confirmation that all recipients are relevant, or one question
@@ -2463,7 +2564,7 @@ If this variable is set to `after', ask once for all recipients after
 editing the text. This is the preferred value since it is difficult to
 judge the relevance of a recipient until the text has been written.
 
-Values other than `t' and `nil' are reserved for future use."
+Values other than those listed are reserved for future use."
   common confirm-multiple-recipients boolean)
 
 (def-kom-var kom-check-for-new-comments t
@@ -2482,7 +2583,7 @@ If this variable is `nil', dont' check.
 If this variable is set to a function name, call the function to see
 if check should be performed. The function is called with the
 commented text's text-stat as its sole argument. If it returns
-non-`nil', the check is performed.
+non-nil, the check is performed.
 
 A list of conference numbers means perform the check for all
 conferences other than those listed.
@@ -2571,13 +2672,14 @@ Values other than `t' and `nil' are reserved for future use."
 (def-kom-var kom-show-namedays nil
   "**Controls display of namedays.
 
-When this variable is set to a non-`nil' value,`kom-display-time' can
+When this variable is set to a non-nil value,`kom-display-time' can
 display names of the day.
 
 If set to `t', show the namedays for the currently selected languag
 \(if there are any). If set to a symbol, that symbol should indicate a
 list of names (use `kom-list-nameday-lists' to see a list of all
-possible lists).
+possible lists). If set to a list, each element should be a symbol
+indicating a list of names; display namedays from all indicated lists.
 
 All values other than those listed are reserved for future use."
   server)
@@ -2621,12 +2723,12 @@ When this variable is set to a string, it should be the host name of
 an HTTP proxy that supports the CONNECT method. All LysKOM sessions
 will be transparently tunneled through this proxy.
 
-When set to a list, each element must be a pair `(SERVER . PROXY)',
+When set to a list, each element must be a pair \(`SERVER' . `PROXY'),
 where `SERVER' is a LysKOM server and `PROXY' is the proxy to use for
 that server (or `nil' to not use a proxy). The special value `t' for
 `SERVER' indicates the proxy to use for unlisted servers.
 
-The proxy string has the form `\"HOST:PORT\"', where `HOST' is the
+The proxy string has the form \"`HOST':`PORT'\", where `HOST' is the
 proxy host and `POSRT' is the port on which the proxy is running. The
 port part is optional. If it is not specified, port 80 is assumed.
 
@@ -2638,9 +2740,9 @@ Values other than those described are reserved for future use.")
 
 The value of this variable should either be a single string, which is
 sent verbatim to the proxy, or a list of strings which will be sent to
-the proxy separated by CRLF, or a list of elements like `(NAME H1 H2 ... Hn)'
-where `NAME' is the name of a proxy and the remaining elements are
-headers to send when connecting through that proxy.
+the proxy separated by CRLF, or a list of elements like \(`NAME' `H1'
+`H2' ... `Hn') where `NAME' is the name of a proxy and the remaining
+elements are headers to send when connecting through that proxy.
 
 Do not use this variable for proxy authentication.
 
@@ -2650,7 +2752,7 @@ Values other than those listed are reserved for future use.")
 (def-kom-var kom-server-aliases nil
   "**An alist mapping server names to shorter identification strings.
 
-Each value in this string should be of the form `(SERVER . NICKNAME)',
+Each value in this string should be of the form \(`SERVER' . `NICKNAME'),
 where `NICKNAME' is the short name for the server `SERVER'. You can
 set this in init files before loading LysKOM.
 
@@ -2674,7 +2776,7 @@ Values other than those described are reserved for future use.")
     ("myskom.kfib.org" . "MysKOM"))
   "**An alist mapping server names to shorter identification strings.
 
-Each value in this string should be of the form `(SERVER . NICKNAME)',
+Each value in this string should be of the form (`SERVER' . `NICKNAME'),
 where `NICKNAME' is the short name for the server `SERVER'. Avoid
 setting this variable since that will override the list compiled into
 the client. Use `kom-server-aliases' instead.
@@ -2790,26 +2892,26 @@ set to `t'.
 The value of this variable is a list of rules. Each rule is a list
 with five elements: `MESSAGE-TYPE', `SENDER', `RECIPIENT', `TEXT', and
 `REPLY'. Incoming messages are compared against these rules in order.
-A message matches a rule if it matches all non-`nil' elements of the
+A message matches a rule if it matches all non-nil elements of the
 rule.
 
-If `MESSAGE-TYPE' is non-`nil', match against the message type. Valid
+If `MESSAGE-TYPE' is non-nil, match against the message type. Valid
 values are `personal', `group' and `common' (for alarm messages).
 
-If `SENDER' is non-`nil', match against the message sender. The value
+If `SENDER' is non-nil, match against the message sender. The value
 is either an integer (a person number) or a list of person numbers. A
 message matches if its sender is any of the listed persons.
 
-If `RECIPIENT' is non-`nil', match against the message recipient. The
+If `RECIPIENT' is non-nil, match against the message recipient. The
 value is either an integer (a conference number) or a list of
 conference numbers. A message matches if its recipient is any of the
 listed conferences.
 
-If `TEXT' is non-`nil', match against the message text. The value is
+If `TEXT' is non-nil, match against the message text. The value is
 a regular expression. A message matches if it contains a match for the
 regular expression.
 
-If all non-`nil' components of a rule match, rule processing is
+If all non-nil components of a rule match, rule processing is
 terminated. If `REPLY' is a string, send that string as the reply. If
 `REPLY' is `nil', don't send a reply.
 
@@ -2823,7 +2925,7 @@ group and alarm messages."
 (def-kom-var kom-agree-text nil
   "**Determines the text used in `kom-agree'.
 
-When non-`nil', this is the default text for `kom-agree'. The value
+When non-nil, this is the default text for `kom-agree'. The value
 may be a string, which is used verbatim as the default text; a
 function, which is called and should return a text to use; or a list
 whose elements must be strings, functions or lists, and from which an
@@ -2836,7 +2938,7 @@ Values other than those described are reserved for future use."
 (def-kom-var kom-default-language nil
   "**The default language for LysKOM.
 
-When set to non-`nil', this variable should be set to a list of
+When set to non-nil, this variable should be set to a list of
 symbols or a symbol indicating the prefered language(s) for LysKOM.
 Each symbol name must be the ISO 630 code for a desired language (e.g.
 `sv' for Swedish and `en' for English). Available languages depend on
@@ -3145,16 +3247,20 @@ the importer has recorded such information).
 
 `kom-show-imported-envelope-sender' set to `t':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   Sent by: root@meat.spareribs.com
   Imported: today 00:07 by Mailman
   External recipient: BBQ <531@kom.meat.com>
+>
 
 `kom-show-imported-envelope-sender' set to `nil':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   Imported: today 00:07 by Mailman
   External recipient: BBQ <531@kom.meat.com>
+>
 
 Other variables that control display of imported e-mail include
 `kom-show-imported-importer' and
@@ -3172,14 +3278,18 @@ don't.
 
 `kom-show-imported-importer' set to `t':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   Imported: today 00:07 by Mailman
   External recipient: BBQ <531@kom.meat.com>
+>
 
 `kom-show-imported-importer' set to `nil':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   External recipient: BBQ <531@kom.meat.com>
+>
 
 Other variables that control display of imported e-mail include
 `kom-show-imported-importer' and
@@ -3196,14 +3306,18 @@ set to `nil', don't.
 
 `kom-show-imported-message-id' set to `t':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   Message-ID: <D1696C471C6CD511A0BE00D0B7A932DE01BBB4FA@spareribs.meat.com>
   External recipient: BBQ <531@kom.meat.com>
+>
 
 `kom-show-imported-message-id' set to `nil':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   External recipient: BBQ <531@kom.meat.com>
+>
 
 Other variables that control display of imported e-mail include
 `kom-show-imported-envelope-sender', `kom-show-imported-importer' and
@@ -3221,15 +3335,19 @@ headers.
 
 `kom-show-imported-external-recipients' set to `t':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   Imported: today 00:07 by Mailman
   External recipient: BBQ <531@kom.meat.com>
   External recipient: \"Mac the Hack\" <mac.hack@steak.meat.com>
+>
 
 `kom-show-imported-external-recipients' set to `nil':
 
+<
   2912231 today 10:07 +0100 /41 lines/  Super-User <root@spareribs.meat.com>
   Imported: today 00:07 by Mailman
+>
 
 Other variables that control display of imported e-mail include
 `kom-show-imported-envelope-sender', `kom-show-imported-importer' and
@@ -3735,7 +3853,7 @@ Non-integer values are reserved for future use."
 
 The value of this variable must be an integer.
 
-When `kom-server-priority-breaks' is set to a non-`nil' value, this
+When `kom-server-priority-breaks' is set to a non-nil value, this
 priority is used to decide when to go to a prioritized session. For a
 session to be prioritized its priority must be higher than the current
 session's `kom-server-priority' and higher than the priority of
@@ -4044,7 +4162,7 @@ This is currently not implemented.")
   "**Determines which commands ask for text numbers.
 
 The value of this variable must be a list containing pairs of 
-`(COMMAND . VALUE)'. If `VALUE' is `t', `COMMAND' will prompt for text
+(`COMMAND' . `VALUE'). If `VALUE' is `t', `COMMAND' will prompt for text
 numbers. If `VALUE' is nil, `COMMAND' will use a suitable default value."
   server
   inherited)
@@ -4061,11 +4179,17 @@ This hook is run just before the server call to create the text is made.
 The hook is currently called with the following arguments:
 
   Argument          Contents
+  ----------------------------------------------------------------
   `MESSAGE'         The message text
+
   `MISC-LIST'       The misc-info list
+
   `AUX-LIST'        The aux-item list
+
   `BUFFER'          The edit buffer
+
   `IS-ANONYMOUS'    Non-nil if the user is currently anonymous.
+  ----------------------------------------------------------------
 
 Additional arguments may be added in the future, so include 
 `&rest reserved' as the last element of the parameter list.
@@ -4288,7 +4412,7 @@ Values other than `t' and `nil' are reserved for future use."
 (def-kom-var kom-format-html-authors '((t . t))
   "**Determines from which authors we accept HTML.
 
-Each element of this list is a pair `(PERS . VAL)', where `PERS' is a
+Each element of this list is a pair \(`PERS' . `VAL'), where `PERS' is a
 person number and `VAL' is `t' or `nil'. If `VAL' is `t', then format
 HTML written by `PERS'. If `VAL' is `nil', don't. The special value
 `t' for `PERS' determines the default.
@@ -4400,7 +4524,7 @@ should be dynamically bound whenever it needs to be used.")
 (defvar kom-tell-phrases nil
   "**A list of phrases describing what the client is doing. 
 
-Each element in the list is a pair `\(KEY . PHRASE\)' where KEY is one
+Each element in the list is a pair \(`KEY' . `PHRASE') where KEY is one
 of the keywords in `lykom-tell-phrases-validation-keyword-list' and
 `PHRASE' is the phrase to sent to the server then the client is doing
 what `KEY' describes.
-- 
GitLab