Advertise OSC directory tracking more

* doc/emacs/misc.texi (Interactive Shell): Document OSC directory
tracking more.
* lisp/shell.el (shell-dirtrack-mode): Link to the OSC directory
tracking function.
This commit is contained in:
Lars Ingebrigtsen 2022-05-05 15:04:43 +02:00
parent 71de48494e
commit 6dbbdff281
2 changed files with 16 additions and 1 deletions

View file

@ -896,6 +896,19 @@ also rename the @file{*shell*} buffer using @kbd{M-x rename-uniquely},
then create a new @file{*shell*} buffer using plain @kbd{M-x shell}.
Subshells in different buffers run independently and in parallel.
Emacs attempts to keep track of what the current directory is by
looking at the commands you enter, looking for @samp{cd} commands and
the like. This is an error-prone solution, since there are many ways
to change the current directory, so Emacs also looks for special
@acronym{OSC} (Operating System Commands} escape codes that are
designed to convey this information in a more reliable fashion. You
should arrange for your shell to print the appropriate escape sequence
at each prompt, for instance with the following command:
@example
printf "\e]7;file://%s%s\e\\" "$HOSTNAME" "$PWD"
@end example
@vindex explicit-shell-file-name
@cindex environment variables for subshells
@cindex @env{ESHELL} environment variable

View file

@ -1033,7 +1033,9 @@ Environment variables are expanded, see function `substitute-in-file-name'."
"Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
The `dirtrack' package provides an alternative implementation of
this feature; see the function `dirtrack-mode'."
this feature; see the function `dirtrack-mode'. Also see
`comint-osc-directory-tracker' for an escape-sequence based
solution."
:lighter nil
(setq list-buffers-directory (if shell-dirtrack-mode default-directory))
(if shell-dirtrack-mode