elisp-client.texinfo 79.4 KB
Newer Older
Linus Tolke's avatar
Linus Tolke committed
1
2
3
4
% -*-texinfo-*-
\input svensktexinfo

@setfilename elisp-client
5
@settitle Användarhandledning LysKOMs emacslispklient
6
7
8
9
10
11
12
13
14
15
16

@c 
@c  Jag har bara anvent funktions, variable och key indexen.
@c  funktions-indexet anv{nds f|r olika funktioner. B}de
@c  elisp-funktioner och "funktioner" p} lyskom-niv}.
@c  variable-indexet anv{nds f|r variabler och flaggor, b}de emacs-lisp
@c  flaggor och environment-variabler
@c  key-indexet anv{nds f|r tangentbordsbindningar.
@c


Linus Tolke's avatar
Linus Tolke committed
17
18
19
20
21
22
23
24
25
@setchapternewpage odd

@comment @documentstyle[12pt,latexinfo,lyskom]{rapport} @c -*- latexinfo -*- This must be the first line.

@ifinfo
$Id$
@end ifinfo

@iftex
26
27
28
@hyphenation{admini-stra-törs-mode admini-stra-tör använ-dar-namn}
@hyphenation{data-bas-filen default-prio-ri-tet}
@hyphenation{email-adress even-tu-ella}
29
30
31
@hyphenation{emacs-lisp-biblioteket}
@hypgenation{emacs-lisp-program}
@hyphenation{förut-sätt-ningar}
32
@hyphenation{inlogg-ningarna}
33
@hyphenation{klient-modell}
34
35
36
37
38
39
@hyphenation{kom-man-don}
@hyphenation{kom-men-taren kom-men-tarer kom-men-tar}
@hyphenation{kom-men-tars-träd}
@hyphenation{kon-ver-terings-tabellen}
@hyphenation{lösen-ordet}
@hyphenation{mar-ker-ingen}
Linus Tolke's avatar
Linus Tolke committed
40
41
42
@hyphenation{med-lem-mar}
@hyphenation{name-server}
@hyphenation{per-sonen}
43
@hyphenation{prefix-argu-ment}
44
@hyphenation{server-klient-modell}
45
46
47
@hyphenation{sessions-nummer-ordning}
@hyphenation{tangent-bords-bind-ningar}
@hyphenation{ver-sionen versions-nummer}
Linus Tolke's avatar
Linus Tolke committed
48
49
50
@end iftex

@titlepage
51
@title Användarhandledning för LysKOMs emacslispklient
Linus Tolke's avatar
Linus Tolke committed
52
53
@subtitle En LysKOM-klient för GNU emacs.

54
@author Linus Tolke @file{linus@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
55
56
@author Per Cederqvist @file{ceder@@lysator.liu.se}
@author Inge Wallin @file{ingwa@@isy.liu.se} eller @file{inge@@lysator.liu.se}
David Byers's avatar
David Byers committed
57
@author David Byers @file{byers@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
58
59

@page
60
Copyright @copyright{} 1991,1992,1993,1994 Lysator
Linus Tolke's avatar
Linus Tolke committed
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

This file is part of the LysKOM server.

LysKOM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 1, or (at your option) 
any later version.

LysKOM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with LysKOM; see the file COPYING.  If not, write to
Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
MA 02139, USA.

Please mail bug reports to bug-lyskom@@lysator.liu.se.

Tillstånd ges att kopiera denna manual och distribuera kopiorna, under
förutsättning att denna copyrightnot och denna text finns med på alla
kopior.

86
@page
Linus Tolke's avatar
Linus Tolke committed
87
88
89
Författarna till denna klient är alla medlemmar i Datorföreningen
Lysator vid Linköpings Tekniska Högskola --- LiTH.

90
Den som för tillfället arbetar mest med LysKOMs emacslispklient är:
91
92

Linus Tolke --- @file{linus@@lysator.liu.se}
David Byers's avatar
David Byers committed
93
David Byers --- @file{byers@@lysator.liu.se}
94
95

Andra mer eller mindre aktiva personer är:
Linus Tolke's avatar
Linus Tolke committed
96
97
98

Per Cederqvist --- @file{ceder@@lysator.liu.se}
Inge Wallin --- @file{ingwa@@isy.liu.se} eller @file{inge@@lysator.liu.se}
99
100
101
Thomas Bellman --- @file{bellman@@lysator.liu.se}
Lars Aronsson --- @file{aronsson@@lysator.liu.se}
Lars Willför --- @file{willfor@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
102
103
104
105
106
107
108
109
110
@end titlepage


@node Top, Förord, (dir), (dir)
@ifinfo
LysKOM-Projektet

En klient skriven i GNU-emacs-lisp.

111
@c Don't change this line. Check install in Makefile.
112
Dokumentationen uppdaterad till klient version 0.38
Linus Tolke's avatar
Linus Tolke committed
113
114
115
@end ifinfo

@menu
116
* Förord::                      Förord
117
* Historia::                    
118
* Servern::                     Servern
119

120
121
* Uppstart::                    Uppstart
* Första gången::               Första gången du kör LysKOM
122

123
* Möten::                       Om möten
124

125
126
127
128
129
130
131
132
* Köra LysKOM::                 Köra LysKOM
* Namn::                        Namn
* Skriva inlägg::               Att skriva inlägg
* Vilkabufferten::              Vilkabufferten
* Flaggor::                     Flaggor
* Variabler::                   Variabler
* Hookar::                      Hookar
* Environmentvariabler::        Environmentvariabler
133

134
135
136
137
138
139
140
141
142
143
* Buggrapporter::               Buggrapporter
* Filer::                       Filer
* Index::                       Index
* Tangenterna::                 Tangenterna
* Variabelindex::               Variabelindex

 --- Den specificerade nodlistan ---

Förord

144
* Historia:: Lite om koms historia fram till LysKOM.
145
* Utveckling av klienten:: Förutsättningarna för lyskom-projektet.
146
* Andra klienter:: Alternativ till LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
147
148
149

Uppstart

150
151
152
153
154
155
156
157
* Lysator::			Koppla upp sig från lysator.
* Andra maskiner::		Hur du för annars.


Köra LysKOM

* Prompten::			Hur LysKOMs prompt fungerar.
* Scrollning::			Hur LysKOM scrollar och varför.
David Byers's avatar
David Byers committed
158
* Filtrering::                  Hur du väljer bort vissa inlägg.
159
160
161
162
163
164
* Kommandon::			Vilka kommandon finns och vad gör de.

* Administratörskommandon::	Administratörskommandon

Kommandon

165
* Läsa::			De vanligaste kommandona för att läsa inlägg.
166
167
168
169
170
171
172
173
174
175
* Få hjälp::			Hjälpkommandot är beskrivet

* Skriva::			Skriva
* Lista::			Kommandon för att lista information.
* Bli medlem::			Hur du blir medlem i och utträder ur möten.
* Sluta::			När du har läst klart

* Annat::			
* Ändra::			Kommandon för att ändra dina parametrar.

176
* Återse::			Kommandon för att återse inlägg.
177
178
* Status::			Kommandon för att få status.

179
* Spara text::			Spara ett eller flera inlägg
180
181
182
183
184
185
* Markeringar::			Kommandon för att hantera markeringar.
* Skapa::			Kommandon för att skapa möten.
* Kommandon för att addera och subtrahera::  Kommandon för att addera och subtrahera.
* Ändra personuppgifter::	
* Ändra mötesuppgifter::	
* Meddelande::			Meddelande
David Byers's avatar
David Byers committed
186
* Filtrera::                    Kommandon för att filtrera inlägg.
187
188
189
190
191
192
193
194
195
* Prioritera::			Kommando för att prioritera om möten.

* Ändra inställningarna::	

Ändra

* Ändra personuppgifter::	övriga ändrakommandon för personer.
* Ändra mötesuppgifter::övriga ändrakommandon för möten.
* Ändra inställningarna:: Hur man ändrar LysKOMklientens parametrar.
Linus Tolke's avatar
Linus Tolke committed
196
197
@end menu

198
@node Förord, Servern, Top, Top
Linus Tolke's avatar
Linus Tolke committed
199
200
201
202
@comment  node-name,  next,  previous,  up
@chapter Förord

Meningen med detta dokument är att den ska beskriva allt man behöver
203
veta om LysKOMs emacslisp-klient för att kunna använda den. Det förutsätts
204
205
206
att läsaren känner till GNU-emacs. Om användaren har använt QZ-KOM är
detta en fördel, men det är på inget vis nödvändigt för förståelsen av
LysKOM.
Linus Tolke's avatar
Linus Tolke committed
207
208

@menu
209
* Historia:: Lite om koms historia fram till LysKOM.
210
* Utveckling av klienten:: Förutsättningarna för lyskom-projektet.
211
* Andra klienter:: Alternativ till LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
212
213
@end menu

214
@c Ja, den h{r noden och de f|ljande: Utveckling av klienten och
215
@c Historia ligger i "fel" ordning i dokumentet. Det beror p} att jag
216
217
218
@c vill ha texten som ligger i dessa tv} f|ljande noder direkt under
@c f|rordet medan det skall vara en egen nod i info-varianten.

219
@node Utveckling av klienten, Andra klienter, Historia, Förord
220
221
@comment  node-name,  next,  previous,  up

222
223
224
225
All utveckling av LysKOMs emacslispklient, lyskom-systemet och i detta
dokument nämnda andra klienter är ideelt arbete utfört av medlemmar i
Lysator, datorföreningen vid Universitet och Tekniska Högskolan i
Linköping.
226
227
228
229
230
231
232
233
234
235
236

Om du vill deltaga i arbetet så är det bra om du skaffar dig en
ordentlig introduktion till hur systemet fungerar. Om du finns i
Linköping så är det enklast att prata med någon av de som varit med och
som är ansvariga för det som hittills är gjort. Om du inte finns i
Linköping är du utelämnad åt självstudier av de få dokument som finns
och källkoden. Jag skulle nog vilja rekommendera ett veckosluts
intensivkurs i Linköping för att få riktigt grepp om hur det hela
hänger ihop.


237
@node Andra klienter, , Utveckling av klienten, Top
238
239
@comment  node-name,  next,  previous,  up

240
241
Det finns alternativ till LysKOMs emacslispklient som också är fritt
tillgängliga. Än så länge har de inte riktigt LysKOMs emacslispklients
242
243
244
funktionalitet utan är begränsade i något avseende men det sker
utveckling av dem hela tiden.

245
246
Samtliga här beskrivna LysKOMklienter har fördelen framför LysKOMs
emacslispklient att de är mindre cpu-krävande och därför snabbare.
247
248
249
250
251
252
253
254
255
256
257
258
259
260

@table @asis

@item tty-klienten
@itemx C-klienten
tty-klienten är skriven i C med det ursprungliga målet att så troget som
möjligt likna QZ-kom. Avvikelser från detta målet har skett dels
beroende på de olika förutsättningar som LysKOM har jämför med QZ-kom
och dels beroende på personlig smak hos utvecklarna. När detta skrivs är
tty-klienten (version L0.11) ganska stabil, den går lätt att kompilera
och köra på flera olika system @footnote{SunOS4 (sun3 och sun4),
Solaris, Linux, Dynix 3.0, Ultrix, HPUX} förusatt att man har GCC
installerad.

261
Den senaste versionen av tty-klienten finns att hämta via ftp från
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
@file{ftp.lysator.liu.se} i underbiblioteket @file{/pub/lyskom/tty-client/}

Den som gjort mest i tty-klienten är Thomas Bellman
@code{<bellman@@lysator.liu.se>}.

Den som för närvarande gör något och som är ansvarig för de senaste
versionerna är Linus Tolke @code{<linus@@lysator.liu.se>}.

@item tkom
@itemx nilkom
@itemx kom++
tkom och nilkom är två olika klienter som bygger på samma grundstomme.
Grundprogrammet som pratar med lyskom-servern är skrivet i C++ och sedan
finns det två olika användargränssnitt som är skrivna i TCL. Nilkom kör
mot en terminal medan tkom öppnar X-fönster.

Målet med denna klient är att erbjuda ett gränssnitt till lyskom-servern
som är bättre än protokollet och det finns redan nu rutiner för cache av
personer och möten.

tkom, nilkom, kom++-paketet kräver att C++ och TCL/Tk finns installerat på
maskinen men om man vill använda paketet för att bygga en helt egen
klient kan man klara sig utan TCL.

Den senaste versionen av kom++-klienten finns att hämta via anonym ftp
från @file{ftp.lysator.liu.se} i underbiblioteket @file{/pub/lyskom}.

De som för närvarande jobbar med kom++-klienten är Per Cederqvist
@code{<ceder@@lysator.liu.se>} och Inge Wallin @code{<ingwa@@isy.liu.se>}
eller @code{<inge@@lysator.liu.se>}.

@end table

295
@node Historia, Utveckling av klienten, Förord, Förord
296
@comment  node-name,  next,  previous,  up
297
@chapter Historia
Linus Tolke's avatar
Linus Tolke committed
298
299

LysKOM är ett konferenssystem som är inspirerat av KOM, det
300
301
302
303
304
305
konferenssystem som skapades av QZ i Stockholm. Orsaken till att LysKOM
skrevs var att det KOMsystem Lysators medlemmar hade tillgång till lades
ner. QZ-KOM gick att köra på DEC-10 och DEC-20-maskiner och den sista
DEC-20-maskinen på LiTH som studenterna hade tillgång till såldes och
försvann. KOM hade blivit vanebildande för en del och det bedömdes att
en ersättning var nödvändig.
Linus Tolke's avatar
Linus Tolke committed
306

307
308
309
310
311
312
313
En tidig tanke när vi började jobba med LysKOM var att det skulle gå att
ha flera olika användargränssnitt samtidigt. Någon vill se en grafisk
struktur på hur inläggen hänger ihop på sin grafiska skärm, någon annan
vill kunna fortsätta att använda sin gamla vt100. Det var också klart
att systemet skulle köra under UNIX eftersom detta operativsystem
bedömdes som vanligt i framtiden. Lysators medlemmar hade dessutom stor
erfarenhet av UNIX och Lysator äger ett antal UNIX- maskiner.
Linus Tolke's avatar
Linus Tolke committed
314

315
316
317
318
Bland annat av dessa orsaker valde vi att använda en
server-klientmodell. En central server tar hand om alla inlägg och
LysKOM:s hela databas. Mot denna server kan flera stycken klienter
koppla upp sig via TCP/IP.
Linus Tolke's avatar
Linus Tolke committed
319

320
321
322
323
324
När servern började fungera behövdes det en enkel klient för att kunna
testa. Per Cederqvist skrev en enkel klient i emacslisp som sedan byggts
på av ett antal lysatormedlemmar. Även personer utanför Lysator har
bidragit till utvecklingen med färdiga funktioner och framför allt
kommentarer och idéer. Det är detta som idag är LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
325
326


327
328
329
330


@node Servern, Uppstart, Förord, Top
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
331
332
333
334
335
336
337
338
339
340
341
342
343
@chapter Servern

Servern, databashanteraren, är skriven i C och körs på
@file{varg.lysator.liu.se} (IP-nummer 130.236.254.151). Databasfilen är 
läsbar för flera av lysators medlemmar, vilket kan tyckas vara en
bugg, men den är medveten. Vi vill inte ge någon en falsk känsla av
säkerhet och på ett system sådant som Lysators är det alltför många
som har privilegier för att man skall kunna garantera någon hemlighet.
På andra serverinstallationer i framtiden blir naturligtvis
situationen en annan.


@node Uppstart, Första gången, Servern, Top
344
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
345
346
347
348
349
350
351
352
353
354
355
356
357
@chapter Uppstart
@ifinfo
Det är olika procedurer för att komma in i LysKOM beroende på 
vilken maskin du kopplar upp dig ifrån. De är alla beskrivna här 
nedan.


@menu
* Lysator::			Koppla upp sig från lysator.
* Andra maskiner::		Hur du för annars.

@end menu
@end ifinfo
358
@node Lysator, Andra maskiner, Uppstart, Uppstart
359
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
360
361
362
363
364
@section Från Lysators maskiner

Enklast är att köra LysKOM från någon av Lysators UNIX-maskiner.
När man har startat emacs räcker det med att skriva:
@example
365
M-x lyskom RET
Linus Tolke's avatar
Linus Tolke committed
366
367
368
369
370
@end example
för att sätta igång. Svara på frågan om server med
att trycka @key{RET}.


371
@node Andra maskiner,  , Lysator, Uppstart
372
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
373
374
@section Från andra maskiner

375
376
377
378
Om du vill hämta LysKOMs emacslispklient från någonstans utanför LiTH
kan du hämta den senaste versionen via anonym ftp från
@file{ftp.lysator.liu.se (130.236.254.153)}. Ange din emailadress som
lösenord. Gå ner i directoryt @file{pub/lyskom/elisp-client} och skriv
379
@code{get lyskom-X.el.gz} där @code{X} är det högsta nummer du kan hitta
380
381
382
383
384
385
386
387
i det directoryt. Filen med det högsta numret är alltid den senaste
versionen. Dessutom hämtar du denna dokumentation från filen
@code{elisp-client.info-X.tar.gz}. När överföringen är klar, bryt
förbindelsen genom att skriva @code{quit}.@refill

Du installerar LysKOMs emacslispklient genom att flytta den hämtade
filen till det lokala emacslispbiblioteket @file{site-lisp} under namnet
@file{lyskom.el} och lägga in en rad
388
@example
389
(autoload 'lyskom "lyskom" "Köra LysKOM" t)
390
@end example
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
i filen defaults.el i samma directory.

Dokumentationen installerar du genom att packa upp tar-arkivet och
flytta alla dess filer till ditt lokala info-bibliotek. Antagligen
@code{/usr/info} eller något liknande. Sedan skriver du in en rad i
filen @code{/usr/info/dir} som pekar ut elisp-client.

Om du bara skall installera klienten för dig själv, ett måste om du inte
får lov att installera emacslispprogram på systemet så flyttar du
istället filen med namnet @file{lyskom.el} till ditt egna emacslispbibliotek
och stoppar in raden ovan i din @file{.emacs}-fil.

Det kan löna sig att byte-kompilera klienten.
@inforef{Lispbibliotek för emacs,Lisp Libraries,emacs}.

Denna dokumentation finner du som sagt på samma ställe under namnet
@file{elisp-client.info-X.tar.gz} för den infoiserade versionen och
@file{elisp-client.txt-X.gz} för den enkla text-versionen. Detta
dokument är ett texinfodokument och om du planerar att skriva ut det på
skrivar så kontakta utvecklarna via email till
@file{lyskom@@lysator.liu.se} så kan de generera en @file{.dvi}-fil
eller en postscript-fil.

Om Emacs säger @code{"Unknown host"} när du skrivit @code{M-x lyskom RET}
och angivit @code{kom.lysator.liu.se} som svar på frågan om vilken server
du vill koppla upp dig mot så beror det på att nameservern på din maskin
inte fungerar som den skall. Du måste du be din systemadministratör att
fixa den.

Om du har en gammal version av emacs kan det hända att den inte använder
nameservern för att slå upp namnet och då fixar man det genom att lägga in 
Linus Tolke's avatar
Linus Tolke committed
422
423
424
425
@example
130.236.254.151 kom.lysator.liu.se
@end example
i host-tabellen @footnote{Om detta sätt tillämpas måste denna rad
426
427
428
429
uppdateras varje gång vi flyttar servern till en ny maskin.}.

I emacs version 19 är en alternativ lösning att ange numret till
maskinen som LysKOMservern kör på (@file{130.236.254.151}).
Linus Tolke's avatar
Linus Tolke committed
430
431


432
@node Första gången, Möten, Uppstart, Top
433
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
434
435
436
437
438
439
440
441
@chapter Första gången du kör LysKOM

När du har svarat på frågan om server och uppkopplingen mellan klient
och server är klar så får du en ny fråga; ditt namn. Det är sed att
ange både för och efternamn samt den organisation du arbetar för, t ex
@example
Inge Wallin, ISY
@end example
442
443
444
445
Om du inte är från Linköping @footnote{Detta beror givetvis på vilken
server du är uppkopplad mot. Olika konventioner används vid olika
servrar och olika servrar ligger på olika ställen.} kan det också vara
bra att på något sätt ange vilken stad du normalt finns i, t.ex
446
447
448
@example
Salvador Dalberg, Stacken, Stockholm
@end example
Linus Tolke's avatar
Linus Tolke committed
449
450
Om det inte fanns någon med det namn du angav så får du bekräfta att
du har stavat ditt namn rätt. Därefter får du uppge ett personligt lösenord.
451
@refill
Linus Tolke's avatar
Linus Tolke committed
452

453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
Du blir medlem i mötet @samp{Presentation (av nya) möten} automatiskt
när du går in i LysKOM första gången. I det mötet hamnar beskrivningar
av nya möten när de skapas och när beskrivningen ändras. Det kan vara
bra att i lugn och ro läsa igenom detta möte och efterhand gå med i de
möten som du finner intressanta.@refill

För att titta på presentationen för ett möte igen kan man använda
kommandot @code{Återse presentation}.
@findex Återse presentation

@node Möten, Köra LysKOM, Första gången, Top
@comment  node-name,  next,  previous,  up
@chapter Möten

Debatten är uppdelad i olika möten. Möten är dataenheter som bl.a. har
namn, medlemmar och mottagna inlägg. Medlemmarna förväntas vara
intresserade av inläggen som skickas till just det mötet och läser
dem. Namnen används som en kort presentation av mötet när man skall
referera till det, dvs när man går till mötet eller skickar brev till
mötet.
Linus Tolke's avatar
Linus Tolke committed
473

474
475
476
477
478
479
480
481
482
483
Möten har också presentationer som lite mer utförligt beskriver vad
mötet är tänkt att handla om.

Det finns inga som helst mekanismer eller garantier för att kolla att
medlemmarna i ett möte, och andra också för den delen, skickar inläggen
till rätt möte. Det finns möjligheter för administratören av mötet eller
författaren av inlägget att flytta inlägget om det hamnat fel men oftast
är det författarens ansvar att se till att det hamnar rätt från början.

@node Köra LysKOM, Namn, Möten, Top
484
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
485
486
487
488
489
490
@chapter Köra LysKOM


@menu
* Prompten::			Hur LysKOMs prompt fungerar.
* Scrollning::			Hur LysKOM scrollar och varför.
David Byers's avatar
David Byers committed
491
* Filtrering::                  Hur du väljer bort vissa inlägg.
Linus Tolke's avatar
Linus Tolke committed
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
* Kommandon::			Vilka kommandon finns och vad gör de.

* Administratörskommandon::	Administratörskommandon
@end menu
@node Prompten, Scrollning, Köra LysKOM, Köra LysKOM
@section Prompten

När LysKOM är klart att ta emot ett kommando skrivs en prompt ut. Den
kan se ut på t.ex följande sätt:

@example
Gå till nästa möte -
Läsa nästa text -
Se tiden - 
@end example
När du ser prompten kan du ge ett kommando. Var snäll mot klienten!
Tryck inte på en massa knappar innan du ser prompten! Det blir bara
problem om du gör det! Speciellt känslig är den i inloggningsfasen.
510
Kom ihåg att LysKOMs emacslispklient från början var avsedd bara som ett
Linus Tolke's avatar
Linus Tolke committed
511
512
513
514
surrogat för den egentliga klienten och att det som du nu kör är en
alfarelease.


David Byers's avatar
David Byers committed
515
@node Scrollning, Filtrering, Prompten, Köra LysKOM
516
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
517
518
519
520
521
@section Scrollning

Om inte allt ryms på skärmsidan så syns en procentsats i mode-raden.
Tryck på mellanslag när du läst klart så scrollas nästa sida fram.

David Byers's avatar
David Byers committed
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560

@node Filtrering, Kommandon, Scrollning, Köra LysKOM
@comment node-name, next, previous, up
@section Filtrering

För att hantera den stora mängd information som kan finnas i LysKOM
finns funktioner för att filtrera inlägg. Filtrering innebär att inlägg
med vissa egenskaper inte visas.

LysKOMs filtreringsfunktioner är mycket flexibla, och tillåter filter
som fritt kombinerar författare, ärende, textinnehåll och mottagare,
angivna som text, med reguljära uttryck eller, för författare och
mottagare, nummer. Varje del i ett filter kan omfatta alla inlägg som
antingen uppfyller eller inte uppfyller villkoren.

Filtreringen kan göras på tre olika sätt:

@table @asis
@item Visa inte
Visa första raden i inläggshuvudet och lista kommentarer till
inlägget. Denna filtermetod är mest användbar om man vill välja om man
skall se vissa inlägg i en diskussion.

@item Hoppa över
Hoppa över texten och hämta nästa text i läslistan. Endast ett
meddelande om att inlägget har hoppats över visas. Denna metod är
användbar om man aldrig vill se vissa inlägg i en diskussion.

@item Hoppa över kommentarer
Som hoppa över, men hoppar dessutom över alla kommentarer under
inlägget. Denna metod är användbar om man helt vill undvika vissa
diskussioner.

@end table

Filter är antingen tillfälliga eller permanenta. Tillfälliga filter
försvinner när du avslutar Emacs.

@node Kommandon, Administratörskommandon, Filtrering, Köra LysKOM
561
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
562
563
564
565
566
567
568
569
570
571
572
573
@section Kommandon

Det finns två slags kommandon, dels de som är bundna till enskilda
tangenter, dels de som du måste ange i klartext. Många kommandon kan
anges på båda sätten. För att ange ett kommando med dess fulla namn
trycker du tangenten @kbd{a}, vilket skall uttydas @code{(Något) Annat},
@kindex a
ett kommando som fanns i gamla QZ-KOM. Detta ger dig en fråga på emacs
meddelanderad och du kan nu trycka @kbd{?} och få en lista på vilka
kommandon som finns.

Antalet kommandon ökar hela tiden med ökande versionsnummer.
574
Följande kommandon finns i LysKOMs emacslispklient i den version 
Linus Tolke's avatar
Linus Tolke committed
575
576
577
578
579
580
581
582
583
som anges i titeln på detta dokument. Först visas vilken tangent
som funktionen ligger på och därefter vad man anger under @kbd{a}.
I mötet @samp{LysKOM Elispklient; diskussion och ideer} på Lysators
LysKOM-system diskuteras nyheter om klienten. När en ny version
släpps annonseras det också i det mötet, för det mesta
tillsammans med en lista på de ändringar som är gjorda sen
förra versionen.

@menu
584
* Läsa::			De vanligaste kommandona för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
585
586
587
588
589
590
591
592
593
594
* Få hjälp::			Hjälpkommandot är beskrivet

* Skriva::			Skriva
* Lista::			Kommandon för att lista information.
* Bli medlem::			Hur du blir medlem i och utträder ur möten.
* Sluta::			När du har läst klart

* Annat::			
* Ändra::			Kommandon för att ändra dina parametrar.

595
* Återse::			Kommandon för att återse inlägg.
Linus Tolke's avatar
Linus Tolke committed
596
597
* Status::			Kommandon för att få status.

598
* Spara text::			Spara ett eller flera inlägg
Linus Tolke's avatar
Linus Tolke committed
599
600
601
602
603
604
* Markeringar::			Kommandon för att hantera markeringar.
* Skapa::			Kommandon för att skapa möten.
* Kommandon för att addera och subtrahera::  Kommandon för att addera och subtrahera.
* Ändra personuppgifter::	
* Ändra mötesuppgifter::	
* Meddelande::			Meddelande
David Byers's avatar
David Byers committed
605
* Filtrera::                    Kommandon för att filtrera inlägg.
Linus Tolke's avatar
Linus Tolke committed
606
607
608
609
610
* Prioritera::			Kommando för att prioritera om möten.

* Ändra inställningarna::	
@end menu
@node Läsa, Få hjälp, Kommandon, Kommandon
611
@comment  node-name,  next,  previous,  up
612
@subsection Kommandon för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
613
614
615
616
617
618

@table @asis

@item @key{SPC}
@itemx (mellanslag)
@itemx @key{RET}
619
620
621
@ifinfo
@kindex @key{ }
@end ifinfo
Linus Tolke's avatar
Linus Tolke committed
622
623
624
@kindex SPC
@kindex mellanslag
@kindex rymdkrogen
625
@kindex space
Linus Tolke's avatar
Linus Tolke committed
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
@kindex RETURN
Utför defaulthandlingen, dvs det som står i prompten.


@item @key{LFD}
@itemx (eller @key{NEWLINE})
@kindex NEWLINE
@kindex LINEFEED
Samma som mellanslag eller @key{RET}, men placera först markören
överst på skärmen.


@item @kbd{ni}
@itemx @code{Läsa nästa inlägg}
@findex Läsa nästa inlägg
@kindex ni
642
Gå till nästa inlägg och visa den. Om du håller på att återse sparas
Linus Tolke's avatar
Linus Tolke committed
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
informationen om vad du återser undan. Med @code{ån} kan du sedan
återse nästa inlägg.


@item @kbd{nm}
@itemx @code{Gå till nästa möte}
@findex Gå till nästa möte
@kindex nm
Går till nästa möte med olästa inlägg. Alla olästa i det nuvarande
mötet sparas och mötet placeras sist i listan över möten med
olästa inlägg.


@item @kbd{h}
@itemx @code{Hoppa över alla kommentarer}
@findex Hoppa över alla kommentarer
@kindex h
Hoppa över alla kommentarer till det senast lästa inlägget, dvs
markera dem som lästa utan att visa dem. Detta sker rekursivt så
att alla kommentarer till kommentarerna också markeras som lästa,
663
664
665
osv. För att undvika att detta kommando jobbar för evigt läsmarkerar 
och söker klienten bara rekursivt vidare om kommentaren i varje steg
är nyare än det kommenterade inlägget.
Linus Tolke's avatar
Linus Tolke committed
666

David Byers's avatar
David Byers committed
667
668
669
670
671
672
673
@item @kbd{H}
@itemx @code{Superhoppa}
@findex Superhoppa
@kindex H
Skapa ett filter som hoppar över alla texter i det aktuella mötet med
samma ärenderad som den senast lästa texten. Detta kommando är bra om
man vill hoppa över alla grenar i en gamma diskussion.
Linus Tolke's avatar
Linus Tolke committed
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696

@item @kbd{e}
@itemx @code{Endast läsa senaste}
@findex Endast läsa senaste
@kindex e
Man får ange ett antal inlägg som man vill läsa i det nuvarande
mötet. Alla andra inlägg i mötet markeras såsom lästa. 


@item 
@itemx @code{Uppskjuta läsning}
@findex Uppskjuta läsning
Man får ange hur många inlägg i mötet man vill läsa nu.
Klienten kommer att "glömma bort" att du borde få läsa alla utom
de sista N inläggen i det möte du befinner dig i. Nästa gång du
startar klienten kommer du att få läsa de "bortglömda" inläggen.
De glöms bara tillfälligt.


@item @kbd{M-p}
@itemx @code{(Spring till) början av texten}
@findex (Spring till) början av texten
@findex Början av texten
697
@findex Föregående inlägg
Linus Tolke's avatar
Linus Tolke committed
698
699
@kindex M-p
Detta kommando är bara till för att snabbare kunna hitta början på
700
det inlägg man är vid, eller hitta föregående inlägg.
Linus Tolke's avatar
Linus Tolke committed
701
702
703
704
705
706

@item @kbd{M-n}
@itemx @code{(Spring till) nästa text}
@findex (Spring till) nästa text
@findex Nästa text
@kindex M-n
707
708
Detta kommando är motsatsen till @kbd{M-p}. Det springer till nästa
inlägg istället.
Linus Tolke's avatar
Linus Tolke committed
709
710
711
712
713
714
715
716
717
718
719


@item @key{DEL}
@itemx @code{Scrolla ner}
@findex Scrolla ner
@findex scroll-down
@kindex DEL
Detta kommando rullar tillbaka skärmen så att man kan se det som skrevs
innan. För att komma framåt igen är det bara att trycka @key{SPC}. 
@end table
@node Få hjälp, Skriva, Läsa, Kommandon
720
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
@subsection Få hjälp

Du kan alltid få hjälp.

@table @asis
@item @kbd{?}
@itemx @code{Hjälp}
@findex Hjälp
@kindex ?
Beskriv LysKOM-moden och alla dess tangentbordsbindningar.
Om du redan gett en del av ett kommando och trycker @kbd{?} så får du en
lista på vilka alternativa kommandon som finns från det läget.
Alternativlistan innehåller vad du skulle tryckt för att välja
just det alternativet samt kommandots namn.

@end table
@node Skriva, Lista, Få hjälp, Kommandon
@comment  node-name,  next,  previous,  up
@subsection Skriva

741
Här är samtliga kommandon som används för att skriva ett inlägg listade.
Linus Tolke's avatar
Linus Tolke committed
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766

@table @asis

@item @kbd{b}
@itemx @code{Skicka brev}
@findex Skicka brev
@kindex b
Skicka ett brev till en person eller ett möte. Programmet frågar
efter vilket möte/person som man vill skicka brevet till. Man kan
skicka brev även till slutna möten. Om personen eller mötet har en
lapp på dörren så visas lappen i LysKOM-bufferten. 


@item @kbd{i}
@itemx @code{Skriva ett inlägg}
@findex Skriva ett inlägg
@kindex i
Skriv ett inlägg i det möte där du befinner dig för tillfället. Se
avsnittet nedan som beskriver vad du kan göra medan du skriver.


@item @kbd{k}
@itemx @code{Kommentera inlägget}
@findex Kommentera inlägget
@kindex k
767
@kindex C-u k
Linus Tolke's avatar
Linus Tolke committed
768
Kommentera det senast lästa eller skrivna inlägget. Man kan också
769
770
771
772
kommentera ett valfritt inlägg genom att istället för att trycka @kbd{k}
trycka inläggsnummret för det inlägg man vill kommentera följt av
@kbd{k}. Alternativ till detta är att trycka @kbd{C-u k} varpå man får
ange inläggsnumret.
Linus Tolke's avatar
Linus Tolke committed
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791

Om inlägget skulle ha flera mottagare så får man, för var och 
en av dessa mottagare en kontrollfråga om man vill att den skall vara
kvar som mottagare eller inte. Detta går givetvis att stänga av.


@item @kbd{K}
@itemx @code{Kommentera föregående inlägg}
@findex Kommentera föregående inlägg
@kindex K
Kommentera det näst senast lästa eller skrivna inlägget. Det kan 
vara bra om man gör @kbd{åk} (@code{Återse det kommenterade}) innan man
bestämmer sig för att kommentera.


@item @kbd{F}
@itemx @code{Fotnot till inlägg}
@findex Fotnot till inlägg
@kindex F
792
793
794
795
796
797
@kindex C-u F
Skriv en fotnot till det senast lästa inlägget. Kommandot fungerar som
kommandot @code{Kommentera inlägget}. Observera att om man inte explicit
anger inläggsnummer skriver man alltid fotnoter till senast lästa
inlägg. Detta innebär att man "tvingas" återse sitt senast skrivna inlägg
innan man kan skriva en fotnot till det.
Linus Tolke's avatar
Linus Tolke committed
798
799
800
801
802
803


@item @kbd{p}
@itemx @code{Personligt svar}
@findex Personligt svar
@kindex p
804
@kindex C-u p
Linus Tolke's avatar
Linus Tolke committed
805
806
Skriv ett personligt svar till författaren av det senast lästa
inlägget. Detta är detsamma som att skicka ett brev till honom som
807
808
809
810
811
är en kommentar till inlägget. 

Man kan liksom när man skriver kommentarer skriva personligt svar till
godtyckligt inlägg genom att antingen skriva inläggsnummer @kbd{p} eller
@kbd{C-u p} följt av inläggsnumret och @kbd{RET}.
Linus Tolke's avatar
Linus Tolke committed
812
813
814
815
816
817
818
819
820
821
822
823
824


@item @kbd{P}
@itemx @code{Personligt svar på föregående inlägg}
@findex Personligt svar på föregående inlägg
@kindex P
Skriv ett personligt svar till författaren av det näst senast
lästa inlägget. Jämför kommentera föregående 
inlägg.

@end table

@node Lista, Bli medlem, Skriva, Kommandon
825
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
826
827
828
829
830
831
832
833
834
835
@subsection Lista

Du kan lista olika saker med dessa olika kommandona.

@table @asis
@item @kbd{v}
@itemx @code{Vilka är inloggade}
@findex Vilka är inloggade
@kindex v
Visa en lista över de personer som är inloggade i LysKOM för
836
837
838
839
ögonblicket. Man får dessutom reda på vilken maskin de kör ifrån samt
vad de sysslar med just nu. Inloggningarna visas i sessionsnummerordning
och den egna inloggningen markeras med en asterisk precis efter
sessionsnumret.
Linus Tolke's avatar
Linus Tolke committed
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893


@item @kbd{lm}
@itemx @code{Lista möten}
@findex Lista möten
@kindex lm
Lista alla möten som matchar ett givet mönster. LysKOM frågar
efter mönstret innan sökningen startar. En asterisk (@code{*}) skrivs
ut framför namnet på alla möten som man inte är medlem i.


@item @kbd{ln}
@itemx @code{Lista nyheter}
@findex Lista nyheter
@kindex ln
Lista alla nyheter, dvs alla möten i vilka du har olästa inlägg.
Talar också om hur många olästa du har i resp. möte.


@item @kbd{lN}
@findex Lista nyheter
@kindex lN
Samma som @kbd{ln}, men använder en något långsammare metod. Detta anrop
finns endast med som kontroll eftersom metoden som används för
@kbd{ln} visserligen är snabbare, men också mycket mer komplicerad.
Detta kommando kommer att försvinna snart(?).


@item @kbd{lp}
@itemx @code{Lista personer}
@findex Lista personer
@kindex lp
Lista alla personer som matchar ett givet mönster. LysKOM frågar
efter mönstret innan sökningen startar.


@item @kbd{ls}
@itemx @code{Lista medlemsskap}
@findex Lista medlemsskap
@kindex ls
Listar vilka möten du är medlem i, vilka prioriteter som gäller
för mötena samt hur många olästa du har i varje möte.


@item @kbd{lä}
@itemx @code{Lista ärenden}
@findex Lista ärenden
@kindex lä
Listar ärenden och författare på de inlägg som du har olästa i
mötet, eller på dina markerade inlägg, när du har prompten 
@code{Återse nästa markerade -}.
@end table

@node Bli medlem, Sluta, Lista, Kommandon
894
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
@subsection Bli medlem

Här beskriver vi hur du kan bli medlem i ett möte, samt hur du gör för
att utträda.

@table @asis
@item @kbd{g}
@itemx @code{Gå till möte}
@findex Gå till möte
@kindex g
Gå till ett nytt möte för att börja läsa inlägg där. LysKOM frågar
efter vilket möte du vill gå till.

Om du inte är medlem i mötet så frågar LysKOM om du vill bli medlem
i mötet och om man då svarar @kbd{j} så blir man medlem i mötet på samma
sätt som om man hade gjort @kbd{m} (@code{Bli medlem i möte}). Efter det så går
man till mötet på vanligt sätt.


@item @kbd{m}
@itemx @code{Bli medlem i möte}
@findex Bli medlem i möte
@kindex m
918
919
920
921
922
Frågar efter ett möte och ser till att du blir medlem i det. I samband
med detta får du ange en prioritet för mötet och var mötet skall läsas i
förhållande till andra möten med samma prioritet.  LysKOM kommer att
sätta prioriteten till @code{100} om du inte har ändrat variabeln
@code{kom-membership-default-priority} som kontrollerar detta.
Linus Tolke's avatar
Linus Tolke committed
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939

För att LysKOM skall veta i vilken ordning du vill läsa dina
möten måste du ange det för varje möte du går med i.
Du kan (givetvis) sätta en variabel som kontrollerar detta också,
nämligen @code{kom-membership-default-placement}, men om du inte anger
något så måste du ange det. LysKOM frågar var du vill lägga det.
0 är allra först (före din brevlåda) och det högsta numret
som finns som alternativ är sist i listan.

Om mötet är slutet så kan man inte gå med i det. Detta kommando
kan även användas för att ändra prioritet för ett möte som du
redan är medlem i.


@item @code{Utträda ur}
@findex Utträda ur
Frågar efter namnet på ett möte och gör så att du utträder ur
940
mötet. Alla markeringar om eventuella lästa inlägg försvinner.
Linus Tolke's avatar
Linus Tolke committed
941
942
943
944
Detta kommando har inte någon egen tangent.
@end table

@node Sluta, Annat, Bli medlem, Kommandon
945
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
946
947
948
949
950
951
952
953
954
955
956
@subsection Sluta

@table @asis
@item @kbd{S}
@itemx @kbd{q}
@itemx @code{Sluta}
@findex Sluta
@kindex S
@kindex q
Avslutar LysKOM. Det går lika bra att sluta genom att gå ur Emacs
eller ta bort LysKOM-bufferten.
957
958
959
960

Om du har inlägg som du börjat skriva på och sedan varken slängt eller
skickat in till LysKOM-servern så kommer du att få en extra
kontrollfråga om du verkligen vill sluta trots att du har oinskickade
961
inlägg.
962
963

Om du väljer att gå ur lyskom genom att avsluta Emacs och har
964
oinskickade buffertar kommer LysKOMs emacslispklient att se till att Emacs
965
betraktar LysKOM som en viktig process. Om du däremot har skickat in
966
eller slängt alla dina inlägg ser LysKOMs emacslispklientent till att Emacs inte
967
968
betraktar LysKOM som en viktig process. Om du får en kontrollfråga:
"Active processes exist; kill them and exit anyway? (yes or no)" innebär
969
det alltså att du har oinskickade inlägg. @footnote{För att detta skall
970
971
972
fungera korrekt krävs att du kör en emacs version 18.58 eller senare.}


Linus Tolke's avatar
Linus Tolke committed
973
974
975
@end table

@node Annat, Ändra, Sluta, Kommandon
976
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
977
978
979
@subsection övriga kommandon i LysKOM.

@table @asis
980
@item @kbd{M-x kom-recover}
981
982
@itemx @code{Återstarta kom}
@findex Återstarta kom
983
@kindex M-x kom-recover
Linus Tolke's avatar
Linus Tolke committed
984
985
986
987
988
Nollställer diverse interna strukturer i klienten. Används då
klienten har hängt sig eller då klienten och servern har kommit ur
fas. Det kan de göra om man trycker @code{C-g} @kindex C-g
vid olämpliga tillfällen.

989
990
Om klienten hänger sig på detta vis beror det egentligen på att det är
en bugg i klienten. Se till att skapa en buggrapport innan du ger det
991
här kommandot. Se även @ref{Buggrapporter}.
Linus Tolke's avatar
Linus Tolke committed
992
993
994
995

@item @kbd{t}
@itemx @code{Se tiden}
@findex Se tiden
996
@kindex t
Linus Tolke's avatar
Linus Tolke committed
997
998
999
1000
Visar vad klockan är.


@item @kbd{fu}