From 55e90e555857afdcca90b42115b9de8539e4f4ac Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Apr 2021 11:43:50 +0200 Subject: import: go: Do not set '%strict-tokenizer?' from the top level. This avoids interference with other users of (htmlprag) and makes the intent clearer. * guix/import/go.scm : Remove call to '%strict-tokenizer?'. (go-package-licenses, go-package-description) (go-package-synopsis, fetch-module-meta-data): Pass #:strict? #t to 'html->sxml'. --- guix/import/go.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/guix/import/go.scm b/guix/import/go.scm index bc53f8f558..71f2316719 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm @@ -63,9 +63,6 @@ #:export (go-module->guix-package go-module-recursive-import)) -;;; Parameterize htmlprag to parse valid HTML more reliably. -(%strict-tokenizer? #t) - ;;; Commentary: ;;; ;;; (guix import go) attempts to make it easier to create Guix package @@ -149,7 +146,7 @@ name (e.g. \"github.com/golang/protobuf/proto\")." ;; element marked with a "License" class attribute. (select (sxpath `(// (* (@ (equal? (class "License")))) h2 // *text*)))) - (select (html->sxml body)))) + (select (html->sxml body #:strict? #t)))) (define (sxml->texi sxml-node) "A very basic SXML to Texinfo converter which attempts to preserve HTML @@ -167,7 +164,7 @@ formatting and links as text." "Retrieve a short description for NAME, a Go package name, e.g. \"google.golang.org/protobuf/proto\"." (let* ((body (go.pkg.dev-info name)) - (sxml (html->sxml body)) + (sxml (html->sxml body #:strict? #t)) (overview ((sxpath `(// (* (@ (equal? (class "Documentation-overview")))) @@ -209,7 +206,7 @@ the https://pkg.go.dev/ web site." (select-title (sxpath `(// (div (@ (equal? (class "UnitReadme-content")))) // h3 *text*)))) - (match (select-title (html->sxml body)) + (match (select-title (html->sxml body #:strict? #t)) (() #f) ;nothing selected ((title more ...) ;title is the first string of the list (string-trim-both title))))) @@ -465,7 +462,7 @@ build a package." (let* ((meta-data (http-fetch* (format #f "https://~a?go-get=1" module-path))) (select (sxpath `(// head (meta (@ (equal? (name "go-import")))) // content)))) - (match (select (html->sxml meta-data)) + (match (select (html->sxml meta-data #:strict? #t)) (() #f) ;nothing selected (((content content-text)) (match (string-split content-text #\space) -- cgit v1.2.3