changeset 3632:72cfde0cd8cd

(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.
author Richard M. Stallman <rms@gnu.org>
date Fri, 11 Jun 1993 04:16:13 +0000
parents 0c063224b5d2
children 47680ad33068
files src/keymap.c
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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)