summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@posteo.net>2020-02-03 23:06:09 -0600
committerTobias Geerinckx-Rice <me@tobias.gr>2020-02-04 12:30:32 +0100
commitf1452776ac65bd03454b1e715c44f7eded237ea0 (patch)
tree0c811ffd2929c499156706776a9ed523a5563f27
parent52e7bcfd8959a1e2b66a6b313d2c82ce7779da63 (diff)
downloadguix-f1452776ac65bd03454b1e715c44f7eded237ea0.tar.gz
gnu: netsurf: Fix entity parsing.
Follow-up to commit 31afa654c58cd7aa8bd11a771fa6eabcd766d443.

* gnu/packages/web.scm (netsurf)[arguments]: In 'adjust-welcome' phase, ensure
html entities are parsed and find their way back to the output.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
-rw-r--r--gnu/packages/web.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f6ae958ae3..60fd5cfd0f 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
@@ -5075,12 +5075,19 @@ w3c webidl files and a binding configuration file.")
                  ;; Leave the DOCTYPE header as is.
                  (display (read-line in 'concat) out)
                  (sxml->xml
-                  (let rec ((sxml (xml->sxml in)))
+                  (let rec ((sxml (xml->sxml in
+					     #:default-entity-handler
+					     (lambda (port name)
+					       (string-append "<ENTITY>"
+							      (symbol->string name)
+							      "</ENTITY>")))))
                     ;; We'd like to use sxml-match here, but it can't
                     ;; match against generic tag symbols...
                     (match sxml
                       (`(div (@ (class "links")) . ,rest)
                        '())
+		      (`(ENTITY ,ent)
+		       `(*ENTITY* ,ent))
                       ((x ...)
                        (map rec x))
                       (x x)))