From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry Fishman Newsgroups: gmane.emacs.devel Subject: Re: Emacs and XDG Base Dir Spec was: persistent storage for Emacs packages Date: Mon, 21 Oct 2013 11:25:24 -0400 Message-ID: References: <201310202119.19244.thomas@koch.ro> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1382369160 5079 80.91.229.3 (21 Oct 2013 15:26:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2013 15:26:00 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 21 17:26:04 2013 Return-path: Envelope-to: ged-emacs-devel@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 1VYHMo-0004BA-7i for ged-emacs-devel@m.gmane.org; Mon, 21 Oct 2013 17:26:02 +0200 Original-Received: from localhost ([::1]:40450 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYHMn-0002QW-Oh for ged-emacs-devel@m.gmane.org; Mon, 21 Oct 2013 11:26:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYHMd-0002MP-Ky for emacs-devel@gnu.org; Mon, 21 Oct 2013 11:25:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VYHMW-0007Cw-4E for emacs-devel@gnu.org; Mon, 21 Oct 2013 11:25:51 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:57575) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYHMV-0007CU-Ig for emacs-devel@gnu.org; Mon, 21 Oct 2013 11:25:44 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VYHMO-0003v9-T6 for emacs-devel@gnu.org; Mon, 21 Oct 2013 17:25:36 +0200 Original-Received: from fl-71-52-212-238.dhcp.embarqhsd.net ([71.52.212.238]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 21 Oct 2013 17:25:36 +0200 Original-Received: from barry_fishman by fl-71-52-212-238.dhcp.embarqhsd.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 21 Oct 2013 17:25:36 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 47 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: fl-71-52-212-238.dhcp.embarqhsd.net Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEXG87t8xXThBQWq85q9 87AvUC6PUVH/BgamyajC87a/87P////r6+ud7oq49KsBy7dJAAACKUlEQVQ4jc3Sv2vbQBQH 8CulwcEdeoOKwM1QD/bSzVktKDEdMpRqeMKQFNqAhEGbh3aVB5sDafAYL106xZMzuAiehnqI EciLMR2viz0Vor+hdydZMa6z97sI9NH7cYdI9ZGQr4/kP4Fu1akehFqHDaoHoOviPLD3oVtz 7PIErFCeeRdqOuvptwDMYSyfpKB7iYh3DOCTeOKzegGvk8hD1O22eD2B9tUWum9wbpXYy6NA wAzMeQFu1AeT2VAW0Af4sYUvfmRbCWLciXq0B2ZYf4C+GL/AGBIcOP4O4MzFKbiTAGOPYg7V mu1j5OIdfIgT7FtHGKoZIHKB6IuK9kDODpNsK0pPVnqCFbyFSyYWMMPnIA9CVsbm5l2HuRjZ FVERBXFPs8QQMhIZvqUX8jJmiTzIRy5FwWhEdAmR4y1KnQbn1KrnMOrLj6PPDnW8bw2+1K7I OINrecF9jwyJyBlfAvkzvlEy6DBHJ3m+8yU5HY9V0TWl+nALx+slMQTkRWKHQprEOJeST3qg p8RoHZRjsmm1ctrrJ0HkX0mFvG+uTnf7qe3SNG2dcc4bm70iAemaHxAJ91zF2G2noMl/UVVk bAoihgINlKwa6XkuhBsKGJgnPBuVEeG/5Wzqz3tZ0bYh4SsBS+qXZtTMRTWUcC/Bnybi7+R5 VoaAdZNz7ZU/RT8u2nEuQTw0VpmjH/7UChHQlFAGT1Rg8GS7Hcm+0F4EDgvYIohLAFS++wvs R0Pau3fdJgAAAABJRU5ErkJggg== User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:J7c1bkLd9Ev/DyziCRIy2pWuMiQ= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:164419 Archived-At: On 2013-10-21 09:31:16 EDT, John Yates wrote: > I found the discussion at the bottom of this page (Thomas Koch's 2nd > reference) helpful: > > https://wiki.debian.org/XDGBaseDirectorySpecification#state > > Decomposing emacs' use of external storage more or less according to the > enumerated criteria is simply good hygiene. It does not means that you > have to embrace the freedesktop standard. > > In my own case I have already partitioned my emacs world into ~/emacs/ (a > non-hidden directory containing elements I manage via github) and > ~/.emacs.d/ (everything recreatable). In particular, with the advent of > better package management I put all downloaded packages beneath > ~/.emacs.d/, on the theory that they can be recreated via download. By > contrast I put the configuration for those packages in ~/emacs/. It seems that partitioning user file should include at least 3 distinct catagories: user-cache-dir Files which can be deleted between sessions, without any adverse effects. user-config-dir init.el, custom set varables, and state information maintained between sessions. It might contain packages whose source has been modified by the user. user-package-dir User specific packages downloaded, and maintained upstream, such as (but not limited to) ELPA. The user-config-dir does cause a bootstrapping issue, so that it might be useful to check for an environment variable like "EMACS_CONFIG_DIR", or initialzation switch "-config-dir=" prior to loading any user files. This would also allow running multiple emacs configurations without interference (very useful for testing). The cache information might be partitioned by process ID, so that concurrently running emacs executables can coexist without interference. I'm not sure if this is really an issue. The defaults might be ~/.emacs.d/cache/, ~/.emacs.d/config/, and ~/.emacs.d/package/". The XDG setup would be ~/.cache/emacs/, ~/.config/emacs/, and ~/.local/share/emacs/. -- Barry Fishman