From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Dra=C5=BEen?= Newsgroups: gmane.emacs.bugs Subject: bug#26001: js-mode: JSX indentation after fat-arrow attribute Date: Mon, 06 Mar 2017 14:40:56 +0000 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=94eb2c0763c8c2c958054a10e2be X-Trace: blaine.gmane.org 1488817212 27557 195.159.176.226 (6 Mar 2017 16:20:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 6 Mar 2017 16:20:12 +0000 (UTC) To: 26001@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 06 17:20:06 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ckvMb-0005g1-Vo for geb-bug-gnu-emacs@m.gmane.org; Mon, 06 Mar 2017 17:19:58 +0100 Original-Received: from localhost ([::1]:44768 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckvMh-0001EO-TU for geb-bug-gnu-emacs@m.gmane.org; Mon, 06 Mar 2017 11:20:03 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckvLk-0000fG-S0 for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 11:19:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ckvLj-0008SF-IC for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 11:19:04 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:44774) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ckvLj-0008SB-Dy for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 11:19:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ckvLj-0007ft-87 for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 11:19:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Dra=C5=BEen?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 06 Mar 2017 16:19:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 26001 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.148881714129478 (code B ref -1); Mon, 06 Mar 2017 16:19:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 6 Mar 2017 16:19:01 +0000 Original-Received: from localhost ([127.0.0.1]:42972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ckvLg-0007fO-Ln for submit@debbugs.gnu.org; Mon, 06 Mar 2017 11:19:01 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:57521) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cktpB-00052c-12 for submit@debbugs.gnu.org; Mon, 06 Mar 2017 09:41:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cktp4-00054f-7c for submit@debbugs.gnu.org; Mon, 06 Mar 2017 09:41:15 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:58268) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cktp4-00054G-2C for submit@debbugs.gnu.org; Mon, 06 Mar 2017 09:41:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48460) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cktp2-0004Nj-EF for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 09:41:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cktp0-00051Z-RA for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 09:41:12 -0500 Original-Received: from mail-io0-x22f.google.com ([2607:f8b0:4001:c06::22f]:33144) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cktp0-00050P-KC for bug-gnu-emacs@gnu.org; Mon, 06 Mar 2017 09:41:10 -0500 Original-Received: by mail-io0-x22f.google.com with SMTP id f84so113105300ioj.0 for ; Mon, 06 Mar 2017 06:41:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=eiLNHs08Ot7jw9IrI90LyzDEEHjOznOK46xHWZ/7Lq4=; b=UEsmT0v8puaYgbAJKq+G89ji3D1gsEDya7m+V1iMrRhrhU4whOny4/abEYR24Vgmkq /EWviS0IypT5UXyKkKek82iU3NxF4J8qKMEJoRk8wiHbeUeP6LjMB6VMtRY6PFN2fAMZ 63HYfhx4Jq+dk7ArFobu0WDvYXz5XVQYKyXHizT6PexFenWd98ebIgmiSEc4eGa2SkrP MI+1dSde9LS36F0CdLl2yn8rUj7IqysR5sIO46oqpmFtVZvLwzCZK2zep+oSaJavB9kf LwWkyYE2Buz81l3RD6fzIjoPcrpzJ56OlcxnxW+SfsgBxA5jLs92VQHzQpqKdsdsvQjG fULA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=eiLNHs08Ot7jw9IrI90LyzDEEHjOznOK46xHWZ/7Lq4=; b=tuiNoJa8Zb7dLAGdNtCwTWseo1LRx54opDyJYxY4XKWqdQzdKbsK5vsEV9uqtrbfPZ /CkapGcf5dYOJAfJ0iUpzrlRmMPtgyn+OTNaLNJLAN/V3FzrLwzDfIBd+oIYnej0L5G8 iOfN0H7rgGU3xobMQzB0HmdGcMELI5CP7QhQHhyW9mLhrYAKjqMNeWIEyiq5k5PhzcGB oIcWdkc0PPaCNqSYO83z4KtqjhHfL/g/aKn2Y1VGOmTj3oMWk08eip4hfR7MAGaoftvL msPEmEcKYisiEctzr3yTxLucOnAY0Hh197ZpsfeibRKdkLjFu01q+X5+e43yJeh5Vr0J uJXg== X-Gm-Message-State: AMke39mnoWDKTIiYawdh1Ww7jOdJ2Q8eDDsXKtHZxKa5NfNXS2QQ5sQkANkE9m5ntKsm/HVMEaHcdcR7RmH++A== X-Received: by 10.107.187.133 with SMTP id l127mr14377788iof.1.1488811267899; Mon, 06 Mar 2017 06:41:07 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Mailman-Approved-At: Mon, 06 Mar 2017 11:18:59 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:130260 Archived-At: --94eb2c0763c8c2c958054a10e2be Content-Type: text/plain; charset=UTF-8 As mentioned in https://github.com/mooz/js2-mode/issues/389#issuecomment-271869380 , there seems to be a bug in the way js-mode (at least the folks there pointed me at js-mode) indents JSX JavaScript. When I'm doing a map with JSX syntax I'm getting: render() { const messages = this.state.messages.map( message => ); return messages; } I'd ideally expect something like: render() { const messages = this.state.messages.map( message => ); return messages; } It's even odder when I try to leave the argument to the arrow function in the line above: render() { const messages = this.state.messages.map(message => ); return messages; } For this second case, I'd hope to get: render() { const messages = this.state.messages.map(message => ); return messages; } (I get such results if I wrap the return expression in parentheses) --94eb2c0763c8c2c958054a10e2be Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

As mentioned in=C2=A0https://github.com/mooz/js2-mode/issues= /389#issuecomment-271869380=C2=A0, there seems to be a bug in the way j= s-mode (at least the folks there pointed me at js-mode) indents JSX JavaScr= ipt.

Whe= n I'm doing a=C2=A0map=C2= =A0with JSX syntax I'm getting:

render=
() {
    const messages =3D this.state.messages.map=
(
        message =3D> <Message key=3D=
{=
message.id}
        text=3D{message.text}
        mine=3D{message.mine} />
    );
    return messages;
}

I'd ideall= y expect something like:

render() { const messages =3D this.state.messages.map= ( message =3D> <Message key=3D= {= message.id} text=3D{message.text} mine=3D{message.mine} /> ); return messages; }

It's even = odder when I try to leave the argument to the arrow function in the line ab= ove:

render() {
    const messages =3D this.state.messages.map=
(message =3D>
                                             <Message key=3D{messag=
e.timestamp}
                                             text=3D{message.text}
                                             mine=3D{message.mine} />
                                            );
    return messages;
}

For this secon= d case, I'd hope to get:

render() { const messages =3D this.state.messages.map= (message =3D> <Message key<= /span>=3D{message.timestamp} text=3D{message.text} mine=3D{message.mine} /> ); return messages; }

(I get such res= ults if I wrap the return expression in parentheses)

--94eb2c0763c8c2c958054a10e2be--