emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inclusion of XDG Base Directory library


From: Francisco Miguel Colaço
Subject: Re: Inclusion of XDG Base Directory library
Date: Fri, 11 May 2018 21:22:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

  Eli,

  Thanks for the heads up.  The windows-shell-folder and
windows-read-registry-value, which I thought were part of Windows Emacs,
were added to user-directories-windows-nt.el.

  I have not tested Windows NT code because I do not currently own any
Windows computer and the virtual machines on which I run it do not have
Emacs.  So, I am dependent on the goodwill and patches from the many
that use Emacs on Microsoft platforms.

  According to http://environmentvariables.org/LocalAppData, the
variable was introduced in Windows Vista and defaults to
C:\Users\{username}\AppData\Local.  I have used it on some applications
I wrote a long time ago and seem to remember that the purpose of that
directory is to store temporary files, which should not be shared among
machines and pertain only to the local session.  If there is no value in
having that variable evaluated, then there is no obstacles to redefine
the code and drop it --- or even get the temp files code from the
existing code.

  About Linux, the canonical way to get an XDG user folder is by the use
of the command xdg-user-dir.  The alternative is to parse
~/.config/user-dirs.dirs, something that is already done by
xdg-user-dir.  Here are two lines of mine (European Portuguese):

  XDG_DESKTOP_DIR="$HOME/Área de Trabalho"
  XDG_DOWNLOAD_DIR="$HOME/Transferências"

  Although it does not pose a gruesome task to parse it (blessed be
regexps), as far as I can understand the XDG Base Directory Standard the
recommended way to find directories is not to parse the file, but to use
the command.  Every distribution since near 2010 includes
xdg-user-dirs.  I can write parsing code, but it seems inadequate,
considering there is a blessed way to perform the search.  It is akin to
use 'movemail' to send and receive mail or 'git' by Magit: there is
little value added in the effort of reimplementing that which is already
functional, something that would leave a dangerous point of stagnation
or even breakage at the future.

  Thanks for your comments.

  Best regards,

    Francisco Colaço


Às 13:26 de 11-05-2018, Eli Zaretskii escreveu:
>> From: Francisco Miguel Colaço <address@hidden>
>> Date: Mon, 7 May 2018 09:26:36 +0100
>>
>>   Friends,
>>
>>   I have set a public github repository at:
>>
>>     https://github.com/francisco-colaco/user-directories
>>
>>   Please feel free to contribute there or to raise issues.
> The code calls windows-shell-folder, but I cannot find that function
> anywhere.  What did I miss?
>
> The environment variable LOCALAPPDATA is not defined on my system.
> Why do we need it?
>
> I also think we need not override the code which already computes
> where to place the temporary directory.
>
> On GNU/Linux, this calls an external program; can we avoid that?
>
> Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]