/* nemode.h: this header file was produced automatically by
 * the ./mktbls program, based on input from the file ./modetbl
 */
#ifndef	Member_Offset
#define	Member_Offset(T,M) ((int)(((long)&(((T*)0)->M))/\
				 ((long)&(((T*)0)->Q1) - (long)&(((T*)0)->s_MAX))))
#endif

#ifdef realdef
/*
 * List of strings shared between all_modes, b_valnames and w_valnames
 */
static const char
#if (OPT_EVAL)
	s_abufname__[]		= "abufname",			/* state */
#endif
#if OPT_COLOR&&!SMALLER
	s_ac__[]		= "ac",				/* int */
#endif
	s_after__[]		= "after",			/* string */
	s_all__[]		= "all",			/* ? */
	s_ascnt__[]		= "ascnt",			/* int */
#if OPT_COLOR&&!SMALLER
	s_autocolor__[]		= "autocolor",			/* int */
#endif
#if (OPT_EVAL) && (OPT_HOOKS&&OPT_COLOR)
	s_autocolor_hook__[]	= "autocolor-hook",		/* state */
#endif
	s_autosavecnt__[]	= "autosavecnt",		/* int */
#if OPT_FILEBACK
	s_backup_style__[]	= "backup-style",		/* string */
#endif
#if (OPT_EVAL)
	s_bchars__[]		= "bchars",			/* state */
#endif
#if OPT_COLOR
	s_bcolor__[]		= "bcolor",			/* enum */
#endif
	s_before__[]		= "before",			/* string */
#if (OPT_EVAL)
	s_bflags__[]		= "bflags",			/* state */
	s_blines__[]		= "blines",			/* state */
#endif
#if (OPT_EVAL) && (DISP_NTWIN)
	s_brightness__[]	= "brightness",			/* state */
#endif
#if (OPT_EVAL) && (OPT_HOOKS)
	s_buffer_hook__[]	= "buffer-hook",		/* state */
#endif
#if (OPT_EVAL)
	s_bwindows__[]		= "bwindows",			/* state */
#endif
#if OPT_MAJORMODE
	s_c_preamble__[]	= "c-preamble",			/* REGEX */
#endif
#if !OPT_MAJORMODE
	s_c_shiftwidth__[]	= "c-shiftwidth",		/* int */
#endif
#if (OPT_MAJORMODE)
	s_c_shiftwidth__[]	= "c-shiftwidth",		/* INT */
#endif
#if !OPT_MAJORMODE
	s_c_suffixes__[]	= "c-suffixes",			/* regex */
#endif
#if OPT_MAJORMODE
	s_c_suffixes__[]	= "c-suffixes",			/* REGEX */
#endif
#if !OPT_MAJORMODE
	s_c_tabstop__[]		= "c-tabstop",			/* int */
#endif
#if (OPT_MAJORMODE)
	s_c_tabstop__[]		= "c-tabstop",			/* INT */
#endif
#if (OPT_EVAL)
	s_cbufname__[]		= "cbufname",			/* state */
#endif
#if OPT_COLOR
	s_ccolor__[]		= "ccolor",			/* enum */
#endif
#if (OPT_EVAL) && (OPT_HOOKS)
	s_cd_hook__[]		= "cd-hook",			/* state */
#endif
#if (OPT_EVAL) && (OPT_PATHLOOKUP)
	s_cdpath__[]		= "cdpath",			/* state */
#endif
#if (OPT_EVAL)
	s_cfgopts__[]		= "cfgopts",			/* state */
	s_cfilname__[]		= "cfilname",			/* state */
	s_char__[]		= "char",			/* state */
#endif
	s_cic__[]		= "cic",			/* string */
	s_cindent_chars__[]	= "cindent-chars",		/* string */
#if (OPT_EVAL) && (OPT_EVAL)
	s_cmd_count__[]		= "cmd-count",			/* state */
#endif
#if OPT_COLOR_SCHEMES
	s_color_scheme__[]	= "color-scheme",		/* enum */
#endif
	s_comment_prefix__[]	= "comment-prefix",		/* regex */
	s_comments__[]		= "comments",			/* regex */
#if OPT_MAJORMODE
	s_cpre__[]		= "cpre",			/* REGEX */
#endif
#if (OPT_EVAL) && (OPT_ENCRYPT)
	s_cryptkey__[]		= "cryptkey",			/* state */
#endif
#if OPT_COLOR_SCHEMES
	s_cs__[]		= "cs",				/* enum */
#endif
#if !OPT_MAJORMODE
	s_csuf__[]		= "csuf",			/* regex */
#endif
#if OPT_MAJORMODE
	s_csuf__[]		= "csuf",			/* REGEX */
#endif
#if !OPT_MAJORMODE
	s_csw__[]		= "csw",			/* int */
#endif
#if (OPT_MAJORMODE)
	s_csw__[]		= "csw",			/* INT */
#endif
#if !OPT_MAJORMODE
	s_cts__[]		= "cts",			/* int */
#endif
#if (OPT_MAJORMODE)
	s_cts__[]		= "cts",			/* INT */
#endif
#if (OPT_EVAL) && (!SMALLER)
	s_curchar__[]		= "curchar",			/* state */
#endif
#if (OPT_EVAL)
	s_curcol__[]		= "curcol",			/* state */
	s_curline__[]		= "curline",			/* state */
#endif
#if (OPT_EVAL) && (OPT_SHELL)
	s_cwd__[]		= "cwd",			/* state */
#endif
#if (OPT_EVAL)
	s_cwline__[]		= "cwline",			/* state */
	s_debug__[]		= "debug",			/* state */
#endif
#if (OPT_EVAL) && (OPT_SHELL)
	s_directory__[]		= "directory",			/* state */
#endif
#if (OPT_EVAL)
	s_discmd__[]		= "discmd",			/* state */
	s_disinp__[]		= "disinp",			/* state */
	s_end_of_cmd__[]	= "end-of-cmd",			/* state */
#endif
#if (OPT_EVAL) && (OPT_FINDERR)
	s_error_buffer__[]	= "error-buffer",		/* state */
	s_error_expr__[]	= "error-expr",			/* state */
	s_error_match__[]	= "error-match",		/* state */
#endif
#if (OPT_EVAL)
	s_exec_path__[]		= "exec-path",			/* state */
	s_exec_suffix__[]	= "exec-suffix",		/* state */
#endif
#if (OPT_EVAL) && (OPT_HOOKS)
	s_exit_hook__[]		= "exit-hook",			/* state */
#endif
	s_expand_chars__[]	= "expand-chars",		/* string */
#if (OPT_EVAL) && (SYS_WINNT)
	s_favorites__[]		= "favorites",			/* state */
#endif
	s_fc__[]		= "fc",				/* int */
#if OPT_COLOR
	s_fcolor__[]		= "fcolor",			/* enum */
#endif
	s_fence_begin__[]	= "fence-begin",		/* regex */
	s_fence_elif__[]	= "fence-elif",			/* regex */
	s_fence_else__[]	= "fence-else",			/* regex */
	s_fence_end__[]		= "fence-end",			/* regex */
	s_fence_fi__[]		= "fence-fi",			/* regex */
	s_fence_if__[]		= "fence-if",			/* regex */
#if OPT_MAJORMODE
	s_fence_limit__[]	= "fence-limit",		/* int */
#endif
	s_fence_pairs__[]	= "fence-pairs",		/* string */
	s_fences__[]		= "fences",			/* string */
#if (OPT_EVAL) && (OPT_FINDERR)
	s_filename_expr__[]	= "filename-expr",		/* state */
#endif
#if (OPT_EVAL)
	s_filename_ic__[]	= "filename-ic",		/* state */
#endif
	s_fillcol__[]		= "fillcol",			/* int */
#if (OPT_EVAL) && (OPT_FILTER)
	s_filter_list__[]	= "filter-list",		/* state */
#endif
#if OPT_MAJORMODE
	s_filtername__[]	= "filtername",			/* string */
#endif
#if OPT_FINDPATH
	s_find_cfg__[]		= "find-cfg",			/* string */
#endif
#if (OPT_EVAL) && (OPT_FINDPATH)
	s_find_cmd__[]		= "find-cmd",			/* state */
	s_findpath__[]		= "findpath",			/* state */
#endif
#if OPT_MAJORMODE
	s_fn__[]		= "fn",				/* string */
#endif
#if (OPT_EVAL) && (DISP_X11||DISP_NTWIN)
	s_font__[]		= "font",			/* state */
#endif
#if (OPT_EVAL)
	s_forward_search__[]	= "forward-search",		/* state */
#endif
#if OPT_GLOB_PIPE
	s_glob__[]		= "glob",			/* string */
#endif
	s_group__[]		= "group",			/* string */
#if (OPT_EVAL)
	s_helpfile__[]		= "helpfile",			/* state */
#endif
#if (OPT_EVAL) && (DISP_X11)
	s_iconname__[]		= "iconname",			/* state */
#endif
#if OPT_ICURSOR
	s_icursor__[]		= "icursor",			/* string */
#endif
#if (OPT_EVAL)
	s_identifier__[]	= "identifier",			/* state */
	s_kbd_macro__[]		= "kbd-macro",			/* state */
	s_kill__[]		= "kill",			/* state */
	s_lastkey__[]		= "lastkey",			/* state */
	s_lcols__[]		= "lcols",			/* state */
	s_libdir_path__[]	= "libdir-path",		/* state */
	s_line__[]		= "line",			/* state */
	s_llength__[]		= "llength",			/* state */
#endif
#if OPT_LCKFILES
	s_locker__[]		= "locker",			/* string */
#endif
#if (OPT_EVAL) && (OPT_MAJORMODE)
	s_majormode__[]		= "majormode",			/* state */
#endif
#if (OPT_EVAL) && (OPT_HOOKS&&OPT_MAJORMODE)
	s_majormode_hook__[]	= "majormode-hook",		/* state */
#endif
	s_maplength__[]		= "maplength",			/* int */
#if (OPT_EVAL)
	s_match__[]		= "match",			/* state */
#endif
#if OPT_HILITEMATCH
	s_mcolor__[]		= "mcolor",			/* enum */
#endif
#if (OPT_EVAL) && (OPT_MENUS)
	s_menu_file__[]		= "menu-file",			/* state */
#endif
	s_mh__[]		= "mh",				/* enum */
	s_mini_hilite__[]	= "mini-hilite",		/* enum */
#if (OPT_EVAL)
	s_mode__[]		= "mode",			/* state */
#endif
#if (OPT_EVAL) && (OPT_MLFORMAT)
	s_modeline_format__[]	= "modeline-format",		/* state */
#endif
#if (OPT_EVAL)
	s_modified__[]		= "modified",			/* state */
#endif
	s_name__[]		= "name",			/* string */
#if (OPT_EVAL)
	s_ncolors__[]		= "ncolors",			/* state */
#endif
	s_noab__[]		= "noab",			/* Bool */
	s_noai__[]		= "noai",			/* Bool */
#if SYS_VMS
	s_noallversions__[]	= "noallversions",		/* Bool */
#endif
	s_noalt_tabpos__[]	= "noalt-tabpos",		/* Bool */
#if OPT_UPBUFF
	s_noanimated__[]	= "noanimated",			/* Bool */
#endif
	s_noas__[]		= "noas",			/* Bool */
	s_noatp__[]		= "noatp",			/* Bool */
	s_noautobuffer__[]	= "noautobuffer",		/* Bool */
	s_noautoindent__[]	= "noautoindent",		/* Bool */
	s_noautosave__[]	= "noautosave",			/* Bool */
	s_noautowrite__[]	= "noautowrite",		/* Bool */
#if SYS_VMS
	s_noav__[]		= "noav",			/* Bool */
#endif
	s_noaw__[]		= "noaw",			/* Bool */
	s_nobackspacelimit__[]  = "nobackspacelimit",		/* Bool */
	s_nobl__[]		= "nobl",			/* Bool */
#if OPT_SHELL
	s_nocd_on_open__[]	= "nocd-on-open",		/* Bool */
