From a07f6fcddc7fb42c64c3f7221251bb7f7fff203c Mon Sep 17 00:00:00 2001
From: David Byers <byers@lysator.liu.se>
Date: Fri, 21 May 1999 11:32:06 +0000
Subject: [PATCH] Merged lyskomdb.texi inteo lyskomd.texi Removed outdated
 files.

---
 doc/ADMINISTRATION          |  67 ---
 doc/Buggar.fixade           | 506 -------------------
 doc/Bugrapporter            | 740 ----------------------------
 doc/IDEAS                   |   6 +
 doc/LOGG                    |  77 ---
 doc/Mailinglist             |  13 -
 doc/Makefile.am             |  20 +-
 doc/Protocol-A.texi         |  15 +-
 doc/README                  |  79 ---
 doc/aux-info.doc            |  82 ---
 doc/clients.assigned        |   7 -
 doc/dbck.latexinfo          | 121 -----
 doc/dbck.texi               | 309 ------------
 doc/disc-cache.spec         | 174 -------
 doc/hacking.texi            | 959 ------------------------------------
 doc/known-server-bugs       |  10 -
 doc/known-servers           |  14 -
 doc/lyskomd-database-format | 141 ------
 doc/lyskomd.texi            | 196 +++++++-
 doc/lyskomdb.texi           | 256 ----------
 doc/mall-swe.latexinfo      |  90 ----
 doc/mall.latexinfo          |  77 ---
 doc/misc_items              |  43 --
 doc/misc_items_a            |  94 ----
 doc/prot-a-tankar           |   9 -
 doc/prot_a                  |  42 --
 doc/security-levels.txt     |  53 --
 doc/server-async.extend     |  21 -
 doc/server-config.extend    |  22 -
 doc/server.extend           |  60 ---
 doc/skeleton.doc            |  13 -
 doc/what-is-unread.swe      | 145 ------
 32 files changed, 218 insertions(+), 4243 deletions(-)
 delete mode 100644 doc/ADMINISTRATION
 delete mode 100644 doc/Buggar.fixade
 delete mode 100644 doc/Bugrapporter
 delete mode 100644 doc/LOGG
 delete mode 100644 doc/Mailinglist
 delete mode 100644 doc/README
 delete mode 100644 doc/aux-info.doc
 delete mode 100644 doc/clients.assigned
 delete mode 100644 doc/dbck.latexinfo
 delete mode 100644 doc/dbck.texi
 delete mode 100644 doc/disc-cache.spec
 delete mode 100644 doc/hacking.texi
 delete mode 100644 doc/known-server-bugs
 delete mode 100644 doc/known-servers
 delete mode 100644 doc/lyskomd-database-format
 delete mode 100644 doc/lyskomdb.texi
 delete mode 100644 doc/mall-swe.latexinfo
 delete mode 100644 doc/mall.latexinfo
 delete mode 100644 doc/misc_items
 delete mode 100644 doc/misc_items_a
 delete mode 100644 doc/prot-a-tankar
 delete mode 100644 doc/prot_a
 delete mode 100644 doc/security-levels.txt
 delete mode 100644 doc/server-async.extend
 delete mode 100644 doc/server-config.extend
 delete mode 100644 doc/server.extend
 delete mode 100644 doc/skeleton.doc
 delete mode 100644 doc/what-is-unread.swe

