changeset 9124:8ed50a8939e9

(echo_char, cmd_error_internal, command_loop_1, read_char, kbd_buffer_get_event, make_lispy_event, make_lispy_movement, map_prompt, menu_bar_one_keymap, menu_bar_item, read_char_minibuf_menu_prompt, follow_key, read_key_sequence, Fcommand_execute, Fexecute_extended_command, stuff_buffered_input, quit_throw_to_read_char, Fset_input_mode): Use type test macros.
author Karl Heuer <kwzh@gnu.org>
date Tue, 27 Sep 1994 02:28:15 +0000
parents c225137ddefb
children a78f02f76f03
files src/keyboard.c
diffstat 1 files changed, 60 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/src/keyboard.c	Tue Sep 27 02:26:34 1994 +0000
+++ b/src/keyboard.c	Tue Sep 27 02:28:15 1994 +0000
@@ -543,14 +543,14 @@
       /* If someone has passed us a composite event, use its head symbol.  */
       c = EVENT_HEAD (c);
 
-      if (XTYPE (c) == Lisp_Int)
+      if (INTEGERP (c))
 	{
 	  if (ptr - echobuf > sizeof echobuf - 6)
 	    return;
 
 	  ptr = push_key_description (XINT (c), ptr);
 	}
-      else if (XTYPE (c) == Lisp_Symbol)
+      else if (SYMBOLP (c))
 	{
 	  struct Lisp_String *name = XSYMBOL (c)->name;
 	  if (((ptr - echobuf) + name->size + 4) > sizeof echobuf)
@@ -820,7 +820,7 @@
   if (!NILP (file_error) && !NILP (tail))
     errmsg = XCONS (tail)->car, tail = XCONS (tail)->cdr;
 
-  if (XTYPE (errmsg) == Lisp_String)
+  if (STRINGP (errmsg))
     Fprinc (errmsg, stream);
   else
     write_string_1 ("peculiar error", -1, stream);
@@ -1031,7 +1031,7 @@
 	 switch-frame events will take care of this, but if some lisp
 	 code swallows a switch-frame event, we'll fix things up here.
 	 Is this a good idea?  */
-      if (XTYPE (internal_last_event_frame) == Lisp_Frame
+      if (FRAMEP (internal_last_event_frame)
 	  && XFRAME (internal_last_event_frame) != selected_frame)
 	Fselect_frame (internal_last_event_frame, Qnil);
 #endif
@@ -1162,7 +1162,7 @@
 		}
 	      else if (EQ (this_command, Qself_insert_command)
 		       /* Try this optimization only on ascii keystrokes.  */
-		       && XTYPE (last_command_char) == Lisp_Int)
+		       && INTEGERP (last_command_char))
 		{
 		  unsigned char c = XINT (last_command_char);
 		  int value;
@@ -1211,10 +1211,10 @@
 			      if (lose >= 0x20 && lose <= 0x7e)
 				no_redisplay = direct_output_for_insert (lose);
 			    }
-			  else if (XTYPE (obj) == Lisp_Vector
+			  else if (VECTORP (obj)
 				   && XVECTOR (obj)->size == 1
-				   && (XTYPE (obj = XVECTOR (obj)->contents[0])
-				       == Lisp_Int)
+				   && (obj = XVECTOR (obj)->contents[0],
+				       INTEGERP (obj))
 				   /* Insist face not specified in glyph.  */
 				   && (XINT (obj) & ((-1) << 8)) == 0)
 			    no_redisplay
@@ -1535,7 +1535,7 @@
 	}
       
       c = Faref (Vexecuting_macro, make_number (executing_macro_index));
