[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65702: 30.0.50; compile-command not honored in shell buffers
From: |
Matthias Meulien |
Subject: |
bug#65702: 30.0.50; compile-command not honored in shell buffers |
Date: |
Sun, 03 Sep 2023 09:30:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Matthias Meulien <orontee@gmail.com>
>> Date: Sat, 02 Sep 2023 15:39:20 +0200
>>
>>
>> I customize the default compile command using directory local
>> variables. For example, with a '.dir-locals' containing the following:
>>
>> ;;; Directory Local Variables -*- no-byte-compile: t -*-
>> ;;; For more information see (info "(emacs) Directory Variables")
>>
>> ((nil . ((compilation-search-path . (nil "builddir"))
>> (compile-command . "meson setup builddir . --cross-file
>> crossfile_arm.ini ; pushd builddir && meson compile ; popd")
>> (compilation-environment . ("TERM=ansi"))
>> (ispell-local-dictionary . "en")
>> (project-vc-merge-submodules . nil)))
>> (c++-mode . ((c-basic-offset . 2)
>> (indent-tabs-mode . nil))))
>>
>> When I enter the *vc-dir* buffer for the corresponding Git local
>> repository, and I press 'C-x p c' ('project-compile' command) then the
>> default compile command has the value specified in the previous
>> '.dir-locals.el'.
>>
>> Same with 'meson.build', 'README.md', '*.cc', '*.h', etc. files.
>>
>> But when 'project-compile' is called from a shell buffer after I pressed
>> 'C-x p s' then the default compile command is 'make -k'. This is
>> strange and looks like a bug to my eyes.
>
> Aren't directory-local variables in effect only in file-visiting
> buffers? The shell buffer created by "C-x p s" doesn't visit a file,
> so I think directory-local variables are not in effect for it.
Oh thank you! I now understand, I should have realized that the same
behavior is observable in *xref*, or *Occur* buffers. Thank you Eli.
Sorry for the annoyance.
I'll override 'project-compile' in order to use the 'compile-command'
set for the project-root directory. It'll be ok for my use case.
--
Matthias