Nyheter i lyskom.el 0.47 ======================== Version 0.47 av elispklienten innehåller ett stort antal bugfixar och ny funktionalitet. Den finns att hämta på följande adress: Filen heter lyskom-0.47.tar.gz, och en kopia av den text du läser just nu finns under namnet NEWS-0.47 i tar-arkivet. Det finns även en zip-fil för folk som sitter med system som inte förstår tar-filer. Om du hittar ett fel i elispklienten och inte klarar att rätta det själv, använd M-x kom-bug-report för att rapportera det. Du kan även lägga in buggar i . Buggar blir omhändertagna i mån av tid, ork och lust. Färdiga patchar blir inlagda mycket snabbare. ==================== VIKTIGT ==================== Den här versionen av elispklienten innehåller en del ändringar som bryter mot invanda mönster och andra som (åtminstone i början) kan upplevas besvärliga. Denna text beskriver ändringarna i detalj och förklarar hur man kan ändra det man inte gillar. Läs speciellt under rubriken "Ändringar i alla inläggsrelaterade kommandon". Från och med version 0.47 av elispklienten så är stödet för Gnu Emacs 19.34 och LysKOM-servrar med protokollversion 9 eller tidigare (dvs lyskomd äldre än version 2.0.0) inte längre garanterat. Förmodligen kommer det mesta att fungera i Gnu Emacs 19.34 rätt länge än, men har du inte uppgraderat din Emacs än så är det dags nu. Elispklienten skall fungera tillsammans med Gnu Emacs 20.7, Gnu Emacs 21.1 (eller senare i 21-serien) eller XEmacs 21.4 (eller senare i 21-serien). Det kanske fungerar med andra versioner också. Lycka till. * Problem med teckenuppsättningar ** Om du använder language-environment Latin-9 kommer du att få problem när du kommenterar texter skrivna med Latin-1. Om du använder language-environment Latin-1 kommer du istället att få problem när/om du kommenterar texter skrivna med Latin-9. Med language-environment Latin-9 får du dessutom problem med utfyllnad av kommandonamn vars ord börjar på svenska tecken. Om du använder GNU Emacs 21 kan du använda ucs-tables.el som antagligen kommer att följa med i version 21.3. (Hämtas t ex från cvs . Vi har testat revision 1.12.) När du hämtat filen behöver du lägga den någonstans i din load-path och se till att den används. Någonting i den här stilen borde fungera om du lagt ucs-tables.el i ~/elisp: (setq load-path (cons (expand-file-name "~/elisp") load-path)) (require 'ucs-tables) (unify-8859-on-encoding-mode 1) (unify-8859-on-decoding-mode 1) För de som använder XEmacs innehåller elispklienten en patch som förhoppningsvis gör att paketet latin-unity kan användas för att avhjälpa samma problem. Följande i .emacs borde göra susen om latin-unity är installerat: (latin-unity-install) * Migreringsproblem och kompatibilitetsproblem ** Om man använder teckenkodning iso-8859-15 i Gnu Emacs 21.2 (och kanske andra inställningar), något som verkar vara default i vissa Linux-distributioner, så går det inte att slå upp mötesnamn som innehåller tecken utanför ASCII. Anledningen till detta är att Emacs inte klarar att översätta från iso-8859-15 till iso-8859-1, som är den teckenkodning som oftast används ihop med LysKOM. Använd M-x set-language-environment och välj iso-8859-1 för att ställa in en språkomgivning. ** Den som har definierat en egen uppsättning färger behöver lägga till några och se över definitionen av kom-first-line-face. Numera appliceras kom-first-line-face även om den är identisk med default. ** Den som har en annan bakgrundsfärg än svart eller vitt (eller möjligen något väldigt likt) kommer antagligen att tycka illa om standarduppsättningen med färger. Standarduppsättningarna är optimerade för antingen vit eller svart bakgrund. Det går att ställa enstaka färger i kom-login-hook om man så önskar. ** FAQ-hanteringen har ändrats en del. Bland annat måste man läsa om alla FAQ:er en gång på grund av hur FAQ-läsmarkeringar fungerar numera; information om vilka mötes-FAQ:er man har läst sparas i servern, och varje gång det kommer en ny FAQ till ett möte man är med i så meddelas man om det nästa gång man går till mötet. ** De avvikande bakgrundsfärgerna som man kan ha på inläggstext, streckrader och första raden ser lite underliga ut i XEmacs eftersom de bara sträcker sig till slutet av texten och inte till fönstrets kant. Detta går tyvärr inte att undvika. ** Vissa installationer av framförallt XEmacs innehåller en fil som heter macedit.el (eller macedit.elc) som innehåller en felaktig definition av en funktion som elispklienten använder. Problemen som uppstår gör det omöjligt att kompilera och ladda elispklienten. Se README för mer fullständig information om macedit.el. ** Förr hette många hookvariabler (oriktigt) "lyskom-..." i stället för "kom-...". De gamla namnen är tänkta att fungera i 0.47, men kommer att tas bort i nästa version. Använder du någon av dessa så bör du byta prefix på den redan nu. Tanken är att kod användaren ska eller vill peta i har prefixet "kom-"; "lyskom-..." är interna klientfunktioner som löper större risk för inkompatibla ändringar. * Funktionalitet ** Språkbyten *** Nu ändrar Ändra språk inte menyer eller tangentbindningar (men allting annat). Om man i stället kör kommandot med prefixargument C-u, det vill säga C-u x Ändra språk, så ändras alla språkberoende inställningar, inklusive tangentbindningarna. *** Klienten tittar på omgivningsvariablerna KOMLANGUAGE och LANG (i den ordningen) för att bestämma defaultspråk. Lämpliga värden att sätta variabeln till är sv eller en. *** Första gången man loggar in så sätts språket globalt (tangentmappningar och allt) baserat på kom-default-language, vilken kan ha värden som 'sv eller 'en. Vid efterföljande inloggningar så sker detta inte. *** Defaultspråk har ändrats från svenska till engelska. ** Ändringar i alla inläggsrelaterade kommandon *** De flesta inläggsrelaterade kommandona (till exempel Kommentera inlägget, Addera mottagare och Personligt svar) arbetar nu på inlägget som markören står i eller närmast efter, och inte inlägget sist i bufferten. *** Betydelsen av prefixargument till inläggsrelaterade kommandon har ändrats som följer: Inget prefixargument Kommandoberoende; oftast inlägget under markören (inte senast lästa inlägg). Positivt prefixargument Inlägget N steg nedåt i bufferten. Negativt prefixargument Inlägget N steg uppåt i bufferten. Noll Prompta efter inläggsnummer. N upprepningar av C-u Arbeta på inlägget N steg upp i kommentarskedjan. Om det pekar ut mer än ett inlägg får du en prompt med det första som skönsvärde. Betydelsen kan konfigureras för varje enskilt kommando genom variabeln kom-pick-text-no-strategy-alist. Beteendet som gäller i 0.46.2 går att få genom att sätta kom-pick-text-no-strategy-alist till värdet av lyskom-old-farts-text-prompt-strategy. Stoppa helt enkelt in följande i din .emacs: (add-hook 'lyskom-after-load-hook (lambda () (setq kom-pick-text-no-strategy-alist kom-old-farts-text-prompt-strategy))) *** Man kan med mycket god precision konfigurera på vilket sätt man vill ha prefixargument ska översättas till inläggsnummer och vilket skönsvärde man vill få, då det promptas efter inläggsnummer. Kika på dokumentationen för variabeln kom-pick-text-no-strategy-alist. *** Inläsningen av inläggsnummer till alla kommandon har gjorts mer regelbunden. Man kan ställa in per kommando om kommandot alltid skall fråga efter inläggsnummer eller använda strategierna enligt ovan. ** Diverse *** Inlägg och andra texter har numera en egen bakgrundsfärg. Färgen beräknas automatiskt utifrån normal bakgrundsfärg. Dessa avvikande bakgrundsfärger kan givetvis stängas av via "Inställningar (för) LysKOM". *** Status (för) session visar nu när en person loggade ut senast om personen inte är inloggad. Har du i Inställningar för LysKOM bett om petig utfyllnad av namn så går det dock inte att mata in namnen på personer som inte är inloggade, och därmed finns ingen möjlighet att få status för dem. *** Gå till nästa möte tar prefixargument på samma sätt som Lista nyheter. Positivt prefixargument betyder gå till nästa möte med minst så många olästa. Negativt betyder gå till nästa möte med högst så många olästa. *** Om man ger prefixargument till Status (för) session så visar elispklienten status för den person som har skrivit inlägget man angav i prefixargumentet (prefixargumentet används på samma sätt som för alla vanliga kommandon som behandlar inlägg). *** Prefixargument till "Återse presentation" anger ett inlägg vars författare man vill se presentation för på motsvarande vis. *** Prefixargument till "Status (för) person" anger ett inlägg vars författare man vill se användarstatus för på motsvarande vis. *** Tangenterna * och = i inläggsskrivarbufferten fungerar på samma sätt som i LysKOM-bufferten. TAB och M-TAB kan användas för att flytta markören mellan intressanta områden i bufferten. *** Shift TAB gör samma sak som M-TAB (men fungerar inte om man kör i en tty). *** Klienten kan visa och skapa fler sorters tilläggsinformation än förr. Klienten hanterar tilläggsinformation som är satt på servern. *** Texten som visas när man blir inbjuden till ett möte är tydligare. *** Man kan sätta FAQer på personer (kräver att servern tillåter det; lyskomd tillåter FAQer på personer från version 2.0.6). *** Subtrahera kommentar och subtrahera fotnot har completion på inläggsnummer. *** Standardbeteendet för "Lista (med) regexpar" (l r) är nu att inte göra skillnad på gemener och versaler. Ges prefixargument C-u, anses det som förut vara skillnad. *** "Lista (med) regexpar" frågar nu om man vill lista personer eller möten. *** DSKOM och LysCOM har tillkommit i listan över LysKOM-servrar. CSD-KOM:s adress har uppdaterats, MedioKOM är borta och HelKOM kallas nu HesaKOM. *** Varje prompt har en tidsstämpel som visas om man högerklickar på prompten (och som även kan kopieras till klippbuffern). *** "Kontrollera (om person är) medlem (i möte)" skiljer på aktiva och passiva medlemskap. *** Bättre defaultvärden i flera kommandon. *** Återse fler inlägg tar prefixargument. *** Hoppa fungerar även när man återser träd. *** När klienten skriver ut felmeddelanden skriver den ut lite mer information om felet. *** Man kan ställa in om återsekommandona ska använda cachen eller inte. Att använda cachen går fortare än att inte göra det, men man riskerar att få gammal information. *** Namnsdagslistan har uppdaterats för att följa svenska språknämndens nya namnlängd. *** Med prefixargument C-u hoppar "Lista ärenden" (C-u l ä) över inlägg vars ärenderad redan har listats, dvs endast unika ärenden visas. *** Man kan skapa osynliga sessioner. Eftersom jag tycker att detta är asocialt så tänker jag inte tala om hur man gör. :-) *** Nya val i menyn vid högerklick på inläggsnummer: "Återse träd", "Återse alla kommentarer", "Återse alla kommentarer rekursivt" (kallades förut "Återse träd"), "Fotnotera", "Anmärk" och "Kopiera inläggsnummer". *** Det finns ytterligare några uppsättningar färger att välja mellan. *** Tryck M-m före ett kommando för att tillfälligt ändra om återsekommandon läsmarkerar eller inte. *** Kommandot M-x kom-apropos är bra för dig som vill hitta bland de elispvariabler och elispfunktioner som elispklienten består av. *** Återse omodifierat visar all tilläggsinformation på inlägg (inklusive information av okänd sort) och inte bara en liten delmängd. *** Utfyllnad med mellanslag av kommandon har förbättrats avsevärt. *** Det är lättare att välja alternativ i menyn man får upp när man trycker = på t.ex. inläggsnummer i inläggsbufferten. ** LysKOM över SSH *** Det går numera att tunnla LysKOM genom SSH alldeles automagiskt. Koden är endast testad med OpenSSH och förväntar sig engelska meddelanden på ett visst format. Sätt variabeln kom-ssh-relay-host för att aktivera funktionen. ** FAQ-hantering *** FAQer till ett möte visas som om de vore kommentarer till mötespresentationen. *** När FAQer listas så visas även ärenderaden. *** Man kan sätta och läsa FAQer på servern. *** När man loggar in så listas alla olästa FAQer som är satta på servern, och klienten gör automatiskt Återse FAQ på dessa inlägg. *** När man går till ett möte så listas alla olästa FAQer som är satta på mötet, och klienten gör automatiskt Återse FAQ på dessa inlägg. *** Prompten visar "Läsa nästa FAQ" när man håller på att återse FAQer. ** Omdirigering av kommentarer *** Kommandot "Dirigera om kommentarer" talar om vilket möte man vill ska läggas till som mottagare (istället för ens brevlåda) på kommenterar till inlägg man har skrivit, när kommentaren enbart skickas till möten man inte är med i och författaren svarar ja på frågan om att lägga till det kommenterades författare som mottagare. *** Om någon har begärt omdirigering av kommentarer så ser klienten till att följa detta. ** Mötesrekommendationer *** Man kan sätta mötesrekommendationer på servern. *** När man loggar in och det finns rekommenderade möten som man inte är med i och inte har tackat nej till tidigare så frågar klienten om man vill bli medlem i dessa möten. ** Integration med webbläsare *** Elispklienten kan nu visa URLer i Galeon. *** Klienten är nu bättre på att öppna URL:er i Windows. Dels är heuristiken för val av webbläsare bättre och dels går det att sätta den nya variabeln kom-windows-browser-command till ett lämpligt värde. ** Redigering av inlägg *** Stöd för att enkelt lägga in länkar av typen , och genom att trycka C-c C-i C-l vid editering av inlägg. *** Man kan lägga till, ta bort och ändra typ på mottagare och tilläggsinformation genom att använda musen. *** C-c TAB gör nu samma sak som C-c C-i i inläggsediteringsmoden, vilket borde glädja användare som kör sin Emacs i TTY-läge. ** Tangentbindningar *** "Ändra FAQ" finns på äq. Överlag har FAQ-relaterade kommandon q i tangentbindningen. *** Tangenten för att ange kommandon har flyttats från a till x för att nästa version av elispklienten ska kunna använda a som prefix för addera-kommandon. Under en övergångsperiod så kommer a att påminna om flytten. *** Tangenten v har blivit prefix för alla vilka-relaterade kommandon. Kommandot som förr låg på v ligger nu på v i. *** "Återse brevhuvud" finns nu på å b. ** Symboliska markeringar *** Man kan ha symboliska markeringar genom att definiera att en viss markering har ett visst namn. Ange namnen via Inställningar (för) LysKOM eller när du skapar markeringen. *** Man kan få elispklienten att fråga efter nya markeringsnamn när man markerar inlägg (kom-default-mark). ** Nya inställningar *** kom-presence-messages-in-echo-area ersätter kom-presence-messages, som numera bara används internt i elispklienten (och som kan komma att byta namn i nästa version av elispklienten). *** kom-format-html-authors är en lista som anger vilka författare man accepterar HTML-inlägg från (alternativt vilka man inte accepterar HTML från). Användbart för att till exempel inte formattera HTML som har importerats från e-mail. *** kom-ssh-proxy-host anger vilken maskin man skall skapa en ssh-tunnel till för att köra LysKOM genom. *** kom-edit-hide-add-button anger om knappen [Addera...] ska visas eller inte. *** kom-highlight-text-body anger om inläggstexter ska visas med ett alternativt utseende. *** kom-highlight-first-line anger om första raden i inläggshuvudet ska visas med ett alternativt utseende. *** kom-highlight-dashed-lines anger om streckraderna före och efter inlägg skall visas med ett alternativt utseende. *** kom-print-seconds-in-time-strings anger om klienten ska skriva ut sekunder i klockslag eller inte. *** kom-print-relative-dates anger om klienten ska skriva ut närliggande datum som "i dag", "i morgon" och "i går". *** kom-auto-list-faqs anger om klienten ska lista olästa FAQer för ett möte när man går till mötet eller för servern när man loggar in. *** kom-auto-review-faqs anger om klienten ska återse olästa FAQer för ett möte när man går till mötet eller för servern när man loggar in. *** kom-symbolic-marks-alist är en lista av symboliska markeringar. *** kom-review-uses-cache anger om klienten ska använda cachen när man återser inlägg eller inte (används cachen så kan inaktuell information visas). *** kom-review-marks-texts-as-read anger om återsekommandona även läsmarkerar inlägg som visas. *** kom-windows-browser-command anger en webbläsare att använda under Windows. *** kom-galeon-command anger kommandot för att starta Galeon. *** kom-text-no-prompts anger hur elispklienten skall fråga efter textnummer när man ger kommandon. Den ersätter kom-prompt-for-text-no. Se även kom-pick-text-no-strategy-alist och funktionen lyskom-read-text-no-prefix-arg och för relevant info. *** kom-extended-status-information styr om man får se utökad information när man visar status för person, möte eller server. *** kom-after-change-conf-hook är en hook som körs precis efter man har bytt möte på något vis. ** Färdigbakade hook-funktioner *** Funktionen lyskom-view-text-convert-ISO-646-SE-to-ISO-8859-1 är avsedd att läggas i kom-view-text-hook för att automagiskt skriva om }{| till åäö i lästa inlägg. (Importerade e-brev undantas dock från konverterering, eftersom smittan inte är lika utbredd i mailvärlden.) *** Funktionen "kom-read-last-text-hook" är avsedd att stoppas in i kom-change-conf-hook. Den gör att man alltid får se endast det senast skrivna inlägget i ett visst möte, oavsett hur många man hade olästa innan. Se funktionens dokumentation för mer information. *** Funktionen "kom-list-summary-hook" är avsedd att stoppas in i kom-after-change-hook och gör att klienten listar ärenden för alla olästa inlägg i ett visst möte varje gång man går till det. Se funktionens dokumentation för mer information. ** Nya kommandon *** "Flytta träd" kan användas för att enklare flytta ett helt inläggsträd. Den frågar vad den skall göra med varje inlägg. *** "Hjälp" är ett nytt kommando, infört på prov, som ger hjälp om LysKOM. *** "Addera referens" kan användas för att addera en korsreferens till ett befintligt inlägg. *** "Vilka (är) närvarande (i möte)" visar vilka personer som är närvarande i LysKOM och är i ett visst möte. *** "Vilka vänner (är inloggade)" visar vilka personer i vänner-listan som är inloggade för tillfället. *** "Vilka (är inloggade i) möte" visar vilka personer som är närvarande i LysKOM och är medlemmar i ett visst möte. *** "Filtrera mottagare" skapar filter baserat på ett inläggs mottagare. Använd för att filtrera alla inlägg som har ett visst möte som mottagare. *** "Återse läsmarkerar" och "Återse läsmarkerar inte" växlar mellan läget där återsekommandona läsmarkerar och läget där de inte läsmarkerar inläggen som visas. Inställningen sparas inte i servern, men gäller så länge sessionen är aktiv. *** "Addera presentation" sätter ett inlägg som presentation till ett visst möte. *** "Ta bort presentation" tar bort presentationen från ett möte. *** "Addera lapp på dörren" sätter ett befintligt inlägg som lapp på dörren på ett möte. *** "Skapa tilläggsinformation" skapar godtycklig tilläggsinformation. Använd inte det här om du inte vet vad du håller på med. *** "Status (för) servern" visar statusinformation för LysKOM-servern. *** "Addera server-FAQ"/"Ta bort server-FAQ" adderar eller tar bort en FAQ på servern. *** "Återse server-FAQ" visar FAQer som sitter på servern. *** "Rekommendera möte" skapar en mötesrekommendation för LysKOM-servern. *** "Dirigera om kommentarer" skapar en begäran att kommentarer som får en viss brevlåda adderad som mottagare för att det kommenterades författare inte är medlem i kommentarens mottagare ska dirigeras om till ett annat möte. *** "Jämför två texter" jämför två texter med ediff. *** "Se diff" visar skillnaden mellan två inlägg i LysKOM-bufferten. *** "Addera för kännedom" heter nu "Addera dold kopia". * Buggfixar ** Man kan köra klienten okompilerad, även om det verkligen inte rekommenderas. ** Utskrifter av klockslag har korrigerats. Tidigare skillnader i tidsangivelser bör vara korrigerade. ** Start av Netscape är lite säkrare (förr kunde den konsumera oändligt mycket processortid). ** Klickningar när man kör långsamma kommandon fungerar bättre. ** Återse FAQ och återse markerade inlägg använder återseprioriteter på samma sätt som övriga återsekommandon. ** Elispklienten sätter rätt content-type på inlägg den skapar. ** Content-type för kommentars- och fotnotslänkar till importerade e-brev sätts rätt. ** Ombrytning av inlägg som inte fungerar på grund av buggar i Emacs (eller klienten) bör inte längre hindra inlägg från att visas. ** Vi skapar inte längre massvis av *kom*-fcc-buffertar. ** Hanteringen av datum i importerade inlägg är mer robust. ** Man kan ändra presentation även om den gamla presentationen har tagits bort. ** Dold kopia är det nya namnet för "för kännedom". ** Bättre igenkänning av länkar och annat i inlägg. ** Om man tackar nej till mötesinbjudan så går man ur mötet. Det blir inte ett passivt medlemskap. ** Klick på brevlåda i Lista nyheter går till brevlådan istället för att visa presentationen. ** Kasta ut session beter sig finare om den angivna personen inte är inloggad. ** Återse-kommandon klarar nu av stora mängder kommentarslänkar. ** Bredden på några kolumner med inläggsnummer var tidigare hårdkodad till sju tecken. Nu frågar klienten servern om högsta inläggsnummer och anpassar sig därefter. ** Status (för) person säger nu "Senaste in-/utloggning" istället för det felaktiga "Senast inne". ** Ett informativt meddelande ges nu vid försök till privat svar på ett anonymt inlägg. ** Adderaknappen från inläggsbufferten sparas inte när man sparar inlägg man skapar. ** Presentationsformuläret är uppdaterat. ** Hantera importerade inlägg som har författare satt till tomma strängen på ett bättre sätt (formatteringen blev fel förut). ** Ändra FAQ kunde tappa bort mottagare. Det gör den inte längre. ** Felhanteringen i parsern är förbättrad. ** Prestanda då man loggar kommunikationen har förbättrats kraftigt genom att mängden information som sparas är begränsad. ** Menyer med separatorlinjer ser snyggare ut i XEmacs. ** Avkortade texter med långa rader tar inte upp fler rader än man har bett om. Förut kunde en lång rad brytas över flera skärmrader. Nu tar avkortningen detta med i beräkningarna. ** Man kan ha annat än LysKOM-kommandon i kom-login-hook utan att Inställningar (för) LysKOM blir kinkig. ** Ett stort antal andra buggar, stavfel och kommandobeskrivningar rättade. ** Anmärkningar kan inte längre innehålla radbrytningar. ** Content type sätts rätt på user-arean. ** Stora heltal konverteras till flyttal av vissa versioner av Emacs. Detta hanteras nu korrekt. ** Inlägg skrivna med ISO-8859-15 konverteras inte till ISO-8859-1 innan de skickas till servern. ** Prompten för att addera dold kopia är nu rätt. ** Elispklienten gnäller nu om man har variabler i user-arean som inte borde finnas där. ** URLer som inte är uppmärkta kan inte längre sluta med klamrar eller semikolon. ** Klienten är bättre på att välja teckenkodning i Gnu Emacs.