From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ivan Shmakov Newsgroups: gmane.emacs.bugs Subject: bug#19068: Mail file vars aren't derived from customized message-directory Date: Thu, 29 Jan 2015 11:36:03 +0000 Message-ID: <87vbjpkee4.fsf__43460.9613068917$1422531445$gmane$org@violet.siamics.net> References: <871tme3sbm.fsf@building.gnus.org> <4HEgHd24tKVHJkFYvKryLuxc8K21mIEO6gzZl9psynt@local> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1422531445 17100 80.91.229.3 (29 Jan 2015 11:37:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 29 Jan 2015 11:37:25 +0000 (UTC) To: 19068@debbugs.gnu.org, emacs-devel@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jan 29 12:37:17 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YGnPL-0003sg-Q7 for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 Jan 2015 12:37:12 +0100 Original-Received: from localhost ([::1]:59035 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGnPK-00039Q-Rf for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 Jan 2015 06:37:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41878) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGnPG-000365-9r for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 06:37:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGnPD-0006Hf-2i for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 06:37:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37402) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGnPD-0006HZ-0B for bug-gnu-emacs@gnu.org; Thu, 29 Jan 2015 06:37:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YGnPC-0008HD-Ap; Thu, 29 Jan 2015 06:37:02 -0500 X-Loop: help-debbugs@gnu.org 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: Original-Received: via spool by 19068-submit@debbugs.gnu.org id=B19068.142253138031727 (code B ref 19068); Thu, 29 Jan 2015 11:37:02 +0000 Original-Received: (at 19068) by debbugs.gnu.org; 29 Jan 2015 11:36:20 +0000 Original-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 Original-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=; Original-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 Original-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 Mail-Followup-To: 19068@debbugs.gnu.org, emacs-devel@gnu.org In-Reply-To: <4HEgHd24tKVHJkFYvKryLuxc8K21mIEO6gzZl9psynt@local> (Kelly Dean's message of "Thu, 29 Jan 2015 10:59:05 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:98863 Archived-At: >>>>> 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