GNU bug report logs - #39235
26.3; SHR: base handling errors on "."

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Kevin Brubeck Unhammer <unhammer@HIDDEN>; Keywords: fixed; Done: Lars Ingebrigtsen <larsi@HIDDEN>; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
bug marked as fixed in version 28.1, send any further explanations to 39235 <at> debbugs.gnu.org and Kevin Brubeck Unhammer <unhammer@HIDDEN> Request was from Lars Ingebrigtsen <larsi@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 39235 <at> debbugs.gnu.org:


Received: (at 39235) by debbugs.gnu.org; 20 Feb 2020 14:15:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 20 09:15:38 2020
Received: from localhost ([127.0.0.1]:44121 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1j4mc5-0003Dv-Rl
	for submit <at> debbugs.gnu.org; Thu, 20 Feb 2020 09:15:38 -0500
Received: from quimby.gnus.org ([95.216.78.240]:47596)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1j4mc3-0003Dd-Dl
 for 39235 <at> debbugs.gnu.org; Thu, 20 Feb 2020 09:15:36 -0500
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1j4mbu-0003hq-G7; Thu, 20 Feb 2020 15:15:29 +0100
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Kevin Brubeck Unhammer <unhammer@HIDDEN>
Subject: Re: bug#39235: 26.3; SHR: base handling errors on "."
References: <87wo9j7h0h.fsf@HIDDEN>
Date: Thu, 20 Feb 2020 15:15:25 +0100
In-Reply-To: <87wo9j7h0h.fsf@HIDDEN> (Kevin Brubeck Unhammer's message of
 "Wed, 22 Jan 2020 14:33:18 +0100")
Message-ID: <87eeup4a6a.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview: Kevin Brubeck Unhammer <unhammer@HIDDEN> writes: > (require
 'shr) > (let ((shr-base (shr-parse-base "."))) > (shr-expand-url
 "www.example.com"))
 > > errors with > > Debugger entered--Lisp error: (wrong-type-argument
 char-or-string-p nil) > url-schem [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
 0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
 blocked.  See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
 for more information. [URIs: ingebrigtsen.no]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 39235
Cc: 39235 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Kevin Brubeck Unhammer <unhammer@HIDDEN> writes:

>     (require 'shr)
>     (let ((shr-base (shr-parse-base ".")))
>        (shr-expand-url "www.example.com"))
>
> errors with
>
> Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
>   url-scheme-get-property(nil expand-file-name)
>   url-expand-file-name("www.example.com" "./")
>   shr-expand-url("www.example.com")

The bug here doesn't seem to be with "." per se, but when both the base
and the URL to be expanded have no protocol.

(let ((shr-base (shr-parse-base "/tmp")))
   (shr-expand-url "foo"))
=> error

(let ((shr-base (shr-parse-base "foo:/tmp")))
   (shr-expand-url "foo"))
=> "foo:foo"

(let ((shr-base (shr-parse-base "/tmp")))
   (shr-expand-url "foo:foo"))
=> "foo:foo"

I've now fixed this in the url.el library in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39235; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 22 Jan 2020 13:33:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 22 08:33:31 2020
Received: from localhost ([127.0.0.1]:49224 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iuG8R-0000jx-EL
	for submit <at> debbugs.gnu.org; Wed, 22 Jan 2020 08:33:31 -0500
Received: from lists.gnu.org ([209.51.188.17]:54903)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <unhammer@HIDDEN>) id 1iuG8O-0000jo-7G
 for submit <at> debbugs.gnu.org; Wed, 22 Jan 2020 08:33:29 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:52868)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <unhammer@HIDDEN>) id 1iuG8L-0000kH-Sb
 for bug-gnu-emacs@HIDDEN; Wed, 22 Jan 2020 08:33:27 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW,
 URIBL_BLOCKED autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <unhammer@HIDDEN>) id 1iuG8K-0007VQ-CJ
 for bug-gnu-emacs@HIDDEN; Wed, 22 Jan 2020 08:33:25 -0500
Received: from out4-smtp.messagingengine.com ([66.111.4.28]:36603)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <unhammer@HIDDEN>) id 1iuG8K-0007Sp-16
 for bug-gnu-emacs@HIDDEN; Wed, 22 Jan 2020 08:33:24 -0500
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id CC5D422054;
 Wed, 22 Jan 2020 08:33:21 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Wed, 22 Jan 2020 08:33:21 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=content-type:date:from:message-id
 :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
 :x-me-sender:x-sasl-enc; s=fm1; bh=RNnnKLggfYwmQA3mWt6DmiV81982T
 grAhVd56W8xVxg=; b=dsbGHtxAtg2AhG7j/luCMlqPWuJLEy9mDA5aikeKdn+mb
 5I0b3FFhrneD8tqJj4jqVsFK4dHN/He8EGzC1c1kNedvsCCItMcm9vZ/FhPjaFi2
 GKYj/iPW+xkxuxcDso8yb6EVDt2pdS86Wzns2IOLI1EaPc/CZRMAfT5XxmlPQwcj
 Z3NsfgptPiuz7S/Oc/1qrSivTDo9mXOESZWCxTzOushZ+RJ3rK27WBF8SZyrMmIi
 NxZ0BWdYbASVtZjq3IpoZdrEAOsDMCllvttUtkO9orrIUL/lVWoynJQXOy25Hf7V
 vq+YLf+kjsUEp0UWpFaKn1kmeu61jBU5rK+OsmQMg==
