R/R-2.4.0-patched-2006-11-03.patch
2006-11-04 06:19:58 +00:00

10077 lines
364 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

diff -urp R-2.4.0.old/config.site R-2.4.0/config.site
--- R-2.4.0.old/config.site 2006-09-04 09:41:48.000000000 -0500
+++ R-2.4.0/config.site 2006-10-28 14:36:13.000000000 -0500
@@ -43,12 +43,16 @@
## If unspecified, a search is made for gcc and cc (in that order).
## To override this choice, specify the name of the command which runs
## the compiler here, for example 'c89'.
+## It is also convenient to set the architecture here, e.g. 'gcc -m32'.
+## NB, as from R 2.5.0 configure will append flags for C99 compliance,
+## e.g. CC=gcc -std=gnu99
+## To avoid this, set contradictory flags (such as -ansi) as part of CFLAGS.
## CC=
## Debugging and optimization options for the C compiler.
## Use this to specify CFLAGS for the version of the C compiler
## specified above.
-## If unspecified, defaults to '-g -O2 -std=gnu99' for gcc,
+## If unspecified, defaults to '-g -O2' for gcc,
## and '-g' in all other cases except icc (for which see R-admin.html).
## CFLAGS=
diff -urp R-2.4.0.old/configure R-2.4.0/configure
--- R-2.4.0.old/configure 2006-10-03 05:01:50.000000000 -0500
+++ R-2.4.0/configure 2006-11-03 19:41:47.000000000 -0600
@@ -4629,6 +4629,182 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+## next is a macro borrowed from autoconf 2.60
+ echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C99... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_c99+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict(ccp restrict text)
+{
+ // See if C++-style comments work.
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+ continue;
+ return 0;
+}
+
+// Check varargs and va_copy work.
+static void
+test_varargs(const char *format, ...)
+{
+ va_list args;
+ va_start(args, format);
+ va_list args_copy;
+ va_copy(args_copy, args);
+
+ const char *str;
+ int number;
+ float fnumber;
+
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case 's': // string
+ str = va_arg(args_copy, const char *);
+ break;
+ case 'd': // int
+ number = va_arg(args_copy, int);
+ break;
+ case 'f': // float
+ fnumber = (float) va_arg(args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end(args_copy);
+ va_end(args);
+}
+
+int
+main ()
+{
+
+ // Check bool and long long datatypes.
+ _Bool success = false;
+ long long int bignum = -1234567890LL;
+ unsigned long long int ubignum = 1234567890uLL;
+
+ // Check restrict.
+ if (test_restrict("String literal") != 0)
+ success = true;
+ char *restrict newvar = "Another string";
+
+ // Check varargs.
+ test_varargs("s, d' f .", "string", 65, 34.234);
+
+ // Check incomplete arrays work.
+ struct incomplete_array *ia =
+ malloc(sizeof(struct incomplete_array) + (sizeof(double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = (double) i * 1.234;
+
+ // Check named initialisers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+
+ ni.number = 58;
+
+ int dynamic_array[ni.number];
+ dynamic_array[43] = 543;
+
+ // work around unused variable warnings
+ return bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x';
+
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu99 -c99 -qlanglvl=extc99
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_c99=$ac_arg
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c99" in
+ x)
+ echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+ xno)
+ echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6 ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c99"
+ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c99" >&6 ;;
+esac
+
+
+
ac_ext=c
@@ -5352,7 +5528,7 @@ fi
# Provide some information about the compiler.
-echo "$as_me:5355:" \
+echo "$as_me:5531:" \
"checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -6181,8 +6357,8 @@ if test "${r_cv_prog_cc_vis}" = yes; the
fi
fi
case "${CC}" in
- ## Intel compiler
- *icc)
+ ## Intel compiler: note that -c99 may have been appended
+ *icc*)
C_VISIBILITY=
;;
esac
@@ -6794,7 +6970,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 6797 "configure"' > conftest.$ac_ext
+ echo '#line 6973 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -8235,11 +8411,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8238: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8414: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8242: \$? = $ac_status" >&5
+ echo "$as_me:8418: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -8468,11 +8644,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8471: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8647: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8475: \$? = $ac_status" >&5
+ echo "$as_me:8651: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -8528,11 +8704,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8531: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8707: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8535: \$? = $ac_status" >&5
+ echo "$as_me:8711: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10712,7 +10888,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10715 "configure"
+#line 10891 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10810,7 +10986,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10813 "configure"
+#line 10989 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12990,11 +13166,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12993: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13169: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12997: \$? = $ac_status" >&5
+ echo "$as_me:13173: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -13050,11 +13226,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13053: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13229: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13057: \$? = $ac_status" >&5
+ echo "$as_me:13233: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14411,7 +14587,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 14414 "configure"
+#line 14590 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14509,7 +14685,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 14512 "configure"
+#line 14688 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15336,11 +15512,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15339: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15515: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15343: \$? = $ac_status" >&5
+ echo "$as_me:15519: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -15396,11 +15572,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15399: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15575: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15403: \$? = $ac_status" >&5
+ echo "$as_me:15579: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17430,11 +17606,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17433: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17609: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17437: \$? = $ac_status" >&5
+ echo "$as_me:17613: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -17663,11 +17839,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17666: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17842: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17670: \$? = $ac_status" >&5
+ echo "$as_me:17846: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -17723,11 +17899,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17726: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17902: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17730: \$? = $ac_status" >&5
+ echo "$as_me:17906: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19907,7 +20083,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 19910 "configure"
+#line 20086 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -20005,7 +20181,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 20008 "configure"
+#line 20184 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -26291,96 +26467,6 @@ _ACEOF
-if test "$ac_test_CFLAGS" != set; then
- if test "$GCC" = yes; then
- ac_safe=_std_gnu99
-echo "$as_me:$LINENO: checking whether ${CC} accepts -std=gnu99" >&5
-echo $ECHO_N "checking whether ${CC} accepts -std=gnu99... $ECHO_C" >&6
-if eval "test \"\${r_cv_prog_cc_flag_${ac_safe}+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-r_save_CFLAGS="${CFLAGS}"
-CFLAGS="${CFLAGS} -std=gnu99"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "r_cv_prog_cc_flag_${ac_safe}=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "r_cv_prog_cc_flag_${ac_safe}=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-CFLAGS="${r_save_CFLAGS}"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
-if eval "test \"`echo '$r_cv_prog_cc_flag_'$ac_safe`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- separator=""
-test -z "${separator}" && separator=" "
-if test -z "${CFLAGS}"; then
- CFLAGS="-std=gnu99"
-else
- CFLAGS="${CFLAGS}${separator}-std=gnu99"
-fi
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- fi
-fi
-
echo "$as_me:$LINENO: checking whether we can compute C Make dependencies" >&5
echo $ECHO_N "checking whether we can compute C Make dependencies... $ECHO_C" >&6
@@ -26535,7 +26621,7 @@ _ACEOF
# flags.
ac_save_FFLAGS=$FFLAGS
FFLAGS="$FFLAGS $ac_verb"
-(eval echo $as_me:26538: \"$ac_link\") >&5
+(eval echo $as_me:26624: \"$ac_link\") >&5
ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$ac_f77_v_output" >&5
FFLAGS=$ac_save_FFLAGS
@@ -26613,7 +26699,7 @@ _ACEOF
# flags.
ac_save_FFLAGS=$FFLAGS
FFLAGS="$FFLAGS $ac_cv_prog_f77_v"
-(eval echo $as_me:26616: \"$ac_link\") >&5
+(eval echo $as_me:26702: \"$ac_link\") >&5
ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$ac_f77_v_output" >&5
FFLAGS=$ac_save_FFLAGS
@@ -26859,7 +26945,7 @@ _ACEOF
# flags.
r_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $r_verb"
-(eval echo $as_me:26862: \"$ac_link\") >&5
+(eval echo $as_me:26948: \"$ac_link\") >&5
r_c_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$r_c_v_output" >&5
CFLAGS=$r_save_CFLAGS
@@ -26941,7 +27027,7 @@ _ACEOF
# flags.
r_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $r_cv_prog_c_v"
-(eval echo $as_me:26944: \"$ac_link\") >&5
+(eval echo $as_me:27030: \"$ac_link\") >&5
r_c_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$r_c_v_output" >&5
CFLAGS=$r_save_CFLAGS
@@ -29188,7 +29274,7 @@ fi
linux*)
case "${CC}" in
## Intel compiler
- *icc)
+ *icc*)
## icc declares __GNUC__, so it picks up CFLAGS intended for gcc.
if test "$ac_test_CFLAGS" != set; then
if test $ac_cv_prog_cc_g = yes; then
@@ -29922,12 +30008,12 @@ echo "$as_me: WARNING: Use of flat names
;;
linux*) # GNU Linux/ELF
case "${CC}" in
- ## Intel compiler
- *icc)
+ ## Intel compiler: note that -c99 may have been appended
+ *icc*)
cpicflags="-fpic"
;;
## Portland Group
- *pgcc)
+ *pgcc*)
cpicflags="-fpic"
;;
esac
@@ -37985,7 +38071,7 @@ ac_x_header_dirs='
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Intrinsic.h.
+ # Guess where to find include files, by looking for Xlib.h.
# First, try using that file with no special directory specified.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -37993,7 +38079,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -38020,7 +38106,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Intrinsic.h"; then
+ if test -r "$ac_dir/X11/Xlib.h"; then
ac_x_includes=$ac_dir
break
fi
@@ -38041,7 +38127,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
@@ -38053,7 +38139,7 @@ cat >>conftest.$ac_ext <<_ACEOF
int
main ()
{
-XtMalloc (0)
+XrmInitialize ()
;
return 0;
}
@@ -43510,6 +43596,7 @@ echo "${ECHO_T}in ${JAVA_HOME}" >&6
case "${host_os}" in
darwin*)
JAVA_LIBS="-framework JavaVM"
+ JAVA_LIBS0="-framework JavaVM"
JAVA_LD_LIBRARY_PATH=
;;
*)
@@ -43659,7 +43746,7 @@ fi
# Provide some information about the compiler.
-echo "$as_me:43662:" \
+echo "$as_me:43748:" \
"checking for Fortran compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
diff -urp R-2.4.0.old/configure.ac R-2.4.0/configure.ac
--- R-2.4.0.old/configure.ac 2006-09-22 21:05:11.000000000 -0500
+++ R-2.4.0/configure.ac 2006-10-28 14:36:13.000000000 -0500
@@ -534,6 +534,8 @@ R_PROG_BROWSER
R_PROG_PDFVIEWER
AC_PROG_CC
+## next is a macro borrowed from autoconf 2.60
+AC_PROG_CC_C99
AC_PROG_GCC_TRADITIONAL
AC_PROG_CPP
@@ -752,12 +754,6 @@ AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(long long, 0)
AC_CHECK_SIZEOF(long double, 0)
-if test "$ac_test_CFLAGS" != set; then
- if test "$GCC" = yes; then
- R_PROG_CC_FLAG([-std=gnu99], R_SH_VAR_ADD(CFLAGS, [-std=gnu99]))
- fi
-fi
-
R_PROG_CC_MAKEFRAG
R_PROG_CC_LO_MAKEFRAG
@@ -890,7 +886,7 @@ case "${host_os}" in
linux*)
case "${CC}" in
## Intel compiler
- *icc)
+ *icc*)
## icc declares __GNUC__, so it picks up CFLAGS intended for gcc.
if test "$ac_test_CFLAGS" != set; then
if test $ac_cv_prog_cc_g = yes; then
@@ -1289,12 +1285,12 @@ rm -f libconftest${DYLIB_EXT} conftest.c
;;
linux*) # GNU Linux/ELF
case "${CC}" in
- ## Intel compiler
- *icc)
+ ## Intel compiler: note that -c99 may have been appended
+ *icc*)
cpicflags="-fpic"
;;
## Portland Group
- *pgcc)
+ *pgcc*)
cpicflags="-fpic"
;;
esac
diff -urp R-2.4.0.old/doc/CRAN_mirrors.csv R-2.4.0/doc/CRAN_mirrors.csv
--- R-2.4.0.old/doc/CRAN_mirrors.csv 2006-09-16 21:05:15.000000000 -0500
+++ R-2.4.0/doc/CRAN_mirrors.csv 2006-10-28 14:36:02.000000000 -0500
@@ -32,7 +32,7 @@ Israel,Israel,Tel-Aviv,http://cran.activ
"Japan (Aizu)",Japan,Aizu,ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN,"University of Aizu",
"Japan (Tokyo)",Japan,Tokyo,ftp://ftp.ecc.u-tokyo.ac.jp/CRAN/,"University of Tokyo","Teru KAMOGASHIRA <teru@sodan.ecc.u-tokyo.ac.jp>"
"Japan (Tsukuba)",Japan,Tsukuba,http://cran.md.tsukuba.ac.jp/,"University of Tsukuba",
-Korea,Korea,Seoul,http://bibscvs.snu.ac.kr/R/,"Seoul National University","SungGON Yi <skon@kr.FreeBSD.org>"
+Korea,Korea,Seoul,http://bibs.snu.ac.kr/R/,"Seoul National University","SungGON Yi <skonmeme@gmail.com>"
Netherlands,Netherlands,Amsterdam,http://cran.nedmirror.nl/,"Nedmirror, Amsterdam",mirror@nedmirror.nl
Norway,Norway,Bergen,http://cran.ii.uib.no/,"University of Bergen",webmaster@ii.uib.no
"Poland (Lublin)",Poland,Lublin,http://novum.am.lublin.pl/CRAN/,"Skubiszewski Medical University, Lublin","Lukasz Komsta <luke@novum.am.lublin.pl>"
diff -urp R-2.4.0.old/doc/FAQ R-2.4.0/doc/FAQ
--- R-2.4.0.old/doc/FAQ 2006-10-03 05:02:46.000000000 -0500
+++ R-2.4.0/doc/FAQ 2006-11-02 10:45:59.000000000 -0600
@@ -1,6 +1,6 @@
R FAQ
Frequently Asked Questions on R
-Version 2.4.2006-10-02
+Version 2.4.2006-10-31
ISBN 3-900051-08-9
Kurt Hornik
@@ -95,6 +95,7 @@ R FAQ
7.34 How can I save the result of each iteration in a loop into a separate file?
7.35 Why are p-values not displayed when using lmer()?
7.36 Why are there unwanted lines between polygons in PDF output viewed in Adobe Reader?
+ 7.37 Why does backslash behave strangely inside strings?
8 R Programming
8.1 How should I write summary methods?
8.2 How can I debug dynamically loaded code?
@@ -388,20 +389,21 @@ port of R for Macintosh is no longer sup
The `bin/linux' directory of a CRAN site contains the following packages.
- CPU Versions Provider
- -------------------------------------------------------------------
- Debian et al. i386 stable/oldstable Christian Steigies
- Mandrake i386 10.0 Michele Alzetta
- Red Hat i386 FC3/FC4/FC5 Martyn Plummer
- x86_64 FC3 Brian Ripley
- x86_64 FC4/FC5 Martyn Plummer
- i386 Enterprise Linux Matthew P. Cox
- x86_64 Enterprise Linux Matthew P. Cox
- SuSE i386 7.3/8.0/8.1/8.2 Detlef Steuer
- i586 9.0/9.1/9.2/9.3/10.0/10.1Detlef Steuer
- x86_64 9.2/9.3/10.0/10.1 Detlef Steuer
- Ubuntu i386 dapper Dirk Eddelbuettel
- VineLinux i386 3.2 Susunu Tanimura
+ CPU Versions Provider
+ ------------------------------------------------------------------------
+ Debian et al. i386 stable/oldstable Christian Steigies
+ Mandrake i386 10.0 Michele Alzetta
+ Red Hat i386 FC3/FC4/FC5/FC6 Martyn Plummer
+ x86_64 FC3 Brian Ripley
+ x86_64 FC4/FC5 Martyn Plummer
+ i386 Enterprise Linux Matthew P. Cox
+ x86_64 Enterprise Linux Matthew P. Cox
+ SuSE i386 7.3/8.0/8.1/8.2 Detlef Steuer
+ i586 9.0/9.1/9.2/9.3/10.0/10.1 Detlef Steuer
+ x86_64 9.2/9.3/10.0/10.1 Detlef Steuer
+ Ubuntu i386 dapper Christian Steigies
+ amd64 dapper Christian Steigies
+ VineLinux i386 3.2 Susunu Tanimura
Debian packages, maintained by Dirk Eddelbuettel and Doug Bates, have
long been part of the Debian distribution, and can be accessed through APT,
@@ -1211,8 +1213,8 @@ Computational and Graphical Statistics_,
For a very long time, there was no such thing.
- XL Solutions (http://www.xlsolutions-corp.com/) is currently beta
-testing a commercially supported version of R named R+ (read R plus).
+ XLSolutions Corporation (http://www.xlsolutions-corp.com/) is currently
+beta testing a commercially supported version of R named R+ (read R plus).
In addition, REvolution Computing (http://www.revolution-computing.com/)
has released RPro (http://www.revolution-computing.com/rpro.html), an
@@ -1462,6 +1464,9 @@ distributions of R.)
*CompetingRiskFrailty*
Competing risk model with frailties for right censored survival data.
+*CreditMetrics*
+ Functions for calculating the CreditMetrics risk model.
+
*DAAG*
Various data sets used in examples and exercises in "Data Analysis and
Graphics Using R" by John H. Maindonald and W. John Brown, 2003.
@@ -1605,6 +1610,9 @@ distributions of R.)
MCMC inference from individual genetic data based on a spatial
statistical model.
+*GeoXP*
+ Interactive exploratory spatial data analysis.
+
*GroupSeq*
Computations related to group-seqential boundaries.
@@ -1651,6 +1659,10 @@ distributions of R.)
Utilities from the Institute of Data Analyses and Process Design,
IDP/ZHW.
+*IPSUR*
+ Accompanies "Introduction to Probability and Statistics Using R" by G.
+ Andy Chang and G. Jay Kerns(in progress).
+
*ISwR*
Data sets for "Introductory Statistics with R" by Peter Dalgaard,
2002, Springer.
@@ -1987,10 +1999,6 @@ distributions of R.)
Transforms with an Implementation in S" by Rene Carmona, Wen L. Hwang
and Bruno Torresani, 1998, Academic Press.
-*SAGx*
- Retrieval, preparation and analysis of data from the Affymetrix
- GeneChip.
-
*SASmixed*
Data sets and sample linear mixed effects analyses corresponding to the
examples in "SAS System for Mixed Models" by R. C. Littell, G. A.
@@ -2041,6 +2049,9 @@ distributions of R.)
*SparseM*
Basic linear algebra for sparse matrices.
+*SpherWave*
+ Spherical Wavelets and SW-based spatially adaptive methods.
+
*StatDataML*
Read and write StatDataML.
@@ -2086,6 +2097,9 @@ distributions of R.)
Utilities supporting VDC, an open source digital library system for
quantitative data.
+*VGAM*
+ Vector Generalized Linear and Additive Models.
+
*VLMC*
Functions, classes & methods for estimation, prediction, and simulation
(bootstrap) of VLMC (Variable Length Markov Chain) models.
@@ -2093,12 +2107,18 @@ distributions of R.)
*VaR*
Methods for calculation of Value at Risk (VaR).
+*WeedMap*
+ Map of weed intensity.
+
*WhatIf*
Software for evaluating counterfactuals.
*XML*
Tools for reading XML documents and DTDs.
+*ZIGP*
+ Zero Inflated Generalized Poisson (ZIGP) regression models.
+
*Zelig*
Everyone's statistical software: an easy-to-use program that can
estimate, and help interpret the results of, an enormous range of
@@ -2140,6 +2160,9 @@ distributions of R.)
*adehabitat*
A collection of tools for the analysis of habitat selection by animals.
+*adimpro*
+ Adaptive smoothing of digital images.
+
*adlift*
Adaptive Wavelet transforms for signal denoising.
@@ -2327,6 +2350,10 @@ distributions of R.)
*cfa*
Analysis of configuration frequencies.
+*cgh*
+ Analysis of microarray comparative genome hybridisation data using the
+ Smith-Waterman algorithm.
+
*chplot*
Augmented convex hull plots: informative and nice plots for grouped
bivariate data.
@@ -2359,6 +2386,9 @@ distributions of R.)
*classPP*
Projection Pursuit for supervised classification.
+*classifly*
+ Explore classification models in high dimensions.
+
*clim.pact*
Climate analysis and downscaling for monthly and daily data.
@@ -2695,6 +2725,9 @@ distributions of R.)
*fCalendar*
The Rmetrics module for "Date, Time and Calendars".
+*fEcofin*
+ The Rmetrics module with "Selected economic and financial data sets".
+
*fExtremes*
The Rmetrics module for "Beyond the Sample, Dealing with Extreme
Values".
@@ -2843,6 +2876,9 @@ distributions of R.)
Functions to fit Generalized Additive Models for Location Scale and
Shape.
+*gamlss.dist*
+ Extra distributions for GAMLSS modeling.
+
*gamlss.nl*
A GAMLSS add on package for fitting non linear parametric models.
@@ -3057,6 +3093,9 @@ distributions of R.)
*homals*
Homogeneity Analysis (HOMALS) package with optional Tcl/Tk interface.
+*homtest*
+ Homogeneity tests for regional frequency analysis.
+
*hopach*
Hierarchical Ordered Partitioning and Collapsing Hybrid (HOPACH).
@@ -3389,9 +3428,6 @@ distributions of R.)
Routines for GAMs and other genralized ridge regression problems with
multiple smoothing parameter selection by GCV or UBRE. _Recommended_.
-*micEcdat*
- Data sets for micro-econometrics.
-
*micEcon*
Tools for microeconomic analysis and microeconomic modelling.
@@ -3421,6 +3457,12 @@ distributions of R.)
*mixreg*
Functions to fit mixtures of regressions.
+*mixtools*
+ Tools for mixture models.
+
+*mlCopulaSelection*
+ Copula selection and fitting using maximum likelihood.
+
*mlbench*
A collection of artificial and real-world machine learning benchmark
problems, including the Boston housing data.
@@ -3462,6 +3504,9 @@ distributions of R.)
*mratios*
Inferences for ratios of coefficients in the general linear model.
+*msgcop*
+ Semiparametric Bayesian Gaussian copula estimation.
+
*msm*
Functions for fitting continuous-time Markov multi-state models to
categorical processes observed at arbitrary times, optionally with
@@ -3621,6 +3666,10 @@ distributions of R.)
*oz*
Functions for plotting Australia's coastline and state boundaries.
+*pARtial*
+ (Partial) attributable risk estimates, corresponding variance estimates
+ and confidence intervals.
+
*paleoTS*
Modeling evolution in paleontological time-series.
@@ -3743,6 +3792,9 @@ distributions of R.)
*portfolio*
Classes for analyzing and implementing portfolios.
+*portfolioSim*
+ Framework for simulating equity portfolio strategies.
+
*powell*
Optimizes a function using Powell's UObyQA algorithm.
@@ -3880,9 +3932,15 @@ distributions of R.)
C Double Description for R, an interface to the CDD computational
geometry library.
+*rcdk*
+ Interface to the CDK libraries, a Java framework for cheminformatics.
+
*rcom*
R COM Client Interface and internal COM Server.
+*rcompletion*
+ TAB completion for R using Readline.
+
*rda*
Shrunken Centroids Regularized Discriminant Analysis.
@@ -3932,6 +3990,9 @@ distributions of R.)
*rgenoud*
R version of GENetic Optimization Using Derivatives.
+*rggm*
+ Robustified methods for Gaussian Graphical Models.
+
*rggobi*
Interface between R and GGobi.
@@ -4312,6 +4373,9 @@ distributions of R.)
Computes the distribution of a linear combination of independent
Student's t variables.
+*tdm*
+ A tool for Therapeutic Drug Monitoring.
+
*tdthap*
Transmission/disequilibrium tests for extended marker haplotypes.
@@ -4328,6 +4392,9 @@ distributions of R.)
*time*
Time tracking for developers.
+*titan*
+ Titration analysis for mass spectrometry data.
+
*titecrm*
TIme-To-Event Continual Reassessment Method and calibration tools.
@@ -4638,6 +4705,9 @@ available via `http://www.omegahat.org/R
Interface to Snowball implementation of Porter's word stemming
algorithm.
+*Ryacas*
+ R interface to yacas.
+
*SASXML*
Example for reading XML files in SAS 8.2 manner.
@@ -6266,6 +6336,53 @@ The unwanted effect can be removed by tu
use the `Edit | Preferences | Page Display | Smooth line art' menu in Adobe
Reader 7.0.
+7.37 Why does backslash behave strangely inside strings?
+========================================================
+
+This question most often comes up in relation to file names (see *Note How
+do file names work in Windows?::) but it also happens that people complain
+that they cannot seem to put a single `\' character into a text string
+unless it happens to be followed by certain other characters.
+
+ To understand this, you have to distinguish between character strings
+and _representations_ of character strings. Mostly, the representation in
+R is just the string with a single or double quote at either end, but there
+are strings that cannot be represented that way, e.g., strings that
+themselves contains the quote character. So
+
+ > str <- "This \"text\" is quoted"
+ > str
+ [1] "This \"text\" is quoted"
+ > cat(str, "\n")
+ This "text" is quoted
+
+The _escape sequences_ `\"' and `\n' represent a double quote and the
+newline character respectively. Printing text strings, using `print()' or
+by typing the name at the prompt will use the escape sequences too, but the
+`cat()' function will display the string as-is. Notice that `"\n"' is a
+one-character string, not two; the backslash is not actually in the string,
+it is just generated in the printed representation.
+
+ > nchar("\n")
+ [1] 1
+ > substring("\n", 1, 1)
+ [1] "\n"
+
+ So how do you put a backslash in a string? For this, you have to escape
+the escape character. I.e., you have to double the backslash. as in
+
+ > cat("\\n", "\n")
+ \n
+
+ Some functions, particularly those involving regular expression
+matching, themselves use metacharacters, which may need to be escaped by
+the backslash mechanism. In those cases you may need a _quadruple_
+backslash to represent a single literal one.
+
+ In current versions of R (up to 2.4.0) an unknown escape sequence like
+`\p' is quietly interpreted as just `p'. The development version now emits
+a warning.
+
8 R Programming
***************
diff -urp R-2.4.0.old/doc/html/R-admin.html R-2.4.0/doc/html/R-admin.html
--- R-2.4.0.old/doc/html/R-admin.html 2006-10-03 05:14:24.000000000 -0500
+++ R-2.4.0/doc/html/R-admin.html 2006-11-03 20:01:31.000000000 -0600
@@ -27,7 +27,7 @@
<p>This is a guide to installation and administration for R.
- <p>The current version of this document is 2.4.0 (2006-10-03).
+ <p>The current version of this document is 2.4.0 (2006-11-03).
<p>ISBN 3-900051-09-7
@@ -101,13 +101,16 @@ Subversion repository. If you have a Su
<a href="http://subversion.tigris.org/"><code>subversion.tigris.org</code></a>), you
can check out and update the current r-devel from
<a href="https://svn.r-project.org/R/trunk/">https://svn.r-project.org/R/trunk/</a> and the current r-patched from
-`<samp><span class="samp">https://svn.r-project.org/R/branches/R-</span><var>x</var><span class="samp">-</span><var>y</var><span class="samp">-patches/</span></samp>'
+`<samp><span class="samp">https://svn.r-project.org/R/branches/R-</span><var>x</var><span class="samp">-</span><var>y</var><span class="samp">-branch/</span></samp>'
(where <var>x</var> and <var>y</var> are the major and minor number of the current
released version of R). E.g., use
<pre class="example"> svn checkout https://svn.r-project.org/R/trunk/ <var>path</var>
</pre>
- <p class="noindent">to check out r-devel into directory <var>path</var>.
+ <p class="noindent">to check out `<samp><span class="samp">r-devel</span></samp>' into directory <var>path</var>. The alpha, beta
+and RC versions of an upcoming <var>x.y.0</var> release are available from
+`<samp><span class="samp">https://svn.r-project.org/R/branches/R-</span><var>x</var><span class="samp">-</span><var>y</var><span class="samp">-branch/</span></samp>' in
+the four-week period prior to the release.
<p>Note that `<samp><span class="samp">https:</span></samp>' is required, and that the SSL certificate for
the Subversion server of the R project is
@@ -510,7 +513,7 @@ Windows 64).
<p>Your file system must allow long file names (as is likely except
perhaps for some network-mounted systems).
- <p>Installation is <em>via</em> the installer <samp><span class="file">R-2.4.0.exe</span></samp>.
+ <p>Installation is <em>via</em> the installer <samp><span class="file">R-2.4.0pat.exe</span></samp>.
Just double-click on the icon and follow the instructions. You can
uninstall R from the Control Panel. (Note that you will probably
(depending on the Windows language settings) be asked to choose a
@@ -775,12 +778,12 @@ customizations to that installation. Th
</pre>
<p class="noindent">where <samp><span class="file">rootdir</span></samp> is the path to the root of the customized
installation (forward slashes and no spaces, please). This creates an
-executable with the standard name, <samp><span class="file">R-2.4.0.exe</span></samp>, so
+executable with the standard name, <samp><span class="file">R-2.4.0pat.exe</span></samp>, so
please rename it to indicate that it is customized.
<p>The defaults for the startup parameters may also be customized. For example
-<pre class="example"> make rinstaller MDISDI=1
+<pre class="example"> make myR IMAGEDIR=rootdir MDISDI=1
</pre>
<p class="noindent">will create an installer that defaults to installing R to run in SDI
mode. See <samp><span class="file">src/gnuwin32/installer/Makefile</span></samp> for the names and
@@ -1128,7 +1131,7 @@ originals.
<li><code>zipdata-foo</code> to compress the data files. This is recommended if
you have either many small data files (as in package <strong>Devore5</strong>) or a
few large data files.
-<li><code>pkgcheck-foo</code> to check the package (like <code>R CMD CHECK foo</code>).
+<li><code>pkgcheck-foo</code> to check the package (like <code>R CMD check foo</code>).
</ul>
<p>Using this approach allows variables to be set during the build, e.g.
@@ -1501,10 +1504,11 @@ installed.
<p>You need a means of compiling C and FORTRAN 77 (see <a href="#Using-FORTRAN">Using FORTRAN</a>). Some add-on packages also need a C++ compiler. Your C
compiler should be <acronym>IEC</acronym>&nbsp;<!-- /@w -->60059<a rel="footnote" href="#fn-6" name="fnd-6"><sup>6</sup></a>, POSIX 1003.1 and C99-compliant if at all
possible. R tries to choose suitable flags for the C compilers it
-knows about, but you may have to set <code>CFLAGS</code> suitably. For recent
-versions of <samp><span class="command">gcc</span></samp> with <code>glibc</code> this means including
-<samp><span class="option">-std=gnu99</span></samp> in <code>CFLAGS</code> (<samp><span class="option">-std=c99</span></samp> excludes POSIX
-functionality).
+knows about, but you may have to set <code>CC</code> or <code>CFLAGS</code> suitably.
+For recent versions of <samp><span class="command">gcc</span></samp> with <code>glibc</code> this means including
+<samp><span class="option">-std=gnu99</span></samp> (<samp><span class="option">-std=c99</span></samp> excludes POSIX functionality).
+If the compiler is detected as <samp><span class="command">gcc</span></samp>, <code>-std=gnu99</code> will be
+appended to <code>CC</code> unless it conflicts with a setting of <code>CFLAGS</code>.
<p>Unless you do not want to view graphs on-screen you need `<samp><span class="samp">X11</span></samp>'
installed, including its headers and client libraries. (On Fedora Core
@@ -2078,8 +2082,8 @@ On most platforms using <samp><span clas
<code>CFLAGS</code> and <code>FFLAGS</code> produces worthwhile performance gains.
On systems using the GNU linker (especially those using R as a shared
library), it is likely that including `<samp><span class="samp">-Wl,-O1</span></samp>' in <code>LDFLAGS</code>
-is worthwhile, and on upcoming systems<a rel="footnote" href="#fn-15" name="fnd-15"><sup>15</sup></a>
-`<samp><span class="samp">'-Wl,-O1,-Bdirect,--hash-style=both'</span></samp>' is recommended at
+is worthwhile, and on recent systems<a rel="footnote" href="#fn-15" name="fnd-15"><sup>15</sup></a>
+`<samp><span class="samp">'-Bdirect,--hash-style=both,-Wl,-O1'</span></samp>' is recommended at
<a href="http://lwn.net/Articles/192624/">http://lwn.net/Articles/192624/</a>
<p><a name="Making-manuals"></a>
@@ -2392,10 +2396,11 @@ libraries.
libraries in <samp><span class="file">/usr/local/lib64</span></samp>. To build a 32-bit version of R
on `<samp><span class="samp">x86_64</span></samp>' with Fedora Core 5 we used
-<pre class="example"> CFLAGS="-m32 -O2 -g -Wall -pedantic -std=gnu99"
+<pre class="example"> CC="gcc -m32"
CXXFLAGS="-m32 -O2 -g"
FFLAGS="-m32 -O2 -g"
- LDFLAGS="-m32 -L/usr/local/lib"
+ FCFLAGS="-m32 -O2 -g"
+ LDFLAGS="-L/usr/local/lib"
LIBnn=lib
</pre>
<p class="noindent">Fedora Core 3 also needed
@@ -2452,9 +2457,10 @@ optimization. For `<samp><span class="s
CXX=icc
ICC_LIBS=/opt/compilers/intel/cce/9.0/lib
IFC_LIBS=/opt/compilers/intel/fce/9.0/lib
- LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/local/lib"
+ LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/local/lib64"
</pre>
- <p class="noindent">R will add `<samp><span class="samp">-mp</span></samp>' in <code>R_XTRA_{C,F,CXX}FLAGS</code> to maintain
+ <p class="noindent"><samp><span class="command">configure</span></samp> will add `<samp><span class="samp">-c99</span></samp>' to <code>CC</code> for C99-compliance.
+R will add `<samp><span class="samp">-mp</span></samp>' in <code>R_XTRA_{C,F,CXX}FLAGS</code> to maintain
correct <acronym>IEC</acronym>&nbsp;<!-- /@w -->60559 arithmetic. The flag <samp><span class="option">-wd188</span></samp>
suppresses a large number of warnings about the enumeration type
`<samp><span class="samp">Rboolean</span></samp>'. Because the Intel C compiler sets `<samp><span class="samp">__GNUC__</span></samp>'
@@ -2564,7 +2570,7 @@ yourself.
this disables <acronym>IEEE</acronym> arithmetic and <samp><span class="command">make check</span></samp> will
fail. The maximal set of optimization options known to work on Sparc is
-<pre class="example"> -xlibmil -xO5 -dalign -xc99
+<pre class="example"> -xlibmil -xO5 -dalign
</pre>
<p class="noindent">(`<samp><span class="samp">x86</span></samp>' versions do not need `<samp><span class="samp">-dalign</span></samp>', and some do not
support it.)
@@ -2578,10 +2584,10 @@ the compiler correctly.
<p>To compile for a 64-bit target on Sparc Solaris (which needs an
UltraSparc chip and for support to be enabled in the OS) with the Forte
-7 compilers we used <samp><span class="option">--without-blas</span></samp> and
+7 compilers we used
-<pre class="example"> CC="cc -xarch=v9"
- CFLAGS="-xO5 -xlibmil -dalign -xc99"
+<pre class="example"> CC="cc -xarch=v9 -xc99"
+ CFLAGS="-xO5 -xlibmil -dalign"
F77="f95 -xarch=v9"
FFLAGS="-xO5 -xlibmil -dalign"
CXX="CC -xarch=v9"
@@ -2599,9 +2605,10 @@ UltraSparc chip and for support to be en
FC="gfortran -m64"
LDFLAGS="-L/usr/local/lib/sparcv9 -L/usr/local/lib"
</pre>
- <p class="noindent">replacing `<samp><span class="samp">g77</span></samp>' with `<samp><span class="samp">gfortran</span></samp>' for <samp><span class="command">gcc</span></samp> 4.0.x. Note
+ <p class="noindent">replacing `<samp><span class="samp">g77</span></samp>' with `<samp><span class="samp">gfortran</span></samp>' for <samp><span class="command">gcc</span></samp> 4.x.y. Note
that <samp><span class="file">/usr/local/lib/sparcv9</span></samp> may need to be in the
-<samp><span class="env">LD_LIBRARY_PATH</span></samp> during configuration.
+<samp><span class="env">LD_LIBRARY_PATH</span></samp> during configuration. (<samp><span class="command">configure</span></samp> will
+append <code>-std=gnu99</code> to <code>CC</code>.)
<p>Solaris on Sparc CPUs need `<samp><span class="samp">PIC</span></samp>' and not `<samp><span class="samp">pic</span></samp>' versions of
<samp><span class="env">CPICFLAGS</span></samp> and <samp><span class="env">FPICFLAGS</span></samp> since the `<samp><span class="samp">pic</span></samp>' version only
@@ -3080,7 +3087,7 @@ but no compiled code, only the first two
<p>A complete build of R including compiled <acronym>HTML</acronym> help files and
PDF manuals, and producing the standalone installer
-<samp><span class="file">R-2.4.0.exe</span></samp> will also need the following:
+<samp><span class="file">R-2.4.0pat.exe</span></samp> will also need the following:
<ul>
<li>The Microsoft <acronym>HTML</acronym> Help Workshop
<li>LaTeX
@@ -3208,8 +3215,8 @@ suitably; ensure you have the required f
<h3 class="section">E.6 The Inno Setup installer</h3>
-<p>To make the installer package (<samp><span class="file">R-2.4.0.exe</span></samp>) we require
-Inno Setup 5.1.5 or later from <a href="http://jrsoftware.org"><code>jrsoftware.org</code></a>.
+<p>To make the installer package (<samp><span class="file">R-2.4.0pat.exe</span></samp>) we require
+Inno Setup 5.1.7 or later from <a href="http://jrsoftware.org"><code>jrsoftware.org</code></a>.
<p>Edit file <samp><span class="file">src/gnuwin32/MkRules</span></samp> and change <code>ISDIR</code> to the
location where Inno Setup was installed.
diff -urp R-2.4.0.old/doc/manual/Makefile.in R-2.4.0/doc/manual/Makefile.in
--- R-2.4.0.old/doc/manual/Makefile.in 2006-09-04 21:05:05.000000000 -0500
+++ R-2.4.0/doc/manual/Makefile.in 2006-10-28 14:36:02.000000000 -0500
@@ -211,6 +211,7 @@ $(OBJECTS_DVI): $(srcdir)/texinfo.tex
R-admin.dvi: $(texiincludes)
R-data.dvi: $(texiincludes)
R-exts.dvi: $(texiincludes)
+R-ints.dvi: $(texiincludes)
version.texi: Makefile $(top_srcdir)/VERSION $(top_builddir)/SVN-REVISION
@echo "creating $(subdir)/$@"
@(v=`sed 's/\([^ ]*\).*/\1/' $(top_srcdir)/VERSION`; \
@@ -238,6 +239,7 @@ R-admin.html: $(texiincludes)
R-data.html: $(texiincludes)
R-exts.html: $(texiincludes)
R-intro.html: $(texiincludes)
+R-ints.html: $(texiincludes)
R-lang.html: $(texiincludes)
info: $(OBJECTS_INFO)
@@ -245,6 +247,7 @@ R-admin.info: $(texiincludes)
R-data.info: $(texiincludes)
R-exts.info: $(texiincludes)
R-intro.info: $(texiincludes)
+R-ints.info: $(texiincludes)
R-lang.info: $(texiincludes)
pdf: refman.pdf $(OBJECTS_PDF)
@@ -325,6 +328,7 @@ R-admin.pdf: $(texiincludes)
R-data.pdf: $(texiincludes)
R-exts.pdf: $(texiincludes)
R-intro.pdf: stamp-images-pdf $(texiincludes)
+R-ints.pdf: $(texiincludes)
stamp-images-pdf:
@if test "$(BUILDDIR_IS_SRCDIR)" = no ; then \
$(MAKE) rdocdir=$(top_builddir)/doc install-images-pdf; \
diff -urp R-2.4.0.old/doc/manual/R-admin.texi R-2.4.0/doc/manual/R-admin.texi
--- R-2.4.0.old/doc/manual/R-admin.texi 2006-09-27 21:05:07.000000000 -0500
+++ R-2.4.0/doc/manual/R-admin.texi 2006-11-01 19:41:42.000000000 -0600
@@ -166,7 +166,7 @@ Subversion repository. If you have a Su
@url{http://subversion.tigris.org/, @code{subversion.tigris.org}}), you
can check out and update the current r-devel from
@url{https://svn.r-project.org/R/trunk/} and the current r-patched from
-@samp{https://svn.r-project.org/R/branches/R-@var{x}-@var{y}-patches/}
+@samp{https://svn.r-project.org/R/branches/R-@var{x}-@var{y}-branch/}
(where @var{x} and @var{y} are the major and minor number of the current
released version of R). E.g., use
@@ -175,7 +175,10 @@ svn checkout https://svn.r-project.org/R
@end example
@noindent
-to check out r-devel into directory @var{path}.
+to check out @samp{r-devel} into directory @var{path}. The alpha, beta
+and RC versions of an upcoming @var{x.y.0} release are available from
+@samp{https://svn.r-project.org/R/branches/R-@var{x}-@var{y}-branch/} in
+the four-week period prior to the release.
Note that @samp{https:} is required, and that the SSL certificate for
the Subversion server of the R project is
@@ -1005,7 +1008,7 @@ please rename it to indicate that it is
The defaults for the startup parameters may also be customized. For example
@example
-make rinstaller MDISDI=1
+make myR IMAGEDIR=rootdir MDISDI=1
@end example
@noindent
@@ -1410,7 +1413,7 @@ originals.
you have either many small data files (as in package @pkg{Devore5}) or a
few large data files.
@item
-@code{pkgcheck-foo} to check the package (like @code{R CMD CHECK foo}).
+@code{pkgcheck-foo} to check the package (like @code{R CMD check foo}).
@end itemize
Using this approach allows variables to be set during the build, e.g.
@@ -1840,10 +1843,11 @@ FORTRAN}). Some add-on packages also ne
compiler should be @acronym{IEC}@tie{}60059@footnote{also known as
@acronym{IEEE}@tie{}754}, POSIX 1003.1 and C99-compliant if at all
possible. @R{} tries to choose suitable flags for the C compilers it
-knows about, but you may have to set @code{CFLAGS} suitably. For recent
-versions of @command{gcc} with @code{glibc} this means including
-@option{-std=gnu99} in @code{CFLAGS} (@option{-std=c99} excludes POSIX
-functionality).
+knows about, but you may have to set @code{CC} or @code{CFLAGS} suitably.
+For recent versions of @command{gcc} with @code{glibc} this means including
+@option{-std=gnu99} (@option{-std=c99} excludes POSIX functionality).
+If the compiler is detected as @command{gcc}, @code{-std=gnu99} will be
+appended to @code{CC} unless it conflicts with a setting of @code{CFLAGS}.
Unless you do not want to view graphs on-screen you need @samp{X11}
installed, including its headers and client libraries. (On Fedora Core
@@ -2521,8 +2525,8 @@ On most platforms using @command{gcc}, h
@code{CFLAGS} and @code{FFLAGS} produces worthwhile performance gains.
On systems using the GNU linker (especially those using @R{} as a shared
library), it is likely that including @samp{-Wl,-O1} in @code{LDFLAGS}
-is worthwhile, and on upcoming systems@footnote{e.g. Fedora Core 6}
-@samp{'-Wl,-O1,-Bdirect,--hash-style=both'} is recommended at
+is worthwhile, and on recent systems@footnote{e.g. Fedora Core 6}
+@samp{'-Bdirect,--hash-style=both,-Wl,-O1'} is recommended at
@url{http://lwn.net/Articles/192624/}
@node Making manuals, , Compilation flags, Configuration variables
@@ -2888,10 +2892,11 @@ libraries in @file{/usr/local/lib64}. T
on @cputype{x86_64} with Fedora Core 5 we used
@example
-CFLAGS="-m32 -O2 -g -Wall -pedantic -std=gnu99"
+CC="gcc -m32"
CXXFLAGS="-m32 -O2 -g"
FFLAGS="-m32 -O2 -g"
-LDFLAGS="-m32 -L/usr/local/lib"
+FCFLAGS="-m32 -O2 -g"
+LDFLAGS="-L/usr/local/lib"
LIBnn=lib
@end example
@@ -2957,10 +2962,11 @@ F77=ifort
CXX=icc
ICC_LIBS=/opt/compilers/intel/cce/9.0/lib
IFC_LIBS=/opt/compilers/intel/fce/9.0/lib
-LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/local/lib"
+LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/local/lib64"
@end example
@noindent
+@command{configure} will add @samp{-c99} to @code{CC} for C99-compliance.
@R{} will add @samp{-mp} in @code{R_XTRA_@{C,F,CXX@}FLAGS} to maintain
correct @acronym{IEC}@tie{}60559 arithmetic. The flag @option{-wd188}
suppresses a large number of warnings about the enumeration type
@@ -3086,7 +3092,7 @@ this disables @acronym{IEEE} arithmetic
fail. The maximal set of optimization options known to work on Sparc is
@example
--xlibmil -xO5 -dalign -xc99
+-xlibmil -xO5 -dalign
@end example
@noindent
@@ -3102,11 +3108,11 @@ the compiler correctly.
To compile for a 64-bit target on Sparc Solaris (which needs an
UltraSparc chip and for support to be enabled in the OS) with the Forte
-7 compilers we used @option{--without-blas} and
+7 compilers we used
@example
-CC="cc -xarch=v9"
-CFLAGS="-xO5 -xlibmil -dalign -xc99"
+CC="cc -xarch=v9 -xc99"
+CFLAGS="-xO5 -xlibmil -dalign"
F77="f95 -xarch=v9"
FFLAGS="-xO5 -xlibmil -dalign"
CXX="CC -xarch=v9"
@@ -3130,9 +3136,10 @@ LDFLAGS="-L/usr/local/lib/sparcv9 -L/usr
@end example
@noindent
-replacing @samp{g77} with @samp{gfortran} for @command{gcc} 4.0.x. Note
+replacing @samp{g77} with @samp{gfortran} for @command{gcc} 4.x.y. Note
that @file{/usr/local/lib/sparcv9} may need to be in the
-@env{LD_LIBRARY_PATH} during configuration.
+@env{LD_LIBRARY_PATH} during configuration. (@command{configure} will
+append @code{-std=gnu99} to @code{CC}.)
Solaris on Sparc CPUs need @samp{PIC} and not @samp{pic} versions of
@env{CPICFLAGS} and @env{FPICFLAGS} since the @samp{pic} version only
@@ -3814,7 +3821,7 @@ suitably; ensure you have the required f
@section The Inno Setup installer
To make the installer package (@file{@value{RWVERSION}.exe}) we require
-Inno Setup 5.1.5 or later from @url{http://jrsoftware.org,
+Inno Setup 5.1.7 or later from @url{http://jrsoftware.org,
@code{jrsoftware.org}}.
Edit file @file{src/gnuwin32/MkRules} and change @code{ISDIR} to the
diff -urp R-2.4.0.old/doc/manual/R-exts.texi R-2.4.0/doc/manual/R-exts.texi
--- R-2.4.0.old/doc/manual/R-exts.texi 2006-09-18 21:05:16.000000000 -0500
+++ R-2.4.0/doc/manual/R-exts.texi 2006-10-30 10:45:48.000000000 -0600
@@ -8119,7 +8119,7 @@ this is defined.
@node Internationalization, Allowing interrupts, Utility functions, The R API
@section Internationalization
-@R{} has its own C-level interface to the the encoding conversion
+@R{} has its own C-level interface to the encoding conversion
capabilities provided by @code{iconv}, for the following reasons
@itemize @bullet
diff -urp R-2.4.0.old/doc/manual/R-FAQ.texi R-2.4.0/doc/manual/R-FAQ.texi
--- R-2.4.0.old/doc/manual/R-FAQ.texi 2006-10-03 05:00:11.000000000 -0500
+++ R-2.4.0/doc/manual/R-FAQ.texi 2006-11-02 10:45:47.000000000 -0600
@@ -4,7 +4,7 @@
@settitle R FAQ
@setchapternewpage on
@set FAQ_YEAR 2006
-@set FAQ_DATE @value{FAQ_YEAR}-10-02
+@set FAQ_DATE @value{FAQ_YEAR}-10-31
@set REL_YEAR 2006
@set REL_MAJOR 2
@set REL_MINOR 4
@@ -500,24 +500,25 @@ to Mac OS 9.2.2. This port of R for Mac
@node Are there Unix binaries for R?, What documentation exists for R?, How can R be installed?, R Basics
@section Are there Unix binaries for R?
-@c Linux binaries as of 2006-09-13:
+@c Linux binaries as of 2006-10-31:
@c
@c debian
-@c stable i386 2.3.1 Christian T. Steigies <cts@debian.org>
+@c stable i386 2.4.0 Christian T. Steigies <cts@debian.org>
@c oldstable
@c i386 2.1.1 Christian T. Steigies <cts@debian.org>
@c mandrake
@c 10.0 i386 2.0.0 Michele Alzetta <mikalzet@libero.it>
@c redhat
@c el3 i386 2.3.1 Matthew P Cox <rhel_cran@hmdc.harvard.edu>
-@c el4 i386 2.3.1 Matthew P Cox <rhel_cran@hmdc.harvard.edu>
-@c x86_64 2.3.1 Matthew P Cox <rhel_cran@hmdc.harvard.edu>
-@c fc3 i386 2.3.1 Martyn Plummer <martyn.plummer@r-project.org>
-@c x86_64 2.3.1 Brian Ripley
-@c fc4 i386 2.3.1 Martyn Plummer <martyn.plummer@r-project.org>
-@c x86_64 2.3.1 Martyn Plummer <martyn.plummer@r-project.org>
-@c fc5 i386 2.3.1 Martyn Plummer <martyn.plummer@r-project.org>
-@c x86_64 2.3.1 Martyn Plummer <martyn.plummer@r-project.org>
+@c el4 i386 2.4.0 Matthew P Cox <rhel_cran@hmdc.harvard.edu>
+@c x86_64 2.4.0 Matthew P Cox <rhel_cran@hmdc.harvard.edu>
+@c fc3 i386 2.4.0 Martyn Plummer <martyn.plummer@r-project.org>
+@c x86_64 2.4.0 Brian Ripley
+@c fc4 i386 2.4.0 Martyn Plummer <martyn.plummer@r-project.org>
+@c x86_64 2.4.0 Martyn Plummer <martyn.plummer@r-project.org>
+@c fc5 i386 2.4.0 Martyn Plummer <martyn.plummer@r-project.org>
+@c x86_64 2.4.0 Martyn Plummer <martyn.plummer@r-project.org>
+@c fc6 i386 2.4.0 Martyn Plummer <martyn.plummer@r-project.org>
@c suse
@c 7.3 i386 1.8.0 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
@c 8.0 i386 1.8.1 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
@@ -531,10 +532,11 @@ to Mac OS 9.2.2. This port of R for Mac
@c x86_64 2.2.0 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
@c 10.0 i586 2.3.1 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
@c x86_64 2.3.1 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
-@c 10.1 i586 2.3.1 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
-@c x86_64 2.3.1 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
+@c 10.1 i586 2.4.0 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
+@c x86_64 2.4.0 Detlef Steuer <Detlef.Steuer@unibw-hamburg.de>
@c ubuntu
-@c dapper i386 2.3.1 Dirk Eddelbuettel <edd@debian.org>
+@c dapper i386 2.4.0 Christian T. Steigies <cts@debian.org>
+@c amd64 2.4.0 Christian T. Steigies <cts@debian.org>
@c vinelinux
@c 3.2 i386 2.3.1 Susunu Tanimura <stanimura-ngs@umin.ac.jp>
@@ -542,11 +544,11 @@ The @file{bin/linux} directory of a @CRA
packages.
@quotation
-@multitable {Debian et al.} {x86_64} {9.0/9.1/9.2/9.3/10.0} {James Henstridge}
+@multitable {Debian et al.} {x86_64} {9.0/9.1/9.2/9.3/10.0/10.1} {James Henstridge}
@headitem @tab CPU @tab Versions @tab Provider
@item Debian et al. @tab i386 @tab stable/oldstable @tab Christian Steigies
@item Mandrake @tab i386 @tab 10.0 @tab Michele Alzetta
-@item Red Hat @tab i386 @tab FC3/FC4/FC5 @tab Martyn Plummer
+@item Red Hat @tab i386 @tab FC3/FC4/FC5/FC6 @tab Martyn Plummer
@item @tab x86_64 @tab FC3 @tab Brian Ripley
@item @tab x86_64 @tab FC4/FC5 @tab Martyn Plummer
@item @tab i386 @tab Enterprise Linux @tab Matthew P. Cox
@@ -554,7 +556,8 @@ packages.
@item SuSE @tab i386 @tab 7.3/8.0/8.1/8.2 @tab Detlef Steuer
@item @tab i586 @tab 9.0/9.1/9.2/9.3/10.0/10.1 @tab Detlef Steuer
@item @tab x86_64 @tab 9.2/9.3/10.0/10.1 @tab Detlef Steuer
-@item Ubuntu @tab i386 @tab dapper @tab Dirk Eddelbuettel
+@item Ubuntu @tab i386 @tab dapper @tab Christian Steigies
+@item @tab amd64 @tab dapper @tab Christian Steigies
@item VineLinux @tab i386 @tab 3.2 @tab Susunu Tanimura
@end multitable
@end quotation
@@ -1615,8 +1618,9 @@ Annotation in Plots'', @url{http://www.a
For a very long time, there was no such thing.
-@url{http://www.xlsolutions-corp.com/, XL Solutions} is currently beta
-testing a commercially supported version of R named R+ (read R plus).
+@url{http://www.xlsolutions-corp.com/, XLSolutions Corporation} is
+currently beta testing a commercially supported version of R named R+
+(read R plus).
In addition, @url{http://www.revolution-computing.com/, REvolution
Computing} has released
@@ -1867,6 +1871,8 @@ Graphical modeling for contingency table
@c </COMMENT>
@item CompetingRiskFrailty
Competing risk model with frailties for right censored survival data.
+@item CreditMetrics
+Functions for calculating the CreditMetrics risk model.
@item DAAG
Various data sets used in examples and exercises in ``Data Analysis and
Graphics Using R'' by John H. Maindonald and W. John Brown, 2003.
@@ -1973,6 +1979,8 @@ large sparse graphical Gaussian models.
@item Geneland
MCMC inference from individual genetic data based on a spatial
statistical model.
+@item GeoXP
+Interactive exploratory spatial data analysis.
@item GroupSeq
Computations related to group-seqential boundaries.
@item HH
@@ -2009,6 +2017,9 @@ interval-censored data.
@item IDPmisc
Utilities from the Institute of Data Analyses and Process Design,
IDP/ZHW.
+@item IPSUR
+Accompanies ``Introduction to Probability and Statistics Using R'' by
+G. Andy Chang and G. Jay Kerns(in progress).
@item ISwR
Data sets for ``Introductory Statistics with R'' by Peter Dalgaard,
2002, Springer.
@@ -2268,9 +2279,12 @@ especially for the wavelet and Gabor tra
on the book ``Practical Time-Frequency Analysis: Gabor and Wavelet
Transforms with an Implementation in S'' by Rene Carmona, Wen L. Hwang
and Bruno Torresani, 1998, Academic Press.
-@item SAGx
-Retrieval, preparation and analysis of data from the Affymetrix
-GeneChip.
+@c <COMMENT>
+@c Removed on 2006-10-06 as requested by the maintainer (now @BioC).
+@c @item SAGx
+@c Retrieval, preparation and analysis of data from the Affymetrix
+@c GeneChip.
+@c </COMMENT>
@item SASmixed
Data sets and sample linear mixed effects analyses corresponding to the
examples in ``SAS System for Mixed Models'' by R. C. Littell,
@@ -2309,6 +2323,8 @@ soil.
Sparse logistic regression.
@item SparseM
Basic linear algebra for sparse matrices.
+@item SpherWave
+Spherical Wavelets and SW-based spatially adaptive methods.
@item StatDataML
Read and write StatDataML.
@item StoppingRules
@@ -2342,15 +2358,21 @@ Statistics'' by J. Verzani, 2005, Chapma
@item VDCutil
Utilities supporting VDC, an open source digital library system for
quantitative data.
+@item VGAM
+Vector Generalized Linear and Additive Models.
@item VLMC
Functions, classes & methods for estimation, prediction, and simulation
(bootstrap) of VLMC (Variable Length Markov Chain) models.
@item VaR
Methods for calculation of Value at Risk (VaR).
+@item WeedMap
+Map of weed intensity.
@item WhatIf
Software for evaluating counterfactuals.
@item XML
Tools for reading @XML{} documents and DTDs.
+@item ZIGP
+Zero Inflated Generalized Poisson (ZIGP) regression models.
@item Zelig
Everyone's statistical software: an easy-to-use program that can
estimate, and help interpret the results of, an enormous range of
@@ -2380,6 +2402,8 @@ Multivariate data analysis and graphical
Tcl/Tk Graphical User Interface for @strong{ade4}.
@item adehabitat
A collection of tools for the analysis of habitat selection by animals.
+@item adimpro
+Adaptive smoothing of digital images.
@item adlift
Adaptive Wavelet transforms for signal denoising.
@item agce
@@ -2524,6 +2548,9 @@ update algorithm (Hard Competitive Learn
finding the number of clusters in a data set.
@item cfa
Analysis of configuration frequencies.
+@item cgh
+Analysis of microarray comparative genome hybridisation data using the
+Smith-Waterman algorithm.
@item chplot
Augmented convex hull plots: informative and nice plots for grouped
bivariate data.
@@ -2547,6 +2574,8 @@ Choose univariate class intervals for ma
purposes.
@item classPP
Projection Pursuit for supervised classification.
+@item classifly
+Explore classification models in high dimensions.
@item clim.pact
Climate analysis and downscaling for monthly and daily data.
@item climatol
@@ -2798,6 +2827,8 @@ teaching financial engineering and compu
(@url{http://www.Rmetrics.org/}).
@item fCalendar
The Rmetrics module for ``Date, Time and Calendars''.
+@item fEcofin
+The Rmetrics module with ``Selected economic and financial data sets''.
@item fExtremes
The Rmetrics module for ``Beyond the Sample, Dealing with Extreme
Values''.
@@ -2907,6 +2938,8 @@ Introduction with R'' by S. Wood (2006).
@item gamlss
Functions to fit Generalized Additive Models for Location Scale and
Shape.
+@item gamlss.dist
+Extra distributions for GAMLSS modeling.
@item gamlss.nl
A GAMLSS add on package for fitting non linear parametric models.
@item gamlss.tr
@@ -3071,6 +3104,8 @@ marginal inference for regression-scale
higher order inference for nonlinear heteroscedastic models.
@item homals
Homogeneity Analysis (HOMALS) package with optional Tcl/Tk interface.
+@item homtest
+Homogeneity tests for regional frequency analysis.
@item hopach
Hierarchical Ordered Partitioning and Collapsing Hybrid (HOPACH).
@item hot
@@ -3325,8 +3360,11 @@ Multiple Fractional Polynomials.
Routines for GAMs and other genralized ridge regression problems with
multiple smoothing parameter selection by GCV or UBRE.
@emph{Recommended}.
-@item micEcdat
-Data sets for micro-econometrics.
+@c <COMMENT>
+@c Removed on 2006-10-11 as requested by the maintainer.
+@c @item micEcdat
+@c Data sets for micro-econometrics.
+@c </COMMENT>
@item micEcon
Tools for microeconomic analysis and microeconomic modelling.
@item mice
@@ -3347,6 +3385,10 @@ Estimation/multiple imputation programs
continuous data.
@item mixreg
Functions to fit mixtures of regressions.
+@item mixtools
+Tools for mixture models.
+@item mlCopulaSelection
+Copula selection and fitting using maximum likelihood.
@item mlbench
A collection of artificial and real-world machine learning benchmark
problems, including the Boston housing data.
@@ -3382,6 +3424,8 @@ Inferences for ratios of coefficients in
@c @item mscalib
@c Calibration and filtering of MALDI-TOF Peptide Mass Fingerprint data.
@c </COMMENT>
+@item msgcop
+Semiparametric Bayesian Gaussian copula estimation.
@item msm
Functions for fitting continuous-time Markov multi-state models to
categorical processes observed at arbitrary times, optionally with
@@ -3531,6 +3575,9 @@ Ornstein-Uhlenbeck models for phylogenet
A collection of some tests commonly used for identifying outliers.
@item oz
Functions for plotting Australia's coastline and state boundaries.
+@item pARtial
+(Partial) attributable risk estimates, corresponding variance estimates
+and confidence intervals.
@item paleoTS
Modeling evolution in paleontological time-series.
@item pamr
@@ -3635,6 +3682,8 @@ manipulations.
Statistical and POPulation GENetics.
@item portfolio
Classes for analyzing and implementing portfolios.
+@item portfolioSim
+Framework for simulating equity portfolio strategies.
@item powell
Optimizes a function using Powell's UObyQA algorithm.
@item powerpkg
@@ -3736,8 +3785,12 @@ running BUGS from R. Support for Linux
@item rcdd
C Double Description for R, an interface to the CDD computational
geometry library.
+@item rcdk
+Interface to the CDK libraries, a Java framework for cheminformatics.
@item rcom
R COM Client Interface and internal COM Server.
+@item rcompletion
+TAB completion for R using Readline.
@item rda
Shrunken Centroids Regularized Discriminant Analysis.
@item ref
@@ -3774,6 +3827,8 @@ Provides bindings to Frank Warmerdam's G
Library (GDAL).
@item rgenoud
R version of GENetic Optimization Using Derivatives.
+@item rggm
+Robustified methods for Gaussian Graphical Models.
@item rggobi
Interface between R and GGobi.
@item rgl
@@ -4096,6 +4151,8 @@ A series of widgets and functions to sup
@item tdist
Computes the distribution of a linear combination of independent
Student's @math{t} variables.
+@item tdm
+A tool for Therapeutic Drug Monitoring.
@item tdthap
Transmission/disequilibrium tests for extended marker haplotypes.
@item tensor
@@ -4107,6 +4164,8 @@ Bayesian regression and adaptive samplin
models.
@item time
Time tracking for developers.
+@item titan
+Titration analysis for mass spectrometry data.
@item titecrm
TIme-To-Event Continual Reassessment Method and calibration tools.
@item tkrplot
@@ -4416,6 +4475,8 @@ An interface to call XLisp-Stat function
@item Rstem
Interface to Snowball implementation of Porter's word stemming
algorithm.
+@item Ryacas
+R interface to yacas.
@item SASXML
Example for reading @XML{} files in SAS 8.2 manner.
@item SJava
@@ -5289,6 +5350,7 @@ dir /opt/R/src/unix
* How can I save the result of each iteration in a loop into a separate file?::
* Why are p-values not displayed when using lmer()?::
* Why are there unwanted lines between polygons in PDF output viewed in Adobe Reader?::
+* Why does backslash behave strangely inside strings?::
@end menu
@c @node Why does R run out of memory?, Why does sourcing a correct file fail?, R Miscellanea, R Miscellanea
@@ -6165,7 +6227,7 @@ Doug Bates has kindly provided an extens
r-help list, which can be reviewed at
@uref{https://stat.ethz.ch/pipermail/r-help/2006-May/094765.html}.
-@node Why are there unwanted lines between polygons in PDF output viewed in Adobe Reader?, , Why are p-values not displayed when using lmer()?, R Miscellanea
+@node Why are there unwanted lines between polygons in PDF output viewed in Adobe Reader?, Why does backslash behave strangely inside strings?, Why are p-values not displayed when using lmer()?, R Miscellanea
@section Why are there unwanted lines between polygons in PDF output viewed in Adobe Reader?
Output from @code{polygon()} (and other functions calling
@@ -6185,6 +6247,64 @@ The unwanted effect can be removed by tu
art: use the `Edit | Preferences | Page Display | Smooth line art' menu
in Adobe Reader 7.0.
+@node Why does backslash behave strangely inside strings?, , Why are there unwanted lines between polygons in PDF output viewed in Adobe Reader?, R Miscellanea
+@section Why does backslash behave strangely inside strings?
+
+This question most often comes up in relation to file names (see
+@ref{How do file names work in Windows?}) but it also happens that
+people complain that they cannot seem to put a single @samp{\} character
+into a text string unless it happens to be followed by certain other
+characters.
+
+To understand this, you have to distinguish between character strings
+and @emph{representations} of character strings. Mostly, the
+representation in R is just the string with a single or double quote at
+either end, but there are strings that cannot be represented that way,
+e.g., strings that themselves contains the quote character. So
+
+@example
+> str <- "This \"text\" is quoted"
+> str
+[1] "This \"text\" is quoted"
+> cat(str, "\n")
+This "text" is quoted
+@end example
+
+@noindent
+The @emph{escape sequences} @samp{\"} and @samp{\n} represent a double
+quote and the newline character respectively. Printing text strings,
+using @code{print()} or by typing the name at the prompt will use the
+escape sequences too, but the @code{cat()} function will display the
+string as-is. Notice that @samp{"\n"} is a one-character string, not
+two; the backslash is not actually in the string, it is just generated
+in the printed representation.
+
+@example
+> nchar("\n")
+[1] 1
+> substring("\n", 1, 1)
+[1] "\n"
+@end example
+
+So how do you put a backslash in a string? For this, you have to
+escape the escape character. I.e., you have to double the backslash.
+as in
+
+@example
+> cat("\\n", "\n")
+\n
+@end example
+
+Some functions, particularly those involving regular expression
+matching, themselves use metacharacters, which may need to be escaped
+by the backslash mechanism. In those cases you may need a
+@emph{quadruple} backslash to represent a single literal one.
+
+@c <FIXME 2.5.0>
+In current versions of R (up to 2.4.0) an unknown escape sequence like
+@samp{\p} is quietly interpreted as just @samp{p}.
+The development version now emits a warning.
+@c </FIXME>
@node R Programming, R Bugs, R Miscellanea, Top
@chapter R Programming
diff -urp R-2.4.0.old/doc/manual/R-intro.texi R-2.4.0/doc/manual/R-intro.texi
--- R-2.4.0.old/doc/manual/R-intro.texi 2006-09-26 21:05:13.000000000 -0500
+++ R-2.4.0/doc/manual/R-intro.texi 2006-10-29 10:45:45.000000000 -0600
@@ -6882,9 +6882,13 @@ directory where @R{} was started, but ca
variable @env{R_HISTFILE}) should be restored at startup or not. The
default is to restore.
+@item --no-Rconsole
+(Windows only) Prevent loading the @file{Rconsole} file at startup.
+
@item --vanilla
Combine @option{--no-save}, @option{--no-environ}
@option{--no-site-file}, @option{--no-init-file} and @option{--no-restore}.
+In Windows, this also includes @option{--no-Rconsole}.
@item --no-readline
(UNIX only) Turn off command-line editing via @strong{readline}. This is useful
diff -urp R-2.4.0.old/doc/manual/R-ints.texi R-2.4.0/doc/manual/R-ints.texi
--- R-2.4.0.old/doc/manual/R-ints.texi 2006-09-26 21:05:13.000000000 -0500
+++ R-2.4.0/doc/manual/R-ints.texi 2006-10-28 14:36:02.000000000 -0500
@@ -1161,7 +1161,7 @@ libraries.
saving on-screen graphs to those formats. This is technically optional,
and needs source code not in the tarball.
-@item @file{Rchmtl.dll}
+@item @file{Rchtml.dll}
(Windows only.) A link to an ActiveX control that displays Compiled
@HTML{} help. This is optional, and only compiled if CHTML is specified.
Only in R-2.4.0/m4: c99.m4
diff -urp R-2.4.0.old/m4/java.m4 R-2.4.0/m4/java.m4
--- R-2.4.0.old/m4/java.m4 2006-09-10 21:05:02.000000000 -0500
+++ R-2.4.0/m4/java.m4 2006-11-03 19:41:45.000000000 -0600
@@ -103,6 +103,7 @@ if test ${acx_java_works} = yes; then
case "${host_os}" in
darwin*)
JAVA_LIBS="-framework JavaVM"
+ JAVA_LIBS0="-framework JavaVM"
JAVA_LD_LIBRARY_PATH=
;;
*)
diff -urp R-2.4.0.old/m4/Makefile.in R-2.4.0/m4/Makefile.in
--- R-2.4.0.old/m4/Makefile.in 2006-04-09 17:18:56.000000000 -0500
+++ R-2.4.0/m4/Makefile.in 2006-10-28 14:35:49.000000000 -0500
@@ -13,7 +13,7 @@ include $(top_builddir)/Makeconf
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
DISTFILES = Makefile.in README \
R.m4 \
- clibs.m4 \
+ clibs.m4 c99.m4 \
codeset.m4 \
gettext.m4 gettext-lib.m4 \
java.m4 \
diff -urp R-2.4.0.old/m4/R.m4 R-2.4.0/m4/R.m4
--- R-2.4.0.old/m4/R.m4 2006-09-04 09:40:57.000000000 -0500
+++ R-2.4.0/m4/R.m4 2006-10-28 14:35:49.000000000 -0500
@@ -3107,8 +3107,8 @@ fi
## The flag is documented, and is effective but also hides
## unsatisfied references. We cannot test for GCC, as icc passes that test.
case "${CC}" in
- ## Intel compiler
- *icc)
+ ## Intel compiler: note that -c99 may have been appended
+ *icc*)
C_VISIBILITY=
;;
esac
diff -urp R-2.4.0.old/Makefile.in R-2.4.0/Makefile.in
--- R-2.4.0.old/Makefile.in 2006-09-04 09:41:48.000000000 -0500
+++ R-2.4.0/Makefile.in 2006-10-28 14:36:13.000000000 -0500
@@ -30,7 +30,7 @@ Makeconf: $(srcdir)/Makeconf.in $(top_bu
ACLOCAL_M4 = aclocal.m4
ACINCLUDE_DEPENDENCIES = \
m4/R.m4 \
- m4/clibs.m4 \
+ m4/clibs.m4 m4/c99.m4 \
m4/codeset.m4 \
m4/gettext.m4 m4/gettext-lib.m4 \
m4/java.m4 \
@@ -104,15 +104,7 @@ svnonly:
touch non-tarball ; \
(cd $(srcdir); LC_ALL=C TZ=GMT svn info || echo "Revision: unknown") 2> /dev/null \
| sed -n -e '/^Revision/p' -e '/^Last Changed Date/'p \
- | cut -d' ' -f1,2,3,4 > SVN-REVISION-tmp ; \
- if grep unknown SVN-REVISION-tmp > /dev/null ; then \
- echo "Last Changed Date: Today" >> SVN-REVISION-tmp ; \
- if test -f "$(srcdir)/.svn/entries" ; then \
- rev=`grep committed-rev "$(srcdir)/.svn/entries" | head -1 | sed -e 's/^ *committed-rev=\"//' -e 's/\"//'`; \
- cdate=`grep committed-date "$(srcdir)/.svn/entries" | head -1 | sed -e 's/^ *committed-date=\"//' -e 's/T.*//'`; \
- sed -e "s/unknown/$${rev}/" -e "s/Today/$${cdate}/" SVN-REVISION-tmp > SVN-REVISION-tmp2; mv SVN-REVISION-tmp2 SVN-REVISION-tmp ; \
- fi ; \
- fi ; \
+ | cut -d' ' -f1,2,3,4 > SVN-REVISION-tmp ; \
$(top_srcdir)/tools/move-if-change SVN-REVISION-tmp SVN-REVISION ; \
rm -f SVN-REVISION-tmp ; \
else \
diff -urp R-2.4.0.old/NEWS R-2.4.0/NEWS
--- R-2.4.0.old/NEWS 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/NEWS 2006-11-03 19:41:47.000000000 -0600
@@ -6,6 +6,100 @@
**************************************************
+ CHANGES IN R VERSION 2.4.0 patched
+
+INSTALLATION
+
+ o The extraction of info from Subversion for an SVN checkout now
+ also works for svn >= 1.4.0. However, on Windows the 'Last
+ Changed Date' will be in the local timezone, and not in GMT as
+ previously.
+
+ o configure uses code borrowed from autoconf 2.60 to try harder to
+ ensure that a C99-compliant compiler is used. (It does so by
+ appending to CC.) This avoids problems with systems such as FC5
+ which override CFLAGS and thereby lose flags such as -std=gnu99.
+
+
+NEW FEATURES
+
+ o rainbow(), heat.colors(), terrain.colors(), topo.colors() and
+ cm.colors() all gain an 'alpha' argument to be passed to hsv().
+
+
+BUG FIXES
+
+ o Fixed warning() to use .dfltWarn intead of .dfltStop for default
+ handling (PR#9274).
+
+ o R would slow down when the product of the length of a vector and
+ the length of a character vector used to subset it exceeded 2^31.
+ (PR#9280)
+
+ o merge() now allows zero-row data frames.
+
+ o add1.lm() had been broken by other changes for weighted fits.
+
+ o axis.POSIXct() would sometimes give the wrong labels.
+
+ o Help for a method call would fail. (PR#9291)
+
+ o gzfile() returned an object of class "file" not "gzfile". (PR#9271)
+
+ o load()ing from a connection had a logic bug in when it closed
+ the connection. (PR#9271)
+
+ o The lowess() algorithm is unstable if the MAD of the residuals
+ becomes (effectively) zero: R now terminates the iterations at
+ that point. (This may result in quite different answers.)
+
+ The 'delta' argument was incorrectly documented. (PR#9264)
+
+ o abbreviate() would only work for strings of up to 8191 bytes,
+ but this was not checked. Now longer strings are errors.
+
+ o Drawing X11 rotated text was buggy for VERY small (negative)
+ angle of rotation. Reported by Ben Bolker.
+
+ o The X11 data editor would crash in an MBCS locale if R was
+ compiled with FC's CFLAGS that add buffer overflow and
+ stack-smashing detection.
+
+ o rect() was not accepting border=NA in some cases involving
+ cross-hatching.
+
+ o Fixes to S4 group generics to ensure that the correct number of
+ active arguments are in the signature of the group and all
+ members. Also a fix to keep the 'groupMembers' slot up to date.
+
+ o removeClass() now takes care to remove any subclass references
+ to the deleted class.
+
+ o mle() (in stats4) might not have worked as intended when the
+ order of parameters in 'start' differed from that in the
+ log-likelihood. (PR#9313)
+
+ o dotchart() now properly restores par() settings behind itself.
+
+ o system() on Mac OS X was blocking arbitrary signals during the
+ call although only SIGPROF was meant to be blocked.
+
+ o methods cached via callNextMethod() and (sometimes) as() were
+ being cached as directly specified although in fact they were
+ inherited. Caused problems in later search for inherited methods.
+
+ o str() works properly for method definitions and other S4-classed
+ function objects.
+
+ o JAVA_LIBS are now correctly set on MacOS X
+
+ o Fix null-termination issue suspected of causing crash with Fedora
+ Extra RPMS (PR#9339, Justin Harrington, analysis and fix from Bill
+ Dunlap).
+
+
+
+
CHANGES IN R VERSION 2.4.0
Binary files R-2.4.0.old/po/de.gmo and R-2.4.0/po/de.gmo differ
diff -urp R-2.4.0.old/po/de.po R-2.4.0/po/de.po
--- R-2.4.0.old/po/de.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/de.po 2006-10-28 14:36:11.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R-2.2.1\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-09-21 10:41+0200\n"
"Last-Translator: Detlef Steuer <steuer@hsu-hh.de>\n"
"Language-Team: R-core <R-core@r-project.org>\n"
@@ -82,7 +82,7 @@ msgstr "ungültige 'names' in 'R_unlink'
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -127,7 +127,7 @@ msgstr "ungültige 'names' in 'R_unlink'
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -473,7 +473,7 @@ msgid "second argument must be a list"
msgstr "zweites Argument muss eine Liste sein"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "Indizierung außerhalb der Grenzen"
@@ -1151,7 +1151,7 @@ msgstr "angegebene Vektorgröße ist zu
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "Verwendung der NULL Umgebung ist nicht mehr möglich"
@@ -1284,114 +1284,114 @@ msgstr "ungültiges Teilungsmuster '%s'"
msgid "the first argument must be a character vector"
msgstr "erstes Argument muss ein Charaktervektor sein"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreviate mit nicht-ASCII Zeichen genutzt"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "Nicht-Charakter Namen"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "ungültiger Wert von 'allow_'"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "ungültige multibyte Zeichenkette %d"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "regular expression ist in dieser Lokalisierung ungültig"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "ungültige regular expression '%s'"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "Eingabezeichenkette %d ungültig in dieser locale"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "ungültige Rückreferenz %d in regular expression"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' ist ungültig in dieser locale"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement' ist ungültig in dieser locale"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "Muster mit Länge 0"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "Nicht-Charakter Argument für tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "abnehmende Bereichsspezifikation ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "abnehmende Bereichsspezifikation ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "ungültige (NA) Argumente."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "ungültige multibyte Zeichenkette 'old'"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "ungültige multibyte Zeichenkette 'new'"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' ist länger als 'new'"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "ungültige multibyte Eingabezeichenkette %d"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"Benutzung von agrep() in einer UTF-8 Lokalisierung arbeitet wahrscheinlich "
"nur für ASCII Zeichenketten"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "konnte keinen Speicher für approximate matching zuteilen"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "konnte case insensitive matching nicht durchführen"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "Argument muss ein Charakter-Vektor der Länge 1 sein"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1399,45 +1399,45 @@ msgstr ""
"Argument sollte ein Charakter-Vektor der Länge 1 sein\n"
"alle Argumente bis auf das erste werden ignoriert"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "Argument 'x' muss ein raw Vektor sein"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "Argument 'multiple' muss TRUE oder FALSE sein"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "Argument 'shift' muss eine kleine ganze Zahl sein"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "Argument 'x' muss ein Vektor ganzer Zahlen sein"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "Argument 'x' muss entweder raw, ganzzahlig oder logisch sein"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "Argument 'type' muss eine Zeichenkette sein"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "Länge des Argumentes 'x' muss ein Vielfaches von %d sein"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "Argument 'x' darf keine NAs enthalten"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "Argument 'x' muss ein Vektor ganzer Zahlen sein"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() benötigt Charakter-Vektor"
@@ -5496,7 +5496,7 @@ msgstr "Schreibfehler in Verbindung"
msgid "no input is available"
msgstr "keine Eingabe verfügbar"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6126,7 +6126,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] Index (%d) außerhalb des Bereichs"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "ungültiger Indextyp"
@@ -6162,19 +6162,19 @@ msgstr "(subscript) boolescher Index zu
msgid "only 0's may be mixed with negative subscripts"
msgstr "nur Nullen dürfen mit negativen Indizes gemischt werden"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "Element eines Charaktervektors ist nicht vom Typ CHARSXP"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "kein 'dimnames' Attribut für Arrays"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "ungültiger Index"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "Indizierung bei einem Nicht-Vektor"
Binary files R-2.4.0.old/po/en_GB.gmo and R-2.4.0/po/en_GB.gmo differ
diff -urp R-2.4.0.old/po/en_GB.po R-2.4.0/po/en_GB.po
--- R-2.4.0.old/po/en_GB.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/en_GB.po 2006-10-28 14:36:08.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2005-02-22 16:55+0000\n"
"Last-Translator: Prof Brian Ripley <ripley@stats.ox.ac.uk>\n"
"Language-Team: English\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -127,7 +127,7 @@ msgstr ""
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -471,7 +471,7 @@ msgid "second argument must be a list"
msgstr ""
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr ""
@@ -1133,7 +1133,7 @@ msgstr ""
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr ""
@@ -1266,156 +1266,156 @@ msgstr ""
msgid "the first argument must be a character vector"
msgstr ""
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr ""
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr ""
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr ""
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr ""
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr ""
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr ""
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr ""
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr ""
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr ""
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr ""
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr ""
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr ""
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr ""
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr ""
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr ""
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr ""
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr ""
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr ""
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr ""
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr ""
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr ""
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr ""
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
msgstr ""
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr ""
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr ""
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr ""
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr ""
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr ""
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr ""
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr ""
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr ""
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr ""
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr ""
@@ -5406,7 +5406,7 @@ msgstr ""
msgid "no input is available"
msgstr ""
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6016,7 +6016,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr ""
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr ""
@@ -6052,19 +6052,19 @@ msgstr ""
msgid "only 0's may be mixed with negative subscripts"
msgstr ""
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr ""
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr ""
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr ""
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr ""
Binary files R-2.4.0.old/po/en.gmo and R-2.4.0/po/en.gmo differ
diff -urp R-2.4.0.old/po/en.po R-2.4.0/po/en.po
--- R-2.4.0.old/po/en.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/en.po 2006-10-28 14:36:10.000000000 -0500
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2005-01-25 12:01+0000\n"
"Last-Translator: Brian Ripley <Brian.Ripley@R-project.org>\n"
"Language-Team: R-core <R-core@R-project.org>\n"
@@ -80,7 +80,7 @@ msgstr ""
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -125,7 +125,7 @@ msgstr ""
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -469,7 +469,7 @@ msgid "second argument must be a list"
msgstr ""
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr ""
@@ -1131,7 +1131,7 @@ msgstr ""
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr ""
@@ -1264,156 +1264,156 @@ msgstr ""
msgid "the first argument must be a character vector"
msgstr ""
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr ""
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr ""
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr ""
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr ""
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr ""
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr ""
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr ""
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr ""
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr ""
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr ""
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr ""
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr ""
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr ""
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr ""
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr ""
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr ""
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr ""
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr ""
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr ""
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr ""
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr ""
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr ""
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
msgstr ""
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr ""
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr ""
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr ""
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr ""
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr ""
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr ""
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr ""
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr ""
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr ""
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr ""
@@ -5404,7 +5404,7 @@ msgstr ""
msgid "no input is available"
msgstr ""
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6014,7 +6014,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr ""
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr ""
@@ -6050,19 +6050,19 @@ msgstr ""
msgid "only 0's may be mixed with negative subscripts"
msgstr ""
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr ""
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr ""
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr ""
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr ""
Binary files R-2.4.0.old/po/en@quot.gmo and R-2.4.0/po/en@quot.gmo differ
diff -urp R-2.4.0.old/po/en@quot.po R-2.4.0/po/en@quot.po
--- R-2.4.0.old/po/en@quot.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/en@quot.po 2006-10-28 14:36:10.000000000 -0500
@@ -29,8 +29,8 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
-"PO-Revision-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
+"PO-Revision-Date: 2006-10-24 15:53+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
@@ -104,7 +104,7 @@ msgstr "invalid names in R_unli
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -149,7 +149,7 @@ msgstr "invalid names in R_unli
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -494,7 +494,7 @@ msgid "second argument must be a list"
msgstr "second argument must be a list"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "subscript out of bounds"
@@ -1166,7 +1166,7 @@ msgstr "vector size specified is too lar
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "use of NULL environment is defunct"
@@ -1299,112 +1299,112 @@ msgstr "invalid split pattern %s"
msgid "the first argument must be a character vector"
msgstr "the first argument must be a character vector"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreviate used with non-ASCII chars"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "non-character names"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "invalid value of allow_"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "invalid multibyte string %d"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "regular expression is invalid in this locale"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "invalid regular expression %s"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "input string %d is invalid in this locale"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "invalid backreference %d in regular expression"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "pattern is invalid in this locale"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "replacement is invalid in this locale"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "zero-length pattern"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "non-character argument to tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "decreasing range specification ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "decreasing range specification ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "invalid (NA) arguments."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "invalid multibyte string old"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "invalid multibyte string new"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "old is longer than new"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "invalid input multibyte string %d"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr "use of agrep() in a UTF-8 locale may only work for ASCII strings"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "could not allocate memory for approximate matching"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "could not perform case insensitive matching"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "argument must be a character vector of length 1"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1412,45 +1412,45 @@ msgstr ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "argument x must be a raw vector"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "argument multiple must be TRUE or FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "argument shift must be a small integer"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "argument x must be a integer vector"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "argument x must be raw, integer or logical"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "argument type must be a character string"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "argument x must be a multiple of %d long"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "argument x must not contain NAs"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "argument x must be an integer vector"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() requires a character vector"
@@ -5479,7 +5479,7 @@ msgstr "error writing to connection"
msgid "no input is available"
msgstr "no input is available"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6103,7 +6103,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] subscript (%d) out of bounds"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "invalid subscript type"
@@ -6139,19 +6139,19 @@ msgstr "(subscript) logical subscript to
msgid "only 0's may be mixed with negative subscripts"
msgstr "only 0's may be mixed with negative subscripts"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "character vector element does not have type CHARSXP"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "no dimnames attribute for array"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "invalid subscript"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "subscripting on non-vector"
Binary files R-2.4.0.old/po/es.gmo and R-2.4.0/po/es.gmo differ
diff -urp R-2.4.0.old/po/es.po R-2.4.0/po/es.po
--- R-2.4.0.old/po/es.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/es.po 2006-10-28 14:36:08.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.3.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-04-17 00:24+0100\n"
"Last-Translator: Pablo E. Verde <pabloemilio.verde@uni-duesseldorf.de>\n"
"Language-Team: Spanish <RenEspanol@googlegroups.com>\n"
@@ -84,7 +84,7 @@ msgstr "'names' inv<6E>lidos en R_unlink"
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -129,7 +129,7 @@ msgstr "'names' inv<6E>lidos en R_unlink"
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -481,7 +481,7 @@ msgid "second argument must be a list"
msgstr "el segundo argumento debe ser una lista"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "sub<75>ndice fuera de los l<>mites"
@@ -1162,7 +1162,7 @@ msgstr "tama<6D>o del vector especificado e
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr ""
@@ -1299,114 +1299,114 @@ msgstr "patr<74>n de separaci<63>n inv<6E>lido '%
msgid "the first argument must be a character vector"
msgstr "el primer argumento debe ser un vector de caracteres"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abreviatura utilizada con caracteres no ASCII"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "nombres de tipo no caracter"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "valor de 'allow_' inv<6E>lido"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "string multibyte inv<6E>lida %d"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "la expresi<73>n regular es inv<6E>lida es este locale"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "expresi<73>n regular inv<6E>lida '%s'"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "string de entrada %d es inv<6E>lida en este locale"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "auto-referencia %d inv<6E>lida en una expresi<73>n regular"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' es inv<6E>lido en este locale"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement' es inv<6E>lido en este locale"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "patr<74>n de longitud 0"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "argumento que no es caracter para tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "especificaci<63>n de rango decreciente ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "especificaci<63>n de rango decreciente ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "argumentos (NA) inv<6E>lidos"
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "string multibyte inv<6E>lida 'old'"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "string multibyte inv<6E>lida 'new'"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' es m<>s largo que 'new'"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "string multibyte %d de entrada inv<6E>lida"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"el uso de agrep() en un locale UTF-8 puede funcionar s<>lo para strings ASCII"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "no fue posible asignar memoria para una concordancia aproximado"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr ""
"no fue posible realizar una concordancia no sensible a may<61>sculas/min<69>sculas"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "el argumento debe ser un vector de caracteres de longitud 1"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1414,45 +1414,45 @@ msgstr ""
"el argumento debe ser un vector de caracteres de longitud 1\n"
"todos los elementos ser<65>n ignorados, salvo el primero"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "el argumento 'x' debe ser un vector de tipo crudo"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "el argumento 'multiple' debe ser TRUE o FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "el argumento 'shift' debe ser un entero peque<75>o"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "el argumento 'x' debe ser un vector entero"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "el argumento 'x' debe ser crudo, entero o l<>gico"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "el argumento 'type' debe ser una cadena de caracteres"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "el argumento 'x' debe ser un m<>ltiplo de la longitud de %d"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "el argumento 'x' no puede contener NAs"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "el argumento 'x' debe ser un vector entero"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() requiere un vector de caracteres"
@@ -5545,7 +5545,7 @@ msgstr "error al escribir una conexi<78>n"
msgid "no input is available"
msgstr "no hay disponible mecanismos de historia"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6185,7 +6185,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "subscrito (%d) en [[ ]] fuera de limites"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "tipo de subscrito invalido"
@@ -6221,19 +6221,19 @@ msgstr "(subscript) subscrito logico muy
msgid "only 0's may be mixed with negative subscripts"
msgstr "solamente 0's pueden ser mezclados con subscritos negativos"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "elemento del vector de caracteres no tiene tipo CHARSXP"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "arreglo (array) sin atributo 'dimnames'"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "subscrito invalido"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "intento de usar un subscrito e un objeto distinto a un vector"
Binary files R-2.4.0.old/po/fr.gmo and R-2.4.0/po/fr.gmo differ
diff -urp R-2.4.0.old/po/fr.po R-2.4.0/po/fr.po
--- R-2.4.0.old/po/fr.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/fr.po 2006-10-28 14:36:10.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R-2.2.1\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-04-18 08:23+0100\n"
"Last-Translator: Philippe Grosjean <phgrosjean@sciviews.org>\n"
"Language-Team: French <R-core@r-project.org>\n"
@@ -84,7 +84,7 @@ msgstr "'names' incorrect dans 'R_unlink
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -129,7 +129,7 @@ msgstr "'names' incorrect dans 'R_unlink
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -480,7 +480,7 @@ msgid "second argument must be a list"
msgstr "le second argument doit <20>tre une liste"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "indice hors limites"
@@ -1176,7 +1176,7 @@ msgstr "la longueur choisie pour le vect
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "l'utilisation de l'environnement NULL n'est plus autoris<69>e"
@@ -1311,38 +1311,38 @@ msgstr "motif de d<>coupage '%s' incorrec
msgid "the first argument must be a character vector"
msgstr "le premier argument doit <20>tre un vecteur de caract<63>res"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreviate utilis<69> avec des caract<63>res non ASCII"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "les noms ne sont pas des cha<68>nes de caract<63>res"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "valeur incorrecte pour 'allow_'"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "cha<68>ne de charact<63>res multioctets incorrecte %d"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "expression r<>guli<6C>re incorrecte dans cet environnement linguistique"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "expression r<>guli<6C>re incorrecte '%s'"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
@@ -1350,78 +1350,78 @@ msgstr ""
"la cha<68>ne de caract<63>res entr<74>e %d est incorrecte dans cet environnement "
"linguistique"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "r<>f<EFBFBD>rence arri<72>re %d incorrecte dans l'expression r<>guli<6C>re"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' est incorrect dans cet environnement linguistique"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement' est incorrect dans cet environnement linguistique"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "motif de longueur nulle"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "l'argument de tolower() n'est pas une cha<68>ne de caract<63>res"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "sp<73>cification de plage d<>croissante ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "sp<73>cification de plage d<>croissante ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "arguments (NA) incorrects."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "cha<68>ne de charact<63>res multioctets 'old' incorrecte"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "cha<68>ne de charact<63>res multioctets 'new' incorrecte"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' est plus long que 'new'"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "cha<68>ne de caract<63>res multioctets %d incorrecte en entr<74>e"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"l'utilisation de agrep() dans un environnement UTF-8 ne peut fonctionner que "
"pour des cha<68>nes ASCII"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr ""
"impossible d'allouer de la m<>moire pour une correspondance approximative"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "une correspondance ind<6E>pendante de la casse ne peut <20>tre effectu<74>e"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "l'argument doit <20>tre un vecteur de caract<63>res de longueur 1"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1429,45 +1429,45 @@ msgstr ""
"l'argument doit <20>tre un vecteur de caract<63>res de longueur 1\n"
"tous les <20>l<EFBFBD>ments sauf le premier sont ignor<6F>s"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "l'argument 'x' doit <20>tre un vecteur de type raw"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "l'argument 'multiple' doit <20>tre TRUE ou FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "l'argument 'shift' doit <20>tre un petit entier"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "l'argument 'x' doit <20>tre un vecteur d'entiers"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "l'argument 'x' doit <20>tre de type raw, entier ou logique"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "l'argument 'type' doit <20>tre une cha<68>ne de caract<63>res"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "l'argument 'x' doit <20>tre un multiple de la longueur %d"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "l'argument 'x' ne doit pas contenir de valeurs manquantes (NA)"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "l'argument 'x' doit <20>tre un vecteur d'entiers"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() exige un vecteur de caract<63>res comme argument"
@@ -5607,7 +5607,7 @@ msgstr "erreur d'<27>criture vers la connex
msgid "no input is available"
msgstr "pas d'entr<74>e disponible"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6254,7 +6254,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] indice (%d) en dehors des bornes"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "type d'indice incorrect"
@@ -6290,19 +6290,19 @@ msgstr "(subscript) indice logique trop
msgid "only 0's may be mixed with negative subscripts"
msgstr "les indices n<>gatifs ne peuvent <20>tre m<>lang<6E>s qu'<27> des 0"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "un <20>l<EFBFBD>ment d'un vecteur de caract<63>res n'a pas le type CHARSXP"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "aucun attribut 'dimnames' pour le tableau"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "indice incorrect"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "indi<64>age d'un <20>l<EFBFBD>ment non vectoriel"
Binary files R-2.4.0.old/po/it.gmo and R-2.4.0/po/it.gmo differ
diff -urp R-2.4.0.old/po/it.po R-2.4.0/po/it.po
--- R-2.4.0.old/po/it.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/it.po 2006-10-28 14:36:11.000000000 -0500
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-01-16 09:11+0100\n"
"Last-Translator: Daniele Medri <daniele.medri2@unibo.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -90,7 +90,7 @@ msgstr "'names' non valido in R_unlink"
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -135,7 +135,7 @@ msgstr "'names' non valido in R_unlink"
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -490,7 +490,7 @@ msgid "second argument must be a list"
msgstr "il secondo argomento deve essere di tipo list"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "indice fuori limite"
@@ -1176,7 +1176,7 @@ msgstr "dimensione troppo grande per il
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr ""
@@ -1312,114 +1312,114 @@ msgstr "pattern di split '%s' non valido
msgid "the first argument must be a character vector"
msgstr "il primo argomento deve essere una vettore character"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreviazione usata con caratteri non ASCII"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "nomi non di tipo character"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "valore non valido per 'allow_'"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "stringa mulibyte %d non valida"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "l'espressione regolare non è valida in questo locale"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "espressione regolare '%s' non valida"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "stringa di input %d non valida in questo locale"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "riferimento all'indietro %d non valido in questa espressione regolare"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' non valido per questo locale"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacemente' non valido in questo locale"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "'pattern' di lunghezza zero"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "argomento non character in tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "specificazione range decrescente ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "specificazione range decrescente ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "argomenti non validi (NA)."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "stringa multibyte non valido in 'old'"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "stringa multibyte 'new' non valida"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' è più lungo di 'new'"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "stringa input multibyte %d non valida"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"l'uso di agrep() in un locale UTF-8 può funzionare solo per stringhe ASCII"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "non è possibile allocare memoria per match approssimato"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr ""
"non posso eseguire accoppiamenti senza tener conto delle maiuscole/minuscole"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "l'argomento deve essere un vettore character di lunghezza 1"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1427,45 +1427,45 @@ msgstr ""
"l'argomento deve essere un vettore di caratteri di lunghezza 1\n"
"verranno ignorati tutti tranne il primo elemento"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "l'argomento 'x' deve essere un vettore semplice"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "l'argomento 'mutiple' deve essere TRUE o FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "l'argomento 'shift' deve essere un intero piccolo"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "l'argomento 'x' deve essere un vettore di interi"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "l'argomento 'x' deve essere semplice, intero o booleano"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "l'argomento 'type' deve essere una stringa character"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "l'argomento 'x' deve essere lungo un multiplo di %d"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "l'argomento 'x' non deve contenere NA"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "l'argomento 'x' deve essere un vettore di interi"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strstrim() necessita di un vettore di caratteri"
@@ -1524,7 +1524,7 @@ msgstr "environment non valido"
#: src/main/coerce.c:1408
msgid "argument must have length at least 1"
-msgstr "l'argometno deve avere almeno lunghezza 1"
+msgstr "l'argomento deve avere almeno lunghezza 1"
#: src/main/coerce.c:1433
msgid "invalid body for function"
@@ -3774,7 +3774,7 @@ msgstr "l'argumento formale \"%s\" è as
#: src/main/match.c:234 src/main/match.c:273
#, c-format
msgid "argument %d matches multiple formal arguments"
-msgstr "l'argomento %d si associa a più argometni formali"
+msgstr "l'argomento %d si associa a più argomenti formali"
#: src/main/match.c:386
#, fuzzy, c-format
@@ -5549,7 +5549,7 @@ msgstr "errore di scrittura sulla connes
msgid "no input is available"
msgstr "non esiste un meccanismo di gestione history"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6190,7 +6190,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] indice (%d) fuori limiti"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "tipo di indice non valido"
@@ -6226,19 +6226,19 @@ msgstr "(subscript) indice logicol tropp
msgid "only 0's may be mixed with negative subscripts"
msgstr "solo gli 0 si possono usare contemporaneamente con indici negativi"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "il vettore carattere non ha un tipo CHARSXP"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "attributo 'dimnames' mancante per l'array"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "indici non valido"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "indicizzazione su un non vettore"
Binary files R-2.4.0.old/po/ja.gmo and R-2.4.0/po/ja.gmo differ
diff -urp R-2.4.0.old/po/ja.po R-2.4.0/po/ja.po
--- R-2.4.0.old/po/ja.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/ja.po 2006-10-28 14:36:12.000000000 -0500
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-09-22 19:00+0900\n"
"Last-Translator: Shigeru Mase <maseshigeru@gmail.com>\n"
"Language-Team: R-core <R-core@R-project.org>\n"
@@ -85,7 +85,7 @@ msgstr "R_unlink の 'names' が不正<E4B88D><E6ADA3>
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -130,7 +130,7 @@ msgstr "R_unlink の 'names' が不正<E4B88D><E6ADA3>
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -474,7 +474,7 @@ msgid "second argument must be a list"
msgstr "二番目の引数はリストでなければなりません"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "添え字が許される範囲外です"
@@ -1157,7 +1157,7 @@ msgstr "指定されたベクトルの<E383AB><E381AE>
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "NULL環境の使用は廃要素です"
@@ -1290,113 +1290,113 @@ msgstr "分割パターン '%s' が不<E3818C><E4B88D>
msgid "the first argument must be a character vector"
msgstr "最初の引数は文字列ベクトルでなくてはなりません"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "ASCII 文字でないものが省略名として使われました"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "名前が文字列ではありません"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "'allow_' の値が不正です"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "%d は不正なマルチバイト文字です"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "このロケールでは,正規表現は無効です"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "'%s' の正規表現が不正です"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "入力文字列 %d はこのロケールでは不適切です"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "正規表現における後方参照 %d が不正です"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' は現在のロケールでは不正です"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement' は現在のロケールでは不正です"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "長さゼロのパターン"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "tolower 関数の引数が文字列ではありません"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "範囲指定を縮小します ('%lc-%lc') "
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "範囲指定を縮小します ('%c-%c') "
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "引数が不正(NA)です"
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "'old' は不正なマルチバイト文字です"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "'new' は不正なマルチバイト文字です"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' が 'new' より長いです"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "不正なマルチバイト文字列入力 %d です"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"UTF-8 ロケールにおける agrep 関数の使用は ASCII 文字列以外では保証されません"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "近似マッチングのためのメモリを割り当てられませんでした"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "大小文字を無視したマッチングを行なえませんでした"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "引数は長さ1の文字ベクトルでなくてはなりません"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1404,45 +1404,45 @@ msgstr ""
"引数は長さ1の文字ベクトルであるべきです\n"
"最初の要素以外は無視されます"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "引数 'x' は raw ベクトルでなくてはなりません"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "引数 'multiple' は TRUE か FALSE でなくてはなりません"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "引数 'shift' は小さな整数でなくてはなりません"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "引数 'x' は整数ベクトルでなくてはなりません"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "引数'x'はraw, 整数,論理値でなくてはいけません"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "引数 'type' は文字列でなくてはなりません"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "引数 'x' は長さ %d の整数倍でなくてはなりません"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "引数 'x' はNA を含んではいけません"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "引数 'x' は整数ベクトルでなくてはなりません"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim 関数は文字ベクトルを要求します"
@@ -5493,7 +5493,7 @@ msgstr "コネクションへの書き<E69BB8><E3818D>
msgid "no input is available"
msgstr "入力は利用できません"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6124,7 +6124,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] の添え字(%dが範囲外です"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "添え字の型が不正です"
@@ -6160,19 +6160,19 @@ msgstr " (subscript) 論理値添え字<E38188>
msgid "only 0's may be mixed with negative subscripts"
msgstr "負の添字と混在できるのは 0 という添字だけです"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "文字列ベクトル要素は型 CHARSXP を持ちません"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "配列に 'dimnames' 属性がありません"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "添え字が不正です"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "ベクトルでないものへの添え字操作"
Binary files R-2.4.0.old/po/ko.gmo and R-2.4.0/po/ko.gmo differ
diff -urp R-2.4.0.old/po/ko.po R-2.4.0/po/ko.po
--- R-2.4.0.old/po/ko.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/ko.po 2006-10-28 14:36:08.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2005-05-31 10:36+0900\n"
"Last-Translator: park ui-il <uiami@hanmail.com> \n"
"Language-Team: South Korea\n"
@@ -85,7 +85,7 @@ msgstr "R_unlink의 'names'이 부적절
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -130,7 +130,7 @@ msgstr "R_unlink의 'names'이 부적절
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -482,7 +482,7 @@ msgid "second argument must be a list"
msgstr "두번째 인수는 리스트가 되어야만 한다"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "첨자가 허용되는 범위외입니다"
@@ -1161,7 +1161,7 @@ msgstr "지정된 벡터의 사이즈가
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr ""
@@ -1297,114 +1297,114 @@ msgstr "분할 패턴 '%s'가 부적절<ECA081>
msgid "the first argument must be a character vector"
msgstr "최초의 인수는 문자열 벡터가 아니면 안됩니다"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "ASCII문자가 아닌것에 대해서 생략이름이 사용되었습니다"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "이름은 문자열이 아닙니다"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "'allow_'의 값이 부적절합니다"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "%d는 부적절한 복수 바이트 문자입니다"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "이 licale에서는 정규 표현은 무효입니다"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "'%s'의 정규 표현이 부적절합니다"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "입력 문자열%d는 locale에서 부적절합니다"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "정규 표현에 있어서 후방참조 %d가 부적절합니다"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern'는 현재의 locale에서 부적절합니다"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement'는 현재의 locale에서 부적절합니다"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "zero-length의 패턴"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "tolower()함수의 인수가 문자열이 아닙니다"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "범위 지정을 축소합니다('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "범위 지정을 축소합니다('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "인수가 부적절한(NA)입니다."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "'old'는 부적절한 복수바이트 문자입니다"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "'new'는 부적절한 복수바이트 문자입니다"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old'가 'new'보다 깁니다"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "부적절한 복수바이트 문자열 입력%d입니다"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"부적절한 UTF-8 locale에 있어서 agrep()함수의 사용은 ASCII 문자열 이외에는 적"
"용되지 않습니다"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "근사 matching을 위한 메모리를 할당할수 없습니다"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "대소문자를 무시한 matching를 실행할수 없습니다"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "인수는 길이 1의 문자 벡터이어야만 합니다"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1412,46 +1412,46 @@ msgstr ""
"인수는 길이 1의 문자 벡터이어야만 합니다\\n\n"
"최초의 요소 이외는 무시됩니다"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "인수 'x'는 raw 벡터이어야만 합니다"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "인수 'multiple'는 TRUE 또는 FALSE 이어야만 합니다"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "인수 'shift'는 작은 정수 벡터이어야만 합니다"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "인수 'x'는 정수 벡터이어야만 합니다"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "인수 'x'는 raw, 정수, 논리값이어야만 합니다"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "인수 'type'는 문자열이어야만 합니다"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "인수 'x'는 길이 %d의 정수배이어야만 합니다"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "인수 'x'는 NA를 포함해서는 안됩니다"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
#, fuzzy
msgid "argument 'x' must be an integer vector"
msgstr "인수 'x'는 정수 벡터이어야만 합니다"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim 함수는 문자 벡터를 요구합니다"
@@ -5545,7 +5545,7 @@ msgstr "connection에의 기입해 에<><EC9790>
msgid "no input is available"
msgstr "이용 할수 있는 히스토리 machanism가 없습니다"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6178,7 +6178,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]]의 첨자(%d)가 범위외입니다"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "첨자의 형태가 부적절합니다"
@@ -6214,19 +6214,19 @@ msgstr "(subscript) 논리값의 첨자<ECB2A8>
msgid "only 0's may be mixed with negative subscripts"
msgstr "부의 첨자와 복합할수 있는것은 0 이라고 하는 첨자만입니다"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "문자열벡터 요소는 유형 CHARSXP를 가지지 않습니다"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "배열에 'dimnames' 속성이 없습니다"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "첨자가 부적절합니다"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "벡터가 아닌것에 첨자조작"
Binary files R-2.4.0.old/po/pt_BR.gmo and R-2.4.0/po/pt_BR.gmo differ
diff -urp R-2.4.0.old/po/pt_BR.po R-2.4.0/po/pt_BR.po
--- R-2.4.0.old/po/pt_BR.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/pt_BR.po 2006-10-28 14:36:08.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-04-16 19:17-0300\n"
"Last-Translator: Fernando Henrique Ferraz P. da Rosa <feferraz@ime.usp.br>\n"
"Language-Team: Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -83,7 +83,7 @@ msgstr "'names' inv<6E>lidos em 'R_unlink'"
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -128,7 +128,7 @@ msgstr "'names' inv<6E>lidos em 'R_unlink'"
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -476,7 +476,7 @@ msgid "second argument must be a list"
msgstr "segundo argumento deve ser uma lista"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "<22>ndice fora de limites"
@@ -1156,7 +1156,7 @@ msgstr "tamanho de vetor especificado <20>
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "uso do ambiente NULL n<>o <20> mais permitido "
@@ -1292,114 +1292,114 @@ msgstr "padr<64>o split inv<6E>lido '%s'"
msgid "the first argument must be a character vector"
msgstr "primeiro argumento deve ser um vetor de caracteres"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreaviate usado com caracteres n<>o-ASCII"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "nomes de modo n<>o caractere"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "valor de 'allow_' inv<6E>lido"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "string multibyte inv<6E>lida %d"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "express<73>o regular <20> inv<6E>lida nesse locale"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "express<73>o regular inv<6E>lida '%s'"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "string de entrada %d <20> inv<6E>lida nesse locale"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "auto-refer<65>ncia %d inv<6E>lida na express<73>o regular"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' <20> inv<6E>lido nesse locale"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement' <20> inv<6E>lido nesse locale"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "padr<64>o de comprimento 0"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "argumento diferente de caractere para tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "especifica<63><61>o de intervalo decrescente ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "especifica<63><61>o de intervalo decrescente ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "argumentos inv<6E>lidos (NA)"
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "string multibyte inv<6E>lida 'old'"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "string multibyte inv<6E>lida 'new'"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' <20> maior que 'new'"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "string de entrada multibyte %d inv<6E>lida"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"uso de agrep() em um locale UTF-8 pode funcionar somente para strings ASCII"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "n<>o foi poss<73>vel alocar mem<65>ria para compara<72><61>o aproximada"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr ""
"n<>o foi poss<73>vel fazer compara<72><61>o desconsiderando ma<6D>usculas/min<69>sculas"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "argumento deve ser um vetor de caracteres de comprimento 1"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1407,45 +1407,45 @@ msgstr ""
"argumento deve ser um vetor de caracteres de comprimento 1\n"
"todos menos o primeiro argumento ser<65>o ignorados"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "argumento 'x' deve ser um vetor do tipo raw"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "argumento 'multiple' deve ser TRUE ou FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "argumento 'shift' deve ser um inteiro pequeno"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "argumento 'x' deve ser um vetor inteiro"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "argumento 'x' deve ser raw, inteiro ou l<>gico"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "argumento 'type' deve ser uma string de caracteres"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "argumento 'x' deve ter comprimento m<>ltiplo de %d"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "argumento 'x' n<>o pode conter NAs"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "argumento 'x' deve ser um vetor inteiro"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() requer um vetor de caracteres"
@@ -5523,7 +5523,7 @@ msgstr "erro ao escrever na conex<65>o"
msgid "no input is available"
msgstr "nenhuma entrada dispon<6F>vel"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6163,7 +6163,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "subscrito (%d) em [[ ]] fora de limites"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "tipo de subscrito inv<6E>lido"
@@ -6199,19 +6199,19 @@ msgstr "(subscript) subscrito l<>gico mui
msgid "only 0's may be mixed with negative subscripts"
msgstr "somente 0's podem ser usados junto com subscritos negativos"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "elemento do vetor de caracteres n<>o tem tipo CHARSXP"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "array sem atributo 'dimnames'"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "subscrito inv<6E>lido"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "tentativa de usar um subscrito em um objeto diferente de vetor"
Binary files R-2.4.0.old/po/RGui-zh_CN.gmo and R-2.4.0/po/RGui-zh_CN.gmo differ
diff -urp R-2.4.0.old/po/RGui-zh_CN.po R-2.4.0/po/RGui-zh_CN.po
--- R-2.4.0.old/po/RGui-zh_CN.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/RGui-zh_CN.po 2006-10-28 14:36:10.000000000 -0500
@@ -1,8 +1,8 @@
-# Chinese translations for R package
-# Copyright (C) 2005 The R Foundation
-# This file is distributed under the same license as the PACKAGE package.
-# 陈斐 <feic@avaya.com>, 2006.
-#
+# Chinese translations for R package
+# Copyright (C) 2005 The R Foundation
+# This file is distributed under the same license as the PACKAGE package.
+# <20><><EFBFBD><EFBFBD> <feic@avaya.com>, 2006.
+#
msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
@@ -18,19 +18,19 @@ msgstr ""
#: console.c:879 console.c:919
msgid "Not enough memory"
-msgstr "内存不够"
+msgstr "<22>ڴ治<DAB4><E6B2BB>"
#: console.c:975 console.c:979
msgid "Insufficient memory: text not copied to the clipboard"
-msgstr "内存不够: 原文没有复制到剪贴板"
+msgstr "<22>ڴ治<DAB4><E6B2BB>: ԭ<><D4AD>û<EFBFBD>и<EFBFBD><D0B8>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: console.c:1018 graphapp/clipboard.c:54 graphapp/clipboard.c:80
msgid "Unable to open the clipboard"
-msgstr "无法打开剪贴板"
+msgstr "<22>޷<EFBFBD><DEB7>򿪼<EFBFBD><F2BFAABC><EFBFBD><EFBFBD><EFBFBD>"
#: console.c:1620
msgid "Insufficient memory. Please close the console"
-msgstr "内存不够。 请关闭控制台"
+msgstr "<22>ڴ治<DAB4><E6B2BB><EFBFBD><EFBFBD> <20><><EFBFBD>رտ<D8B1><D5BF><EFBFBD>̨"
#: console.c:1674 console.c:1727 preferences.c:274
#, c-format
@@ -38,121 +38,121 @@ msgid ""
"Font %s-%d-%d not found.\n"
"Using system fixed font"
msgstr ""
-"找不到%s-%d-%d字体。\n"
-"用系统字体"
+"<22>Ҳ<EFBFBD><D2B2><EFBFBD>%s-%d-%d<><64><EFBFBD>塣\n"
+"<22><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>"
#: console.c:1829
msgid "Save selection to"
-msgstr "保存选择到"
+msgstr "<22><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>"
#: console.c:1831
msgid "Save console contents to"
-msgstr "保存控制台内容到"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD>ݵ<EFBFBD>"
#: console.c:1929
msgid "Scrolling.\n"
-msgstr "滚动。\n"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: console.c:1930
msgid " Keyboard: PgUp, PgDown, Ctrl+Arrows, Ctrl+Home, Ctrl+End,\n"
-msgstr " 键盘: PgUp, PgDown, Ctrl+箭头键, Ctrl+Home, Ctrl+End,\n"
+msgstr " <20><><EFBFBD><EFBFBD>: PgUp, PgDown, Ctrl+<2B><>ͷ<EFBFBD><CDB7>, Ctrl+Home, Ctrl+End,\n"
#: console.c:1931
msgid ""
" Mouse: use the scrollbar(s).\n"
"\n"
msgstr ""
-" 鼠标: 用滚动条。\n"
+" <20><><EFBFBD><EFBFBD>: <20>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"\n"
#: console.c:1932
msgid "Editing.\n"
-msgstr "修改。\n"
+msgstr "<22>޸ġ<DEB8>\n"
#: console.c:1933
msgid " Moving the cursor: \n"
-msgstr " 移动鼠标: \n"
+msgstr " <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>: \n"
#: console.c:1934
msgid " Left arrow or Ctrl+B: move backward one character;\n"
-msgstr " 左箭头或Ctrl+B: 左移一字符;\n"
+msgstr " <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>Ctrl+B: <20><><EFBFBD><EFBFBD>һ<EFBFBD>ַ<EFBFBD>;\n"
#: console.c:1935
msgid " Right arrow or Ctrl+F: move forward one character;\n"
-msgstr " 右箭头或Ctrl+F: 右移一字符;\n"
+msgstr " <20>Ҽ<EFBFBD>ͷ<EFBFBD><CDB7>Ctrl+F: <20><><EFBFBD><EFBFBD>һ<EFBFBD>ַ<EFBFBD>;\n"
#: console.c:1936
msgid " Home or Ctrl+A: go to beginning of line;\n"
-msgstr " Home或Ctrl+A: 移到行头;\n"
+msgstr " Home<6D><65>Ctrl+A: <20>Ƶ<EFBFBD><C6B5><EFBFBD>ͷ;\n"
#: console.c:1937
msgid " End or Ctrl+E: go to end of line;\n"
-msgstr " End或Ctrl+E: 移到行尾;\n"
+msgstr " End<6E><64>Ctrl+E: <20>Ƶ<EFBFBD><C6B5><EFBFBD>β;\n"
#: console.c:1938
msgid " History: Up and Down Arrows, Ctrl+P, Ctrl+N\n"
-msgstr " 历史: 上,下箭头, Ctrl+P, Ctrl+N\n"
+msgstr " <20><>ʷ: <20>ϣ<EFBFBD><CFA3>¼<EFBFBD>ͷ, Ctrl+P, Ctrl+N\n"
#: console.c:1939
msgid " Deleting:\n"
-msgstr " 删除:\n"
+msgstr " ɾ<><C9BE>:\n"
#: console.c:1940
msgid " Del or Ctrl+D: delete current character;\n"
-msgstr " Del或Ctrl+D: 删除在目前位置的字符;\n"
+msgstr " Del<65><6C>Ctrl+D: ɾ<><C9BE><EFBFBD><EFBFBD>Ŀǰλ<C7B0>õ<EFBFBD><C3B5>ַ<EFBFBD>;\n"
#: console.c:1941
msgid " Backspace: delete preceding character;\n"
-msgstr " Backspace: 删除目前位置之前的字符;\n"
+msgstr " Backspace: ɾ<><C9BE>Ŀǰλ<C7B0><CEBB>֮ǰ<D6AE><C7B0><EFBFBD>ַ<EFBFBD>;\n"
#: console.c:1942
msgid ""
" Ctrl+Del or Ctrl+K: delete text from current character to end of line.\n"
-msgstr " Ctrl+Del或Ctrl+K: 删除目前位置到行尾的所有文字。\n"
+msgstr " Ctrl+Del<65><6C>Ctrl+K: ɾ<><C9BE>Ŀǰλ<C7B0>õ<EFBFBD><C3B5><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>\n"
#: console.c:1943
msgid " Ctrl+U: delete all text from current line.\n"
-msgstr " Ctrl+U: 从目前所在的行开始删除所有的文字。\n"
+msgstr " Ctrl+U: <20><>Ŀǰ<C4BF><C7B0><EFBFBD>ڵ<EFBFBD><DAB5>п<EFBFBD>ʼɾ<CABC><C9BE><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>֡<EFBFBD>\n"
#: console.c:1944
msgid " Copy and paste.\n"
-msgstr " 复制和粘贴.\n"
+msgstr " <20><><EFBFBD>ƺ<EFBFBD>ճ<EFBFBD><D5B3>.\n"
#: console.c:1945
msgid ""
" Use the mouse (with the left button held down) to mark (select) text.\n"
-msgstr " 用鼠标(持续按下左键) 来选择文字。\n"
+msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>\n"
#: console.c:1946
msgid ""
" Use Shift+Del (or Ctrl+C) to copy the marked text to the clipboard and\n"
-msgstr " 用Shift+Del(或Ctrl+C) 把选择好的文字复制到剪贴板\n"
+msgstr " <20><>Shift+Del(<28><>Ctrl+C) <20><>ѡ<EFBFBD><D1A1><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: console.c:1947
msgid ""
" Shift+Ins (or Ctrl+V or Ctrl+Y) to paste the content of the clipboard "
"(if any) \n"
-msgstr " 用Shift+Ins(或Ctrl+V或Ctrl+Y)来粘贴剪贴板的内容(如果有的话) \n"
+msgstr " <20><>Shift+Ins(<28><>Ctrl+V<><56>Ctrl+Y)<29><>ճ<EFBFBD><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>еĻ<D0B5>) \n"
#: console.c:1948
msgid " to the console, Ctrl+X first copy then paste\n"
-msgstr " 到控制台, Ctrl+X先复制再粘贴\n"
+msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨, Ctrl+X<>ȸ<EFBFBD><C8B8><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><D5B3>\n"
#: console.c:1949
msgid " Misc:\n"
-msgstr " 其他:\n"
+msgstr " <20><><EFBFBD><EFBFBD>:\n"
#: console.c:1950
msgid " Ctrl+L: Clear the console.\n"
-msgstr " Ctrl+L: 清除控制台.\n"
+msgstr " Ctrl+L: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨.\n"
#: console.c:1951
msgid " Ctrl+O: Toggle overwrite mode: initially off.\n"
-msgstr " Ctrl+O: 开关重写状态: 最初是关掉的。\n"
+msgstr " Ctrl+O: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д״̬: <20><><EFBFBD><EFBFBD><EFBFBD>ǹص<C7B9><D8B5>ġ<EFBFBD>\n"
#: console.c:1952
msgid " Ctrl+T: Interchange current char with one to the left.\n"
-msgstr " Ctrl+T: 将目前所在位置的字符与其左方的字符交换。\n"
+msgstr " Ctrl+T: <20><>Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><C3B5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷽵<EFBFBD><F3B7BDB5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: console.c:1953
msgid ""
@@ -160,14 +160,14 @@ msgid ""
"Note: Console is updated only when some input is required.\n"
msgstr ""
"\n"
-"注意: 只有在输入时控制台才能被更新。\n"
+"ע<><D7A2>: ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD>¡<EFBFBD>\n"
#: console.c:1954
msgid ""
" Use Ctrl+W to toggle this feature off/on.\n"
"\n"
msgstr ""
-" 用Ctrl+W来开关这一功能。\n"
+" <20><>Ctrl+W<><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ܡ<EFBFBD>\n"
"\n"
#: console.c:1955
@@ -175,72 +175,72 @@ msgid ""
"Use ESC to stop the interpreter.\n"
"\n"
msgstr ""
-"用ESC来中断注释器。\n"
+"<22><>ESC<53><43><EFBFBD>ж<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"\n"
#: console.c:1956
msgid "Standard Windows hotkeys can be used to switch to the\n"
-msgstr "可以用Windows的标准热键来转换\n"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Windows<77>ı<EFBFBD>׼<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ת<EFBFBD><D7AA>\n"
#: console.c:1957
msgid "graphics device (Ctrl+Tab or Ctrl+F6 in MDI, Alt+Tab in SDI)"
-msgstr "绘图设备 (MDI用Ctrl+Tab或Ctrl+F6, SDI用Alt+Tab)"
+msgstr "<22><>ͼ<EFBFBD>豸 (MDI<44><49>Ctrl+Tab<61><62>Ctrl+F6, SDI<44><49>Alt+Tab)"
#: dataentry.c:220
msgid "invalid argument"
-msgstr "参数不对"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: dataentry.c:267
msgid "invalid type for value"
-msgstr "值的种类不对"
+msgstr "ֵ<><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0B2BB>"
#: dataentry.c:281
msgid "invalid device"
-msgstr "设备出错"
+msgstr "<22><EFBFBD><E8B1B8><EFBFBD><EFBFBD>"
#: dataentry.c:329
msgid "dataentry: internal memory problem"
-msgstr "dataentry: 内部内存问题"
+msgstr "dataentry: <20>ڲ<EFBFBD><DAB2>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>"
#: dataentry.c:623 dataentry.c:1117
msgid "dataentry: internal memory error"
-msgstr "dataentry: 内部内存错误"
+msgstr "dataentry: <20>ڲ<EFBFBD><DAB2>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>"
#: dataentry.c:742 dataentry.c:755
msgid "internal type error in dataentry"
-msgstr "dataentry内部种类出错"
+msgstr "dataentry<72>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: dataentry.c:922
msgid "dataentry: expression too long"
-msgstr "dataentry: 表达式太长"
+msgstr "dataentry: <20><><EFBFBD><EFBFBD>ʽ̫<CABD><CCAB>"
#: dataentry.c:1351
msgid "column names cannot be blank"
-msgstr "列名不能是空白的"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿհ׵<D5B0>"
#: dataentry.c:1395
msgid "Variable editor"
-msgstr "变量编辑器"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0BCAD>"
#: dataentry.c:1400
msgid "variable name"
-msgstr "变量名字"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: dataentry.c:1402
msgid "type"
-msgstr "种类"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: dataentry.c:1506
msgid "Cell width(s)"
-msgstr "字元格宽"
+msgstr "<22><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>"
#: dataentry.c:1511
msgid "Cell width"
-msgstr "字元格宽"
+msgstr "<22><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>"
#: dataentry.c:1514
msgid "variable"
-msgstr "变量"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: dataentry.c:1553
msgid ""
@@ -264,282 +264,282 @@ msgid ""
" Right-click menu for copy, paste, autosize currently selected column\n"
"\n"
msgstr ""
-"导航。\n"
-" 键盘: 游标键用来移动选择的内容\n"
-"\tTab右移, Shift+Tab左移\n"
-"\tPgDn或Ctrl+F: 整屏下移\n"
-"\tPgUp或Ctrl+B: 整屏上移\n"
-"\tHome: 移到(1,1)位置\n"
-"\tEnd: 显示最后一列的最后一行。\n"
-" 鼠标: 在字元格里按左键, 用滚动条。\n"
+"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
+" <20><><EFBFBD><EFBFBD>: <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
+"\tTab<61><62><EFBFBD><EFBFBD>, Shift+Tab<61><62><EFBFBD><EFBFBD>\n"
+"\tPgDn<44><6E>Ctrl+F: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
+"\tPgUp<55><70>Ctrl+B: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
+"\tHome: <20>Ƶ<EFBFBD>(1,1)λ<><CEBB>\n"
+"\tEnd: <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>һ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>С<EFBFBD>\n"
+" <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFB0B4><EFBFBD><EFBFBD>, <20>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"\n"
-"编辑。\n"
-" 写入目前选择了的字元格里\n"
-" 在字元格里双点击来对域进行编辑\n"
+"<22><EFBFBD><E0BCAD>\n"
+" д<><D0B4>Ŀǰѡ<C7B0><D1A1><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>\n"
+" <20><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б༭\n"
"\n"
-"其他.\n"
-" Ctrl-L刷新屏障自动调整列的大小\n"
-" Ctrl-C复制选择的字元格\n"
-" Ctrl-V贴补到选择了的字元格\n"
-" 右键菜单用来复制, 粘贴, 自己调整大小选择了的列\n"
+"<22><><EFBFBD><EFBFBD>.\n"
+" Ctrl-Lˢ<4C><CBA2><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĴ<D0B5>С\n"
+" Ctrl-C<><43><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>\n"
+" Ctrl-V<><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ԫ<EFBFBD><D4AA>\n"
+" <20>Ҽ<EFBFBD><D2BC>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ճ<><D5B3>, <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сѡ<D0A1><D1A1><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>\n"
"\n"
#: dataentry.c:1559 dataentry.c:1653 editor.c:730 rui.c:1065
msgid "Help"
-msgstr "帮助"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: dataentry.c:1561
msgid "Copy selected cell"
-msgstr "复制选择了的字元格"
+msgstr "<22><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ԫ<EFBFBD><D4AA>"
#: dataentry.c:1562
msgid "Paste to selected cell"
-msgstr "粘贴到选择了的字元格"
+msgstr "ճ<><D5B3><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ԫ<EFBFBD><D4AA>"
#: dataentry.c:1563
msgid "Autosize column"
-msgstr "自动调节列的大小"
+msgstr "<22>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĴ<D0B5>С"
#: dataentry.c:1565 pager.c:295 rui.c:785
#: ../library/grDevices/src/devWindows.c:1595
msgid "Stay on top"
-msgstr "窗口保持在最上面"
+msgstr "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: dataentry.c:1567 dataentry.c:1645 pager.c:297 pager.c:460
msgid "Close"
-msgstr "关闭"
+msgstr "<22>ر<EFBFBD>"
#: dataentry.c:1617
msgid "Data Editor"
-msgstr "数据编辑器"
+msgstr "<22><><EFBFBD>ݱ༭<DDB1><E0BCAD>"
#: dataentry.c:1643 editor.c:676 pager.c:452 rui.c:1013
#: ../library/grDevices/src/devWindows.c:1540
msgid "File"
-msgstr "文件"
+msgstr "<22>ļ<EFBFBD>"
#: dataentry.c:1647 editor.c:694 pager.c:462 rui.c:1034
msgid "Edit"
-msgstr "编辑"
+msgstr "<22>༭"
#: dataentry.c:1648
msgid "Copy \tCTRL+C"
-msgstr "复制 \tCTRL+C"
+msgstr "<22><><EFBFBD><EFBFBD> \tCTRL+C"
#: dataentry.c:1649
msgid "Paste \tCTRL+V"
-msgstr "粘贴 \tCTRL+V"
+msgstr "ճ<><D5B3> \tCTRL+V"
#: dataentry.c:1650
msgid "Delete\tDEL"
-msgstr "删除\tDEL"
+msgstr "ɾ<><C9BE>\tDEL"
#: dataentry.c:1652
msgid "Cell widths ..."
-msgstr "字元格宽..."
+msgstr "<22><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>..."
#: dataentry.c:1654
msgid "Data editor"
-msgstr "数据编辑器"
+msgstr "<22><><EFBFBD>ݱ༭<DDB1><E0BCAD>"
#: editor.c:449 pager.c:172 pager.c:192
msgid "No RGui console to paste to"
-msgstr "没有可以粘贴上的RGui控制台"
+msgstr "û<>п<EFBFBD><D0BF><EFBFBD>ճ<EFBFBD><D5B3><EFBFBD>ϵ<EFBFBD>RGui<75><69><EFBFBD><EFBFBD>̨"
#: editor.c:551
msgid "R EDITOR\n"
-msgstr "R编辑器\n"
+msgstr "R<><EFBFBD><E0BCAD>\n"
#: editor.c:553
msgid "A standard text editor for editing and running R code.\n"
-msgstr "一个用于编辑和执行R程序的标准文本编辑器。\n"
+msgstr "һ<><D2BB><EFBFBD><EFBFBD><EFBFBD>ڱ༭<DAB1><E0BCAD>ִ<EFBFBD><D6B4>R<EFBFBD><52><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>׼<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><E0BCAD><EFBFBD><EFBFBD>\n"
#: editor.c:555
msgid "RUNNING COMMANDS\n"
-msgstr "执行命令\n"
+msgstr "ִ<><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: editor.c:556
msgid "To run a line or section of R code, select the code and either\n"
-msgstr "要执行一行或一段R的代码, 先选择所需要的代码,然后再\n"
+msgstr "Ҫִ<D2AA><D6B4>һ<EFBFBD>л<EFBFBD>һ<EFBFBD><D2BB>R<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>, <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ĵ<EFBFBD><C4B4>룬Ȼ<EBA3AC><C8BB><EFBFBD><EFBFBD>\n"
#: editor.c:557
msgid " Press Ctrl-R\n"
-msgstr " 按Ctrl-R\n"
+msgstr " <20><>Ctrl-R\n"
#: editor.c:558
msgid " Select \"Run line or selection\" from the \"Edit\" menu\n"
-msgstr " 从\"Edit\"菜单中选择\"Run line or selection\"\n"
+msgstr " <20><>\"Edit\"<22>˵<EFBFBD><CBB5><EFBFBD>ѡ<EFBFBD><D1A1>\"Run line or selection\"\n"
#: editor.c:559
msgid " Press the \"Run line or selection\" icon on the toolbar\n"
-msgstr " 按工具栏上的\"Run line or selection\"按钮\n"
+msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>\"Run line or selection\"<22><>ť\n"
#: editor.c:560
msgid ""
"This will copy the selected commands to the console and evaluate them.\n"
-msgstr "这会把选择了的命令复制到控制台来执行这些命令。\n"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD>\n"
#: editor.c:561
msgid ""
"If there is no selection, this will just run the current line and advance\n"
-msgstr "如果没有选择的话,目前所在行的命令会被执行\n"
+msgstr "<22><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ѡ<EFBFBD><D1A1><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᱻִ<E1B1BB><D6B4>\n"
#: editor.c:562
msgid "the cursor by one line.\n"
-msgstr "光标一行。\n"
+msgstr "<22><><EFBFBD><EFBFBD>һ<EFBFBD>С<EFBFBD>\n"
#: editor.c:574 editor.c:649 editor.c:710
msgid "Run line or selection"
-msgstr "执行行或选择项"
+msgstr "ִ<><D6B4><EFBFBD>л<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>"
#: editor.c:576 editor.c:695
msgid "Undo"
-msgstr "取消"
+msgstr "ȡ<><C8A1>"
#: editor.c:578 editor.c:698
msgid "Cut"
-msgstr "切割"
+msgstr "<22>и<EFBFBD>"
#: editor.c:579 editor.c:700 pager.c:290 pager.c:463 rui.c:775 rui.c:978
#: rui.c:1035
msgid "Copy"
-msgstr "复制"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: editor.c:580 editor.c:702 rui.c:776 rui.c:982 rui.c:1036
msgid "Paste"
-msgstr "粘贴"
+msgstr "ճ<><D5B3>"
#: editor.c:581 editor.c:704
msgid "Delete"
-msgstr "删除"
+msgstr "ɾ<><C9BE>"
#: editor.c:583 editor.c:706 pager.c:293 pager.c:469 rui.c:782 rui.c:1040
msgid "Select all"
-msgstr "选择一切"
+msgstr "ѡ<><D1A1>һ<EFBFBD><D2BB>"
#: editor.c:641 pager.c:416 rui.c:966
msgid "Open script"
-msgstr "打开程序脚本"
+msgstr "<22>򿪳<EFBFBD><F2BFAAB3><EFBFBD><EFBFBD>ű<EFBFBD>"
#: editor.c:645
msgid "Save script"
-msgstr "保存程序脚本"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD>"
#: editor.c:653 pager.c:436 ../library/grDevices/src/devWindows.c:1508
msgid "Return focus to Console"
-msgstr "集中焦点到控制台"
+msgstr "<22><><EFBFBD>н<EFBFBD><D0BD><EFBFBD><E3B5BD><EFBFBD><EFBFBD>̨"
#: editor.c:656
msgid "Print script"
-msgstr "打印程序脚本"
+msgstr "<22><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD>"
#: editor.c:658 pager.c:431 rui.c:994
#: ../library/grDevices/src/devWindows.c:1502
msgid "Print"
-msgstr "打印"
+msgstr "<22><>ӡ"
#: editor.c:677 pager.c:453 rui.c:1015
msgid "New script"
-msgstr "建立新的程序脚本"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>µij<C2B5><C4B3><EFBFBD><EFBFBD>ű<EFBFBD>"
#: editor.c:679 pager.c:454 rui.c:1016
msgid "Open script..."
-msgstr "打开程序脚本..."
+msgstr "<22>򿪳<EFBFBD><F2BFAAB3><EFBFBD><EFBFBD>ű<EFBFBD>..."
#: editor.c:681 preferences.c:788
msgid "Save"
-msgstr "保存"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: editor.c:683
msgid "Save as..."
-msgstr "保存为..."
+msgstr "<22><><EFBFBD><EFBFBD>Ϊ..."
#: editor.c:686 pager.c:455 rui.c:1029
#: ../library/grDevices/src/devWindows.c:1598
msgid "Print..."
-msgstr "打印..."
+msgstr "<22><>ӡ..."
#: editor.c:689
msgid "Close script"
-msgstr "关闭程序脚本"
+msgstr "<22>رճ<D8B1><D5B3><EFBFBD><EFBFBD>ű<EFBFBD>"
#: editor.c:708 rui.c:1041
msgid "Clear console"
-msgstr "清除控制台"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨"
#: editor.c:712
msgid "Run all"
-msgstr "执行一切"
+msgstr "ִ<><D6B4>һ<EFBFBD><D2BB>"
#: editor.c:715
msgid "Find..."
-msgstr "查找..."
+msgstr "<22><><EFBFBD><EFBFBD>..."
#: editor.c:717
msgid "Replace..."
-msgstr "替换..."
+msgstr "<22>滻..."
#: editor.c:720 rui.c:1045
msgid "GUI preferences..."
-msgstr "GUI选项..."
+msgstr "GUIѡ<49><D1A1>..."
#: editor.c:731
msgid "Editor"
-msgstr "编辑器"
+msgstr "<22><EFBFBD><E0BCAD>"
#: editor.c:788
msgid "Maximum number of editors reached"
-msgstr "编辑器数量太多"
+msgstr "<22><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>"
#: editor.c:793
msgid "Unable to create editor window"
-msgstr "无法建立编辑器窗口"
+msgstr "<22>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: editor.c:802
msgid "Untitled"
-msgstr "未命名"
+msgstr "δ<><CEB4><EFBFBD><EFBFBD>"
#: extra.c:804 preferences.c:790 graphapp/dialogs.c:505 graphapp/dialogs.c:600
msgid "OK"
-msgstr "确定"
+msgstr "ȷ<><C8B7>"
#: extra.c:805 preferences.c:791 graphapp/dialogs.c:479 graphapp/dialogs.c:503
#: graphapp/dialogs.c:509 graphapp/dialogs.c:584 graphapp/dialogs.c:598
#: graphapp/dialogs.c:604
msgid "Cancel"
-msgstr "取消"
+msgstr "ȡ<><C8A1>"
#: pager.c:78
msgid "Error opening file"
-msgstr "打开文件时出错"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>"
#: pager.c:85
msgid "Insufficient memory to display file in internal pager"
-msgstr "用内部页面调度程序来显示文件时内存不够"
+msgstr "<22><><EFBFBD>ڲ<EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>ڴ治<DAB4><E6B2BB>"
#: pager.c:164 pager.c:176 pager.c:196 rui.c:225 rui.c:252
msgid "No selection"
-msgstr "没有选择"
+msgstr "û<><C3BB>ѡ<EFBFBD><D1A1>"
#: pager.c:291 pager.c:421 pager.c:465
msgid "Paste to console"
-msgstr "粘贴到控制台"
+msgstr "ճ<><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨"
#: pager.c:292 pager.c:426 pager.c:467
msgid "Paste commands to console"
-msgstr "粘贴命令到控制台"
+msgstr "ճ<><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB5BD><EFBFBD><EFBFBD>̨"
#: pager.c:457 rui.c:1030
msgid "Save to File..."
-msgstr "保存到文件..."
+msgstr "<22><><EFBFBD><EFBFBD>ļ<EFBFBD>..."
#: pager.c:472
msgid "View"
-msgstr "看"
+msgstr "<22><>"
#: pager.c:501
msgid "Unable to create pager window"
-msgstr "无法建立页面调度程序窗口"
+msgstr "<22>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><C8B3>򴰿<EFBFBD>"
#: preferences.c:243
msgid ""
@@ -548,9 +548,9 @@ msgid ""
"\n"
"Save the preferences and restart Rgui to apply them.\n"
msgstr ""
-"不能在控制台在运行的时候改变其性能\n"
+"<22><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"\n"
-"存储设置后重新启动Rgui。\n"
+"<22><EFBFBD><E6B4A2><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Rgui<75><69>\n"
#: preferences.c:247
msgid ""
@@ -559,418 +559,417 @@ msgid ""
"\n"
"Save the preferences and restart Rgui to apply to menus.\n"
msgstr ""
-"菜单的语言不能控制台运行的时候变化\n"
+"<22>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>ܿ<EFBFBD><DCBF><EFBFBD>̨<EFBFBD><CCA8><EFBFBD>е<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>仯\n"
"\n"
-"在存储设置后重新启动Rgui才能改变菜单。\n"
+"<22>ڴ洢<DAB4><E6B4A2><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Rgui<75><69><EFBFBD>ܸı<DCB8><C4B1>˵<EFBFBD><CBB5><EFBFBD>\n"
#: preferences.c:316
msgid "Changes in pager size will not apply to any open pagers"
-msgstr "只能改变新的呼叫器的大小"
+msgstr "ֻ<>ܸı<DCB8><C4B1>µĺ<C2B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С"
#: preferences.c:322
msgid ""
"Do not change pager type if any pager is open\n"
"Proceed?"
-msgstr ""
-"如果有正在运行的呼叫器的话,请不要改动呼叫器的种类\n"
-"继续吗?"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>벻Ҫ<EBB2BB>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
+"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: preferences.c:349
msgid "Select directory for file 'Rconsole'"
-msgstr "为文件Rconsole选择目录"
+msgstr "Ϊ<>ļ<EFBFBD>Rconsoleѡ<65><D1A1>Ŀ¼"
#: preferences.c:440
msgid "Select 'Rconsole' file"
-msgstr "选择'Rconsole'文件"
+msgstr "ѡ<><D1A1>'Rconsole'<27>ļ<EFBFBD>"
#: preferences.c:635
#, c-format
msgid "Error at line %d of file %s"
-msgstr "文件%2$s的第%1$d行出错"
+msgstr "<22>ļ<EFBFBD>%2$s<>ĵ<EFBFBD>%1$d<>г<EFBFBD><D0B3><EFBFBD>"
#: preferences.c:678
msgid "Rgui Configuration Editor"
-msgstr "Rgui配置编辑器"
+msgstr "Rgui<75><69><EFBFBD>ñ༭<C3B1><E0BCAD>"
#: preferences.c:787
msgid "Apply"
-msgstr "应用"
+msgstr "Ӧ<><D3A6>"
#: preferences.c:789
msgid "Load"
-msgstr "载入"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: rui.c:124
msgid "Select file to source"
-msgstr "选择要输入的程序文件"
+msgstr "ѡ<><D1A1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ļ<EFBFBD>"
#: rui.c:145
msgid "Select image to load"
-msgstr "选择要载入的映像"
+msgstr "ѡ<><D1A1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>"
#: rui.c:160
msgid "Save image in"
-msgstr "保存映像到"
+msgstr "<22><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>"
#: rui.c:175
msgid "Load history from"
-msgstr "载入历史于"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7>"
#: rui.c:184
msgid "Save history in"
-msgstr "保存历史到"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7>"
#: rui.c:234 rui.c:243
msgid "No text available"
-msgstr "没有文本"
+msgstr "û<><C3BB><EFBFBD>ı<EFBFBD>"
#: rui.c:292
msgid "Name of data frame or matrix"
-msgstr "数据框或矩阵名"
+msgstr "<22><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:299
#, c-format
msgid "'%s' cannot be found"
-msgstr "找不到'%s'"
+msgstr "<22>Ҳ<EFBFBD><D2B2><EFBFBD>'%s'"
#: rui.c:365
msgid "Are you sure?"
-msgstr "你肯定吗?"
+msgstr "<22><><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>?"
#: rui.c:446
msgid "Help on"
-msgstr "帮助于"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:497
msgid "Search help"
-msgstr "查找帮助"
+msgstr "<22><><EFBFBD>Ұ<EFBFBD><D2B0><EFBFBD>"
#: rui.c:512
msgid "Search for words in help list archives and documentation"
-msgstr "搜索邮件列表档案和文档"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>"
#: rui.c:527
msgid "Apropos"
-msgstr "关于"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: rui.c:771
msgid "Can only drag-and-drop .R, .RData and .rda files"
-msgstr "鼠标拉-放只适用于.R.RData和.rda后缀的文件"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.R<><52>.RData<74><61>.rda<64><61>׺<EFBFBD><D7BA><EFBFBD>ļ<EFBFBD>"
#: rui.c:777 rui.c:1037
msgid "Paste commands only"
-msgstr "只能用粘贴命令"
+msgstr "ֻ<><D6BB><EFBFBD><EFBFBD>ճ<EFBFBD><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:778 rui.c:986
msgid "Copy and paste"
-msgstr "复制和粘贴"
+msgstr "<22><><EFBFBD>ƺ<EFBFBD>ճ<EFBFBD><D5B3>"
#: rui.c:780
msgid "Clear window"
-msgstr "清除窗口"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:784 rui.c:1054
msgid "Buffered output"
-msgstr "缓冲输出"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:824
msgid "Packages"
-msgstr "程序包"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:825
msgid "Load package..."
-msgstr "载入程序包..."
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
#: rui.c:827
msgid "Set CRAN mirror..."
-msgstr "设定CRAN镜像..."
+msgstr "<22>趨CRAN<41><4E><EFBFBD><EFBFBD>..."
#: rui.c:829
msgid "Select repositories..."
-msgstr "选择存放处..."
+msgstr "ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>..."
#: rui.c:831
msgid "Install package(s)..."
-msgstr "安装程序包..."
+msgstr "<22><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
#: rui.c:833
msgid "Update packages..."
-msgstr "更新程序包..."
+msgstr "<22><><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD>..."
#: rui.c:836
msgid "Install package(s) from local zip files..."
-msgstr "用本机的zip文件来安装程序包..."
+msgstr "<22>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>zip<69>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
#: rui.c:864
msgid "FAQ on R"
-msgstr "关于R的FAQ"
+msgstr "<22><><EFBFBD><EFBFBD>R<EFBFBD><52>FAQ"
#: rui.c:866
msgid "FAQ on R for &Windows"
-msgstr "关于Windows上R的FAQ"
+msgstr "<22><><EFBFBD><EFBFBD>Windows<77><73>R<EFBFBD><52>FAQ"
#: rui.c:872 rui.c:875
msgid "Manuals (in PDF)"
-msgstr "手册(PDF文件)"
+msgstr "<22>ֲ<EFBFBD>(PDF<44>ļ<EFBFBD>)"
#: rui.c:902
msgid "R functions (text)..."
-msgstr "R函数(文本文件)..."
+msgstr "R<><52><EFBFBD><EFBFBD>(<28>ı<EFBFBD><C4B1>ļ<EFBFBD>)..."
#: rui.c:904
msgid "Html help"
-msgstr "Html帮助"
+msgstr "Html<6D><6C><EFBFBD><EFBFBD>"
#: rui.c:906
msgid "Search help..."
-msgstr "查找帮助..."
+msgstr "<22><><EFBFBD>Ұ<EFBFBD><D2B0><EFBFBD>..."
#: rui.c:911
msgid "Apropos..."
-msgstr "关于..."
+msgstr "<22><><EFBFBD><EFBFBD>..."
#: rui.c:913
msgid "R Project home page"
-msgstr "R主页"
+msgstr "R<><52>ҳ"
#: rui.c:914
msgid "CRAN home page"
-msgstr "CRAN主页"
+msgstr "CRAN<41><4E>ҳ"
#: rui.c:916
msgid "About"
-msgstr "关于"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: rui.c:970
msgid "Load image"
-msgstr "载入映像"
+msgstr "<22><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>"
#: rui.c:974
msgid "Save image"
-msgstr "保存映像"
+msgstr "<22><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>"
#: rui.c:990
msgid "Stop current computation"
-msgstr "中断目前的计算"
+msgstr "<22>ж<EFBFBD>Ŀǰ<C4BF>ļ<EFBFBD><C4BC><EFBFBD>"
#: rui.c:1014
msgid "Source R code..."
-msgstr "输入R代码..."
+msgstr "<22><><EFBFBD><EFBFBD>R<EFBFBD><52><EFBFBD><EFBFBD>..."
#: rui.c:1017
msgid "Display file(s)..."
-msgstr "显示文件..."
+msgstr "<22><>ʾ<EFBFBD>ļ<EFBFBD>..."
#: rui.c:1019
msgid "Load Workspace..."
-msgstr "载入工作空间..."
+msgstr "<22><><EFBFBD><EFBFBD><EBB9A4><EFBFBD>ռ<EFBFBD>..."
#: rui.c:1020
msgid "Save Workspace..."
-msgstr "保存工作空间..."
+msgstr "<22><><EFBFBD><EFBFBD><E6B9A4><EFBFBD>ռ<EFBFBD>..."
#: rui.c:1022
msgid "Load History..."
-msgstr "载入历史..."
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ..."
#: rui.c:1024
msgid "Save History..."
-msgstr "保存历史..."
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ..."
#: rui.c:1027
msgid "Change dir..."
-msgstr "改变当前目录..."
+msgstr "<22>ı䵱ǰĿ¼..."
#: rui.c:1032
msgid "Exit"
-msgstr "退出"
+msgstr "<22>˳<EFBFBD>"
#: rui.c:1039
msgid "Copy and Paste"
-msgstr "复制和粘贴"
+msgstr "<22><><EFBFBD>ƺ<EFBFBD>ճ<EFBFBD><D5B3>"
#: rui.c:1043
msgid "Data editor..."
-msgstr "数据编辑器..."
+msgstr "<22><><EFBFBD>ݱ༭<DDB1><E0BCAD>..."
#: rui.c:1047
msgid "Misc"
-msgstr "其他"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: rui.c:1048
msgid "Stop current computation \tESC"
-msgstr "中断目前的计算 \tESC"
+msgstr "<22>ж<EFBFBD>Ŀǰ<C4BF>ļ<EFBFBD><C4BC><EFBFBD> \tESC"
#: rui.c:1050
msgid "Stop all computations"
-msgstr "中断所有计算"
+msgstr "<22>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>"
#: rui.c:1052
msgid "Break to debugger"
-msgstr "暂停进入到侦错器"
+msgstr "<22><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EBB5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:1056
msgid "List objects"
-msgstr "列出目标对象"
+msgstr "<22>г<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:1057
msgid "Remove all objects"
-msgstr "删除所有的目标对象"
+msgstr "ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:1058
msgid "List &search path"
-msgstr "列出查找路径"
+msgstr "<22>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>"
#: rui.c:1066
msgid "Console"
-msgstr "控制台"
+msgstr "<22><><EFBFBD><EFBFBD>̨"
#: rui.c:1103
msgid "Select file"
-msgstr "选择文件"
+msgstr "ѡ<><D1A1><EFBFBD>ļ<EFBFBD>"
#: rui.c:1146
msgid "'mname' is limited to 1000 bytes"
-msgstr "'mname'的长度最多只能有1000个字符"
+msgstr "'mname'<27>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>1000<30><30><EFBFBD>ַ<EFBFBD>"
#: rui.c:1188
#, c-format
msgid "menu %s does not exist"
-msgstr "没有%s这样的菜单"
+msgstr "û<><C3BB>%s<><73><EFBFBD><EFBFBD><EFBFBD>IJ˵<C4B2>"
#: rui.c:1242
msgid "'menu' is limited to 500 bytes"
-msgstr "'menu'的长度最多只能有500个字符"
+msgstr "'menu'<27>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>500<30><30><EFBFBD>ַ<EFBFBD>"
#: rui.c:1252
msgid "base menu does not exist"
-msgstr "基本菜单不存在"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: rui.c:1267
msgid "failed to allocate menu"
-msgstr "无法配置菜单"
+msgstr "<22>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ò˵<C3B2>"
#: rui.c:1283 rui.c:1404
msgid "menu + item is limited to 1000 bytes"
-msgstr "菜?项目的长度只能在1000个字符内"
+msgstr "<22>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>1000<30><30><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>"
#: rui.c:1291 rui.c:1373
msgid "menu does not exist"
-msgstr "没有这一菜单"
+msgstr "û<><C3BB><EFBFBD><EFBFBD>һ<EFBFBD>˵<EFBFBD>"
#: rui.c:1309 rui.c:1332 rui.c:1337
msgid "failed to allocate char storage"
-msgstr "配置字符储存器失败"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>"
#: rui.c:1345
msgid "failed to allocate menuitem"
-msgstr "配置菜单项失败"
+msgstr "<22><><EFBFBD>ò˵<C3B2><CBB5><EFBFBD>ʧ<EFBFBD><CAA7>"
#: rui.c:1394
msgid "menu not found"
-msgstr "找不到菜单"
+msgstr "<22>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>˵<EFBFBD>"
#: rui.c:1412
msgid "menu or item does not exist"
-msgstr "菜单或者项目不存在"
+msgstr "<22>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: system.c:400
msgid "Save workspace image?"
-msgstr "保存工作空间映像?"
+msgstr "<22><><EFBFBD><EFBFBD><E6B9A4><EFBFBD>ռ<EFBFBD>ӳ<EFBFBD><D3B3>?"
#: graphapp/clipboard.c:70 graphapp/clipboard.c:74
msgid "Insufficient memory: cell not copied to the clipboard"
-msgstr "内存不够: 字元格没有复制到剪贴板"
+msgstr "<22>ڴ治<DAB4><E6B2BB>: <20><>Ԫ<EFBFBD><D4AA>û<EFBFBD>и<EFBFBD><D0B8>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: graphapp/dialogs.c:135 graphapp/dialogs.c:152 graphapp/dialogs.c:169
msgid "Question"
-msgstr "问题"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: graphapp/dialogs.c:189
msgid " Change working directory to:"
-msgstr " 当前目录改成:"
+msgstr " <20><>ǰĿ¼<C4BF>ijɣ<C4B3>"
#: graphapp/dialogs.c:192
#, c-format
msgid "Unable to set '%s' as working directory"
-msgstr "无法将'%s'设成当前目录"
+msgstr "<22>޷<EFBFBD><DEB7><EFBFBD>'%s'<27><><EFBFBD>ɵ<EFBFBD>ǰĿ¼"
#: graphapp/dialogs.c:400
msgid "Choose a folder"
-msgstr "选一个文件夹"
+msgstr "ѡһ<D1A1><D2BB><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>"
#: graphapp/dialogs.c:492 graphapp/dialogs.c:494
msgid "Browse"
-msgstr "浏览"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: graphapp/dialogs.c:592
msgid "User"
-msgstr "用户"
+msgstr "<22>û<EFBFBD>"
#: graphapp/dialogs.c:593
msgid "Password"
-msgstr "密码"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: graphapp/dialogs.c:754 graphapp/dialogs.c:760
#, c-format
msgid "\"%s\" not found"
-msgstr "找不到\"%s\""
+msgstr "<22>Ҳ<EFBFBD><D2B2><EFBFBD>\"%s\""
#: graphapp/gmenus.c:48
msgid "Windows"
-msgstr "窗口"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: graphapp/gmenus.c:49
msgid "Cascade"
-msgstr "层叠"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: graphapp/gmenus.c:50
msgid "Tile"
-msgstr "平铺"
+msgstr "ƽ<><C6BD>"
#: graphapp/gmenus.c:51
msgid "Arrange Icons"
-msgstr "安排按钮"
+msgstr "<22><><EFBFBD>Ű<EFBFBD>ť"
#: ../library/grDevices/src/devWindows.c:848
msgid "Png files (*.png)"
-msgstr "Png文件(*.png)"
+msgstr "Png<6E>ļ<EFBFBD>(*.png)"
#: ../library/grDevices/src/devWindows.c:849
msgid "Portable network graphics file"
-msgstr "Portable network graphics文件"
+msgstr "Portable network graphics<63>ļ<EFBFBD>"
#: ../library/grDevices/src/devWindows.c:851
msgid "Windows bitmap files (*.bmp)"
-msgstr "Windows bitmap文件(*.bmp)"
+msgstr "Windows bitmap<61>ļ<EFBFBD>(*.bmp)"
#: ../library/grDevices/src/devWindows.c:852
msgid "Windows bitmap file"
-msgstr "Windows bitmap文件"
+msgstr "Windows bitmap<61>ļ<EFBFBD>"
#: ../library/grDevices/src/devWindows.c:854
msgid "Jpeg files (*.jpeg,*jpg)"
-msgstr "Jpeg文件(*.jpeg,*jpg)"
+msgstr "Jpeg<65>ļ<EFBFBD>(*.jpeg,*jpg)"
#: ../library/grDevices/src/devWindows.c:855
msgid "Jpeg file"
-msgstr "Jpeg文件"
+msgstr "Jpeg<65>ļ<EFBFBD>"
#: ../library/grDevices/src/devWindows.c:875
msgid "Postscript files (*.ps)"
-msgstr "Postscript文件(*.ps)"
+msgstr "Postscript<70>ļ<EFBFBD>(*.ps)"
#: ../library/grDevices/src/devWindows.c:876
msgid "Postscript file"
-msgstr "Postscript文件"
+msgstr "Postscript<70>ļ<EFBFBD>"
#: ../library/grDevices/src/devWindows.c:887
msgid "PDF files (*.pdf)"
-msgstr "PDF文件(*.pdf)"
+msgstr "PDF<44>ļ<EFBFBD>(*.pdf)"
#: ../library/grDevices/src/devWindows.c:888
msgid "PDF file"
-msgstr "PDF文件"
+msgstr "PDF<44>ļ<EFBFBD>"
#: ../library/grDevices/src/devWindows.c:899
msgid "Enhanced metafiles (*.emf)"
@@ -983,53 +982,53 @@ msgstr "Enhanced metafiles"
#: ../library/grDevices/src/devWindows.c:903
#: ../library/grDevices/src/devWindows.c:2721
msgid "file path selected is too long: only 512 bytes are allowed"
-msgstr "选择的文件路径太长最多只能有512字节"
+msgstr "ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>512<31>ֽ<EFBFBD>"
#: ../library/grDevices/src/devWindows.c:1119
msgid "No plot to replace!"
-msgstr "没有可替换的图表!"
+msgstr "û<>п<EFBFBD><D0BF><EFBFBD><E6BBBB>ͼ<EFBFBD><CDBC>!"
#: ../library/grDevices/src/devWindows.c:1165
msgid "Variable name"
-msgstr "变量名"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: ../library/grDevices/src/devWindows.c:1172
msgid "Variable doesn't exist or doesn't contain any plots!"
-msgstr "变量不存在或不包含任何图表!"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ򲻰<DABB><F2B2BBB0><EFBFBD><EFBFBD>κ<EFBFBD>ͼ<EFBFBD><CDBC>!"
#: ../library/grDevices/src/devWindows.c:1188
msgid "Name of variable to save to"
-msgstr "要保存到的变量名"
+msgstr "Ҫ<><D2AA><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>"
#: ../library/grDevices/src/devWindows.c:1496
msgid "Copy to the clipboard as a metafile"
-msgstr "作为metafile复制到剪贴板"
+msgstr "<22><>Ϊmetafile<6C><65><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: ../library/grDevices/src/devWindows.c:1514
#: ../library/grDevices/src/devWindows.c:1525
msgid "Stop locator"
-msgstr "停止定位器"
+msgstr "ֹͣ<CDA3><D6B9>λ<EFBFBD><CEBB>"
#: ../library/grDevices/src/devWindows.c:1524
#: ../library/grDevices/src/devWindows.c:1528
msgid "Stop"
-msgstr "停止"
+msgstr "ֹͣ"
#: ../library/grDevices/src/devWindows.c:1530
msgid "Continue"
-msgstr "继续"
+msgstr "<22><><EFBFBD><EFBFBD>"
#: ../library/grDevices/src/devWindows.c:1534
msgid "Next"
-msgstr "下一个"
+msgstr "<22><>һ<EFBFBD><D2BB>"
#: ../library/grDevices/src/devWindows.c:1535
msgid "Next plot"
-msgstr "下一个图表"
+msgstr "<22><>һ<EFBFBD><D2BB>ͼ<EFBFBD><CDBC>"
#: ../library/grDevices/src/devWindows.c:1541
msgid "Save as"
-msgstr "保存为"
+msgstr "<22><><EFBFBD><EFBFBD>Ϊ"
#: ../library/grDevices/src/devWindows.c:1542
msgid "Metafile..."
@@ -1057,115 +1056,116 @@ msgstr "Jpeg"
#: ../library/grDevices/src/devWindows.c:1548
msgid "50% quality..."
-msgstr "50% 印刷质量..."
+msgstr "50% ӡˢ<D3A1><CBA2><EFBFBD><EFBFBD>..."
#: ../library/grDevices/src/devWindows.c:1549
msgid "75% quality..."
-msgstr "75% 印刷质量..."
+msgstr "75% ӡˢ<D3A1><CBA2><EFBFBD><EFBFBD>..."
#: ../library/grDevices/src/devWindows.c:1550
msgid "100% quality..."
-msgstr "100% 印刷质量..."
+msgstr "100% ӡˢ<D3A1><CBA2><EFBFBD><EFBFBD>..."
#: ../library/grDevices/src/devWindows.c:1551
msgid "Copy to the clipboard"
-msgstr "复制到剪贴板"
+msgstr "<22><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: ../library/grDevices/src/devWindows.c:1552
msgid "as a Bitmap\tCTRL+C"
-msgstr "为Bitmap\tCTRL+C"
+msgstr "ΪBitmap\tCTRL+C"
#: ../library/grDevices/src/devWindows.c:1553
msgid "as a Metafile\tCTRL+W"
-msgstr "为Metafile\tCTRL+W"
+msgstr "ΪMetafile\tCTRL+W"
#: ../library/grDevices/src/devWindows.c:1556
msgid "Print...\tCTRL+P"
-msgstr "打印...\tCTRL+P"
+msgstr "<22><>ӡ...\tCTRL+P"
#: ../library/grDevices/src/devWindows.c:1558
msgid "close Device"
-msgstr "关闭设备"
+msgstr "<22>ر<EFBFBD><D8B1>豸"
#: ../library/grDevices/src/devWindows.c:1559
msgid "History"
-msgstr "历史"
+msgstr "<22><>ʷ"
#: ../library/grDevices/src/devWindows.c:1560
msgid "Recording"
-msgstr "记录"
+msgstr "<22><>¼"
#: ../library/grDevices/src/devWindows.c:1563
msgid "Add\tINS"
-msgstr "加入\tINS"
+msgstr "<22><><EFBFBD><EFBFBD>\tINS"
#: ../library/grDevices/src/devWindows.c:1564
msgid "Replace"
-msgstr "替换"
+msgstr "<22>滻"
#: ../library/grDevices/src/devWindows.c:1566
msgid "Previous\tPgUp"
-msgstr "上一个\tPgUp"
+msgstr "<22><>һ<EFBFBD><D2BB>\tPgUp"
#: ../library/grDevices/src/devWindows.c:1567
msgid "Next\tPgDown"
-msgstr "下一个\tPgDown"
+msgstr "<22><>һ<EFBFBD><D2BB>\tPgDown"
#: ../library/grDevices/src/devWindows.c:1569
msgid "Save to variable..."
-msgstr "保存到变量..."
+msgstr "<22><><EFBFBD><EFBFBD><E6B5BD><EFBFBD><EFBFBD>..."
#: ../library/grDevices/src/devWindows.c:1570
msgid "Get from variable..."
-msgstr "取于变量..."
+msgstr "ȡ<>ڱ<EFBFBD><DAB1><EFBFBD>..."
#: ../library/grDevices/src/devWindows.c:1572
msgid "Clear history"
-msgstr "清除历史"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ"
#: ../library/grDevices/src/devWindows.c:1573
msgid "Resize"
-msgstr "重设大小"
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С"
#: ../library/grDevices/src/devWindows.c:1574
msgid "R mode"
-msgstr "R模式"
+msgstr "Rģʽ"
#: ../library/grDevices/src/devWindows.c:1576
msgid "Fit to window"
-msgstr "变为与窗口同样大小"
+msgstr "<22><>Ϊ<EFBFBD><EFBFBD><EBB4B0>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>С"
#: ../library/grDevices/src/devWindows.c:1578
msgid "Fixed size"
-msgstr "固定的大小"
+msgstr "<22>̶<EFBFBD><CCB6>Ĵ<EFBFBD>С"
#: ../library/grDevices/src/devWindows.c:1585
msgid "Copy as metafile"
-msgstr "复制成metafile"
+msgstr "<22><><EFBFBD>Ƴ<EFBFBD>metafile"
#: ../library/grDevices/src/devWindows.c:1587
msgid "Copy as bitmap"
-msgstr "复制成bitmap"
+msgstr "<22><><EFBFBD>Ƴ<EFBFBD>bitmap"
#: ../library/grDevices/src/devWindows.c:1590
msgid "Save as metafile..."
-msgstr "保存成metafile..."
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>metafile..."
#: ../library/grDevices/src/devWindows.c:1592
msgid "Save as postscript..."
-msgstr "保存成postscript..."
+msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>postscript..."
#: ../library/grDevices/src/devWindows.c:2456
msgid "Locator is active"
-msgstr "定位器待用"
+msgstr "<22><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: ../library/grDevices/src/devWindows.c:3032
msgid "Waiting to confirm page change..."
-msgstr "等待页面改变的确认..."
+msgstr "<22>ȴ<EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ȷ<EFBFBD><C8B7>..."
#: ../library/grDevices/src/devWindows.c:3044
msgid "Click or hit ENTER for next page"
-msgstr "按ENTER来看下一页"
+msgstr "<22><>ENTER<45><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һҳ"
#~ msgid "Select working directory"
-#~ msgstr "选择当前目录"
+#~ msgstr "ѡ<><D1A1><EFBFBD><EFBFBD>ǰĿ¼"
+
diff -urp R-2.4.0.old/po/R.pot R-2.4.0/po/R.pot
--- R-2.4.0.old/po/R.pot 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/R.pot 2006-10-28 14:36:11.000000000 -0500
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -83,7 +83,7 @@ msgstr ""
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -128,7 +128,7 @@ msgstr ""
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -472,7 +472,7 @@ msgid "second argument must be a list"
msgstr ""
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr ""
@@ -1134,7 +1134,7 @@ msgstr ""
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr ""
@@ -1267,156 +1267,156 @@ msgstr ""
msgid "the first argument must be a character vector"
msgstr ""
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr ""
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr ""
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr ""
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr ""
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr ""
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr ""
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr ""
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr ""
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr ""
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr ""
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr ""
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr ""
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr ""
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr ""
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr ""
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr ""
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr ""
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr ""
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr ""
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr ""
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr ""
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr ""
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
msgstr ""
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr ""
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr ""
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr ""
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr ""
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr ""
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr ""
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr ""
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr ""
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr ""
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr ""
@@ -5407,7 +5407,7 @@ msgstr ""
msgid "no input is available"
msgstr ""
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6017,7 +6017,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr ""
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr ""
@@ -6053,19 +6053,19 @@ msgstr ""
msgid "only 0's may be mixed with negative subscripts"
msgstr ""
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr ""
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr ""
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr ""
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr ""
Binary files R-2.4.0.old/po/ru.gmo and R-2.4.0/po/ru.gmo differ
diff -urp R-2.4.0.old/po/ru.po R-2.4.0/po/ru.po
--- R-2.4.0.old/po/ru.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/ru.po 2006-10-28 14:36:09.000000000 -0500
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-09-25 03:23-0800\n"
"Last-Translator: Alexey Shipunov <iit512@yandex.ru>\n"
"Language-Team: Russian\n"
@@ -87,7 +87,7 @@ msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'names' <20> R_unlink"
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -132,7 +132,7 @@ msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'names' <20> R_unlink"
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -478,7 +478,7 @@ msgid "second argument must be a list"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
@@ -1154,7 +1154,7 @@ msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
@@ -1287,113 +1287,113 @@ msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
msgid "the first argument must be a character vector"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "'abbreviate' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>-ASCII <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "<22><>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'allow_'"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s'"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'pattern' <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'replacement' <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "<22><>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (NA) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'old'"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'new'"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 'new'"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr ""
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> agrep() <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UTF-8 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ASCII"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> a <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
@@ -1401,45 +1401,45 @@ msgstr ""
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>\n"
"<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'x' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'multiple' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> TRUE <20><><EFBFBD> FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'shift' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'x' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'x' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'x' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> %d"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'x' <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NA"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'x' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
@@ -5494,7 +5494,7 @@ msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "no input is available"
msgstr "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6123,7 +6123,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (%d) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
@@ -6159,19 +6159,19 @@ msgstr "(subscript) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
msgid "only 0's may be mixed with negative subscripts"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 'CHARSXP'"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'dimnames'"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
Binary files R-2.4.0.old/po/zh_CN.gmo and R-2.4.0/po/zh_CN.gmo differ
diff -urp R-2.4.0.old/po/zh_CN.po R-2.4.0/po/zh_CN.po
--- R-2.4.0.old/po/zh_CN.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/zh_CN.po 2006-10-28 14:36:12.000000000 -0500
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2005-05-20 18:26+0800\n"
"Last-Translator: ronggui\n"
"Language-Team: Chinese\n"
@@ -82,7 +82,7 @@ msgstr "'R_unlink'里的'names不对"
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -127,7 +127,7 @@ msgstr "'R_unlink'里的'names不对"
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -471,7 +471,7 @@ msgid "second argument must be a list"
msgstr "第二个变元必需是串列"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "下标出界"
@@ -1135,7 +1135,7 @@ msgstr "向量size的设定太大了"
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "NULL环境不再有用"
@@ -1268,156 +1268,156 @@ msgstr "split的式样'%s'不对"
msgid "the first argument must be a character vector"
msgstr "第一变元必需是字符向量"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreviate不适用于非ASCII字元"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "不能有非字符名字"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "'allow_'值不对"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "多字节字符串%d有错"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "正规表现不适用于此语言环境"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "正规表现’%s'不对"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "输入的字符串%d不适用于此语言环境"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "正规表现中回转参考%d有错"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern'的值在本语言环境下不对"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement'的值在本语言环境下不对"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "式样长度为0"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "非字符变元不能用于tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "范围设定是不能递减的('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "范围设定是不能递减的('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "(NA)变元不对."
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "多字节字符串'old'有错"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "多字节字符串'new'有错"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old'比'new'要长"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "输入的多字节字符串%d有错"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr "在UTF-8语言环境下agrep()只能对ASCII字符串适用"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "做近似比较时无法分配足够内存"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "无法进行不区分字体大小写的比较"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "变元必需是长度为1的字符向量"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
msgstr "变元应当是长度为1的字节向量除第一个单元外其他所有的单元都略过不用"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "变元'x'必需是原始向量"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "变元'multiple'的值要么是TRUE要么是FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "变元'shift'必需数值不是太大的整数"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "变元'x'必需是整数向量"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "变元'x'必需是原始值, 整数值或逻辑值"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "变元type必需是字符串"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "变元'x'必需是%d值的整倍数"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "变元'x'不能含NA值"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "变元'x'必需是整数向量"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim()需要字符向量"
@@ -5417,7 +5417,7 @@ msgstr "链结书写发生了错误"
msgid "no input is available"
msgstr "没有输入值"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6039,7 +6039,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] 下标(%d)在界限外"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "下标种类不对"
@@ -6075,19 +6075,19 @@ msgstr "(下标)逻辑下标太长"
msgid "only 0's may be mixed with negative subscripts"
msgstr "只有负下标里才能有0"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "字符向量单元没有CHARSXP种类"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "陈列中没有'dimnames'这一属性"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "下标不对"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "非向量不能有下标"
Binary files R-2.4.0.old/po/zh_TW.gmo and R-2.4.0/po/zh_TW.gmo differ
diff -urp R-2.4.0.old/po/zh_TW.po R-2.4.0/po/zh_TW.po
--- R-2.4.0.old/po/zh_TW.po 2006-09-26 21:05:18.000000000 -0500
+++ R-2.4.0/po/zh_TW.po 2006-10-28 14:36:12.000000000 -0500
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: R 2.3.0\n"
"Report-Msgid-Bugs-To: bugs@R-project.org\n"
-"POT-Creation-Date: 2006-09-26 14:32+0100\n"
+"POT-Creation-Date: 2006-10-24 15:53+0100\n"
"PO-Revision-Date: 2006-04-14 22:49+0800\n"
"Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -84,7 +84,7 @@ msgstr "R_unlink 的 'names' 無效"
#: src/gnuwin32/extra.c:758 src/gnuwin32/extra.c:761 src/gnuwin32/extra.c:766
#: src/main/builtin.c:127 src/main/builtin.c:385 src/main/builtin.c:401
#: src/main/character.c:116 src/main/character.c:119 src/main/character.c:158
-#: src/main/character.c:2432 src/main/character.c:2436
+#: src/main/character.c:2434 src/main/character.c:2438
#: src/main/connections.c:822 src/main/connections.c:828
#: src/main/connections.c:831 src/main/connections.c:835
#: src/main/connections.c:958 src/main/connections.c:964
@@ -129,7 +129,7 @@ msgstr "R_unlink 的 'names' 無效"
#: src/main/print.c:176 src/main/print.c:182 src/main/print.c:204
#: src/main/print.c:210 src/main/random.c:465 src/main/random.c:469
#: src/main/random.c:471 src/main/random.c:473 src/main/saveload.c:2076
-#: src/main/saveload.c:2341 src/main/saveload.c:2390 src/main/seq.c:346
+#: src/main/saveload.c:2341 src/main/saveload.c:2391 src/main/seq.c:346
#: src/main/seq.c:350 src/main/seq.c:368 src/main/seq.c:375
#: src/main/sysutils.c:396 src/main/sysutils.c:398 src/main/sysutils.c:400
#: src/main/unique.c:576 src/main/util.c:527 src/main/util.c:530
@@ -476,7 +476,7 @@ msgid "second argument must be a list"
msgstr "第二個引數必須是串列"
#: src/include/Errormsg.h:42 src/main/eval.c:2715 src/main/subscript.c:228
-#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:436
+#: src/main/subscript.c:333 src/main/subscript.c:336 src/main/subscript.c:437
msgid "subscript out of bounds"
msgstr "下標超出邊界"
@@ -1142,7 +1142,7 @@ msgstr "指定的向量大小太大"
#: src/main/envir.c:2729 src/main/envir.c:2763 src/main/envir.c:2783
#: src/main/envir.c:3107 src/main/envir.c:3111 src/main/eval.c:3498
#: src/main/objects.c:175 src/main/objects.c:181 src/main/saveload.c:2072
-#: src/main/saveload.c:2338 src/main/saveload.c:2387 src/main/serialize.c:2175
+#: src/main/saveload.c:2338 src/main/saveload.c:2388 src/main/serialize.c:2175
msgid "use of NULL environment is defunct"
msgstr "NULL 環境的使用已經廢止"
@@ -1276,156 +1276,156 @@ msgstr "split 的式樣 '%s' 不正確"
msgid "the first argument must be a character vector"
msgstr "第一引數必須是字元向量"
-#: src/main/character.c:725
+#: src/main/character.c:727
msgid "abbreviate used with non-ASCII chars"
msgstr "abbreviate 不適用於非 ASCII 字元"
-#: src/main/character.c:743
+#: src/main/character.c:745
msgid "non-character names"
msgstr "不能有非字元名稱"
-#: src/main/character.c:747
+#: src/main/character.c:749
msgid "invalid value of 'allow_'"
msgstr "'allow_' 值不正確"
-#: src/main/character.c:808 src/main/character.c:1586
+#: src/main/character.c:810 src/main/character.c:1588
#, c-format
msgid "invalid multibyte string %d"
msgstr "多位元組字串 %d 不正確"
-#: src/main/character.c:889 src/main/character.c:1221
-#: src/main/character.c:1510 src/main/pcre.c:110 src/main/pcre.c:487
+#: src/main/character.c:891 src/main/character.c:1223
+#: src/main/character.c:1512 src/main/pcre.c:110 src/main/pcre.c:487
#: src/main/pcre.c:582
msgid "regular expression is invalid in this locale"
msgstr "正規表示式不適用於此語言環境"
-#: src/main/character.c:911 src/main/character.c:1063
-#: src/main/character.c:1224 src/main/character.c:1513 src/main/pcre.c:117
+#: src/main/character.c:913 src/main/character.c:1065
+#: src/main/character.c:1226 src/main/character.c:1515 src/main/pcre.c:117
#: src/main/pcre.c:332 src/main/pcre.c:492 src/main/pcre.c:587
#, c-format
msgid "invalid regular expression '%s'"
msgstr "正規表示式「%s」不正確"
-#: src/main/character.c:921 src/main/character.c:1239
-#: src/main/character.c:1530 src/main/pcre.c:132 src/main/pcre.c:365
+#: src/main/character.c:923 src/main/character.c:1241
+#: src/main/character.c:1532 src/main/pcre.c:132 src/main/pcre.c:365
#: src/main/pcre.c:507 src/main/pcre.c:610
#, c-format
msgid "input string %d is invalid in this locale"
msgstr "輸入的字串 %d 不適用於此語言環境"
-#: src/main/character.c:976 src/main/pcre.c:187
+#: src/main/character.c:978 src/main/pcre.c:187
#, c-format
msgid "invalid backreference %d in regular expression"
msgstr "正規表示式中向後參考 %d 不正確"
-#: src/main/character.c:1058 src/main/pcre.c:319
+#: src/main/character.c:1060 src/main/pcre.c:319
msgid "'pattern' is invalid in this locale"
msgstr "'pattern' 的值在本語言環境下不正確"
-#: src/main/character.c:1060 src/main/pcre.c:321
+#: src/main/character.c:1062 src/main/pcre.c:321
msgid "'replacement' is invalid in this locale"
msgstr "'replacement' 的值在本語言環境下不正確"
-#: src/main/character.c:1069
+#: src/main/character.c:1071
msgid "zero-length pattern"
msgstr "式樣長度為零"
-#: src/main/character.c:1561
+#: src/main/character.c:1563
msgid "non-character argument to tolower()"
msgstr "非字元引數不能用於 tolower()"
-#: src/main/character.c:1639
+#: src/main/character.c:1641
#, c-format
msgid "decreasing range specification ('%lc-%lc')"
msgstr "正在遞減範圍設定 ('%lc-%lc')"
-#: src/main/character.c:1725
+#: src/main/character.c:1727
#, c-format
msgid "decreasing range specification ('%c-%c')"
msgstr "正在遞減範圍設定 ('%c-%c')"
-#: src/main/character.c:1802
+#: src/main/character.c:1804
msgid "invalid (NA) arguments."
msgstr "(NA) 引數不正確。"
-#: src/main/character.c:1824
+#: src/main/character.c:1826
msgid "invalid multibyte string 'old'"
msgstr "多位元組字串 'old' 不正確"
-#: src/main/character.c:1831
+#: src/main/character.c:1833
msgid "invalid multibyte string 'new'"
msgstr "多位元組字串 'new' 不正確"
-#: src/main/character.c:1850 src/main/character.c:1912
+#: src/main/character.c:1852 src/main/character.c:1914
msgid "'old' is longer than 'new'"
msgstr "'old' 比 'new' 要長"
-#: src/main/character.c:1868
+#: src/main/character.c:1870
#, c-format
msgid "invalid input multibyte string %d"
msgstr "輸入的多位元組字串 %d 不正確"
-#: src/main/character.c:2013
+#: src/main/character.c:2015
msgid "use of agrep() in a UTF-8 locale may only work for ASCII strings"
msgstr "在 UTF-8 語言環境下 agrep() 只能適用於 ASCII 字串"
-#: src/main/character.c:2022
+#: src/main/character.c:2024
msgid "could not allocate memory for approximate matching"
msgstr "做近似比較時無法指派足夠記憶體"
-#: src/main/character.c:2046
+#: src/main/character.c:2048
msgid "could not perform case insensitive matching"
msgstr "無法進行不區分大小寫的比較"
-#: src/main/character.c:2098 src/main/character.c:2333
+#: src/main/character.c:2100 src/main/character.c:2335
msgid "argument must be a character vector of length 1"
msgstr "引數必須是長度為 1 的字元向量"
-#: src/main/character.c:2100 src/main/character.c:2335
+#: src/main/character.c:2102 src/main/character.c:2337
msgid ""
"argument should be a character vector of length 1\n"
"all but the first element will be ignored"
msgstr "引數應當是長度為 1 的字元向量,除第一個字元外其它所有的字元都將忽略"
-#: src/main/character.c:2116 src/main/character.c:2148
-#: src/main/character.c:2169
+#: src/main/character.c:2118 src/main/character.c:2150
+#: src/main/character.c:2171
msgid "argument 'x' must be a raw vector"
msgstr "引數 'x' 必須是常數向量"
-#: src/main/character.c:2119 src/main/character.c:2385
+#: src/main/character.c:2121 src/main/character.c:2387
msgid "argument 'multiple' must be TRUE or FALSE"
msgstr "引數 'multiple' 的值必須是 TRUE 或 FALSE"
-#: src/main/character.c:2150
+#: src/main/character.c:2152
msgid "argument 'shift' must be a small integer"
msgstr "引數 'shift' 必須是小數值的整數"
-#: src/main/character.c:2187
+#: src/main/character.c:2189
msgid "argument 'x' must be a integer vector"
msgstr "引數 'x' 必須是整數向量"
-#: src/main/character.c:2207
+#: src/main/character.c:2209
msgid "argument 'x' must be raw, integer or logical"
msgstr "引數 'x' 必須是純量值、整數值或邏輯值"
-#: src/main/character.c:2209
+#: src/main/character.c:2211
msgid "argument 'type' must be a character string"
msgstr "引數「type」必須是字串"
-#: src/main/character.c:2213
+#: src/main/character.c:2215
#, c-format
msgid "argument 'x' must be a multiple of %d long"
msgstr "引數 'x' 必須是 %d 值的整數倍"
-#: src/main/character.c:2227 src/main/character.c:2242
+#: src/main/character.c:2229 src/main/character.c:2244
msgid "argument 'x' must not contain NAs"
msgstr "引數 'x' 不能含 NA 值"
-#: src/main/character.c:2382
+#: src/main/character.c:2384
msgid "argument 'x' must be an integer vector"
msgstr "引數 'x' 必須是整數向量"
-#: src/main/character.c:2427
+#: src/main/character.c:2429
msgid "strtrim() requires a character vector"
msgstr "strtrim() 需要字元向量"
@@ -5442,7 +5442,7 @@ msgstr "連結寫入發生了錯誤"
msgid "no input is available"
msgstr "沒有可用的輸入"
-#: src/main/saveload.c:2365
+#: src/main/saveload.c:2366
msgid ""
"the input does not start with a magic number compatible with loading from a "
"connection"
@@ -6073,7 +6073,7 @@ msgid "[[ ]] subscript (%d) out of bound
msgstr "[[ ]] 下標 (%d) 在界限外"
#: src/main/subassign.c:1769 src/main/subscript.c:111 src/main/subscript.c:188
-#: src/main/subscript.c:588 src/main/subset.c:923
+#: src/main/subscript.c:589 src/main/subset.c:923
msgid "invalid subscript type"
msgstr "下標類型不正確"
@@ -6109,19 +6109,19 @@ msgstr "(下標) 邏輯下標太長"
msgid "only 0's may be mixed with negative subscripts"
msgstr "只有負數下標中才能有 0"
-#: src/main/subscript.c:410
+#: src/main/subscript.c:411
msgid "character vector element does not have type CHARSXP"
msgstr "字元向量元素沒有 CHARSXP 類型"
-#: src/main/subscript.c:487
+#: src/main/subscript.c:488
msgid "no 'dimnames' attribute for array"
msgstr "陣列中沒有 'dimnames' 此一屬性"
-#: src/main/subscript.c:494
+#: src/main/subscript.c:495
msgid "invalid subscript"
msgstr "下標不正確"
-#: src/main/subscript.c:527
+#: src/main/subscript.c:528
msgid "subscripting on non-vector"
msgstr "非向量不能有下標"
diff -urp R-2.4.0.old/share/make/tests.mk R-2.4.0/share/make/tests.mk
--- R-2.4.0.old/share/make/tests.mk 2006-04-09 17:20:04.000000000 -0500
+++ R-2.4.0/share/make/tests.mk 2006-10-03 19:41:11.000000000 -0500
@@ -1,6 +1,6 @@
## ${R_HOME}/share/make/tests.mk
-include $(R_HOME)/etc/Makeconf
+include $(R_HOME)/etc${R_ARCH}/Makeconf
makevars =
srcdir = .
diff -urp R-2.4.0.old/src/appl/lowess.c R-2.4.0/src/appl/lowess.c
--- R-2.4.0.old/src/appl/lowess.c 2006-04-09 17:19:58.000000000 -0500
+++ R-2.4.0/src/appl/lowess.c 2006-10-28 14:35:58.000000000 -0500
@@ -1,7 +1,7 @@
/*
* R : A Computer Langage for Statistical Data Analysis
* Copyright (C) 1996 Robert Gentleman and Ross Ihaka
- * Copyright (C) 1999-2002 Robert Gentleman, Ross Ihaka and the
+ * Copyright (C) 1999-2006 Robert Gentleman, Ross Ihaka and the
* R Development Core Team
*
* This program is free software; you can redistribute it and/or modify
@@ -132,7 +132,7 @@ void clowess(double *x, double *y, int n
{
int i, iter, j, last, m1, m2, nleft, nright, ns;
Rboolean ok;
- double alpha, c1, c9, cmad, cut, d1, d2, denom, r;
+ double alpha, c1, c9, cmad, cut, d1, d2, denom, r, sc;
if (n < 2) {
ys[0] = y[0]; return;
@@ -223,9 +223,14 @@ void clowess(double *x, double *y, int n
break;
}
/* residuals */
- for(i=0; i < n; i++)
+ for(i = 0; i < n; i++)
res[i] = y[i+1] - ys[i+1];
+ /* overall scale estimate */
+ sc = 0.;
+ for(i = 0; i < n; i++) sc += fabs(res[i]);
+ sc /= n;
+
/* compute robustness weights */
/* except last time */
@@ -234,7 +239,7 @@ void clowess(double *x, double *y, int n
/* Note: The following code, biweight_{6 MAD|Ri|}
is also used in stl(), loess and several other places.
--> should provide API here (MM) */
- for(i=0 ; i<n ; i++)
+ for(i = 0 ; i < n ; i++)
rw[i] = fabs(res[i]);
/* Compute cmad := 6 * median(rw[], n) ---- */
@@ -253,9 +258,11 @@ void clowess(double *x, double *y, int n
#ifdef DEBUG_lowess
REprintf(" cmad = %12g\n", cmad);
#endif
+ if(cmad < 1e-7 * sc) /* effectively zero */
+ break;
c9 = 0.999*cmad;
c1 = 0.001*cmad;
- for(i=0 ; i<n ; i++) {
+ for(i = 0 ; i < n ; i++) {
r = fabs(res[i]);
if (r <= c1)
rw[i] = 1.;
diff -urp R-2.4.0.old/src/gnuwin32/CHANGES R-2.4.0/src/gnuwin32/CHANGES
--- R-2.4.0.old/src/gnuwin32/CHANGES 2006-09-26 21:05:12.000000000 -0500
+++ R-2.4.0/src/gnuwin32/CHANGES 2006-11-02 10:45:46.000000000 -0600
@@ -4,6 +4,30 @@
See the file NEWS for changes that affect all versions of R.
+R 2.4.0 patched
+===============
+
+Inno Setup >= 5.1.7 is now required to build the installer.
+
+Reverted 2.4.0 change that required case-sensitive specification of
+commands to R CMD.
+
+The Simplified Chinese messages were in the wrong format, causing
+R to crash on startup. (PR#9277)
+
+The pointsize of fonts in the windows() graphics device may now be set to
+any positive integer.
+
+Building customized installers failed because the startup options
+weren't being handled properly.
+
+If Rconsole settings were such that R could not start properly, it
+crashed. It now suggests starting with the --vanilla option, which now
+does not load Rconsole. Additionally, an option --no-Rconsole has
+been added for completeness and debugging.
+
+
+
R 2.4.0
=======
@@ -15,7 +39,7 @@ file and (for future sessions) from the
The installer can set defaults for MDI/SDI display, help style, and
use of the --internet2 startup option. Custom builds of R can change
-these defaults.
+these defaults. The standard build now defaults to CHM help.
If CHM help is selected, but is not present (e.g. a package was cross-
compiled on Unix), the help system defaults to text help.
diff -urp R-2.4.0.old/src/gnuwin32/fixed/bin/INSTALL R-2.4.0/src/gnuwin32/fixed/bin/INSTALL
--- R-2.4.0.old/src/gnuwin32/fixed/bin/INSTALL 2006-09-04 09:41:36.000000000 -0500
+++ R-2.4.0/src/gnuwin32/fixed/bin/INSTALL 2006-10-28 14:35:59.000000000 -0500
@@ -26,7 +26,7 @@ use R::Dcf;
use R::Utils;
-my $revision = ' $Rev: 37712 $ ';
+my $revision = ' $Rev: 39671 $ ';
my $version;
my $name;
$revision =~ / ([\d\.]*) /;
@@ -250,7 +250,11 @@ foreach $pkg (@ARGV){
if (open pkgdescin, "< $pkg/$ppkg/DESCRIPTION.in") {
## the Unix version of INSTALL does discard blank lines,
## although ?read.dcf does not allow them.
- while(<pkgdescin>) { print pkgdesc $_ if $_ =~ /\S/; }
+ while(<pkgdescin>) {
+ ## this is to cope with possibly missing final NL
+ chomp;
+ print pkgdesc "$_\n" if $_ =~ /\S/;
+ }
close pkgdescin;
} else {
print "no DESCRIPTION.in found for package $ppkg\n";
Only in R-2.4.0.old/src/gnuwin32/fixed: dobundle.pl
diff -urp R-2.4.0.old/src/gnuwin32/front-ends/rcmdfn.c R-2.4.0/src/gnuwin32/front-ends/rcmdfn.c
--- R-2.4.0.old/src/gnuwin32/front-ends/rcmdfn.c 2006-09-07 21:05:22.000000000 -0500
+++ R-2.4.0/src/gnuwin32/front-ends/rcmdfn.c 2006-10-28 14:35:59.000000000 -0500
@@ -291,20 +291,6 @@ int rcmdfn (int cmdarg, int argc, char *
} else if (!strcmp(".bat", p + strlen(p) - 4)) strcpy(cmd, "");
else if (!strcmp(".exe", p + strlen(p) - 4)) strcpy(cmd, "");
else {
- WIN32_FIND_DATA find_data;
- HANDLE fh;
- char tmp[MAX_PATH];
- strcpy(tmp, RHome); strcat(tmp, "/bin/"); strcat(tmp, p);
- fh = FindFirstFile(tmp, &find_data);
- if (fh == INVALID_HANDLE_VALUE) {
- fprintf(stderr, "no Perl script '%s'\n", p);
- return(28);
- }
- if(strcmp(p, find_data.cFileName)) {
- fprintf(stderr, "no Perl script '%s'\n", p);
- return(28);
- }
- FindClose(fh);
strcpy(cmd, "perl ");
strcat(cmd, RHome); strcat(cmd, "/bin/");
}
diff -urp R-2.4.0.old/src/gnuwin32/front-ends/rgui.c R-2.4.0/src/gnuwin32/front-ends/rgui.c
--- R-2.4.0.old/src/gnuwin32/front-ends/rgui.c 2006-09-04 09:41:35.000000000 -0500
+++ R-2.4.0/src/gnuwin32/front-ends/rgui.c 2006-10-29 10:45:44.000000000 -0600
@@ -29,6 +29,7 @@ extern void cmdlineoptions(int, char **)
extern int setupui(void);
extern void Rf_mainloop(void);
__declspec(dllimport) extern UImode CharacterMode;
+extern void GA_exitapp(void);
extern char *getDLLVersion();
@@ -48,7 +49,11 @@ int AppMain (int argc, char **argv)
exit(1);
}
cmdlineoptions(argc, argv);
- setupui();
+ if (!setupui()) {
+ MessageBox(0, "Error setting up console. Try --vanilla option.",
+ "Terminating", MB_TASKMODAL | MB_ICONSTOP | MB_OK);
+ GA_exitapp();
+ }
Rf_mainloop();
/* NOTREACHED */
return 0;
diff -urp R-2.4.0.old/src/gnuwin32/installer/JRins.pl R-2.4.0/src/gnuwin32/installer/JRins.pl
--- R-2.4.0.old/src/gnuwin32/installer/JRins.pl 2006-09-21 21:05:08.000000000 -0500
+++ R-2.4.0/src/gnuwin32/installer/JRins.pl 2006-10-03 19:41:11.000000000 -0500
@@ -78,6 +78,7 @@ Name: br; MessagesFile: "compiler:Langua
Name: ca; MessagesFile: "compiler:Languages\\Catalan.isl"
Name: cz; MessagesFile: "compiler:Languages\\Czech.isl"
Name: dk; MessagesFile: "compiler:Languages\\Danish.isl"
+Name: es; MessagesFile: "compiler:Languages\\Spanish.isl"
Name: nl; MessagesFile: "compiler:Languages\\Dutch.isl"
Name: fr; MessagesFile: "compiler:Languages\\French.isl"
Name: fi; MessagesFile: "compiler:Languages\\Finnish.isl"
@@ -93,7 +94,6 @@ Name: chs; MessagesFile: "ChineseSimp.is
Name: cht; MessagesFile: "ChineseTrad.isl"
Name: ja; MessagesFile: "Japanese.isl"
Name: ko; MessagesFile: "Korean.isl"
-Name: es; MessagesFile: "SpanishStd.isl"
#include "CustomMsg.txt"
diff -urp R-2.4.0.old/src/gnuwin32/installer/Makefile R-2.4.0/src/gnuwin32/installer/Makefile
--- R-2.4.0.old/src/gnuwin32/installer/Makefile 2006-09-04 09:41:38.000000000 -0500
+++ R-2.4.0/src/gnuwin32/installer/Makefile 2006-10-28 14:35:59.000000000 -0500
@@ -79,12 +79,11 @@ endif
#
# files to make source packages
$(MKDIR) -p $(RPREFIX)/share \
- $(RPREFIX)/src/library $(RPREFIX)/src/gnuwin32/fixed
+ $(RPREFIX)/src/library $(RPREFIX)/src/gnuwin32
$(CP) $(R_HOME)/doc/html/logo.jpg $(RPREFIX)/doc/html
$(CP) $(R_HOME)/doc/KEYWORDS* $(RPREFIX)/doc
$(CP) -p $(foreach i,$(GW32_FILES),../$i) $(RPREFIX)/src/gnuwin32
$(SED) -e s/@RVER@/$(RVER)/g ../Makefile.packages > $(RPREFIX)/src/gnuwin32/Makefile
- $(CP) ../fixed/dobundle.pl $(RPREFIX)/src/gnuwin32/fixed
$(CP) -pr ../help ../check $(RPREFIX)/src/gnuwin32
$(RM) $(RPREFIX)/src/gnuwin32/help/*.c \
$(RPREFIX)/src/gnuwin32/help/MkChmDll
@@ -155,5 +154,5 @@ myR:
@(cd $(IMAGEDIR); echo "tools:::.installMD5sums(\".\")" | \
R_DEFAULT_PACKAGES=NULL LC_COLLATE=C R_OSTYPE=windows \
bin/Rterm.exe --vanilla --slave)
- perl JRins.pl $(RPREFIX) $(IMAGEDIR)
+ perl JRins.pl $(RPREFIX) $(IMAGEDIR) $(MDISDI) $(HelpStyle) $(Internet)
"$(ISDIR)/iscc" R.iss > myR.log
Only in R-2.4.0.old/src/gnuwin32/installer: SpanishStd.isl
diff -urp R-2.4.0.old/src/gnuwin32/Makefile R-2.4.0/src/gnuwin32/Makefile
--- R-2.4.0.old/src/gnuwin32/Makefile 2006-09-06 21:05:05.000000000 -0500
+++ R-2.4.0/src/gnuwin32/Makefile 2006-10-28 14:36:00.000000000 -0500
@@ -421,9 +421,10 @@ distclean: clean clean-recommended
$(RM) ../../doc/html/search/index.txt ../../doc/html/index.html \
../../doc/html/packages.html ../../doc/html/rwin.html \
../../doc/html/rw-FAQ.html ../../doc/html/search/SearchEngine.html
- $(RM) ../../etc/Rconsole ../../etc/Rdevga ../../etc/Rprofile.site \
- ../../etc/rgb.txt ../../share/make/wintests.mk \
- ../include/Platform.h ../../tests/*.Rout ../../tests/*.Rout.fail
+ $(RM) ../../etc/Makeconf ../../etc/Rconsole ../../etc/Rdevga \
+ ../../etc/Rprofile.site ../../etc/rgb.txt \
+ ../../share/make/wintests.mk \
+ ../../tests/*.Rout ../../tests/*.Rout.fail
$(MAKE) -C fixed distclean
$(MAKE) -C ../include -f Makefile.win distclean
-$(MAKE) -C installer distclean
diff -urp R-2.4.0.old/src/gnuwin32/preferences.c R-2.4.0/src/gnuwin32/preferences.c
--- R-2.4.0.old/src/gnuwin32/preferences.c 2006-09-16 21:05:15.000000000 -0500
+++ R-2.4.0/src/gnuwin32/preferences.c 2006-10-29 10:45:44.000000000 -0600
@@ -785,8 +785,8 @@ static void showDialog(Gui gui)
setlistitem(highlightcol, rgbtonum(gui->hlt));
bApply = newbutton(G_("Apply"), rect(50, 410, 70, 25), apply);
- bSave = newbutton(G_("Save"), rect(130, 410, 70, 25), save);
- bLoad = newbutton(G_("Load"), rect(210, 410, 70, 25), load);
+ bSave = newbutton(G_("Save..."), rect(130, 410, 70, 25), save);
+ bLoad = newbutton(G_("Load..."), rect(210, 410, 70, 25), load);
bOK = newbutton(G_("OK"), rect(350, 410, 70, 25), ok);
bCancel = newbutton(G_("Cancel"), rect(430, 410, 70, 25), cancel);
show(wconfig);
diff -urp R-2.4.0.old/src/gnuwin32/rui.c R-2.4.0/src/gnuwin32/rui.c
--- R-2.4.0.old/src/gnuwin32/rui.c 2006-09-21 21:05:08.000000000 -0500
+++ R-2.4.0/src/gnuwin32/rui.c 2006-10-29 10:45:44.000000000 -0600
@@ -54,6 +54,7 @@ console RConsole = NULL;
#ifdef USE_MDI
int RguiMDI = RW_MDI | RW_TOOLBAR | RW_STATUSBAR;
int MDIset = 0;
+int R_LoadRconsole = 1;
window RFrame;
rect MDIsize;
#endif
@@ -664,25 +665,25 @@ void readconsolecfg()
struct structGUI gui;
- gui.crows = 32;
- gui.ccols = 90;
+ gui.crows = 25;
+ gui.ccols = 80;
gui.cx = gui.cy = 0;
gui.grx = Rwin_graphicsx;
gui.gry = Rwin_graphicsy;
gui.bg = White;
- gui.fg = Black;
+ gui.fg = DarkBlue;
gui.user = gaRed;
gui.hlt = DarkRed;
gui.prows = 25;
gui.pcols = 80;
gui.pagerMultiple = 0;
- gui.cbb = 64*1024;
- gui.cbl = 8*1024;
+ gui.cbb = 65000;
+ gui.cbl = 8000;
gui.setWidthOnResize = 1;
- strcpy(gui.font, "FixedFont");
+ strcpy(gui.font, "Courier New");
strcpy(gui.style, "normal");
- gui.tt_font = 0;
- gui.pointsize = 12;
+ gui.tt_font = 1;
+ gui.pointsize = 10;
strcpy(gui.language, "");
gui.buffered = 1;
@@ -693,13 +694,15 @@ void readconsolecfg()
gui.MDIsize = rect(0, 0, 0, 0);
#endif
- sprintf(optf, "%s/Rconsole", getenv("R_USER"));
- if (!loadRconsole(&gui, optf)) {
- sprintf(optf, "%s/etc/Rconsole", getenv("R_HOME"));
+ if (R_LoadRconsole) {
+ sprintf(optf, "%s/Rconsole", getenv("R_USER"));
if (!loadRconsole(&gui, optf)) {
- app_cleanup();
- RConsole = NULL;
- exit(10);
+ sprintf(optf, "%s/etc/Rconsole", getenv("R_HOME"));
+ if (!loadRconsole(&gui, optf)) {
+ app_cleanup();
+ RConsole = NULL;
+ exit(10);
+ }
}
}
if (gui.tt_font) {
diff -urp R-2.4.0.old/src/gnuwin32/rui.h R-2.4.0/src/gnuwin32/rui.h
--- R-2.4.0.old/src/gnuwin32/rui.h 2006-09-04 21:05:03.000000000 -0500
+++ R-2.4.0/src/gnuwin32/rui.h 2006-10-29 10:45:44.000000000 -0600
@@ -24,6 +24,7 @@
#define RW_LARGEICONS 0x1000
extern int MDIset;
+extern int R_LoadRconsole;
#include <R_ext/Boolean.h>
#include <R_ext/libextern.h>
diff -urp R-2.4.0.old/src/include/Makefile.win R-2.4.0/src/include/Makefile.win
--- R-2.4.0.old/src/include/Makefile.win 2006-09-04 09:40:59.000000000 -0500
+++ R-2.4.0/src/include/Makefile.win 2006-10-28 14:35:50.000000000 -0500
@@ -78,7 +78,8 @@ Rmath.h: Rmath.h0
## If we do not have svn, get the old file from SVN-REVISION.bak (if poss).
## This needs to be copy-on-change.
-## We don't get the date from svn info as it is not in GMT.
+## The date from svn info is not in GMT, but we have decided to live
+## with that as they changed the format in svn 1.4.x
## <FIXME> USE_SVNVERSION does not work if there is no 'svnversion'
FORCE:
$(R_HOME)/SVN-REVISION: FORCE
@@ -95,9 +96,10 @@ else
rm svn-tmp; \
fi
endif
- @if test -f svn-tmp && test -f "../../.svn/entries" ; then \
- cdate=`grep committed-date "../../.svn/entries" | sed -n 1p | sed -e 's/^ *committed-date=\"//' -e 's/T.*//'` ; \
- echo "Last Changed Date: $${cdate}" >> svn-tmp ; \
+ @if test -f svn-tmp ; then \
+ (cd ../..; LC_ALL=C TZ=GMT svn info || echo "Last Changed Date: unknown") 2> /dev/null \
+ | sed -n '/^Last Changed Date:/p' | sed 's/[0-9][0-9]:.*//' \
+ >> svn-tmp ; \
else \
rm -f svn-tmp ; \
fi
@@ -108,7 +110,7 @@ endif
else \
cp -p $(R_HOME)/SVN-REVISION.bak $@ 2> /dev/null || \
(echo "Revision: 00000" > $@; \
- echo "Last Changed Date: 2005-00-00" >> $@) ; \
+ echo "Last Changed Date: 2006-00-00" >> $@) ; \
fi
@rm -f svn-tmp $(R_HOME)/SVN-REVISION.bak
diff -urp R-2.4.0.old/src/library/base/man/abbreviate.Rd R-2.4.0/src/library/base/man/abbreviate.Rd
--- R-2.4.0.old/src/library/base/man/abbreviate.Rd 2006-09-04 09:41:21.000000000 -0500
+++ R-2.4.0/src/library/base/man/abbreviate.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -35,6 +35,9 @@ abbreviate(names.arg, minlength = 4, use
If \code{use.classes} is \code{FALSE} then the only distinction is to
be between letters and space. This has NOT been implemented.
+
+ There is a limit on 8191 bytes on the elements of \code{names.arg}
+ (after possible coercion).
}
\value{
A character vector containing abbreviations for the strings in its
diff -urp R-2.4.0.old/src/library/base/man/connections.Rd R-2.4.0/src/library/base/man/connections.Rd
--- R-2.4.0.old/src/library/base/man/connections.Rd 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/base/man/connections.Rd 2006-11-01 19:41:41.000000000 -0600
@@ -2,6 +2,7 @@
\alias{connections}
\alias{connection}
\alias{file}
+\alias{clipboard}
\alias{pipe}
\alias{fifo}
\alias{gzfile}
@@ -254,12 +255,13 @@ isIncomplete(con)
in modes \code{"r"} and \code{"w"} only.
#endif
#ifdef unix
- in mode \code{"r"} only. It reads the X11 primary selection, which
- can also be specified as \code{"X11_primary"} and the secondary
+ in mode \code{"r"} only. It reads the X11 primary selection (see
+ \url{http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt}),
+ which can also be specified as \code{"X11_primary"} and the secondary
selection as \code{"X11_secondary"}.
#endif
- When the clipboard is opened for reading, the contents are immediately
+ When a clipboard is opened for reading, the contents are immediately
copied to internal storage in the connection.
#ifdef windows
diff -urp R-2.4.0.old/src/library/base/man/grep.Rd R-2.4.0/src/library/base/man/grep.Rd
--- R-2.4.0.old/src/library/base/man/grep.Rd 2006-09-24 21:05:08.000000000 -0500
+++ R-2.4.0/src/library/base/man/grep.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -54,11 +54,12 @@ gregexpr(pattern, text, extended = TRUE,
\item{useBytes}{logical. If \code{TRUE} the matching is done
byte-by-byte rather than character-by-character. See Details.}
\item{replacement}{a replacement for matched pattern in \code{sub} and
- \code{gsub}. Coerced to character if possible. This can include
- backreferences \code{"\\1"} to \code{"\\9"} to parenthesized
- subexpressions of \code{pattern}. For \code{perl = TRUE} only, it
- can also contain \code{"\\U"} or \code{"\\L"} to convert the rest of
- the replacement to upper or lower case.
+ \code{gsub}. Coerced to character if possible. For \code{fixed =
+ FALSE} this can include backreferences \code{"\\1"} to
+ \code{"\\9"} to parenthesized subexpressions of \code{pattern}. For
+ \code{perl = TRUE} only, it can also contain \code{"\\U"} or
+ \code{"\\L"} to convert the rest of the replacement to upper or
+ lower case.
}
}
\details{
diff -urp R-2.4.0.old/src/library/base/man/groupGeneric.Rd R-2.4.0/src/library/base/man/groupGeneric.Rd
--- R-2.4.0.old/src/library/base/man/groupGeneric.Rd 2006-09-04 09:41:20.000000000 -0500
+++ R-2.4.0/src/library/base/man/groupGeneric.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -7,8 +7,6 @@
\alias{Ops.data.frame}
\alias{Summary}
\alias{Summary.data.frame}
-\alias{Arith}
-\alias{Compare}
\alias{Complex}
\alias{group generic} % used in class.Rd
\concept{group generic}
@@ -120,7 +118,7 @@ Summary(\dots, na.rm = FALSE)
}
This group dispatches on the first argument supplied.
- \item Group \code{Complex}:
+ \item Group \code{"Complex"}:
\itemize{
\item \code{Arg}, \code{Conj}, \code{Im}, \code{Mod}, \code{Re}
% do_cmathfuns() [complex.c:267]: if(DispatchGroup("Complex",...))
diff -urp R-2.4.0.old/src/library/base/man/merge.Rd R-2.4.0/src/library/base/man/merge.Rd
--- R-2.4.0.old/src/library/base/man/merge.Rd 2006-09-27 21:05:07.000000000 -0500
+++ R-2.4.0/src/library/base/man/merge.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -18,8 +18,7 @@ merge(x, y, \dots)
sort = TRUE, suffixes = c(".x",".y"), \dots)
}
\arguments{
- \item{x, y}{data frames, or objects to be coerced to one. Neither is
- currently allowed to have zero rows.}
+ \item{x, y}{data frames, or objects to be coerced to one.}
\item{by, by.x, by.y}{specifications of the common columns. See Details.}
\item{all}{logical; \code{all = L} is shorthand for \code{all.x = L} and
\code{all.y = L}.}
diff -urp R-2.4.0.old/src/library/base/man/ns-internal.Rd R-2.4.0/src/library/base/man/ns-internal.Rd
--- R-2.4.0.old/src/library/base/man/ns-internal.Rd 2006-09-07 21:05:19.000000000 -0500
+++ R-2.4.0/src/library/base/man/ns-internal.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -27,7 +27,7 @@ importIntoEnv(impenv, impnames, expenv,
isBaseNamespace(ns)
namespaceExport(ns, vars)
namespaceImport(self, \dots)
-namespaceImportFrom(self, ns, vars, generics)
+namespaceImportFrom(self, ns, vars, generics, packages)
namespaceImportClasses(self, ns, vars)
namespaceImportMethods(self, ns, vars)
packageHasNamespace(package, package.lib)
@@ -49,6 +49,7 @@ setNamespaceInfo(ns, which, val)
\item{generics}{optional character vector.}
\item{self}{name space environment.}
\item{package}{string naming the package/name space to load.}
+ \item{packages}{vector of package names parallel to \code{generics}.}
\item{package.lib}{character vector specifying library.}
\item{mustExist}{logical.}
\item{genname}{character.}
diff -urp R-2.4.0.old/src/library/base/man/parse.Rd R-2.4.0/src/library/base/man/parse.Rd
--- R-2.4.0.old/src/library/base/man/parse.Rd 2006-09-04 09:41:20.000000000 -0500
+++ R-2.4.0/src/library/base/man/parse.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -36,7 +36,8 @@ parse(file = "", n = NULL, text = NULL,
that is missing the final EOL marker.
See \code{\link{source}} for the limits on the size of functions
- that can be parsed (by default).
+ that can be parsed (by default). There is also a limit of 8192 bytes
+ on the size of strings which can be parsed.
When input is taken from the console, \code{n = NULL} is equivalent to
\code{n = 1}, and \code{n < 0} will read until an EOF character is read.
diff -urp R-2.4.0.old/src/library/base/man/regex.Rd R-2.4.0/src/library/base/man/regex.Rd
--- R-2.4.0.old/src/library/base/man/regex.Rd 2006-09-24 21:05:08.000000000 -0500
+++ R-2.4.0/src/library/base/man/regex.Rd 2006-10-30 10:45:47.000000000 -0600
@@ -56,7 +56,7 @@
The precise way character ranges are interpreted depends on the values
of \code{perl} and \code{ignore.case}. For basic and extended regular
- expressions the the collation order is taken from the OS's
+ expressions the collation order is taken from the OS's
implementation of the setting of the locale category
\code{LC_COLLATE}, so \code{[W-Z]} may include \code{x} and if it
does may or may not include \code{w}. (In most English locales the
diff -urp R-2.4.0.old/src/library/base/man/Rhome.Rd R-2.4.0/src/library/base/man/Rhome.Rd
--- R-2.4.0.old/src/library/base/man/Rhome.Rd 2006-04-09 17:19:27.000000000 -0500
+++ R-2.4.0/src/library/base/man/Rhome.Rd 2006-10-28 14:35:54.000000000 -0500
@@ -1,8 +1,9 @@
\name{R.home}
\alias{R.home}
+\alias{R_HOME}
\title{Return the R Home Directory}
\description{
- Return the \R home directory.
+ Return the \R home directory.
}
\usage{
R.home(component="home")
@@ -13,8 +14,19 @@ R.home(component="home")
\code{"etc"} and \code{"share"} giving the paths to the
corresponding parts of an \R installation.}
}
+\details{
+ The \R home directory is the top-level directory of the \R
+ installation being run.
+
+ The \R home directory is often referred to as \code{R_HOME},
+ and is the value of an environment variable of that name in an \R
+ session.
+#ifdef unix
+ It can be found outside an \R session by \code{R \link{RHOME}}.
+#endif
+}
\value{
- A character string giving the current \R home directory or path to a
+ A character string giving the \R home directory or path to a
particular component. Normally the components are all subdirectories
of the \R home directory, but this may not be the case in a Unix-like
installation.
diff -urp R-2.4.0.old/src/library/base/man/row.names.Rd R-2.4.0/src/library/base/man/row.names.Rd
--- R-2.4.0.old/src/library/base/man/row.names.Rd 2006-09-04 09:41:20.000000000 -0500
+++ R-2.4.0/src/library/base/man/row.names.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -34,10 +34,10 @@ row.names(x) <- value
Prior to \R 2.4.0, row names were character. As from \R 2.4.0, they
are allowed to be integer or character, but for backwards
compatibility \code{row.names} will always return a character vector.
- (Use \code{attr(x, "row.names")} if you need the internal value.)
+ (Use \code{attr(x, "row.names")} if you need the actual value.)
Using \code{NULL} for the value resets the row names to
- \code{seq(len=nrow(x))}.
+ \code{seq_len(nrow(x))}.
}
\value{
\code{row.names} returns a character vector.
@@ -49,9 +49,9 @@ row.names(x) <- value
it has a method that calls \code{rownames} for an array argument.
Row names of the form \code{1:n} for \code{n > 2} are stored
- internally in a compact form, which might be seen by calling
- \code{\link{attributes}} but never via \code{row.names} or
- \code{attr(x, "row.names")}.
+ internally in a compact form, which might be seen from C code or by
+ deparsing but never via \code{row.names} or
+ \code{\link{attr}(x, "row.names")}.
}
\references{
Chambers, J. M. (1992)
diff -urp R-2.4.0.old/src/library/base/man/source.Rd R-2.4.0/src/library/base/man/source.Rd
--- R-2.4.0.old/src/library/base/man/source.Rd 2006-09-04 09:41:21.000000000 -0500
+++ R-2.4.0/src/library/base/man/source.Rd 2006-10-28 14:35:55.000000000 -0500
@@ -49,7 +49,7 @@ source(file, local = FALSE, echo = verbo
If \code{\link{options}}("keep.source") is true (the default), the
source of functions is kept so they can be listed exactly as input.
- This imposes a limit of 128K chars on the function size and a nesting
+ This imposes a limit of 128K bytes on the function size and a nesting
limit of 265. Use \code{option(keep.source = FALSE)} when these
limits might take effect: if exceeded they generate an error.
@@ -61,7 +61,8 @@ source(file, local = FALSE, echo = verbo
trial encoding.
Unlike input from a console, lines in the file or on a connection can
- contain an unlimited number of characters.
+ contain an unlimited number of characters. However, there is a limit
+ of 8192 bytes on the size of character strings.
}
\references{
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
diff -urp R-2.4.0.old/src/library/base/man/Startup.Rd R-2.4.0/src/library/base/man/Startup.Rd
--- R-2.4.0.old/src/library/base/man/Startup.Rd 2006-09-04 09:41:20.000000000 -0500
+++ R-2.4.0/src/library/base/man/Startup.Rd 2006-10-29 10:45:43.000000000 -0600
@@ -77,6 +77,10 @@
The command-line flag \option{--vanilla} implies
\option{--no-site-file}, \option{--no-init-file},
\option{--no-restore} and \option{--no-environ}.
+#ifdef windows
+ In Windows, it also implies \option{--no-Rconsole}, which
+ prevents loading the \code{\link{Rconsole}} file.
+#endif
}
\details{
Note that there are two sorts of files used in startup:
diff -urp R-2.4.0.old/src/library/base/man/strsplit.Rd R-2.4.0/src/library/base/man/strsplit.Rd
--- R-2.4.0.old/src/library/base/man/strsplit.Rd 2006-09-07 21:05:19.000000000 -0500
+++ R-2.4.0/src/library/base/man/strsplit.Rd 2006-10-30 10:45:47.000000000 -0600
@@ -52,7 +52,7 @@ strsplit(x, split, extended = TRUE, fixe
character} (almost always a Unicode point).
- A missing value of \code{split} does not split the the corresponding
+ A missing value of \code{split} does not split the corresponding
element(s) of \code{x} at all.
The algorithm applied to each input string is
diff -urp R-2.4.0.old/src/library/base/man/unlist.Rd R-2.4.0/src/library/base/man/unlist.Rd
--- R-2.4.0.old/src/library/base/man/unlist.Rd 2006-09-04 09:41:20.000000000 -0500
+++ R-2.4.0/src/library/base/man/unlist.Rd 2006-10-31 10:45:45.000000000 -0600
@@ -20,7 +20,7 @@ unlist(x, recursive = TRUE, use.names =
specific classes of objects, see \link{InternalMethods}.
If \code{x} has length zero the result is \code{NULL}.
-
+
If \code{recursive = FALSE}, the function will not recurse beyond the
first level items in \code{x}.
@@ -40,7 +40,7 @@ unlist(x, recursive = TRUE, use.names =
Where possible the list elements are coerced to a common mode during
the unlisting, and so the result often ends up as a character
- vector. Vectors will be corced to the highest type of the components
+ vector. Vectors will be coerced to the highest type of the components
in the hierarchy NULL < raw < logical < integer < real < complex < character
< list < expression: pairlists are treated as lists.
@@ -54,7 +54,7 @@ unlist(x, recursive = TRUE, use.names =
\value{
\code{NULL} or an expression or a vector of an appropriate mode to
hold the list components.
-
+
The output type is determined from the highest type
of the components in the hierarchy raw < logical < integer < real <
complex < character < list < expression, after coercion of pairlists
diff -urp R-2.4.0.old/src/library/base/R/merge.R R-2.4.0/src/library/base/R/merge.R
--- R-2.4.0.old/src/library/base/R/merge.R 2006-09-04 09:41:13.000000000 -0500
+++ R-2.4.0/src/library/base/R/merge.R 2006-10-28 14:35:54.000000000 -0500
@@ -28,7 +28,6 @@ merge.data.frame <-
}
nx <- nrow(x <- as.data.frame(x)); ny <- nrow(y <- as.data.frame(y))
- if (nx == 0 || ny == 0) stop("no rows to match")
by.x <- fix.by(by.x, x)
by.y <- fix.by(by.y, y)
if((l.b <- length(by.x)) != length(by.y))
@@ -44,7 +43,7 @@ merge.data.frame <-
cnm <- nm.y %in% nm
names(y)[cnm] <- paste(nm.y[cnm], suffixes[2], sep="")
}
- ij <- expand.grid(1:nx, 1:ny)
+ ij <- expand.grid(seq_len(nx), seq_len(ny))
res <- cbind(x[ij[,1], , drop = FALSE], y[ij[,2], , drop = FALSE])
}
else {
@@ -56,8 +55,8 @@ merge.data.frame <-
y <- cbind(Row.names = I(row.names(y)), y)
by.y <- by.y + 1
}
- row.names(x) <- 1:nx
- row.names(y) <- 1:ny
+ row.names(x) <- seq_len(nx)
+ row.names(y) <- seq_len(ny)
## create keys from 'by' columns:
if(l.b == 1) { # (be faster)
bx <- x[, by.x]; if(is.factor(bx)) bx <- as.character(bx)
@@ -68,17 +67,18 @@ merge.data.frame <-
bx <- x[, by.x, drop=FALSE]; by <- y[, by.y, drop=FALSE]
names(bx) <- names(by) <- paste("V", 1:ncol(bx), sep="")
bz <- do.call("paste", c(rbind(bx, by), sep = "\r"))
- bx <- bz[1:nx]
- by <- bz[nx + (1:ny)]
+ bx <- bz[seq_len(nx)]
+ by <- bz[nx + seq_len(ny)]
}
comm <- match(bx, by, 0)
bxy <- bx[comm > 0] # the keys which are in both
xinds <- match(bx, bxy, 0)
yinds <- match(by, bxy, 0)
- ## R-only solution {when !all.x && !all.y} :
- ## o <- outer(xinds, yinds, function(x, y) (x > 0) & x==y)
- ## m <- list(xi = row(o)[o], yi = col(o)[o])
- m <- .Internal(merge(xinds, yinds, all.x, all.y))
+ if(nx > 0 && ny > 0)
+ m <- .Internal(merge(xinds, yinds, all.x, all.y))
+ else
+ m <- list(xi=integer(0), yi=integer(0),
+ x.alone=seq_len(nx), y.alone=seq_len(ny))
nm <- nm.x <- names(x)[-by.x]
nm.by <- names(x)[by.x]
nm.y <- names(y)[-by.y]
diff -urp R-2.4.0.old/src/library/base/R/namespace.R R-2.4.0/src/library/base/R/namespace.R
--- R-2.4.0.old/src/library/base/R/namespace.R 2006-09-22 21:05:06.000000000 -0500
+++ R-2.4.0/src/library/base/R/namespace.R 2006-10-28 14:35:54.000000000 -0500
@@ -657,7 +657,7 @@ namespaceImport <- function(self, ...) {
namespaceImportFrom(self, asNamespace(ns))
}
-namespaceImportFrom <- function(self, ns, vars, generics) {
+namespaceImportFrom <- function(self, ns, vars, generics, packages) {
addImports <- function(ns, from, what) {
imp <- structure(list(what), names = getNamespaceName(from))
imports <- getNamespaceImports(ns)
@@ -726,7 +726,8 @@ namespaceImportFrom <- function(self, ns
delete <- c(delete, ii)
if(!missing(generics)) {
genName <- generics[[i]]
- fdef <- methods:::getGeneric(genName, where = impenv)
+ fdef <- methods:::getGeneric(genName,
+ where = impenv, package = packages[[i]])
if(is.null(fdef))
warning(gettextf(
"Found methods to import for function \"%s\" but not the generic itself",
@@ -784,7 +785,7 @@ namespaceImportMethods <- function(self,
methods:::is(get(g, envir = ns), "genericFunction"))
allVars <- c(allVars, g)
}
- namespaceImportFrom(self, asNamespace(ns), allVars, allFuns)
+ namespaceImportFrom(self, asNamespace(ns), allVars, allFuns, packages)
}
importIntoEnv <- function(impenv, impnames, expenv, expnames) {
diff -urp R-2.4.0.old/src/library/base/R/stop.R R-2.4.0/src/library/base/R/stop.R
--- R-2.4.0.old/src/library/base/R/stop.R 2006-09-04 09:41:13.000000000 -0500
+++ R-2.4.0/src/library/base/R/stop.R 2006-10-28 14:35:54.000000000 -0500
@@ -45,7 +45,7 @@ warning <- function(..., call. = TRUE, i
call = conditionCall(cond)
withRestarts({
.Internal(.signalCondition(cond, message, call))
- .Internal(.dfltStop(message, call))
+ .Internal(.dfltWarn(message, call))
}, muffleWarning = function() NULL) #**** allow simpler form??
invisible(message)
}
diff -urp R-2.4.0.old/src/library/graphics/man/plotdefault.Rd R-2.4.0/src/library/graphics/man/plotdefault.Rd
--- R-2.4.0.old/src/library/graphics/man/plotdefault.Rd 2006-05-23 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/graphics/man/plotdefault.Rd 2006-10-28 14:35:51.000000000 -0500
@@ -24,7 +24,7 @@
\code{"s"} and \code{"S"} for stair steps and
\code{"h"} for histogram-like vertical lines. Finally,
\code{"n"} does not produce any points or lines.}
- \item{xlim}{the x limits (x1,x2) of the plot. Note that \code{x1 > x2}
+ \item{xlim}{the x limits (x1, x2) of the plot. Note that \code{x1 > x2}
is allowed and leads to a \dQuote{reversed axis}.}
\item{ylim}{the y limits of the plot.}
\item{log}{a character string which contains \code{"x"} if the x axis
diff -urp R-2.4.0.old/src/library/graphics/man/plot.window.Rd R-2.4.0/src/library/graphics/man/plot.window.Rd
--- R-2.4.0.old/src/library/graphics/man/plot.window.Rd 2006-09-04 09:41:01.000000000 -0500
+++ R-2.4.0/src/library/graphics/man/plot.window.Rd 2006-10-28 14:35:51.000000000 -0500
@@ -12,8 +12,8 @@
plot.window(xlim, ylim, log = "", asp = NA, \dots)
}
\arguments{
- \item{xlim, ylim}{numeric of length 2, giving the x and y coordinates
- ranges.}
+ \item{xlim, ylim}{numeric vectors of length 2, giving the x and y
+ coordinates ranges.}
\item{log}{character; indicating which axes should be in log scale.}
\item{asp}{numeric, giving the \bold{asp}ect ratio y/x.}
\item{\dots}{further graphical parameters as in \code{\link{par}}.
@@ -30,6 +30,9 @@ plot.window(xlim, ylim, log = "", asp =
\code{asp > 1} can be used to produce more accurate maps when using
latitude and longitude.
+ To reverse an axis, use \code{xlim} or \code{ylim} of the form
+ \code{c(hi, lo)}.
+
The function attempts to produce a plausible set of scales if one or
both of \code{xlim} and \code{ylim} is of length one or the two values
given are identical, but it is better to avoid that case.
diff -urp R-2.4.0.old/src/library/graphics/man/stripchart.Rd R-2.4.0/src/library/graphics/man/stripchart.Rd
--- R-2.4.0.old/src/library/graphics/man/stripchart.Rd 2006-09-12 21:05:02.000000000 -0500
+++ R-2.4.0/src/library/graphics/man/stripchart.Rd 2006-10-30 10:45:46.000000000 -0600
@@ -18,7 +18,7 @@ stripchart(x, method = "overplot", jitte
can be specified as a single numeric vector, or as list of numeric
vectors, each corresponding to a component plot. Alternatively a
symbolic specification of the form \code{x ~ g} can be given,
- indicating the the observations in the vector \code{x} are to be
+ indicating the observations in the vector \code{x} are to be
grouped according to the levels of the factor \code{g}. \code{NA}s
are allowed in the data.}
\item{method}{the method to be used to separate coincident points.
diff -urp R-2.4.0.old/src/library/graphics/man/symbols.Rd R-2.4.0/src/library/graphics/man/symbols.Rd
--- R-2.4.0.old/src/library/graphics/man/symbols.Rd 2006-09-04 09:41:01.000000000 -0500
+++ R-2.4.0/src/library/graphics/man/symbols.Rd 2006-10-30 10:45:46.000000000 -0600
@@ -72,7 +72,7 @@ symbols(x, y = NULL, circles, squares, r
to zero.
Argument \code{inches} controls the sizes of the symbols. If
- \code{TRUE} (the default), the the symbols are scaled so that the
+ \code{TRUE} (the default), the symbols are scaled so that the
largest dimension of any symbol is one inch. If a positive number is
given the symbols are scaled to make largest dimension this size in
inches (so \code{TRUE} and \code{1} are equivalent). If \code{inches}
diff -urp R-2.4.0.old/src/library/graphics/R/datetime.R R-2.4.0/src/library/graphics/R/datetime.R
--- R-2.4.0.old/src/library/graphics/R/datetime.R 2006-09-04 09:41:00.000000000 -0500
+++ R-2.4.0/src/library/graphics/R/datetime.R 2006-10-28 14:35:50.000000000 -0500
@@ -23,13 +23,13 @@ axis.POSIXct <- function(side, x, at, fo
if(missing(format)) format <- "%a"
} else { # days, up to a couple of months
sc <- 60*60*24
- if(missing(format)) format <- "%b %d"
}
if(d < 60*60*24*50) {
zz <- pretty(z/sc)
z <- zz*sc
class(z) <- c("POSIXt", "POSIXct")
if(sc == 60*60*24) z <- as.POSIXct(round(z, "days"))
+ if(missing(format)) format <- "%b %d"
} else if(d < 1.1*60*60*24*365) { # months
class(z) <- c("POSIXt", "POSIXct")
zz <- as.POSIXlt(z)
diff -urp R-2.4.0.old/src/library/graphics/R/dotchart.R R-2.4.0/src/library/graphics/R/dotchart.R
--- R-2.4.0.old/src/library/graphics/R/dotchart.R 2006-09-12 21:05:02.000000000 -0500
+++ R-2.4.0/src/library/graphics/R/dotchart.R 2006-10-28 14:35:50.000000000 -0500
@@ -5,7 +5,9 @@ function(x, labels = NULL, groups = NULL
xlim = range(x[is.finite(x)]),
main = NULL, xlab = NULL, ylab = NULL, ...)
{
- opar <- par("mai", "cex", "yaxs")
+ ## opar <- par(no.readonly=TRUE) ## slightly more efficient:
+ opar <- par("cex", "yaxs", "mai", ## needed too:
+ "mar", "usr", "xaxp", "yaxp")
on.exit(par(opar))
par(cex = cex, yaxs = "i")
diff -urp R-2.4.0.old/src/library/graphics/R/mosaicplot.R R-2.4.0/src/library/graphics/R/mosaicplot.R
--- R-2.4.0.old/src/library/graphics/R/mosaicplot.R 2006-09-04 09:41:00.000000000 -0500
+++ R-2.4.0/src/library/graphics/R/mosaicplot.R 2006-10-28 14:35:51.000000000 -0500
@@ -12,6 +12,9 @@ mosaicplot <- function(x, ...) UseMethod
### Changes by W. Fischer and U. Ligges:
## - Deparsing x in for main title. New arguments: sub, las, cex.axis
## - made to work by BDR
+### Changes by John W. Emerson (JWE):
+## - Fixed xlab and ylab to reflect changes in variables and/or
+## orientation (e.g. use of sort and dir options).
mosaicplot.default <-
function(x, main = deparse(substitute(x)), sub = NULL, xlab = NULL,
@@ -215,11 +218,13 @@ function(x, main = deparse(substitute(x)
as.numeric(cut(residuals, breaks)))
}
- ## The next four may all be NULL:
- label <- dimnames(x)
- nam.dn <- names(label)
- if(is.null(xlab)) xlab <- nam.dn[1]
- if(is.null(ylab)) ylab <- nam.dn[2]
+ ##############################################################
+ ## The next four may all be NULL: ### MOVED by JWE to below.
+ ## label <- dimnames(x)
+ ## nam.dn <- names(label)
+ ## if(is.null(xlab)) xlab <- nam.dn[1]
+ ## if(is.null(ylab)) ylab <- nam.dn[2]
+ ##############################################################
## Initialize spacing.
if(is.null(off))
@@ -242,6 +247,24 @@ function(x, main = deparse(substitute(x)
label <- label[sort]
}
+ ## #################################################################
+ ## MOVED and modified by JWE, from above, 10/16/2006 to fix dir= and
+ ## sort= bug with respect to xlab= and ylab= options.
+
+ ## The next four may all be NULL:
+ label <- dimnames(x)
+ nam.dn <- names(label)
+ ## Here, we need to identify the first "h" and first "v" splits, and
+ ## use their names for xlab= and ylab=, if they are NULL.
+
+ if(is.null(xlab) && any(dir == "v"))
+ xlab <- nam.dn[min(which(dir == "v"))]
+ if(is.null(ylab) && any(dir == "h"))
+ ylab <- nam.dn[min(which(dir == "h"))]
+
+ ## END MODIFICATIONS by JWE
+ ## #################################################################
+
ncolors <- length(tabulate(Ind[,dimd]))
if(!extended && ((is.null(color) || length(color) != ncolors))) {
color <-
@@ -370,3 +393,5 @@ function(formula, data = NULL, ...,
mosaicplot(table(mf), main = main, ...)
}
}
+
+
diff -urp R-2.4.0.old/src/library/graphics/R/rect.R R-2.4.0/src/library/graphics/R/rect.R
--- R-2.4.0.old/src/library/graphics/R/rect.R 2006-04-09 17:19:00.000000000 -0500
+++ R-2.4.0/src/library/graphics/R/rect.R 2006-10-28 14:35:50.000000000 -0500
@@ -5,7 +5,7 @@ rect <-
if (is.numeric(density) && all(is.na(density) | density < 0))
density <- NULL
if (!is.null(density) && !is.null(angle)) {
- if (is.logical(border)) {
+ if (is.logical(border) && !is.na(border)) {
if (border) border <- col
else border <- NA
}
diff -urp R-2.4.0.old/src/library/grDevices/man/palettes.Rd R-2.4.0/src/library/grDevices/man/palettes.Rd
--- R-2.4.0.old/src/library/grDevices/man/palettes.Rd 2006-04-09 17:19:30.000000000 -0500
+++ R-2.4.0/src/library/grDevices/man/palettes.Rd 2006-10-28 14:35:56.000000000 -0500
@@ -9,11 +9,12 @@
Create a vector of \code{n} \dQuote{contiguous} colors.
}
\usage{
-rainbow(n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n, gamma = 1)
-heat.colors(n)
-terrain.colors(n)
-topo.colors(n)
-cm.colors(n)
+rainbow(n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n,
+ gamma = 1, alpha = 1)
+heat.colors(n, alpha = 1)
+terrain.colors(n, alpha = 1)
+topo.colors(n, alpha = 1)
+cm.colors(n, alpha = 1)
}
\arguments{
\item{n}{the number of colors (\eqn{\ge 1}{>= 1}) to be in the
@@ -25,6 +26,8 @@ cm.colors(n)
\item{end}{the (corrected) hue in [0,1] at which the rainbow ends.}
\item{gamma}{the gamma correction, see argument \code{gamma} in
\code{\link{hsv}}.}
+ \item{alpha}{the alpha transparency, a number in [0,1], see argument
+ \code{alpha} in \code{\link{hsv}}.}
}
\details{
Conceptually, all of these functions actually use (parts of) a line
diff -urp R-2.4.0.old/src/library/grDevices/man/windows/windows.Rd R-2.4.0/src/library/grDevices/man/windows/windows.Rd
--- R-2.4.0.old/src/library/grDevices/man/windows/windows.Rd 2006-04-09 17:19:30.000000000 -0500
+++ R-2.4.0/src/library/grDevices/man/windows/windows.Rd 2006-10-28 14:35:56.000000000 -0500
@@ -34,8 +34,9 @@ win.print(width = 7, height = 7, pointsi
\arguments{
\item{width, height}{the (nominal) width and height of the canvas of
the plotting window in inches.}
- \item{pointsize}{the default pointsize of plotted text. The allowed
- range is \code{[6, 48]}: values outside that range are reset to 12.}
+ \item{pointsize}{the default pointsize of plotted text. Values are
+ rounded to the nearest integer: values less than or equal to zero
+ are reset to 12.}
\item{record}{logical: sets the initial state of the flag for
recording plots.}
\item{rescale}{controls the action for resizing plots.}
diff -urp R-2.4.0.old/src/library/grDevices/R/colorstuff.R R-2.4.0/src/library/grDevices/R/colorstuff.R
--- R-2.4.0.old/src/library/grDevices/R/colorstuff.R 2006-09-04 09:41:22.000000000 -0500
+++ R-2.4.0/src/library/grDevices/R/colorstuff.R 2006-10-28 14:35:55.000000000 -0500
@@ -7,19 +7,17 @@ col2rgb <- function(col, alpha=FALSE) {
result
}
+## FIXME: gray() should also allow alpha; ditto for gray.colors() below
gray <- function(level) .Internal(gray(level))
grey <- gray
rgb <- function(red, green, blue, alpha, names = NULL, maxColorValue = 1)
{
- if (missing(alpha)) {
- alphaspec <- FALSE
- alpha <- maxColorValue
- } else {
- alphaspec <- TRUE
- }
+ alphaspec <- !missing(alpha)
+ if(!alphaspec)
+ alpha <- maxColorValue
## in the first case, (r,g,b) are (coerced to) integer, otherwise
- ## double.
+ ## double :
if(maxColorValue == 255)
result <- .Internal(rgb256(red, green, blue, alpha, names))
else
@@ -30,14 +28,9 @@ rgb <- function(red, green, blue, alpha,
else result
}
-hsv <- function(h=1, s=1, v=1, gamma=1, alpha)
+hsv <- function(h=1, s=1, v=1, gamma = 1, alpha = 1)
{
- if (missing(alpha)) {
- alphaspec <- FALSE
- alpha <- 1
- } else {
- alphaspec <- TRUE
- }
+ alphaspec <- !missing(alpha)
result <- .Internal(hsv(h, s, v, gamma, alpha))
## If alpha not specified only return #RRGGBB
if (!alphaspec)
@@ -46,14 +39,9 @@ hsv <- function(h=1, s=1, v=1, gamma=1,
}
hcl <-
-function (h = 0, c = 35, l = 85, alpha, fixup = TRUE)
+function (h = 0, c = 35, l = 85, alpha = 1, fixup = TRUE)
{
- if (missing(alpha)) {
- alphaspec <- FALSE
- alpha <- 1
- } else {
- alphaspec <- TRUE
- }
+ alphaspec <- !missing(alpha)
result <- .Internal(hcl(h, c, l, alpha, fixup))
if (!alphaspec)
structure(substr(result, 1, 7), names=names(result))
@@ -90,30 +78,30 @@ palette <- function(value)
## A quick little ''rainbow'' function -- improved by MM
## doc in ../man/palettes.Rd
rainbow <-
- function (n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n, gamma = 1)
+ function (n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n, gamma = 1, alpha = 1)
{
if ((n <- as.integer(n[1])) > 0) {
if(start == end || any(c(start,end) < 0)|| any(c(start,end) > 1))
stop("'start' and 'end' must be distinct and in [0, 1].")
hsv(h = seq.int(start, ifelse(start > end, 1, 0) + end, length= n) %% 1,
- s, v, gamma)
+ s, v, gamma, alpha)
} else character(0)
}
-topo.colors <- function (n)
+topo.colors <- function (n, alpha = 1)
{
if ((n <- as.integer(n[1])) > 0) {
j <- n %/% 3
k <- n %/% 3
i <- n - j - k
- c(if(i > 0) hsv(h= seq.int(from = 43/60, to = 31/60, length = i)),
- if(j > 0) hsv(h= seq.int(from = 23/60, to = 11/60, length = j)),
- if(k > 0) hsv(h= seq.int(from = 10/60, to = 6/60, length = k),
- s= seq.int(from = 1, to = 0.3, length = k), v = 1))
+ c(if(i > 0) hsv(h= seq.int(from= 43/60, to= 31/60, length = i), alpha=alpha),
+ if(j > 0) hsv(h= seq.int(from= 23/60, to= 11/60, length = j), alpha=alpha),
+ if(k > 0) hsv(h= seq.int(from= 10/60, to= 6/60, length = k), alpha=alpha,
+ s= seq.int(from= 1, to= 0.3, length = k), v = 1))
} else character(0)
}
-terrain.colors <- function (n)
+terrain.colors <- function (n, alpha = 1)
{
if ((n <- as.integer(n[1])) > 0) {
k <- n%/%2
@@ -122,26 +110,26 @@ terrain.colors <- function (n)
v <- c(0.65, 0.9, 0.95)
c(hsv(h = seq.int(h[1], h[2], length = k),
s = seq.int(s[1], s[2], length = k),
- v = seq.int(v[1], v[2], length = k)),
+ v = seq.int(v[1], v[2], length = k), alpha = alpha),
hsv(h = seq.int(h[2], h[3], length = n - k + 1)[-1],
s = seq.int(s[2], s[3], length = n - k + 1)[-1],
- v = seq.int(v[2], v[3], length = n - k + 1)[-1]))
+ v = seq.int(v[2], v[3], length = n - k + 1)[-1], alpha = alpha))
} else character(0)
}
-heat.colors <- function (n)
+heat.colors <- function (n, alpha = 1)
{
if ((n <- as.integer(n[1])) > 0) {
j <- n %/% 4
i <- n - j
- c(rainbow(i, start = 0, end = 1/6),
+ c(rainbow(i, start = 0, end = 1/6, alpha = alpha),
if (j > 0)
hsv(h = 1/6, s = seq.int(from= 1-1/(2*j), to= 1/(2*j), length = j),
- v = 1))
+ v = 1, alpha = alpha))
} else character(0)
}
-cm.colors <- function (n)
+cm.colors <- function (n, alpha = 1)
{
if ((n <- as.integer(n[1])) > 0) {
even.n <- n %% 2 == 0
@@ -149,13 +137,15 @@ cm.colors <- function (n)
l1 <- k + 1 - even.n
l2 <- n - k + even.n
c(if(l1 > 0)
- hsv(h = 6/12, s= seq.int(.5, ifelse(even.n,.5/k,0), length = l1), v = 1),
+ hsv(h = 6/12, s = seq.int(.5, ifelse(even.n,.5/k,0), length = l1),
+ v = 1, alpha = alpha),
if(l2 > 1)
- hsv(h = 10/12, s= seq.int(0, 0.5, length = l2)[-1], v = 1))
+ hsv(h = 10/12, s = seq.int(0, 0.5, length = l2)[-1],
+ v = 1, alpha = alpha))
} else character(0)
}
-gray.colors <-
+gray.colors <- ## FIXME: add 'alpha = 1'
function(n, start = 0.3, end = 0.9, gamma = 2.2)
gray(seq.int(from = start^gamma, to = end^gamma, length = n)^(1/gamma))
grey.colors <- gray.colors
diff -urp R-2.4.0.old/src/library/grDevices/src/devWindows.c R-2.4.0/src/library/grDevices/src/devWindows.c
--- R-2.4.0.old/src/library/grDevices/src/devWindows.c 2006-09-04 09:41:23.000000000 -0500
+++ R-2.4.0/src/library/grDevices/src/devWindows.c 2006-10-28 14:35:56.000000000 -0500
@@ -578,8 +578,7 @@ static char* translateFontFamily(char* f
/* 0 = plain text, 1 = bold */
/* 2 = oblique, 3 = bold-oblique */
-#define SMALLEST 2
-#define LARGEST 100
+#define SMALLEST 1
static void SetFont(char *family, int face, int size, double rot,
NewDevDesc *dd)
@@ -590,7 +589,6 @@ static void SetFont(char *family, int fa
if (face < 1 || face > fontnum)
face = 1;
if (size < SMALLEST) size = SMALLEST;
- if (size > LARGEST) size = LARGEST;
if (!xd->usefixed &&
(size != xd->fontsize || face != xd->fontface ||
rot != xd->fontangle || strcmp(family, xd->fontfamily))) {
@@ -2564,9 +2562,8 @@ Rboolean GADeviceDriver(NewDevDesc *dd,
/* Font will load at first use */
ps = pointsize;
- if (ps < 6 || ps > 48)
+ if (ps < 1)
ps = 12;
- ps = 2 * (ps / 2);
xd->fontface = -1;
xd->fontsize = -1;
xd->basefontsize = ps ;
Binary files R-2.4.0.old/src/library/grid/inst/doc/displaylist.pdf and R-2.4.0/src/library/grid/inst/doc/displaylist.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/frame.pdf and R-2.4.0/src/library/grid/inst/doc/frame.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/grid.pdf and R-2.4.0/src/library/grid/inst/doc/grid.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/grobs.pdf and R-2.4.0/src/library/grid/inst/doc/grobs.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/interactive.pdf and R-2.4.0/src/library/grid/inst/doc/interactive.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/locndimn.pdf and R-2.4.0/src/library/grid/inst/doc/locndimn.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/moveline.pdf and R-2.4.0/src/library/grid/inst/doc/moveline.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/nonfinite.pdf and R-2.4.0/src/library/grid/inst/doc/nonfinite.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/plotexample.pdf and R-2.4.0/src/library/grid/inst/doc/plotexample.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/rotated.pdf and R-2.4.0/src/library/grid/inst/doc/rotated.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/saveload.pdf and R-2.4.0/src/library/grid/inst/doc/saveload.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/sharing.pdf and R-2.4.0/src/library/grid/inst/doc/sharing.pdf differ
Binary files R-2.4.0.old/src/library/grid/inst/doc/viewports.pdf and R-2.4.0/src/library/grid/inst/doc/viewports.pdf differ
diff -urp R-2.4.0.old/src/library/grid/man/viewport.Rd R-2.4.0/src/library/grid/man/viewport.Rd
--- R-2.4.0.old/src/library/grid/man/viewport.Rd 2006-04-09 17:19:12.000000000 -0500
+++ R-2.4.0/src/library/grid/man/viewport.Rd 2006-10-28 14:35:53.000000000 -0500
@@ -5,7 +5,7 @@
\alias{vpTree}
\title{Create a Grid Viewport}
\description{
- These functions create viewports, which describe a rectangular regions
+ These functions create viewports, which describe rectangular regions
on a graphics device and define a number of coordinate systems within
those regions.
}
diff -urp R-2.4.0.old/src/library/methods/man/MethodSupport.Rd R-2.4.0/src/library/methods/man/MethodSupport.Rd
--- R-2.4.0.old/src/library/methods/man/MethodSupport.Rd 2006-04-09 17:19:10.000000000 -0500
+++ R-2.4.0/src/library/methods/man/MethodSupport.Rd 2006-11-02 19:41:45.000000000 -0600
@@ -11,7 +11,7 @@
\usage{
getMethodsForDispatch(f, fdef)
-cacheMethod(f, sig, def, args, fdef)
+cacheMethod(f, sig, def, args, fdef, inherited = FALSE)
resetGeneric(f, fdef, mlist, where, deflt)
}
@@ -29,7 +29,8 @@ resetGeneric(f, fdef, mlist, where, defl
\item{\code{cacheMethod}:}{
Store the definition for this function and signature in the method
metadata for the function. Used to store extensions of coerce
- methods found through inheritance.
+ methods found through inheritance, and to cache methods with
+ \code{\link{callNextMethod}} information.
No persistent effect, since the method metadata is session-scope
only.
diff -urp R-2.4.0.old/src/library/methods/man/seemsS4Object.Rd R-2.4.0/src/library/methods/man/seemsS4Object.Rd
--- R-2.4.0.old/src/library/methods/man/seemsS4Object.Rd 2006-09-04 09:41:08.000000000 -0500
+++ R-2.4.0/src/library/methods/man/seemsS4Object.Rd 2006-11-02 19:41:45.000000000 -0600
@@ -2,8 +2,8 @@
\alias{seemsS4Object}
\title{Heuristic test for an object from an S4 class}
\description{
- Returns \code{TRUE} if \code{object} seems to have been generated from
- a formally defined (\dQuote{S4}) class.
+ Returns \code{TRUE} if \code{object} has been generated from
+ a formally defined (\dQuote{S4}) class. DEPRECATED: use isS4(object) instead.
}
\usage{
seemsS4Object(object)
@@ -13,9 +13,13 @@ seemsS4Object(object)
}
\details{
The \code{\link{class}} of the object is examined for the \code{"package"}
- attribute included when objects are generated from an S4 class.
+ attribute included when objects are generated from an S4 class. The
+ test in this function has been superseded by an internal bit set
+ when S4 objects are generated.
- This test can be fooled in at least two ways:
+ The \code{seemsS4Object} function is deprecated and will be removed.
+
+ The test can be fooled in at least two ways:
\enumerate{
\item It will give \code{TRUE} incorrectly if someone puts a
\code{"package"} string attribute on the class of an S3 object.
diff -urp R-2.4.0.old/src/library/methods/R/as.R R-2.4.0/src/library/methods/R/as.R
--- R-2.4.0.old/src/library/methods/R/as.R 2006-09-09 21:05:02.000000000 -0500
+++ R-2.4.0/src/library/methods/R/as.R 2006-11-02 19:41:45.000000000 -0600
@@ -25,6 +25,7 @@ as <-
fdef = coerceFun, mlist = coerceMethods)
if(is.null(asMethod)) {
canCache <- TRUE
+ inherited <- FALSE
if(is(object, Class)) {
ClassDef <- getClassDef(Class, where)
## use the ext information, computed or supplied
@@ -47,13 +48,17 @@ as <-
}
## if none of these applies, look for an inherited method
## but only on the from argument
- if(is.null(asMethod))
+ if(is.null(asMethod)) {
asMethod <- selectMethod("coerce", sig, TRUE,
c(from = TRUE, to = FALSE),
- fdef = coerceFun, mlist = coerceMethods)
+ fdef = coerceFun, mlist =
+ coerceMethods)
+ inherited <- TRUE
+ }
## cache in the coerce function's environment
if(canCache && !is.null(asMethod)) {
- cacheMethod("coerce", sig, asMethod, fdef = coerceFun)
+ cacheMethod("coerce", sig, asMethod, fdef = coerceFun,
+ inherited = inherited)
}
}
}
@@ -129,32 +134,36 @@ as <-
coerceMethods <- getMethodsForDispatch("coerce<-", coerceFun)
asMethod <- .quickCoerceSelect(thisClass, Class, coerceFun, coerceMethods)
if(is.null(asMethod)) {
- sig <- c(from=thisClass, to = Class)
- canCache <- TRUE
- asMethod <- selectMethod("coerce<-", sig, TRUE, FALSE, #optional, no inheritance
- fdef = coerceFun, mlist = coerceMethods)
- if(is.null(asMethod)) {
- if(is(object, Class)) {
- asMethod <- possibleExtends(thisClass, Class)
- if(identical(asMethod, TRUE)) {# trivial, probably identical classes
- class(value) <- class(object)
- return(value)
- }
- else {
- test <- asMethod@test
- asMethod <- asMethod@replace
- canCache <- (!is(test, "function")) || identical(body(test), TRUE)
- if(canCache) { ##the replace code is a bare function
- asMethod <- .asCoerceMethod(asMethod, sig, TRUE)
+ sig <- c(from=thisClass, to = Class)
+ canCache <- TRUE
+ inherited <- FALSE
+ asMethod <- selectMethod("coerce<-", sig, TRUE, FALSE, #optional, no inheritance
+ fdef = coerceFun, mlist = coerceMethods)
+ if(is.null(asMethod)) {
+ if(is(object, Class)) {
+ asMethod <- possibleExtends(thisClass, Class)
+ if(identical(asMethod, TRUE)) {# trivial, probably identical classes
+ class(value) <- class(object)
+ return(value)
}
- }
- }
- else
- asMethod <- selectMethod("coerce<-", sig, TRUE, c(from = TRUE, to = FALSE))
- }
+ else {
+ test <- asMethod@test
+ asMethod <- asMethod@replace
+ canCache <- (!is(test, "function")) || identical(body(test), TRUE)
+ if(canCache) { ##the replace code is a bare function
+ asMethod <- .asCoerceMethod(asMethod, sig, TRUE)
+ }
+ }
+ }
+ else { # search for inherited method
+ asMethod <- selectMethod("coerce<-", sig, TRUE, c(from = TRUE, to = FALSE))
+ inherited <- TRUE
+ }
+ }
## cache for next call
if(canCache && !is.null(asMethod))
- cacheMethod("coerce<-", sig, asMethod, fdef = coerceFun)
+ cacheMethod("coerce<-", sig, asMethod, fdef = coerceFun,
+ inherited = inherited)
}
if(is.null(asMethod))
stop(gettextf("no method or default for as() replacement of \"%s\" with Class=\"%s\"", thisClass, Class), domain = NA)
diff -urp R-2.4.0.old/src/library/methods/R/is.R R-2.4.0/src/library/methods/R/is.R
--- R-2.4.0.old/src/library/methods/R/is.R 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/methods/R/is.R 2006-10-28 14:35:53.000000000 -0500
@@ -116,33 +116,25 @@ setIs <-
obj <- extensionObject
## revise the superclass/subclass info in the stored class definition
.validExtends(class1, class2, classDef, classDef2, obj@simple)
- if(!classDef@sealed) {
- where1 <- findClass(class1, where)[[1]]
- if(!bindingIsLocked(m1, where1)) {
- ## the direct contains information
- elNamed(classDef@contains, class2) <- obj
- if(doComplete)
- classDef@contains <- completeExtends(classDef, class2, obj, where = where)
- assignClassDef(class1, classDef, where1)
- }
- }
- if(!classDef2@sealed) {
- where2 <- findClass(classDef2)
- if(length(where2) > 0) {
- where2 <- where2[[1]]
- if(!bindingIsLocked(m2, where2)) {
- elNamed(classDef2@subclasses, class1) <- obj
- if(doComplete)
- classDef2@subclasses <- completeSubclasses(classDef2, class1, obj, where)
- assignClassDef(class2, classDef2, where2)
- }
- .removePreviousCoerce(class1, class2, where, prevIs)
- }
- else
- stop(gettextf("Unable to find package environment for class \"%s\" to revise subclass information", class2))
+ where2 <- findClass(classDef2)
+ if(length(where2) > 0) {
+ where2 <- where2[[1]]
+ elNamed(classDef2@subclasses, class1) <- obj
+ if(doComplete)
+ classDef2@subclasses <- completeSubclasses(classDef2, class1, obj, where)
+ assignClassDef(class2, classDef2, where2, TRUE)
+ .removePreviousCoerce(class1, class2, where, prevIs)
}
+ else
+ stop(gettextf("Unable to find package environment for class \"%s\" to revise subclass information", class2))
+ where1 <- findClass(class1, where)[[1]]
+ ## the direct contains information
+ elNamed(classDef@contains, class2) <- obj
+ if(doComplete)
+ classDef@contains <- completeExtends(classDef, class2, obj, where = where)
+ assignClassDef(class1, classDef, where1, TRUE)
invisible(classDef)
-}
+ }
.validExtends <- function(class1, class2, classDef1, classDef2, slotTests) {
.msg <- function(class1, class2) gettextf("class \"%s\" cannot extend class \"%s\"", class1, class2)
diff -urp R-2.4.0.old/src/library/methods/R/Methods.R R-2.4.0/src/library/methods/R/Methods.R
--- R-2.4.0.old/src/library/methods/R/Methods.R 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/methods/R/Methods.R 2006-11-02 19:41:45.000000000 -0600
@@ -81,6 +81,16 @@ setGeneric <-
}
if(doUncache)
.uncacheGeneric(name, oldDef)
+ groups = fdef@group
+ for(group in groups) { # add as member of group generic(s) if not there
+ gdef <- getGeneric(group)
+ if(is(gdef, "groupGenericFunction") &&
+ is.na(match(fdef@generic, as.character(gdef@groupMembers)))) {
+ gwhere <- .genEnv(group, where)
+ gdef@groupMembers <- c(gdef@groupMembers, list(fdef@generic))
+ assign(group, gdef, gwhere)
+ }
+ }
assign(name, fdef, where)
.cacheGeneric(name, fdef)
if(!.UsingMethodsTables() &&
@@ -265,10 +275,18 @@ getMethodsForDispatch <- function(f, fde
cacheMethod <-
## cache the given definition in the method metadata for f
## Support function: DON'T USE DIRECTLY (does no checking)
- function(f, sig, def, args = names(sig), fdef) {
+ function(f, sig, def, args = names(sig), fdef, inherited = FALSE) {
ev <- environment(fdef)
- if(.UsingMethodsTables())
- .cacheMethodInTable(fdef, sig, def, .getMethodsTable(fdef, ev))
+ if(.UsingMethodsTables()) {
+ .cacheMethodInTable(fdef, sig, def,
+ .getMethodsTable(fdef, ev, inherited = inherited))
+ ## if this is not an inherited method, update the inherited table as well
+ ## TODO: in this case, should uncache inherited methods, though the callin
+ ## function will normally have done this.
+ if(!inherited)
+ .cacheMethodInTable(fdef, sig, def,
+ .getMethodsTable(fdef, ev, inherited = TRUE))
+ }
else {
methods <- get(".Methods", envir = ev)
methods <- insertMethod(methods, sig, args, def, TRUE)
@@ -280,6 +298,9 @@ cacheMethod <-
}
}
+.removeCachedMethod <- function(f, sig, fdef = getGeneric(f))
+ cacheMethod(f, sig, NULL, names(sig), fdef)
+
setMethod <-
## Define a method for the specified combination of generic function and signature.
diff -urp R-2.4.0.old/src/library/methods/R/methodsTable.R R-2.4.0/src/library/methods/R/methodsTable.R
--- R-2.4.0.old/src/library/methods/R/methodsTable.R 2006-09-13 21:05:02.000000000 -0500
+++ R-2.4.0/src/library/methods/R/methodsTable.R 2006-11-02 19:41:45.000000000 -0600
@@ -1,5 +1,3 @@
-options(error=traceback, warn = 1)
-
### merge version called from namespace imports code. Hope to avoid using generic
.mergeMethodsTable2 <- function(table, newtable, envir, metaname) {
old <- objects(table, all=TRUE)
@@ -138,7 +136,7 @@ options(error=traceback, warn = 1)
## also Called from cacheMethod (from as(),
## as<-())
fenv <- environment(fdef)
- if(!exists(".AllMTable", envir = fenv, inherits = TRUE))
+ if(!exists(".AllMTable", envir = fenv, inherits = FALSE))
.setupMethodsTables(fdef)
sig <- .matchSigLength(sig, fdef, fenv, TRUE)
label <- .sigLabel(sig)
@@ -407,15 +405,31 @@ options(error=traceback, warn = 1)
mlist <- generic@default
else
mlist <- get(".Methods", envir = env, inherits = FALSE)
- if(initialize || !exists(".SigLength", envir = env, inherits = FALSE))
- assign(".SigLength", 1, envir = env)
- ## check that groups of generics agree on .SigLength; otherwise
- ## labels won't match
+ if(initialize || !exists(".SigLength", envir = env, inherits = FALSE)) {
+ nsig <- 1
+ ## check that groups of generics agree on .SigLength; otherwise
+ ## labels won't match
+ for(gp in generic@group) {
+ gpDef <- getGeneric(gp)
+ if(is(gpDef, "genericFunction")) {
+ .getMethodsTable(gpDef) # force initialization
+ nsig <- max(nsig, get(".SigLength", envir = environment(gpDef)))
+ }
+ }
+ assign(".SigLength", nsig, envir = env)
+ }
argSyms <- lapply(generic@signature, as.name)
assign(".SigArgs", argSyms, envir = env)
mtable <- .mlistAddToTable(generic, mlist)
assign(".MTable", mtable, envir = env)
.resetInheritedMethods(env, mtable)
+ if(is(generic, "groupGenericFunction")) {
+ for(gp in generic@groupMembers) {
+ gpDef <- getGeneric(gp)
+ if(is(gpDef, "genericFunction"))
+ .getMethodsTable(gpDef) # force initialization w. group methods
+ }
+ }
}
.updateMethodsInTable <- function(generic, where, attach) {
diff -urp R-2.4.0.old/src/library/methods/R/NextMethod.R R-2.4.0/src/library/methods/R/NextMethod.R
--- R-2.4.0.old/src/library/methods/R/NextMethod.R 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/methods/R/NextMethod.R 2006-11-02 19:41:45.000000000 -0600
@@ -96,7 +96,7 @@ callNextMethod <- function(...) {
method <- addNextMethod(method, f, envir=methodEnv)
## cache the method with the nextMethod included,
## so later calls will load this information.
- cacheMethod(f, method@target, method, fdef = getGeneric(f))
+ cacheMethod(f, method@target, method, fdef = getGeneric(f), inherited = TRUE)
}
nextMethod <- method@nextMethod
assign(".nextMethod", nextMethod, envir = callEnv)
diff -urp R-2.4.0.old/src/library/methods/R/RClassUtils.R R-2.4.0/src/library/methods/R/RClassUtils.R
--- R-2.4.0.old/src/library/methods/R/RClassUtils.R 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/methods/R/RClassUtils.R 2006-10-28 14:35:53.000000000 -0500
@@ -412,7 +412,7 @@ isVirtualClass <-
assignClassDef <-
## assign the definition of the class to the specially named object
- function(Class, def, where = .GlobalEnv) {
+ function(Class, def, where = .GlobalEnv, force = FALSE) {
if(!is(def,"classRepresentation"))
stop(gettextf("trying to assign an object of class \"%s\" as the definition of class \"%s\": must supply a \"classRepresentation\" object",
class(def), Class), domain = NA)
@@ -420,8 +420,18 @@ assignClassDef <-
if(!.identC(Class, clName))
stop(gettextf("assigning as \"%s\" a class representation with internal name \"%s\"",
Class, def@className), domain = NA)
+ where <- as.environment(where)
+ mname <- classMetaName(Class)
+ if(exists(mname, envir = where, inherits = FALSE) && bindingIsLocked(mname, where)) {
+ if(force)
+ .assignOverBinding(mname, def, where, FALSE)
+ else
+ stop(gettextf("Class \"%s\" has a locked definition in package \"%s\"",
+ Class, getPackageName(where)))
+ }
+ else
+ assign(mname, def, where)
.cacheClass(clName, def)
- assign(classMetaName(Class), def, where)
}
@@ -1445,13 +1455,13 @@ substituteFunctionArgs <- function(def,
## bootstrap version: all classes and methods must be in the version of the methods
## package being built in the toplevel environment: MUST avoid require("methods") !
-.requirePackage <- function(package)
+.requirePackage <- function(package, mustFind = TRUE)
topenv(parent.frame())
.PackageEnvironments <- new.env(hash=TRUE) # caching for required packages
## real version of .requirePackage
-..requirePackage <- function(package) {
+..requirePackage <- function(package, mustFind = TRUE) {
value <- package
if(is.character(package)) {
if(package %in% loadedNamespaces())
@@ -1473,9 +1483,13 @@ substituteFunctionArgs <- function(def,
if(exists(".packageName", topEnv, inherits=TRUE) &&
.identC(package, get(".packageName", topEnv)))
return(topEnv) # kludge for source'ing package code
- if(!require(package, character.only = TRUE))
- stop(gettextf("unable to find required package \"%s\"", package),
- domain = NA)
+ if(!require(package, character.only = TRUE)) {
+ if(mustFind)
+ stop(gettextf("unable to find required package \"%s\"", package),
+ domain = NA)
+ else
+ return(NULL)
+ }
value <- .asEnvironmentPackage(package)
assign(package, value, envir = .PackageEnvironments)
value
@@ -1662,3 +1676,27 @@ substituteFunctionArgs <- function(def,
}
}
+.removeSubClass <- function(class, subclass, where) {
+ mname <- classMetaName(class)
+ where <- as.environment(where)
+ if(exists(mname, envir = where, inherits = FALSE)) {
+ cdef <- get(mname, envir = where)
+ subclasses <- cdef@subclasses
+ ii <- match(subclass, names(subclasses), 0)
+ ## the subclass may not be there, e.g., if an error occured in
+ ## setClass, or (in 2.4.0) if class is sealed
+ if(ii > 0) {
+ cdef@subclasses <- subclasses[-ii]
+ assign(mname, cdef, envir = where)
+ }
+ sig <- signature(from=subclass, to=class)
+ if(existsMethod("coerce", sig))
+ .removeCachedMethod("coerce", sig)
+ if(existsMethod("coerce<-", sig))
+ .removeCachedMethod("coerce<-", sig)
+ .uncacheClass(class, cdef)
+ }
+ else
+ warning(gettextf("No class \"%s\" found as expected in removing subclass \"%s\"",
+ class, subclass))
+}
diff -urp R-2.4.0.old/src/library/methods/R/RMethodUtils.R R-2.4.0/src/library/methods/R/RMethodUtils.R
--- R-2.4.0.old/src/library/methods/R/RMethodUtils.R 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/methods/R/RMethodUtils.R 2006-10-28 14:35:53.000000000 -0500
@@ -392,6 +392,7 @@ rematchDefinition <- function(definition
newCall <- as.call(newCall)
newBody <- substitute({.local <- DEF; NEWCALL},
list(DEF = definition, NEWCALL = newCall))
+ generic <- .copyMethodDefaults(generic, definition)
body(generic, envir = environment(definition)) <- newBody
generic
}
@@ -464,6 +465,12 @@ getGeneric <-
.cacheGeneric(f, value)
}
}
+ if(is.null(value) && nchar(package)>0 && !identical(package, "base")) {
+ env <- .requirePackage(package, FALSE)
+ if(is.environment(env))
+ value <- .Call("R_getGeneric", f, FALSE, env, package,
+ PACKAGE = "methods")
+ }
value
}
@@ -1375,3 +1382,25 @@ deletePrimMethods <- function(f, env) {
.primname <- function(object)
.Call("R_get_primname", object, PACKAGE = "base")
+
+.copyMethodDefaults <- function(generic, method) {
+ emptyDefault <- function(value) missing(value) || (is.name(value) && (nchar(as.character(value))>0))
+ fg <- formals(generic)
+ mg <- formals(method)
+ mgn <- names(mg)
+ changed <- FALSE
+ for(what in names(fg)) {
+ i <- match(what, mgn, 0)
+ if(i> 0) {
+ deflt <- mg[[i]]
+ if(!(emptyDefault(deflt) || identical(deflt, fg[[what]]))) {
+ fg[[what]] <- deflt
+ changed <- TRUE
+ }
+ }
+ }
+ if(changed)
+ formals(generic) <- fg
+ generic
+}
+
diff -urp R-2.4.0.old/src/library/methods/R/SClasses.R R-2.4.0/src/library/methods/R/SClasses.R
--- R-2.4.0.old/src/library/methods/R/SClasses.R 2006-09-17 21:05:04.000000000 -0500
+++ R-2.4.0/src/library/methods/R/SClasses.R 2006-10-28 14:35:53.000000000 -0500
@@ -309,6 +309,19 @@ removeClass <- function(Class, where =
"\") has defined subclasses that should also be removed: (",
paste(as.character(subclasses[found]), collapse = ", "), ")")
}
+ if(length(classDef@contains)>0) {
+ superclasses <- names(classDef@contains)
+ for(what in superclasses) {
+ superWhere <- findClass(what, classWhere)
+ if(length(superWhere)>0) {
+ superWhere <- superWhere[[1]]
+ .removeSubClass(what, Class, superWhere)
+ }
+ else
+ warning(gettextf("Couldn't find superclass \"%s\" to clean up when removing class \"%s\"",
+ what, Class))
+ }
+ }
.uncacheClass(Class, classDef)
.undefineMethod("initialize", Class, classWhere)
what <- classMetaName(Class)
Only in R-2.4.0/src/library/Recommended: lattice_0.14-12.tar.gz
Only in R-2.4.0.old/src/library/Recommended: lattice_0.14-9.tar.gz
Binary files R-2.4.0.old/src/library/Recommended/lattice.tgz and R-2.4.0/src/library/Recommended/lattice.tgz differ
Only in R-2.4.0.old/src/library/Recommended: mgcv_1.3-19.tar.gz
Only in R-2.4.0/src/library/Recommended: mgcv_1.3-20.tar.gz
Binary files R-2.4.0.old/src/library/Recommended/mgcv.tgz and R-2.4.0/src/library/Recommended/mgcv.tgz differ
diff -urp R-2.4.0.old/src/library/stats/man/lowess.Rd R-2.4.0/src/library/stats/man/lowess.Rd
--- R-2.4.0.old/src/library/stats/man/lowess.Rd 2006-04-09 17:19:48.000000000 -0500
+++ R-2.4.0/src/library/stats/man/lowess.Rd 2006-10-28 14:35:57.000000000 -0500
@@ -1,5 +1,10 @@
\name{lowess}
\title{Scatter Plot Smoothing}
+\description{
+ This function performs the computations for the
+ \emph{LOWESS} smoother which uses locally-weighted polynomial
+ regression (see the references).
+}
\usage{
lowess(x, y = NULL, f = 2/3, iter = 3,
delta = 0.01 * diff(range(xy$x[o])))
@@ -11,20 +16,40 @@ lowess(x, y = NULL, f = 2/3, iter = 3,
\item{f}{the smoother span. This gives the proportion of points in
the plot which influence the smooth at each value.
Larger values give more smoothness.}
- \item{iter}{the number of robustifying iterations which should be
+ \item{iter}{the number of \sQuote{robustifying} iterations which should be
performed.
Using smaller values of \code{iter} will make \code{lowess} run faster.}
- \item{delta}{values of \code{x} which lie within \code{delta}
- of each other are replaced by a single value in the output from
- \code{lowess}. Defaults to 1/100th of the range of \code{x}.}
+ \item{delta}{See Details. Defaults to 1/100th of the range of \code{x}.}
}
-\description{
- This function performs the computations for the
- \emph{LOWESS} smoother (see the reference below).
+\details{
+ \code{lowess} is defined by a complex algorithm, the Ratfor original
+ of which (by W. S. Cleveland) can be found in the \R sources as file
+ \file{src/appl/lowess.doc}. Normally a local linear polynomial fit is
+ used, but under some circumstances (see the file) a local constant fit
+ can be used. \sQuote{Local} is defined by the distance to the
+ \code{floor(f*n)}th nearest neighbour, and tricubic weighting is used
+ for \code{x} which fall within the neighbourhood.
+
+ The initial fit is done using weighted least squares. If
+ \code{iter > 0}, further weighted fits are done using the product of
+ the weights from the proximity of the \code{x} values and case weights
+ derived from the residuals at the previous iteration. Specifically,
+ the case weight is Tukey's biweight, with cutoff 6 times the MAD of the
+ residuals. (The current \R implementation differs from the original
+ in stopping iteration if the MAD is effectively zero since the
+ algorithm is highly unstable in that case.)
+
+ \code{delta} is used to speed up computation: instead of computing the
+ local polynomial fit at each data point it is not computed for points
+ within \code{delta} of the last computed point, and linear
+ interpolation is used to fill in the fitted values for the skipped
+ points.
+}
+\value{
\code{lowess} returns a list containing components
\code{x} and \code{y} which give the coordinates of the smooth.
- The smooth should be added to a plot of the original
- points with the function \code{lines}.
+ The smooth can be added to a plot of the original
+ points with the function \code{lines}: see the examples.
}
\references{
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
diff -urp R-2.4.0.old/src/library/stats/man/prcomp.Rd R-2.4.0/src/library/stats/man/prcomp.Rd
--- R-2.4.0.old/src/library/stats/man/prcomp.Rd 2006-05-18 04:13:52.000000000 -0500
+++ R-2.4.0/src/library/stats/man/prcomp.Rd 2006-10-30 10:45:48.000000000 -0600
@@ -91,7 +91,7 @@ prcomp(x, \dots)
(centered and possibly scaled) data matrix, not by using
\code{eigen} on the covariance matrix. This
is generally the preferred method for numerical accuracy. The
- \code{print} method for the these objects prints the results in a nice
+ \code{print} method for these objects prints the results in a nice
format and the \code{plot} method produces a scree plot.
Note that \code{scale = TRUE} cannot be used if there are zero or
diff -urp R-2.4.0.old/src/library/stats/man/princomp.Rd R-2.4.0/src/library/stats/man/princomp.Rd
--- R-2.4.0.old/src/library/stats/man/princomp.Rd 2006-05-18 04:13:52.000000000 -0500
+++ R-2.4.0/src/library/stats/man/princomp.Rd 2006-10-30 10:45:48.000000000 -0600
@@ -91,7 +91,7 @@ princomp(x, \dots)
Note that the default calculation uses divisor \code{N} for the
covariance matrix.
- The \code{\link{print}} method for the these objects prints the
+ The \code{\link{print}} method for these objects prints the
results in a nice format and the \code{\link{plot}} method produces
a scree plot (\code{\link{screeplot}}). There is also a
\code{\link{biplot}} method.
diff -urp R-2.4.0.old/src/library/stats/man/ts.Rd R-2.4.0/src/library/stats/man/ts.Rd
--- R-2.4.0.old/src/library/stats/man/ts.Rd 2006-09-04 09:41:28.000000000 -0500
+++ R-2.4.0/src/library/stats/man/ts.Rd 2006-10-28 14:35:57.000000000 -0500
@@ -53,7 +53,7 @@ is.ts(x)
attributes) which represent data which has been sampled at equispaced
points in time. In the matrix case, each column of the matrix
\code{data} is assumed to contain a single (univariate) time series.
- Time series must have an least one observation, and although they need
+ Time series must have at least one observation, and although they need
not be numeric there is very limited support for non-numeric series.
Class \code{"ts"} has a number of methods. In particular arithmetic
diff -urp R-2.4.0.old/src/library/stats/R/add.R R-2.4.0/src/library/stats/R/add.R
--- R-2.4.0.old/src/library/stats/R/add.R 2006-09-06 21:05:05.000000000 -0500
+++ R-2.4.0/src/library/stats/R/add.R 2006-10-28 14:35:56.000000000 -0500
@@ -112,7 +112,8 @@ add1.lm <- function(object, scope, scale
z <- if(iswt) lm.wfit(X, y, wt, offset=offset)
else lm.fit(X, y, offset=offset)
dfs[1] <- z$rank
- RSS[1] <- deviance.lm(z)
+ class(z) <- "lm" # needed as deviance.lm calls generic residuals()
+ RSS[1] <- deviance(z)
## workaround for PR#7842. terms.formula may have flipped interactions
sTerms <- sapply(strsplit(Terms, ":", fixed=TRUE),
function(x) paste(sort(x), collapse=":"))
@@ -122,8 +123,9 @@ add1.lm <- function(object, scope, scale
X <- x[, usex|ousex, drop = FALSE]
z <- if(iswt) lm.wfit(X, y, wt, offset=offset)
else lm.fit(X, y, offset=offset)
+ class(z) <- "lm" # needed as deviance.lm calls generic residuals()
dfs[tt] <- z$rank
- RSS[tt] <- deviance.lm(z)
+ RSS[tt] <- deviance(z)
}
if(scale > 0) aic <- RSS/scale - n + k*dfs
else aic <- n * log(RSS/n) + k*dfs
diff -urp R-2.4.0.old/src/library/stats4/R/mle.R R-2.4.0/src/library/stats4/R/mle.R
--- R-2.4.0.old/src/library/stats4/R/mle.R 2006-04-09 17:19:08.000000000 -0500
+++ R-2.4.0/src/library/stats4/R/mle.R 2006-10-28 14:35:52.000000000 -0500
@@ -33,6 +33,7 @@ mle <- function(minuslogl, start=formals
if (any(is.na(oo)))
stop("some named arguments in 'start' are not arguments to the supplied log-likelihood")
start <- start[order(oo)]
+ nm <- names(start) ## reordered names needed
f <- function(p){
l <- as.list(p)
names(l) <- nm
diff -urp R-2.4.0.old/src/library/tcltk/man/tcltk-package.Rd R-2.4.0/src/library/tcltk/man/tcltk-package.Rd
--- R-2.4.0.old/src/library/tcltk/man/tcltk-package.Rd 2006-04-09 17:19:08.000000000 -0500
+++ R-2.4.0/src/library/tcltk/man/tcltk-package.Rd 2006-10-28 14:35:52.000000000 -0500
@@ -16,7 +16,7 @@ and references in those files for more.
The Tcl/Tk documentation is in
#ifdef windows
-\code{R_HOME/Tcl/doc}.
+\file{\link{R_HOME}/Tcl/doc}.
#endif
#ifdef unix
the system man pages.
@@ -27,7 +27,7 @@ For a complete list of functions, use \c
#ifdef unix
Note that Tk will not be initialized if there is no \code{DISPLAY}
variable set, but Tcl can still be used. This is most useful to allow
-the loading of a package which depends on \pkg{TclTk} in a session that
+the loading of a package which depends on \pkg{tcltk} in a session that
does not actually use it (e.g. during installation).
#endif
}
diff -urp R-2.4.0.old/src/library/utils/man/unix/RHOME.Rd R-2.4.0/src/library/utils/man/unix/RHOME.Rd
--- R-2.4.0.old/src/library/utils/man/unix/RHOME.Rd 2006-04-09 17:19:06.000000000 -0500
+++ R-2.4.0/src/library/utils/man/unix/RHOME.Rd 2006-10-28 14:35:52.000000000 -0500
@@ -1,6 +1,5 @@
\name{RHOME}
\alias{RHOME}
-\alias{R_HOME}
\title{R Home Directory}
\description{
Returns the location of the \R home directory, which is the root of
diff -urp R-2.4.0.old/src/library/utils/man/windows/clipboard.Rd R-2.4.0/src/library/utils/man/windows/clipboard.Rd
--- R-2.4.0.old/src/library/utils/man/windows/clipboard.Rd 2006-04-09 17:19:05.000000000 -0500
+++ R-2.4.0/src/library/utils/man/windows/clipboard.Rd 2006-11-01 19:41:41.000000000 -0600
@@ -2,6 +2,7 @@
\alias{getClipboardFormats}
\alias{readClipboard}
\alias{writeClipboard}
+\alias{clipboard}
\title{Read/Write to/from the Windows Clipboard}
\description{
Transfer text between a character vector and the Windows clipboard.
@@ -18,8 +19,10 @@ writeClipboard(str, format = 1)
}
\value{
For \code{getClipboardFormats}, an integer vector of available formats.
+
For \code{readClipboard}, a character vector by default, a raw vector if \code{raw} is
\code{TRUE}, or \code{NULL}, if the format is unavailable.
+
For \code{writeClipboard} an invisible logical indicating success or failure.
}
\details{
diff -urp R-2.4.0.old/src/library/utils/R/question.R R-2.4.0/src/library/utils/R/question.R
--- R-2.4.0.old/src/library/utils/R/question.R 2006-04-09 17:19:05.000000000 -0500
+++ R-2.4.0/src/library/utils/R/question.R 2006-10-28 14:35:51.000000000 -0500
@@ -79,12 +79,10 @@ topicName <- function(type, topic)
stop(gettextf("error in trying to evaluate the expression for argument '%s' (%s)",
arg, deparse(argExpr)),
domain = NA)
- methods::"elNamed<-"(sigClasses, arg,
- class(argVal))
+ sigClasses[[arg]] <- class(argVal)
}
else
- methods::"elNamed<-"(sigClasses, arg,
- as.character(argExpr))
+ sigClasses[[arg]] <- as.character(argExpr)
}
}
method <- methods::selectMethod(f, sigClasses, optional=TRUE,
diff -urp R-2.4.0.old/src/library/utils/R/str.R R-2.4.0/src/library/utils/R/str.R
--- R-2.4.0.old/src/library/utils/R/str.R 2006-09-18 21:05:14.000000000 -0500
+++ R-2.4.0/src/library/utils/R/str.R 2006-11-03 19:41:46.000000000 -0600
@@ -103,14 +103,11 @@ str.default <-
mod <- ""; char.like <- FALSE
if(give.attr) a <- attributes(object)#-- save for later...
- if(is.function(object)) {
- cat(if(is.null(ao <- args(object))) deparse(object)
- else { dp <- deparse(ao); paste(dp[-length(dp)], collapse="\n") },"\n")
- } else if (is.null(object))
+ if (is.null(object))
cat(" NULL\n")
else if(S4) {
a <- sapply(methods::.slotNames(object), methods::slot,
- object=object, simplify = FALSE)
+ object=object, simplify = FALSE)
cat("Formal class", " '", paste(cl, collapse = "', '"),
"' [package \"", attr(cl,"package"), "\"] with ",
length(a)," slots\n", sep="")
@@ -120,7 +117,10 @@ str.default <-
nchar.max = nchar.max, give.attr = give.attr, width=width)
return(invisible())
}
- else if(is.list(object)) {
+ else if(is.function(object)) {
+ cat(if(is.null(ao <- args(object))) deparse(object)
+ else { dp <- deparse(ao); paste(dp[-length(dp)], collapse="\n") },"\n")
+ } else if(is.list(object)) {
i.pl <- is.pairlist(object)
is.d.f <- is.data.frame(object)
##?if(is.d.f) std.attr <- c(std.attr, "class", if(is.d.f) "row.names")
diff -urp R-2.4.0.old/src/main/character.c R-2.4.0/src/main/character.c
--- R-2.4.0.old/src/main/character.c 2006-09-04 09:41:33.000000000 -0500
+++ R-2.4.0/src/main/character.c 2006-10-28 14:35:58.000000000 -0500
@@ -718,6 +718,8 @@ SEXP attribute_hidden do_abbrev(SEXP cal
SET_STRING_ELT(ans, i, NA_STRING);
else {
warn = warn | !utf8strIsASCII(CHAR(STRING_ELT(x, i)));
+ if(strlen(CHAR(STRING_ELT(x, i))) >= MAXELTSIZE)
+ errorcall(call, "element %d is too long", i+1);
SET_STRING_ELT(ans, i,
stripchars(STRING_ELT(x, i), minlen));
}
diff -urp R-2.4.0.old/src/main/CommandLineArgs.c R-2.4.0/src/main/CommandLineArgs.c
--- R-2.4.0.old/src/main/CommandLineArgs.c 2006-09-04 09:41:33.000000000 -0500
+++ R-2.4.0/src/main/CommandLineArgs.c 2006-10-29 10:45:43.000000000 -0600
@@ -85,6 +85,10 @@ do_commandArgs(SEXP call, SEXP op, SEXP
return vals;
}
+#ifdef Win32
+extern int R_LoadRconsole;
+#endif
+
void
R_common_command_line(int *pac, char **argv, Rstart Rp)
{
@@ -141,6 +145,9 @@ R_common_command_line(int *pac, char **a
Rp->LoadInitFile = FALSE; /* --no-init-file */
R_RestoreHistory = 0; /* --no-restore-history */
Rp->NoRenviron = TRUE;
+#ifdef Win32
+ R_LoadRconsole = 0;
+#endif
}
else if (!strcmp(*av, "--no-environ")) {
Rp->NoRenviron = TRUE;
@@ -174,6 +181,11 @@ R_common_command_line(int *pac, char **a
R_StdinEnc[30] = '\0';
}
}
+#ifdef Win32
+ else if (!strcmp(*av, "--no-Rconsole")) {
+ R_LoadRconsole = 0;
+ }
+#endif
else if (!strcmp(*av, "-save") ||
!strcmp(*av, "-nosave") ||
!strcmp(*av, "-restore") ||
diff -urp R-2.4.0.old/src/main/connections.c R-2.4.0/src/main/connections.c
--- R-2.4.0.old/src/main/connections.c 2006-09-13 21:05:06.000000000 -0500
+++ R-2.4.0/src/main/connections.c 2006-10-28 14:35:57.000000000 -0500
@@ -1177,7 +1177,7 @@ SEXP attribute_hidden do_gzfile(SEXP cal
PROTECT(ans = allocVector(INTSXP, 1));
INTEGER(ans)[0] = ncon;
PROTECT(class = allocVector(STRSXP, 2));
- SET_STRING_ELT(class, 0, mkChar("file"));
+ SET_STRING_ELT(class, 0, mkChar("gzfile"));
SET_STRING_ELT(class, 1, mkChar("connection"));
classgets(ans, class);
UNPROTECT(2);
diff -urp R-2.4.0.old/src/main/deparse.c R-2.4.0/src/main/deparse.c
--- R-2.4.0.old/src/main/deparse.c 2006-09-11 21:05:02.000000000 -0500
+++ R-2.4.0/src/main/deparse.c 2006-11-03 19:41:47.000000000 -0600
@@ -245,6 +245,7 @@ static SEXP deparse1WithCutoff(SEXP call
if (abbrev) {
char data[14];
strncpy(data, CHAR(STRING_ELT(svec, 0)), 10);
+ data[10] = '\0';
if (strlen(CHAR(STRING_ELT(svec, 0))) > 10) strcat(data, "...");
svec = mkString(data);
} else if(R_BrowseLines > 0 &&
diff -urp R-2.4.0.old/src/main/plot3d.c R-2.4.0/src/main/plot3d.c
--- R-2.4.0.old/src/main/plot3d.c 2006-09-07 21:05:22.000000000 -0500
+++ R-2.4.0/src/main/plot3d.c 2006-10-28 14:35:58.000000000 -0500
@@ -1475,6 +1475,7 @@ SEXP attribute_hidden do_contour(SEXP ca
warning(_("all z values are equal"));
else
warning(_("all z values are NA"));
+ UNPROTECT(4);
return R_NilValue;
}
diff -urp R-2.4.0.old/src/main/saveload.c R-2.4.0/src/main/saveload.c
--- R-2.4.0.old/src/main/saveload.c 2006-09-25 21:05:07.000000000 -0500
+++ R-2.4.0/src/main/saveload.c 2006-10-28 14:35:58.000000000 -0500
@@ -2358,6 +2358,7 @@ SEXP attribute_hidden do_loadFromConn2(S
PROTECT(res = RestoreToEnv(R_Unserialize(&in), aenv));
if (wasopen) {
endcontext(&cntxt);
+ } else {
con->close(con);
}
UNPROTECT(1);
diff -urp R-2.4.0.old/src/main/subscript.c R-2.4.0/src/main/subscript.c
--- R-2.4.0.old/src/main/subscript.c 2006-09-04 09:41:33.000000000 -0500
+++ R-2.4.0/src/main/subscript.c 2006-10-28 14:35:58.000000000 -0500
@@ -369,7 +369,8 @@ static SEXP stringSubscript(SEXP s, int
int i, j, nnames, sub, extra;
int canstretch = *stretch;
#ifdef USE_HASHING
- Rboolean usehashing = in && (ns * nx > 1000);
+ /* product may overflow, so check factors as well. */
+ Rboolean usehashing = in && ( (ns > 1000 && nx) || (nx > 1000 && ns) || (ns * nx > 1000) );
#else
Rboolean usehashing = FALSE;
#endif
diff -urp R-2.4.0.old/src/main/sysutils.c R-2.4.0/src/main/sysutils.c
--- R-2.4.0.old/src/main/sysutils.c 2006-09-07 21:05:22.000000000 -0500
+++ R-2.4.0/src/main/sysutils.c 2006-10-31 19:41:45.000000000 -0600
@@ -170,6 +170,7 @@ FILE *R_popen(char *command, char *type)
#ifdef __APPLE_CC__
/* Luke recommends this to fix PR#1140 */
sigset_t ss;
+ sigemptyset(&ss);
sigaddset(&ss, SIGPROF);
sigprocmask(SIG_BLOCK, &ss, NULL);
fp = popen(command, type);
@@ -187,6 +188,7 @@ int R_system(char *command)
#ifdef __APPLE_CC__
/* Luke recommends this to fix PR#1140 */
sigset_t ss;
+ sigemptyset(&ss);
sigaddset(&ss, SIGPROF);
sigprocmask(SIG_BLOCK, &ss, NULL);
#ifdef HAVE_AQUA
diff -urp R-2.4.0.old/src/modules/X11/dataentry.c R-2.4.0/src/modules/X11/dataentry.c
--- R-2.4.0.old/src/modules/X11/dataentry.c 2006-09-04 09:41:34.000000000 -0500
+++ R-2.4.0/src/modules/X11/dataentry.c 2006-10-28 14:35:58.000000000 -0500
@@ -1046,7 +1046,7 @@ static void printstring(char *ibuf, int
for(j=0;*(wcspc+j)!=L'\0';j++)wcs[j]=*(wcspc+j);
wcs[j]=L'\0';
w_p=wcs;
- cnt=wcsrtombs(s,(const wchar_t **)&w_p,sizeof(wcs),NULL);
+ cnt=wcsrtombs(s,(const wchar_t **)&w_p,sizeof(s)-1,NULL);
s[cnt]='\0';
if (textwidth(s, strlen(s)) < (bw - text_offset)) break;
*(++wcspc) = L'<';
@@ -1056,7 +1056,7 @@ static void printstring(char *ibuf, int
for(j=0;*(wcspc+j)!=L'\0';j++)wcs[j]=*(wcspc+j);
wcs[j]=L'\0';
w_p=wcs;
- cnt=wcsrtombs(s,(const wchar_t **)&w_p,sizeof(wcs),NULL);
+ cnt=wcsrtombs(s,(const wchar_t **)&w_p,sizeof(s)-1,NULL);
s[cnt]='\0';
if (textwidth(s, strlen(s)) < (bw - text_offset)) break;
*(wcspbuf + i - 2) = L'>';
@@ -1066,7 +1066,7 @@ static void printstring(char *ibuf, int
for(j=0;*(wcspc+j)!=L'\0';j++) wcs[j]=*(wcspc+j);
wcs[j]=L'\0';
w_p=wcs;
- cnt=wcsrtombs(s,(const wchar_t **)&w_p,sizeof(wcs),NULL);
+ cnt=wcsrtombs(s,(const wchar_t **)&w_p,sizeof(s)-1,NULL);
drawtext(x_pos + text_offset, y_pos + box_h - text_offset, s, cnt);
@@ -2398,6 +2398,7 @@ static int last_wchar_bytes(char *str)
int cnt;
char last_mbs[8];
char *mbs;
+ size_t bytes;
mbs = (str == NULL) ? buf : str;
@@ -2411,8 +2412,8 @@ static int last_wchar_bytes(char *str)
if(wcs[0] == L'\0') return 0;
memset(last_mbs, 0, sizeof(last_mbs));
- wcrtomb(last_mbs, wcs[cnt-1], &mb_st);
- return(strlen(last_mbs));
+ bytes=wcrtomb(last_mbs, wcs[cnt-1], &mb_st); /* -Wall */
+ return(bytes);
#else
return(1);
#endif
diff -urp R-2.4.0.old/src/modules/X11/rotated.c R-2.4.0/src/modules/X11/rotated.c
--- R-2.4.0.old/src/modules/X11/rotated.c 2006-04-09 17:19:54.000000000 -0500
+++ R-2.4.0/src/modules/X11/rotated.c 2006-10-28 14:35:58.000000000 -0500
@@ -2285,7 +2285,8 @@ static RotatedTextItem
/* where abouts does text actually lie in rotated image? */
/* check angle within 0.5 degrees (0.008 radians) */
if(fabs((double)angle)<0.008 || fabs((double)angle-M_PI/2)<0.008 ||
- fabs((double)angle-M_PI)<0.008 || fabs((double)angle-3*M_PI/2)<0.008) {
+ fabs((double)angle-M_PI)<0.008 || fabs((double)angle-3*M_PI/2)<0.008 ||
+ fabs((double)angle-2*M_PI)<0.008) {
xl=0;
xr=(double)item->cols_out;
xinc=0;
diff -urp R-2.4.0.old/src/scripts/texi2dvi R-2.4.0/src/scripts/texi2dvi
--- R-2.4.0.old/src/scripts/texi2dvi 2006-05-18 04:13:54.000000000 -0500
+++ R-2.4.0/src/scripts/texi2dvi 2006-10-03 07:18:04.000000000 -0500
@@ -27,7 +27,7 @@
# the `--debug' option when making a bug report.
# This string is expanded by rcs automatically when this file is checked out.
-rcs_revision='$Revision: 1.1 $'
+rcs_revision='$Revision: 1.1 $'
rcs_version=`set - $rcs_revision; echo $2`
program=`echo $0 | sed -e 's!.*/!!'`
version="texi2dvi (GNU Texinfo 4.8) $rcs_version
diff -urp R-2.4.0.old/SVN-REVISION R-2.4.0/SVN-REVISION
--- R-2.4.0.old/SVN-REVISION 2006-10-03 05:02:46.000000000 -0500
+++ R-2.4.0/SVN-REVISION 2006-11-03 19:54:14.000000000 -0600
@@ -1,2 +1,2 @@
-Revision: 39566
-Last Changed Date: 2006-10-03
+Revision: 39789
+Last Changed Date: 2006-11-03
diff -urp R-2.4.0.old/tests/no-segfault.Rin R-2.4.0/tests/no-segfault.Rin
--- R-2.4.0.old/tests/no-segfault.Rin 2006-05-18 04:38:21.000000000 -0500
+++ R-2.4.0/tests/no-segfault.Rin 2006-10-28 14:36:01.000000000 -0500
@@ -41,7 +41,7 @@ dev.int <- c("X11", "x11", "pdf", "posts
misc.2 <- c("help.start", "browseEnv",
"gctorture", "q", "quit", "restart", "try",
"read.fwf", "source",## << MM thinks "FIXME"
- "data.entry", "dataentry", "de", apropos("^de\."),
+ "data.entry", "dataentry", "de", apropos("^de\\."),
"chooseCRANmirror", "setRepositories", "select.list")
if(.Platform$OS.type == "windows") {
dev.int <- c(dev.int, "bmp", "windows", "win.graph", "win.print",
diff -urp R-2.4.0.old/tests/reg-plot.ps.save R-2.4.0/tests/reg-plot.ps.save
--- R-2.4.0.old/tests/reg-plot.ps.save 2006-04-09 17:20:05.000000000 -0500
+++ R-2.4.0/tests/reg-plot.ps.save 2006-10-28 14:36:01.000000000 -0500
@@ -768,31 +768,31 @@ o
ep
%%Page: 4 4
bp
-77.04 91.44 793.65 518.24 cl
+106.56 128.16 778.53 488.72 cl
18.00 18.00 823.89 577.28 cl
/ps 18 def /Font1 findfont 18 s
0 0 0 rgb
-111.19 100.22 (50-54) 0 0 0 t
-111.19 115.46 (55-59) 0 0 0 t
-111.19 130.71 (60-64) 0 0 0 t
-111.19 145.95 (65-69) 0 0 0 t
-111.19 161.19 (70-74) 0 0 0 t
-111.19 206.92 (50-54) 0 0 0 t
-111.19 222.16 (55-59) 0 0 0 t
-111.19 237.40 (60-64) 0 0 0 t
-111.19 252.65 (65-69) 0 0 0 t
-111.19 267.89 (70-74) 0 0 0 t
-111.19 313.62 (50-54) 0 0 0 t
-111.19 328.86 (55-59) 0 0 0 t
-111.19 344.10 (60-64) 0 0 0 t
-111.19 359.35 (65-69) 0 0 0 t
-111.19 374.59 (70-74) 0 0 0 t
-111.19 420.32 (50-54) 0 0 0 t
-111.19 435.56 (55-59) 0 0 0 t
-111.19 450.80 (60-64) 0 0 0 t
-111.19 466.05 (65-69) 0 0 0 t
-111.19 481.29 (70-74) 0 0 0 t
-168.93 91.44 793.65 518.24 cl
+126.31 134.57 (50-54) 0 0 0 t
+126.31 147.45 (55-59) 0 0 0 t
+126.31 160.33 (60-64) 0 0 0 t
+126.31 173.21 (65-69) 0 0 0 t
+126.31 186.08 (70-74) 0 0 0 t
+126.31 224.71 (50-54) 0 0 0 t
+126.31 237.59 (55-59) 0 0 0 t
+126.31 250.47 (60-64) 0 0 0 t
+126.31 263.34 (65-69) 0 0 0 t
+126.31 276.22 (70-74) 0 0 0 t
+126.31 314.85 (50-54) 0 0 0 t
+126.31 327.73 (55-59) 0 0 0 t
+126.31 340.61 (60-64) 0 0 0 t
+126.31 353.48 (65-69) 0 0 0 t
+126.31 366.36 (70-74) 0 0 0 t
+126.31 404.99 (50-54) 0 0 0 t
+126.31 417.87 (55-59) 0 0 0 t
+126.31 430.75 (60-64) 0 0 0 t
+126.31 443.62 (65-69) 0 0 0 t
+126.31 456.50 (70-74) 0 0 0 t
+184.05 128.16 778.53 488.72 cl
0.7451 0.7451 0.7451 rgb
0.75 setlinewidth
[ 0.00 4.00] 0 setdash
@@ -800,170 +800,170 @@ bp
1 setlinejoin
10.00 setmiterlimit
np
-168.93 106.68 m
-624.72 0 l
+184.05 141.04 m
+594.48 0 l
o
np
-168.93 121.93 m
-624.72 0 l
+184.05 153.91 m
+594.48 0 l
o
np
-168.93 137.17 m
-624.72 0 l
+184.05 166.79 m
+594.48 0 l
o
np
-168.93 152.41 m
-624.72 0 l
+184.05 179.67 m
+594.48 0 l
o
np
-168.93 167.65 m
-624.72 0 l
+184.05 192.54 m
+594.48 0 l
o
np
-168.93 213.38 m
-624.72 0 l
+184.05 231.18 m
+594.48 0 l
o
np
-168.93 228.62 m
-624.72 0 l
+184.05 244.05 m
+594.48 0 l
o
np
-168.93 243.87 m
-624.72 0 l
+184.05 256.93 m
+594.48 0 l
o
np
-168.93 259.11 m
-624.72 0 l
+184.05 269.81 m
+594.48 0 l
o
np
-168.93 274.35 m
-624.72 0 l
+184.05 282.68 m
+594.48 0 l
o
np
-168.93 320.08 m
-624.72 0 l
+184.05 321.31 m
+594.48 0 l
o
np
-168.93 335.32 m
-624.72 0 l
+184.05 334.19 m
+594.48 0 l
o
np
-168.93 350.57 m
-624.72 0 l
+184.05 347.07 m
+594.48 0 l
o
np
-168.93 365.81 m
-624.72 0 l
+184.05 359.95 m
+594.48 0 l
o
np
-168.93 381.05 m
-624.72 0 l
+184.05 372.82 m
+594.48 0 l
o
np
-168.93 426.78 m
-624.72 0 l
+184.05 411.45 m
+594.48 0 l
o
np
-168.93 442.02 m
-624.72 0 l
+184.05 424.33 m
+594.48 0 l
o
np
-168.93 457.26 m
-624.72 0 l
+184.05 437.21 m
+594.48 0 l
o
np
-168.93 472.51 m
-624.72 0 l
+184.05 450.08 m
+594.48 0 l
o
np
-168.93 487.75 m
-624.72 0 l
+184.05 462.96 m
+594.48 0 l
o
0 0 0 rgb
0.75 setlinewidth
[] 0 setdash
-192.07 106.68 4.05 c p1
-240.04 121.93 4.05 c p1
-292.63 137.17 4.05 c p1
-438.39 152.41 4.05 c p1
-575.85 167.65 4.05 c p1
-256.65 213.38 4.05 c p1
-338.75 228.62 4.05 c p1
-455.92 243.87 4.05 c p1
-618.29 259.11 4.05 c p1
-770.51 274.35 4.05 c p1
-194.84 320.08 4.05 c p1
-222.51 335.32 4.05 c p1
-301.85 350.57 4.05 c p1
-399.64 365.81 4.05 c p1
-615.52 381.05 4.05 c p1
-222.51 426.78 4.05 c p1
-281.56 442.02 4.05 c p1
-362.74 457.26 4.05 c p1
-492.82 472.51 4.05 c p1
-723.46 487.75 4.05 c p1
+206.07 141.04 4.05 c p1
+251.72 153.91 4.05 c p1
+301.76 166.79 4.05 c p1
+440.47 179.67 4.05 c p1
+571.27 192.54 4.05 c p1
+267.52 231.18 4.05 c p1
+345.65 244.05 4.05 c p1
+457.15 256.93 4.05 c p1
+611.66 269.81 4.05 c p1
+756.51 282.68 4.05 c p1
+208.70 321.31 4.05 c p1
+235.04 334.19 4.05 c p1
+310.54 347.07 4.05 c p1
+403.60 359.95 4.05 c p1
+609.02 372.82 4.05 c p1
+235.04 411.45 4.05 c p1
+291.22 424.33 4.05 c p1
+368.48 437.21 4.05 c p1
+492.26 450.08 4.05 c p1
+711.74 462.96 4.05 c p1
18.00 18.00 823.89 577.28 cl
/ps 18 def /Font1 findfont 18 s
0 0 0 rgb
-48.24 496.53 (Rural Male) 0 0 0 t
-48.24 389.83 (Rural Female) 0 0 0 t
-48.24 283.13 (Urban Male) 0 0 0 t
-48.24 176.43 (Urban Female) 0 0 0 t
+63.36 469.38 (Rural Male) 0 0 0 t
+63.36 379.24 (Rural Female) 0 0 0 t
+63.36 289.10 (Urban Male) 0 0 0 t
+63.36 198.96 (Urban Female) 0 0 0 t
0.75 setlinewidth
[] 0 setdash
1 setlinecap
1 setlinejoin
10.00 setmiterlimit
np
-206.83 91.44 m
-553.53 0 l
+220.11 128.16 m
+526.75 0 l
o
np
-206.83 91.44 m
+220.11 128.16 m
0 -10.80 l
o
np
-299.08 91.44 m
+307.90 128.16 m
0 -10.80 l
o
np
-391.34 91.44 m
+395.69 128.16 m
0 -10.80 l
o
np
-483.60 91.44 m
+483.48 128.16 m
0 -10.80 l
o
np
-575.85 91.44 m
+571.27 128.16 m
0 -10.80 l
o
np
-668.11 91.44 m
+659.06 128.16 m
0 -10.80 l
o
np
-760.36 91.44 m
+746.86 128.16 m
0 -10.80 l
o
-206.83 52.56 (10) .5 0 0 t
-299.08 52.56 (20) .5 0 0 t
-391.34 52.56 (30) .5 0 0 t
-483.60 52.56 (40) .5 0 0 t
-575.85 52.56 (50) .5 0 0 t
-668.11 52.56 (60) .5 0 0 t
-760.36 52.56 (70) .5 0 0 t
-np
-168.93 91.44 m
-624.72 0 l
-0 426.80 l
--624.72 0 l
-0 -426.80 l
+220.11 89.28 (10) .5 0 0 t
+307.90 89.28 (20) .5 0 0 t
+395.69 89.28 (30) .5 0 0 t
+483.48 89.28 (40) .5 0 0 t
+571.27 89.28 (50) .5 0 0 t
+659.06 89.28 (60) .5 0 0 t
+746.86 89.28 (70) .5 0 0 t
+np
+184.05 128.16 m
+594.48 0 l
+0 360.56 l
+-594.48 0 l
+0 -360.56 l
o
18.00 18.00 823.89 577.28 cl
/ps 22 def /Font2 findfont 22 s
0 0 0 rgb
-481.29 539.86 (Death Rates in Virginia - 1940) .5 0 0 t
+481.29 525.10 (Death Rates in Virginia - 1940) .5 0 0 t
ep
%%Page: 5 5
bp
@@ -3771,8 +3771,8 @@ np
0 -7.20 l
o
/ps 12 def /Font1 findfont 12 s
-78.70 65.52 (1 e-11) .5 0 0 t
-222.02 65.52 (1 e+53) .5 0 0 t
+78.70 65.52 (1e-11) .5 0 0 t
+222.02 65.52 (1e+53) .5 0 0 t
365.35 65.52 (1e+117) .5 0 0 t
508.68 65.52 (1e+181) .5 0 0 t
652.00 65.52 (1e+245) .5 0 0 t
@@ -3800,8 +3800,8 @@ np
77.04 436.50 m
-7.20 0 l
o
-59.76 92.27 (1 e-10) .5 0 90 t
-59.76 178.32 (1 e+49) .5 0 90 t
+59.76 92.27 (1e-10) .5 0 90 t
+59.76 178.32 (1e+49) .5 0 90 t
59.76 264.38 (1e+108) .5 0 90 t
59.76 350.44 (1e+167) .5 0 90 t
59.76 436.50 (1e+226) .5 0 90 t
diff -urp R-2.4.0.old/tests/reg-tests-1.R R-2.4.0/tests/reg-tests-1.R
--- R-2.4.0.old/tests/reg-tests-1.R 2006-09-25 21:05:07.000000000 -0500
+++ R-2.4.0/tests/reg-tests-1.R 2006-10-28 14:36:01.000000000 -0500
@@ -4494,3 +4494,20 @@ test <- 1:10
try(test[2:4] <- ls) # fails
stopifnot(!exists("*tmp*", where=1))
## was true < 2.4.0
+
+
+## merge on zero-row data frames
+L3 <- LETTERS[1:3]
+d <- data.frame(cbind(x=1, y=1), fac=sample(L3, 1, repl=TRUE))
+e <- d[-1,]
+merge(d, e, by.x = "x", by.y = "x", all.x = TRUE)
+##
+
+
+## PR#9313
+library(stats4)
+g <- function(x, y) -cos(x) + abs(y)
+fit1 <- mle(g, start = list(x = 0, y = 7))
+fit2 <- mle(g, start = list(y = 7, x = 0))
+stopifnot(all.equal(coef(fit1), coef(fit2)))
+## Found different solutions in 2.4.0, as names were not remapped in fit2
diff -urp R-2.4.0.old/tests/reg-tests-2.R R-2.4.0/tests/reg-tests-2.R
--- R-2.4.0.old/tests/reg-tests-2.R 2006-09-22 21:05:09.000000000 -0500
+++ R-2.4.0/tests/reg-tests-2.R 2006-10-28 14:36:01.000000000 -0500
@@ -1988,3 +1988,15 @@ format(matrix(1:16, 4), big.mark = ",")
### end of tests added in 2.4.0 ###
+
+
+## Platform-specific behaviour in lowess reported to R-help
+## 2006-10-12 by Frank Harrell
+x <- c(0,7,8,14,15,120,242)
+y <- c(122,128,130,158,110,110,92)
+lowess(x, y, iter=0)
+lowess(x, y)
+## MAD of iterated residuals was zero, and result depended on the platform.
+
+
+### end of tests added in 2.4.1 ###
diff -urp R-2.4.0.old/tests/reg-tests-2.Rout.save R-2.4.0/tests/reg-tests-2.Rout.save
--- R-2.4.0.old/tests/reg-tests-2.Rout.save 2006-09-25 21:05:07.000000000 -0500
+++ R-2.4.0/tests/reg-tests-2.Rout.save 2006-10-28 14:36:01.000000000 -0500
@@ -1,6 +1,6 @@
-R version 2.4.0 beta (2005-09-25 r39509)
-Copyright (C) The R Foundation for Statistical Computing
+R version 2.5.0 Under development (unstable) (2006-10-15 r39637)
+Copyright (C) 2006 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
R is free software and comes with ABSOLUTELY NO WARRANTY.
@@ -5572,3 +5572,27 @@ Residual standard error: 1.735 on 44 deg
>
> ### end of tests added in 2.4.0 ###
>
+>
+> ## Platform-specific behaviour in lowess reported to R-help
+> ## 2006-10-12 by Frank Harrell
+> x <- c(0,7,8,14,15,120,242)
+> y <- c(122,128,130,158,110,110,92)
+> lowess(x, y, iter=0)
+$x
+[1] 0 7 8 14 15 120 242
+
+$y
+[1] 121.95735 128.00000 131.06649 136.93673 126.76467 109.99903 92.00003
+
+> lowess(x, y)
+$x
+[1] 0 7 8 14 15 120 242
+
+$y
+[1] 122 128 128 158 110 110 92
+
+> ## MAD of iterated residuals was zero, and result depended on the platform.
+>
+>
+> ### end of tests added in 2.4.1 ###
+>
diff -urp R-2.4.0.old/VERSION R-2.4.0/VERSION
--- R-2.4.0.old/VERSION 2006-10-03 05:00:12.000000000 -0500
+++ R-2.4.0/VERSION 2006-10-03 07:19:25.000000000 -0500
@@ -1 +1 @@
-2.4.0
+2.4.0 Patched