From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tino Calancha Newsgroups: gmane.emacs.bugs Subject: bug#25163: 26.0.50; Unable to access `user-emacs-directory' (~/.emacs.d/) Date: Mon, 12 Dec 2016 11:41:24 +0900 Message-ID: <874m29kgx7.fsf@gmail.com> References: <8760mrdrfd.fsf@users.sourceforge.net> <874m2akgh3.fsf@gmail.com> <87wpf6d0ew.fsf@users.sourceforge.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1481510536 22858 195.159.176.226 (12 Dec 2016 02:42:16 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 12 Dec 2016 02:42:16 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) Cc: =?UTF-8?Q?=C3=93scar?= Fuentes , Richard Kim , 25163@debbugs.gnu.org, tino.calancha@gmail.com To: npostavs@users.sourceforge.net Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 12 03:42:12 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGGZ7-0004eN-RZ for geb-bug-gnu-emacs@m.gmane.org; Mon, 12 Dec 2016 03:42:10 +0100 Original-Received: from localhost ([::1]:58109 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGGZA-0006u2-Ds for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Dec 2016 21:42:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51071) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGGZ4-0006tl-0S for bug-gnu-emacs@gnu.org; Sun, 11 Dec 2016 21:42:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGGZ0-0005wD-Sg for bug-gnu-emacs@gnu.org; Sun, 11 Dec 2016 21:42:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51433) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cGGZ0-0005w4-Oy for bug-gnu-emacs@gnu.org; Sun, 11 Dec 2016 21:42:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cGGZ0-0001r1-ES for bug-gnu-emacs@gnu.org; Sun, 11 Dec 2016 21:42:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 12 Dec 2016 02:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25163 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25163-submit@debbugs.gnu.org id=B25163.14815104987093 (code B ref 25163); Mon, 12 Dec 2016 02:42:02 +0000 Original-Received: (at 25163) by debbugs.gnu.org; 12 Dec 2016 02:41:38 +0000 Original-Received: from localhost ([127.0.0.1]:38599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGGYb-0001qL-Ue for submit@debbugs.gnu.org; Sun, 11 Dec 2016 21:41:38 -0500 Original-Received: from mail-pg0-f68.google.com ([74.125.83.68]:35340) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGGYa-0001q8-3q for 25163@debbugs.gnu.org; Sun, 11 Dec 2016 21:41:36 -0500 Original-Received: by mail-pg0-f68.google.com with SMTP id p66so9305526pga.2 for <25163@debbugs.gnu.org>; Sun, 11 Dec 2016 18:41:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=JVfT52N0hAPdO/0EqdONRjwOsP58/qsT7MuYCQhz6Oo=; b=MXb0Dm7PlcPTrIXYkIwnqhv+2AiB+AEcJSuYDPEzUX/m1y1v7kXTgv41zm4wW1vo53 q/6jGIIvPXTqa2L7H1B/fHIYdVEd7tl2GNkTRQX2beTbntd1Ji60t7sD+yREG2vTW729 koXak5GWrwDRdns3aV1WshqUBcRIQegU81lXtan1XvY+OZ+nbkSHcxyibqNw6WIdNmpa SEdxiuRtM3eAnORco6aq0wF+0oCDFqMPvCpNXQQTS0VgN8SpAsseo7oawSVHIKcP8eaI faOVLS9wNR7F0tvv71+rd7GZFogPuWoipAjL6XfxURUvCZ58M9fcLcGJxI0Lisqh90+0 fNsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=JVfT52N0hAPdO/0EqdONRjwOsP58/qsT7MuYCQhz6Oo=; b=a/ZZZ/9yn3wCYIl2fm2JjBMnO6Ls8OgxTvmDk92imVBm8y6X8C7BJypU5IW7NFjUgZ K8AcMQ82hK5sKesb9W4UtvHlSXXHEMojGCbZn4u6QMGAwRZDbtUrHF1Q8l+nJuEhzcc1 klN/a/gHxFPemXo5negSAKMFA3L6hO56nyhyQCzPWBBqNK//hEQ+4spEumWJcQrXQKjP mxJeeUPxdYznYWkLyv3p5rYBA/x29nnOWkooL1zb6KbKh3/mEGgNdVojUXctd3oi4vRe pEDgVnb2Ky97jivl3fs8mZH1qvjLg90KrENpgmFnMic0HGgiOZEL6+PFXEjqNwS8hbIt EUYQ== X-Gm-Message-State: AKaTC02y1UvqefzJhBYo0JaBN8NOXbiQ1OxgnwC05DHSs/NtDZkPZe98qIWniZjgQpCMrQ== X-Received: by 10.98.70.150 with SMTP id o22mr95426835pfi.134.1481510489938; Sun, 11 Dec 2016 18:41:29 -0800 (PST) Original-Received: from calancha-pc (177.192.218.133.dy.bbexcite.jp. [133.218.192.177]) by smtp.gmail.com with ESMTPSA id s8sm72289793pfj.45.2016.12.11.18.41.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 11 Dec 2016 18:41:29 -0800 (PST) In-Reply-To: <87wpf6d0ew.fsf@users.sourceforge.net> (npostavs's message of "Sun, 11 Dec 2016 09:07:35 -0500") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:126895 Archived-At: npostavs@users.sourceforge.net writes: > Tino Calancha writes: > >> Following patch delay the warning until al command line arguments have >> being processed. >> What do you think? > > I think that would still be too early for the user setting the variable > in their init file. I would suggest using after-init-hook, something > like: > > (defun locate-user-emacs-file ... > ... > (when errtype > (add-hook 'after-init-hook #'maybe-warn-about-user-dir))) I haven't tried your hook solution yet, which probably is better than mine. Just for offering an alternative way i have updated my previous patch to handle the case when the user have customized `user-emacs-directory-warning': ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >From a96f5a406ec965d6010e840fb938da239df706ef Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Mon, 12 Dec 2016 11:35:06 +0900 Subject: [PATCH] Fix Bug#25162 * lisp/startup.el (command-line): If user-emacs-directory is not accessible, delay to show a warning until all command line args are processed. --- lisp/startup.el | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lisp/startup.el b/lisp/startup.el index 4a04f9c..f562c88 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1094,11 +1094,12 @@ command-line ;; Re-evaluate predefined variables whose initial value depends on ;; the runtime context. - (mapc 'custom-reevaluate-setting - ;; Initialize them in the same order they were loaded, in case there - ;; are dependencies between them. - (prog1 (nreverse custom-delayed-init-variables) - (setq custom-delayed-init-variables nil))) + (let (user-emacs-directory-warning) ; Delay showing this warning (Bug#25162). + (mapc 'custom-reevaluate-setting + ;; Initialize them in the same order they were loaded, in case there + ;; are dependencies between them. + (prog1 (nreverse custom-delayed-init-variables) + (setq custom-delayed-init-variables nil)))) (normal-erase-is-backspace-setup-frame) @@ -1362,9 +1363,18 @@ command-line (list 'error (substitute-command-keys "Memory exhausted--use \\[save-some-buffers] then exit and restart Emacs"))) + ;; Reevaluate `user-emacs-directory-warning' before process '--eval' + ;; args, so that the user can override that default (Bug#25162). + (custom-reevaluate-setting 'user-emacs-directory-warning) + ;; Process the remaining args. (command-line-1 (cdr command-line-args)) + ;; Check if `user-emacs-directory' is accessible (Bug#25162). + (when (and user-emacs-directory-warning + (not (file-accessible-directory-p user-emacs-directory))) + (locate-user-emacs-file "")) + ;; This is a problem because, e.g. if emacs.d/gnus.el exists, ;; trying to load gnus could load the wrong file. ;; OK, it would not matter if .emacs.d were at the end of load-path. -- 2.10.2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; In GNU Emacs 26.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.4) of 2016-12-11 Repository revision: 2783e0e3899cf92910e97dc8bfda3e47b3df1478