Display filename cwd relative in warning location
Format the filename relative to cwd in a warning location.
@@ -234,7 +234,7 @@ def get_error_location_string(fname: str, lineno: str) -> str:
def _log_error(severity: str, *rargs: T.Union[str, AnsiDecorator],
once: bool = False, **kwargs: T.Any) -> None:
from .environment import build_filename
- from .mesonlib import MesonException
+ from .mesonlib import MesonException, relpath
# The typing requirements here are non-obvious. Lists are invariant,
# therefore T.List[A] and T.List[T.Union[A, B]] are not able to be joined
@@ -251,7 +251,7 @@ def _log_error(severity: str, *rargs: T.Union[str, AnsiDecorator],
location = kwargs.pop('location', None)
if location is not None:
- location_file = location.subdir
+ location_file = relpath(location.subdir, os.getcwd())
location_str = get_error_location_string(location_file, location.lineno)
# Unions are frankly awful, and we have to T.cast here to get mypy
# to understand that the list concatenation is safe
