Merge remote-tracking branch 'origin/stable-2.0'
authorAndy Wingo <wingo@pobox.com>
Mon, 9 Jan 2012 23:41:42 +0000 (00:41 +0100)
committerAndy Wingo <wingo@pobox.com>
Mon, 9 Jan 2012 23:41:42 +0000 (00:41 +0100)
Conflicts:
libguile/__scm.h
libguile/array-map.c
libguile/procprop.c
libguile/tags.h
module/ice-9/deprecated.scm
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
test-suite/standalone/test-num2integral.c
test-suite/tests/regexp.test

22 files changed:
1  2 
libguile/Makefile.am
libguile/__scm.h
libguile/array-map.c
libguile/arrays.c
libguile/backtrace.c
libguile/bitvectors.c
libguile/eq.c
libguile/evalext.c
libguile/fports.c
libguile/goops.c
libguile/load.c
libguile/objcodes.c
libguile/print.c
libguile/strings.c
libguile/strings.h
libguile/tags.h
libguile/threads.c
module/ice-9/boot-9.scm
module/language/tree-il/fix-letrec.scm
test-suite/standalone/test-num2integral.c
test-suite/tests/regexp.test
test-suite/tests/syntax.test

Simple merge
Simple merge
@@@ -1,4 -1,4 +1,4 @@@
- /* Copyright (C) 1996,1998,2000,2001,2004,2005, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 -/* Copyright (C) 1996,1998,2000,2001,2004,2005, 2006, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
++/* Copyright (C) 1996,1998,2000,2001,2004,2005, 2006, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
   * 
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public License
Simple merge
Simple merge
Simple merge
diff --cc libguile/eq.c
Simple merge
Simple merge
Simple merge
@@@ -160,8 -168,11 +160,10 @@@ static SCM class_vm
  static SCM class_vm_cont;
  static SCM class_bytevector;
  static SCM class_uvec;
+ static SCM class_array;
+ static SCM class_bitvector;
  
  static SCM vtable_class_map = SCM_BOOL_F;
 -static scm_i_pthread_mutex_t vtable_class_map_lock = SCM_I_PTHREAD_MUTEX_INITIALIZER;
  
  /* Port classes.  Allocate 3 times the maximum number of port types so that
     input ports, output ports, and in/out ports can be stored at different
diff --cc libguile/load.c
Simple merge
Simple merge
@@@ -659,9 -653,19 +658,16 @@@ iprin1 (SCM exp, SCM port, scm_print_st
        case scm_tc7_bytevector:
          scm_i_print_bytevector (exp, port, pstate);
          break;
 -        if (SCM_IS_WHVEC (exp))
 -          scm_puts ("#wh(", port);
 -        else
 -          scm_puts ("#w(", port);
+       case scm_tc7_bitvector:
+         scm_i_print_bitvector (exp, port, pstate);
+         break;
+       case scm_tc7_wvect:
+         ENTER_NESTED_DATA (pstate, exp, circref);
++          scm_puts_unlocked ("#w(", port);
+         goto common_vector_printer;
        case scm_tc7_vector:
          ENTER_NESTED_DATA (pstate, exp, circref);
 -        scm_puts ("#(", port);
 +        scm_puts_unlocked ("#(", port);
        common_vector_printer:
          {
            register long i;
Simple merge
Simple merge
diff --cc libguile/tags.h
@@@ -3,7 -3,7 +3,7 @@@
  #ifndef SCM_TAGS_H
  #define SCM_TAGS_H
  
- /* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2008,2009,2010,2011
 -/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2008,2009,2010,2012
++/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2008,2009,2010,2011,2012
   * Free Software Foundation, Inc.
   *
   * This library is free software; you can redistribute it and/or
@@@ -438,10 -424,10 +438,10 @@@ typedef union SCM { struct { scm_t_bit
  #define scm_tc7_with_fluids   63
  #define scm_tc7_unused_19     69
  #define scm_tc7_program               79
 -#define scm_tc7_array         85
 -#define scm_tc7_bitvector     87
 -#define scm_tc7_unused_20     93
 -#define scm_tc7_unused_11     95
 +#define scm_tc7_weak_set      85
 +#define scm_tc7_weak_table    87
- #define scm_tc7_unused_20     93
- #define scm_tc7_unused_11     95
++#define scm_tc7_array         93
++#define scm_tc7_bitvector     95
  #define scm_tc7_unused_12     101
  #define scm_tc7_unused_18     103
  #define scm_tc7_unused_13     109
Simple merge
Simple merge
@@@ -1,4 -1,5 +1,5 @@@
- /* Copyright (C) 1999,2000,2001,2003,2004, 2006, 2008, 2010, 2011 Free Software Foundation, Inc.
 -/* Copyright (C) 1999, 2000, 2001, 2003, 2004, 2006, 2008, 2010,
++/* Copyright (C) 1999, 2000, 2001, 2003, 2004, 2006, 2008, 2010, 2011
+  *   2012 Free Software Foundation, Inc.
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public License
           (with-latin1-locale body ...)
           (begin body ...)))))
  
 +(define char-code-limit 256)
 +
+ ;; Since `regexp-quote' uses string ports, and since it is used below
+ ;; with non-ASCII characters, these ports must be Unicode-capable.
+ (define-syntax with-unicode
+   (syntax-rules ()
+     ((_ exp)
+      (with-fluids ((%default-port-encoding "UTF-8"))
+        exp))))
  (with-test-prefix "regexp-quote"
  
    (pass-if-exception "no args" exception:wrong-num-args
Simple merge