diff --git a/doc/prot-A.txt b/doc/prot-A.txt
index 7f025bca7c99a835419b69af0008f05f0b3c2863..c9ad3e48488bf517383269afcf39fdfa15964d50 100644
--- a/doc/prot-A.txt
+++ b/doc/prot-A.txt
@@ -11,35 +11,35 @@
 
 				LysKOM
 
-LysKOM {r ett datakonferenssystem. Andra liknande system {r QZ-KOM och
-PortaCOM. LysKOM {r Copyright (C) 1990 datorf|reningen Lysator vid
-Universitetet och Tekniska H|gskolan i Link|ping. Var och en till}ts
-fritt kopiera, {ndra och distribuera LysKOM dokument och program,
-givet att mottagarna ges samma r{ttigheter. Varken Lysator eller dess
-medlemmar tar n}got som helst ansvar f|r dokumentens eller programmens
-riktighet eller f|ljderna av deras anv{ndande.
+LysKOM är ett datakonferenssystem. Andra liknande system är QZ-KOM och
+PortaCOM. LysKOM är Copyright (C) 1990 datorföreningen Lysator vid
+Universitetet och Tekniska Högskolan i Linköping. Var och en tillåts
+fritt kopiera, ändra och distribuera LysKOM dokument och program,
+givet att mottagarna ges samma rättigheter. Varken Lysator eller dess
+medlemmar tar något som helst ansvar för dokumentens eller programmens
+riktighet eller följderna av deras användande.
 
 
-			    Den h{r texten
+			    Den här texten
 
-Den h{r texten specificerar version A av det protokoll som anv{nds
-mellan en klient (anv{ndarens program) och en server (databasen). Den
-h{r texten {r t{nkt att inneh}lla allt du beh|ver veta f|r att skriva
-en klient utan att veta n}got om servern, eller tv{rtom.
+Den här texten specificerar version A av det protokoll som används
+mellan en klient (användarens program) och en server (databasen). Den
+här texten är tänkt att innehålla allt du behöver veta för att skriva
+en klient utan att veta något om servern, eller tvärtom.
 
-Mitt syfte {r att den h{r texten skall vara s} fullst{ndig och korrekt
-som m|jligt. Om du hittar n}gra fel, eller kommer p} n}got som saknas,
-s} h|r g{rna av dig till mig. F|ljande {r de saker som jag vet saknas
-i den h{r texten:
+Mitt syfte är att den här texten skall vara så fullständig och korrekt
+som möjligt. Om du hittar några fel, eller kommer på något som saknas,
+så hör gärna av dig till mig. Följande är de saker som jag vet saknas
+i den här texten:
 
-	Vad som lagras i en anv{ndares "user-area", och hur.
+	Vad som lagras i en användares "user-area", och hur.
 
 
 				Filer
 
-Den h{r filen {r en mer systematisk sammanst{llning av nedan
-uppr{knade filer.  Det {r m|jligt att filerna har {ndrat namn, antal
-och utseende n{r du l{ser detta. S} h{r hette de den 3 juni 1991:
+Den här filen är en mer systematisk sammanställning av nedan
+uppräknade filer.  Det är möjligt att filerna har ändrat namn, antal
+och utseende när du läser detta. Så här hette de den 3 juni 1991:
 
 	2kom/doc/com-spec		-- borta!
 	2kom/doc/security-levels.txt
@@ -52,65 +52,65 @@ och utseende n{r du l{ser detta. S} h{r hette de den 3 juni 1991:
 
 		       Underliggande protokoll
 
-LysKOM Protokoll A kan k|ras ovanp} vilken tillf|rlitlig dubbelriktad
-8-bitars bytekanal som helst. I n|dfall kan det ocks} k|ras p} en
-7-bitars bytekanal. Idag k|rs det ovanp} Telnet/TCP/IP. P} Lysator
-anv{nds telnetport 4894 p} IP-host 130.236.254.12 (laila).  Data i
-protokoll A sker i ASCII klartext. I hollerithstr{ngar (se nedan) f}r
-godtyckliga 8-bitars bytes f|rekomma, men tanken {r att man skall
-kunna k|ra protokollet "r}tt" fr}n en textterminal.
+LysKOM Protokoll A kan köras ovanpå vilken tillförlitlig dubbelriktad
+8-bitars bytekanal som helst. I nödfall kan det också köras på en
+7-bitars bytekanal. Idag körs det ovanpå Telnet/TCP/IP. På Lysator
+används telnetport 4894 på IP-host 130.236.254.12 (laila).  Data i
+protokoll A sker i ASCII klartext. I hollerithsträngar (se nedan) får
+godtyckliga 8-bitars bytes förekomma, men tanken är att man skall
+kunna köra protokollet "rått" från en textterminal.
 
 
 		       Abstrakt syntaxnotation
 
-I den h{r specifikationen har en BNF-liknande grammatik anv{nts f|r
-att beskriva protokollets dataelement. Det {r mycket vetenskapligt,
-f|r s} g|r de som specar OSI-protokoll. Den h{r grammatiken borde
-likna ASN.1 mer {n den g|r, men jag har inte ASN.1-specen h{r.
-Dataf{lt har givits namn med liten begynnelsebokstav, datatyper med
+I den här specifikationen har en BNF-liknande grammatik använts för
+att beskriva protokollets dataelement. Det är mycket vetenskapligt,
+för så gör de som specar OSI-protokoll. Den här grammatiken borde
+likna ASN.1 mer än den gör, men jag har inte ASN.1-specen här.
+Datafält har givits namn med liten begynnelsebokstav, datatyper med
 stor. Operatorn "::=" definierar (som i BNF) och ":" ger typ (som i
 Pascal). Kommentarer inleds med "!" och avslutas med radslut (som i
-BLISS). Semikolon anv{nds som i C. De grundl{ggande typerna och deras
-notation beskrivs h{rn{st.
+BLISS). Semikolon används som i C. De grundläggande typerna och deras
+notation beskrivs härnäst.
 
 
-		       Grundl{ggande datatyper
+		       Grundläggande datatyper
 
-Dataelementen som skickas med protokollet }tskiljs av (godtyckliga
+Dataelementen som skickas med protokollet åtskiljs av (godtyckliga
 sekvenser av) mellanslag, tab-tecken, line-feed, return, eller NULL.
-Undvik att skicka NULL, men var beredd p} att tolka det som ett
+Undvik att skicka NULL, men var beredd på att tolka det som ett
 mellanslag.
 
-INTEGER {r icke-negativa heltal som skall rymmas p} 32 bitar. De
-skickas som text p} decimal form.
+INTEGER är icke-negativa heltal som skall rymmas på 32 bitar. De
+skickas som text på decimal form.
 
-HOLLERITH {r textstr{ngar. F|rst skickas str{ngens l{ngd som en
-INTEGER, sedan bokstaven "H" och d{refter (utan }tskiljande
-mellanslag!) texten. Texten f}r inneh}lla vilka byte-v{rden som helst
-fr}n 0 till 255.
+HOLLERITH är textsträngar. Först skickas strängens längd som en
+INTEGER, sedan bokstaven "H" och därefter (utan åtskiljande
+mellanslag!) texten. Texten får innehålla vilka byte-värden som helst
+från 0 till 255.
 
-BITSTRING skickas som text representerande ett heltal p} bin{r form.
-Antal bitar i str{ngen framg}r alltid av sammanhanget. [ven inledande
-nollor m}ste skickas. Siffran "1" representerar sant v{rde och "0"
-falskt. Bitarna skickas i den ordning de st}r listade i den abstrakta
+BITSTRING skickas som text representerande ett heltal på binär form.
+Antal bitar i strängen framgår alltid av sammanhanget. Även inledande
+nollor måste skickas. Siffran "1" representerar sant värde och "0"
+falskt. Bitarna skickas i den ordning de står listade i den abstrakta
 syntaxen.
 
 	shape-of-world : BITSTRING (
 	  is-flat; is-round; is-3d; is-2d;	! e.g. "0110"
 	)
 
-ARRAY {r en lista med ett visst antal element. Elementens typ noteras
-omedelbart efter ordet ARRAY. F|rst skickas en INTEGER som ger antalet
-element, sedan skickas tecknet "{", d{refter alla elementen i f|ljd
+ARRAY är en lista med ett visst antal element. Elementens typ noteras
+omedelbart efter ordet ARRAY. Först skickas en INTEGER som ger antalet
+element, sedan skickas tecknet "{", därefter alla elementen i följd
 och slutligen tecknet "}". Tecknen "{" och "}" fyller egentligen ingen
-funktion, men underl{ttar n{r man k|r protokollet "r}tt".  Exempel:
+funktion, men underlättar när man kör protokollet "rått".  Exempel:
 
 	hackers : ARRAY HOLLERITH;
 	! e.g. 4 { 8Haronsson 7Hbellman 4Hinge 5Hceder }
 
-SELECTION {r en INTEGER med efterf|ljande svans. Vilken typ svansen
-har beror p} v{rdet av heltalet. F|r vissa v{rden kan svansen vara
-tom. V{rdet anges i den abstrakta syntaxen med "nummer=namn".
+SELECTION är en INTEGER med efterföljande svans. Vilken typ svansen
+har beror på värdet av heltalet. För vissa värden kan svansen vara
+tom. Värdet anges i den abstrakta syntaxen med "nummer=namn".
 Exempel:
 
 	phrase : SELECTION (
@@ -118,10 +118,10 @@ Exempel:
 	  2=howdy	;			! e.g. "2"
 	)
 
-RPC {r en mycket speciell notation som anv{nds f|r protokoll med
-remote procedure calls, dvs fr}gor och svar. Notationen f|r RPC ser ut
-som SELECTION, men varje alternativ har tv} svansar: fr}gan och
-svaret. Selectornumret skickas bara tillsammans med fr}gan. Exempel:
+RPC är en mycket speciell notation som används för protokoll med
+remote procedure calls, dvs frågor och svar. Notationen för RPC ser ut
+som SELECTION, men varje alternativ har två svansar: frågan och
+svaret. Selectornumret skickas bara tillsammans med frågan. Exempel:
 
 	phrases : RPC (
 	  1=cost    inventory:INTEGER;	price:INTEGER;
@@ -131,33 +131,33 @@ svaret. Selectornumret skickas bara tillsammans med fr}gan. Exempel:
 	! e.g. "1 23"->"498" "3"->"4HLars" "2 1"->"1430"
 
 Datastrukturen struct/record markeras i den abstrakta syntaxen bara
-med omgivande "(" och ")". Detta inneb{r inte att n}gra extra tecken
+med omgivande "(" och ")". Detta innebär inte att några extra tecken
 skickas i protokollet.
 
 
 				Dialog
 
-En session b|rjar alltid med en uppkoppling, d{r klienten v{ljer
+En session börjar alltid med en uppkoppling, där klienten väljer
 protokoll genom att skicka en
 
-	uppkopplingsbeg{ran : ( "A"; loginnamn : HOLLERITH; )
+	uppkopplingsbegäran : ( "A"; loginnamn : HOLLERITH; )
 
-vilken besvaras fr}n servern av en
+vilken besvaras från servern av en
 
-	uppkopplingsbekr{ftelse : "LysKOM\n"
+	uppkopplingsbekräftelse : "LysKOMÖn"
 
-D{refter har vi finns bara RPC-protokollet commands. Klienten f}r
-skicka flera fr}gor innan den f}tt svar p} det f|rsta. F|r att h}lla
-reda p} till vilket anrop ett visst svar h|r, v{ljer klienten ett
-referensnummer att medf|lja och samma nummer }terfinns i svaret. Det
-{r klientens sak att fritt v{lja och h}lla reda p} referensnumren.
+Därefter har vi finns bara RPC-protokollet commands. Klienten får
+skicka flera frågor innan den fått svar på det första. För att hålla
+reda på till vilket anrop ett visst svar hör, väljer klienten ett
+referensnummer att medfölja och samma nummer återfinns i svaret. Det
+är klientens sak att fritt välja och hålla reda på referensnumren.
 
-	fr}ga : (
+	fråga : (
 	  ref-no : INTEGER;
 	  commands-call;
 	)
 
-som, om allt g}r som det skall, besvaras fr}n servern med
+som, om allt går som det skall, besvaras från servern med
 
 	ok-return : (
 	  "=";
@@ -165,7 +165,7 @@ som, om allt g}r som det skall, besvaras fr}n servern med
 	  commands-return;
 	)
 
-eller, om n}got misslyckades, med
+eller, om något misslyckades, med
 
 	error-return : (
 	  "%";
@@ -174,69 +174,69 @@ eller, om n}got misslyckades, med
 	  error-status : INTEGER;
 	)
 
-Det skall inte vara n}got tomrum mellan "=" respektive "%" och ref-no.
-Observera att {ven f|r de funktioner d{r f-return {r inneh}llsl|st
+Det skall inte vara något tomrum mellan "=" respektive "%" och ref-no.
+Observera att även för de funktioner där f-return är innehållslöst
 svarar servern med "=" eller "%" och ref-number. 
 
 
-		 S{kerhetsniv}er och privilegiebittar
+		 Säkerhetsnivåer och privilegiebittar
 
-S{kerhet och privilegier byggs i LysKOM med tv} komponenter: Varje
-person har sig ett antal bittar tilldelad (man kan s{ga att personen
-tillh|r ett antal grupper) och varje session har dessutom en
-s{kerhetsniv} (ett tal). Varje r{ttighet kr{ver en viss bitt och en
-viss minsta niv}. De senast aktuella kombinationerna
-bitt-niv}-r{ttighet beskrivs i filen 2kom/doc/security-levels.txt, h{r
+Säkerhet och privilegier byggs i LysKOM med två komponenter: Varje
+person har sig ett antal bittar tilldelad (man kan säga att personen
+tillhör ett antal grupper) och varje session har dessutom en
+säkerhetsnivå (ett tal). Varje rättighet kräver en viss bitt och en
+viss minsta nivå. De senast aktuella kombinationerna
+bitt-nivå-rättighet beskrivs i filen 2kom/doc/security-levels.txt, här
 ges en vackrare tabell:
 
-	Bitt	Niv}	R{ttighet
+	Bitt	Nivå	Rättighet
 	------------------------------------------------------
 	wheel				Normalt ej tilldelad
-		  0	Alltid logga in, {ven vid "crowded"
-		  6	S{tta alla Priv_bits f|r alla personer
-		  7	S{tta password f|r alla personer
-		  8	Vara organisat|r (supervisor) f|r allt
-		 10	Kan l{sa alla texter
+		  0	Alltid logga in, även vid "crowded"
+		  6	Sätta alla Priv_bits för alla personer
+		  7	Sätta password för alla personer
+		  8	Vara organisatör (supervisor) för allt
+		 10	Kan läsa alla texter
 	------------------------------------------------------
 	admin				Normalt ej tilldelad
-		  1	St{nga av servern
-		  1	S{tta motd_of_kom
-		  1	L{sa last_login
-		  2	L{sa status f|r hemliga m|ten och
+		  1	Stänga av servern
+		  1	Sätta motd_of_kom
+		  1	Läsa last_login
+		  2	Läsa status för hemliga möten och
 			personer
-		  2	L{sa de skyddade delarna av statusen
-		  2	L{sa hela text_statusen,
-			{ven vid hemliga mottagare
-		  3	Byta namn p} alla
+		  2	Läsa de skyddade delarna av statusen
+		  2	Läsa hela text_statusen,
+			även vid hemliga mottagare
+		  3	Byta namn på alla
 		  4	Addera/subtrahera medlemmar
 		  4	Addera/subtrahera mottagare till texter
-		  5	S{tta superm|te
+		  5	Sätta supermöte
 		  5	Radera texter
-		  6	S{tta administrat|r
+		  6	Sätta administratör
 	------------------------------------------------------
 	statistic			Normalt ej tilldelad
-		  2	L{sa statistikdelarna av Person-structen,
-			{ven om de {r skyddade.
+		  2	Läsa statistikdelarna av Person-structen,
+			även om de är skyddade.
 	------------------------------------------------------
 	create_conf			Normalt tilldelad
-		  0	Skapa m|ten
+		  0	Skapa möten
 	------------------------------------------------------
 	create_pers			Normalt tilldelad
 		  0	Skapa personer
 	------------------------------------------------------
 
-Enligt Thomas Bellmans erfarenheter anv{nder en administrat|r i
-praktiskt arbete bara niv}erna 0 och 255. I st{llet f|r
-s{kerhetsniv}er borde de enskilda privilegiebittarna sl}s p} och av
-individuellt. Detta kanske l|ses elegantare i kommande versioner av
+Enligt Thomas Bellmans erfarenheter använder en administratör i
+praktiskt arbete bara nivåerna 0 och 255. I stället för
+säkerhetsnivåer borde de enskilda privilegiebittarna slås på och av
+individuellt. Detta kanske löses elegantare i kommande versioner av
 protokollet.
 
 
 			       Felkoder
 
-De felkoder som f|rekommer som svar p} RPC-anrop {r nedanst}ende. H{r
-{r de f|rklarade i nummerordning. Det finns en kort lista i alfabetisk
-ordning strax efter}t.
+De felkoder som förekommer som svar på RPC-anrop är nedanstående. Här
+är de förklarade i nummerordning. Det finns en kort lista i alfabetisk
+ordning strax efteråt.
 
 	Error-No : SELECTION (
 	  0=no-error;		! No error has occured
@@ -264,7 +264,7 @@ ordning strax efter}t.
 	  22=secret-public;	! Cannot be secret and !rd-prot
 	  23=letter-box;	! Cannot change letter-box flag
 	  24=ldb-err;		! Should never happen,
-				! unless Willf|r makes a mistake.
+				! unless Willför makes a mistake.
 	  25=ill-misc;		! Illegal misc field.
 				! err-stat holds field no
 	  26=illegal-info-type;	! Info-type parameter was illegal.
@@ -319,14 +319,14 @@ ordning strax efter}t.
 
 			   Asynkrona anrop
 
-N{r som helst kan servern skicka ut ett asynkront anrop. En klient
-beh|ver inte bry sig om dem. Det g}r bra att l{sa undan dem n{r ett
-svar skall l{sas. Asynkrona meddelanden b|rjar alltid med ":" och ett
-heltal som talar om hur m}nga parametrar som kommer. D{refter kommer
-en selector och parametrarna. Precis som f|r ok- och error-return {r
-d{r inget tomrum mellan ":" och f|rsta heltalet. I f|rklaringen nedan
+När som helst kan servern skicka ut ett asynkront anrop. En klient
+behöver inte bry sig om dem. Det går bra att läsa undan dem när ett
+svar skall läsas. Asynkrona meddelanden börjar alltid med ":" och ett
+heltal som talar om hur många parametrar som kommer. Därefter kommer
+en selector och parametrarna. Precis som för ok- och error-return är
+där inget tomrum mellan ":" och första heltalet. I förklaringen nedan
 listas de asynkrona anropen i nummerordning, men en alfabetiskt
-sorterad lista f|ljer strax d{rp}.
+sorterad lista följer strax därpå.
 
 
 asynk-meddelande ::= (
@@ -338,17 +338,17 @@ asynk-meddelande ::= (
 	! En ny text har skapats.
 
     1=logout	person : Pers-No;
-	! G}r {ven under namnet "i-am-off" (i C-koden).
-	! K{llkoden f|r Elispklienten g|r g{llande att
-	! asynkrona anropet nummer 1 {r taget ur bruk.
-	! Det {r ersatt av anrop 13 som anger sessionsnummer.
+	! Går även under namnet "i-am-off" (i C-koden).
+	! Källkoden för Elispklienten gör gällande att
+	! asynkrona anropet nummer 1 är taget ur bruk.
+	! Det är ersatt av anrop 13 som anger sessionsnummer.
 
     2=who-info	( person : Pers-No;
 		  conference : Conf-No;
 		  what-am-i-doing : HOLLERITH; )
-	! K{llkoden f|r Elispklienten g|r g{llande att
+	! Källkoden för Elispklienten gör gällande att
 	! asynkrona anropet nummer 2 heter login, men att
-	! det hur som helst {r taget ur bruk och ersatt av
+	! det hur som helst är taget ur bruk och ersatt av
 	! asynkrona anropet nummer 9.
 
     3=conf-deleted	! Anv ej av Elispklienten
@@ -359,7 +359,7 @@ asynk-meddelande ::= (
 		( conf-no : Conf-No;
 		  old-name : HOLLERITH;
 		  new-name : HOLLERITH; )
-	! G}r {ven under namnet "new-name" (i C-koden).
+	! Går även under namnet "new-name" (i C-koden).
 
     6=i-am-on	info : Who-Info;
     7=database-is-syncing
@@ -372,22 +372,22 @@ asynk-meddelande ::= (
     10=broadcast-message
 		( sender : Pers-No;
 		  message : HOLLERITH; )
-	! Det vore estetiskt f|rdelaktigt om servern aldrig skickade
-	! asynkrona anropet nummer 10 utan h|ll sig till nummer 12.
+	! Det vore estetiskt fördelaktigt om servern aldrig skickade
+	! asynkrona anropet nummer 10 utan höll sig till nummer 12.
 
     11=crowded	;
-	! Asynkrona anropet nummer 11 betyder att n}gon har
+	! Asynkrona anropet nummer 11 betyder att någon har
 	! misslyckats logga in, eftersom servern inte har fler
-	! lediga f|rbindelser. Den ansvarsk{nnande anv{ndaren
-	! kan nu v{lja att logga ut f|r att bereda plats.
+	! lediga förbindelser. Den ansvarskännande användaren
+	! kan nu välja att logga ut för att bereda plats.
 
     12=directed-message
 		( recipient : Pers-No;
 		  sender : Pers-No;
 		  message : HOLLERITH;  )
-	! Om argumentet recipient {r noll (0) i asynkrona anropet
-	! nummer 12, s} {r meddelandet riktat till alla inloggade.
-	! Det {r {nnu inte m|jligt att rikta ett meddelande till
+	! Om argumentet recipient är noll (0) i asynkrona anropet
+	! nummer 12, så är meddelandet riktat till alla inloggade.
+	! Det är ännu inte möjligt att rikta ett meddelande till
 	! en viss session.
 
     13=new-logout
@@ -397,8 +397,8 @@ asynk-meddelande ::= (
 )
 
 En asterisk (*) efter numret i tabellen nedan anger att det asynkrona
-anropet ersatts av n}got annat. Se ovan under respektive anrop f|r
-n{rmare beskrivning.
+anropet ersatts av något annat. Se ovan under respektive anrop för
+närmare beskrivning.
 
 	   Nr	Asynkront anrop	   Nr	Asynkront anrop
 	------------------------------------------------------
@@ -416,16 +416,16 @@ n{rmare beskrivning.
 
 Klienten skickar RPC-anrop med parametrar till servern. Servern svarar
 endera med ett felmeddelande (se ovan i avsnitten Dialog och Felkoder)
-eller med ett returv{rde. Nedan ges BNF-grammatiken f|r de datatyper
-som anv{nds i parametrar och returv{rden. RPC-anropen listas i
-alfabetisk ordning, men en numeriskt sorterad lista f|ljer strax
-efter}t.
+eller med ett returvärde. Nedan ges BNF-grammatiken för de datatyper
+som används i parametrar och returvärden. RPC-anropen listas i
+alfabetisk ordning, men en numeriskt sorterad lista följer strax
+efteråt.
 
 
 commands : RPC (
   ! Anropsnummer och -namn
-	! Datayp f|r anropsparameter
-	! Datatyp f|r returv{rde
+	! Datayp för anropsparameter
+	! Datatyp för returvärde
 	
   32=add-comment
 	params : ( comment : Text-No;
@@ -444,11 +444,11 @@ commands : RPC (
 		   priority : INTEGER;
 		   where : INTEGER;	 )
 	;
-	! Addera angiven person som medlem i angivet m|te
-	! Priority {r prioriteten p} l{slistan
-	! Where {r placering p} listan, 0 (noll) eller st|rre
-	! RPC-anropet nummer 14 anv{nds {ven senare f|r att {ndra
-	! prioritet och plats p} listan.
+	! Addera angiven person som medlem i angivet möte
+	! Priority är prioriteten på läslistan
+	! Where är placering på listan, 0 (noll) eller större
+	! RPC-anropet nummer 14 används även senare för att ändra
+	! prioritet och plats på listan.
 
   30=add-recipient
 	! The sequence "conf-no, type" is a reversed Misc-Info.
@@ -462,21 +462,21 @@ commands : RPC (
 	message : HOLLERITH;
 	;
 	! Ett privilegierat anrop.
-	! Samma effekt kan n}s genom magisk parameter till anrop 53.
-	! En gammal felaktig kommentar g|r g{llande att parametern
-	! skulle vara ett text-no, men s} {r inte fallet.
+	! Samma effekt kan nås genom magisk parameter till anrop 53.
+	! En gammal felaktig kommentar gör gällande att parametern
+	! skulle vara ett text-no, men så är inte fallet.
 
    3=change-name
 	change-name-params : ( conf-no : Conf-No;
 			       new-name : HOLLERITH; )
 	;
-	! Anropet nummer 3 byter namn p} angivet m|te eller person.
+	! Anropet nummer 3 byter namn på angivet möte eller person.
 
    4=change-what-i-am-doing
 	what-am-i-doing : HOLLERITH;
 	;
 	! Den medskickade texten kommer att visas i vilka-listan,
-	! se {ven anropet nummer 51.
+	! se även anropet nummer 51.
 
   10=create-conf
 	params : ( name : HOLLERITH;
@@ -487,7 +487,7 @@ commands : RPC (
 	create-person-params : ( name : HOLLERITH;
 				 passwd : HOLLERITH; )
 	Pers-No;
-	! En ny person skapas med angivet namn och l|senord.
+	! En ny person skapas med angivet namn och lösenord.
 	! Den skapade personens personnummer returneras.
 
   28=create-text
@@ -500,7 +500,7 @@ commands : RPC (
   11=delete-conf
 	conf : Conf-No;
 	;
-	! Utpl}na ett m|te eller en person.
+	! Utplåna ett möte eller en person.
 
   29=delete-text
 	Text-No;
@@ -523,17 +523,17 @@ commands : RPC (
   50=get-conf-stat
 	conf-no : Conf-No;
 	result : Conference;
-	! Returnera m|tesstatus f|r angivet m|te
+	! Returnera mötesstatus för angivet möte
 
   13=get-conf-stat-old
 	params : ( conf-no : Conf-No;
 		   mask : INTEGER;	 )
 	result : Conference
-	! Eftersom den mask som ing}r i params f|ga beaktas,
+	! Eftersom den mask som ingår i params föga beaktas,
 	! har anropet nummer 13 ersatts av anropet 50.
-	! M|tesstatusen f|r det angivna m|tet returneras.
-	! Om masken {r ett j{mnt tal, s} skickas ett tomt f{lt (0H)
-	! name i svaret. Fr}n b|rjan var det t{nkt:
+	! Mötesstatusen för det angivna mötet returneras.
+	! Om masken är ett jämnt tal, så skickas ett tomt fält (0H)
+	! name i svaret. Från början var det tänkt:
 	! mask = name + members + texts + list-sizes -- just use 255
 
   47=get-created-texts
@@ -572,16 +572,16 @@ commands : RPC (
   49=get-person-stat
 	person : Pers-No;
 	result : Person;
-	! Personstatusen f|r den angivna personen returneras.
+	! Personstatusen för den angivna personen returneras.
 
    6=get-person-stat-old
 	params : ( person : Pers-No;
 		   mask : INTEGER;   )
 	result : Person;
-	! Eftersom den mask som ing}r i params f|ga beaktas,
+	! Eftersom den mask som ingår i params föga beaktas,
 	! har anropet nummer 6 ersatts av anropet 49.
-	! Personstatusen f|r den angivna personen returneras.
-	! Om masken {r ett j{mnt tal, s} skickas ett tomt f{lt (0H)
+	! Personstatusen för den angivna personen returneras.
+	! Om masken är ett jämnt tal, så skickas ett tomt fält (0H)
 	! username i svaret.
 
   36=get-server-info
@@ -625,8 +625,8 @@ commands : RPC (
   12=lookup-name
 	name : HOLLERITH;
 	result : Conf-List-Old;
-	! Expandera ett f|rkortat namn och returnera en lista
-	! med nummer p} de m|ten och personer som det kan vara.
+	! Expandera ett förkortat namn och returnera en lista
+	! med nummer på de möten och personer som det kan vara.
 	! Se kommentaren vid definitionen av Conf-List.
 
   27=mark-as-read
@@ -644,45 +644,45 @@ commands : RPC (
    2=pepsi
 	Conf-No;
 	;
-	! Anropet nummer 2 anv{nds f|r att g} till det angivna m|tet.
-	! Det engelska namnet {r change conference.
-	! Namnet "Pepsi" h|r till avdelningen mer krystade vitsar.
+	! Anropet nummer 2 används för att gå till det angivna mötet.
+	! Det engelska namnet är change conference.
+	! Namnet "Pepsi" hör till avdelningen mer krystade vitsar.
 
    9=query-read-texts
 	params : ( pers-no : Pers-No;
 		   conf-no : Conf-No;  )
 	result : Membership;
-	! Man kan fr}ga efter ol{sta utan att logga in.
+	! Man kan fråga efter olästa utan att logga in.
 
   53=send-message
 	params : ( recipient : Pers-No;
 		   message : HOLLERITH; )
 	;
 	! Ett privilegierat anrop.
-	! Om mottagaren {r nummer noll, skickas meddlandet till
-	! samtliga inloggade personer. Detta kan ers{tta anrop 45.
+	! Om mottagaren är nummer noll, skickas meddlandet till
+	! samtliga inloggade personer. Detta kan ersätta anrop 45.
 
   17=set-conf-motd
 	params : ( conf-no : Conf-No;
 		   text-no : Text-No; )
 	;
-	! S{tt lappen text-no p} d|rren till conf-no.
+	! Sätt lappen text-no på dörren till conf-no.
 	! Set-presentation och set-etc-motd trollar dessutom
-	! med f{ltet no-of-marks i textstatusen f|r den gamla
+	! med fältet no-of-marks i textstatusen för den gamla
 	! och den nya presentationstexten.
-	! Anrop 17 hette f|rr set-etc-motd med samma semantik.
+	! Anrop 17 hette förr set-etc-motd med samma semantik.
 
   21=set-conf-type
 	params : ( conf-no : Conf-No;
 		   type : Conf-Type   )
 	;
-	! M|tet conf-no {r av typen type.
+	! Mötet conf-no är av typen type.
 
   22=set-garb-nice
 	params : ( conf-no : Conf-No;
 		   nice : Garb-Nice;  )
 	;
-	! Inl{gg i m|tet conf-no sparas i nice dagar innan de raderas.
+	! Inlägg i mötet conf-no sparas i nice dagar innan de raderas.
 
   41=set-motd-of-lyskom
 	motd : Text-No;
@@ -696,61 +696,61 @@ commands : RPC (
 		   old-pwd : HOLLERITH;
 		   new-pwd : HOLLERITH; )
 	;
-	! Ge personen ett nytt l|senord. Old-pwd {r det (gamla)
-	! l|senordet f|r personen som g|r RPC-anropet (inte
-	! n|dv{ndigt samma som anges av f|rsta argumentet).
+	! Ge personen ett nytt lösenord. Old-pwd är det (gamla)
+	! lösenordet för personen som gör RPC-anropet (inte
+	! nödvändigt samma som anges av första argumentet).
 
   19=set-permitted-submitters
 	params : ( conf-no : Conf-No;
 		   perm-sub : Conf-No; )
 	;
-	! M|tet conf-no {r skrivskyddat.
-	! Endast medlemmar i perm-sub f}r skriva inl{gg i conf-no.
-	! Om perm-sub {r 0 (noll) (???) {r m|tet inte skrivskyddat.
+	! Mötet conf-no är skrivskyddat.
+	! Endast medlemmar i perm-sub får skriva inlägg i conf-no.
+	! Om perm-sub är 0 (noll) (???) är mötet inte skrivskyddat.
 
   16=set-presentation
 	params : ( conf-no : Conf-No;
 		   text-no : Text-No; )
 	;
-	! [ndra presentationen f|r angivet m|te eller person.
-	! Ange text-no 0 (noll) f|r att ta bort presentationen.
+	! Ändra presentationen för angivet möte eller person.
+	! Ange text-no 0 (noll) för att ta bort presentationen.
 	! Set-presentation och set-etc-motd trollar dessutom
-	! med f{ltet no-of-marks i textstatusen f|r den gamla
+	! med fältet no-of-marks i textstatusen för den gamla
 	! och den nya presentationstexten.
 
    7=set-priv-bits
 	params : ( person : Pers-No;
 		   privileges : Priv-Bits )
 	;
-	! Ge eller ta n}gra bittar f|r den angivna personen.
+	! Ge eller ta några bittar för den angivna personen.
 
   20=set-super-conf
 	params : ( conf-no : Conf-No;
 		   super-conf : Conf-No; )
 	;
-	! G|r super-conf till superm|te (organisat|r?) f|r m|tet
-	! conf-no. Om conf-no {r skrivskyddat, s} skickas eventuella
-	! brev vidare till superm|tet.
+	! Gör super-conf till supermöte (organisatör?) för mötet
+	! conf-no. Om conf-no är skrivskyddat, så skickas eventuella
+	! brev vidare till supermötet.
 
   18=set-supervisor
 	params : ( conf-no : Conf-No;
 		   admin : Conf-No; )
 	;
-	! G|r alla medlemmar i m|tet admin till administrat|rer (???)
-	! f|r m|tet conf-no. Admin {r typiskt en persons brevl}da.
+	! Gör alla medlemmar i mötet admin till administratörer (???)
+	! för mötet conf-no. Admin är typiskt en persons brevlåda.
 
   40=set-unread
 	params : ( conference : Conf-No;
 		   no-of-unread : INTEGER; )
 	;
-	! Endast l{sa no-of-unread senaste i angivet m|te.
+	! Endast läsa no-of-unread senaste i angivet möte.
 
   57=set-user-area
 	params : ( pers-no : Pers-No;
 		   user-area : Text-No; )
 	;
-	! Angiven text anv{nds f|r att lagra angiven persons
-	! variabler. Hur detta g}r till borde kanske behandlas
+	! Angiven text används för att lagra angiven persons
+	! variabler. Hur detta går till borde kanske behandlas
 	! i ett separat kapitel.
 
   44=shutdown
@@ -759,7 +759,7 @@ commands : RPC (
 	! This is a privileged call.
 	! Shutdown server.
 	! An old comment says exit-val is not used by the server.
-	! Samma effekt n}s genom kill -HUP mot servern.
+	! Samma effekt nås genom kill -HUP mot servern.
 
   33=sub-comment
 	params : ( comment : Text-No;
@@ -775,7 +775,7 @@ commands : RPC (
 	params : ( conf-no : Conf-No;
 		   pers-no : Pers-No; )
 	;
-	! Subtrahera angiven person som medlem i angivet m|te.
+	! Subtrahera angiven person som medlem i angivet möte.
 
   31=sub-recipient
 	params : ( text-no : Text-No;
@@ -787,7 +787,7 @@ commands : RPC (
 	;
 	;
 	! Make LysKOM sync its files. This is a privileged call.
-	! Samma effekt n}s med kill -SIGUSR1 mot servern.
+	! Samma effekt nås med kill -SIGUSR1 mot servern.
 
   56=who-am-i
 	;
@@ -796,16 +796,16 @@ commands : RPC (
   39=who-is-on-old
 	;
 	result : Who-Info-List-Old;
-	! Anrop nummer 39 {r ersatt av anrop 51, vars svar ger
+	! Anrop nummer 39 är ersatt av anrop 51, vars svar ger
 	! mer information.
 
   51=who-is-on
 	;
 	result : Who-Info-List;
-	! Svaret {r en lista med information om nu aktiva sessioner.
+	! Svaret är en lista med information om nu aktiva sessioner.
 )
 
-De anrop vars nummer i listan nedan f|ljs av en asterisk (*) {r
+De anrop vars nummer i listan nedan följs av en asterisk (*) är
 ersatta av modernare verianter i den nuvarande versionen (0.33) av
 Elisp-klienten.
 
@@ -846,21 +846,21 @@ Elisp-klienten.
 
 			Konstruerade datatyper
 
-H{r definieras de datatyper som sedan anv{nds i RPC-anrop fr}n
-klienten till servern och i asynkrona anrop fr}n servern till
+Här definieras de datatyper som sedan används i RPC-anrop från
+klienten till servern och i asynkrona anrop från servern till
 klienten. Datatyperna listas i bokstavsordning.
 
 
 ! Pers-no and Conf-no are u_shorts in the same domain.
 Conf-No ::= INTEGER;
-Conf-No-List ::= ARRAY Conf-No;		! Anv{nds var?
+Conf-No-List ::= ARRAY Conf-No;		! Används var?
 
 Conf-List ::= ARRAY ( conference : Conf-No;
 		      type : Conf-Type;	    )
 
-! Som svar p} anrop 12 ges Conf-List-Old, som inte kan formuleras
-! med den h{r BNF-grammatiken. Conf-List borde returneras, men d}
-! vore inte LysKOM bak}tkompatibelt.
+! Som svar på anrop 12 ges Conf-List-Old, som inte kan formuleras
+! med den här BNF-grammatiken. Conf-List borde returneras, men då
+! vore inte LysKOM bakåtkompatibelt.
 ! Conf-List-Old:   "3 { 3 45 62 } { 1001 0000 1001 }"
 ! Conf-List:	   "3 { 3 1001  45 0000  62 1001 }"
 
@@ -892,10 +892,10 @@ Garb-Nice ::= INTEGER;			! Number of days
 
 Info ::= (
   version : INTEGER;
-  conf-pres-conf : Conf-No;		! M|tet Pres (nya) m|ten
-  pers-pres-conf : Conf-No;		! M|tet Pres (nya) medlemmar
-  motd-conf : Conf-No;			! M|tet Lappar p} d|rren
-  kom-news-conf : Conf-No;		! M|tet Nyheter om LysKOM
+  conf-pres-conf : Conf-No;		! Mötet Pres (nya) möten
+  pers-pres-conf : Conf-No;		! Mötet Pres (nya) medlemmar
+  motd-conf : Conf-No;			! Mötet Lappar på dörren
+  kom-news-conf : Conf-No;		! Mötet Nyheter om LysKOM
   motd-of-lyskom : Text-No;		! Visas vid login
 )
 
@@ -905,8 +905,8 @@ Info ::= (
 Local-Text-No ::= INTEGER;
 
 Mark ::= ( text-no : Text-No; type : INTEGER )
-	! Servern ger sig inte p} att tolka markeringstypen,
-	! det {r helt upp till klienten.
+	! Servern ger sig inte på att tolka markeringstypen,
+	! det är helt upp till klienten.
 
 Mark-List ::= ARRAY Mark;
 
@@ -932,9 +932,9 @@ Misc-Info ::= SELECTION (
   5=footn-in	footnoted-in : Text-No;		! Fotnot i
   6=loc-no	local-no : Local-Text-No	! Lokalt textnummer
   7=rec-time	received-at : Time;		! Mottaget tid
-  8=sent-by	sender : Pers-No;		! S{nt av
-  9=sent-at	sent-at : Time;			! S{nt n{r
-! 10=...-recpt	???				! F|r k{nnedom
+  8=sent-by	sender : Pers-No;		! Sänt av
+  9=sent-at	sent-at : Time;			! Sänt när
+! 10=...-recpt	???				! För kännedom
 )
 
 Pers-List ::= ARRAY Pers-No;
@@ -964,17 +964,17 @@ Person ::= (
 
 Personal-Flags ::= BITSTRING (
   unread-is-secret;
-	! V{rdet 1 betyder att antalet ol{sta texter h}lls hemligt
+	! Värdet 1 betyder att antalet olästa texter hålls hemligt
   flg2; flg3; flg4; flg5; flg6; flg7; flg8;
 )
 
-! Se avsnittet ovan om s{kerhetsniv}er och privilegiebittar.
+! Se avsnittet ovan om säkerhetsnivåer och privilegiebittar.
 Priv-Bits ::= BITSTRING (
   wheel; admin; statistic; create_pers; create_conf; change_name;
   flg7; flg8; flg9; flg10; flg11; flg12; flg13; flg14; flg15; flg16;
 )
 
-! Session-Info {r v{ldigt likt Who-Info.
+! Session-Info är väldigt likt Who-Info.
 Session-Info ::= (
   person : Pers-No;
   working-conference : Conf-No;
@@ -982,8 +982,8 @@ Session-Info ::= (
   what-am-i-doing : HOLLERITH;
   username : HOLLERITH;		! user@host
   idle-time : INTEGER;		! Sekunder sedan senaste anrop
-  connection-time : Time;	! Tid och datum f|r uppkoppling
-				! Detta {r ej detsamma som login-tid
+  connection-time : Time;	! Tid och datum för uppkoppling
+				! Detta är ej detsamma som login-tid
 )
 
 ! Session numbers are unique to each session. A person can have
@@ -1015,7 +1015,7 @@ Time ::= (
   mday : INTEGER;		! 1 ... 31
   month : INTEGER;		! jan = 0 ... dec = 11
   year : INTEGER;		! Sedan 1900
-  weekday : INTEGER;		! s|n = 0 ... SAT = 6
+  weekday : INTEGER;		! sön = 0 ... SAT = 6
   yearday : INTEGER;		! 0 ... 365
   isdst : INTEGER;		! positivt = sommartid, 0 = normaltid
 )
@@ -1041,16 +1041,16 @@ Who-Info-List ::= ARRAY Who-Info;
 
 			       Exempel
 
-Nedan ett exempel fr}n en verklig LysKOM-session. Kommentarer har jag
-gett med "!" som i grammatiken. Exemplet {r gammalt och inneh}ller en
-del detaljer som senare tagits ur bruk, men det ger {nd} en ide om hur
-det r}a protokollet ser ut.
+Nedan ett exempel från en verklig LysKOM-session. Kommentarer har jag
+gett med "!" som i grammatiken. Exemplet är gammalt och innehåller en
+del detaljer som senare tagits ur bruk, men det ger ändå en ide om hur
+det råa protokollet ser ut.
 
 	$ telnet laila 4894
 	Trying 130.236.254.12 ...
 	Connected to laila.lysator.liu.se.
 	Escape character is '^]'.
-	A8Haronsson	 		! Jag k|r protokoll A
+	A8Haronsson	 		! Jag kör protokoll A
 	LysKOM 				! LysKOM svarar
 	1 12 13HLars Aronsson 		! lookup-name
 	=1 2 { 8 38 } { 1001 1001 } 	! Person 8 eller Person 38
@@ -1060,8 +1060,8 @@ det r}a protokollet ser ut.
 	:3 2 8 0 0H 			! Person 8 loggade just in
 	=2 				! login OK
 	3 10 23HAntikommunistiskt Forum 0000 
-					! Jag skapar ett |ppet m|te
-	=3 57 				! OK, m|te 57 skapat
+					! Jag skapar ett öppet möte
+	=3 57 				! OK, möte 57 skapat
 	4 1 				! Jag loggar ut
 	:1 1 8 				! Person 8 loggade just ut
 	=4 				! logout OK