Subject: bug#76561: [PATCH] Promote desktop-dirname to a defcustom

From: Eli Zaretskii <[email-masked]>
Date: Tue, 25 Feb 2025 19:59:03 +0200

> From: João Guerra <[email-masked]>
> Date: Tue, 25 Feb 2025 18:46:47 +0100
> 
> From 16c4e88d7ae08d10f8965e35bb08d4fb4d048bc7 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Jo=C3=A3o=20Guerra?= <[email-masked]>
> Date: Tue, 25 Feb 2025 18:36:57 +0100
> Subject: [PATCH] Promote desktop-dirname to a defcustom
> 
> This should make it more explicit that this variable can be customized by the
> user.

Thanks, but I don't think this is right.  desktop-dirname is a
variable, not a user option, because desktop.el modifies its value
when the user reads or saves desktop, and it is wrong for a Lisp
program to change the value of a user option.

Moreover, one can read several different desktop filers in the same
Emacs session, and desktop.el currently arranges for the subsequent
desktop-save to save desktop to the file from which it was last read.
If users customize desktop-dirname to some value, and desktop.el will
be forced to use this value unconditionally (as it should do with user
options), then this feature will be lost.

May I ask what problem you are trying to solve by this change?  Can
you describe a situation where you needed to force a particular value
of desktop-dirname?

> +(defcustom desktop-dirname nil
> +  "The directory in which the desktop file should be saved."
> +  :type 'directory

If the type is 'directory', then the value cannot be nil, because nil
is not a valid directory.