#endif
#if !SMALLER
	s_nocheck_modtime__[]	= "nocheck-modtime",		/* Bool */
#endif
	s_noci__[]		= "noci",			/* Bool */
	s_nocindent__[]		= "nocindent",			/* Bool */
#if !OPT_MAJORMODE
	s_nocmode__[]		= "nocmode",			/* Bool */
#endif
#if OPT_MAJORMODE
	s_nocmode__[]		= "nocmode",			/* Bool */
#endif
#if OPT_ENCRYPT
	s_nocrypt__[]		= "nocrypt",			/* Bool */
#endif
#if COMPLETE_DIRS
	s_nodirc__[]		= "nodirc",			/* Bool */
#endif
	s_nodos__[]		= "nodos",			/* Bool */
	s_noeb__[]		= "noeb",			/* Bool */
	s_noerrorbells__[]	= "noerrorbells",		/* Bool */
	s_noexpand_path__[]	= "noexpand-path",		/* Bool */
#if OPT_FLASH
	s_noflash__[]		= "noflash",			/* Bool */
#endif
#if SYS_WINNT&&DISP_NTWIN
	s_noforce_console__[]	= "noforce-console",		/* Bool */
#endif
#if !OPT_GLOB_PIPE
	s_noglob__[]		= "noglob",			/* Bool */
#endif
#if OPT_HISTORY
	s_nohi__[]		= "nohi",			/* Bool */
#endif
#if OPT_MAJORMODE
	s_nohighlight__[]	= "nohighlight",		/* Bool */
#endif
#if OPT_HISTORY
	s_nohistory__[]		= "nohistory",			/* Bool */
#endif
#if OPT_MAJORMODE
	s_nohl__[]		= "nohl",			/* Bool */
#endif
	s_nohorizscroll__[]	= "nohorizscroll",		/* Bool */
	s_nohs__[]		= "nohs",			/* Bool */
	s_noib__[]		= "noib",			/* Bool */
	s_noic__[]		= "noic",			/* Bool */
	s_noie__[]		= "noie",			/* Bool */
	s_noignorecase__[]	= "noignorecase",		/* Bool */
	s_noimplybuffer__[]	= "noimplybuffer",		/* Bool */
	s_noinsert_exec__[]	= "noinsert-exec",		/* Bool */
	s_noli__[]		= "noli",			/* Bool */
#if OPT_LINEWRAP
	s_nolinewrap__[]	= "nolinewrap",			/* Bool */
#endif
	s_nolist__[]		= "nolist",			/* Bool */
	s_noloading__[]		= "noloading",			/* Bool */
#if OPT_LCKFILES
	s_nolocked__[]		= "nolocked",			/* Bool */
#endif
#if OPT_LINEWRAP
	s_nolw__[]		= "nolw",			/* Bool */
#endif
	s_nomagic__[]		= "nomagic",			/* Bool */
	s_nomaplonger__[]	= "nomaplonger",		/* Bool */
	s_nometa_insert_bindings__[] = "nometa-insert-bindings", /* Bool */
	s_nomib__[]		= "nomib",			/* Bool */
#if SYS_OS2
	s_nomouse__[]		= "nomouse",			/* Bool */
#endif
	s_nomultibeep__[]	= "nomultibeep",		/* Bool */
	s_nonewline__[]		= "nonewline",			/* Bool */
	s_nonl__[]		= "nonl",			/* Bool */
	s_nonu__[]		= "nonu",			/* Bool */
	s_nonumber__[]		= "nonumber",			/* Bool */
#if OPT_HILITEMATCH
	s_nooverlap_matches__[] = "nooverlap-matches",		/* Bool */
#endif
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	s_nopc__[]		= "nopc",			/* Bool */
#endif
	s_nopin_tagstack__[]	= "nopin-tagstack",		/* Bool */
#if OPT_POPUP_MSGS
	s_nopm__[]		= "nopm",			/* Bool */
#endif
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	s_nopopup_choices__[]	= "nopopup-choices",		/* Bool */
#endif
#if SYS_WINNT&&DISP_NTWIN
	s_nopopup_menu__[]	= "nopopup-menu",		/* Bool */
#endif
#if OPT_POPUP_MSGS
	s_nopopup_msgs__[]	= "nopopup-msgs",		/* Bool */
#endif
	s_noreadonly__[]	= "noreadonly",			/* Bool */
	s_noreadonly_on_readonly__[] = "noreadonly-on-readonly", /* Bool */
	s_noremap__[]		= "noremap",			/* Bool */
	s_noremapfirst__[]	= "noremapfirst",		/* Bool */
#if defined(HAVE_SYMLINK)
	s_noresolve_links__[]	= "noresolve-links",		/* Bool */
#endif
	s_noro__[]		= "noro",			/* Bool */
	s_nororo__[]		= "nororo",			/* Bool */
#if !SMALLER
	s_noruler__[]		= "noruler",			/* Bool */
#endif
	s_nosamebangs__[]	= "nosamebangs",		/* Bool */
	s_nosas__[]		= "nosas",			/* Bool */
	s_nosb__[]		= "nosb",			/* Bool */
	s_noshowmatch__[]	= "noshowmatch",		/* Bool */
	s_noshowmode__[]	= "noshowmode",			/* Bool */
#if OPT_HEAPSIZE
	s_noshowram__[]		= "noshowram",			/* Bool */
#endif
	s_nosm__[]		= "nosm",			/* Bool */
	s_nosmd__[]		= "nosmd",			/* Bool */
	s_nosmoothscroll__[]	= "nosmoothscroll",		/* Bool */
	s_nospaces_after_sentence__[] = "nospaces-after-sentence", /* Bool */
#if OPT_HEAPSIZE
	s_nosr__[]		= "nosr",			/* Bool */
#endif
	s_noss__[]		= "noss",			/* Bool */
#if OPT_TITLE
	s_noswap_title__[]	= "noswap-title",		/* Bool */
#endif
	s_notabinsert__[]	= "notabinsert",		/* Bool */
#if !SMALLER
	s_notagignorecase__[]	= "notagignorecase",		/* Bool */
#endif
	s_notagrelative__[]	= "notagrelative",		/* Bool */
	s_notagword__[]		= "notagword",			/* Bool */
#if !SMALLER
	s_notc__[]		= "notc",			/* Bool */
#endif
	s_noterse__[]		= "noterse",			/* Bool */
#if OPT_SELECTIONS
	s_noterse_selections__[] = "noterse-selections",	/* Bool */
#endif
	s_noti__[]		= "noti",			/* Bool */
	s_notr__[]		= "notr",			/* Bool */
#if OPT_SELECTIONS
	s_notsel__[]		= "notsel",			/* Bool */
#endif
	s_notw__[]		= "notw",			/* Bool */
	s_noua__[]		= "noua",			/* Bool */
	s_noudt__[]		= "noudt",			/* Bool */
	s_noundo_dos_trim__[]	= "noundo-dos-trim",		/* Bool */
	s_noundoable__[]	= "noundoable",			/* Bool */
	s_nounique_buffers__[]  = "nounique-buffers",		/* Bool */
	s_nounprintable_as_octal__[] = "nounprintable-as-octal", /* Bool */
	s_nouo__[]		= "nouo",			/* Bool */
#if OPT_LCKFILES
	s_nousefilelock__[]	= "nousefilelock",		/* Bool */
#endif
	s_noview__[]		= "noview",			/* Bool */
	s_noview_on_readonly__[] = "noview-on-readonly",	/* Bool */
	s_noviewro__[]		= "noviewro",			/* Bool */
#if OPT_MAJORMODE
	s_novilemode__[]	= "novilemode",			/* Bool */
#endif
#if OPT_W32PIPES
	s_now32pipes__[]	= "now32pipes",			/* Bool */
#endif
#if !SMALLER
	s_nowarn_blanks__[]	= "nowarn-blanks",		/* Bool */
#endif
	s_nowarn_rename__[]	= "nowarn-rename",		/* Bool */
	s_nowarn_reread__[]	= "nowarn-reread",		/* Bool */
	s_nowarn_unread__[]	= "nowarn-unread",		/* Bool */
#if OPT_WORKING
	s_noworking__[]		= "noworking",			/* Bool */
#endif
	s_nowrapscan__[]	= "nowrapscan",			/* Bool */
	s_nowrapwords__[]	= "nowrapwords",		/* Bool */
	s_nows__[]		= "nows",			/* Bool */
	s_noww__[]		= "noww",			/* Bool */
	s_noxterm_mouse__[]	= "noxterm-mouse",		/* Bool */
#if OPT_TITLE
	s_noxterm_title__[]	= "noxterm-title",		/* Bool */
#endif
	s_noyankmotion__[]	= "noyankmotion",		/* Bool */
	s_noym__[]		= "noym",			/* Bool */
#if (OPT_EVAL)
	s_ntildes__[]		= "ntildes",			/* state */
#endif
#if (OPT_EVAL) && (OPT_SHELL)
	s_ocwd__[]		= "ocwd",			/* state */
#endif
#if (OPT_EVAL)
	s_os__[]		= "os",				/* state */
	s_pagelen__[]		= "pagelen",			/* state */
	s_pagewid__[]		= "pagewid",			/* state */
	s_palette__[]		= "palette",			/* state */
#endif
	s_paragraphs__[]	= "paragraphs",			/* regex */
#if (OPT_EVAL)
	s_patchlevel__[]	= "patchlevel",			/* state */
	s_pathlist_separator__[] = "pathlist-separator",	/* state */
	s_pathname__[]		= "pathname",			/* state */
	s_pathname_separator__[] = "pathname-separator",	/* state */
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
	s_pc__[]		= "pc",				/* enum */
#endif
#if (OPT_EVAL)
	s_pending__[]		= "pending",			/* state */
#endif
	s_percent_crlf__[]	= "percent-crlf",		/* int */
#if (OPT_EVAL)
	s_pid__[]		= "pid",			/* state */
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
	s_popup_choices__[]	= "popup-choices",		/* enum */
#endif
#if (OPT_EVAL) && (OPT_POSFORMAT)
	s_position_format__[]	= "position-format",		/* state */
#endif
	s_pre__[]		= "pre",			/* regex */
	s_preamble__[]		= "preamble",			/* regex */
	s_printing_high__[]	= "printing-high",		/* int */
	s_printing_low__[]	= "printing-low",		/* int */
#if (OPT_EVAL)
	s_progname__[]		= "progname",			/* state */
	s_prompt__[]		= "prompt",			/* state */
	s_qidentifier__[]	= "qidentifier",		/* state */
#endif
	s_qualifiers__[]	= "qualifiers",			/* enum */
#if (OPT_EVAL) && (OPT_HOOKS)
	s_read_hook__[]		= "read-hook",			/* state */
#endif
#if SYS_VMS
	s_record_format__[]	= "record-format",		/* enum */
	s_record_length__[]	= "record-length",		/* int */
#endif
	s_recordseparator__[]	= "recordseparator",		/* enum */
#if SYS_WINNT&&defined(VILE_OLE)
	s_redirect_keys__[]	= "redirect-keys",		/* string */
#endif
#if (OPT_EVAL)
	s_replace__[]		= "replace",			/* state */
#endif
	s_report__[]		= "report",			/* int */
	s_rs__[]		= "rs",				/* enum */
#if SYS_WINNT
	s_scroll_pause__[]	= "scroll-pause",		/* int */
#endif
#if (OPT_EVAL)
	s_search__[]		= "search",			/* state */
#endif
	s_sections__[]		= "sections",			/* regex */
#if (OPT_EVAL)
	s_seed__[]		= "seed",			/* state */
#endif
	s_sentences__[]		= "sentences",			/* regex */
	s_sf__[]		= "sf",				/* enum */
#if (OPT_EVAL) && (OPT_SHELL)
	s_shell__[]		= "shell",			/* state */
#endif
	s_shiftwidth__[]	= "shiftwidth",			/* int */
	s_showformat__[]	= "showformat",			/* enum */
	s_side__[]		= "side",			/* int */
	s_sideways__[]		= "sideways",			/* int */
