From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: xdg-directories.el Date: Wed, 07 Sep 2016 17:18:28 +0300 Message-ID: <83shtbaj4b.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1473258023 12126 195.159.176.226 (7 Sep 2016 14:20:23 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 7 Sep 2016 14:20:23 +0000 (UTC) Cc: emacs-devel@gnu.org To: "francisco.colaco\@gmail.com" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 07 16:20:19 2016 Return-path: Envelope-to: ged-emacs-devel@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 1bhdi5-0002hi-Ss for ged-emacs-devel@m.gmane.org; Wed, 07 Sep 2016 16:20:18 +0200 Original-Received: from localhost ([::1]:41283 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhdi3-0004Fv-SH for ged-emacs-devel@m.gmane.org; Wed, 07 Sep 2016 10:20:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58357) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhdgc-0003eJ-Qg for emacs-devel@gnu.org; Wed, 07 Sep 2016 10:18:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bhdgY-0007wL-GY for emacs-devel@gnu.org; Wed, 07 Sep 2016 10:18:45 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42828) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhdgY-0007w3-DL; Wed, 07 Sep 2016 10:18:42 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1743 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bhdgW-0005yd-L3; Wed, 07 Sep 2016 10:18:41 -0400 In-reply-to: (francisco.colaco@gmail.com) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:207242 Archived-At: > From: "francisco.colaco@gmail.com" > Date: Tue, 6 Sep 2016 16:24:56 +0100 > > I would request that this package (after revision and a possible API change) becomes part of GNU Emacs. I would also suggest that ~/.config/emacs/init.el (the result of "(locate-user-emacs-config-file "init.el") becomes in vanilla emacs part of the chain to determine user-init-file. Thanks. Some comments below. . IMO, we need to figure out where this stuff fits into Emacs. Do the XDG places override the traditional Emacs places, or the other way around? Do we even want this, and if so, why? . If the XDG places override the traditional ones, an important aspect to consider is the transition period: the first Emacs version that turns on this feature will need to help users migrate from the old places to the new ones. This requires support code that I don't see in your package. . The package in its present form "needs work" before it can be admitted into Emacs: . The few settings that must be preloaded and the minimal support code should go to files.el; the rest of the package doesn't have to be preloaded, AFAICT. . The package currently depends on s.el for a single function; I think that dependency should be removed, and standard facilities used instead. . The usage of shell commands, such as xdg-user-dir, is problematic, at least on non-Posix platforms. I wonder if that script is really needed, or how important it is for the overall functionality. AFAICS, the script just accesses some environment variables and reads a file, something we could do from Lisp. . Symbols (functions, variables) defined by the package should have a unique package-specific prefix, in this case probably "xdg-". . Maybe it's just me, but I find some of the terminology, and the respective variable/function names, confusing, because they clash with the long tradition of the Emacs terminology. For example, "user file" has a precise meaning in Emacs, so the purpose of xdg-get-user-file is a surprise. Likewise with "emacs data file". More generally, the naming convention doesn't sound consistent: some functions that return file names are called locate-SOME-file, but other similar functions are xdg-get-SOME-file. . The doc strings need various minor fixes, as they include typos and copy/paste errors. . A minor nit: GNU coding standards frown on using "path" to refer to anything but PATH-style directory lists; use "file name" or "directory name" instead. Thanks for working on this.