diff --git a/doc/ADMINISTRATION b/doc/ADMINISTRATION
deleted file mode 100644
index 265ad1880..000000000
--- a/doc/ADMINISTRATION
+++ /dev/null
@@ -1,67 +0,0 @@
-		     Administrating a LysKOM site
-		     ============================
-			  For lyskomd 1.9.0
-
-  This document is a short description of how to administrate a LysKOM
-database on your site.
-
-  The first thing you will have to do is to follow the instructions in
-the file INSTALL.  This will set up the LysKOM system with a database
-containing a few necessary conferences and one person - the
-administrator.
-
-  Once the LysKOM system is running, there is not much you will have
-to do to keep it that way.  One thing to remember is that the current
-release of the server has an incomplete handling of garbage collection
-of the database.  The database is split into two files, the
-information file and the text file.  Newly written texts are
-concatenated to the text file and old texts are never removed.  The
-information file contains information about conferences, users and
-where in the text file the texts are.  This file is properly garbage
-collected, but not the text file.
-
-  There is a program called dbck (Data Base Check) which is used to
-check the consistency of the LysKOM database.  This program can also
-be used to shrink the text file.  To do this, just type `dbck -g' in
-the database directory, or give additional switches to dbck to use the
-correct directory.  See further the manual page for dbck.  When dbck
-is to be run on the database, the LysKOM server *must* be stopped, or
-unrepairable damage may result.  See below for a description on how to
-stop the server.
-
-  There is a program called updateLysKOM which is used to ensure
-continuous operation.  This program is run with certain intervals and
-if the LysKOM server has died for some reason, updateLysKOM restarts
-it.  If the server is still running properly, updateLysKOM sends a
-signal (SIGUSR1) to it, which causes the server to write some
-statistics to a file named etc/lyskomd-log in the lyskom directory.
-
-  Taking the server down cleanly can be done in two ways: through the
-use of the LysKOM protocol on a socket, preferably through the use of
-a suitable client, or by sending the signal SIGHUP to it.  This will
-cause the server to save the database and close all client
-connections.  It will also create a file named etc/memory-usage in
-which the memory usage of the server is reported.
-
-  To prevent updateLysKOM from restarting a server, create a file
-named /usr/lyskom/etc/status.  The file should contain a valid mail
-address on the first line.  UpdateLysKOM will not restart the server
-as long as that file exists.  In addition, if the file is between 1
-and 2 hours old an email will be sent to the mail address found in the
-file.  If the file is older than that, an error message will be
-printed on stderr and updateLysKOM will exit with a non-zero exit
-status.  cron is expected to deliver the error message to an operator.
-
-  The shell script komrunning can be used to start and stop the LysKOM
-server.  With no arguments, it will report the status.
-
-	komrunning off
-
-will shut down the server, creating the file /usr/lyskom/etc/status,
-while
-
-	komrunning on
-
-will restart it.  The actual stopping and starting of the server will
-be done by updateLysKOM the next time it is run.  komrunning only
-creates the lock file.
diff --git a/doc/Buggar.fixade b/doc/Buggar.fixade
deleted file mode 100644
index 1f188cbd9..000000000
--- a/doc/Buggar.fixade
+++ /dev/null
@@ -1,506 +0,0 @@
-
-1990-11-25	ceder@lysator.liu.se				000056
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	server
-Till version:	
-----------------------------------------------------------------------
-Det b|r finnas n}got s{tta att st{nga av asynkrona meddelanden (t ex
-n{r man k|r r}tt).
-----------------------------------------------------------------------
-
-1991-02-15	ceder@Lysator.LiU.SE				000070
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-add_recipient med m}nga flera skickar ej ut n}got asynkront meddelande.
-----------------------------------------------------------------------
-
-
-
-1991-02-15	ceder@Lysator.LiU.SE				000069
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-Det ska, genom att g|ra g|ra add_recipient, g} att {ndra en recpt till
-cc_recpt (och inte bara }t andra h}llet). En mottagare ska, precis som
-nu, 	inte f} vara b}de recpt och cc_recpt.
-----------------------------------------------------------------------
-
-1991-02-08	ceder@Lysator.LiU.SE				000068
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-kom_info, som bl a inneh}ller motd_of_lyskom, sparas inte. N{r man
-startar om servern {r all info gl|md.
-----------------------------------------------------------------------
-
-1991-12-16	ceder@Lysator.LiU.Se				000074
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	0.34.3
-Orsak:		Brist p} f|rutseende.
-----------------------------------------------------------------------
-N{r en text skapas, som har mottagare som {r b}de hemliga och |ppna,
-censureras inte listan av mottagare.
-----------------------------------------------------------------------
-
-1991-01-13	ceder@Lysator.LiU.SE				000066
-----------------------------------------------------------------------
-]tg{rdat av:	ceder
-Program:	elisp-klient, servern
-Till version:	Servern 0.09
-Orsak:		servern ger en lista tillbaka inneh}llande nollor
-----------------------------------------------------------------------
-Om man f|rs|ker }terse raderade texter s} visas "Texten finns inte."
-Det {r lite jobbigt om man t ex g|r "]terse alla av Pell Pell Pell".
-----------------------------------------------------------------------
-
-
-1991-01-04	Bellman@Lysator.LiU.SE				000064
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	0.08	- klart
-----------------------------------------------------------------------
-Ett inl{gg kan kommentera ett annat flera g}nger.
-----------------------------------------------------------------------
-
-
-1990-12-18	Bellman@Lysator.LiU.SE				000062
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	servern
-Till version:	0.07	- klart
-----------------------------------------------------------------------
-Add-recipient tycks alltid s{tta mottagaren som vanlig mottagare {ven
-om man anger cc-recpt.
-----------------------------------------------------------------------
-
-1990-12-09	linus@Lysator.LiU.SE				000058
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	Elisp-klienten
-Till version:	0.18.1	- klart
-Orsak:		LUNATIX
-----------------------------------------------------------------------
-Nanny klarar inte av att skicka paket som {r l{ngre {n 2048 tecken.
-Elisp-klienten borde inte skicka st|rre paket utan borde dela p} l}nga
-texter.
-----------------------------------------------------------------------
-
-
-1990-12-06	linus@lysator.liu.se				000057
-----------------------------------------------------------------------
-]tg{rdas av:	linus@lysator.liu.se
-Program:	Elisp-klienten
-Till version:	0.18	- fixat
-----------------------------------------------------------------------
-Filterna lyskom-init-filter och lyskom-filter gl|mmer i vissa fall att
-s{tta tillbaka current buffer. Detta resulterar i ganska m}nga 
-Buffer is read-only *nanny*
-I synnerhet p} fr}gan {r detta f|rsta g}ngen du k|r lyskom (yes/no): 
-----------------------------------------------------------------------
-
-
-1990-11-20	ceder@lysator.liu.se				000054
-----------------------------------------------------------------------
-]tg{rdas av:	Inge Wallin
-Program:	elisp-klienten
-Till version:	0.18.1
-----------------------------------------------------------------------
-N{r man skriver en presentation av ett m|te markeras den inte (alltid)
-som presentation av servern.
-----------------------------------------------------------------------
-
-
-1990-11-14	linus@lysator.liu.se				000051
-----------------------------------------------------------------------
-]tg{rdas av:	Ingen }tg{rd. Felaktig buggrapport.
-Program:	elisp-klient
-Till version:	
-----------------------------------------------------------------------
-N{r jag l{ser med djup-f|rst flaggan satt och har l{st ett inl{gg som
-har kommentarer s} l{ggs dessa ol{sta kommentarer upp i en egen
-to-read-info.
-N{r jag nu g|r n{sta m|te eller g}r till n}got annat m|te (utan att ha
-l{st slut dessa kommentarer) f|rsvinner denna to-read-info.
-
-Den borde flyttas med till lyskom-to-do-list s} att man kommer in i
-samma kommentarkedja n{sta g}ng man kommer till m|tet.
-----------------------------------------------------------------------
-
-
-1990-11-12	ceder@lysator.liu.se				000050
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	server
-Till version:	fixat /ceder
-----------------------------------------------------------------------
-Text-garbningen tar inte h{nsyn till om inl{gg {r skickade "nyss". Om
-dom {r tillr{ckligt gamla s} raderas de {nd}. Felet ligger i
-garb_text() i text-garb.c.
-----------------------------------------------------------------------
-
- 
-1990-11-11	ceder@lysator.liu.se				000049
-----------------------------------------------------------------------
-]tg{rdas av:	(Ingen }tg{rd. F|rdelen med ett m{nniskol{sbart format
-		 {r stora, och dessutom tj{nar man inte s} mycket.)
-Program:	protokoll
-Till version:	B 
-----------------------------------------------------------------------
-Ca dubbelt s} mycket data |verf|rs via TCP som det man f}r ut ur
-anv{ndarinterfacet. Protokoll B b|r nog anv{nda r}a bytes, och inte
-skicka tal i ASCII.
-----------------------------------------------------------------------
-
- 
-1990-11-11	ceder@lysator.liu.se				000047
-----------------------------------------------------------------------
-]tg{rdas av:	pen
-Program:	server
-Till version:	0.07 -	klart
-Orsak:		Blocking writes.
-----------------------------------------------------------------------
-Servern h{nger sig i flera minuter ibland, utan k{nd orsak. Efter upp
-till 10 minuter hoppar den ig}ng igen av sig sj{lv.
-----------------------------------------------------------------------
-
-
-1990-11-04	ceder@lysator.liu.se				000042
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	elisp-klienten
-Till version:	0.18.1 - klart
-----------------------------------------------------------------------
-Det finns inget "endast"-kommando i elisp-klienten.
-----------------------------------------------------------------------
-
-
-1990-10-28	ceder@lysator.liu.se				000040
-----------------------------------------------------------------------
-]tg{rdas av:	linus@lysator.liu.se
-Program:	elisp-klienten
-Till version:   0.12
-----------------------------------------------------------------------
-Subject: L{gga in en text. BUGFIX
-
-Jag k|r med
-kom-write-texts-in-other-window t
-och har retat mig p} att det alltid l{mnar 2 f|nster ({ven om jag bara
-hade ett).
-
-N{r jag skulle fixa det m{rkte jag att det den gjorde egentligen var
-ganska komplicerat och jag vill h{vda att min l|sning {r snyggare.
-Jag har i koden i detta brev markerat var skillnaderna finns.
-Kod utan markeringarna (och oindenterat) finns i
-~linus/.el/lyskom-write.el.
-
-Dessa {r min tv} funktioner att ers{tta dem i lyskom.el:
-
-  (defun lyskom-edit-text (proc misc-list subject &optional handler &rest data)
-    "Edit a text in a new buffer.
-  PROC is the associated process.
-  MISC-LIST is the default misc-list.
-  SUBJECT is subject (a string).
-  HANDLER is a function to call when the text has been created.
-  DATA is extra data to send to the function. HANDLER is called with
-	  (apply HANDLER text-no DATA)
-  where text-no is the number of the text."
-    (setq lyskom-is-writing t)
-    (lyskom-end-of-command)
-    (let
-	((buffer (generate-new-buffer
-		   (concat (buffer-name (process-buffer proc)) "-edit")))
-	 (config (current-window-configuration)))
-      (cond
-       (kom-write-texts-in-other-window
-	(switch-to-buffer-other-window buffer))
-       (t (switch-to-buffer buffer)))
-      (lyskom-edit-mode)
-      (setq lyskom-proc proc)
-      (make-local-variable 'lyskom-edit-handler)
-      (make-local-variable 'lyskom-edit-handler-data)
->     (make-local-variable 'lyskom-edit-return-to-configuration)
-      (setq lyskom-edit-handler handler)
-      (setq lyskom-edit-handler-data data)
->     (setq lyskom-edit-return-to-configuration config)
-      (lyskom-edit-insert-miscs misc-list subject)
-      (message "Tryck C-c C-c f|r att skicka in texten."))
-    (set-buffer (process-buffer lyskom-proc)))
-
-  (defun lyskom-create-text-handler (text-no edit-buffer)
-    "Handle an attempt to write a text."
-    (lyskom-tell-server "")
-    (cond
-     ((null text-no)
-      (lyskom-insert
-       (format "\nTexten kunde ej skapas. Felkod: %d.\n" lyskom-errno))
-      (ding)
-      (message "Texten kunde ej skapas. Felkod: %d." lyskom-errno))
-     (t
-      (lyskom-insert (format "\nText nummer %d skapad.\n" text-no))
-
-      ;; Immediately mark the text as read if kom-created-texts-are-read is set.
-
-      (cond
-       (kom-created-texts-are-read
-	(lyskom-is-read text-no)
-	(initiate-get-text-stat 'background 'lyskom-mark-as-read
-				text-no)
-	(lyskom-run 'background 'set 'lyskom-dont-change-prompt nil)))
-
-
-      (set-buffer edit-buffer)		;Need local variables.
-
->     ;; Select the old configuration.
-
->     (set-window-configuration lyskom-edit-return-to-configuration)
-
-      ;; Apply handler.
-
-      (if lyskom-edit-handler
-	  (let ((hnd lyskom-edit-handler)
-		(dta lyskom-edit-handler-data))
-	    (set-buffer (process-buffer lyskom-proc))
-	    (apply hnd text-no dta)))
-      (set-buffer (process-buffer lyskom-proc))
-
-      ;; Kill the edit-buffer.
-
-      (kill-buffer edit-buffer)))
-    (lyskom-end-of-command))
-----------------------------------------------------------------------
-
-
-1990-10-25	mattias@lysator.liu.se				000036
-----------------------------------------------------------------------
-]tg{rdas av:	???
-Program:	elispklienten och servern???
-Till version:	???
-----------------------------------------------------------------------
-Tomma texter fungerar inte s} bra.
-----------------------------------------------------------------------
-
-
-1990-10-21	ceder@lysator.liu.se				000027
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	klart sedan l{nge
-----------------------------------------------------------------------
-En person som {r raderad raderas inte helt. Man kan fortfarande skapa
-texter med personen som mottagare. De f}r ett lokalt nummer i m|tet.
-Suck. Allvarligt!
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000018
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klient
-Till version:	klart sedan l{nge
-----------------------------------------------------------------------
-Det g}r inte att l{sa i kommentarsordning. "}k" {r inte generellt.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000017
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	6	- klart
-----------------------------------------------------------------------
-Det g}r inte att markera texter. Det fattas kod i servern.
-----------------------------------------------------------------------
-
-
-1990-10-20	ceder@lysator.liu.se				000016
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	6	- klart
-----------------------------------------------------------------------
-Gamla inl{gg raderas aldrig. B|r }tg{rdas snarast!
-----------------------------------------------------------------------
-
-
-1990-10-20	ceder@lysator.liu.se				000015
-----------------------------------------------------------------------
-]tg{rdas av:	linus??
-Program:	server
-Till version:	???
-----------------------------------------------------------------------
-Asynkrona meddelanden {r inte f{rdigimplementerat.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000012
-----------------------------------------------------------------------
-]tg{rdas av:	Linus
-Program:	elisp-klient
-Till version:	0.16	- klart
-----------------------------------------------------------------------
-Elisp-klienten borde skriva ut "Kommentar till text 289 av
-<f|rfattare>". "Kommentar i text 435 av <f|rfattare>" borde skrivas
-efter texten.
-----------------------------------------------------------------------
-
-
-1990-10-20	ceder@lysator.liu.se				000011
-----------------------------------------------------------------------
-]tg{rdas av:	Inge Wallin
-Program:	elisp-klient
-Till version:	???
-----------------------------------------------------------------------
-Elisp-klienten borde skriva ut vilket kommando den h}ller p} att g|ra
-s} fort man har startat det.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000009
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	0.04	- klart
-Program:	elisp-klient
-Till version:	0.10	- klart
-Program:	libyskom.a
-Till version:	()	- klart
-----------------------------------------------------------------------
-who_is_on borde s{nda med en connection.
-----------------------------------------------------------------------
-
-
-1990-10-20	ceder@lysator.liu.se				000008
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	0.04	- klart
-Program:	elisp-klient
-Till version:	0.10	- klart
-Program:	libyskom.a
-Till version:	()	- klart
-Program:	tty-klient (}tg{rdas av Bellman)
-Till version:
-----------------------------------------------------------------------
-get_conf_stat och get_person_stat beh|ver inte flaggan 'mask' l{ngre.
-Den b|r tas bort.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Bellman@Lysator.LiU.SE				000007
-----------------------------------------------------------------------
-]tg{rdas av:	Bellman
-Program:	elisp-klient
-Till version:	0.10	- klart
-----------------------------------------------------------------------
-Elisp-klienten: N{r man h}ller p} att skriva en text, borde den
-tycka att raden "--- Skriv texten nedanf|r denna rad ---" skiljer
-tv} stycken }t.  Denna str{ng b|r f | vara en variabel, inte en
-magisk str{ng mitt inne i k{llkoden.
-----------------------------------------------------------------------
-
-
-1990-10-20	Bellman@Lysator.LiU.SE				000006
-----------------------------------------------------------------------
-]tg{rdas av:	Bellman
-Program:	elisp-klient
-Till version:	0.10	- klart
-----------------------------------------------------------------------
-Elisp-klienten: Implementera "personligt (svar)".  Borde vara
-ganska enkelt.
-----------------------------------------------------------------------
-
-
-1990-10-20	Bellman@Lysator.LiU.SE				000005
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	elisp-klient
-Till version:	klart sedan l{nge
-----------------------------------------------------------------------
-Elisp-klienten:  f|r att ange att man vill kommentera ett annat
-inl{gg {n det man nyss l{st, anger man inl{ggsnumret som argument
-med C-u till k.  Dvs n}got s}nt h{r:
-	(defun kom-write-comment (&optional arg)
-	   (interactive "P")
-	   (let ((text-to-comment (and arg lyskom-current-text)))
-		...))
-eller vad variablerna nu heter.
-----------------------------------------------------------------------
-
-
-1990-10-19	ingwa@isy.liu.se				000003
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	elisp-klient
-Till version:   0.11	- klart
-----------------------------------------------------------------------
-Elisp-klienten b|r byta prompt n{r man st}r och v{ntar, fr}n
-"(Se) tiden" till "(G} till) n{sta m|te"
-----------------------------------------------------------------------
-
-
-1990-10-19	Tommy Persson @ LysKOM				000002
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	elisp-klient
-Till version:	0.10 - klart
-----------------------------------------------------------------------
-703 1990-10-19 11:00  /20 rader/ Tommy Persson
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <41>
-[rende: ]terse kommenterad
---------------------------------------------------------
-
-H{r kommer ett }terse kommenterat kommando:
-
-(defun kom-view-commented-text ()
-  (interactive)
-  (let ((text-no nil))
-    (save-excursion
-      (re-search-backward "/.*rader/" nil t)
-      (if (search-forward "Kommentar till text" nil t)
-	  (setq text-no (read
-			 (buffer-substring (point)
-					   (save-excursion
-					     (forward-word 1)
-					     (point)))))))
-    (if text-no
-	(progn
-	  (lyskom-start-of-command)
-	  (lyskom-insert (format "]terse text nummer %d.\n" text-no))
-	  (lyskom-view-text text-no)))))
-
-(703) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-1990-10-18	Aronsson@Lysator.LiU.SE				000001
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	server
-Till version:	0.04	- klart
-Orsak:		Aronsson var inloggad p} flera sessioner. N{r han
-		raderade sig sj{lv skulle han ha blivit utloggad fr}n
-		alla sessioner.
-----------------------------------------------------------------------
-Jag k|rde r} telnet. Skrev kommandot 11 11 (delete-conf) 8 (Lars
-Aronsson). Detta var i o.f.s. ett misstag, jag hade t{nkt g|ra 13
-(get-conf-stat). Men f|ljden blev att hela servern kraschade.
-----------------------------------------------------------------------
diff --git a/doc/Bugrapporter b/doc/Bugrapporter
deleted file mode 100644
index 960231c2e..000000000
--- a/doc/Bugrapporter
+++ /dev/null
@@ -1,740 +0,0 @@
-Filen inneh}ller bugrapporter, ideer och andra f|rslag till
-f|rb{ttringar p} LysKOM och dess ing}ende program. L{gg nya buggar
-f|rst i filen.  En mall f|r en buggrapport kan s{ttas in med C-x g m.
-
-
-1991-09-02	rjan@Lysator.LiU.Se				000073
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server, klienter
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-L}t f|rfattaren av en text addera andras texter som fotn|tter.
-ceder says: bra ide.
-----------------------------------------------------------------------
-
-
-1991-03-03	ceder@lysator.liu.se				000072
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-isc_getnextevent borde anv{nda ett write-set i select(). Som det {r nu
-kan en klient f} v{nta 2 sekunder p} data.
-----------------------------------------------------------------------
-
-1991-02-28	Bellman@Lysator.LiU.Se				000071
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klient
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-Version 0.28.  Ibland f}r man prompten "L{sa n{sta text", trots att
-man borde f}tt "G} till n{sta m|te" f|ljt av "L{sa n{sta text".
-----------------------------------------------------------------------
-
-
-1991-02-05	linus@Lysator.LiU.SE				000067
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elispklienten och emacs 18.56
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-O{ndlig loop n}gonstans n{r filterfunktionerna anv{nds f}r Emacs 18.56
-att h{nga sig h}rt. (G}r ej att bryta med C-G utan forts{tter att k|ra
-n{r jag svara jag p} fr}gan continuing?
-
-Jag har m{rkt det n{r 
-- Jag skapade ett nytt m|te (fick inte skriva presentation f|r den
-  h{ngde sig innan.)
-- N{r jag skrev ett inl{gg och var i en annan buffert innan den fick
-  svar.
-----------------------------------------------------------------------
-
-1991-02-01	ceder@Lysator.LiU.SE				000066
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-Det finns ingen gr{ns p} hur mycket man kan lagra i en utk| i
-isc-rutinerna.
-----------------------------------------------------------------------
-
-
-1991-01-10	Bellman@Lysator.LiU.SE				000065
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-----------------------------------------------------------------------
-Info-strukturen b|r {ven inneh}lla hur l{nge servern varit uppe, och
-annat sm}tt och gott som kan vara kul att veta.
-----------------------------------------------------------------------
-
-
-
-1991-01-03	ceder@Lysator.LiU.SE				000063
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	servern? speciell demon?
-Till version:	
-Orsak:		Kultv{rde.
-----------------------------------------------------------------------
-Det kunde vara skoj att kunna g|ra "finger @lyskom.lysator.liu.se" och
-f} n}got i stil med:
-
-@finger @lyskom.lysator.liu.se
-
- Wed  2-Jan-91 15:27:08  Up 718:34:00
- 3+2 Jobs   Load av   0.20   0.07   0.00
-
- No LysKOM administrator in attendance
-
- Job  Line Activity  User               Where
-  22    p1  Reading  ceder              LysKOM internals
-  23    p2  Waiting  noppe              Inl{gg }t mig
-  24    p3  Reading  pell               Hackers (@) Nanny
-
-   1   172  LDB      OPERATOR
-   2   173  KOMSTAT  Statistikid f|r statistikinsamling
-
-(Pell Pell Pell kom med den exakta utformningen).
-----------------------------------------------------------------------
-
-
-1990-12-13	Linus@Lysator.LiU.SE				000061
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klienten
-Till version:	
-Orsak:		Emacs g|r inte uppdatering av minibufferten efter
-		sit-for tiden n{r den skrivit i message-arean.
-----------------------------------------------------------------------
-Asynkrona meddelanden skriver |ver minibufferten n{r man {r i den.
-Borde kunna stoppas n{r man h}ller p} i den bufferten.
------- fotnot av ceder: -----
-Det {r kanske b{ttre att l}ta klienten l{sa i den vanliga bufferten i
-st{llet f|r i minibufferten. Nackdelen {r att det kanske blir sv}rt
-att fixa completion.
-----------------------------------------------------------------------
-
-
-1990-12-13	Linus@Lysator.LiU.SE				000060
-----------------------------------------------------------------------
-]tg{rdas av:	Inge Wallin,  ISY
-Program:	elisp-klienten
-Till version:	0.18.5
-Orsak:		] k {r en v{ldigt enkel funktion.
-----------------------------------------------------------------------
-} k borde g|ra }terse det kommenterade, samt alla inl{gg som detta
-inl{gg {r fotnot till.
-----------------------------------------------------------------------
-
-1990-12-10	ceder@lysator.liu.se				000059
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	alla
-Till version:	
-----------------------------------------------------------------------
-Det borde finnas ett s{tt att markera en region av en text.
-----------------------------------------------------------------------
-
-1990-11-23	ceder@lysator.liu.se				000055
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	servern
-Till version:	
-----------------------------------------------------------------------
-Det b|r finnas en gr{ns p} hur m}nga inl{gg man f}r markera som l{sta
-i ett m|te, f|r att f|rhinda att n}gon f}r en alltf|r stor lista.
-Denna bugg har l}g prioritet.
---
-Fotnot (1991-01-24): N{r Inges paket f|r Numlist {r klart kommer det
-h{r inte att spela n}gon roll. Denna bugg kr{ver ingen annan }tg{rd.
-----------------------------------------------------------------------
-
-1990-11-14	ceder@lysator.liu.se				000053
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	server
-Till version:	
-----------------------------------------------------------------------
-Difftime anv{nds inte alltid n{r den borde anv{ndas. Det finns st{llen
-d{r '-' anv{nds f|r att f} fram en diff i sekunder.
-----------------------------------------------------------------------
-
-
-1990-11-14	ceder@lysator.liu.se				000052
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	server
-Till version:	
-----------------------------------------------------------------------
-cached_get_garb_nice har ingenstans att h{mta garb_nice fr}n. Den
-cacheas inte. I ramkomd {r det ju inget problem...
-----------------------------------------------------------------------
-
-
-1990-11-11	ceder@lysator.liu.se				000048
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	server eller elisp-klient
-Till version:
-----------------------------------------------------------------------
-N{r servern g}r ner kan det h{nda att man f}r l{sa om texter som man
-har skrivit sj{lv under den sista sessionen. Det tyder p} en bugg -
-sparas inte det ordentligt? Eller {r det klienten som g|r fel? Texten
-markeras ju som l{st s} fort man skapar den. Eftersom texten har
-hunnit sparas p} disk s} borde info om att man har l{st dom ocks} vara
-sparat...
-----------------------------------------------------------------------
-
-
-1990-11-11	pen@lysator.liu.se				000047
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-client
-Till version:
-----------------------------------------------------------------------
-Asyncrona meddelanden kan komma "f|r tidigt" och f|rst|ra. Om en text
-skapas under inloggningssekvensen kan det h{nda att man f}r l{sa den
-tv} g}nger.
-----------------------------------------------------------------------
-
-
-1990-11-11	bellman@lysator.liu.se				000046
-----------------------------------------------------------------------
-]tg{rdas av:	Linus Tolke Y
-Program:	elisp-client
-Till version:	0.27
-Orsak:		Macrot lyskom-traverse tilldelade elementet det
-		snurrade med.
-----------------------------------------------------------------------
-Om 3 {r en fotnot till text 2 som {r en kommentar till text 1 s} f}r
-man l{sa dom i ordning 1, 3, 2, fast det ju borde vara 1, 2, 3.
-----------------------------------------------------------------------
-
-
-
-1990-11-04	ceder@lysator.liu.se				000045
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	servern
-Till version:
-----------------------------------------------------------------------
-Servern censurerar inte de asyncrona meddelandena tillr{ckligt. Bl a 
-s} talar den om n{r man g}r till ett skyddat m|te. (tror jag)
-----------------------------------------------------------------------
-
-
-1990-11-04	ceder@lysator.liu.se				000044
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klienten
-Till version:
-----------------------------------------------------------------------
-N{r man ska ange siffra i en minibuffert s} kommer den ibland till fel 
-buffert. Det finns {ven andra mystiska fel vad g{ller val av buffert. 
-Man f}r till exempel inte byta buffert n{r man h}ller p} att l{gga in 
-en text.
-----------------------------------------------------------------------
-
-
-1990-11-04	ceder@lysator.liu.se				000043
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klienten
-Till version:
-----------------------------------------------------------------------
-Fel syntaxtabell n{r man skriver inl{gg.
----------
-Linus: Delvis avhj{lp av att man from version 0.12 kan v{lja vilken
-mode som klienten anv{nder sig av innan den s{tter de speciella
-lyskom-editflaggorna (lyskom-edit-mode-mode-hook).
-----------------------------------------------------------------------
-
-
-1990-10-31	ceder@lysator.liu.se				000041
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klienten
-Till version:
-----------------------------------------------------------------------
-N{r man har skrivit en text byter klienten ut current buffert mot
-LysKOM, och inte Lyskom-edit-bufferten.
-kom-write-texts-in-other-window {r nil.
-----------
-Sedan version 0.12 s} kommer bufferten ih}g vilken
-`window-configuration' som g{llde innan man startade editeringen av
-texten. 
-----------------------------------------------------------------------
-
-
-1990-10-28	ceder@lysator.liu.se				000039
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klienten
-Till version:
-----------------------------------------------------------------------
-Om man har kom-write-texts-in-other-window t s} kommer det inte n}gon
-ny prompt n{r man skickar in texten.
-----------------------------------------------------------------------
-
-
-1990-10-28	Aronsson@Lysator.LiU.SE				000038
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klienten
-Till version:
-----------------------------------------------------------------------
-1641 1990-10-28 01:14  /9 rader/ Lars Aronsson
-Kommentar till text 1612
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <105>
-[rende: Version 0.11b
---------------------------------------------------------
-En ide {r denna: S} l{nge allt g}r bra k|r man Remote Procedure Calls
-mot servern: Man skickar en fr}ga och inv{ntar ett svar. Hela tiden
-k|r man med ett och samma fr}ge-ID (det d{r f|rsta numret). Det kan
-man g|ra eftersom man ju inv{ntar svaret innan man skickar n{sta
-fr}ga. N{r sedan anv{ndaren trycker R, s} |kar man fr}ge-ID med ett
-och l{gger sig i topp-loopen. Nu skickar man en ny fr}ga (med nya
-fr}ge-ID och som resultat av ett nytt kommando). Om det uteblivna
-svaret p} en gammal fr}ga (f|re R) dyker upp, s} har det fel fr}ge-ID
-och man ignorerar det (men l{ser bort hela - man vet ju datatypen).
-(1641) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-25	ceder@lysator.liu.se				000037
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klienten
-Till version:
-----------------------------------------------------------------------
-Det finns }tskilliga st{llen d{r det inte kontrolleras att man inte
-f|rs|ker g|ra n}got med en *-stat som {r nil.
-----------------------------------------------------------------------
-
-
-1990-10-22	pell@isy.liu.se					000035
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-1371 1990-10-23 20:50  /3 rader/ Pell Pell Pell
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <82>
-[rende: V{nta
---------------------------------------------------------
-N{r man ligger i V{nta- och har kom i en icke-visad buffert och det kommer
-ett nytt inl{gg, s} s{tts point till n}gon slumpvis plats i bufferten s}
-att man alltid f}r b|rja med M-> innan man kan l{sa det nya inl{gget...  /PPP
-(1371) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-22	linus@Lysator.LiU.SE				000034
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-1383 1990-10-23 23:03  /16 rader/ Linus Tolke Y
-Mottagare: MUD (erfarenhetsutbyte) <2>
-[rende: Mitt hack f|r att fixa s} att alla kan se vilket inl{gg jag kommenterar.
---------------------------------------------------------
-(defun lyskom-write-comment (text-stat subject)
-  "Write a comment to the text associated with TEXT-STAT."
-  (lyskom-start-of-command)
-  (cond
-   ((null text-stat)
-    (lyskom-insert "Jag f|rst}r inte vilken text du vill kommentera.")
-    (lyskom-end-of-command))
-   (t
-    (lyskom-tell-server
-     (concat "Skriver kommentar till inl{gg "
-	     (text-stat->text-no text-stat)
-	     "."))
-    (lyskom-edit-text lyskom-proc
-		      (lyskom-comment-recipients text-stat)
-		      subject))))
-
-(1383) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-22	Flera olika					000033
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	Allm{nna funderingar
-Till version:   B
-----------------------------------------------------------------------
-1385 1990-10-23 23:07  /21 rader/ Lars Aronsson
-Kommentar till text 1369
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <83>
-[rende: Lagringsformat p} texter
---------------------------------------------------------
-Ni har gjort en del antaganden "servern bryr sig inte om...", vilket
-s{kert l}ter riktigt i era |ron. Visst skall det vara s}, visst skall
-servern klara att lagra nulltecken och annat. Men det finns flera
-niv}er i en server. Lite h|gre upp {n den rena lagringen kommer
-tillhandah}llandet av tj{nsten att lagra meddelanden mellan m{nniskor.
-
-Det {r visserligen inte n|dv{ndigt att samma personer tillhandah}ller
-tj{nsten som har skrivit programmet, om n}gon tar upp en LysKOM server
-p} KTH f|r att |verf|ra bin{ra Commodore 64 program, s}
-tillhandah}ller de ju en annan tj{nst {n den p} Laila LysKOM. Men jag
-tror att det blir mest praktiskt om ni programmerare har hand {ven om
-tj{nsten h{r p} Laila.
-
-[ven om deltagarna i Laila LysKOM har olika utrustning, s} m}ste ett
-meddelande kunna n} alla och d} m}ste det finnas regler f|r hur det
-lagrade skall tolkas. Som nu debatten om ISO 8859 (8 bitar) eller ISO
-646 (7 bitar).  Om jag vill skicka ett meddelande till andra m{niskor,
-vill jag ju vara s{ker p} att det lagras s} att de kan l{sa det. Om
-jag vill lagra bokstaven Q s} m}ste ni best{mma vad jag skall skicka.
-Det enklaste s{ttet {r att h{nvisa till en standard. Det ligger b{st i
-tiden (ni skriver ju i moderna ANSI-C) att d} v{lja ISO 8859-1.
-(1385) -----------------------------------------------------
-
-Kommentar till text 1369
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <84>
-Kommentar i text 1394
-Kommentar i text 1413
-[rende: Lagringsformat p} texter
---------------------------------------------------------
-Man skulle kunna lagra in info-byte f|r varje text som talar om vilken
-teckenupps{ttning texten {r skriven i. (0 = SW-ASCII, 1 = US-ASCII,
-2 = ISO n}nting), som klienten sedan f}r med varje text. Eller?
-
-(1391) -----------------------------------------------------
-
-1413 1990-10-24 01:55  /4 rader/ Lars Aronsson
-Kommentar till text 1391
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <86>
-Kommentar i text 1414
-[rende: Lagringsformat p} texter
---------------------------------------------------------
-Nej, pen, det {r f|r jobbigt. Klienten blir f|r stor. B{ttre att
-"protokoll B" betyder 7-bit svensk ISO 646 och "protokoll A" betyder
-8-bit ISO 8859-1, men att alla texter lagras i ISO 8859-1.
-Men jag ser inget behov av att k|ra annat {n ISO 8859-1 rakt |ver.
-(1413) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-1990-10-22	pell@isy.liu.se					000032
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-1232 1990-10-22 13:16  /3 rader/ Pell Pell Pell
-Kommentar till text 1168
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <72>
-[rende: Avbrott: hur ska det fungera?
---------------------------------------------------------
-H|gt nummer h|g prioritet! D} har jag fel prioritet p} alla mina m|ten...
-Fast oftast orkade jag inte fundera p} det n{r jag fick fr}gan. Sn{lla
-ceder, g|r defaultsvar till de b}da fr}gorna om prioritet och placering. /PPP
-(1232) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-22	Mange Nilsson @ LysKOM				000031
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-1189 1990-10-22 09:24  /11 rader/ Mange Nilsson (hmd)
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <69>
-[rende: Vad h{nder?
---------------------------------------------------------
-Med j{mna mellanrum nu under morgonen s} har jag f}tt:
-	Symbol's function definition is void: nil
-efter att jag l{st en text. N{r man sen trycker p} RETURN s} kommer:
-	lyskom-format-object: no support for object
-Fixas visserligen snabbt med ett kom-recover, men n}t fel {r det...
-
-H-Maneg
-(1189) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-22	Mattias@Lysator.LiU.SE				000030
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	Elisp-klient
-Till version:
-----------------------------------------------------------------------
-1162 1990-10-22 02:55  /3 rader/ Mattias Olofsson
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <64>
-Kommentar i text 1178
-[rende: Bug?
---------------------------------------------------------
- Om man skickar en tom str{ng (0H r}tt) som text i ett inl{gg s}
-skrivs 'Det finns ingen s}dan text.' ut p} {renderaden i
-elispklienten. Ska det vara s}?			/mo
-(1162) -----------------------------------------------------
-
-1178 1990-10-22 06:13  /2 rader/ Mattias Olofsson
-Kommentar till text 1162
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <68>
-[rende: Bug?
---------------------------------------------------------
- Dessutom markeras inte brevet som l{st, jag f}r l{sa det varje
-g}ng jag startar elispklienten.			/mo
-(1178) -----------------------------------------------------
-
-1314 1990-10-23 04:38  /2 rader/ Mattias Olofsson
-Kommentar till text 1178
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <75>
-[rende: Bug?
---------------------------------------------------------
- ...dessutom f}r jag l{sa det varje g}ng jag har g}tt med i ett nytt
-m|te. 						/mo
-(1314) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-22	ingwa@isy.liu.se				000029
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	Elisp-klient
-Till version:
-----------------------------------------------------------------------
-1167 1990-10-22 03:59  /4 rader/ Inge Wallin
-Mottagare: LysKOM Elisp-klient; buggar, nyheter och annat. <66>
-[rende: Tr}kig sak
---------------------------------------------------------
-Om man har haft en emacs stoppad l{nge med lyskom ig}ng s} f}r man
-"text n skapad!" d{r olika n kan vara ganska m}nga. Klienten borde
-inte skriva ut mer {n en "text n skapad!" n{r man v{ntar.
-
-(1167) -----------------------------------------------------
-----------------------------------------------------------------------
-
-
-
-1990-10-21	Bellman@Lysator.LiU.SE				000028
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	Elisp-klient
-Till version:
-----------------------------------------------------------------------
-Om man ger anger en text som inte finns till "k" eller "p", f}r
-man till svar "Wrong type argument: cons, nil".  Inte s} snyggt.
-----------------------------------------------------------------------
-
-
-
-1990-10-21	ceder@lysator.liu.se				000026
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-M|ten med h|g prioritet avbryter inte m|ten med l}g prioritet i elisp-
-klienten.
-----------------------------------------------------------------------
-
-
-
-1990-10-21	ceder@lysator.liu.se				000025
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-Klienten h{mtar samma m|tesstatus flera g}nger i rad i bland.
-L|sning: en lista som h}ller reda p} vilka conf-stats man fr}gat efter
-utan att f} svar. Om den finns p} listan s} k|r man en (lyskom-run
-'cache-get-conf-stat conf-no) i st{llet f|r att fr}ga servern.
-----------------------------------------------------------------------
-
-
-
-1990-10-21	ceder@lysator.liu.se				000024
-----------------------------------------------------------------------
-]tg{rdas av:	ceder
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-Prefetchningen funkar inte s} bra ihop med kommentarl{sningen. Det g}r
-att g|ra b{ttre. Conf-stat f|r f|rfattare o. dy. borde prefetchas.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Aronsson@Lysator.LiU.SE				000023
-----------------------------------------------------------------------
-]tg{rdas av:	 
-Program:	Protokollspec (+alla program)
-Till version:	B
-----------------------------------------------------------------------
-En del prylar i protokoll A g|r att det {r sv}rt att effektivt tolka
-det som trillar in |ver linan. T.ex. kan man inte avg|ra om det {r en
-INTEGER, en HOLLERITH eller en ARRAY som kommer utan att titta framf|r
-sig. F|resl}s att HOLLERITH anges H4Htext samt att antal-element och
-"{" byter plats f|r ARRAY.
-
-Typen BITSTRING borde kunna ers{ttas med en INTEGER d{r bitarna kodas
-+1, +2, +4, +8, ... S} som den h{r get_xyz_stat-masken fungerade.
-Nackdel: Sv}rare att handkoda bitstr{ngar, men skall vi vara s}
-beroende av handkodning?
-
-Om jag med protokoll A vill veta vem som organiserar ett m|te, m}ste
-jag best{lla hela get-conf-stat. Troligen har min klient en generell
-rutin som mappar till protokollelementen och jag lagrar (l{s:
-mallocerar) d{rf|r hela datastrukturen som kommer i svaret. Det kunde
-vara beh{ndigt med fler, sm} funktioner som i princip returnerade ett
-v{rde var.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Aronsson@Lysator.LiU.SE				000022
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	Protokollspec (+alla program)
-Till version:	A++
-----------------------------------------------------------------------
-add-recipient-params: conference och type borde byta plats och d{rmed
-bli en Misc-Info.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Aronsson@Lysator.LiU.SE				000021
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	Protokollspec (+alla program)
-Till version:	A++
-----------------------------------------------------------------------
-Conf-List borde vara en ARRAY { Conf-No; Conf-Type }. Inte den hybrid
-den {r idag. Se anm{rkning i protokollspecen.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Aronsson@Lysator.LiU.SE				000021
-----------------------------------------------------------------------
-]tg{rdas av:	
-----------------------------------------------------------------------
-Mattias Olofsson hj{lper mig korrigera specen av protokoll A. Han b|r
-bli medlem i gruppen kom.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Aronsson@Lysator.LiU.SE				000020
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	Protokollspec (+alla program)
-Till version:	A++
-----------------------------------------------------------------------
-Bak}tkompatibilitet {r viktigt. Det finns redan en klient p} Chalmers
-och en p} IDA, kanske en p} ISY. Att {ndra syntax p} protokoll A kan
-skapa problem. B{ttre i s} fall att skapa nya funktioner (med h|gre
-anropsnummer) som ers{tter de gamla och l}ta servern klara {ven de
-gamla. T.ex. masken "255" skadar ju inte, den tar inte mycket plats.
-Men om den {ndras och Johan Andersson Chalmers m}ste FTP:a en ny
-klient, s} kanske han tr|ttnar helt.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000019
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klient
-Till version:	
-----------------------------------------------------------------------
-Klienten fr}gar aldrig efter server-info.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000014
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	server
-Till version:	
-----------------------------------------------------------------------
-Fixa s{kerhetsbuggen vid read_texts et c. Det b|r vara s} att man inte
-f}r veta mappningen s} ofta som nu. Vilka texter som {r l{sta b|r
-ocks} vara mer hemligt. Ett nytt anrop, query_unread(), b|r inf|ras.
-Resultatet {r antalet ol{sat brev och _kanske_ Local_text_no f|r det
-h|gsta nummret. 
-
-(Det var l{nge sen jag skrev det h{r, och jag minns inte riktigt vad
-jag menar, men man borde nog titta p} det h{r s} sm}ningom).
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000013
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klient
-Till version:	
-----------------------------------------------------------------------
-Det borde finnas ett s{tt att uttr{da och om-prioritera sina m|ten.
-Till exempel en ny mode i ett eget f|nster, typ dired.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	ceder@lysator.liu.se				000010
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	elisp-klient
-Till version:	
-----------------------------------------------------------------------
-Elisp-klienten borde inte scrolla s} mycket n{r man k|r fr}n en
-l}ngsam terminal.
-----------------------------------------------------------------------
-
-
-
-1990-10-20	Bellman@Lysator.LiU.SE				000004
-----------------------------------------------------------------------
-]tg{rdas av:
-Program:	elisp-klient
-Till version:
-----------------------------------------------------------------------
-Kommano f|r att spara en text p} fil i elisp-klienten vore
-l{mpligt.  Om man ger ett numeriskt argument, ska man spara det
-inl{gget, annars det senast visade.
-----------------------------------------------------------------------
-
-
-
-
-Local Variables:
-mode:swedish
-eval:(auto-fill-mode 1)
-eval:(set-register ?m "1991-03---	user@Lysator.LiU.Se				0000--
-----------------------------------------------------------------------
-]tg{rdas av:	
-Program:	
-Till version:	
-Orsak:		
-----------------------------------------------------------------------
-----------------------------------------------------------------------
-")
-End:
diff --git a/doc/IDEAS b/doc/IDEAS
index 977ccc621..bc9f59d8f 100644
--- a/doc/IDEAS
+++ b/doc/IDEAS
@@ -1,3 +1,9 @@
+* Open Secret Conferences (mirar)
+
+  It would be nice to be able to set permissions on a conference so
+  that it is considered open to all with write permissions and closed
+  or secret to all others.
+
 * Better Text Garbing (nisse@lysator.liu.se)
 
   Keep texts that have comments newer than N days, where N is a
diff --git a/doc/LOGG b/doc/LOGG
deleted file mode 100644
index 7f181f3f4..000000000
--- a/doc/LOGG
+++ /dev/null
@@ -1,77 +0,0 @@
-Det SIST SKRIVNA hamnar F\RST I FILEN /Aronsson.
-
-Loggfil d{r man skriver vad man g|r. Det {r b{ttre att du skriver lite
-{n inte alls (mest riktat till mig sj{lv...). /lw 900402
-----------------------------------------------------------------------
-
-3 juni 1991		Aronsson
-
-Uppdaterat prot-A.txt och i denna inkluderat prot-A.bnf. Satt
-prot-A.bnf till att vara en symbolisk l{nk till txt-filen.
-
-
-14 oktober 1990		Aronsson was here
-
-Lagt hit nedanst}ende filer. Originalen beh}ller jag hemma hos mig.
-	prot-A.txt	Spec protokoll A. Textdelen. Svensk font.
-	prot-A.bnf	Spec protokoll A. Koddelen. Engelsk font.
-	version		Hantering av {ndringsf|rslag och versioner.
-
-1990-04-17 /ceder
-
-Tog bort den felaktiga definitionen av typen Connection ur kom-types.h. Den
-riktiga finns i server/server.h.
-
-Flyttade definitioner av Persons, Marks, String och Map till kom-types.h.
-
-B|rjade anv{nda M-X Add-change-log-entry i st{llet.
-
-900407 /lw
-
-Det h{r {r c. Allts} b|r active_connection vara en pekare! (har {ndrat)
-
-Flyttade smalloc ("s{ker" malloc) till cache.c.
-
-Nu sparar ldb.c {ven texts-f{ltet i person-structen...
-
-
-1990-04-04 /ceder
-
-[ndrade i Person-structen: Tog bort created_texts. La till
-first_text, last_text och texts (en lista med globala textnummer de globala
-textnummer som personen har skapat.)
-
-active_connection (server.h) {r index i arrayen connections (connections.c).
-
-Skapade filen doc/security-levels.txt d{r det anges vad de olika priv-bitarna 
-inneb{r.
-
-900404 /lw
-
-[ndrade ldb:s felhantering. Nu finns den! Fortfarande inte speciellt
-snygg, men n}got b{ttre {n tidigare. Returnerar intern felkod i
-ldb_errno och filhandtag till felande filen i ldb_errfileno.
-
-
-
-1990-04-02 /ceder
-
-Fr}n och med nu anv{nder vi ISO-standard f|r datum. (:-)
-
-kom-types.h: Tog bort flags och lade till user_area i Person-structen.
-
-900402 /lw
-Vi flyttade om filerna. Under ldb ligger nu i princip endast ldb.c och
-ldb.h. Under client ligger de filer som {r specifika f|r klienten och
-under server ligger de server-specifika filerna. doc-directoryt
-inneh}ller dokumentationen f|r det vi h}ller p} med.
-
-Direkt under 2kom ligger f|r n{rvarande allt som {r gemensamt f|r
-s}v{l klient som server. Det {r types.h och kom-types.h (varf|r {r det
-uppdelat i tv} filer?) samt services.h som tidigare hette atomic.h.
-
-Jag har f|rresten tagit bort parametern connection som alla funktioner
-i atomic.h hade. Fr}n klientens synvinkel finns inte den parametern
-och det verkar f}nigt att ha den i servern. Om man har samma parameter
-till samtliga funktioner tycker jag det {r ganska vettigt att i
-st{llet anv{nda en global variabel.
diff --git a/doc/Mailinglist b/doc/Mailinglist
deleted file mode 100644
index b23018269..000000000
--- a/doc/Mailinglist
+++ /dev/null
@@ -1,13 +0,0 @@
-uda@ida.liu.se
-anders@lage.lysator.liu.se
-tpe@ida.liu.se
-kjell@saturn.ucsc.edu
-jsk@lysator.liu.se
-pell@lysator.liu.se
-rolff@komunity.se
-nixon@lysator.liu.se
-riw@lysator.liu.se
-magnus_k@lysator.liu.se
-SLARTIBARTFAST@eLinor.lysator.liu.se
-ingwa@isy.liu.se
-Per_Cederqvist@f114.n204.z2.pclink.se
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 2f0598294..474c3050a 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,4 +1,4 @@
-# $Id: Makefile.am,v 1.12 1999/04/28 22:05:31 ceder Exp $
+# $Id: Makefile.am,v 1.13 1999/05/21 11:31:50 byers Exp $
 # Copyright (C) 1998  Lysator Academic Computer Association.
 #
 # This file is part of the LysKOM server.
@@ -24,25 +24,13 @@
 
 SUBDIRS = man
 
-info_TEXINFOS = Protocol-A.texi lyskomd.texi dbck.texi lyskomdb.texi \
-	hacking.texi
+info_TEXINFOS = Protocol-A.texi lyskomd.texi 
 
 EXTRA_DIST = ADMINISTRATION misc_items	\
-	server-async.extend server.extend what-is-unread.swe 	\
-	server-config.extend .cvsignore \
-	Buggar.fixade \
-	Bugrapporter \
-	LOGG \
+	 .cvsignore \
 	IDEAS \
-	aux-info.doc \
-	clients.assigned \
 	cmsltt12.mf \
-	dbck.latexinfo \
-	disc-cache.spec \
-	local-to-global.doc \
-	lyskomd-database-format \
-	prot-A-english.txt \
-	security-levels.txt
+	local-to-global.doc
 
 # Automake tries to generate this rule automatically, but it fails
 # because of the capital letters in the file name of the source file.
diff --git a/doc/Protocol-A.texi b/doc/Protocol-A.texi
index c9b9eb271..ae49c3620 100644
--- a/doc/Protocol-A.texi
+++ b/doc/Protocol-A.texi
@@ -2,7 +2,7 @@
 @c
 @c FIXME: Explain how the garb works with nice and keep-commented
 @c
-@c $Id: Protocol-A.texi,v 1.64 1999/05/18 13:06:18 byers Exp $
+@c $Id: Protocol-A.texi,v 1.65 1999/05/21 11:31:51 byers Exp $
 @c %**start of header
 @setfilename protocol-a.info
 @settitle LysKOM Protocol A
@@ -5985,6 +5985,19 @@ information sent in this call is made available to other sessions
 through the @pxref{get-client-name} and @pxref{get-client-version}
 calls. This call should be used exactly once per session.
 
+The following names are currently reserved for clients:
+
+@multitable @columnfractions .3 .7
+@item elisp-client     @tab     The famous CPU hog.
+@item nilkom           @tab     C++ experiment
+@item tkom             @tab     C++ experiment
+@item getmail          @tab     Postmaster
+@item ttykom           @tab     The one and second tty client by Linus
+@item WinKOM           @tab     Windows client
+@item JySKom           @tab     JSK Web Client
+@end multitable
+
+
 @example
         1 56
         @t{=1 7}
diff --git a/doc/README b/doc/README
deleted file mode 100644
index f761ca78a..000000000
--- a/doc/README
+++ /dev/null
@@ -1,79 +0,0 @@
-Detta directory inneh}ller dokumentation om lyskom-projektet
-
-All utveckling av filer i detta bibliotek g|rs p} LLL. [ndra inga
-filer p} Nanny. Kopiera filerna till Nanny med hj{lp av rdist.
-
-OBS!! Om ni l{gger till en ny dokumentationsfil, tar bort n}gon eller
-      kombinerar tv} eller flera, {ndra d} {ven i den h{r filen!!
-
-
-F|ljande dokumentation finns i detta directory (30 april 1991):
-
-LOGG	En loggfil som beskriver aktiviteten under tidiga delar av
-	projektet. Mest av nostalgiskt intresse och n{r vi n}gon g}ng
-	skall dokumentera hur vi gjorde't.
-
-README	Denna fil.
-
-dbck.latexinfo
-	Beskriver dbck, programmet som kontrollerar och kompakterar en
-	lyskom-databas. 
-
-elisp-client.internals
-	Beskriver ing}ende hur elispklienten fungerar internt. L}ngt
-	ifr}n klar.
-
-elisp-client.user-manual
-	Beskriver alla aspekter av hur man anv{nder elispklienten.
-
-fileformat
-	Beskriver filformatet f|r lyskom-databasen. Inaktuell sedan
-	l{nge.  Den h{r filen beh|ver skrivas om.
-
-ideer/	Directory som inneh}ller filer med ideer om framtida finesser.
-	Endast dokumentation om saker som faktiskt {r implementerade
-	f}r placeras direkt under 2kom/doc. Ideer skall l{ggas i det
-	h{r directoryt.
-
-mall-swe.latexinfo
-	H{r {r en mall som kan anv{ndas f|r alla latexinfo-filer
-	skrivna p} svenska.
-
-mall.latexinfo
-	Samma som ovan, fast p} engelska.
-
-misc_items
-	Beskriver vad som kan ing} i en lista av misc-info
-	(i servern?).
-
-mux.proto
-	Beskriver protokollet mux <-> server.
-
-prot-A.bnf
-	Aronssons ov{rderliga dokument som inneh}ller en formell
-	beskrivning av protokoll A.
-
-prot-A.slightly-obsolete
-	Beskriver bl.a uppkopplingsf|rfarande och liknande.
-
-prot-A.txt
-	Beskriver datatyper och liknande i protokollet.
-
-Fotnot: De tre ovanst}ende filerna borde kunna kombineras till en och
-	speciellt s} borde de g|ras aktuella.
-
-security-levels.txt
-	Beskriver vad olika privilegiebitar betyder i protokoll A, dvs
-	semantiken. Ingen syntax beskrivs h{r.
-
-server-async.extend
-	Beskriver hur man l{gger till ett nytt asynkront meddelande i
-	servern. 
-
-server.extend
-	Beskriver hur man l{gger till ett nytt anrop i servern (och i
-	protokoll A).
-
-skeleton.doc
-	En mall som kan anv{ndas f|r att skriva en ny dokumentation i
-	vanligt textformat.
diff --git a/doc/aux-info.doc b/doc/aux-info.doc
deleted file mode 100644
index 3bb003aba..000000000
--- a/doc/aux-info.doc
+++ /dev/null
@@ -1,82 +0,0 @@
-1. Adding new predefined aux items
-
-New items are added to the file run-support/aux-items.conf, unless
-they need to be compiled into the server, in which case they need to
-be added to compiled_aux_item_definitions in src/server/aux-items.c
-
-Remember to document all predefined aux items in doc/Protocol-A.texi.
-
-
-
-2. aux-items.conf
-
-Each entry in this file has the following format:
-
-    tag : name ( target, target, ... )
-    {
-        field   =   value;
-        field   =   value;
-        ...
-    }
-
-Tag is an integer, the aux-item's tag. The last definition of a tag
-overrides all previous definitions of that tag. Each target is one of
-`server', `text', `conference', `letterbox' or `any�, and defines
-which kind of object the item can be attached to. If `server' is
-listed, items with this tag can be attached to the server
-information. If `text' is listed, items with this tag can be attached
-to texts; if `conference' is listed, they can be attached to
-conferences that are not letterboxes; if `letterbox' is listed, but
-`conference' is not, they can be attached to letterbox
-conferences. The special target `any' specifies that the item can be
-attached to any kind of object in the database (it is equivalent to
-`server,conference,text,letterbox'.) Field is an identifier (see
-below). Value is a boolean constant (`true', `false', `yes', `no',
-`on' or `off'); an integer; or a string enclosed in double quotes
-(C-style escapes are probably supported.) Some items have trillian
-values. They can be set to boolean values in the file, but the default
-is some other value.
-
-
-The following fields can be assigned to:
-
-author-only         Boolean, default false. When true, only the author
-                    of a text or supervisor of a conference can create
-                    items with this tag.
-
-supervisor-only     Boolean, default false. When true, only the
-                    supervisors of the author or letterbox can create
-                    items with this tag. In all likelihood, the
-                    implementation of this flag is screwed up.
-
-permanent           Boolean, default false. When true, items with this
-                    tag cannot be deleted once they have been created.
-
-unique              Boolean, default false. When true, there can only
-                    be one non-deleted item with this tag per creator.
-
-inherit-limit       Integer, default 0. The maximum number of times
-                    items with this tag can be inherited, plus one.
-                    Zero means an unlimited number of times, one means
-                    no times, 2 means once and so forth. This number
-                    overrides the inherit-limit set by the client only
-                    if that number is higher than this one.
-
-inherit             Trillian. When set, the inherit bit on new items
-                    with this tag is forced to the specified value.
-
-secret              Trillian. When set, the secret bit on new items
-                    with this tag is forced to the specified value.
-
-hide-creator        Trillian. When set, the hide-creator bit on new
-                    items with this tag is forced to the specified
-                    value.
-
-dont-garb	    Trillian.  When set, the dont-garb bit on new
-		    items will be forced to the specified value.
-
-validate            String, default none. When set, this specifies a
-                    regexp that must match the data field in newly
-                    created items with this tag. If the regexp fails
-                    to match, then the item will not be created.
-
diff --git a/doc/clients.assigned b/doc/clients.assigned
deleted file mode 100644
index 57ddb478f..000000000
--- a/doc/clients.assigned
+++ /dev/null
@@ -1,7 +0,0 @@
-The following names are currently reserved for clients:
-
-elisp-client		The famous CPU hog.
-nilkom			C++ experiment
-tkom			C++ experiment
-getmail			Postmaster
-ttykom			The one and second tty client by Linus
diff --git a/doc/dbck.latexinfo b/doc/dbck.latexinfo
deleted file mode 100644
index b0bdca1d9..000000000
--- a/doc/dbck.latexinfo
+++ /dev/null
@@ -1,121 +0,0 @@
-\documentstyle[12pt,latexinfo,lyskom]{report}		\c -*-latexinfo-*-
-
-\c $Id: dbck.latexinfo,v 0.4 1994/04/05 07:51:09 ceder Exp $
-\c Copyright (C) 1990, 1991, 1992  Lysator Academic Computer Association.
-\c
-\c This file is part of the LysKOM server.
-\c 
-\c LysKOM is free software; you can redistribute it and/or modify it
-\c under the terms of the GNU General Public License as published by 
-\c the Free Software Foundation; either version 1, or (at your option) 
-\c any later version.
-\c 
-\c LysKOM is distributed in the hope that it will be useful, but WITHOUT
-\c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-\c FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-\c for more details.
-\c 
-\c You should have received a copy of the GNU General Public License
-\c along with LysKOM; see the file COPYING.  If not, write to
-\c Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-\c or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-\c MA 02139, USA.
-\c
-\c Please mail bug reports to bug-lyskom@lysator.liu.se. 
-
-\pagestyle{empty}
-
-\begin{document}
-
-\title{dbck --- Automatic LysKOM Database Integrity Check Program\\}
-\sp{5}
-\author{Per Cederqvist\\
-	Lysator\\
-	ceder@lysator.liu.se}
-\sp{1}
-\date{\today}
-
-\maketitle
-\clearpage
-\vspace{0pt plus 1filll}
-Copyright \copyright{} 1990, 1991, 1992 Lysator
-
-\sp{2}
-
-This document describes dbck, a program that automatically checks for
-and repairs inconsistencies in the LysKOM data base.
-
-\sp{6}
-Permission is granted to copy and distribute this manual, provided that
-the above Copyright notice and this text remains on all copies.
-
-\clearpage
-\pagestyle{headings}
-\pagenumbering{roman}
-
-
-\tableofcontents
-
-\clearpage
-\pagenumbering{arabic}
-
-\setfilename{dbck.info}
-
-\begin{ifinfo}
-Copyright \copyright 1990, 1991, 1992 Lysator 
-\end{ifinfo}
-
-\node 	  Top,	Invoking dbck, , (top)    
-\comment  node-name,  next,  previous,  up
-
-Dbck is a data base checker that is used to assure that the
-data base of LysKOM isn't corrupted. It is also used to
-gather some statistics and to compact the database.
-
-\begin{menu}
-* Invoking dbck::   Options et c.
-* Tests::           A complete list of all tests that dbck performs.
-\end{menu}
-
-\node Invoking dbck, Tests, ,Top    
-\comment  node-name,  next,  previous,  up
-
-
-\chapter{Invoking dbck}
-
-Dbck accepts several switches. If no switches are given
-dbck will read the file and report any errors found, but it
-wont repair them. This behaviour is useful to check for
-errors without having to take down the server. You must
-take down the server to be able to repair any errors.
-\begin{description}
-
-\item[-D\var{dir}]Tell dbck to look for the data base is in
-the directory \file{\var{dir}/db} instead of the default
-\file{/usr/lyskom/db}.
-
-\item[-i]Interactive use. If an error is found, and dbck
-thinks that it can repair it, dbck will display a message
-describing what error it has found, and how it intend to
-fix it. The Operator can type \kbd{y} if he accepts the
-action, och \kbd{n} if not. Note that some errors will be
-repaired in a way that gives information loss --- but
-always as little as possible.
-
-\item[-r]Repair simple errors without confirmation.
-
-\item[-v]Verbose mode.
-Normally only errors are displayed. If you give the
-\code{-v} flag some more statistic, such as number of
-texts, average lengths of texts, and so on, will be
-printed.
-
-\item[-d]Debug mode.
-Hardly useful unless you are debugging lacgen.
-
-\item[-g]Garbage collect. Compact the file
-\samp{db/lyskom-texts} by removing all unused text.
-\end{description}
-\clearpage
-\chapter{Tests}
-\end{document}
diff --git a/doc/dbck.texi b/doc/dbck.texi
deleted file mode 100644
index a14e587c2..000000000
--- a/doc/dbck.texi
+++ /dev/null
@@ -1,309 +0,0 @@
-\input texinfo
-@c $Id: dbck.texi,v 1.2 1999/04/03 15:33:42 ceder Exp $
-@c %**start of header
-@setfilename dbck.info
-@settitle "dbck Reference Manual"
-@setchapternewpage odd
-@c %**end of header
-
-@ifinfo
-This is the reference manual for the lyskomd LysKOM server version 2.0
-
-Copyright @copyright{} 1999 Lysator ACS.
-
-Permission is granted to make and distribute verbatim copies of this
-specification provided the copyright notice and this permission notice
-are preserved on all copies.
-@end ifinfo
-
-@dircategory LysKOM
-@direntry
-* dbck: (dbck).                      dbck reference manual.
-@end direntry
-
-@titlepage
-@sp 10
-@title "dbck Reference Manual"
-@sp 2
-@subtitle "Server version 2.0"
-@sp 2
-@author by the lyskomd developers
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1995-1999 Lysator ACS
-
-Permission is granted to make and distribute verbatim copies of this document
-provided the copyright notice and this permission notice are preserved on all
-copies.
-
-Modified versions of this document may be redistributed with the added
-condition that all modifications not cleared with the LysKOM development group
-are clearly marked and that the entire modified work be redistributed under the
-same conditions as the original.
-
-Permission is granted to copy and distribute translations of this manual into
-another language under the same conditions as for modified versions.
-
-@end titlepage
-
-@ifinfo
-@node Top, Copying, (dir), (dir)
-@comment  node-name,  next,  previous,  up
-@top dbck
-
-dbck is a program that can is used for minor database maintenance tasks
-and for repairing a corrupt lyskomd database.
-
-@menu
-* Copying::                     LysKOM is free software.
-* Overview::                    Overview of dbck.
-* Invoking dbck::               How to run dbck.
-* Notes::                       Notes about running dbck.
-* Files::                       Files used by dbck.
-* Bugs::                        Known bugs.
-@end menu
-
-@end ifinfo
-
-@node Copying, Overview, Top, Top
-@comment  node-name,  next,  previous,  up
-@chapter Copying
-
-dbck is part of the lyskomd distribution.
-
-lyskomd is free software. It is distributed under the Gnu General Public
-License version 2. The file COPYING in the top level of the distribution
-contains the text of the license.
-
-
-@node Overview, Invoking dbck, Copying, Top
-@comment  node-name,  next,  previous,  up
-@chapter Overview
-
-The dbck program is used for minor maintenance of the LysKOM database
-and for repairing corrupt databases. In brief it performs the following
-functions:
-
-@itemize @bullet
-@item Compact the text file to remove deleted texts.
-@item Repair inconsistent membership information.
-@item Repair invalid recipients
-@item Repair inconsistent comment links
-@item Correct invalid local text numbers
-@item Correct invalid text maps
-@item Set special conferences
-@item Convert between database formats
-@end itemize
-
-
-@node Invoking dbck, Notes, Overview, Top
-@comment  node-name,  next,  previous,  up
-@chapter Invoking dbck
-
-The functionality of dbck is controlled through command-line switches.
-These are documented below.
-
-If @code{dbck} is invoked without any options it will read the database
-and report on its integrity.  No files will be modified.
-
-@menu
-* General Options::             Controlling the overall behavior of dbck.
-* Database Repair Options::     Repairing errors in the LysKOM database.
-* Format Conversion Options::   Converting the database file to a new format.
-* Database Maintenance Options::  Options for database maintenance.
-* Reporting Options::           Options controlling status reports.
-@end menu
-
-
-@node General Options, Database Repair Options, Invoking dbck, Invoking dbck
-@comment  node-name,  next,  previous,  up
-@section General Options
-
-These options control the general behavior of lyskomd.
-
-@table @asis
-@item @code{-h} or @code{--help}
-Give a usage message (which includes the version number and the
-compiled-in default location of the config file) and exit immediately.
-
-@item @code{-v} or @code{--verbose}
-Verbose mode. Report not only errors but the status of the database.
-
-@item @code{-F} or @code{--force-output}
-This option forces dbck to write the database file. Normally @code{dbck} 
-will only write a new database file if changes have been made for some
-other reason. If you want to simply convert a database from one version
-to another, you will probably have to give this option.
-@end table
-
-
-@node Database Repair Options, Format Conversion Options, General Options, Invoking dbck
-@comment  node-name,  next,  previous,  up
-@section Database Repair Options
-
-The following options control database repair.
-
-@table @asis
-@item @code{-i} or @code{--interactive}
-Run interactively. If any inconsistency is found, a remedial cure will
-be suggested and the user must confirm the correction.
-
-@item @code{-r} or @code{--auto-repair}
-Repair simple errors without asking.
-
-@item @code{-c} or @code{--set-change-name}
-Consider it an error if the @code{change-name} capability of a person is 
-not set. Due to a bug that capability was never set for newly created
-persons in release 1.6.1 of lyskomd. This option can be used to repair
-the damage.
-@end table
-
-
-@node Format Conversion Options, Database Maintenance Options, Database Repair Options, Invoking dbck
-@comment  node-name,  next,  previous,  up
-@section Format Conversion Options
-
-dbck can be used to conver the LysKOM database from one storage format
-to another. This is necessary only when moving the database to a new
-server version.
-
-@table @asis
-@item @code{-F} or @code{--force-output}
-This option forces dbck to write the database file. Normally @code{dbck} 
-will only write a new database file if changes have been made for some
-other reason. If you want to simply convert a database from one version
-to another, you will probably have to give this option.
-
-@item @code{-o} or @code{--output-version}
-This option is used to set the output version of the database. This
-option will normally be used in conjunction with the @code{-F} option.
-
-Version 1.9 of @code{lyskomd} requires database version 1; version 2.0
-requires database version 2. Versions of @code{lyskomd} prior to 1.9
-requires database version 0. Note that information is irrevocably lost
-when converting from a higher to a lower database version. This options
-requires an argument: the output format version.
-@end table
-
-
-@node Database Maintenance Options, Reporting Options, Format Conversion Options, Invoking dbck
-@comment  node-name,  next,  previous,  up
-@section Database Update Options
-
-dbck can be used to update certain aspects of the database that either
-were impossible to update in early versions of protocol A or that are
-inconvenient in all protocol versions.
-
-@table @asis
-@item @code{-g} or @code{--compact-text-mass}
-Do garbage collection on the texts part of the database. This removes
-all unreferenced texts from the database. 
-
-@item @code{-P} or @code{--clear-password}
-Clear the password of a specified user. This option is silently ignored
-if the user does not exist. This option requires an argument: the ID of
-the person whose password is to be cleared.
-
-@item @code{-G} or @code{--grant-all}
-Grant all privileges to the specified user. This option is silently
-ignored if the user does not exist. This option requires an argument:
-the ID of the person who is to be granted all privileges.
-
-@item @code{--pers-pres-conf}
-Set the person presentation conference of the server to the specified
-conference. Since version 1.9 of lyskomd the @code{set-info} call can be 
-used to do this.
-
-@item @code{--conf-pres-conf}
-Set the conference presentation conference of the server to the specified
-conference. Since version 1.9 of lyskomd the @code{set-info} call can be 
-used to do this.
-
-@item @code{--motd-conf}
-Set the message-of-the-day conference of the server to the specified
-conference. Since version 1.9 of lyskomd the @code{set-info} call can be 
-used to do this.
-
-@item @code{--kom-news-conf}
-Set the news-about-lyskom conference of the server to the specified
-conference. Since version 1.9 of lyskomd the @code{set-info} call can be 
-used to do this.
-
-@item @code{--motd-of-kom}
-Set the message of the day of the server to the specified text. Since
-version 1.9 of lyskomd the @code{set-info} call can be used to do this.
-@end table
-
-
-@node Reporting Options,  , Database Maintenance Options, Invoking dbck
-@comment  node-name,  next,  previous,  up
-@section Reporting Options
-
-These options control reporting of information about the database.
-
-@table @asis
-@item @code{-s} or @code{--print-statistics}
-Gather statistics about the lengths of texts. A table containing the
-frequence of all lengths that are currently present is printed.
-
-@item @code{-t} or @code{--list-text-no}
-Print ``Checking @i{text-no}'' for every text that examined.
-@b{Warning:} This produces lots of output.
-@end table
-
-
-@node Notes, Files, Invoking dbck, Top
-@comment  node-name,  next,  previous,  up
-@chapter Notes
-
-The messages ``Conference @var{conf-no} has a bad Text-list. Starts with
-0'' and ``Person @var{pers-no} has created @var{num} conferences, not
-@var{num} (as said in person-stat).'' are normal. If you get them when
-you specify the @code{-g} option, let @code{dbck} repair them and run
-@code{dbck -g} again.
-
-
-@node Files, Bugs, Notes, Top
-@comment  node-name,  next,  previous,  up
-@chapter Files Used by dbck
-
-dbck uses the same files as @code{lyskomd} (@xref{(lyskomd)}.)
-
-All file names can be changed in the server configuration file.
-@xref{(lyskomd)Parameters}.
-
-@table @file
-@item /usr/lyskom
-Default value of @code{Prefix}. The default of this value is set at compile 
-time, but it can be changed in the server configuration file.
-@xref{(lyskomd)Parameters}.
-
-@item @code{Prefix}/db/lyskomd-data
-Half of the database: all status information.
-
-@item @code{Prefix}/db/lyskomd-texts
-The other half of the database: the actual texts.
-
-@item @code{Prefix}/db/lyskomd-backup
-A backup copy of @code{lyskomd-data}. Never, ever delete this file
-unless you know what you are doing, or you may lose the entire data
-base. Most of the time this is the only complete database file!
-
-@end table
-
-
-@node Bugs,  , Files, Top
-@comment  node-name,  next,  previous,  up
-@chapter Known Bugs
-
-@itemize @bullet
-@item Does not lock the database.
-@item Never checks if the database is locked.
-@item Should have an unlock database option.
-@item Does not check that the data file and text file are consistent.
-@end itemize
-
-
-@contents
-@bye
diff --git a/doc/disc-cache.spec b/doc/disc-cache.spec
deleted file mode 100644
index 1bdd16e47..000000000
--- a/doc/disc-cache.spec
+++ /dev/null
@@ -1,174 +0,0 @@
-ramkomd {r d|d! L{nge leve LysKOM!
-
-Jag har tillsammans med Inge kommit p} ett s{tt att dels f} ner
-v{ntetiden i samband med syncningar till <1 sekund, dels f} ner
-storleken p} serverprocessen till mer rimliga niv}er. Denna l|sning
-lider dock av det stora problemet att den kr{ver dubbelt s} mycket
-diskutrymme som den egentligen beh|ver. Det g|r {ven ramkomd, s} det
-{r ingen f|rs{mring i det avseendet. Dock {r detta bara en tempor{r
-l|sning i v{ntan p} ldb.
-
-Varf|r spara allt p} en g}ng? Varf|r inte spara en liten del av filen
-i taget, och utf|ra n}gra atomiska anrop mellan varje liten
-delsynkning? Ungef{r s} t{nkte jag n{r jag kom p} f|ljande schema f|r
-hur man kan g|ra det hela b{ttre {n det {r nu.
-
-Den databas som ligger p} fil {r en |gonblickbild (snapshot) av det
-som finns i LysKOM. S} {r det i ramkomd; s} blir det i diskomd.
-(B{ttre namn, n}gon? lyskomd tycker jag {r reserverat f|r den version
-som har en riktig cache&ldb.) I ramkomd skrivs allt ut p} disk
-samtidigt. I diskomd minns man bara vad som skall sparas, och sparar
-bara en bit i taget.
-
-I ramkomd finns allt inne i ram-minnet (i teorin. I praktiken {r det
-mesta utswappat - n}got som m{rks varje g}ng det {r dags att synca!).
-I diskomd ligger det mesta p} disk. I minnet finns dels det som har
-anv{nts nyligen, dels det som {r {ndrat och {nnu ej syncat. Diskomd
-har alltid minst en, ofta tv}, databasfiler |ppna:
-
-	Fil A		Senaste kompletta fil.
-	Fil B		Fil under uppbyggnad.
-
-(Dessutom textmassefilen, precis som ramkomd nuf|rtiden.)
-
-S} till detaljerna:
-
-Det finns tre typer av objekt som ber|rs av den h{r {ndringen:
-Text_stat, Person och Conference. Jag anv{nder Person som ett exempel
-nedan.
-
-I ram-cache.c finns en array 
-
-	Person *pers_arr[ MAX_CONF ];
-
-Den byts mot
-
-	Cache_node *pers_arr[ MAX_CONF ];
-
-typedef struct cache_node {
-	Bool	exists;
-	Bool	exists_b;
-	Bool	dirty;		/* [r *ptr modifierad? */
-	void   *snap_shot;
-	void   *ptr;
-	off_t   pos;
-	off_t   pos_b;
-	struct cache_node *lru_link;
-	int	lock_cnt;
-} Cache_node;
-
-
-
-UPPSTART
-
-N{r servern startas scannar den igenom datafilen (fil A) och fyller i
-f{ltet exists till TRUE/FALSE och pos till att peka p} b|rjan av det
-st{lle i filen d{r data ligger. \vriga f{lt s{tts till FALSE/NULL/0.
-
-
-
-CACHE_GET_PERSON
-
-N{r ovanliggande rutiner vill l{sa en person h{nder f|ljande:
-
-!exists			Returnera NULL
-ptr != NULL		L{gg noden f|rst i lru_link. Returnera ptr.
-snap_shot != NULL	Kopiera snap_shot till ptr. L{gg noden f|rst i
-			lru_link. Returnera ptr.
-annars			L{s in fr}n fil A, s{tt ptr till den inl{sta
-			structen, l{gg noden f|rst i lru_link,
-			returnera ptr.
-
-
-MARK_PERSON_AS_CHANGED
-
-N{r n}got har {ndrats s{tts dirty-flaggan till TRUE.
-
-
-CREATE_PERSON
-
-S{tt exists=TRUE, dirty=TRUE, ptr och lru.
-
-
-DELETE_PERSON
-
-S{tt exists=FALSE. ptr=NULL. Troligtvis error om lock_cnt != 0.
-
-
-
-THROW-OUT
-
-F|r att inte diskomd ska bli f|r stor sl{ngs saker ut ur cachen.
-Algoritm: tag f|rsta elementet i lru_list. Om dirty==FALSE och
-ptr!=NULL och lock_cnt==0 s} frig|r ptr. Upprepa tills antalet noder
-med ptr!=NULL och dirty==FALSE {r mindre {n antalet "rena" element man
-vill ha inne i minnet. (Smutsiga element sl{ngs aldrig ut.)
-
-
-LOCK_PERSON
-
-\ka lock_cnt.
-
-
-UNLOCK_PERSON
-
-Minska lock_cnt.
-
-
-PRE-SYNC
-
-Utsparningen till fil sker i tre steg. F|rst sveper man |ver alla
-Cache_noder. F|r alla som har dirty=TRUE g|r man f|ljande:
-
-    if ( lock_cnt == 0 ) {
-	snap_shot = ptr; (Pekartilldelning, ej kopiering av inneh}llet.) 
-	ptr = NULL;
-	Ta bort ptr ur lru-kedjan.
-    } else {
-	snap_shot = copy(ptr);
-    }
-
-    dirty = FALSE;
-
-F|r _alla_ noder g|rs dessutom f|ljande:
-
-   b_exists==exists;
-
-
-SYNC
-
-Steg tv} utf|rs en liten bit i taget. Till exempel s} skulle man kunna
-spara en person efter varje atomiskt anrop, eller s}.
-
-b_exists==FALSE?	   S{tt pos_b. Skriv "@\n" till fil B.
-[r snap_shot != NULL?	   S{tt pos_b. Skriv ut inneh}llet i snap_shot 
-			   till fil B.
-dirty==FALSE && ptr!=NULL  Skriv ut inneh}llet i ptr till fil B.
-annars:			   Kopiera fr}n fil A till fil B. (Eftersom man
-			   vet b}de var blocket b|rjar och slutar kan man
-			   kopiera blocket utan att bry sig om vad som
-			   st}r i det -> v{ldigt lite CPU g}r }t).
-
-
-
-
-POST-SYNC
-
-N{r alla Person:er har hanterats som i SYNC ovan {r det dags f|r det
-tredje steget. D} g}r man igenom alla Cache_node:er och g|r f|ljande:
-
-	pos = pos_b;
-	file_b = FALSE;
-	free(snap_shot);
-	snap_shot = NULL;
-
-Fil B som man f|rut hade |ppen f|r skrivning |ppnar man i st{llet f|r
-l{sning som fil A.
-
-
-
-
-ANM[RKNINGAR
-
-Inneh}llet i snap_shot {r alltid "smutsigt" j{mf|rt med inneh}llet i
-fil A. Det som snap_shot pekar p} finns aldrig med i lru-kedjan.
diff --git a/doc/hacking.texi b/doc/hacking.texi
deleted file mode 100644
index 39a73272a..000000000
--- a/doc/hacking.texi
+++ /dev/null
@@ -1,959 +0,0 @@
-\input texinfo
-@c $Id: hacking.texi,v 1.7 1999/05/13 11:37:12 ceder Exp $
-@c %**start of header
-@setfilename hacking.info
-@settitle Hacking lyskomd
-@setchapternewpage odd
-@c %**end of header
-
-@ifinfo
-This is a guide to hacking lyskomd.
-
-Copyright @copyright{} 1999 Lysator ACS.
-
-Permission is granted to make and distribute verbatim copies of this
-specification provided the copyright notice and this permission notice
-are preserved on all copies.
-@end ifinfo
-
-@dircategory LysKOM
-@direntry
-* Hacking lyskomd: (hacking).        How to hack lyskomd.
-@end direntry
-
-@titlepage
-@sp 10
-@title Hacking lyskomd
-@sp 2
-@subtitle How to extend, modify and generally mess up lyskomd
-@sp 2
-@author by the lyskomd developers
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1995-1999 Lysator ACS
-
-Permission is granted to make and distribute verbatim copies of this document
-provided the copyright notice and this permission notice are preserved on all
-copies.
-
-Modified versions of this document may be redistributed with the added
-condition that all modifications not cleared with the LysKOM development group
-are clearly marked and that the entire modified work be redistributed under the
-same conditions as the original.
-
-Permission is granted to copy and distribute translations of this manual into
-another language under the same conditions as for modified versions.
-
-@end titlepage
-
-@ifinfo
-@node Top, Adding Asynchronous Message, (dir), (dir)
-@comment  node-name,  next,  previous,  up
-@top Hacking lyskomd
-
-
-@menu
-* Adding Asynchronous Message::  
-* Adding Configuration Parameters to the Server::  How to add config params.
-* Adding a New Protocol Request::  How to extend protocol A.
-* Adding Aux-Item Types::       
-* Modifying an Existing Stored Type::  
-* Notes::                       
-* Debugging and Testing::       
-@end menu
-
-@end ifinfo
-
-@node Adding Asynchronous Message, Adding Configuration Parameters to the Server, Top, Top
-@comment  node-name,  next,  previous,  up
-@chapter Adding Asynchronous Messages
-
-@table @code
-
-@item async.h
-Add the message in @code{typedef enum @{ @} Async}. Make sure that
-@code{ay_dummy_last} is one more than any other message. If the message
-is to be sent by default, which is @i{not} recommended, place its number
-info @code{ASYNC_DEFAULT_MESSAGES}.
-
-@item prot-a-send-async.c
-@item prot-a-send-async.h
-Write a function that sends the message. This function is responsible
-for writing the message to a particular connection and for ensuring that
-the message is not sent to clients who do not want it. Make sure that
-the second argument to @code{async_header} really is the number of
-elements being sent. Arrays count as two elements: the item count and
-the elements.
-
-@item send-async.c
-@item send-async.h
-Write a function that sends the message to appropriate clients. This
-function is responsible for checking that async messages should be sent
-at all, for each client check if it allowed to see the message and
-ensure that the protocol specified by the connection is appropriate. The
-send function should either take a @code{struct connection *} as an
-argument and send the message to that connection, or loop over all
-connections. Most send functions take a connection pointer; the looping
-is dealt with elsewhere.
-
-@item Make sure that the message is sent in appropriate places.
-
-@item Document the message type in @code{Protocol-A.texi}.
-
-@end table
-
-@menu
-* Function Templates for prot-a-send-async.c::  
-* Function Templates for send-async.c::  
-@end menu
-
-
-@node Function Templates for prot-a-send-async.c, Function Templates for send-async.c, Adding Asynchronous Message, Adding Asynchronous Message
-@comment  node-name,  next,  previous,  up
-@section Function Templates for prot-a-send-async.c
-
-This is what a typical function in @code{prot-a-send-async.c} should
-look like. This function is responsible for checking that the client is
-accepting the message and writing the message itself to the connection. 
-
-@example
-void
-prot_a_async_@i{something}(Connection   *cptr,
-                           @i{parameters})
-@{
-    ASYNC_CHECK_ACCEPT(cptr, ay_@i{something});
-    async_header(cptr, @i{num_tokens}, ay_@i{something});
-    /* Output the body of the message */
-    async_trailer(cptr);
-@}
-@end example
-
-
-@node Function Templates for send-async.c,  , Function Templates for prot-a-send-async.c, Adding Asynchronous Message
-@comment  node-name,  next,  previous,  up
-@section Function Templates for send-async.h
-
-This is what a typical function in @code{send-async.c} should look like.
-This function is responsible for sending the message to all connections
-that are appropriate, not sending it if the server is not supposed to
-send messages at all, and for checking that the protocol specified by
-the client is one the server knows.
-
-@example
-void async_@i{something}( @i{parameters} )
-@{
-    Connection *cptr;
-    Session_no i = 0;
-
-    if (!param.send_async_messages)
-	return;
-
-    while ((i = traverse_connections(i)) != 0)
-    @{
-	cptr = get_conn_by_number(i);
-
-	switch(cptr->protocol)
-	@{
-	case 0:
-            /* No protocol specified yet */
-	    break;
-	case 'A':
-            /* Check that connection is logged on. We might
-               want to check other things here too, such as
-               if the connection is allowed to see the message */
-	    if (cptr->username_valid == TRUE)
-		prot_a_async_@i{something}(cptr, @i{parameters});
-	    break;
-	default:
-	    restart_kom("async_@i{something}(): bad protocol.\n");
-	    break;
-	@}
-    @}
-@}
-@end example
-
-Template for a function that sends to a single connection:
-@example
-void async_@i{something}(struct connection *cptr,
-                         @i{parameters})
-@{
-    if (!param.send_async_messages)
-	return;
-
-    switch(cptr->protocol)
-    @{
-    case 0:
-        /* No protocol specified yet */
-	break;
-    case 'A':
-        /* Check that connection is logged on. We might
-           want to check other things here too, such as
-           if the connection is allowed to see the message */
-	if (cptr->username_valid == TRUE)
-	    prot_a_async_@i{something}(cptr, @i{parameters});
-	break;
-    default:
-	restart_kom("async_@i{something}(): bad protocol.\n");
-	break;
-    @}
-@}
-@end example
-
-
-@node Adding Configuration Parameters to the Server, Adding a New Protocol Request, Adding Asynchronous Message, Top
-@comment  node-name,  next,  previous,  up
-@chapter Adding Configuration Parameters to the Server
-
-Make sure that you really understand what you want to configure. Think
-it over again. Find a good, descriptive name for it.
-
-Decide what values the parameter can be set to. Integers? Booleans?
-
-Document the parameter in @code{lyskomd.texi}.
-
-Add a field to @code{stuct kom_par} in @code{param.h}.
-
-Add it to @code{parameters[]} in @code{server-config.c}. See
-@code{conf-file.h} and maybe @code{conf-file.c} for information on this
-structure.
-
-Make sure that the parameter is used instead of any previous hard-coded
-value. Make sure that @code{dbck} can cope with it.
-
-
-@node Adding a New Protocol Request, Adding Aux-Item Types, Adding Configuration Parameters to the Server, Top
-@comment  node-name,  next,  previous,  up
-@chapter Adding a New Protocol Request
-
-Before doing anything, think again. Make sure that the protocol request
-is needed, is in line with the rest of the protocol, behaves the way
-people want it to, and that everyone involved agrees that it is a good
-idea.
-
-@enumerate
-@item Document the request in @code{Protocol-A.texi}
-
-@item Declare the function in @code{include/services.h}
-
-@item Declare the function @i{last} in @code{server/fncdef.txt}. It
-should be given a call number one higher than the currently existing
-highest contiguous call number.
-
-@item If the function takes a pn input parameter of a new type, changes
-need to be made in several places. @xref{Adding New Input Types}.
-
-@item If the function takes too many parameters of type @code{num},
-@code{string} or @code{c_string}, the definition of @code{Connection} in 
-@code{server/connection.h} has to be changed.
-
-@item If the function has an output parameter of a new type, changes
-need to be made in several plaves. @xref{Adding New Result Types}.
-
-@item Write the function in a suitable place in the server directory.
-
-@item Write tests for the new function in
-@code{server/testsuite/lyskomd.0}. Write one file for testing the
-functionality. Write tests in @code{01.exp} (behavior when the client is 
-not logged on) and @code{03.exp} (normal behavior.)
-
-@item Run the testsuite to make sure nothing old has been broken.
-@end enumerate
-
-It is no longer necessary to update prot_a_is_legal_fnc since it is
-generated automatically.
-
-
-@menu
-* Adding New Input Types::      Procedure for adding input types.
-* Adding New Result Types::     Procedure for adding output types.
-* Modifying Output Types::      Procedure for modifying output types.
-@end menu
-
-
-@node Adding New Input Types, Adding New Result Types, Adding a New Protocol Request, Adding a New Protocol Request
-@comment  node-name,  next,  previous,  up
-@section Adding New Input Types
-
-Changes need to be made in the following files:
-
-@table @code
-@item Protocol-A.texi
-Document the new type.
-
-@item server/call-switch.awk
-The new type has to be added to the cascaded ifs that translate the type 
-name to code that points to the appropriate field in a
-@code{Connection} structure.
-
-@item server/prot-a-parse-arg-c.awk
-The new type has to be added to the cascaded ifs that create the
-argument list parser. 
-
-@item server/connections.h
-The definition of @code{Connection} must be extended with a field where
-the parse value can be stored. Don't even think about trying to reuse an 
-existing field. It's more trouble than it's worth.
-
-@item server/connection.c
-Free the contents of the field in @code{free_parsed()}.
-
-@item server/internal-connections.c
-Initialize the contents of the field in @code{init_connection()}.
-
-@end table
-
-
-
-@node Adding New Result Types, Modifying Output Types, Adding New Input Types, Adding a New Protocol Request
-@comment  node-name,  next,  previous,  up
-@section Adding New Result Types
-
-Changes need to be made in the following files:
-
-@table @code
-@item Protocol-A.texi
-Document the new type.
-
-@item server/prot-a.c
-Add a line in the @code{prot_a_reply} switch that calls the correct
-output function. 
-
-@item server/connections.h
-Add the type in @code{Res_type}and @code{Result_holder}. 
-
-@item server/prot-a-output.c
-@item server/prot-a-output.h
-Write a function that outputs the new type
-to a connection. Use the existing functions as templates.
-@end table
-
-
-@node Modifying Output Types,  , Adding New Result Types, Adding a New Protocol Request
-@comment  node-name,  next,  previous,  up
-@section Modifying Output Types
-
-When you modify an existing type you have to rename the old version of
-the type since it will still be used in existing calls. The convention
-hs previously been to rename @code{Something} to @code{Something_old},
-but the preferred method is to append an underscore and the protocol
-version in which the current version of the type was introduced. For
-example, if the type @code{Gazonk} was introduced in protocol version
-11, and a new version is to be introduced in protocol version 15, the
-current @code{Gazonk} structure is renamed to @code{Gazonk_11}.
-
-This is to avoid names like @code{Something_older},
-@code{Something_oldest} and @code{Something_Truly_Ancient}.
-
-
-Changes need to be made to the following files:
-
-@table @code
-@item Protocol-A.texi
-Document the new type in the appropriate section. Rename the existing
-type in the type documentation and in all calls that return it. Be
-thorough!
-
-@item fncdef.txt
-Rewrite all calls that use the modified type so they use the old version 
-of the type.
-
-@item prot-a.c
-Modify the current line in @code{prot_a_reply} for the existing version
-of the type, and add a new line for the new version of the type.
-
-@item connections.h
-Modify the existing entry in @code{Res_type} and @code{Result_holder},
-if necessary. This should only be necessary if the server uses both a
-new and old type internally, which is not recommended. Add new entries
-for the new version of the type.
-
-@item prot-a-output.h
-@item prot-a-output.c
-Rename the existing output routing according to the new name of the
-type. Write a new output routine for the new version of the type.
-
-@item memory.c
-If there are functions for the type in @code{memory.c}, make sure that
-your new type is initialized, cleared and copied in an appropriate
-manner.
-
-@end table
-
-If the type you modify is stored in the database, make sure it gets
-saved properly. @xref{Modifying an Existing Stored Type}.
-
-
-@node Adding Aux-Item Types, Modifying an Existing Stored Type, Adding a New Protocol Request, Top
-@comment  node-name,  next,  previous,  up
-@chapter Adding Aux-Item Types
-
-@enumerate
-@item Document the new type in Protocol-A.texi
-
-@item Write a definition of the new type in
-@code{run-support/aux-items.conf}.
-
-@item Write test cases for the new type in
-@code{server/testsuite/lyskomd.0/03.exp}.
-
-@item If the new type requires add, delete or undelete triggers that do
-not already exist, declare the trigger functions in @code{aux-items.c}
-and add them to the @code{aux_item_triggers} array in the same file.
-
-@item If the new type is so complex that is cannot be fully defined in
-@code{aux-items.conf}, then add it to the @code{compiled_aux_items}
-array in @code{aux-items.c}. Note that this functionality has not been
-tested until someone actually adds one of these beasts, so watch your
-step.
-
-@end enumerate
-
-
-@node Modifying an Existing Stored Type, Notes, Adding Aux-Item Types, Top
-@comment  node-name,  next,  previous,  up
-@chapter Modifying an Existing Stored Type
-
-If you want to modify an existing type that is stored in the database,
-think again. Can the job be done with aux-items instead? Is it really
-necessary?
-
-Be very, very careful when doing this. You have to make sure that the
-type as sent in old calls and async messages is not changed in any way.
-You have to make sure that the type can be stored to and read from the
-database.
-
-@enumerate
-@item Document the changes in Protocol-A.texi if the change is visible
-in the protocol.
-
-@item Bump the database version number by one for the next release of
-the server.
-
-@item Write a function in @file{ram-output.c} to output the new format.
-Update all old functions in @file{ram-output.c} that are database
-version dependent so that they can deal with the new database format.
-
-@item Write a function in @file{ram-parse.c} to read the new format.
-Update all old functions in @file{ram-parse.c} that are database version 
-dependent so that they can deal with the new database format.
-
-@item Set the default database format in @file{ram-parse.c} and
-@code{ram-output.c}. The variables to change are @code{input_format} and 
-@code{output_format}, respectively.
-
-@item Don't forget to update the functions in @file{memory.c}
-
-@end enumerate
-
-@menu
-* Template for ram-output.c::   
-* Template for ram-parse.c::    
-@end menu
-
-
-@node Template for ram-output.c, Template for ram-parse.c, Modifying an Existing Stored Type, Modifying an Existing Stored Type
-@comment  node-name,  next,  previous,  up
-@section Template for ram-output.c
-
-For types that can be output in several different formats, use the
-following templates for them. You have to be able to output in all
-formats, or @code{dbck} will be unable to convert between formats.
-
-@example
-static void
-foutput_@i{something}_0(FILE *fp, @i{something} *o)
-@{
-    /* Output version 0 of @i{something} */
-@}
-
-static void
-foutput_@i{something}_1(FILE *fp, @i{something} *o)
-@{
-    /* Output version 1 of @i{something} */
-@}
-
-static void
-foutput_info_2(FILE *fp, @i{something} *o)
-@{
-    /* Output version 2 of @i{something} */
-@}
-
-
-void foutput_@i{something}(FILE *fp, @i{something} *o)
-@{
-    switch(output_format)
-    @{
-    case 0:
-        foutput_@i{something}_0(fp, info);
-        break;
-    case 1:
-        foutput_@i{something}_1(fp, info);
-        break;
-    case 2:
-        foutput_@i{something}_2(fp, info);
-        break;
-    default:
-        restart_kom("unknown database format: %d", output_format);
-        break;
-    @}
-@}
-@end example
-
-Note that if two versions are the same, only write one functions. For
-example, if version 0 and version 1 are the same, only write an
-@code{foutput_@i{something}_0} function and call it from both case 0 and 
-case 1.
-
-@node Template for ram-parse.c,  , Template for ram-output.c, Modifying an Existing Stored Type
-@comment  node-name,  next,  previous,  up
-@section Template for ram-parse.c
-
-@example
-static Success
-fparse_@i{something}_0(FILE *fp, @i{something} *o)
-@{
-    /* Parse version 0 */
-    return OK;
-@}
-
-static Success
-fparse_@i{something}_1(FILE *fp, @i{something} *o)
-@{
-    /* Parse verson 1 */
-    return OK;
-@}
-
-static Success
-fparse_@i{something}_2(FILE *fp, @i{something} *o)
-@{
-    /* Parse verson 2 */
-    return OK;
-@}
-
-extern Success
-fparse_@i{something}(FILE *fp, @i{something} *o)
-@{
-    if ( fparse_long_errors != 0 )
-    @{
-	log("fparse_info(): fparse_long_errors == %d on entry. Reset.\n",
-	    fparse_long_errors);
-	fparse_long_errors = 0;
-    @}
-
-    switch (input_format)
-    @{
-    case 0:
-        return fparse_@i{something}_0(fp, o);
-        break;
-    case 1:
-        return fparse_@i{something}_1(fp, o);
-        break;
-    case 2:
-        return fparse_@i{something}_2(fp, o);
-        break;
-    default:
-        restart_kom("unknown input format: %d\n", input_format);
-        return FAILURE;
-        break;
-    @}
-@}
-@end example
-
-Note that if two versions are the same, only write one functions. For
-example, if version 0 and version 1 are the same, only write an
-@code{fparse_@i{something}_0} function and call it from both case 0 and 
-case 1.
-
-
-@node Notes, Debugging and Testing, Modifying an Existing Stored Type, Top
-@comment  node-name,  next,  previous,  up
-@chapter Notes
-
-@menu
-* Parsing Bit Fields::          
-* Membership Notes::            
-* Linking Pairs of Aux Items::  
-* Notes for fncdef.txt::        
-* Traversing Connections::      
-@end menu
-
-
-@node Parsing Bit Fields, Membership Notes, Notes, Notes
-@comment  node-name,  next,  previous,  up
-@section Parsing Bit Fields
-
-The parser for a bit field parameter type should be very tolerant of the 
-length of the token. Anything from a single bit and up should be
-permitted. The parser should use default values for bits that are not
-provided and ignore extra bits.
-
-Here is a model function:
-
-@example
-void
-prot_a_parse_bitfield(Connection *client,
-                      Bitfield   *res)
-@{
-    String          token;
-    String_size     len;
-
-    token = prot_a_get_token(client);
-    len = s_strlen(token);
-    if (len <= 0)
-        longjmp(parse_env, ISC_PROTOCOL_ERR);
-
-    init_bitfield(res);
-    switch (len = s_strlen(token))
-    @{
-    default:
-    case 8: res->bit_8 = token.string[ 7 ];
-    case 7: res->bit_7 = token.string[ 6 ];
-    case 6: res->bit_6 = token.string[ 5 ];
-    case 5: res->bit_5 = token.string[ 4 ];
-    case 4: res->bit_4 = token.string[ 3 ];
-    case 3: res->bit_3 = token.string[ 2 ];
-    case 2: res->bit_2 = token.string[ 1 ];
-    case 1: res->bit_1 = token.string[ 0 ];
-    @}
-@}
-@end example
-
-The function gets the token, checks the sanity of the length, then
-initialized the result to its default values. Then it does a switch on
-all token lengths that are equal to or smaller than the number of bits
-the server knows about. The fall-through ensures that all bits in the
-token are read.
-
-
-@node Membership Notes, Linking Pairs of Aux Items, Parsing Bit Fields, Notes
-@comment  node-name,  next,  previous,  up
-@section Membership Notes
-
-The @code{position} field in the membership is @i{not} stored. It has to 
-be set every time a membership is requested for transmission to the
-client.
-
-
-
-@node Linking Pairs of Aux Items, Notes for fncdef.txt, Membership Notes, Notes
-@comment  node-name,  next,  previous,  up
-@section Linking Pairs of Aux Items
-
-Sometimes two aux items need to work in tandem. The first instance of
-this was the FAQ and FAQ-for-conference items. The FAQ item contains the 
-text number of a text that is a FAQ for a conference. The
-FAQ-for-conference item contains the conference for which a text is a
-FAQ. This is needed so that deletion of the text properly removes the
-aux-item on the conf (plus, it's nice to be able to see that a text is a 
-FAQ.)
-
-The @code{linked_item} field in the Aux_item structure is for linking
-items. The linking must be managed through the use of triggers. This
-field is not visible in the protocol. It is saved in the database. It is 
-not possible to have more than one link per item.
-
-Please remember the following points.
-
-@itemize @bullet
-
-@item The target of a link should have a link back. All links need to go 
-both ways.
-
-@item In the add trigger for one end, create the other end of the link
-and set the @code{linked_item} field in both items. Don't forget to mark 
-the objects at both ends as changed.
-
-@item Deletion and undeletion of the other side of the link will be
-managed automatically. You don't need delete and undelete triggers
-simply to destroy the other side of a link.
-
-@item Don't kill the server because one end is missing. It is possible
-for the administrator to remove an item manually. Log a message and
-continue working.
-
-@end itemize
-
-
-
-
-
-
-@node Notes for fncdef.txt, Traversing Connections, Linking Pairs of Aux Items, Notes
-@comment  node-name,  next,  previous,  up
-@section Notes for fncdef.txt
-
-The fncdef.txt file is used to define the RPC functions. Each line
-consists of the call number, the return type of the call, the parameters
-and the output types of the call.
-
-Some examples:
-
-@example
-    10 number  create_conf_old c_string (param.conf_name_len) conf_type
-    12 success lookup_name c_string (param.conf_name_len) : conf_list
-@end example
-
-The first line defines a call named @code{create_conf_old} that takes
-two arguments, a string that can only be as long as
-@code{param.conf_name_len} and a @code{conf_type}. It returns a number
-to the client. If the service call returns -1, the server will return an 
-error. The @code{create_conf_old} call has RPC number 10.
-
-The second line defines a call named @code{lookup_name} that takes a
-string argument that can be no longer than @code{param.conf_name_len},
-and returns a @code{conf_list}. The service call returns a
-@code{Success}. If it does not return @code{OK}, the server will return
-an error. The @code{lookup_name} call has RPC number 12.
-
-
-@subsection Scripts That Use fncdef.txt
-
-The following scripts operate on @code{fncdef.txt}. If you make
-modifications to the format of @code{fncdef.txt}, you have to update
-these scripts.
-
-@table @code
-@item call-switch.awk
-Generates @code{call-switch.incl}, which is included by
-@code{connections.c}
-
-@item com-h.awk
-Generates @code{com.h}, which is included by several files.
-
-@item fnc-def-init.awk
-Generates @code{fnc-def-init.incl}, which is included by
-@code{connections.c}.
-
-@item prot-a-is-legal-fnc.awk
-Generates @code{prot-a-is-legal-fnc.incl}, which is included by
-@code{prot-a.c}
-
-@item prot-a-parse-arg-c.awk
-@item prot-a-parse-arg-h.awk
-Generates @code{prot-a-parse-arg.c} and @code{prot-a-parse-arg.h}.
-@end table
-
-
-@node Traversing Connections,  , Notes for fncdef.txt, Notes
-@comment  node-name,  next,  previous,  up
-@section Traversing Connections
-
-Since session 0 is interpreted as the currently active session by
-get_conn_by_number it is important to be careful when traversing
-sessions. Code like this does not work since it will do one iteration
-through the loop with @code{sess} set to zero. This formerly caused
-@code{get_conn_by_number} to return @code{NULL}, but now causes it to
-return the session pointer for the current session.
-
-@example
-        for (sess = 0; (sess = traverse_connections(sess)) != 0; )
-        @{
-            cptr = get_conn_by_number(sess);
-            ...
-        @}
-@end example
-
-The canonical traversal code looks like this:
-
-@example
-        Session_no      session = 0;
-        while ((session = traverse_connections(session)) != 0)
-        @{
-            cptr = get_conn_by_number(session);
-            ...
-        @}
-@end example
-
-This code has @code{session} set to a session number before ever
-entering the loop.
-
-
-@node Debugging and Testing,  , Notes, Top
-@comment  node-name,  next,  previous,  up
-@chapter Debugging and Testing
-
-We're slowly adding support for debugging and testing lyskomd properly.
-
-@menu
-* The Test Suite::              The lyskomd regression test suite.
-* Configuration Options::       Debugging options for the configure script.
-* Coverage Testing::            How to do coverage testing with gcov.
-* Debug Calls::                 Special protocol A calls for testing.
-@end menu
-
-@node The Test Suite, Configuration Options, Debugging and Testing, Debugging and Testing
-@comment  node-name,  next,  previous,  up
-@section The Test Suite
-
-The lyskomd test suite is in src/server/testsuite. Please extend this
-with additional test cases every time you make modifications to the
-server. Run the test suite often to make sure that your changes did not
-break anything.
-
-The file config/prot-a.exp contains some support for protocol A. Don't
-use these functions in test cases. Use them to set up the inital
-database and for things tht have to be done, such as logins and enabling
-privileges, but that don't need to be tested. Also, don't count on all
-the code in prot-a.exp to be fully functional. Add new functions to this 
-file as you see fit.
-
-The basic structure of a test case is the following:
-
-@example
-source "config/prot-a.exp"
-read_versions
-
-lyskomd_start
-client_start 0
-talk_to client 0
-kom_connect "DejaGnu test suite"
-
-@i{The test cases}
-
-talk_to client 0
-kom_logout
-kom_login 5 [holl "gazonk"] 0
-kom_enable 255
-send "9999 44 0\n"
-simple_expect "=9999"
-
-client_death 0
-lyskomd_death
-@end example
-
-Use the existing test cases as templates.
-
-
-@node Configuration Options, Coverage Testing, The Test Suite, Debugging and Testing
-@comment  node-name,  next,  previous,  up
-@section Configuration Options
-
-There are several testing and debugging-related configuration options
-for lyskomd. Some of them also apply to libisc.
-
-@table @code
-@item --with-purify
-Build lyskomd with Purify. This currently does not work.
-
-@item --with-efence
-Build lyskomd with Electric Fence for checking buffer overruns. This
-option does work.
-
-@item --with-checker
-Build lyskomd with Gnu Checker for checking memory accesses, leaks, file 
-descriptors and all kinds of stuff. As of Checker version 0.99.6, Gnu
-Checker cannot deal with lyskomd. Once built, and this requires
-modifications to Checker (at least on Linux) it reports spurious errors.
-Still, the option is here for those who want to try it out.
-
-@item --with-gcov
-Build lyskomd with instrumentation for @code{gcov}. You have to use this 
-option if you want to run @code{gcov} on lyskomd. For @code{gcov} to be
-effective, you should turn off optimization as well.
-
-@item --with-optimization=@i{value}
-Build lyskomd with the specified level of optimization. Use either
-numeric values to select the level of optimization, or say
-@code{--with-optimization=no} or @code{--without-optimization} to turn
-optimization off. 
-
-@end table
-
-
-
-@node Coverage Testing, Debug Calls, Configuration Options, Debugging and Testing
-@comment  node-name,  next,  previous,  up
-@section Coverage Testing
-
-When you write new code, make sure that it is completely covered by the
-test suite. Run the lyskomd configure script with the
-@code{--with-gcov}, @code{--with-debug-calls} and
-@code{--without-optimization} flags to instrument the server for
-coverage testing with gcov.
-
-If you run configure without the @code{--without-optimization} option,
-the server will be compiled with optimizations on. This is fine, but the
-coverage data from gcov isn't completely reliable since parts of the
-program may have been optimized out of existance.
-
-Recompile everything, then run the test suite. Next do @code{gcov -f }
-@i{filename} to compute coverage information for the file @i{filename}.
-The resulting file @i{filename}@code{.gcov} shows which lines have been
-executed, and which haven't been run. Try to get 100% coverage.
-
-
-@node Debug Calls,  , Coverage Testing, Debugging and Testing
-@comment  node-name,  next,  previous,  up
-@section Debug Calls
-
-Run the configure script with @code{--with-debug-calls} to compile in
-support for debugging calls in the server. These calls are strictly for
-making testing easier (or possible.) They are not official, and they may 
-change at any time.
-
-@menu
-* memory-info::                 Get information from malloc              (1000)
-* set-marks::                   Set the number of marks on a text        (1001)
-* backdate-text::               Change the creation date of a text       (1002)
-@end menu
-
-@node memory-info, set-marks, Debug Calls, Debug Calls
-@comment  node-name,  next,  previous,  up
-@subsection memory-info (DEBUG) Experimential
-
-@findex memory-info
-@example
-        memory-info [1000] ( )
-                -> (( arena     :       INT32;
-                      ordblks   :       INT32;
-                      smblks    :       INT32;
-                      hblks     :       INT32;
-                      hblkhd    :       INT32;
-                      usmblks   :       INT32;
-                      fsmblks   :       INT32;
-                      uordblks  :       INT32;
-                      fordblks  :       INT32;
-                      keepcost  :       INT32; ));
-@end example
-
-This call returns the data returned by @code{mallinfo} in the server. 
-See the man page for @code{mallinfo} for explanations of the fields.
-
-@node set-marks, backdate-text, memory-info, Debug Calls
-@comment  node-name,  next,  previous,  up
-@subsection set-marks (DEBUG) Experimental
-
-@findex set-marks
-@example
-        set-marks [1001] (( text-no     :   Text_no;
-                            no-of-marks :   INT32; ))
-                -> ( );
-@end example
-
-Set the number of marks on text @code{text-no} to @code{no-of-marks},
-regardless of how many marks it really has. This call is useful for
-forcing the database into a state where the number of marks is incorrect 
-in some way. 
-
-
-@node backdate-text,  , set-marks, Debug Calls
-@comment  node-name,  next,  previous,  up
-@subsection backdate-text (DEBUG) Experimental
-
-@findex backdate-text
-@example
-        backdate-text [1002] (( text-no :   Text_no;
-                                seconds :   INT32; ))
-                -> ( );
-@end example
-
-Backdate a text in the server. Change the creation date of text
-@code{text-no} so it appears to have been created @code{seconds} earlier 
-than it was actually created. This can be used to test the garbage
-collector.
-
-@contents
-@bye
-
-
diff --git a/doc/known-server-bugs b/doc/known-server-bugs
deleted file mode 100644
index 2647e8152..000000000
--- a/doc/known-server-bugs
+++ /dev/null
@@ -1,10 +0,0 @@
-The server leaks some memory. This will probably be fixed in the next
-release.
-
-
-Not all information that should be written to the data file is
-written. The struct serverinfo should be saved between invocations.
-
-
-There should be more asynchronous messages so that the cache in the
-elisp client can be more consistent with the real world.
diff --git a/doc/known-servers b/doc/known-servers
deleted file mode 100644
index 96b535d49..000000000
--- a/doc/known-servers
+++ /dev/null
@@ -1,14 +0,0 @@
-kom.lysator.liu.se		ceder@lysator.liu.se
-
-kom.cd.chalmers.se		"Tomas Tengling, CD"@kom.lysator.liu.se
-
-capella.hh.se, helios.hh.se	hamcom@hh.se
-
-mother.ludd.luth.se
-flyttar till omega.ludd.luth.se?
-
-minsk.docs.uu.se
-
-? 			Robert Malmgren <rom@it.kth.se>
-
-emil.csd.uu.se
diff --git a/doc/lyskomd-database-format b/doc/lyskomd-database-format
deleted file mode 100644
index b0e252cd7..000000000
--- a/doc/lyskomd-database-format
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-		     THE LYSKOMD DATABASE FORMAT
-
-
-DATABASE VERSION 0
-
-This database consists of a header which can be 'CLEAN' or 'DIRTY'
-followed by a single newline character. Following that is an integer
-in ASCII decimal form on a single line. This is followed by that
-number of lines of conferences, followed by the same number of
-persons. Next is a single integer on a single line followed by that
-number of text-stat records.
-
-DATABASE	::=	HEADER '\n'
-                        NEXT-FREE-NUM '\n' 
-                        CONFS
-                        PERSONS
-			NEXT-TEXT-NUM '\n' 
-                        TEXTS
-		;
-
-HEADER		::=	'CLEAN'
-		|	'DIRTY'
-		;
-
-NEXT-FREE-NUM	::=	[0-9]+
-
-CONFS		::=	CONF ** NEXT-TEXT-NUM
-
-CONF		::=	EMPTY-RECORD
-		|	'+' CONF-RECORD '\n'
-		;
-
-PERSONS		::=	PERSON ** NEXT-TEXT-NUM
-		;
-
-PERSON		::=	EMPTY-RECORD
-		|	'+' PERSON-RECORD '\n'
-		;
-
-NEXT-TEXT-NUM	::=	[0-9]+
-		;
-
-TEXTS		::=	TEXT ** NEXT-TEXT-NUM
-		;
-
-TEXT		::=	EMPTY-RECORD
-		|	'+' TEXT-RECORD '\n'
-		;
-
-EMPTY-RECORD	::=	'@\n'
-
-
-Notes
-
-o   Records are stored sequentially; e.g. the eighteenth conference
-    record is conference number 18. This means that deleted records must
-    be stored using the EMPTY-RECORD format.
-
-o   NEXT-TEXT-NUM is the number of the highest text. There are exactly
-    this number of text records.
-
-o   NEXT-FREE-NUM is the number of the highest conference. There are
-    exactly this number of person and conference records.
-
-
-
-DATABASE VERSION 1
-
-This database consists of a one-line header followed by a list of
-tagged records.
-
-
-DATABASE	::=	HEADER '\n' RECORDS
-		;
-
-HEADER		::=	CLEAN:00001
-		|	DIRTY:00001
-		;
-
-VERSION		::=	[0-9] ** 5
-		;
-
-RECORDS		::=	RECORDS RECORD
-		;
-
-RECORD		::=	NEXT-FREE-NUM
-		|	NEXT-TEXT-NUM
-		|	CONFERENCE
-		|	PERSON
-		|	SERVER-INFO
-		|	TEXT
-		|	DELETED
-		;
-
-NEXT-FREE-NUM	::=	'#C' [0-9]+
-		;
-
-NEXT-TEXT-NUM	::=	'#P' [0-9]+
-		;
-
-CONFERENCE	::=	'C' NUMBER CONF-RECORD '\n'
-		;
-
-PERSON		::=	'P' NUMBER PERSON-RECORD '\n'
-		;
-
-TEXT		::=	'T' NUMBER TEXT-RECORD '\n'
-		;
-
-SERVER-INFO	::=	'I' SERVER-INFO-RECORD '\n'
-		;
-
-DELETED		::=	'-C' [0-9]+ '\n'
-		|	'-P' [0-9]+ '\n'
-		|	'-T' [0-9]+ '\n'
-		;
-
-
-Notes:
-
-o   NUMBER in conferences persons and texts is the ID of the record
-    described. Records can come in any order.
-
-o   The NEXT-FREE-NUM record denotes the highest conference number in
-    the system.
-
-o   The NEXT-TEXT-NUM record denotes the highest test number in the
-    system. 
-
-o   A conference or text must have a number lower than the closest
-    NEXT-FREE-NUM or NEXT-TEXT-NUM before it.
-
-
-DATABASE VERSION 2
-
-Identical to version 1, but SERVER-INFO, CONF-RECORD, PERSON-RECORD
-and TEXT-RECORD also include the highest_aux_no and aux_item_list
-fields of the data structure, and CONF-RECORD has the expire field.
-Also, CONF-RECORD and PERS-RECORD uses the Local_to_global structure.
diff --git a/doc/lyskomd.texi b/doc/lyskomd.texi
index e718b5f7d..b2eff5198 100644
--- a/doc/lyskomd.texi
+++ b/doc/lyskomd.texi
@@ -1,5 +1,5 @@
 \input texinfo
-@c $Id: lyskomd.texi,v 1.18 1999/05/21 06:45:45 ceder Exp $
+@c $Id: lyskomd.texi,v 1.19 1999/05/21 11:31:59 byers Exp $
 @c %**start of header
 @setfilename lyskomd.info
 @include version.texi
@@ -7,6 +7,23 @@
 @setchapternewpage odd
 @c %**end of header
 
+@iftex
+@parindent 0pt
+@begin tex
+\global\def\BB#1{\b{#1}}
+\global\def\II#1{\i{#1}}
+@end tex
+@end iftex
+
+@ifinfo
+@macro BB {text}
+'\text\'
+@end macro
+@macro II {text}
+/\text\/
+@end macro
+@end ifinfo
+
 @ifinfo
 This is the reference manual for the lyskomd LysKOM server version
 @value{VERSION}.
@@ -68,6 +85,7 @@ documents version @value{VERSION} of lyskomd.
 * Bugs::                        Known bugs in lyskomd.
 * DBCK Reference::              Checking and repairing the database.
 * Hacking::                     Notes for server developers.
+* lyskomd Database Specification::  
 @end menu
 
 @end ifinfo
@@ -1310,7 +1328,7 @@ base. Most of the time this is the only complete database file!
 @c ======================================================================
 
 
-@node Hacking,  , DBCK Reference, Top
+@node Hacking, lyskomd Database Specification, DBCK Reference, Top
 @comment  node-name,  next,  previous,  up
 @chapter Hacking lyskomd
 
@@ -1360,6 +1378,10 @@ base. Most of the time this is the only complete database file!
 @c FIXME: 
 @c FIXME:         Fil A		Senaste kompletta fil.
 @c FIXME:         Fil B		Fil under uppbyggnad.
+@c FIXME FIXME:   Fil Z         N�st senast kompletta fil
+@c FIXME FIXME:                 (den h�r gick att kopiera en g�ng i
+@c FIXME FIXME:                 tiden, �ven om A inte g�r att kopiera
+@c FIXME FIXME:                 just nu.)
 @c FIXME: 
 @c FIXME: (Dessutom textmassefilen, precis som ramkomd nuf�rtiden.)
 @c FIXME: 
@@ -2398,5 +2420,175 @@ collector.
 
 
 
+
+
+
+
+@c ======================================================================
+@c ======================================================================
+@c ==                                                                  ==
+@c ==                      LYSKOMD DATABASE FORMAT                     ==
+@c ==                                                                  ==
+@c ======================================================================
+@c ======================================================================
+
+
+
+@ifinfo
+@node lyskomd Database Specification,  , Hacking, Top
+@comment  node-name,  next,  previous,  up
+@chapter lyskomd Database Specification
+
+This document specifies the format of the lyskomd database files. The
+specification is currently incomplete. Only the structure, not the
+actual data records are documented.
+
+@menu
+* Version 0::                   Database used with early versions of lyskomd.
+* Version 1::                   Database used with lyskomd 1.9.0.
+* Version 2::                   Database used with lyskomd 2.0.0.
+@end menu
+
+@end ifinfo
+
+@node Version 0, Version 1, lyskomd Database Specification, lyskomd Database Specification
+@comment  node-name,  next,  previous,  up
+@section Data File Version 0
+
+Version 0 was used by lyskomd versions up to 1.8.
+
+@example
+database        :       header @II{NL}
+                        next-free-num @II{NL}
+                        confs
+                        persons
+                        next-text-num @II{NL}
+                        texts
+                ;
+header          :       @BB{CLEAN}
+                |       @BB{DIRTY}
+                ;
+next-free-num   :       @II{INTEGER}
+                ;
+confs           :       confs conf
+                |       @II{empty}
+                ;
+conf            :       empty-record
+                |       @BB{+} conf-record @II{NL}
+                ;
+persons         :       persons person
+                |       @II{empty}
+                ;
+person          :       empty-record
+                |       @BB{+} person-record @II{NL}
+                ;
+next-text-num   :       @II{INTEGER}
+                ;
+texts           :       texts text
+                |       @II{empty}
+                ;
+text            :       empty-record
+                |       @BB{+} text-record @BB{NL}
+                ;
+empty-record    :       @BB{@@} @BB{NL}
+                ;
+@end example
+
+The number of person and conference records is exactly one less than
+@II{next-free-num}. The number of text records is exactly one less than
+@II{next-text-num}. 
+
+Records are stored sequentially. Conference number 18 is the 18th
+conference record in the file. This implies that deleted records must be 
+stored as @II{empty-record} records.
+
+@II{next-text-num} is the number of the highest text. There are exactly
+one less than
+this number of text records in the database.
+
+@II{next-free-num} is the number of the highest conference. There are
+exactly one less than this number of both person and conference
+records. This implies that if conference N is not a letterbox, then
+person record N will be an @II{empty-record}.
+
+If the header says ``CLEAN'', the database file is complete. If the
+header says ``DIRTY'', the server has not finished writing it
+completely.
+
+
+@node Version 1, Version 2, Version 0, lyskomd Database Specification
+@comment  node-name,  next,  previous,  up
+@section Data File Version 1
+
+Version 1 was used by lyskomd version 1.9. 
+
+@example
+database        :       header @BB{NL} @BB{records}
+                ;
+header          :       @BB{CLEAN:00001}
+                |       @BB{DIRTY:00001}
+                ;
+records         :       records record
+                |       @II{empty}
+                ;
+record          :       next-free-num
+                |       next-text-num
+                |       conference
+                |       person
+                |       info
+                |       text
+                |       deleted
+                ;
+next-free-num   :       @BB{#C} @II{INTEGER} 
+                ;
+next-text-num   :       @BB{#P} @II{INTEGER}
+                ;
+conference      :       @BB{C} @II{integer} conf-record @BB{NL}
+                |       @BB{P} @II{integer} person-record @BB{NL}
+                |       @BB{T} @II{integer} text-record @BB{NL}
+                |       @BB{I} info-record @BB{NL}
+                ;
+deleted         :       @BB{-C} @II{integer} @BB{NL}
+                |       @BB{-P} @II{integer} @BB{NL}
+                |       @BB{-T} @II{integer} @BB{NL}
+                ;
+@end example
+
+The integer in the conference, text and person records is the ID of the
+record. This implies that records can be in any order.
+
+The @II{next-free-num} record is used to store the next available ID for
+conferences in the system. There may be several of these records in the
+database.
+
+The @II{next-text-num} record is used to store the next available ID for
+texts in the system. There may be several of these records in the
+database.
+
+A conference or text must have a number lower than the closest
+@II{next-free-num} or @II{next-text-num} preceding it.
+
+The deletion records are used to indicate that an object found earlier
+in the database has been deleted. The implementation of these in lyskomd 
+1.9 does not work, and they are not used. The @II{-C} record indicates
+deletion of a conference. The @II{-P} record indicates deletion of a
+person. The @II{-T} record indicates deletion of a text. The integer
+in the deletion record is the ID of the object being deleted.
+
+
+@node Version 2,  , Version 1, lyskomd Database Specification
+@comment  node-name,  next,  previous,  up
+@section Data File Version 2
+
+Version 2 is used by lyskomd version 2.0.
+
+The structure of this data file version is identical to that of version
+1. The @II{server-info}, @II{conf-record} and @II{text-record} include
+information about aux-items (highest-aux-no and aux-item-list.) The
+@II{conf-record} contains the expire field added to the conf-stat
+structure. The @II{conf-record} and @II{person-record} records use the new 
+local-to-global structure for storing maps.
+
+
 @contents
 @bye
diff --git a/doc/lyskomdb.texi b/doc/lyskomdb.texi
deleted file mode 100644
index d7eb445f2..000000000
--- a/doc/lyskomdb.texi
+++ /dev/null
@@ -1,256 +0,0 @@
-\input texinfo
-@c $Id: lyskomdb.texi,v 1.3 1999/05/18 13:06:22 byers Exp $
-@c %**start of header
-@setfilename lyskomdb.info
-@settitle "lyskomd Database Format Specification"
-@setchapternewpage odd
-@c %**end of header
-
-@iftex
-@parindent 0pt
-@begin tex
-\global\def\BB#1{\b{#1}}
-\global\def\II#1{\i{#1}}
-@end tex
-@end iftex
-
-@ifinfo
-@macro BB {text}
-'\text\'
-@end macro
-@macro II {text}
-/\text\/
-@end macro
-@end ifinfo
-
-
-@ifinfo
-This is the specification for the lyskomd database format.
-
-Copyright @copyright{} 1999 Lysator ACS.
-
-Permission is granted to make and distribute verbatim copies of this
-specification provided the copyright notice and this permission notice
-are preserved on all copies.
-@end ifinfo
-
-@dircategory LysKOM
-@direntry
-* Database Spec: (lyskomdb).         lyskomd Database Specification.
-@end direntry
-
-@titlepage
-@sp 10
-@title "lyskomd Database Specification"
-@sp 2
-@subtitle "Database version 2.0"
-@sp 2
-@author by the lyskomd developers
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1995-1999 Lysator ACS
-
-Permission is granted to make and distribute verbatim copies of this document
-provided the copyright notice and this permission notice are preserved on all
-copies.
-
-Modified versions of this document may be redistributed with the added
-condition that all modifications not cleared with the LysKOM development group
-are clearly marked and that the entire modified work be redistributed under the
-same conditions as the original.
-
-Permission is granted to copy and distribute translations of this manual into
-another language under the same conditions as for modified versions.
-
-@end titlepage
-
-@ifinfo
-@node Top, Copying, (dir), (dir)
-@comment  node-name,  next,  previous,  up
-@top lyskomd Database Specification
-
-This document specifies the format of the lyskomd database files. The
-specification is currently incomplete. Only the structure, not the
-actual data records are documented.
-
-@menu
-* Copying::                     LysKOM is free software.
-* Overview::                    Overview of the lyskomd database.
-* Version 0::                   Database used with early versions of lyskomd.
-* Version 1::                   Database used with lyskomd 1.9.0.
-* Version 2::                   Database used with lyskomd 2.0.0.
-@end menu
-
-@end ifinfo
-
-@node Copying, Overview, Top, Top
-@comment  node-name,  next,  previous,  up
-@chapter Copying
-
-dbck is part of the lyskomd distribution.
-
-lyskomd is free software. It is distributed under the Gnu General Public
-License version 2. The file COPYING in the top level of the distribution
-contains the text of the license.
-
-
-@node Overview, Version 0, Copying, Top
-@comment  node-name,  next,  previous,  up
-@chapter Overview
-
-The lyskomd LysKOM server uses two separate files for the database. The
-data file, normally @code{lyskom-data} contains information about
-conferences, persons, texts and the server itself. The text file,
-normally @code{lyskom-texts} contains the bodies of all texts.
-
-The format of the data file has changed three times since lyskomd was
-first released. The @code{dbck} (@xref{(dbck)}) program can be used to
-convert one format to another.
-
-Each database format is described in a sort of BNF-like syntax. Kind of.
-Anything in boldface is a literal. For example, @BB{NL} means a newline
-character and @BB{CLEAN} means the literal string ``CLEAN''. A fixed
-number of repetitions of a nonterminal is expressed 
-
-
-@node Version 0, Version 1, Overview, Top
-@comment  node-name,  next,  previous,  up
-@chapter Data File Version 0
-
-Version 0 was used by lyskomd versions up to 1.8.
-
-@example
-database        :       header @II{NL}
-                        next-free-num @II{NL}
-                        confs
-                        persons
-                        next-text-num @II{NL}
-                        texts
-                ;
-header          :       @BB{CLEAN}
-                |       @BB{DIRTY}
-                ;
-next-free-num   :       @II{INTEGER}
-                ;
-confs           :       confs conf
-                |       @II{empty}
-                ;
-conf            :       empty-record
-                |       @BB{+} conf-record @II{NL}
-                ;
-persons         :       persons person
-                |       @II{empty}
-                ;
-person          :       empty-record
-                |       @BB{+} person-record @II{NL}
-                ;
-next-text-num   :       @II{INTEGER}
-                ;
-texts           :       texts text
-                |       @II{empty}
-                ;
-text            :       empty-record
-                |       @BB{+} text-record @BB{NL}
-                ;
-empty-record    :       @BB{@@} @BB{NL}
-                ;
-@end example
-
-The number of person and conference records is exactly one less than
-@II{next-free-num}. The number of text records is exactly one less than
-@II{next-text-num}. 
-
-Records are stored sequentially. Conference number 18 is the 18th
-conference record in the file. This implies that deleted records must be 
-stored as @II{empty-record} records.
-
-@II{next-text-num} is the number of the highest text. There are exactly
-one less than
-this number of text records in the database.
-
-@II{next-free-num} is the number of the highest conference. There are
-exactly one less than this number of both person and conference
-records. This implies that if conference N is not a letterbox, then
-person record N will be an @II{empty-record}.
-
-If the header says ``CLEAN'', the database file is complete. If the
-header says ``DIRTY'', the server has not finished writing it
-completely.
-
-
-@node Version 1, Version 2, Version 0, Top
-@comment  node-name,  next,  previous,  up
-@chapter Data File Version 1
-
-Version 1 was used by lyskomd version 1.9. 
-
-@example
-database        :       header @BB{NL} @BB{records}
-                ;
-header          :       @BB{CLEAN:00001}
-                |       @BB{DIRTY:00001}
-                ;
-records         :       records record
-                |       @II{empty}
-                ;
-record          :       next-free-num
-                |       next-text-num
-                |       conference
-                |       person
-                |       info
-                |       text
-                |       deleted
-                ;
-next-free-num   :       @BB{#C} @II{INTEGER} 
-                ;
-next-text-num   :       @BB{#P} @II{INTEGER}
-                ;
-conference      :       @BB{C} @II{integer} conf-record @BB{NL}
-                |       @BB{P} @II{integer} person-record @BB{NL}
-                |       @BB{T} @II{integer} text-record @BB{NL}
-                |       @BB{I} info-record @BB{NL}
-                ;
-deleted         :       @BB{-C} @II{integer} @BB{NL}
-                |       @BB{-P} @II{integer} @BB{NL}
-                |       @BB{-T} @II{integer} @BB{NL}
-                ;
-@end example
-
-The integer in the conference, text and person records is the ID of the
-record. This implies that records can be in any order.
-
-The @II{next-free-num} record is used to store the next available ID for
-conferences in the system. There may be several of these records in the
-database.
-
-The @II{next-text-num} record is used to store the next available ID for
-texts in the system. There may be several of these records in the
-database.
-
-A conference or text must have a number lower than the closest
-@II{next-free-num} or @II{next-text-num} preceding it.
-
-The deletion records are used to indicate that an object found earlier
-in the database has been deleted. The implementation of these in lyskomd 
-1.9 does not work, and they are not used. The @II{-C} record indicates
-deletion of a conference. The @II{-P} record indicates deletion of a
-person. The @II{-T} record indicates deletion of a text. The integer
-in the deletion record is the ID of the object being deleted.
-
-
-@node Version 2,  , Version 1, Top
-@comment  node-name,  next,  previous,  up
-@chapter Data File Version 2
-
-Version 2 is used by lyskomd version 2.0.
-
-The structure of this data file version is identical to that of version
-1. The @II{server-info}, @II{conf-record} and @II{text-record} include
-information about aux-items (highest-aux-no and aux-item-list.) The
-@II{conf-record} contains the expire field added to the conf-stat
-structure. The @II{conf-record} and @II{person-record} records use the new 
-local-to-global structure for storing maps.
-
-
-@bye
diff --git a/doc/mall-swe.latexinfo b/doc/mall-swe.latexinfo
deleted file mode 100644
index 938dab016..000000000
--- a/doc/mall-swe.latexinfo
+++ /dev/null
@@ -1,90 +0,0 @@
-\documentstyle[12pt,latexinfo,lyskom]{rapport}		\c -*-latexinfo-*-
-\pagestyle{empty}
-
-\begin{document}
-\setfilename{foo
-.info}
-\bibliographystyle{alpha}
-
-\newindex{cp}
-\newindex{fn}
-
-\title{Konferenssystemet\\
-	LysKOM\\}
-
-\sp 3
-
-\author{Thomas Bellman\\
-	Lysator\\
-	Bellman@Lysator.LiU.SE\\
-	{\small Personnummer: 690423-4132}}
-
-
-\date{\idag}
-
-\maketitle
-\clearpage
-\vspace{0pt plus 1filll}
-Copyright \copyright{} 1990, 1991 Lysator
-
-\sp{2}
-
-Denna handledning beskriver konferenssystemet \LysKOM{}.  H\"{a}r
-beskrivs de allm\"{a}na principerna f\"{o}r \LysKOM{}, och de
-tj\"{a}nster som systemet tillhandah\aa{}ller, samt \"{a}ven de finesser
-som finns i \LysKOM{}.  Den beskriver \emph{inte} hur man anv\"{a}nder
-en klient f\"{o}r att k\"{o}ra \LysKOM{} eller hur man styr dessa
-klienter.  L\"{a}saren h\"{a}nvisas till respektive klients
-anv\"{a}ndarhandledning f\"{o}r denna information, till exempel
-\cite{LysKOM:TTY-client.swe}.
-
-
-\sp{2}
-\sp{4}
-Tillst\aa{}nd ges att kopiera denna manual och distribuera kopiorna,
-under f\"{o}ruts\"{a}ttning att ovanst\aa{}ende copyrightnot och denna
-text finns med p\aa{} alla kopior.
-
-\clearpage
-\pagestyle{headings}
-\pagenumbering{roman}
-
-
-\c	\tableofcontents
-
-\clearpage
-\pagenumbering{arabic}
-
-
-\node Top, Inledning, , dir    
-\comment  node-name,  next,  previous,  up
-
-\begin{menu}
-* Inledning::		Vad {r LysKOM?
-* Sakregister:Index:
-\end{menu}
-
-
-
-
-\node Inledning, Inledning, , top
-\comment  node-name,  next,  previous,  up
-\chapter{Inledning till LysKOM}
-\cindex{Inledning till LysKOM}
-\cindex{LysKOM, inledning}
-
-\section{Ett konferenssystem}
-
-...
-
-\subsection{Skilnader mot andra liknande system}
-
-\subsubsection{Usenet News}
-
-...
-...
-...
-
-\bibliography{referenser}
-
-\end{document}
diff --git a/doc/mall.latexinfo b/doc/mall.latexinfo
deleted file mode 100644
index 69efea67c..000000000
--- a/doc/mall.latexinfo
+++ /dev/null
@@ -1,77 +0,0 @@
-\documentstyle[12pt,latexinfo,lyskom]{report}		\c -*-latexinfo-*-
-\pagestyle{empty}
-
-\begin{document}
-
-
-\newindex{cp}
-\newindex{fn}
-
-\title{dbck --- Automatic LysKOM Database Integrity Checkprogram\\}
-
-\sp 3
-
-\author{Per Cederqvist\\
-	Lysator\\
-	ceder@lysator.liu.se}
-
-
-\date{\today}
-
-\maketitle
-\clearpage
-\vspace{0pt plus 1filll}
-Copyright \copyright{} 1990, 1991 Lysator
-
-\sp{2}
-
-This document describes...
-
-\sp{6}
-Tillst\aa{}nd ges att kopiera denna manual och distribuera kopiorna,
-under f\"{o}ruts\"{a}ttning att ovanst\aa{}ende copyrightnot och denna
-text finns med p\aa{} alla kopior.
-
-\clearpage
-\pagestyle{headings}
-\pagenumbering{roman}
-
-
-\tableofcontents
-
-\clearpage
-\pagenumbering{arabic}
-
-\setfilename{dbck.info}
-
-\begin{ifinfo}
-Copyright \copyright 1990, 1991 Lysator 
-\end{ifinfo}
-
-\node Top, dbck, (dir), (dir) 
-\comment  node-name,  next,  previous,  up
-
-\begin{menu}
-* Inledning::		Vad {r LysKOM?
-* Sakregister:Index:
-\end{menu}
-
-
-
-
-\node Inledning, Inledning, , top
-\comment  node-name,  next,  previous,  up
-\chapter{Inledning till LysKOM}
-\cindex{Inledning till LysKOM}
-\cindex{LysKOM, inledning}
-
-\section{Ett konferenssystem}
-
-...
-
-\subsection{Skilnader mot andra liknande system}
-
-\subsubsection{Usenet News}
-
-
-\end{document}
diff --git a/doc/misc_items b/doc/misc_items
deleted file mode 100644
index 9bfdc5bd5..000000000
--- a/doc/misc_items
+++ /dev/null
@@ -1,43 +0,0 @@
-File created by ceder.
-
-Medlemmarna i enumen Info_type {r av tv} olika typer.
-
-1) recpt, cc_recpt, comm_to, comm_in, footn_to, footn_in
-
-	Dessa sex {r de grundl{ggande typerna.
-
-2) loc_no, rec_time, sent_by, sent_at
-
-	Dessa inneh}ller extra information om en viss Info_type ur grupp 1.
-	Servern sk|ter sj{lv om att de skapas och tas bort p} r{tt s{tt.
-
-Nedanst}ende tabell visar exakt hur de olika Misc_items kan finnas.
-
-Mottagare:
-	recpt		Obligatorisk
-	loc_no		Obligatorisk
-	rec_time	Fylls i n{r mottagaren l{ser brevet.
-	sent_by		Om s{nt i efterhand av n}gon annan {n f|rfattaren.
-	sent_at		Om s{nt i efterhand.
-
-CC_Mottagare: (f}r ej kommentarer till detta inl{gg)
-	cc_recpt	Obligatorisk
-	loc_no		Obligatorisk
-	rec_time	Fylls i n{r mottagaren l{ser brevet.
-	sent_by		Om s{nt i efterhand av n}gon annan {n f|rfattaren.
-	sent_at		Om s{nt i efterhand.
-
-Kommentar till:
-	comm_to		Obligatorisk
-	sent_by		Om s{nt i efterhand av n}gon annan {n f|rfattaren.
-	sent_at		Om s{nt i efterhand.
-
-Fotnot till:
-	foot_to		Obligatorisk
-	sent_at		Om s{nt i efterhand.
-
-Kommenteras i:
-	comm_in		Obligatorisk
-
-Fotnot i:
-	foot_in		Obligatorisk
\ No newline at end of file
diff --git a/doc/misc_items_a b/doc/misc_items_a
deleted file mode 100644
index d8644b893..000000000
--- a/doc/misc_items_a
+++ /dev/null
@@ -1,94 +0,0 @@
-File created by ceder.
-
-This file describes protocol a (not protocol A).
-
-The members in the Info_type enum is of two different types. They can
-be grouped acording to a "grammar" that is defined in this file.
-
-
-1) recpt, cc_recpt, comm_to, comm_in, footn_to, footn_in, x_author
-
-	These are the seven basic types.
-
-
-2) loc_no, rec_time, sent_by, sent_at, x_text, x_person, x_recpt, x_system
-
-	These gives some additional info about the Info_type from group 1.
-
-
-
-Syntax of the grammar.
-
-The grammar looks like this:
-
-Recipient:
-	info_type	comment
-
-info_type is one of the elements in the Info_type enum. Comment tells
-the meaning of the info_type in this context. The following abbrevs
-are used in the comment:
-
-	AP	Always Present.
-	ABS	Added By Server. The client is not allowed to give
-		this info_type here.
-	IBS	Ignored By Server. As ABS, but the client is allowed
-		to send a misc_item of this type that the server will
-		ignore. 
-
-External author:	(Meaning that the text originated somewhere else.)
-	x_author	AP.
-	x_system	AP.
-
-Recipient:
-	recpt		AP.
-	loc_no		IBS/AP.
-	x_recpt		If external recipient.
-	x_system	If external recipient.
-	rec_time	ABS when the recipient marks the text as read.
-	sent_by		ABS if the text is sent to the recipient by
-			someone else than the author.
-	x_person	Sender, if external, and not author.
-	x_system	If x_person is present.
-	sent_at		ABS if it was sent after it was created.
-
-CC_Recipient: (should be omitted from comments to this text).
-	cc_recpt	AP.
-	loc_no		IBS/AP.
-	x_recpt		If external recipient.
-	x_system	If external recipient.
-	rec_time	ABS when the recipient marks the text as read.
-	sent_by		ABS if the text is sent to the recipient by
-			someone else than the author.
-	x_person	Sender, if external, and not author.
-	x_system	If x_person is present.
-	sent_at		ABS if it was sent after it was created.
-
-Kommentar till:
-	comm_to		AP.
-	x_text		If external origin of text.
-	x_system	If external origin of text.
-	sent_by		ABS if the comment link is added by someone else
-			than the author.
-	x_person	Sender, if external, and not author.
-	x_system	If x_person is present.
-	sent_at		Om s{nt i efterhand.
-
-Fotnot till:
-	foot_to		AP.
-	x_text		If external origin of text.
-	x_system	If external origin of text.
-	sent_by		ABS if the comment link is added by someone else
-			than the author.
-	x_person	Sender, if external, and not author.
-	x_system	If x_person is present.
-	sent_at		Om s{nt i efterhand.
-
-Kommenteras i:
-	comm_in		AP.
-	x_text		If external origin of text.
-	x_system	If external origin of text.
-
-Fotnot i:
-	foot_in		AP
-	x_text		If external origin of text.
-	x_system	If external origin of text.
diff --git a/doc/prot-a-tankar b/doc/prot-a-tankar
deleted file mode 100644
index de2fa594a..000000000
--- a/doc/prot-a-tankar
+++ /dev/null
@@ -1,9 +0,0 @@
-Protokoll a, ej A.
-
-Ett anrop f|r att se vart personliga kommentarer ska g}:
-
-get_personal_id(x_author, x_system) -> Misc_list:
-
-	Recpt		AP
-	X-recpt		Maybe
-	X-system	Maybe
diff --git a/doc/prot_a b/doc/prot_a
deleted file mode 100644
index 925db0ea4..000000000
--- a/doc/prot_a
+++ /dev/null
@@ -1,42 +0,0 @@
-THIS FILE CONTAINS LOOSE THOUGHTS! DON'T TAKE THIS TOO SERIOUSLY!
-
-Externa saker:
-
-F|rfattare:
-
-
-	Personligt: sl} upp i databas f|r att se vart kommentar skall.
-
-
-Mottagare:
-
-	
-
-
-Fall 1) Mailinglista importeras.
-
-X-author 15
-X-origin 
-
-Fall 2) Kommentar p} mailinglista.
-
-L{gg in i m|tet. Gateway-klienten uppt{cker ett nytt inl{gg utan X-author, och skickar iv{g det till mailinglistan/newsgruppen.
-
-Fall 3) Personligt p} mailinglista.
-
-G|r lookup(X-author, kommentarm|te) och f} ett m|te d{r man ska skriva
-kommentaren (typiskt RFC-800-m|tet).
-
-Fall 4) Eko p} ekom|ten.
-
-"Trivialt".
-
-Fall 5) Kommentar p} ekom|te.
-
-"Trivialt".
-
-Fall 6) Personligt p} ekom|te.
-
-Som fall 3, men resultatet blir typiskt echo-mail-m|tet. Den gw-klient
-som l{ser det m|tet g|r lookup(X-server) och f}r en port att koppla
-sig till.
diff --git a/doc/security-levels.txt b/doc/security-levels.txt
deleted file mode 100644
index bca7905ba..000000000
--- a/doc/security-levels.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-Skriv hit allt som priviligerade kan g�ra!
-Siffrorna anger vilken enable-level man m�ste vara p� f�r att f� g�ra saken.
-
-(Denna fil kanske inte st�mmer med verkligheten. Tyv�rr. Men om Bellman f�r
- sin vilja igenom (och det har jag inget emot) s� ska det ju �nd� g�ras om.)
-
-wheel
-0	Kan alltid logga in.
-6	Kan s�tta alla Priv_bits f�r alla personer.
-7	Kan s�tta password f�r alla personer.
-8	�r organisat�r (supervisor) f�r allt.
-10	Kan l�sa alla texter.
-
-admin
-2	Kan l�sa status f�r hemliga m�ten/personer.
-2	Kan l�sa de skyddade delarna av statusen.
-2	Kan l�sa hela text_statusen, �ven hemliga mottagare.
-1	Kan l�sa last_login.
-4	Kan addera/subtrahera medlemmar.
-4	Kan addera/subtrahera mottagare till texter.
-5	Kan s�tta superm�te.
-5	Kan radera texter.
-6	Kan s�tta administrat�r.
-3	Kan byta namn p� alla.
-1	Kan st�nga av servern.
-1	Kan s�tta motd_of_kom.
-
-statistic
-2	Kan l�sa statistikdelarna av Person-structen, �ven om de �r skyddade.
-
-create_conf	(default on)
-0	Kan skapa m�ten
-
-create_pers	(default on)
-0	Kan skapa personer
-
-extern_gw	(default off, endast protokoll a.)
-0	Kan skapa texter med X-author.
-*********************************************************************
-
-Vilka privilegier vill vi ha?
-
--  L�sa valfria texter
--  Alltid f� logga in
--  L�sa status f�r valfria texter
--  �ndra mottagare f�r valfria texter p� godtyckligt s�tt
--  Flytta texter som man f�r l�sa
--  F�r �ndra div status f�r godtyckliga m�ten
--  F�r �ndra l�senord f�r godtycklig person
--  F�r �ndra div status f�r godtycklig person, dock ej priv-bittar
--  S�tta priv-bittar
--  Skapa personer (default on)
--  Skapa m�ten (default on)
diff --git a/doc/server-async.extend b/doc/server-async.extend
deleted file mode 100644
index 1327cccbe..000000000
--- a/doc/server-async.extend
+++ /dev/null
@@ -1,21 +0,0 @@
-HUR MAN L�GGER TILL ETT ASYNKRONT MEDDELANDE I A-SERVERN
-
-1) async.h: l�gg till meddelandet i typedef enum { ... } Async. Se
-   till att ay_dummy_last f�r en h�gre siffra �n n�got annat
-   meddelande. Om meddelandet skall skickas per default, stoppa in det
-   i ASYNC_DEFAULT_MESSAGES.
-
-2) prot-a-send-async.[hc]: skriv en funktion som skickar iv�g
-   meddelandet. Gl�m inte att se till att andra argumentet till
-   async_header verkligen �r antalet element som skickas! (Reglerna
-   f�r hur man r�knar ut det �r lite skumma. Se s�rskilt upp med
-   arrayer och structar.)
-
-4) send-async.[hc]: skriv en funktion som skickar iv�g meddelandet
-   till l�mpliga clienter. Vissa meddelanden skickas till n�stan alla
-   klienter. I s� fall ska funktionen loopa �ver alla klienter (se
-   koden f�r exempel). I andra fall skall meddelandet bara till en
-   klient. I de fallen ska funktionen �ven ta en (Isc_clientinfo *)
-   som argument.
-
-4) Se till att skicka meddelandet p� l�mpliga st�llen.
diff --git a/doc/server-config.extend b/doc/server-config.extend
deleted file mode 100644
index b1c21cf52..000000000
--- a/doc/server-config.extend
+++ /dev/null
@@ -1,22 +0,0 @@
--*- text -*-
-
-How to add more configuration to the server
--------------------------------------------
-
-1. Think twice about what it really is you want to configure.  Find a
-   good, descriptive name for it.
-
-2. Think twice about which values the parameter can be set to.
-   Integers?  Booleans?
-
-3. Document it in src/doc/man/lyskomd.8.
-
-4. Add a field to in in struct kom_par (in src/server/param.h).
-
-5. Add it to parameters[] in src/server/server-config.c.  See
-   src/server/conf-file.h (and maybe src/server/conf-file.c).
-
-6. Make sure the parameter is used instead of any previous hard-coded
-   value.  Make sure that dbck can cope with it.
-
-That's all there is to it!
diff --git a/doc/server.extend b/doc/server.extend
deleted file mode 100644
index 01b536b76..000000000
--- a/doc/server.extend
+++ /dev/null
@@ -1,60 +0,0 @@
-ATT L�GGA TILL EN NY FUNKTION
-
-Alla filnamn i denna fil anges relativt $TOPDIR/src.
-
-F�r att l�gga till en ny funktion beh�ver f�ljande �ndringar g�ras:
-(Det ser kanske mycket ut, men i praktiken s� �r det inte s� jobbigt)
-
-  1) Deklarera funktionen i include/services.h.
-
-  2) Deklarera funktionen i server/fncdef.txt. L�gg alltid nya funktioner
-     sist s� att gamla klienter fortfarande fungerar.
-
-	2a) Om funktionen tar en inparameter av en typ som inte finns
-	    n�mnd i fncdef.txt s� m�ste �ndringar ske i
-
-		server/call-switch.awk
-		server/prot-a-parse-arg-c.awk
-		server/connections.h	Definitionen av Connection ska
-					ut�kas med ett f�lt d�r man kan
-					lagra det parseade f�ltet.
-		server/connections.c	G�r free p� f�ltet i free_parsed().
-		server/internal-connections.c
-					Initiera f�ltet i init_connection().
-		server/isc-parse.c	Skriv en funktion f�r att parsea.
-		server/isc-parse.h
-
-	2b) Om funktionen tar f�r m�nga inparametrar av typen num, 
-	    string eller c_string s� m�ste man �ndra
-
-		server/connections.h	Definitionen av Connection
-
-	2c) Om funktionen har en utparameter av en annan typ �n de som redan
-	    finns:
-
-	    	server/prot-a.c: L�gg till en rad i switchen i prot_a_reply.
-		server/connections.h: L�gg till typen i Res_type och 
-				      Result_holder.
-		server/prot-a-output.c: skriv en funktion f�r att skriva 
-					ut ett objekt.
-		server/prot-a-output.h
-		
-   3) Skriv funktionen i l�mplig fil i server-direktoryt. De som finns att 
-      v�lja p� n�r detta skrivs �r
-
-        admin.c, conference.c, membership.c, person.c, session.c, text.c,
-	regex-match.c
-
-   4) L�gg till funktionsnamnet i prot_a_is_legal_fnc() i server/prot-a.c.
-
-   5) Kompilera om servern med 'make' i server/.
-
-   6) [utg�r]
-
-   7) [utg�r]
-
-  8) [utg�r]
-
-  9) Implementera de nya kommandona i klienterna.
-I protokoll B kommer det (om lacgen n�gonsin blir klart) att bli
-mycket enklare.
diff --git a/doc/skeleton.doc b/doc/skeleton.doc
deleted file mode 100644
index fcd4fa1ab..000000000
--- a/doc/skeleton.doc
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-			   LysKOM-Projektet
-		   --------------------------------
-			 Titel p} dokumentet
-		   --------------------------------
-			   av Nisse Gandhi
-		       <nisgan@lysator.liu.se>
-			     1 april 1990
-
-
-
-H{r b|rjar texten...
diff --git a/doc/what-is-unread.swe b/doc/what-is-unread.swe
deleted file mode 100644
index 80565b034..000000000
--- a/doc/what-is-unread.swe
+++ /dev/null
@@ -1,145 +0,0 @@
-This swedish text describes how the client knows which texts the user
-has not yet read. It is extracted from the LysKOM database that runs
-at lysator.liu.se.
--------------------------------------------------------------------
-
-
-102868 1991-09-07  20:40  /132 rader/ ceder (Per Cederqvist  Lysator)
-Kommentar till text 102846 av Jonas S Karlsson (@Link ping enl CSN)
-Mottagare: LysKOM internals <1804>
-Markerad av dig och 2 andra.
-[rende: Hur man vet vad som {r ol{st.
-------------------------------------------------------------
-Varje person har en lista |ver vilka m|ten han {r med i. F|r varje
-m|te han {r med i lagras i en struct som vi kallar Membership:
-
-	* m|tesnumret
-	* prioriteten p} m|tet
-	* n{r man senast l{ste en text i m|tet (markerade en text i
-	  m|tet som l{st)
-	* vilka texter man har l{st (lokala m|tesnummer)
-	  Just nu lagras det som
-	
-		Local_text_no  last_text_read;
-		u_short	       no_of_read_texts;
-		Local_text_no *read_texts;
-
-	  vilket inneb{r att man har l{st alla texter fram till och
-	  med last_text_read, och dessutom alla texter som finns i den
-	  dynamiskt allokerade arrayen read_texts (som inneh}ller
-	  no_of_read_texts texter).
-
-query_read_texts tar som argument en person och ett m|te (som
-eventuellt kan vara en brevl}da) och returnerar den personens
-Membership f|r just det m|tet. Till protokoll B kommer vi att d|pa om
-funktionen till get_membership.
-
-> 102846 1991-09-07  17:05  /16 rader/ Jonas S Karlsson (@Link ping enl CSN)
-> Mottagare: LysKOM internals <1801>
-> [rende: Protokollet fr{ga...
-
-102846 {r ett globalt textnummer. Vi anv{nder typen Text_no f|r att
-lagra och hantera s}dana nummer. 1801 {r ett lokalt nummer f|r m|tet
-LysKOM internals. S}dana nummer lagras i en Local_text_no. (B}de
-Text_no och Local_text_no {r 32 bittar just nu).
-
-F|r varje m|te finns en relation MAP : Local_text_no -> Text_no.  Med
-anropet get_map kan man h{mta en tabell med vars hj{lp man kan g|ra den
-|vers{ttningen f|r ett visst m|te.
-
-
-get_created_texts ger en lista som inneh}ller de texter som en viss
-person har skrivit.
-
-F|r att ta reda p} vilka m|ten man har ol{sta inl{gg i g|r man s} h{r:
-
-1) get_unread_confs (ditt personnummer)
-
-Du f}r en lista med m|tesnummer. LysKOM garanterar att du inte har
-n}got ol{st i n}got annat m|te, men det kan h{nda att den ger tillbaks
-n}gra m|ten som du i verkligheten inte har n}got ol{st i.
-
-De m|ten man f}r tillbaks {r de d{r de existerar (eller har existerat)
-en text med ett h|gre lokalt textnummer {n last_text_read i ditt
-Membership i m|tet i fr}ga.
-
-2a) G|r query_read_texts f|r alla m|ten i listan du fick i steg 1.
-
-2b) Samtidigt h{mtar du m|tesstatusen f|r de m|tena (med
-get_conf_stat).
-
-3) Samla ihop alla svaren och sortera dom s} att man f}r l{sa
-inl{ggen i r{tt ordning.
-
-4) Ta det f|rsta m|tet. J{mf|r det h|gsta lokala numret som existerar
-(det kan du f} fram ur m|tesstatusen) med last_text_read i ditt
-Membership. Om det visar sig att det finns texter du inte har l{st
-m}ste du g|ra ett get_map f|r att ta reda p} vilket globalt textnummer
-de ol{sta texterna har.
-
-5) Sl} upp varje lokalt textnummer som du inte har l{st i mappen. Du
-f}r ett Text_no. Om du f}r en nolla inneb{r det att den text som hade
-det numret har raderats eller subtraherats fr}n m|tet. Ignorera det
-lokala numret och tag n{sta.
-
-6) N{r du f}r ett textnummer som inte {r noll h{mtar du textstatusen
-och textmassan (sj{lva texten) med get_text_stat och get_text, och
-visar den p} sk{rmen. N{r anv{ndaren har l{st klart texten talar du om
-det f|r servern med mark_as_read (som tar ett m|tesnummer och ett
-Local_text_no som argument och uppdaterar ditt Membership f|r det
-m|tet). Om texten har flera mottagare som du {r medlem i ska du anropa
-mark_as_read en g}ng f|r varje mottagare.
-
-Repetera steg 5 och 6 tills du har l{st ut m|tet. Se till att du
-f|ljer kommentartr{det, om anv{ndaren vill det.
-
-Repetera steg 4 tills allt {r utl{st.
-
-Visa alla markerade.
-
-Se tiden.
-=================================================================
-
-S} g}r det till, grovt sett. Saker och ting kompliceras av att det
-hela tiden skrivs nya texter. Servern skickar ut ett asynkront
-meddelande n{r en ny text skapas (i ett m|te som man {r medlem i). I
-meddelandet finns hela textstatusen (s} att man slipper h{mta den).
-
-En annan grej som g|r det hela komplicerat {r att man g{rna vill att
-klienten ska h{mta saker i f|rv{g n{r man inte har n}got annat att
-g|ra. Man vill att klienten inte ska h{mta samma information mer {n en
-g}ng. Man vill f} upp den f|rsta texten s} snabbt som m|jligt. Man
-vill kunna g|ra Lista Nyheter s} snabbt som m|jligt. Det finns m}nga
-saker man kan optimera p} olika s{tt.
-
-Elispklienten g|r inte riktigt som jag har beskrivit det p} alla
-st{llen, men resultatet blir i princip det samma. En del av anropen
-(t ex get_unread_confs) har vi inf|rt i efterhand f|r att vi m{rkte
-att det var n|dv{ndigt f|r att f} saker och ting att g} n}gorlunda
-snabbt.
-
-Vi har medvetet valt att g|ra s} mycket jobb som m|jligt i klienten,
-och s} lite jobb som m|jligt i servern. Nu, n{r det blev s} att
-klienten {r skriven i elisp, s} skulle vi nog ha f}tt ett snabbare
-system (s{rskilt uppstarten) om servern varit mer intelligent och valt
-i vilken ordning texter ska visas. Systemet {r designat med m}let att
-det inte ska bli l}ngsammare {ven om m}nga klienter kopplar upp sig
-samtidigt, och det m}let har vi nog n}tt. (Att det kan g} l}ngsamt n{r
-5-6 personer k|r sin elispklient p} lysator.liu.se beror inte p}
-svarstiderna fr}n LysKOM-servern, utan p} att emacsarna blir
-l}ngsamma. De som k|r fr}n en obelastad maskin samtidigt m{rker inte
-att det g}r l}ngsamt (skryt, skryt:-)). (Nej, det finns inga m{tningar
-som bekr{ftar det h{r - men jag t{nker m{ta lite responstider senare i
-h|st).
-
-Med en smart klient skriven i c kommer LysKOM att bli snabbt. Om
-c-klienterna k|rs p} varsin maskin (var och en har sin egen
-arbetsstation) tror jag att systemet kommer att klara "tillr{ckligt"
-m}nga anv{ndare. (LysKOM {r ju ett lokalt media. Om hela v{rlden k|rde
-p} samma LysKOM-server i st{llet f|r att skriva news skulle det bli
-olidligt att l{sa LysKOM {ven om man bortser fr}n responstider...)
-
-P}peka g{rna eventuella oklarheter i den h{r texten. Jag t{nker skicka
-med den bland dokumentationen vi har i serverreleasen som vi snart
-g|r, s} jag vill att texten ska vara begriplig...
-(102868) -----------------------------------
-- 
GitLab