Mercurial > emacs
view src/ndir.h @ 6291:38ec8e76594f
(Fx_popup_menu): If POSITION is nil,
don't require an open X connection.
(single_keymap_panes, keymap_panes, menu_item_enabled_p): New arg NOTREAL.
(Fx_popup_menu): Pass new arg (1 if POSITION is nil).
(menu_item_enabled_p): If NOTREAL, always return t.
(single_keymap_panes) [!USE_X_TOOLKIT]:
Append > to item_string if submenu.
[USE_X_TOOLKIT]: Display submenus in Xt style.
(menu_items): Record where submenus start and end.
(menu_items_submenu_depth): New variable.
(init_menu_items): Init it.
(push_submenu_start, push_submenu_end): New functions.
(grow_menu_items): New function.
(push_menu_pane, push_menu_item): Use it.
(push_menu_pane): Increment menu_items_n_panes only if depth is 0.
(single_keymap_panes) [USE_X_TOOLKIT]: Record submenus in menu_items.
(xmenu_show) [USE_X_TOOLKIT]: Give submenus to toolkit.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 10 Mar 1994 17:03:21 +0000 |
parents | 321b22a46f7a |
children | b8fc349121d1 |
line wrap: on
line source
/* <dir.h> -- definitions for 4.2BSD-compatible directory access last edit: 09-Jul-1983 D A Gwyn */ #ifdef VMS #ifndef FAB$C_BID #include <fab.h> #endif #ifndef NAM$C_BID #include <nam.h> #endif #ifndef RMS$_SUC #include <rmsdef.h> #endif #include "vmsdir.h" #endif /* VMS */ #define DIRBLKSIZ 512 /* size of directory block */ #ifdef VMS #define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */ #define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */ #else #define MAXNAMLEN 15 /* maximum filename length */ #endif /* VMS */ /* NOTE: MAXNAMLEN must be one less than a multiple of 4 */ struct direct /* data from readdir() */ { long d_ino; /* inode number of entry */ unsigned short d_reclen; /* length of this record */ unsigned short d_namlen; /* length of string in d_name */ char d_name[MAXNAMLEN+1]; /* name of file */ }; typedef struct { int dd_fd; /* file descriptor */ int dd_loc; /* offset in block */ int dd_size; /* amount of valid data */ char dd_buf[DIRBLKSIZ]; /* directory block */ } DIR; /* stream data from opendir() */ extern DIR *opendir(); extern struct direct *readdir(); extern long telldir(); extern void seekdir(); extern void closedir(); #define rewinddir( dirp ) seekdir( dirp, 0L )