summaryrefslogtreecommitdiff
path: root/libguile/load.h
Commit message (Expand)AuthorAgeFilesLines
* Fix problems with Windows file names that use backslashes....* libguile/load.c (scm_i_mirror_backslashes): New function. (scm_init_load_path): Call it to produce MS-Windows file names with forward slashes. (FILE_NAME_SEPARATOR_STRING): Define as "/" on all platforms. * libguile/load.h (scm_i_mirror_backslashes): Add prototype. * libguile/init.c (scm_boot_guile): Call scm_i_mirror_backslashes on argv[0]. * libguile/filesys.c (scm_getcwd): Call scm_i_mirror_backslashes on the directory name returned by getcwd. * test-suite/tests/ports.test ("file name separators"): New test. Eli Zaretskii2014-07-031-0/+1
* add %site-ccache-dir...* libguile/load.h: * libguile/load.c (scm_sys_site_ccache_dir): New procedure. * doc/ref/scheme-using.texi (Installing Site Packages): * doc/ref/api-options.texi (Build Config): Add docs. Fixes bug 10326. Jason Earl2013-03-101-1/+2
* Add parse-path-with-ellipsis, and use it for GUILE_LOAD_PATH et al....* libguile/load.c (scm_ellipsis): New Variable. (scm_parse_path_with_ellipsis): New procedure. (scm_init_load): Initialize 'scm_ellipsis'. (scm_init_load_path): Use 'scm_parse_path_with_ellipsis' to handle GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH. * libguile/load.h (scm_parse_path_with_ellipsis): Add prototype. * doc/ref/guile-invoke.texi (Environment Variables): doc/ref/api-evaluation.texi (Load Paths): Add documentation. Correct description of default load path to reflect reality. Remove 'GUILE_LOAD_PATH' from the concept index; it is already in the variable index. Add cross references between these two sections of the manual. Mark H Weaver2012-11-281-0/+1
* autocompile -> auto-compile...* NEWS: * check-guile.in: * doc/guile.1: * doc/ref/scheme-scripts.texi: * libguile/init.c: * libguile/load.c: * libguile/load.h: * libguile/script.c: * module/Makefile.am: * module/ice-9/boot-9.scm: * module/scripts/compile.scm: * module/system/base/compile.scm: * test-suite/Makefile.am: * test-suite/tests/popen.test: Change "autocompile" to "auto-compile" or "auto_compile", as appropriate, in variable names, function names, command line arguments, and the documentation. Andy Wingo2011-02-131-3/+3
* %site-dir is specific to the effective version...* libguile/load.h: * libguile/load.c (scm_sys_global_site_dir): New API, is what %site-dir used to be. (scm_sys_site_dir): Changed to be a version-specific dir. (scm_init_load_path): Search the version-specific sitedir before the global one. * libguile/Makefile.am (libpath.h): Update SCM_SITE_DIR and SCM_GLOBAL_SITE_DIR, as appropriate. Andy Wingo2010-08-061-1/+2
* correctly handle --no-autocompile (fixed broken previous patch)...* libguile/load.c (scm_init_load): Initialize %load-should-autocompile to false. * libguile/init.c (scm_i_init_guile): * libguile/load.h: * libguile/load.c (scm_init_load_should_autocompile): At the end of init, check GUILE_AUTO_COMPILE. * libguile/script.c (scm_compile_shell_switches): Instead of making --autocompile / --no-autocompile render into the s-expression, just handle them immediately, so that --no-autocompile takes effect for the expander. Andy Wingo2010-03-301-0/+1
* really boot primitive-eval from scheme....* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval): (scm_init_eval): Rework so that scm_primitive_eval always calls out to the primitive-eval variable. The previous definition is the default value, which is probably overridden by scm_init_eval_in_scheme. * libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we can debug when initing eval. Call scm_init_eval_in_scheme. Awesome. * libguile/load.h: * libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up ice-9/eval.scm to replace the primitive-eval definition, if everything is there and up-to-date. * libguile/modules.c (scm_module_transformer): Export to Scheme, so it's there for eval.go. * module/ice-9/boot-9.scm: No need to define module-transformer. * module/ice-9/eval.scm (capture-env): Only reference the-root-module if modules are booted. (primitive-eval): Inline a definition for identity. Throw a more standard error for "wrong number of arguments". * module/ice-9/psyntax.scm (chi-install-global): The macro binding for a syncase macro is now a pair: the transformer, and the module that was current when the transformer was installed. The latter is used for hygiene purposes, replacing the use of procedure-module, which didn't work with the interpreter's shared-code closures. (chi-macro): Adapt for the binding being a pair, and get the hygiene from the cdr. (eval-local-transformer): Adapt to new form of macro bindings. * module/ice-9/psyntax-pp.scm: Regenerated. * .gitignore: Ignore eval.go.stamp. * module/Makefile.am: Reorder for fastest serial compilation, now that there are no ordering constraints. I did a number of experiments here and this seems to be the best; but the bulk of the time is compiling psyntax-pp.scm with eval.scm. Not so great. * libguile/vm-engine.c (vm-engine): Throw a more standard error for "wrong type to apply". * test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect the new evaluator, and throw in another (gc) for good measure. * test-suite/tests/goops.test ("defining classes"): * test-suite/tests/hooks.test (proc1): We can't currently check what the arity is of a closure made by eval.scm -- or more accurately all closures have 0 required args and no rest args. So punt for now. * test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't check that a variable is unbound, currently; perhaps the full "fixing letrec" expansion could fix this. But barring that, punt. Andy Wingo2009-12-031-0/+1
* Restore signature of `scm_search_path ()' as found in 1.8....The incompatibly was introduced by 22f4ee48822db5e30df3abf9a11b6066f2bab9d3 ("make primitive-load-path load compiled files if available"). * doc/ref/api-options.texi (Build Config): Update `search-path' documentation. * libguile/load.c (scm_search_path): Change C prototype to expect only 3 arguments. Parse the rest argument accordingly. Update callers. * libguile/load.h (scm_search_path): Update accordingly. Ludovic Courtès2009-11-011-1/+1
* Restore signature of `scm_primitive_load_path ()' as found in 1.8....The incompatibility was introduced by 0fb81f95b0222c5ba49efd3e36cf797df54c0863 ("add exception_on_error optional arg to primitive-load-path"). * libguile/load.c (scm_primitive_load_path): Change to take 1 rest argument. Interpret the argument as either a file name (C-level backward compatibility with 1.8) or an actual argument list. (scm_c_primitive_load_path): Update caller. * libguile/load.h (scm_primitive_load_path): Update accordingly. * doc/ref/api-evaluation.texi (Loading): Update documentation of `primitive-load-path' and `scm_primitive_load_path ()'. Ludovic Courtès2009-10-151-2/+2
* `load' autocompiles...* libguile/load.h: * libguile/load.c (scm_sys_warn_autocompilation_enabled): New primitive, not exported. Since `load' autocompiles now, it should warn in the same way that the bits hardcoded into C warn. (scm_try_autocompile): Use scm_sys_warn_autocompilation_enabled. * module/ice-9/boot-9.scm (autocompiled-file-name): New helper. (load): Try autocompiling the argument, if appropriate. Will autocompile files passed on Guile's command line. `primitive-load' is unaffected. Andy Wingo2009-08-181-0/+1
* Change Guile license to LGPLv3+...(Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* ) Neil Jerram2009-06-171-6/+7
* add exception_on_error optional arg to primitive-load-path...* libguile/init.c (scm_load_startup_files): Use scm_c_primitive_load_path. * libguile/load.c (scm_primitive_load_path): Add an optional arg, exception_on_error, which if #f will cause primitive-load-path to just return #f if no file is found. This is to help out the semantics of try-module-autoload. We can't just catch misc-error, because loading the file could raise any exception. (scm_c_primitive_load_path): Add the extra arg to scm_primitive_load_path. * libguile/load.h: Adapt scm_primitive_load_path prototype. * module/ice-9/boot-9.scm (try-module-autoload): Refactor slightly to be clearer. Andy Wingo2009-06-031-1/+1
* make primitive-load-path load compiled files if available...* libguile/load.h: Update scm_search_path prototype. * libguile/load.c: Include vm.h for load-compiled/vm. Not sure if this is bad wrt modularity. (scm_c_string_has_an_ext): New private helper. (scm_search_path): Add an extra optional arg, `require_exts'; if true, require that the returned file name have one of the given extensions. Changes the C API, but not the scheme API. (scm_sys_search_load_path): Adapt to scm_search_path API change. (primitive-load-path): Here is the craziness: load a compiled file if found and newer than the corresponding (or not) source file. (scm_init_load): Define %load-compiled-extensions as the list of extensions denoting compiled files; defaults to '(".go"). Andy Wingo2008-09-021-1/+1
* Add `SCM_INTERNAL' macro, use it.Ludovic Courtès2008-05-311-3/+3
* merge from 1.8 branchKevin Ryde2006-04-171-1/+1
* The FSF has a new address.Marius Vollmer2005-05-231-1/+1
* (scm_internal_parse_path): Removed....(scm_parse_path): Use scm_string_split to do the work. (scm_init_load_path): Use scm_parse_path instead of scm_internal_parse_path. (scm_search_path): Rewritten string handling part of the code in terms of scm_to_locale_stringbuf and so that it is thread safe. Marius Vollmer2004-08-101-1/+0
* Changed license terms to the plain LGPL thru-out.Marius Vollmer2003-04-051-35/+11
* Prefixed each each exported symbol with SCM_API.Marius Vollmer2001-11-021-13/+13
* * Removed deprecated stuff....* Some more renamings to SCM_<filename>_H. Dirk Herrmann2001-08-311-8/+10
* * alist.c, arbiters.c, async.h, backtrace.h, boolean.c, chars.c,... chars.h, continuations.h, debug-malloc.h, dynl.c, feature.c, feature.h, filesys.h, fluids.h, fports.h, gc_os_dep.c, gdb_interface.h, gh_eval.c, gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, gsubr.c, gsubr.h, guardians.h, guile-func-name-check.in, guile-snarf-docs-texi.in, guile-snarf-docs.in, guile-snarf.awk.in, guile-snarf.in, hashtab.h, iselect.h, keywords.h, lang.c, list.h, load.h, objprop.c, objprop.h, options.c, options.h, random.h, regex-posix.h, root.c, root.h, script.c, snarf.h, stackchk.c, strerror.c, strop.h, strports.h, threads.h, values.c, values.h, version.c, version.h: Updated copyright notice. Martin Grabmüller2001-07-191-1/+1
* (scm_c_primitive_load,...scm_c_primitive_load_path): New. Marius Vollmer2001-06-291-0/+2
* Updated copyrightsMikael Djurfeldt2000-06-121-1/+1
* * *.[hc]: add Emacs magic at the end of file, to ensure GNU... indentation style. Michael Livshin2000-03-191-0/+6
* * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,...added append docs from R4RS. * strings.c: Docstring typo fix, + eliminate unneeded IMP tests. Thanks Dirk Hermann! * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann! * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout. Drop use of SCM_P for function prototypes... assume an ANSI C compiler. Thanks Dirk Hermann! Greg J. Badros2000-03-021-12/+12
* * backtrace.c (scm_set_print_params_x): Renamed from...set_print_params_x. * guile-doc-snarf.in: Use guile-snarf.awk, not guile-doc-snarf.awk. Pass the basename of $filename * load.h: Added prototypes for scm_sys_library_dir, scm_sys_site_dir. * load.c (scm_sys_library_dir, scm_sys_site_dir): Added these functions, and took out the old scm_library_dir, scm_site_dir, scm_pkgdata_dir. Now the primitives are %package-data-dir (already existed), %library-dir, and %site-dir. * debug.c: Use SCM_MISC_ERROR when possible instead of using s_scm_* in a scm_misc_error() call. * Makefile.am: Use guile-snarf.awk, not guile-doc-snarf.awk. Make using guile-doc-snarf send stdout to $@ to create the .x file like guile-snarf does. * guile-snarf.awk.in: Added. Greg J. Badros1999-12-141-0/+2
* * __scm.h, alist.c, async.c, async.h, backtrace.h, chars.c,...continuations.c, debug.c, debug.h, dynl-dl.c, dynl.c, dynl.h, dynwind.c, dynwind.h, eq.c, error.c, error.h, eval.c, eval.h, feature.c, filesys.c, filesys.h, fports.c, fports.h, gc.c, gc.h, genio.c, genio.h, gh.h, gh_data.c, gsubr.c, gsubr.h, hash.c, hashtab.c, init.c, init.h, ioext.c, ioext.h, kw.c, libguile.h, list.c, list.h, load.c, load.h, mallocs.c, markers.c, mit-pthreads.c, net_db.c, numbers.c, numbers.h, options.c, ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c, procprop.h, procs.c, procs.h, ramap.c, ramap.h, regex-posix.c, regex-posix.h, root.c, root.h, scmsigs.c, scmsigs.h, script.c, script.h, simpos.c, simpos.h, smob.c, smob.h, snarf.h, socket.c, srcprop.c, stackchk.c, stackchk.h, stacks.c, stime.c, stime.h, strings.c, strings.h, strports.c, struct.c, struct.h, symbols.c, symbols.h, tags.h, threads.c, throw.h, unif.c, variable.c, vectors.c, vectors.h, version.h, vports.c, weaks.c: Update copyright years. Jim Blandy1998-10-191-1/+1
* * load.h (scm_internal_parse_path, scm_parse_path,...scm_search_path): Declared. Mikael Djurfeldt1998-06-221-0/+3
* * Lots of files: New address for FSF.Jim Blandy1997-05-261-3/+3
* * strports.c (scm_read_0str, scm_eval_0str): update scm_read usage.... * gdbint.c (gdb_read): update scm_lreadr usage. * load.h: update prototypes. * load.c (scm_primitive_load, scm_read_and_eval_x, scm_primitive_load_path): remove case_insensitive_p, sharp arguments. * read.h: add prototype for scm_read_hash_extend. Change args for other prototypes. * read.c (scm_read_hash_procedures): new variable. (scm_read_hash_extend): new procedure. (scm_get_hash_procedure): new procedure. * (scm_lreadr): use scm_get_hash_procedure instead of an argument for extended # processing. (scm_read, scm_lreadr, scm_lreadrecparen, scm_lreadparen, scm_read_token): remove case_i, sharp arguments. Change callers. * read.h (SCM_N_READ_OPTIONS): increase to 3. (SCM_CASE_INSENSITIVE_P): define. * read.c: add case-insensitive option to scm_read_opts. * (scm_read_token): use SCM_CASE_INSENSITIVE_P instead of an argument to determine whether to convert symbol case. (default_case_i): definition removed. * read.c (scm_read_token): if case_i, downcase ic before doing anything with it. Gary Houston1997-03-081-6/+3
* * * load.c, load.h (scm_read_and_eval_x): New function.Mikael Djurfeldt1996-11-021-0/+3
* * load.c, load.h (scm_sys_package_data_dir): New function.Mikael Djurfeldt1996-10-301-0/+1
* * load.c (scm_primitive_load, scm_primitive_load_path): Renamed...from scm_sys_try_load and scm_sys_try_load_path. The Scheme name of scm_primitive_load_path was also changed to "primitive-load-path", from "%try-load-path". Callers changed. We'd like to respect the convention that a function named "try-mumble" should behave just like the function called "mumble", but return #f instead of signalling some error. * load.h: Rename prototypes. Jim Blandy1996-10-151-2/+3
* Use SCM_P instead of PROTO; the latter intrudes on the user's...namespace. * params.h: Deleted; definition of SCM_P moved to... * __scm.h: ... here, where it replaces PROTO macro. * libguile.h, smob.h: Don't #include "params.h". * continuations.c, error.h, feature.h, gc.c, gc.h, init.h, load.h, smob.h: Fix prototypes accordingly. * Makefile.in: Update dependencies. (inner_h_files): Remove params.h. Jim Blandy1996-09-101-5/+5
* * eq.h, files.h, hashtab.h, load.h, mallocs.h, scmsigs.h,...simpos.h: #include "libguile/__scm.h". Jim Blandy1996-09-101-1/+1
* Move code to initialize and search %load-path from ice-9 to C...code, so we can use the load-path to find the ice-9 boot code; this makes it easier to run Guile without installing it. See corresponding changes in guile/Makefile.in. * feature.c: Move stuff concerned with the load path to load.c. (scm_compiled_library_path): Deleted. Don't #include libpath.h here. * feature.h: Don't mention scm_compiled_library_path. * load.c: #include "libpath.h" here, as well as <sys/types.h>, <sys/stat.h>, and <unistd.h> (if present). (R_OK): #define if the system hasn't deigned to. (scm_loc_load_path): New variable. (scm_init_load_path, scm_sys_search_load_path, scm_sys_try_load_path): New functions. (scm_init_load): Initialize scm_loc_load_path to point to the value cell of the Scheme %load-path variable. * load.h: Add declarations for scm_sys_search_load_path, scm_sys_try_load_path. * init.c: Call scm_init_load_path. * Makefile.in (feature.o, load.o): Dependencies updated. * load.c, load.h: Rewrite using PROTO macro. Jim Blandy1996-09-051-12/+5
* maintainer changed: was lord, now jimb; first importJim Blandy1996-07-251-0/+62