comparison src/xdisp.c @ 90314:d1c5430c5bff

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-21 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 97-112) - Update from CVS - Merge from erc--emacs--0 - Update from CVS: src/regex.c (extend_range_table_work_area): Fix typo. - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 37) - Update from CVS
author Miles Bader <miles@gnu.org>
date Wed, 22 Feb 2006 06:54:10 +0000
parents d863760fdf88 b85178809d5c
children 5754737d1e04
comparison
equal deleted inserted replaced
90313:496f6d9b9d20 90314:d1c5430c5bff
9156 FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (FRAME_MENU_BAR_ITEMS (f)); 9156 FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (FRAME_MENU_BAR_ITEMS (f));
9157 9157
9158 /* Redisplay the menu bar in case we changed it. */ 9158 /* Redisplay the menu bar in case we changed it. */
9159 #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \ 9159 #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
9160 || defined (USE_GTK) 9160 || defined (USE_GTK)
9161 if (FRAME_WINDOW_P (f) 9161 if (FRAME_WINDOW_P (f))
9162 #if defined (MAC_OS) 9162 {
9163 /* All frames on Mac OS share the same menubar. So only the 9163 #ifdef MAC_OS
9164 selected frame should be allowed to set it. */ 9164 /* All frames on Mac OS share the same menubar. So only
9165 && f == SELECTED_FRAME () 9165 the selected frame should be allowed to set it. */
9166 if (f == SELECTED_FRAME ())
9166 #endif 9167 #endif
9167 ) 9168 set_frame_menubar (f, 0, 0);
9168 set_frame_menubar (f, 0, 0); 9169 }
9169 else 9170 else
9170 /* On a terminal screen, the menu bar is an ordinary screen 9171 /* On a terminal screen, the menu bar is an ordinary screen
9171 line, and this makes it get updated. */ 9172 line, and this makes it get updated. */
9172 w->update_mode_line = Qt; 9173 w->update_mode_line = Qt;
9173 #else /* ! (USE_X_TOOLKIT || HAVE_NTGUI || MAC_OS || USE_GTK) */ 9174 #else /* ! (USE_X_TOOLKIT || HAVE_NTGUI || MAC_OS || USE_GTK) */
16570 break; 16571 break;
16571 case MODE_LINE_DISPLAY: 16572 case MODE_LINE_DISPLAY:
16572 { 16573 {
16573 int bytepos = last_offset; 16574 int bytepos = last_offset;
16574 int charpos = string_byte_to_char (elt, bytepos); 16575 int charpos = string_byte_to_char (elt, bytepos);
16576
16577 if (precision <= 0)
16578 nchars = string_byte_to_char (elt, offset) - charpos;
16575 n += display_string (NULL, elt, Qnil, 0, charpos, 16579 n += display_string (NULL, elt, Qnil, 0, charpos,
16576 it, 0, prec, 0, 16580 it, 0, nchars, 0,
16577 STRING_MULTIBYTE (elt)); 16581 STRING_MULTIBYTE (elt));
16578 } 16582 }
16579 break; 16583 break;
16580 } 16584 }
16581 } 16585 }
17823 17827
17824 MULTIBYTE zero means do not display multibyte chars, > 0 means do 17828 MULTIBYTE zero means do not display multibyte chars, > 0 means do
17825 display them, and < 0 means obey the current buffer's value of 17829 display them, and < 0 means obey the current buffer's value of
17826 enable_multibyte_characters. 17830 enable_multibyte_characters.
17827 17831
17828 Value is the number of glyphs produced. */ 17832 Value is the number of columns displayed. */
17829 17833
17830 static int 17834 static int
17831 display_string (string, lisp_string, face_string, face_string_pos, 17835 display_string (string, lisp_string, face_string, face_string_pos,
17832 start, it, field_width, precision, max_x, multibyte) 17836 start, it, field_width, precision, max_x, multibyte)
17833 unsigned char *string; 17837 unsigned char *string;