Commit 532c4021 authored by David Byers's avatar David Byers
Browse files

Explicitly set the coding system of the LysKOM process to iso-8859-1

to avoid Gnu Emacs MULE lossage.

Minor bug fixes.
parent 2e654d76
1999-08-23 David Byers <>
* startup.el: Set the process coding system of the network stream
to iso-8859-1 to avoid stupidities like Gnu Emacs sending its
internal representation of swedish characters to the server (and
lying about the length of the string in question.)
* compatibility.el (set-process-coding-system): New compatibility
1999-08-19 David Byers <>
* commands2.el (kom-change-conf-type): Fixed bug in call to
1999-08-18 David Byers <>
* prefetch.el (lyskom-prefetch-cancel-prefetch-map): New function.
(lyskom-skip-finished-in-queue): Handle CANCELED elements
(lyskom-prefetch-one-item): Handle CANCELED elements
* reading.el (lyskom-enter-map-in-to-do-list): Don't bug out if we
get a map for a conference we're not a member of. This can happen
when there are RPC calls pending and we do something to the
membership list (a refetch, leave a conference, etc.)
1999-08-22 David Byers <>
* edit-text.el (lyskom-edit-send-check-recipients): Check for
......@@ -7,6 +7,10 @@ Att g
listan, glöm inte att ta bort det från listan!
När man har kört prefetchen får man en skum kö i lyskom-prefetch-stack
som inte innehåller något annat än element som är köer vars sista
element är FINISHED. Ibland verkar köerna bli cirkulära.
Man borde använda next-command-event med vänner i silent-read och
......@@ -564,20 +568,6 @@ kommit. Det verkade l
mig igen.
"Vill du bli medlem? (j eller n)
Mark set
[6 times]
error in process filter: Wrong type argument: number-or-marker-p, nil
[20 times]"
Jag tror jag hittat ett sätt att provocera fram det felmeddelandet (om
det har någon praktisk nytta vet jag inte...)
Utträd ur fritt forum eller något annat högtrafikmöte.
G mötet
svara j på att bli medlem
a utträd ur mötet INNAN det hunnit cachas hos klienten. Modem eller
att köra från en annan kontinent underlättar nog här ;-)
......@@ -568,6 +568,7 @@ of the person."
(cond ((null pers) (lyskom-insert-string 'error-fetching-person))
((null conf) (lyskom-insert-string 'error-fetching-conf))
(lyskom-prefetch-cancel-prefetch-map (conf-stat->conf-no conf))
(lyskom-format-insert 'unsubscribe-to conf)
(set-membership-type->passive (membership->type mship) t)
(setq reply (blocking-do 'set-membership-type
......@@ -589,6 +590,9 @@ of the person."
(read-list-delete-read-info (conf-stat->conf-no conf)
(when self
(lyskom-prefetch-cancel-prefetch-map (conf-stat->conf-no conf)))
(if self
(lyskom-format-insert 'unsubscribe-to conf)
(lyskom-format-insert 'exclude-from pers conf))
......@@ -1816,7 +1816,8 @@ Return-value: 'no-session if there is no suitable session to switch to
(and ori (lyskom-get-string 'no-comments))
(and pro (lyskom-get-string 'closed))
(and ano (lyskom-get-string 'allow-anon))
(and ope (lyskom-get-string 'allow-secret))))))
(and ope (lyskom-get-string 'allow-secret))))
", "))
(let* ((open (lyskom-j-or-n-p (lyskom-get-string 'anyone-member) t))
(secret (if (not open)
(lyskom-j-or-n-p (lyskom-get-string 'secret-conf) t)))
......@@ -279,6 +279,9 @@ string to search in."
(make-local-variable 'enable-multibyte-characters)
(setq enable-multibyte-characters arg))
(lyskom-provide-function set-process-coding-system (proc &optional encoding decoding)
;;; ======================================================================
;;; Event stuff
......@@ -83,6 +83,7 @@ lyskom-queue.
For every membership-part we fetch the conf-stats
before continuing with the next part.
\('MEMBERSHIPISREAD\) - Just sets the lyskom-membership-is-read variable to t.
\('CANCELED . rest\) Whatever it was, it has been canceled.
See further documentation in the source code."
......@@ -138,6 +139,27 @@ This is used to prevent the prefetch code to reenter itself.")
(setq lyskom-membership-is-read 0))
;;; =================================================================
;;; Functions to cancel some prefetches
(defun lyskom-prefetch-cancel-prefetch-map (conf-no &optional queue)
;;; (let ((prefetch-list (if queue
;;; (lyskom-queue->all-entries queue)
;;; (lyskom-stack->all-entries lyskom-prefetch-stack))))
;;; (lyskom-traverse el prefetch-list
;;; (cond
;;; ((lyskom-queue-p el)
;;; (lyskom-prefetch-cancel-prefetch-map conf-no el))
;;; ((not (consp el)) nil)
;;; ((or (and (eq (car el) 'MAP)
;;; (eq (conf-stat->conf-no (elt el 1)) conf-no))
;;; (and (eq (car el) 'CONFSTATFORMAP)
;;; (eq (elt el 1) conf-no)))
;;; (setcar el 'CANCELED))
;;; )))
;;;; ================================================================
;;; +++ lyskom-reset-prefetch to be called on client reset.
;;; must restart everything.
......@@ -378,6 +400,8 @@ process is started. Used to keep prefetch going."
(while (not done)
(setq element (lyskom-queue->first queue))
(if (or (eq element 'DONE)
(and (consp element)
(eq (car element) 'CANCELED))
(and (lyskom-queue-p element)
(eq (lyskom-queue->first element) 'FINISHED)))
(lyskom-queue-delete-first queue)
......@@ -397,6 +421,8 @@ Return t if an element was prefetched, otherwise return nil."
(while (not done)
(setq element (lyskom-stack->top lyskom-prefetch-stack))
(if (or (eq element 'DONE)
(and (consp element)
(eq (car element) 'CANCELED))
(and (lyskom-queue-p element)
(eq (lyskom-queue->first element) 'FINISHED)))
(lyskom-stack-pop lyskom-prefetch-stack)
......@@ -409,6 +435,8 @@ Return t if an element was prefetched, otherwise return nil."
((eq element 'DONE) nil)
((eq element 'FINISHED) nil)
((and (consp element)
(eq (car element) 'CANCELED)) nil)
;; A queue ==> check it out first.
((lyskom-queue-p element)
......@@ -43,9 +43,9 @@
"Takes a MAP and enters all its listed text-nos in the conference CONF-STAT.
This works by modifying the lyskom-to-do-list which in some cases
also means modifying the lyskom-reading-list. The zero text-nos are skipped."
(let ((list (lyskom-list-unread map membership)))
(if (null list)
(let ((list (lyskom-list-unread map membership))
(mship (lyskom-try-get-membership (conf-stat->conf-no conf-stat))))
(when (and list mship)
'CONF conf-stat
......@@ -160,6 +160,7 @@ See lyskom-mode for details."
(setq proc (open-network-stream name buffer
(set-process-coding-system proc 'no-conversion 'iso-8859-1)
;; Install our filter.
;; Do this before we send the CONNECT command to
......@@ -188,7 +189,8 @@ CONNECT %s:%d HTTP/1.0\r\n\
;; Now the proxy has connected to the kom server
(t (setq proc (open-network-stream name buffer
host port)))))
host port))
(set-process-coding-system proc 'no-conversion 'iso-8859-1))))
(switch-to-buffer buffer)
(lyskom-mode) ;Clearing lyskom-default...
(setq lyskom-buffer buffer)
Supports Markdown
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