From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: "Kelly Dean" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 16 Nov 2014 12:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19068 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 19068@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.14161406271162 (code B ref -1); Sun, 16 Nov 2014 12:24:01 +0000 Received: (at submit) by debbugs.gnu.org; 16 Nov 2014 12:23:47 +0000 Received: from localhost ([127.0.0.1]:34386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xpyrq-0000Ig-Ig for submit@debbugs.gnu.org; Sun, 16 Nov 2014 07:23:46 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43334) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xpyro-0000IY-Eg for submit@debbugs.gnu.org; Sun, 16 Nov 2014 07:23:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xpyre-0003ek-A2 for submit@debbugs.gnu.org; Sun, 16 Nov 2014 07:23:44 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42733) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xpyre-0003ee-6n for submit@debbugs.gnu.org; Sun, 16 Nov 2014 07:23:34 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44986) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XpyrT-0001Z5-Sl for bug-gnu-emacs@gnu.org; Sun, 16 Nov 2014 07:23:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XpyrJ-0003c9-Op for bug-gnu-emacs@gnu.org; Sun, 16 Nov 2014 07:23:23 -0500 Received: from relay5-d.mail.gandi.net ([2001:4b98:c:538::197]:60487) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XpyrJ-0003bu-IB for bug-gnu-emacs@gnu.org; Sun, 16 Nov 2014 07:23:13 -0500 Received: from mfilter12-d.gandi.net (mfilter12-d.gandi.net [217.70.178.129]) by relay5-d.mail.gandi.net (Postfix) with ESMTP id C081441C05C for ; Sun, 16 Nov 2014 13:23:08 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter12-d.gandi.net Received: from relay5-d.mail.gandi.net ([217.70.183.197]) by mfilter12-d.gandi.net (mfilter12-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 0Jz9fgb-aJBI for ; Sun, 16 Nov 2014 13:23:07 +0100 (CET) X-Originating-IP: 73.169.42.166 Received: from localhost (c-73-169-42-166.hsd1.co.comcast.net [73.169.42.166]) (Authenticated sender: kelly@prtime.org) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 2FE5D41C053 for ; Sun, 16 Nov 2014 13:23:05 +0100 (CET) From: "Kelly Dean" Date: Sun, 16 Nov 2014 11:27:23 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Delete your ~/Mail directory (uppercase =E2=8C=9CM=E2=8C=9D). Make a ~/mail directory (lowercase =E2=8C=9Cm=E2=8C=9D). Put in your init file just: (require 'message) (setq message-directory "~/mail/") Start Emacs 24.4. Notice that message-auto-save-directory is now =E2=8C=9C~/=E2=8C=9D. The default value of message-auto-save-directory is (if (file-writable-p message-directory) (file-name-as-directory (expand-file-name "drafts" message-director= y)) "~/") but that fails to work as intended, because message-directory still has i= ts default value of =E2=8C=9C~/Mail/=E2=8C=9D, because message.el hasn't = been loaded yet. The docstring for message-directory says =E2=8C=9CDirectory from which al= l other mail file variables are derived=E2=8C=9D, which is misleading bec= ause it implies that if you customize that variable, all other mail file = variables will be changed to match your customization. You could avoid the problem by ensuring that the setq comes not only befo= re the require of message, but also before the require of anything else t= hat might require message, but that defeats the point of require (which i= s supposed to avoid the brittleness of load). Fixing this requires either the other vars to be changed into functions t= hat dynamically derive pathnames from message-directory, or something lik= e a set-message-directory function to be made as a replacement for the me= ssage-directory var, to update all the other vars when it's called. Also, grep -r "~/Mail/" emacs-24.4/lisp/ | grep 'el:' gives 19 hits, all of which are inappropriate if ~/Mail isn't supposed to= be hardcoded. If ~/Mail is supposed to be hardcoded, then the message-di= rectory variable should be removed, to avoid misleading users. From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Kelly Dean Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 23 Jan 2015 03:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142198397615503 (code B ref 19068); Fri, 23 Jan 2015 03:33:01 +0000 Received: (at 19068) by debbugs.gnu.org; 23 Jan 2015 03:32:56 +0000 Received: from localhost ([127.0.0.1]:53349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YEUzQ-00041z-F2 for submit@debbugs.gnu.org; Thu, 22 Jan 2015 22:32:56 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:35891) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YEUzN-00041q-Qq for 19068@debbugs.gnu.org; Thu, 22 Jan 2015 22:32:54 -0500 Received: from mfilter28-d.gandi.net (mfilter28-d.gandi.net [217.70.178.159]) by relay3-d.mail.gandi.net (Postfix) with ESMTP id ECF83A80AD for <19068@debbugs.gnu.org>; Fri, 23 Jan 2015 04:32:52 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter28-d.gandi.net Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by mfilter28-d.gandi.net (mfilter28-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id NZ8mQjhW0Bxo for <19068@debbugs.gnu.org>; Fri, 23 Jan 2015 04:32:51 +0100 (CET) X-Originating-IP: 66.220.3.179 Received: from localhost (gm179.geneticmail.com [66.220.3.179]) (Authenticated sender: kelly@prtime.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 52DF5A80B0 for <19068@debbugs.gnu.org>; Fri, 23 Jan 2015 04:32:49 +0100 (CET) From: Kelly Dean In-Reply-To: References: Date: Fri, 23 Jan 2015 03:31:51 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I wrote: > that fails to work as intended, because message-directory still has its > default value of =E2=8C=9C~/Mail/=E2=8C=9D, because message.el hasn't b= een loaded yet. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I meant: ...because the setq in your init file hasn't been reached yet. From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: [PATCH] Mail file vars aren't derived from customized message-directory In-Reply-To: Resent-From: Kelly Dean Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Wed, 28 Jan 2015 10:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142244033419078 (code B ref 19068); Wed, 28 Jan 2015 10:19:02 +0000 Received: (at 19068) by debbugs.gnu.org; 28 Jan 2015 10:18:54 +0000 Received: from localhost ([127.0.0.1]:58493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGPi2-0004xd-GT for submit@debbugs.gnu.org; Wed, 28 Jan 2015 05:18:54 -0500 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:35601) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGPhz-0004xU-Pi for 19068@debbugs.gnu.org; Wed, 28 Jan 2015 05:18:52 -0500 Received: from mfilter41-d.gandi.net (mfilter41-d.gandi.net [217.70.178.173]) by relay6-d.mail.gandi.net (Postfix) with ESMTP id B400DFB86E for <19068@debbugs.gnu.org>; Wed, 28 Jan 2015 11:18:50 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter41-d.gandi.net Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by mfilter41-d.gandi.net (mfilter41-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id zqpyiJswDDXM for <19068@debbugs.gnu.org>; Wed, 28 Jan 2015 11:18:49 +0100 (CET) X-Originating-IP: 66.220.3.179 Received: from localhost (gm179.geneticmail.com [66.220.3.179]) (Authenticated sender: kelly@prtime.org) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id BC898FB8E0 for <19068@debbugs.gnu.org>; Wed, 28 Jan 2015 11:18:47 +0100 (CET) From: Kelly Dean References: Date: Wed, 28 Jan 2015 10:17:40 +0000 Message-ID: <9G2noUuGwxG6KgMQVvwySB1lREG65wCckfFtcCmFoFQ@local> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain The attached patch fixes this bug. This patch relies on the varhook feature. For details, see: https://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00974.html --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=message-directory-bug.patch --- emacs-24.4/lisp/gnus/message.el +++ emacs-24.4/lisp/gnus/message.el @@ -120,6 +120,9 @@ :group 'message-various :type 'directory) +(defvar message-directory-varhook nil) +(put 'message-directory 'varhook 'message-directory-varhook) + (defcustom message-max-buffers 10 "*How many buffers to keep before starting to kill them off." :group 'message-buffers @@ -1326,6 +1329,16 @@ :link '(custom-manual "(message)Various Message Variables") :type '(choice directory (const :tag "Don't auto-save" nil))) +;; Update message-auto-save-directory when message-directory changes. +;; Fixes bug #19068. +(add-hook 'message-directory-varhook + (lambda (_sym _env) + (setq message-auto-save-directory + (if (file-writable-p message-directory) + (file-name-as-directory + (expand-file-name "drafts" message-directory)) + "~/")))) + (defcustom message-default-charset (and (not (mm-multibyte-p)) 'iso-8859-1) "Default charset used in non-MULE Emacsen. --=-=-=-- From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Thu, 29 Jan 2015 08:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: "Kelly Dean" Cc: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.14225200993632 (code B ref 19068); Thu, 29 Jan 2015 08:29:01 +0000 Received: (at 19068) by debbugs.gnu.org; 29 Jan 2015 08:28:19 +0000 Received: from localhost ([127.0.0.1]:56822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGkSY-0000wW-Vh for submit@debbugs.gnu.org; Thu, 29 Jan 2015 03:28:19 -0500 Received: from smtp.syd.comcen.com.au ([203.23.236.77]:4360) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGkSV-0000wK-OL for 19068@debbugs.gnu.org; Thu, 29 Jan 2015 03:28:17 -0500 Received: from building.gnus.org ([27.96.197.126]) by smtp.syd.comcen.com.au (8.13.4/8.12.9) with ESMTP id t0T8REre094957; Thu, 29 Jan 2015 19:27:14 +1100 (EST) From: Lars Ingebrigtsen References: Date: Thu, 29 Jan 2015 19:27:09 +1100 In-Reply-To: (Kelly Dean's message of "Sun, 16 Nov 2014 11:27:23 +0000") Message-ID: <871tme3sbm.fsf@building.gnus.org> User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-comcen-MailScanner-Information: Please contact the ISP for more information X-comcen-MailScanner: Found to be clean X-comcen-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=0.101, required 4, AWL 0.00, BAYES_50 0.00, RDNS_NONE 0.10) X-comcen-MailScanner-From: larsi@gnus.org X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) "Kelly Dean" writes: > Delete your ~/Mail directory (uppercase =E2=8C=9CM=E2=8C=9D). > Make a ~/mail directory (lowercase =E2=8C=9Cm=E2=8C=9D). > > Put in your init file just: > (require 'message) > (setq message-directory "~/mail/") That's the wrong way to set variables that have other variables that depend on them. Instead say (setq message-directory "~/mail/") (require 'message) --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog http://lars.ingebrigtsen.no/ From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Thu, 29 Jan 2015 11:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: 19068@debbugs.gnu.org, emacs-devel@gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142253138031727 (code B ref 19068); Thu, 29 Jan 2015 11:37:02 +0000 Received: (at 19068) by debbugs.gnu.org; 29 Jan 2015 11:36:20 +0000 Received: from localhost ([127.0.0.1]:56871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGnOW-0008Ff-58 for submit@debbugs.gnu.org; Thu, 29 Jan 2015 06:36:20 -0500 Received: from fely.am-1.org ([78.47.74.50]:41106) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGnOT-0008FT-Bd for 19068@debbugs.gnu.org; Thu, 29 Jan 2015 06:36:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=fpCpf12KnXwi30pgmPeYKtXWWZY9bNE0bkVzchz+y2Y=; b=eQMmAOy/QXgzn80jGktYxs2/VE2v5kxs5J1u0/XAeMUAYrJ9A03Msk9u5nUuACCurVpozKTPqFYBdtCZu45UwBFimLNX0p21iPCPWGQsM8CYodtI3sd3vwzd9V+Tp+1YT2eVwF6UqVcWUeyh1oncS6p1Ct4pUCTNDR8otSpQFaA=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YGnOO-0003Vt-C4; Thu, 29 Jan 2015 11:36:13 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YGnOG-0006jj-E0; Thu, 29 Jan 2015 18:36:04 +0700 From: Ivan Shmakov References: <871tme3sbm.fsf@building.gnus.org> <4HEgHd24tKVHJkFYvKryLuxc8K21mIEO6gzZl9psynt@local> Mail-Followup-To: 19068@debbugs.gnu.org, emacs-devel@gnu.org Date: Thu, 29 Jan 2015 11:36:03 +0000 In-Reply-To: <4HEgHd24tKVHJkFYvKryLuxc8K21mIEO6gzZl9psynt@local> (Kelly Dean's message of "Thu, 29 Jan 2015 10:59:05 +0000") Message-ID: <87vbjpkee4.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Kelly Dean writes: >>>>> Lars Ingebrigtsen wrote: [Cc: 19068@, as the discussion still seems relevant to the bug.] >> That's the wrong way to set variables that have other variables that >> depend on them. >> Instead say >> (setq message-directory "~/mail/") (require 'message) > And what if you happened to previously require something that already > required message? Do you want to require users to always put all > their =C2=ABsetq=C2=BBs before all their =C2=ABrequire=C2=BBs, just in c= ase? As long as we speak about ~/.emacs, my free advice to the users would be to =E2=80=98setq=E2=80=99 first, and =E2=80=98require=E2=80=99 ne= ver. That is: if the user needs an explicit =E2=80=98require=E2=80=99 there, it= =E2=80=99s quite likely that something is already broken. Normally, all the Emacs packages=E2=80=99 =E2=80=9Centry points=E2=80=9D are autoloaded,= and enabling a particular function should be just a matter of setting up a specific hook, or adding an entry to a specific alist, etc. In the worst case, the user may need to add an =E2=80=98autoload=E2=80=99 = form to his or her own ~/.emacs, if one=E2=80=99s somehow missing from the package=E2=80=99s own .el (or loaddefs.el, or the user=E2=80=99s own priva= te analogue thereof.) > Or what if you were already using message mode with the default > directory settings, but then you decided to change it and customize > message-directory using Emacs's customization feature, and read the > help page that says =E2=8C=9CDirectory from which all other mail file > variables are derived=E2=8C=9D? I agree that the docstring for this variable is misleading, =E2=80=93 it is /not/ the usual semantics for a variable to change when some other variable (however related) is changed, =E2=80=93 neither in Emacs Lisp, nor in the majority of the programming languages I know. (One notable exception being Make.) That=E2=80=99s contrary to, say, Gnus =E2=80=9Cgroup parameters,=E2=80=9D = which are reconsidered something like every time the group is accessed. I guess it=E2=80=99s possible to reimplement message-directory and its =E2=80=9Cdependent=E2=80=9D variables in a similar manner, but I doubt it= =E2=80=99d worth the effort. > Would you not expect that when you change a top-level directory, the > directories under it remain under it? After all, that's the way =C2=ABm= v=C2=BB > behaves. To continue with the analogy, if you $ dir=3D~/mail in the shell, and then $ mv ~/mail ~/othername, would you expect for ${dir} to still refer to the same directory, =E2=80=93 now known as ~/othername? --=20 FSF associate member #7257 np. Omega =E2=80=94 Bruce Dickinson =E2=80=A6 3= 013 B6A0 230E 334A From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Thu, 29 Jan 2015 16:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Kelly Dean Cc: 19068@debbugs.gnu.org X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Reply-To: Eli Zaretskii Received: via spool by submit@debbugs.gnu.org id=B.1422547775466 (code B ref -1); Thu, 29 Jan 2015 16:10:03 +0000 Received: (at submit) by debbugs.gnu.org; 29 Jan 2015 16:09:35 +0000 Received: from localhost ([127.0.0.1]:57406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGrew-00007S-T9 for submit@debbugs.gnu.org; Thu, 29 Jan 2015 11:09:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:54639) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGreu-00007G-2c for submit@debbugs.gnu.org; Thu, 29 Jan 2015 11:09:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGren-0006ZB-UT for submit@debbugs.gnu.org; Thu, 29 Jan 2015 11:09:26 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33191) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGren-0006Z5-S9 for submit@debbugs.gnu.org; Thu, 29 Jan 2015 11:09:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGren-0005IX-1R for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 11:09:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGrei-0006YK-1q for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 11:09:24 -0500 Received: from mtaout29.012.net.il ([80.179.55.185]:45269) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGreh-0006Y6-Pz for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 11:09:19 -0500 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NIY006004KM8N00@mtaout29.012.net.il> for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 18:05:45 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIY00J3X4PLNKB0@mtaout29.012.net.il>; Thu, 29 Jan 2015 18:05:45 +0200 (IST) Date: Thu, 29 Jan 2015 18:09:14 +0200 From: Eli Zaretskii In-reply-to: X-012-Sender: halo1@inter.net.il Message-id: <83r3udmuvp.fsf@gnu.org> References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: "Kelly Dean" > Date: Sun, 16 Nov 2014 11:27:23 +0000 > > Also, > grep -r "~/Mail/" emacs-24.4/lisp/ | grep 'el:' > gives 19 hits, all of which are inappropriate if ~/Mail isn't supposed to be hardcoded. If ~/Mail is supposed to be hardcoded, then the message-directory variable should be removed, to avoid misleading users. This is a red herring: all of these hits are either in comments or in default values of other defcustoms. From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Kelly Dean Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 30 Jan 2015 07:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.1422601983430 (code B ref 19068); Fri, 30 Jan 2015 07:14:01 +0000 Received: (at 19068) by debbugs.gnu.org; 30 Jan 2015 07:13:03 +0000 Received: from localhost ([127.0.0.1]:57722 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH5lH-00006q-5o for submit@debbugs.gnu.org; Fri, 30 Jan 2015 02:13:03 -0500 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:45259) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH5lF-00006P-6H for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 02:13:02 -0500 Received: from mfilter35-d.gandi.net (mfilter35-d.gandi.net [217.70.178.166]) by relay6-d.mail.gandi.net (Postfix) with ESMTP id A0E9FFB8A3; Fri, 30 Jan 2015 08:12:59 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter35-d.gandi.net Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by mfilter35-d.gandi.net (mfilter35-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 7xIlVzarwbJu; Fri, 30 Jan 2015 08:12:58 +0100 (CET) X-Originating-IP: 66.220.3.179 Received: from localhost (gm179.geneticmail.com [66.220.3.179]) (Authenticated sender: kelly@prtime.org) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id C1E37FB89F; Fri, 30 Jan 2015 08:12:56 +0100 (CET) From: Kelly Dean References: <83r3udmuvp.fsf@gnu.org> In-reply-to: <83r3udmuvp.fsf@gnu.org> Date: Fri, 30 Jan 2015 07:11:52 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii wrote: >> Also, >> grep -r "~/Mail/" emacs-24.4/lisp/ | grep 'el:' >> gives 19 hits, all of which are inappropriate if ~/Mail isn't supposed= to be hardcoded. If ~/Mail is supposed to be hardcoded, then the message= -directory variable should be removed, to avoid misleading users. > > This is a red herring: all of these hits are either in comments or in > default values of other defcustoms. If a user renames his =E2=8C=9CMail=E2=8C=9D directory to =E2=8C=9Cmail=E2= =8C=9D, then he'll want all the things that previously used =E2=8C=9CMail= =E2=8C=9D to use =E2=8C=9Cmail=E2=8C=9D. Manually changing them all is te= dious and error-prone, so it'd be nice to have one place to make the chan= ge. In Emacs, message-directory advertises itself as that place. I lowercased my mail directory name both because it's easier to type that= way (don't have to press shift), and because some other things already u= se the lowercase version by default, and there was no reason to use both = upper- and lower-case versions. From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 30 Jan 2015 07:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.14226033702775 (code B ref 19068); Fri, 30 Jan 2015 07:37:02 +0000 Received: (at 19068) by debbugs.gnu.org; 30 Jan 2015 07:36:10 +0000 Received: from localhost ([127.0.0.1]:57738 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH67c-0000id-V4 for submit@debbugs.gnu.org; Fri, 30 Jan 2015 02:36:09 -0500 Received: from fely.am-1.org ([78.47.74.50]:41254) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH67Z-0000iO-Ls for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 02:36:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=j7oyOo8ci5VmEOInqxtaowca9Xm3BMjUGACWF8zpboo=; b=gNbrcj/zRDSGN739z++DTGBJTX3bSX8X/VREV5NC5SGDwz3gqvZtQZ/+vwpp4sCcoCeB3AtyzUG3Do6qxgao0B5BzE2ptsxn0MIsMAjG2jbcWF2/EbTkYrjfR5+6uD3iSQm8ENjhF/+t2Peu8Zjh8pzM5AnEbD1m7xR10lKZt7g=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YH67V-00056m-Ug for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 07:36:02 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YH67O-0001BA-33 for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 14:35:54 +0700 From: Ivan Shmakov References: <83r3udmuvp.fsf@gnu.org> Mail-Followup-To: 19068@debbugs.gnu.org Date: Fri, 30 Jan 2015 07:35:53 +0000 In-Reply-To: (Kelly Dean's message of "Fri, 30 Jan 2015 07:11:52 +0000") Message-ID: <87bnlgk9eu.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >>>>> Kelly Dean writes: >>>>> Eli Zaretskii wrote: >>> Also, grep -r "~/Mail/" emacs-24.4/lisp/ | grep 'el:' gives 19 >>> hits, all of which are inappropriate if ~/Mail isn't supposed to be >>> hardcoded. If ~/Mail is supposed to be hardcoded, then the >>> message-directory variable should be removed, to avoid misleading >>> users. >> This is a red herring: all of these hits are either in comments or >> in default values of other defcustoms. > If a user renames his =E2=8C=9CMail=E2=8C=9D directory to =E2=8C=9Cmail= =E2=8C=9D, then he'll want all > the things that previously used =E2=8C=9CMail=E2=8C=9D to use =E2=8C=9Cm= ail=E2=8C=9D. Manually > changing them all is tedious and error-prone, so it'd be nice to have > one place to make the change. In Emacs, message-directory advertises > itself as that place. Only as long as message-mode (or anything deriving from it) is considered. I tend to think that defcustom=E2=80=99s :set does not fit for this case, and instead suggest using nil as the default for the variables whose defaults derive from message-directory, =E2=80=93 something along the lines of the (untested) patch MIMEd. * lisp/gnus/message.el (subr-x): Require feature. (message-auto-save-directory): Default to nil. (message-auto-save-directory): New function. (message-set-auto-save-file-name): Use it. > I lowercased my mail directory name both because it's easier to type > that way (don't have to press shift), Seconded. > and because some other things already use the lowercase version by > default, and there was no reason to use both upper- and lower-case > versions. --=20 FSF associate member #7257 np. Face Another Day =E2=80=94 Jogeir Liljedahl= 230E 334A --=-=-= Content-Type: text/diff Content-Disposition: inline --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -29,7 +29,8 @@ ;;; Code: (eval-when-compile - (require 'cl)) + (require 'cl) + (require 'subr-x)) ; For when-let. (require 'mailheader) (require 'gmm-utils) @@ -1331,12 +1332,10 @@ :group 'message-various :type '(repeat function)) -(defcustom message-auto-save-directory - (if (file-writable-p message-directory) - (file-name-as-directory (expand-file-name "drafts" message-directory)) - "~/") +(defcustom message-auto-save-directory nil "*Directory where Message auto-saves buffers if Gnus isn't running. If nil, Message won't auto-save." + :version 25.1 :group 'message-buffers :link '(custom-manual "(message)Various Message Variables") :type '(choice directory (const :tag "Don't auto-save" nil))) @@ -6666,12 +6665,24 @@ defun message-setup-1 (headers &optional yank-action actions return-action) ;; rmail-start-mail expects message-mail to return t (Bug#9392) t) +(defun message-auto-save-directory nil + "Return message auto save directory. +Return the value of the `message-auto-save-directory' variable if non-nil. +Otherwise, if `message-directory' is non-nil, return a suitable +directory name under it if it is writeable, or "~/" if not. +Return nil if all the above fails." + (cond ((not message-directory) nil) + ((file-writable-p message-directory) + (file-name-as-directory + (expand-file-name "drafts" message-directory))) + (t "~/"))) + (defun message-set-auto-save-file-name () "Associate the message buffer with a file in the drafts directory." - (when message-auto-save-directory + (when-let ((dir (message-auto-save-directory))) (unless (file-directory-p - (directory-file-name message-auto-save-directory)) - (make-directory message-auto-save-directory t)) + (directory-file-name dir)) + (make-directory dir t)) (if (gnus-alive-p) (setq message-draft-article (nndraft-request-associate-buffer "drafts")) @@ -6689,7 +6700,7 @@ defun message-set-auto-save-file-name () "message" "*message*") (format-time-string "-%Y%m%d-%H%M%S")) - message-auto-save-directory)) + dir)) (setq buffer-auto-save-file-name (make-auto-save-file-name))) (clear-visited-file-modtime) (setq buffer-file-coding-system message-draft-coding-system))) --=-=-=-- From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 30 Jan 2015 09:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Kelly Dean Cc: 19068@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142260883111732 (code B ref 19068); Fri, 30 Jan 2015 09:08:02 +0000 Received: (at 19068) by debbugs.gnu.org; 30 Jan 2015 09:07:11 +0000 Received: from localhost ([127.0.0.1]:57750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH7Xj-00033A-Ca for submit@debbugs.gnu.org; Fri, 30 Jan 2015 04:07:11 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:63275) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH7Xf-00032Z-S8 for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 04:07:09 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NIZ00E00FH7MT00@a-mtaout23.012.net.il> for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 11:07:01 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIZ00E00FZOI4A0@a-mtaout23.012.net.il>; Fri, 30 Jan 2015 11:07:01 +0200 (IST) Date: Fri, 30 Jan 2015 11:06:58 +0200 From: Eli Zaretskii In-reply-to: X-012-Sender: halo1@inter.net.il Message-id: <83zj90ljrh.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <83r3udmuvp.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Kelly Dean > CC: 19068@debbugs.gnu.org > Date: Fri, 30 Jan 2015 07:11:52 +0000 > > Eli Zaretskii wrote: > >> Also, > >> grep -r "~/Mail/" emacs-24.4/lisp/ | grep 'el:' > >> gives 19 hits, all of which are inappropriate if ~/Mail isn't supposed to be hardcoded. If ~/Mail is supposed to be hardcoded, then the message-directory variable should be removed, to avoid misleading users. > > > > This is a red herring: all of these hits are either in comments or in > > default values of other defcustoms. > > If a user renames his ⌜Mail⌝ directory to ⌜mail⌝, then he'll want all the things that previously used ⌜Mail⌝ to use ⌜mail⌝. Manually changing them all is tedious and error-prone, so it'd be nice to have one place to make the change. In Emacs, message-directory advertises itself as that place. That's a separate issue. I'm not at all sure the user will always want to rename all of them, but we could offer an option to do that. From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 30 Jan 2015 13:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142262555512173 (code B ref 19068); Fri, 30 Jan 2015 13:46:01 +0000 Received: (at 19068) by debbugs.gnu.org; 30 Jan 2015 13:45:55 +0000 Received: from localhost ([127.0.0.1]:57894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YHBtS-0003AH-Ho for submit@debbugs.gnu.org; Fri, 30 Jan 2015 08:45:54 -0500 Received: from fely.am-1.org ([78.47.74.50]:41306) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YHBtO-0003A4-Ou for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 08:45:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=B68+vArDeU17wOp31iJg5P0JmU8jaP+eJ6PqB/gYSRc=; b=qk+p3HHgcERiYb2s04r1yYFMx2kdlBKVELQoyIuN1FWBRwy3DmgxyrdD+i86RRiYIL+f+/pzxg3dRMRw6AtW/k6kxgn/Iwn9Wy9D/p6qDxyGP8CCJ7ZuKiIpUEu/9KdZn7rDvRna4dp27UQP7stGqgG92WpTOkwZPOs+ZSVX5IU=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YHBtL-0000NC-W9 for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 13:45:48 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YHBtD-0001ri-LD for 19068@debbugs.gnu.org; Fri, 30 Jan 2015 20:45:39 +0700 From: Ivan Shmakov References: <83r3udmuvp.fsf@gnu.org> <87bnlgk9eu.fsf@violet.siamics.net> Mail-Followup-To: 19068@debbugs.gnu.org Date: Fri, 30 Jan 2015 13:45:38 +0000 In-Reply-To: <87bnlgk9eu.fsf@violet.siamics.net> (Ivan Shmakov's message of "Fri, 30 Jan 2015 07:35:53 +0000") Message-ID: <877fw4jsal.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >>>>> Ivan Shmakov writes: [=E2=80=A6] > I [hereby] suggest using nil as the default for the variables whose > defaults derive from message-directory, =E2=80=93 something along the li= nes > of the (untested) patch MIMEd. > * lisp/gnus/message.el (subr-x): Require feature. > (message-auto-save-directory): Default to nil. This of course will not work, as this variable already uses nil to mean =E2=80=9Cdo not auto save,=E2=80=9D so we need some other value (s= ay, 'auto) for the purpose. Please consider the revised patch MIMEd. * lisp/gnus/message.el (subr-x): Require feature. (message-auto-save-directory): Default to 'auto. (message-auto-save-directory): New function. (message-set-auto-save-file-name): Use it. --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A --=-=-= Content-Type: text/diff Content-Disposition: inline diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index de7e9ba..da5c871 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -29,7 +29,8 @@ ;;; Code: (eval-when-compile - (require 'cl)) + (require 'cl) + (require 'subr-x)) ; For when-let. (require 'mailheader) (require 'gmm-utils) @@ -1331,15 +1332,16 @@ :group 'message-various :type '(repeat function)) -(defcustom message-auto-save-directory - (if (file-writable-p message-directory) - (file-name-as-directory (expand-file-name "drafts" message-directory)) - "~/") +(defcustom message-auto-save-directory 'auto "*Directory where Message auto-saves buffers if Gnus isn't running. -If nil, Message won't auto-save." +If nil, Message won't auto-save. +If 'auto, derive from `message-directory'." + :version "25.1" :group 'message-buffers :link '(custom-manual "(message)Various Message Variables") - :type '(choice directory (const :tag "Don't auto-save" nil))) + :type '(choice directory + (const :tag "Don't auto-save" nil) + (const :tag "Derive from `message-directory'" auto))) (defcustom message-default-charset (and (not (mm-multibyte-p)) 'iso-8859-1) @@ -6666,12 +6668,28 @@ ;; rmail-start-mail expects message-mail to return t (Bug#9392) t) +(defun message-auto-save-directory nil + "Return message auto save directory. +Return the value of the `message-auto-save-directory' variable if it is +a string or nil. +Otherwise, if `message-directory' is non-nil, return a suitable +directory name under it if it is writeable, or \"~/\" if not. +Return nil if all the above fails." + (cond ((or (stringp message-auto-save-directory) + (not message-auto-save-directory)) + message-auto-save-directory) + ((not message-directory) nil) + ((file-writable-p message-directory) + (file-name-as-directory + (expand-file-name "drafts" message-directory))) + (t "~/"))) + (defun message-set-auto-save-file-name () "Associate the message buffer with a file in the drafts directory." - (when message-auto-save-directory + (when-let ((dir (message-auto-save-directory))) (unless (file-directory-p - (directory-file-name message-auto-save-directory)) - (make-directory message-auto-save-directory t)) + (directory-file-name dir)) + (make-directory dir t)) (if (gnus-alive-p) (setq message-draft-article (nndraft-request-associate-buffer "drafts")) @@ -6689,7 +6707,7 @@ defun message-set-auto-save-file-name () "message" "*message*") (format-time-string "-%Y%m%d-%H%M%S")) - message-auto-save-directory)) + dir)) (setq buffer-auto-save-file-name (make-auto-save-file-name))) (clear-visited-file-modtime) (setq buffer-file-coding-system message-draft-coding-system))) --=-=-=-- From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Sat, 14 Feb 2015 05:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: "Kelly Dean" Cc: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.14238922882333 (code B ref 19068); Sat, 14 Feb 2015 05:39:02 +0000 Received: (at 19068) by debbugs.gnu.org; 14 Feb 2015 05:38:08 +0000 Received: from localhost ([127.0.0.1]:42580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMVQe-0000bZ-Bu for submit@debbugs.gnu.org; Sat, 14 Feb 2015 00:38:08 -0500 Received: from smtp.syd.comcen.com.au ([203.23.236.77]:1878) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMVQb-0000bQ-W4 for 19068@debbugs.gnu.org; Sat, 14 Feb 2015 00:38:06 -0500 Received: from building.gnus.org ([27.96.197.126]) by smtp.syd.comcen.com.au (8.13.4/8.12.9) with ESMTP id t1E5bvpP044594; Sat, 14 Feb 2015 16:37:57 +1100 (EST) From: Lars Ingebrigtsen References: Date: Sat, 14 Feb 2015 16:37:52 +1100 In-Reply-To: (Kelly Dean's message of "Sun, 16 Nov 2014 11:27:23 +0000") Message-ID: <87a90hgij3.fsf@building.gnus.org> User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-comcen-MailScanner-Information: Please contact the ISP for more information X-comcen-MailScanner: Found to be clean X-comcen-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=0.118, required 4, AWL 0.02, BAYES_50 0.00, RDNS_NONE 0.10) X-comcen-MailScanner-From: larsi@gnus.org X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) I don't think there's a bug here to fix, so I'm closing this report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog http://lars.ingebrigtsen.no/ From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 00:40:05 2015 Received: (at control) by debbugs.gnu.org; 14 Feb 2015 05:40:05 +0000 Received: from localhost ([127.0.0.1]:42585 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMVSW-0000er-Pl for submit@debbugs.gnu.org; Sat, 14 Feb 2015 00:40:05 -0500 Received: from smtp.syd.comcen.com.au ([203.23.236.77]:1336) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMVSU-0000eL-4V for control@debbugs.gnu.org; Sat, 14 Feb 2015 00:40:02 -0500 Received: from building.gnus.org ([27.96.197.126]) by smtp.syd.comcen.com.au (8.13.4/8.12.9) with ESMTP id t1E5c6Dc044630 for ; Sat, 14 Feb 2015 16:38:06 +1100 (EST) Date: Sat, 14 Feb 2015 16:38:01 +1100 Message-Id: <878ug1giiu.fsf@building.gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #19068 X-comcen-MailScanner-Information: Please contact the ISP for more information X-comcen-MailScanner: Found to be clean X-comcen-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=0.118, required 4, AWL 0.02, BAYES_50 0.00, RDNS_NONE 0.10) X-comcen-MailScanner-From: larsi@gnus.org X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) tags 19068 notabug close 19068 From unknown Sat Aug 16 23:47:49 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19068: Mail file vars aren't derived from customized message-directory Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Sat, 14 Feb 2015 06:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19068 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: notabug To: 19068@debbugs.gnu.org Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142389690820355 (code B ref 19068); Sat, 14 Feb 2015 06:56:02 +0000 Received: (at 19068) by debbugs.gnu.org; 14 Feb 2015 06:55:08 +0000 Received: from localhost ([127.0.0.1]:42623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMWd6-0005IB-B4 for submit@debbugs.gnu.org; Sat, 14 Feb 2015 01:55:07 -0500 Received: from fely.am-1.org ([78.47.74.50]:43658) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMWd0-0005Hf-6U for 19068@debbugs.gnu.org; Sat, 14 Feb 2015 01:55:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=mFlKT24nGN0M9iS8OdAewmrI8SelK37PSniszIWD8Bw=; b=mefJWtu1LJTTL+RdYZsAmMKlYHYXSNYRRIsNOfczyS9GIsuCmMDPyjFBxl/JAnHRxM1w/t6+ajDa8IRMHjUUfRag9lMQHRDPhbMNJDxb0GpLjOohxTl1bcd/i48Wf8kqb2pdtc2PoWSOQg+3c4/WFs2veJkszATBBwrlEtqfsDg=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YMWcy-0006m7-A3 for 19068@debbugs.gnu.org; Sat, 14 Feb 2015 06:54:56 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YMWcp-0000pD-RK for 19068@debbugs.gnu.org; Sat, 14 Feb 2015 13:54:47 +0700 From: Ivan Shmakov References: <87a90hgij3.fsf@building.gnus.org> Mail-Followup-To: 19068@debbugs.gnu.org Date: Sat, 14 Feb 2015 06:54:47 +0000 In-Reply-To: <87a90hgij3.fsf@building.gnus.org> (Lars Ingebrigtsen's message of "Sat, 14 Feb 2015 16:37:52 +1100") Message-ID: <87sie9c79k.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) >>>>> Lars Ingebrigtsen writes: >> The docstring for message-directory says =E2=8C=9CDirectory from which = all >> other mail file variables are derived=E2=8C=9D, which is misleading bec= ause >> it implies that if you customize that variable, all other mail file >> variables will be changed to match your customization. [=E2=80=A6] > I don't think there's a bug here to fix, so I'm closing this report. I tend to agree that the docstring is misleading; either it should be fixed to provide more detail on the current behavior (say: =E2=80=9CSetting this variable after 'message is loaded has no effect on the derived variables, though.=E2=80=9D), or the current behavior should be changed so that the =E2=80=9Cderived=E2=80=9D variables remain based on this variable=E2=80=99s value, irrespective of when the latter is set. >> Fixing this requires either the other vars to be changed into >> functions that dynamically derive pathnames from message-directory, Which is what the patch I=E2=80=99ve suggested earlier [1] should do. [1] news:877fw4jsal.fsf@violet.siamics.net http://debbugs.gnu.org/19068#msg32 [=E2=80=A6] --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A