view src/s/sol2-3.h @ 19711:dc9694ee3f70

(init_menu_items): Disable code. (x_activate_menubar): New function. (initialize_frame_menubar): Pass in new param to set_frame_menubar. (get_frame_menubar_event): Check for the possibility of a menu-bar button. A menu-bar button is a caption on the menu bar with no submenu. (set_frame_menubar): Correctly handle menu-bar buttons. (add_menu_item): Equiv parameter send and paid attention to. (keymap_panes, list_of_panes): Use CreatePopupMenu. (single_keymap_panes): Use CreatePopupMenu. Send key descriptions to add_menu_item. (list_of_items): Use CreatePopupMenu. Send nil description to add_menu_item. (get_menu_event): Send keymap instead of menu to get_keymap_event. (Fx_popup_menu): Extra parameter to mouse_position_hook. Don't send address of menu to win32menu_show. (win32menu_show): Send message to call popup menu rather than trying directly. get_menu_event should take an address. Call eat_mouse_events in order to get rid of any extraneous mouse events. (list_of_panes): Only bring up one pane if the length of the list of panes is one. (single_keymap_panes): Fixed problem with 'descrip' lisp object not being protected properly (GCPRO). (get_single_keymap_event): Fixed problem with 'descrip' lisp object not being protected properly (GCPRO). (name_is_separator): New function. (list_of_panes): If a pane's name is empty ("") items are now placed in the main popup instead of a blank-named submenu. This seems to be an undocumented feature of x-popup-menu. (list_of_items): New argument HMENU. Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item
author Geoff Voelker <voelker@cs.washington.edu>
date Wed, 03 Sep 1997 00:53:34 +0000
parents df451c7f6820
children 63fd40a97a75
line wrap: on
line source

#include "sol2.h"

/* Solaris 2.3 has a bug in XListFontsWithInfo.  */
#define BROKEN_XLISTFONTSWITHINFO

/* Override LD_SWITCH_SYSTEM: add  -L /usr/ccs/lib to the sol2.h value.  */

#undef LD_SWITCH_SYSTEM

#ifndef __GNUC__
#define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX
#else /* GCC */
/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
   has anything in it.  It can be empty.
   This works ok in src.  Luckily lib-src does not use LD_SWITCH_SYSTEM.  */
#define LD_SWITCH_SYSTEM -L /usr/ccs/lib \
 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX`
#endif /* GCC */

/* Info from fnf@cygnus.com suggests this is appropriate.  */
#define POSIX_SIGNALS

/* We don't need the definition from usg5-3.h with POSIX_SIGNALS.  */
#undef sigsetmask

/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
   rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
   work if POSIX_SIGNALS is defined.  It may also be appropriate for SVR4.x
   (x<2) but I'm not sure.   fnf@cygnus.com */
/* This sets the name of the slave side of the PTY.  On SysVr4,
   grantpt(3) forks a subprocess, so keep sigchld_handler() from
   intercepting that death.  If any child but grantpt's should die
   within, it should be caught after sigrelse(2). */

#undef PTY_TTY_NAME_SPRINTF
#define PTY_TTY_NAME_SPRINTF			\
  {						\
    char *ptsname (), *ptyname;			\
						\
    sigblock (sigmask (SIGCLD));		\
    if (grantpt (fd) == -1)			\
      { close (fd); return -1; }		\
    sigunblock (sigmask (SIGCLD));		\
    if (unlockpt (fd) == -1)			\
      { close (fd); return -1; }		\
    if (!(ptyname = ptsname (fd)))		\
      { close (fd); return -1; }		\
    strncpy (pty_name, ptyname, sizeof (pty_name)); \
    pty_name[sizeof (pty_name) - 1] = 0;	\
  }