From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ian Eure Newsgroups: gmane.emacs.bugs Subject: bug#8706: 24.0.50; [PATCH] Function to build a URL query-string Date: Fri, 20 May 2011 11:37:45 -0700 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1305917912 15798 80.91.229.12 (20 May 2011 18:58:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 20 May 2011 18:58:32 +0000 (UTC) To: 8706@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 20 20:58:26 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 1QNUu0-0005f2-4h for geb-bug-gnu-emacs@m.gmane.org; Fri, 20 May 2011 20:58:24 +0200 Original-Received: from localhost ([::1]:40670 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNUtz-0005cS-Ov for geb-bug-gnu-emacs@m.gmane.org; Fri, 20 May 2011 14:58:23 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:39634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNUcF-0002Ce-SX for bug-gnu-emacs@gnu.org; Fri, 20 May 2011 14:40:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QNUcE-0003bb-QM for bug-gnu-emacs@gnu.org; Fri, 20 May 2011 14:40:03 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36448) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNUcE-0003bW-NE for bug-gnu-emacs@gnu.org; Fri, 20 May 2011 14:40:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QNUcE-0006w0-Fb; Fri, 20 May 2011 14:40:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ian Eure Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 May 2011 18:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 8706 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.130591674626585 (code B ref -1); Fri, 20 May 2011 18:40:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 May 2011 18:39:06 +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 1QNUbJ-0006uh-G3 for submit@debbugs.gnu.org; Fri, 20 May 2011 14:39:06 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QNUaG-0006rq-BI for submit@debbugs.gnu.org; Fri, 20 May 2011 14:38:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QNUaA-0003R0-KE for submit@debbugs.gnu.org; Fri, 20 May 2011 14:37:55 -0400 Original-Received: from lists.gnu.org ([140.186.70.17]:56583) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNUaA-0003Qw-IY for submit@debbugs.gnu.org; Fri, 20 May 2011 14:37:54 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:39260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNUa9-0001Cq-L9 for bug-gnu-emacs@gnu.org; Fri, 20 May 2011 14:37:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QNUa8-0003Qm-SO for bug-gnu-emacs@gnu.org; Fri, 20 May 2011 14:37:53 -0400 Original-Received: from mail-pz0-f41.google.com ([209.85.210.41]:60805) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNUa8-0003Qg-NX for bug-gnu-emacs@gnu.org; Fri, 20 May 2011 14:37:52 -0400 Original-Received: by pzk4 with SMTP id 4so2443541pzk.0 for ; Fri, 20 May 2011 11:37:51 -0700 (PDT) Original-Received: by 10.68.38.10 with SMTP id c10mr7019018pbk.192.1305916671124; Fri, 20 May 2011 11:37:51 -0700 (PDT) Original-Received: from hadron.local.simplegeo.com (c-76-104-208-94.hsd1.wa.comcast.net [76.104.208.94]) by mx.google.com with ESMTPS id l9sm2600503pbc.14.2011.05.20.11.37.48 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 20 May 2011 11:37:50 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Mailman-Approved-At: Fri, 20 May 2011 14:39:04 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 20 May 2011 14:40:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-Mailman-Approved-At: Fri, 20 May 2011 14:58:22 -0400 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:46613 Archived-At: This patch adds a url-build-query-string method, which performs the opposite job of url-parse-query-string. I find myself needing this method in many projects, and having it in url-util.el seems beneficial. --- url-util.el.orig 2011-05-20 11:32:42.000000000 -0700 +++ url-util.el 2011-05-20 11:32:15.000000000 -0700 @@ -281,6 +281,20 @@ (setq retval (cons (list key val) retval))))) retval)) +;;;###autoload +(defun url-build-query-string (query) + "Build a query-string. + +Given a QUERY in the form: +'((key1 val1) + (key2 val2)) + +This will return a string `key1=val1&key2=val2'. Keys may be strings +or symbols; if they are symbols, the string name will be used." + + (c-concat-separated + (mapcar (lambda (pair) (apply 'format "%s=%s" pair)) query) "&")) + (defun url-unhex (x) (if (> x ?9) (if (>= x ?a)