From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Newsgroups: gmane.emacs.bugs Subject: bug#15860: 24.3.50; [PATCH] eww: Handle optgroup tag. Date: Tue, 12 Nov 2013 00:53:34 +0900 Message-ID: <87zjpbdjep.fsf@dhcp-193-97.nrt.redhat.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1384188262 24075 80.91.229.3 (11 Nov 2013 16:44:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 11 Nov 2013 16:44:22 +0000 (UTC) To: 15860@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Nov 11 17:44:26 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vfub9-0008BF-DL for geb-bug-gnu-emacs@m.gmane.org; Mon, 11 Nov 2013 17:44:23 +0100 Original-Received: from localhost ([::1]:38182 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vfub9-0005et-19 for geb-bug-gnu-emacs@m.gmane.org; Mon, 11 Nov 2013 11:44:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36958) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vfuaw-0005UG-Ui for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 11:44:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vfuao-0002NX-Gw for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 11:44:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33212) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vfuao-0002NL-E6 for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 11:44:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vfuan-0003rI-V6 for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 11:44:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Nov 2013 16:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 15860 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.138418821414773 (code B ref -1); Mon, 11 Nov 2013 16:44:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 Nov 2013 16:43:34 +0000 Original-Received: from localhost ([127.0.0.1]:47229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VfuaK-0003qB-FA for submit@debbugs.gnu.org; Mon, 11 Nov 2013 11:43:34 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:49722) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vftof-0002be-7E for submit@debbugs.gnu.org; Mon, 11 Nov 2013 10:54:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VftoR-0001PM-Jp for submit@debbugs.gnu.org; Mon, 11 Nov 2013 10:54:11 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:44074) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VftoR-0001PI-HP for submit@debbugs.gnu.org; Mon, 11 Nov 2013 10:54:03 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51386) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VftoJ-0001qK-3o for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 10:54:03 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VftoA-0001Lt-JT for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 10:53:55 -0500 Original-Received: from mail-pa0-x232.google.com ([2607:f8b0:400e:c03::232]:38719) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VftoA-0001LR-Bb for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 10:53:46 -0500 Original-Received: by mail-pa0-f50.google.com with SMTP id hz1so2060840pad.23 for ; Mon, 11 Nov 2013 07:53:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=user-agent:from:to:subject:date:message-id:mime-version :content-type; bh=F4hZW4+e3aobjpGNNdZ4f0nbHYZtcCyP7RH1DYnqoqY=; b=CIHZpVHmGvTiRwHY7V/I8nHUglN8P0U1BSFlWOCOVhrb4Fu+79QvuuJH7bek/UfTc+ fvGFFy0eyIMPbTgSxWcmMFB5c0XmH9BwwCcsN8//CUzwzp9WGvr0q+TG6a4wtiCEV0L4 IsNyx+xy+4s7zpk0EUYxhB3xt2L4sLrljCwKdimIcBkj4BevfuxoGe2Aci2ZMtx0mnBQ GH9iuueLVmdLaEioQvk9lrFKcx1FgGZGrJAzacRhMmtQIgOVV13sZx5uEVZavwDPBGKf nfNmVt53kRIANLI6AV3tm/gOQXFnT98YaBXj7FJhqGwmpr86uZEa3VJ5mUEeNPdlI01A y6iQ== X-Received: by 10.68.143.231 with SMTP id sh7mr31008612pbb.35.1384185222413; Mon, 11 Nov 2013 07:53:42 -0800 (PST) Original-Received: from dhcp-193-97.nrt.redhat.com (nat-pool-nrt-u1.redhat.com. [66.187.238.11]) by mx.google.com with ESMTPSA id uq6sm31636212pbc.19.2013.11.11.07.53.39 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Nov 2013 07:53:41 -0800 (PST) User-agent: mu4e 0.9.9.6pre2; emacs 24.3.50.2 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Mon, 11 Nov 2013 11:43:31 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:80269 Archived-At: If HTML has optgroup tag, the select box with options disapears. eww should support optgroup tag. Signed-off-by: Kenjiro Nakayama --- lisp/net/eww.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 573715e..4fe88b6 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -725,7 +725,15 @@ appears in a or tag." (options nil) (start (point)) (max 0)) - (dolist (elem cont) + (let ((opelem)) + (cond ((eq (car (car cont)) 'optgroup) + (dolist (groupelem cont) + (unless (cdr (assq :disabled (cdr groupelem))) + (setq opelem (nconc opelem (cdr (cdr groupelem))))) + )) + (t + (setq opelem cont))) + (dolist (elem opelem) (when (eq (car elem) 'option) (when (cdr (assq :selected (cdr elem))) (nconc menu (list :value @@ -735,7 +743,7 @@ appears in a or tag." (push (list 'item :value (cdr (assq :value (cdr elem))) :display display) - options)))) + options))))) (when options (setq options (nreverse options)) ;; If we have no selected values, default to the first value. -- 1.8.3.1