Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Peter Liljenberg
lyskom-elisp-client
Commits
17273b2c
Commit
17273b2c
authored
Mar 25, 1996
by
David Byers
Browse files
Mostly bug fixes
parent
f0b9e3d1
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
src/ChangeLog
View file @
17273b2c
Mon Mar 25 16:22:42 1996 David Byers <byers@lysator.liu.se>
* lyskom-rest.el: Formatteringen tcker inte padding.
* Release av elispklient 0.40
* swedish-strings.el,english-strings.el: Bugfixar
* filter.el: Bugfixar
* vars.el.in, lyskom-rest.el, startup.el: Gjorde s frger stts
vid load, inte vid inloggning. Bytte ngra defaultfrger.
* Makefile: Satte versionsnummer till 0.40
Mon Mar 25 06:48:01 1996 David Kgedal <davidk@lysator.liu.se>
* parse.el (lyskom-parse-unparsed): Se till att meddelandet
...
...
@@ -5,6 +20,15 @@ Mon Mar 25 06:48:01 1996 David K
* review.el (lyskom-review-comments): Se fotnoter frst.
Fri Mar 22 13:49:23 1996 David Byers <byers@lysator.liu.se>
* filter.el: Fixade buggar.
* edit-text.el: Fixad buggar. Lade in s man kan skicka in
enriched text om lyskom-format-experimental r satt.
* lyskom-rest.el (lyskom-format-text-body): Fixade buggar.
Fri Mar 22 12:48:06 1996 David Kgedal <davidk@lysator.liu.se>
* edit-text.el (lyskom-edit-send): Felhanteringen buggade.
...
...
@@ -52,6 +76,12 @@ Tue Mar 19 00:03:23 1996 David K
Mon Mar 18 12:34:47 1996 David Byers <byers@lysator.liu.se>
* startup.el: Lade till s man kan lta bli att lsa user-arean
vid inloggning via variabeln lyskom-dont-read-user-area,
* view-text.el: Gjorde s text props inte hamnar i
lyskom-current-subject.
* services.el, lyskom-rest.el, lyskom-buttons.el, view-text.el,
macros.el: Lade till stllbar timeout till accept-process-output
i form av variablerna lyskom-apo-timeout-s och lyskom-apo-timeout-ms
...
...
src/Makefile
View file @
17273b2c
...
...
@@ -25,7 +25,7 @@
# $Id$
#
CLIENTVERSION
=
0.40
d
CLIENTVERSION
=
0.40
GENERIC-CLEAN
=
*
~
*
.o core
GENERIC-DIST-CLEAN
=
TAGS
...
...
src/commands2.el
View file @
17273b2c
...
...
@@ -154,8 +154,6 @@ otherwise: the conference is read with lyskom-completing-read."
(
lyskom-format-insert
'created-by
creator
creator
(
lyskom-default-button
'conf
creator
)
(
if
(
and
(
lyskom-conf-stat-p
creator
)
(
>
(
length
(
conf-stat->name
creator
))
...
...
@@ -186,8 +184,6 @@ otherwise: the conference is read with lyskom-completing-read."
(
lyskom-format-insert
'superconf-is-no-name
superconf
superconf
(
lyskom-default-button
'conf
superconf
)
(
if
(
and
(
lyskom-conf-stat-p
superconf
)
(
>
(
length
(
conf-stat->name
superconf
))
...
...
@@ -201,11 +197,9 @@ otherwise: the conference is read with lyskom-completing-read."
(
lyskom-format-insert
'permitted-submitters-no-name
permitted-submitters
(
if
(
zerop
(
conf-stat->permitted-submitters
conf-stat
))
(
lyskom-get-string
'Everybody
)
permitted-submitters
)
(
lyskom-default-button
'conf
permitted-submitters
)
conf-stat
))
(
lyskom-get-string
'Everybody
)
permitted-submitters
)
(
cond
((
zerop
(
conf-stat->permitted-submitters
conf-stat
))
...
...
@@ -224,8 +218,6 @@ otherwise: the conference is read with lyskom-completing-read."
(
lyskom-format-insert
'supervisor-is-no-name
supervisor
supervisor
(
lyskom-default-button
'conf
supervisor
)
(
if
(
and
(
lyskom-conf-stat-p
supervisor
)
(
>
(
length
(
conf-stat->name
supervisor
))
...
...
@@ -357,8 +349,6 @@ otherwise: the conference is read with lyskom-completing-read."
(
lyskom-format-insert
'superconf
superconf
superconf
(
lyskom-default-button
'conf
superconf
)
(
if
(
and
(
lyskom-conf-stat-p
superconf
)
(
>
(
length
(
conf-stat->name
superconf
))
...
...
@@ -373,8 +363,6 @@ otherwise: the conference is read with lyskom-completing-read."
(
lyskom-format-insert
'supervisor
supervisor
supervisor
(
lyskom-default-button
'conf
supervisor
)
(
if
(
and
(
lyskom-conf-stat-p
supervisor
)
(
>
(
length
(
conf-stat->name
...
...
@@ -768,7 +756,7 @@ Format is 23:29 if the text is written today. Otherwise 04-01."
(
txt
(
text->text-mass
text
))
(
eos
(
string-match
(
regexp-quote
"\n"
)
txt
))
(
subject
(
substring
txt
0
eos
))
;; length of the number %%%%%% :
7
;; length of the number %%%%%% :
8
;; length for time is: 6
(
time
(
text-stat->creation-time
text-stat
))
(
time
(
if
(
and
(
=
year
(
time->year
time
))
...
...
@@ -779,8 +767,8 @@ Format is 23:29 if the text is written today. Otherwise 04-01."
(
time->mday
time
))))
;; length for lines is: 4
;; We split the rest between author and subject
(
namelen
(
/
(
-
(
lyskom-window-width
)
2
1
)
3
))
(
subjlen
(
/
(
*
(
-
(
lyskom-window-width
)
2
1
)
2
)
3
))
(
namelen
(
/
(
-
(
lyskom-window-width
)
2
2
)
3
))
(
subjlen
(
/
(
*
(
-
(
lyskom-window-width
)
2
2
)
2
)
3
))
(
author-name
(
lyskom-format
"%#1:M"
(
text-stat->author
text-stat
))))
(
lyskom-format-insert
'summary-line
text-no
...
...
@@ -922,7 +910,7 @@ Format is 23:29 if the text is written today. Otherwise 04-01."
(
interactive
)
(
let*
((
curbuf
(
current-buffer
))
(
old-buf
(
condition-case
()
(
or
debugger-old-buffer
(
current-buffer
))
debugger-old-buffer
(
void-variable
(
current-buffer
))))
(
repname
"*lyskom-bugreport*"
))
(
lyskom-message
"%s"
(
lyskom-get-string
'buggreport-compilestart
))
...
...
src/edit-text.el
View file @
17273b2c
...
...
@@ -376,6 +376,8 @@ Entry to this mode runs lyskom-edit-mode-hook."
(
if
(
/=
(
point
)
old
)
(
signal
'lyskom-no-subject
'
(
enter-subject-idi
)))))
(
setq
message
(
lyskom-edit-extract-text
))
(
if
(
fboundp
'lyskom-send-transform-text
)
(
setq
message
(
lyskom-send-transform-text
message
)))
(
setq
mode-name
"LysKOM sending"
)
(
save-excursion
(
set-buffer
(
process-buffer
lyskom-proc
))
...
...
@@ -384,9 +386,12 @@ Entry to this mode runs lyskom-edit-mode-hook."
(
setq
lyskom-dont-change-prompt
t
))
(
setq
lyskom-is-writing
nil
)
(
lyskom-tell-internat
'kom-tell-send
)
(
funcall
send-function
'sending
'lyskom-create-text-handler
(
concat
subject
"\n"
message
)
misc-list
buffer
)))
(
funcall
send-function
'sending
'lyskom-create-text-handler
(
concat
subject
"\n"
message
)
misc-list
buffer
)))
(
if
kom-dont-restore-window-after-editing
(
bury-buffer
)
(
save-excursion
...
...
@@ -398,11 +403,45 @@ Entry to this mode runs lyskom-edit-mode-hook."
(
set-window-configuration
lyskom-edit-return-to-configuration
)
(
set-buffer
(
window-buffer
(
selected-window
))))
(
goto-char
(
point-max
))))
;;
;; Catch no-subject
;;
(
lyskom-edit-error
(
if
(
cdr
(
cdr
err
))
(
goto-char
(
car
(
cdr
(
cdr
err
)))))
(
if
(
cdr
-safe
(
cdr-safe
err
))
(
goto-char
(
car
-safe
(
cdr-safe
(
cdr-safe
err
)))))
(
lyskom-beep
lyskom-ding-on-no-subject
)
(
lyskom-message
(
lyskom-get-string
(
car
(
cdr
err
)))))))
(
lyskom-message
(
lyskom-get-string
(
car
(
cdr
err
))))
(
condition-case
arg
(
let
((
text
""
))
(
save-excursion
(
set-buffer
(
process-buffer
lyskom-proc
))
(
if
(
and
(
string=
"kom.lysator.liu.se"
lyskom-server-name
)
(
eq
lyskom-pers-no
698
))
(
setq
text
"rende, IDI!"
)))
(
save-excursion
(
insert
text
)))
(
error
nil
)))))
(
defun
lyskom-send-transform-text
(
message
)
(
if
lyskom-format-experimental
(
condition-case
err
(
let
((
buf
(
generate-new-buffer
"lyskom-enriched"
)))
(
unwind-protect
(
save-excursion
(
set-buffer
buf
)
(
insert
message
)
(
goto-char
(
point-min
))
(
format-encode-buffer
'text/enriched
)
(
goto-char
(
point-min
))
(
search-forward
"\n\n"
)
(
if
(
not
(
string=
(
buffer-substring
(
point
)
(
point-max
))
message
))
(
concat
"enriched:\n"
(
buffer-string
))
message
))
(
kill-buffer
buf
)))
(
error
message
))
message
))
(
defun
kom-edit-quit
()
...
...
src/english-strings.el
View file @
17273b2c
This diff is collapsed.
Click to expand it.
src/filter.el
View file @
17273b2c
...
...
@@ -147,7 +147,7 @@ Returns nil if no such attribute is present."
(
defun
lyskom-filter-text-p-2
(
text-stat
)
(
if
(
null
text-stat
)
nil
(
setq
lyskom-filter-hack
nil
)
(
progn
;;
;; Collect information from the server
...
...
@@ -574,7 +574,7 @@ the current text"
(
list
(
cons
'action
'skip-tree
)
(
cons
'expire
t
))))
(
lyskom-format-insert
'super-jump
lyskom-current-subject
(
copy-sequence
lyskom-current-subject
)
conf-stat
))))))
(
lyskom-end-of-command
)))
...
...
src/lyskom-rest.el
View file @
17273b2c
No preview for this file type
src/startup.el
View file @
17273b2c
...
...
@@ -225,7 +225,8 @@ See lyskom-mode for details."
(
zerop
(
conf-stat->presentation
conf-stat
))
(
not
(
zerop
(
conf-stat->no-of-texts
conf-stat
))))
(
lyskom-insert-string
'presentation-encouragement
)))
(
lyskom-read-options
)
(
if
(
not
lyskom-dont-read-user-area
)
(
lyskom-read-options
))
(
lyskom-refetch
)
;; (cache-initiate-who-info-buffer (blocking-do 'who-is-on))
(
cache-set-marked-texts
(
blocking-do
'get-marks
))
...
...
src/swedish-strings.el
View file @
17273b2c
...
...
@@ -357,7 +357,7 @@ du har l\344st klart allting. Kom tillbaks senare.
(no-comments . "
original
")
(closed . "
slutet
")
(created-by . "
%[%#3@
Skapat
av
person
%25#1
:p%]
%#
4
s
(
%#2P
)
\n
")
(created-by . "
Skapat
av
person
%25#1
p
%#
3
s
(
%#2P
)
\n
")
(created-at . "
Skapad:%35#1s\n
")
(members . "
Antal
medlemmar:
%25#1d\n
")
(garb-nice . "
Livsl\344ngd
p\345
inl\344gg
(
dagar
)
:%14#1d\n
")
...
...
@@ -366,9 +366,9 @@ du har l\344st klart allting. Kom tillbaks senare.
(last-text-time .
"
Tid
f\366r
senaste
inl\344gg:
%18#1s
(
st\345r
det
i
din
cache
)
\n
")
(no-of-motd . "
Lapp
p\345
d\366rren
i
text
nummer:
%12#1n\n
")
(superconf-is-no-name . "
%[%#3@
Superm\366te:
%25#1
:m%]
%#
4
s
(
%#2M
)
\n
")
(permitted-submitters-no-name . "
%[%#3@
Till\345tna
f\366rfattare:%22#1
:m%]
%#
4
s
(
%#2M
)
\n
")
(supervisor-is-no-name . "
%[%#3@
Organisat\366r:
%25#1
:p%]
%#
4
s
(
%#2P
)
\n
")
(superconf-is-no-name . "
Superm\366te:
%25#1
m
%#
3
s
(
%#2M
)
\n
")
(permitted-submitters-no-name . "
Till\345tna
f\366rfattare:%22#1
m
%#
3
s
(
%#2M
)
\n
")
(supervisor-is-no-name . "
Organisat\366r:
%25#1
p
%#
3
s
(
%#2P
)
\n
")
(presentation-no . "
Presentation:
%25#1n\n
")
(conf-has-motd . "
\n%#1M
har
en
lapp
p\345
d\366rren:\n
")
...
...
@@ -395,8 +395,8 @@ du har l\344st klart allting. Kom tillbaks senare.
(read-texts . "
L\344sta
texter:%28#1d\n
")
(marked-texts . "
Markerade
texter:%24#1d\n
")
(time-for-last-letter . "
Tid
f\366r
senaste
brev:%20#1s
(
st\345r
det
i
din
cache
)
\n
")
(superconf . "
%[%#3@
Superm\366te:%31#1
:m%]
%#
4
s
(
%#2M
)
\n
")
(supervisor . "
%[%#3@
Organisat\366r:%29#1
:p%]
%#
4
s
(
%#2P
)
\n
")
(superconf . "
Superm\366te:%31#1
m
%#
3
s
(
%#2M
)
\n
")
(supervisor . "
Organisat\366r:%29#1
p
%#
3
s
(
%#2P
)
\n
")
(member-of-confs . "
Medlem
i
(
antal
m\366ten
)
:%18#1d\n
")
(presentation . "
Presentation:
%24#1n\n
")
(show-membership-list-also-q . "
Vill
du
se
vilka
m\366ten
personen
\344r
medlem
i
ocks\345?
")
...
...
@@ -450,7 +450,7 @@ Meddelandet du f\366rs\366kte s\344nda till %#1M var:
(could-not-read . "
Du
fick
inte
l\344sa
denna
text
(
%#1n
)
.
\n
")
(multiple-choice . "
Flera
alternativ
finns.
")
(does-not-exist . "
Detta
kommando
finns
inte.
")
(summary-line . "
%=-
7
#1n%#2s%4#3d
%[%#4@%#5:P%]
%[%#6@%#7r%]\n
")
(summary-line . "
%=-
8
#1n%#2s%4#3d
%[%#4@%#5:P%]
%[%#6@%#7r%]\n
")
(what-mark-to-list . "
Vilken
markering
vill
du
lista?
")
(you-have-marks . "
Du
har
%#1d
inl\344gg
markerade
markerade
med
%#2d.\n
")
...
...
@@ -815,7 +815,7 @@ Felmeddelande: %#1s**************************************************")
(ansaphone-new-message . "
Nytt
automatsvar:
")
(ansaphone-message . "
Svarsmeddelande:
----------------------------------------------------------------------
%#1
s
%#1
t
----------------------------------------------------------------------
")
(ansaphone-state . "
Automatsvar
\344r
nu
%#1s.
")
...
...
@@ -829,7 +829,7 @@ Felmeddelande: %#1s**************************************************")
(remote-erase-messages . "
Fj\344rrstyrning
(
%#1P
%#2s
)
:
Sparade
meddelanden
raderade\n
")
(remote-set-message . "
Fj\344rrstyrning
(
%#1P
%#2s
)
:
Svarsmeddelande:
----------------------------------------------------------------------
%#3
s
%#3
t
----------------------------------------------------------------------
")
(remote-set-ansaphone . "
Fj\344rrstyrning
(
%#1P
%#2s
)
:
Automatsvar
\344r
nu
%#3s\n
")
...
...
@@ -1005,8 +1005,8 @@ Text:
"
A
list
of
legal
filter
conditions
and
their
textual
representation.
")
(defvar lyskom-filter-actions
'((
dontshow . "
Visa
inte
")
(
skip-text . "
Hoppa
\366ver
")
'((
skip-text . "
Hoppa
\366ver
")
(
dontshow . "
Visa
inte
")
(skip-tree . "
Hoppa
\366ver
kommentarer
"))
"
A
list
of
legal
filter
actions
an
their
textual
representation.
")
...
...
@@ -1066,8 +1066,8 @@ Cf. paragraph-start.")
(define-key lyskom-mode-map [down-mouse-3] 'kom-mouse-3)
(define-key lyskom-mode-map [mouse-3] 'kom-mouse-null)
(define-key lyskom-mode-map "
*
" 'kom-key-mouse-2)
(define-key lyskom-mode-map "
\
M-f
" 'kom-next-link)
(define-key lyskom-mode-map "
\M-
b
" 'kom-previous-link)
(define-key lyskom-mode-map "
\
C-i
" 'kom-next-link)
(define-key lyskom-mode-map "
\M-
\C-i
" 'kom-previous-link)
))
;;(define-key lyskom-mode-map "
vi
" 'vilka)
...
...
@@ -1278,6 +1278,77 @@ Cf. paragraph-start.")
"
*Default
message
to
send
when
the
ansaphone
is
on.
This
variable
is
stored
in
the
LysKOM
server.
")
;;;; ============================================================
;;;; Text buttom menuse go here. This will probably be moved back
;;;; to vars.el.in when the strings have been replaced by
;;;; symbols, but for now they'll stay here.
(defvar lyskom-button-actions
'((text
text-text
lyskom-button-view-text
(("
terse
texten
" . lyskom-button-view-text)
("
terse
trd
" . lyskom-button-review-tree)
("
terse
urinlgget
" . lyskom-button-find-root)
("
Kommentera
texten
" . lyskom-button-comment-text)
("
Personligt
svar
" . lyskom-button-private-comment-text)
("
Markera
texten
" . lyskom-button-mark-text)
("
Avmarkera
texten
" . lyskom-button-unmark-text))
nil)
(conf
conf-text
lyskom-button-view-conf-presentation
(("
Visa
presentation
" . lyskom-button-view-conf-presentation)
("
Visa
mtesstatus
" . lyskom-button-view-conf-status)
("
G
till
mtet
" . lyskom-button-goto-conf)
("
Skicka
gruppmeddelande
" . lyskom-button-send-message)
("
Bli
medlem
i
mtet
" . lyskom-button-add-self)
("
Uttrd
ur
mtet
" . lyskom-button-sub-self))
((kom-list-news . lyskom-button-goto-conf)))
(pers
pers-text
lyskom-button-view-pers-presentation
(("
Visa
presentation
" .
lyskom-button-view-pers-presentation)
("
Visa
personstatus
" . lyskom-button-view-pers-status)
("
Skicka
brev
" . lyskom-button-mail)
("
Snd
meddelande
" . lyskom-button-send-message))
nil)
(url
url-text
lyskom-button-open-url
(("
ppna
" . lyskom-button-open-url)
("
Kopiera
" . lyskom-button-copy-url))
nil))
"
This
variable
defines
valid
button
types
in
LysKOM.
Each
element
is
a
list
consisting
of
(
TYPE
LABEL
DEFAULT
ACTIONS
HINTS
)
.
TYPE
is
the
button
type
the
entry
defines
LABEL
is
a
textual
representation
for
the
button
type,
used
in
menu
titles.
If
it
is
a
symbol,
that
symbol
will
be
looked
up
using
lyskom-get-string.
DEFAULT
is
the
default
action
to
take
on
a
click.
It
must
be
a
function.
ACTIONS
are
other
possible
actions.
The
format
of
this
entry
is
described
below.
HINTS
is
a
list
of
hints
to
override
the
default
action.
This
is
described
below.
The
ACTIONS
entry
is
used
to
construct
a
pop-up
menu.
It
is
a
list
consisting
of
lists
with
the
format
(
STRING
.
FUNCTION
)
.
STRING
is
the
menu
label
and
FUNCTION
is
the
function
to
call
when
the
menu
item
is
selected.
The
HINTS
entry
is
used
to
generate
hints
that
the
default
action
should
be
overridden.
It
is
a
list
containing
elements
(
COMMAND
.
HINT
)
where
COMMAND
is
as
interactive
LysKOM
command
and
HINT
is
a
function
to
call.
When
a
button
is
generated
while
the
command
COMMAND
is
being
executed,
HINT
is
used
as
a
hint
for
a
new
default
action.
The
user
has
the
option
to
ignore
or
used
the
hint.
Also
see
the
function
\"kom-add-button-action\".
This
variable
is
not
saved
in
the
LysKOM
server.
")
;;;; ================================================================
...
...
src/vars.el.in
View file @
17273b2c
...
...
@@ -288,6 +288,11 @@ This variable is not saved in the LysKOM server.")
This variable is stored in the LysKOM server."
)
(
defvar
kom-default-face-scheme
'default
"*Face scheme to use per default for new logins.
This variable is not saved in the LysKOM server."
)
(
defvar
kom-text-properties
t
"*Non-nil means to insert text properties in the Emacs buffer for
various LysKOM elements.
...
...
@@ -299,69 +304,10 @@ This variable is not saved in the LysKOM server.")
This variable is not saved in the LysKOM server."
)
(
defvar
lyskom-button-actions
'
((
text
text-text
lyskom-button-view-text
((
"Återse texten"
.
lyskom-button-view-text
)
(
"Återse träd"
.
lyskom-button-review-tree
)
(
"Återse urinlägget"
.
lyskom-button-find-root
)
(
"Kommentera texten"
.
lyskom-button-comment-text
)
(
"Personligt svar"
.
lyskom-button-private-comment-text
)
(
"Markera texten"
.
lyskom-button-mark-text
)
(
"Avmarkera texten"
.
lyskom-button-unmark-text
))
nil
)
(
conf
conf-text
lyskom-button-view-conf-presentation
((
"Visa presentation"
.
lyskom-button-view-conf-presentation
)
(
"Visa mötesstatus"
.
lyskom-button-view-conf-status
)
(
"Gå till mötet"
.
lyskom-button-goto-conf
)
(
"Skicka gruppmeddelande"
.
lyskom-button-send-message
)
(
"Bli medlem i mötet"
.
lyskom-button-add-self
)
(
"Utträd ur mötet"
.
lyskom-button-sub-self
))
((
kom-list-news
.
lyskom-button-goto-conf
)))
(
pers
pers-text
lyskom-button-view-pers-presentation
((
"Visa presentation"
.
lyskom-button-view-pers-presentation
)
(
"Visa personstatus"
.
lyskom-button-view-pers-status
)
(
"Skicka brev"
.
lyskom-button-mail
)
(
"Sänd meddelande"
.
lyskom-button-send-message
))
nil
)
(
url
url-text
lyskom-button-open-url
((
"Öppna"
.
lyskom-button-open-url
)
(
"Kopiera"
.
lyskom-button-copy-url
))
nil
))
"This variable defines valid button types in LysKOM. Each element is a
list consisting of (TYPE LABEL DEFAULT ACTIONS HINTS).
TYPE is the button type the entry defines
LABEL is a textual representation for the button type, used in menu titles. If
it is a symbol, that symbol will be looked up using lyskom-get-string.
DEFAULT is the default action to take on a click. It must be a function.
ACTIONS are other possible actions. The format of this entry is described
below.
HINTS is a list of hints to override the default action. This is described
below.
The ACTIONS entry is used to construct a pop-up menu. It is a list consisting
of lists with the format (STRING . FUNCTION). STRING is the menu label and
FUNCTION is the function to call when the menu item is selected.
The HINTS entry is used to generate hints that the default action should be
overridden. It is a list containing elements (COMMAND . HINT) where COMMAND is
as interactive LysKOM command and HINT is a function to call. When a button
is generated while the command COMMAND is being executed, HINT is used as a
hint for a new default action. The user has the option to ignore or used the
hint.
Also see the function \"kom-add-button-action\".
This variable is not saved in the LysKOM server."
)
;;;
;;; lyskom-button-actions has been moved to swedish-strings.el on account
;;; of there being a bunch of language-dependent strings in it.
;;;
(
defvar
lyskom-text-buttons
...
...
@@ -989,11 +935,15 @@ unread texts in list-unread.")
(
defvar
lyskom-is-new-user
nil
"An internal variable used in kom-start-anew"
)
(
defvar
lyskom-apo-timeout-s
nil
(
defvar
lyskom-apo-timeout-s
1
"Seconds timeout for accept-process-output"
)
(
defvar
lyskom-apo-timeout-ms
nil
"Microseconds timeout for accept-process-output"
)
(
defvar
lyskom-dont-read-user-area
nil
"If non-nil the user area will not be read on login."
)
;;;; lyskom-tell-phrases-validation-keyword-list
;;; This is a list of keywords for kom-tell-phrases.
...
...
@@ -1067,6 +1017,93 @@ the value of kom-tell-phrases for fun.")
nil
(
,@
body
))))
(
put
'lyskom-make-face
'lisp-indent-function
1
)
(
defmacro
when
(
expr
&rest
body
)
"Execute BODY if EXPR evaluates to non-nil"
(
list
'if
expr
(
cons
'progn
body
)))
(
put
'when
lisp-indent-function
1
)
(
put
'when
'edebug-form-spec
t
)
;;
;; Set up default faces in case no face scheme is selected
;;
(
defvar
lyskom-face-schemes
'
((
default
(
kom-active-face
default
"blue4"
nil
)
(
kom-url-face
default
"BlueViolet"
nil
)
(
kom-me-face
bold
"blue3"
"lavender"
)
(
kom-highlight-face
highlight
nil
)
(
kom-text-face
default
nil
nil
)
(
kom-subject-face
default
nil
nil
)
(
kom-text-no-face
kom-active-face
nil
nil
)
(
kom-friends-face
default
"blue3"
"lavender"
)
(
kom-presence-face
italic
"dim gray"
nil
)
(
kom-first-line-face
default
nil
nil
))
(
inverse
(
kom-active-face
default
"lightblue"
nil
)
(
kom-url-face
default
"Moccasin"
nil
)
(
kom-me-face
bold
"gold"
"black"
)
(
kom-highlight-face
highlight
nil
nil
)
(
kom-text-face
default
nil
nil
)
(
kom-subject-face
default
"Khaki"
nil
)
(
kom-text-no-face
kom-active-face
nil
nil
)
(
kom-friends-face
default
nil
"cornsilk"
)
(
kom-presence-face
italic
"grey"
nil
)
(
kom-first-line-face
default
nil
nil
))
(
monochrome
(
kom-active-face
default
nil
nil
)
(
kom-url-face
default
nil
nil
)
(
kom-me-face
bold
nil
nil
)
(
kom-highlight-face
highlight
nil
nil
)
(
kom-text-face
default
nil
nil
)
(
kom-subject-face
default
nil
nil
)
(
kom-text-no-face
kom-active-face
nil
nil
)
(
kom-friends-face
underline
nil
nil
)
(
kom-presence-face
italic
nil
nil
)
(
kom-first-line-face
default
nil
nil
))
(
minimal
(
kom-active-face
default
nil
nil
)
(
kom-url-face
default
nil
nil
)
(
kom-me-face
default
nil
"lavender"
)
(
kom-highlight-face
highlight
nil
nil
)
(
kom-text-face
default
nil
nil
)
(
kom-subject-face
default
nil
nil
)
(
kom-text-no-face
default
nil
nil
)
(
kom-friends-face
default
nil
"alice blue"
)
(
kom-presence-face
italic
"dim gray"
nil
)
(
kom-first-line-face
default
nil
nil
))
(
highlight
(
kom-active-face
default
nil
nil
)
(
kom-url-face
default
nil
"LemonChiffon1"
)
(
kom-me-face
default
nil
"thistle"
)
(
kom-highlight-face
highlight
nil
nil
)
(
kom-text-face
default
nil
nil
)
(
kom-text-no-face
default
nil
nil
)
(
kom-friends-face
default
nil
"misty rose"
)
(
kom-subject-face
default
nil
nil
)
(
kom-presence-face
italic
"dim gray"
nil
)
(
kom-first-line-face
default
nil
"lavender"
)))
"Face schemes for LysKOM.
This variable is an association list that defines the face and color
schemes in LysKOM. The car of each element is the scheme key, a
symbol, and the cdr is a list of face definitions. Each face
definition in tur, is a list of four elements: the face name, the base
face, foreground color and background color. When LysKOM defines a
face from such a specification, the base face is first copied and then
the foreground and background colors are set. If it permissible to
substitute nil for any element except the face name.
For instance, (kom-me-face bold \"yellow\" \"red\") will cause kom-me-face
to be bold with yellow text on a red background."
)
(
defun
lyskom-set-face-foreground
(
face
color
)
(
condition-case
error
(
set-face-foreground
face
color
)
...
...
@@ -1078,75 +1115,22 @@ the value of kom-tell-phrases for fun.")
(
error
nil
)))
(
defmacro
when
(
expr
&rest
body
)
"Execute BODY if EXPR evaluates to non-nil"
(
list
'if
expr
(
cons
'progn
body
)))
(
put
'when
lisp-indent-function
1
)
(
put
'when
'edebug-form-spec
t
)
(
put
'lyskom-make-face
'lisp-indent-function
1
)
(
defun
lyskom-set-face-scheme
(
scheme
)
"Set the LysKOM color and face scheme to SCHEME. Valid schemes are listed
in lyskom-face-schemes."
(
let
((
tmp
(
assoc
scheme
lyskom-face-schemes
)))
(
if
(
and
tmp
(
eq
window-system
'x
))
(
progn
(
mapcar
(
function
(
lambda
(
spec
)
(
copy-face
(
or
(
elt
spec
1
)
'default
)
(
elt
spec
0
))
(
if
(
elt
spec
2
)