#if (OPT_EVAL)
	s_sres__[]		= "sres",			/* state */
	s_startup_file__[]	= "startup-file",		/* state */
	s_startup_path__[]	= "startup-path",		/* state */
	s_status__[]		= "status",			/* state */
#endif
	s_suf__[]		= "suf",			/* regex */
	s_suffixes__[]		= "suffixes",			/* regex */
	s_sw__[]		= "sw",				/* int */
	s_tabstop__[]		= "tabstop",			/* int */
	s_taglength__[]		= "taglength",			/* int */
	s_tags__[]		= "tags",			/* string */
	s_timeoutlen__[]	= "timeoutlen",			/* int */
	s_timeoutlen_user__[]	= "timeoutlen-user",		/* int */
#if (OPT_EVAL) && (OPT_TITLE)
	s_title__[]		= "title",			/* state */
	s_title_format__[]	= "title-format",		/* state */
#endif
	s_tl__[]		= "tl",				/* int */
#if (OPT_EVAL)
	s_tpause__[]		= "tpause",			/* state */
#endif
	s_ts__[]		= "ts",				/* int */
	s_ul__[]		= "ul",				/* int */
	s_undolimit__[]		= "undolimit",			/* int */
#if (OPT_EVAL)
	s_version__[]		= "version",			/* state */
#endif
#if OPT_COLOR
	s_video_attrs__[]	= "video-attrs",		/* enum */
#endif
#if OPT_MAJORMODE
	s_vile_preamble__[]	= "vile-preamble",		/* REGEX */
	s_vile_suffixes__[]	= "vile-suffixes",		/* REGEX */
	s_vilepre__[]		= "vilepre",			/* REGEX */
	s_vilesuf__[]		= "vilesuf",			/* REGEX */
#endif
#if OPT_HILITEMATCH
	s_visual_matches__[]	= "visual-matches",		/* enum */
#endif
#if VTFLASH_HOST&&(OPT_FLASH)
	s_vtflash__[]		= "vtflash",			/* enum */
#endif
#if (OPT_EVAL) && (OPT_EVAL)
	s_with_prefix__[]	= "with-prefix",		/* state */
#endif
#if (OPT_EVAL)
	s_wlines__[]		= "wlines",			/* state */
#endif
	s_wm__[]		= "wm",				/* int */
#if (OPT_EVAL)
	s_word__[]		= "word",			/* state */
#endif
	s_wrapmargin__[]	= "wrapmargin",			/* int */
#if (OPT_EVAL) && (OPT_HOOKS)
	s_write_hook__[]	= "write-hook",			/* state */
#endif
#if (OPT_EVAL) && (DISP_X11&&OPT_SHELL)
	s_xdisplay__[]		= "xdisplay",			/* state */
	s_xshell__[]		= "xshell",			/* state */
	s_xshell_flags__[]	= "xshell-flags",		/* state */
#endif
	s_NULL[] = "";
#endif /* realdef */

