Mercurial > urweb
view demo/cookie.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 | 93315ac00394 |
children |
line wrap: on
line source
cookie c : {A : string, B : float, C : int} fun set r = setCookie c {Value = {A = r.A, B = readError r.B, C = readError r.C}, Expires = None, Secure = False}; return <xml>Cookie set.</xml> fun setExp r = setCookie c {Value = {A = r.A, B = readError r.B, C = readError r.C}, Expires = Some (readError "2012-11-6 00:00:00"), Secure = False}; return <xml>Cookie set robustly.</xml> fun delete () = clearCookie c; return <xml>Cookie cleared.</xml> fun main () = ro <- getCookie c; return <xml><body> {case ro of None => <xml>No cookie set.</xml> | Some v => <xml> Cookie: A = {[v.A]}, B = {[v.B]}, C = {[v.C]}<br/> <form><submit value="Delete" action={delete}/></form> </xml>} <br/><br/> <form> A: <textbox{#A}/><br/> B: <textbox{#B}/><br/> C: <textbox{#C}/><br/> <submit action={set}/> </form><br/> <form> <b>Version that expires on November 6, 2012:</b><br/> A: <textbox{#A}/><br/> B: <textbox{#B}/><br/> C: <textbox{#C}/><br/> <submit action={setExp}/> </form> </body></xml>