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