#ifdef realdef
EXTERN_CONST char *const all_modes[] = {
	s_noab__+2,
#if (OPT_EVAL)
	s_abufname__,
#endif
#if OPT_COLOR&&!SMALLER
	s_ac__,
#endif
	s_after__,
	s_noai__+2,
	s_all__,
#if SYS_VMS
	s_noallversions__+2,
#endif
	s_noalt_tabpos__+2,
#if OPT_UPBUFF
	s_noanimated__+2,
#endif
	s_noas__+2,
	s_ascnt__,
	s_noatp__+2,
	s_noautobuffer__+2,
#if OPT_COLOR&&!SMALLER
	s_autocolor__,
#endif
#if (OPT_EVAL) && (OPT_HOOKS&&OPT_COLOR)
	s_autocolor_hook__,
#endif
	s_noautoindent__+2,
	s_noautosave__+2,
	s_autosavecnt__,
	s_noautowrite__+2,
#if SYS_VMS
	s_noav__+2,
#endif
	s_noaw__+2,
	s_nobackspacelimit__+2,
#if OPT_FILEBACK
	s_backup_style__,
#endif
#if (OPT_EVAL)
	s_bchars__,
#endif
#if OPT_COLOR
	s_bcolor__,
#endif
	s_before__,
#if (OPT_EVAL)
	s_bflags__,
#endif
	s_nobl__+2,
#if (OPT_EVAL)
	s_blines__,
#endif
#if (OPT_EVAL) && (DISP_NTWIN)
	s_brightness__,
#endif
#if (OPT_EVAL) && (OPT_HOOKS)
	s_buffer_hook__,
#endif
#if (OPT_EVAL)
	s_bwindows__,
#endif
#if OPT_MAJORMODE
	s_c_preamble__,
#endif
#if !OPT_MAJORMODE
	s_c_shiftwidth__,
#endif
#if (OPT_MAJORMODE)
	s_c_shiftwidth__,
#endif
#if !OPT_MAJORMODE
	s_c_suffixes__,
#endif
#if OPT_MAJORMODE
	s_c_suffixes__,
#endif
#if !OPT_MAJORMODE
	s_c_tabstop__,
#endif
#if (OPT_MAJORMODE)
	s_c_tabstop__,
#endif
#if (OPT_EVAL)
	s_cbufname__,
#endif
#if OPT_COLOR
	s_ccolor__,
#endif
#if (OPT_EVAL) && (OPT_HOOKS)
	s_cd_hook__,
#endif
#if OPT_SHELL
	s_nocd_on_open__+2,
#endif
#if (OPT_EVAL) && (OPT_PATHLOOKUP)
	s_cdpath__,
#endif
#if (OPT_EVAL)
	s_cfgopts__,
	s_cfilname__,
	s_char__,
#endif
#if !SMALLER
	s_nocheck_modtime__+2,
#endif
	s_noci__+2,
	s_cic__,
	s_nocindent__+2,
	s_cindent_chars__,
#if (OPT_EVAL) && (OPT_EVAL)
	s_cmd_count__,
#endif
#if !OPT_MAJORMODE
	s_nocmode__+2,
#endif
#if OPT_MAJORMODE
	s_nocmode__+2,
#endif
#if OPT_COLOR_SCHEMES
	s_color_scheme__,
#endif
	s_comment_prefix__,
	s_comments__,
#if OPT_MAJORMODE
	s_cpre__,
#endif
#if OPT_ENCRYPT
	s_nocrypt__+2,
#endif
#if (OPT_EVAL) && (OPT_ENCRYPT)
	s_cryptkey__,
#endif
#if OPT_COLOR_SCHEMES
	s_cs__,
#endif
#if !OPT_MAJORMODE
	s_csuf__,
#endif
#if OPT_MAJORMODE
	s_csuf__,
#endif
#if !OPT_MAJORMODE
	s_csw__,
#endif
#if (OPT_MAJORMODE)
	s_csw__,
#endif
#if !OPT_MAJORMODE
	s_cts__,
#endif
#if (OPT_MAJORMODE)
	s_cts__,
#endif
#if (OPT_EVAL) && (!SMALLER)
	s_curchar__,
#endif
#if (OPT_EVAL)
	s_curcol__,
	s_curline__,
#endif
#if (OPT_EVAL) && (OPT_SHELL)
	s_cwd__,
#endif
#if (OPT_EVAL)
	s_cwline__,
	s_debug__,
#endif
#if COMPLETE_DIRS
	s_nodirc__+2,
#endif
#if (OPT_EVAL) && (OPT_SHELL)
	s_directory__,
#endif
#if (OPT_EVAL)
	s_discmd__,
	s_disinp__,
#endif
	s_nodos__+2,
	s_noeb__+2,
#if (OPT_EVAL)
	s_end_of_cmd__,
#endif
#if (OPT_EVAL) && (OPT_FINDERR)
	s_error_buffer__,
	s_error_expr__,
	s_error_match__,
#endif
	s_noerrorbells__+2,
#if (OPT_EVAL)
	s_exec_path__,
	s_exec_suffix__,
#endif
#if (OPT_EVAL) && (OPT_HOOKS)
	s_exit_hook__,
#endif
	s_expand_chars__,
	s_noexpand_path__+2,
#if (OPT_EVAL) && (SYS_WINNT)
	s_favorites__,
#endif
	s_fc__,
#if OPT_COLOR
	s_fcolor__,
#endif
	s_fence_begin__,
	s_fence_elif__,
	s_fence_else__,
	s_fence_end__,
	s_fence_fi__,
	s_fence_if__,
#if OPT_MAJORMODE
	s_fence_limit__,
#endif
	s_fence_pairs__,
	s_fences__,
#if (OPT_EVAL) && (OPT_FINDERR)
	s_filename_expr__,
#endif
#if (OPT_EVAL)
	s_filename_ic__,
#endif
	s_fillcol__,
#if (OPT_EVAL) && (OPT_FILTER)
	s_filter_list__,
#endif
#if OPT_MAJORMODE
	s_filtername__,
#endif
#if OPT_FINDPATH
	s_find_cfg__,
#endif
#if (OPT_EVAL) && (OPT_FINDPATH)
	s_find_cmd__,
	s_findpath__,
#endif
#if OPT_FLASH
	s_noflash__+2,
#endif
#if OPT_MAJORMODE
	s_fn__,
#endif
#if (OPT_EVAL) && (DISP_X11||DISP_NTWIN)
	s_font__,
#endif
#if SYS_WINNT&&DISP_NTWIN
	s_noforce_console__+2,
#endif
#if (OPT_EVAL)
	s_forward_search__,
#endif
#if !OPT_GLOB_PIPE
	s_noglob__+2,
#endif
#if OPT_GLOB_PIPE
	s_glob__,
#endif
	s_group__,
#if (OPT_EVAL)
	s_helpfile__,
#endif
#if OPT_HISTORY
	s_nohi__+2,
#endif
#if OPT_MAJORMODE
	s_nohighlight__+2,
#endif
#if OPT_HISTORY
	s_nohistory__+2,
#endif
#if OPT_MAJORMODE
	s_nohl__+2,
#endif
	s_nohorizscroll__+2,
	s_nohs__+2,
	s_noib__+2,
	s_noic__+2,
#if (OPT_EVAL) && (DISP_X11)
	s_iconname__,
#endif
#if OPT_ICURSOR
	s_icursor__,
#endif
#if (OPT_EVAL)
	s_identifier__,
#endif
	s_noie__+2,
	s_noignorecase__+2,
	s_noimplybuffer__+2,
	s_noinsert_exec__+2,
#if (OPT_EVAL)
	s_kbd_macro__,
	s_kill__,
	s_lastkey__,
	s_lcols__,
#endif
	s_noli__+2,
#if (OPT_EVAL)
	s_libdir_path__,
	s_line__,
#endif
#if OPT_LINEWRAP
	s_nolinewrap__+2,
#endif
	s_nolist__+2,
#if (OPT_EVAL)
	s_llength__,
#endif
	s_noloading__+2,
#if OPT_LCKFILES
	s_nolocked__+2,
	s_locker__,
#endif
#if OPT_LINEWRAP
	s_nolw__+2,
#endif
	s_nomagic__+2,
#if (OPT_EVAL) && (OPT_MAJORMODE)
	s_majormode__,
#endif
#if (OPT_EVAL) && (OPT_HOOKS&&OPT_MAJORMODE)
	s_majormode_hook__,
#endif
	s_maplength__,
	s_nomaplonger__+2,
#if (OPT_EVAL)
	s_match__,
#endif
#if OPT_HILITEMATCH
	s_mcolor__,
#endif
#if (OPT_EVAL) && (OPT_MENUS)
	s_menu_file__,
#endif
	s_nometa_insert_bindings__+2,
	s_mh__,
	s_nomib__+2,
	s_mini_hilite__,
#if (OPT_EVAL)
	s_mode__,
#endif
#if (OPT_EVAL) && (OPT_MLFORMAT)
	s_modeline_format__,
#endif
#if (OPT_EVAL)
	s_modified__,
#endif
#if SYS_OS2
	s_nomouse__+2,
#endif
	s_nomultibeep__+2,
	s_name__,
#if (OPT_EVAL)
	s_ncolors__,
#endif
	s_nonewline__+2,
	s_nonl__+2,
	s_noab__,
	s_noai__,
#if SYS_VMS
	s_noallversions__,
#endif
	s_noalt_tabpos__,
#if OPT_UPBUFF
	s_noanimated__,
#endif
	s_noas__,
	s_noatp__,
	s_noautobuffer__,
	s_noautoindent__,
	s_noautosave__,
	s_noautowrite__,
#if SYS_VMS
	s_noav__,
#endif
	s_noaw__,
	s_nobackspacelimit__,
	s_nobl__,
#if OPT_SHELL
	s_nocd_on_open__,
#endif
#if !SMALLER
	s_nocheck_modtime__,
#endif
	s_noci__,
	s_nocindent__,
#if !OPT_MAJORMODE
	s_nocmode__,
#endif
#if OPT_MAJORMODE
	s_nocmode__,
#endif
#if OPT_ENCRYPT
	s_nocrypt__,
#endif
#if COMPLETE_DIRS
	s_nodirc__,
#endif
	s_nodos__,
	s_noeb__,
	s_noerrorbells__,
	s_noexpand_path__,
#if OPT_FLASH
	s_noflash__,
#endif
#if SYS_WINNT&&DISP_NTWIN
	s_noforce_console__,
#endif
#if !OPT_GLOB_PIPE
	s_noglob__,
#endif
#if OPT_HISTORY
	s_nohi__,
#endif
#if OPT_MAJORMODE
	s_nohighlight__,
#endif
#if OPT_HISTORY
	s_nohistory__,
#endif
#if OPT_MAJORMODE
	s_nohl__,
#endif
	s_nohorizscroll__,
	s_nohs__,
	s_noib__,
	s_noic__,
	s_noie__,
	s_noignorecase__,
	s_noimplybuffer__,
	s_noinsert_exec__,
	s_noli__,
#if OPT_LINEWRAP
	s_nolinewrap__,
#endif
	s_nolist__,
	s_noloading__,
#if OPT_LCKFILES
	s_nolocked__,
#endif
#if OPT_LINEWRAP
	s_nolw__,
#endif
	s_nomagic__,
	s_nomaplonger__,
	s_nometa_insert_bindings__,
	s_nomib__,
#if SYS_OS2
	s_nomouse__,
#endif
	s_nomultibeep__,
	s_nonewline__,
	s_nonl__,
	s_nonu__,
	s_nonumber__,
#if OPT_HILITEMATCH
	s_nooverlap_matches__,
#endif
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	s_nopc__,
#endif
	s_nopin_tagstack__,
#if OPT_POPUP_MSGS
	s_nopm__,
#endif
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	s_nopopup_choices__,
#endif
#if SYS_WINNT&&DISP_NTWIN
	s_nopopup_menu__,
#endif
#if OPT_POPUP_MSGS
	s_nopopup_msgs__,
#endif
	s_noreadonly__,
	s_noreadonly_on_readonly__,
	s_noremap__,
	s_noremapfirst__,
#if defined(HAVE_SYMLINK)
	s_noresolve_links__,
#endif
	s_noro__,
	s_nororo__,
#if !SMALLER
	s_noruler__,
#endif
	s_nosamebangs__,
	s_nosas__,
	s_nosb__,
	s_noshowmatch__,
	s_noshowmode__,
#if OPT_HEAPSIZE
	s_noshowram__,
#endif
	s_nosm__,
	s_nosmd__,
	s_nosmoothscroll__,
	s_nospaces_after_sentence__,
#if OPT_HEAPSIZE
	s_nosr__,
#endif
	s_noss__,
#if OPT_TITLE
	s_noswap_title__,
#endif
	s_notabinsert__,
#if !SMALLER
	s_notagignorecase__,
#endif
	s_notagrelative__,
	s_notagword__,
#if !SMALLER
	s_notc__,
#endif
	s_noterse__,
#if OPT_SELECTIONS
	s_noterse_selections__,
#endif
	s_noti__,
	s_notr__,
#if OPT_SELECTIONS
	s_notsel__,
#endif
	s_notw__,
	s_noua__,
	s_noudt__,
	s_noundo_dos_trim__,
	s_noundoable__,
	s_nounique_buffers__,
	s_nounprintable_as_octal__,
	s_nouo__,
#if OPT_LCKFILES
	s_nousefilelock__,
#endif
	s_noview__,
	s_noview_on_readonly__,
	s_noviewro__,
#if OPT_MAJORMODE
	s_novilemode__,
#endif
#if OPT_W32PIPES
	s_now32pipes__,
#endif
#if !SMALLER
	s_nowarn_blanks__,
#endif
	s_nowarn_rename__,
	s_nowarn_reread__,
	s_nowarn_unread__,
#if OPT_WORKING
	s_noworking__,
#endif
	s_nowrapscan__,
	s_nowrapwords__,
	s_nows__,
	s_noww__,
	s_noxterm_mouse__,
#if OPT_TITLE
	s_noxterm_title__,
#endif
	s_noyankmotion__,
	s_noym__,
#if (OPT_EVAL)
	s_ntildes__,
#endif
	s_nonu__+2,
	s_nonumber__+2,
#if (OPT_EVAL) && (OPT_SHELL)
	s_ocwd__,
#endif
#if (OPT_EVAL)
	s_os__,
#endif
#if OPT_HILITEMATCH
	s_nooverlap_matches__+2,
#endif
#if (OPT_EVAL)
	s_pagelen__,
	s_pagewid__,
	s_palette__,
#endif
	s_paragraphs__,
#if (OPT_EVAL)
	s_patchlevel__,
	s_pathlist_separator__,
	s_pathname__,
	s_pathname_separator__,
#endif
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	s_nopc__+2,
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
	s_pc__,
#endif
#if (OPT_EVAL)
	s_pending__,
#endif
	s_percent_crlf__,
#if (OPT_EVAL)
	s_pid__,
#endif
	s_nopin_tagstack__+2,
#if OPT_POPUP_MSGS
	s_nopm__+2,
#endif
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	s_nopopup_choices__+2,
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
	s_popup_choices__,
#endif
#if SYS_WINNT&&DISP_NTWIN
	s_nopopup_menu__+2,
#endif
#if OPT_POPUP_MSGS
	s_nopopup_msgs__+2,
#endif
#if (OPT_EVAL) && (OPT_POSFORMAT)
	s_position_format__,
#endif
	s_pre__,
	s_preamble__,
	s_printing_high__,
	s_printing_low__,
#if (OPT_EVAL)
	s_progname__,
	s_prompt__,
	s_qidentifier__,
#endif
	s_qualifiers__,
#if (OPT_EVAL) && (OPT_HOOKS)
	s_read_hook__,
#endif
	s_noreadonly__+2,
	s_noreadonly_on_readonly__+2,
#if SYS_VMS
	s_record_format__,
	s_record_length__,
#endif
	s_recordseparator__,
#if SYS_WINNT&&defined(VILE_OLE)
	s_redirect_keys__,
#endif
	s_noremap__+2,
	s_noremapfirst__+2,
#if (OPT_EVAL)
	s_replace__,
#endif
	s_report__,
#if defined(HAVE_SYMLINK)
	s_noresolve_links__+2,
#endif
	s_noro__+2,
	s_nororo__+2,
	s_rs__,
#if !SMALLER
	s_noruler__+2,
#endif
	s_nosamebangs__+2,
	s_nosas__+2,
	s_nosb__+2,
#if SYS_WINNT
	s_scroll_pause__,
#endif
#if (OPT_EVAL)
	s_search__,
#endif
	s_sections__,
#if (OPT_EVAL)
	s_seed__,
#endif
	s_sentences__,
	s_sf__,
#if (OPT_EVAL) && (OPT_SHELL)
	s_shell__,
#endif
	s_shiftwidth__,
	s_showformat__,
	s_noshowmatch__+2,
	s_noshowmode__+2,
#if OPT_HEAPSIZE
	s_noshowram__+2,
#endif
	s_side__,
	s_sideways__,
	s_nosm__+2,
	s_nosmd__+2,
	s_nosmoothscroll__+2,
	s_nospaces_after_sentence__+2,
#if OPT_HEAPSIZE
	s_nosr__+2,
#endif
#if (OPT_EVAL)
	s_sres__,
#endif
	s_noss__+2,
#if (OPT_EVAL)
	s_startup_file__,
	s_startup_path__,
	s_status__,
#endif
	s_suf__,
	s_suffixes__,
	s_sw__,
#if OPT_TITLE
	s_noswap_title__+2,
#endif
	s_notabinsert__+2,
	s_tabstop__,
#if !SMALLER
	s_notagignorecase__+2,
#endif
	s_taglength__,
	s_notagrelative__+2,
	s_tags__,
	s_notagword__+2,
#if !SMALLER
	s_notc__+2,
#endif
	s_noterse__+2,
#if OPT_SELECTIONS
	s_noterse_selections__+2,
#endif
	s_noti__+2,
	s_timeoutlen__,
	s_timeoutlen_user__,
#if (OPT_EVAL) && (OPT_TITLE)
	s_title__,
	s_title_format__,
#endif
	s_tl__,
#if (OPT_EVAL)
	s_tpause__,
#endif
	s_notr__+2,
	s_ts__,
#if OPT_SELECTIONS
	s_notsel__+2,
#endif
	s_notw__+2,
	s_noua__+2,
	s_noudt__+2,
	s_ul__,
	s_noundo_dos_trim__+2,
	s_noundoable__+2,
	s_undolimit__,
	s_nounique_buffers__+2,
	s_nounprintable_as_octal__+2,
	s_nouo__+2,
#if OPT_LCKFILES
	s_nousefilelock__+2,
#endif
#if (OPT_EVAL)
	s_version__,
#endif
#if OPT_COLOR
	s_video_attrs__,
#endif
	s_noview__+2,
	s_noview_on_readonly__+2,
	s_noviewro__+2,
#if OPT_MAJORMODE
	s_vile_preamble__,
	s_vile_suffixes__,
	s_novilemode__+2,
	s_vilepre__,
	s_vilesuf__,
#endif
#if OPT_HILITEMATCH
	s_visual_matches__,
#endif
#if VTFLASH_HOST&&(OPT_FLASH)
	s_vtflash__,
#endif
#if OPT_W32PIPES
	s_now32pipes__+2,
#endif
#if !SMALLER
	s_nowarn_blanks__+2,
#endif
	s_nowarn_rename__+2,
	s_nowarn_reread__+2,
	s_nowarn_unread__+2,
#if (OPT_EVAL) && (OPT_EVAL)
	s_with_prefix__,
#endif
#if (OPT_EVAL)
	s_wlines__,
#endif
	s_wm__,
#if (OPT_EVAL)
	s_word__,
#endif
#if OPT_WORKING
	s_noworking__+2,
#endif
	s_wrapmargin__,
	s_nowrapscan__+2,
	s_nowrapwords__+2,
#if (OPT_EVAL) && (OPT_HOOKS)
	s_write_hook__,
#endif
	s_nows__+2,
	s_noww__+2,
#if (OPT_EVAL) && (DISP_X11&&OPT_SHELL)
	s_xdisplay__,
	s_xshell__,
	s_xshell_flags__,
#endif
	s_noxterm_mouse__+2,
#if OPT_TITLE
	s_noxterm_title__+2,
#endif
	s_noyankmotion__+2,
	s_noym__+2,
	NULL	/* ends table */
};
#else
extern const char *const all_modes[];
#endif /* realdef */