X-ME-Sender: <xms:IU8oXopZNg1h0xg6_v5G4pCPBbcbxQfvzRLrYAXdPlM_Db-wUDehiQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrvddtgdehtdcutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkfggtgesthdtredttddttd
 enucfhrhhomhepmfgvvhhinhcuuehruhgsvggtkhcufghnhhgrmhhmvghruceouhhnhhgr
 mhhmvghrsehfshhfvgdrohhrgheqnecuffhomhgrihhnpegvgigrmhhplhgvrdgtohhmne
 cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuhhnhhgr
 mhhmvghrsehfshhfvgdrohhrgh
X-ME-Proxy: <xmx:IU8oXl_sk43swmUhQVxeodKqMjmxOWchdfuE7SNRsdLMP7NdBwLgeQ>
 <xmx:IU8oXh67nFLah3dlAu6gRRjLEn5KiOTbTy3T-Oexj5ikWgfvHWP6_Q>
 <xmx:IU8oXo6OIJa2MWDp8WQ8yPrF1iIOpYmpXcdEjMCdkktjMepFGnGgOQ>
 <xmx:IU8oXgqbKuFMDwaaW9d-PQnajkp7JTkyfCnvEfnuhVbOCb2-lzRl-g>
From: Kevin Brubeck Unhammer <unhammer@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 26.3; SHR: base handling errors on "."
Date: Wed, 22 Jan 2020 14:33:18 +0100
Message-ID: <87wo9j7h0h.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
 [fuzzy]
X-Received-From: 66.111.4.28
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

    (require 'shr)
    (let ((shr-base (shr-parse-base ".")))
       (shr-expand-url "www.example.com"))

errors with

Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
  url-scheme-get-property(nil expand-file-name)
  url-expand-file-name("www.example.com" "./")
  shr-expand-url("www.example.com")
  (let ((shr-base (shr-parse-base "."))) (shr-expand-url "www.example.com"))
  (progn (require (quote shr)) (let ((shr-base (shr-parse-base "."))) (shr-expand-url "www.example.com")))
  eval((progn (require (quote shr)) (let ((shr-base (shr-parse-base "."))) (shr-expand-url "www.example.com"))) nil)
  eval-expression((progn (require (quote shr)) (let ((shr-base (shr-parse-base "."))) (shr-expand-url "www.example.com"))) nil nil 127)
  funcall-interactively(eval-expression (progn (require (quote shr)) (let ((shr-base (shr-parse-base "."))) (shr-expand-url "www.example.com"))) nil nil 127)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

I've seen this in html files containing

    <base href="." target="_blanc">

Regardless of whether it makes sense or not, it'd be nice if Emacs could
ignore it gracefully :)


In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.8)
 of 2019-09-16 built on lgw01-amd64-036
Windowing system distributor 'The X.Org Foundation', version 11.0.12005000
System Description:	Ubuntu 19.10

Recent messages:
Entering debugger...
Back to top level
Entering debugger...
Back to top level
Quit [2 times]
Mark set
<VoidSymbol> is undefined
Entering debugger...
Back to top level
Making completion list...

Configured using:
 'configure --build=x86_64-linux-gnu --prefix=/usr
 '--includedir=${prefix}/include' '--mandir=${prefix}/share/man'
 '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var
 --disable-silent-rules '--libdir=${prefix}/lib/x86_64-linux-gnu'
 '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode
 --disable-dependency-tracking --prefix=/usr --sharedstatedir=/var/lib
 --program-suffix=26 --with-modules --with-file-notification=inotify
 --with-mailutils --with-x=yes --with-x-toolkit=gtk3 --with-xwidgets
 --with-lcms2 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs26-flSdgS/emacs26-26.3~1.git96dd019=. -fstack-protector-strong
 -Wformat -Werror=format-security -no-pie' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro
 -no-pie''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS
LIBSYSTEMD LCMS2

Important settings:
  value of $LANG: nn_NO.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec epa derived epg epg-config gnus-util
rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils url-expand url-util url-methods url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars shr svg xml seq dom browse-url help-mode
easymenu cl-print byte-opt gv bytecomp byte-compile cl-loaddefs cl-lib
cconv debug elec-pair time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting xwidget-internal move-toolbar
gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 112733 5649)
 (symbols 48 23186 1)
 (miscs 40 48 126)
 (strings 32 34922 1100)
 (string-bytes 1 892560)
 (vectors 16 16810)
 (vector-slots 8 552698 7532)
 (floats 8 66 51)
 (intervals 56 289 0)
 (buffers 992 13))




Acknowledgement sent to Kevin Brubeck Unhammer <unhammer@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#39235; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 20 Feb 2020 14:30:03 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.