Yeah, we can try adding a warning if you use a block without `=`. Please
open up an issue.

On Sat, Dec 5, 2020 at 6:40 PM Aaron Ross <[email protected]> wrote:

> Just to play devil's advocate, this is technically valid
>
> ```eex
> <% if @condition do %>
>   <% some_side_effect() %>
> <% end %>
> ```
>
> though that's very contrived and I can't think of a valid use-case where
> you wouldn't instead want
>
> ```eex
> <% if @condition do
>   some_side_effect()
> end %>
> ```
>
> +1 for adding a warning
>
> On Friday, December 4, 2020 at 10:30:31 AM UTC-8 [email protected] wrote:
>
>> Watching for a block won't catch all cases, but I can't think of any
>> cases where a block is used and the intent would not be to use its content.
>> My guess is that this could catch quite a few problems.
>>
>> Jim
>>
>>
>> Dr. Jim Freeze, Ph.D.
>> ElixirConf®
>> ElixirConf.com
>> ElixirConf.eu
>> (m) 512 949 9683 <(512)%20949-9683>
>>
>>
>> On Fri, Dec 4, 2020 at 11:53 AM Austin Ziegler <[email protected]>
>> wrote:
>>
>>> That makes sense. Maybe the compiler can detect cases like this:
>>>
>>> ```eex
>>> <% variable = 'boo' %> <!-- OK -->
>>> <% if @bar do %> <!-- Warning or error, because of the block? -->
>>> ```
>>>
>>> -a
>>>
>>> On Fri, Dec 4, 2020 at 12:50 PM Jim Freeze <[email protected]> wrote:
>>>
>>>> Yes, those bugs are annoying, but I commonly start *.html.leex docs with
>>>>
>>>> <% somevar = "blah" %>
>>>> ...
>>>> <div class="<%= somevar %>"> ...
>>>>
>>>> Jim
>>>>
>>>> On Fri, Dec 4, 2020 at 11:46 AM Austin Ziegler <[email protected]>
>>>> wrote:
>>>>
>>>>> I’ve had a bug in my code for the last couple of months caused by the
>>>>> fact that EEx isn’t ERB. Specifically, I had code that looked like:
>>>>>
>>>>> ```eex
>>>>> <% if @password %>
>>>>> Temporary Password: <%= @password %>
>>>>> <% else %>
>>>>> Sign in with your existing password.
>>>>> <% end %>
>>>>> ```
>>>>>
>>>>> Looking at it in isolation, it’s really obvious that the first line
>>>>> should have been `<%= if @password %>`, but in situ…I’ve gotten multiple
>>>>> bug reports on this but have never been able to see what the problem was
>>>>> until today.
>>>>>
>>>>> Is it possible to modify the EEx compile phase so that code like I
>>>>> wrote above generates at least a warning? As I understand it, there’s no
>>>>> case where a starting EEx block will usefully begin with `<%` instead of
>>>>> `<%=`.
>>>>>
>>>>> -a
>>>>> --
>>>>> Austin Ziegler • [email protected][email protected]
>>>>> http://www.halostatue.ca/http://twitter.com/halostatue
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "elixir-lang-core" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQs2G4HUX_y8q-UqYyTY4z5nX6JMOKdMb%3DcZSZwgpDxk0Q%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQs2G4HUX_y8q-UqYyTY4z5nX6JMOKdMb%3DcZSZwgpDxk0Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "elixir-lang-core" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAP1mN_z8BbAniw9k5Ee_axR-JZGvzC02Z2CoqKDs3CyMZPAA-Q%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAP1mN_z8BbAniw9k5Ee_axR-JZGvzC02Z2CoqKDs3CyMZPAA-Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> --
>>> Austin Ziegler • [email protected][email protected]
>>> http://www.halostatue.ca/http://twitter.com/halostatue
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQt_A23zpN0wROQZTKGPd4xzXCBL-LtqjGUv%3D3%2Bo40190Q%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQt_A23zpN0wROQZTKGPd4xzXCBL-LtqjGUv%3D3%2Bo40190Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-core/d1ae47b5-1e9f-40c3-87e9-691a9841cecdn%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-core/d1ae47b5-1e9f-40c3-87e9-691a9841cecdn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4L69-W22ah%3Djy6NNAYaYs%2BPqV5UqAJwJBA9JTiZP7DGaw%40mail.gmail.com.

Reply via email to