Bug#276005: vim: :make doesn't find right files with makes -C option.

Stefano Zacchiroli Stefano Zacchiroli <zack@debian.org>, 276005@bugs.debian.org
Sun, 8 May 2005 01:13:59 +0200


--GRPZ8SYKNexpdSJ7
Content-Type: multipart/mixed; boundary="Qxx1br4bt0+wmkIi"
Content-Disposition: inline


--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

tags 276005 + patch pending
forwarded 276005 Bram@moolenaar.net
thanks

David Riebenbauer <davrieb@sbox.tugraz.at> wrote:
> As said in the subject :make doesn't jump to the right files with
> warnings or errors if it is used with the -C option like:
>
> :make -C /path/to/the/makefile

This happen because the default errorformat parser lines like:

  make[1]: Entering directory `/some/path'
  make[1]: Leaving directory `/some/path'

but not lines like:

  make: Entering directory `/home/zack/dati/HELM/cvs/helm/ocaml/cic'
  make: Leaving directory `/home/zack/dati/HELM/cvs/helm/ocaml/cic'

The second kind of lines is output when make is directly (i.e. not by
another Makefile) invoked with -C. Attached you will find a patch for
option.h which changes the default so that both kinds of lines are
recognized. BTW, the patch fixes also the errorformat string used by the
ocaml ftplugin.

Bram, could you please apply the patch (only for option.h) to next vim
version?

In the meantime I added the patch to the vim debian package (I'm thus
tagging the bug pending).

Thanks for the report.
Cheers.

--=20
Stefano Zacchiroli -*- Computer Science PhD student @ Uny Bologna, Italy
zack@{cs.unibo.it,debian.org,bononia.it} -%- http://www.bononia.it/zack/
If there's any real truth it's that the entire multidimensional infinity
of the Universe is almost certainly being run by a bunch of maniacs. -!-

--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="124_errorformat.vim.diff"
Content-Transfer-Encoding: quoted-printable

diff -urN vim63/src/option.h vim63.new/src/option.h
--- vim63/src/option.h	2004-05-05 11:43:49.000000000 +0200
+++ vim63.new/src/option.h	2005-05-08 00:53:15.000000000 +0200
@@ -38,7 +38,7 @@
 #     ifdef EBCDIC
 #define DFLT_EFM	"%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f=
\"%*\\D%l: %m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: En=
tering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a=
 in %f"
 #     else
-#define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Ea=
ch undeclared identifier is reported only once,%-G%f:%l: for each function =
it appears in.),%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: =
Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\=
\a in %f"
+#define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Ea=
ch undeclared identifier is reported only once,%-G%f:%l: for each function =
it appears in.),%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: =
Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Ent=
ering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f"
 #     endif
 #    endif
 #   endif
diff -urN vim63/runtime/ftplugin/ocaml.vim vim63.new/runtime/ftplugin/ocaml=
=2Evim
--- vim63/runtime/ftplugin/ocaml.vim	2005-05-08 00:56:59.000000000 +0200
+++ vim63.new/runtime/ftplugin/ocaml.vim	2005-05-08 00:56:39.000000000 +0200
@@ -52,6 +52,8 @@
       \%C%m,
       \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
        \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+      \%D%*\\a:\ Entering\ directory\ `%f',
+       \%X%*\\a:\ Leaving\ directory\ `%f',
        \%DMaking\ %*\\a\ in\ %f
=20
 " Add mappings, unless the user didn't want this.

--Qxx1br4bt0+wmkIi--

--GRPZ8SYKNexpdSJ7
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCfUu31cqbBPLEI7wRAlnBAJsHa0CN2gHhryPzJMSJ9kQ99UhpagCgsM1f
2RuSPPnVbTtr9AZRccqnOWg=
=zTnN
-----END PGP SIGNATURE-----

--GRPZ8SYKNexpdSJ7--