Commit ddc14405 authored by David Byers's avatar David Byers Committed by Per Cederqvist

Added NEWS file

parent 0a79c013
Nyheter i lyskom.el 0.45.2
==========================
Version 0.45.2 av elispklienten finns nu tillgänglig på följande URL.
<URL:ftp://ftp.lysator.liu.se/pub/lyskom/elisp-client/>
Filen heter lyskom-0.45.2.tar.gz, och en kopia av den text du läser
just nu finns under namnet NEWS-0.45.2 samt under namnet NEWS-0.45.2 i
tar-arkivet.
Detta är en mindre uppgradering av 0.45.1 som i första hand åtgärdar
en del kompatibilitetsproblem med Gnu Emacs 20.3 och 20.4, och med
senare versioner av XEmacs. Om du använder Gnu Emacs 19.34 är det inte
nödvändigt att uppgradera. Den här versionen är inte testad lika noga
som 0.45.1 var.
Det behövs folk som jobbar med LysKOM-projektet. Om du är intresserad
av att hjälpa till med (eller ta över) utvecklingen av elispklienten
så säg bara till. Jag har inte tid.
David Byers <byers@lysator.liu.se>
* Se NEWS-0.45 och NEWS-0.45.1 för information om 0.45 i största
allmänhet.
* Fitjurs och förbättringar
** Bättre kompatibilitet med version 20.3 och 20.4 av Gnu Emacs.
Bättre kompatibilitet med sena versioner av XEmacs.
** Det borde gå att ladda lyskom.elc mer än en gång utan att förstöra
sina inställningar.
** Om man skriver in ett namn som matchar mer än ett i databasen, och
matchar det ena exakt utan parentes så kommer det att accepteras
som unikt. Förr var man tvungen att skriva in parentesen också.
** Om man inte har w3 installerat så försöker klienten inte längre
anropa w3 för att formattera HTML.
** Textfärger och bakgrundsfärger i HTML ignoreras.
* Kända buggar
** För att alls fungera i Gnu Emacs 20.1 så stänger elispklienten
explicit av stödet för multibytetecken i sina buffertar. Det kan
hända att vi har missat något ställe. Säg till om du upptäcker
något som verkar underligt.
** Det kan vara problem att prata med lyskomd 1.7.0 eller äldre. I
Nästa version kommer det garanterat inte att fungera alls.
This diff is collapsed.
HOW READING WORKS
David Byers
This file aims to explain how the client knows what to read next
and how you can tell the client to let the user read certain
texts.
Most developers do not need to know these details.
The client uses two variables to control what is scheduled to be
read: lyskom-to-do-list and lyskom-reading-list. lyskom-to-do-list
contains everything to do in the future. lyskom-reading-list
contains information about what is being read now. The lists
contain elements of type READ-INFO.
There are several different types of read-infos:
CONF Read texts in a conference. The read-info contains the
conf-stat of the conference, a list of texts to read
and some other stuff (I don't remember exactly what.)
COMM-IN Read a comment to some other text. The read-info
contains the conf-stat in which the text is being
read, the priority of that conference, a list of
comments to a text (that presumably has just been
read), the text that has comments, and some other
stuff.
FOOTN-IN Read a footnote to some other text. The read-info is
essentially the same as a COMM-IN.
REVIEW Review one of more texts. The read-info contains the
priority the reviewing has, the list of texts to
review and some other stuff.
REVIEW-TREE Review a comment tree. This is more or less the same
as a COMM-IN, but is used for reviewing.
REVIEW-MARK Review one or more marked texts. The read-info
contains the priority, list of texts to review and
other stuff that I don't know off-hand.
Two of the things that every single read-info has is a priority
and a list of texts. The priority is used to determine when a text
with higher priority arrives. The idea is that lyskom-reading-list
is sorted in order of priority.
I'm don't know why we have two lists. It certainly complicates
matters more than it simplifies them. One of the things you can
use the two lists for is temporary read-infos. If you enter a
read-info in lyskom-reading-list and not on lyskom-to-do-list, it
will be removed if the user goes to another conference. This is
the case with COMM-IN and FOOTN-IN entries. They are never entered
on lyskom-to-do-list, and when you go to a new conference they are
simply dropped.
| Most of the time you don't want read-infos to be dropped.
| Therefore it is important to enter them on both lyskom-to-do-list
| and lyskom-reading-list. It is also important that you enter the
| same read-info on both lists, and not just identical copies. If
| you enter identical copies, users will end up reading everything
| at least twice.
To enter a REVIEW, REVIEW-TREE or REVIEW-MARK read-info, use the
function lyskom-review-enter-read-info to enter the same read-info
into both lists. It's fun to use, and easy too!
The prompt that the client prints is derived from the read lists.
The client first looks at lyskom-reading-list and then at
lyskom-to-do-list. Depending on the kind of read-info and which
list it is found on the client will print different prompts.
A CONF on lyskom-reading-list will generate a read next text
prompt. A REVIEW, REVIEW-TREE of REVIEW-MARK will generate the
corresponding review text prompt. A COMM-IN will generate a read
next comment, and FOOTN-IN a read next footnote prompt.
A CONF on lyskom-to-do-list will generate a go to next conference
prompt. A REVIEW, REVIEW-TREE or REVIEW-MARK will generate a
resume reviewing prompt. I have no clue what a COMM-IN or FOOTN-IN
will generate. Something bizarre, I suppose.
This diff is collapsed.
This diff is collapsed.
;;;;; -*-coding: raw-text;-*-
;;;;;
;;;;; $Id$
;;;;; Copyright (C) 1991, 1996 Lysator Academic Computer Association.
;;;;;
;;;;; 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 2, 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.
;;;;;
;;;; ================================================================
;;;; ================================================================
;;;;
;;;; File: feature.el
;;;;
;;;; Functions for determining if we have a particular feature or not
;;;;
(setq lyskom-clientversion-long
(concat lyskom-clientversion-long
"$Id$\n"))
(def-kom-var lyskom-feature-defaults nil
"Alist with default values of all feature variables")
(eval-and-compile
(defun lyskom-feature-variable (name)
(intern (format "lyskom-%s-feature-flag" name))))
(defmacro lyskom-define-feature (name default)
"Define a feature variable NAME with default value DEFAULT"
`(progn (setq lyskom-feature-defaults
(cons (cons ',name ,default) lyskom-feature-defaults))
(def-kom-var ,(lyskom-feature-variable name) ,default
"LysKOM feature flag variable."
inherited minibuffer local)))
(defmacro lyskom-set-feature (name value)
"Set the value of feature NAME to VALUE"
`(setq ,(lyskom-feature-variable name) ,value))
(defmacro lyskom-have-feature (name)
"Return non-nil if feature NAME is non-nil"
,(lyskom-feature-variable name))
(defmacro lyskom-feature-value (name)
"Return the value of feature NAME"
,(lyskom-feature-variable name))
(defun lyskom-clear-features ()
"Set the feature variables to their defaults"
(mapcar (lambda (feature)
(set (lyskom-feature-variable (car feature)) (cdr feature)))
lyskom-feature-defaults))
(defun lyskom-list-features ()
"List all feature values. mapcar ROCKS!"
(mapcar 'lyskom-insert-before-prompt
(mapcar (lambda (x) (apply 'format "%S: %S\n" x))
(mapcar2 'list
(mapcar 'car lyskom-feature-defaults)
(mapcar 'symbol-value
(mapcar 'lyskom-feature-variable
(mapcar 'car lyskom-feature-defaults)))))))
;;; ======================================================================
;;; ======================================================================
;;; Utility functions
(defmacro lyskom-have-call (call-no)
"Non-nil if call CALL-NO is supported by the server"
`(<= ,call-no (lyskom-feature-value highest-call)))
;;; ======================================================================
;;; ======================================================================
;;; The features
(lyskom-define-feature bcc-misc nil)
(lyskom-define-feature aux-items nil)
(lyskom-define-feature highest-call 0)
(lyskom-define-feature local-to-global nil)
(lyskom-define-feature dynamic-session-info nil)
(lyskom-define-feature idle-time nil)
(lyskom-define-feature long-conf-types nil)
(provide 'lyskom-feature)
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment