changelog shortlog graph tags branches files raw help

Mercurial > core / changeset: graph, css vars, corfu-terminal fix

changeset 667: bb8aa1eda12b
parent 666: f15e0f021a64
child 668: c687d7005ec7
author: Richard Westhaver <ellis@rwest.io>
date: Mon, 23 Sep 2024 17:03:54 -0400
files: emacs/default.el emacs/lib/graph.el lisp/lib/dat/css.lisp lisp/lib/dat/html/html.lisp
description: graph, css vars, corfu-terminal fix
     1.1--- a/emacs/default.el	Sun Sep 22 22:13:44 2024 -0400
     1.2+++ b/emacs/default.el	Mon Sep 23 17:03:54 2024 -0400
     1.3@@ -174,8 +174,7 @@
     1.4   (keymap-set corfu-map "M-m" #'corfu-move-to-minibuffer)
     1.5   (add-to-list 'corfu-continue-commands #'corfu-move-to-minibuffer)
     1.6   (unless (display-graphic-p)
     1.7-    (require 'corfu-terminal)
     1.8-    (corfu-terminal-mode 1)))
     1.9+    (use-package corfu-terminal :ensure t :config (corfu-terminal-mode 1))))
    1.10 
    1.11 (use-package kind-icon
    1.12   :ensure t
     2.1--- a/emacs/lib/graph.el	Sun Sep 22 22:13:44 2024 -0400
     2.2+++ b/emacs/lib/graph.el	Mon Sep 23 17:03:54 2024 -0400
     2.3@@ -178,6 +178,25 @@
     2.4              collect (funcall function)
     2.5              do (next-line))))
     2.6 
     2.7+;; TODO 2024-09-23: 
     2.8+(defun org-link-info (link)
     2.9+  (let ((path (org-element-property :path link))
    2.10+        (type (org-element-property :type link))
    2.11+        (desc (substring-no-properties (nth 2 link))))
    2.12+    (list type path desc)))
    2.13+
    2.14+;; TODO 2024-09-22: 
    2.15+(defun org-graph-infer-edges ()
    2.16+  "Infer edges from the contents of the node at point. The result of this
    2.17+function is a list of org-graph-edge objects."
    2.18+  ;; collect links
    2.19+  (with-org-graph-edge-drawer (beg)
    2.20+    (org-element-map (org-element-parse-buffer) 'link
    2.21+      (lambda (link)
    2.22+        (print link)
    2.23+        ;; (org-graph-edge-link-builder (funcall 'org-element-create link))
    2.24+        ))))
    2.25+
    2.26 (defun org-graph-reduce-edges (function)
    2.27   "Same as `cl-reduce' where SEQ is the list of edges at point. FUNCTION
    2.28 takes two `org-graph-edge' objects as input."
     3.1--- a/lisp/lib/dat/css.lisp	Sun Sep 22 22:13:44 2024 -0400
     3.2+++ b/lisp/lib/dat/css.lisp	Mon Sep 23 17:03:54 2024 -0400
     3.3@@ -15,3 +15,787 @@
     3.4 ;; BLOCK     ::= (:BLOCK SELECTOR PROPERTY*)
     3.5 ;; SELECTOR  ::= (string*)
     3.6 ;; PROPERTY  ::= (:PROPERTY string string)
     3.7+
     3.8+;;; Vars
     3.9+;; The following variables are derived from Emacs css-mode:
    3.10+;; https://github.com/emacs-mirror/emacs/blob/master/lisp/textmodes/css-mode.el
    3.11+
    3.12+(defvar css-pseudo-class-ids
    3.13+  '("active" "checked" "default" "disabled" "empty" "enabled" "first"
    3.14+    "first-child" "first-of-type" "focus" "focus-within" "hover"
    3.15+    "in-range" "indeterminate" "invalid" "lang" "last-child"
    3.16+    "last-of-type" "left" "link" "not" "nth-child" "nth-last-child"
    3.17+    "nth-last-of-type" "nth-of-type" "only-child" "only-of-type"
    3.18+    "optional" "out-of-range" "read-only" "read-write" "required"
    3.19+    "right" "root" "scope" "target" "valid" "visited")
    3.20+  "Identifiers for pseudo-classes.")
    3.21+
    3.22+(defvar *css-pseudo-element-ids*
    3.23+  '("after" "before" "first-letter" "first-line" "selection")
    3.24+  "Identifiers for pseudo-elements.")
    3.25+
    3.26+(defvar *css-at-ids*
    3.27+  '("charset" "font-face" "import" "keyframes" "media" "namespace"
    3.28+    "page" "supports")
    3.29+  "Identifiers that appear in the form @foo.")
    3.30+
    3.31+(defvar *scss-at-ids*
    3.32+  '("at-root" "content" "debug" "each" "else" "else if" "error" "extend"
    3.33+    "for" "function" "if" "import" "include" "mixin" "return" "use" "warn"
    3.34+    "while")
    3.35+  "Additional identifiers that appear in the form @foo in SCSS.")
    3.36+
    3.37+(defvar *css-bang-ids*
    3.38+  '("important")
    3.39+  "Identifiers that appear in the form !foo.")
    3.40+
    3.41+(defvar *scss-bang-ids*
    3.42+  '("default" "global" "optional")
    3.43+  "Additional identifiers that appear in the form !foo in SCSS.")
    3.44+
    3.45+(defvar *css-descriptor-ids*
    3.46+  '("ascent" "baseline" "bbox" "cap-height" "centerline" "definition-src"
    3.47+    "descent" "font-family" "font-size" "font-stretch" "font-style"
    3.48+    "font-variant" "font-weight" "mathline" "panose-1" "slope" "src" "stemh"
    3.49+    "stemv" "topline" "unicode-range" "units-per-em" "widths" "x-height")
    3.50+  "Identifiers for font descriptors.")
    3.51+
    3.52+(defvar *css-media-ids*
    3.53+  '("all" "aural" "bitmap" "continuous" "grid" "paged" "static" "tactile"
    3.54+    "visual")
    3.55+  "Identifiers for types of media.")
    3.56+
    3.57+(defvar *css-property-alist*
    3.58+  ;; CSS 2.1 properties (https://www.w3.org/TR/CSS21/propidx.html).
    3.59+  ;;
    3.60+  ;; Properties duplicated by any of the CSS3 modules below have been
    3.61+  ;; removed.
    3.62+  '(("azimuth" angle "left-side" "far-left" "left" "center-left"
    3.63+     "center" "center-right" "right" "far-right" "right-side" "behind"
    3.64+     "leftwards" "rightwards")
    3.65+    ("border-collapse" "collapse" "separate")
    3.66+    ("border-spacing" length)
    3.67+    ("bottom" length percentage "auto")
    3.68+    ("caption-side" "top" "bottom")
    3.69+    ("clear" "none" "left" "right" "both")
    3.70+    ("content" "normal" "none" string uri counter "attr()"
    3.71+     "open-quote" "close-quote" "no-open-quote" "no-close-quote")
    3.72+    ("counter-increment" identifier integer "none")
    3.73+    ("counter-reset" identifier integer "none")
    3.74+    ("cue" cue-before cue-after)
    3.75+    ("cue-after" uri "none")
    3.76+    ("cue-before" uri "none")
    3.77+    ("display" "inline" "block" "list-item" "inline-block" "table"
    3.78+     "inline-table" "table-row-group" "table-header-group"
    3.79+     "table-footer-group" "table-row" "table-column-group"
    3.80+     "table-column" "table-cell" "table-caption" "none"
    3.81+     ;; CSS Flexible Box Layout Module Level 1
    3.82+     ;; (https://www.w3.org/TR/css3-flexbox/#valdef-display-flex)
    3.83+     "flex" "inline-flex"
    3.84+     ;; CSS Grid Layout Module Level 1
    3.85+     ;; (https://www.w3.org/TR/css-grid-1/#grid-containers)
    3.86+     "grid" "inline-grid" "subgrid")
    3.87+    ("elevation" angle "below" "level" "above" "higher" "lower")
    3.88+    ("empty-cells" "show" "hide")
    3.89+    ("float" "left" "right" "none")
    3.90+    ("height" length percentage "auto")
    3.91+    ("left" length percentage "auto")
    3.92+    ("line-height" "normal" number length percentage)
    3.93+    ("list-style" list-style-type list-style-position
    3.94+     list-style-image)
    3.95+    ("list-style-image" uri "none")
    3.96+    ("list-style-position" "inside" "outside")
    3.97+    ("list-style-type" "disc" "circle" "square" "decimal"
    3.98+     "decimal-leading-zero" "lower-roman" "upper-roman" "lower-greek"
    3.99+     "lower-latin" "upper-latin" "armenian" "georgian" "lower-alpha"
   3.100+     "upper-alpha" "none")
   3.101+    ("margin" margin-width)
   3.102+    ("margin-bottom" margin-width)
   3.103+    ("margin-left" margin-width)
   3.104+    ("margin-right" margin-width)
   3.105+    ("margin-top" margin-width)
   3.106+    ("max-height" length percentage "none")
   3.107+    ("max-width" length percentage "none")
   3.108+    ("min-height" length percentage)
   3.109+    ("min-width" length percentage)
   3.110+    ("padding" padding-width)
   3.111+    ("padding-bottom" padding-width)
   3.112+    ("padding-left" padding-width)
   3.113+    ("padding-right" padding-width)
   3.114+    ("padding-top" padding-width)
   3.115+    ("page-break-after" "auto" "always" "avoid" "left" "right")
   3.116+    ("page-break-before" "auto" "always" "avoid" "left" "right")
   3.117+    ("page-break-inside" "avoid" "auto")
   3.118+    ("pause" time percentage)
   3.119+    ("pause-after" time percentage)
   3.120+    ("pause-before" time percentage)
   3.121+    ("pitch" frequency "x-low" "low" "medium" "high" "x-high")
   3.122+    ("pitch-range" number)
   3.123+    ("play-during" uri "mix" "repeat" "auto" "none")
   3.124+    ("position" "static" "relative" "absolute" "fixed")
   3.125+    ("quotes" string "none")
   3.126+    ("richness" number)
   3.127+    ("right" length percentage "auto")
   3.128+    ("speak" "normal" "none" "spell-out")
   3.129+    ("speak-header" "once" "always")
   3.130+    ("speak-numeral" "digits" "continuous")
   3.131+    ("speak-punctuation" "code" "none")
   3.132+    ("speech-rate" number "x-slow" "slow" "medium" "fast" "x-fast"
   3.133+     "faster" "slower")
   3.134+    ("stress" number)
   3.135+    ("table-layout" "auto" "fixed")
   3.136+    ("top" length percentage "auto")
   3.137+    ("vertical-align" "baseline" "sub" "super" "top" "text-top"
   3.138+     "middle" "bottom" "text-bottom" percentage length)
   3.139+    ("visibility" "visible" "hidden" "collapse")
   3.140+    ("voice-family" specific-voice generic-voice specific-voice
   3.141+     generic-voice)
   3.142+    ("volume" number percentage "silent" "x-soft" "soft" "medium"
   3.143+     "loud" "x-loud")
   3.144+    ("width" length percentage "auto")
   3.145+    ("z-index" "auto" integer)
   3.146+
   3.147+    ;; CSS Animations
   3.148+    ;; (https://www.w3.org/TR/css3-animations/#property-index)
   3.149+    ("animation" single-animation-name time single-timing-function
   3.150+     single-animation-iteration-count single-animation-direction
   3.151+     single-animation-fill-mode single-animation-play-state)
   3.152+    ("animation-delay" time)
   3.153+    ("animation-direction" single-animation-direction)
   3.154+    ("animation-duration" time)
   3.155+    ("animation-fill-mode" single-animation-fill-mode)
   3.156+    ("animation-iteration-count" single-animation-iteration-count)
   3.157+    ("animation-name" single-animation-name)
   3.158+    ("animation-play-state" single-animation-play-state)
   3.159+    ("animation-timing-function" single-timing-function)
   3.160+
   3.161+    ;; CSS Backgrounds and Borders Module Level 3
   3.162+    ;; (https://www.w3.org/TR/css3-background/#property-index)
   3.163+    ("background" bg-layer final-bg-layer)
   3.164+    ("background-attachment" attachment)
   3.165+    ("background-clip" box)
   3.166+    ("background-color" color)
   3.167+    ("background-image" bg-image)
   3.168+    ("background-origin" box)
   3.169+    ("background-position" position)
   3.170+    ("background-repeat" repeat-style)
   3.171+    ("background-size" bg-size)
   3.172+    ("border" line-width line-style color)
   3.173+    ("border-bottom" line-width line-style color)
   3.174+    ("border-bottom-color" color)
   3.175+    ("border-bottom-left-radius" length percentage)
   3.176+    ("border-bottom-right-radius" length percentage)
   3.177+    ("border-bottom-style" line-style)
   3.178+    ("border-bottom-width" line-width)
   3.179+    ("border-color" color)
   3.180+    ("border-image" border-image-source border-image-slice
   3.181+     border-image-width border-image-outset border-image-repeat)
   3.182+    ("border-image-outset" length number)
   3.183+    ("border-image-repeat" "stretch" "repeat" "round" "space")
   3.184+    ("border-image-slice" number percentage "fill")
   3.185+    ("border-image-source" "none" image)
   3.186+    ("border-image-width" length percentage number "auto")
   3.187+    ("border-left" line-width line-style color)
   3.188+    ("border-left-color" color)
   3.189+    ("border-left-style" line-style)
   3.190+    ("border-left-width" line-width)
   3.191+    ("border-radius" length percentage)
   3.192+    ("border-right" line-width line-style color)
   3.193+    ("border-right-color" color)
   3.194+    ("border-right-style" line-style)
   3.195+    ("border-right-width" line-width)
   3.196+    ("border-style" line-style)
   3.197+    ("border-top" line-width line-style color)
   3.198+    ("border-top-color" color)
   3.199+    ("border-top-left-radius" length percentage)
   3.200+    ("border-top-right-radius" length percentage)
   3.201+    ("border-top-style" line-style)
   3.202+    ("border-top-width" line-width)
   3.203+    ("border-width" line-width)
   3.204+    ("box-shadow" "none" shadow)
   3.205+
   3.206+    ;; CSS Basic User Interface Module Level 3 (CSS3 UI)
   3.207+    ;; (https://www.w3.org/TR/css3-ui/#property-index)
   3.208+    ("box-sizing" "content-box" "border-box")
   3.209+    ("caret-color" "auto" color)
   3.210+    ("cursor" uri x y "auto" "default" "none" "context-menu" "help"
   3.211+     "pointer" "progress" "wait" "cell" "crosshair" "text"
   3.212+     "vertical-text" "alias" "copy" "move" "no-drop" "not-allowed"
   3.213+     "grab" "grabbing" "e-resize" "n-resize" "ne-resize" "nw-resize"
   3.214+     "s-resize" "se-resize" "sw-resize" "w-resize" "ew-resize"
   3.215+     "ns-resize" "nesw-resize" "nwse-resize" "col-resize" "row-resize"
   3.216+     "all-scroll" "zoom-in" "zoom-out")
   3.217+    ("nav-down" "auto" id "current" "root" target-name)
   3.218+    ("nav-left" "auto" id "current" "root" target-name)
   3.219+    ("nav-right" "auto" id "current" "root" target-name)
   3.220+    ("nav-up" "auto" id "current" "root" target-name)
   3.221+    ("outline" outline-color outline-style outline-width)
   3.222+    ("outline-color" color "invert")
   3.223+    ("outline-offset" length)
   3.224+    ("outline-style" "auto" border-style)
   3.225+    ("outline-width" border-width)
   3.226+    ("resize" "none" "both" "horizontal" "vertical")
   3.227+    ("text-overflow" "clip" "ellipsis" string)
   3.228+
   3.229+    ;; CSS Cascading and Inheritance Level 3
   3.230+    ;; (https://www.w3.org/TR/css-cascade-3/#property-index)
   3.231+    ("all")
   3.232+
   3.233+    ;; CSS Color Module Level 3
   3.234+    ;; (https://www.w3.org/TR/css3-color/#property)
   3.235+    ("color" color)
   3.236+    ("opacity" alphavalue)
   3.237+
   3.238+    ;; CSS Containment Module Level 2
   3.239+    ;; (https://www.w3.org/TR/css-contain-2/#property-index)
   3.240+    ("contain" "none" "strict" "content" "size" "layout" "style" "paint")
   3.241+    ("content-visibility" "visible" "auto" "hidden")
   3.242+
   3.243+    ;; CSS Grid Layout Module Level 2
   3.244+    ;; (https://www.w3.org/TR/css-grid-2/#property-index)
   3.245+    ("grid" grid-template grid-template-rows "auto-flow" "dense"
   3.246+     grid-auto-columns grid-auto-rows grid-template-columns)
   3.247+    ("grid-area" grid-line)
   3.248+    ("grid-auto-columns" track-size)
   3.249+    ("grid-auto-flow" "row" "column" "dense")
   3.250+    ("grid-auto-rows" track-size)
   3.251+    ("grid-column" grid-line)
   3.252+    ("grid-column-end" grid-line)
   3.253+    ("grid-column-gap" length-percentage)
   3.254+    ("grid-column-start" grid-line)
   3.255+    ("grid-gap" grid-row-gap grid-column-gap)
   3.256+    ("grid-row" grid-line)
   3.257+    ("grid-row-end" grid-line)
   3.258+    ("grid-row-gap" length-percentage)
   3.259+    ("grid-row-start" grid-line)
   3.260+    ("grid-template" "none" grid-template-rows grid-template-columns
   3.261+     line-names string track-size line-names explicit-track-list)
   3.262+    ("grid-template-areas" "none" string)
   3.263+    ("grid-template-columns" "none" track-list auto-track-list "subgrid")
   3.264+    ("grid-template-rows" "none" track-list auto-track-list "subgrid")
   3.265+
   3.266+    ;; CSS Box Alignment Module Level 3
   3.267+    ;; (https://www.w3.org/TR/css-align-3/#property-index)
   3.268+    ("align-content" baseline-position content-distribution
   3.269+     overflow-position content-position)
   3.270+    ("align-items" "normal" "stretch" baseline-position
   3.271+     overflow-position self-position)
   3.272+    ("align-self" "auto" "normal" "stretch" baseline-position
   3.273+     overflow-position self-position)
   3.274+    ("column-gap" "normal" length-percentage)
   3.275+    ("gap" row-gap column-gap)
   3.276+    ("justify-content" "normal" content-distribution overflow-position
   3.277+     content-position "left" "right")
   3.278+    ("justify-items" "normal" "stretch" baseline-position
   3.279+     overflow-position self-position "left" "right" "legacy" "center")
   3.280+    ("justify-self" "auto" "normal" "stretch" baseline-position
   3.281+     overflow-position self-position "left" "right")
   3.282+    ("place-content" align-content justify-content)
   3.283+    ("place-items" align-items justify-items)
   3.284+    ("place-self" justify-self align-self)
   3.285+    ("row-gap" "normal" length-percentage)
   3.286+
   3.287+    ;; CSS Flexible Box Layout Module Level 1
   3.288+    ;; (https://www.w3.org/TR/css-flexbox-1/#property-index)
   3.289+    ("flex" "none" flex-grow flex-shrink flex-basis)
   3.290+    ("flex-basis" "auto" "content" width)
   3.291+    ("flex-direction" "row" "row-reverse" "column" "column-reverse")
   3.292+    ("flex-flow" flex-direction flex-wrap)
   3.293+    ("flex-grow" number)
   3.294+    ("flex-shrink" number)
   3.295+    ("flex-wrap" "nowrap" "wrap" "wrap-reverse")
   3.296+    ("order" integer)
   3.297+
   3.298+    ;; CSS Fonts Module Level 3
   3.299+    ;; (https://www.w3.org/TR/css3-fonts/#property-index)
   3.300+    ("font" font-style font-variant-css21 font-weight font-stretch
   3.301+     font-size line-height font-family "caption" "icon" "menu"
   3.302+     "message-box" "small-caption" "status-bar")
   3.303+    ("font-family" family-name generic-family)
   3.304+    ("font-feature-settings" "normal" feature-tag-value)
   3.305+    ("font-kerning" "auto" "normal" "none")
   3.306+    ("font-language-override" "normal" string)
   3.307+    ("font-size" absolute-size relative-size length percentage)
   3.308+    ("font-size-adjust" "none" number)
   3.309+    ("font-stretch" "normal" "ultra-condensed" "extra-condensed"
   3.310+     "condensed" "semi-condensed" "semi-expanded" "expanded"
   3.311+     "extra-expanded" "ultra-expanded")
   3.312+    ("font-style" "normal" "italic" "oblique")
   3.313+    ("font-synthesis" "none" "weight" "style")
   3.314+    ("font-variant" "normal" "none" common-lig-values
   3.315+     discretionary-lig-values historical-lig-values
   3.316+     contextual-alt-values "stylistic()" "historical-forms"
   3.317+     "styleset()" "character-variant()" "swash()" "ornaments()"
   3.318+     "annotation()" "small-caps" "all-small-caps" "petite-caps"
   3.319+     "all-petite-caps" "unicase" "titling-caps" numeric-figure-values
   3.320+     numeric-spacing-values numeric-fraction-values "ordinal"
   3.321+     "slashed-zero" east-asian-variant-values east-asian-width-values
   3.322+     "ruby")
   3.323+    ("font-variant-alternates" "normal" "stylistic()"
   3.324+     "historical-forms" "styleset()" "character-variant()" "swash()"
   3.325+     "ornaments()" "annotation()")
   3.326+    ("font-variant-caps" "normal" "small-caps" "all-small-caps"
   3.327+     "petite-caps" "all-petite-caps" "unicase" "titling-caps")
   3.328+    ("font-variant-east-asian" "normal" east-asian-variant-values
   3.329+     east-asian-width-values "ruby")
   3.330+    ("font-variant-ligatures" "normal" "none" common-lig-values
   3.331+     discretionary-lig-values historical-lig-values
   3.332+     contextual-alt-values)
   3.333+    ("font-variant-numeric" "normal" numeric-figure-values
   3.334+     numeric-spacing-values numeric-fraction-values "ordinal"
   3.335+     "slashed-zero")
   3.336+    ("font-variant-position" "normal" "sub" "super")
   3.337+    ("font-weight" "normal" "bold" "bolder" "lighter" "100" "200"
   3.338+     "300" "400" "500" "600" "700" "800" "900")
   3.339+
   3.340+    ;; CSS Fragmentation Module Level 3
   3.341+    ;; (https://www.w3.org/TR/css-break-3/#property-index)
   3.342+    ("box-decoration-break" "slice" "clone")
   3.343+    ("break-after" "auto" "avoid" "avoid-page" "page" "left" "right"
   3.344+     "recto" "verso" "avoid-column" "column" "avoid-region" "region")
   3.345+    ("break-before" "auto" "avoid" "avoid-page" "page" "left" "right"
   3.346+     "recto" "verso" "avoid-column" "column" "avoid-region" "region")
   3.347+    ("break-inside" "auto" "avoid" "avoid-page" "avoid-column"
   3.348+     "avoid-region")
   3.349+    ("orphans" integer)
   3.350+    ("widows" integer)
   3.351+
   3.352+    ;; CSS Masking Module Level 1
   3.353+    ;; (https://www.w3.org/TR/css-masking-1/#property-index)
   3.354+    ("clip-path" clip-source basic-shape geometry-box "none")
   3.355+    ("clip-rule" "nonzero" "evenodd")
   3.356+    ("mask-image" mask-reference)
   3.357+    ("mask-mode" masking-mode)
   3.358+    ("mask-repeat" repeat-style)
   3.359+    ("mask-position" position)
   3.360+    ("mask-clip" geometry-box "no-clip")
   3.361+    ("mask-origin" geometry-box)
   3.362+    ("mask-size" bg-size)
   3.363+    ("mask-composite" compositing-operator)
   3.364+    ("mask" mask-layer)
   3.365+    ("mask-border-source" "none" image)
   3.366+    ("mask-border-mode" "luminance" "alpha")
   3.367+    ("mask-border-slice" number percentage "fill")
   3.368+    ("mask-border-width" length percentage number "auto")
   3.369+    ("mask-border-outset" length number)
   3.370+    ("mask-border-repeat" "stretch" "repeat" "round" "space")
   3.371+    ("mask-border" mask-border-source mask-border-slice
   3.372+     mask-border-width mask-border-outset mask-border-repeat
   3.373+     mask-border-mode)
   3.374+    ("mask-type" "luminance" "alpha")
   3.375+    ("clip" "rect()" "auto")
   3.376+
   3.377+    ;; CSS Multi-column Layout Module Level 1
   3.378+    ;; (https://www.w3.org/TR/css3-multicol/#property-index)
   3.379+    ;; "break-after", "break-before", and "break-inside" are left out
   3.380+    ;; below, because they're already included in CSS Fragmentation
   3.381+    ;; Module Level 3.
   3.382+    ("column-count" "auto" integer)
   3.383+    ("column-fill" "auto" "balance" "balance-all")
   3.384+    ("column-rule" column-rule-width column-rule-style
   3.385+     column-rule-color)
   3.386+    ("column-rule-color" color)
   3.387+    ("column-rule-style" line-style)
   3.388+    ("column-rule-width" line-width)
   3.389+    ("column-span" "none" "all")
   3.390+    ("column-width" "auto" length)
   3.391+    ("columns" column-width column-count)
   3.392+
   3.393+    ;; CSS Overflow Module Level 3
   3.394+    ;; (https://www.w3.org/TR/css-overflow-3/#property-index)
   3.395+    ("max-lines" "none" integer)
   3.396+    ("overflow" "visible" "hidden" "scroll" "auto" "paged-x" "paged-y"
   3.397+     "paged-x-controls" "paged-y-controls" "fragments")
   3.398+    ("overflow-x" "visible" "hidden" "scroll" "auto" "paged-x"
   3.399+     "paged-y" "paged-x-controls" "paged-y-controls" "fragments")
   3.400+    ("overflow-y" "visible" "hidden" "scroll" "auto" "paged-x"
   3.401+     "paged-y" "paged-x-controls" "paged-y-controls" "fragments")
   3.402+
   3.403+    ;; CSS Text Decoration Module Level 3
   3.404+    ;; (https://dev.w3.org/csswg/css-text-decor-3/#property-index)
   3.405+    ("text-decoration" text-decoration-line text-decoration-style
   3.406+     text-decoration-color)
   3.407+    ("text-decoration-color" color)
   3.408+    ("text-decoration-line" "none" "underline" "overline"
   3.409+     "line-through" "blink")
   3.410+    ("text-decoration-skip" "none" "objects" "spaces" "ink" "edges"
   3.411+     "box-decoration")
   3.412+    ("text-decoration-style" "solid" "double" "dotted" "dashed"
   3.413+     "wavy")
   3.414+    ("text-emphasis" text-emphasis-style text-emphasis-color)
   3.415+    ("text-emphasis-color" color)
   3.416+    ("text-emphasis-position" "over" "under" "right" "left")
   3.417+    ("text-emphasis-style" "none" "filled" "open" "dot" "circle"
   3.418+     "double-circle" "triangle" "sesame" string)
   3.419+    ("text-shadow" "none" length color)
   3.420+    ("text-underline-position" "auto" "under" "left" "right")
   3.421+
   3.422+    ;; CSS Text Module Level 3
   3.423+    ;; (https://www.w3.org/TR/css3-text/#property-index)
   3.424+    ("hanging-punctuation" "none" "first" "force-end" "allow-end"
   3.425+     "last")
   3.426+    ("hyphens" "none" "manual" "auto")
   3.427+    ("letter-spacing" "normal" length)
   3.428+    ("line-break" "auto" "loose" "normal" "strict")
   3.429+    ("overflow-wrap" "normal" "break-word")
   3.430+    ("tab-size" integer length)
   3.431+    ("text-align" "start" "end" "left" "right" "center" "justify"
   3.432+     "match-parent")
   3.433+    ("text-align-last" "auto" "start" "end" "left" "right" "center"
   3.434+     "justify")
   3.435+    ("text-indent" length percentage)
   3.436+    ("text-justify" "auto" "none" "inter-word" "distribute")
   3.437+    ("text-transform" "none" "capitalize" "uppercase" "lowercase"
   3.438+     "full-width")
   3.439+    ("white-space" "normal" "pre" "nowrap" "pre-wrap" "pre-line")
   3.440+    ("word-break" "normal" "keep-all" "break-all")
   3.441+    ("word-spacing" "normal" length percentage)
   3.442+    ("word-wrap" "normal" "break-word")
   3.443+
   3.444+    ;; CSS Transforms Module Level 1
   3.445+    ;; (https://www.w3.org/TR/css3-2d-transforms/#property-index)
   3.446+    ("backface-visibility" "visible" "hidden")
   3.447+    ("perspective" "none" length)
   3.448+    ("perspective-origin" "left" "center" "right" "top" "bottom"
   3.449+     percentage length)
   3.450+    ("transform" "none" transform-list)
   3.451+    ("transform-origin" "left" "center" "right" "top" "bottom"
   3.452+     percentage length)
   3.453+    ("transform-style" "flat" "preserve-3d")
   3.454+
   3.455+    ;; CSS Transitions
   3.456+    ;; (https://www.w3.org/TR/css3-transitions/#property-index)
   3.457+    ("transition" single-transition)
   3.458+    ("transition-delay" time)
   3.459+    ("transition-duration" time)
   3.460+    ("transition-property" "none" single-transition-property "all")
   3.461+    ("transition-timing-function" single-transition-timing-function)
   3.462+
   3.463+    ;; CSS Will Change Module Level 1
   3.464+    ;; (https://www.w3.org/TR/css-will-change-1/#property-index)
   3.465+    ("will-change" "auto" animateable-feature)
   3.466+
   3.467+    ;; CSS Writing Modes Level 3
   3.468+    ;; (https://www.w3.org/TR/css-writing-modes-3/#property-index)
   3.469+    ;; "glyph-orientation-vertical" is obsolete and left out.
   3.470+    ("direction" "ltr" "rtl")
   3.471+    ("text-combine-upright" "none" "all")
   3.472+    ("text-orientation" "mixed" "upright" "sideways")
   3.473+    ("unicode-bidi" "normal" "embed" "isolate" "bidi-override"
   3.474+     "isolate-override" "plaintext")
   3.475+    ("writing-mode" "horizontal-tb" "vertical-rl" "vertical-lr")
   3.476+
   3.477+    ;; Filter Effects Module Level 1
   3.478+    ;; (https://www.w3.org/TR/filter-effects/#property-index)
   3.479+    ("color-interpolation-filters" "auto" "sRGB" "linearRGB")
   3.480+    ("filter" "none" filter-function-list)
   3.481+    ("flood-color" color)
   3.482+    ("flood-opacity" number percentage)
   3.483+    ("lighting-color" color)
   3.484+
   3.485+    ;; Pointer Events
   3.486+    ;; (https://www.w3.org/TR/pointerevents/#the-touch-action-css-property)
   3.487+    ("touch-action" "auto" "none" "pan-x" "pan-y" "manipulation"))
   3.488+  "Identifiers for properties and their possible values.
   3.489+The CAR of each entry is the name of a property, while the CDR is
   3.490+a list of possible values for that property.  String values in
   3.491+the CDRs represent literal values, while symbols represent one of
   3.492+the value classes found in `css-value-class-alist'.  If a symbol
   3.493+is not found in `css-value-class-alist', it's interpreted as a
   3.494+reference back to one of the properties in this list.  Some
   3.495+symbols, such as `number' or `identifier', don't produce any
   3.496+further value candidates, since that list would be infinite.")
   3.497+
   3.498+(defvar *css-property-ids*
   3.499+  (mapcar #'car *css-property-alist*)
   3.500+  "Identifiers for properties.")
   3.501+
   3.502+(defvar *css--color-map*
   3.503+  '(("black" . "#000000")
   3.504+    ("silver" . "#c0c0c0")
   3.505+    ("gray" . "#808080")
   3.506+    ("white" . "#ffffff")
   3.507+    ("maroon" . "#800000")
   3.508+    ("red" . "#ff0000")
   3.509+    ("purple" . "#800080")
   3.510+    ("fuchsia" . "#ff00ff")
   3.511+    ("magenta" . "#ff00ff")
   3.512+    ("green" . "#008000")
   3.513+    ("lime" . "#00ff00")
   3.514+    ("olive" . "#808000")
   3.515+    ("yellow" . "#ffff00")
   3.516+    ("navy" . "#000080")
   3.517+    ("blue" . "#0000ff")
   3.518+    ("teal" . "#008080")
   3.519+    ("aqua" . "#00ffff")
   3.520+    ("cyan" . "#00ffff")
   3.521+    ("orange" . "#ffa500")
   3.522+    ("aliceblue" . "#f0f8ff")
   3.523+    ("antiquewhite" . "#faebd7")
   3.524+    ("aquamarine" . "#7fffd4")
   3.525+    ("azure" . "#f0ffff")
   3.526+    ("beige" . "#f5f5dc")
   3.527+    ("bisque" . "#ffe4c4")
   3.528+    ("blanchedalmond" . "#ffebcd")
   3.529+    ("blueviolet" . "#8a2be2")
   3.530+    ("brown" . "#a52a2a")
   3.531+    ("burlywood" . "#deb887")
   3.532+    ("cadetblue" . "#5f9ea0")
   3.533+    ("chartreuse" . "#7fff00")
   3.534+    ("chocolate" . "#d2691e")
   3.535+    ("coral" . "#ff7f50")
   3.536+    ("cornflowerblue" . "#6495ed")
   3.537+    ("cornsilk" . "#fff8dc")
   3.538+    ("crimson" . "#dc143c")
   3.539+    ("darkblue" . "#00008b")
   3.540+    ("darkcyan" . "#008b8b")
   3.541+    ("darkgoldenrod" . "#b8860b")
   3.542+    ("darkgray" . "#a9a9a9")
   3.543+    ("darkgreen" . "#006400")
   3.544+    ("darkgrey" . "#a9a9a9")
   3.545+    ("darkkhaki" . "#bdb76b")
   3.546+    ("darkmagenta" . "#8b008b")
   3.547+    ("darkolivegreen" . "#556b2f")
   3.548+    ("darkorange" . "#ff8c00")
   3.549+    ("darkorchid" . "#9932cc")
   3.550+    ("darkred" . "#8b0000")
   3.551+    ("darksalmon" . "#e9967a")
   3.552+    ("darkseagreen" . "#8fbc8f")
   3.553+    ("darkslateblue" . "#483d8b")
   3.554+    ("darkslategray" . "#2f4f4f")
   3.555+    ("darkslategrey" . "#2f4f4f")
   3.556+    ("darkturquoise" . "#00ced1")
   3.557+    ("darkviolet" . "#9400d3")
   3.558+    ("deeppink" . "#ff1493")
   3.559+    ("deepskyblue" . "#00bfff")
   3.560+    ("dimgray" . "#696969")
   3.561+    ("dimgrey" . "#696969")
   3.562+    ("dodgerblue" . "#1e90ff")
   3.563+    ("firebrick" . "#b22222")
   3.564+    ("floralwhite" . "#fffaf0")
   3.565+    ("forestgreen" . "#228b22")
   3.566+    ("gainsboro" . "#dcdcdc")
   3.567+    ("ghostwhite" . "#f8f8ff")
   3.568+    ("gold" . "#ffd700")
   3.569+    ("goldenrod" . "#daa520")
   3.570+    ("greenyellow" . "#adff2f")
   3.571+    ("grey" . "#808080")
   3.572+    ("honeydew" . "#f0fff0")
   3.573+    ("hotpink" . "#ff69b4")
   3.574+    ("indianred" . "#cd5c5c")
   3.575+    ("indigo" . "#4b0082")
   3.576+    ("ivory" . "#fffff0")
   3.577+    ("khaki" . "#f0e68c")
   3.578+    ("lavender" . "#e6e6fa")
   3.579+    ("lavenderblush" . "#fff0f5")
   3.580+    ("lawngreen" . "#7cfc00")
   3.581+    ("lemonchiffon" . "#fffacd")
   3.582+    ("lightblue" . "#add8e6")
   3.583+    ("lightcoral" . "#f08080")
   3.584+    ("lightcyan" . "#e0ffff")
   3.585+    ("lightgoldenrodyellow" . "#fafad2")
   3.586+    ("lightgray" . "#d3d3d3")
   3.587+    ("lightgreen" . "#90ee90")
   3.588+    ("lightgrey" . "#d3d3d3")
   3.589+    ("lightpink" . "#ffb6c1")
   3.590+    ("lightsalmon" . "#ffa07a")
   3.591+    ("lightseagreen" . "#20b2aa")
   3.592+    ("lightskyblue" . "#87cefa")
   3.593+    ("lightslategray" . "#778899")
   3.594+    ("lightslategrey" . "#778899")
   3.595+    ("lightsteelblue" . "#b0c4de")
   3.596+    ("lightyellow" . "#ffffe0")
   3.597+    ("limegreen" . "#32cd32")
   3.598+    ("linen" . "#faf0e6")
   3.599+    ("mediumaquamarine" . "#66cdaa")
   3.600+    ("mediumblue" . "#0000cd")
   3.601+    ("mediumorchid" . "#ba55d3")
   3.602+    ("mediumpurple" . "#9370db")
   3.603+    ("mediumseagreen" . "#3cb371")
   3.604+    ("mediumslateblue" . "#7b68ee")
   3.605+    ("mediumspringgreen" . "#00fa9a")
   3.606+    ("mediumturquoise" . "#48d1cc")
   3.607+    ("mediumvioletred" . "#c71585")
   3.608+    ("midnightblue" . "#191970")
   3.609+    ("mintcream" . "#f5fffa")
   3.610+    ("mistyrose" . "#ffe4e1")
   3.611+    ("moccasin" . "#ffe4b5")
   3.612+    ("navajowhite" . "#ffdead")
   3.613+    ("oldlace" . "#fdf5e6")
   3.614+    ("olivedrab" . "#6b8e23")
   3.615+    ("orangered" . "#ff4500")
   3.616+    ("orchid" . "#da70d6")
   3.617+    ("palegoldenrod" . "#eee8aa")
   3.618+    ("palegreen" . "#98fb98")
   3.619+    ("paleturquoise" . "#afeeee")
   3.620+    ("palevioletred" . "#db7093")
   3.621+    ("papayawhip" . "#ffefd5")
   3.622+    ("peachpuff" . "#ffdab9")
   3.623+    ("peru" . "#cd853f")
   3.624+    ("pink" . "#ffc0cb")
   3.625+    ("plum" . "#dda0dd")
   3.626+    ("powderblue" . "#b0e0e6")
   3.627+    ("rosybrown" . "#bc8f8f")
   3.628+    ("royalblue" . "#4169e1")
   3.629+    ("saddlebrown" . "#8b4513")
   3.630+    ("salmon" . "#fa8072")
   3.631+    ("sandybrown" . "#f4a460")
   3.632+    ("seagreen" . "#2e8b57")
   3.633+    ("seashell" . "#fff5ee")
   3.634+    ("sienna" . "#a0522d")
   3.635+    ("skyblue" . "#87ceeb")
   3.636+    ("slateblue" . "#6a5acd")
   3.637+    ("slategray" . "#708090")
   3.638+    ("slategrey" . "#708090")
   3.639+    ("snow" . "#fffafa")
   3.640+    ("springgreen" . "#00ff7f")
   3.641+    ("steelblue" . "#4682b4")
   3.642+    ("tan" . "#d2b48c")
   3.643+    ("thistle" . "#d8bfd8")
   3.644+    ("tomato" . "#ff6347")
   3.645+    ("turquoise" . "#40e0d0")
   3.646+    ("violet" . "#ee82ee")
   3.647+    ("wheat" . "#f5deb3")
   3.648+    ("whitesmoke" . "#f5f5f5")
   3.649+    ("yellowgreen" . "#9acd32")
   3.650+    ("rebeccapurple" . "#663399"))
   3.651+  "Map CSS named colors to their hex RGB value.")
   3.652+
   3.653+(defvar *css-value-class-alist*
   3.654+  `((absolute-size
   3.655+     "xx-small" "x-small" "small" "medium" "large" "x-large"
   3.656+     "xx-large")
   3.657+    (alphavalue number)
   3.658+    (angle "calc()")
   3.659+    (animateable-feature "scroll-position" "contents" custom-ident)
   3.660+    (attachment "scroll" "fixed" "local")
   3.661+    (auto-repeat "repeat()")
   3.662+    (auto-track-list line-names fixed-size fixed-repeat auto-repeat)
   3.663+    (basic-shape "inset()" "circle()" "ellipse()" "polygon()")
   3.664+    (bg-image image "none")
   3.665+    (bg-layer bg-image position repeat-style attachment box)
   3.666+    (bg-size length percentage "auto" "cover" "contain")
   3.667+    (box "border-box" "padding-box" "content-box")
   3.668+    (clip-source uri)
   3.669+    (color
   3.670+     "rgb()" "rgba()" "hsl()" "hsla()" named-color "transparent"
   3.671+     "currentColor")
   3.672+    (common-lig-values "common-ligatures" "no-common-ligatures")
   3.673+    (compositing-operator "add" "subtract" "intersect" "exclude")
   3.674+    (contextual-alt-values "contextual" "no-contextual")
   3.675+    (counter "counter()" "counters()")
   3.676+    (discretionary-lig-values
   3.677+     "discretionary-ligatures" "no-discretionary-ligatures")
   3.678+    (east-asian-variant-values
   3.679+     "jis78" "jis83" "jis90" "jis04" "simplified" "traditional")
   3.680+    (east-asian-width-values "full-width" "proportional-width")
   3.681+    (explicit-track-list line-names track-size)
   3.682+    (family-name "Courier" "Helvetica" "Times")
   3.683+    (feature-tag-value string integer "on" "off")
   3.684+    (filter-function
   3.685+     "blur()" "brightness()" "contrast()" "drop-shadow()"
   3.686+     "grayscale()" "hue-rotate()" "invert()" "opacity()" "sepia()"
   3.687+     "saturate()")
   3.688+    (filter-function-list filter-function uri)
   3.689+    (final-bg-layer
   3.690+     bg-image position repeat-style attachment box color)
   3.691+    (fixed-breadth length-percentage)
   3.692+    (fixed-repeat "repeat()")
   3.693+    (fixed-size fixed-breadth "minmax()")
   3.694+    (font-variant-css21 "normal" "small-caps")
   3.695+    (frequency "calc()")
   3.696+    (generic-family
   3.697+     "serif" "sans-serif" "cursive" "fantasy" "monospace")
   3.698+    (generic-voice "male" "female" "child")
   3.699+    (geometry-box shape-box "fill-box" "stroke-box" "view-box")
   3.700+    (gradient
   3.701+     linear-gradient radial-gradient repeating-linear-gradient
   3.702+     repeating-radial-gradient)
   3.703+    (grid-line "auto" custom-ident integer "span")
   3.704+    (historical-lig-values
   3.705+     "historical-ligatures" "no-historical-ligatures")
   3.706+    (image uri image-list element-reference gradient)
   3.707+    (image-list "image()")
   3.708+    (inflexible-breadth length-percentage "min-content" "max-content"
   3.709+                        "auto")
   3.710+    (integer "calc()")
   3.711+    (length "calc()" number)
   3.712+    (line-height "normal" number length percentage)
   3.713+    (line-names custom-ident)
   3.714+    (line-style
   3.715+     "none" "hidden" "dotted" "dashed" "solid" "double" "groove"
   3.716+     "ridge" "inset" "outset")
   3.717+    (line-width length "thin" "medium" "thick")
   3.718+    (linear-gradient "linear-gradient()")
   3.719+    (margin-width "auto" length percentage)
   3.720+    (mask-layer
   3.721+     mask-reference masking-mode position bg-size repeat-style
   3.722+     geometry-box "no-clip" compositing-operator)
   3.723+    (mask-reference "none" image mask-source)
   3.724+    (mask-source uri)
   3.725+    (masking-mode "alpha" "luminance" "auto")
   3.726+    (named-color . ,(mapcar #'car *css--color-map*))
   3.727+    (number "calc()")
   3.728+    (numeric-figure-values "lining-nums" "oldstyle-nums")
   3.729+    (numeric-fraction-values "diagonal-fractions" "stacked-fractions")
   3.730+    (numeric-spacing-values "proportional-nums" "tabular-nums")
   3.731+    (padding-width length percentage)
   3.732+    (position
   3.733+     "left" "center" "right" "top" "bottom" percentage length)
   3.734+    (baseline-position "left" "right" "baseline")
   3.735+    (content-distribution
   3.736+     "space-between" "space-around" "space-evenly" "stretch")
   3.737+    (overflow-position "unsafe" "safe")
   3.738+    (content-position "center" "start" "end" "flex-start" "flex-end")
   3.739+    (self-position
   3.740+     "center" "start" "end" "self-start" "self-end" "flex-start" "flex-end")
   3.741+pdp10    (radial-gradient "radial-gradient()")
   3.742+    (relative-size "larger" "smaller")
   3.743+    (repeat-style
   3.744+     "repeat-x" "repeat-y" "repeat" "space" "round" "no-repeat")
   3.745+    (repeating-linear-gradient "repeating-linear-gradient()")
   3.746+    (repeating-radial-gradient "repeating-radial-gradient()")
   3.747+    (shadow "inset" length color)
   3.748+    (shape-box box "margin-box")
   3.749+    (single-animation-direction
   3.750+     "normal" "reverse" "alternate" "alternate-reverse")
   3.751+    (single-animation-fill-mode "none" "forwards" "backwards" "both")
   3.752+    (single-animation-iteration-count "infinite" number)
   3.753+    (single-animation-name "none" identifier)
   3.754+    (single-animation-play-state "running" "paused")
   3.755+    (single-timing-function single-transition-timing-function)
   3.756+    (single-transition
   3.757+     "none" single-transition-property time
   3.758+     single-transition-timing-function)
   3.759+    (single-transition-property "all" identifier)
   3.760+    (single-transition-timing-function
   3.761+     "ease" "linear" "ease-in" "ease-out" "ease-in-out" "step-start"
   3.762+     "step-end" "steps()" "cubic-bezier()")
   3.763+    (specific-voice identifier)
   3.764+    (target-name string)
   3.765+    (time "calc()")
   3.766+    (track-breadth length-percentage flex "min-content" "max-content"
   3.767+                   "auto")
   3.768+    (track-list line-names track-size track-repeat)
   3.769+    (track-repeat "repeat()")
   3.770+    (track-size track-breadth "minmax()" "fit-content()")
   3.771+    (transform-list
   3.772+     "matrix()" "translate()" "translateX()" "translateY()" "scale()"
   3.773+     "scaleX()" "scaleY()" "rotate()" "skew()" "skewX()" "skewY()"
   3.774+     "matrix3d()" "translate3d()" "translateZ()" "scale3d()"
   3.775+     "scaleZ()" "rotate3d()" "rotateX()" "rotateY()" "rotateZ()"
   3.776+     "perspective()")
   3.777+    (uri "url()")
   3.778+    (width length percentage "auto")
   3.779+    (x number)
   3.780+    (y number))
   3.781+  "Property value classes and their values.
   3.782+The format is similar to that of *css-property-alist*, except
   3.783+that the CARs aren't actual CSS properties, but rather a name for
   3.784+a class of values, and that symbols in the CDRs always refer to
   3.785+other entries in this list, not to properties.
   3.786+
   3.787+The following classes have been left out above because they
   3.788+cannot be completed sensibly: `custom-ident',
   3.789+`element-reference', `flex', `id', `identifier',
   3.790+`length-percentage', `percentage', and `string'.")
     4.1--- a/lisp/lib/dat/html/html.lisp	Sun Sep 22 22:13:44 2024 -0400
     4.2+++ b/lisp/lib/dat/html/html.lisp	Mon Sep 23 17:03:54 2024 -0400
     4.3@@ -293,43 +293,43 @@
     4.4     ,@(char-range #\u007F #\u009F)
     4.5     ;; The following are noncharacter as defined by Unicode.
     4.6     ;; Clozure Common Lisp doesn't like them.
     4.7-    #-(or abcl ccl mezzano) ,@`(
     4.8-    ,@(char-range #\uD800 #\uDFFF)
     4.9-    ,@(char-range #\uFDD0 #\uFDEF)
    4.10-    #\uFFFE
    4.11-    #\uFFFF
    4.12-    #\u0001FFFE
    4.13-    #\u0001FFFF
    4.14-    #\u0002FFFE
    4.15-    #\u0002FFFF
    4.16-    #\u0003FFFE
    4.17-    #\u0003FFFF
    4.18-    #\u0004FFFE
    4.19-    #\u0004FFFF
    4.20-    #\u0005FFFE
    4.21-    #\u0005FFFF
    4.22-    #\u0006FFFE
    4.23-    #\u0006FFFF
    4.24-    #\u0007FFFE
    4.25-    #\u0007FFFF
    4.26-    #\u0008FFFE
    4.27-    #\u0008FFFF
    4.28-    #\u0009FFFE
    4.29-    #\u0009FFFF
    4.30-    #\u000AFFFE
    4.31-    #\u000AFFFF
    4.32-    #\u000BFFFE
    4.33-    #\u000BFFFF
    4.34-    #\u000CFFFE
    4.35-    #\u000CFFFF
    4.36-    #\u000DFFFE
    4.37-    #\u000DFFFF
    4.38-    #\u000EFFFE
    4.39-    #\u000EFFFF
    4.40-    #\u000FFFFE
    4.41-    #\u000FFFFF
    4.42-    #\u0010FFFE
    4.43-    #\u0010FFFF)))
    4.44+    ,@`(
    4.45+        ,@(char-range #\uD800 #\uDFFF)
    4.46+        ,@(char-range #\uFDD0 #\uFDEF)
    4.47+        #\uFFFE
    4.48+        #\uFFFF
    4.49+        #\u0001FFFE
    4.50+        #\u0001FFFF
    4.51+        #\u0002FFFE
    4.52+        #\u0002FFFF
    4.53+        #\u0003FFFE
    4.54+        #\u0003FFFF
    4.55+        #\u0004FFFE
    4.56+        #\u0004FFFF
    4.57+        #\u0005FFFE
    4.58+        #\u0005FFFF
    4.59+        #\u0006FFFE
    4.60+        #\u0006FFFF
    4.61+        #\u0007FFFE
    4.62+        #\u0007FFFF
    4.63+        #\u0008FFFE
    4.64+        #\u0008FFFF
    4.65+        #\u0009FFFE
    4.66+        #\u0009FFFF
    4.67+        #\u000AFFFE
    4.68+        #\u000AFFFF
    4.69+        #\u000BFFFE
    4.70+        #\u000BFFFF
    4.71+        #\u000CFFFE
    4.72+        #\u000CFFFF
    4.73+        #\u000DFFFE
    4.74+        #\u000DFFFF
    4.75+        #\u000EFFFE
    4.76+        #\u000EFFFF
    4.77+        #\u000FFFFE
    4.78+        #\u000FFFFF
    4.79+        #\u0010FFFE
    4.80+        #\u0010FFFF)))
    4.81 
    4.82 (defparameter *invalid-unicode-hash* (make-hash-table))
    4.83 (dolist (char *invalid-unicode*)