From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?=EF=BC=AF?= =?UTF-8?Q?=EF=BC=A6=EF=BC=A6=EF=BC=A9=EF=BC=A3=EF=BC=A5=E3=80=80ZERO?= Newsgroups: gmane.emacs.bugs Subject: bug#679: 23.0.60; Function json-read-number does not handle complete Javascript spec Date: Sat, 9 Aug 2008 23:14:18 +0900 Message-ID: <00c001c8fa2a$363fcb20$0100a8c0@yourhigxg9gyo4> References: <20080809070528.26869.qmail@priss.frightenedpiglet.com> Reply-To: =?UTF-8?Q?=EF=BC=AF?= =?UTF-8?Q?=EF=BC=A6=EF=BC=A6=EF=BC=A9=EF=BC=A3=EF=BC=A5=E3=80=80ZERO?= , 679@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-2022-jp"; reply-type=original Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1218298299 11209 80.91.229.12 (9 Aug 2008 16:11:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 9 Aug 2008 16:11:39 +0000 (UTC) To: , <679@emacsbugs.donarmstrong.com> Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Aug 09 18:12:29 2008 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KRr3L-0000E7-NU for geb-bug-gnu-emacs@m.gmane.org; Sat, 09 Aug 2008 18:12:28 +0200 Original-Received: from localhost ([127.0.0.1]:36136 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KRr2P-0006Ui-JE for geb-bug-gnu-emacs@m.gmane.org; Sat, 09 Aug 2008 12:11:29 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KRr2H-0006QT-VV for bug-gnu-emacs@gnu.org; Sat, 09 Aug 2008 12:11:22 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KRr2F-0006Na-GD for bug-gnu-emacs@gnu.org; Sat, 09 Aug 2008 12:11:20 -0400 Original-Received: from [199.232.76.173] (port=48506 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KRr2F-0006NB-9s for bug-gnu-emacs@gnu.org; Sat, 09 Aug 2008 12:11:19 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:52733) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KRqyU-0007ST-5i for bug-gnu-emacs@gnu.org; Sat, 09 Aug 2008 12:07:26 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m79G7Nr2003579; Sat, 9 Aug 2008 09:07:24 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id m79Fo3rX029671; Sat, 9 Aug 2008 08:50:03 -0700 X-Loop: don@donarmstrong.com Resent-From: =?UTF-8?Q?=EF=BC=AF?= =?UTF-8?Q?=EF=BC=A6=EF=BC=A6=EF=BC=A9=EF=BC=A3=EF=BC=A5=E3=80=80ZERO?= Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 09 Aug 2008 15:50:03 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 679 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 679-submit@emacsbugs.donarmstrong.com id=B679.121829669628073 (code B ref 679); Sat, 09 Aug 2008 15:50:03 +0000 Original-Received: (at 679) by emacsbugs.donarmstrong.com; 9 Aug 2008 15:44:56 +0000 Original-Received: from smtp.air.ocn.ne.jp (air.ocn.ne.jp [122.1.235.141]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m79Fip6b028067 for <679@emacsbugs.donarmstrong.com>; Sat, 9 Aug 2008 08:44:52 -0700 Original-Received: from yourhigxg9gyo4 (p3140-ipad510marunouchi.tokyo.ocn.ne.jp [222.148.106.140]) by smtp.air.ocn.ne.jp (Postfix) with SMTP id E6CB432C0; Sat, 9 Aug 2008 23:14:13 +0900 (JST) X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.3138 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) Resent-Date: Sat, 09 Aug 2008 12:11:20 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:19229 Archived-At: Do'nt send me mail !!! no tkank you!! ----- Original Message ----- From: To: Cc: Sent: Saturday, August 09, 2008 4:05 PM Subject: bug#679: 23.0.60;Function json-read-number does not handle complete Javascript spec > ---- > > In json.el, the 'json-read-number' function is intended to read the > textual representation of Javascript numbers. > > (defun json-read-number () > "Read the JSON number following point. > N.B.: Only numbers which can fit in Emacs Lisp's native number > representation will be parsed correctly." > (if (char-equal (json-peek) ?-) > (progn > (json-advance) > (- 0 (json-read-number))) > (if (looking-at "[0-9]+\\([.][0-9]+\\)?\\([eE][+-]?[0-9]+\\)?") > (progn > (goto-char (match-end 0)) > (string-to-number (match-string 0))) > (signal 'json-number-format (list (point)))))) > > The Javascript spec > (http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Literals#Floating-Point_Literals) > says the following about floating-point numbers: > > | A floating-point literal can have the following parts: > | > | * A decimal integer which can be signed (preceded by "+" or "-"), > | * A decimal point ("."), > | * A fraction (another decimal number), > | * An exponent. > | > | The exponent part is an "e" or "E" followed by an integer, which can > | be signed (preceded by "+" or "-"). A floating-point literal must have > | at least one digit and either a decimal point or "e" (or "E"). > > This means that > > 1. > > is a valid floating point-literal per the spec, but the regular > expression above does not match the complete text---the regular > expression requires digits after the decimal point. This ends up > matched as a simple integer, leaving the decimal point in the input > stream and causing a later syntax error. Similarly > > .1 > > is a valid floating point-literal illegal that Emacs rejects, because > the regular expression requires digits before the decimal point. > Testing with the error console in Firefox confirms that the two > examples above are valid syntax. > > The parser function needs to be fixed to handle the complete syntax. > > ---- > > > In GNU Emacs 23.0.60.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11) > of 2008-07-27 on elegiac, modified by Debian > (emacs-snapshot package, version 1:20080727-1) > Windowing system distributor `The X.Org Foundation', version 11.0.10402000 > configured using `configure '--build' 'i486-linux-gnu' '--host' > 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' > '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' > '--mandir=/usr/share/man' '--with-pop=yes' > '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/23.0.60/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.0.60/site-lisp:/usr/share/emacs/site-lisp' > '--with-x=yes' '--with-x-toolkit=gtk' 'build_alias=i486-linux-gnu' > 'host_alias=i486-linux-gnu' > 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' > 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS='' > > Important settings: > value of $LC_ALL: nil > value of $LC_COLLATE: POSIX > value of $LC_CTYPE: nil > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: nil > value of $LANG: en_US.UTF-8 > value of $XMODIFIERS: nil > locale-coding-system: utf-8-unix > default-enable-multibyte-characters: t > > Major mode: VM > > Minor modes in effect: > shell-dirtrack-mode: t > auto-image-file-mode: t > show-paren-mode: t > icomplete-mode: t > tooltip-mode: t > mouse-wheel-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > blink-cursor-mode: t > global-auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > line-number-mode: t > transient-mark-mode: t > > > >