darlingm / vim

Automatically exported from code.google.com/p/vim
0 stars 0 forks source link

When executing a recent version of make from within vim, a change in directory is not recognised #185

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Open vim from within the root directory of a project that makes use of 
recursive make files
2. Run :make from within vim

What is the expected output? What do you see instead?
If any directory changes were made, vim should recognise these and append the 
appropriate information to the quickfix-directory-stack

What version of the product are you using? On what operating system?
(g)vim 7.4 with patches 1 to 86
gnu make 4.0
OS Arch Linux

Please provide any additional information below.
It seems that the output of gnu make for entering a directory
has changed from:

make[1]: Entering directory `/path/to/directory'

to

make[1]: Entering directory '/path/to/directory'

Note the change from ` to ' at the beginning of the path name. I suspect the 
same has happened for the Leaving directory string as well.

This should be a simple fix one of the patterns within the 'errorformat' 
variable in 'runtime/compiler/gcc.vim' or perhaps it may be a good idea to 
duplicate that pattern and modify the duplicate (to retain backwards 
compatibility)

Original issue reported on code.google.com by kno0...@gmail.com on 4 Dec 2013 at 3:13

GoogleCodeExporter commented 9 years ago
I suppose something like this may be fine.

Original comment by kno0...@gmail.com on 4 Dec 2013 at 3:21

Attachments:

GoogleCodeExporter commented 9 years ago
Does it work to do it like this:
      \%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
      \%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',

Original comment by brammool...@gmail.com on 4 Dec 2013 at 11:40

GoogleCodeExporter commented 9 years ago
That looks like a smarter way of doing it (as in no line duplication) but 
unfortunately it's not working for me, however duplicating the lines does work. 
By the way, on closer inspection there may be other files that need to be 
changed to provide sane defaults when using make with other languages. Here is 
a complete list of all files that may need to be changed:
runtime/compiler/fortran_g77.vim
runtime/compiler/gcc.vim
runtime/compiler/msc.vim
runtime/compiler/ocaml.vim
runtime/compiler/rst.vim
runtime/compiler/splint.vim
runtime/tools/ccfilter.c
src/option.h

Original comment by kno0...@gmail.com on 4 Dec 2013 at 10:53

GoogleCodeExporter commented 9 years ago
This seems to be fixed for the gcc compiler. For the other compiler files, you 
should get in contact with their maintainers to have it fixed there. They will 
then send updated compiler plugins for inclusion with Vim to Bram.

Original comment by chrisbr...@googlemail.com on 3 Oct 2014 at 11:48