From c723667d402b730edc4059cb132587977893b42a Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 22 Jul 2011 15:39:38 -0400 Subject: Backpedal on tutorial-motivated urweb-mode changes; add Basis.diffInSeconds and Basis.toSeconds --- src/c/urweb.c | 8 ++++++++ src/elisp/urweb-mode.el | 10 +++++----- src/settings.sml | 4 +++- 3 files changed, 16 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/c/urweb.c b/src/c/urweb.c index 4d2de1dd..641c6c83 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -3664,6 +3664,14 @@ uw_Basis_time uw_Basis_addSeconds(uw_context ctx, uw_Basis_time tm, uw_Basis_int return tm; } +uw_Basis_int uw_Basis_diffInSeconds(uw_context ctx, uw_Basis_time tm1, uw_Basis_time tm2) { + return difftime(tm2.seconds, tm1.seconds); +} + +uw_Basis_int uw_Basis_toSeconds(uw_context ctx, uw_Basis_time tm) { + return tm.seconds; +} + void *uw_get_global(uw_context ctx, char *name) { int i; diff --git a/src/elisp/urweb-mode.el b/src/elisp/urweb-mode.el index 9138dafb..c9fe5f19 100644 --- a/src/elisp/urweb-mode.el +++ b/src/elisp/urweb-mode.el @@ -170,10 +170,8 @@ See doc for the variable `urweb-mode-info'." (finished nil) (answer nil) ) - (while (and (not finished) (re-search-backward "[<>{}]|\\*\)" nil t)) + (while (and (not finished) (re-search-backward "[<>{}]" nil t)) (cond - ((looking-at "*)") - (search-backward "(*")) ((looking-at "{") (if (> depth 0) (decf depth) @@ -183,11 +181,13 @@ See doc for the variable `urweb-mode-info'." ((save-excursion (backward-char 1) (or (looking-at "=>") (looking-at "->") (looking-at "<>"))) - (setq finished t)) + nil) ((or (looking-at "< ") (looking-at "<=")) - (setq finished t)) + nil) ((looking-at "<") (setq finished t)) + ((save-excursion (backward-char 1) (looking-at " >")) + nil) ((looking-at ">") (cond ((> depth 0) diff --git a/src/settings.sml b/src/settings.sml index 57ab956a..c9030eac 100644 --- a/src/settings.sml +++ b/src/settings.sml @@ -252,7 +252,9 @@ val jsFuncsBase = basisM [("alert", "alert"), ("now", "now"), ("timeToString", "showTime"), - ("htmlifyTime", "showTime")] + ("htmlifyTime", "showTime"), + ("toSeconds", "toSeconds"), + ("diffInSeconds", "diffInSeconds")] val jsFuncs = ref jsFuncsBase fun setJsFuncs ls = jsFuncs := foldl (fn ((k, v), m) => M.insert (m, k, v)) jsFuncsBase ls fun jsFunc x = M.find (!jsFuncs, x) -- cgit v1.2.3