From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Deniz Dogan Newsgroups: gmane.emacs.devel Subject: [PATCH] espresso-mode breaks on JSON input Date: Sat, 12 Sep 2009 01:19:05 +0200 Message-ID: <7b501d5c0909111619y192b2dccv79a2181c82438913@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00504502d0372040850473558ce7 X-Trace: ger.gmane.org 1252711190 28992 80.91.229.12 (11 Sep 2009 23:19:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 11 Sep 2009 23:19:50 +0000 (UTC) To: Emacs-Devel devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 12 01:19:44 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MmFP5-0006Iz-Ea for ged-emacs-devel@m.gmane.org; Sat, 12 Sep 2009 01:19:43 +0200 Original-Received: from localhost ([127.0.0.1]:58095 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmFP4-0004F2-Kz for ged-emacs-devel@m.gmane.org; Fri, 11 Sep 2009 19:19:42 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MmFOy-00049s-Dj for emacs-devel@gnu.org; Fri, 11 Sep 2009 19:19:36 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MmFOs-0003tC-G2 for emacs-devel@gnu.org; Fri, 11 Sep 2009 19:19:35 -0400 Original-Received: from [199.232.76.173] (port=33991 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmFOs-0003sz-CV for emacs-devel@gnu.org; Fri, 11 Sep 2009 19:19:30 -0400 Original-Received: from mail-ew0-f211.google.com ([209.85.219.211]:40641) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MmFOs-0002oS-1o for emacs-devel@gnu.org; Fri, 11 Sep 2009 19:19:30 -0400 Original-Received: by ewy7 with SMTP id 7so114903ewy.31 for ; Fri, 11 Sep 2009 16:19:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:message-id :subject:to:content-type; bh=eoVgXotBRHinoinxdNlxhJ3GS0qTwk92ze/YdKLuXwE=; b=ic3bTKsbUvisIcStUR8Q6Fww12+sLusdY0sg8o99+hmA49cbHpWabFhWiX6TrkkL67 ER2NGieQUD0Vm+01nCPU2S+25lhkB1nYXaWqduZh3qsGKdlUgOJe1rTY2AHxPpvgiwx5 o3u51suN/d7hwZl8c1VPEbqzAwj9/F+M3jG+A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=abrwAlFaH9v+OH2T90swOZPEg2IbTCY04jCrvHPlKOhk/GzIANXgTLXyVisMsMlCoT sDI11RJBvyfK88qnplnVkIazIHXf8MjOjz/UQzjb8EU6DAtl0qXFy76Q6QEXrCMyuNlx /3eMfWTjQsGuv9JSrr2Rj9fNIZuq/8y122fC8= Original-Received: by 10.211.144.7 with SMTP id w7mr178627ebn.90.1252711167180; Fri, 11 Sep 2009 16:19:27 -0700 (PDT) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:115207 Archived-At: --00504502d0372040850473558ce7 Content-Type: text/plain; charset=ISO-8859-1 (N.B. I'm not sure if this patch belongs here.) Using a buffer with the following contents (JSON), espresso-mode would break telling me it expected a number or marker but got nil whenever I tried to indent the region. I put together a patch which effectively indents it correctly and doesn't report an error. It basically checks that (char-before) is non-nil before comparing it to ?\). [ { "pk": 2, "fields": { "url": "http://abc.go.com/", "name": "ABC" } } ] Attached is the patch. I'm not sure about the format, but I hope it can be used. -- Deniz Dogan --00504502d0372040850473558ce7 Content-Type: application/octet-stream; name="espresso-fix-json-indent-deniz.patch" Content-Disposition: attachment; filename="espresso-fix-json-indent-deniz.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fzhjqx860 ZGlmZiAtYyAvaG9tZS9kZW5pei9zb3VyY2VzL2VzcHJlc3NvL2VzcHJlc3NvLmVsIC9ob21lL2Rl bml6Ly5lbWFjcy5kL2VzcHJlc3NvLmVsCi0tLSAvaG9tZS9kZW5pei9zb3VyY2VzL2VzcHJlc3Nv L2VzcHJlc3NvLmVsCTIwMDktMDktMTIgMDE6MDg6MTIuMDAwMDAwMDAwICswMjAwCisrKyAvaG9t ZS9kZW5pei8uZW1hY3MuZC9lc3ByZXNzby5lbAkyMDA5LTA5LTEyIDAxOjA5OjEzLjAwMDAwMDAw MCArMDIwMApAQCAtMTgwOSw3ICsxODA5LDkgQEAKICAgICAgICAgICAgICAoaWYgKGxvb2tpbmct YXQgIlsoe1tdXFxzLSpcXCgvWy8qXVxcfCRcXCkiKQogICAgICAgICAgICAgICAgICAocHJvZ24K ICAgICAgICAgICAgICAgICAgICAoc2tpcC1zeW50YXgtYmFja3dhcmQgIiAiKQotICAgICAgICAg ICAgICAgICAgICh3aGVuICg9IChjaGFyLWJlZm9yZSkgP1wpKSAoYmFja3dhcmQtbGlzdCkpCisg ICAgICAgICAgICAgICAgICAgKHdoZW4gKGFuZCAoY2hhci1iZWZvcmUpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoPSAoY2hhci1iZWZvcmUpID9cKSkpCisgICAgICAgICAgICAgICAg ICAgICAoYmFja3dhcmQtbGlzdCkpCiAgICAgICAgICAgICAgICAgICAgKGJhY2stdG8taW5kZW50 YXRpb24pCiAgICAgICAgICAgICAgICAgICAgKGNvbmQgKHNhbWUtaW5kZW50LXAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGN1cnJlbnQtY29sdW1uKSkKCkRpZmYgZmluaXNoZWQuICBTYXQg U2VwIDEyIDAxOjA5OjIyIDIwMDkK --00504502d0372040850473558ce7--