From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Francisco_Miguel_Cola=c3=a7o?= Newsgroups: gmane.emacs.devel Subject: Inclusion of XDG Base Directory library Date: Sun, 6 May 2018 20:04:27 +0100 Message-ID: <779935bf-79ea-5783-4c9c-4b7e2857bc50@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------AB70BE0D86FDA6791B221683" X-Trace: blaine.gmane.org 1525633395 14991 195.159.176.226 (6 May 2018 19:03:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 6 May 2018 19:03:15 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 To: Emacs Devel Mailing List Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun May 06 21:03:10 2018 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 1fFOw7-0003j4-Hz for ged-emacs-devel@m.gmane.org; Sun, 06 May 2018 21:03:07 +0200 Original-Received: from localhost ([::1]:43039 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fFOyD-0004DA-4n for ged-emacs-devel@m.gmane.org; Sun, 06 May 2018 15:05:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38548) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fFOxX-0004D1-5w for emacs-devel@gnu.org; Sun, 06 May 2018 15:04:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fFOxU-0005mr-2c for emacs-devel@gnu.org; Sun, 06 May 2018 15:04:35 -0400 Original-Received: from mail-wm0-x22d.google.com ([2a00:1450:400c:c09::22d]:40145) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fFOxT-0005lY-JL for emacs-devel@gnu.org; Sun, 06 May 2018 15:04:32 -0400 Original-Received: by mail-wm0-x22d.google.com with SMTP id j5-v6so12575309wme.5 for ; Sun, 06 May 2018 12:04:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=qmUEIo7FWjvfRn9yWjusHihU9ZteUwIqzaWpc/2z2XM=; b=dVEwj9V2k2MHClWpUcJ6fxB+/owKNpDRK3PubaY3hGExn0VcxSMtOpu2ClokWYJaZm gaoIZea+Mh6+oeTWJoTaIuJxnjG9N7xZk7wtxvSg9Kb3N4J7Z0dqvTkrnJAo58/XFdwt jTt+w4kGVoPlLWSi4LxbgnMokDTzwu6LfX7JFqQVyWulneHaRrQXgiaDKp9ZFp6fGw0y RtJ1zQleXB/2KErYEQJgs+LYRVMkZtUtPR/8fH/jVyLYjC7aKKukEw9ZPaKsDOFTDn9m UxjMOHTYqRjgQ36Lqg2MccE/ejRRRUspX5eS9TUr6IOLAlA3mGDD/9PzgbBaKk8iM1Qu 0H7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=qmUEIo7FWjvfRn9yWjusHihU9ZteUwIqzaWpc/2z2XM=; b=qb5zPmGQoIZpb6YbD04twR9strZx+THId0Zm8W4QKj6qMtptR8nz54lJBIPuP4TwyC hdtH6jM44eURjf6LS5+Bs1yM4rfrXOjf17igchqvt/uxss86EWuw9EWU4cE2EcoEs2Fz foAbW6gbHec4elC2XDfSFKVtlKgRQXJqYyGU+vkHSlf5Mae8zkJuRzMJeXN+uMMxg2dw uFKQTIlqw4gelAjx7AmyoNxvOj3waYhFVpivsoDkLovt7l3ON9GcRgC/2KTBYxsd43ZJ UK/hwlfoaasleFPTL8M+K7zWrXgbMFZQjcodgk6Tax1igYbQppV2bx+JBdWEiXJ6g3+t KeWw== X-Gm-Message-State: ALQs6tDEQrtbPmbkhiX0icmM8408BTdyibi+RELHncahkvWeraOybES7 +wbpFddBl2rjIW0aZ0dIMJXkKbmz X-Google-Smtp-Source: AB8JxZpDOO84MP0rxMN0yIsACC+q9IqgqqYM9qAF3fO+GSWBcr0zC20WyS53u9dnkueXeN1E79/z7w== X-Received: by 10.28.24.11 with SMTP id 11mr23111738wmy.21.1525633469861; Sun, 06 May 2018 12:04:29 -0700 (PDT) Original-Received: from mercurio.localdomain (bl17-210-45.dsl.telepac.pt. [188.82.210.45]) by smtp.gmail.com with ESMTPSA id a13-v6sm20645496wrc.19.2018.05.06.12.04.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 06 May 2018 12:04:28 -0700 (PDT) Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::22d 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:225090 Archived-At: This is a multi-part message in MIME format. --------------AB70BE0D86FDA6791B221683 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable =C2=A0 Friends, =C2=A0 I have one again written a library to segregate user configuration= files among different concerns --- data, config, runtime and cache --- following the XDG user directory specification.=C2=A0 I enclose the libra= ry. =C2=A0 From the commentary in user-directories/user-directories.el ;; Following the XDG Base Directory Specification ;; (https://wiki.archlinux.org/index.php/XDG_Base_Directory_support), ;; user-directories strives to allow a package writer or an Emacs user ;; to segregate the various Emacs configuration and runtime files into ;; appropriate directories. ;; ;; Thus, following the specification, a configuration file (normally a ;; file that is written by the user or in behalf of him) will reside ;; in the configuration directory (normally ~/.config/emacs).=C2=A0 It ca= ;; be located with: ;; ;;=C2=A0=C2=A0 (locate-user-config-file "init.el") ;;=C2=A0=C2=A0 "/home/fhc/.config/emacs/init.el" ;; ;; Similarly, there are locator functions for third party files --- ;; `locate-user-data-file' --- and for cache files --- ;; `locate-user-cache-file'.=C2=A0 Run time files, locatable with ;; `locate-user-runtime-files' will be erased at the last logout, ;; according to the specification, and are thus appropriate for ;; security-sensitive data. ;; ;; There are also directories defined for :documents, :music, :videos, ;; :pictures and :downloads.=C2=A0 In Linux, also other that the command ;; xdg-user-dir can reference, like :templates or :publicshare. ;; Locator functions are concomitantly created.=C2=A0 For instance, in on= e ;; of my machines (Linux, portuguese): ;; ;;=C2=A0=C2=A0 (locate-user-documents-file "org/index.txt") ;;=C2=A0=C2=A0 "/home/fhc/Documentos/org/index.txt" ;; ;;=C2=A0=C2=A0 (locate-user-pictures-file "image.png") ;;=C2=A0=C2=A0 "/home/fhc/Imagens/image.png" ;; ;; Emacs Lisp package writers may use the former functions to ;; segregate files among different concerns.=C2=A0 For instance: ;; ;;=C2=A0=C2=A0 (setq abbrev-file-name (locate-user-config-file "abbrev_de= fs")) ;;=C2=A0=C2=A0 (setq projectile-known-projects-file (locate-user-data-fil= e "projectile-bookmarks.eld")) ;;=C2=A0=C2=A0 (setq projectile-cache-file (locate-user-cache-file "projectile.cache")) ;; * HOW DO I INSTALL IT? =C2=A0 Just including the two directories in a site-lisp directory is eno= ugh on my machine to recognize ~/.config/emacs/init.el and run it at the site start. =C2=A0 Unfortunately, user-init-file will not be set, because I think it = is hardcoded in C from an array of possibilities.=C2=A0 However, user-emacs-directory is correctly set, and thus all the files that would be in ~/.emacs.d will be located by default at the :data directory --- and elisp package writers can start to put all created files to the correct directories, according to their concerns. * WHAT ABOUT FREEBSD, OSX, ETC? =C2=A0 Discovery is provided on Windows and Linux.=C2=A0 The value at sys= tem-type will determine which discovery provider is loaded.=C2=A0 A value of gnu/l= inux will load user-directories-linux.el and a value of windows-nt will load user-directories-windows-nt.el. =C2=A0 If one wants to add a file named user-directories-darwin.el or user-directories-kfreebsd.el, patterned after user-directories-linux.el or user-directories-windows-nt.el, then the directories for the two systems would be correctly discovered.=C2=A0 As a cavaet emptor, I haven'= t tested any windows-nt discovery, since I do not use Emacs on Windows.=C2=A0= If the value system-type has no file to provide discoveries, all the :data, :cache, :runtime and :config directories will be created, but this time inside user-emacs-directory. =C2=A0 I have assigned the copyright to the Free Software Foundation. * WHAT CAN STILL BE DONE? =C2=A0 - user-directories/user-directories-darwin.el; =C2=A0 - user-directories/user-directories-kfreebsd.el; =C2=A0 - improve setup-user-directories-default, if the layout specified = at that function is not sensible =C2=A0 - make user-init-file writable during initialisation --- while one= loads the XDG file, and tries to set user-init-file at user-directories-init.el, the value reverts to ~/.emacs for no reason.=C2= =A0 Help needed here. =C2=A0 Thanks for your time. =C2=A0=C2=A0=C2=A0 Best wishes, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Francisco Cola=C3=A7o =C2=A0 --------------AB70BE0D86FDA6791B221683 Content-Type: application/x-bzip; name="user-directories.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="user-directories.tar.bz2" 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 --------------AB70BE0D86FDA6791B221683 Content-Type: application/pgp-keys; name="0xDB83911F.asc" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0xDB83911F.asc" -----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE+9WQ8BCADYpEbagDIZ4uFomELg8pF9kFpFhRQ/O8Bx4tewKUiwjJYHsO1f DE69hxxpm9roxT7xGGvYD+lx52Z6LwA6gmlTZNCP7jCI0EuBdt/ByNv8t+Tdu9YR Mwy3FoAs+N3lqQH1EDyq24jZ5v9MvuqzTzjJOx8fIp29K9ikhE1Bpcs1r324hzbs gcoFL9MkhOtA1Tz7nQ9huGBmu+QO9sr9V5oryRwf13YY/SM+BI+gjqeQ0Mr1FAnW ak34UBlB3coAttTKNx1Qv5EKPZWi1gWUrawFjOVNbHuhcF8H1tqwt2OrBCF+TPnZ cPxLazBdvcV2wS4UB7E2nrt/H9FO4XmfYW41ABEBAAG0NUZyYW5jaXNjbyBNaWd1 ZWwgQ29sYcOnbyA8ZnJhbmNpc2NvLmNvbGFjb0BnbWFpbC5jb20+iQE7BBMBAgAl AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCVHEaNwIZAQAKCRCrMzeF24OR H22qB/9eT/5vFMJrZJEBzRBBPr2KfepQ/lunbl1oJvG46wKFsLtCPWEasKbk1hvF 4Tjjz9XnX03yVgdlSRGIKzoi6qpvJ1ad2HwiHJeneJOh2Kk0CrnSJFRiw56JP3rv +Q7lyh9BraAu1+sHicJsSQwP0HkK/lDWVJ5L+H34t9ExvN8dn+5u+Ivk99jhl+dv tXGa8Y5xiyAkC8jzBuzGoYQIdTxdfUuX1IX+JPJaYBT89Kwvuekl8Os/uH/pbZaV jA9doKn9LKRXT9RV1qD9qt2uE63NFtea8SKPfDb06fGxPmtdEnChIY2GG/loAhjk HbnS5nRSZC0Cl0cIoR9KZX4faG1RiQE4BBMBAgAiBQJPvVkPAhsDBgsJCAcDAgYV CAIJCgsEFgIDAQIeAQIXgAAKCRCrMzeF24ORH5fhCADPTcWNeLQPyuNJD4pEYd65 JDFjM2KMizskQrqJEtgeLRI+esI77c0Xf9pQhvDCcJqxipRLlKPrzjlt9ngt6+Df FBbEcYxLXW4o37iQMnxrx9H8QLFec/WD64F6uy6D+X19e41pH8cexnXgT8QThokA TzFEWKssnTwLb9ZYJiI65Q4n/d5Q+WzE3eAKsiX8b5M4CGyNrzyeo+m11py1pEA3 xPwjtBm/8uJNk1W3HjLYfAqtZbizrkEa/1XnzTFC76wOCTX6B9CmieJZ0qw3E/fn gkmwQsLklpmCxGzosBYMqaf5RGej1A1v0xt9a+EX5SjWMCkhEHG5wSlQHQ3OgiTH tDlGcmFuY2lzY28gTWlndWVsIENvbGHDp28gPGZyYW5jaXNjby5jb2xhY29AcHJl dmVudGl2YS5wdD6JATgEEwECACIFAlRiX2kCGwMGCwkIBwMCBhUIAgkKCwQWAgMB Ah4BAheAAAoJEKszN4Xbg5Ef5C8H/2yMU3GDm0Al1O3xjT7VSJLnTMrSamhOIvr4 529IstT8VPAuaLydCQRahRm/WooWhRcgCTPKagWcEkO3no7f0ktAXaQOGcFZRJUj Wkb0wOaG5iiE8DiyfCdCjvssW+MxrHyjGczzHRkKu7giWmp+72gH5J0pWADdCCEK iEoAB/vIQ9geuOOKohxZu7VtEQkF18l1hWwM6+oviNidNSdRVq8saJTQ//MyYWZm KuzljLq8RA/Dklfnj5OOA7mRYeDorDkzJYC8tN/zIXme0y6A50EaE1ZIDgR9pNp2 RpHwAzVLKyHNF9zqHGDzn/SWMxufEyi1kmka6sfG/p8LCbeM16jRzEfMRQEQAAEB AAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJ CQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgy PC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACjAGoDASIAAhEBAxEB/8QA HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRol JicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ 2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEI 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 EH9Td+czODM0S9z6Qg9YChU0DRN4BuEIpg=3D=3D =3DysZk -----END PGP PUBLIC KEY BLOCK----- --------------AB70BE0D86FDA6791B221683--