Mercurial > emacs
view oldXMenu/AddSel.c @ 110645:7d7a02c19d8c
Fix int/EMACS_INT use in xdisp.c and print.c.
print.c (print_object): Fix format string and argument types for
printing a Lisp_Misc_Marker.
xdisp.c (pos_visible_p, c_string_pos, number_of_chars)
(load_overlay_strings, get_overlay_strings_1)
(get_overlay_strings, forward_to_next_line_start)
(back_to_previous_visible_line_start, reseat, reseat_to_string)
(get_next_display_element, next_element_from_string)
(next_element_from_c_string, next_element_from_buffer)
(move_it_vertically_backward, move_it_by_lines, add_to_log)
(message_dolog, message_log_check_duplicate, message2_nolog)
(message3, message3_nolog, vmessage, set_message, set_message_1)
(hscroll_window_tree, text_outside_line_unchanged_p)
(set_cursor_from_row, set_vertical_scroll_bar, redisplay_window)
(find_last_unchanged_at_beg_row)
(find_first_unchanged_at_end_row, row_containing_pos)
(trailing_whitespace_p, display_mode_element, decode_mode_spec)
(display_count_lines, x_produce_glyphs, note_mouse_highlight): Use
EMACS_INT for buffer and string positions.
dispextern.h (struct it) <string_nchars>: Declare EMACS_INT.
(row_containing_pos): Adjust prototype.
lisp.h (pos_visible_p, message2, message2_nolog, message3)
(message2_nolog, set_message): Adjust prototypes.
| author | Eli Zaretskii <eliz@gnu.org> |
|---|---|
| date | Wed, 29 Sep 2010 05:06:53 -0400 |
| parents | 5cc91198ffb2 |
| children | ef719132ddfa |
line wrap: on
line source
/* Copyright Massachusetts Institute of Technology 1985 */ #include "copyright.h" /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuAddSelection - Adds a selection to an XMenu object. * * Author: Tony Della Fera, DEC * August, 1985 * */ #include <config.h> #include "XMenuInt.h" int XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char *help) /* Menu object to be modified. */ /* Pane number to be modified. */ /* Data value. */ /* Selection label. */ /* Make selection active? */ /* Help string */ { register XMPane *pane; /* Pane containing the new selection. */ register XMSelect *select; /* Newly created selection. */ int label_length; /* Label lenght in characters. */ int label_width; /* Label width in pixels. */ /* * Check for NULL pointers! */ if (label == NULL) { _XMErrorCode = XME_ARG_BOUNDS; return(XM_FAILURE); } /* * Find the right pane. */ pane = _XMGetPanePtr(menu, p_num); if (pane == NULL) return(XM_FAILURE); /* * Calloc the XMSelect structure. */ select = (XMSelect *)calloc(1, sizeof(XMSelect)); if (select == NULL) { _XMErrorCode = XME_CALLOC; return(XM_FAILURE); } /* * Determine label size. */ label_length = strlen(label); label_width = XTextWidth(menu->s_fnt_info, label, label_length); /* * Fill the XMSelect structure. */ if (!strcmp (label, "--") || !strcmp (label, "---")) { select->type = SEPARATOR; select->active = 0; } else { select->type = SELECTION; select->active = active; } select->serial = -1; select->label = label; select->label_width = label_width; select->label_length = label_length; select->data = data; select->parent_p = pane; select->help_string = help; /* * Insert the selection at the end of the selection list. */ emacs_insque(select, pane->s_list->prev); /* * Update the selection count. */ pane->s_count++; /* * Schedule a recompute. */ menu->recompute = 1; /* * Return the selection number just added. */ _XMErrorCode = XME_NO_ERROR; return((pane->s_count - 1)); } /* arch-tag: 0161f024-c739-440d-9498-050280c6c355 (do not change this comment) */
