[bknr-cvs] edi changed trunk/thirdparty/cl-who/
BKNR Commits
bknr at bknr.net
Tue Oct 12 21:43:51 UTC 2010
Revision: 4618
Author: edi
URL: http://bknr.net/trac/changeset/4618
HTML5 support
U trunk/thirdparty/cl-who/CHANGELOG
U trunk/thirdparty/cl-who/doc/index.html
U trunk/thirdparty/cl-who/specials.lisp
U trunk/thirdparty/cl-who/who.lisp
Modified: trunk/thirdparty/cl-who/CHANGELOG
===================================================================
--- trunk/thirdparty/cl-who/CHANGELOG 2010-10-12 21:40:53 UTC (rev 4617)
+++ trunk/thirdparty/cl-who/CHANGELOG 2010-10-12 21:43:51 UTC (rev 4618)
@@ -1,11 +1,12 @@
Version 1.0.0
-2009-0x-xx
+2010-0x-xx
Refactored internals and made STR etc. local macros
Added test suite
todo: repla s-h-texp with walk in docs
Removed deprecated ESCAPE-STRING-ISO-8859 function
Removed SHOW-HTML-EXPANSION
-Bugfixes (thanks to Slawek Zak)
+Bugfixes (thanks to Slawek Zak)
+Added support for HTML5 (Chaitanya Gupta)
Version 0.11.1
2008-03-28
Modified: trunk/thirdparty/cl-who/doc/index.html
===================================================================
--- trunk/thirdparty/cl-who/doc/index.html 2010-10-12 21:40:53 UTC (rev 4617)
+++ trunk/thirdparty/cl-who/doc/index.html 2010-10-12 21:43:51 UTC (rev 4618)
@@ -61,7 +61,7 @@
code inserted by the user of the macro. CL-WHO will make sure that
there aren't two adjacent <code>WRITE-STRING</code> forms with
constant strings. CL-WHO's output is
-either XHTML (default) or 'plain' (SGML) HTML — depending on
+either XHTML (default), 'plain' (SGML) HTML or HTML5 (using HTML syntax) — depending on
what you've set <a href="#html-mode"><code>HTML-MODE</code></a> to.
<p>
CL-WHO is intended to be portable and should work with all
@@ -541,7 +541,7 @@
<blockquote><br>
Set this to <code>NIL</code> to if you want to use CL-WHO as a strict XML
generator. Otherwise, CL-WHO will only write empty tags listed in
-<a href="#*html-empty-tags*"><code>*HTML-EMPTY-TAGS*</code></a> as <code><tag/></code> (XHTML mode) or <code><tag></code> (SGML mode). For
+<a href="#*html-empty-tags*"><code>*HTML-EMPTY-TAGS*</code></a> as <code><tag/></code> (XHTML mode) or <code><tag></code> (SGML mode or HTML mode). For
all other tags, it will always generate <code><tag></tag></code>. The initial value of this variable is <code>T</code>.
</blockquote>
@@ -553,9 +553,9 @@
<a href="#*html-empty-tag-aware-p*"><code>*HTML-EMPTY-TAG-AWARE-P*</code></a>.
The initial value is the list
<pre>
-(:area :atop :audioscope :base :basefont :br :choose :col :frame
- :hr :img :input :isindex :keygen :left :limittext :link :meta
- :nextid :of :over :param :range :right :spacer :spot :tab :wbr)
+(:area :atop :audioscope :base :basefont :br :choose :col :command :embed
+ :frame :hr :img :input :isindex :keygen :left :limittext :link :meta :nextid
+ :of :over :param :range :right :source :spacer :spot :tab :track :wbr)
</pre>
</blockquote>
@@ -585,11 +585,14 @@
<br><a class=none name="html-mode"><b>html-mode</b></a> <i>=> mode</i>
<br><tt>(setf (</tt><b>html-mode</b>) <i>mode</i><tt>)</tt>
<blockquote><br>
-The function <code>HTML-MODE</code> returns the current mode for generating HTML. The default is <code>:XML</code> for XHTML. You can change this by setting it with <code>(SETF (HTML-MODE) :SGML)</code> to pre-XML HTML mode.
+The function <code>HTML-MODE</code> returns the current mode for generating HTML. The default is <code>:XML</code> for XHTML. You can change this by setting it with <code>(SETF (HTML-MODE) :SGML)</code> to pre-XML HTML mode or <code>(SETF (HTML-MODE) :HTML5)</code> to HTML5 mode (using HTML syntax).
<p>
Setting it to SGML HTML sets the <a href="#*prologue*"><code>*prologue*</code></a> to the doctype string for HTML 4.01 transitional:
<pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></pre>
Code generation in SGML HTML is slightly different from XHTML - there's no need to end empty elements with <code>/></code> and empty attributes are allowed.
+<p>
+Setting it to HTML5 sets the <a href="#*prologue*"><code>*prologue*</code></a> to the following doctype string:
+<pre><!DOCTYPE html></pre>
</blockquote>
<p><br>[Function]
Modified: trunk/thirdparty/cl-who/specials.lisp
===================================================================
--- trunk/thirdparty/cl-who/specials.lisp 2010-10-12 21:40:53 UTC (rev 4617)
+++ trunk/thirdparty/cl-who/specials.lisp 2010-10-12 21:43:51 UTC (rev 4618)
@@ -51,7 +51,7 @@
indentation dynamically.")
(defvar *html-mode* :xml
- ":SGML for \(SGML-)HTML, :XML \(default) for XHTML.")
+ ":SGML for \(SGML-)HTML, :XML \(default) for XHTML, :HTML5 for HTML5.")
(defvar *downcase-tokens-p* t
"If NIL, a keyword symbol representing a tag or attribute name will
@@ -73,6 +73,8 @@
:br
:choose
:col
+ :command
+ :embed
:frame
:hr
:img
@@ -89,9 +91,11 @@
:param
:range
:right
+ :source
:spacer
:spot
:tab
+ :track
:wbr)
"The list of HTML tags that should be output as empty tags.
See *HTML-EMPTY-TAG-AWARE-P*.")
@@ -100,7 +104,7 @@
"Set this to NIL to if you want to use CL-WHO as a strict XML
generator. Otherwise, CL-WHO will only write empty tags listed
in *HTML-EMPTY-TAGS* as <tag/> \(XHTML mode) or <tag> \(SGML
-mode). For all other tags, it will always generate
+mode and HTML5 mode). For all other tags, it will always generate
<tag></tag>.")
(defconstant +newline+ (make-string 1 :initial-element #\Newline)
Modified: trunk/thirdparty/cl-who/who.lisp
===================================================================
--- trunk/thirdparty/cl-who/who.lisp 2010-10-12 21:40:53 UTC (rev 4617)
+++ trunk/thirdparty/cl-who/who.lisp 2010-10-12 21:43:51 UTC (rev 4618)
@@ -30,13 +30,13 @@
(in-package :cl-who)
(defun html-mode ()
- "Returns the current HTML mode. :SGML for \(SGML-)HTML and
-:XML for XHTML."
+ "Returns the current HTML mode. :SGML for \(SGML-)HTML, :XML for
+XHTML and :HTML5 for HTML5 (HTML syntax)."
*html-mode*)
(defun (setf html-mode) (mode)
"Sets the output mode to XHTML or \(SGML-)HTML. MODE can be
-:SGML for HTML or :XML for XHTML."
+:SGML for HTML, :XML for XHTML or :HTML5 for HTML5 (HTML syntax)."
(ecase mode
((:sgml)
(setf *html-mode* :sgml
@@ -45,7 +45,11 @@
((:xml)
(setf *html-mode* :xml
*empty-tag-end* " />"
- *prologue* "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"))))
+ *prologue* "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"))
+ ((:html5)
+ (setf *html-mode* :html5
+ *empty-tag-end* ">"
+ *prologue* "<!DOCTYPE html>"))))
(defun process-tag (sexp body-fn)
(declare (optimize speed space))
More information about the Bknr-cvs
mailing list