diff options
author | Eric Bavier <bavier@posteo.net> | 2020-02-03 23:06:09 -0600 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2020-02-04 12:30:32 +0100 |
commit | f1452776ac65bd03454b1e715c44f7eded237ea0 (patch) | |
tree | 0c811ffd2929c499156706776a9ed523a5563f27 | |
parent | 52e7bcfd8959a1e2b66a6b313d2c82ce7779da63 (diff) | |
download | guix-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.scm | 11 |
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))) |