#if OPT_MAJORMODE
#ifdef realdef
EXTERN_CONST char *const all_submodes[] = {
#if OPT_COLOR&&!SMALLER
	s_ac__,
#endif
	s_after__,
	s_noai__+2,
#if OPT_UPBUFF
	s_noanimated__+2,
#endif
	s_noas__+2,
	s_ascnt__,
#if OPT_COLOR&&!SMALLER
	s_autocolor__,
#endif
	s_noautoindent__+2,
	s_noautosave__+2,
	s_autosavecnt__,
	s_noautowrite__+2,
	s_noaw__+2,
	s_nobackspacelimit__+2,
	s_before__,
	s_nobl__+2,
#if !OPT_MAJORMODE
	s_c_shiftwidth__,
	s_c_tabstop__,
#endif
#if !SMALLER
	s_nocheck_modtime__+2,
#endif
	s_noci__+2,
	s_cic__,
	s_nocindent__+2,
	s_cindent_chars__,
#if !OPT_MAJORMODE
	s_nocmode__+2,
#endif
	s_comment_prefix__,
	s_comments__,
#if OPT_ENCRYPT
	s_nocrypt__+2,
#endif
#if !OPT_MAJORMODE
	s_csw__,
	s_cts__,
#endif
	s_nodos__+2,
	s_fc__,
	s_fence_begin__,
	s_fence_elif__,
	s_fence_else__,
	s_fence_end__,
	s_fence_fi__,
	s_fence_if__,
#if OPT_MAJORMODE
	s_fence_limit__,
#endif
	s_fence_pairs__,
	s_fences__,
	s_fillcol__,
#if OPT_MAJORMODE
	s_filtername__,
	s_fn__,
#endif
	s_group__,
#if OPT_MAJORMODE
	s_nohighlight__+2,
	s_nohl__+2,
#endif
	s_noic__+2,
	s_noignorecase__+2,
	s_noloading__+2,
#if OPT_LCKFILES
	s_nolocked__+2,
	s_locker__,
#endif
	s_nomagic__+2,
	s_nometa_insert_bindings__+2,
	s_nomib__+2,
	s_name__,
	s_nonewline__+2,
	s_nonl__+2,
	s_noai__,
#if OPT_UPBUFF
	s_noanimated__,
#endif
	s_noas__,
	s_noautoindent__,
	s_noautosave__,
	s_noautowrite__,
	s_noaw__,
	s_nobackspacelimit__,
	s_nobl__,
#if !SMALLER
	s_nocheck_modtime__,
#endif
	s_noci__,
	s_nocindent__,
#if !OPT_MAJORMODE
	s_nocmode__,
#endif
#if OPT_ENCRYPT
	s_nocrypt__,
#endif
	s_nodos__,
#if OPT_MAJORMODE
	s_nohighlight__,
	s_nohl__,
#endif
	s_noic__,
	s_noignorecase__,
	s_noloading__,
#if OPT_LCKFILES
	s_nolocked__,
#endif
	s_nomagic__,
	s_nometa_insert_bindings__,
	s_nomib__,
	s_nonewline__,
	s_nonl__,
#if OPT_HILITEMATCH
	s_nooverlap_matches__,
#endif
	s_noreadonly__,
	s_noro__,
	s_noshowmatch__,
	s_noshowmode__,
	s_nosm__,
	s_nosmd__,
	s_notabinsert__,
#if !SMALLER
	s_notagignorecase__,
#endif
	s_notagrelative__,
	s_notagword__,
#if !SMALLER
	s_notc__,
#endif
	s_noterse__,
	s_noti__,
	s_notr__,
	s_notw__,
	s_noua__,
	s_noudt__,
	s_noundo_dos_trim__,
	s_noundoable__,
	s_noview__,
	s_nowrapscan__,
	s_nowrapwords__,
	s_nows__,
	s_noww__,
	s_noyankmotion__,
	s_noym__,
#if OPT_HILITEMATCH
	s_nooverlap_matches__+2,
#endif
	s_paragraphs__,
	s_percent_crlf__,
	s_pre__,
	s_preamble__,
	s_qualifiers__,
	s_noreadonly__+2,
#if SYS_VMS
	s_record_format__,
	s_record_length__,
#endif
	s_recordseparator__,
	s_noro__+2,
	s_rs__,
	s_sections__,
	s_sentences__,
	s_sf__,
	s_shiftwidth__,
	s_showformat__,
	s_noshowmatch__+2,
	s_noshowmode__+2,
	s_nosm__+2,
	s_nosmd__+2,
	s_suf__,
	s_suffixes__,
	s_sw__,
	s_notabinsert__+2,
	s_tabstop__,
#if !SMALLER
	s_notagignorecase__+2,
#endif
	s_taglength__,
	s_notagrelative__+2,
	s_tags__,
	s_notagword__+2,
#if !SMALLER
	s_notc__+2,
#endif
	s_noterse__+2,
	s_noti__+2,
	s_tl__,
	s_notr__+2,
	s_ts__,
	s_notw__+2,
	s_noua__+2,
	s_noudt__+2,
	s_ul__,
	s_noundo_dos_trim__+2,
	s_noundoable__+2,
	s_undolimit__,
	s_noview__+2,
#if OPT_HILITEMATCH
	s_visual_matches__,
#endif
	s_wm__,
	s_wrapmargin__,
	s_nowrapscan__+2,
	s_nowrapwords__+2,
	s_nows__+2,
	s_noww__+2,
	s_noyankmotion__+2,
	s_noym__+2,
	NULL	/* ends table */
};
#else
extern const char *const all_submodes[];
#endif /* realdef */
#endif /* OPT_MAJORMODE */

/* global mode flags	*/
/* the indices of G_VALUES.v[] */
typedef	struct	{
#if SYS_VMS
	char	s_allversions__; /* show all versions when globbing */
#endif
	char	s_alt_tabpos__; /* emacs-style cursor positioning */
	char	s_autobuffer__; /* auto-buffer (lru) */
#if OPT_FILEBACK
	char	s_backup_style__; /* file backup style */
#endif
#if OPT_COLOR
	char	s_bcolor__;	/* background color */
#endif
#if !OPT_MAJORMODE
	char	s_c_suffixes__; /* match against filenames to turn on c-mode */
#endif
#if OPT_COLOR
	char	s_ccolor__;	/* cursor color */
#endif
#if OPT_SHELL
	char	s_cd_on_open__; /* set working directory to that containing each newly opened buffer */
#endif
#if OPT_COLOR_SCHEMES
	char	s_color_scheme__; /* color palette combination */
#endif
#if COMPLETE_DIRS
	char	s_dirc__;	/* directory-completion (slow!) */
#endif
	char	s_errorbells__; /* audible/visible-bells */
	char	s_expand_chars__; /* list of chars we can expand (%,#,:) */
	char	s_expand_path__; /* true iff %/# don't substitute shortened-path */
#if OPT_COLOR
	char	s_fcolor__;	/* foreground color */
#endif
#if OPT_FINDPATH
	char	s_find_cfg__;	/* configuration of the "find" feature */
#endif
#if OPT_FLASH
	char	s_flash__;	/* visible-bell (flash) */
#endif
#if SYS_WINNT&&DISP_NTWIN
	char	s_force_console__;
#endif
#if !OPT_GLOB_PIPE
	char	s_glob__;	/* enable/disable filename globbing */
#endif
#if OPT_GLOB_PIPE
	char	s_glob__;	/* select filename globbing style */
#endif
#if OPT_HISTORY
	char	s_history__;	/* command-history */
#endif
#if OPT_ICURSOR
	char	s_icursor__;	/* specify insertion cursor */
#endif
	char	s_implybuffer__; /* imply-buffer (vi-like) */
	char	s_insert_exec__; /* allow ^F/^B, etc., to be interpreted during insert mode */
	char	s_maplength__;  /* maximum length of :map string */
	char	s_maplonger__;  /* favor longer maps */
#if OPT_HILITEMATCH
	char	s_mcolor__;	/* modeline color */
#endif
	char	s_mini_hilite__; /* highlight minibuffer when using vi-commands */
#if SYS_OS2
	char	s_mouse__;	/* mode to control whether we allow mouse-clicking */
#endif
	char	s_multibeep__;  /* multiple successive identical failed motions all beep */
	char	s_pin_tagstack__; /* tagstack push/pop ops are pinned to curwin */
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	char	s_popup_choices__; /* popup buffer showing file-completion choices */
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
	char	s_popup_choices__; /* popup buffer showing file-completion choices */
#endif
#if SYS_WINNT&&DISP_NTWIN
	char	s_popup_menu__; /* enable popup menu (win32) */
#endif
#if OPT_POPUP_MSGS
	char	s_popup_msgs__; /* popup buffer when multiple messages emitted */
#endif
	char	s_printing_high__; /* high end of high-bit-set printable range */
	char	s_printing_low__; /* low end of high-bit-set printable range */
	char	s_readonly_on_readonly__; /* set readonly mode for readonly files */
#if SYS_WINNT&&defined(VILE_OLE)
	char	s_redirect_keys__; /* send keys to another process */
#endif
	char	s_remap__;	/* should mappings be reapplied */
	char	s_remapfirst__; /* should 1st char of a map be remapped? */
	char	s_report__;	/* threshold for reporting changes */
#if defined(HAVE_SYMLINK)
	char	s_resolve_links__; /* cache/resolve directory names (can be slow if NFS times-out) */
#endif
	char	s_samebangs__;  /* use same "!!" data for ^X-! */
#if SYS_WINNT
	char	s_scroll_pause__; /* how long to catnap after scrolling */
#endif
#if OPT_HEAPSIZE
	char	s_showram__;	/* show heap usage */
#endif
	char	s_smoothscroll__; /* should we update even if there is typeahead? */
	char	s_spaces_after_sentence__; /* add two spaces after a */
#if OPT_TITLE
	char	s_swap_title__; /* title -> 'buffer - prognam' */
#endif
	char	s_timeoutlen__; /* how long to catnap for more input */
	char	s_timeoutlen_user__; /* how long to catnap for more input */
	char	s_unique_buffers__; /* only one buffer per file */
#if OPT_LCKFILES
	char	s_usefilelock__; /* okay use filelocks */
#endif
#if OPT_COLOR
	char	s_video_attrs__; /* video attributes, especially reverse */
#endif
	char	s_view_on_readonly__; /* set view mode for readonly files */
#if VTFLASH_HOST&&(OPT_FLASH)
	char	s_vtflash__;	/* flash using DEC VT esc sequences */
#endif
#if OPT_W32PIPES
	char	s_w32pipes__;
#endif
#if !SMALLER
	char	s_warn_blanks__; /* warn if filename has blanks, etc. */
#endif
	char	s_warn_rename__; /* warn before renaming a buffer */
	char	s_warn_reread__; /* warn before rereading a buffer */
	char	s_warn_unread__; /* warn if quitting with unread buffers */
#if OPT_WORKING
	char	s_working__;	/* "working" message */
#endif
	char	s_xterm_mouse__; /* mode to control whether we allow mouse-clicking */
#if OPT_TITLE
	char	s_xterm_title__; /* mode to control whether we allow xterm title updates */
#endif
	char	s_MAX;
	char	Q1;
	} IndexGlobals;

