comparison src/msdos.c @ 30050:ed1979c6dfb9

* xterm.c (note_mode_line_highlight, note_mouse_highlight) (note_tool_bar_highlight, XTread_socket): * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight) (dos_rawgetc): * w32term.c (note_mode_line_highlight, note_mouse_highlight) (note_tool_bar_highlight, w32_read_socket): Do not gratuitously ignore non-string `help-echo' properties.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 05 Jul 2000 13:41:00 +0000
parents 7da06cd67660
children 5d20e989c3d4
comparison
equal deleted inserted replaced
30049:be64b32cd2a2 30050:ed1979c6dfb9
1373 /* If we're on a string with `help-echo' text property, 1373 /* If we're on a string with `help-echo' text property,
1374 arrange for the help to be displayed. This is done by 1374 arrange for the help to be displayed. This is done by
1375 setting the global variable help_echo to the help string. */ 1375 setting the global variable help_echo to the help string. */
1376 help = Fget_text_property (make_number (glyph->charpos), 1376 help = Fget_text_property (make_number (glyph->charpos),
1377 Qhelp_echo, glyph->object); 1377 Qhelp_echo, glyph->object);
1378 if (STRINGP (help)) 1378 if (!NILP (help))
1379 help_echo = help; 1379 help_echo = help;
1380 } 1380 }
1381 } 1381 }
1382 } 1382 }
1383 1383
1621 Lisp_Object help; 1621 Lisp_Object help;
1622 extern Lisp_Object Qhelp_echo; 1622 extern Lisp_Object Qhelp_echo;
1623 1623
1624 /* Check overlays first. */ 1624 /* Check overlays first. */
1625 help = Qnil; 1625 help = Qnil;
1626 for (i = 0; i < noverlays && !STRINGP (help); ++i) 1626 for (i = 0; i < noverlays && NILP (help); ++i)
1627 help = Foverlay_get (overlay_vec[i], Qhelp_echo); 1627 help = Foverlay_get (overlay_vec[i], Qhelp_echo);
1628 1628
1629 /* Try text properties. */ 1629 /* Try text properties. */
1630 if (!STRINGP (help) 1630 if (NILP (help)
1631 && ((STRINGP (glyph->object) 1631 && ((STRINGP (glyph->object)
1632 && glyph->charpos >= 0 1632 && glyph->charpos >= 0
1633 && glyph->charpos < XSTRING (glyph->object)->size) 1633 && glyph->charpos < XSTRING (glyph->object)->size)
1634 || (BUFFERP (glyph->object) 1634 || (BUFFERP (glyph->object)
1635 && glyph->charpos >= BEGV 1635 && glyph->charpos >= BEGV
1636 && glyph->charpos < ZV))) 1636 && glyph->charpos < ZV)))
1637 help = Fget_text_property (make_number (glyph->charpos), 1637 help = Fget_text_property (make_number (glyph->charpos),
1638 Qhelp_echo, glyph->object); 1638 Qhelp_echo, glyph->object);
1639 1639
1640 if (STRINGP (help)) 1640 if (!NILP (help))
1641 help_echo = help; 1641 help_echo = help;
1642 } 1642 }
1643 1643
1644 BEGV = obegv; 1644 BEGV = obegv;
1645 ZV = ozv; 1645 ZV = ozv;
3237 help_echo = Qnil; 3237 help_echo = Qnil;
3238 IT_note_mouse_highlight (SELECTED_FRAME(), 3238 IT_note_mouse_highlight (SELECTED_FRAME(),
3239 mouse_last_x, mouse_last_y); 3239 mouse_last_x, mouse_last_y);
3240 /* If the contents of the global variable help_echo has 3240 /* If the contents of the global variable help_echo has
3241 changed, generate a HELP_EVENT. */ 3241 changed, generate a HELP_EVENT. */
3242 if (STRINGP (help_echo) || STRINGP (previous_help_echo)) 3242 if (!NILP (help_echo) || !NILP (previous_help_echo))
3243 { 3243 {
3244 event.kind = HELP_EVENT; 3244 event.kind = HELP_EVENT;
3245 event.frame_or_window = Fcons (selected_frame, help_echo); 3245 event.frame_or_window = Fcons (selected_frame, help_echo);
3246 event.timestamp = event_timestamp (); 3246 event.timestamp = event_timestamp ();
3247 kbd_buffer_store_event (&event); 3247 kbd_buffer_store_event (&event);