~ chicken-core (chicken-5) 7be8c8ef6b83532c2b2f02f72730ff4908a53f6e
commit 7be8c8ef6b83532c2b2f02f72730ff4908a53f6e Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Feb 18 12:41:42 2010 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Feb 18 12:41:42 2010 +0100 fix for PATH walking with -private-repository; fix for incorrectly boxed index for unboxed fXXvector accesses (thanks to Jeronimo Pellegrini); removed use of deprecated glob? provedure diff --git a/chicken.h b/chicken.h index 919d17f1..3b1989e0 100644 --- a/chicken.h +++ b/chicken.h @@ -1366,10 +1366,10 @@ extern double trunc(double); #define C_u_i_f32vector_set(v, i, x) ((((float *)C_data_pointer(C_block_item((v), 1)))[ C_unfix(i) ] = C_flonum_magnitude(x)), C_SCHEME_UNDEFINED) #define C_u_i_f64vector_set(v, i, x) ((((double *)C_data_pointer(C_block_item((v), 1)))[ C_unfix(i) ] = C_flonum_magnitude(x)), C_SCHEME_UNDEFINED) -#define C_ub_i_f32vector_ref(b, i) (((float *)C_data_pointer(C_block_item((b), 1)))[ C_unfix(i) ]) -#define C_ub_i_f64vector_ref(b, i) (((double *)C_data_pointer(C_block_item((b), 1)))[ C_unfix(i) ]) -#define C_ub_i_f32vector_set(v, i, x) ((((float *)C_data_pointer(C_block_item((v), 1)))[ C_unfix(i) ] = (x)), 0) -#define C_ub_i_f64vector_set(v, i, x) ((((double *)C_data_pointer(C_block_item((v), 1)))[ C_unfix(i) ] = (x)), 0) +#define C_ub_i_f32vector_ref(b, i) (((float *)C_data_pointer(C_block_item((b), 1)))[ i ]) +#define C_ub_i_f64vector_ref(b, i) (((double *)C_data_pointer(C_block_item((b), 1)))[ i ]) +#define C_ub_i_f32vector_set(v, i, x) ((((float *)C_data_pointer(C_block_item((v), 1)))[ i ] = (x)), 0) +#define C_ub_i_f64vector_set(v, i, x) ((((double *)C_data_pointer(C_block_item((v), 1)))[ i ] = (x)), 0) #define C_a_i_flonum_sin(ptr, c, x) C_flonum(ptr, C_sin(C_flonum_magnitude(x))) #define C_a_i_flonum_cos(ptr, c, x) C_flonum(ptr, C_cos(C_flonum_magnitude(x))) @@ -2239,7 +2239,7 @@ C_path_to_executable(C_char *fname) if(l == -1) { /* not a symlink (we ignore other errors here */ - dname[ k - j ] = '\0'; + buffer[ k - j ] = '\0'; } else { while(l > 0 && buffer[ l ] != '/') --l; diff --git a/manual/Acknowledgements b/manual/Acknowledgements index 6d34e0ba..64fb7b01 100644 --- a/manual/Acknowledgements +++ b/manual/Acknowledgements @@ -29,22 +29,23 @@ Luu, Leonardo Valeri Manera, Dennis Marti, Charles Martin, Bob McIsaac, Alain Mellan, Eric Merrit, Perry Metzger, Scott G. Miller, Mikael, Bruce Mitchener, Fadi Moukayed, Chris Moline, Eric E. Moore, Julian Morrison, Dan Muresan, David N. Murray, Lars Nilsson, Ian -Oversby, o.t., Gene Pavlovsky, Levi Pearson, Nicolas Pelletier, -Derrell Piper, Carlos Pita, Robin Lee Powell, Pupeno, Davide -Puricelli, presto, Doug Quale, Eric Raible, Ivan Raikov, Joel Reymont, -Eric Rochester, Andreas Rottman, David Rush, Lars Rustemeier, Daniel -Sadilek, Oskar Schirmer, Burton Samograd, Reed Sheridan, Ronald -Schroeder, Spencer Schumann, Ivan Shcheklein, Alex Shinn, Ivan -Shmakov, Shmul, Tony Sidaway, Jeffrey B. Siegal, Andrey Sidorenko, -Michele Simionato, Volker Stolz, Jon Strait, Dorai Sitaram, Robert -Skeels, Jason Songhurst, Clifford Stein, Sunnan, Zbigniew Szadkowski, -Rick Taube, Nathan Thern, Mike Thomas, Minh Thu, Christian Tismer, -Andre van Tonder, John Tobey, Henrik Tramberend, Vladimir Tsichevsky, -Neil van Dyke, Sam Varner, Taylor Venable, Sander Vesik, Jaques -Vidrine, Panagiotis Vossos, Shawn Wagner, Peter Wang, Ed Watkeys, Brad -Watson, Thomas Weidner, Goeran Weinholt, Matthew Welland, Drake -Wilson, Joerg Wittenberger, Peter Wright, Mark Wutka, Richard Zidlicky -and Houman Zolfaghari for bug-fixes, tips and suggestions. +Oversby, o.t., Gene Pavlovsky, Levi Pearson, Jeronimo Pellegrini, +Nicolas Pelletier, Derrell Piper, Carlos Pita, Robin Lee Powell, +Pupeno, Davide Puricelli, presto, Doug Quale, Eric Raible, Ivan +Raikov, Joel Reymont, Eric Rochester, Andreas Rottman, David Rush, +Lars Rustemeier, Daniel Sadilek, Oskar Schirmer, Burton Samograd, Reed +Sheridan, Ronald Schroeder, Spencer Schumann, Ivan Shcheklein, Alex +Shinn, Ivan Shmakov, Shmul, Tony Sidaway, Jeffrey B. Siegal, Andrey +Sidorenko, Michele Simionato, Volker Stolz, Jon Strait, Dorai Sitaram, +Robert Skeels, Jason Songhurst, Clifford Stein, Sunnan, Zbigniew +Szadkowski, Rick Taube, Nathan Thern, Mike Thomas, Minh Thu, Christian +Tismer, Andre van Tonder, John Tobey, Henrik Tramberend, Vladimir +Tsichevsky, Neil van Dyke, Sam Varner, Taylor Venable, Sander Vesik, +Jaques Vidrine, Panagiotis Vossos, Shawn Wagner, Peter Wang, Ed +Watkeys, Brad Watson, Thomas Weidner, Goeran Weinholt, Matthew +Welland, Drake Wilson, Joerg Wittenberger, Peter Wright, Mark Wutka, +Richard Zidlicky and Houman Zolfaghari for bug-fixes, tips and +suggestions. CHICKEN uses the "irregex" regular expression package written by Alex Shinn. diff --git a/runtime.c b/runtime.c index 82207451..15e82650 100644 --- a/runtime.c +++ b/runtime.c @@ -7600,7 +7600,7 @@ void file_info_2(void *dummy) # define ENV_SIZE 32767 static char *envbuf; -static char *C_getenv(const char *var) +static char *C_do_getenv(const char *var) { envbuf = (char *)malloc(ENV_SIZE); if(!envbuf) @@ -7620,7 +7620,7 @@ static void C_free_envbuf() free(envbuf); } #else -# define C_getenv(v) getenv(v) +# define C_do_getenv(v) C_getenv(v) # define C_free_envbuf() {} #endif @@ -7640,7 +7640,7 @@ void C_ccall C_get_environment_variable(C_word c, C_word closure, C_word k, C_wo strncpy(buffer, C_c_string(name), len); buffer[ len ] = '\0'; - if((save_string = C_getenv(buffer)) == NULL) + if((save_string = C_do_getenv(buffer)) == NULL) C_kontinue(k, C_SCHEME_FALSE); C_save(k); diff --git a/setup-api.scm b/setup-api.scm index 24cc1e48..9802b2e9 100644 --- a/setup-api.scm +++ b/setup-api.scm @@ -447,12 +447,8 @@ (make-pathname prefix to-path) to-path)))) (ensure-directory to) - (cond ((or (glob? from) (file-exists? from)) - (begin - (run (,*copy-command* ,(shellpath from) ,(shellpath to))) - to)) - (err (error "file does not exist" from)) - (else (warning "file does not exist" from))))) + (run (,*copy-command* ,(shellpath from) ,(shellpath to))) + to)) (define (move-file from to) (let ((from (if (pair? from) (car from) from))Trap