Raymond Toy pushed to branch rtoy-32-no-before-execve-option at cmucl / cmucl

Commits:

2 changed files:

Changes:

  • src/compiler/main.lisp
    ... ... @@ -2041,11 +2041,7 @@
    2041 2041
     		     ((or cons eval:interpreted-function)
    
    2042 2042
     		      `#',(get-lambda-to-compile definition))
    
    2043 2043
     		     (function
    
    2044
     		      (multiple-value-bind (exp lexenv)
    
    2045
     			  (function-lambda-expression definition)
    
    2046
     			(if (and exp (not lexenv))
    
    2047
     			    `#',exp
    
    2048
     			    `',definition)))))
    
    2044
     		      definition)))
    
    2049 2045
     	     (*source-info* (make-lisp-source-info form))
    
    2050 2046
     	     (*top-level-lambdas* ())
    
    2051 2047
     	     (*converting-for-interpreter* nil)
    
    ... ... @@ -2069,6 +2065,14 @@
    2069 2065
     	     (*gensym-counter* 0)
    
    2070 2066
     	     (*current-function-names* (list name))
    
    2071 2067
     	     (intl::*default-domain* intl::*default-domain*))
    
    2068
     	;; As mentioned above, we can return the same function if the
    
    2069
     	;; function was already compiled.  We do this when FORM is EQ
    
    2070
     	;; to DEFINITION (which happens above if we have a compiled
    
    2071
     	;; function that we don't have the source for or was defined
    
    2072
     	;; in a non-null environment.
    
    2073
     	(when (and name (eq form definition))
    
    2074
     	  (return-from compile
    
    2075
     	    (values name nil nil)))
    
    2072 2076
     	(with-debug-counters
    
    2073 2077
     	  (clear-stuff)
    
    2074 2078
     	  (find-source-paths form 0)
    

  • tests/issues.lisp
    ... ... @@ -310,3 +310,14 @@
    310 310
         (assert-true (pathnamep fasl-file))
    
    311 311
         (assert-equalp (list fasl-file nil nil)
    
    312 312
     		  (multiple-value-list (compile-file test-file :load t)))))
    
    313
     
    
    314
     (define-test issue.24
    
    315
         (:tag :issues)
    
    316
       (let* ((test-file #.(merge-pathnames #p"resources/issue-24.lisp" cl:*load-pathname*)))
    
    317
         (assert-true (compile-file test-file :load t))))
    
    318
     
    
    319
     (define-test issue.32
    
    320
         (:tag :issues)
    
    321
       (assert-error 'kernel:simple-program-error
    
    322
     		(ext:run-program "cat" nil
    
    323
     				 :before-execve t)))