Skip to content

Conversation

@mychris
Copy link

@mychris mychris commented Nov 24, 2025

eshell-bol is an obsolete function starting with Emacs 30.1. See (view-emacs-news 30.1):

*** Eshell now uses 'field' properties in its output.
In particular, this means that pressing the '<home>' key moves the
point to the beginning of your input, not the beginning of the whole
line. If you want to go back to the old behavior, add something like
this to your configuration:

(keymap-set eshell-mode-map "<home>" #'eshell-bol-ignoring-prompt)

This also means you no longer need to adjust 'eshell-prompt-regexp'
when customizing your Eshell prompt.

With this change in eshell, evil-beginning-of-line already moves to the end of the prompt, if there is any. The only difference which might be there is that if the cursor is in column zero of a line which has a prompt, it doesn't move to the end of the prompt, which I think was the old behaviour of eshell-bol. But since eshell-bol is now a function alias to beginning-of-line, it doesn't make any difference if the mapping in evil-collection is present or not.

Currently, the mapping generates a warning on the first usage of eshell-bol.

Starting with Emacs 30.1, eshell uses 'field' properties for its
output.  This means that functions like beginning-of-line and
move-beginning-of-line now behave as expected, and the function
eshell-bol is marked obsolete.
@condy0919
Copy link
Collaborator

condy0919 commented Nov 29, 2025

I think we can remove these old bindings, keep the behavior same with Emacs master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants