#11359: ECL does not fully recover from relocation
----------------------+-----------------------------------------------------
   Reporter:  nbruin  |          Owner:  GeorgSWeber   
       Type:  defect  |         Status:  new           
   Priority:  minor   |      Milestone:  sage-4.7.1    
  Component:  build   |       Keywords:  ecl relocation
Work_issues:          |       Upstream:  N/A           
   Reviewer:          |         Author:                
     Merged:          |   Dependencies:                
----------------------+-----------------------------------------------------

Comment(by nbruin):

 == Avoiding patching ECL ==
 The role of {{{defvar}}} is 2-fold: It declares a variable to have dynamic
 scoping rather than lexical scoping and it sets the value ''only'' if the
 variable wasn't bound already. So, as long as we execute the two defvar
 statements
 {{{
 (defvar c::*ecl-include-directory* (namestring (make-pathname :directory
 (append (butlast (pathname-directory (translate-logical-pathname "SYS:"))
 2) '("include")))))
 (defvar c::*ecl-library-directory* (namestring (make-pathname :directory
 (append (butlast (pathname-directory (translate-logical-pathname "SYS:"))
 2) '("lib")))))
 }}}
 before the compiler package is loaded, our values will persist. So, if one
 finds another file of lisp instructions that are guaranteed to be executed
 upon ECL startup ({{{~/.eclrc}}} doesn't work because maxima is built by
 calling {{{ecl -norc}}}) we're still good. I was not able to find such a
 file.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11359#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to