>>>> However, all calls to vc-print-log use this same buffer.
>>>> This seems to be hard-coded in vc.el (vc-print-log-internal).
>>>>
>>>> I would like to be able to make it so that each use of "l" from a
>>>> *vc-dir* buffer gets its own *vc-change-log* buffer; and that "C-x v l"
>>>> in some source file gets a separate buffer. This way the per-project
>>>> change-log buffers could be relatively long-lived; as it is recomputing
>>>> the data in them takes much too long.
>>>
>>> You can already do something similar by using C-x x u to rename the
>>> *vc-change-log* buffer, and then 'g' inside it works to regenerate it.
>>
>> Or (add-hook 'log-view-mode-hook 'rename-uniquely)
>
> Note that while browsing a change log buffer, when one runs the command
> `log-view-diff', the log buffer is not killed.
>
> For people like me who makes an heavy use of "C-x v l", "C-x v L" and "l"
> in *vc-dir* buffers, it leads to have hundreds of *vc-change-log* buffers
> at the end of the day…
Indeed, hundreds of *vc-change-log* buffers is what I have.
But not a problem. On the contrary, preserved buffers often help
to check for their previous content.
Ok, I'll try to live with that.
For the record I attach two patchs that enable per projet change log and diff buffers.
--
Matthias