Re: master 73f37da: Disable undo in the process buffers of a JSONRPC connection

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: master 73f37da: Disable undo in the process buffers of a JSONRPC connection

Stefan Monnier
Hi João,

>     Disable undo in the process buffers of a JSONRPC connection
> +      (buffer-disable-undo)
>        (set-marker (process-mark proc) (point-min))
>        (let ((inhibit-read-only t)) (erase-buffer) (read-only-mode t) proc))
> +    (with-current-buffer stderr
> +      (buffer-disable-undo))

Assuming those buffers are only used internally and are not intended to
be displayed to the end-user (other than for debugging purposes), then
using buffer names with a leading space should take care of this
(undo is disabled by default in those buffers).

If you're already using a leading space in those buffers's names, then
I wonder how/why their undo was enabled in the first place.


        Stefan


Reply | Threaded
Open this post in threaded view
|

Re: master 73f37da: Disable undo in the process buffers of a JSONRPC connection

João Távora
Hi Stefan,

They are indeed intended to be seen by the user. They hold important communications between server and client, and I ask users to post their contents when making Eglot bug reports.

Well I suppose the stdout one less useful than stderr.

And this is more of an LSP requirement than an jsonrpc one. I could theoretically make Eglot tell. Jsonrpc to promote the buffer's visibility, but that seems like overkill right now.

João



On Fri, Dec 13, 2019, 19:28 Stefan Monnier <[hidden email]> wrote:
Hi João,

>     Disable undo in the process buffers of a JSONRPC connection
> +      (buffer-disable-undo)
>        (set-marker (process-mark proc) (point-min))
>        (let ((inhibit-read-only t)) (erase-buffer) (read-only-mode t) proc))
> +    (with-current-buffer stderr
> +      (buffer-disable-undo))

Assuming those buffers are only used internally and are not intended to
be displayed to the end-user (other than for debugging purposes), then
using buffer names with a leading space should take care of this
(undo is disabled by default in those buffers).

If you're already using a leading space in those buffers's names, then
I wonder how/why their undo was enabled in the first place.


        Stefan