On 4/12/06, Adam Krolnik <[EMAIL PROTECTED]> wrote:
>
>
> It is strange to see that the option foldignore doesn't seem to work for the
> '#' character.
>
> Here is a C program that has preprocessor statements. I'd like to fold this 
> using
> indent and foldignore=^L`#
>
> When I do that and fold the code, it does not show up as folded.
> It shows up like:
>
> static void
> MouseReadInput(InputInfoPtr pInfo)
> {
>
> +--  2 lines: while ((c = XisbRead(pMse->buffer)) >= 0)
> {---------------------------------------------
>
> #if defined (EXTMOUSEDEBUG) || defined (MOUSEDATADEBUG) This one doesn't fold
>          ErrorF("mouse byte: %2.2x\n",u);
> #endif
> #if 1 This doesn't fold
> +-- 12 lines: if (pBufP >= pMse->protoPara[4])
> {------------------------------------------------------
> #ifdef EXTMOUSEDEBUG This doesn't fold
>                  ErrorF("mouse 4th byte %02x\n",u);
> #endif
> }
>
> If I change the # character to backtick, they all fold up.
> s
> tatic void
> MouseReadInput(InputInfoPtr pInfo)
> {
>
> +-- 21 lines: while ((c = XisbRead(pMse->buffer)) >= 0)
> {---------------------------------------------
> `endif
> }
>
>
> Here is the original code. Any thoughts? This works the same for Vim 6.3 and 
> 7.0...
>
> -------------------------------------------------------------------------------------
>
> static void
> MouseReadInput(InputInfoPtr pInfo)
> {
>
>      while ((c = XisbRead(pMse->buffer)) >= 0) {
>          u = (unsigned char)c;
>
> #if defined (EXTMOUSEDEBUG) || defined (MOUSEDATADEBUG) This one doesn't fold
>          ErrorF("mouse byte: %2.2x\n",u);
> #endif
> #if 1 This doesn't fold
>          if (pBufP >= pMse->protoPara[4]) {
>              /*
>               * Buffer contains a full packet, which has already been 
> processed:
>               * Empty the buffer and check for optional 4th byte, which will 
> be
>               * processed directly, without being put into the buffer first.
>               */
>              pBufP = 0;
>              if ((u & pMse->protoPara[0]) != pMse->protoPara[1] &&
>                  (u & pMse->protoPara[5]) == pMse->protoPara[6]) {
>                  /*
>                   * Hack for Logitech MouseMan Mouse - Middle button
>                   */
> #ifdef EXTMOUSEDEBUG This doesn't fold
>                  ErrorF("mouse 4th byte %02x\n",u);
> #endif
> }

Works for me (vim7.0d01). Can you reproduce it with 'vim -u NONE -U NONE' ?
If you can reproduce it: which sequence of option settings and
user input reproduces it ?

Yakov

Reply via email to