Loading ...
Sorry, an error occurred while loading the content.

Re: 'formatlistpat' broke for punctuation chars?

Expand Messages
  • Maciej Kalisiak
    I propose following patch (I tested to confirm that it resolves the issue when I repeat steps): diff -r 22683fa1b4ed src/misc1.c ... +++ b/src/misc1.c Fri Mar
    Message 1 of 5 , Mar 8 7:48 AM
    • 0 Attachment
      I propose following patch (I tested to confirm that it resolves the issue when I repeat steps):

      diff -r 22683fa1b4ed src/misc1.c
      --- a/src/misc1.c Thu Mar 07 19:38:54 2013 +0100
      +++ b/src/misc1.c Fri Mar 08 10:47:54 2013 -0500
      @@ -438,7 +438,8 @@

      #ifdef FEAT_COMMENTS
      /* In format_lines() (i.e. not insert mode), fo+=q is needed too... */
      - if ((State & INSERT) || has_format_option(FO_Q_COMS))
      + if (((State & INSERT) && has_format_option(FO_WRAP_COMS))
      + || has_format_option(FO_Q_COMS))
      lead_len = get_leader_len(ml_get(lnum), NULL, FALSE, TRUE);
      #endif
      regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);


      "make test" passes, as far as I can tell (reports "ALL DONE").

      --
      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php

      ---
      You received this message because you are subscribed to the Google Groups "vim_dev" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Ben Fritz
      ... I reproduced, using fo=tn, but I actually think this is correct behavior. The indentation works as intended with fo=cn instead of fo=tn. The default
      Message 2 of 5 , Mar 8 8:13 AM
      • 0 Attachment
        On Thursday, March 7, 2013 9:05:58 PM UTC-6, Maciej Kalisiak wrote:
        > while on "not broken" versions it indents as expected:
        >
        > - aoeu aoeu aoeu aoeu aeou aeou aoeu aoeu aoeu
        > aoeu aoeu aoeu aoeu aoeu oaeu aoeu aoeu
        >
        > As I said, this behaviour is same if I use '*' or '#', and possibly other characters, but letters and digits seem unaffected.

        I reproduced, using fo=tn, but I actually think this is "correct" behavior.

        The indentation works as intended with fo=cn instead of fo=tn.

        The default setting for the 'comments' option, which determines whether the current line is a comment or not for automatic formatting, includes - as well as * and # as starting a line comment. So, with default settings, lines starting with #, *, or - all are formatted as comment lines. Since you do not have comment lines being formatted in your formatoptions setting, automatic formatting does not apply to these lines.

        Either add 'c' to your formatoptions setting, or remove '-' and other desired characters from your 'comments' setting.

        --
        --
        You received this message from the "vim_dev" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php

        ---
        You received this message because you are subscribed to the Google Groups "vim_dev" group.
        To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • Maciej Kalisiak
        ... Ah, very interesting, I didn t realize that was the interpretation of this option (manual frames it differently). This puts things in a different light.
        Message 3 of 5 , Mar 9 8:09 AM
        • 0 Attachment
          On Fri, Mar 8, 2013 at 11:13 AM, Ben Fritz <fritzophrenic@...> wrote:
          On Thursday, March 7, 2013 9:05:58 PM UTC-6, Maciej Kalisiak wrote:
          > while on "not broken" versions it indents as expected:
          >
          > -  aoeu aoeu aoeu aoeu aeou aeou aoeu aoeu aoeu
          >    aoeu aoeu aoeu aoeu aoeu oaeu aoeu aoeu
          >
          > As I said, this behaviour is same if I use '*' or '#', and possibly other characters, but letters and digits seem unaffected.

          I reproduced, using fo=tn, but I actually think this is "correct" behavior.

          The indentation works as intended with fo=cn instead of fo=tn.

          The default setting for the 'comments' option, which determines whether the current line is a comment or not for automatic formatting,

          Ah, very interesting, I didn't realize that was the interpretation of this option (manual frames it differently).  This puts things in a different light.
           
          includes - as well as * and # as starting a line comment. So, with default settings, lines starting with #, *, or - all are formatted as comment lines. Since you do not have comment lines being formatted in your formatoptions setting, automatic formatting does not apply to these lines.

          Yeah, in that light this makes sense.
           

          Either add 'c' to your formatoptions setting, or remove '-' and other desired characters from your 'comments' setting.

          Hmm, neither leads to desired behaviour with Vimwiki... I suspect the latter might need to be updated in light of this change.

          Essentially, what I am really after, is to be able to do point form PARAGRAPHS in a vimwiki bullet list, something that was possible before the mentioned change; that is, I want to achieve the following layout and indentation (which I assume is how vimwiki is intended to work), by entering only words, spaces, and hitting return to at end of each bullet paragraph:

          * short item<CR>
          * a much much much much much much much longer
            item that requires a line wrap<CR>
          * another very very very very long bullet point that also
            requires a line wrap<CR>

          With recent Vim those paragraphs will not be indented properly; as mentioned earlier, I'll get:

          * short item<CR>
          * a much much much much much much much longer
          item that requires a line wrap<CR>
          * another very very very very long bullet point that also
          requires a line wrap<CR>

          If I throw on fo+=c, I instead get the asterisk on every line:

          * short item<CR>
          * a much much much much much much much longer
          * item that requires a line wrap<CR>
          * another very very very very long bullet point that also
          * requires a line wrap<CR>

          Removing the character from 'comments' on the other hand leads to the bullet no longer being automatically inserted for next item when you hit <CR>.

          I suppose though that this is then an issue with how Vimwiki implements this bullet entry functionality, and the script needs to be adapted after this change.



          --
          --
          You received this message from the "vim_dev" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php

          ---
          You received this message because you are subscribed to the Google Groups "vim_dev" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.





          --
          Maciej Kalisiak
          mkalisiak@...

          --
          --
          You received this message from the "vim_dev" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php
           
          ---
          You received this message because you are subscribed to the Google Groups "vim_dev" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
           
           
        Your message has been successfully submitted and would be delivered to recipients shortly.