From f1452776ac65bd03454b1e715c44f7eded237ea0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 3 Feb 2020 23:06:09 -0600 Subject: 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 --- gnu/packages/web.scm | 11 +++++++++-- 1 file 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 ;;; Copyright © 2018 Raoul Jean Pierre Bonnal ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Eric Bavier +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016 Jelle Licht @@ -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 "" + (symbol->string name) + ""))))) ;; 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))) -- cgit 1.4.1