Mercurial > urweb
annotate tests/spawn.ur @ 2142:3288e3c9948b
Fix XML indentation in Emacs mode
The return value of MATCH-STRING is a string. At least on Emacs 25,
the comparisons between string and character with EQUAL could never
succeed, and so the cases for matching braces were never triggered.
GET-TEXT-PROPERTY may return a list rather than an atom (for example,
on long lines with whitespace-mode turned on), and this broke the
heuristic of looking for the tag face in previous text.
author | Julian Squires <julian@cipht.net> |
---|---|
date | Mon, 04 May 2015 14:35:07 -0400 |
parents | 7ea0df9e56b6 |
children |
rev | line source |
---|---|
adamc@694 | 1 table t : {A : int, Ch : channel string} |
adamc@694 | 2 |
adamc@694 | 3 fun listener n ch = |
adamc@694 | 4 s <- recv ch; |
adamc@694 | 5 alert (show n ^ ": " ^ s); |
adamc@694 | 6 listener n ch |
adamc@694 | 7 |
adamc@694 | 8 fun speak id msg = |
adamc@694 | 9 r <- oneRow (SELECT t.Ch FROM t WHERE t.A = {[id]}); |
adamc@694 | 10 send r.T.Ch msg |
adamc@694 | 11 |
adamc@694 | 12 fun main () : transaction page = |
adamc@694 | 13 ch1 <- channel; |
adamc@694 | 14 dml (INSERT INTO t (A, Ch) VALUES (1, {[ch1]})); |
adamc@694 | 15 ch2 <- channel; |
adamc@694 | 16 dml (INSERT INTO t (A, Ch) VALUES (2, {[ch2]})); |
adamc@694 | 17 |
adamc@694 | 18 s1 <- source ""; |
adamc@694 | 19 s2 <- source ""; |
adamc@694 | 20 |
adamc@694 | 21 return <xml><body onload={spawn (listener 1 ch1); spawn (listener 2 ch2)}> |
adamc@694 | 22 1: <ctextbox source={s1}/><button onclick={msg <- get s1; speak 1 msg}/><br/> |
adamc@694 | 23 2: <ctextbox source={s2}/><button onclick={msg <- get s2; speak 2 msg}/> |
adamc@694 | 24 </body></xml> |