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

changelog.vim spacing errors highlighting

Expand Messages
  • David Necas (Yeti)
    Hello, syntax file changelog.vim in 6.2f highlights spaces at the start of a line as Errors and thus renders half of existing ChangeLogs hardly readable. The
    Message 1 of 15 , May 27, 2003
      Hello,

      syntax file changelog.vim in 6.2f highlights spaces at the
      start of a line as Errors and thus renders half of existing
      ChangeLogs hardly readable. The patch attached at the end
      makes the Errors optional and switched off by default;

      let changelog_spacing_errors=1

      in .vimrc switches them on.

      [The rest of this mail explains, why I send the patch here
      and not to the maintainer.]

      I've already tried. Corinna Vinschen, who is the current
      maintainer, likes the Errors and refuses to make them
      switched off by default, no matter it's going to upset and
      confuse quite a large number of people either writing their
      own ChangeLogs with spaces or just reading third-party
      ChangeLogs they don't have any control of.

      I anticipate the reaction so, a few word about policies:
      IMNSHO Vim is a text editor and not a tool for enforcing
      someone's policies or coding styles. It can support
      style-enforcing, but such features should be switched off by
      default and not affect innocet users.

      Regarding syntax highlighting this means Error should be
      reserved for unquestionable errors in strict file formats,
      like unmatched braces and parentheses, stray < in SGML/XML
      files, etc. It should not be used for things like opening
      braces at [fill in where you don't like them] in C, tabs
      instead of spaces in Python, or spaces instead of tabs in
      ChangeLogs -- unless the user explicitely requests it.

      Regarding this particular case, I don't know (and wasn't
      told) where the policy being enforced comes from. Even GNU
      coding standards say nothing about tabs or spaces in
      ChangeLogs, they just say one should use EMACS, which is
      probably not very relevant here ;-)

      Moreover, since ChangeLog is not a strict file format it
      simply can't contain syntax errors by definition. The
      purpose of its syntax highligting is to increase readability
      in standard cases. Recoding the changes in haiku would be
      probably silly but hardly a reason for Errors.

      Yeti


      --- changelog.vim.orig 2003-05-26 16:34:36.000000000 +0200
      +++ changelog.vim 2003-05-26 18:13:51.000000000 +0200
      @@ -2,7 +2,10 @@
      " Language: generic ChangeLog file
      " Written By: Gediminas Paulauskas <menesis@...>
      " Maintainer: Corinna Vinschen <vinschen@...>
      -" Last Change: Aug 14, 2002
      +" Last Change: May 26, 2003
      +
      +" Options: let changelog_spacing_errors = 1
      +" if you want spaces at start of line highlighted as errors.

      " For version 5.x: Clear all syntax items
      " For version 6.x: Quit when a syntax file was already loaded
      @@ -17,12 +20,22 @@
      syn match changelogText "^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay
      syn match changelogHeader "^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail
      if version < 600
      - syn region changelogFiles start="^\t\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
      - syn region changelogFiles start="^\t\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
      + if exists('b:changelog_spacing_errors')
      + syn region changelogFiles start="^\t\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
      + syn region changelogFiles start="^\t\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
      + else
      + syn region changelogFiles start="^\s\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
      + syn region changelogFiles start="^\s\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
      + endif
      syn match changelogColon contained ":\s"
      else
      - syn region changelogFiles start="^\t\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
      - syn region changelogFiles start="^\t\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
      + if exists('b:changelog_spacing_errors')
      + syn region changelogFiles start="^\t\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
      + syn region changelogFiles start="^\t\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
      + else
      + syn region changelogFiles start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
      + syn region changelogFiles start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
      + endif
      syn match changeLogFuncs contained "(.\{-})" extend
      syn match changeLogFuncs contained "\[.\{-}]" extend
      syn match changelogColon contained ":"
      @@ -33,7 +46,9 @@
      syn keyword changelogDay contained mon tue wed thu fri sat sun
      syn match changelogNumber contained "[.-]*[0-9]\+"

      -syn match changelogError "^\ \+"
      +if exists('b:changelog_spacing_errors')
      + syn match changelogError "^\ \+"
      +endif

      " Define the default highlighting.
      " For version 5.7 and earlier: only when not done already
      @@ -58,7 +73,9 @@
      HiLink changelogNumber Number
      HiLink changelogMonth Number
      HiLink changelogDay Number
      - HiLink changelogError Error
      + if exists('b:changelog_spacing_errors')
      + HiLink changelogError Error
      + endif

      delcommand HiLink
      endif
    • Corinna Vinschen
      ... The original patch which enforces TABs was sent to this list on 2002-08-15 by Markus Jarvinen . I approved it the same day
      Message 2 of 15 , May 27, 2003
        On Tue, May 27, 2003 at 11:07:41AM +0200, David Necas (Yeti) wrote:
        > syntax file changelog.vim in 6.2f highlights spaces at the
        > start of a line as Errors and thus renders half of existing
        > ChangeLogs hardly readable. The patch attached at the end
        > makes the Errors optional and switched off by default;
        >
        > let changelog_spacing_errors=1
        >
        > in .vimrc switches them on.

        The original patch which enforces TABs was sent to this list on 2002-08-15
        by Markus Jarvinen <markus.jarvinen@...>. I approved it the same
        day and Bram applied it a day later or so.

        > [The rest of this mail explains, why I send the patch here
        > and not to the maintainer.]

        Sending public issues to public lists is always appropriate. I don't see
        any reason to bother the maintainer in private email. What are mailing
        lists good for? So I asked to send a patch to the vim-dev list. Dunno
        what's wrong with this.

        > I've already tried. Corinna Vinschen, who is the current
        > maintainer, likes the Errors and refuses to make them
        > switched off by default, no matter it's going to upset and

        Note the "refuses to make them switched off by default". I wrote that
        I'd accept patches but the default behaviour should be to keep non-TABs
        as errors and to be able to switch it off similar to the above
        `let changelog_spacing_errors=1', just with the reversed logic.

        Consequently, I don't accept the patch as is but I would if the
        logic of switching on/off is reversed.

        Corinna

        > --- changelog.vim.orig 2003-05-26 16:34:36.000000000 +0200
        > +++ changelog.vim 2003-05-26 18:13:51.000000000 +0200
        > @@ -2,7 +2,10 @@
        > " Language: generic ChangeLog file
        > " Written By: Gediminas Paulauskas <menesis@...>
        > " Maintainer: Corinna Vinschen <vinschen@...>
        > -" Last Change: Aug 14, 2002
        > +" Last Change: May 26, 2003
        > +
        > +" Options: let changelog_spacing_errors = 1
        > +" if you want spaces at start of line highlighted as errors.
        >
        > " For version 5.x: Clear all syntax items
        > " For version 6.x: Quit when a syntax file was already loaded
        > @@ -17,12 +20,22 @@
        > syn match changelogText "^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay
        > syn match changelogHeader "^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail
        > if version < 600
        > - syn region changelogFiles start="^\t\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
        > - syn region changelogFiles start="^\t\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
        > + if exists('b:changelog_spacing_errors')
        > + syn region changelogFiles start="^\t\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
        > + syn region changelogFiles start="^\t\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
        > + else
        > + syn region changelogFiles start="^\s\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
        > + syn region changelogFiles start="^\s\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon keepend
        > + endif
        > syn match changelogColon contained ":\s"
        > else
        > - syn region changelogFiles start="^\t\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
        > - syn region changelogFiles start="^\t\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
        > + if exists('b:changelog_spacing_errors')
        > + syn region changelogFiles start="^\t\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
        > + syn region changelogFiles start="^\t\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
        > + else
        > + syn region changelogFiles start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
        > + syn region changelogFiles start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs keepend
        > + endif
        > syn match changeLogFuncs contained "(.\{-})" extend
        > syn match changeLogFuncs contained "\[.\{-}]" extend
        > syn match changelogColon contained ":"
        > @@ -33,7 +46,9 @@
        > syn keyword changelogDay contained mon tue wed thu fri sat sun
        > syn match changelogNumber contained "[.-]*[0-9]\+"
        >
        > -syn match changelogError "^\ \+"
        > +if exists('b:changelog_spacing_errors')
        > + syn match changelogError "^\ \+"
        > +endif
        >
        > " Define the default highlighting.
        > " For version 5.7 and earlier: only when not done already
        > @@ -58,7 +73,9 @@
        > HiLink changelogNumber Number
        > HiLink changelogMonth Number
        > HiLink changelogDay Number
        > - HiLink changelogError Error
        > + if exists('b:changelog_spacing_errors')
        > + HiLink changelogError Error
        > + endif
        >
        > delcommand HiLink
        > endif

        --
        Corinna Vinschen
        Cygwin Developer
        Red Hat, Inc.
        mailto:vinschen@...
      • David Necas (Yeti)
        ... I can t see how this implies it can t be wrong. It only implies no one tried to view a considerable amount of third-party ChangeLogs with Vim-6.2 alphas
        Message 3 of 15 , May 27, 2003
          On Tue, May 27, 2003 at 11:58:07AM +0200, Corinna Vinschen wrote:
          > The original patch which enforces TABs was sent to this list on 2002-08-15
          > by Markus Jarvinen <markus.jarvinen@...>. I approved it the same
          > day and Bram applied it a day later or so.

          I can't see how this implies it can't be wrong. It only
          implies no one tried to view a considerable amount of
          third-party ChangeLogs with Vim-6.2 alphas -- because if
          someone did, s/he would surely complain.

          > Sending public issues to public lists is always appropriate. I don't see
          > any reason to bother the maintainer in private email. What are mailing
          > lists good for? So I asked to send a patch to the vim-dev list. Dunno
          > what's wrong with this.

          I didn't see any reason to bother vim-dev list with what
          I originally thought was a trivial issue -- I get and send
          most bugreports or fixes for syntax files I maintain by
          personal e-mails and don't think it's anything wrong with it
          either.

          > Note the "refuses to make them switched off by default".

          Yes, please note this. The default is what matters.

          > I wrote that
          > I'd accept patches but the default behaviour should be to keep non-TABs
          > as errors and to be able to switch it off similar to the above
          > `let changelog_spacing_errors=1', just with the reversed logic.

          So you are trying to enforce someone's strange policy (you
          still didn't even tell where it comes from, not speaking
          about why it's so great and important to adhere to) to
          everyone by default. Would you like if Vim highlighted any
          C brace placement and indentation style that is different
          from mine as Errors? This is exactly the same case. There
          is *no syntax error*, it's just a matter of style.

          So you are thinking everyone has to write ChangeLogs
          according to your style, because otherwise s/he get Errors.
          The fact it can be switched off (in fact the current version
          doesn't have a variable for it) means nothing, it's the
          default behaviour what (a) shows your attitude (b) most user
          will see.

          Yeti
        • Bram Moolenaar
          ... Simple remarks can be send directly to the mantainer. Things that are to be discussed should to go the Vim maillist. ... The default should be what most
          Message 4 of 15 , May 27, 2003
            Corinna Vinschen wrote:

            > > [The rest of this mail explains, why I send the patch here
            > > and not to the maintainer.]
            >
            > Sending public issues to public lists is always appropriate. I don't see
            > any reason to bother the maintainer in private email. What are mailing
            > lists good for? So I asked to send a patch to the vim-dev list. Dunno
            > what's wrong with this.

            Simple remarks can be send directly to the mantainer. Things that are
            to be discussed should to go the Vim maillist.

            > > I've already tried. Corinna Vinschen, who is the current
            > > maintainer, likes the Errors and refuses to make them
            > > switched off by default, no matter it's going to upset and
            >
            > Note the "refuses to make them switched off by default". I wrote that
            > I'd accept patches but the default behaviour should be to keep non-TABs
            > as errors and to be able to switch it off similar to the above
            > `let changelog_spacing_errors=1', just with the reversed logic.
            >
            > Consequently, I don't accept the patch as is but I would if the
            > logic of switching on/off is reversed.

            The default should be what most people find useful. That's not always a
            clear point though.

            Compare this with the C syntax: it's possible to highlight trailing
            spaces, which I think are errors that should be fixed, at least in my
            own code. But several distributed source files do contain trailing
            space and it's not nice flagging errors there. Thus the default is off
            and you need to set g:c_space_errors to flag trailing space as errors.

            You can extend this to Changelog files: if valid changelog files show
            error highlighting this will probably annoy users. But if these things
            are really errors (according to some standard) then it would be OK to
            have the default on.

            --
            Never under any circumstances take a sleeping pill
            and a laxative on the same night.

            /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
            /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
            \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
            \\\ Help AIDS victims, buy at Amazon -- http://ICCF.nl/click1.html ///
          • David Necas (Yeti)
            ... Corinna may disagree, but I understand this as a confirmation the default changelog.vim behaviour should change (just consider the sheer number of existing
            Message 5 of 15 , May 30, 2003
              On Tue, May 27, 2003 at 02:15:35PM +0200, Bram Moolenaar wrote:
              >
              > You can extend this to Changelog files: if valid changelog files show
              > error highlighting this will probably annoy users. But if these things
              > are really errors (according to some standard) then it would be OK to
              > have the default on.

              Corinna may disagree, but I understand this as a
              confirmation the default changelog.vim behaviour should
              change (just consider the sheer number of existing
              ChangeLogs containing spaces, often exclusively, since tabs
              are Evil ;-)

              The attached patch completes the first one by adding a note
              to syntax.txt (please correct my English and/or add the name
              of the policy or style requiring tabs -- I don't know it)

              Yeti


              --- vim62f.orig/runtime/doc/syntax.txt 2003-05-25 18:17:38.000000000 +0200
              +++ vim62f/runtime/doc/syntax.txt 2003-05-30 22:21:55.000000000 +0200
              @@ -647,6 +647,13 @@
              highlighting for cErrInParen and cErrInBracket.


              +CHANGELOG *changelog.vim* *changelog-syntax*
              +
              +ChangeLog supports highlighting spaces at the start of a line as errors.
              +To enable this feature, add following line to your .vimrc: >
              + let changelog_spacing_errors=1
              +
              +
              COBOL *cobol.vim* *cobol-syntax*

              COBOL highlighting has different needs for legacy code than it does for fresh
            • Bram Moolenaar
              ... Thanks. I ll include the change. Unfortunately, I have not heard back from Corinna on my remarks. Hopefully that means she doesn t object... -- My
              Message 6 of 15 , May 31, 2003
                David Necas wrote:

                > On Tue, May 27, 2003 at 02:15:35PM +0200, Bram Moolenaar wrote:
                > >
                > > You can extend this to Changelog files: if valid changelog files show
                > > error highlighting this will probably annoy users. But if these things
                > > are really errors (according to some standard) then it would be OK to
                > > have the default on.
                >
                > Corinna may disagree, but I understand this as a
                > confirmation the default changelog.vim behaviour should
                > change (just consider the sheer number of existing
                > ChangeLogs containing spaces, often exclusively, since tabs
                > are Evil ;-)
                >
                > The attached patch completes the first one by adding a note
                > to syntax.txt (please correct my English and/or add the name
                > of the policy or style requiring tabs -- I don't know it)

                Thanks. I'll include the change. Unfortunately, I have not heard back
                from Corinna on my remarks. Hopefully that means she doesn't object...

                --
                My sister Cecilia opened a computer store in Hawaii.
                She sells C shells by the seashore.

                /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
                \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
                \\\ Help AIDS victims, buy at Amazon -- http://ICCF.nl/click1.html ///
              • Corinna Vinschen
                ... [Sorry for responding that slow. I was somewhat distracted by RL.] I did already object, IIRC. As I said, I have no problems to let a change in to allow to
                Message 7 of 15 , Jun 1, 2003
                  On Sat, May 31, 2003 at 12:33:48PM +0200, Bram Moolenaar wrote:
                  > Thanks. I'll include the change. Unfortunately, I have not heard back
                  > from Corinna on my remarks. Hopefully that means she doesn't object...

                  [Sorry for responding that slow. I was somewhat distracted by RL.]

                  I did already object, IIRC.

                  As I said, I have no problems to let a change in to allow to switch off
                  showing missing TABs as errors but I don't see what it's good for to
                  switch it off by default. Showing the TABs is a very helpful functionality
                  in GNU projects since even if it's not mentioned in the syntax description
                  on gnu.org, it's common sense in important projects (just to name a few:
                  gawk, gcc, gdb, make, sed) to use TAB as start of entries. All these
                  projects also contain ChangeLog entries with leading spaces but these are
                  included by mistake, a mistake which could have been avoided...

                  The problem with having it switched off by default is that nobody will
                  ever see that a nice functionality, showing that the ChangeLog is incorrect
                  in its invisible parts, exists at all. OTOH, those who are annoyed by
                  showing the error in the ChangeLog will try to find a way to switch it
                  off and woops, there it is, so what's the problem.

                  Be it as it is, it's your final decision, Bram.


                  Corinna

                  --
                  Corinna Vinschen
                  Cygwin Developer
                  Red Hat, Inc.
                  mailto:vinschen@...
                • David Necas (Yeti)
                  ... I m not Bram ;-) but I ll add a one note anyway. I understand your motivation. But I m afraid you overestimate the capabilities of average Vim users.
                  Message 8 of 15 , Jun 1, 2003
                    On Sun, Jun 01, 2003 at 11:01:08AM +0200, Corinna Vinschen wrote:
                    > On Sat, May 31, 2003 at 12:33:48PM +0200, Bram Moolenaar wrote:
                    > > Thanks. I'll include the change. Unfortunately, I have not heard back
                    > > from Corinna on my remarks. Hopefully that means she doesn't object...
                    >
                    > The problem with having it switched off by default is that nobody will
                    > ever see that a nice functionality, showing that the ChangeLog is incorrect
                    > in its invisible parts, exists at all. OTOH, those who are annoyed by
                    > showing the error in the ChangeLog will try to find a way to switch it
                    > off and woops, there it is, so what's the problem.

                    I'm not Bram ;-) but I'll add a one note anyway.

                    I understand your motivation. But I'm afraid you
                    overestimate the capabilities of average Vim users. True,
                    most of them probably would find some way how to get rid of
                    the Errors -- by asking someone else what to do with them.
                    Believe me, I know a few of them :-) Moreover, ChangeLogs
                    (of any kind, GNU or not) are much more often read than
                    written, but the original default behaviour helps only GNU
                    writes i.e., people who actually change the space into a tab
                    when they see one and commit this change.

                    Thus the decision is between two evils: some people won't
                    exploit all the possibilities it offers because they won't
                    know about them and, some people will be quite annoyed by
                    the default behaviour. IMO the first one is the smaller
                    one.

                    Yeti
                  • Bram Moolenaar
                    ... I can understand that you want to flag wrong whitespace, but I also understand the point that thise is not really an error. Again, I have to refer to
                    Message 9 of 15 , Jun 1, 2003
                      Corinna Vinschen wrote:

                      > On Sat, May 31, 2003 at 12:33:48PM +0200, Bram Moolenaar wrote:
                      > > Thanks. I'll include the change. Unfortunately, I have not heard back
                      > > from Corinna on my remarks. Hopefully that means she doesn't object...
                      >
                      > [Sorry for responding that slow. I was somewhat distracted by RL.]
                      >
                      > I did already object, IIRC.
                      >
                      > As I said, I have no problems to let a change in to allow to switch off
                      > showing missing TABs as errors but I don't see what it's good for to
                      > switch it off by default. Showing the TABs is a very helpful functionality
                      > in GNU projects since even if it's not mentioned in the syntax description
                      > on gnu.org, it's common sense in important projects (just to name a few:
                      > gawk, gcc, gdb, make, sed) to use TAB as start of entries. All these
                      > projects also contain ChangeLog entries with leading spaces but these are
                      > included by mistake, a mistake which could have been avoided...
                      >
                      > The problem with having it switched off by default is that nobody will
                      > ever see that a nice functionality, showing that the ChangeLog is incorrect
                      > in its invisible parts, exists at all. OTOH, those who are annoyed by
                      > showing the error in the ChangeLog will try to find a way to switch it
                      > off and woops, there it is, so what's the problem.
                      >
                      > Be it as it is, it's your final decision, Bram.

                      I can understand that you want to flag wrong whitespace, but I also
                      understand the point that thise is not really an error. Again, I have
                      to refer to highlighting wrong white space in C sources. This is also
                      off by default, although I strongly believe that no C source should
                      have a space before a tab or trailing white space.

                      Let's try to find a compromise: flag the wrong white space but not as an
                      error. We don't have a warning highlight group though. You could
                      perhaps use the Folded or DiffAdd highlighting (most others only have a
                      foreground color, which won't work for white space).

                      Where can I find a good example of a file to see what the resulting
                      highlighting looks like?

                      --
                      Portable Computer: A device invented to force businessmen
                      to work at home, on vacation, and on business trips.

                      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                      /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
                      \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
                      \\\ Help AIDS victims, buy at Amazon -- http://ICCF.nl/click1.html ///
                    • Corinna Vinschen
                      ... Yes, why not. Highlighting them as error typically makes them red , It might be a good idea to highlight them more carefully. This is both in one go,
                      Message 10 of 15 , Jun 1, 2003
                        On Sun, Jun 01, 2003 at 12:07:02PM +0200, Bram Moolenaar wrote:
                        > Let's try to find a compromise: flag the wrong white space but not as an
                        > error. We don't have a warning highlight group though. You could
                        > perhaps use the Folded or DiffAdd highlighting (most others only have a
                        > foreground color, which won't work for white space).

                        Yes, why not. Highlighting them as error typically makes them "red",
                        It might be a good idea to highlight them more carefully. This is
                        both in one go, helpful for TABies, not that annoying for non-TABies.

                        > Where can I find a good example of a file to see what the resulting
                        > highlighting looks like?

                        Just take the below example containing TABs and spaces and use the current
                        changelog.vim (that is, the one before you added David's patch). Copy
                        it to a file as is and `set ft=changelog':

                        ==== SNIP ====
                        Sun May 25 16:23:43 2003 Corinna Vinschen <vinschen@...>

                        * configure.ac: Remove linking against /usr/lib/automode.o.
                        * configure: Regenerate.

                        Sun May 25 15:19:19 2003 Stepan Kasal <kasal@...>

                        * awk.h (get_lhs): For an initialized Node_var, you may return
                        the address of var_value pointer, no matter whether reference
                        bit was set or not. We were silly slowing down most of the
                        assignements.

                        ==== SNAP ====

                        This is from current gawk. Unfortunately, Aahron added my own ChangeLog
                        entry mistakenly with spaces in this case :-) The first entry will have
                        "coloured spaces", the second entry looks normal.

                        Corinna

                        --
                        Corinna Vinschen
                        Cygwin Developer
                        Red Hat, Inc.
                        mailto:vinschen@...
                      • Mikolaj Machowski
                        On Sun, Jun 01, 2003 at 11:01:08AM +0200, Corinna Vinschen wrote: BTW. If I can suggest one thing to changelog.vim: couldn t be set autoindent default setting
                        Message 11 of 15 , Jun 1, 2003
                          On Sun, Jun 01, 2003 at 11:01:08AM +0200, Corinna Vinschen wrote:

                          BTW. If I can suggest one thing to changelog.vim: couldn't be set
                          autoindent default setting in this ftplugin?

                          m.
                          --
                          LaTeX + Vim = http://vim-latex.sourceforge.net/
                          Vim-list(s) Users Map: (last change 27 May)
                          http://skawina.eu.org/mikolaj/vimlist
                          Are You There?
                        • Corinna Vinschen
                          ... Actually I like Bram s idea to keep highlighting the default but to use a less annoying style of highlighting. That should be most sufficient for people
                          Message 12 of 15 , Jun 1, 2003
                            On Sun, Jun 01, 2003 at 11:31:42AM +0200, David Necas (Yeti) wrote:
                            > Thus the decision is between two evils: some people won't
                            > exploit all the possibilities it offers because they won't
                            > know about them and, some people will be quite annoyed by
                            > the default behaviour. IMO the first one is the smaller
                            > one.

                            Actually I like Bram's idea to keep highlighting the default but to use
                            a less annoying style of highlighting. That should be most sufficient
                            for people on both sides of the range. You can see the wrong spaces but
                            they don't blind you. And given the inverse of your patch, purists of
                            non-TABiism can even switch it off.

                            Corinna

                            --
                            Corinna Vinschen
                            Cygwin Developer
                            Red Hat, Inc.
                            mailto:vinschen@...
                          • Bram Moolenaar
                            ... OK, I ll do that now. Hmm, appears to be a bit more complicated, because we should also highlight the file name. This is what I came up with. The docs
                            Message 13 of 15 , Jun 1, 2003
                              Corinna Vinschen wrote:

                              > On Sun, Jun 01, 2003 at 12:07:02PM +0200, Bram Moolenaar wrote:
                              > > Let's try to find a compromise: flag the wrong white space but not as an
                              > > error. We don't have a warning highlight group though. You could
                              > > perhaps use the Folded or DiffAdd highlighting (most others only have a
                              > > foreground color, which won't work for white space).
                              >
                              > Yes, why not. Highlighting them as error typically makes them "red",
                              > It might be a good idea to highlight them more carefully. This is
                              > both in one go, helpful for TABies, not that annoying for non-TABies.

                              OK, I'll do that now.

                              Hmm, appears to be a bit more complicated, because we should also
                              highlight the file name. This is what I came up with.

                              The docs entry:
                              -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                              CHANGELOG *changelog.vim* *changelog-syntax*

                              ChangeLog supports highlighting spaces at the start of a line.
                              If you do not like this, add following line to your .vimrc: >
                              let g:changelog_spacing_errors = 0
                              This works the next time you edit a changelog file. You can also use
                              "b:changelog_spacing_errors" to set this per buffer (before loading the syntax
                              file).

                              You can change the highlighting used, e.g., to flag the spaces as an error: >
                              :hi link ChangelogError Error
                              Or to avoid the highlighting: >
                              :hi link ChangelogError NONE
                              This works immediately.
                              -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

                              And the syntax file:
                              -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                              " Vim syntax file
                              " Language: generic ChangeLog file
                              " Written By: Gediminas Paulauskas <menesis@...>
                              " Maintainer: Corinna Vinschen <vinschen@...>
                              " changelog_spacing_errors modification by David Necas.
                              " Last Change: May 31, 2003

                              " Options: let changelog_spacing_errors = 1
                              " if you want spaces at start of line highlighted as errors.

                              " For version 5.x: Clear all syntax items
                              " For version 6.x: Quit when a syntax file was already loaded
                              if version < 600
                              syntax clear
                              elseif exists("b:current_syntax")
                              finish
                              endif

                              syn case ignore

                              if exists('b:changelog_spacing_errors')
                              let s:spacing_errors = b:changelog_spacing_errors
                              elseif exists('g:changelog_spacing_errors')
                              let s:spacing_errors = g:changelog_spacing_errors
                              else
                              let s:spacing_errors = 1
                              endif

                              if s:spacing_errors
                              syn match changelogError "^ \+"
                              endif

                              syn match changelogText "^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay
                              syn match changelogHeader "^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail
                              if version < 600
                              syn region changelogFiles start="^\s\+[+*]\s" end=":\s" end="^$" contains=changelogBullet,changelogColon,changelogError keepend
                              syn region changelogFiles start="^\s\+[([]" end=":\s" end="^$" contains=changelogBullet,changelogColon,changelogError keepend
                              syn match changelogColon contained ":\s"
                              else
                              syn region changelogFiles start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs,changelogError keepend
                              syn region changelogFiles start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changeLogFuncs,changelogError keepend
                              syn match changeLogFuncs contained "(.\{-})" extend
                              syn match changeLogFuncs contained "\[.\{-}]" extend
                              syn match changelogColon contained ":"
                              endif
                              syn match changelogBullet contained "^\s\+[+*]\s" contains=changelogError
                              syn match changelogMail contained "<[A-Za-z0-9\._:+-]\+@[A-Za-z0-9\._-]\+>"
                              syn keyword changelogMonth contained jan feb mar apr may jun jul aug sep oct nov dec
                              syn keyword changelogDay contained mon tue wed thu fri sat sun
                              syn match changelogNumber contained "[.-]*[0-9]\+"

                              " Define the default highlighting.
                              " For version 5.7 and earlier: only when not done already
                              " For version 5.8 and later: only when an item doesn't have highlighting yet
                              if version >= 508 || !exists("did_changelog_syntax_inits")
                              if version < 508
                              let did_changelog_syntax_inits = 1
                              command -nargs=+ HiLink hi link <args>
                              else
                              command -nargs=+ HiLink hi def link <args>
                              endif

                              HiLink changelogText Normal
                              HiLink changelogBullet Type
                              HiLink changelogColon Type
                              HiLink changelogFiles Comment
                              if version >= 600
                              HiLink changelogFuncs Comment
                              endif
                              HiLink changelogHeader Statement
                              HiLink changelogMail Special
                              HiLink changelogNumber Number
                              HiLink changelogMonth Number
                              HiLink changelogDay Number
                              HiLink changelogError Folded

                              delcommand HiLink
                              endif

                              let b:current_syntax = "changelog"

                              " vim: ts=8
                              -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

                              --
                              It is hard to understand how a cemetery raised its burial
                              cost and blamed it on the cost of living.

                              /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                              /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
                              \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
                              \\\ Help AIDS victims, buy at Amazon -- http://ICCF.nl/click1.html ///
                            • Corinna Vinschen
                              ... Thumb up from me. Thanks, Corinna -- Corinna Vinschen Cygwin Developer Red Hat, Inc. mailto:vinschen@redhat.com
                              Message 14 of 15 , Jun 1, 2003
                                On Sun, Jun 01, 2003 at 02:06:56PM +0200, Bram Moolenaar wrote:
                                > This is what I came up with.

                                Thumb up from me.

                                Thanks,
                                Corinna

                                --
                                Corinna Vinschen
                                Cygwin Developer
                                Red Hat, Inc.
                                mailto:vinschen@...
                              • David Necas (Yeti)
                                ... OK, space-only ChangeLogs look a little bit funny, but readability isn t considerably affected. When someone uses listchars to visualize tabs (like me),
                                Message 15 of 15 , Jun 1, 2003
                                  On Sun, Jun 01, 2003 at 02:06:56PM +0200, Bram Moolenaar wrote:
                                  >
                                  > Hmm, appears to be a bit more complicated, because we should also
                                  > highlight the file name. This is what I came up with.

                                  OK, space-only ChangeLogs look a little bit funny, but
                                  readability isn't considerably affected. When someone uses
                                  listchars to visualize tabs (like me), it looks even more
                                  funny -- both tabs and spaces are emphasized. But OK, it's
                                  a compromise.

                                  Yeti
                                Your message has been successfully submitted and would be delivered to recipients shortly.