From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.bugs Subject: bug#8706: 24.0.50; [PATCH] Function to build a URL query-string Date: Mon, 23 May 2011 09:36:12 -0500 Organization: =?UTF-8?Q?=D0=A2=D0=B5=D0=BE=D0=B4=D0=BE=D1=80_?= =?UTF-8?Q?=D0=97=D0=BB=D0=B0=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= @ Cienfuegos Message-ID: <87d3j932n7.fsf@lifelogs.com> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1306161431 11635 80.91.229.12 (23 May 2011 14:37:11 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 23 May 2011 14:37:11 +0000 (UTC) To: bug-gnu-emacs@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon May 23 16:37:08 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QOWFm-0002tm-I2 for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 May 2011 16:37:06 +0200 Original-Received: from localhost ([::1]:35403 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QOWFm-0000tz-2U for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 May 2011 10:37:06 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:50003) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QOWFj-0000tl-GW for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 10:37:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QOWFi-0000ks-Ib for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 10:37:03 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:59320) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QOWFi-0000km-HF for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 10:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QOWFh-0002x8-Rd; Mon, 23 May 2011 10:37:01 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Ted Zlatanov Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 May 2011 14:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8706 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by submit@debbugs.gnu.org id=B.130616139811310 (code B ref -1); Mon, 23 May 2011 14:37:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 May 2011 14:36:38 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOWFJ-0002wM-Jv for submit@debbugs.gnu.org; Mon, 23 May 2011 10:36:37 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOWFG-0002wA-N3 for submit@debbugs.gnu.org; Mon, 23 May 2011 10:36:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QOWFA-0000hG-HI for submit@debbugs.gnu.org; Mon, 23 May 2011 10:36:29 -0400 Original-Received: from lists.gnu.org ([140.186.70.17]:36782) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QOWFA-0000hC-Fw for submit@debbugs.gnu.org; Mon, 23 May 2011 10:36:28 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:49869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QOWF9-0000sl-Hl for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 10:36:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QOWF8-0000h2-AD for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 10:36:27 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:32897) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QOWF8-0000gw-04 for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 10:36:26 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QOWF6-0002XP-4j for bug-gnu-emacs@gnu.org; Mon, 23 May 2011 16:36:24 +0200 Original-Received: from 38.98.147.130 ([38.98.147.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 23 May 2011 16:36:24 +0200 Original-Received: from tzz by 38.98.147.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 23 May 2011 16:36:24 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 31 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 38.98.147.130 X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:WB196ngOcuI7mlkfnMnIeD7LO8E= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 23 May 2011 10:37:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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:46657 Archived-At: On Fri, 20 May 2011 11:37:45 -0700 Ian Eure wrote: IE> This patch adds a url-build-query-string method, which performs the IE> opposite job of url-parse-query-string. I find myself needing this IE> method in many projects, and having it in url-util.el seems IE> beneficial. I think this is useful. IE> + (c-concat-separated IE> + (mapcar (lambda (pair) (apply 'format "%s=%s" pair)) query) "&")) I would use `mapconcat' (it's what `c-concat-separated' uses under the hood anyhow). Also `format' errors out if it doesn't have enough arguments and it's legitimate to build a URL query like "url?x;y;z" where x, y, and z don't have values. So I would change the lambda to (untested): (lambda (pair) (if (nth 1 pair) (apply 'format "%s=%s" pair) (format "%s" (car-safe pair)))) This also handles the case where `pair' is nil by design or by accident. Finally, the key and the value should be URL-encoded. Do you assume that will be done before the function is called? Thanks Ted