Commit 2acdf0e6 authored by David Byers's avatar David Byers
Browse files

Diverse smått

parent c5eb1cf3
1998-01-31 David Byers <davby@ida.liu.se>
* startup.el (lyskom): Testa att bde namn och portnummer stmmer
verens nr man testar om det redan finns en session.
* vars.el.in (lyskom-server-port): Ny variabel.
1998-01-14 David Byers <davby@ida.liu.se>
* lyskom-rest.el (lyskom-fill-region): Fixade en
omformatteringsbug.
(kom-next-command): Std markering av scrollrader snt i XEmacs
ocks.
Tue Jan 6 06:12:39 1998 David Kgedal <davidk@lysator.liu.se>
* services.el (lyskom-wait-queue): Hr skulle man visst ocks
......@@ -28,6 +42,18 @@ Sat Jan 3 22:25:51 1998 David K
* internal.el (lyskom-halt,lyskom-resume): Anvnd assq istllet
fr assoc.
Sun Dec 28 15:15:19 1997 David Byers <dbyers@atp>
* option-edit.el (lyskom-customize-apply): Fixa
kom-dont-read-saved-variables.
(lyskom-create-widget): Skapa widget som man kan vlja om
variabeln skall sparas i servern eller inte.
* vars.el.in (kom-url-viewer-preferences): Spara i servern.
(kom-mosaic-command): Dito.
(kom-audio-player): Dito.
(kom-netscape-command): Dito.
Thu Dec 25 10:39:23 1997 David Byers <dbyers@atp>
* lyskom-buttons.el (lyskom-button-open-email): Anvnd
......
......@@ -7,6 +7,7 @@ Att g
listan, glöm inte att ta bort det från listan!
* SAKER ATT KOLLA
Hur och var skall man egentligen spara inställningar? .emacs är
......@@ -19,40 +20,39 @@ Att g
LysKOM fungerar inte i XEmacs i tty-mode. No such face:
kom-active-face. Antingen är det fixat eller så är det inte fel i
20.2.
20.2. Jag har noterat liknande problem i 19.30 i Sun-consolen.
FIX BY: 0.46
Om förbindelsen bryts så får man args out of range ibland.
FIX BY: 0.46
Om förbindelsen bryts i en buffert så ofungerar scrollningen en
gång i en annan buffert. Man trycker SPC och får inte nästa
kommando, utan hamnar överst i bufferten.
FIX BY: ---
Om man byter buffert med C-x b till den sista aktiva KOM-bufferten
så tycker Nästa LysKOM att det inte finns fler aktiva
KOM-sessioner. Funktionen verkar vara lite för känslig för hur
lyskom-buffer-list ser ut. Den borde nog göra något lite
intelligentare när listan ser ut att ha tagit slut.
FIX BY: 0.46
Peter Enderborg hade en 118 tecken bred XEmacs 20.3 med scrollbar,
och vilkalistan blev precis 1 tecken för bred. I Gnu Emacs 19.30
blev det rätt. Det verkar som om window-width ljuger.
FIX BY: N/A
Race condition när man skickar in inlägg. Fönsterkonfigurationen
återställs asynkront, och det går att trycka C-c C-c k
tillräckligt fort att man skapar den nya inläggsbufferten innan
den gamla fönsterkonfigurationen (för den förra inläggsbufferten)
återställs. Resultatet är att man aldrig ser den nya bufferten.
FIX BY: 0.46-0.47
Endast gör fortfarande fel. Den klarar inte hål och använder inte
set-last-read, utan set-unread.
** CACHE
Det kan hända att inläggstexter kastas ur cachen så fort man har
läst dem. Om det är så, så är det *inte* bra, för att om man
kommenterar så måste inlägget hämtas igen. [DET VERKAR INTE VARA
SÅ]
FIX BY: ---
** VIKTIGA BUGGAR
......@@ -60,11 +60,14 @@ Att g
Buggar i special-insert gör att eoc inte körs, och man har inte
läst inlägget. Man borde få inlägget läsmarkerat och få end of
command.
FIX BY: 0.46
lyskom-w3-region får inte krascha. Stoppa condition-case runt.
FIX BY: 0.46
lyskom-format-html får inte försöka formattera som HTML om det
inte går att ladda w3.
FIX BY: 0.46
** OMBRYTNING
......@@ -75,6 +78,7 @@ Att g
inte gör nytt stycke om alla rader har börjat med ord: och man
hamnar på en indragen rad. Indragna rader skulle inte sabotera
ord:-prefixet.
FIX BY: 0.46-0.47
** DEFERRED INSERT
......@@ -82,11 +86,13 @@ Att g
lyskom-replace-deferred verkar inte använda lyskom-last-viewed i
alla fall. Och den beter sig fel när man står vid prompten och
vill bläddra bakåt.
FIX BY: ---
Om ett namn som fylls i i efterhand gör att sista raden blir för
lång, så scrollar klienten trots att den inte borde. David Kågedal
trodde att han hade fixat det. (Detta är en gammal rapport. Den
kanske inte stämmer.)
FIX BY: --- (check before release of 0.46)
** PREFETCH
......@@ -94,11 +100,14 @@ Att g
Dubbla prefetcher kan vara väldigt förvirrande. Om man t.ex. gör
endast i ett möte (säg IÅM) innan det prefetchas får man två
parallella prefetcher på samma möte.
FIX BY:
Gå ur mötet man prefetchar genererar en bug.
FIX BY: 0.46
Om man går till ett möte som inte prefetchats och inte har några
inlägg blir promten fel, och man får ett felmeddelande.
FIX BY: 0.46
** COMPLETING READ
......@@ -108,6 +117,7 @@ Att g
skriver in parenteserna också. Problem uppstår till exempel om det
finns två möten "(På) TV" och "(Gamla) TV-spel erfarenhetsutbyte".
Om man skriver in "TV" så betraktas det inte som en exakt match.
FIX BY: 0.46-0.47
Man kan få oländiga loopar i completion. Just nu är det inte så
lätt, men det går fortfarande. Problemet uppstår då två teckern
......@@ -116,27 +126,30 @@ Att g
collate-tabellen alltid mappar alla space till space (2) se till
att lyskom-complete-string kan detektera en oländig loop och
stoppa den.
Minitestfall: (lyskom-complete-string '("L\t" "L s")).
Problem uppstår om man får space-mismatch pga att två olika
tecken med spacesemantik mismatchar (fin svenska, eller hur.)
Man borde få match när det inträffar.
FIX BY: 0.46
lyskom-read-session-no hanterar inte att man anger specifikt
sessionsnummer om samma person har flera sessioner, tror jag.
Problemet är att s xxxx hanteras i lyskom-read-conf-internal som
bara kan returnera conf-z-info. Man borde låta den returnera info
om specifikt sessionsnummer också.
FIX BY: Whenever
Fixa så LysKOM och complete.el fungerar ihop genom att sätta om
samma mappar som complete.el gör, till wrappers runt complete.el
som kollar om completion är LysKOM-completion eller något annat.
FIX BY: Whenever
** HANTERING AV FOTNOTER
Den försöker fortfarande följa hemliga kommentarer om
kom-show-footnotes-immediately är satt.
FIX BY: --- (Check before release of 0.46)
Om man läser ett inlägg som har en fotnot (t ex 1449843) och vill
spara det på fil, så blir det bara fotnoten som sparas. Man vill
......@@ -145,18 +158,22 @@ Att g
här. Spara text sparar sisa inlägget man tittade på.
Prefixargument ger fler. Frågan om det är *bra* eller inte är en
helt annan...]
FIX BY: ---
Fotnoter som visas på en gång filtreras inte. [verkar fixat]
FIX BY: --- (Check by 0.46)
kom-review-tree på en text med fotnoter visar fotnoterna på en
gång. Är det en bug?
FIX BY:
** PROMPTEN
När jag ska läsa en kommentar till ett brev i min brevlåda så blir
prompten "Läsa nästa brev" i stället för "Läsa nästa
kommentar". Kommentaren ligger inte i brevlådan. (LÅG PRIORITET)
kommentar". Kommentaren ligger inte i brevlådan.
FIX BY: ---
** HEISENBUGS
......@@ -164,11 +181,13 @@ Att g
Sentinelmeddelanden i ikoniferade frames buggar. Prova att kasta
ut en session i ett ikonifierat fönster. Eller kanske till och med
bara i en gömd buffert.
FIX BY: --- (Check by 0.46)
Tommy Persson får LysKOM protocol error. Det kan bero på strulande
modem. Tyvärr var det någon annan som också fick det, som kanske
inte sitter bakom modem. Nu fick Kågedal också problemet, men
fortfarande kan ingen reproducera det. Nu har jag också fått det.
FIX BY: YESTERDAY
......@@ -190,6 +209,8 @@ Att g
* Krävs att man hämtar fotnoter innan man visar inlägget.
* Troligtvis är det bättre att använda aux-items för detta.
FIX BY: 0.46-0.47
** SKRIVA INLÄGG
......@@ -243,27 +264,34 @@ Att g
** EDIT-BUFFERTEN
Defaultplaceringen av nya mottagare i editbufferten är fånig.
FIX BY: 0.46
Det borde gå att ändra mottagare till cc-mottagare genom att bara
lägga till mottagaren igen som cc-mottagare. Motsvarande för bcc
och så vidare.
FIX BY: 0.46
Borde kolla efter dublettmottagare innan man skickar in inlägget.
Annars så får man ett tråkigt felmeddelande från servern.
FIX BY: 0.46
Kolla hur misslyckad inskickning hanteras. Vi borde ajtomagiskt
ploppa upp edit-bufferten, alternativt ha ett kommando för att
göra det (och göra det till defaultkommandot.)
Det borde gå att ändra mottagare till cc-mottagare genom att bara
lägga till mottagaren igen som cc-mottagare. Motsvarande för bcc
och så vidare.
FIX BY: 0.46
Man borde kunna manipulera mottagare i editbufferten med musen (ta
bort, ändra typ.)
FIX BY: 0.46
** FILTER
Ny filter-edit-mode
FIX BY: 0.48
Använd den nya filterkompilatorn.
FIX BY: 0.48
Gör inte nästa kommando efter en filtrering. Kontrollera med
variabel.
......@@ -273,8 +301,10 @@ Att g
Färgläggning av meddelanden baserat på varifrån de kommer, och
vart det går. John Olsson efterfrågar.
FIX BY: 0.47
Filtrera asynkrona meddelanden (Pontus Lidman)
FIX BY: 0.47
** MEDLEMSSKAPSINFORMATION
......@@ -287,6 +317,7 @@ Att g
Plus att vi måste fixa en datastruktur till bufferten. Vilket slit.
Kanske kan man mergea prioritera och lista medlemsskap? Det skulle
ju förenkla...
FIX BY: 0.48
** ÅTERSE
......@@ -294,17 +325,23 @@ Att g
Återse senaste borde vara superinkrementell. Man kunde hämta så
mycket man hinner under säg tre sekunder och stoppa någonting på
read-listan som hämtar nästa tre sekunder eller så.
FIX BY: 0.47 or later
"Återse n inlägg av person x till möte y från datum z framåt"
FIX BY: 0.47 or later
"Återse n inlägg av person x till möte y under de senaste k dagarna"
FIX BY: 0.47 or later
Strunta i hemliga texter vid åar.
FIX BY: 0.46-0.47
Återse alla markerade borde gå att avbryta med nästa möte.
FIX BY: 0.46-0.47 NOTE: Verkar fungera
Det vore trevligt om inlägg man återsåg inte bidde varnade för när
man skriver kommentarer.
FIX BY: Who knows?
** INTERNA SAKER
......@@ -316,6 +353,7 @@ Att g
[Det gör man väl? /davidk]
Använd blocking.el som innehåller en reentrant blocking-do.
FIX BY: 0.47
** FOTNOTER
......@@ -331,6 +369,7 @@ Att g
kanske den senaste man läste om det var man själv som skrev den?
Snarare den sista man läste av sig själv alt. den sista man skrev
om man inte har läst något av sig själv sedan dess.
FIX BY: 0.46-0.47
** ANVäNDARVäNLIGHET
......@@ -338,17 +377,23 @@ Att g
Man skulle kunna låta fönstrets titelrad indikera om man har
olästa i någon session. Det skulle vara praktiskt för oss som har
KOM igång ikonifierad i en separat Emacs större delen av tiden.
FIX BY: 0.48
Klickbara kommandon, vad nu det är.
FIX BY: 0.48
Det behövs dokumentation: fråmst användarhandledning, men det
skulle inte skada med en kortfattad beskrivning av stabila delar
av systemet för presumtiva kommandoskribenter.
FIX BY:
Språkgranskning av den engelska versionen.
FIX BY:
Det skulle vara bra om man kunde ange för varje inställning om den
skulle sparas i servern eller inte. I princip är det enkelt, men
det behövs ett gränssnitt för det.
FIX BY: 0.46
** AUX-ITEMS
......@@ -357,20 +402,24 @@ Att g
till i servern som talar om för servern att inte garba ett inlägg.
Det i sin tur kräver att man fixar dbck att forcera garb av inlägg
med den här flaggan som inte borde ha den eller nåt sånt.
FIX BY: 0.46
Implementera aux-items på medlemskap. En iten skulle vara att
medlemskapet egentligen är en inbjudan.
FIX BY: 0.46/2.0
** MARKERINGAR
JySKomska markeringstyper.
FIX BY: 0.47-0.48
** DIVERSE OSORTERAT
Lista sessioner, ungefär som lista klienter, men som ger mer
sessionsinformation, till exempel idletid. Önskad av David Hedbor.
FIX BY: 0.47-0.48
Sortera vilkaslistan efter t.ex. idletid.
......@@ -382,9 +431,13 @@ Att g
ingenting är beroende av att medlemsskapslistan hämtas i
prioritetsordning. Prefetchen måste kunna sortera in medlemsskap i
prioritetsordning när den får dem från servern.
FIX BY: 0.47
Det finns rester av den gamla vilkabufferten kvar i koden i cache.el.
kom-show-presence-messages borde kunna ha ett alternativ som gör
att kom-friends används, så man får närvaromeddelanden enbart om
sina vänner. Uppdatera även inställningsbufferten.
Det finns rester av den gamla vilkabufferten kvar i koden i cache.el.
Local variables:
......
......@@ -92,11 +92,11 @@ this function shall be with current-buffer the BUFFER."
(set-conf-stat->name cached-stat new-name)))
(cond
((lyskom-is-in-minibuffer))
(kom-presence-messages
((lyskom-show-presence conf-no kom-presence-messages)
(lyskom-message "%s" (lyskom-format 'name-has-changed-to-name
old-name new-name))))
(cond
(kom-presence-messages-in-buffer
((lyskom-show-presence conf-no kom-presence-messages-in-buffer)
(lyskom-format-insert-before-prompt
'name-has-changed-to-name-r
old-name
......@@ -189,8 +189,8 @@ this function shall be with current-buffer the BUFFER."
(if (and lyskom-pers-no
(not (zerop lyskom-pers-no))
(/= lyskom-pers-no pers-no)
(or kom-presence-messages
kom-presence-messages-in-buffer))
(or (lyskom-show-presence pers-no kom-presence-messages)
(lyskom-show-presence pers-no kom-presence-messages-in-buffer)))
(initiate-get-conf-stat 'follow
'lyskom-show-logged-out-person
pers-no session-no))
......@@ -201,13 +201,13 @@ this function shall be with current-buffer the BUFFER."
(lyskom-skip-tokens tokens)))))
(defsubst lyskom-show-presence (num flag)
(defun lyskom-show-presence (num flag)
"Returns non-nil if presence messages for NUM should be displayed
according to the value of FLAG."
(cond ((null flag) nil)
((and (listp flag)
(memq num flag)) t)
((not (listp flag)) t)))
((eq flag 'friends) (memq num kom-friends))
((listp flag) (memq num flag))
(t t)))
(defun lyskom-show-logged-in-person (conf-stat)
......
......@@ -1803,6 +1803,8 @@ Select whether to execute command or keyboard macro.")
(no . "No ")
(max-text-length . "For articles shorter than: ")
(friends . "Friends and other special people")
(turned-off . "Turned off ")
(number-of-times . "A few times")
(sound-file . "Audio file")
......
......@@ -209,16 +209,27 @@ If the optional argument REFETCH is non-nil, `lyskom-refetch' is called."
(lyskom-set-last-viewed)
(lyskom-scroll)
(if (< (window-start) lyskom-last-viewed)
(let ((overlay (make-overlay
lyskom-last-viewed
(save-excursion (goto-char lyskom-last-viewed)
(end-of-line)
(forward-char 1)
(point)))))
(overlay-put overlay 'face 'kom-mark-face)
(run-at-time 2 nil
'delete-overlay
overlay)))))
(lyskom-xemacs-or-gnu
(let ((overlay (make-extent
lyskom-last-viewed
(save-excursion (goto-char lyskom-last-viewed)
(end-of-line)
(forward-char 1)
(point)))))
(set-extent-face overlay 'kom-mark-face)
(add-timeout 2
'delete-extent
overlay))
(let ((overlay (make-overlay
lyskom-last-viewed
(save-excursion (goto-char lyskom-last-viewed)
(end-of-line)
(forward-char 1)
(point)))))
(overlay-put overlay 'face 'kom-mark-face)
(run-at-time 2 nil
'delete-overlay
overlay))))))
(defun kom-line-next-command ()
......@@ -1417,7 +1428,7 @@ Note that it is not allowed to use deferred insertions in the text."
(result nil)
(case-fold-search t))
(while tmp
(when (string-match (car (car tmp)) content-type)
(when (eq 0 (string-match (car (car tmp)) content-type))
(setq result (car tmp))
(setq tmp nil))
(setq tmp (cdr tmp)))
......@@ -1594,7 +1605,7 @@ in lyskom-messages."
(backward-char 1)
(delete-horizontal-space))
(error nil)))
(fill-region start end justify nosqueeze to-eop))))
(fill-region start (min end (point-max)) justify nosqueeze to-eop))))
(defun lyskom-fill-message (text)
"Try to reformat a message."
......
......@@ -194,9 +194,19 @@ customize buffer but do not save them to the server."
(let ((tmp lyskom-widgets))
(save-excursion
(set-buffer lyskom-buffer)
(when (listp kom-dont-read-saved-variables)
(setq kom-dont-read-saved-variables nil))
(while tmp
(set (car (car tmp))
(widget-value (cdr (car tmp))))
(when (and (listp kom-dont-read-saved-variables)
(not (widget-value (widget-get (cdr (car tmp))
':lyskom-storage-widget)))
(or (memq (car (car tmp)) lyskom-elisp-variables)
(memq (car (car tmp)) lyskom-global-boolean-variables)
(memq (car (car tmp)) lyskom-global-non-boolean-variables)))
(setq kom-dont-read-saved-variables
(cons (car (car tmp)) kom-dont-read-saved-variables)))
(setq tmp (cdr tmp))))))
(eval-when-compile (defvar save-options-init-file nil))
......@@ -215,9 +225,11 @@ customize buffer but do not save them to the server."
(lambda (e)
(when (and (vectorp e)
(symbolp (elt e 0))
(not (memq (elt e 0) lyskom-elisp-variables))
(not (memq (elt e 0) lyskom-global-boolean-variables))
(not (memq (elt e 0) lyskom-global-non-boolean-variables))
(or
(and (not (memq (elt e 0) lyskom-elisp-variables))
(not (memq (elt e 0) lyskom-global-boolean-variables))
(not (memq (elt e 0) lyskom-global-non-boolean-variables)))
(memq (elt e 0) kom-dont-read-saved-variables))
(boundp (elt e 0)))
(setq var-list (cons (cons (elt e 0)
(symbol-value (elt e 0)))
......@@ -419,13 +431,17 @@ customize buffer but do not save them to the server."
(kom-dashed-lines (toggle (on off)))
(kom-show-author-at-end (toggle (on off)))
(kom-print-number-of-unread-on-entrance (toggle (yes no)))
(kom-presence-messages (choice ((const (on t))
(repeat (person nil :tag name)
:tag some-persons
:menu-tag some-persons))))
(kom-presence-messages (choice ((const (on t))
(const (friends friends))
(repeat (person nil :tag name)
:indent 4
:tag some-persons
:menu-tag some-persons))))
(kom-presence-messages-in-buffer
(choice ((const (on t))
(const (friends friends))
(repeat (person nil :tag name)
:indent 4
:tag some-persons
:menu-tag some-persons))))
(kom-show-where-and-what (toggle (yes no)))
......@@ -438,16 +454,19 @@ customize buffer but do not save them to the server."
(kom-higher-priority-breaks (choice ((const (express-break express))
(const (break t))
(const (no-break nil)))))
(kom-login-hook (repeat (command nil :tag command)))
(kom-login-hook (repeat (command nil :tag command)
:indent 4))
(kom-do-when-done (repeat (choice ((command nil :tag command)
(kbd-macro nil :tag kbd-macro))
:tag execute
:help-echo select-what-to-execute
:format "%[%t%] %v")))
:format "%[%t%] %v")
:indent 4))
(kom-page-before-command (choice ((const (page-none nil))
(const (page-all t))
(repeat (command nil
:tag command)
:indent 4
:tag page-some
:menu-tag page-some
:format "%[%t%] %v"
......@@ -479,8 +498,9 @@ customize buffer but do not save them to the server."
(const (group-rcpt group))
(const (sender-rcpt sender)))))
(lyskom-filter-outgoing-messages (noggle (yes no)))
(kom-friends (repeat (person nil :tag name)))
(kom-url-viewer-preferences (repeat (url-viewer nil :tag viewer-program)))
(kom-friends (repeat (person nil :tag name) :indent 4))
(kom-url-viewer-preferences (repeat (url-viewer nil :tag viewer-program)
:indent 4))
(kom-mosaic-command (file))
(kom-netscape-command (file))
(kom-confirm-multiple-recipients
......@@ -500,7 +520,8 @@ customize buffer but do not save them to the server."
(kom-ansaphone-show-messages (toggle (yes no)))
(kom-ansaphone-default-reply (string nil :format "%[%t%]\n%v"))
(kom-remote-control (toggle (on off)))
(kom-remote-controllers (repeat (person nil :tag name)))
(kom-remote-controllers (repeat (person nil :tag name)
:indent 4))
(kom-self-control (toggle (yes no)))
(kom-ispell-dictionary (ispell-dictionary))
(kom-show-namedays (toggle (on off)))
......@@ -539,8 +560,25 @@ customize buffer but do not save them to the server."
(doc-sym (intern (concat (symbol-name variable) "-doc")))
(help-sym (intern (concat (symbol-name variable) "-help")))
(value (save-excursion (set-buffer lyskom-buffer)
(symbol-value variable))))
(symbol-value variable)))
(storage-widget nil))
(ignore value help-sym dummy) ; Are they ever used?
(setq storage-widget
(condition-case nil
(prog1
(widget-create 'checkbox
':value (and (not (memq variable kom-dont-read-saved-variables))
(or (memq variable lyskom-elisp-variables)
(memq variable lyskom-global-boolean-variables)
(memq variable lyskom-global-non-boolean-variables)))
':args variable
':format "%[%v%]"
':help-echo (lyskom-custom-string 'variable-type-help))
(widget-insert " "))
(error nil)))
(setq spec
(cons (car spec)
(append
......@@ -554,6 +592,7 @@ customize buffer but do not save them to the server."
(lyskom-format
(lyskom-custom-string 'default-help-echo)
(symbol-name variable))
':lyskom-storage-widget storage-widget
)
(cdr spec))))
(let ((widget (apply 'widget-create spec)))
......
......@@ -88,15 +88,30 @@ See lyskom-mode for details."
(t
(setq host (substring host 0 (match-beginning 0)))))))
(let* ((buffer (get-buffer host))
(let* ((duplicate-buffers
(delq nil
(mapcar (lambda (buffer)
(and (lyskom-buffer-p buffer)
(buffer-name buffer)
(string-match (regexp-quote host)
(buffer-name buffer))
(save-excursion (set-buffer buffer)
(and
(boundp 'lyskom-server-port)
(eq port lyskom-server-port)))
buffer))
(buffer-list))))
(name nil)
(proc nil)
(buffer (car duplicate-buffers))
(reused-buffer nil))
(if (and buffer
(lyskom-buffer-p buffer)
(if (and duplicate-buffers
(not (prog1
(j-or-n-p (lyskom-get-string
'start-new-session-same-server))<