Arguably, I can't think of a single situation where PATH isn't set while
getpwuid would work. I could be wrong though.

Regards,
Elias


On 3 July 2014 00:13, Blake McBride <blake1...@gmail.com> wrote:

> What was recommended is to use PATH variable (as you suggest) and then
> fall back to the code I gave.
>
>
> On Wed, Jul 2, 2014 at 11:00 AM, Elias Mårtenson <loke...@gmail.com>
> wrote:
>
>> Neat, although I believe directly looking at the PATH variable is more
>> portable. It works on all Unices as well as Windows.
>>
>> Regards,
>> Elias
>>
>>
>> On 2 July 2014 23:54, Blake McBride <blake1...@gmail.com> wrote:
>>
>>> I found this for Unix/Linux systems:
>>>
>>>
>>> #include <unistd.h>#include <sys/types.h>#include <pwd.h>
>>> struct passwd *pw = getpwuid(getuid());
>>> const char *homedir = pw->pw_dir;
>>>
>>>
>>>
>>>
>>> On Wed, Jul 2, 2014 at 10:44 AM, Elias Mårtenson <loke...@gmail.com>
>>> wrote:
>>>
>>>> I have to agree with Blake here. Ideally there should be a call to
>>>> getenv("HOME") and if that returns non-NULL, then use the .apl_history
>>>> in $HOME/.apl/apl_history or something like that.
>>>>
>>>> If it returns NULL, well, then fall back to current directory I suppose.
>>>>
>>>> I could make the Emacs mode use the same file, so that th ehistory is
>>>> shared between emacs and non-emacs sessions.
>>>>
>>>> Regards,
>>>> Elias
>>>>
>>>>
>>>> On 2 July 2014 23:41, Blake McBride <blake1...@gmail.com> wrote:
>>>>
>>>>> Dear Juergen,
>>>>>
>>>>> If you have trouble reliably finding the home directory, how do you
>>>>> find the preferences file?
>>>>>
>>>>> I would say to find the .apl.history file in the same way and place
>>>>> you find the .gnu-apl directory.  That would be consistent.
>>>>>
>>>>> The problem I am having is that since I use GNU APL from the command
>>>>> line, every time I start GNU APL up, I first have to check the directory I
>>>>> am in, otherwise I get a bunch of random .apl.history files all over the
>>>>> place.
>>>>>
>>>>> I understand that I can fix the problem in my preferences file, but
>>>>> now I have to remember to potentially edit that file for each user or
>>>>> machine I am on to account for the different home directory.  I don't have
>>>>> to do that with my .gnu-emacs file.
>>>>>
>>>>> Either way is fine.  Just sharing my opinion.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Blake
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jul 2, 2014 at 9:52 AM, Juergen Sauermann <
>>>>> juergen.sauerm...@t-online.de> wrote:
>>>>>
>>>>>>  Hi Blake,
>>>>>>
>>>>>> yes. The problem with that is that it requires the presence of a home
>>>>>> directory.
>>>>>>
>>>>>> There are use cases like scripting where the interpreter cannot
>>>>>> figure where the
>>>>>> home directory is located and my strategy is to depend on as few
>>>>>> environment
>>>>>> variables (like $HOME or $PWD) as possible.
>>>>>>
>>>>>> Note that ~ is a shell convention and not a file system property so
>>>>>> that ~/.apl.history
>>>>>> or $HOME/.apl.history may fail under certain circumstances.
>>>>>>
>>>>>> /// Jürgen
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 07/02/2014 04:25 PM, Blake McBride wrote:
>>>>>>
>>>>>> Dear Juergen,
>>>>>>
>>>>>>  Thanks.  I can do that, but every other Linux program I have ever
>>>>>> used, although it may allow me to specify a config file location as you 
>>>>>> do,
>>>>>> the default is always in the home directory.
>>>>>>
>>>>>>  Thanks.
>>>>>>
>>>>>>  Blake
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 2, 2014 at 6:24 AM, Juergen Sauermann <
>>>>>> juergen.sauerm...@t-online.de> wrote:
>>>>>>
>>>>>>> Hi Blake,
>>>>>>>
>>>>>>> you can set the path in the preferences files:
>>>>>>>
>>>>>>> READLINE_HISTORY_PATH = /home/...
>>>>>>>
>>>>>>> /// Jürgen
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 07/01/2014 11:14 PM, Blake McBride wrote:
>>>>>>>
>>>>>>>> GNU APL creates a .apl.history in whatever directory APL is started
>>>>>>>> up in.  This is unlike all other system I've seen, and a problem when 
>>>>>>>> you
>>>>>>>> don't start APL in the same directory each time.  I think rather than
>>>>>>>> .apl.history, the system should use ~/.apl.history
>>>>>>>> In other words keep in the home directory.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> Blake
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to