GNU bug report logs -
#67000
30.0.50; [PATCH] Add support for reading/writing IELM input history
Previous Next
Reported by: Simen Heggestøyl <simenheg <at> runbox.com>
Date: Wed, 8 Nov 2023 15:13:01 UTC
Severity: wishlist
Tags: patch
Found in version 30.0.50
Done: Simen Heggestøyl <simenheg <at> runbox.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Simen Heggestøyl <simenheg <at> runbox.com> writes:
>>> +(unless noninteractive
>>> + (add-hook 'kill-emacs-hook #'comint-write-input-ring))
>>
>> I'm not so sure about this part. If this is correct, why should it be
>> defined here, and not, say, in comint.el? It seems like a separate,
>> unrelated change. What am I missing?
>
> Usually comint-derived modes use a process sentinel to listen to some
> external process and call `comint-write-input-ring' when the process
> exists, which works both the buffer is killed or Emacs itself is quit.
>
> For IELM there is no such process to listen to, so I hook into
> `kill-buffer-hook' and `kill-emacs-hook' to achieve the same things.
I'm not against adding a hook to `kill-emacs-hook', but it should be
added when you start IELM and not on top-level. We want to avoid any
side effects from merely loading a file.
I don't think this will work in its current form either: AFAICT,
`comint-write-input-ring' saves it for the current buffer, and that's
not guaranteed to be the *ielm* buffer when `kill-emacs-hook' runs.
So you'd want to first switch to that buffer, I think. It could also
have been renamed meanwhile, so I think you want to save the actual
buffer and not it's name (i.e. use `get-buffer').
This bug report was last modified 1 year and 181 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.