* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
@ 2023-11-03 0:14 Allen Li
2023-11-03 7:15 ` Eli Zaretskii
0 siblings, 1 reply; 14+ messages in thread
From: Allen Li @ 2023-11-03 0:14 UTC (permalink / raw)
To: 66903
[-- Attachment #1: Type: text/plain, Size: 805 bytes --]
Reproduce:
(assume ~/bin exists)
1. M-x shell RET
2. cd ~//bin RET
3. M-: default-directory RET
Expected:
default-directory is ~/bin
Actual:
default-directory is /bin
It seems like the directory tracker uses Emacs's convention for double
slashes "resetting" a path to root, but most shells treat double slashes
the same as single slashes.
It looks like this should be fixed in `shell-cd` (which should also fix
`shell-process-pushd`) by implementing "custom" path handling (compared
to Emacs default path handling behavior).
In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
cairo version 1.16.0) of 2023-09-03, modified by Debian built on
kokoro-ubuntu
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux rodete
[-- Attachment #2: Type: text/html, Size: 949 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 0:14 bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes Allen Li
@ 2023-11-03 7:15 ` Eli Zaretskii
2023-11-03 7:22 ` Allen Li
0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-03 7:15 UTC (permalink / raw)
To: Allen Li; +Cc: 66903
severity 66903 wishlist
thanks
> From: Allen Li <darkfeline@felesatra.moe>
> Date: Thu, 2 Nov 2023 17:14:36 -0700
>
> (assume ~/bin exists)
>
> 1. M-x shell RET
> 2. cd ~//bin RET
> 3. M-: default-directory RET
>
> Expected:
>
> default-directory is ~/bin
>
> Actual:
>
> default-directory is /bin
This is the standard Emacs behavior: double slash makes everything
before that ignored.
> It seems like the directory tracker uses Emacs's convention for double
> slashes "resetting" a path to root, but most shells treat double slashes
> the same as single slashes.
"M-x shell" is not a shell, it is an Emacs interface to a shell.
Thus, it should be free to implement behavior not present in the
shell, if we consider it convenient for Emacs users.
> It looks like this should be fixed in `shell-cd` (which should also fix
> `shell-process-pushd`) by implementing "custom" path handling (compared
> to Emacs default path handling behavior).
This is not a bug. I'm okay with adding a new optional feature that
would disable the above behavior, but it must be off by default.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 7:15 ` Eli Zaretskii
@ 2023-11-03 7:22 ` Allen Li
2023-11-03 7:26 ` Eli Zaretskii
0 siblings, 1 reply; 14+ messages in thread
From: Allen Li @ 2023-11-03 7:22 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 66903
[-- Attachment #1: Type: text/plain, Size: 1239 bytes --]
On Fri, Nov 3, 2023 at 12:16 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> "M-x shell" is not a shell, it is an Emacs interface to a shell.
> Thus, it should be free to implement behavior not present in the
> shell, if we consider it convenient for Emacs users.
>
The behavior it is supposed to implement is that it tracks the working
directory of the shell.
Currently, it fails to do so for most shells that a user would use.
In fact, it fails to do so for the default value `/bin/bash`.
> > It looks like this should be fixed in `shell-cd` (which should also fix
> > `shell-process-pushd`) by implementing "custom" path handling (compared
> > to Emacs default path handling behavior).
>
> This is not a bug. I'm okay with adding a new optional feature that
> would disable the above behavior, but it must be off by default.
>
This is absolutely a bug. The feature, where shell-mode attempts to track
the working
directory of its subshell, fails to work for most shells in existence
(e.g., derivatives of POSIX sh, csh, zsh, etc.) and including the default
shell.
I agree it may be an option, but I disagree that it should be off by
default, given that the
default configured shell Bash requires it.
[-- Attachment #2: Type: text/html, Size: 1779 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 7:22 ` Allen Li
@ 2023-11-03 7:26 ` Eli Zaretskii
2023-11-03 8:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-03 10:43 ` Allen Li
0 siblings, 2 replies; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-03 7:26 UTC (permalink / raw)
To: Allen Li; +Cc: 66903
> From: Allen Li <darkfeline@felesatra.moe>
> Date: Fri, 3 Nov 2023 00:22:26 -0700
> Cc: 66903@debbugs.gnu.org
>
> On Fri, Nov 3, 2023 at 12:16 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> "M-x shell" is not a shell, it is an Emacs interface to a shell.
> Thus, it should be free to implement behavior not present in the
> shell, if we consider it convenient for Emacs users.
>
> The behavior it is supposed to implement is that it tracks the working directory of the shell.
> Currently, it fails to do so for most shells that a user would use.
> In fact, it fails to do so for the default value `/bin/bash`.
>
> > It looks like this should be fixed in `shell-cd` (which should also fix
> > `shell-process-pushd`) by implementing "custom" path handling (compared
> > to Emacs default path handling behavior).
>
> This is not a bug. I'm okay with adding a new optional feature that
> would disable the above behavior, but it must be off by default.
>
> This is absolutely a bug. The feature, where shell-mode attempts to track the working
> directory of its subshell, fails to work for most shells in existence
> (e.g., derivatives of POSIX sh, csh, zsh, etc.) and including the default shell.
>
> I agree it may be an option, but I disagree that it should be off by default, given that the
> default configured shell Bash requires it.
I think we disagree about what should be fixed: the value of
default-directory or the directory to which "cd ~//bin" switches.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 7:26 ` Eli Zaretskii
@ 2023-11-03 8:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-03 12:02 ` Eli Zaretskii
2023-11-03 10:43 ` Allen Li
1 sibling, 1 reply; 14+ messages in thread
From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-03 8:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 66903, Allen Li
Hi,
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Allen Li <darkfeline@felesatra.moe>
>> Date: Fri, 3 Nov 2023 00:22:26 -0700
>> Cc: 66903@debbugs.gnu.org
>>
>> On Fri, Nov 3, 2023 at 12:16 AM Eli Zaretskii <eliz@gnu.org> wrote:
>>
>> "M-x shell" is not a shell, it is an Emacs interface to a shell.
>> Thus, it should be free to implement behavior not present in the
>> shell, if we consider it convenient for Emacs users.
>>
>> The behavior it is supposed to implement is that it tracks the working directory of the shell.
>> Currently, it fails to do so for most shells that a user would use.
>> In fact, it fails to do so for the default value `/bin/bash`.
>>
>> > It looks like this should be fixed in `shell-cd` (which should also fix
>> > `shell-process-pushd`) by implementing "custom" path handling (compared
>> > to Emacs default path handling behavior).
>>
>> This is not a bug. I'm okay with adding a new optional feature that
>> would disable the above behavior, but it must be off by default.
>>
>> This is absolutely a bug. The feature, where shell-mode attempts to track the working
>> directory of its subshell, fails to work for most shells in existence
>> (e.g., derivatives of POSIX sh, csh, zsh, etc.) and including the default shell.
>>
>> I agree it may be an option, but I disagree that it should be off by default, given that the
>> default configured shell Bash requires it.
>
> I think we disagree about what should be fixed: the value of
> default-directory or the directory to which "cd ~//bin" switches.
IIUC what you're implying here is that "cd ~//bin" should actually
switch the shell's current directory to /bin instead of ~/bin, is that
right?
I just wanted to note that this is not really an option with M-x shell,
because it is the shell, and not Emacs, that interprets "cd" and changes
directory. Emacs just tracks certain shell commands and tries to keep
the buffer's `default-directory` up to date with the shell's directory.
Best,
Eshel
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 7:26 ` Eli Zaretskii
2023-11-03 8:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-03 10:43 ` Allen Li
2023-11-03 12:07 ` Eli Zaretskii
1 sibling, 1 reply; 14+ messages in thread
From: Allen Li @ 2023-11-03 10:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 66903
[-- Attachment #1: Type: text/plain, Size: 1008 bytes --]
On Fri, Nov 3, 2023 at 12:26 AM Eli Zaretskii <eliz@gnu.org> wrote:
> I think we disagree about what should be fixed: the value of
> default-directory or the directory to which "cd ~//bin" switches.
>
Sorry, let me clarify
Currently, `cd ~//bin` will cause the shell (Bash or similar) to change to
~/bin, and Emacs/shell-mode will change `default-directory` to `/bin`.
This bug is saying that Emacs/shell-mode should change `default-directory`
to `~/bin` by default, optionally with a user option that reverts to the
current behavior in case the user has in fact explicitly configured to use
a shell that interprets `cd ~//bin` to mean `cd /bin` (although I am not
aware of any shells that do this (except eshell, which is not relevant to
this issue)).
I (mis?)interpreted your statement to mean that you think the current
behavior is not a bug and should be the default (that Emacs/shell-mode
should change `default-directory` to `/bin` even though the shell changes
to ~/bin).
[-- Attachment #2: Type: text/html, Size: 1308 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 8:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-03 12:02 ` Eli Zaretskii
2023-11-03 12:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-03 12:02 UTC (permalink / raw)
To: Eshel Yaron; +Cc: 66903, darkfeline
> From: Eshel Yaron <me@eshelyaron.com>
> Cc: Allen Li <darkfeline@felesatra.moe>, 66903@debbugs.gnu.org
> Date: Fri, 03 Nov 2023 09:35:26 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I think we disagree about what should be fixed: the value of
> > default-directory or the directory to which "cd ~//bin" switches.
>
> IIUC what you're implying here is that "cd ~//bin" should actually
> switch the shell's current directory to /bin instead of ~/bin, is that
> right?
Yes.
> I just wanted to note that this is not really an option with M-x shell,
> because it is the shell, and not Emacs, that interprets "cd" and changes
> directory.
You assume that shell.el must send everything the user types verbatim
to the shell?
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 10:43 ` Allen Li
@ 2023-11-03 12:07 ` Eli Zaretskii
2023-11-03 20:54 ` Allen Li
0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-03 12:07 UTC (permalink / raw)
To: Allen Li; +Cc: 66903
> From: Allen Li <darkfeline@felesatra.moe>
> Date: Fri, 3 Nov 2023 03:43:35 -0700
> Cc: 66903@debbugs.gnu.org
>
> Currently, `cd ~//bin` will cause the shell (Bash or similar) to change to ~/bin, and Emacs/shell-mode
> will change `default-directory` to `/bin`.
>
> This bug is saying that Emacs/shell-mode should change `default-directory` to `~/bin` by default,
I think it should change default-directory to the directory to which
the shell switches, not necessarily ~/bin.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 12:02 ` Eli Zaretskii
@ 2023-11-03 12:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-03 14:24 ` Eli Zaretskii
0 siblings, 1 reply; 14+ messages in thread
From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-03 12:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 66903, darkfeline
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Eshel Yaron <me@eshelyaron.com>
>> Cc: Allen Li <darkfeline@felesatra.moe>, 66903@debbugs.gnu.org
>> Date: Fri, 03 Nov 2023 09:35:26 +0100
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> > I think we disagree about what should be fixed: the value of
>> > default-directory or the directory to which "cd ~//bin" switches.
>>
>> IIUC what you're implying here is that "cd ~//bin" should actually
>> switch the shell's current directory to /bin instead of ~/bin, is that
>> right?
>
> Yes.
>
>> I just wanted to note that this is not really an option with M-x shell,
>> because it is the shell, and not Emacs, that interprets "cd" and changes
>> directory.
>
> You assume that shell.el must send everything the user types verbatim
> to the shell?
No, not "must" and not "everything", but if you think about it
intercepting "cd" and altering its argument would make `M-x shell`
incompatible with other shell interfaces, breaking valid command lines
in weird ways. Does that make sense?
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 12:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-03 14:24 ` Eli Zaretskii
2023-11-04 0:21 ` Stefan Kangas
0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-03 14:24 UTC (permalink / raw)
To: Eshel Yaron; +Cc: 66903, darkfeline
> From: Eshel Yaron <me@eshelyaron.com>
> Cc: darkfeline@felesatra.moe, 66903@debbugs.gnu.org
> Date: Fri, 03 Nov 2023 13:35:46 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> I just wanted to note that this is not really an option with M-x shell,
> >> because it is the shell, and not Emacs, that interprets "cd" and changes
> >> directory.
> >
> > You assume that shell.el must send everything the user types verbatim
> > to the shell?
>
> No, not "must" and not "everything", but if you think about it
> intercepting "cd" and altering its argument would make `M-x shell`
> incompatible with other shell interfaces, breaking valid command lines
> in weird ways. Does that make sense?
It does to me. To understand why, start Emacs in your HOME directory,
and then type this:
M-x cd RET ~//bin RET
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 12:07 ` Eli Zaretskii
@ 2023-11-03 20:54 ` Allen Li
2023-11-04 6:34 ` Eli Zaretskii
0 siblings, 1 reply; 14+ messages in thread
From: Allen Li @ 2023-11-03 20:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 66903
[-- Attachment #1: Type: text/plain, Size: 2605 bytes --]
On Fri, Nov 3, 2023 at 5:07 AM Eli Zaretskii <eliz@gnu.org> wrote:
> > From: Allen Li <darkfeline@felesatra.moe>
> > Date: Fri, 3 Nov 2023 03:43:35 -0700
> > Cc: 66903@debbugs.gnu.org
> >
> > Currently, `cd ~//bin` will cause the shell (Bash or similar) to change
> to ~/bin, and Emacs/shell-mode
> > will change `default-directory` to `/bin`.
> >
> > This bug is saying that Emacs/shell-mode should change
> `default-directory` to `~/bin` by default,
>
> I think it should change default-directory to the directory to which
> the shell switches, not necessarily ~/bin.
>
That sounds different from what you're implying in your other emails.
Using sentences here is confusing.
The current behavior is:
Case 1
input: ~//bin
shell: ~/bin
default-directory: /bin
I'm suggesting
Case 2
input: ~//bin
shell: ~/bin
default-directory: ~/bin
When you say "I think it should change default-directory to the directory
to which
the shell switches, not necessarily ~/bin.", that implies to me Case 2
But your other emails suggest that you want:
Case 3
input: ~//bin (Emacs rewrites to /bin before sending to shell)
shell: /bin
default-directory: /bin
Assuming that you want Case 3, I think that is horrible for multiple
reasons. Firstly, a user would expect their shell to behave as in Case 2;
Case 3 is a surprising and semantically different rewrite of user input.
Furthermore, we would either have to rewrite all paths not just paths to
`cd`, which would be infeasible and error-prone, or surprise the user again
that Emacs is rewriting paths to `cd` specifically, but not, say, `rm` or
`mv` or many other commands (e.g., `mv ~//bin ~//lib`). Furthermore, the
only shell input rewriting that Emacs currently does is for history
substitutions, and the syntax for this is identical to common shells;
therefore, users can expect that Emacs does not do any surprising semantic
rewrites of their shell input. Case 3 would be violating this expectation.
For completeness, there is also
Case 4
input: ~//bin
shell: /bin (normal shell behavior)
default-directory: /bin
However, I am aware of zero shells in common use that behave like Case 4.
Even if we consider it, it should not be the default.
Also for completeness, there is a nuclear solution option, which is to
replace all of the cd, pushd, popd logic that shell-mode currently
implements and always run M-x dirs after every cd, pushd, popd command.
This naturally results in the behavior of Case 2, but also supports Case 4
for hypothetical shells that have said behavior.
[-- Attachment #2: Type: text/html, Size: 3581 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 14:24 ` Eli Zaretskii
@ 2023-11-04 0:21 ` Stefan Kangas
2023-11-04 2:53 ` Visuwesh
0 siblings, 1 reply; 14+ messages in thread
From: Stefan Kangas @ 2023-11-04 0:21 UTC (permalink / raw)
To: Eli Zaretskii, Eshel Yaron; +Cc: 66903, darkfeline
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Eshel Yaron <me@eshelyaron.com>
>> Cc: darkfeline@felesatra.moe, 66903@debbugs.gnu.org
>> Date: Fri, 03 Nov 2023 13:35:46 +0100
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> I just wanted to note that this is not really an option with M-x shell,
>> >> because it is the shell, and not Emacs, that interprets "cd" and changes
>> >> directory.
>> >
>> > You assume that shell.el must send everything the user types verbatim
>> > to the shell?
>>
>> No, not "must" and not "everything", but if you think about it
>> intercepting "cd" and altering its argument would make `M-x shell`
>> incompatible with other shell interfaces, breaking valid command lines
>> in weird ways. Does that make sense?
>
> It does to me. To understand why, start Emacs in your HOME directory,
> and then type this:
>
> M-x cd RET ~//bin RET
It would be highly dangerous to start mangling command lines to shells
run under `M-x shell' in incompatible ways. Not to mention that such a
change would be backwards-incompatible. Consider the command
sudo rm -rf ~//usr
This is not a contrived example, BTW, but more or less exactly a command
I have run in the last year. I don't think I used //, but double
slashes are always collapsed in POSIX, so I can't be sure. It's not
something I look for that when cobbling together shell commands in
POSIX-compatible shells (bash and zsh here).
So I think we should not do that.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-04 0:21 ` Stefan Kangas
@ 2023-11-04 2:53 ` Visuwesh
0 siblings, 0 replies; 14+ messages in thread
From: Visuwesh @ 2023-11-04 2:53 UTC (permalink / raw)
To: Stefan Kangas; +Cc: 66903, Eli Zaretskii, Eshel Yaron, darkfeline
[வெள்ளி நவம்பர் 03, 2023] Stefan Kangas wrote:
> It would be highly dangerous to start mangling command lines to shells
> run under `M-x shell' in incompatible ways. Not to mention that such a
> change would be backwards-incompatible. Consider the command
>
> sudo rm -rf ~//usr
>
> This is not a contrived example, BTW, but more or less exactly a command
> I have run in the last year. I don't think I used //, but double
> slashes are always collapsed in POSIX, so I can't be sure. It's not
> something I look for that when cobbling together shell commands in
> POSIX-compatible shells (bash and zsh here).
>
> So I think we should not do that.
A more common scenario I can think of is output of commands not
sanitising the filenames to change the double slashes to a single slash.
When you copy such a filename from the output to the comint prompt as
part of a command and experience a different behaviour when you send the
command, it would be annoying IMO. I copy the filename from the output
precisely to avoid typing-and-editing, I don't want to do it more.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes
2023-11-03 20:54 ` Allen Li
@ 2023-11-04 6:34 ` Eli Zaretskii
0 siblings, 0 replies; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-04 6:34 UTC (permalink / raw)
To: Allen Li; +Cc: 66903
> From: Allen Li <darkfeline@felesatra.moe>
> Date: Fri, 3 Nov 2023 13:54:09 -0700
> Cc: 66903@debbugs.gnu.org
>
> That sounds different from what you're implying in your other emails. Using sentences here is
> confusing.
That's because your original report was confusing.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-11-04 6:34 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-03 0:14 bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes Allen Li
2023-11-03 7:15 ` Eli Zaretskii
2023-11-03 7:22 ` Allen Li
2023-11-03 7:26 ` Eli Zaretskii
2023-11-03 8:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-03 12:02 ` Eli Zaretskii
2023-11-03 12:35 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-03 14:24 ` Eli Zaretskii
2023-11-04 0:21 ` Stefan Kangas
2023-11-04 2:53 ` Visuwesh
2023-11-03 10:43 ` Allen Li
2023-11-03 12:07 ` Eli Zaretskii
2023-11-03 20:54 ` Allen Li
2023-11-04 6:34 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).