Thanks for understanding what I was saying even though I apparently have a
serious issue telling PATH and HOME apart. Whenever I say PATH, read HOME.

Regards,
Elias


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

> I have a current Mac OS/X system with a default configuration.  $HOME is
> set.
>
>
> On Wed, Jul 2, 2014 at 11:34 AM, Elias Mårtenson <loke...@gmail.com>
> wrote:
>
>> Are you sure of that? I'm 99% sure that PATH is always set on OSX.
>>
>> Regards,
>> Elias
>>
>>
>> On 3 July 2014 00:31, Blake McBride <blake1...@gmail.com> wrote:
>>
>>> A note from
>>> http://stackoverflow.com/questions/2552416/how-can-i-find-the-users-home-dir-in-a-cross-platform-manner-using-c
>>>
>>> Important remark: *many people are assuming that HOME environment
>>> variable is always available on Unix but this is not true*, one good
>>> example would be OS X.
>>>
>>> On OS X when you run an application from GUI (not console) this will not
>>> have this variable set so you need to use the getpwuid().
>>>
>>>
>>> On Wed, Jul 2, 2014 at 11:27 AM, Elias Mårtenson <loke...@gmail.com>
>>> wrote:
>>>
>>>> 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