<div dir="ltr">Also, csh_startup() still overrides already set environment variables.<div><br></div><div><div>    if os.access(grass_env_file, os.R_OK):</div><div>        f.write(readfile(grass_env_file) + '\n')</div>
</div><div><br></div><div><br></div><div>So we have $LOCATION/.bashrc, ~/.grass7/bashrc, and ~/.grass.bashrc. Do they all have different purposes and are they documented clearly somewhere?</div><div><br></div><div><br></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jul 4, 2014 at 3:02 PM, Huidae Cho <span dir="ltr"><<a href="mailto:grass4u@gmail.com" target="_blank">grass4u@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Martin,<div><br></div><div>Please explain why we need this change. It breaks custom PS1 and aliases in $HOME/.grass7/bashrc.</div>
<div><br></div><div>Thank you.</div><span class="HOEnZb"><font color="#888888"><div>Huidae</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">On Sun, Jun 29, 2014 at 6:22 AM,  <span dir="ltr"><<a href="mailto:svn_grass@osgeo.org" target="_blank">svn_grass@osgeo.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Author: martinl<br>
Date: 2014-06-29 03:22:23 -0700 (Sun, 29 Jun 2014)<br>
New Revision: 61051<br>
<br>
Modified:<br>
   grass/trunk/lib/init/grass.py<br>
Log:<br>
grass.py: do not override already set GRASS environmental variables<br>
<br>
Modified: grass/trunk/lib/init/grass.py<br>
===================================================================<br>
--- grass/trunk/lib/init/grass.py       2014-06-29 10:07:13 UTC (rev 61050)<br>
+++ grass/trunk/lib/init/grass.py       2014-06-29 10:22:23 UTC (rev 61051)<br>
@@ -746,7 +746,17 @@<br>
             k, v = map(lambda x: x.strip(), line.strip().split(' ', 1)[1].split('=', 1))<br>
         except:<br>
             continue<br>
-        os.environ[k] = v<br>
+<br>
+        evalue = os.getenv(k)<br>
+        if evalue:<br>
+            if k == 'GRASS_ADDON_PATH':<br>
+                os.environ[k] = evalue + os.pathsep + v<br>
+            else:<br>
+                warning(_("Environmental variable '%s' already set, ignoring value '%s'") % \<br>
+                            (k, v))<br>
+        else:<br>
+            os.environ[k] = v<br>
+<br>
     # Allow for mixed ISIS-GRASS Environment<br>
     if os.getenv('ISISROOT'):<br>
         isis = os.getenv('ISISROOT')<br>
@@ -1131,8 +1141,14 @@<br>
     path = os.path.join(userhome, ".grass.bashrc") # left for backward compatibility<br>
     if os.access(path, os.R_OK):<br>
         f.write(readfile(path) + '\n')<br>
-    if os.access(grass_env_file, os.R_OK):<br>
-        f.write(readfile(grass_env_file) + '\n')<br>
+    for env in os.environ.keys():<br>
+        if env.startswith('GRASS'):<br>
+            val = os.environ[env]<br>
+            if ' ' in val:<br>
+                val = '"%s"' % val<br>
+            f.write('export %s=%s\n' % (env, val))<br>
+    #    if os.access(grass_env_file, os.R_OK):<br>
+    #        f.write(readfile(grass_env_file) + '\n')<br>
<br>
     f.write("export PATH=\"%s\"\n" % os.getenv('PATH'))<br>
     f.write("export HOME=\"%s\"\n" % userhome) # restore user home path<br>
<br>
_______________________________________________<br>
grass-commit mailing list<br>
<a href="mailto:grass-commit@lists.osgeo.org" target="_blank">grass-commit@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/grass-commit" target="_blank">http://lists.osgeo.org/mailman/listinfo/grass-commit</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>