-      if (XTYPE (Vexecuting_macro) == Lisp_String
+      if (STRINGP (Vexecuting_macro)
 	  && (XINT (c) & 0x80))
 	XFASTINT (c) = CHAR_META | (XINT (c) & ~0x80);
 
@@ -1676,7 +1676,7 @@
       /* Auto save if enough time goes by without input.  */
       if (commandflag != 0
 	  && num_nonmacro_input_chars > last_auto_save
-	  && XTYPE (Vauto_save_timeout) == Lisp_Int
+	  && INTEGERP (Vauto_save_timeout)
 	  && XINT (Vauto_save_timeout) > 0)
 	{
 	  Lisp_Object tem0;
@@ -1718,10 +1718,10 @@
     }
 
   /* Terminate Emacs in batch mode if at eof.  */
-  if (noninteractive && XTYPE (c) == Lisp_Int && XINT (c) < 0)
+  if (noninteractive && INTEGERP (c) && XINT (c) < 0)
     Fkill_emacs (make_number (1));
 
-  if (XTYPE (c) == Lisp_Int)
+  if (INTEGERP (c))
     {
       /* Add in any extra modifiers, where appropriate.  */
       if ((extra_keyboard_modifiers & CHAR_CTL)
@@ -1743,7 +1743,7 @@
 
   /* Buffer switch events are only for internal wakeups
      so don't show them to the user.  */
-  if (XTYPE (c) == Lisp_Buffer)
+  if (BUFFERP (c))
     return c;
 
   if (key_already_recorded)
@@ -1753,13 +1753,13 @@
   echo_area_glyphs = 0;
 
   /* Handle things that only apply to characters.  */
-  if (XTYPE (c) == Lisp_Int)
+  if (INTEGERP (c))
     {
       /* If kbd_buffer_get_event gave us an EOF, return that.  */
       if (XINT (c) == -1)
 	return c;
 
-      if (XTYPE (Vkeyboard_translate_table) == Lisp_String
+      if (STRINGP (Vkeyboard_translate_table)
 	  && XSTRING (Vkeyboard_translate_table)->size > XFASTINT (c))
 	XSETINT (c, XSTRING (Vkeyboard_translate_table)->data[XFASTINT (c)]);
     }
@@ -1774,7 +1774,7 @@
      If you, dear reader, have a better idea, you've got the source.  :-) */
   if (dribble)
     {
-      if (XTYPE (c) == Lisp_Int)
+      if (INTEGERP (c))
 	{
 	  if (XUINT (c) < 0x100)
 	    putc (XINT (c), dribble);
@@ -1788,7 +1788,7 @@
 	  /* If it's a structured event, take the event header.  */
 	  dribblee = EVENT_HEAD (c);
 
-	  if (XTYPE (dribblee) == Lisp_Symbol)
+	  if (SYMBOLP (dribblee))
 	    {
 	      putc ('<', dribble);
 	      fwrite (XSYMBOL (dribblee)->name->data, sizeof (char),
@@ -1831,13 +1831,13 @@
 			     Fcurrent_window_configuration (Qnil));
 
       tem0 = Feval (Vhelp_form);
-      if (XTYPE (tem0) == Lisp_String)
+      if (STRINGP (tem0))
 	internal_with_output_to_temp_buffer ("*Help*", print_help, tem0);
 
       cancel_echoing ();
       do
 	c = read_char (0, 0, 0, Qnil, 0);
-      while (XTYPE (c) == Lisp_Buffer);
+      while (BUFFERP (c));
       /* Remove the help from the frame */
       unbind_to (count, Qnil);
       prepare_menu_bars ();
@@ -1847,7 +1847,7 @@
 	  cancel_echoing ();
 	  do
 	    c = read_char (0, 0, 0, Qnil, 0);
-	  while (XTYPE (c) == Lisp_Buffer);
+	  while (BUFFERP (c));
 	}
     }
 
@@ -2138,7 +2138,7 @@
 	  for (tail = Vframe_list; CONSP (tail); tail = XCONS (tail)->cdr)
 	    {
 	      frame = XCONS (tail)->car;
-	      if (XTYPE (frame) != Lisp_Frame || EQ (frame, event->frame_or_window))
+	      if (!FRAMEP (frame) || EQ (frame, event->frame_or_window))
 		continue;
 	      f = XFRAME (frame);
 	      if (FRAME_VISIBLE_P (f) || FRAME_ICONIFIED_P (f))
@@ -2179,7 +2179,7 @@
 	  Lisp_Object focus;
 
 	  frame = event->frame_or_window;
-	  if (XTYPE (frame) == Lisp_Window)
+	  if (WINDOWP (frame))
 	    frame = WINDOW_FRAME (XWINDOW (frame));
 
 	  focus = FRAME_FOCUS_FRAME (XFRAME (frame));
@@ -2714,7 +2714,7 @@
 
 	    window = window_from_coordinates (f, column, row, &part);
 
-	    if (XTYPE (window) != Lisp_Window)
+	    if (!WINDOWP (window))
 	      {
 		window = event->frame_or_window;
 		posn = Qnil;
@@ -2808,12 +2808,12 @@
 	       of the button that chose the menu item
 	       as a separate event.  */
 
-	    if (XTYPE (start_pos) != Lisp_Cons)
+	    if (!CONSP (start_pos))
 	      return Qnil;
 
 	    event->modifiers &= ~up_modifier;
 #if 0 /* Formerly we treated an up with no down as a click event.  */
-	    if (XTYPE (start_pos) != Lisp_Cons)
+	    if (!CONSP (start_pos))
 	      event->modifiers |= click_modifier;
 	    else
 #endif
@@ -2928,7 +2928,7 @@
       else
 	window = Qnil;
 
-      if (XTYPE (window) == Lisp_Window)
+      if (WINDOWP (window))
 	{
 	  int pixcolumn, pixrow;
 	  column -= XINT (XWINDOW (window)->left);
@@ -3721,7 +3721,7 @@
     {
       register Lisp_Object tem;
       tem = Fcar (map);
-      if (XTYPE (tem) == Lisp_String)
+      if (STRINGP (tem))
 	return tem;
       map = Fcdr (map);
     }
@@ -3886,23 +3886,23 @@
   Lisp_Object tail, item, key, binding, item_string, table;
 
   /* Loop over all keymap entries that have menu strings.  */
-  for (tail = keymap; XTYPE (tail) == Lisp_Cons; tail = XCONS (tail)->cdr)
+  for (tail = keymap; CONSP (tail); tail = XCONS (tail)->cdr)
     {
       item = XCONS (tail)->car;
-      if (XTYPE (item) == Lisp_Cons)
+      if (CONSP (item))
 	{
 	  key = XCONS (item)->car;
 	  binding = XCONS (item)->cdr;
-	  if (XTYPE (binding) == Lisp_Cons)
+	  if (CONSP (binding))
 	    {
 	      item_string = XCONS (binding)->car;
-	      if (XTYPE (item_string) == Lisp_String)
+	      if (STRINGP (item_string))
 		menu_bar_item (key, item_string, Fcdr (binding));
 	    }
 	  else if (EQ (binding, Qundefined))
 	    menu_bar_item (key, Qnil, binding);
 	}
-      else if (XTYPE (item) == Lisp_Vector)
+      else if (VECTORP (item))
 	{
 	  /* Loop over the char values represented in the vector.  */
 	  int len = XVECTOR (item)->size;
@@ -3912,10 +3912,10 @@
 	      Lisp_Object character;
 	      XFASTINT (character) = c;
 	      binding = XVECTOR (item)->contents[c];
-	      if (XTYPE (binding) == Lisp_Cons)
+	      if (CONSP (binding))
 		{
 		  item_string = XCONS (binding)->car;
-		  if (XTYPE (item_string) == Lisp_String)
+		  if (STRINGP (item_string))
 		    menu_bar_item (key, item_string, Fcdr (binding));
 		}
 	      else if (EQ (binding, Qundefined))
@@ -3969,7 +3969,7 @@
   /* See if this entry is enabled.  */
   enabled = Qt;
 
-  if (XTYPE (def) == Lisp_Symbol)
+  if (SYMBOLP (def))
     {
       /* No property, or nil, means enable.
 	 Otherwise, enable if value is not nil.  */
@@ -4182,7 +4182,7 @@
 	  else
 	    elt = Fcar_safe (rest);
 
-	  if (idx < 0 && XTYPE (elt) == Lisp_Vector)
+	  if (idx < 0 && VECTORP (elt))
 	    {
 	      /* If we found a dense table in the keymap,
 		 advanced past it, but start scanning its contents.  */
@@ -4197,7 +4197,7 @@
 		s = Fcar_safe (Fcdr_safe (elt));	/* alist */
 	      else
 		s = Fcar_safe(elt);			/* vector */
-	      if (XTYPE (s) != Lisp_String)
+	      if (!STRINGP (s))
 		/* Ignore the element if it has no prompt string.  */
 		;
 	      /* If we have room for the prompt string, add it to this line.
@@ -4254,16 +4254,16 @@
       defining_kbd_macro = 0 ;
       do
 	obj = read_char (commandflag, 0, 0, Qnil, 0);
-      while (XTYPE (obj) == Lisp_Buffer);
+      while (BUFFERP (obj));
       defining_kbd_macro = orig_defn_macro ;
 
-      if (XTYPE (obj) != Lisp_Int)
+      if (!INTEGERP (obj))
 	return obj;
       else
 	ch = XINT (obj);
 
       if (! EQ (obj, menu_prompt_more_char)
-	  && (XTYPE (menu_prompt_more_char) != Lisp_Int
+	  && (!INTEGERP (menu_prompt_more_char)
 	      || ! EQ (obj, make_number (Ctl (XINT (menu_prompt_more_char))))))
 	{
 	  if ( defining_kbd_macro )
@@ -4301,7 +4301,7 @@
 
   /* If KEY is a meta ASCII character, treat it like meta-prefix-char
      followed by the corresponding non-meta character.  */
-  if (XTYPE (key) == Lisp_Int && (XINT (key) & CHAR_META))
+  if (INTEGERP (key) && (XINT (key) & CHAR_META))
     {
       for (i = 0; i < nmaps; i++)
 	if (! NILP (current[i]))
@@ -4639,7 +4639,7 @@
 	  /* read_char returns -1 at the end of a macro.
 	     Emacs 18 handles this by returning immediately with a
 	     zero, so that's what we'll do.  */
-	  if (XTYPE (key) == Lisp_Int && XINT (key) == -1)
+	  if (INTEGERP (key) && XINT (key) == -1)
 	    {
 	      t = 0;
 	      goto done;
@@ -4647,7 +4647,7 @@
 	  
 	  /* If the current buffer has been changed from under us, the
 	     keymap may have changed, so replay the sequence.  */
-	  if (XTYPE (key) == Lisp_Buffer)
+	  if (BUFFERP (key))
 	    {
 	      mock_input = t;
 	      goto replay_sequence;
@@ -4692,7 +4692,7 @@
 
 	      window = POSN_WINDOW      (EVENT_START (key));
 	      posn   = POSN_BUFFER_POSN (EVENT_START (key));
-	      if (XTYPE (posn) == Lisp_Cons)
+	      if (CONSP (posn))
 		{
 		  /* We're looking at the second event of a
 		     sequence which we expanded before.  Set
@@ -4706,8 +4706,8 @@
 		 not the current buffer.  If we're at the
 		 beginning of a key sequence, switch buffers.  */
 	      if (last_real_key_start == 0
-		  && XTYPE (window) == Lisp_Window
-		  && XTYPE (XWINDOW (window)->buffer) == Lisp_Buffer
+		  && WINDOWP (window)
+		  && BUFFERP (XWINDOW (window)->buffer)
 		  && XBUFFER (XWINDOW (window)->buffer) != current_buffer)
 		{
 		  keybuf[t] = key;
@@ -4728,7 +4728,7 @@
 		  set_buffer_internal (XBUFFER (XWINDOW (window)->buffer));
 		  goto replay_sequence;
 		}
-	      else if (XTYPE (posn) == Lisp_Symbol)
+	      else if (SYMBOLP (posn))
 		{
 		  /* Expand mode-line and scroll-bar events into two events:
 		     use posn as a fake prefix key.  */
@@ -4788,7 +4788,7 @@
 		  mock_input = t + 2;
 		  goto replay_sequence;
 		}
-	      else if (XTYPE (posn) == Lisp_Cons)
+	      else if (CONSP (posn))
 		{
 		  /* We're looking at the second event of a
 		     sequence which we expanded before.  Set
@@ -4822,7 +4822,7 @@
 	      goto done;
 	    }
 
-	  if (XTYPE (head) == Lisp_Symbol)
+	  if (SYMBOLP (head))
 	    {
 	      Lisp_Object breakdown;
 	      int modifiers;
@@ -4949,7 +4949,7 @@
 	      key = keybuf[fkey_end++];
 	      /* Look up meta-characters by prefixing them
 		 with meta_prefix_char.  I hate this.  */
-	      if (XTYPE (key) == Lisp_Int && XINT (key) & meta_modifier)
+	      if (INTEGERP (key) && XINT (key) & meta_modifier)
 		{
 		  fkey_next
 		    = get_keymap_1
@@ -5053,7 +5053,7 @@
 	    key = keybuf[keytran_end++];
 	    /* Look up meta-characters by prefixing them
 	       with meta_prefix_char.  I hate this.  */
-	    if (XTYPE (key) == Lisp_Int && XINT (key) & meta_modifier)
+	    if (INTEGERP (key) && XINT (key) & meta_modifier)
 	      {
 		keytran_next
 		  = get_keymap_1
@@ -5139,7 +5139,7 @@
 	 and is an upper case letter
 	 use the corresponding lower-case letter instead.  */
       if (first_binding == nmaps && ! function_key_possible
-	  && XTYPE (key) == Lisp_Int
+	  && INTEGERP (key)
 	  && ((((XINT (key) & 0x3ffff)
 		< XSTRING (current_buffer->downcase_table)->size)
 	       && UPPERCASEP (XINT (key) & 0x3ffff))
@@ -5272,7 +5272,7 @@
   Vcurrent_prefix_arg = prefixarg;
   debug_on_next_call = 0;
 
-  if (XTYPE (cmd) == Lisp_Symbol)
+  if (SYMBOLP (cmd))
     {
       tem = Fget (cmd, Qdisabled);
       if (!NILP (tem) && !NILP (Vrun_hooks))
@@ -5289,8 +5289,7 @@
 	break;
     }
 
-  if (XTYPE (final) == Lisp_String
-      || XTYPE (final) == Lisp_Vector)
+  if (STRINGP (final) || VECTORP (final))
     {
       /* If requested, place the macro in the command history.  For
 	 other sorts of commands, call-interactively takes care of
@@ -5303,8 +5302,7 @@
 
       return Fexecute_kbd_macro (final, prefixarg);
     }
-  if (CONSP (final) || XTYPE (final) == Lisp_Subr
-      || XTYPE (final) == Lisp_Compiled)
+  if (CONSP (final) || SUBRP (final) || COMPILEDP (final))
     {
       backtrace.next = backtrace_list;
       backtrace_list = &backtrace;
@@ -5341,9 +5339,9 @@
     strcpy (buf, "- ");
   else if (CONSP (prefixarg) && XINT (XCONS (prefixarg)->car) == 4)
     strcpy (buf, "C-u ");
-  else if (CONSP (prefixarg) && XTYPE (XCONS (prefixarg)->car) == Lisp_Int)
+  else if (CONSP (prefixarg) && INTEGERP (XCONS (prefixarg)->car))
     sprintf (buf, "%d ", XINT (XCONS (prefixarg)->car));
-  else if (XTYPE (prefixarg) == Lisp_Int)
+  else if (INTEGERP (prefixarg))
     sprintf (buf, "%d ", XINT (prefixarg));
 
   /* This isn't strictly correct if execute-extended-command
@@ -5574,7 +5572,7 @@
 /* stuff_char works only in BSD, versions 4.2 and up.  */
 #ifdef BSD
 #ifndef BSD4_1
-  if (XTYPE (stuffstring) == Lisp_String)
+  if (STRINGP (stuffstring))
     {
       register int count;
 
@@ -5762,7 +5760,7 @@
     abort ();
 #endif
 #ifdef MULTI_FRAME
-  if (XTYPE (internal_last_event_frame) == Lisp_Frame
+  if (FRAMEP (internal_last_event_frame)
       && XFRAME (internal_last_event_frame) != selected_frame)
     Fhandle_switch_frame (make_lispy_switch_frame (internal_last_event_frame));
 #endif
@@ -5785,8 +5783,7 @@
      Lisp_Object interrupt, flow, meta, quit;
 {
   if (!NILP (quit)
-      && (XTYPE (quit) != Lisp_Int
-	  || XINT (quit) < 0 || XINT (quit) > 0400))
+      && (!INTEGERP (quit) || XINT (quit) < 0 || XINT (quit) > 0400))
     error ("set-input-mode: QUIT must be an ASCII character");
 
 #ifdef POLL_FOR_INPUT