Commit abab5542 authored by David Byers's avatar David Byers
Browse files

Fix bug 583.

Fix bug 582.
Enable creating texts with iso-8859-15
parent 09cf42be
2002-06-09 David Byers <david.byers@swipnet.se>
Fix bug 583:
* flags.el (lyskom-read-options-eval): New variable
lyskom-ignored-user-area-vars.
(lyskom-maybe-set-var-from-string): Use it. Removed comment from
one of the validity checks.
Applied patch from Per Starbck (bug 582):
* vars.el.in (kom-presence-messages-in-echo-area): Ny variabel.
Den gamla, kom-presence-messages, finns kvar men anvnds inte.
* async.el (lyskom-parse-async): Changed kom-presence-messages to
kom-presence-messages-in-echo-area.
(lyskom-show-logged-in-person): Same.
(lyskom-show-logged-out-person): Same.
(lyskom-show-changed-person): Same.
2002-06-08 David Byers <david.byers@swipnet.se>
* mime.el (lyskom-charset-alist): Added iso-8859-15 to
lyskom-charset-alist. This will eliminate problems where
iso-8859-15 was encoded as latin-1 and Emacs brain-dead recoding
would use escape sequences for characters that existed in both
charsets.
2002-06-07 David Byers <david.byers@swipnet.se>
* help-sv.xml: New file, renamed from help.sv.
......
......@@ -51,10 +51,12 @@
The message consists of TOKENS tokens. Unknown messages are skipped.
Actions are taken to perform the various tasks that is required on reciept of
an asynchronous message.
If variable kom-presence-messages is non-nil or some minibuffer editing is
going on then nothing is printed on the message area.
This function is called with the lyskom-unparsed-buffer as current-buffer.
All calls using the lyskom-variables have to be made using the buffer BUFFER.
If variable `kom-presence-messages-in-echo-area' is non-nil or some
minibuffer editing is going on then nothing is printed on the message
area. This function is called with the lyskom-unparsed-buffer as
current-buffer. All calls using the lyskom-variables have to be made
using the buffer BUFFER.
Be careful when editing this. All parsing is done with the buffer this
function is called with as the current-buffer, while all calls from
......@@ -104,7 +106,7 @@ this function shall be with current-buffer the BUFFER."
(set-uconf-stat->name cached-ustat new-name)))
(cond
((lyskom-is-in-minibuffer))
((lyskom-show-presence conf-no kom-presence-messages)
((lyskom-show-presence conf-no kom-presence-messages-in-echo-area)
(lyskom-message "%s" (lyskom-format 'name-has-changed-to-name
old-name new-name))))
(cond
......@@ -212,7 +214,7 @@ 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 (lyskom-show-presence pers-no kom-presence-messages)
(or (lyskom-show-presence pers-no kom-presence-messages-in-echo-area)
(lyskom-show-presence pers-no kom-presence-messages-in-buffer)))
(initiate-get-conf-stat 'follow
'lyskom-show-logged-out-person
......@@ -357,7 +359,7 @@ according to the value of FLAG."
(cond
((lyskom-is-in-minibuffer))
((lyskom-show-presence (conf-stat->conf-no conf-stat)
kom-presence-messages)
kom-presence-messages-in-echo-area)
(lyskom-message
"%s"
(lyskom-format 'has-entered
......@@ -389,7 +391,7 @@ according to the value of FLAG."
(cond
((lyskom-is-in-minibuffer))
((lyskom-show-presence (conf-stat->conf-no conf-stat)
kom-presence-messages)
kom-presence-messages-in-echo-area)
(lyskom-message
"%s"
(lyskom-format 'has-left (or conf-stat
......@@ -417,7 +419,7 @@ according to the value of FLAG."
(progn
(cond
((and (lyskom-show-presence (conf-stat->conf-no personconfstat)
kom-presence-messages)
kom-presence-messages-in-echo-area)
(or (= 0 conf-num)
(eq conf-num lyskom-current-conf))
(/= 0 (length doing)))
......
......@@ -1733,11 +1733,14 @@ Number of sessions: %21#1d (total)
(external-program-missing . "Can't find the external program \"%#1s\", that was required for this command.")
(ignored-user-area-var . "\
Ignoring variable %#1s i in your settings.
The variable is not a registered LysKOM variable and cannot be read
from the server. If the variable corresponds to a setting that has
been removed, you can fix the problem by giving the command \"Save
variables\".\n\n")
Ignoring the following variables in your settings:
%#1s
These variables are not registered as LysKOM variables and cannot be
read from the server. If the variables corresponds to settings that
have been removed, you can fix the problem by giving the command
\"Save variables\".\n\n")
))
......@@ -3045,8 +3048,8 @@ be saved in the server. Otherwise it will be saved in your .emacs.")
(kom-presence-messages-doc . "\
If you want messages in the minibuffer when somebody logs in, logs out or
(kom-presence-messages-in-echo-area-doc . "\
If you want messages in the echo area when somebody logs in, logs out or
changes name, turn this setting on. Messages are shown in the minibuffer.
If you want messages about a limited number of users, specify which ones.
To not get any messages at all, just specify an empty list.")
......@@ -3577,8 +3580,8 @@ be saved in the server. Otherwise it will be saved in your .emacs.")
(kom-deferred-printing-tag . "Delayed display:")
(kom-continuous-scrolling-tag . "Continuous scrolling:")
(kom-presence-messages-tag .
"Presence messages on or off: ")
(kom-presence-messages-in-echo-area-tag .
"Presence messages in echo area: ")
(kom-presence-messages-in-buffer-tag .
"Presence messages in the LysKOM buffer:")
(kom-page-before-command-tag . "Clear the screen:")
......
......@@ -66,6 +66,18 @@
;;; Messages are given in the minibuffer
(defun lyskom-save-options (kombuf start-message done-message error-message)
;; `kom-presence-messages' isn't used directly by the emacs lisp client.
;; Since there is much finer control of what presence messages to give
;; it's hard to encode this is a single boolean, so usually don't try.
;; Ony if the user sees all or no presence messages is it rather clear
;; what the common block value should be:
(cond ((or (eq kom-presence-messages-in-buffer t)
(eq kom-presence-messages-in-echo-area t))
(setq kom-presence-messages t))
((not (or kom-presence-messages-in-buffer
kom-presence-messages-in-echo-area))
(setq kom-presence-messages nil)))
(let* ((print-readably t)
(common-block
(concat
......@@ -177,13 +189,14 @@
(blocking-do 'get-text
(pers-stat->user-area pers-stat))))))))
(defvar lyskom-ignored-user-area-vars)
(defun lyskom-read-options-eval (text)
"Handles the call from where we have the text."
(condition-case nil
(if text ;+++ Other error handler
(let* ((lyskom-options-text (text->text-mass text))
(pointers (lyskom-read-options-eval-get-holerith t))
(lyskom-ignored-user-area-vars nil)
common-no elisp-no
(rest lyskom-options-text)
working
......@@ -252,6 +265,13 @@
;was stored.
(++ r))
(when lyskom-ignored-user-area-vars
(lyskom-format-insert-before-prompt
'ignored-user-area-var
(mapconcat 'symbol-name
lyskom-ignored-user-area-vars
"\n ")))
(mapcar 'lyskom-recompile-filter kom-permanent-filter-list)
(mapcar 'lyskom-recompile-filter kom-session-filter-list)
......@@ -303,9 +323,11 @@ if the variable is in kom-dont-read-saved-variables."
(cond ((eq kom-dont-read-saved-variables t) nil)
((memq (intern var) kom-dont-read-saved-variables) nil)
((not (or (memq (intern var) lyskom-elisp-variables)
; (memq (intern var) lyskom-global-non-boolean-variables)
(memq (intern var) lyskom-global-non-boolean-variables)
(memq (intern var) lyskom-global-boolean-variables)))
(lyskom-format-insert-before-prompt 'ignored-user-area-var var))
(setq lyskom-ignored-user-area-vars
(cons (intern var)
lyskom-ignored-user-area-vars)))
(t (lyskom-set-var-from-string var string))))
(defun lyskom-set-var-from-string (var string)
......
......@@ -45,6 +45,7 @@
((ascii greek-iso8859-7) . iso-8859-7)
((ascii hebrew-iso8859-8) . iso-8859-8)
((ascii latin-iso8859-9) . iso-8859-9)
((ascii latin-iso8859-15) . iso-8859-15)
((ascii latin-jisx0201
japanese-jisx0208-1978 japanese-jisx0208) . iso-2022-jp)
((ascii latin-jisx0201
......
......@@ -79,7 +79,7 @@
[kom-morons]
"\n"
[kom-show-unread-in-frame-title]
[kom-presence-messages]
[kom-presence-messages-in-echo-area]
[kom-presence-messages-in-buffer]
"\n"
[kom-text-no-prompts]
......@@ -542,12 +542,13 @@ customize buffer but do not save them to the server."
(kom-truncate-show-lines (number nil))
(kom-print-number-of-unread-on-entrance (toggle (yes no)))
(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-echo-area
(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))
......
......@@ -1746,11 +1746,14 @@ Antal sessioner: %21#1d (totalt)
(external-program-missing . "Hittar inte det externa programmet \"%#1s\" som krvs fr att genomfra kommandot.")
(ignored-user-area-var . "\
Ignorerar variabeln %#1s i dina instllningar.
Variabeln r inte en registrerad LysKOM-variabel och kan drfr inte
lsas frn servern. Om variabeln motsvarar en instllning som har
tagits bort s kan du tgrda genom att ge kommandot \"Spara
variabler\".\n\n")
Ignorerar fljande variabeler i dina instllningar:
%#1s
Variablerna r inte registrerade LysKOM-variabeler och kan drfr
inte lsas frn servern. Om ngon av variablerna motsvarar en
instllning som har tagits bort s kan du tgrda genom att ge
kommandot \"Spara variabler\".\n\n")
))
(lyskom-language-var local lyskom-month-names sv
......@@ -3092,18 +3095,19 @@ i servern. Annars sparas det i din .emacs.")
Lsa nsta text - ")
(kom-presence-messages-doc . "\
Om man vill ha meddelanden i minibufferten nr ngon loggar in, ut eller
(kom-presence-messages-in-echo-area-doc . "\
Om man vill ha meddelanden i ekoarean nr ngon loggar in, ut eller
byter namn i LysKOM br man sl p den hr instllningen. Meddelanden
visas i minibufferten. Om man vill ha information om endast vissa
personer gr det att ange en lista av personer. Vill man inte ha ngra
visas i ekoarean. Om man vill ha information om endast vissa personer
gr det att ange en lista av personer. Vill man inte ha ngra
meddelanden alls r det bara att ange en tom lista.")
(kom-presence-messages-in-buffer-doc . "\
Om man vill ha meddelanden i LysKOM-bufferten nr ngon loggar in, ut eller
byter namn i LysKOM br man sl p den hr instllningen. Meddelanden
visas i minibufferten. Om man vill ha information om endast vissa
personer gr det att ange en lista av personer. Vill man inte ha ngra
visas i LysKOM-bufferten. Om man vill ha information om endast vissa
personer gr det att ange en lista av personer. Vill man inte ha ngra
meddelanden alls r det bara att ange en tom lista.")
(kom-show-where-and-what-doc . "\
......@@ -3637,8 +3641,8 @@ i servern. Annars sparas det i din .emacs.")
(kom-deferred-printing-tag . "Frdrjda utskrifter:")
(kom-continuous-scrolling-tag . "Omedelbar scrollning:")
(kom-presence-messages-tag .
"Nrvaromeddelanden p eller av: ")
(kom-presence-messages-in-echo-area-tag .
"Nrvaromeddelanden i ekoarean: ")
(kom-presence-messages-in-buffer-tag .
"Nrvaromeddelanden i LysKOM-bufferten:")
(kom-page-before-command-tag . "Rensa skrmen:")
......
......@@ -418,9 +418,29 @@ entering a conference."
LysKOM session."
server)
;; In the common block of the user-area is a simple boolean variable
;; `presence-messages'. The control of presence messages in the Emacs
;; Lisp client is more advanced, using two non-boolean variables instead
;; (`kom-presence-messages-in-echo' and `kom-presence-messages-in-buffer').
;;
;; Keep track of the common block variable too, although it isn't used here.
;; `lyskom-save-options' sets it before saving it in obvious cases,
;; but generally it's not possible to know what value it should have.
;; (It could also be used for default values for the presence options for
;; users converting from another client, but that isn't done.)
(def-kom-var kom-presence-messages t
"Equivalent of the variable `presence-messages' in the user-area.
This is a boolean where other clients may store whether the user wants
messages about people logging in and out of LysKOM. Here this is instead
controlled by `kom-presence-messages-in-echo-area' and
`kom-presence-messages-in-buffer', so only use this variable to
influence what this client stores in the common block of the user-area."
server)
(def-kom-var kom-presence-messages-in-echo-area t
"*If non-nil, LysKOM prints continuous info about what other people are doing.
Info is printed on the message line and never in the buffer. If minibuffer is
Info is printed on the echo area and never in the buffer. If minibuffer is
used, no message is printed.
A list of integers means show messages for those users.
......@@ -436,9 +456,12 @@ If you want the messages in the buffer, you could set the variable
kom-presence-messages-in-buffer."
server)
(def-kom-var kom-presence-messages-in-buffer nil
"*If t, LysKOM prints information about what other people are doing in the buffer.
"*If non-nil, LysKOM prints information about what other people are doing in the buffer.
All printing is done just before the prompt.
If nil no messages are printed.
If 'presence, messages about people logging in, out and people
changing name are printed."
......
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