aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenjiro NAKAYAMA2013-12-01 14:21:53 +0100
committerLars Magne Ingebrigtsen2013-12-01 14:21:53 +0100
commit9dd99753de8a2937de5e858f9c5c38bf37b7a0ba (patch)
treefb20c051af92baf3b5b22127bb6c2b7e3b0485a2
parentab6dea82bfc48652f130e193fe434deba54306b1 (diff)
downloademacs-9dd99753de8a2937de5e858f9c5c38bf37b7a0ba.tar.gz
emacs-9dd99753de8a2937de5e858f9c5c38bf37b7a0ba.zip
Support <optgroup> tags in <select> forms.
* net/eww.el (eww-tag-select): Support <optgroup> tags in <select> forms. Test case: <html> <head><title>SELECT TEST</title></head> <body> <form method="POST" action="./dummy.php"> <input type="text" name="text1"> <input type="submit" name="btn1" value="val1"> <select> <optgroup label="group 1"> <option value="a">Value A</option> <option value="b">Value B</option> </optgroup> <optgroup label="group 2"> <option value="c">Value C</option> <option value="d">Value D</option> </optgroup> </select> </form> </body> </html> Fixes: debbugs:15860
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/net/eww.el10
2 files changed, 13 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e9c8b528f65..11c3ae4db3d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-12-01 Kenjiro NAKAYAMA <nakayamakenjiro@gmail.com>
2
3 * net/eww.el (eww-tag-select): Support <optgroup> tags in <select>
4 forms.
5
12013-12-01 Lars Magne Ingebrigtsen <larsi@gnus.org> 62013-12-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 7
3 * net/eww.el (eww-restore-history): Update the window title after 8 * net/eww.el (eww-restore-history): Update the window title after
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 70fd5641756..5b1fc0831d6 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -737,8 +737,14 @@ appears in a <link> or <a> tag."
737 :eww-form eww-form)) 737 :eww-form eww-form))
738 (options nil) 738 (options nil)
739 (start (point)) 739 (start (point))
740 (max 0)) 740 (max 0)
741 (dolist (elem cont) 741 opelem)
742 (if (eq (car (car cont)) 'optgroup)
743 (dolist (groupelem cont)
744 (unless (cdr (assq :disabled (cdr groupelem)))
745 (setq opelem (append opelem (cdr (cdr groupelem))))))
746 (setq opelem cont))
747 (dolist (elem opelem)
742 (when (eq (car elem) 'option) 748 (when (eq (car elem) 'option)
743 (when (cdr (assq :selected (cdr elem))) 749 (when (cdr (assq :selected (cdr elem)))
744 (nconc menu (list :value 750 (nconc menu (list :value