X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/ff810079188b8d04224959d5b54254d3e142d6c3..0b83be7eb64eb11479d2bec867d428afb46b5f58:/test-suite/tests/elisp-compiler.test diff --git a/test-suite/tests/elisp-compiler.test b/test-suite/tests/elisp-compiler.test index 3d3bb1d6e..230dc772d 100644 --- a/test-suite/tests/elisp-compiler.test +++ b/test-suite/tests/elisp-compiler.test @@ -1,6 +1,6 @@ -;;;; elisp-compiler.test --- Test the compiler for Elisp. +;;;; elisp-compiler.test --- Test the compiler for Elisp. -*- scheme -*- ;;;; -;;;; Copyright (C) 2009 Free Software Foundation, Inc. +;;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. ;;;; Daniel Kraft ;;;; ;;;; This library is free software; you can redistribute it and/or @@ -26,7 +26,7 @@ ; Macros to handle the compilation conveniently. (define-syntax compile-test - (syntax-rules (pass-if pass-if-exception) + (syntax-rules (pass-if pass-if-equal pass-if-exception) ((_ (pass-if test-name exp)) (pass-if test-name (compile 'exp #:from 'elisp #:to 'value))) ((_ (pass-if test-name exp #:opts opts)) @@ -204,7 +204,7 @@ (progn (setq depth 10 i depth) (setq code '(eval 0)) (while (not (zerop i)) - (setq code (\` (eval (quote (1+ (\, code)))))) + (setq code (#{`}# (eval (quote (1+ (#{,}# code)))))) (setq i (1- i))) (= (eval code) depth)))) @@ -234,17 +234,7 @@ (progn (setq a 1 b 2) (and (eq (makunbound 'b) 'b) (boundp 'a) - (not (boundp 'b))))) - - (pass-if "disabled void check (all)" - (progn (makunbound 'a) a t) - #:opts '(#:disable-void-check all)) - (pass-if "disabled void check (symbol list)" - (progn (makunbound 'a) a t) - #:opts '(#:disable-void-check (x y a b))) - (pass-if "without-void-checks" - (progn (makunbound 'a) - (= (without-void-checks (a) a 5) 5)))) + (not (boundp 'b)))))) (with-test-prefix/compile "Let and Let*" @@ -470,13 +460,13 @@ (flet ((foobar (lambda () 0)) (myfoo (symbol-function 'foobar))) (and (= (myfoo) 42) - (= (test) 0))) + (= (test) 42))) (flet* ((foobar (lambda () 0)) (myfoo (symbol-function 'foobar))) - (= (myfoo) 0)) + (= (myfoo) 42)) (flet (foobar) (defun foobar () 0) - (= (test) 0)) + (= (test) 42)) (= (test) 42))))) (with-test-prefix/compile "Calling Functions" @@ -527,19 +517,19 @@ (equal '(1 2 . 3) '(1 2 . 3)))) (pass-if "simple backquote" - (and (equal (\` 42) 42) - (equal (\` (1 (a))) '(1 (a))) - (equal (\` (1 . 2)) '(1 . 2)))) + (and (equal (#{`}# 42) 42) + (equal (#{`}# (1 (a))) '(1 (a))) + (equal (#{`}# (1 . 2)) '(1 . 2)))) (pass-if "unquote" (progn (setq a 42 l '(18 12)) - (and (equal (\` (\, a)) 42) - (equal (\` (1 a ((\, l)) . (\, a))) '(1 a ((18 12)) . 42))))) + (and (equal (#{`}# (#{,}# a)) 42) + (equal (#{`}# (1 a ((#{,}# l)) . (#{,}# a))) '(1 a ((18 12)) . 42))))) (pass-if "unquote splicing" (progn (setq l '(18 12) empty '()) - (and (equal (\` (\,@ l)) '(18 12)) - (equal (\` (l 2 (3 (\,@ l)) ((\,@ l)) (\,@ l))) + (and (equal (#{`}# (#{,@}# l)) '(18 12)) + (equal (#{`}# (l 2 (3 (#{,@}# l)) ((#{,@}# l)) (#{,@}# l))) '(l 2 (3 18 12) (18 12) 18 12)) - (equal (\` (1 2 (\,@ empty) 3)) '(1 2 3)))))) + (equal (#{`}# (1 2 (#{,@}# empty) 3)) '(1 2 3))))))