#if SYS_VMS
#define GMDALL_VERSIONS Member_Offset(IndexGlobals, s_allversions__)
#endif
#define GMDALTTABPOS	Member_Offset(IndexGlobals, s_alt_tabpos__)
#define GMDABUFF	Member_Offset(IndexGlobals, s_autobuffer__)
#if OPT_FILEBACK
#define GVAL_BACKUPSTYLE Member_Offset(IndexGlobals, s_backup_style__)
#endif
#if OPT_COLOR
#define GVAL_BCOLOR	Member_Offset(IndexGlobals, s_bcolor__)
#endif
#if !OPT_MAJORMODE
#define GVAL_CSUFFIXES  Member_Offset(IndexGlobals, s_c_suffixes__)
#endif
#if OPT_COLOR
#define GVAL_CCOLOR	Member_Offset(IndexGlobals, s_ccolor__)
#endif
#if OPT_SHELL
#define GMDCD_ON_OPEN	Member_Offset(IndexGlobals, s_cd_on_open__)
#endif
#if OPT_COLOR_SCHEMES
#define GVAL_COLOR_SCHEME Member_Offset(IndexGlobals, s_color_scheme__)
#endif
#if COMPLETE_DIRS
#define GMDDIRC		Member_Offset(IndexGlobals, s_dirc__)
#endif
#define GMDERRORBELLS	Member_Offset(IndexGlobals, s_errorbells__)
#define GVAL_EXPAND_CHARS Member_Offset(IndexGlobals, s_expand_chars__)
#define GMDEXPAND_PATH  Member_Offset(IndexGlobals, s_expand_path__)
#if OPT_COLOR
#define GVAL_FCOLOR	Member_Offset(IndexGlobals, s_fcolor__)
#endif
#if OPT_FINDPATH
#define GVAL_FINDCFG	Member_Offset(IndexGlobals, s_find_cfg__)
#endif
#if OPT_FLASH
#define GMDFLASH	Member_Offset(IndexGlobals, s_flash__)
#endif
#if SYS_WINNT&&DISP_NTWIN
#define GMDFORCE_CONSOLE Member_Offset(IndexGlobals, s_force_console__)
#endif
#if !OPT_GLOB_PIPE
#define GMDGLOB		Member_Offset(IndexGlobals, s_glob__)
#endif
#if OPT_GLOB_PIPE
#define GVAL_GLOB	Member_Offset(IndexGlobals, s_glob__)
#endif
#if OPT_HISTORY
#define GMDHISTORY	Member_Offset(IndexGlobals, s_history__)
#endif
#if OPT_ICURSOR
#define GVAL_ICURSOR	Member_Offset(IndexGlobals, s_icursor__)
#endif
#define GMDIMPLYBUFF	Member_Offset(IndexGlobals, s_implybuffer__)
#define GMDINSEXEC	Member_Offset(IndexGlobals, s_insert_exec__)
#define GVAL_MAPLENGTH  Member_Offset(IndexGlobals, s_maplength__)
#define GMDMAPLONGER	Member_Offset(IndexGlobals, s_maplonger__)
#if OPT_HILITEMATCH
#define GVAL_MCOLOR	Member_Offset(IndexGlobals, s_mcolor__)
#endif
#define GVAL_MINI_HILITE Member_Offset(IndexGlobals, s_mini_hilite__)
#if SYS_OS2
#define GMDMOUSE	Member_Offset(IndexGlobals, s_mouse__)
#endif
#define GMDMULTIBEEP	Member_Offset(IndexGlobals, s_multibeep__)
#define GMDPIN_TAGSTACK Member_Offset(IndexGlobals, s_pin_tagstack__)
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
#define GMDPOPUP_CHOICES Member_Offset(IndexGlobals, s_popup_choices__)
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
#define GVAL_POPUP_CHOICES Member_Offset(IndexGlobals, s_popup_choices__)
#endif
#if SYS_WINNT&&DISP_NTWIN
#define GMDPOPUPMENU	Member_Offset(IndexGlobals, s_popup_menu__)
#endif
#if OPT_POPUP_MSGS
#define GMDPOPUP_MSGS	Member_Offset(IndexGlobals, s_popup_msgs__)
#endif
#define GVAL_PRINT_HIGH Member_Offset(IndexGlobals, s_printing_high__)
#define GVAL_PRINT_LOW  Member_Offset(IndexGlobals, s_printing_low__)
#define GMDRONLYRONLY	Member_Offset(IndexGlobals, s_readonly_on_readonly__)
#if SYS_WINNT&&defined(VILE_OLE)
#define GVAL_REDIRECT_KEYS Member_Offset(IndexGlobals, s_redirect_keys__)
#endif
#define GMDREMAP	Member_Offset(IndexGlobals, s_remap__)
#define GMDREMAPFIRST	Member_Offset(IndexGlobals, s_remapfirst__)
#define GVAL_REPORT	Member_Offset(IndexGlobals, s_report__)
#if defined(HAVE_SYMLINK)
#define GMDRESOLVE_LINKS Member_Offset(IndexGlobals, s_resolve_links__)
#endif
#define GMDSAMEBANGS	Member_Offset(IndexGlobals, s_samebangs__)
#if SYS_WINNT
#define GVAL_SCROLLPAUSE Member_Offset(IndexGlobals, s_scroll_pause__)
#endif
#if OPT_HEAPSIZE
#define GMDHEAPSIZE	Member_Offset(IndexGlobals, s_showram__)
#endif
#define GMDSMOOTH_SCROLL Member_Offset(IndexGlobals, s_smoothscroll__)
#define GMDSPACESENT	Member_Offset(IndexGlobals, s_spaces_after_sentence__)
#if OPT_TITLE
#define GMDSWAPTITLE	Member_Offset(IndexGlobals, s_swap_title__)
#endif
#define GVAL_TIMEOUTVAL Member_Offset(IndexGlobals, s_timeoutlen__)
#define GVAL_TIMEOUTUSERVAL Member_Offset(IndexGlobals, s_timeoutlen_user__)
#define GMDUNIQ_BUFS	Member_Offset(IndexGlobals, s_unique_buffers__)
#if OPT_LCKFILES
#define GMDUSEFILELOCK  Member_Offset(IndexGlobals, s_usefilelock__)
#endif
#if OPT_COLOR
#define GVAL_VIDEO	Member_Offset(IndexGlobals, s_video_attrs__)
#endif
#define GMDRONLYVIEW	Member_Offset(IndexGlobals, s_view_on_readonly__)
#if VTFLASH_HOST&&(OPT_FLASH)
#define GVAL_VTFLASH	Member_Offset(IndexGlobals, s_vtflash__)
#endif
#if OPT_W32PIPES
#define GMDW32PIPES	Member_Offset(IndexGlobals, s_w32pipes__)
#endif
#if !SMALLER
#define GMDWARNBLANKS	Member_Offset(IndexGlobals, s_warn_blanks__)
#endif
#define GMDWARNRENAME	Member_Offset(IndexGlobals, s_warn_rename__)
#define GMDWARNREREAD	Member_Offset(IndexGlobals, s_warn_reread__)
#define GMDWARNUNREAD	Member_Offset(IndexGlobals, s_warn_unread__)
#if OPT_WORKING
#define GMDWORKING	Member_Offset(IndexGlobals, s_working__)
#endif
#define GMDXTERM_MOUSE  Member_Offset(IndexGlobals, s_xterm_mouse__)
#if OPT_TITLE
#define GMDXTERM_TITLE  Member_Offset(IndexGlobals, s_xterm_title__)

#endif
#define NUM_G_VALUES	Member_Offset(IndexGlobals, s_MAX) /* TABLESIZE(g_valnames) -- Globals */
#define MAX_G_VALUES	63


typedef struct G_VALUES {
	/* each entry is a val, and a ptr to a val */
	struct VAL gv[MAX_G_VALUES+1];
} G_VALUES;

