Hi Eric,

Eric Schulte wrote:
> "Sebastien Vauban" <sva-n...@mygooglest.com> writes:
>> Eric Schulte wrote:
>>> aditya siram <aditya.si...@gmail.com> writes:
>>>> What's the rationale for having padlines by default in tangled source? It
>>>> generates wrong programs for languages where whitespace is significant
>>>> (Haskell) and, for me, doesn't noticeably improve the look of the tangled
>>>> file in cases where it isn't.
>>>
>>> It is possible to change the value of default header arguments on a
>>> per-language basis because e.g., while (:padlines "yes") may make sense
>>> for sh, it probably doesn't for Haskell.
>>
>> Could it be possible that ":padline yes" does not insert a blank line in 
>> front
>> of the very first block, only *between* all blocks?
>
> I just pushed up a commit which implements this behavior.  See the
> attached file for an example.
>
> #+Title: Examples with the new padline behavior
>
> #+headers: :tangle pad-yes-with-shebang.sed
> #+headers: :shebang "#!/bin/sed -f" 
> #+headers: :padline "yes"
> #+begin_src sed
>   1 {N;s/\n//1}
> #+end_src
>
> #+headers: :tangle pad-no-with-shebang.sed
> #+headers: :shebang "#!/bin/sed -f"
> #+headers: :padline "no"
> #+begin_src sed
>   1 {N;s/\n//1}
> #+end_src
>
> #+headers: :tangle pad-yes-without-shebang.sed
> #+headers: :padline "yes"
> #+begin_src sed
>   1 {N;s/\n//1}
> #+end_src
> #+headers: :tangle pad-no-without-shebang.sed
> #+headers: :padline "no"
> #+begin_src sed
>   1 {N;s/\n//1}
> #+end_src
>
> 1. Tangle the above four blocks with =C-c C-v t=.
> 2. Execute the following code block to view the contents of the
>    resulting sed files.
>
> #+begin_src sh :results scalar
>   head pad*sed
> #+end_src
>
> #+RESULTS:
> : ==> padline-example.sed <==
> : #!/bin/sed -f
> : 
> : 1 {N;s/\n//1}
> : 
> : ==> pad-no-without-shebang.sed <==
> : 1 {N;s/\n//1}
> : 
> : ==> pad-no-with-shebang.sed <==
> : #!/bin/sed -f
> : 1 {N;s/\n//1}
> : 
> : ==> pad-yes-without-shebang.sed <==
> : 1 {N;s/\n//1}
> : 
> : ==> pad-yes-with-shebang.sed <==
> : #!/bin/sed -f
> : 
> : 1 {N;s/\n//1}

That seems perfect, and solves corner-cases I wouldn't have thought of (with
shebang). Thanks a lot!

Best regards,
  Seb

-- 
Sebastien Vauban


Reply via email to