Subject: Re: bug#16204: eww does not respect shr-width customization

From: Ivan Shmakov <[email-masked]>
Date: Sat, 21 Dec 2013 11:08:24 +0000

>>>>> Kenjiro NAKAYAMA <[email-masked]> writes:
>>>>> [email-masked] writes:

 >> Package: emacs Severity: wishlist

 >> As currently implemented, eww-display-html simply resets shr-width
 >> to nil, disrespecting any user’s customization thereof, and
 >> providing no easy way to specify the HTML rendering width to use in
 >> EWW buffers.

 > Yes, I think so too.  I wrote the patch to cusomize rendering-width
 > (shr-width) easily by users.

	ACK, thanks!

[…]

 > --- a/lisp/net/eww.el
 > +++ b/lisp/net/eww.el
 > @@ -129,6 +129,7 @@ See also `eww-form-checkbox-selected-symbol'."
 >  (defvar eww-home-url nil)
 >  (defvar eww-start-url nil)
 >  (defvar eww-contents-url nil)
 > +(defvar eww-rendering-width nil)

	Shouldn’t it rather be defcustom?

 >  (defvar eww-local-regex "localhost"
 >    "When this regex is found in the URL, it's not a keyword but an address.")
 > @@ -255,7 +256,7 @@ word(s) will be searched for via `eww-search-prefix'."
 >      (setq eww-current-dom document)
 >      (let ((inhibit-read-only t)
 >  	  (after-change-functions nil)
 > -	  (shr-width nil)
 > +	  (shr-width eww-rendering-width)

	I’d also ask for a separate “do not override” value.  That is:

   (shr-width (if (DO-NOT-SET-P eww-rendering-width)
                  shr-width
                eww-rendering-width))

	(And, similarly, defcustom’s :type above being a ‘choice’.)

 >  	  (shr-target-id (url-target (url-generic-parse-url url)))
 >  	  (shr-external-rendering-functions
 >  	   '((title . eww-tag-title)

[…]

 > @@ -543,6 +546,15 @@ appears in a <link> or <a> tag."
 >    (url-retrieve eww-current-url 'eww-render
 >  		(list eww-current-url (point))))

 > +(defun eww-set-rendering-width (width)
 > +  "Set the redering width."
 > +  (interactive "nSet new redering width (0: window-width) :")
 > +  (if (zerop width)
 > +      (setq eww-rendering-width nil)
 > +    (if (wholenump width)
 > +	(setq eww-rendering-width width)
 > +      (message "Set Number to rendering width"))))

	Shouldn’t this rather be ‘error’?

 > +
 >  ;; Form support.

 >  (defvar eww-form nil)

-- 
FSF associate member #7257