#ifdef realdef
EXTERN_CONST struct VALNAMES g_valnames[] = {
#if SYS_VMS
	{ s_noallversions__+2,  s_noav__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_noalt_tabpos__+2,	s_noatp__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noautobuffer__+2,	s_noab__+2,	VALTYPE_BOOL,	chgd_autobuf },
#if OPT_FILEBACK
	{ s_backup_style__,	"X",		VALTYPE_STRING, (ChgdFunc)0 },
#endif
#if OPT_COLOR
	{ s_bcolor__,		"X",		VALTYPE_ENUM,	chgd_color },
#endif
#if !OPT_MAJORMODE
	{ s_c_suffixes__,	s_csuf__,	VALTYPE_REGEX,  (ChgdFunc)0 },
#endif
#if OPT_COLOR
	{ s_ccolor__,		"X",		VALTYPE_ENUM,	chgd_color },
#endif
#if OPT_SHELL
	{ s_nocd_on_open__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if OPT_COLOR_SCHEMES
	{ s_color_scheme__,	s_cs__,		VALTYPE_ENUM,	chgd_scheme },
#endif
#if COMPLETE_DIRS
	{ s_nodirc__+2,		"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_noerrorbells__+2,	s_noeb__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_expand_chars__,	"X",		VALTYPE_STRING, (ChgdFunc)0 },
	{ s_noexpand_path__+2,  "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#if OPT_COLOR
	{ s_fcolor__,		"X",		VALTYPE_ENUM,	chgd_color },
#endif
#if OPT_FINDPATH
	{ s_find_cfg__,		"X",		VALTYPE_STRING, chgd_find_cfg },
#endif
#if OPT_FLASH
	{ s_noflash__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if SYS_WINNT&&DISP_NTWIN
	{ s_noforce_console__+2, "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if !OPT_GLOB_PIPE
	{ s_noglob__+2,		"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if OPT_GLOB_PIPE
	{ s_glob__,		"X",		VALTYPE_STRING, (ChgdFunc)0 },
#endif
#if OPT_HISTORY
	{ s_nohistory__+2,	s_nohi__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if OPT_ICURSOR
	{ s_icursor__,		"X",		VALTYPE_STRING, chgd_icursor },
#endif
	{ s_noimplybuffer__+2,  s_noib__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noinsert_exec__+2,  s_noie__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_maplength__,	"X",		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_nomaplonger__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#if OPT_HILITEMATCH
	{ s_mcolor__,		"X",		VALTYPE_ENUM,	chgd_hilite },
#endif
	{ s_mini_hilite__,	s_mh__,		VALTYPE_ENUM,	(ChgdFunc)0 },
#if SYS_OS2
	{ s_nomouse__+2,	"X",		VALTYPE_BOOL,	chgd_mouse },
#endif
	{ s_nomultibeep__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_nopin_tagstack__+2, "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#if OPT_POPUPCHOICE&&!OPT_ENUM_MODES
	{ s_nopopup_choices__+2, s_nopc__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if OPT_POPUPCHOICE&&OPT_ENUM_MODES
	{ s_popup_choices__,	s_pc__,		VALTYPE_ENUM,	(ChgdFunc)0 },
#endif
#if SYS_WINNT&&DISP_NTWIN
	{ s_nopopup_menu__+2,	"X",		VALTYPE_BOOL,	chgd_popupmenu },
#endif
#if OPT_POPUP_MSGS
	{ s_nopopup_msgs__+2,	s_nopm__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_printing_high__,	"X",		VALTYPE_INT,	chgd_charset },
	{ s_printing_low__,	"X",		VALTYPE_INT,	chgd_charset },
	{ s_noreadonly_on_readonly__+2, s_nororo__+2, VALTYPE_BOOL, (ChgdFunc)0 },
#if SYS_WINNT&&defined(VILE_OLE)
	{ s_redirect_keys__,	"X",		VALTYPE_STRING, chgd_redir_keys },
#endif
	{ s_noremap__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noremapfirst__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_report__,		"X",		VALTYPE_INT,	(ChgdFunc)0 },
#if defined(HAVE_SYMLINK)
	{ s_noresolve_links__+2, "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_nosamebangs__+2,	s_nosb__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#if SYS_WINNT
	{ s_scroll_pause__,	"X",		VALTYPE_INT,	(ChgdFunc)0 },
#endif
#if OPT_HEAPSIZE
	{ s_noshowram__+2,	s_nosr__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_nosmoothscroll__+2, s_noss__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_nospaces_after_sentence__+2, s_nosas__+2, VALTYPE_BOOL, (ChgdFunc)0 },
#if OPT_TITLE
	{ s_noswap_title__+2,	"X",		VALTYPE_BOOL,	chgd_swaptitle },
#endif
	{ s_timeoutlen__,	"X",		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_timeoutlen_user__,  "X",		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_nounique_buffers__+2, "X",		VALTYPE_BOOL,	chgd_uniqbuf },
#if OPT_LCKFILES
	{ s_nousefilelock__+2,  "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if OPT_COLOR
	{ s_video_attrs__,	"X",		VALTYPE_ENUM,	chgd_color },
#endif
	{ s_noview_on_readonly__+2, s_noviewro__+2, VALTYPE_BOOL, (ChgdFunc)0 },
#if VTFLASH_HOST&&(OPT_FLASH)
	{ s_vtflash__,		"X",		VALTYPE_ENUM,	(ChgdFunc)0 },
#endif
#if OPT_W32PIPES
	{ s_now32pipes__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if !SMALLER
	{ s_nowarn_blanks__+2,  "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_nowarn_rename__+2,  "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_nowarn_reread__+2,  "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_nowarn_unread__+2,  "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#if OPT_WORKING
	{ s_noworking__+2,	"X",		VALTYPE_BOOL,	chgd_working },
#endif
	{ s_noxterm_mouse__+2,  "X",		VALTYPE_BOOL,	chgd_xterm },
#if OPT_TITLE
	{ s_noxterm_title__+2,  "X",		VALTYPE_BOOL,	chgd_swaptitle },
#endif

	{ NULL,	NULL,	VALTYPE_INT, 0 }
};
#else
extern const struct VALNAMES g_valnames[];
#endif

#if OPT_MAJORMODE
/* major mode flags	*/
/* the indices of M_VALUES.v[] */
typedef	struct	{
	char	s_after__;	/* check mode after given */
	char	s_before__;	/* check mode before given */
	char	s_preamble__;	/* match against file header to turn on mode */
	char	s_qualifiers__; /* denotes how preamble/suffixes are combined */
	char	s_suffixes__;	/* match against filenames to turn on mode */
	char	s_MAX;
	char	Q1;
	} IndexMajor;

#define MVAL_AFTER	Member_Offset(IndexMajor, s_after__)
#define MVAL_BEFORE	Member_Offset(IndexMajor, s_before__)
#define MVAL_PREAMBLE	Member_Offset(IndexMajor, s_preamble__)
#define MVAL_QUALIFIERS Member_Offset(IndexMajor, s_qualifiers__)
#define MVAL_SUFFIXES	Member_Offset(IndexMajor, s_suffixes__)

#define NUM_M_VALUES	Member_Offset(IndexMajor, s_MAX) /* TABLESIZE(m_valnames) -- Major */
#define MAX_M_VALUES	5


typedef struct M_VALUES {
	/* each entry is a val, and a ptr to a val */
	struct VAL mv[MAX_M_VALUES+1];
} M_VALUES;

#ifdef realdef
EXTERN_CONST struct VALNAMES m_valnames[MAX_M_VALUES+1] = {
	{ s_after__,		"X",		VALTYPE_STRING, chgd_mm_order },
	{ s_before__,		"X",		VALTYPE_STRING, chgd_mm_order },
	{ s_preamble__,		s_pre__,	VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_qualifiers__,	"X",		VALTYPE_ENUM,	(ChgdFunc)0 },
	{ s_suffixes__,		s_suf__,	VALTYPE_REGEX,  (ChgdFunc)0 },

	{ NULL,	NULL,	VALTYPE_INT, 0 }
};
#else
extern const struct VALNAMES m_valnames[MAX_M_VALUES+1];
#endif
#endif /* OPT_MAJORMODE */

/* submode qualifier flags	*/
/* the indices of Q_VALUES.v[] */
typedef	struct	{
	char	s_group__;
	char	s_name__;
	char	s_MAX;
	char	Q1;
	} IndexQualifiers;

#define QVAL_GROUP	Member_Offset(IndexQualifiers, s_group__)
#define QVAL_NAME	Member_Offset(IndexQualifiers, s_name__)

#define NUM_Q_VALUES	Member_Offset(IndexQualifiers, s_MAX) /* TABLESIZE(q_valnames) -- Qualifiers */
#define MAX_Q_VALUES	2


typedef struct Q_VALUES {
	/* each entry is a val, and a ptr to a val */
	struct VAL qv[MAX_Q_VALUES+1];
} Q_VALUES;

#ifdef realdef
EXTERN_CONST struct VALNAMES q_valnames[MAX_Q_VALUES+1] = {
	{ s_group__,		"X",		VALTYPE_STRING, (ChgdFunc)0 },
	{ s_name__,		"X",		VALTYPE_STRING, (ChgdFunc)0 },

	{ NULL,	NULL,	VALTYPE_INT, 0 }
};
#else
extern const struct VALNAMES q_valnames[MAX_Q_VALUES+1];
#endif

/* buffer mode flags	*/
/* the indices of B_VALUES.v[] */
typedef	struct	{
#if OPT_UPBUFF
	char	s_animated__;	/* update scratch-buffers */
#endif
#if OPT_COLOR&&!SMALLER
	char	s_autocolor__;  /* auto color */
#endif
	char	s_autoindent__; /* auto-indent */
	char	s_autosave__;	/* auto-save mode */
	char	s_autosavecnt__; /* how often auto-saves occur */
	char	s_autowrite__;  /* auto-write when shelling out */
	char	s_backspacelimit__; /* backspace limited in insert mode */
#if !OPT_MAJORMODE
	char	s_c_shiftwidth__; /* shift-width for C buffers */
	char	s_c_tabstop__;  /* tab spacing for C buffers */
#endif
#if !SMALLER
	char	s_check_modtime__; /* check buffer-modtime */
#endif
	char	s_cindent__;	/* c-style indent */
	char	s_cindent_chars__; /* c-style indent flags */
#if !OPT_MAJORMODE
	char	s_cmode__;	/* C indentation and fence match */
#endif
	char	s_comment_prefix__; /* prefix to ignore/preserve when formatting comment */
	char	s_comments__;	/* matches leading comment for comment reformatting */
#if OPT_ENCRYPT
	char	s_crypt__;	/* encrytion mode active */
#endif
	char	s_dos__;	/* "dos" mode -- lines end in crlf */
	char	s_fence_begin__; /* begin a simple (character, non-nestable) fence */
	char	s_fence_elif__; /* next complex fence */
	char	s_fence_else__; /* final complex fence */
	char	s_fence_end__;  /* end a simple fence */
	char	s_fence_fi__;	/* end a complex fence */
	char	s_fence_if__;	/* begin a complex (line, nestable) fence */
#if OPT_MAJORMODE
	char	s_fence_limit__; /* fence iteration-limit */
#endif
	char	s_fence_pairs__; /* pairs of fences {,}; (,); etc. */
	char	s_fillcol__;	/* column for paragraph reformat, and line break */
#if OPT_MAJORMODE
	char	s_filtername__; /* Name of syntax-filter */
	char	s_highlight__;  /* true if we enable syntax highlighting */
#endif
	char	s_ignorecase__; /* Exact matching for searches */
	char	s_loading__;	/* Are we asynchronously loading a file? */
#if OPT_LCKFILES
	char	s_locked__;	/* mode locked */
	char	s_locker__;	/* Name of locker */
#endif
	char	s_magic__;	/* regular expressions in search */
	char	s_meta_insert_bindings__; /* honor meta bindings in insert mode */
	char	s_newline__;	/* trailing newline (vi-style) */
#if OPT_HILITEMATCH
	char	s_overlap_matches__; /* highlight all search matches */
#endif
	char	s_paragraphs__; /* delimits a paragraph */
	char	s_percent_crlf__; /* threshold for converting to DOS-mode */
	char	s_readonly__;	/* allow writing the buffer */
#if SYS_VMS
	char	s_record_format__; /* specify record-format to use */
	char	s_record_length__; /* specify record-length to use */
#endif
	char	s_recordseparator__; /* record-separator affects dos/unix modes */
	char	s_sections__;	/* delimits a section */
	char	s_sentences__;  /* delimits a sentence */
	char	s_shiftwidth__; /* shiftwidth for ^T/^D/<</>> */
	char	s_showformat__; /* show record-separator */
	char	s_showmatch__;  /* show matching braces during insert */
	char	s_showmode__;	/* show insert/replace/command mode */
	char	s_tabinsert__;  /* okay to insert tab chars */
	char	s_tabstop__;	/* tab spacing for most buffers */
#if !SMALLER
	char	s_tagignorecase__; /* ignore upper/lower case in tags */
#endif
	char	s_taglength__;  /* required significant length for tag lookups */
	char	s_tagrelative__; /* tags are relative to tagsfile path */
	char	s_tags__;	/* list of tags files */
	char	s_tagword__;	/* apply tag to whole word, not only string at cursor */
	char	s_terse__;	/* be terse -- suppress messages */
	char	s_undo_dos_trim__; /* changes to buffer made when setting dosmode are undoable (or not) */
	char	s_undoable__;	/* changes to buffer are undoable (or not) */
	char	s_undolimit__;  /* how much undo stack is saved */
	char	s_view__;	/* read-only buffer */
#if OPT_HILITEMATCH
	char	s_visual_matches__; /* highlight all search matches */
#endif
	char	s_wrapmargin__; /* width of right margin for autowrap */
	char	s_wrapscan__;	/* wrap-around search mode */
	char	s_wrapwords__;  /* word wrap */
	char	s_yankmotion__; /* honor vi-style motion after yanking text */
	char	s_MAX;
	char	Q1;
	} IndexBuffers;

#if OPT_UPBUFF
#define MDUPBUFF	Member_Offset(IndexBuffers, s_animated__)
#endif
#if OPT_COLOR&&!SMALLER
#define VAL_AUTOCOLOR	Member_Offset(IndexBuffers, s_autocolor__)
#endif
#define MDAIND		Member_Offset(IndexBuffers, s_autoindent__)
#define MDASAVE		Member_Offset(IndexBuffers, s_autosave__)
#define VAL_ASAVECNT	Member_Offset(IndexBuffers, s_autosavecnt__)
#define MDAUTOWRITE	Member_Offset(IndexBuffers, s_autowrite__)
#define MDBACKLIMIT	Member_Offset(IndexBuffers, s_backspacelimit__)
#if !OPT_MAJORMODE
#define VAL_C_SWIDTH	Member_Offset(IndexBuffers, s_c_shiftwidth__)
#define VAL_C_TAB	Member_Offset(IndexBuffers, s_c_tabstop__)
#endif
#if !SMALLER
#define MDCHK_MODTIME	Member_Offset(IndexBuffers, s_check_modtime__)
#endif
#define MDCINDENT	Member_Offset(IndexBuffers, s_cindent__)
#define VAL_CINDENT_CHARS Member_Offset(IndexBuffers, s_cindent_chars__)
#if !OPT_MAJORMODE
#define MDCMOD		Member_Offset(IndexBuffers, s_cmode__)
#endif
#define VAL_CMT_PREFIX  Member_Offset(IndexBuffers, s_comment_prefix__)
#define VAL_COMMENTS	Member_Offset(IndexBuffers, s_comments__)
#if OPT_ENCRYPT
#define MDCRYPT		Member_Offset(IndexBuffers, s_crypt__)
#endif
#define MDDOS		Member_Offset(IndexBuffers, s_dos__)
#define VAL_FENCE_BEGIN Member_Offset(IndexBuffers, s_fence_begin__)
#define VAL_FENCE_ELIF  Member_Offset(IndexBuffers, s_fence_elif__)
#define VAL_FENCE_ELSE  Member_Offset(IndexBuffers, s_fence_else__)
#define VAL_FENCE_END	Member_Offset(IndexBuffers, s_fence_end__)
#define VAL_FENCE_FI	Member_Offset(IndexBuffers, s_fence_fi__)
#define VAL_FENCE_IF	Member_Offset(IndexBuffers, s_fence_if__)
#if OPT_MAJORMODE
#define VAL_FENCE_LIMIT Member_Offset(IndexBuffers, s_fence_limit__)
#endif
#define VAL_FENCES	Member_Offset(IndexBuffers, s_fence_pairs__)
#define VAL_FILL	Member_Offset(IndexBuffers, s_fillcol__)
#if OPT_MAJORMODE
#define VAL_FILTERNAME  Member_Offset(IndexBuffers, s_filtername__)
#define MDHILITE	Member_Offset(IndexBuffers, s_highlight__)
#endif
#define MDIGNCASE	Member_Offset(IndexBuffers, s_ignorecase__)
#define MDLOADING	Member_Offset(IndexBuffers, s_loading__)
#if OPT_LCKFILES
#define MDLOCKED	Member_Offset(IndexBuffers, s_locked__)
#define VAL_LOCKER	Member_Offset(IndexBuffers, s_locker__)
#endif
#define MDMAGIC		Member_Offset(IndexBuffers, s_magic__)
#define MDMETAINSBIND	Member_Offset(IndexBuffers, s_meta_insert_bindings__)
#define MDNEWLINE	Member_Offset(IndexBuffers, s_newline__)
#if OPT_HILITEMATCH
#define MDHILITEOVERLAP Member_Offset(IndexBuffers, s_overlap_matches__)
#endif
#define VAL_PARAGRAPHS  Member_Offset(IndexBuffers, s_paragraphs__)
#define VAL_PERCENT_CRLF Member_Offset(IndexBuffers, s_percent_crlf__)
#define MDREADONLY	Member_Offset(IndexBuffers, s_readonly__)
#if SYS_VMS
#define VAL_RECORD_FORMAT Member_Offset(IndexBuffers, s_record_format__)
#define VAL_RECORD_LENGTH Member_Offset(IndexBuffers, s_record_length__)
#endif
#define VAL_RECORD_SEP  Member_Offset(IndexBuffers, s_recordseparator__)
#define VAL_SECTIONS	Member_Offset(IndexBuffers, s_sections__)
#define VAL_SENTENCES	Member_Offset(IndexBuffers, s_sentences__)
#define VAL_SWIDTH	Member_Offset(IndexBuffers, s_shiftwidth__)
#define VAL_SHOW_FORMAT Member_Offset(IndexBuffers, s_showformat__)
#define MDSHOWMAT	Member_Offset(IndexBuffers, s_showmatch__)
#define MDSHOWMODE	Member_Offset(IndexBuffers, s_showmode__)
#define MDTABINSERT	Member_Offset(IndexBuffers, s_tabinsert__)
#define VAL_TAB		Member_Offset(IndexBuffers, s_tabstop__)
#if !SMALLER
#define MDTAGIGNORECASE Member_Offset(IndexBuffers, s_tagignorecase__)
#endif
#define VAL_TAGLEN	Member_Offset(IndexBuffers, s_taglength__)
#define MDTAGSRELTIV	Member_Offset(IndexBuffers, s_tagrelative__)
#define VAL_TAGS	Member_Offset(IndexBuffers, s_tags__)
#define MDTAGWORD	Member_Offset(IndexBuffers, s_tagword__)
#define MDTERSE		Member_Offset(IndexBuffers, s_terse__)
#define MDUNDO_DOS_TRIM Member_Offset(IndexBuffers, s_undo_dos_trim__)
#define MDUNDOABLE	Member_Offset(IndexBuffers, s_undoable__)
#define VAL_UNDOLIM	Member_Offset(IndexBuffers, s_undolimit__)
#define MDVIEW		Member_Offset(IndexBuffers, s_view__)
#if OPT_HILITEMATCH
#define VAL_HILITEMATCH Member_Offset(IndexBuffers, s_visual_matches__)
#endif
#define VAL_WRAPMARGIN  Member_Offset(IndexBuffers, s_wrapmargin__)
#define MDSWRAP		Member_Offset(IndexBuffers, s_wrapscan__)
#define MDWRAP		Member_Offset(IndexBuffers, s_wrapwords__)
#define MDYANKMOTION	Member_Offset(IndexBuffers, s_yankmotion__)

#define NUM_B_VALUES	Member_Offset(IndexBuffers, s_MAX) /* TABLESIZE(b_valnames) -- Buffers */
#define MAX_B_VALUES	65


typedef struct B_VALUES {
	/* each entry is a val, and a ptr to a val */
	struct VAL bv[MAX_B_VALUES+1];
} B_VALUES;

#ifdef realdef
EXTERN_CONST struct VALNAMES b_valnames[] = {
#if OPT_UPBUFF
	{ s_noanimated__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
#if OPT_COLOR&&!SMALLER
	{ s_autocolor__,	s_ac__,		VALTYPE_INT,	(ChgdFunc)0 },
#endif
	{ s_noautoindent__+2,	s_noai__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noautosave__+2,	s_noas__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_autosavecnt__,	s_ascnt__,	VALTYPE_INT,	(ChgdFunc)0 },
	{ s_noautowrite__+2,	s_noaw__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_nobackspacelimit__+2, s_nobl__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#if !OPT_MAJORMODE
	{ s_c_shiftwidth__,	s_csw__,	VALTYPE_INT,	(ChgdFunc)0 },
	{ s_c_tabstop__,	s_cts__,	VALTYPE_INT,	chgd_major_w },
#endif
#if !SMALLER
	{ s_nocheck_modtime__+2, "X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_nocindent__+2,	s_noci__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_cindent_chars__,	s_cic__,	VALTYPE_STRING, (ChgdFunc)0 },
#if !OPT_MAJORMODE
	{ s_nocmode__+2,	"X",		VALTYPE_BOOL,	chgd_major_w },
#endif
	{ s_comment_prefix__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_comments__,		"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
#if OPT_ENCRYPT
	{ s_nocrypt__+2,	"X",		VALTYPE_BOOL,	chgd_major },
#endif
	{ s_nodos__+2,		"X",		VALTYPE_BOOL,	chgd_major_w },
	{ s_fence_begin__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_fence_elif__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_fence_else__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_fence_end__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_fence_fi__,		"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_fence_if__,		"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
#if OPT_MAJORMODE
	{ s_fence_limit__,	"X",		VALTYPE_INT,	(ChgdFunc)0 },
#endif
	{ s_fence_pairs__,	s_fences__,	VALTYPE_STRING, chgd_fences },
	{ s_fillcol__,		s_fc__,		VALTYPE_INT,	(ChgdFunc)0 },
#if OPT_MAJORMODE
	{ s_filtername__,	s_fn__,		VALTYPE_STRING, (ChgdFunc)0 },
	{ s_nohighlight__+2,	s_nohl__+2,	VALTYPE_BOOL,	chgd_filter },
#endif
	{ s_noignorecase__+2,	s_noic__+2,	VALTYPE_BOOL,	chgd_hilite },
	{ s_noloading__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
#if OPT_LCKFILES
	{ s_nolocked__+2,	"X",		VALTYPE_BOOL,	chgd_disabled },
	{ s_locker__,		"X",		VALTYPE_STRING, chgd_disabled },
#endif
	{ s_nomagic__+2,	"X",		VALTYPE_BOOL,	chgd_hilite },
	{ s_nometa_insert_bindings__+2, s_nomib__+2, VALTYPE_BOOL, (ChgdFunc)0 },
	{ s_nonewline__+2,	s_nonl__+2,	VALTYPE_BOOL,	chgd_buffer },
#if OPT_HILITEMATCH
	{ s_nooverlap_matches__+2, "X",		VALTYPE_BOOL,	chgd_hilite },
#endif
	{ s_paragraphs__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_percent_crlf__,	"X",		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_noreadonly__+2,	s_noro__+2,	VALTYPE_BOOL,	chgd_major },
#if SYS_VMS
	{ s_record_format__,	"X",		VALTYPE_ENUM,	(ChgdFunc)0 },
	{ s_record_length__,	"X",		VALTYPE_INT,	(ChgdFunc)0 },
#endif
	{ s_recordseparator__,  s_rs__,		VALTYPE_ENUM,	chgd_rs },
	{ s_sections__,		"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_sentences__,	"X",		VALTYPE_REGEX,  (ChgdFunc)0 },
	{ s_shiftwidth__,	s_sw__,		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_showformat__,	s_sf__,		VALTYPE_ENUM,	chgd_window },
	{ s_noshowmatch__+2,	s_nosm__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noshowmode__+2,	s_nosmd__+2,	VALTYPE_BOOL,	chgd_major },
	{ s_notabinsert__+2,	s_noti__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_tabstop__,		s_ts__,		VALTYPE_INT,	chgd_major_w },
#if !SMALLER
	{ s_notagignorecase__+2, s_notc__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#endif
	{ s_taglength__,	s_tl__,		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_notagrelative__+2,  s_notr__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_tags__,		"X",		VALTYPE_STRING, (ChgdFunc)0 },
	{ s_notagword__+2,	s_notw__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noterse__+2,	"X",		VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noundo_dos_trim__+2, s_noudt__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noundoable__+2,	s_noua__+2,	VALTYPE_BOOL,	chgd_undoable },
	{ s_undolimit__,	s_ul__,		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_noview__+2,		"X",		VALTYPE_BOOL,	chgd_major },
#if OPT_HILITEMATCH
	{ s_visual_matches__,	"X",		VALTYPE_ENUM,	chgd_hilite },
#endif
	{ s_wrapmargin__,	s_wm__,		VALTYPE_INT,	(ChgdFunc)0 },
	{ s_nowrapscan__+2,	s_nows__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_nowrapwords__+2,	s_noww__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
	{ s_noyankmotion__+2,	s_noym__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },

	{ NULL,	NULL,	VALTYPE_INT, 0 }
};
#else
extern const struct VALNAMES b_valnames[];
#endif

/* these are the boolean, integer, and pointer value'd settings that are
 * associated with a window, and usually settable by a user.  There
 * is a global set that is inherited into a buffer, and its windows
 * in turn are inherit the buffer's set.
 */
typedef	struct	{
	char	s_horizscroll__; /* scroll whole screen */
#if OPT_LINEWRAP
	char	s_linewrap__;	/* wrap lines wider than screen */
#endif
	char	s_list__;	/* "list" mode -- show tabs and EOL */
	char	s_number__;	/* line-numbers shown */
#if !SMALLER
	char	s_ruler__;	/* display line+col in modeline */
#endif
	char	s_sideways__;	/* sideways offset for display */
#if OPT_SELECTIONS
	char	s_terse_selections__; /* don't display extent of selections on message line */
#endif
	char	s_unprintable_as_octal__; /* print non-printing chars in octal */
	char	s_MAX;
	char	Q1;
	} IndexWindows;

#define WMDHORSCROLL	Member_Offset(IndexWindows, s_horizscroll__)
#if OPT_LINEWRAP
#define WMDLINEWRAP	Member_Offset(IndexWindows, s_linewrap__)
#endif
#define WMDLIST		Member_Offset(IndexWindows, s_list__)
#define WMDNUMBER	Member_Offset(IndexWindows, s_number__)
#if !SMALLER
#define WMDRULER	Member_Offset(IndexWindows, s_ruler__)
#endif
#define WVAL_SIDEWAYS	Member_Offset(IndexWindows, s_sideways__)
#if OPT_SELECTIONS
#define WMDTERSELECT	Member_Offset(IndexWindows, s_terse_selections__)
#endif
#define WMDNONPRINTOCTAL Member_Offset(IndexWindows, s_unprintable_as_octal__)

#define NUM_W_VALUES	Member_Offset(IndexWindows, s_MAX) /* TABLESIZE(w_valnames) -- Windows */
#define MAX_W_VALUES	8


typedef struct W_VALUES {
	/* each entry is a val, and a ptr to a val */
	struct VAL wv[MAX_W_VALUES+1];
} W_VALUES;

#ifdef realdef
EXTERN_CONST struct VALNAMES w_valnames[] = {
	{ s_nohorizscroll__+2,  s_nohs__+2,	VALTYPE_BOOL,	(ChgdFunc)0 },
#if OPT_LINEWRAP
	{ s_nolinewrap__+2,	s_nolw__+2,	VALTYPE_BOOL,	chgd_window },
#endif
	{ s_nolist__+2,		s_noli__+2,	VALTYPE_BOOL,	chgd_window },
	{ s_nonumber__+2,	s_nonu__+2,	VALTYPE_BOOL,	chgd_window },
#if !SMALLER
	{ s_noruler__+2,	"X",		VALTYPE_BOOL,	chgd_status },
#endif
	{ s_sideways__,		s_side__,	VALTYPE_INT,	chgd_window },
#if OPT_SELECTIONS
	{ s_noterse_selections__+2, s_notsel__+2, VALTYPE_BOOL, (ChgdFunc)0 },
#endif
	{ s_nounprintable_as_octal__+2, s_nouo__+2, VALTYPE_BOOL, chgd_window },

	{ NULL,	NULL,	VALTYPE_INT, 0 }
};
#else
extern const struct VALNAMES w_valnames[];
#endif
