Filewatcher File Search File Search
Content Search
» » » » » clisp_2.49-8.1_powerpc.deb » Content »
pkg://clisp_2.49-8.1_powerpc.deb:3051482/usr/share/doc/clisp/  info  control  downloads

clisp - GNU CLISP, a Common Lisp implementation…  more info»


2010-07-07  Sam Steingold  <>

	* 2.49 (2010-07-07)

2010-07-07  Sam Steingold  <>

	Fix MSVC support
	* Makefile.devel (win32msvc/makefile.msvc6, win32msvc/makefile.msvc7):
	pass --without-dynamic-modules to makemake
	* check for ./libtool before invoking it

2010-07-07  Vladimir Tzankov  <>

	* zthread.d (thread_stub): fix double call to set_current_thread.
	causes problems	with USE_CUSTOM_TLS = 2
	* spvw.d (main) [USE_CUSTOM_TLS = 2]: remove the thread specific value
	for signal handling (main) thread

2010-07-05  Yaroslav Kavenchuk  <>


2010-07-04  Sam Steingold  <>

	Fix unbuffered output pipe stream initialization (bug#3024887).
	* stream.d (make_pipe): init output unbuffered streams appropriately

2010-07-03  Bruno Haible  <>

	Support for MacOS X in 64-bit mode.
	* m4/mmap.m4 (CL_MMAP): On MacOS X in 64-bit mode, use a base address,
	so that the test succeeds.
	* lispbibl.d (HEAPCODES): Define by default on MacOS X in 64-bit mode.
	* spvw.d (init_memory): Hardcode bounds for mmap on MacOS X in
	64-bit mode.
	* (cpu): On MacOS X in 64-bit mode, set it to x86_64.

2010-07-02  Sam Steingold  <>

	* init.lisp (load): add RETRY restart to SKIP and STOP
	* condition.lisp (eval-loaded-form): ditto

2010-06-27  Sam Steingold  <>

	Support libsvm 2.91
	* modules/libsvm/ check for svm_set_print_string_function;
	drop pkg-config support
	* modules/libsvm/libsvm.lisp: call svm_set_print_string_function
	when it is available

2010-06-25  Sam Steingold  <>

	* spvw.d (quit): FINISH-OUTPUT on standard streams before saying "Bye"

2010-06-24  Sam Steingold  <>

	* stream.d (IS_EINVAL_EXTRA): treat all *BSD flavors like DARWIN

2010-06-24  Sam Steingold  <>

	* (anymodule): use CLISP_LIBDIR instead of HEREP
	because it is decolonized to prevent "multiple target patterns"

2010-06-24  Sam Steingold  <>

	ECHO-STREAM together with TWO-WAY-SOCKET; use stream_reset_eltype
	to reset pseudofunctions in case line terminator changed

2010-06-24  Sam Steingold  <>

	* m4/termcap.m4 (CL_TERMCAP): fix a $LIBTERMCAP test
	Reported by Yaroslav Kavenchuk <>

2010-06-24  Yaroslav Kavenchuk  <>

	* m4/clisp.m4 (CL_DECOLONIZE): fix a typo in the mingw regexp

2010-06-18  Barry Fishman  <>
	Sam Steingold  <>

	* clhs.lisp (*browsers*): remove firefox-window & firefox-tab,
	add chromium, conkeror, opera; use emacsclient for emacs
	* cfgunix.lisp (*browser*): recommend firefox

2010-06-18  Sam Steingold  <>

	* modules/i18n/gettext.c (get_locale_info) [WIN32_NATIVE]:
	accept errorp to avoid errors when asked for the full list
	(thousands_sep_to_STACK, locale_string_to_STACK)
	(locale_int_to_STACK, locale_bool_to_STACK):
	pass 1 to get_locale_info()
	(get_lang_info, res_to_obj): merge

2010-06-18  Sam Steingold  <>

	fix the 2010-04-15 patch: rl_deprep_term_function is not always present
	* spvw.d (fini_lowest_level): call rl_deprep_term_function only if
	it has been defined in <readline/readline.h>; include it then
	* m4/readline.m4 (CL_READLINE): check for rl_deprep_term_function
	Reported by Yaroslav Kavenchuk <>

2010-06-18  Sam Steingold  <>

	* spvw.d (init_memory) [DEBUG_SPVW]: fflush(stderr) so that debug
	output comes before the first lisp output

2010-06-17  Sam Steingold  <>

	* modules/syscalls/calls.c (string_version_compare): call
	strverscmp and clear the STACK
	(OS:VERSION>=): use it
	* modules/syscalls/posix.lisp (OS:VERSION<, OS:VERSION<=)
	* modules/syscalls/ call gl_FUNC_STRVERSCMP
	* Makefile.devel (gnulib-imported): import strverscmp into syscalls

2010-06-17  Sam Steingold  <>

	* stream.d (IS_EINVAL, IS_EINVAL_EXTRA): extracted from
	finish_tty_output and force_tty_output
	(finish_tty_output, force_tty_output, clear_tty_output)
	(listen_handle): use IS_EINVAL
	Reported by José H. Espinosa <>

2010-06-16  Sam Steingold  <>

	* (check-script): fix "make check | tee": redirect
	output under nohup because nohup only creates nohup.out if there
	is no redirection

2010-06-16  Sam Steingold  <>

	* Makefile.devel (LIBTOOL_VERSION): bump to 2.2.8
	(GNULIB_MODULES): remove obsolete modules memmove & memcmp
	(build-aux-update): also get ltoptions ltsugar ltversion lt~obsolete
	* add AC_CONFIG_MACRO_DIR([m4]) for libtoolize
	* modules/syscalls/glm4/sockpfaf.m4, build-aux/config.sub: update

2010-06-16  Sam Steingold  <>

	* 2.48++ (2010-06-16)

2010-06-16  Sam Steingold  <>

	* (distrib): hln merges pathnames, which means that if the
	source pathname is absolute, the destination must be absolute as well

2010-06-15  Sam Steingold  <>

	Try to flush buffers even if CLOSE was called with :ABORT T.
	this partially reverts patch 2010-02-25 and fixes bug#3014919
	* stream.d (handle_close_errors, MAYBE_IGNORE_ERRORS): add
	(close_str_in, close_buff_in): do not accept unused abort arg
	(builtin_stream_close): do not pass abort to them
	(close_buff_out, close_generic, close_ochannel, close_buffered):
	use MAYBE_IGNORE_ERRORS around calls which may signal errors
	(oconv_unshift_output_buffered): accept abort arg
	* constobj.d (handler_for_error): add
	* lispbibl.d (clisp_thread_t) [MULTITHREAD]: add
	(running_handle_close_errors) [MULTITHREAD]: define
	* (check-script): test for bug#3014919

2010-06-15  Sam Steingold  <>

	* pathname.d (handle_directory_encoding_error): use unwind_upto
	instead of a home-brewed concoction

2010-06-15  Sam Steingold  <>

	* spvw_debug.d (venv_out) [DEBUG_SPVW]: add

2010-06-13  Sam Steingold  <>

	* stream.d (BUILT-IN-STREAM-ELEMENT-TYPE): return NIL for an empty

2010-06-10  Sam Steingold  <>

	* modules/syscalls/calls.c (POSIX:LOADAVG): fix a GC-safety bug;
	use round() for integer returns

2010-06-10  Sam Steingold  <>

	* io.d (STRUCTURE-READER): fix g++ compilation and a GC-safety bug

2010-06-10  Sam Steingold  <>

	make OS:BOGOMIPS work even when clisp is compiled with -O
	* modules/syscalls/bogomips.c: extract from calls.c
	* modules/syscalls/calls.c (BOGOMIPS): call extern bogomips()
	* modules/syscalls/ (bogomips.o): compile without
	$(CPPFLAGS) and $(CFLAGS) to avoid all optimizations
	(GENERATED): add bogomips.o
	* modules/syscalls/ do not check for clock,
	it is always present on all platforms
	* modules/syscalls/ (NEW_FILES): add bogomips.o

2010-06-09  Sam Steingold  <>

	update gnulib
	* modules/regexp/gllib/regex_internal.c:
	* modules/regexp/gllib/regex_internal.h:
	* modules/syscalls/gllib/
	* modules/syscalls/glm4/time_h.m4:
	* build-aux/c++defs.h, build-aux/warn-on-use.h:
	* glm4/fcntl-o.m4, glm4/gnulib-comp.m4, glm4/iconv.m4:
	* glm4/langinfo_h.m4, glm4/lib-link.m4, glm4/stddef_h.m4:
	* glm4/stdint.m4, glm4/wchar_h.m4, glm4/wctype_h.m4: update
	* glm4/libunistring-base.m4: add
	* gllib/ replaces gllib/uniname.h
	* gllib/ replaces gllib/unitypes.h
	* gllib/ replaces gllib/uniwidth.h
	* (UNICODE_EXTRA): remove these 3 files

2010-06-09  Sam Steingold  <>

	* (bench): use base, not boot, for benchmarking
	because it includes syscalls with bogomips

2010-06-09  Sam Steingold  <>

	* (MAKE): remove unused and unset variable
	(GNU_MAKE): fix setting and usage

2010-06-09  Sam Steingold  <>

	* lisparit.d (make_random_state): fix a warning on 32-bit
	platforms by conforming with the official rand_r() declaration

2010-06-09  Sam Steingold  <>

	fix bug#3013406: "make distrib" does not play well with dynamic modules
	* _distmakefile (CFLAGS): add @@EXPORT_DYNAMIC_FLAG_SPEC@@
	* (distmakefile): substitute EXPORT_DYNAMIC_FLAG_SPEC
	as in libtool.m4
	(EXPORT_DYNAMIC_FLAG_SPEC): get from libtool

2010-06-04  Sam Steingold  <>

	* modules/pari/pari.lisp (%read-from-string): use gp_read_str
	instead of the obsolete readseq; use DEF-CALL-OUT instead of
	PARI-CALL-OUT to avoid shadowing the CL function
	(pari-reader): gp_read_str takes care of whitespace
	(resultant-vector): add (calls vecbezoutres)

2010-06-03  Sam Steingold  <>

	init the PARI internal data structures properly,
	enabling nice error messages to the screen
	* modules/pari/ do not check for killallfiles, freeall;
	check for pari_close
	* modules/pari/cpari.c (clispErrDie): revert to trivial error message
	(clisp_exception_handler): remove
	(init_for_clisp): pass INIT_DFTm to pari_init_opts; do not set
	GP_DATA (done by pari_init_opts) and default_exception_handler
	(fini_for_clisp): remove
	* modules/pari/pari.lisp (pari-fini): call pari_close(),
	also call pari_close() in :FINI

2010-06-03  Sam Steingold  <>

	* defs1.lisp (require): fix the 2010-05-25 patch: do not lock
	*SYSTEM-PACKAGE-LIST* if "SYSTEM" is not locked, i.e., CLISP was
	started with "-d" and thus locking is not desired

2010-06-03  Sam Steingold  <>

	* modules/pari/pari.lisp (convert-to-pari): use symbols instead of
	numbers as the typecode argument in pari-cgetg invocations
	(convert-from-pari-vector): replaces convert-from-pari-VEC and
	(convert-from-pari): use it instead of them
	(convert-to-pari@vector): simplify
	(convert-from-pari-REAL): treat empty mantissa as 0 (no signed 0
	in CLISP)
	(convert-from-pari-SER): fix
	(pari-object): remove the spurious "nil" slot
	(pari-real-qf): fix definition (4 slots, not 3)

2010-06-02  Sam Steingold  <>

	* modules/pari/pari.lisp (pari-typecode): export names
	(variable-order): add (call reorder)
	(euler): remove DEFINE-SYMBOL-MACRO
	(pari-real-precision): re-add function, setf, and symbol-macro
	(pari-real-precision-words): add a function on top of a variable
	(pari-call-out-prec): prec is specified in number of decimals

2010-06-01  Sam Steingold  <>

	* modules/pari/pari.lisp: use DEFSTRUCT instead of DEFCLASS for
	CLISP representation of PARI objects for speed and i/o

2010-06-01  Sam Steingold  <>

	* reploop.lisp (main-loop): exit if (RETURN-FROM MAIN-LOOP) fails
	* (check-script): check that loading a broken file
	from -x with -repl does not hang CLISP

2010-06-01  Sam Steingold  <>

	Fix bug#3009966: Problems with wild-inferiors in DIRECTORY :FULL T
	* pathname.d (directory_search): respect :FULL T on recursive
	subdirectory search

2010-05-30  Vladimir Tzankov  <>

	* spvw.d (interrupt_thread): make sure interrupt will not be lost when
	interrupted thread is waiting on mutex or exemption
	* zthread.d (EXEMPTION-WAIT): store in thread struct associated mutex
	(xlock_lock_helper): when handling pending interrupts - lock internal
	mutex before entering "safe for gc/interrupt" region.

2010-05-28  Sam Steingold  <>

	* modules/pari/pari.lisp (getstack, gettime)
	(gisprime, gispseudoprime): fix declarations
	(make-internal-pari-object): return NIL when PTR is NULL
	(pari-reader): use MAKE-INTERNAL-PARI-OBJECT
	(pari-to-lisp@null): return NIL
	(primpart, primitive-part, maxprime): add declarations
	(make-initargs): do not upcase SYMBOL-NAME
	(convert-from-pari-10, convert-from-pari-11): use %COMPONENT
	(pari-get-integer-data, pari-set-integer-data): define using
	DEF-CALL-OUT and int_W because the order of words in the data
	segment of integers depend on whether PARI is build with gmp (low
	bytes first) or not (high bytes first); see
	(convert-to-pari@integer): use PARI-SET-INTEGER-DATA
	(convert-from-pari-1): use PARI-GET-INTEGER-DATA

2010-05-27  Sam Steingold  <>

	* modules/pari/pari.lisp (pari-mantissa): do not call PARI-LENGTH-RAW,
	use PARI-LENGTH-BYTE to avoid allocating an extra FOREIGN-VARIABLE
	(PARIINFO): define
	(pari-version): also return PARIINFO
	(legendre-polynomial, tchebychev-polynomial, hilbert-matrix)
	(pascal-triangle, binomial-coefficient, set-random-seed)
	(get-random-seed, pari-random): fix definitions
	(pari-effective-length-raw, pari-mantissa-eff):
	restore using PARI-LENGTH-BYTE
	(convert-from-pari-1, convert-from-pari-10): use PARI-MANTISSA-EFF

2010-05-26  Sam Steingold  <>

	* modules/pari/pari.lisp: update all names to v2 using <pariold.h>
	(pari-pi): remove DEFINE-SYMBOL-MACRO to avoid shadowing a foreign var
	(pari-sign-raw): fix for 64-bit negatives
	(convert-to-pari): NIL->NIL
	(get-varno): use BIGINT instead of 256 to check validity
	(extract-mantissa): extract from CONVERT-TO-PARI (INTEGER & FLOAT)
	(convert-to-pari@integer&float): use it; use (BITSIZEOF 'ULONG)
	instead of a literal 32 which fixes bignum & (almost) float conversion

2010-05-26  Arseny Slobodyuk  <>

	* modules/syscalls/calls.c [WIN32_NATIVE || UNIX_CYGWIN32]
	(OS::%SET-CLIPBOARD): behave according to setf logic: return
	the value given. Raise a lisp error on failure.
	Do not try to use unicode when it is not a unicode build.
	(OS:CLIPBOARD): The same unicode guarding ifdefs.
	Expect blocking behaviour of GetClipboardData.

2010-05-25  Sam Steingold  <>

	* modules/pari/pari.lisp (pari-get-real-prec-raw)
	(pari-real-precision, pari-get-real-prec-digits): remove
	(pari-call-out-prec): use (EXT:LONG-FLOAT-DIGITS)
	instead of (PARI-GET-REAL-PREC-RAW) as the default PREC value

2010-05-25  Sam Steingold  <>

	* modules/pari/pari.lisp (pari-byte): add
	(pari-sign-byte, pari-type-byte, pari-length-byte)
	(pari-exponent-byte, pari-valuation-byte, pari-precision-byte)
	(pari-varno-byte): define using PARI-BYTE
	(LGEFBITS): remove (gone from PARI)
	(pari-effective-length-byte, pari-effective-length-raw): remove
	(pari-mantissa-eff, pari-mant): remove
	(pari-mantissa, pari-set-component, pari-make-object):
	fix (use a single WITH-C-VAR, shift using (sizeof 'c-pointer))
	(convert-to-pari@integer, convert-to-pari@pari-poly):
	(convert-from-pari-1, convert-from-pari-10):

2010-05-25  Sam Steingold  <>

	* foreign1.lisp (DEF-C-CONST): move checking whether we are
	writing to a C file from here to ...
	(note-c-const): ... here
	(c-const-value): when the constant is not defined, VALUE-P is 0, not NIL

2010-05-25  Sam Steingold  <>

	* defs1.lisp (require): lock *SYSTEM-PACKAGE-LIST* after loading
	because we might have loaded a system package

2010-05-25  Sam Steingold  <>

	* foreign1.lisp (maximize-integer-type): add
	(DEF-C-CONST): use it so that we can accept any integer C type
	but only create two C functions: for long and ulong

2010-05-25  Sam Steingold  <>

	* (install): do not "make clisp-module-distrib" when
	moduledir==distribdir; useful for updating dynmod in the build directory

2010-05-25  Sam Steingold  <>

	* modules/pari/cpari.c (clisp_exception_handler): new function;
	saves errmessage[numerr] in global_err_data
	(clispErrDie): incorporate global_err_data in the error message
	(init_for_clisp): set default_exception_handler to

2010-05-25  Sam Steingold  <>

	* modules/pari/pari.lisp (clispTemp): remove
	(extract0, extract1, pari-set-component, pari-make-object)
	(convert-from-pari-10, convert-from-pari-11):
	use WITH-C-VAR instead of TEMP
	(pari-mant): extract the common part of PARI-MANTISSA-EFF and
	PARI-MANTISSA and use WITH-C-VAR instead of TEMP
	(pari-mantissa-eff, pari-mantissa): use PARI-MANT
	(collect-mantissa): extract & use (ASH . 32) instead of (* . x100000000)
	(convert-from-pari-1, convert-from-pari-2): use it

2010-05-24  Sam Steingold  <>

	* modules/pari/pari.lisp (symmetric-matrix-perfection): fix declaration
	* modules/pari/cpari.c: include <pari/paripriv.h> for GP_DATA
	(init_for_clisp): init GP_DATA for #Z"" i/o

2010-05-24  Sam Steingold  <>

	* modules/pari/ do not check for init_opts
	(LIBS): append "-lm" (required for linking with LIBPARI)
	* modules/pari/cpari.c (init_for_clisp): do not use init_opts

2010-05-23  Sam Steingold  <>

	* modules/berkeley-db/bdb.c (txn_status_check): add DEFCHECKER
	(TXN-CHECK): use it to output stat->st_txnarray->status symbolically
	* modules/berkeley-db/dbi.lisp (db-txn-active): status may be a keyword

2010-05-21  Sam Steingold  <>

	* modules/pari/ (pari.o): pass -I. first thing to CC
	so that pari/config.h was included instead of the clisp config.h

2010-05-18  Sam Steingold  <>

	* modules/postgresql/postgresql.lisp: sync with libpq-fe.h 1.147 (8.4)
	(PG_COPYRES_NOTICEHOOKS, PGresAttDesc, PQconninfoParse, PQinitOpenSSL)
	(PQcopyResult, PQsetResultAttrs, PQresultAlloc, PQsetvalue)
	(lo_import_with_oid): add
	* modules/postgresql/ check for the new functions

2010-05-18  Sam Steingold  <>

	* modules/berkeley-db/bdb.c: support 4.8
	(DB_XIDDATASIZE): when undefined, use DB_GID_SIZE
	(BDB:DB-CREATE): do not accept :XA
	* modules/berkeley-db/
	check for the new field names in DB_TXN_ACTIVE
	* modules/berkeley-db/dbi.lisp (db-txn-active): rename fields:
	`xid' to `gid' and `xa_status' to `status'
	use :DB-GID-SIZE instead of :DB-XIDDATASIZE

2010-05-18  Sam Steingold  <>

	* modules/pari/ (ALL_CFLAGS): collect all CFLAGS et al
	variables here and add -I$(srcddir) for cpari.h
	(pari.o, cpari.o): use it instead of listing all variables explicitly

2010-05-18  Sam Steingold  <>

	update gnulib
	* build-aux/arg-nonnull.h, build-aux/c++defs.h, build-aux/warn-on-use.h:
	* gllib/, gllib/nl_langinfo.c, gllib/
	* glm4/fcntl-o.m4, glm4/langinfo_h.m4, glm4/nl_langinfo.m4:
	* glm4/stddef_h.m4, glm4/warn-on-use.m4, glm4/wchar_h.m4:
	* glm4/wctype_h.m4: add
	* modules/regexp/gllib/, modules/regexp/gllib/btowc.c:
	* modules/regexp/gllib/gettext.h, modules/regexp/gllib/regcomp.c:
	* modules/regexp/gllib/, modules/regexp/gllib/
	* modules/regexp/glm4/btowc.m4, modules/regexp/glm4/gnulib-common.m4:
	* modules/regexp/glm4/gnulib-comp.m4, modules/regexp/glm4/mbrtowc.m4:
	* modules/regexp/glm4/regex.m4, modules/regexp/glm4/stddef_h.m4:
	* modules/regexp/glm4/stdlib_h.m4, modules/regexp/glm4/unistd_h.m4:
	* modules/regexp/glm4/wcrtomb.m4, modules/syscalls/gllib/
	* modules/syscalls/gllib/
	* modules/syscalls/gllib/, modules/syscalls/gllib/time_r.c:
	* modules/syscalls/gllib/
	* modules/syscalls/glm4/gnulib-common.m4:
	* modules/syscalls/glm4/gnulib-comp.m4:
	* modules/syscalls/glm4/stddef_h.m4:
	* modules/syscalls/glm4/strings_h.m4, modules/syscalls/glm4/strptime.m4:
	* modules/syscalls/glm4/sys_socket_h.m4:
	* modules/syscalls/glm4/sys_utsname_h.m4:
	* modules/syscalls/glm4/time_h.m4, modules/syscalls/glm4/time_r.m4:
	* modules/syscalls/glm4/unistd_h.m4:
	* modules/wildcard/glm4/gnulib-common.m4:
	* modules/wildcard/glm4/gnulib-comp.m4: update

2010-05-18  Sam Steingold  <>

	* genclisph.d: undef PACKAGE_URL together with the other PACKAGE_*

2010-05-18  Sam Steingold  <>

	Implement RFE#3001956: *PRINT-CLOSURE* now controls interpreted
	closure output too
	* io.d (STRUCTURE-READER): read #S(FUNCTION ...) as an Iclosure
	(pr_closure): when *PRINT-CLOSURE* is non-NIL, print Iclosure
	using #S(FUNCTION ...) syntax

2010-05-13  Sam Steingold  <>

	* pathname.d (direntry_to_string) [!ENABLE_UNICODE]: handle len==-1

2010-05-12  Sam Steingold  <>

	* modules/syscalls/calls.c (OS::%SET-CLIPBOARD): rename from
	SET-CLIPBOARD; use L() instead of `` for PRINC-TO-STRING
	* modules/syscalls/posix.lisp (clipboard): add DEFSETF, export

2010-05-12  Arseny Slobodyuk  <>

	* modules/syscalls/calls.c [WIN32_NATIVE || UNIX_CYGWIN32]
	(nlines_a, nlines_w, strzcpy12_a, strzcpy12_w, strzcpy21_a)
	(strzcpy21_w): new static utility functions.
	(SET-CLIPBOARD, GET-CLIPBOARD): new defuns to manage
	textual contents of Windows clipboard.
	* modules/syscalls/posix.lisp [win32 || cygwin]: export

2010-05-09  Vladimir Tzankov  <>

	* spvw.d (main_actions) [MULTITHREAD]: cleanup stack when main thread

2010-05-07  Arseny Slobodyuk  <>

	* modules/syscalls/calls.c (USER-INFO): skip entries with uid of
	-1 when returning a list.  These entries appearing in cygwin
	correspond to user records not synchronized with /etc/passwd.

2010-05-02  Vladimir Tzankov  <>

	* eval.d (interpret_bytecode_ JMP) [MULTITHREAD]: insert GC safe point
	in JMP instructions and discard mv_space for ones that invalidate it

2010-04-27  Sam Steingold  <>

	* modules/syscalls/calls.c (GetSecurityInfoFunc_t)
	(LookupAccountSidFunc_t, GetLengthSidFunc_t, CopySidFunc_t)
	(EqualSidFunc_t, ConvertSidToStringSidFunc_t): add typedefs
	(initialize_sid_apis): use them instead of explicit types

2010-04-27  Arseny Slobodyuk  <>

	Response to bug#2959335 (a feature request, actually)
	* modules/syscalls/calls.c [WIN32_NATIVE || UNIX_CYGWIN32]
	(GET-USER-SID): new DEFUN. Returns security identifier (SID)
	of current user or of the user thar's name is specified.
	* modules/syscalls/posix.lisp (GET-USER-SID): exported.

2010-04-27  Arseny Slobodyuk  <>

	* modules/syscalls/calls.c [WIN32_NATIVE || UNIX_CYGWIN32]
	(initialize_sid_apis): dynamic loading of SID API moved out
	of get_owner block and made available on cygwin.
	(get_owner): fixed potential bugs.
	Comments, cosmetics.

2010-04-22  Arseny Slobodyuk  <>

	Finish and fix COM init patch.
	* win32aux.d (com_initialized): revoke the variable.
	(init_win32): do not init COM.
	(done_win32) [!MULTITHREAD]: unconditionally call
	* modules/syscalls/calls.c (BTCoCreateInstance): define
	static function for cygwin.

2010-04-21  Sam Steingold  <>

	* use "&&" instead of "if+then" for simplicity

2010-04-20  Sam Steingold  <>

	* spvw_language.d (init_language_from): accept NULL argument
	(init_language): simplify logic

2010-04-20  Sam Steingold  <>

	* stream.d (rd_ch_terminal3): use alloca instead of malloc to
	allocate the prompt

2010-04-20  Sam Steingold  <>

	warnings signaled by EVAL-WHEN
	* compiler.lisp (c-warn): do not increase *WARNING-COUNT* here
	(c-style-warn): do not increase *STYLE-WARNING-COUNT* & *WARNING-COUNT*
	* condition.lisp (warn-of-type): increase *WARNING-COUNT* and
	*STYLE-WARNING-COUNT* here when they are bound
	* utils/clispload.lsp (*expected-failures*): remove COMPILE-FILE.2

2010-04-19  Sam Steingold  <>

	* stream.d (make_terminal_stream_) [HAVE_TERMINAL3]: disable
	readline signal handling by setting "rl_catch_signals = 0"

2010-04-19  Arseny Slobodyuk  <>

	Fix COM library initialization in MT version.
	* w32shell.c (BTCoCreateInstance): CoCreateInstance
	with call of CoInitialize if needed.
	(resolve_shell_shortcut): use it.
	* spvw.d (delete_thread) [WIN32_NATIVE]: call
	CoUninitialize on each thread exit.
	* win32aux.d (done_win32) [MULTITHREAD]: do not call CoUninitialize.
	* modules/syscalls/calls.c (BTCoCreateInstance) [WIN32_NATIVE]: declare
	use BTCoCreateInstance instead of CoCreateInstance.

2010-04-16  Sam Steingold  <>

	* (check-recompile): remove the 2001-06-15
	*GENSYM-COUNTER* hack because we no longer have GENSYMs in FLETs

2010-04-16  Sam Steingold  <>

	* utils/clispload.lsp: use RT:REM-TEST to disable CHAR-INT.2
	instead of redefining a function

2010-04-15  Sam Steingold  <>

	fix bug #2986052: mt/readline: terminal is left raw on crash
	* spvw.d (fini_lowest_level) [GNU_READLINE]: call
	rl_deprep_term_function to restore the terminal state
	(signal_handler_thread): call fini_lowest_level

2010-04-15  Vladimir Tzankov  <>

	fix bug#2987732: mt: clisp hangs repeating sched_yield()
	* stream.d (begin_rl_callback, end_rl_callback): define and use instead
	of begin_callback() and end_callback() in readline callbacks

2010-04-15  Sam Steingold  <>

	* query.lisp (y-or-n-p, yes-or-no-p): call (FORCE-OUTPUT *QUERY-IO*)
	after every output to *QUERY-IO*

2010-04-14  Sam Steingold  <>

	* clhs.lisp: set package/impnotes documentation for package THREADS

2010-04-13  Vladimir Tzankov  <>

	* spvw.d (fill_terminating_signals_mask): add terminating signals to
	sigset_t mask
	(async_signal_mask): unblock terminating signals if the process is
	exiting due to such signal
	(signal_wait): ignore signals not set in the mask passed to sigwait()
	(signal_handler_thread) [UNIX_MACOSX]: do not ignore SIGHUP

2010-04-13  Arseny Slobodyuk  <>

	Fix for a bug#1481218 with default drive directory:
	within CLISP default_directory_of() is used to fill missed
	pathname directory component in pathnames like C:lisp.exe.
	This functionality now added to real_path as well to
	support lisp invocation like 'C:\>e:lisp.exe -M e:lispinit.mem'.
	* w32shell.c (real_path): detect and handle default drive
	directory references. Optimization: less use of strlen.

2010-04-12  Vladimir Tzankov  <>

	* spvw_sigterm.d (quit_on_signal_in_progress): move to spvw.d
	* spvw.d (quit_on_signal_in_progress): define it here
	(async_signal_mask) [POSIX_THREADS]: do not add terminating signals if
	process was already signaled with one of them
	(signal_handler_thread): set proper exit code on terminating signal.
	print to stderr "Exiting on signal ...". fix erroneous message on
	terminating signal

2010-04-12  Sam Steingold  <>

	* spvw_sigterm.d (quit_on_signal_in_progress): always define
	* spvw.d (signal_handler_thread) [MULTITHREAD]: fix last patch:
	set quit_on_signal_in_progress when terminating

2010-04-11  Sam Steingold  <>

	fix bug#2795278: when quitting on signals, do not enter the debugger
	* lispbibl.d (quit_on_signal_in_progress): declare
	* error.d (signal_and_debug): quit if quit_on_signal_in_progress
	* debug.d (break_driver): ditto
	* spvw_sigterm.d (quit_on_signal_in_progress): make global

2010-04-02  Sam Steingold  <>

	* pathname.d (SAVEMEM): use nullp(.) instead of eq(NIL,.)
	* zthread.d (MAKE-MUTEX, MUTEX-LOCK): ditto

2010-03-30  Arseny Slobodyuk  <>

	Fix for a bug#2813561 with cygwin symlinks:
	lack of discrimination between cygwin symlinks, used in build
	process and other Windows shortcuts.
	* w32shell.c (win_shortcut_hdr): lnk file header
	(cmp_shortcut_header, is_cygwin_symlink): new static functions
	(resolve_shell_shortcut): use is_cygwin_symlink

2010-03-29  Sam Steingold  <>

	* condition.lisp (prompt-for-new-value): terminate the prompt for
	the new value with (PROMPT-FINISH) instead of ": " to indicate that
	this is a regular prompt and the value will be evaluated
	* macros2.lisp (prompt-for-new-value-string): ditto
	Suggested by Pascal J. Bourguignon <>

2010-03-26  Sam Steingold  <>

	* condition.lisp (prompt-for-new-value): EVAL the value entered by
	the user

2010-03-25  Sam Steingold  <>

	* modules/libsvm/ on ubuntu libsvm is managed by
	pkg-config which seems rather silly because there is no real
	connection between gnome and libsvm;
	we must support both pkg-config and non-pkg-config installations

2010-03-24  Sam Steingold  <>

	* modules/libsvm/libsvm.lisp: remove DEFAULT-FOREIGN-LIBRARY

2010-03-24  Sam Steingold  <>

	* m4/general.m4 (CL_MODULE_COMMON_CHECKS): require CL_PROG_LN_S
	* modules/berkeley-db/, modules/clx/new-clx/
	* modules/dbus/, modules/dirkey/
	* modules/fastcgi/, modules/gdbm/
	* modules/gtk2/, modules/i18n/
	* modules/libsvm/, modules/oracle/
	* modules/pari/, modules/pcre/
	* modules/postgresql/, modules/rawsock/
	* modules/readline/, modules/regexp/
	* modules/syscalls/, modules/wildcard/
	* modules/zlib/ use @LN@ and @LN_S@

2010-03-24  Sam Steingold  <>

	* modules/libsvm/, modules/libsvm/ restore
	TO_PRELOAD, necessary because of DEF-CALL-IN in libsvm.lisp

2010-03-22  Sam Steingold  <>

	* modules/libsvm: remove the upstream sources; install locally and
	pass --with-libsvm-prefix to the top-level configure instead
	* Makefile.devel (MODULES): add libsvm

2010-03-22  Sam Steingold  <>

	* modules/libsvm: upgrade to upstream 2.90

2010-03-19  Sam Steingold  <>

	* modules/gdbm/gdbm.c (GDBM-VERSION): cache return value

2010-03-19  Sam Steingold  <>

	* utils/modprep.lisp (print-tables-1): when OBJDEF-INIT is
	STRINGIFY(FOO), print it as "\"~S\"" to use the quoted CPP definition

2010-03-19  Sam Steingold  <>

	upgrade to pcre 8.01
	* modules/pcre/cpcre.c (fullinfo_bool): add
	(PCRE-VERSION): also return PCRE_DATE

2010-03-19  Sam Steingold  <>

	* genclisph.d (print_file) [!HAVE_STDBOOL_H]: enable (see lispbibl.d)
	Reported by Raymond Toy <>

2010-03-18  Sam Steingold  <>

	* ../Makefile.devel (GET_PREFIX): add
	($(MAKEFILE_IN)): use it
	(gnulib-imported): remove macro-prefix from _GL_UNUSED which is
	defined in config.h using gnulib-common.m4:gl_COMMON_BODY and thus
	is not amenable to the macro-prefix strategy

2010-03-18  Sam Steingold  <>

	* stream.d (handle_direction_compatible) [WIN32_NATIVE]:
	fix bug#2805778 ("0>/dev/null") by using
	GetNumberOfConsoleInputEvents for FILE_TYPE_CHAR
	and PeekNamedPipe for FILE_TYPE_PIPE

2010-03-17  Sam Steingold  <>

	*, modules/regexp/,
	* modules/syscalls/, modules/wildcard/ (gllib):
	do not pass build_aux= to make in subdir (revert the 2010-03-17
	patch because it does not look like gnulib will ever use $(build_aux))

2010-03-17  Sam Steingold  <>

	* (MODULE_AM): avoid not portable "fgrep -q"
	Reported by Christian Walther <>

2010-03-17  Sam Steingold  <>

	* m4/clisp.m4 (CL_DECOLONIZE): add
	(CL_CLISP): use it instead of inline code

2010-03-17  Sam Steingold  <>

	* stream.d (find_open_file): add a cast to fix g++ compilation

2010-03-17  Sam Steingold  <>

	update gnulib
	* modules/regexp/gllib/, modules/regexp/gllib/
	* modules/regexp/glm4/stdlib_h.m4, modules/regexp/glm4/unistd_h.m4:
	* modules/syscalls/gllib/
	* modules/syscalls/gllib/, modules/syscalls/gllib/
	* modules/syscalls/glm4/sys_socket_h.m4:
	* modules/syscalls/glm4/sys_utsname_h.m4:
	* modules/syscalls/glm4/time_h.m4, modules/syscalls/glm4/unistd_h.m4:
	* build-aux/warn-on-use.h, gllib/, gllib/
	* gllib/, gllib/, gllib/
	* gllib/, glm4/gnulib-comp.m4, glm4/langinfo_h.m4:
	* glm4/string_h.m4, glm4/sys_time_h.m4, glm4/unistd_h.m4: update
	* build-aux/c++defs.h: add
	* glm4/wchar_h.m4: rename from glm4/wchar.m4
	* glm4/wctype_h.m4: rename from glm4/wctype.m4

2010-03-17  Sam Steingold  <>

	* Makefile.devel ($(MAKEFILE_IN)): transform just generated to add gnulib prefix substitution to rules generating
	headers which come from build-aux

2010-03-16  Sam Steingold  <>

	* m4/clisp.m4 (CL_CLISP): when running on woe32, we must ensure
	that cl_cv_clisp_libdir contains no colons because this will
	confuse make ("multiple target patterns") when $(CLISP_LIBDIR)
	appears in the list of dependencies
	* (gllib): ditto

2010-03-16  Sam Steingold  <>

	*, modules/regexp/,
	* modules/syscalls/, modules/wildcard/ (gllib):
	pass build_aux= to make in subdir

2010-03-04  Sam Steingold  <>

	* spvw.d (INVALID_ARG): also "return 1"
	(parse_options): simplified based on the above

2010-03-03  Vladimir Tzankov  <>

	* spvw.d (realloc_threads_symvalues): expand all threads symvalues
	tables and initialize new cells to SYMVALUE_EMPTY
	* spvw_global.d (add_per_thread_special_var): use it
	* spvw_memfile.d (loadmem_from_handle): ditto

2010-03-02  Sam Steingold  <>

	* pathname.d (CD): do not merge *DEFAULT-PATHNAME-DEFAULTS*
	because the merging breaks the advertised behavior: (CD) is
	actually equivalent to (CD *DEFAULT-PATHNAME-DEFAULTS*),
	and does not just return the current directory as advertised

2010-02-28  Vladimir Tzankov  <>

	* zthread.d (xlock_unlock_helper): signal lock's condition variable
	before unlocking internal mutex. fixes possible deadlock if signal is

2010-02-27  Vladimir Tzankov  <>

	* spvw_garcol.d (gar_col_normal) [MULTITHREAD]: mark active threads
	before weak pointers
	(SPLIT_REF_LISTS): remove 'condition' argument

2010-02-27  Vladimir Tzankov  <>

	* zthread.d (xlock_lock_helper): do not try to handle pending
	interrupts for signal processing thread (no clisp_thread_t for it)
	(win32_xcondition_wait): cleanup

2010-02-26  Sam Steingold  <>

	* call gl_FCNTL_O_FLAGS, needed by the new localcharset.c

2010-02-26  Sam Steingold  <>

	Handle headers placed in build-aux by gnulib
	* m4/clisp.m4 (CL_CLISP): add AC_SUBST(CLISP_LIBDIR)
	* Makefile.devel ($(MAKEFILE_IN)): manually substitute
	CLISP_LIBDIR for $(top_srcdir)/src/build-aux et al
	* modules/regexp/, modules/syscalls/
	* modules/wildcard/ use CLISP_LIBDIR when passing
	CFLAGS to make in gllib
	depend on build-aux
	(BUILD_AUX): add build-aux headers, found in's

2010-02-25  Sam Steingold  <>

	Ensure that (CLOSE s :ABORT T) never signals.
	* stream.d (ChannelStream_fini): accept abort argument and do not
	signal errors when it is true
	(close_ichannel): pass abort to ChannelStream_fini
	(close_ochannel): do not call oconv_unshift_output_unbuffered() if
	abort is true; pass abort to ChannelStream_fini
	(close_buffered): do not call oconv_unshift_output_buffered() and
	buffered_flush_everything(); pass abort to ChannelStream_fini
	(SET-STREAM-EXTERNAL-FORMAT): pass abort=0 to ChannelStream_fini
	(builtin_stream_close): do not call harden_elastic_newline if
	abort is true

2010-02-25  Sam Steingold  <>

	* stream.d (stream_lend_handle): support sockets

2010-02-23  Sam Steingold  <>

	* Makefile.devel (GNULIB_MODULES): add nl_langinfo, which is now
	required by regexp, so that i18n have it always available
	* modules/i18n/ call gl_FUNC_NL_LANGINFO
	* modules/i18n/gettext.c [!WIN32_NATIVE]:
	assume that nl_langinfo is always present

2010-02-23  Sam Steingold  <>

	update gnulib
	* modules/regexp/gllib/, modules/regexp/gllib/regcomp.c:
	* modules/regexp/gllib/regex_internal.c:
	* modules/regexp/gllib/regex_internal.h, modules/regexp/gllib/regexec.c:
	* modules/regexp/gllib/, modules/regexp/gllib/
	* modules/regexp/glm4/btowc.m4, modules/regexp/glm4/regex.m4:
	* modules/regexp/glm4/stdlib_h.m4, modules/regexp/glm4/unistd_h.m4:
	* modules/syscalls/gllib/
	* modules/syscalls/gllib/mktime.c, modules/syscalls/gllib/sockets.c:
	* modules/syscalls/gllib/strftime.c, modules/syscalls/gllib/strftime.h:
	* modules/syscalls/gllib/
	* modules/syscalls/gllib/
	* modules/syscalls/gllib/
	* modules/syscalls/gllib/, modules/syscalls/gllib/
	* modules/syscalls/gllib/w32sock.h, modules/syscalls/glm4/strings_h.m4:
	* modules/syscalls/glm4/sys_socket_h.m4:
	* modules/syscalls/glm4/sys_utsname_h.m4:
	* modules/syscalls/glm4/unistd_h.m4:
	* modules/wildcard/gllib/
	* modules/wildcard/gllib/
	* modules/wildcard/gllib/fnmatch_loop.c:
	* gllib/
	* gllib/gettimeofday.c, gllib/localcharset.c, gllib/memcmp.c:
	* gllib/, gllib/, gllib/
	* gllib/, gllib/, glm4/extensions.m4:
	* glm4/gettimeofday.m4, glm4/iconv.m4, glm4/localcharset.m4:
	* glm4/string_h.m4, glm4/sys_time_h.m4, glm4/unistd_h.m4:
	* glm4/wchar.m4: update
	* modules/regexp/glm4/warn-on-use.m4:
	* modules/syscalls/gllib/mktime-internal.h:
	* modules/syscalls/glm4/warn-on-use.m4:
	* build-aux/arg-nonnull.h, build-aux/warn-on-use.h:
	* gllib/, gllib/nl_langinfo.c:
	* glm4/fcntl-o.m4, glm4/langinfo_h.m4, glm4/nl_langinfo.m4:
	* glm4/warn-on-use.m4: add

2010-02-23  Vladimir Tzankov  <>

	[MULTITHREAD]: fix interrupt safety and deferred interrupt handling
	* lispbibl.d (WITH_DEFERED_INTERRUPTS): executes body with deferred
	interrupts (after body finishes deferred interrupts are executed)
	(WITH_MUTEX_LOCK_HELP_): release lock only if it was really acquired
	(GC_SAFE_MUTEX_LOCK): set a flag if the lock has been acquired (before
	handling pending interrupts)
	(lock_threads, unlock_threads): remove
	(allthreads_lock): make it global
	* spvw.d (allthreads_lock): ditto
	(lock_threads, unlock_threads): remove
	(create_thread): initialize all per thread value cells as empty
	(delete_thread): lock allthreads_lock only if needed
	(tsd_slow_getspecific) [USE_CUSTOM_TLS=2, MACOSX]: return NULL if
	called from non-lisp thread (libsigsegv creates one)
	(signal_handler_thread): exit immediately if some thread has failed
	to be stopped (on terminating signals)
	* spvw_global.d (add_per_thread_special_var): use WITH_OS_MUTEX_LOCK.
	do not lock allthreads_lock (value cells are already initialized as
	(clear_per_thread_symvalues): use WITH_OS_MUTEX_LOCK
	* spvw_typealloc.d (allocate_mutex): add newly allocated mutex to
	O(all_mutexes) - prevents memory xmutex_t memory leak in case later
	all_mutexes lock is not acquired (due to interrupt)
	(allocate_exemption): ditto
	* stream.d (get_open_files_lock, release_open_files_lock): remove
	(add_to_open_streams, remove_from_open_streams, find_open_file): use
	* pathname.d (openp): ditto
	* record.d (FINALIZE): ditto
	* package.d (find_package, MAP-ALL-SYMBOLS): ditto
	(LIST-THREADS): do not lock allthreads_lock, just copy O(all_threads)
	(MUTEX-OWNER): return second value - how many times the mutex is locked
	by the owner (for non-recursive mutexes this is at most 1)
	(allocate_mutex, allocate_exemption): do not add to O(all_mutexes) and
	* threads.lisp (WITH-MUTEX-LOCK): unlock the mutex only if it was really
	(WITH-DEFERRED-INTERRUPTS): fix it. handle nested case and execute
	interrupts only if allowed

2010-02-19  Vladimir Tzankov  <>

	* zthread.d (SET-SYMBOL-VALUE-THREAD): fix stack layout on
	unbound_variable error

2010-02-19  Vladimir Tzankov  <>

	* zthread.d (THREAD-JOIN): add :TIMEOUT argument (on timeout return
	values are: NIL; :TIMEOUT)
	* subr.d, subrkw.d: ditto

2010-02-18  Sam Steingold  <>

	* package.d (PACKAGE-ITERATE): remove unused variable
	(symbol_list_lookup, shadowing_delete): move selecting the
	comparison function (inverted or not) out of the loop

2010-02-17  Sam Steingold  <>

	* modules/rawsock/rawsock.c: <linux/netlink.h> requires <asm/types.h>
	(check_socket_protocol): use "-" in NETLINK_*, like in all others
	* modules/rawsock/ check for <asm/types.h>

2010-02-17  Sam Steingold  <>

	* Makefile.devel (AUTOCONF, AUTOHEADER): remove variables;
	to run autoconf/automake from a non-standard location one has to
	prepend it to PATH because aclocal calls autoconf directly

2010-02-17  Sam Steingold  <>

	* lisparit.d (make_random_state): use rand_r() when it is available
	because rand() is neither reentrant nor thread-safe
	* check for rand_r()
	Reported by Tobias C. Rittweiler <>

2010-02-17  Vladimir Tzankov  <>

	* zthread.d (thread_symbol_place): remove
	(SYMBOL-VALUE-THREAD): return (NIL THREAD-ACTIVE-P) if thread is not
	active. lock threads only when really needed
	(SET-SYMBOL-VALUE-THREAD): more specific errors.
	lock threads only when really needed

2010-02-16  Sam Steingold  <>

	* zthread.d (check_thread, check_mutex, check_exemption)
	(check_name_arg): fix subr_self usage (it is a Subr, not a symbol)

2010-02-15  Vladimir Tzankov  <>

	[MULTITHREAD]: make all threads joinable
	* constsym.d, subr.d, subrkw.d: remove :JOINABLE-P
	* spvw_typealloc.d (allocate_thread): allocate mutex and exemption used
	* zthread.d (thread-cleanup): signal waiters in THREAD-JOIN for thread
	(thread_stub): delegate all cleanup to thread_cleanup
	(MAKE-THREAD): revert last commit
	(THREAD-JOIN): all threads are joinable now
	* spvw.d (main_actions): set main thread return value when it is killed

2010-02-13  Vladimir Tzankov  <>

	* lispbibl.d (struct Thread): add mutex, exemption, return values and
	flags to thread record
	(thread_killedp): predicate whether the thread has exited abnormally
	* spvw_typealloc.d (allocate_thread): initialize xth_values to unbound
	* constsym.d, subr.d, subrkw.d: add THREAD-JOIN and :JOINABLE-P to
	MAKE-THREAD keyword arguments
	* threads.lisp: export THREAD-JOIN
	(THROW-TAG): add second optional argument for catch result
	* zthread.d (MAKE-THREAD): accept :JOINABLE-P and allocate mutex and
	exemption for signaling thread exit
	(thread_stub): signal thread join exemption when the thread ends. set
	thread return values and thread exit status
	(THREAD-JOIN): implement. wait on exemption while thread return values
	are available
	(push_interrupt_arguments): pass :arguments (i.e. thread return values)
	to thread being killed
	(THREAD-ACTIVE-P): update condition for inactive thread
	* io.d (pr_orecord): ditto

2010-02-11  Sam Steingold  <>

	* condition.lisp (c-warning): do not concat (C-CURRENT-LOCATION)
	to the FORMAT-STRING because the former may contain "~"
	Reported by Gabriel Dos Reis <>

2010-02-05  Sam Steingold  <>

	* (build-aux): when LN_S is "cp", use "cp -r"

2010-02-02  Sam Steingold  <>

	* (full) [with_dynamic_modules]: remove dynmod
	(install-bin) [with_dynamic_modules]: handle empty dynmod properly
	(distrib) [with_dynamic_modules]: ditto
	Reported by Gabriel Dos Reis <>

2010-01-31  Sam Steingold  <>

	* lambdalist.lisp (check-item): quote PERMISSIBLE here, update callers
	(process-required, push3, process-optional, err-no-default)
	(process-allow-other-keys, process-keywords): new local macros

2010-01-29  Sam Steingold  <>

	* lambdalist.lisp (dolist, check-exhausted, symbol-or-pair-p)
	(singleton-symbol-p, err-missing, last-parameter): new local macros

2010-01-28  Sam Steingold  <>

	better error reporting in lambda list processing
	* lambdalist.lisp (lambda-list-error): new function,
	(err-misplaced, err-invalid, skip-L, analyze-lambdalist)
	(analyze-generic-function-lambdalist, analyze-defsetf-lambdalist)
	errfunc accepts FORM in addition to DETAIL
	* compiler.lisp (c-analyze-lambdalist): ditto
	* clos-method2.lisp (decompose-specialized-lambda-list): ditto
	* clos-genfun2b.lisp (check-gf-lambdalist+argorder): ditto
	* clos-methcomb2.lisp (define-method-combination): ditto + use
	* clos-method1.lisp (initialize-instance-<standard-method>): ditto
	(program-error-reporter, analyze-method-description): ditto
	* clos-method3.lisp (method-signature): ditto
	* defstruct.lisp (ds-make-boa-constructor): ditto
	* places.lisp (defsetf, define-modify-macro): ditto
	* clos-genfun3.lisp (analyze-defgeneric-lambdalist): ditto
	* clos-genfun4.lisp (generic-function-signature): ditto
	* clos-methcomb2.lisp (check-em-arguments-option)
	(build-effective-method-function-form): ditto

2010-01-28  Sam Steingold  <>

	fix bug#2941408: segfault after giving invalid replacement value
	* error.d (check_symbol_special): do not break out of the loop early

2010-01-28  Sam Steingold  <>

	* lispbibl.d (roughly_SP) [USE_CUSTOM_TLS >=2]: simplify the CPP logic
	Reported by Yaroslav Kavenchuk <>

2010-01-27  Ivan Shvedunov  <>

	* lispbibl.d (dfloat) [ARM]: do NOT swap hi/lo when __ARM_EABI__
	is defined (fixes READ-FLOAT/WRITE-FLOAT on Maemo Fremantle)

2010-01-26  Sam Steingold  <>

	* pathname.d (EXECUTE): do not resolve links in the file argument
	because some programs dispatch on argv[0], which could be a
	symbolic link. E.g., in Maemo Fremantle OS used in Nokia N900 phone,
	/bin/sh is a symlink to busybox, so RUN-PROGRAM which calls SHELL
	which calls EXECUTE fails because EXECUTE calls "busybox -c"
	instead of "/bin/sh -c".
	Reported by Ivan Shvedunov <>
	in <>

2010-01-06  Sam Steingold  <>

	upgrade from readline 6.0 to 6.1
	* modules/readline/readline.lisp (state-redisplaying): add

2009-12-30  Sam Steingold  <>

	eliminate yet another static: allocaing_room_pointer
	* lispbibl.d (converter_malloc_t, convert_to_foreign): accept
	"void** state" argument
	* foreign.d (convert_to_foreign): ditto, pass it to converter_malloc
	(allocaing_room_pointer): remove
	(allocaing): accept address of allocaing_room_pointer
	(mallocing, nomalloc): accept and ignore the state argument
	pass NULL as state to convert_to_foreign
	(EXEC-ON-STACK, FOREIGN-CALL-OUT): declare and pass
	allocaing_room_pointer to convert_to_foreign

2009-12-29  Sam Steingold  <>

	* io.d (token_escape_flag): remove global static variable, which
	appears to be messing up "make check-tests-parallel"
	(read_token, read_token_1, test_number_syntax, radix_2): accept
	token_escape_flag argument instead of using the global static
	(BIT-VECTOR-READER): allocate token_escape_flag on the stack here

2009-12-27  Vladimir Tzankov  <>

	[MULTITHREAD, SPVW_BLOCKS]: reuse heap holes for allocations
	* spvw_heap.d (struct heap_hole): strut at the beginning of heap hole
	describing it
	(struct Heap): add heap holes list
	(MIN_HOLE_SIZE_FOR_REUSE): minimum heap hole to consider for reuse
	* spvw_global.d (init_heaps_mt): was init_heap_locks. initialize heap
	holes list
	* spvw.d (main): use it
	* spvw_allocate.d (allocate_in_heap_hole): allocates varobject in heap
	hole (if any of required size is available)
	(allocate_true): try first to allocate in heap hole (if any)
	* spvw_garcol.d (fill_varobject_heap_holes): initialize heap holes list
	(split_gen0_on_holes) [GENERATIONAL_GC]: split generation 0 if there is
	a large hole at its end
	(gar_col_normal): clear heap holes before performing GC. may be split
	generation 0 if there is large hole at its end. take into account
	heap holes when computing used space
	* spvw_space.d (heap_holes_space): calculates space occupied by holes
	for reuse in given heap
	(used_space): take into account heap holes when computing used space

2009-12-10  Sam Steingold  <>

	when compiling REQUIRE, if the module is not found (e.g., it is a
	dynamic module), call REQUIRE right away, at compile time.
	* defs1.lisp (augment-load-path, load-path-augmentations)
	(with-augmented-load-path): extracted from require
	(require): use with-augmented-load-path
	* compiler.lisp (load-or-compile): extracted from c-REQUIRE
	(c-REQUIRE): use load-or-compile

2009-12-08  Sam Steingold  <>

	* modules/rawsock/rawsock.c: include <linux/netlink.h> when present
	(check_socket_protocol): add NETLINK_*
	* modules/rawsock/ check for <linux/netlink.h>

2009-12-02  Sam Steingold  <>

	* modules/rawsock/demos/sniffer.lisp: add a demo
	* modules/rawsock/ (clisp-module-distrib): install it

2009-12-02  Sam Steingold  <>

	* modules/rawsock/rawsock.c (get_socket_protocol)
	[HAVE_GETPROTOBYNAME]: fix argument order in the error message

2009-12-01  Sam Steingold  <>

	* modules/clx/new-clx/clx.f, modules/rawsock/rawsock.c (unused):
	define depending on __GNUC__, not GNU

2009-12-01  Sam Steingold  <>

	* modules/rawsock/rawsock.c (configdev): use strncpy/IFNAMSIZ
	instead of strcpy for copying the interface name

2009-11-29  Sam Steingold  <>

	* m4/clisp.m4 (CL_CLISP): use "." instead of "source" (bash-specific)

2009-11-25  Sam Steingold  <>

	* pathname.d (RENAME-FILE): fix the error_too_many_args invocation
	for the ANSI case

2009-11-25  Sam Steingold  <>

	fix bug#2902716: CLEAR-INPUT should clear the EOF condition
	* stream.d (clear_input_unbuffered): reset status and
	strm_rd_ch_last slots on all streams, not just tty
	(clear_input_buffered): add, clear the have_eof_p slot
	(clear_input): call clear_input_buffered

2009-11-21  Vladimir Tzankov  <>

	* spvw.d (dynload_modules): guard libopen() with
	* foreign.d (open_library): ditto
	* pathname.d (DYNLOAD-MODULES): store libpath on the C stack before
	calling dynload_modules
	* lispbibl.d (dynload_modules): maygc

2009-11-19  Sam Steingold  <>

	* eval.d (interpret_bytecode_): use error_mv_toomany
	* control.d (error_mv_toomany): use the message from eval.d

2009-11-19  Sam Steingold  <>

	RENAME-FILE accepts :IF-EXISTS (unless *ANSI* is T)
	* pathname.d (move_file) [WIN32_NATIVE]: atomic rename when
	available using MoveFileEx (available since windows 2000)
	(rename_existing_file): use it
	(rename_existing_path): add, use it in rename_file & RENAME-DIRECTORY
	(rename_file): accept if_exists
	(RENAME-FILE): accept :IF-EXISTS unless *ANSI* is T
	* subr.d, subrkw.d (rename_file): modify the declaration
	* modules/syscalls/calls.c (copy_one_file):

2009-11-19  Sam Steingold  <>

	* eval.d (funcall_iclosure): use error_too_few_args
	(interpret_bytecode_): use error_too_many_args
	* control.d (MULTIPLE-VALUE-CALL, APPLYHOOK): ditto

2009-11-19  Sam Steingold  <>

	* check-lispfun.lisp (check-lisp-defs): check for LISPFUNs with
	keywords not mentioned in subrkw.d

2009-11-15  Sam Steingold  <>

	* dynamic modules do not work with C++ because of
	symbol mangling, so with_dynamic_modules defaults to !CC_CPLUSPLUS;
	and fail if --with-dynamic-modules is specified with a C++ compiler

2009-11-13  Vladimir Tzankov  <>

	* package.d (intern): perform additional symbol lookup after CERROR
	when package is locked - the symbol may have been interned while
	processing handlers (or by CERROR itself)

2009-11-12  Sam Steingold  <>

	* lispbibl.d (unused): do not export to clisp.h, it is never used
	in any module and causes trouble on some platforms
	* modules/berkeley-db/bdb.c, modules/dirkey/dirkey.c:
	* modules/gtk2/gtk.lisp, modules/syscalls/calls.c:
	no need to "#under unused" anymore
	* modules/clx/new-clx/clx.f, modules/rawsock/rawsock.c:
	define unused which is actually used here a few times,
	but only _after_ all #include's

2009-11-11  Sam Steingold  <>

	* modules/syscalls/calls.c (unused): undef unused before all the
	system includes and do not restore it because it is not used here

2009-11-11  Sam Steingold  <>

	* (cpu): fallback to ${host_cpu}
	(fail): add function, use everywhere

2009-11-10  Sam Steingold  <>

	* configure (ffi_modules): fix the test for module
	requiring FFI

2009-11-10  Sam Steingold  <>

	* (distrib): use FULLTOPDIR for build-aux

2009-11-05  Sam Steingold  <>

	* compiler.lisp (note-function-used): use STYLE-WARNING for
	deprecated functions because WARNING implies non-NIL 3rd return
	value (failure-p) from COMPILE which is an overkill
	* deprecated.lisp (type-expand-1): ditto

2009-11-05  Vladimir Tzankov  <>

	* zthread.d (initialize_thread_bindings): allocate per thread value
	cell for symbols that do not have one

2009-11-04  Sam Steingold  <>

	* eval.d (interpret_bytecode_): fix a type error in the last patch

2009-11-03  Vladimir Tzankov  <>

	[MULTITHREAD]: create dynamic bindings for all special variables
	* zthread.d (initialize_thread_bindings): initializes symbols per
	thread value cells during thread creation
	(thread_stub): use it
	(MAKE-THREAD): check that :initial-bindings is proper list
	* lispbibl.d (initialize_thread_bindings): declare as global
	* spvw.d (mt_main_actions): use it
	* control.d (make_variable_frame): allocate per thread value cells
	for locally declared special variables (if needed)
	* eval.d (progv, cod_bind): ditto
	* threads.lisp (*DEFAULT-SPECIAL-BINDINGS*): initialize per thread
	bindings with global symbol values

2009-11-01  Sam Steingold  <>

	* compiler.lisp (c-cerror): extract predefun from ...
	(c-error): use it; accept DETAIL as the 1st argument
	(test-list, c-form, test-argument-syntax, c-illegal-syntax)
	(c-analyze-lambdalist, bind-fixed-var-1, bind-movable-var)
	(bind-movable-var, c-DECLARE, c-SETQ, c-PSETQ)
	(c-RETURN-FROM, c-TAGBODY, c-GO, c-FUNCTION, err-syntax)
	* condition.lisp (c-cerror): defun here: signal source-program-error

2009-11-01  Sam Steingold  <>

	* compiler.lisp (c-current-location): when returning a non-empty
	value, terminate it with ": "
	(c-warning, c-error): C-CURRENT-LOCATION is either empty or is
	terminated by ": ", so adjust its use
	* condition.lisp (c-warning): ditto; also bind *ERROR-OUTPUT* to
	*C-ERROR-OUTPUT*, never to *C-LISTING-OUTPUT* which may be NIL,
	because *COMPILE-VERBOSE* does not affect condition handling

2009-11-01  Sam Steingold  <>

	* error.d (begin_error): ensure *ERROR-OUTPUT* is valid first thing

2009-10-31  Sam Steingold  <>

	* (fsstnd): infer based on TSYSOS instead of HSYSOS
	and actively discriminate between linuxes and bsds

2009-10-31  Vladimir Tzankov  <>

	[MULTITHREAD]: acquire package mutex lock before calling use_package
	* package.d (unuse_package): package mutex should be locked by caller

2009-10-30  Vladimir Tzankov  <>

	* spvw_garcol.d (gc_sweep1_varobject_page): fix the build when
	HAVE_SMALL_SSTRING is not defined

2009-10-29  Sam Steingold  <>

	* compiler.lisp (ignore-check, value-form-index): revert last patch:
	3.2.5 prescribes style-warning here, the writeup is not normative

2009-10-29  Sam Steingold  <>

	* stream.d (fresh_line_low): replaces elastic_newline_pending_p
	(fresh_line): use it for all legwork so that fresh-line is called
	individually on each constituent stream of a BROADCAST-STREAM instead
	of broadcasting a newline to all streams when only one needs it

2009-10-29  Sam Steingold  <>

	* stream.d (handle_set, handle_isset): use nullp(.) instead of eq(NIL,.)

2009-10-29  Vladimir Tzankov  <>

	[MULTITHREAD]: fix GC safety issue in SOCKET-STATUS
	* stream.d (parse_sock_list): do not return pointer in heap, rather
	return the cons whose cdr should be filled with socket status
	(handle_set, handle_isset): use new return from parse_sock_list and
	preserve it across maygc calls

2009-10-28  Sam Steingold  <>

	* defs2.lisp (date-string): fix the original bug: the date was
	printed to the stdout instead of being returned as a string

2009-10-28  Sam Steingold  <>

	* compiler.lisp (ignore-check, value-form-index): make style-warning
	"used despite IGNORE declaration" a regular warning as per

2009-10-28  Sam Steingold  <>

	use the CL Condition system for compiler diagnostics.
	* compiler.lisp (c-current-location): add
	(c-warning): add predefun, uses c-comment
	(c-warn): use it
	(c-style-warn): use it instead of c-warn
	* condition.lisp (simple-style-warning): add
	(c-warning): define

2009-10-28  Sam Steingold  <>

	remove the "COMPILER" nickname from #<PACKAGE SYSTEM>
	* package.d (init_packages): do not add "COMPILER" nickname to SYS
	* clos-class5.lisp, clos-genfun3.lisp, clos-package.lisp:
	* clos-slots2.lisp, compiler.lisp, defs2.lisp, deprecated.lisp:
	* disassem.lisp, foreign1.lisp, init.lisp, loadform.lisp:
	* macros1.lisp, places.lisp, trace.lisp: use SYS instead of COMPILER

2009-10-26  Sam Steingold  <>

	fix (describe 'linux:wait)
	* foreign.d (PARSE-FOREIGN-INTTYPE): implement
	* constsym.d, subr.d (parse_foreign_inttype): declare
	* foreign1.lisp (parse-c-type): use it for internal int types
	(deparse-c-type): handle internal int types

2009-10-25  Vladimir Tzankov  <>

	* time.d (seconds_west) [MULTITHREAD]: use reentrant functions for
	getting time (localtime_r, gmtime_r)

2009-10-25  Vladimir Tzankov  <>

	[WIN32_THREADS]: use thread safe C run-time (CRT)
	* xthread.d (xthread_create): use _beginthreadex() for thread creation.
	close returned handle immediately in order to prevent leaks
	(xthread_exit): use _endthreadex() - releases per thread allocated
	(THREADPROC_SIGNATURE): add. specify correct calling convention and
	return type of start thread procedure
	* spvw.d (mt_main_actions): use THREADPROC_SIGNATURE
	* zthread.d (thread_stub): ditto

2009-10-25  Vladimir Tzankov  <>

	* control.d (make_variable_frame) [MULTITHREAD]: do not allocate per
	thread value cells for locally declared special variables
	* eval.d (interpret_bytecode_) [MULTITHREAD]: ditto for cod_bind -
	the code here was plain wrong

2009-10-21  Vladimir Tzankov  <>

	[MULTITHREAD]: handle SIGWINCH signal
	* spvw_sigwinch.d (update_linelength): update SYS::*PRIN-LINELENGTH*
	global value
	* spvw.d (main): set SYS::*PRIN-LINELENGTH* in MT builds
	(signal_handler_thread): handle SIGWINCH

2009-10-21  Vladimir Tzankov  <>

	* spvw_fault.d (LOCK_PAGE_CACHE, UNLOCK_PAGE_CACHE): acquire/release
	spinlock guarding physical page cache
	(handle_fault, handle_fault_range): use them

2009-10-20  Vladimir Tzankov  <>

	* lispbibl.d (jmpl_value) [MULTITHREAD]: make it per thread and export
	to modules
	* spvw.d: do not define jmpl_value in MT builds

2009-10-19  Sam Steingold  <>

	* (check-script): fix the non-UNICODE build
	Reported by Angel Popov <>

2009-10-16  Sam Steingold  <>

	* (AC_INIT): use m4_esyscmd instead of esyscmd

2009-10-15  Sam Steingold  <>

	* built.d (built_flags) [DYNAMIC_FFI]: add libffcall version based

2009-10-15  Vladimir Tzankov  <>

	* lispbibl.d [MULTITHREAD]: allow USE_CUSTOM_TLS=2 on 64bit builds.
	gcc on osx 10.6+ still does not support __thread qualifier

2009-10-14  Sam Steingold  <>

	* stream.d (handle_direction_compatible): NtQueryInformationFile
	FILE_TYPE_REMOTE assume compatibility

2009-10-12  Sam Steingold  <>

	* stream.d (handle_pathname): extract from handle_to_stream and
	implement for WIN32_NATIVE
	(handle_to_stream): use it

2009-10-12  Sam Steingold  <>

	* stream.d (handle_direction_compatible): implement for
	WIN32_NATIVE using NtQueryInformationFile (fixes check-script)

2009-10-09  Vladimir Tzankov  <>

	[MULTITHREAD]: simplify alternative TLS on 32 bit builds
	* lispbibl.d (struct thread_specific_data): use spinlock instead of
	mutex and export it
	* spvw.d (tsd_initialize, tsd_setspecific, tsd_remove_specific): ditto
	(tsd_slow_getspecific): lock (with spinlock) hash table modifications.
	prevents races with tsd_remove_specific. contention is unlikely
	(get_stack_region): implement for WIN32_THREADS. stack range returned
	is [*base ... (*base + *size)] regardless SP_DOWN/UP
	(current_stack_base, current_stack_size): remove
	(set_current_thread): use get_stack_region()
	(main) [USE_CUSTOM_TLS=3]: clear all thread mappings before spawning
	"main thread"

2009-10-09  Sam Steingold  <>

	* .gdbinit (run_mod_test): add
	(run_ansi_tests): rename from ansi_tests
	(run_ansi_tests_compiled): renamed from ansi_tests_compiled

2009-10-08  Sam Steingold  <>

	* lispbibl.d (STACK, back_trace): do not write the declaration
	into clisp.h if the symbol is defined as a CPP macro

2009-10-08  Sam Steingold  <>

	* win32aux.d (CHECK_ERROR_IGNORE_INVALID): add
	(fd_read_wont_hang_p): use it to ignore both
	GetNumberOfConsoleInputEvents and ClearCommError

2009-10-08  Sam Steingold  <>

	* (full-mod-check): use base, not full, and require
	the module from the test files

2009-10-08  Sam Steingold  <>

	* modules/regexp/gllib/, modules/regexp/gllib/
	* modules/regexp/gllib/, modules/regexp/gllib/
	* modules/regexp/glm4/unistd_h.m4, modules/syscalls/gllib/
	* modules/syscalls/gllib/, modules/syscalls/gllib/
	* modules/syscalls/gllib/, modules/syscalls/gllib/uname.c:
	* modules/syscalls/gllib/, gllib/
	* modules/syscalls/gllib/, gllib/
	* modules/syscalls/gllib/, modules/syscalls/gllib/
	* modules/syscalls/glm4/unistd_h.m4
	* gllib/, gllib/, gllib/
	* gllib/, gllib/, gllib/streq.h:
	* gllib/, gllib/, gllib/
	update from gnulib, using the gnulib-tool hack

2009-10-08  Sam Steingold  <>

	* Makefile.devel (gnulib-imported): since Bruno refuses to apply
	my gnulib-tool patch, we have to patch gnulib-tool before importing
	* gnulib-tool.patch: add gnulib-tool hack to support multiple
	gllib directories: headers are generated for each gllib
	differently, depending on which features are actually used, so we
Results 1 - 1 of 1
Help - FTP Sites List - Software Dir.
Search over 15 billion files
© 1997-2017