diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2020-09-05 15:42:26 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2020-09-05 15:42:26 +0200 |
commit | b9bdc48b4c79c88e36216b404997084fecf1bed2 (patch) | |
tree | a46f6d4a0c0fe342c84bd6a73d26149cc8aa7e74 | |
parent | 81657507c296843971e4a921377451ecc3739e5e (diff) | |
download | emacs-b9bdc48b4c79c88e36216b404997084fecf1bed2.tar.gz |
Fix <optgroup> in selects in eww
* lisp/net/eww.el (eww-tag-select): Use all the options. This
fixes the problem with <optgroup> elements that wrap them (bug#43217).
-rw-r--r-- | lisp/net/eww.el | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 04deb5bee05..dedf1c62717 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -1402,16 +1402,15 @@ See URL `https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input'.") (options nil) (start (point)) (max 0)) - (dolist (elem (dom-non-text-children dom)) - (when (eq (dom-tag elem) 'option) - (when (dom-attr elem 'selected) - (nconc menu (list :value (dom-attr elem 'value)))) - (let ((display (dom-text elem))) - (setq max (max max (length display))) - (push (list 'item - :value (dom-attr elem 'value) - :display display) - options)))) + (dolist (elem (dom-by-tag dom 'option)) + (when (dom-attr elem 'selected) + (nconc menu (list :value (dom-attr elem 'value)))) + (let ((display (dom-text elem))) + (setq max (max max (length display))) + (push (list 'item + :value (dom-attr elem 'value) + :display display) + options))) (when options (setq options (nreverse options)) ;; If we have no selected values, default to the first value. |