From 833f66a5363cf6c3a4082afcf9d76cec72e7cdf8 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Fri, 14 Apr 2006 06:38:15 +0000 Subject: [PATCH] 0.9.11.33: fix buglets introduced by .31 on non-Windows * If we want to delete a file we must have write-permissions... * ...elide empty environment-variable from gcc arguments in def-to-lisp.lisp --- contrib/sb-grovel/def-to-lisp.lisp | 21 ++++++++++++--------- contrib/sb-posix/constants.lisp | 4 ++-- contrib/sb-posix/interface.lisp | 2 +- contrib/sb-posix/posix-tests.lisp | 5 +++-- src/code/run-program.lisp | 2 +- version.lisp-expr | 2 +- 6 files changed, 20 insertions(+), 16 deletions(-) diff --git a/contrib/sb-grovel/def-to-lisp.lisp b/contrib/sb-grovel/def-to-lisp.lisp index 32b448d..e091d59 100644 --- a/contrib/sb-grovel/def-to-lisp.lisp +++ b/contrib/sb-grovel/def-to-lisp.lisp @@ -175,15 +175,18 @@ code: (funcall (intern "C-CONSTANTS-EXTRACT" (find-package "SB-GROVEL")) filename tmp-c-source (constants-package component)) (let ((code (sb-ext:process-exit-code - (sb-ext:run-program "gcc" - (append - (sb-ext:posix-getenv "EXTRA_CFLAGS") - (list "-o" - (namestring tmp-a-dot-out) - (namestring tmp-c-source))) - :search t - :input nil - :output *trace-output*)))) + (sb-ext:run-program + "gcc" + (append + (let ((cf (sb-ext:posix-getenv "EXTRA_CFLAGS"))) + (when (plusp (length cf)) + (list cf))) + (list "-o" + (namestring tmp-a-dot-out) + (namestring tmp-c-source))) + :search t + :input nil + :output *trace-output*)))) (unless (= code 0) (case (operation-on-failure op) (:warn (warn "~@" diff --git a/contrib/sb-posix/constants.lisp b/contrib/sb-posix/constants.lisp index 98f2fcf..fc99cb8 100644 --- a/contrib/sb-posix/constants.lisp +++ b/contrib/sb-posix/constants.lisp @@ -32,7 +32,7 @@ (:type uid-t #-win32 "uid_t" #+win32 "short") (:type gid-t #-win32 "gid_t" #+win32 "short") (:type nlink-t #-win32 "nlink_t" #+win32 "short") - + (:type pid-t "pid_t") (:type ino-t "ino_t") @@ -277,7 +277,7 @@ ;; OS X manpages say this exists. they lie! #+nil (:integer fields "int" "pw_fields"))) - + (:structure alien-stat ("struct stat" (mode-t mode "mode_t" "st_mode") diff --git a/contrib/sb-posix/interface.lisp b/contrib/sb-posix/interface.lisp index 2569a72..8b8d2b4 100644 --- a/contrib/sb-posix/interface.lisp +++ b/contrib/sb-posix/interface.lisp @@ -169,7 +169,7 @@ (define-call "setfsuid" int minusp (uid uid-t)) (define-call "setreuid" int minusp (ruid uid-t) (euid uid-t)) (define-call "setresuid" int minusp (ruid uid-t) (euid uid-t) (suid uid-t)) - (define-call "setuid" int minusp (uid uid-t)) + (define-call "setuid" int minusp (uid uid-t)) (define-call "getegid" gid-t never-fails) (define-call "getgid" gid-t never-fails) (define-call "getresgid" gid-t never-fails) diff --git a/contrib/sb-posix/posix-tests.lisp b/contrib/sb-posix/posix-tests.lisp index 9b2ce3a..4eead06 100644 --- a/contrib/sb-posix/posix-tests.lisp +++ b/contrib/sb-posix/posix-tests.lisp @@ -18,7 +18,7 @@ (logior sb-posix::s-irusr sb-posix::s-iwusr sb-posix::s-ixusr #-win32 (logior - sb-posix::s-irgrp sb-posix::s-iwgrp sb-posix::s-ixgrp + sb-posix::s-irgrp sb-posix::s-iwgrp sb-posix::s-ixgrp sb-posix::s-iroth sb-posix::s-iwoth sb-posix::s-ixoth)))) (defmacro define-eacces-test (name form &rest values) @@ -370,7 +370,8 @@ (let ((name (merge-pathnames "open-test.txt" *test-directory*))) (unwind-protect (progn - (sb-posix:close (sb-posix:creat name sb-posix:s-iwrite)) + (sb-posix:close + (sb-posix:creat name (logior sb-posix:s-iwrite sb-posix:s-iread))) (let ((fd (sb-posix:open name sb-posix::o-rdonly))) (ignore-errors (sb-posix:close fd)) (< fd 0))) diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp index 537b367..c93a8d4 100644 --- a/src/code/run-program.lisp +++ b/src/code/run-program.lisp @@ -192,7 +192,7 @@ "Return the current status of PROCESS. The result is one of :RUNNING, :STOPPED, :EXITED, or :SIGNALED." #-win32 - (get-processes-status-changes) + (get-processes-status-changes) (process-%status process)) #+sb-doc diff --git a/version.lisp-expr b/version.lisp-expr index ed58ead..a7a17c4 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.11.32" +"0.9.11.33" -- 1.7.10.4