GNU bug report logs -
#68570
29.1; recompile might not re-use project-compile's buffer
Previous Next
Full log
View this message in rfc822 format
On 24/01/2024 19:11, Juri Linkov wrote:
>>>>> Recompiling from a non-compilation buffer has security concerns.
>>>>> The patch that I proposed above is intended only for
>>>>> recompiling from a compilation buffer. It sets
>>>>> `compilation-buffer-name-function' in the compilation buffer.
>>>> I think it behaves correctly inside the compilation buffer already? At
>>>> least it did when I tested.
>>> Sorry, I didn't show my compilation function:
>>> (setopt project-compilation-buffer-name-function
>>> (lambda (name-of-mode)
>>> (generate-new-buffer-name
>>> (project-prefixed-buffer-name name-of-mode))))
>>> Currently 'g' doesn't create a new compilation buffer, because
>>> 'compilation--default-buffer-name' just reuses the current buffer.
>>
>> Is that bad?
>
> It's very useful to always create a unique buffer for every compilation:
> this allows keeping error messages from previous compilations.
Hmm, but I suppose it can be a personal preference whether a "recompile"
should create a new buffer or not.
Because it's also reasonable to expect that 'M-x compile' creates a new
buffer (e.g. project-prefixed and unique), but 'recompile', or
'revert-buffer' - keep that buffer around and reuse it. When one wants
to keep the old contents, they could 'M-x compile' (or 'M-x
project-compile') instead.
This might be my preference anyway, because OT1H old compilations are
often (but not always) handy to have around, OT2H I don't like to have
too many buffers, and the above distinction between 'compile' and
'recompile' would be a tool to make that choice.
> I propose even to add such an option to the choice list in
> project-compilation-buffer-name-function, e.g.:
>
> (defcustom project-compilation-buffer-name-function nil
> :type '(choice (const :tag "Default" nil)
> (const :tag "Prefixed with project name"
> project-prefixed-buffer-name)
> (const :tag "Prefixed and unique with project name"
> project-prefixed-unique-buffer-name)
> (function :tag "Custom function")))
Sounds good.
> The previous patch would be needed as well since currently
> there is no way to allow unique project compilation buffers.
The one in 0a07603ae8d?
This bug report was last modified 99 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.