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 >>>>> >>>>> >>>> >>> >>> >> >