# HG changeset patch # User Richard M. Stallman # Date 739772173 0 # Node ID 72cfde0cd8cdbea52cc901390879bb8e3cd23630 # Parent 0c063224b5d2a6f3c318baea722a5e5730d4cd03 (Fdescribe_vector): Use current buf, not standard-output. (describe_vector_princ): Add newline at end. (store_in_keymap, access_keymap): Use CHAR_META when clearing excess high bits. diff -r 0c063224b5d2 -r 72cfde0cd8cd src/keymap.c --- a/src/keymap.c Fri Jun 11 03:56:44 1993 +0000 +++ b/src/keymap.c Fri Jun 11 04:16:13 1993 +0000 @@ -275,7 +275,7 @@ else if (INTEGERP (idx)) /* Clobber the high bits that can be present on a machine with more than 24 bits of integer. */ - XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1); + XFASTINT (idx) = XINT (idx) & (CHAR_META | (CHAR_META - 1)); { Lisp_Object tail; @@ -375,7 +375,7 @@ else if (INTEGERP (idx)) /* Clobber the high bits that can be present on a machine with more than 24 bits of integer. */ - XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1); + XFASTINT (idx) = XINT (idx) & (CHAR_META | (CHAR_META - 1)); /* Scan the keymap for a binding of idx. */ { @@ -1861,16 +1861,22 @@ Lisp_Object elt; { Fprinc (elt, Qnil); + Fterpri (Qnil); } DEFUN ("describe-vector", Fdescribe_vector, Sdescribe_vector, 1, 1, 0, - "Print on `standard-output' a description of contents of VECTOR.\n\ + "Insert a description of contents of VECTOR.\n\ This is text showing the elements of vector matched against indices.") (vector) Lisp_Object vector; { + int count = specpdl_ptr - specpdl; + + specbind (Qstandard_output, Fcurrent_buffer ()); CHECK_VECTOR (vector, 0); describe_vector (vector, Qnil, describe_vector_princ, 0, Qnil); + + return unbind_to (count, Qnil); } describe_vector (vector, elt_prefix, elt_describer, partial, shadow)