* configure.in: Add new option `--with-utf-2000'; define `UTF2000'
if it is specified.
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2005-01-29 Ben Wing <ben@xemacs.org>
+
+ * configure.in (AC_INIT_NOTICE):
+ * configure.in (XE_COMPUTE_RUNPATH):
+ Copy LDAP fixes from 21.5.
+
+ Port Marcus Crestani's patches of 2004-11-12:
+
+ * Makefile.in.in (install-arch-dep): Fix installation for Cygwin.
+ * configure:
+ * configure.in: Make pdump default for Cygwin.
+
+2005-01-30 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * Makefile.in.in (dump-elc): Depend on ${PROGNAME} to fix parallel
+ builds.
+
+2004-11-22 Adrian Aichner <adrian@xemacs.org>
+
+ * etc/TUTORIAL: Typo fixes, courtesy of Andreas Eder
+ <Andreas.Eder@gmx.net>.
+
+2004-05-20 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * configure.in (HAVE_GPM): Die if GPM requested but not found.
+
+2005-01-23 Vin Shelton <acs@xemacs.org>
+
+ * Makefile.in.in (finder): Force removal of lisp/finder-inf.el.
+
+2005-01-10 Vin Shelton <acs@xemacs.org>
+
+ * Makefile.in.in (RECURSIVE_MAKE_ARGS): Remove last few.
+
+2004-11-21 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * INSTALL: A POSIX compatible Make is no longer required for builds.
+ * Makefile.in.in (RECURSIVE_MAKE): Removed.
+ * Makefile.in.in (RECURSIVE_MAKE_ARGS): New.
+ * configure.in (RECURSIVE_MAKE): Removed.
+ * configure.in (RECURSIVE_MAKE_ARGS): New.
+ Always refer to make as $(MAKE) and use $(RECURSIVE_MAKE_ARGS) for
+ other parameters. This allows -j to work in GNU Make while
+ removing need for POSIX compatible make on all systems.
+
+2004-09-08 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * INSTALL: A POSIX compatible Make is required for builds.
+ * Makefile.in.in: Enable support for parallel builds.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2004-08-12 "Johann 'Myrkraverk' Oskarsson" <myrkraverk@users.sourceforge.net>
+
+ * config.guess: Detect PlayStation 2.
+
+2004-08-10 Jerry James <james@xemacs.org>
+
+ * etc/SERVICE: Update to latest version from www.gnu.org.
+
+2004-07-06 Steve Youngs <steve@youngs.au.com>
+
+ * etc/NEWS: Document the major user visible changes to PUI.
+
+2003-07-21 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * etc/gtkrc: New file. This is the GTK equivalent of the
+ app-default file.
+
+2004-03-30 Norbert Koch <viteno@xemacs.org>
+
+ * PACKAGES: Introduce new packages escreen, xlib, and xwem.
+
+2004-03-23 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * configure (GTK_CONFIG): Check GTK version validity only when the
+ right instance of gtk-config is found.
+
+2004-03-20 Adrian Aichner <adrian@xemacs.org>
+
+ * etc/sample.init.el: Sync typo and copycat fix from 21.5.
+ * etc/sample.init.el ((console-on-window-system-p)): Sync
+ "\C-x\C-c" definition from 21.5.
+
+2004-03-20 Vin Shelton <acs@xemacs.org>
+
+ * configure.usage (--use-regex-malloc): Correct warning about
+ disabling regex-malloc.
+
+2004-03-04 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * configure.in (src/Makefile): No longer include a special linker
+ script for PowerPC Linux. Thanks to Stefan Bruda for reporting
+ this bug.
+
+2004-02-10 Vin Shelton <acs@xemacs.org>
+
+ * etc/OXYMORONS: Added Jumbo Shrimp for 21.4.17.
+
+2004-02-03 Vin Shelton <acs@xemacs.org>
+
+ * configure.in (XE_COMPUTE_RUNPATH): lucid_prefers_motif is a
+ variable, not a command.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
exact amount depends greatly on the number of extra lisp packages that are
installed
-XEmacs requires an ANSI C compiler, such as GCC. If you wish to build
-the documentation yourself, you will need at least version 1.68 of
-makeinfo (GNU texinfo-3.11). GNU Texinfo 4.2 is recommended; it is
-necessary for building packages, and we may move to it for the core.
+XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the
+documentation yourself, you will need at least version 1.68 of makeinfo (GNU
+texinfo-3.11). GNU Texinfo 4.2 is recommended; it is necessary for building
+Lisp packages, and we may move to it for the core.
ADD-ON LIBRARIES
================
#include "src/config.h"
#ifdef USE_GNU_MAKE
-RECURSIVE_MAKE=$(MAKE)
+RECURSIVE_MAKE_ARGS=
#else
@SET_MAKE@
-RECURSIVE_MAKE=@RECURSIVE_MAKE@
+RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
#endif
SHELL = /bin/sh
cd ${srcdir} && $(SHELL) lib-src/config.values.sh
depend ${srcdir}/src/depend:
- cd ./src && $(RECURSIVE_MAKE) depend
+ cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend
## Build XEmacs and recompile out-of-date and missing .elc files along
## the way.
-all-elc all-elcs: autoloads dump-elcs
+all-elc all-elcs: ${PROGNAME} autoloads dump-elcs
${blddir}/src/${PROGNAME} -batch -vanilla \
-l update-elc-2.el -f batch-update-elc-2 lisp
#ifdef UTF2000
#endif
## Sub-target for all-elc.
-dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs
- cd ./src && $(RECURSIVE_MAKE) dump-elcs
+dump-elc dump-elcs: ${PROGNAME} ${GENERATED_HEADERS} FRC.dump-elcs
+ cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) dump-elcs
autoloads: lib-src lwlib src lisp/auto-autoloads.el lisp/custom-load.el
FRC.lisp.auto.autoloads.el:
-lisp/auto-autoloads.el: FRC.lisp.auto.autoloads.el
+lisp/auto-autoloads.el: ${PROGNAME} FRC.lisp.auto.autoloads.el
$(RM) lisp/auto-autoloads.el
${blddir}/src/${PROGNAME} -batch -no-autoloads \
-l autoload -f batch-update-directory lisp
#endif
FRC.lisp.custom.load.el:
-lisp/custom-load.el: FRC.lisp.custom.load.el lisp/auto-autoloads.el
+lisp/custom-load.el: ${PROGNAME} FRC.lisp.custom.load.el lisp/auto-autoloads.el
${blddir}/src/${PROGNAME} -batch -vanilla -l cus-dep \
-f Custom-make-dependencies lisp
finder: src
@echo "Building finder database ..."
+ $(RM) lisp/finder-inf.el
@(cd ./lisp; \
${blddir}/src/${PROGNAME} -batch -vanilla \
-eval '(setq finder-compile-keywords-quiet t)' \
-l finder -f finder-compile-keywords )
@echo "Building finder database ...(done)"
-lisp/finder-inf.el:
+lisp/finder-inf.el: src
@echo "Building finder database ..."
@(cd ./lisp; \
${blddir}/src/${PROGNAME} -batch -vanilla \
FRC.lisp.finder-inf.el:
${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
- cd ./$@ && $(RECURSIVE_MAKE) all
+ cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all
-Makefile: ${srcdir}/Makefile.in config.status
+## Building modules depends on ellcc, found in lib-src.
+modules/sample modules/ldap modules/zlib modules/base64: lib-src
+
+Makefile: ${srcdir}/Makefile.in.in config.status
./config.status
src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status
install-arch-dep: mkdir
for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \
- (cd ./$${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \
+ (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \
exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
archlibdir=${archlibdir}) ; done
if test "`(cd ${archlibdir} && $(pwd))`" != \
${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
-chmod 0755 ${bindir}/${PROGNAME}
#else
- ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
- -chmod 0755 ${bindir}/${PROGNAME}-${version}
# ifdef CYGWIN
+ ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe
+ -chmod 0755 ${bindir}/${PROGNAME}-${version}.exe
cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
# else
+ ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
+ -chmod 0755 ${bindir}/${PROGNAME}-${version}
cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
# endif /* CYGWIN */
#endif /* WIN32_NATIVE */
#### would be extremely dangerous for anyone to use it.
##uninstall:
## (cd ./lib-src; \
-## $(RECURSIVE_MAKE) uninstall \
+## $(MAKE) $(RECURSIVE_MAKE_ARGS) uninstall \
## prefix=${prefix} exec_prefix=${exec_prefix} \
## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
## for dir in ${lispdir} ${etcdir} ; do \
## target for GCC does not delete `libgcc.a', because recompiling it
## is rarely necessary and takes a lot of time.
mostlyclean: FRC.mostlyclean
- for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
## `clean'
## Delete all files from the current directory that are normally
## Delete `.dvi' files here if they are not part of the distribution.
clean: FRC.clean
- for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
$(RM) core
## `distclean'
$(RM) -r site-packages xemacs-packages mule-packages site-lisp
distclean: FRC.distclean
- for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
-${top_distclean}
## `realclean'
## anything that needs to exist in order to run `configure' and then
## begin to build the program.
realclean: FRC.realclean
- for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
-${top_distclean}
$(RM) TAGS
## the coding standards seem to come from. It's like distclean, but
## it deletes backup and autosave files too.
extraclean:
- for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
$(RM) *~ \#*
-${top_distclean}
unlock:
chmod u+w $(SOURCES) cpp/*
-cd ./elisp && chmod u+w Makefile README *.texi
- for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
cd ./lisp/term && chmod u+w README *.el
cd ./man && chmod u+w *texi* ChangeLog split-man
cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
relock:
chmod u-w $(SOURCES) cpp/*
-cd ./elisp && chmod u-w Makefile README *.texi
- for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+ for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
cd ./lisp/term && chmod u+w README *.el
cd ./man && chmod u+w *texi* ChangeLog split-man
cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/"
check:
- cd ./src && $(RECURSIVE_MAKE) $@
+ cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
info: FRC.info
- cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
+ cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
dvi:
- cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
+ cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
## Fix up version information in executables (Solaris-only)
mcs:
The XEmacs Packages Quick Start Guide
-------------------------------------
-This text is intended to help you get started installing a new XEmacs
-and its packages from start. For details see the 'Startup Paths' and
-'Packages' sections of the XEmacs info manual.
+This text is intended to help you get started installing a new XEmacs and
+its packages. For more details see the 'Startup Paths' and 'Packages'
+sections of the XEmacs info manual.
* Real Real Quickstart FAQ
--------------------------
Q. Do I need to have the packages to compile XEmacs?
-A. No, XEmacs will build and install just fine without any packages
- installed. However, only the most basic editing functions will be
- available with no packages installed, so installing packages is an
+
+A. Theoretically, no -- XEmacs will build and install just fine without any
+ packages installed. However, only the most basic editing functions will
+ be available with no packages installed, so installing packages is an
essential part of making your installed XEmacs _useful_.
Q. I really liked the old way that packages were bundled and do not
want to mess with packages at all.
+
A. You can grab all the packages at once like you used to with old
XEmacs versions, skip to the 'Sumo Tarball' section below.
+Q. How do I tell XEmacs where to find the packages?
+
+A. Normally, you put the packages under $prefix/lib/packages, where
+ $prefix is specified using the `--prefix' parameter to `configure'.
+ (See `Package hierarchies' below). However, if you have the packages
+ somewhere else (e.g. you're a developer and are compiling the packages
+ yourself, and want your own private copy of everything), use the
+ `--package-path' parameter, something like this:
+
+ configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ...
+
Q. After installing, I want XEmacs to do `foo', but when I invoke it
(or click the toolbar button or select the menu item), nothing (or
an error) happens, and it used to work.
+
A. See the first FAQ; you may be missing a package that is essential to
you. You can either track it down and install it, or install the
`Sumo Tarball' (see the second FAQ).
backwards compatibility as quirks are worked out over the coming
releases.
-* Some Package Theory
+* Some package theory
---------------------
In order to reduce the size and increase the maintainability of XEmacs,
* Package hierarchies
---------------------
-On Startup XEmacs looks for packages in so called package hierarchies.
-These can be specified by the 'package-path' parameter to the
-'configure' script. However by default there are three system wide
-hierarchies. ("$prefix" defaults to "/usr/local")
+On Startup XEmacs looks for packages in so-called package hierarchies.
+Normally, there are three system wide hierarchies, like this:
-$prefix/lib/xemacs/xemacs-packages
+$prefix/lib/xemacs/xemacs-packages/
Normal packages go here.
-$prefix/lib/xemacs/mule-packages
+$prefix/lib/xemacs/mule-packages/
Mule packages go here and are only searched by MULE-enabled XEmacsen.
$prefix/lib/xemacs/site-packages/
Local and 3rd party packages go here.
+This is what you get when you untar the SUMO tarballs under
+$prefix/lib/xemacs.
+
+$prefix is specified using the `--prefix' parameter to `configure', and
+defaults to `usr/local'.
+
+If your packages are located in the above directories, XEmacs will
+automatically find them at startup; however, if you have your packages
+somewhere else (e.g. you're a developer and are compiling the packages
+yourself, and want your own private copy of everything), you can tell
+XEmacs specifically where to look for the packages by using the
+`--package-path' parameter to the 'configure' script. Normally, it looks
+like this:
+
+configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ...
+
+See `configure.usage' for more info about the format of this parameter.
* Where to get the packages
---------------------------
-----------------------------
There are a few different ways to install packages:
- 1. Manually, all at once, using the 'Sumo Tarball'.
+ 1. Automatically, using the package tools from XEmacs.
2. Manually, using individual package tarballs.
- 3. Automatically, using the package tools from XEmacs.
+ 3. Manually, all at once, using the 'Sumo Tarball'.
-** Manually, all at once, using the 'Sumo Tarball'
---------------------------------------------------
+** Automatically, using the package tools from XEmacs
+-----------------------------------------------------
-Those with little time, cheap connections and plenty of disk space can
-install all the packages at once using the sumo tarballs.
-Download the file:
+XEmacs comes with some tools to make the periodic updating and
+installing easier. It will notice if new packages or versions are
+available and will fetch them from the FTP site.
- xemacs-sumo.tar.gz
+Unfortunately this requires that a few packages are already in place.
+You will have to install them by hand as above or use a SUMO tarball.
+This requirement will hopefully go away in the future. The packages
+you need are:
-For an XEmacs compiled with Mule you also need:
+ efs - To fetch the files from the FTP site or mirrors.
+ xemacs-base - Needed by efs.
- xemacs-mule-sumo.tar.gz
+and optionally:
-N.B. They are called 'Sumo Tarballs' for good reason. They are
-currently about 19MB and 4.5MB (gzipped) respectively.
+ mailcrypt - For PGP verification of the package-index file.
-Install them by:
+After installing these by hand, fire up XEmacs and follow these
+steps.
- cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET
+ (1) Choose a download site.
+ - via menu: Tools -> Packages -> Set Download Site
+ - via keyb: M-x customize-variable RET package-get-remote RET
+ (put in the details of remote host and directory)
-Or, if you have GNU tar:
+ If the package tarballs _AND_ the package-index file are in a
+ local directory, you can: M-x pui-set-local-package-get-directory RET
- cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET
+ (2) Obtain a list of packages and display the list in a buffer named
+ "*Packages*".
+ - menu: Tools -> Packages -> List & Install
+ - keyb: M-x pui-list-packages RET
-As the Sumo tarballs are not regenerated as often as the individual
-packages, it is recommended that you use the automatic package tools
-afterwards to pick up any recent updates.
+ XEmacs will now connect to the remote site and download the
+ latest package-index file.
+
+ The resulting buffer, "*Packages*" has brief instructions at the
+ end of the buffer.
+
+ (3) Choose the packages you wish to install.
+ - mouse: Click button 2 on the package name.
+ - keyb: RET on the package name
+
+ (4) Make sure you have everything you need.
+ - menu: Packages -> Add Required
+ - keyb: r
+
+ XEmacs will now search for packages that are required by the
+ ones that you have chosen to install and offer to select
+ those packages also.
+
+ For novices and gurus alike, this step can save your bacon.
+ It's easy to forget to install a critical package.
+
+ (5) Download and install the packages.
+ - menu: Packages -> Install/Remove Selected
+ - keyb: x
** Manually, using individual package tarballs
----------------------------------------------
tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
-** Automatically, using the package tools from XEmacs
------------------------------------------------------
-
-XEmacs comes with some tools to make the periodic updating and
-installing easier. It will notice if new packages or versions are
-available and will fetch them from the FTP site.
-
-Unfortunately this requires that a few packages are already in place.
-You will have to install them by hand as above or use a SUMO tarball.
-This requirement will hopefully go away in the future. The packages
-you need are:
-
- efs - To fetch the files from the FTP site or mirrors.
- xemacs-base - Needed by efs.
-
-and optionally:
-
- mule-base - Needed if you want to use XEmacs with MULE.
-
-After installing these by hand, fire up XEmacs and follow these
-steps.
-
-Note: The menus in XEmacs 21.2.x and up have changed slightly, so
-where I mention "Options -> Manage Packages", substitute "Tools ->
-Packages".
+** Manually, all at once, using the 'Sumo Tarball'
+--------------------------------------------------
- (1) Choose a download site.
- - via menu: Options -> Manages Packages -> Add Download Site
- - via keyb: M-x customize-variable RET package-get-remote RET
- (put in the details of remote host and directory)
+Those with little time, cheap connections and plenty of disk space can
+install all the packages at once using the sumo tarballs.
+Download the file:
- If the package tarballs _AND_ the package-index file are in a
- local directory, you can: M-x pui-add-install-directory RET
+ xemacs-sumo.tar.gz
- (2) Obtain a list of packages and display the list in a buffer named
- "*Packages*".
- - menu: Options -> Manage Packages -> List & Install
- - keyb: M-x pui-list-packages RET
+For an XEmacs compiled with Mule you also need:
- XEmacs will now connect to the remote site and download the
- latest package-index file. If you see an error about the
- package-index entries not being PGP signed, you can safely
- ignore this because PGP has not been integrated into the XEmacs
- package tools yet.
+ xemacs-mule-sumo.tar.gz
- The resulting buffer, "*Packages*" has brief instructions at the
- end of the buffer.
+N.B. They are called 'Sumo Tarballs' for good reason. They are
+currently about 19MB and 4.5MB (gzipped) respectively.
- (3) Choose the packages you wish to install.
- - mouse: Click button 2 on the package name.
- - keyb: RET on the package name
+Install them by:
- (4) Make sure you have everything you need.
- - menu: Packages -> Add Required
- - keyb: r
+ cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET
- XEmacs will now search for packages that are required by the
- ones that you have chosen to install and offer to select
- those packages also.
+Or, if you have GNU tar:
- For novices and gurus alike, this step can save your bacon.
- It's easy to forget to install a critical package.
+ cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET
- (5) Download and install the packages.
- - menu: Packages -> Install/Remove Selected
- - keyb: x
+As the Sumo tarballs are not regenerated as often as the individual
+packages, it is recommended that you use the automatic package tools
+afterwards to pick up any recent updates.
* After Installation
--------------------
-New packages can only be used by XEmacs after a restart.
+Updated packages can only be used by XEmacs after a restart.
* Which Packages to install?
----------------------------
xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
-text-modes, time
+text-modes, time, mailcrypt
If you are using the XEmacs package tools, don't forget to do:
--------------------------
In addition to the system wide packages, each user can have his own
-packages installed in "~/.xemacs/xemacs-packages". If you want to
-install packages there using the interactive tools, you need to set
-'pui-package-install-dest-dir' to "~/.xemacs/xemacs-packages"
+packages installed under "~/.xemacs/". If you want to install packages
+there using the interactive tools, you need to set
+'package-get-install-to-user-init-directory' to 't'
* Site lisp/Site start
----------------------
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
-timestamp='2001-01-17'
+timestamp='2004-08-12'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
#ifdef __MIPSEL__
+#ifdef __R5900
+/* Little Endian R5900 running Linux,
+ this *must* be Sony PlayStation 2 */
+ printf ("%sel-PlayStation2-linux-gnu\n", argv[1]);
+#else
printf ("%sel-unknown-linux-gnu\n", argv[1]);
#endif
+#endif
return 0;
}
EOF
#### Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
#### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
#### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
-#### Copyright (C) 1995, 1996 Ben Wing.
+#### Copyright (C) 1995, 1996, 2005 Ben Wing.
#### Copyright (C) 2000, 2001 Martin Buchholz.
#### Copyright (C) 1998, 1999 J. Kean Johnston.
if test -z "$pdump"; then
case "$opsys" in
- linux* ) pdump=yes ;; darwin ) pdump=yes ;; *) pdump=no ;;
+ linux* ) pdump=yes ;; darwin ) pdump=yes ;; cygwin* ) pdump=yes ;; *) pdump=no ;;
esac
fi
fi
-test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
if test "$unexec" = "unexaix.o"; then
if test "$dynamic" = "no"; then
done
echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6
-echo "configure:3011: checking for terminateAndUnload in -lC" >&5
+echo "configure:3010: checking for terminateAndUnload in -lC" >&5
ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'`
xe_check_libs=" -lC "
cat > conftest.$ac_ext <<EOF
-#line 3016 "configure"
+#line 3015 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
terminateAndUnload()
; return 0; }
EOF
-if { (eval echo configure:3027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$add_runtime_path" = "yes"; then
echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6
-echo "configure:3135: checking "for runtime libraries flag"" >&5
+echo "configure:3134: checking "for runtime libraries flag"" >&5
case "$opsys" in
sol2 ) dash_r="-R" ;;
decosf* | linux* | irix*) dash_r="-rpath " ;;
done
fi
cat > conftest.$ac_ext <<EOF
-#line 3157 "configure"
+#line 3156 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
dash_r="$try_dash_r"
else
fi
after_morecore_hook_exists=yes
echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6
-echo "configure:3265: checking for malloc_set_state" >&5
+echo "configure:3264: checking for malloc_set_state" >&5
cat > conftest.$ac_ext <<EOF
-#line 3268 "configure"
+#line 3267 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char malloc_set_state(); below. */
; return 0; }
EOF
-if { (eval echo configure:3291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_malloc_set_state=yes"
else
fi
echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6
-echo "configure:3311: checking whether __after_morecore_hook exists" >&5
+echo "configure:3310: checking whether __after_morecore_hook exists" >&5
cat > conftest.$ac_ext <<EOF
-#line 3313 "configure"
+#line 3312 "configure"
#include "confdefs.h"
extern void (* __after_morecore_hook)();
int main() {
__after_morecore_hook = 0
; return 0; }
EOF
-if { (eval echo configure:3320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3376: checking for $ac_word" >&5
+echo "configure:3375: checking for $ac_word" >&5
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:3431: checking for a BSD compatible install" >&5
+echo "configure:3430: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3485: checking for $ac_word" >&5
+echo "configure:3484: checking for $ac_word" >&5
if test -n "$YACC"; then
ac_cv_prog_YACC="$YACC" # Let the user override the test.
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3517: checking for $ac_hdr" >&5
+echo "configure:3516: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 3520 "configure"
+#line 3519 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
done
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:3555: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:3554: checking for sys/wait.h that is POSIX.1 compatible" >&5
cat > conftest.$ac_ext <<EOF
-#line 3558 "configure"
+#line 3557 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:3574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3598: checking for ANSI C header files" >&5
+echo "configure:3597: checking for ANSI C header files" >&5
cat > conftest.$ac_ext <<EOF
-#line 3601 "configure"
+#line 3600 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3609: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 3626 "configure"
+#line 3625 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 3644 "configure"
+#line 3643 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
cat > conftest.$ac_ext <<EOF
-#line 3662 "configure"
+#line 3661 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:3673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:3672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3699: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3698: checking whether time.h and sys/time.h may both be included" >&5
cat > conftest.$ac_ext <<EOF
-#line 3702 "configure"
+#line 3701 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:3711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
-echo "configure:3735: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo "configure:3734: checking for sys_siglist declaration in signal.h or unistd.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3738 "configure"
+#line 3737 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
char *msg = *(sys_siglist + 1);
; return 0; }
EOF
-if { (eval echo configure:3750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3749: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_sys_siglist=yes
else
echo $ac_n "checking for utime""... $ac_c" 1>&6
-echo "configure:3776: checking for utime" >&5
+echo "configure:3775: checking for utime" >&5
cat > conftest.$ac_ext <<EOF
-#line 3778 "configure"
+#line 3777 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <utime.h>
struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);
; return 0; }
EOF
-if { (eval echo configure:3786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
for ac_func in utimes
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3805: checking for $ac_func" >&5
+echo "configure:3804: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 3808 "configure"
+#line 3807 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3863: checking return type of signal handlers" >&5
+echo "configure:3862: checking return type of signal handlers" >&5
cat > conftest.$ac_ext <<EOF
-#line 3866 "configure"
+#line 3865 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:3883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3905: checking for size_t" >&5
+echo "configure:3904: checking for size_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3908 "configure"
+#line 3907 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:3939: checking for pid_t" >&5
+echo "configure:3938: checking for pid_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3942 "configure"
+#line 3941 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:3973: checking for uid_t in sys/types.h" >&5
+echo "configure:3972: checking for uid_t in sys/types.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3976 "configure"
+#line 3975 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:4012: checking for mode_t" >&5
+echo "configure:4011: checking for mode_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4015 "configure"
+#line 4014 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:4046: checking for off_t" >&5
+echo "configure:4045: checking for off_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4049 "configure"
+#line 4048 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:4080: checking for ssize_t" >&5
+echo "configure:4079: checking for ssize_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4083 "configure"
+#line 4082 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
-echo "configure:4115: checking for socklen_t" >&5
+echo "configure:4114: checking for socklen_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4117 "configure"
+#line 4116 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
; return 0; }
EOF
-if { (eval echo configure:4127: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 4136 "configure"
+#line 4135 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
; return 0; }
EOF
-if { (eval echo configure:4146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""size_t" 1>&6
rm -f conftest*
echo $ac_n "checking for struct timeval""... $ac_c" 1>&6
-echo "configure:4178: checking for struct timeval" >&5
+echo "configure:4177: checking for struct timeval" >&5
cat > conftest.$ac_ext <<EOF
-#line 4180 "configure"
+#line 4179 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
static struct timeval x; x.tv_sec = x.tv_usec;
; return 0; }
EOF
-if { (eval echo configure:4196: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
HAVE_TIMEVAL=yes
rm -f conftest*
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:4218: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:4217: checking whether struct tm is in sys/time.h or time.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 4221 "configure"
+#line 4220 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:4229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
fi
echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:4253: checking for tm_zone in struct tm" >&5
+echo "configure:4252: checking for tm_zone in struct tm" >&5
cat > conftest.$ac_ext <<EOF
-#line 4256 "configure"
+#line 4255 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_cv_struct_tm>
struct tm tm; tm.tm_zone;
; return 0; }
EOF
-if { (eval echo configure:4264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4263: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm_zone=yes
else
else
echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:4287: checking for tzname" >&5
+echo "configure:4286: checking for tzname" >&5
cat > conftest.$ac_ext <<EOF
-#line 4290 "configure"
+#line 4289 "configure"
#include "confdefs.h"
#include <time.h>
#ifndef tzname /* For SGI. */
atoi(*tzname);
; return 0; }
EOF
-if { (eval echo configure:4300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_var_tzname=yes
else
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4326: checking for working const" >&5
+echo "configure:4325: checking for working const" >&5
cat > conftest.$ac_ext <<EOF
-#line 4329 "configure"
+#line 4328 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:4378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:4403: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:4402: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
cat > conftestmake <<\EOF
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:4428: checking whether byte ordering is bigendian" >&5
+echo "configure:4427: checking whether byte ordering is bigendian" >&5
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF
-#line 4433 "configure"
+#line 4432 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:4444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF
-#line 4448 "configure"
+#line 4447 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:4459: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
rm -f conftest*
if test $ac_cv_c_bigendian = unknown; then
cat > conftest.$ac_ext <<EOF
-#line 4476 "configure"
+#line 4475 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:4489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_bigendian=no
else
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:4516: checking size of short" >&5
+echo "configure:4515: checking size of short" >&5
cat > conftest.$ac_ext <<EOF
-#line 4519 "configure"
+#line 4518 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_short=`cat conftestval`
else
exit 1
fi
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4558: checking size of int" >&5
+echo "configure:4557: checking size of int" >&5
cat > conftest.$ac_ext <<EOF
-#line 4561 "configure"
+#line 4560 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_int=`cat conftestval`
else
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4594: checking size of long" >&5
+echo "configure:4593: checking size of long" >&5
cat > conftest.$ac_ext <<EOF
-#line 4597 "configure"
+#line 4596 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_long=`cat conftestval`
else
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4630: checking size of long long" >&5
+echo "configure:4629: checking size of long long" >&5
cat > conftest.$ac_ext <<EOF
-#line 4633 "configure"
+#line 4632 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_long_long=`cat conftestval`
else
echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4666: checking size of void *" >&5
+echo "configure:4665: checking size of void *" >&5
cat > conftest.$ac_ext <<EOF
-#line 4669 "configure"
+#line 4668 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_void_p=`cat conftestval`
else
case $opsys in
cygwin* ) cat > conftest.$ac_ext <<EOF
-#line 4704 "configure"
+#line 4703 "configure"
#include "confdefs.h"
#include <cygwin/types.h>
EOF
esac
echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:4729: checking for long file names" >&5
+echo "configure:4728: checking for long file names" >&5
ac_cv_sys_long_file_names=yes
# Test for long file names in all the places we know might matter:
echo $ac_n "checking for sin""... $ac_c" 1>&6
-echo "configure:4775: checking for sin" >&5
+echo "configure:4774: checking for sin" >&5
cat > conftest.$ac_ext <<EOF
-#line 4778 "configure"
+#line 4777 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sin(); below. */
; return 0; }
EOF
-if { (eval echo configure:4801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_sin=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:4819: checking for sin in -lm" >&5
+echo "configure:4818: checking for sin in -lm" >&5
ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'`
xe_check_libs=" -lm "
cat > conftest.$ac_ext <<EOF
-#line 4824 "configure"
+#line 4823 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
sin()
; return 0; }
EOF
-if { (eval echo configure:4835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
cat > conftest.$ac_ext <<EOF
-#line 4879 "configure"
+#line 4878 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
return atanh(1.0) + asinh(1.0) + acosh(1.0);
; return 0; }
EOF
-if { (eval echo configure:4886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_INVERSE_HYPERBOLIC
rm -f conftest*
echo "checking type of mail spool file locking" 1>&6
-echo "configure:4903: checking type of mail spool file locking" >&5
+echo "configure:4902: checking type of mail spool file locking" >&5
for ac_func in lockf flock
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4907: checking for $ac_func" >&5
+echo "configure:4906: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 4910 "configure"
+#line 4909 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:4933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
case "$opsys" in decosf*)
echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6
-echo "configure:5015: checking for cma_open in -lpthreads" >&5
+echo "configure:5014: checking for cma_open in -lpthreads" >&5
ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpthreads "
cat > conftest.$ac_ext <<EOF
-#line 5020 "configure"
+#line 5019 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
cma_open()
; return 0; }
EOF
-if { (eval echo configure:5031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6
-echo "configure:5068: checking whether the -xildoff compiler flag is required" >&5
+echo "configure:5067: checking whether the -xildoff compiler flag is required" >&5
if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
then echo "$ac_t""no" 1>&6;
if test "$opsys" = "sol2"; then
if test "$os_release" -ge 506; then
echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6
-echo "configure:5080: checking for \"-z ignore\" linker flag" >&5
+echo "configure:5079: checking for \"-z ignore\" linker flag" >&5
case "`ld -h 2>&1`" in
*-z\ ignore\|record* ) echo "$ac_t""yes" 1>&6
ld_switch_site="-z ignore $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z ignore\" to \$ld_switch_site"; fi ;;
echo "checking "for specified window system"" 1>&6
-echo "configure:5091: checking "for specified window system"" >&5
+echo "configure:5090: checking "for specified window system"" >&5
GNOME_CONFIG=no
if test "$with_gnome" != "no"; then
echo $ac_n "checking for GNOME configuration script""... $ac_c" 1>&6
-echo "configure:5099: checking for GNOME configuration script" >&5
+echo "configure:5098: checking for GNOME configuration script" >&5
for possible in gnome-config
do
possible_version=`${possible} --version 2> /dev/null`
if test "$with_gtk" != "no";then
echo $ac_n "checking for GTK configuration script""... $ac_c" 1>&6
-echo "configure:5130: checking for GTK configuration script" >&5
+echo "configure:5129: checking for GTK configuration script" >&5
for possible in gtk12-config gtk14-config gtk-config
do
possible_version=`${possible} --version 2> /dev/null`
if test "x${possible_version}" != "x"; then
GTK_CONFIG="${possible}"
+ case "${possible_version}" in
+ 1.0.*) echo "configure: warning: GTK 1.2 is required, please upgrade your version of GTK." 1>&2; with_gtk=no;;
+ 1.3.*) echo "configure: warning: GTK 1.3 is not supported right now" 1>&2; with_gtk=no;;
+ 1.2.*)
+ with_gtk=yes
+ break
+ ;;
+ *) echo "configure: warning: Found unsupported version of GTK: $possible_version" 1>&2;;
+ esac
fi
- case "${possible_version}" in
- 1.0.*) echo "configure: warning: GTK 1.2 is required, please upgrade your version of GTK." 1>&2; with_gtk=no;;
- 1.3.*) echo "configure: warning: GTK 1.3 is not supported right now" 1>&2; with_gtk=no;;
- 1.2.*)
- with_gtk=yes
- break
- ;;
- *) echo "configure: warning: Found unsupported version of GTK: $possible_version" 1>&2;;
- esac
done
echo "$ac_t""${GTK_CONFIG}" 1>&6
fi
if test "${GTK_CONFIG}" != "no"; then
echo $ac_n "checking gtk version""... $ac_c" 1>&6
-echo "configure:5152: checking gtk version" >&5
+echo "configure:5151: checking gtk version" >&5
GTK_VERSION=`${GTK_CONFIG} --version`
echo "$ac_t""${GTK_VERSION}" 1>&6
echo $ac_n "checking gtk libs""... $ac_c" 1>&6
-echo "configure:5157: checking gtk libs" >&5
+echo "configure:5156: checking gtk libs" >&5
GTK_LIBS=`${GTK_CONFIG} --libs`
libs_gtk="$libs_gtk ${GTK_LIBS}" && if test "$extra_verbose" = "yes"; then echo " Appending \"${GTK_LIBS}\" to \$libs_gtk"; fi
echo "$ac_t""${GTK_LIBS}" 1>&6
echo $ac_n "checking gtk cflags""... $ac_c" 1>&6
-echo "configure:5163: checking gtk cflags" >&5
+echo "configure:5162: checking gtk cflags" >&5
GTK_CFLAGS=`${GTK_CONFIG} --cflags`
if test "$GCC" = "yes"; then
GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow"
echo $ac_n "checking for main in -lgdk_imlib""... $ac_c" 1>&6
-echo "configure:5173: checking for main in -lgdk_imlib" >&5
+echo "configure:5172: checking for main in -lgdk_imlib" >&5
ac_lib_var=`echo gdk_imlib'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdk_imlib "
cat > conftest.$ac_ext <<EOF
-#line 5178 "configure"
+#line 5177 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for Imlib_init in -lImlib""... $ac_c" 1>&6
-echo "configure:5207: checking for Imlib_init in -lImlib" >&5
+echo "configure:5206: checking for Imlib_init in -lImlib" >&5
ac_lib_var=`echo Imlib'_'Imlib_init | sed 'y%./+-%__p_%'`
xe_check_libs=" -lImlib "
cat > conftest.$ac_ext <<EOF
-#line 5212 "configure"
+#line 5211 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
Imlib_init()
; return 0; }
EOF
-if { (eval echo configure:5223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for ac_func in gdk_imlib_init
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5246: checking for $ac_func" >&5
+echo "configure:5245: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 5249 "configure"
+#line 5248 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:5272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5351: checking for $ac_hdr" >&5
+echo "configure:5350: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 5354 "configure"
+#line 5353 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5358: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for main in -lxml""... $ac_c" 1>&6
-echo "configure:5390: checking for main in -lxml" >&5
+echo "configure:5389: checking for main in -lxml" >&5
ac_lib_var=`echo xml'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lxml "
cat > conftest.$ac_ext <<EOF
-#line 5395 "configure"
+#line 5394 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5401: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for main in -lglade""... $ac_c" 1>&6
-echo "configure:5424: checking for main in -lglade" >&5
+echo "configure:5423: checking for main in -lglade" >&5
ac_lib_var=`echo glade'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lglade "
cat > conftest.$ac_ext <<EOF
-#line 5429 "configure"
+#line 5428 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for main in -lglade-gnome""... $ac_c" 1>&6
-echo "configure:5458: checking for main in -lglade-gnome" >&5
+echo "configure:5457: checking for main in -lglade-gnome" >&5
ac_lib_var=`echo glade-gnome'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lglade-gnome "
cat > conftest.$ac_ext <<EOF
-#line 5463 "configure"
+#line 5462 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
cat > conftest.$ac_ext <<EOF
-#line 5491 "configure"
+#line 5490 "configure"
#include "confdefs.h"
#include <glade/glade-xml.h>
EOF
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:5550: checking for X" >&5
+echo "configure:5549: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 5610 "configure"
+#line 5609 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5684 "configure"
+#line 5683 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:5691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:5800: checking whether -R must be followed by a space" >&5
+echo "configure:5799: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 5803 "configure"
+#line 5802 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 5826 "configure"
+#line 5825 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
else
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:5869: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:5868: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldnet "
cat > conftest.$ac_ext <<EOF
-#line 5874 "configure"
+#line 5873 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:5885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:5909: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:5908: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldnet_stub "
cat > conftest.$ac_ext <<EOF
-#line 5914 "configure"
+#line 5913 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:5925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:5954: checking for gethostbyname" >&5
+echo "configure:5953: checking for gethostbyname" >&5
cat > conftest.$ac_ext <<EOF
-#line 5957 "configure"
+#line 5956 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
; return 0; }
EOF
-if { (eval echo configure:5980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:6001: checking for gethostbyname in -lnsl" >&5
+echo "configure:6000: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
xe_check_libs=" -lnsl "
cat > conftest.$ac_ext <<EOF
-#line 6006 "configure"
+#line 6005 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:6017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:6047: checking for connect" >&5
+echo "configure:6046: checking for connect" >&5
cat > conftest.$ac_ext <<EOF
-#line 6050 "configure"
+#line 6049 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
; return 0; }
EOF
-if { (eval echo configure:6073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
xe_msg_checking="for connect in -lsocket"
test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6096: checking "$xe_msg_checking"" >&5
+echo "configure:6095: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
xe_check_libs=" -lsocket $X_EXTRA_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6101 "configure"
+#line 6100 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
connect()
; return 0; }
EOF
-if { (eval echo configure:6112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:6136: checking for remove" >&5
+echo "configure:6135: checking for remove" >&5
cat > conftest.$ac_ext <<EOF
-#line 6139 "configure"
+#line 6138 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
; return 0; }
EOF
-if { (eval echo configure:6162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:6183: checking for remove in -lposix" >&5
+echo "configure:6182: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
xe_check_libs=" -lposix "
cat > conftest.$ac_ext <<EOF
-#line 6188 "configure"
+#line 6187 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
remove()
; return 0; }
EOF
-if { (eval echo configure:6199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:6223: checking for shmat" >&5
+echo "configure:6222: checking for shmat" >&5
cat > conftest.$ac_ext <<EOF
-#line 6226 "configure"
+#line 6225 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
; return 0; }
EOF
-if { (eval echo configure:6249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:6270: checking for shmat in -lipc" >&5
+echo "configure:6269: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
xe_check_libs=" -lipc "
cat > conftest.$ac_ext <<EOF
-#line 6275 "configure"
+#line 6274 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shmat()
; return 0; }
EOF
-if { (eval echo configure:6286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for IceConnectionNumber in -lICE"
test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6322: checking "$xe_msg_checking"" >&5
+echo "configure:6321: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
xe_check_libs=" -lICE $X_EXTRA_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6327 "configure"
+#line 6326 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:6338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:6384: checking for Xm/Xm.h" >&5
+echo "configure:6383: checking for Xm/Xm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6387 "configure"
+#line 6386 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6391: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6
-echo "configure:6409: checking for XmStringFree in -lXm" >&5
+echo "configure:6408: checking for XmStringFree in -lXm" >&5
ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 6414 "configure"
+#line 6413 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmStringFree()
; return 0; }
EOF
-if { (eval echo configure:6425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "checking for X defines extracted by xmkmf" 1>&6
-echo "configure:6577: checking for X defines extracted by xmkmf" >&5
+echo "configure:6576: checking for X defines extracted by xmkmf" >&5
rm -fr conftestdir
if mkdir conftestdir; then
cd conftestdir
ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6
-echo "configure:6626: checking for X11/Intrinsic.h" >&5
+echo "configure:6625: checking for X11/Intrinsic.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6629 "configure"
+#line 6628 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:6658: checking for XOpenDisplay in -lX11" >&5
+echo "configure:6657: checking for XOpenDisplay in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 6663 "configure"
+#line 6662 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:6674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for XGetFontProperty in -lX11"
test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6699: checking "$xe_msg_checking"" >&5
+echo "configure:6698: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 -b i486-linuxaout"
cat > conftest.$ac_ext <<EOF
-#line 6704 "configure"
+#line 6703 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XGetFontProperty()
; return 0; }
EOF
-if { (eval echo configure:6715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
-echo "configure:6742: checking for XShapeSelectInput in -lXext" >&5
+echo "configure:6741: checking for XShapeSelectInput in -lXext" >&5
ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXext "
cat > conftest.$ac_ext <<EOF
-#line 6747 "configure"
+#line 6746 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XShapeSelectInput()
; return 0; }
EOF
-if { (eval echo configure:6758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6
-echo "configure:6781: checking for XtOpenDisplay in -lXt" >&5
+echo "configure:6780: checking for XtOpenDisplay in -lXt" >&5
ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXt "
cat > conftest.$ac_ext <<EOF
-#line 6786 "configure"
+#line 6785 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XtOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:6797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6
-echo "configure:6820: checking the version of X11 being used" >&5
+echo "configure:6819: checking the version of X11 being used" >&5
cat > conftest.$ac_ext <<EOF
-#line 6822 "configure"
+#line 6821 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }
EOF
-if { (eval echo configure:6827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:6826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest foobar; x11_release=$?
else
for ac_func in XConvertCase
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6858: checking for $ac_func" >&5
+echo "configure:6857: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 6861 "configure"
+#line 6860 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6916: checking for $ac_hdr" >&5
+echo "configure:6915: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 6919 "configure"
+#line 6918 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6924: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6923: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in XRegisterIMInstantiateCallback
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6957: checking for $ac_func" >&5
+echo "configure:6956: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 6960 "configure"
+#line 6959 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking for standard XRegisterIMInstantiateCallback prototype""... $ac_c" 1>&6
-echo "configure:7011: checking for standard XRegisterIMInstantiateCallback prototype" >&5
+echo "configure:7010: checking for standard XRegisterIMInstantiateCallback prototype" >&5
cat > conftest.$ac_ext <<EOF
-#line 7013 "configure"
+#line 7012 "configure"
#include "confdefs.h"
#define NeedFunctionPrototypes 1
; return 0; }
EOF
-if { (eval echo configure:7025: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
test -z "$with_xmu" && {
echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6
-echo "configure:7046: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
+echo "configure:7045: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXmu "
cat > conftest.$ac_ext <<EOF
-#line 7051 "configure"
+#line 7050 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmuReadBitmapDataFromFile()
; return 0; }
EOF
-if { (eval echo configure:7062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
-echo "configure:7101: checking for main in -lXbsd" >&5
+echo "configure:7100: checking for main in -lXbsd" >&5
ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXbsd "
cat > conftest.$ac_ext <<EOF
-#line 7106 "configure"
+#line 7105 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:7113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then
if test "$GCC" = "yes"; then
echo $ac_n "checking for name of AIX gcc threads option""... $ac_c" 1>&6
-echo "configure:7137: checking for name of AIX gcc threads option" >&5
+echo "configure:7136: checking for name of AIX gcc threads option" >&5
case `$CC -v --help 2>&1` in
*-mthreads*) aix_threads=-mthreads ;;
*) aix_threads=-pthread ;;
xe_save_CC="$CC"
CC="${CC}_r"
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:7151: checking size of short" >&5
+echo "configure:7150: checking size of short" >&5
cat > conftest.$ac_ext <<EOF
-#line 7154 "configure"
+#line 7153 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:7165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:7164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_short=`cat conftestval`
else
fi
if test "$with_msw" != "no"; then
echo "checking for MS-Windows" 1>&6
-echo "configure:7194: checking for MS-Windows" >&5
+echo "configure:7193: checking for MS-Windows" >&5
echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6
-echo "configure:7197: checking for main in -lgdi32" >&5
+echo "configure:7196: checking for main in -lgdi32" >&5
ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdi32 "
cat > conftest.$ac_ext <<EOF
-#line 7202 "configure"
+#line 7201 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:7209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
fi
cat > conftest.$ac_ext <<EOF
-#line 7282 "configure"
+#line 7281 "configure"
#include "confdefs.h"
#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }
EOF
-if { (eval echo configure:7287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:7286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
need_event_unixoid=yes; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MSG_SELECT
if test "$with_x11" = "yes"; then
ac_safe=`echo "X11/extensions/shape.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/shape.h""... $ac_c" 1>&6
-echo "configure:7351: checking for X11/extensions/shape.h" >&5
+echo "configure:7350: checking for X11/extensions/shape.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7354 "configure"
+#line 7353 "configure"
#include "confdefs.h"
#include <X11/extensions/shape.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7358: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
esac
echo "checking for WM_COMMAND option" 1>&6
-echo "configure:7411: checking for WM_COMMAND option" >&5;
+echo "configure:7410: checking for WM_COMMAND option" >&5;
if test "$with_wmcommand" != "no"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_WMCOMMAND
test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6
-echo "configure:7426: checking for X11/Xauth.h" >&5
+echo "configure:7425: checking for X11/Xauth.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7429 "configure"
+#line 7428 "configure"
#include "confdefs.h"
#include <X11/Xauth.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7433: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_xauth" && {
echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6
-echo "configure:7457: checking for XauGetAuthByAddr in -lXau" >&5
+echo "configure:7456: checking for XauGetAuthByAddr in -lXau" >&5
ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXau "
cat > conftest.$ac_ext <<EOF
-#line 7462 "configure"
+#line 7461 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XauGetAuthByAddr()
; return 0; }
EOF
-if { (eval echo configure:7473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for dir in "" "Tt/" "desktop/" ; do
ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6
-echo "configure:7518: checking for ${dir}tt_c.h" >&5
+echo "configure:7517: checking for ${dir}tt_c.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7521 "configure"
+#line 7520 "configure"
#include "confdefs.h"
#include <${dir}tt_c.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7526: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
xe_msg_checking="for tt_message_create in -ltt"
test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7562: checking "$xe_msg_checking"" >&5
+echo "configure:7561: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltt $extra_libs"
cat > conftest.$ac_ext <<EOF
-#line 7567 "configure"
+#line 7566 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tt_message_create()
; return 0; }
EOF
-if { (eval echo configure:7578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6
-echo "configure:7635: checking for Dt/Dt.h" >&5
+echo "configure:7634: checking for Dt/Dt.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7638 "configure"
+#line 7637 "configure"
#include "confdefs.h"
#include <Dt/Dt.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_cde" && {
echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6
-echo "configure:7666: checking for DtDndDragStart in -lDtSvc" >&5
+echo "configure:7665: checking for DtDndDragStart in -lDtSvc" >&5
ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'`
xe_check_libs=" -lDtSvc "
cat > conftest.$ac_ext <<EOF
-#line 7671 "configure"
+#line 7670 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
DtDndDragStart()
; return 0; }
EOF
-if { (eval echo configure:7682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_dragndrop" != "no" ; then
echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6
-echo "configure:7755: checking if drag and drop API is needed" >&5
+echo "configure:7754: checking if drag and drop API is needed" >&5
if test -n "$dragndrop_proto" ; then
with_dragndrop=yes
echo "$ac_t""yes (${dragndrop_proto} )" 1>&6
fi
echo "checking for LDAP" 1>&6
-echo "configure:7775: checking for LDAP" >&5
+echo "configure:7774: checking for LDAP" >&5
test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ldap.h""... $ac_c" 1>&6
-echo "configure:7778: checking for ldap.h" >&5
+echo "configure:7777: checking for ldap.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7781 "configure"
+#line 7780 "configure"
#include "confdefs.h"
#include <ldap.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for lber.h""... $ac_c" 1>&6
-echo "configure:7809: checking for lber.h" >&5
+echo "configure:7808: checking for lber.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7812 "configure"
+#line 7811 "configure"
#include "confdefs.h"
#include <lber.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_ldap" != "no"; then
echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6
-echo "configure:7841: checking for ldap_search in -lldap" >&5
+echo "configure:7840: checking for ldap_search in -lldap" >&5
ac_lib_var=`echo ldap'_'ldap_search | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap "
cat > conftest.$ac_ext <<EOF
-#line 7846 "configure"
+#line 7845 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_search()
; return 0; }
EOF
-if { (eval echo configure:7857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_ldap_nolber=yes
+ with_ldap=yes
else
echo "$ac_t""no" 1>&6
-with_ldap_nolber=no
fi
- test "$with_ldap_nolber" = "no" && {
+ test "$with_ldap" != "yes" && {
xe_msg_checking="for ldap_open in -lldap"
test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7882: checking "$xe_msg_checking"" >&5
+echo "configure:7880: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber"
cat > conftest.$ac_ext <<EOF
-#line 7887 "configure"
+#line 7885 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_ldap_lber=yes
+ with_ldap=yes with_ldap_lber=yes
else
echo "$ac_t""no" 1>&6
-with_ldap_lber=no
fi
}
- test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && {
+ test "$with_ldap" != "yes" && {
xe_msg_checking="for ldap_open in -lldap"
test -n "-llber -lkrb" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7923: checking "$xe_msg_checking"" >&5
+echo "configure:7920: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber -lkrb"
cat > conftest.$ac_ext <<EOF
-#line 7928 "configure"
+#line 7925 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_ldap_krb=yes
+ with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes
else
echo "$ac_t""no" 1>&6
-with_ldap_krb=no
fi
}
- test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && {
+ test "$with_ldap" != "yes" && {
xe_msg_checking="for ldap_open in -lldap"
test -n "-llber -lkrb -ldes" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb -ldes"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7964: checking "$xe_msg_checking"" >&5
+echo "configure:7960: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber -lkrb -ldes"
cat > conftest.$ac_ext <<EOF
-#line 7969 "configure"
+#line 7965 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ }
+ test "$with_ldap_lber" != "yes" && {
+echo $ac_n "checking for ber_pvt_opt_on in -llber""... $ac_c" 1>&6
+echo "configure:7998: checking for ber_pvt_opt_on in -llber" >&5
+ac_lib_var=`echo lber'_'ber_pvt_opt_on | sed 'y%./+-%__p_%'`
+
+xe_check_libs=" -llber "
+cat > conftest.$ac_ext <<EOF
+#line 8003 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char ber_pvt_opt_on();
+
+int main() {
+ber_pvt_opt_on()
+; return 0; }
+EOF
+if { (eval echo configure:8014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_ldap_krbdes=yes
+ with_ldap_lber=yes
else
echo "$ac_t""no" 1>&6
-with_ldap_krbdes=no
fi
}
- test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=yes
fi
if test "$with_ldap" = "yes"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
extra_objs="$extra_objs eldap.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"eldap.o\""
fi
- if test "$with_ldap_nolber" = "yes" ; then
- LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi
- else
- if test "$with_ldap_krb" = "yes" ; then
- LIBS="-lkrb $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkrb\" to \$LIBS"; fi
- fi
- if test "$with_ldap_krbdes" = "yes" ; then
- LIBS="-ldes $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ldes\" to \$LIBS"; fi
- LIBS="-lkrb $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkrb\" to \$LIBS"; fi
- fi
+ if test "$with_ldap_des" = "yes" ; then
+ LIBS="-ldes $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ldes\" to \$LIBS"; fi
+ fi
+ if test "$with_ldap_krb" = "yes" ; then
+ LIBS="-lkrb $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkrb\" to \$LIBS"; fi
+ fi
+ if test "$with_ldap_lber" = "yes" ; then
LIBS="-llber $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-llber\" to \$LIBS"; fi
- LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi
fi
+ LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi
for ac_func in ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8031: checking for $ac_func" >&5
+echo "configure:8060: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 8034 "configure"
+#line 8063 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
if test "$with_postgresql" != "no"; then
echo "checking for PostgreSQL" 1>&6
-echo "configure:8088: checking for PostgreSQL" >&5
+echo "configure:8117: checking for PostgreSQL" >&5
for header_dir in "" "pgsql/" "postgresql/"; do
ac_safe=`echo "${header_dir}libpq-fe.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ${header_dir}libpq-fe.h""... $ac_c" 1>&6
-echo "configure:8093: checking for ${header_dir}libpq-fe.h" >&5
+echo "configure:8122: checking for ${header_dir}libpq-fe.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8096 "configure"
+#line 8125 "configure"
#include "confdefs.h"
#include <${header_dir}libpq-fe.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8101: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
test -n "$libpq_fe_h_file" && {
echo $ac_n "checking for PQconnectdb in -lpq""... $ac_c" 1>&6
-echo "configure:8125: checking for PQconnectdb in -lpq" >&5
+echo "configure:8154: checking for PQconnectdb in -lpq" >&5
ac_lib_var=`echo pq'_'PQconnectdb | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpq "
cat > conftest.$ac_ext <<EOF
-#line 8130 "configure"
+#line 8159 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
PQconnectdb()
; return 0; }
EOF
-if { (eval echo configure:8141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for PQconnectStart in -lpq""... $ac_c" 1>&6
-echo "configure:8174: checking for PQconnectStart in -lpq" >&5
+echo "configure:8203: checking for PQconnectStart in -lpq" >&5
ac_lib_var=`echo pq'_'PQconnectStart | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpq "
cat > conftest.$ac_ext <<EOF
-#line 8179 "configure"
+#line 8208 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
PQconnectStart()
; return 0; }
EOF
-if { (eval echo configure:8190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$window_system" != "none"; then
echo "checking for graphics libraries" 1>&6
-echo "configure:8238: checking for graphics libraries" >&5
+echo "configure:8267: checking for graphics libraries" >&5
libpath_xpm=
incpath_xpm=
CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi
LDFLAGS=""$libpath_xpm" $LDFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$libpath_xpm"\" to \$LDFLAGS"; fi
echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6
-echo "configure:8264: checking for Xpm - no older than 3.4f" >&5
+echo "configure:8293: checking for Xpm - no older than 3.4f" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 8267 "configure"
+#line 8296 "configure"
#include "confdefs.h"
#define XPM_NUMBERS
#include <X11/xpm.h>
XpmIncludeVersion != XpmLibraryVersion() ? 1 :
XpmIncludeVersion < 30406 ? 2 : 0 ;}
EOF
-if { (eval echo configure:8276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:8305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest dummy_arg; xpm_status=$?;
if test "$xpm_status" = "0"; then
libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi
CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi
echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6
-echo "configure:8320: checking for \"FOR_MSW\" xpm" >&5
+echo "configure:8349: checking for \"FOR_MSW\" xpm" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 8323 "configure"
+#line 8352 "configure"
#include "confdefs.h"
int main() {
XpmCreatePixmapFromData()
; return 0; }
EOF
-if { (eval echo configure:8330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
xpm_for_msw=no
else
test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for compface.h""... $ac_c" 1>&6
-echo "configure:8356: checking for compface.h" >&5
+echo "configure:8385: checking for compface.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8359 "configure"
+#line 8388 "configure"
#include "confdefs.h"
#include <compface.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_xface" && {
echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:8387: checking for UnGenFace in -lcompface" >&5
+echo "configure:8416: checking for UnGenFace in -lcompface" >&5
ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcompface "
cat > conftest.$ac_ext <<EOF
-#line 8392 "configure"
+#line 8421 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
UnGenFace()
; return 0; }
EOF
-if { (eval echo configure:8403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_png $with_tiff" != "no no"; then
echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
-echo "configure:8455: checking for inflate in -lc" >&5
+echo "configure:8484: checking for inflate in -lc" >&5
ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lc "
cat > conftest.$ac_ext <<EOF
-#line 8460 "configure"
+#line 8489 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:8471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:8490: checking for inflate in -lz" >&5
+echo "configure:8519: checking for inflate in -lz" >&5
ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lz "
cat > conftest.$ac_ext <<EOF
-#line 8495 "configure"
+#line 8524 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:8506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
-echo "configure:8525: checking for inflate in -lgz" >&5
+echo "configure:8554: checking for inflate in -lgz" >&5
ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgz "
cat > conftest.$ac_ext <<EOF
-#line 8530 "configure"
+#line 8559 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:8541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
-echo "configure:8571: checking for jpeglib.h" >&5
+echo "configure:8600: checking for jpeglib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8574 "configure"
+#line 8603 "configure"
#include "confdefs.h"
#include <jpeglib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_jpeg" && {
echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
-echo "configure:8602: checking for jpeg_destroy_decompress in -ljpeg" >&5
+echo "configure:8631: checking for jpeg_destroy_decompress in -ljpeg" >&5
ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'`
xe_check_libs=" -ljpeg "
cat > conftest.$ac_ext <<EOF
-#line 8607 "configure"
+#line 8636 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jpeg_destroy_decompress()
; return 0; }
EOF
-if { (eval echo configure:8618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
png_problem=""
test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6
-echo "configure:8654: checking for pow" >&5
+echo "configure:8683: checking for pow" >&5
cat > conftest.$ac_ext <<EOF
-#line 8657 "configure"
+#line 8686 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char pow(); below. */
; return 0; }
EOF
-if { (eval echo configure:8680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_pow=yes"
else
}
test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for png.h""... $ac_c" 1>&6
-echo "configure:8701: checking for png.h" >&5
+echo "configure:8730: checking for png.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8704 "configure"
+#line 8733 "configure"
#include "confdefs.h"
#include <png.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8738: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_png" && {
echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:8732: checking for png_read_image in -lpng" >&5
+echo "configure:8761: checking for png_read_image in -lpng" >&5
ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpng "
cat > conftest.$ac_ext <<EOF
-#line 8737 "configure"
+#line 8766 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
png_read_image()
; return 0; }
EOF
-if { (eval echo configure:8748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
if test -z "$with_png"; then
echo $ac_n "checking for workable png version information""... $ac_c" 1>&6
-echo "configure:8771: checking for workable png version information" >&5
+echo "configure:8800: checking for workable png version information" >&5
xe_check_libs="-lpng -lz"
cat > conftest.$ac_ext <<EOF
-#line 8774 "configure"
+#line 8803 "configure"
#include "confdefs.h"
#include <png.h>
int main(int c, char **v) {
if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}
EOF
-if { (eval echo configure:8782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:8811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest dummy_arg; png_status=$?;
if test "$png_status" = "0"; then
test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6
-echo "configure:8825: checking for tiffio.h" >&5
+echo "configure:8854: checking for tiffio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8828 "configure"
+#line 8857 "configure"
#include "confdefs.h"
#include <tiffio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8833: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_tiff" && {
echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:8856: checking for TIFFClientOpen in -ltiff" >&5
+echo "configure:8885: checking for TIFFClientOpen in -ltiff" >&5
ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltiff "
cat > conftest.$ac_ext <<EOF
-#line 8861 "configure"
+#line 8890 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
TIFFClientOpen()
; return 0; }
EOF
-if { (eval echo configure:8872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_gtk" = "yes"; then
test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for compface.h""... $ac_c" 1>&6
-echo "configure:8911: checking for compface.h" >&5
+echo "configure:8940: checking for compface.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8914 "configure"
+#line 8943 "configure"
#include "confdefs.h"
#include <compface.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8919: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8948: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_xface" && {
echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:8942: checking for UnGenFace in -lcompface" >&5
+echo "configure:8971: checking for UnGenFace in -lcompface" >&5
ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcompface "
cat > conftest.$ac_ext <<EOF
-#line 8947 "configure"
+#line 8976 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
UnGenFace()
; return 0; }
EOF
-if { (eval echo configure:8958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_x11" = "yes"; then
echo "checking for X11 graphics libraries" 1>&6
-echo "configure:8997: checking for X11 graphics libraries" >&5
+echo "configure:9026: checking for X11 graphics libraries" >&5
fi
if test "$with_x11" = "yes"; then
echo "checking for the Athena widgets" 1>&6
-echo "configure:9002: checking for the Athena widgets" >&5
+echo "configure:9031: checking for the Athena widgets" >&5
case "$with_athena" in
"xaw" | "") athena_variant=Xaw athena_3d=no ;;
if test "$athena_3d" = "no"; then
echo $ac_n "checking for XawScrollbarSetThumb in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:9018: checking for XawScrollbarSetThumb in -l$athena_variant" >&5
+echo "configure:9047: checking for XawScrollbarSetThumb in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 9023 "configure"
+#line 9052 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XawScrollbarSetThumb()
; return 0; }
EOF
-if { (eval echo configure:9034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for $athena_3d_function in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:9050: checking for $athena_3d_function in -l$athena_variant" >&5
+echo "configure:9079: checking for $athena_3d_function in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'$athena_3d_function | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 9055 "configure"
+#line 9084 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
$athena_3d_function()
; return 0; }
EOF
-if { (eval echo configure:9066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for $athena_3d_function in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:9097: checking for $athena_3d_function in -l$athena_variant" >&5
+echo "configure:9126: checking for $athena_3d_function in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'$athena_3d_function | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 9102 "configure"
+#line 9131 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
$athena_3d_function()
; return 0; }
EOF
-if { (eval echo configure:9113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for $athena_3d_function in -lXaw""... $ac_c" 1>&6
-echo "configure:9131: checking for $athena_3d_function in -lXaw" >&5
+echo "configure:9160: checking for $athena_3d_function in -lXaw" >&5
ac_lib_var=`echo Xaw'_'$athena_3d_function | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXaw "
cat > conftest.$ac_ext <<EOF
-#line 9136 "configure"
+#line 9165 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
$athena_3d_function()
; return 0; }
EOF
-if { (eval echo configure:9147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$athena_3d" = "no"; then
ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6
-echo "configure:9178: checking for X11/Xaw/ThreeD.h" >&5
+echo "configure:9207: checking for X11/Xaw/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9181 "configure"
+#line 9210 "configure"
#include "confdefs.h"
#include <X11/Xaw/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9186: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
ac_safe=`echo "X11/Xaw/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw/XawInit.h""... $ac_c" 1>&6
-echo "configure:9206: checking for X11/Xaw/XawInit.h" >&5
+echo "configure:9235: checking for X11/Xaw/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9209 "configure"
+#line 9238 "configure"
#include "confdefs.h"
#include <X11/Xaw/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9214: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
else
ac_safe=`echo "X11/$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/$athena_variant/XawInit.h""... $ac_c" 1>&6
-echo "configure:9240: checking for X11/$athena_variant/XawInit.h" >&5
+echo "configure:9269: checking for X11/$athena_variant/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9243 "configure"
+#line 9272 "configure"
#include "confdefs.h"
#include <X11/$athena_variant/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "X11/$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/$athena_variant/ThreeD.h""... $ac_c" 1>&6
-echo "configure:9265: checking for X11/$athena_variant/ThreeD.h" >&5
+echo "configure:9294: checking for X11/$athena_variant/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9268 "configure"
+#line 9297 "configure"
#include "confdefs.h"
#include <X11/$athena_variant/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path"; then
ac_safe=`echo "$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $athena_variant/XawInit.h""... $ac_c" 1>&6
-echo "configure:9301: checking for $athena_variant/XawInit.h" >&5
+echo "configure:9330: checking for $athena_variant/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9304 "configure"
+#line 9333 "configure"
#include "confdefs.h"
#include <$athena_variant/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9338: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $athena_variant/ThreeD.h""... $ac_c" 1>&6
-echo "configure:9326: checking for $athena_variant/ThreeD.h" >&5
+echo "configure:9355: checking for $athena_variant/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9329 "configure"
+#line 9358 "configure"
#include "confdefs.h"
#include <$athena_variant/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9363: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
ac_safe=`echo "X11/Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw3d/XawInit.h""... $ac_c" 1>&6
-echo "configure:9363: checking for X11/Xaw3d/XawInit.h" >&5
+echo "configure:9392: checking for X11/Xaw3d/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9366 "configure"
+#line 9395 "configure"
#include "confdefs.h"
#include <X11/Xaw3d/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9400: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "X11/Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw3d/ThreeD.h""... $ac_c" 1>&6
-echo "configure:9388: checking for X11/Xaw3d/ThreeD.h" >&5
+echo "configure:9417: checking for X11/Xaw3d/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9391 "configure"
+#line 9420 "configure"
#include "confdefs.h"
#include <X11/Xaw3d/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
ac_safe=`echo "Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xaw3d/XawInit.h""... $ac_c" 1>&6
-echo "configure:9428: checking for Xaw3d/XawInit.h" >&5
+echo "configure:9457: checking for Xaw3d/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9431 "configure"
+#line 9460 "configure"
#include "confdefs.h"
#include <Xaw3d/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xaw3d/ThreeD.h""... $ac_c" 1>&6
-echo "configure:9453: checking for Xaw3d/ThreeD.h" >&5
+echo "configure:9482: checking for Xaw3d/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9456 "configure"
+#line 9485 "configure"
#include "confdefs.h"
#include <Xaw3d/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9490: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path"; then
ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6
-echo "configure:9493: checking for X11/Xaw/ThreeD.h" >&5
+echo "configure:9522: checking for X11/Xaw/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9496 "configure"
+#line 9525 "configure"
#include "confdefs.h"
#include <X11/Xaw/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_x11" = "yes"; then
ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:9540: checking for Xm/Xm.h" >&5
+echo "configure:9569: checking for Xm/Xm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9543 "configure"
+#line 9572 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9577: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6
-echo "configure:9565: checking for XmStringFree in -lXm" >&5
+echo "configure:9594: checking for XmStringFree in -lXm" >&5
ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 9570 "configure"
+#line 9599 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmStringFree()
; return 0; }
EOF
-if { (eval echo configure:9581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$have_motif" = "yes"; then
echo $ac_n "checking for Lesstif""... $ac_c" 1>&6
-echo "configure:9610: checking for Lesstif" >&5
+echo "configure:9639: checking for Lesstif" >&5
cat > conftest.$ac_ext <<EOF
-#line 9612 "configure"
+#line 9641 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
#ifdef LESSTIF_VERSION
fi
case "$opsys" in
- *linux* ) lucid_prefers_motif = "no" ;;
- * ) lucid_prefers_motif = "yes" ;;
+ *linux* ) lucid_prefers_motif="no" ;;
+ * ) lucid_prefers_motif="yes" ;;
esac
case "$with_menubars" in "" | "yes" | "athena" )
if test "$with_mule" = "yes" ; then
echo "checking for Mule-related features" 1>&6
-echo "configure:10065: checking for Mule-related features" >&5
+echo "configure:10094: checking for Mule-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining MULE
EOF
if test "$with_chise" != "no"; then
ac_safe=`echo "chise.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for chise.h""... $ac_c" 1>&6
-echo "configure:10079: checking for chise.h" >&5
+echo "configure:10108: checking for chise.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10082 "configure"
+#line 10111 "configure"
#include "confdefs.h"
#include <chise.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
c_switch_site="$c_switch_site -I/usr/local/chise/include"
ac_safe=`echo "chise.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for chise.h""... $ac_c" 1>&6
-echo "configure:10115: checking for chise.h" >&5
+echo "configure:10144: checking for chise.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10118 "configure"
+#line 10147 "configure"
#include "confdefs.h"
#include <chise.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10202: checking for $ac_hdr" >&5
+echo "configure:10231: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 10205 "configure"
+#line 10234 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6
-echo "configure:10241: checking for strerror in -lintl" >&5
+echo "configure:10270: checking for strerror in -lintl" >&5
ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'`
xe_check_libs=" -lintl "
cat > conftest.$ac_ext <<EOF
-#line 10246 "configure"
+#line 10275 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
strerror()
; return 0; }
EOF
-if { (eval echo configure:10257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo "checking for Mule input methods" 1>&6
-echo "configure:10311: checking for Mule input methods" >&5
+echo "configure:10340: checking for Mule input methods" >&5
case "$with_xim" in "" | "yes" )
echo "checking for XIM" 1>&6
-echo "configure:10314: checking for XIM" >&5
+echo "configure:10343: checking for XIM" >&5
echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6
-echo "configure:10317: checking for XOpenIM in -lX11" >&5
+echo "configure:10346: checking for XOpenIM in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 10322 "configure"
+#line 10351 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XOpenIM()
; return 0; }
EOF
-if { (eval echo configure:10333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$need_motif $have_lesstif" = "yes no"; then
echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6
-echo "configure:10357: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:10386: checking for XmImMbLookupString in -lXm" >&5
ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 10362 "configure"
+#line 10391 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmImMbLookupString()
; return 0; }
EOF
-if { (eval echo configure:10373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
elif test "$have_motif $have_lesstif $with_xim" = "yes no no"; then
echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6
-echo "configure:10396: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:10425: checking for XmImMbLookupString in -lXm" >&5
ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 10401 "configure"
+#line 10430 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmImMbLookupString()
; return 0; }
EOF
-if { (eval echo configure:10412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_xfs" = "yes" ; then
echo "checking for XFontSet" 1>&6
-echo "configure:10477: checking for XFontSet" >&5
+echo "configure:10506: checking for XFontSet" >&5
echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6
-echo "configure:10480: checking for XmbDrawString in -lX11" >&5
+echo "configure:10509: checking for XmbDrawString in -lX11" >&5
ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 10485 "configure"
+#line 10514 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmbDrawString()
; return 0; }
EOF
-if { (eval echo configure:10496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6
-echo "configure:10536: checking for wnn/jllib.h" >&5
+echo "configure:10565: checking for wnn/jllib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10539 "configure"
+#line 10568 "configure"
#include "confdefs.h"
#include <wnn/jllib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_wnn" && { ac_safe=`echo "wnn/commonhd.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for wnn/commonhd.h""... $ac_c" 1>&6
-echo "configure:10567: checking for wnn/commonhd.h" >&5
+echo "configure:10596: checking for wnn/commonhd.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10570 "configure"
+#line 10599 "configure"
#include "confdefs.h"
#include <wnn/commonhd.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10575: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in crypt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10600: checking for $ac_func" >&5
+echo "configure:10629: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10603 "configure"
+#line 10632 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
test "$ac_cv_func_crypt" != "yes" && {
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:10655: checking for crypt in -lcrypt" >&5
+echo "configure:10684: checking for crypt in -lcrypt" >&5
ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcrypt "
cat > conftest.$ac_ext <<EOF
-#line 10660 "configure"
+#line 10689 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
crypt()
; return 0; }
EOF
-if { (eval echo configure:10671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6
-echo "configure:10706: checking for jl_dic_list_e in -lwnn" >&5
+echo "configure:10735: checking for jl_dic_list_e in -lwnn" >&5
ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn "
cat > conftest.$ac_ext <<EOF
-#line 10711 "configure"
+#line 10740 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6
-echo "configure:10740: checking for jl_dic_list_e in -lwnn4" >&5
+echo "configure:10769: checking for jl_dic_list_e in -lwnn4" >&5
ac_lib_var=`echo wnn4'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn4 "
cat > conftest.$ac_ext <<EOF
-#line 10745 "configure"
+#line 10774 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6
-echo "configure:10774: checking for jl_dic_list_e in -lwnn6" >&5
+echo "configure:10803: checking for jl_dic_list_e in -lwnn6" >&5
ac_lib_var=`echo wnn6'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn6 "
cat > conftest.$ac_ext <<EOF
-#line 10779 "configure"
+#line 10808 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6
-echo "configure:10808: checking for dic_list_e in -lwnn6_fromsrc" >&5
+echo "configure:10837: checking for dic_list_e in -lwnn6_fromsrc" >&5
ac_lib_var=`echo wnn6_fromsrc'_'dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn6_fromsrc "
cat > conftest.$ac_ext <<EOF
-#line 10813 "configure"
+#line 10842 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_wnn6" != "no"; then
echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6
-echo "configure:10872: checking for jl_fi_dic_list in -l$libwnn" >&5
+echo "configure:10901: checking for jl_fi_dic_list in -l$libwnn" >&5
ac_lib_var=`echo $libwnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$libwnn "
cat > conftest.$ac_ext <<EOF
-#line 10877 "configure"
+#line 10906 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_fi_dic_list()
; return 0; }
EOF
-if { (eval echo configure:10888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_canna" != "no"; then
ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:10923: checking for canna/jrkanji.h" >&5
+echo "configure:10952: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10926 "configure"
+#line 10955 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
c_switch_site="$c_switch_site -I/usr/local/canna/include"
ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:10958: checking for canna/jrkanji.h" >&5
+echo "configure:10987: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10961 "configure"
+#line 10990 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6
-echo "configure:10994: checking for canna/RK.h" >&5
+echo "configure:11023: checking for canna/RK.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10997 "configure"
+#line 11026 "configure"
#include "confdefs.h"
#include <canna/RK.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11002: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_canna" && {
echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6
-echo "configure:11025: checking for RkBgnBun in -lRKC" >&5
+echo "configure:11054: checking for RkBgnBun in -lRKC" >&5
ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'`
xe_check_libs=" -lRKC "
cat > conftest.$ac_ext <<EOF
-#line 11030 "configure"
+#line 11059 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
RkBgnBun()
; return 0; }
EOF
-if { (eval echo configure:11041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test -z "$with_canna" && {
echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6
-echo "configure:11064: checking for jrKanjiControl in -lcanna" >&5
+echo "configure:11093: checking for jrKanjiControl in -lcanna" >&5
ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcanna "
cat > conftest.$ac_ext <<EOF
-#line 11069 "configure"
+#line 11098 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jrKanjiControl()
; return 0; }
EOF
-if { (eval echo configure:11080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi
echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6
-echo "configure:11129: checking for layout_object_getvalue in -li18n" >&5
+echo "configure:11158: checking for layout_object_getvalue in -li18n" >&5
ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'`
xe_check_libs=" -li18n "
cat > conftest.$ac_ext <<EOF
-#line 11134 "configure"
+#line 11163 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
layout_object_getvalue()
; return 0; }
EOF
-if { (eval echo configure:11145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11232: checking for $ac_func" >&5
+echo "configure:11261: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11235 "configure"
+#line 11264 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11299: checking for $ac_func" >&5
+echo "configure:11328: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11302 "configure"
+#line 11331 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking for openpty""... $ac_c" 1>&6
-echo "configure:11354: checking for openpty" >&5
+echo "configure:11383: checking for openpty" >&5
cat > conftest.$ac_ext <<EOF
-#line 11357 "configure"
+#line 11386 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char openpty(); below. */
; return 0; }
EOF
-if { (eval echo configure:11380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_openpty=yes"
else
echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6
-echo "configure:11399: checking for openpty in -lutil" >&5
+echo "configure:11428: checking for openpty in -lutil" >&5
ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'`
xe_check_libs=" -lutil "
cat > conftest.$ac_ext <<EOF
-#line 11404 "configure"
+#line 11433 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
openpty()
; return 0; }
EOF
-if { (eval echo configure:11415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11450: checking for $ac_hdr" >&5
+echo "configure:11479: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11453 "configure"
+#line 11482 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11458: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11494: checking for $ac_hdr" >&5
+echo "configure:11523: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11497 "configure"
+#line 11526 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11502: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in isastream
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11535: checking for $ac_func" >&5
+echo "configure:11564: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11538 "configure"
+#line 11567 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11592: checking for $ac_hdr" >&5
+echo "configure:11621: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11595 "configure"
+#line 11624 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in getloadavg
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11637: checking for $ac_func" >&5
+echo "configure:11666: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11640 "configure"
+#line 11669 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11696: checking for $ac_hdr" >&5
+echo "configure:11725: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11699 "configure"
+#line 11728 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
-echo "configure:11740: checking for kstat_open in -lkstat" >&5
+echo "configure:11769: checking for kstat_open in -lkstat" >&5
ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lkstat "
cat > conftest.$ac_ext <<EOF
-#line 11745 "configure"
+#line 11774 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
kstat_open()
; return 0; }
EOF
-if { (eval echo configure:11756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11791: checking for $ac_hdr" >&5
+echo "configure:11820: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11794 "configure"
+#line 11823 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11828: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
-echo "configure:11831: checking for kvm_read in -lkvm" >&5
+echo "configure:11860: checking for kvm_read in -lkvm" >&5
ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'`
xe_check_libs=" -lkvm "
cat > conftest.$ac_ext <<EOF
-#line 11836 "configure"
+#line 11865 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
kvm_read()
; return 0; }
EOF
-if { (eval echo configure:11847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6
-echo "configure:11881: checking whether netdb declares h_errno" >&5
+echo "configure:11910: checking whether netdb declares h_errno" >&5
cat > conftest.$ac_ext <<EOF
-#line 11883 "configure"
+#line 11912 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
return h_errno;
; return 0; }
EOF
-if { (eval echo configure:11890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
rm -f conftest*
echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:11910: checking for sigsetjmp" >&5
+echo "configure:11939: checking for sigsetjmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 11912 "configure"
+#line 11941 "configure"
#include "confdefs.h"
#include <setjmp.h>
int main() {
sigjmp_buf bar; sigsetjmp (bar, 0);
; return 0; }
EOF
-if { (eval echo configure:11919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
rm -f conftest*
echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6
-echo "configure:11939: checking whether localtime caches TZ" >&5
+echo "configure:11968: checking whether localtime caches TZ" >&5
if test "$ac_cv_func_tzset" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 11943 "configure"
+#line 11972 "configure"
#include "confdefs.h"
#include <time.h>
#if STDC_HEADERS
exit (0);
}
EOF
-if { (eval echo configure:11978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
emacs_cv_localtime_cache=no
else
if test "$HAVE_TIMEVAL" = "yes"; then
echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6
-echo "configure:12008: checking whether gettimeofday accepts one or two arguments" >&5
+echo "configure:12037: checking whether gettimeofday accepts one or two arguments" >&5
cat > conftest.$ac_ext <<EOF
-#line 12010 "configure"
+#line 12039 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
; return 0; }
EOF
-if { (eval echo configure:12031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""two" 1>&6
else
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:12053: checking for inline" >&5
+echo "configure:12082: checking for inline" >&5
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 12058 "configure"
+#line 12087 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:12065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:12106: checking for working alloca.h" >&5
+echo "configure:12135: checking for working alloca.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12109 "configure"
+#line 12138 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:12116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:12140: checking for alloca" >&5
+echo "configure:12169: checking for alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 12143 "configure"
+#line 12172 "configure"
#include "confdefs.h"
#ifdef __GNUC__
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:12171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:12210: checking whether alloca needs Cray hooks" >&5
+echo "configure:12239: checking whether alloca needs Cray hooks" >&5
cat > conftest.$ac_ext <<EOF
-#line 12213 "configure"
+#line 12242 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12237: checking for $ac_func" >&5
+echo "configure:12266: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 12240 "configure"
+#line 12269 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:12263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:12293: checking stack direction for C alloca" >&5
+echo "configure:12322: checking stack direction for C alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 12296 "configure"
+#line 12325 "configure"
#include "confdefs.h"
find_stack_direction ()
{
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:12315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_stack_direction=1
else
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:12345: checking for vfork.h" >&5
+echo "configure:12374: checking for vfork.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12348 "configure"
+#line 12377 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12353: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12382: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:12381: checking for working vfork" >&5
+echo "configure:12410: checking for working vfork" >&5
cat > conftest.$ac_ext <<EOF
-#line 12384 "configure"
+#line 12413 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
}
}
EOF
-if { (eval echo configure:12479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_vfork_works=yes
else
echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:12505: checking for working strcoll" >&5
+echo "configure:12534: checking for working strcoll" >&5
cat > conftest.$ac_ext <<EOF
-#line 12508 "configure"
+#line 12537 "configure"
#include "confdefs.h"
#include <string.h>
main ()
strcoll ("123", "456") >= 0);
}
EOF
-if { (eval echo configure:12518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_strcoll_works=yes
else
for ac_func in getpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12546: checking for $ac_func" >&5
+echo "configure:12575: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 12549 "configure"
+#line 12578 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:12572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:12600: checking whether getpgrp takes no argument" >&5
+echo "configure:12629: checking whether getpgrp takes no argument" >&5
cat > conftest.$ac_ext <<EOF
-#line 12603 "configure"
+#line 12632 "configure"
#include "confdefs.h"
/*
}
EOF
-if { (eval echo configure:12658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_getpgrp_void=yes
else
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:12685: checking for working mmap" >&5
+echo "configure:12714: checking for working mmap" >&5
case "$opsys" in ultrix* ) have_mmap=no ;; *)
cat > conftest.$ac_ext <<EOF
-#line 12688 "configure"
+#line 12717 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <unistd.h>
return 1;
}
EOF
-if { (eval echo configure:12721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
have_mmap=yes
else
if test "$rel_alloc $have_mmap" = "default yes"; then
if test "$doug_lea_malloc" = "yes"; then
echo $ac_n "checking for M_MMAP_THRESHOLD""... $ac_c" 1>&6
-echo "configure:12750: checking for M_MMAP_THRESHOLD" >&5
+echo "configure:12779: checking for M_MMAP_THRESHOLD" >&5
cat > conftest.$ac_ext <<EOF
-#line 12752 "configure"
+#line 12781 "configure"
#include "confdefs.h"
#include <malloc.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:12764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12793: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
rel_alloc=no; echo "$ac_t""yes" 1>&6;
else
ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for termios.h""... $ac_c" 1>&6
-echo "configure:12789: checking for termios.h" >&5
+echo "configure:12818: checking for termios.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12792 "configure"
+#line 12821 "configure"
#include "confdefs.h"
#include <termios.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12797: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for termio.h""... $ac_c" 1>&6
-echo "configure:12840: checking for termio.h" >&5
+echo "configure:12869: checking for termio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12843 "configure"
+#line 12872 "configure"
#include "confdefs.h"
#include <termio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:12880: checking for socket" >&5
+echo "configure:12909: checking for socket" >&5
cat > conftest.$ac_ext <<EOF
-#line 12883 "configure"
+#line 12912 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char socket(); below. */
; return 0; }
EOF
-if { (eval echo configure:12906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_socket=yes"
else
echo "$ac_t""yes" 1>&6
ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6
-echo "configure:12921: checking for netinet/in.h" >&5
+echo "configure:12950: checking for netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12924 "configure"
+#line 12953 "configure"
#include "confdefs.h"
#include <netinet/in.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12929: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6
-echo "configure:12946: checking for arpa/inet.h" >&5
+echo "configure:12975: checking for arpa/inet.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12949 "configure"
+#line 12978 "configure"
#include "confdefs.h"
#include <arpa/inet.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6
-echo "configure:12979: checking "for sun_len member in struct sockaddr_un"" >&5
+echo "configure:13008: checking "for sun_len member in struct sockaddr_un"" >&5
cat > conftest.$ac_ext <<EOF
-#line 12981 "configure"
+#line 13010 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct sockaddr_un x; x.sun_len = 1;
; return 0; }
EOF
-if { (eval echo configure:12992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_SOCKADDR_SUN_LEN
fi
rm -f conftest*
echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6
-echo "configure:13010: checking "for ip_mreq struct in netinet/in.h"" >&5
+echo "configure:13039: checking "for ip_mreq struct in netinet/in.h"" >&5
cat > conftest.$ac_ext <<EOF
-#line 13012 "configure"
+#line 13041 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct ip_mreq x;
; return 0; }
EOF
-if { (eval echo configure:13022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MULTICAST
echo $ac_n "checking for msgget""... $ac_c" 1>&6
-echo "configure:13053: checking for msgget" >&5
+echo "configure:13082: checking for msgget" >&5
cat > conftest.$ac_ext <<EOF
-#line 13056 "configure"
+#line 13085 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char msgget(); below. */
; return 0; }
EOF
-if { (eval echo configure:13079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_msgget=yes"
else
echo "$ac_t""yes" 1>&6
ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
-echo "configure:13094: checking for sys/ipc.h" >&5
+echo "configure:13123: checking for sys/ipc.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13097 "configure"
+#line 13126 "configure"
#include "confdefs.h"
#include <sys/ipc.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13131: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6
-echo "configure:13119: checking for sys/msg.h" >&5
+echo "configure:13148: checking for sys/msg.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13122 "configure"
+#line 13151 "configure"
#include "confdefs.h"
#include <sys/msg.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13156: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dirent.h""... $ac_c" 1>&6
-echo "configure:13165: checking for dirent.h" >&5
+echo "configure:13194: checking for dirent.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13168 "configure"
+#line 13197 "configure"
#include "confdefs.h"
#include <dirent.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13202: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6
-echo "configure:13200: checking for sys/dir.h" >&5
+echo "configure:13229: checking for sys/dir.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13203 "configure"
+#line 13232 "configure"
#include "confdefs.h"
#include <sys/dir.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for nlist.h""... $ac_c" 1>&6
-echo "configure:13241: checking for nlist.h" >&5
+echo "configure:13270: checking for nlist.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13244 "configure"
+#line 13273 "configure"
#include "confdefs.h"
#include <nlist.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13249: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "checking "for sound support"" 1>&6
-echo "configure:13279: checking "for sound support"" >&5
+echo "configure:13308: checking "for sound support"" >&5
test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes
if test "$with_native_sound" != "no"; then
if test -n "$native_sound_lib"; then
ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6
-echo "configure:13286: checking for multimedia/audio_device.h" >&5
+echo "configure:13315: checking for multimedia/audio_device.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13289 "configure"
+#line 13318 "configure"
#include "confdefs.h"
#include <multimedia/audio_device.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$native_sound_lib"; then
echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6
-echo "configure:13350: checking for ALopenport in -laudio" >&5
+echo "configure:13379: checking for ALopenport in -laudio" >&5
ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'`
xe_check_libs=" -laudio "
cat > conftest.$ac_ext <<EOF
-#line 13355 "configure"
+#line 13384 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ALopenport()
; return 0; }
EOF
-if { (eval echo configure:13366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test -z "$native_sound_lib"; then
echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6
-echo "configure:13397: checking for AOpenAudio in -lAlib" >&5
+echo "configure:13426: checking for AOpenAudio in -lAlib" >&5
ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'`
xe_check_libs=" -lAlib "
cat > conftest.$ac_ext <<EOF
-#line 13402 "configure"
+#line 13431 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
AOpenAudio()
; return 0; }
EOF
-if { (eval echo configure:13413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for dir in "machine" "sys" "linux"; do
ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6
-echo "configure:13458: checking for ${dir}/soundcard.h" >&5
+echo "configure:13487: checking for ${dir}/soundcard.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13461 "configure"
+#line 13490 "configure"
#include "confdefs.h"
#include <${dir}/soundcard.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_nas_sound" != "no"; then
ac_safe=`echo "audio/audiolib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for audio/audiolib.h""... $ac_c" 1>&6
-echo "configure:13520: checking for audio/audiolib.h" >&5
+echo "configure:13549: checking for audio/audiolib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13523 "configure"
+#line 13552 "configure"
#include "confdefs.h"
#include <audio/audiolib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13528: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for AuOpenServer in -laudio""... $ac_c" 1>&6
-echo "configure:13546: checking for AuOpenServer in -laudio" >&5
+echo "configure:13575: checking for AuOpenServer in -laudio" >&5
ac_lib_var=`echo audio'_'AuOpenServer | sed 'y%./+-%__p_%'`
xe_check_libs=" -laudio "
cat > conftest.$ac_ext <<EOF
-#line 13551 "configure"
+#line 13580 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
AuOpenServer()
; return 0; }
EOF
-if { (eval echo configure:13562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi
cat > conftest.$ac_ext <<EOF
-#line 13601 "configure"
+#line 13630 "configure"
#include "confdefs.h"
#include <audio/Xtutil.h>
EOF
# Extract the first word of "esd-config", so it can be a program name with args.
set dummy esd-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13632: checking for $ac_word" >&5
+echo "configure:13661: checking for $ac_word" >&5
if test -n "$have_esd_config"; then
ac_cv_prog_have_esd_config="$have_esd_config" # Let the user override the test.
c_switch_site="$c_switch_site `esd-config --cflags`" && if test "$extra_verbose" = "yes"; then echo " Appending \"`esd-config --cflags`\" to \$c_switch_site"; fi
LIBS="`esd-config --libs` $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"`esd-config --libs`\" to \$LIBS"; fi
echo $ac_n "checking for esd_play_stream""... $ac_c" 1>&6
-echo "configure:13661: checking for esd_play_stream" >&5
+echo "configure:13690: checking for esd_play_stream" >&5
cat > conftest.$ac_ext <<EOF
-#line 13664 "configure"
+#line 13693 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char esd_play_stream(); below. */
; return 0; }
EOF
-if { (eval echo configure:13687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_esd_play_stream=yes"
else
if test "$with_tty" = "yes" ; then
echo "checking for TTY-related features" 1>&6
-echo "configure:13738: checking for TTY-related features" >&5
+echo "configure:13767: checking for TTY-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_TTY
EOF
if test -z "$with_ncurses"; then
echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:13754: checking for tgetent in -lncurses" >&5
+echo "configure:13783: checking for tgetent in -lncurses" >&5
ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -lncurses "
cat > conftest.$ac_ext <<EOF
-#line 13759 "configure"
+#line 13788 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:13770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:13803: checking for ncurses/curses.h" >&5
+echo "configure:13832: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13806 "configure"
+#line 13835 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13811: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13840: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6
-echo "configure:13833: checking for ncurses/term.h" >&5
+echo "configure:13862: checking for ncurses/term.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13836 "configure"
+#line 13865 "configure"
#include "confdefs.h"
#include <ncurses/term.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13870: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
c_switch_site="$c_switch_site -I/usr/include/ncurses"
ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:13871: checking for ncurses/curses.h" >&5
+echo "configure:13900: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13874 "configure"
+#line 13903 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for lib in curses termlib termcap; do
echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6
-echo "configure:13914: checking for tgetent in -l$lib" >&5
+echo "configure:13943: checking for tgetent in -l$lib" >&5
ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$lib "
cat > conftest.$ac_ext <<EOF
-#line 13919 "configure"
+#line 13948 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:13930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then
echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:13955: checking for tgoto in -ltermcap" >&5
+echo "configure:13984: checking for tgoto in -ltermcap" >&5
ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltermcap "
cat > conftest.$ac_ext <<EOF
-#line 13960 "configure"
+#line 13989 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgoto()
; return 0; }
EOF
-if { (eval echo configure:13971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:14016: checking for tgetent in -lcurses" >&5
+echo "configure:14045: checking for tgetent in -lcurses" >&5
ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcurses "
cat > conftest.$ac_ext <<EOF
-#line 14021 "configure"
+#line 14050 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:14032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:14050: checking for tgetent in -ltermcap" >&5
+echo "configure:14079: checking for tgetent in -ltermcap" >&5
ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltermcap "
cat > conftest.$ac_ext <<EOF
-#line 14055 "configure"
+#line 14084 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:14066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
- test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'`
+ if test "$with_gpm" != "no"; then
+ ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for gpm.h""... $ac_c" 1>&6
-echo "configure:14114: checking for gpm.h" >&5
+echo "configure:14144: checking for gpm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 14117 "configure"
+#line 14147 "configure"
#include "confdefs.h"
#include <gpm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14122: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
rm -f conftest*
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-with_gpm=no
-fi
- }
- test -z "$with_gpm" && {
+
+
echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:14145: checking for Gpm_Open in -lgpm" >&5
+echo "configure:14170: checking for Gpm_Open in -lgpm" >&5
ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgpm "
cat > conftest.$ac_ext <<EOF
-#line 14150 "configure"
+#line 14175 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
Gpm_Open()
; return 0; }
EOF
-if { (eval echo configure:14161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_gpm=yes
+ have_gpm=yes
else
echo "$ac_t""no" 1>&6
-with_gpm=no
fi
- }
- if test "$with_gpm" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$have_gpm" = "yes"; then
+ with_gpm=yes
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_GPM
EOF
cat >> confdefs.h <<\EOF
EOF
}
- extra_objs="$extra_objs gpmevent.o" && if test "$extra_verbose" = "yes"; then
+ extra_objs="$extra_objs gpmevent.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"gpmevent.o\""
fi
- LIBS="-lgpm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgpm\" to \$LIBS"; fi
+ LIBS="-lgpm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgpm\" to \$LIBS"; fi
+ elif test "$with_gpm" = "yes"; then
+ { echo "Error:" "GPM requested, but gpm.h or libgpm seems to be missing." >&2; exit 1; }
+ else
+ with_gpm=no
+ fi
fi
else for feature in ncurses gpm; do
test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
!= "no no no" && echo "checking for database support" 1>&6
-echo "configure:14211: checking for database support" >&5
+echo "configure:14245: checking for database support" >&5
if test "$with_database_gdbm $with_database_dbm" != "no no"; then
ac_safe=`echo "ndbm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ndbm.h""... $ac_c" 1>&6
-echo "configure:14216: checking for ndbm.h" >&5
+echo "configure:14250: checking for ndbm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 14219 "configure"
+#line 14253 "configure"
#include "confdefs.h"
#include <ndbm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14258: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_database_gdbm" != "no"; then
echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:14254: checking for dbm_open in -lgdbm" >&5
+echo "configure:14288: checking for dbm_open in -lgdbm" >&5
ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdbm "
cat > conftest.$ac_ext <<EOF
-#line 14259 "configure"
+#line 14293 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:14270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_database_dbm" != "no"; then
echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:14298: checking for dbm_open" >&5
+echo "configure:14332: checking for dbm_open" >&5
cat > conftest.$ac_ext <<EOF
-#line 14301 "configure"
+#line 14335 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dbm_open(); below. */
; return 0; }
EOF
-if { (eval echo configure:14324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_dbm_open=yes"
else
echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:14343: checking for dbm_open in -ldbm" >&5
+echo "configure:14377: checking for dbm_open in -ldbm" >&5
ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldbm "
cat > conftest.$ac_ext <<EOF
-#line 14348 "configure"
+#line 14382 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:14359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
-echo "configure:14400: checking for Berkeley db.h" >&5
+echo "configure:14434: checking for Berkeley db.h" >&5
for header in "db/db.h" "db.h"; do
case "$opsys" in
*freebsd*)
cat > conftest.$ac_ext <<EOF
-#line 14405 "configure"
+#line 14439 "configure"
#include "confdefs.h"
#include <stdlib.h>
; return 0; }
EOF
-if { (eval echo configure:14421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
db_h_file="$header"; break
else
;;
*)
cat > conftest.$ac_ext <<EOF
-#line 14432 "configure"
+#line 14466 "configure"
#include "confdefs.h"
#include <stdlib.h>
; return 0; }
EOF
-if { (eval echo configure:14454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
db_h_file="$header"; break
else
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6
-echo "configure:14472: checking for Berkeley DB version" >&5
+echo "configure:14506: checking for Berkeley DB version" >&5
cat > conftest.$ac_ext <<EOF
-#line 14474 "configure"
+#line 14508 "configure"
#include "confdefs.h"
#include <$db_h_file>
#if DB_VERSION_MAJOR > 1
egrep "yes" >/dev/null 2>&1; then
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 14486 "configure"
+#line 14520 "configure"
#include "confdefs.h"
#include <$db_h_file>
#if DB_VERSION_MAJOR > 2
rm -f conftest*
echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6
-echo "configure:14513: checking for $dbfunc" >&5
+echo "configure:14547: checking for $dbfunc" >&5
cat > conftest.$ac_ext <<EOF
-#line 14516 "configure"
+#line 14550 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $dbfunc(); below. */
; return 0; }
EOF
-if { (eval echo configure:14539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$dbfunc=yes"
else
echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6
-echo "configure:14558: checking for $dbfunc in -ldb" >&5
+echo "configure:14592: checking for $dbfunc in -ldb" >&5
ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldb "
cat > conftest.$ac_ext <<EOF
-#line 14563 "configure"
+#line 14597 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
$dbfunc()
; return 0; }
EOF
-if { (eval echo configure:14574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_socks" = "yes"; then
echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6
-echo "configure:14648: checking for SOCKSinit in -lsocks" >&5
+echo "configure:14682: checking for SOCKSinit in -lsocks" >&5
ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'`
xe_check_libs=" -lsocks "
cat > conftest.$ac_ext <<EOF
-#line 14653 "configure"
+#line 14687 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
SOCKSinit()
; return 0; }
EOF
-if { (eval echo configure:14664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_modules" != "no"; then
echo "checking for module support" 1>&6
-echo "configure:14719: checking for module support" >&5
+echo "configure:14753: checking for module support" >&5
if test "$with_msw" = "yes"; then
have_dl=yes;
;;
*) ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
-echo "configure:14735: checking for dlfcn.h" >&5
+echo "configure:14769: checking for dlfcn.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 14738 "configure"
+#line 14772 "configure"
#include "confdefs.h"
#include <dlfcn.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6
-echo "configure:14760: checking for dlopen in -lc" >&5
+echo "configure:14794: checking for dlopen in -lc" >&5
cat > conftest.$ac_ext <<EOF
-#line 14762 "configure"
+#line 14796 "configure"
#include "confdefs.h"
#include <dlfcn.h>
int main() {
dlopen ("", 0);
; return 0; }
EOF
-if { (eval echo configure:14769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
have_dl=yes
else
rm -rf conftest*
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:14778: checking for dlopen in -ldl" >&5
+echo "configure:14812: checking for dlopen in -ldl" >&5
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 14782 "configure"
+#line 14816 "configure"
#include "confdefs.h"
#include <dlfcn.h>
int main() {
dlopen ("", 0);
; return 0; }
EOF
-if { (eval echo configure:14789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
have_dl=yes
else
else
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:14818: checking for shl_load in -ldld" >&5
+echo "configure:14852: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldld "
cat > conftest.$ac_ext <<EOF
-#line 14823 "configure"
+#line 14857 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shl_load()
; return 0; }
EOF
-if { (eval echo configure:14834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
-echo "configure:14861: checking for dld_init in -ldld" >&5
+echo "configure:14895: checking for dld_init in -ldld" >&5
ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldld "
cat > conftest.$ac_ext <<EOF
-#line 14866 "configure"
+#line 14900 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dld_init()
; return 0; }
EOF
-if { (eval echo configure:14877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xealias=$internal_configuration
echo "checking how to build dynamic libraries for ${xehost}" 1>&6
-echo "configure:14924: checking how to build dynamic libraries for ${xehost}" >&5
+echo "configure:14958: checking how to build dynamic libraries for ${xehost}" >&5
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
case "$xehost" in
*-*-linux-gnu*) ;;
XEGCC=yes
else
echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:14952: checking checking whether we are using GNU C" >&5
+echo "configure:14986: checking checking whether we are using GNU C" >&5
cat > conftest.$ac_ext <<EOF
-#line 14954 "configure"
+#line 14988 "configure"
#include "confdefs.h"
#ifdef __GNUC__
fi
echo $ac_n "checking how to produce PIC code""... $ac_c" 1>&6
-echo "configure:14976: checking how to produce PIC code" >&5
+echo "configure:15010: checking how to produce PIC code" >&5
wl=
can_build_shared=yes
# Check to make sure the dll_cflags actually works.
echo $ac_n "checking if PIC flag ${dll_cflags} really works""... $ac_c" 1>&6
-echo "configure:15077: checking if PIC flag ${dll_cflags} really works" >&5
+echo "configure:15111: checking if PIC flag ${dll_cflags} really works" >&5
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $dll_cflags -DPIC"
cat > conftest.$ac_ext <<EOF
-#line 15081 "configure"
+#line 15115 "configure"
#include "confdefs.h"
int main() {
int x=0;
; return 0; }
EOF
-if { (eval echo configure:15088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
xldf=
xcldf=
echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6
-echo "configure:15119: checking if C compiler can produce shared libraries" >&5
+echo "configure:15153: checking if C compiler can produce shared libraries" >&5
if test "$XEGCC" = yes -o "$__ICC" = yes; then
xcldf="-shared"
xldf="-shared"
xe_libs=
ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 15170 "configure"
+#line 15204 "configure"
#include "confdefs.h"
int main() {
int x=0;
; return 0; }
EOF
-if { (eval echo configure:15177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
cc_produces_so=yes
else
if test "$XEGCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:15202: checking for ld used by GCC" >&5
+echo "configure:15236: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
esac
else
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:15228: checking for GNU ld" >&5
+echo "configure:15262: checking for GNU ld" >&5
fi
if test -z "$LTLD"; then
# Check to see if it really is or isn't GNU ld.
echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6
-echo "configure:15266: checking if the linker is GNU ld" >&5
+echo "configure:15300: checking if the linker is GNU ld" >&5
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LTLD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
xe_gnu_ld=yes
# OK - only NOW do we futz about with ld.
# See if the linker supports building shared libraries.
echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6
-echo "configure:15294: checking whether the linker supports shared libraries" >&5
+echo "configure:15328: checking whether the linker supports shared libraries" >&5
dll_ld=$CC
dll_ldflags=$LDFLAGS
ld_shlibs=yes
for ac_func in dlerror _dlerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15505: checking for $ac_func" >&5
+echo "configure:15539: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 15508 "configure"
+#line 15542 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:15531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
cat > conftest.$ac_ext <<EOF
-#line 15570 "configure"
+#line 15604 "configure"
#include "confdefs.h"
int main(int c,char *v[]){return 0;}
EOF
-if { (eval echo configure:15574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:15608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
-RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
+RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
s%@ld_libs_general@%$ld_libs_general%g
s%@ld_libs_window_system@%$ld_libs_window_system%g
s%@ld_libs_all@%$ld_libs_all%g
-s%@RECURSIVE_MAKE@%$RECURSIVE_MAKE%g
+s%@RECURSIVE_MAKE_ARGS@%$RECURSIVE_MAKE_ARGS%g
s%@native_sound_lib@%$native_sound_lib%g
s%@sound_cflags@%$sound_cflags%g
s%@dynodump_arch@%$dynodump_arch%g
#### Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
#### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
#### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
-#### Copyright (C) 1995, 1996 Ben Wing.
+#### Copyright (C) 1995, 1996, 2005 Ben Wing.
#### Copyright (C) 2000, 2001 Martin Buchholz.
#### Copyright (C) 1998, 1999 J. Kean Johnston.
case "$opsys" in
linux* ) pdump=yes ;; dnl glibc 2.3.1 seems to hose unexec
darwin ) pdump=yes ;; dnl No "native" working dumper available
+ cygwin* ) pdump=yes ;; dnl unexec is broken
*) pdump=no ;;
esac
fi
dnl Feed s&m crud to src/Makefile
dnl Linux/powerpc needs the following magic for some reason
-test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
+dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0,
+dnl the two most popular PowerPC distributions.]
+dnl test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
if test "$unexec" = "unexaix.o"; then
dnl AIX needs various hacks to make static linking work.
possible_version=`${possible} --version 2> /dev/null`
if test "x${possible_version}" != "x"; then
GTK_CONFIG="${possible}"
+ case "${possible_version}" in
+ 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;;
+ 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;;
+ 1.2.*)
+ with_gtk=yes
+ break
+ ;;
+ *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);;
+ esac
fi
- case "${possible_version}" in
- 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;;
- 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;;
- 1.2.*)
- with_gtk=yes
- break
- ;;
- *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);;
- esac
done
AC_MSG_RESULT([${GTK_CONFIG}])
fi
test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
if test "$with_ldap" != "no"; then
- AC_CHECK_LIB(ldap, ldap_search, with_ldap_nolber=yes, with_ldap_nolber=no)
- test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) }
- test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krb=yes, with_ldap_krb=no, -llber -lkrb) }
- test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krbdes=yes, with_ldap_krbdes=no, -llber -lkrb -ldes) }
- test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=yes
+ AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
+ dnl Check for other libraries we need to link with to get the main routines.
+ test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
+ test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
+ test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) }
+ dnl Recently, we need -lber even though the main routines are elsewhere,
+ dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just
+ dnl check for that (it's a variable not a fun but that doesn't seem to
+ dnl matter in these checks) and stick in -lber if so. Can't hurt (even to
+ dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who
+ dnl #### understands LDAP needs to fix this properly.
+ test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) }
fi
if test "$with_ldap" = "yes"; then
AC_DEFINE(HAVE_LDAP)
XE_ADD_OBJS(eldap.o)
- if test "$with_ldap_nolber" = "yes" ; then
- XE_PREPEND(-lldap, LIBS)
- else
- if test "$with_ldap_krb" = "yes" ; then
- XE_PREPEND(-lkrb, LIBS)
- fi
- if test "$with_ldap_krbdes" = "yes" ; then
- XE_PREPEND(-ldes, LIBS)
- XE_PREPEND(-lkrb, LIBS)
- fi
+ if test "$with_ldap_des" = "yes" ; then
+ XE_PREPEND(-ldes, LIBS)
+ fi
+ if test "$with_ldap_krb" = "yes" ; then
+ XE_PREPEND(-lkrb, LIBS)
+ fi
+ if test "$with_ldap_lber" = "yes" ; then
XE_PREPEND(-llber, LIBS)
- XE_PREPEND(-lldap, LIBS)
fi
+ XE_PREPEND(-lldap, LIBS)
AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
fi
dnl Avoid using Motif :-(
case "$opsys" in
- *linux* ) lucid_prefers_motif = "no" ;;
- * ) lucid_prefers_motif = "yes" ;;
+ *linux* ) lucid_prefers_motif="no" ;;
+ * ) lucid_prefers_motif="yes" ;;
esac
case "$with_menubars" in "" | "yes" | "athena" )
AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}")
AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}")
- dnl Autodetect gpm
- test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) }
- test -z "$with_gpm" && { AC_CHECK_LIB(gpm, Gpm_Open, with_gpm=yes, with_gpm=no) }
- if test "$with_gpm" = "yes"; then
- AC_DEFINE(HAVE_GPM)
- XE_ADD_OBJS(gpmevent.o)
- XE_PREPEND(-lgpm, LIBS)
+ dnl General Purpose Mouse (libgpm) support
+ if test "$with_gpm" != "no"; then
+ AC_CHECK_HEADER(gpm.h, [
+ AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)])
+ if test "$have_gpm" = "yes"; then
+ with_gpm=yes
+ AC_DEFINE(HAVE_GPM)
+ XE_ADD_OBJS(gpmevent.o)
+ XE_PREPEND(-lgpm, LIBS)
+ elif test "$with_gpm" = "yes"; then
+ XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."])
+ else
+ with_gpm=no
+ fi
fi
else dnl "$with_tty" = "no"
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
-RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
-AC_SUBST(RECURSIVE_MAKE)
+RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
+AC_SUBST(RECURSIVE_MAKE_ARGS)
AC_SUBST(native_sound_lib)
AC_SUBST(sound_cflags)
--with-system-malloc (Bool) Use the system malloc, instead of GNU malloc.
--with-debug-malloc (Bool) Use the debugging malloc package.
--use-regex-malloc=no (Bool) Use malloc (not alloca) for regex fail stack.
- Setting this to 'yes' allows unpreventable crashes.
+ Setting this to 'no' allows crashes - it may be
+ impossible to detect stack exhaustion, and your
+ XEmacs will crash.
+
Debugging options:
** Summary of user-visible changes:
+ -- PUI related changes (Package User Interface)
+ - A minor rearrangement of the "Tools -> Packages" menu.
+ - Only a single package download site can be selected.
+ - Managing packages via the `customize' interface is no longer
+ supported.
+ - Non-Mule XEmacsen can not install Mule packages.
+ - The "mule-base" package is not needed to "bootstrap" PUI for
+ Mule enabled XEmacsen.
+ - The default for PGP verifying the package-index file is "off" in
+ 21.4.
+ - The default package-index filename has changed to
+ `package-index.LATEST.gpg'.
+ - The location of the local index file is customisable. See
+ `package-get-package-index-file-location'.
+ - `pui-add-install-directory' has been obsoleted and replaced by
+ `pui-set-local-package-get-directory'.
-- The delete key now deletes forward by default.
-- Shifted motion keys now select text by default.
-- You can now build XEmacs with support for GTK+ widget set.
21.4.14: Reasonable Discussion
21.4.15: Security Through Obscurity
21.4.16: Corporate Culture
-21.4.17: Social Property
-21.4.18: Stable Release Maintainer
-21.4.19: Standard C
-21.4.20: Successful IPO
-21.4.21: Sufficiently Smart Compiler
-21.4.22: The Gift Economy
-21.4.23: Too Much Mozart
-21.4.24: UTF-8 BOM
+21.4.17: Jumbo Shrimp
+21.4.18: Social Property
+21.4.19: Stable Release Maintainer
+21.4.20: Standard C
+21.4.21: Successful IPO
+21.4.22: Sufficiently Smart Compiler
+21.4.23: The Gift Economy
+21.4.24: Too Much Mozart
+21.4.25: UTF-8 BOM
N.B. Only incredibly redeeming suggestions can be accepted now.
*** erc
ERC is an Emacs InternetRelayChat client.
+*** escreen
+Multiple editing sessions withing a single frame (like screen).
+
*** eshell
Command shell implemented entirely in Emacs Lisp.
supporting Lisp development. It is a single-file package so it may be
tailored.
+*** xlib
+Emacs interface to X server.
+
*** xslide
XSL editing support.
A minor mode for (X)Emacs which allows running an XSLT processor on a
buffer.
+*** xwem
+X Emacs Window Manager.
+
*** zenirc
ZENIRC IRC Client.
- -*- text -*-
+-*- text -*-
GNU Service Directory
---------------------
that you agree informally to the following terms:
1. You will not restrict (except by copyleft) the use or distribution
-of any software, documentation, or other information you supply anyone
-in the course of modifying, extending, or supporting GNU software.
-This includes any information specifically designed to ameliorate the
-use of GNU software.
+of any software, documentation, or other technical information you
+supply anyone in the course of modifying, extending, or supporting GNU
+software. This includes any information specifically designed to
+ameliorate the use of GNU software.
2. You will not take advantage of contact made through the Service
Directory to advertise an unrelated business (e.g., sales of
Please put nothing else inside "<>". Thanks!
For a current copy of this directory, or to have yourself listed, ask:
- gnu@prep.ai.mit.edu
+ service@gnu.org
** Please keep the entries in this file alphabetical **
+\1f
+Aaronsen Group, Ltd. <gnu@aaronsen.com>
+600 Grant St.
+Suite 5345
+Pittsburgh, PA 15219 US
++1 412 391 6000 voice
++1 412 391 6006 fax
+http://www.aaronsen.com/gnu
+
+The Aaronsen Group provides several levels of service in the free software
+arena, from simple configuration and installation to large extensions and
+new development. We specialize in unique applications, but have the
+experience to handle all manner of prospects, from database-backed
+web-sites to high-end multiprocessor clusters.
+
+Our service area covers the US, with key offices in Pittsburgh, PA; San
+Jose, CA; and New York, NY.
+
+We are available for both hourly work (at $450 per hour, some qualified
+discounts are available) and fixed-price projects. Work is done on the
+client site, at our offices, or remote via Internet or telephone
+connection.
+
+Updated: 2002-04-18
+\1f
+ACT Europe <sales@act-europe.com>
+8 rue de Milan
+75009 Paris
++33 1 49 70 67 16
++33 1 49 70 05 52 fax
+www.act-europe.com
+
+ACT Europe, developer and maintainer of the Ada 95 GNAT Pro
+Development Environment, specializes in project support and consulting
+for users of GNAT Pro.
+
+GNAT Pro, based on GNU/GCC technology, is the most widely used Ada 95
+development environment, and the ideal solution in environments where
+efficient and reliable code is critical. GNAT Pro is available on the
+widest number of platforms, from Unix workstations and PCs to bare
+boards and embedded systems.
+
+ACT Europe offers full Ada 95 solutions and is continuously enhancing
+and developing programming tools, debuggers and integrated development
+environments.
+
+We believe the Ada market and your project will best benefit from an
+open, non-proprietary technology, we have made all our products Open
+Source software by adopting the licensing policy of the Free Software
+Foundation. This means that all components of the GNAT technology,
+including the run-time, come with sources.
+
+Highest-quality, responsive support is a key ingredient in complex and
+reliable Ada software products. GNAT Pro, the leading Ada 95
+development system, is the only Ada solution that comes with
+outstanding support. Please visit www.act-europe.com for further
+details of our products and services or contact us at
+<sales@act-europe.com>
+
+UPDATED: 2004-02-13
+\1f
+Ada Core Technologies <sales@gnat.com>
+104 Fifth Avenue, 15th Fl.
+New York, NY 10011
++1 212 620 7300
++1 212 807 0162 fax
+www.gnat.com
+
+Ada Core Technologies, developer and maintainer of the Ada 95 GNAT Pro
+Development Environment, specializes in project support and consulting
+for users of GNAT Pro.
+
+GNAT Pro, based on GNU/GCC technology, is the most widely used Ada 95
+development environment, and the ideal solution in environments where
+efficient and reliable code is critical. GNAT Pro is available on the
+widest number of platforms, from Unix workstations and PCs to bare
+boards and embedded systems.
+
+Ada Core Technologies offers full Ada 95 solutions and is continuously
+enhancing and developing programming tools, debuggers and integrated
+development environments.
+
+We believe the Ada market and your project will best benefit from an
+open, non-proprietary technology, we have made all our products Open
+Source software by adopting the licensing policy of the Free Software
+Foundation. This means that all components of the GNAT technology,
+including the run-time, come with sources.
+
+Highest-quality, responsive support is a key ingredient in complex and
+reliable Ada software products. GNAT Pro, the leading Ada 95
+development system, is the only Ada solution that comes with
+outstanding support. Please visit www.gnat.com for further details of
+our products and services or contact us at <sales@gnat.com>
+
+UPDATED: 2004-02-13
+\1f
+Alcôve
+------
+
+Alcôve, Centre Paris Pleyel, 153 bld Anatole France
+93200 Saint-Denis France
+
+Email: <infos@alcove.fr>
+
+Web: http://www.alcove.com
+Tél.: +33 1 49 22 68 00
+Fax: +33 1 49 22 68 01
+
+Founded in 1996, Alcôve's main purpose is to promote and support the
+use of GNU/Linux and OSS on the European market.
+Expertise in OSS innovation is the foundation of all Alcôve's
+activities.
+We provide key accounts and leading businesses in the field of IT with :
+
+ Consultancy
+ Engineering
+ Training
+ Support
+ Technical watching brief
+ OSS Certification - Validation - Guarantee
+ Drivers for the linux kernel
+ Company directory and unified messaging
+ Linux Firewall Security Package
+
+Keys: support services, consulting, open source software, GNU/Linux,
+Apache, Perl, GNU, Samba, Zope, Imp, OpenLDAP
+
+Average daily rate, depending on the job : 1000 euros.
+Updated: 2002-06-12
\1f
-BeOpen <info@beopen.com>
-4880 Stevens Creek Blvd., Suite 205
-San Jose, CA 95129-1034
-+1 408 243 3300
-http://www.beopen.com
-
-BeOpen provides corporate-quality support, development and user
-documentation for GNU Emacs, XEmacs and InfoDock. (InfoDock is a turnkey
-information management and software development toolset built atop emacs,
-written by one of our associates.) Emacs distributions for a variety of
-platforms are also available, as is support for other emacs variants, such as
-those often found on PCs.
-
-Our unique focus on emacs-related work allows us to attract expert talent in
-this area to keep you on the leading edge of productivity, especially if you
-do software development work. We do the porting, patching, coding,
-integrating, debugging, documenting and testing so that your people spend
-much more productive time on their mainline tasks.
-
-Standard support packages include help on all aspects of the packages
-supported, including all tools shipped as a standard part of the original
-package distribution. In general, we want to give you an unbelievably strong
-level of support, so where we can, we will also answer questions concerning
-any add-on Lisp code that is used at your site. Setup and customization
-help, bug fixes, and announcements of new releases are, of course, included.
-
-Support rates start at $1,000 USD, for single user support for one year.
-Discounts are available for group contracts. We also offer Golden Support
-contracts for those who need the absolute best in mission-critical support;
-contact us for details. Hourly development rates and fixed bid work are
-available.
-
-Updated 20-March-1997.
-\1f
-Joseph Arceneaux <jla@ai.mit.edu>
-PO Box 460633 http://www.samsara.com/~jla
-San Francisco, CA 94146-0633
-+1 415 648 9988
-+1 415 285 9088
-
-Recently led the project making Wells Fargo Bank the first to provide
-secure customer account access over the Internet.
-
-Former FSF staffmember. Performed X11 implementation of Emacs version
-19, designed and implemented WYSIWYG Emacs. Installed and
-administered FSF network. Maintainer of GNU indent. Over 15 years
-experience with Unix and other systems, from writing ROM monitors to
-UI design and system administration.
-
-I provide installation, porting, debugging and customization or
-development of GNU and other Unix software. I also design and
-implement free software projects and consult on software engineering
-and systems design. Handholding and teaching services are also
-available as well as things like LAN and compute--infrastructure design.
-
-Time and material rates around $150 USD per hour, depending upon the
-particular job. I am also very interested in fixed-bid jobs. For
-selected non-profit organizations with worthy goals, I work for free.
-
-Updated: 17Oct95
-\1f
-Gerd Aschemann <aschemann@Informatik.TH-Darmstadt.de>
-Osannstr. 49
-D-64285 Darmstadt
-Tel.: +49 6151 16 2259
-http://www.informatik.th-darmstadt.de/~ascheman/
+Allegro Consultants, Inc. <info@gccsupport.com>
+1072 De Anza Blvd., Suite B101
+San Jose, CA 95129-3532
+USA
++1 408 252-2330 voice
++1 408 252-2334 fax
+http://www.gccsupport.com
+
+Allegro Consultants, Inc, in association with DIS International, is
+now offering annual support contracts covering the GNU Compiler
+Collection and related tools, including the GCC C and C++ compilers
+for MPE/iX.
+
+The free GCC C and C++ compilers have been available on MPE/iX for
+several years now, and are used for mission-critical applications by
+many organizations including Hewlett-Packard. Until now, assistance
+was available only from Mark Klein of DIS on a limited, voluntary
+basis. Mark is the person who originally ported GCC to the HP e3000,
+and he continues to maintain the software and port new versions.
+
+Support contracts start at $1,995.00/year for an organization
+(unlimited number of HP e3000 computer systems) with two designated
+callers. Additional options are available for large organizations who
+need to designate more than two authorized callers, or who want the
+additional security of 24x7 coverage.
+
+Updated: 2002-04-18
+\1f
+Amazonia Computing
+
+<rick@efn.com>
+http://www.efn.com/~rick
+
+5050 Donald St
+Eugene, OR 97405
+541-485-7264
+
+
+I provide development and technical support for free software
+and open source systems including embedded programming, GNU/Linux, the
+GNU development suite...
-- System Administrator (UNIX) at CS Department, TU Darmstadt, Germany
-- 15 years expirience with CS, Systemadministration on different platforms
-- 8 years with UNIX/Networking/FreeWare/GNU/X11
-- 6 years organizer of Operating Systems and Distributed Systems courses
+I have over 10 years experience building and maintaining systems ranging
+from medical patient monitoring systems to Linux device drivers for
+custom PCI plug in cards.
+
+Rates range from $85.00/hr to $90/hr USD. Will work for a lower rate
+if in involves working in either Brazil, Vietnam, Indonesia, or Cuba.
+I am also willing to work on fixed price contracts.
+
+Updated: 2002-04-22
+\1f
+Dipl.-Inform. Gerd Aschemann <gerd@aschemann.net>
+Martinstr. 81f
+D-64285 Darmstadt
+Tel.: +49 173 3264070
+http://www.aschemann.net/
+
+- Consultant
+ + Unix Network and System Administration
+ + Distributed Systems and Middleware Infrastructures
+- former System Administrator (UNIX and NT) at CS Department, TU Darmstadt, Germany
+- 22 years working in the CS field, System administration on different platforms
+- 15 years with UNIX/Networking/FreeWare/GNU/X11
+- 12 years courses on Operating Systems and Distributed Systems
- Lectures on System and Network Administration
-- Platforms: Solaris, SunOS, Ultrix, OSF1, HP-UX, Linux, FreeBSD, AIX
-- Experience with parallel environments (Connection Machine, Meiko, Parsytec)
-- Consultant for other UNIX users at TU Darmstadt
+- Platforms: Solaris, GNU/Linux, SunOS, Ultrix, HP-UX, Digital Unix, AIX, SCO, FreeBSDs
+- Distributed Platforms and Information Systems (CORBA, WWW, Java, SOAP)
-Rates are at 100,-- DM (~60 US$) per hour minimum, depending on the job.
+Rates are at 100,-- EUR (~90 US$) per hour minimum, depending on the job.
I am willing to travel for sufficiently large jobs.
-Updated: 17Oct95
+Updated: 2002-04-23
\1f
-Giuseppe Attardi <attardi@di.unipi.it>
-Dipartimento di Informatica
-Corso Italia 40
-I-56125 Pisa, Italy
-+39 50 887-244
+Baker Research, Ltd.
+P. O. Box 4057, Leesburg, VA 20177
+Phone: (703) 999-6719 (Voice)
+Web: http://www.baker-research.com
+email: <solutions@baker-research.com>
+Rate: $75.00/hr to $150.00/hr, or fixed-price projects.
-GNU: help on obtaininig GNU, for italian sites.
+Services:
+ --Full-lifecycle software development
+ --Database design and migration
+ --Programming (C/C++, tcl/tk, bash, perl)
+ --Custom backup and archival systems
+ --GNU/Linux system installation, configuration, and management
+ --Customization of systems for user needs
+ --Software product evaluation and recommendation
+ --Cluster systems support
+ -Installation, configuration, and management
+ -MPI and Myrinet support
+ --Data acquisition, management, visualization, and archival
+
+Updated: 2004-05-13
+\1f
+Don Barry, Ph.D. <don@astro.cornell.edu>
+Ithaca, NY
+
+Astrophysicist with extensive and varied hacker background. Substantial
+expertise in mathematical modeling, instrument interface, low-level and
+high-level hardware control, statistical analysis, automated/mathematical
+typesetting. Also fluent in opto/electro/mechanical design. I try to find
+solutions using free software when possible and specialize in GNU/Linux
+platforms. Degrees also in chemistry and mathematics.
+
+Speak: C, APL, Fortran, J, Perl, Emacs Lisp, IDL, variety of machine
+languages from CDC CYBER (!) to x86 families, TeX/LaTeX, sendmail, and
+quite a few others. Experience on platforms from PDP to present.
-Updated: 5Apr94
+Rates: $75--$150 per hour + travel (if required) depending on the needs of
+the project, the level of support and availability required, and its
+interest to me.
+
+Services: consulting, design, porting, lecturing, support, project definition,
+system implementation.
+
+Updated: 2002-04-18
\1f
James Craig Burley
97 Arrowhead Circle
-Ashland, MA 01721-1987
-508 881-6087, -4745
-(Please call only between 0900-1700 Eastern time, and only if you
-are prepared to hire me -- ask me to help you for free only
-via email, to which I might or might not respond.)
-Email: <burley@gnu.ai.mit.edu> --preferred--
- <burley@cygnus.com>
- <burley@world.std.com>
+Ashland, MA 01721
+Email: <gnu@jcb-sc.com>
+Web: http://world.std.com/~burley/
+
+Expertise (mainly Development and Maintenance):
+ Compilers for Imperative Languages (author of GNU Fortran, aka g77)
+ Operating System Kernels
+ Tools/Utilities
+ Microcode (mainly VLIW) and Assembler
+ Software-Development-System Architecture (including APIs, IDEs)
+ Debugging
+ Documentation Authoring and Project Management
-Expertise:
- Compiler Internals (author of GNU Fortran, for example)
- Operating Systems Internals
- Tools/Utilities Development and Maintenance
- Microcode Development and Maintenance (primarily VLIW machines)
- System Design (computers, operating systems, toolsets, &c)
- Debugging (often asked to help debug Other People's Code)
- Documentation (authored many books and ran a few doc projects)
- Extensive experience with a variety of operating systems, hardware,
- languages, and so on
+Experience:
+ Programming Languages such as C, Fortran
+ Operating Systems such as Unix, GNU/Linux, Solaris, HP-UX
+ Assembler/Microcode Languages -- RISC (such as SPARC), CISC, VLIW
+ Scripting Languages
+ API Design, Documentation, and Use
-Rate: $70/hour -- willing to consider flat-fee arrangements
+Rate: $200/hour
-Updated: 14Aug95
+Updated: 2002-04-18
+\1f
+ C2V Michel Delval <mfd@c2v.com>
+ 82 bd Haussmann Jean-Alain Le Borgne <jalb@c2v.com>
+ 75008 Paris
+ France
+ Tel (33 1) 40.08.07.07
+ Fax (33 1) 43.87.35.99
+ http://www.c2v.com/freesoft.htm
+ e-mail: <consult@c2v.com>
+
+ Services: we offer source or source+binary distribution,
+ installation, training, maintenance, technical support,
+ consulting, specific development and followup on the GNU software
+ development environment: Emacs, gcc/g++, binutils, gas, gdb.
+
+ Porting on new platforms, and professionally developing software
+ with the GNU tools in the Unix/X11 environment since they were
+ first available.
+
+ Experience: GNU C Compilation toolchain for the SGS-Thomson D950
+ and ST20 DSP chips.
+
+ GNU C compilation toolchain (cross-compiler, compiler, linker,
+ assembler, debugger) for SparcV7 ERC32 based space systems
+ (Sextant Avionique / Alcatel Espace).
+
+ Feasability study, analysis and prototyping of a complete
+ compilation toolchain based on the GNU programming tools for the
+ CSEM RISC microprocessor family.
+
+ Rates: from 800 Euros/day to 120 000 Euros/year, 40% discount for
+ educational institutions, add taxes and expenses. Ask for list.
+
+Updated: 2002-04-25
\1f
-Michael I. Bushnell <mib@gnu.ai.mit.edu>
-545 Technology Square, NE43-426
-Cambridge, MA 02139
-(617) 253-8568
+Cendio Systems AB <info@cendio.com>
+Teknikringen 3
+SE-583 30 Linkoping
+SWEDEN
++46 13 21 46 00 voice
++46 13 21 47 00 fax
+http://www.cendio.com/ <international site>
-All GNU software: Installation, customization, answering simple or
- complex questions, bug fixing, extension.
+Cendio Systems develops, implements and integrates solutions based on
+Open Source Software. We also develop and market the Fuego
+Firewall(TM), an award winning and easy-to-use firewall, based on
+GNU/Linux.
-Experience: I have done Unix and GNU programming for several years,
- I am the primary author of the Hurd (which provides most
- kernel related facilities for the GNU OS).
+We offer professional services, including support, maintenance,
+integration and development in the following areas:
-I am easily available in the Cambridge/Boston area; work via email.
-I am willing to travel for sufficiently large jobs.
+* Embedded Linux
+* Client/Server Solutions GNU/Linux/BSD
+* Professional Training GNU/Linux, certifications from SAIR Linux/GNU
+* Open Source Strategy
+* Development/Adaptation of free software
+
+Cendio Systems have deep roots in Linkoping University, and was
+founded 1992 as Signum Support. Our headquarters resides in Mjardevi
+Science Park in Linkoping and we have an office in Stockholm. We are
+currently about fifty employees at both locations.
+
+Cendio Systems won the Lotus 'Tux Award' at LotusSphere 2000 for "the
+partner who best exemplifies a unique dedication to Lotus and Linux
+technologies and has successfully executed their vision in the
+marketplace."
+
+Cendio Systems have the following certifications and memberships:
+
+Association of Computing Machinery, Professional Membership
+COMPAQ System Specialist (Intel and Alpha Systems)
+Embedded Linux Consortium, Founding Member
+IBM Value Added Reseller (Netfinity)
+IBM Solution Provider (RS/6000)
+SAIR GNU/Linux, Accredited Center for education
+SGI Systems Integrator
-Rates: $100/hr, negotiable, less for non-profit organizaions.
+Rates: Please request our price list.
-Updated: 5Apr94
+Updated: 2001-05-09
\1f
-C2V Renaud Dumeur <renaud@ccv.fr>
-82 bd Haussmann Michel Delval <mfd@ccv.fr>
-75009 Paris Jean-Alain Le Borgne <jalb@ccv.fr>
-France
-Tel (1) 40.08.07.07
-Fax (1) 43.87.35.99
-
-We offer source or source+binary distribution, installation, training,
-maintenance, technical support, consulting, specific development and
-followup on the GNU software development environment: Emacs, gcc/g++,
-binutils, gas, gdb.
-
-Experience: adapted gcc, gas and binutils to work as cross-development
-tools for the Thomson st18950 DSP chip: GCC parser and typing system
-have been augmented to allow the manipulation of variables located in
-separated memory spaces. Porting on new platforms, and professionally
-developing software with the GNU tools in the Unix/X11 environment
-since they were first available.
-
-Rates: from 2000 FF/day to 150 000 FF/year, 40% discount for
-educational institutions, add taxes and expenses. Ask for list.
-
-Entered: 5May94
-\1f
-Contributed Software
-Graefestr. 76
-10967 Berlin, Germany
-phone: (+49 30) 694 69 07
-FAX: (+49 30) 694 68 09
-modems: (+49 30) 694 60 55 (5xZyXEL )
-modems: (+49 30) 693 40 51 (8xUSR DS)
-email: <info@contrib.de>
-internet: uropax.contrib.de [192.109.39.2], login as 'guest'.
-
-We distribute, install, port, teach and support free software
-in general, i.e. X11, GNU, khoros etc. Rates are ECU 80,-- plus
-tax per hour. We offer maintenance and support contracts for full
-customer satisfaction.
-Highlights are transparent development environments for multi-platform
-sites and configuration management. Traveling is no problem.
-
-Free Archive login for downloading on above modem numbers.
-
-Updated: 5Apr94
-\1f
-Stuart Cracraft <cracraft@ai.mit.edu>
+CodeSourcery, LLC <info@codesourcery.com>
+9978 Granite Point Ct
+Granite Bay, CA 95746
+(916) 791-8304
+http://www.codesourcery.com
+
+CodeSourcery specializes in customization of, enhancements to, and
+support for all GNU software. We have particular experience in the
+field of programming tools, and have been responsible for many
+features in the GNU C and C++ compilers including the implementation
+of member templates and type-based alias analysis. Mark Mitchell, one
+of our co-founders, is a co-maintainer of the GNU Compiler Collection.
+
+We also have experience with GNU tools ranging from emacs to binutils
+to gdb to autoconf, and are willing to work on any and all free
+software projects.
+
+Please see our web page at www.codesourcery.com for more information
+about our products, services, and prices.
+
+Updated: 2002-04-19
+\1f
+Stuart Cracraft <cracraft@gnu.org>
25682 Cresta Loma
-Laguna Niguel, Ca.
-92677
-GNUline: 714-347-8106
-Rate: $75/hour
+Laguna Niguel, CA, 92607, USA
+Phone: 949-347-8106
+Rate: negotiable
+
Consultation topics:
- Entire GNU suite - porting, compilation, installation,
- user-training, administrator-training
-Method: telephone line support, call-in via modem to your site,
-or direct visit.
-
-Experience: supporting GNU since the mid-1980's, coordinator
-of GNU Chess (original author), GNU Shogi, GNU Go. Ported GNU Emacs
-to Solaris (System V Release 4). Expertise in C, Emacs Lisp, and Perl.
-Customized programming also available.
-
-Entered: 5Apr94
-\1f
-Cygnus Support <info@cygnus.com>
-1937 Landings Drive ...uunet!cygint!info
-Mountain View, CA 94043 USA
-+1 415 903 1400 voice
-+1 415 903 0122 fax
-
-Cygnus Support
-48 Grove Street
-Somerville, MA 02144
-+1 617 629 3000 voice
-+1 617 629 3010 fax
-
-Cygnus Support continues to provide supported, maintained versions of
-the GNU toolset including GCC, G++, the GNU debugger with graphical
-user interface, GNU linker, GNU macro-assembler and Emacs 19. In
-keeping with the rapidly advancing needs of software developers,
-Cygnus maintains a 90 day release cycle of the GNU toolset. Each
-release is regression tested and includes substantial improvements and
-additions to the existing matrix of over 65 supported platform
-configurations.
-
-Updated: 2Feb95
-\1f
-Edgar Der-Danieliantz <EDD@AIC.NET> <edd@ns.aic.net> <edd@arminco.com>
-P.O. Box 10
-Yerevan 375009 AM
-ARMENIA
-
-Support for GCC (C & Objective C), X Window System,
-World Wide Web, x86-based embedded systems, logic programming, etc.
-
-Via Internet (mail, talk, irc, etc.)
-
-Experience:
- OS's: 4.3 & 4.4 BSD, SVR3.2 & 4.2, FreeBSD, Linux,
- NetBSD, SCO, Solaris, SunOS, Ultrix, NEXTSTEP, UnixWare.
- Languages: C, C++, Objective C, Pascal, Tcl/Tk, Perl,
- Bourne Shell, PostScript, HTML, Prolog.
- Platforms: Intel, SPARC, Mac, VAX, NeXT.
-
-Rates: Depending on type of work, appx $20/hour. Contact for more information.
- Negotiable for individuals and non-profit organizations.
- FREE for individuals who can't pay. Your 'Thanks!' just enough! :-)
- Payment by international wire transfer.
+Entire GNU suite - porting, compilation, installation,
+user-training, administrator-training
-Entered: 6Mar96
-\1f
-Free Software Association of Germany
-Michaela Merz
-Heimatring 19
-6000 Frankfurt/Main 70
-phone: (+49 69) 6312083)
-ert : (+49-172-6987246)
-email: (info@elara.fsag.de)
+Method: via any combination of telephone, dialup, Internet, in-person, email.
-Supporting all kinds of freeware (i.e. GNU), freeware development, consulting,
-training, installation. Special LINUX support group.
+Experience: supporting GNU since project inception, original port of
+GNU Emacs to Sun Solaris, original author of GNU Emacs online tutorial.
+Expertise in C, Emacs Lisp, Perl, Expect, Oracle, Informix, SunOS, Solaris,
+NIS, NFS, system-monitoring via paging. Unix System and Database
+administration or development.
-RATES:
+Updated: 2002-04-20
+\1f
+Bruce Dawson - <jbd@codemeta.com>
+CodeMeta, Inc.
+London, NH USA
+800-354-2209
-Companies and for profit
-organizations : 100 US$ / hour
-Private and not-for-profit
-organizations : 40 US$ / hour
-ert (24h Emergency
-response team) : 300 US$ / hour
+Specializing in GNU tools such as CVS, gnats, bash, gawk, fileutils...
-Entered: 14Apr94
-\1f
-Noah Friedman <friedman@prep.ai.mit.edu>
-Building 600, Suite 214 2002-A Guadalupe St. #214
-One Kendall Square Austin, TX 78705
-Cambridge, MA 02139 (Local, faster to reach me)
-(Permanent)
+Services:
+
+ o 800 phone support.
+ o Modification and development.
-Author of several Emacs Lisp packages and parts of Emacs 19, as well as
-numerous utilities written in shell script and perl. Co-maintained GNU
-Texinfo and Autoconf for a couple of years. System administrator for a
-network of heterogenous machines. FSF employee Feb 1991--Sep 1994.
+ o Training.
-I can perform installation, porting, and enhancement of all GNU software
-and any other free software; system administration for unix-type systems
-and ethernet networks; and I am willing to teach shell programming and
-Emacs Lisp.
+Rate: Fixed rate deliverables or $110/hour for hourly work.
-Fees negotiable, averaging $60-$75/hour. I can work in the Austin, TX area
-or anywhere accessible on the Internet. For larger jobs I may be willing
-to travel.
+http://www.codemeta.com
-Updated: 16Aug95
+Updated: 2002-04-23
\1f
-Ronald F. Guilmette <rfg@monkeys.com>
-Infinite Monkeys & Co.
-1751 East Roseville Pkwy. #1828
-Roseville, CA 95661
-Tel: +1 916 786 7945
-FAX: +1 916 786 5311
+DSS Distributed Systems Software, Inc.
+3253 Georgia St. <dss@dss.bc.ca>
+Richmond, British Columbia V7E 2R4 http://www.dss.bc.ca
+CANADA (604) 270-9559
-Services: Development & porting of GNU software development tools.
+GNU-related services:
+ We specialize in support for GCC (mainly C and C++), including porting,
+ retargeting, and customizing.
+ Also, GNU and other free software that falls within our areas of expertise.
-GNU Contributions:
- Invented, designed, and implemented the protoize and
- unprotoize tools supplied with GCC2.
+Expertise:
+ DSS provides software design, implementation, and consulting services for:
+ o Client/Server architectures
+ Including web-based systems, Apache web server customization, CGI,
+ server-side processing, JavaScript, automatic web page generation
+ o E-Security, including PKI and SSL
+ o Directory systems, including X.500 and LDAP
+ o High-performance and special-purpose distributed systems and databases
+ o Computer networking and communication protocols
+ Internet protocols such as TCP/IP and UDP, development of custom protocols
+ o Creating and customizing "small", embedded, and special-purpose programming
+ languages
- Designed and developed all code to support the generation
- of Dwarf symbolic debugging information for System V Release
- 4 in GCC2.
+Rates:
+ Consulting rates are $65-$200 USD per hour, plus
+ applicable taxes. Fixed-cost projects are also possible.
- Performed original port of GNU compilers to SVr4 system.
+Updated: 2002-06-27
+\1f
+Gord Eagle <gord@gnu.org>
+Box 325 http://fig.org/gord/
+Lumsden, SK S0G 3C0 Voice: (306) 731-3011
+CANADA
- Finished port of GNU compilers to Intel i860 RISC
- processor.
+I will gladly help novice and intermediate computer users to install,
+understand, and use free software, whether or not I have prior
+experience with that software. I know my limitations well, and will
+freely give other contacts if I cannot solve your problem myself.
-Experience: 13+ years UNIX systems experience, all working on compilers
- and related tools.
+I have over 5 years of experience with several of the major free OSes:
+GNU/Linux (Debian, Red Hat), NetBSD, FreeBSD, and GNU/Hurd. Some of
+my specialties are networking, Emacs, Automake, Autoconf, C, Perl, and
+shell script programming.
- 7+ years working professionally on GCC, G++, and GDB under
- contract to various firms including the Microelectronics
- and Computer Technology Corporation (MCC), Data General (DG),
- Network Computing Devices (NCD), and Intel Corp.
+My rates are negotiable depending on the task: usually $40-$60
+(Canadian) per hour. Flat rates preferred.
-Other qualifications:
- Developer of the RoadTest (tm) C and C++ commercial
- compiler test suites.
+Updated: 2002-04-18
+\1f
+John W. Eaton
+<jwe@gnu.org>, <jwe@insightbb.com>
- Former vice-chairman of UNIX International Programming
- Languages Special Interest Group (UI/PLSIG).
+Experience: Original author and current maintainer of GNU Octave
+ (http://www.octave.org).
- Bachelor's and a Master's degrees, both in Computer Science.
+ Derivatives of the Unix man utility that I wrote in 1990
+ are currently distributed with several GNU/Linux systems.
-Rates: Variable depending upon contract duration. Call for quote.
+ Improved GNU Make's support for VPATH and object
+ libraries on VMS systems.
-Updated: 23Sep95
-\1f
-Hundred Acre Consulting <info@pooh.com>
-1155 W Fourth St Ste 225
-PO Box 6209
-Reno NV 89513-6209
-(702)-348-7299
-Hundred Acre is a consulting group providing support and development
-services to organizations of all sizes. We support GNU C++ and C in
-particular, but also provide support for all other GNU software and
-certain non-GNU public domain software as well. We work on a "service
-contract" basis for support -- for a yearly fee, we provide multiple
-levels of email and toll free telephone support, and free updates and
-bug fixes. The highersupport levels have on-site support. Development
-is charged on either an hourly or fixed bid basis.
+ Various other enhancements and bug fixes for other free
+ software tools.
-Consulting rates: $70 to $90 per hour, or fixed bid.
-Support contracts: Several levels, from $495 to $90000 per year.
+ I have more than 19 years experience programming various
+ languages and systems, more than 14 years as a user and
+ system mangler of Unix systems, including Ultrix, SunOS,
+ AIX, HP/UX, BSD, IRIX, Digital Unix, and GNU/Linux.
+ Long-time user of GNU tools on all these platforms.
-Updated: 27Dec94
-\1f
-Interactive Information Limited
+Programming: Octave, Matlab, C++, C, Fortran, Emacs Lisp, TeX/LaTeX,
+ AWK, M4, Autoconf, Make, Lex & YACC, Unix shell
+ programming, etc.
-Interactive Information Limited is an Edinburgh-based company that
-specialises in WWW services and support for using the Internet for
-marketing.
+Services: Anything related to programming and extending Octave.
+ Porting, installation, and customization of GNU/Linux and
+ GNU tools. Unix system administration.
-Our staff have many years experience in using, and developing lisp packages
-within, Emacs, and in using other GNU/Unix tools, particularly under public
-domain UNIXes.
+Rates: $100/hour + travel and expenses (if required). Will
+ consider travel for short periods and/or sufficiently
+ interesting jobs, but prefer to work via the net or email.
+ Lower rates for non-profits.
-We can provide services throughout the UK, at any level from general
-consultancy through fetching, installing and customising software to
-bespoke programming. Fees would be in the range #300 - #600 per day,
-depending primarily on the size of the job.
+Updated: 2002-04-19
+\1f
+Noah Friedman <friedman@splode.com>
+6114 La Salle Ave. #739
+Oakland, CA 94611-2802
+
+Author of several Emacs Lisp packages and parts of Emacs, as well as
+numerous network and unix system utilities. Co-maintained GNU Texinfo and
+Autoconf for a couple of years. Experienced unix systems engineer.
+FSF employee Feb 1991--Sep 1994.
+
+I can design and implement relational database services; perform
+installation, porting, and enhancement of all GNU software and any other
+free software, especially for linux- and unix-derived systems; design
+high-capacity hardware-redundant servers for production environments;
+provide consulting on the use of version control management.
+
+Fees negotiable, averaging $100-$150/hour. I can work in the California
+bay area or anywhere accessible on the Internet. For larger jobs I may be
+willing to travel.
+
+Updated: 2002-04-19
+\1f
+Ronald F. Guilmette <rfg@monkeys.com>
+RG Consulting
+1751 East Roseville Pkwy. #1828
+Roseville, CA 95661
+Tel: +1 916 786 7945
+FAX: +1 916 786 5311
+http://www.monkeys.com/
-You can contact us
- by email: <enquire@interactive.co.uk>
- by phone: 0370 30 40 52 (UK)
- (+44) 370 30 40 52 (International)
- by post: 3, Lauriston Gardens,
- Edinburgh EH3 9HH
- Scotland
+Services: Development & porting of GNU software development tools.
-Entered: 13Nov95
-\1f
-Scott D. Kalter <sdk@mithril.com)
-2032 Corral Canyon
-Malibu, CA 90265-9503
-Home: (310) 456-0254
+GNU Contributions:
+ Invented, designed, and implemented the protoize and
+ unprotoize tools supplied with GCC2.
-Emacs: Eoops, Elisp, and C level customization/extension training for
- general use and customization user support, installation, and
- troubleshooting.
+ Designed and developed all code to support the generation
+ of Dwarf symbolic debugging information for System V Release
+ 4 in GCC2.
-Rates: $50/hr
- May answer brief and interesting questions for free.
- Prefer e-mail communication to telephone.
+ Performed original port of GNU compilers to SVr4 system.
-Qualifications: BS Math/CS 1985: Carnegie Mellon University
- MS CS 1988: UCLA
+ Finished port of GNU compilers to Intel i860 RISC
+ processor.
- Very familiar with all levels of elisp programming. Taught
- Emacs use and customization in universities and industry. Extensive
- troubleshooting and user support experience. Co-developed an
- object-oriented extension to Elisp that can be used for
- projects. Extensive Elisp level modification for rapid
- prototyping of designs used in groupware research. This
- includes the development of an infrastructure to support
- multiple, communicating Emacs processes.
+Experience: 15+ years UNIX systems experience; 15+ years working on
+ compilers and related tools.
-Updated: 6Apr94
-\1f
-KAMAN SCIENCES CORPORATION
-258 GENESEE STREET
-UTICA NY 13502
-(315) 734-3600
+ 10+ years working professionally on GCC, G++, and GDB under
+ contract to various firms including the Microelectronics
+ and Computer Technology Corporation (MCC), Data General (DG),
+ Network Computing Devices (NCD), and Intel Corp.
-CONTACTS: Alan Piszcz (peesh) <apiszcz@utica1.kaman.com>
- : Dennis Fitzgerald <dennis@utica.kaman.com>
+Other qualifications:
+ Developer of commercial C and C++ compiler test suites.
-Kaman Sciences has performed a GNU port for a custom RISC processor.
-We have experience in the definition and description of the machine
-register transfer language to the GNU tool-set. This includes rewriting
-and modification of the necessary description and source files of gcc, gas,
-and gld and other binutils. Kaman also has services for installation and
-setup of GNU tools, (GAWK, GCC, EMACS, etc.) on Sun workstations.
+ Former vice-chairman of UNIX International Programming
+ Languages Special Interest Group (UI/PLSIG).
-Work is on a "service contract" basis and development is charged either
-hourly or as a fixed price contract.
+ Bachelor's and a Master's degrees, both in Computer Science.
-Consulting rates: $70 to $200 per hour.
+Rates: Variable depending upon contract duration. Call for quote.
-Entered: 13Jan95
+Updated: 2002-05-04
\1f
-Scott J. Kramer <sjk@aura.nbn.com>
-P.O. Box 620207
-Woodside, CA 94062
-+1 415-941-0755
+IDEALX
+15-17 avenue de ségur
+75007 Paris
+France
-GNU Software: Tutoring, installations/upgrades, Emacs Lisp customizations,
- general troubleshooting/support. Prefer that work I do
- becomes part integrated into official Free Software Foundation
- distributions.
+Tel - +33144420000 Fax - +33144420001
+http://www.IDEALX.com, http://www.IDEALX.org
-Systems Administration: Sun (SunOS & Solaris) and SGI (IRIX)
- UNIX hardware/software platforms.
+IDEALX is involved in the development of Open Source solutions,and
+ensures their deployment and maintenance.
-Rate: Task- and time-dependent; non-monetary offers accepted.
+IDEALX also contributes to the community, by producing its own
+Open Source components such as : IDX-PKI (a 100% Open Source
+Public Key Infrastructure) see :http://idx-pki.idealx.com
-Updated: 12Apr94
+Development
+Technical support
+Technology watch
+Consulting
+Engineering
+Training
+
+Rates - Variable
+
+Updated: 2002-07-22
\1f
-Fen Labalme <fen@comedia.com)
-Broadcatch Technologies
-40 Carl St. #4 WE ARE EVERYWHERE
-San Francisco CA 94117 JUST SAY "KNOW"
-(415) 731-1174 ARE YOU KIND?
+Ehud Karni <kehud@iname.com>
+Israel
-Rates: $80 hour (negotiable); quick email or phone questions free.
- Lower rates -- free of barter -- for schools and non-profits.
+Support of Emacs & Emacs lisp, GNU/Linux, Cygwin.
-Consulting, installation, customization and training for GNU Emacs,
-and selected other GNU & network software (but not G++). I have been
-hacking Emacs since '76 when it was TECO and ^R macros (don't ask).
+Fee: $75/hour.
-Updated: 6Apr94
+Updated: 2002-04-20
+\1f
+Bradley M. Kuhn
+<bkuhn@ebb.org>
+http://www.ebb.org/bkuhn
+
+I am available for part-time system administration, software development
+and training. I have extensive experience with system administration of
+GNU/Linux systems and Free Software development. I have also taught
+courses in C++ and Perl. As an employee of the FSF, I have a unique
+perspective on the free software community.
+
+Please visit my homepage for more information on my background and skills.
+My resume is also available there.
+
+I am available for both 1099 and W2 on-site contracting in the Boston, MA,
+USA metropolitan area, as well as remote consulting via dialup or Internet
+connection anywhere in the USA. I am not interested in relocation.
+However, temporary (two week maximum) jobs with paid expenses at other
+locations will be considered.
+
+My rate varies greatly (between $25-$60/hour) depending on the
+circumstances. Rates for non-profit organizations will be on the lower end
+of the spectrum if I support your cause.
+
+Updated: 2002-04-20
\1f
Greg Lehey
LEMIS
-Schellnhausen 2
-36325 Feldatal
-Germany
+PO Box 460
+Echunga SA 5153
+Australia
-Phone: +49-6637-919123
-Fax: +49-6637-919122
-Mail <grog@lemis.de>
+Phone: +61-8-8388-8286
+Fax: +61-8-8388-8725
+Mobile: +61-418-838-708
+Mail <grog@lemis.com>
Services: Supply, porting, installation, consultation on all GNU
products.
-Experience: 20 years OS and compiler experience, portations of most
-GNU products. Author of ported software CD-ROM for Unix 4.2.
+Experience: 30 years OS and compiler experience, ports of most GNU
+products. Author of ported software CD-ROM for UNIX System V.4.2,
+"Porting UNIX Software" (O'Reilly), "Installing and Running FreeBSD"
+and "The Complete FreeBSD" (both Walnut Creek).
+
+Rates: Choice of AUD 300 per hour or hotline rates AUD 6 per minute.
+Outside Australia, $US 180 per hour or $US 3.50 per minute. Quick,
+well prepared questions by mail may be free.
+
+Updated: 2002-04-21
+\1f
+Alan Lehotsky <apl@alum.mit.edu>
+Quality Software Management
+634 West St
+Carlisle, MA 01741
-Rates: Choice of DM 150 per hour or hotline rates 3 DM per minute + 10
-DM per phone call. Quick questions may be free. Limited free support
-available for purchasers of LEMIS CD-ROMs.
+Phone: (978)287-0435
+Fax: (978)287-0436
-Updated: 21Feb95
+Services:
+ - Support for GNU compilers, including rehost/retarget
+ - GNU Binutils rehost/retarget.
+ - cgen/sim
+ - Perl internals hacking
+ - General system software work (SW tools, O/S, device drivers)
+ - runtime library (especially floating point)
+ - project management
+ - software process improvement
+
+Experience: 20+ years of design and implementation of optimizing
+ compilers. "Mr. Bliss" at Digital in the 70's and early
+ 80's. Experience with Motorola 68k, PowerPC, SPARC, Intel
+ x86 and IA64 (Merced), MIPS, NS32K, ADI SHARC DSP, VAX, PDP-11,
+ PDP-10. Wrote or maintained compilers for Ada, BLISS, C, C++,
+ FORTRAN, Pascal, Modula/2, O/S experience includes Unix (OSF/1,
+ SunOS, Solaris, AIX, HP/UX), VAX/VMS, Windows/NT, MacOS.
+
+ 8 years experience with GCC internals, including major changes to
+ support 8 bit bytes on word-address Analog Devices SHARC DSP and
+ general support of PowerPC code generation. Retargetted gcc/binutils
+ cross-tools to ASIC used in optical switch. Retargeted gcc to 8 bit "internet toaster"
+ micro-computer.
+
+References available.
+
+Rates: $110/hr.
+ fixed price possible for well-defined deliverables.
+
+Updated: 2002-04-18
\1f
-Marty Leisner <leisner@sdsp.mc.xerox.com>
-332 Shaftsbury Road
-Rochester, New York 14610
-Home:(716) 654-7931
+Reuven M. Lerner
+Lerner Communications Consulting Ltd.
+PO Box 518
+Modi'in 71700
+Israel <reuven@lerner.co.il>
+
+Phone: 08-973-2225 (within Israel)
+ +972-8-973-2225 (outside of Israel)
+
+Fax: 08-973-0477 (within Israel)
+ +972-8-973-0477 (outside of Israel)
+
+WWW: http://www.lerner.co.il
-Experience: 12 years C/Unix, 7 years DOS.
- Extensive experience with GNU binary tools, cross-compilers,
- embedded/hosted systems, realtime.
-Degree : BS CS, Cornell University
-Rates: $75/hr
+We specialize in writing custom Web and Internet applications. In
+particular:
+- We create database-backed Web sites using Perl, Tcl, Python, Java,
+ Apache, mod_perl, OpenACS, Zope, MySQL, and PostgreSQL.
+- We offer support and service for system administrators who need help
+ with their GNU/Linux systems.
-marty
-<leisner@sdsp.mc.xerox.com> <leisner@eso.mc.xerox.com>
+- We offer training in a variety of programming languages (Perl, Tcl,
+ Python, and Java) and in GNU/Linux administration.
-Updated: 15Apr94
+Consulting rates: $110/hour, or $85/hour for non-profits. (Our rates
+drop when we're hired on retainer or for projects that last longer
+than one week.)
+
+Updated: 2002-04-18
\1f
-Richard Levitte (in TeX: Richard Levitte
-Södra Långgatan 39, II S\"odra L{\aa}nggatan 39, II
-S-171 49 Solna S-171 49 Solna
-Sweden Sweden)
-Tel.nr.: +46 (8) 18 30 99 (there is an answering machine)
-e-mail: <levitte@e.kth.se> (preferred)
- <levitte@vms.stacken.kth.se>
+Richard Levitte
+Levitte Programming
+Spannvägen 38, I
+S-168 35 Bromma
+Sweden
+Tel.nr.: +46 (8) 26 52 47 (there is an answering machine)
+Cellular: +46 (708) 26 53 44 (there is an answering machine)
+e-mail: <levitte@lp.se>
What I do:
- Primarly I work on GNU software for VMS, both VAX and AXP. I
- also work on GNU stuff for Unix on occasion. I'm familiar with
- SunOS (version 4.x.x), BSD (version 4.2 and up),
- Ultrix (version 4.2 and up).
- I've been porting GNU Emacs to VMS since spring 1991. This
- includes versions 18.57 to 18.59 and version 19.22.
- I maintain GNU vmslib.
+ I work with various free software packages, mostly GNU ones,
+ for Unix and VMS (the latter both on VAX and Alpha). I've
+ been porting GNU Emacs to VMS between spring 1991 and
+ somewhere in 1998. I've ported a bunch of other GNU programs
+ as well. I maintain GNU vmslib.
+ For further info, see http://www.lp.se/~levitte/prof/resume.html
Programs supported:
- GNU vmslib: extending, installation, upgrading aid,
- simple and complex questions, you name it.
- GNU Emacs: porting, extending, installation, upgrading aid,
- customization, simple or complex questions,
- training, you name it.
- GNU autoconf: porting, extending, installation, upgrading aid.
- GNU zip, diffutils, m4, patch, texinfo:
- porting, installation, upgrading aid.
- GNU C/C++: installation, upgrading aid. I might start to
- hack at it some day.
-
-The list of programs I currently support represents both my interests and
-current priorities. Your interest and funding can influence my priorities.
+ To a varying degree (ranging from extension and porting to
+ installation and simple questions) at the time of updating
+ this entry:
+ - GNU vmslib, emacs, autoconf, zip, diffutils, m4, patch,
+ texinfo, C/C++; on both VMS and Unix.
+ - Other GNU programs to a small degree; on Unix.
+ For further info, look at http://www.lp.se/products/gnu.html
Experience:
- Fluent in C, C++, Emacs Lisp, Pascal as well as assembler
- on VAX, Motorola 680x0, Intel 8086 and 80x86. Modified key
- elements in Emacs (e.g., memory and process management) to work
- transparently on VMS. I have very good knowledge in the VMS
- operating system, as well as MS-DOS and IBM PC compatibles.
- I have worked for four and a half years as a VMS system manager.
- I've also provided consulting services on IBM PC compatibles,
- as well as held classes for IBM PC users.
- A reference list is available on request.
+ Fluent in TeX/LaTeX and many programming languages.
+ Modified key elements in Emacs (e.g., memory and process
+ management) to work transparently on VMS. I have very good
+ knowledge in the VMS operating system. I'm also knowledged in
+ the a few Unix flavors.
+ Well knowledged in cryptography as well as the development of
+ the PKIX standards (both based on X.500 and RFC 2459) and
+ involved protocols (SSL, OCSP, CMS, ...)
+ For further info, see http://www.lp.se/~levitte/prof/resume.html
Your Rate:
- $50-$80/hour (400-700 SEK in sweden), plus expenses. My rates
- are negotiable, depending on how interesting the project is to me.
+ $75-$100/hour (750-1000 SEK in sweden), plus expenses. My
+ rates are negotiable, depending on how interesting the project
+ is to me.
+Updated: 2002-04-18
+\1f
+Moss - Card Consulting Inc <info@mosscard.com>
+16360 Broadway Avenue
+Building A, Suite 103-104
+Cleveland OH 44137 USA
+
+www.mosscard.com
++1 216 587 4343
++1 216 587 4342 Fax
+
+This dynamic Cleveland company offers the following services:
+- installation and configuration for SGI machines
+- Cross-platform development using wxWindows under GNU\Linux
+- Programming (C/C++,tcsh)
+- Compiler development using CORBA and gcc
+- Real-time Cross-Platform Development
+- Consulting
+- Engineering
+- Staff Augmentation
+
+We are Cleveland's first GNU\Linux developers, and one of our company's
+members has just launched NASA's first cross development tool.
+
+Our rates vary from ($50 - $400) USD depending on the nature of the project.
+
+Updated 2004-2-23
+\1f
+ NetGuide Scandinavia AB <info@netg.se>
+ Tankeg=E5ngen 4
+ S-417 56 G=F6teborg, Sweden
+ +46 31 50 79 00 voice
+ +46 31 50 79 39 fax
+ http://www.netg.se
+
+NetGuide Scandinavia AB is a company that does consultant jobs and holds
+courses in the fields of Unix software, TCP/IP networking and Internet
+applications. The people behind NetGuide Scandinavia AB have many years of
+general Unix experience, both as system administrators and as
+programmers, and also extensive experience in maintaining the GNU
+programs; in administration as well as finding and fixing bugs.
+
+Services offered:
+
+ - Installation and customizing GNU and other free software. We will
+ make free software as easy to install and use as shrink wrapped
+ programs.
+ - Service and support subscriptions.
+ - Warranty protection.
+ - Customization and porting.
+ - Subscriptions to new versions which we will send monthly or with
+ any other interval.
+ - Finding, recommending and investigating free software in any
+ area of the customers choice.
+ - Regular consulting.
+ - Support on Internet service software, especially the free
+ - Support on GNU/Linux.
+ - Freeware based courses in Unix usage, C, C++, or any GNU tools
+
+ Rates: For courses, contact us for a quote,
+ For consulting, $60-120/hour, depending on contract length.
-Entered: 18Aug94
+Updated: 2000-12-13
\1f
-Roland McGrath <roland@frob.com>
-545 Tech Sq, Rm 426
-Cambridge, MA 02139
-Work: (617) 253-8568
+Network Theory Ltd <sales@network-theory.co.uk>
+15 Royal Park
+Bristol
+United Kingdom
+Tel: +44 117 3179309
+Fax: +44 117 9048108
+http://www.network-theory.co.uk/gsl/
-Co-author of GNU Make (with Richard Stallman); maintainer of GNU Make.
-Author and maintainer of the GNU C Library and co-author of the GNU Hurd.
-Author of several GNU Emacs Lisp packages and parts of GNU Emacs 19.
-FSF employee summer 1989, fall 1990 to the present.
+We provide software maintenance contracts for commercial users of the
+GNU Scientific Library.
-Installation, maintenance, porting, enhancement of all GNU software. I can
-install GNU software and maintain its installation on call via the Internet.
+We can also provide general numerical consulting for all types of
+scientific and quantitative applications.
-Fees negotiable; $75-$100/hour, higher for very short term projects. I can
-work anywhere in the Boston or SF Bay Area, or anywhere on the Internet. I
-am working full-time for the FSF on the GNU Hurd, so I am likely to take on
-only jobs that either can be done entirely via the Internet and are
-short-term, or that are very interesting.
+Rate: $1495/year (950 ukp) for base maintenance contract.
-Updated: 21Jan95
+Updated: 2004-04-26
\1f
-Erik Naggum <erik@naggum.no>
-P.O. Box 1570 Vika http://www.naggum.no
-0118 OSLO phone: +47 2295 0313
-NORWAY NIC handle: EN9
+Thien-Thi Nguyen
+Solana Free Software
+ttn@glug.org
+San Diego, CA, USA
+
+Service: General Consulting and Hacking on all things GNU
+ Resume: http://www.glug.org/people/ttn/resume.html
+ Rates: no job too small, everything negotiable
+
+Updated: 2002-04-20
+\1f
+David Nicol
+Post office box 45163
+Kansas City, Missouri 64171
+<david@tipjar.com>
+http://www.tipjar.com/dnconsult
+
+Unix, GNU/Linux, Perl installation, C, C++, Lisp, Perl programming.
-Have extensive experience with Unix and C (since 1983), Internet protocols
-(1987), International Standards for character sets (1988), SGML (1990),
-ANSI Common Lisp (1994); Emacs user and programmer from 1984 to 1987
-(TOPS-20) and 1991 to present (Unix). Have worked on GNU Emacs development
-since early 1994, both in Emacs Lisp and C. Have been tracking development
-code for Emacs since mid-1995, and know new versions intimately.
+CGI programming.
-Services offered: installation, support, customization, and development of
-new packages, plus courses and seminars from basic usage through Emacs Lisp
-programming to writing extensions in C. General aid with all GNU software.
+Installation, porting.
-Rates depend on duration of work: From $6/minute for <= 1 hour, to $500/day
-for >= 1 month. Service agreements are encouraged. Cover Scandinavia for
-on-site work. Remote debugging and help by mail available for smaller
-fees, without limits to distance.
+Specification development, design, implementation, documentation.
-Please call only about actual work, I prefer mail for all other questions.
+Rate: $60/hour, or fixed contract. On-site support available in
+greater Kansas City area.
-I accept VISA and Mastercard, preferred for remote jobs and small amounts.
+Updated: 2002-04-23
\1f
-Wolfgang S. Rupprecht <wolfgang@wsrcc.com>
-47 Esparito Ave.
-Fremont, CA 94539-3827
-(510) 659-9757
+Jonas Oberg (TeX: Jonas \"Oberg
+Rimfrostgatan 95 Rimfrostgatan 95
+S-418 40 Goteborg S-418 40 G\"oteborg
+Sweden Sweden)
+
+Phone: +46-733-423962
+E-mail: <jonas@gnu.org>
+
+I offer support for most GNU software including the GNU
+Hurd and also do system administration on GNU systems.
+I can do free software development and have a good
+understanding of automake, autoconf, flex, bison, guile,
+texinfo and much more. Rates around USD$100.
+
+Updated: 2002-04-22
+\1f
+Francesco Potortì <pot@gnu.org>
+Via S.Stefano, 8
+56123 Pisa, Italy
+Tel. (050)560671
+
+Emacs: installation and maintenance, training and tutorials,
+ customisation, extensions, troubleshooting. Author of some of
+ the packages in the emacs distribution, has made the porting
+ of emacs to the Motorola Delta architecture.
+
+Other: installation and maintenance of GNU software. Experience with
+ hylafax, RCS, gperf, etags, smail, indent, diff, gawk, gcc,
+ screen. Is the current maintainer of etags.
-Anything, (lisp, C, customization, porting, installing) I have
-written thousands of lines of GNU Emacs C and Lisp code. Original
-author of the floating point additions in Emacs 19.
+Rates: 100 E/hour.
+ Prefer e-mail communication to telephone.
-Rates: $95/hr.
+Qualifications: Electronic Engineering degree, Pisa. Full time
+ researcher in CNUCE-CNR.
+ Familiar with elisp programming, porting of C programs,
+ low-level TCP/IP programming for embedded systems.
-Updated: 14Apr94
+Updated: 2002-06-28
\1f
-Signum Support AB <info@signum.se>
-Box 2044 _ ...!seunet!signum!info
-S-580 02 Linkoping, Sweden
-+46 13 21 46 00 voice
-+46 13 21 47 00 fax
+Rodolphe Quiedeville <rodolphe@quiedeville.org>
+1 Quai Martin
+56400 Auray
+France
+Tel (33 1) 613796341
+http://rodolphe.quiedeville.org/
-Signum Support AB is a company dedicated to supporting, developing
-and distributing free software for, including but not limited to,
-UNIX systems. The people behind Signum Support AB have many years
-of general UNIX experience, both as system administrators and as
-programmers, and also extensive experience in maintaining the GNU
-programs, both administrating it and finding and fixing bugs.
+Experience: Original author and current maintainer of the Lolix project
+ can be found at http://www.lolix.com
-Services offered:
+ I have more than 5 years experience on free software
+ system administration.
- - Installation and customizing GNU and other free software. We will
- make free software as easy to install and use as shrink wrapped
- programs.
- - Warranty protection.
- - Customization and porting.
- - Subscriptions to new versions which we will send monthly or with
- any other interval.
- - Finding, Recommending and Investigation of free software in any
- area of the customers choise.
- - Regular consulting.
+Programming: PHP, Perl, Unix shell
+
+Services: Anything related to free software network and system administration.
+
+Updated: 2002-07-01
+\1f
+Red Hat, Inc.
+<embedded-info@redhat.com>
+1325 Chesapeake Terrace
+Sunnyvale, CA 94089 USA
+Toll free: 866-2REDHAT ext. 3005
++1 408 542 9600 voice
++1 408 542 9699 fax
+
+GNUPro Tools
+Red Hat provides supported and maintained versions of gcc, g++, gdb
+with GUI, GNU linker and GNU macro assembler. In addition, Red Hat
+provides these GNU software development tools for well over many
+popular host-target configurations. Support includes bug fixes and
+semi-annual releases of the toolset. Each release is regression
+tested and includes substantial improvements and additions to the
+current release. Support is available through Incident support
+packages, or Unlimited support for specific user groups. GNUPro is
+available with standard, custom, and vintage toolchains for both
+native and embedded application development. New target processors
+are being added regularly. Rates for support for standard products
+start at $12,500.
+
+Embedded Linux
+Red Hat offers Red Hat Embedded Linux to companies looking for an open
+source and royalty-free runtime solution. Red Hat Embedded Linux
+currently supports certain ARM, StrongARM, and MIPS families of
+processors. Embedded Linux supports multiple graphics APIs, is
+compliant with POSIX APIs and thread support, can be configured as low
+as 512k memory footprint including TCP/IP and NFS built into the
+kernel, and supports journaling and transparent compression in
+filesystems. Support for new processors is available via Red Hat
+Professional Services.
+
+Updated: 2001-05-16
+\1f
+Relogic AB
+Pipersgatan 26
+Box 868
+SE-112 28 Stockholm
+SWEDEN
+
+web http://www.relogic.se
+e-mail info@relogic.se
+phone +46 708 800 000
+fax +46 708 800 580
+
+Relogic provides experienced unix developers that know and love GNU
+products. We can take on anything from single contractor support to
+full scale projects. We know all programming languages and all Unix
+dialects.
+
+Updated: 2002-04-19
+\1f
+RON's Datacom Co., Ltd.
+79, DongWu Ave.,
+Wuhan, Hubei Province
+430040 China P.R.
+Tel +1370-113-0868(mobile) +86-27-83222108(office), Fax +86-27-83222108
+http://www.rons.net.cn
+info@mail.rons.net.cn
+
+Ron's Datacom publishes the truly free ( the "free" in freedom)
+monthly periodical --- FREE SOFTWARE Magazine(FSM), offering a series
+of free software training courses entitled "Hackerdom", including:
+
+- Working with GNU Emacs;
+- Programming in Emacs Lisp;
+- Using and Porting GNU CC;
+- Flex and Bison;
+- Debugging with GDB;
+- Device Driver Development with GNU AS and C;
+- Shell Programming with BASH;
+- GNU Building Tools: Make, Automake, Autoconf, M4;
+- Typesetting and Layout Designing in TeX and PostScript;
+- Parsing XML Documents.
+- Source Code Version Management with CVS;
+- GNU Awk and Sed;
+
+RON's Datacom Typesetting Workshop offers professional typesetting service
+for both academic and commericial publishers, and solutions for building
+the modern electronic publishing system with industrial strength.
+
+Hong Feng gives speeches to the public about the philosophy of free
+software, and importance of freedom, suggestions for curriculum
+reforms of computing science department in the universities and colleges.
+
+Please visit our website (www.rons.net.cn) for more details.
+
+Updated: 2002-05-12
+\f
+Phillip Rulon
+122 Blossom Rd.
+Westport, MA 02790
+USA
+508.672.3007
+<pjr@gnu.org>
+
+15 years experience with GNU systems and tools. Available for any free
+software project. Most useful for network design and construction or
+dynamic web development. Very good Debian, Perl, and Apache.
+
+Boston, travel OK.
+$100/hr, flat rate possible.
+
+Updated: 2002-06-28
+\1f
+Sankhya Technologies Private Limited, <sales@sankhya.com>
+III FLoor, #30-15-58 "Silver Willow",
+Dabagardens, Visakhapatnam - 530 020
+INDIA
+Tel: +91 891 5542665
+Fax: +91 891 5542666
+http://www.sankhya.com/info/services/gnu/gnu.html
+
+SANKHYA Development is a package of software engineering services
+structured around select technologies in the areas of Compilers,
+Assemblers and Linkers, Debuggers. Our rich experience with such
+technologies enables us to deliver competitive software development
+services to you, customized to your specific requirements.
+
+Sankhya offers competitive and cost-effective GNU maintenance and
+support services for gcc, binutils, libtools and gdb. GNU Development
+and Maintenance focuses on providing C, C++ compiler development,
+assembler and linker development, debugger development, and compiler
+optimizations. For semiconductor and chip design companies we offer
+annual maintenance packages, and for software developers we offer
+annual support packages. Following services are provided for gcc,
+binutils, libtools and gdb,
+
+ * Retargeting gcc, binutils, libtools and gdb for new processor
+ architectures, including RISC, CISC, VLIW or DSP architectures.
+ * Implementing processor specific optimizations.
+ * Annual Developer Support for developers.
+ * Maintenance packages for CPU/SoC vendors. We offer variety of
+ development/maintenance packages.
+
+UPDATED: 2004-02-13
+\1f
+Sparkle Computer Co Ltd
+
+email: <info:sparkle-cc.co.uk>
+web: www.sparkle-cc.co.uk
+
+Specialists in software development and networks in London and
+South-East England, primarily using open source tools.
+
+ - Network security implementation using iptables, snort
+ - Network security testing using nmap and nessus
+ - Web services infrastruture with apache, tomcat, perl, jboss
+ - Software development in C, C++, java, perl
+ - Databases including MySQL and PostgreSQL.
+ - Mail services with sendmaill, MailScanner, spamassassin and virus
+ scanners
+ - Windows file and print services with Samba
+
+Development, configuration and consultancy services at 600
+(pounds)/day. Fixed price negotiable. Managed administration and
+monitoring negotiable.
-Rates: For software items, request our price list.
- For consulting, 400-800 SEK/hour.
-
-Updated: 14Apr94
-\1f
-Small Business Systems, Inc. <postmaster@anomaly.sbs.com>
-Box 17220, Route 104
-Esmond, RI 02917
-401.273.4669
-
-Rate: Varies depending on complexity of task.
- Hourly and fixed-rate contracts are available.
-Programs Supported: All
-
-Updated: 14Apr94
-\1f
-Julian H. Stacey. <stacey@freefall.cdrom.com>
-Vector Systems Ltd, Holz Strasse 27d, D 80469 Munich (Muenchen), GERMANY.
-Tel. +49 89 268616 (089 268616 in Germany) 09:00-21:00 Timezone=GMT+01:00
-
-Sources: All FSF/GNU, FreeBSD-current, X-Windows, XFree86, NetBSD, Mach, etc.
- (Plus various other things, such as, but not limited to:
- blas blt cflow CAD cnews crypt dvi2lj eispack elm encryption expect
- ezd f2c flexfax gic gopher info-zip ingres inn jpeg kermit ksh
- less lha linpack md5 mh mprof mtools mush nntp octave pbmplus
- popper sather sc schemetoc slurp sml spreadsheet sup tcl tcl-dp
- tcsh tcx term tex tiff tk top trn unarj ups urt wine xlock xv
- xview xxgdb zmodem zip zircon zoo zsh.)
-Media: QIC 1/4" Cartridge 525M, 150M, & 60M, TEAC CAS-60 60M Cassette,
- CD-ROM, Floppies 1.4M & 1.2 & 720K & 360K. DAT arrangeable.
- Postal Service C.O.D.(=`Nachnahme') or pre payment available.
-Commercial Consultancy:
- Custom Designs, Provision & support of FreeBSD or Unix, C, FSF tools,
- X Windows, own tools, systems engineering, hardware interfacing,
- multi lingual European, Cyrillic & Chinese tools & systems,
- Unix, MSDOS, real time etc, communications & scientific & industrial.
-DEUTSCH + FRANCAIS:
- Man kann mir in Deutsch schreiben, (oder mich anrufen).
- Je comprend Francais, mais je n'ecris pas des responses en Francais.
- (Contact me in English, German, or French).
-FREE for Symmetric Computer Systems Model 375 owners:
- Free Binaries & sources on SCS/375's TEAC 50/60M Cassette, for:
- GCC-1.40, UUCP-1.4, Ghostscript 2.3, Tar-1.08, Gzip-1.2.2 etc.
- (Native SCS compiler can't compile GCC on this NSC32016 based BSD4.2)
-On Request: Resume, Company Profile, Index of public & proprietary tools,
-Rate: ~120 DM/hour. ~100DM/Cartridge. (1.5DM = $1 USA = 0.6 UK Pounds @4/'94)
-Short enquiries free. (Kurze Anfragen Ohne Gebuhr).
-
-Updated: 14Jun94
-\1f
-Richard M. Stallman <rms@prep.ai.mit.edu>
-UUCP: {mit-eddie,ucbvax,uunet,harvard,uw-beaver}!ai.mit.edu!rms
-545 Tech Sq, Rm 430
+Updated: 2002-07-01
+\1f
+Andre Spiegel <spiegel@gnu.org>
+Dipl.-Inform.
+Berlin, Germany
+
+Maintainer of the GNU Emacs version control package (VC).
+
+I can provide consulting and practical help for the installation and
+administration of GNU/Linux systems, in particular Debian. Also
+knowledgeable on many other Unix derivates, and network technology.
+Installation, porting and customization of GNU software is possible; I
+have programming experience in C, C++, Java, and Emacs Lisp, among
+others. Expertise in version control using RCS or CVS. I also give
+seminars on the above subjects.
+
+Rates: 75 EUR/hr (US$ 70)
+
+Updated: 2002-04-22
+\1f
+Name: Julian Stacey <jhs.fsf@bim.bsn.com>
+Location: Muenchen, Deutschland (Munich, Germany).
+Qualifications: University Degree, BSc Hons Computers & Cybernetics, 1980.
+Resume: http://bim.bsn.com/~jhs/stacey/ (includes phone number).
+Rate: 80 - 100 Euros / Hour.
+Specialisation: Unix (Pref. BSD or Linux), C, X-Windows, FSF tools, firewalls,
+ systems engineering, hardware interfacing, real time/embedded,
+ custom design & porting. No { Emacs, Cobol, Microsoft }.
+Net Consulting: Link speed: DSL @ 768 K bit/s.
+Free Sources: BSD, X-Windows, XFree86, FSF; Personal sources on web.
+Free GCC-1.40: For Symmetric Computer Systems Model 375 (native cc is broken).
+Languages: I am English. Ich verstehe Deutsch. Je comprend Francais,
+ (lentment!). Use Hoch Deutsch, not Bayerisch, Spell slowly
+ & clearly, Use single digits, no inverted digit pairs etc.
+Contact: State aprox. amount of days/months you want to purchase
+ professional consultancy .. OR .. Note I am NOT a free help
+ desk ! Please post your questions to a newsgroup, for those
+ with more time, knowledge, & inclination than I.
+
+Updated: 2002-04-19
+\1f
+Richard M. Stallman <rms@gnu.org>
+545 Tech Sq, Rm 425
Cambridge, MA 02139
Emacs: anything whatever
Rates: $6/min or $250/hr.
-Updated: 14Apr94
+Updated: 2002-04-19
\1f
-JoS-Ware Comp Tech Johan Svensson <support@spird.jos.ec.lu.se>
-Box 739
-220 07 LUND
-SWEDEN
-Tel +46-46-104505 (Dept. of Economics, University of LUND)
-Fax +46-46-188445 (JoS-Ware Comp Tech)
-
-What: We offer consulting services regarding installation,
- customization, troubleshooting, porting and integration
- of all free software, including GNU software.
-
-Spec.: Network integration, integration of public domain software
- into commercial systems, WorldWideWeb, C, X-Windows, Linux,
- networked information systems
+Static Free Software
+4119 Alpine Road
+Portola Valley, Ca 94028
+(650) 851-2927
+http://www.staticfreesoft.com
-How: Remote login over internet, email, modem, phone, personal
- visits (in southern Sweden mainly)
+Static Free Software developed and supports the "Electric VLSI Design
+System". Steven Rubin, the founder of the company and author of
+Electric, is available for enhancements, support, and training.
-Rates: 550SEK (+ tax) per hour within Sweden
- 370SEK (+ tax) per hour within Sweden for educational org.
- US $90 per hour outside Sweden
- US $70 per hour outside Sweden for educational org.
- Note: fees may vary and special arrangements may be considered
+Please see our web page at www.staticfreesoft.com for more information
+about our products, services, and prices.
-Entered: 7Apr94
+Updated: 2002-04-19
\1f
-Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
-Sylvan Associates
+Tommy Stiansen
+Skeielia 112
+5238 Raadal
+Norway
+
++ 47 92 40 42 00
++ 47 55 22 12 17
+ts@pcias.no
+
+Special fields:
+Unix, GNU/Linux, Perl installation, C, C++, Lisp, Perl programming.
+CGI programming.
+Installation, porting.
+Specification development, design, implementation, documentation.
+Firewalls, security analysis. Porting Windows platforms to GNU/Linux.
+Teaching, preaching GNU/Linux / unix and Telecom.
+15 years experience with GNU systems and tools.
+Most useful for network design and construction or
+dynamic web development. Expert in Apache, php, Mysql, Telecom related,
+C, Lisp, Perl.
+
+Updated: 2002-04-18
+\1f
+Swing Digital Ltd. <hello@swingdigital.com>
+15-17 Middle Street
+Brighton
+BN1 1AL
+United Kingdom
+Tel +44 (0) 1273 20 11 66
+Fax +44 (0) 1273 20 11 68
+http://www.swingdigital.com
+
+Swing Digital actively supports the development of the GNU.FREE
+Internet Voting system. Through this support we have gained the
+unique expertise to support, install and run GUN.FREE-based Internet
+votes. We are also available in a consultancy basis to offer advice
+for organisations wishing to run GNU.FREE themselves.
+
+Our consultancy fees start at 900 Euro (550 UK pounds) per day. We
+are also able to securely host Internet Votes, prices on application.
+
+Updated: 2002-04-19
+\1f
+Kayvan A. Sylvan <kayvan@sylvan.com>
+Sylvan Associates, Inc.
879 Lewiston Drive
-San Jose, CA 95136
-Phone: 408-978-1407
+San Jose, CA 95136-1517
+Phone: (408) 978-1407
+Fax: (408) 978-0472
+
+I will help you port, install and customize GNU Emacs, GCC, G++, GNUmake,
+bison, and other GNU tools on almost any architecture and operating
+system. Questions answered. GNU C/C++, Java and lisp hacking available.
-I will help you port, install and customize GNU Emacs, GCC, G++,
-bison, and other GNU tools on almost any architechture and operating
-system. Questions answered. GNU C and lisp hacking available. I will
-also do ongoing support and periodic upgrades if you get on my GNU
+I will also do ongoing support and periodic upgrades if you get on my GNU
software subscription list.
-Rates: $60-$100/hour, depending on type of work. Substantial discounts
-for long-term contracts and also for educational or non-profit
-institutions.
+Rates: $100-$125/hour, depending on type and quantity of work.
+Substantial discounts for long-term contracts and also for educational or
+non-profit institutions.
-Experience: Many different Unix systems (2.9BSD to 4.4BSD, SVR3 and
-SVR4, Linux, Xenix). Systems programming and system administration on all
-brands of Unix. Kernel hacking experience. Lots of porting experience.
-I can port anything to anything (within reason).
+Experience: Many different Unix systems (2.9BSD to 4.4BSD, Xenix, SVR3 and
+SVR4, Solaris, Linux, FreeBSD). Systems programming and system
+administration on all brands of Unix.
-Updated: 14Apr94
+Kernel hacking experience. Lots of porting experience.
+
+Updated: 2002-04-18
\1f
-Leonard H. Tower Jr. <tower@prep.ai.mit.edu>
-36 Porter Street
-Somerville, MA 02143, USA
-+1 (617) 623-7739
+Alfredo Tomasini
+<alto555@earthlink.net>, <alfredo.tomasini@c-cube.com>
-Will work on most GNU software.
-Installation, handholding, trouble shooting, extensions, teaching.
+GNU/Linux Intel desktop/laptop installation, setup, and networking.
+Installation of GNU tools on SunOS and GNU/Linux.
+Sed and Gawk script development.
-Rates: 100.00/hour + travel expenses. Negotiable for non-profits.
+Languages: English and Italian.
-Experience: Have hacked on over a dozen architectures in many languages. Have
-system mothered several varieties of Unixes. Assisted rms with the front end
-of gcc and it's back-end support. Resume available on request.
+Fee: $50/hour.
-Entered: 14Apr94
+Updated: 2002-04-19
\1f
-UrbanSoft AO <info@usoft.spb.su>
-68 Malooktinskii Prospect
-St. Petersburg, Russia 195272
+Tksoft Inc.
+Papinkatu 19
+06100, Porvoo
+Finland
++358 40 570 9900
-Custom GhostScript and TeX programming by e-mail.
-Database documents, directories, standard forms.
+http://www.tksoft.com/
-UrbanSoft uses a portion of its revenues to contribute
-diskette distributions of GNU software to Russian
-universities (most of which lack FTP access).
+Software development services for GNU programs.
+We can modify and fix GNU software.
+We will also develop new software under the GNU license.
-Rates: 30,000 rubles (currently USD 16.80) per hour.
- Fixed rate contracts also possible.
- Payable by bank transfer.
+10 years of experience in linux and other GNU software.
-Updated: 20Apr94
+We speak Finnish, Japanese and English.
+
+Updated: 2004-05-13
\1f
-noris network
-Matthias Urlichs
-Schleiermacherstrasse 12
-90491 Nuernberg
-Germany
-Phone: +49 911 9959621
-Fax: +49 911 5980150
-<info@noris.de>
-http://info.noris.de/ (German)
+Leonard H. Tower Jr. <tower@ai.mit.edu> <tower@art.net>
+36 Porter Street
+Somerville, MA 02143-2313
+USA
++1-617-623-7739
-Expertise:
- OS internals, esp. Linux and BSD, esp. device drivers
- Network protocol / program design and coding
- Utilities coding and maintainance
- Program debugging, testing
- User interface design and testing
- Several programming and tool languages
+Will work on most GNU, GPLed, and Open Source software.
+Installation, handholding, trouble shooting, extensions, teaching, etc.
-Services:
- Installation, debugging, enhancement, distribution,
- for all kinds of free software.
- System administration for most Unix-like systems.
- Email, Fax, phone, and in-person consulting (and/or "question answering").
- Remote support and system monitoring (over the Internet),
- Update service (new tools tested and installed automagically)
- Internet access
+Rates: $ 250.00/hour + travel + expenses. Fixed fee quotes available.
+ Negotiable for non-profits.
-Rates:
- DM 110 (~$70) per hour
- Support contracts start at DM 170/month + DM 30/supported system.
- Willing to travel for sufficiently large jobs.
- Rates don't include taxes.
-
-Entered: 16Aug94
-\1f
-Joe Wells <jbw@cs.bu.edu>
-Postal Address:
- care of: Boston University Computer Science Department
- 111 Cummington Street, Room 138
- Boston, Massachusetts 02215
-Work Telephone: (617) 353-3381 (sorry, but no answering machine or voice mail)
-Home Telephone: (617) 739-7456 (until August 1995)
-Finger "jbw@cs.bu.edu" for up-to-date contact information.
+Experience: Have hacked on over a dozen architectures in many languages. Have
+system mothered too many varieties of Unixes. Assisted rms with the front end
+of GCC and its back-end support. Installed and worked with many GNU
+programs including GNU Emacs. Resume available on request.
-Experience:
- I have B.A. and M.A. degrees in Computer Science and have completed
- all but the dissertation for a Ph.D. in C.S. My research for my
- Ph.D. is in the areas of logic, type systems, and programming
- language theory. My primary programming languages are Emacs Lisp,
- Perl, and Bourne shell, but of course I can program in any language.
- I have written numerous Emacs Lisp packages. I started the USENET
- "List of Frequently Asked Questions about GNU Emacs with Answers" and
- maintained it for more than two years. Most of my work has been
- related to the telephone system (modems, voice mail, etc.), but I am
- not limited to that. Send e-mail for my complete resume or curriculum
- vita.
+Updated: 2002-04-18
+\1f
+Xetpoint Oy
+P.O. Box 43, FIN-33961 Pirkkala, Finland
-Programs supported:
- GNU Emacs and Taylor UUCP:
- Installation, training, customization, bug fixing, troubleshooting,
- extension, development, porting, or answering any kind of question.
- Any other GNU program:
- The same things, but I don't necessarily have huge amounts of
- experience with the particular program.
-
-Working conditions:
- I am usually available for part-time work (less than 20 hours per week
- including any travel time). I can sometimes make time for full-time
- work for a month or two; please inquire. I can either work in or near
- Boston or via the Internet or via telephone; travel outside the Boston
- metropolitan area can be negotiated. My schedule is very flexible.
- Any programs I write will normally have the copying conditions of the
- GNU General Public License; this is negotiable.
-
-Rates: $65/hour as an independent contractor.
- travel and telephone expenses.
- higher rates if extensive travel is required.
-
-Updated: 27Sep94.
-\1f
-Herb Wood
-phone: 1-415-789-7173
-email: <ru@ccnext.ucsf.edu>
-
-I'm a better "planner" than I am a hacker. A really good hacker will be able
-to keep many pieces of information in their short-term memory and to memorize
-new pieces of information at a fast rate. This is not my strong point.
-Rather, I excel in domains that require knowledge of the slightly more
-theoretical parts of computer science --for example, logic, formal methods of
-program development, and functional programming. I can write, and I have
-"tutoring" (teaching one-on-one) experience, an, unlike some programmers,
-I enjoy doing these things.
-
-I have spend a lot of time looking at the Emacs Lisp sources and customizing
-Emacs and VM. I think I can customize Emacs and its packages quickly and
-effectively.
-
-Entered: 30Jul95
-\1f
-Yggdrasil Computing, Inc./ Freesoft, Inc. <info@yggdrasil.com>
-4880 Stevens Creek Blvd. Ste. 205
-San Jose, CA 95129
-(408) 261-6630
-(800) 261 6630
-
-Updated: 14Apr94
+Email: <info@xetpoint.fi>
+Web: http://www.xetpoint.fi/
+
+Services:
+- GNU/Linux system installation, configuration and maintenance
+- GNU/Linux system administration
+- GNU/Linux consultation and support
+- GNU/Linux and free software customization
+- Network administration
+- Free software development and integration
+- Training
+- Security analysis
+
+Rates: 80 EUR/hour or fixed contract.
+
+Updated: 2004-02-13
+\1f
+Wasabi Systems
+<sales@wasabisystems.com>
+500 E. Main St., Suite 1520
+Norfolk, VA 23510
++1 757 248-9601 voice
++1 509 461-7283 fax
+http://www.wasabisystems.com/
+
+Wasabi Systems provides service and support for the popular GNU
+development tools, as service packages and as stand-alone software
+distributions. We provide cross-compilers and cross-debuggers to be
+used for developing all types of embedded systems. We specialize in
+optimizing the GNU tools for particular targets, and in providing
+support for standardized tools to be used on multiple types of hosts
+for multiple types of targets. We provide first- and/or second- tier
+support for you and/or your end-users.
+
+Support is available in a variety of packages, with a base rate of
+$200/hour.
+
+Updated: 2004-03-02
+\1f
+Jody Winston
+xprt Computer Consulting, Inc.
+731 Voyager
+Houston, TX, 77062
+(281) 480-UNIX, <josephwinston@mac.com>
+
+We have supported, installed, and used the entire GNU software suite
+for over 10 years on many different Unix platforms. We have written
+character device drivers and proc file systems for custom hardware
+running on GNU/Linux. We have developed extensions for tcl and Python.
+In addition, we have developed a custom X11 server and X input
+extensions. Our consulting rate is $150.00 US dollars per hour,
+negotiable, plus a per diem for out of town work.
+
+Updated: 2002-04-19
+\1f
+The Written Word
+Web: http://thewrittenword.com
+Email: info@thewrittenword.com
+Tel: (800) 372-7476
+
+The Written Word provides CDs of pre-compiled Open Source applications
+on popular UNIX variants. Clients can purchase a one-time CD set
+($149/set), or a subscription, which provides four quarterly releases.
+Two types of subscription are available: "media only" ($550/year), or
+"media and updates" ($1459/year). The "media and updates"
+subscription entitles the subscriber, via a web site, to patches,
+security fixes, new releases to existing packages, new packages,
+online documentation, and changelog information, between releases, and
+a central bug tracking system for all packages.
+
+Updated: 2000-11-27
\1f
For a current copy of this directory, or to have yourself listed, ask:
- gnu@prep.ai.mit.edu
+ service@gnu.org
+
+A current version should be available on our web site at:
+ http://www.gnu.org/prep/service.html
** Please keep the entries in this file alphabetical **
>> Move into the line with C-f's and then up with C-p's.
See what C-p does when the cursor is in the middle of the line.
-Each of text line ends with a Newline character, which serves to
+Each line of text ends with a Newline character, which serves to
separate it from the following line. The last line in your file ought
to have a Newline at the end (but Emacs does not require it to have
one).
Emacs stores each file's text inside an object called a "buffer."
Finding a file makes a new buffer inside Emacs. To see a list of the
-buffers that current exist in your Emacs job, type
+buffers that currently exist in your Emacs job, type
C-x C-b List buffers
If the computer crashes, you can recover your auto-saved editing by
finding the file normally (the file you were editing, not the auto
-save file) and then typing M-x recover file<return>. When it asks for
+save file) and then typing M-x recover-file<return>. When it asks for
confirmation, type yes<return> to go ahead and recover the auto-save
data.
--- /dev/null
+# Force the window background to be the same as the default face background:
+# white.
+
+style "default_background"
+{
+ bg[NORMAL] = { 1.0, 1.0, 1.0 }
+}
+
+class "GtkXEmacs" style "default_background"
;; and in fact all we've done is copied the definition. Note again
;; how we check to avoid clobbering an existing definition. (It's good
;; style to do this, in case some improvement was made to the
-;; already-existing function -- otherwise we might subsitute an older
+;; already-existing function -- otherwise we might substitute an older
;; definition and possibly break some code elsewhere.)
;;
;; NOTE ALSO: It is in general *NOT* a good idea to do what we're
;; File menu.
(when (console-on-window-system-p)
- (global-set-key "\C-x\C-c" nil))
+ (global-set-key "\C-x\C-c"
+ #'(lambda () (interactive)
+ (beep)
+ (message "Use the \"File/Exit XEmacs\" menu item to exit XEmacs"))))
;; Make C-k always delete the whole line, which is what most people want,
;; anyway.
;;; ********************
-;;; Filladapt is a syntax-highlighting package. When it is enabled it
+;;; Filladapt is an adaptive text-filling package. When it is enabled it
;;; makes filling (e.g. using M-q) much much smarter about paragraphs
;;; that are indented and/or are set off with semicolons, dashes, etc.
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2005-01-29 Vin Shelton <acs@xemacs.org>
+
+ * movemail.c (popmail): Pass error string as format parameter
+ instead of as part of format string. Security fixes for
+ CAN-2005-0100.
+
+2005-01-09 Steve Youngs <steve@sxemacs.org>
+
+ From Andrey Slusar <anrays@gmail.com>:
+
+ * fakemail.c (CURRENT_USER): Define it if FreeBSD version is >=
+ 400000. Also, when FreeBSD version is >= 400000 geteuid returns
+ uid_t instead of unsigned short.
+
+2004-12-17 Vin Shelton <acs@xemacs.org>
+ * etags.c (add_regex): Use zeropattern to initialize patbuf and
+ thus avoid a segv.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2004-06-23 Sean Legassick <sean@informage.net>
+
+ * etags.c: Allow whitespace before python function definitions.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
\f
/*
* Python support
- * Look for /^def[ \t\n]+[^ \t\n(:]+/ or /^class[ \t\n]+[^ \t\n(:]+/
+ * Look for /^[ \t\n]*def[ \t\n]+[^ \t\n(:]+/ or /^class[ \t\n]+[^ \t\n(:]+/
* Eric S. Raymond <esr@thyrsus.com> (1997)
+ * Sean Legassick <sean@informage.net> (2004)
*/
static void
Python_functions (inf)
LOOP_ON_INPUT_LINES (inf, lb, cp)
{
+ cp = skip_spaces (cp);
if (*cp++ == 'd'
&& *cp++ == 'e'
&& *cp++ == 'f' && iswhite (*cp++))
bool ignore_case;
language *lang;
{
+ static struct re_pattern_buffer zeropattern;
char *name;
const char *err;
struct re_pattern_buffer *patbuf;
(void) scan_separators (name);
patbuf = xnew (1, struct re_pattern_buffer);
+ *patbuf = zeropattern;
/* Translation table to fold case if appropriate. */
patbuf->translate = (ignore_case) ? lc_trans : NULL;
- patbuf->fastmap = NULL;
- patbuf->buffer = NULL;
- patbuf->allocated = 0;
err = re_compile_pattern (regexp_pattern, strlen (regexp_pattern), patbuf);
if (err != NULL)
extern char *malloc (), *realloc ();
#endif
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 400000
+#define CURRENT_USER
+#endif
+
#ifdef CURRENT_USER
extern struct passwd *getpwuid ();
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 400000
+extern uid_t geteuid ();
+#else
extern unsigned short geteuid ();
+#endif
static struct passwd *my_entry;
#define cuserid(s) \
(my_entry = getpwuid ((int) geteuid ()), \
server = pop_open (0, user, password, POP_NO_GETPASS);
if (! server)
{
- error (pop_error, NULL, NULL);
+ error ("%s", pop_error, NULL);
return (1);
}
VERBOSE(("stat'ing messages\n"));
if (pop_stat (server, &nmsgs, &nbytes))
{
- error (pop_error, NULL, NULL);
+ error ("%s", pop_error, NULL);
return (1);
}
mbx_delimit_begin (mbf);
if (pop_retr (server, i, mbx_write, mbf) != POP_RETRIEVED)
{
- error (Errmsg, NULL, NULL);
+ error ("%s", Errmsg, NULL);
close (mbfi);
return (1);
}
VERBOSE(("deleting message %d \n", i));
if (pop_delete (server, i))
{
- error (pop_error, NULL, NULL);
+ error ("%s", pop_error, NULL);
pop_close (server);
return (1);
}
VERBOSE(("closing server \n"));
if (pop_quit (server))
{
- error (pop_error, NULL, NULL);
+ error ("%s", pop_error, NULL);
return (1);
}
-/* DDE client for XEmacs.\r
- Copyright (C) 2002 Alastair J. Houghton\r
-\r
- This file is part of XEmacs.\r
-\r
- XEmacs is free software; you can redistribute it and/or modify it\r
- under the terms of the GNU General Public License as published by the\r
- Free Software Foundation; either version 2, or (at your option) any\r
- later version.\r
-\r
- XEmacs is distributed in the hope that it will be useful, but WITHOUT\r
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\r
- for more details.\r
-\r
- You should have received a copy of the GNU General Public License\r
- along with XEmacs; see the file COPYING. If not, write to\r
- the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
- Boston, MA 02111-1307, USA. */\r
-\r
-/* Synched up with: Not in FSF. */\r
-\r
-/* -- Pre-Include Defines --------------------------------------------------- */\r
-\r
-#define STRICT\r
-\r
-/* -- Includes -------------------------------------------------------------- */\r
-\r
-#include <windows.h>\r
-#ifdef HAVE_CONFIG_H\r
-# include <config.h>\r
-#endif\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <ctype.h>\r
-#include <errno.h>\r
-\r
-static void error (const char* s1, const char* s2);\r
-static void fatal (const char *s1, const char *s2);\r
-static void * xmalloc (size_t size);\r
-static char * getNextArg (const char **ptr, unsigned *len);\r
-\r
-/* -- Post-Include Defines -------------------------------------------------- */\r
-\r
-/* Timeouts & delays */\r
-#define CONNECT_DELAY 500 /* ms */\r
-#define TRANSACTION_TIMEOUT 5000 /* ms */\r
-#define MAX_INPUT_IDLE_WAIT INFINITE /* ms */\r
-\r
-/* DDE Strings */\r
-#define SERVICE_NAME "XEmacs"\r
-#define TOPIC_NAME "System"\r
-#define COMMAND_FORMAT "[open(\"%s%s\")]"\r
-\r
-/* XEmacs program name */\r
-#define PROGRAM_TO_RUN "xemacs.exe"\r
-\r
-/* -- Constants ------------------------------------------------------------- */\r
-\r
-/* -- Global Variables ------------------------------------------------------ */\r
-\r
-HINSTANCE hInstance;\r
-DWORD idInst = 0;\r
-\r
-/* -- Function Declarations ------------------------------------------------- */\r
-\r
-HDDEDATA CALLBACK ddeCallback (UINT uType, UINT uFmt, HCONV hconv,\r
- HSZ hsz1, HSZ hsz2, HDDEDATA hdata,\r
- DWORD dwData1, DWORD dwData2);\r
-\r
-int WINAPI WinMain (HINSTANCE hInst,\r
- HINSTANCE hPrev,\r
- LPSTR lpCmdLine,\r
- int nCmdShow);\r
-\r
-static HCONV openConversation (void);\r
-static void closeConversation (HCONV hConv);\r
-static int doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2);\r
-static int parseCommandLine (HCONV hConv, LPSTR lpszCommandLine);\r
-\r
-/* -- Function Definitions -------------------------------------------------- */\r
-\r
-/*\r
- * Name : ddeCallback\r
- * Function: Gets called by DDEML.\r
- *\r
- */\r
-\r
-HDDEDATA CALLBACK\r
-ddeCallback (UINT uType, UINT uFmt, HCONV hconv,\r
- HSZ hsz1, HSZ hsz2, HDDEDATA hdata,\r
- DWORD dwData1, DWORD dwData2)\r
-{\r
- return (HDDEDATA) NULL;\r
-}\r
-\r
-/*\r
- * Name : WinMain\r
- * Function: The program's entry point function.\r
- *\r
- */\r
-\r
-int WINAPI\r
-WinMain (HINSTANCE hInst,\r
- HINSTANCE hPrev,\r
- LPSTR lpCmdLine,\r
- int nCmdShow)\r
-{\r
- HCONV hConv;\r
- int ret = 0;\r
- UINT uiRet;\r
- \r
- /* Initialise the DDEML library */\r
- uiRet = DdeInitialize (&idInst,\r
- (PFNCALLBACK) ddeCallback,\r
- APPCMD_CLIENTONLY\r
- |CBF_FAIL_ALLSVRXACTIONS,\r
- 0);\r
-\r
- if (uiRet != DMLERR_NO_ERROR)\r
- {\r
- MessageBox (NULL, "Could not initialise DDE management library.",\r
- "winclient", MB_ICONEXCLAMATION | MB_OK);\r
-\r
- return 1;\r
- }\r
-\r
- /* Open a conversation */\r
- hConv = openConversation ();\r
-\r
- if (hConv)\r
- {\r
- /* OK. Next, we need to parse the command line. */\r
- ret = parseCommandLine (hConv, lpCmdLine);\r
-\r
- /* Close the conversation */\r
- closeConversation (hConv);\r
- }\r
- \r
- DdeUninitialize (idInst);\r
-\r
- return ret;\r
-}\r
-\r
-/*\r
- * Name : openConversation\r
- * Function: Start a conversation.\r
- *\r
- */\r
-\r
-static HCONV\r
-openConversation (void)\r
-{\r
- HSZ hszService = NULL, hszTopic = NULL;\r
- HCONV hConv = NULL;\r
-\r
- /* Get the application (service) name */\r
- hszService = DdeCreateStringHandle (idInst,\r
- SERVICE_NAME,\r
- CP_WINANSI);\r
-\r
- if (!hszService)\r
- {\r
- MessageBox (NULL, "Could not create string handle for service.",\r
- "winclient", MB_ICONEXCLAMATION | MB_OK);\r
-\r
- goto error;\r
- }\r
- \r
- /* Get the topic name */\r
- hszTopic = DdeCreateStringHandle (idInst,\r
- TOPIC_NAME,\r
- CP_WINANSI);\r
-\r
- if (!hszTopic)\r
- {\r
- MessageBox (NULL, "Could not create string handle for topic.",\r
- "winclient", MB_ICONEXCLAMATION | MB_OK);\r
-\r
- goto error;\r
- }\r
-\r
- /* Try to connect */\r
- hConv = DdeConnect (idInst, hszService, hszTopic, NULL);\r
-\r
- if (!hConv)\r
- {\r
- STARTUPINFO sti;\r
- PROCESS_INFORMATION pi;\r
- int n;\r
- \r
- /* Try to start the program */\r
- ZeroMemory (&sti, sizeof (sti));\r
- sti.cb = sizeof (sti);\r
- if (!CreateProcess (NULL, PROGRAM_TO_RUN, NULL, NULL, FALSE, 0,\r
- NULL, NULL, &sti, &pi))\r
- {\r
- MessageBox (NULL, "Could not start process.",\r
- "winclient", MB_ICONEXCLAMATION | MB_OK);\r
-\r
- goto error;\r
- }\r
-\r
- /* Wait for the process to enter an idle state */\r
- WaitForInputIdle (pi.hProcess, MAX_INPUT_IDLE_WAIT);\r
-\r
- /* Close the handles */\r
- CloseHandle (pi.hThread);\r
- CloseHandle (pi.hProcess);\r
- \r
- /* Try to connect */\r
- for (n = 0; n < 5; n++)\r
- {\r
- Sleep (CONNECT_DELAY);\r
- \r
- hConv = DdeConnect (idInst, hszService, hszTopic, NULL);\r
-\r
- if (hConv)\r
- break;\r
- }\r
-\r
- if (!hConv)\r
- {\r
- /* Still couldn't connect. */\r
- MessageBox (NULL, "Could not connect to DDE server.",\r
- "winclient", MB_ICONEXCLAMATION | MB_OK);\r
-\r
- goto error;\r
- }\r
- }\r
-\r
- /* Release the string handles */\r
- DdeFreeStringHandle (idInst, hszService);\r
- DdeFreeStringHandle (idInst, hszTopic);\r
-\r
- return hConv;\r
- \r
- error:\r
- if (hConv)\r
- DdeDisconnect (hConv);\r
- if (hszService)\r
- DdeFreeStringHandle (idInst, hszService);\r
- if (hszTopic)\r
- DdeFreeStringHandle (idInst, hszTopic);\r
-\r
- return NULL;\r
-}\r
-\r
-/*\r
- * Name : closeConversation\r
- * Function: Close a conversation.\r
- *\r
- */\r
-\r
-static void\r
-closeConversation (HCONV hConv)\r
-{\r
- /* Shut down */\r
- DdeDisconnect (hConv);\r
-}\r
-\r
-/*\r
- * Name : doFile\r
- * Function: Process a file.\r
- *\r
- */\r
-\r
-int\r
-doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2)\r
-{\r
- char *buf = NULL;\r
- unsigned len;\r
- \r
- /* Calculate the buffer length */\r
- len = strlen (lpszFileName1) + strlen (lpszFileName2)\r
- + strlen (COMMAND_FORMAT);\r
- \r
- /* Allocate a buffer */\r
- buf = (char *) xmalloc (len);\r
-\r
- if (!buf)\r
- {\r
- MessageBox (NULL, "Not enough memory.",\r
- "winclient", MB_ICONEXCLAMATION | MB_OK);\r
-\r
- return 1;\r
- }\r
-\r
- /* Build the command */\r
- len = wsprintf (buf, COMMAND_FORMAT, lpszFileName1, lpszFileName2);\r
-\r
- len++;\r
- \r
- /* OK. We're connected. Send the message. */\r
- DdeClientTransaction (buf, len, hConv, NULL,\r
- 0, XTYP_EXECUTE, TRANSACTION_TIMEOUT, NULL);\r
-\r
- free (buf);\r
- \r
- return 0;\r
-}\r
-\r
-/*\r
- * Name : getNextArg\r
- * Function: Retrieve the next command line argument.\r
- *\r
- */\r
-\r
-static char *\r
-getNextArg (const char **ptr, unsigned *len)\r
-{\r
- int in_quotes = 0, quit = 0, all_in_quotes = 0;\r
- const char *p = *ptr, *start;\r
- char *buf = NULL;\r
- unsigned length = 0;\r
-\r
- /* Skip whitespace */\r
- while (*p && isspace (*p))\r
- p++;\r
-\r
- /* If this is the end, return NULL */\r
- if (!*p)\r
- return NULL;\r
- \r
- /* Remember where we are */\r
- start = p;\r
- \r
- /* Find the next whitespace character outside quotes */\r
- if (*p == '"')\r
- all_in_quotes = 1;\r
- \r
- while (*p && !quit)\r
- {\r
- switch (*p)\r
- {\r
- case '"':\r
- in_quotes = 1 - in_quotes;\r
- p++;\r
- break;\r
-\r
- case '\\':\r
- if (!in_quotes)\r
- all_in_quotes = 0;\r
- \r
- p++;\r
-\r
- if (!*p)\r
- break;\r
-\r
- p++;\r
- break;\r
-\r
- default:\r
- if (isspace (*p) && !in_quotes)\r
- quit = 1;\r
- else if (!in_quotes)\r
- all_in_quotes = 0;\r
-\r
- if (!quit)\r
- p++;\r
- }\r
- }\r
-\r
- /* Work out the length */\r
- length = p - start;\r
-\r
- /* Strip quotes if the argument is completely quoted */\r
- if (all_in_quotes)\r
- {\r
- start++;\r
- length -= 2;\r
- }\r
- \r
- /* Copy */\r
- buf = (char *) xmalloc (length + 1);\r
-\r
- if (!buf)\r
- return NULL;\r
- \r
- strncpy (buf, start, length);\r
- buf[length] = '\0';\r
-\r
- /* Return the pointer and length */\r
- *ptr = p;\r
- *len = length;\r
-\r
- return buf;\r
-}\r
-\r
-/*\r
- * Name : parseCommandLine\r
- * Function: Process the command line. This program accepts a list of strings\r
- * : (which may contain wildcards) representing filenames.\r
- *\r
- */\r
-\r
-int\r
-parseCommandLine (HCONV hConv, LPSTR lpszCommandLine)\r
-{\r
- char *fullpath, *filepart;\r
- char *arg;\r
- unsigned len, pathlen;\r
- int ret = 0;\r
- HANDLE hFindFile = NULL;\r
- WIN32_FIND_DATA wfd;\r
-\r
- /* Retrieve arguments */\r
- while ((arg = getNextArg ((const char**)&lpszCommandLine, &len)) != NULL)\r
- {\r
- /* First find the canonical path name */\r
- fullpath = filepart = NULL;\r
- pathlen = GetFullPathName (arg, 0, fullpath, &filepart);\r
-\r
- fullpath = (char *) xmalloc (pathlen);\r
-\r
- if (!fullpath)\r
- {\r
- MessageBox (NULL, "Not enough memory.", "winclient",\r
- MB_ICONEXCLAMATION | MB_OK);\r
- \r
- ret = 1;\r
- free (arg);\r
- \r
- break;\r
- }\r
-\r
- GetFullPathName (arg, pathlen, fullpath, &filepart);\r
-\r
- /* Find the first matching file */\r
- hFindFile = FindFirstFile (arg, &wfd);\r
-\r
- if (hFindFile == INVALID_HANDLE_VALUE)\r
- ret = doFile (hConv, fullpath, "");\r
- else\r
- {\r
- /* Chop off the file part from the full path name */\r
- if (filepart)\r
- *filepart = '\0';\r
-\r
- /* For each matching file */\r
- do\r
- {\r
- /* Process it */\r
- ret = doFile (hConv, fullpath, wfd.cFileName);\r
-\r
- if (ret)\r
- break;\r
- }\r
- while (FindNextFile (hFindFile, &wfd));\r
-\r
- FindClose (hFindFile);\r
- }\r
-\r
- /* Release the path name buffers */\r
- free (fullpath);\r
- free (arg);\r
-\r
- if (ret)\r
- break;\r
- }\r
-\r
- return ret;\r
-}\r
-\r
-static void\r
-fatal (const char *s1, const char *s2)\r
-{\r
- error (s1, s2);\r
- exit (1);\r
-}\r
-\r
-/* Print error message. `s1' is printf control string, `s2' is arg for it. */\r
-static void\r
-error (const char* s1, const char* s2)\r
-{\r
- fprintf (stderr, "winclient: ");\r
- fprintf (stderr, s1, s2);\r
- fprintf (stderr, "\n");\r
-}\r
-\r
-/* Like malloc but get fatal error if memory is exhausted. */\r
-\r
-static void *\r
-xmalloc (size_t size)\r
-{\r
- void *result = malloc (size);\r
- if (result == NULL)\r
- fatal ("virtual memory exhausted", (char *) 0);\r
- return result;\r
-}\r
+/* DDE client for XEmacs.
+ Copyright (C) 2002 Alastair J. Houghton
+
+ This file is part of XEmacs.
+
+ XEmacs is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with XEmacs; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* Synched up with: Not in FSF. */
+
+/* -- Pre-Include Defines --------------------------------------------------- */
+
+#define STRICT
+
+/* -- Includes -------------------------------------------------------------- */
+
+#include <windows.h>
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <errno.h>
+
+static void error (const char* s1, const char* s2);
+static void fatal (const char *s1, const char *s2);
+static void * xmalloc (size_t size);
+static char * getNextArg (const char **ptr, unsigned *len);
+
+/* -- Post-Include Defines -------------------------------------------------- */
+
+/* Timeouts & delays */
+#define CONNECT_DELAY 500 /* ms */
+#define TRANSACTION_TIMEOUT 5000 /* ms */
+#define MAX_INPUT_IDLE_WAIT INFINITE /* ms */
+
+/* DDE Strings */
+#define SERVICE_NAME "XEmacs"
+#define TOPIC_NAME "System"
+#define COMMAND_FORMAT "[open(\"%s%s\")]"
+
+/* XEmacs program name */
+#define PROGRAM_TO_RUN "xemacs.exe"
+
+/* -- Constants ------------------------------------------------------------- */
+
+/* -- Global Variables ------------------------------------------------------ */
+
+HINSTANCE hInstance;
+DWORD idInst = 0;
+
+/* -- Function Declarations ------------------------------------------------- */
+
+HDDEDATA CALLBACK ddeCallback (UINT uType, UINT uFmt, HCONV hconv,
+ HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
+ DWORD dwData1, DWORD dwData2);
+
+int WINAPI WinMain (HINSTANCE hInst,
+ HINSTANCE hPrev,
+ LPSTR lpCmdLine,
+ int nCmdShow);
+
+static HCONV openConversation (void);
+static void closeConversation (HCONV hConv);
+static int doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2);
+static int parseCommandLine (HCONV hConv, LPSTR lpszCommandLine);
+
+/* -- Function Definitions -------------------------------------------------- */
+
+/*
+ * Name : ddeCallback
+ * Function: Gets called by DDEML.
+ *
+ */
+
+HDDEDATA CALLBACK
+ddeCallback (UINT uType, UINT uFmt, HCONV hconv,
+ HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
+ DWORD dwData1, DWORD dwData2)
+{
+ return (HDDEDATA) NULL;
+}
+
+/*
+ * Name : WinMain
+ * Function: The program's entry point function.
+ *
+ */
+
+int WINAPI
+WinMain (HINSTANCE hInst,
+ HINSTANCE hPrev,
+ LPSTR lpCmdLine,
+ int nCmdShow)
+{
+ HCONV hConv;
+ int ret = 0;
+ UINT uiRet;
+
+ /* Initialise the DDEML library */
+ uiRet = DdeInitialize (&idInst,
+ (PFNCALLBACK) ddeCallback,
+ APPCMD_CLIENTONLY
+ |CBF_FAIL_ALLSVRXACTIONS,
+ 0);
+
+ if (uiRet != DMLERR_NO_ERROR)
+ {
+ MessageBox (NULL, "Could not initialise DDE management library.",
+ "winclient", MB_ICONEXCLAMATION | MB_OK);
+
+ return 1;
+ }
+
+ /* Open a conversation */
+ hConv = openConversation ();
+
+ if (hConv)
+ {
+ /* OK. Next, we need to parse the command line. */
+ ret = parseCommandLine (hConv, lpCmdLine);
+
+ /* Close the conversation */
+ closeConversation (hConv);
+ }
+
+ DdeUninitialize (idInst);
+
+ return ret;
+}
+
+/*
+ * Name : openConversation
+ * Function: Start a conversation.
+ *
+ */
+
+static HCONV
+openConversation (void)
+{
+ HSZ hszService = NULL, hszTopic = NULL;
+ HCONV hConv = NULL;
+
+ /* Get the application (service) name */
+ hszService = DdeCreateStringHandle (idInst,
+ SERVICE_NAME,
+ CP_WINANSI);
+
+ if (!hszService)
+ {
+ MessageBox (NULL, "Could not create string handle for service.",
+ "winclient", MB_ICONEXCLAMATION | MB_OK);
+
+ goto error;
+ }
+
+ /* Get the topic name */
+ hszTopic = DdeCreateStringHandle (idInst,
+ TOPIC_NAME,
+ CP_WINANSI);
+
+ if (!hszTopic)
+ {
+ MessageBox (NULL, "Could not create string handle for topic.",
+ "winclient", MB_ICONEXCLAMATION | MB_OK);
+
+ goto error;
+ }
+
+ /* Try to connect */
+ hConv = DdeConnect (idInst, hszService, hszTopic, NULL);
+
+ if (!hConv)
+ {
+ STARTUPINFO sti;
+ PROCESS_INFORMATION pi;
+ int n;
+
+ /* Try to start the program */
+ ZeroMemory (&sti, sizeof (sti));
+ sti.cb = sizeof (sti);
+ if (!CreateProcess (NULL, PROGRAM_TO_RUN, NULL, NULL, FALSE, 0,
+ NULL, NULL, &sti, &pi))
+ {
+ MessageBox (NULL, "Could not start process.",
+ "winclient", MB_ICONEXCLAMATION | MB_OK);
+
+ goto error;
+ }
+
+ /* Wait for the process to enter an idle state */
+ WaitForInputIdle (pi.hProcess, MAX_INPUT_IDLE_WAIT);
+
+ /* Close the handles */
+ CloseHandle (pi.hThread);
+ CloseHandle (pi.hProcess);
+
+ /* Try to connect */
+ for (n = 0; n < 5; n++)
+ {
+ Sleep (CONNECT_DELAY);
+
+ hConv = DdeConnect (idInst, hszService, hszTopic, NULL);
+
+ if (hConv)
+ break;
+ }
+
+ if (!hConv)
+ {
+ /* Still couldn't connect. */
+ MessageBox (NULL, "Could not connect to DDE server.",
+ "winclient", MB_ICONEXCLAMATION | MB_OK);
+
+ goto error;
+ }
+ }
+
+ /* Release the string handles */
+ DdeFreeStringHandle (idInst, hszService);
+ DdeFreeStringHandle (idInst, hszTopic);
+
+ return hConv;
+
+ error:
+ if (hConv)
+ DdeDisconnect (hConv);
+ if (hszService)
+ DdeFreeStringHandle (idInst, hszService);
+ if (hszTopic)
+ DdeFreeStringHandle (idInst, hszTopic);
+
+ return NULL;
+}
+
+/*
+ * Name : closeConversation
+ * Function: Close a conversation.
+ *
+ */
+
+static void
+closeConversation (HCONV hConv)
+{
+ /* Shut down */
+ DdeDisconnect (hConv);
+}
+
+/*
+ * Name : doFile
+ * Function: Process a file.
+ *
+ */
+
+int
+doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2)
+{
+ char *buf = NULL;
+ unsigned len;
+
+ /* Calculate the buffer length */
+ len = strlen (lpszFileName1) + strlen (lpszFileName2)
+ + strlen (COMMAND_FORMAT);
+
+ /* Allocate a buffer */
+ buf = (char *) xmalloc (len);
+
+ if (!buf)
+ {
+ MessageBox (NULL, "Not enough memory.",
+ "winclient", MB_ICONEXCLAMATION | MB_OK);
+
+ return 1;
+ }
+
+ /* Build the command */
+ len = wsprintf (buf, COMMAND_FORMAT, lpszFileName1, lpszFileName2);
+
+ len++;
+
+ /* OK. We're connected. Send the message. */
+ DdeClientTransaction (buf, len, hConv, NULL,
+ 0, XTYP_EXECUTE, TRANSACTION_TIMEOUT, NULL);
+
+ free (buf);
+
+ return 0;
+}
+
+/*
+ * Name : getNextArg
+ * Function: Retrieve the next command line argument.
+ *
+ */
+
+static char *
+getNextArg (const char **ptr, unsigned *len)
+{
+ int in_quotes = 0, quit = 0, all_in_quotes = 0;
+ const char *p = *ptr, *start;
+ char *buf = NULL;
+ unsigned length = 0;
+
+ /* Skip whitespace */
+ while (*p && isspace (*p))
+ p++;
+
+ /* If this is the end, return NULL */
+ if (!*p)
+ return NULL;
+
+ /* Remember where we are */
+ start = p;
+
+ /* Find the next whitespace character outside quotes */
+ if (*p == '"')
+ all_in_quotes = 1;
+
+ while (*p && !quit)
+ {
+ switch (*p)
+ {
+ case '"':
+ in_quotes = 1 - in_quotes;
+ p++;
+ break;
+
+ case '\\':
+ if (!in_quotes)
+ all_in_quotes = 0;
+
+ p++;
+
+ if (!*p)
+ break;
+
+ p++;
+ break;
+
+ default:
+ if (isspace (*p) && !in_quotes)
+ quit = 1;
+ else if (!in_quotes)
+ all_in_quotes = 0;
+
+ if (!quit)
+ p++;
+ }
+ }
+
+ /* Work out the length */
+ length = p - start;
+
+ /* Strip quotes if the argument is completely quoted */
+ if (all_in_quotes)
+ {
+ start++;
+ length -= 2;
+ }
+
+ /* Copy */
+ buf = (char *) xmalloc (length + 1);
+
+ if (!buf)
+ return NULL;
+
+ strncpy (buf, start, length);
+ buf[length] = '\0';
+
+ /* Return the pointer and length */
+ *ptr = p;
+ *len = length;
+
+ return buf;
+}
+
+/*
+ * Name : parseCommandLine
+ * Function: Process the command line. This program accepts a list of strings
+ * : (which may contain wildcards) representing filenames.
+ *
+ */
+
+int
+parseCommandLine (HCONV hConv, LPSTR lpszCommandLine)
+{
+ char *fullpath, *filepart;
+ char *arg;
+ unsigned len, pathlen;
+ int ret = 0;
+ HANDLE hFindFile = NULL;
+ WIN32_FIND_DATA wfd;
+
+ /* Retrieve arguments */
+ while ((arg = getNextArg ((const char**)&lpszCommandLine, &len)) != NULL)
+ {
+ /* First find the canonical path name */
+ fullpath = filepart = NULL;
+ pathlen = GetFullPathName (arg, 0, fullpath, &filepart);
+
+ fullpath = (char *) xmalloc (pathlen);
+
+ if (!fullpath)
+ {
+ MessageBox (NULL, "Not enough memory.", "winclient",
+ MB_ICONEXCLAMATION | MB_OK);
+
+ ret = 1;
+ free (arg);
+
+ break;
+ }
+
+ GetFullPathName (arg, pathlen, fullpath, &filepart);
+
+ /* Find the first matching file */
+ hFindFile = FindFirstFile (arg, &wfd);
+
+ if (hFindFile == INVALID_HANDLE_VALUE)
+ ret = doFile (hConv, fullpath, "");
+ else
+ {
+ /* Chop off the file part from the full path name */
+ if (filepart)
+ *filepart = '\0';
+
+ /* For each matching file */
+ do
+ {
+ /* Process it */
+ ret = doFile (hConv, fullpath, wfd.cFileName);
+
+ if (ret)
+ break;
+ }
+ while (FindNextFile (hFindFile, &wfd));
+
+ FindClose (hFindFile);
+ }
+
+ /* Release the path name buffers */
+ free (fullpath);
+ free (arg);
+
+ if (ret)
+ break;
+ }
+
+ return ret;
+}
+
+static void
+fatal (const char *s1, const char *s2)
+{
+ error (s1, s2);
+ exit (1);
+}
+
+/* Print error message. `s1' is printf control string, `s2' is arg for it. */
+static void
+error (const char* s1, const char* s2)
+{
+ fprintf (stderr, "winclient: ");
+ fprintf (stderr, s1, s2);
+ fprintf (stderr, "\n");
+}
+
+/* Like malloc but get fatal error if memory is exhausted. */
+
+static void *
+xmalloc (size_t size)
+{
+ void *result = malloc (size);
+ if (result == NULL)
+ fatal ("virtual memory exhausted", (char *) 0);
+ return result;
+}
+2005-07-14 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * mule/mule-conf.el (=jis-x0208@1978/i1): New coded-charset for
+ XEmacs CHISE.
+
2005-06-29 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
* mule/mule-conf.el (=ucs-bmp@gb): New coded-charset for XEmacs
* files.el (insert-file-contents-literally): Treat file as binary;
call file-name-handlers. [sync with Emacs 20.3.10]
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2005-01-29 Ben Wing <ben@xemacs.org>
+
+ * shadow.el (find-emacs-lisp-shadows):
+ Add custom-defines to list of ignored files.
+
+2005-01-17 Adrian Aichner <adrian@xemacs.org>
+
+ * simple.el (shifted-motion-keys-select-region): Fix statement
+ about unshifted-motion-keys-deselect-region.
+
+2004-12-15 Ville Skyttä <scop@xemacs.org>
+
+ * bytecomp-runtime.el (make-obsolete): Add 3rd argument (no-op for
+ now) for GNU Emacs compatibility.
+ (make-obsolete-variable): Ditto.
+
+2004-01-08 Ben Wing <ben@xemacs.org>
+
+ * code-files.el (load):
+ File positions are 0 based not 1 based. Thanks to Steve Youngs.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2004-12-04 Vin Shelton <acs@xemacs.org>
+
+ * auto-autoloads.el: Regenerated.
+
+ * custom-load.el: Regenerated.
+
+2004-09-15 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Fix bug: apropos errors if a defalias refers to an undefined
+ function. <87pt4pmdcs.fsf@tleepslib.sk.tsukuba.ac.jp>
+
+ * apropos.el (apropos):
+ (apropos-command):
+ * help.el (frob-help-extents):
+ * help-macro.el (make-help-screen):
+ * hyper-apropos.el (hyper-apropos-grok-functions):
+ (hyper-apropos-get-doc):
+ Catch void-function error thrown by `documentation'.
+
+2004-09-02 Steve Youngs <steve@youngs.au.com>
+
+ * packages.el (package-require): Fix incorrect arg to format.
+ This fixes a `format specifier' error.
+
+2004-08-13 Jerry James <james@xemacs.org>
+
+ * bytecomp.el (forward-word): Tell the byte compiler the correct
+ number of arguments to forward-word.
+
+2004-08-12 Sven Grundmann <sven@xemacs.org>
+
+ * etags.el: Fixed loading of include files for tag completion. Now
+ you can make a tag file for a library, include it into your
+ project and it will be reloaded only if it changed. Infinte
+ include loops are detected and the correct tag files are loaded.
+ * etags.el (buffer-tag-table-list): Load and verify tag files in
+ the external function buffer-tag-table-list-load.
+ * etags.el (buffer-tag-table-list-load): New. Load and verify the
+ tag files. Also load the included tag files. The priority of the
+ included files is right below their parent file. If multiple
+ matches occur then the symbols from the parent file are found
+ first.
+ * etags.el (tag-table-include-files): Corrected comment
+ string. Switched to pattern constant tags-include-pattern to have
+ it at a central location.
+ * etags.el (tags-include-pattern): Added doc string.
+ * etags.el (add-to-tag-completion-table): Removed obsolete
+ comments as the include files are allready returned by
+ buffer-tag-table-list and loaded.
+ * etags.el (find-tag-internal): The include files are allready
+ included in tag-tables as buffer-tag-table-list returns them now.
+
+2004-07-02 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * widgets-gtk.el (gtk-widget-instantiate-notebook-internal):
+ Loading items into the notebook is now done by C code.
+ * widgets-gtk.el (gtk-widget-instantiate-internal):
+ Style no longer changed.
+
+2004-06-28 Nix <nix@esperi.org.uk>
+
+ * cmdloop.el (truncate-command-history-for-gc): Delay
+ execution of all things that look up variable bindings,
+ via `enqueue-eval-event'.
+
+2004-06-24 Vin Shelton <acs@xemacs.org>
+
+ * package-get.el (package-get-require-signed-base-updates):
+ now defaults to nil.
+
+2004-06-09 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * subr.el (split-string): Clean up docstring.
+
+2002-01-24 John Paul Wallington <jpw@shootybangbang.com>
+
+ * faces.el (zmacs-region): fix typo in docstring.
+
+2004-06-07 Jerry James <james@xemacs.org>
+
+ * derived.el: Synch with Emacs 21.3.
+ * subr.el (with-local-quit): New, from Emacs 21.3.
+ * subr.el (delayed-mode-hooks): New variable, from Emacs 21.3.
+ * subr.el (run-mode-hooks): New function, from Emacs 21.3.
+ * subr.el (delay-mode-hooks): New macro, from Emacs 21.3.
+
+2004-06-16 Jerry James <james@xemacs.org>
+
+ * cl.el (cl-set-substring): Increment start by the length of the
+ string, not the string itself.
+
+2004-05-19 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * etags.el (tag-table-include-files): Expand included TAGS file
+ paths to avoid problems with relative paths. Thanks to Peter
+ Chubb <peterc@gelato.unsw.edu.au>.
+ * etags.el (tags-include-pattern): New.
+ * etags.el (add-to-tag-completion-table): Parse and ignore
+ trailing include lines.
+
+2004-06-21 Adrian Aichner <adrian@xemacs.org>
+
+ * package-ui.el (pui-help-echo): Fix false cvs conflict by
+ avoiding line solely composed of equal signs.
+
+2004-06-10 Adrian Aichner <adrian@xemacs.org>
+
+ * cus-edit.el (alloc): Typo fix.
+ * cus-edit.el (custom-browse-visibility): Ditto.
+ * cus-edit.el (custom-variable-value-create): Ditto.
+ * cus-edit.el (custom-variable-pre-reset-standard): Ditto.
+ * cus-edit.el (custom-save-variables): Bind print-length and
+ print-level to nil to avoid value abbreviation.
+ * cus-edit.el (custom-save-face-internal): Ditto.
+ * cus-edit.el (custom-save-faces): Save in sorted order.
+ * cus-edit.el (custom-save-resets): Bind print-length and
+ print-level to nil to avoid value abbreviation.
+ * cus-edit.el (custom-save-loaded-themes): Ditto.
+
+2004-06-09 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * subr.el (split-string-default-separators): New.
+ (split-string): Synch to 21.5/GNU Emacs version. *New semantics*,
+ see comment in source.
+
+2004-01-29 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * mule/japanese.el (paragraph-start, paragraph-separate):
+ Remove anchor to BOL.
+
+2004-04-30 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * cl.el (gensym, gentemp): Improve docstrings.
+
+2004-05-10 Vin Shelton <acs@xemacs.org>
+
+ * etags.el: Sync with 21.5 version.
+
+2004-04-21 Sven Grundmann <sven@hellerhof.de>
+
+ * etags.el:
+ * etags.el (tags-exuberant-ctags-optimization-p): Enable optimization
+ only for use with exuberant ctags. This will also enable building of
+ completion tables with exuberant ctags. This will not work with
+ xemacs ctags.
+ * etags.el (get-tag-table-buffer): New function for creating of
+ completion table is used if tags-exuberant-ctags-optimization-p ist t
+ * etags.el (tags-explicit-name-pattern): Hold the name pattern for
+ finding the tag names. New.
+ * etags.el (add-to-tag-completion-table-exuberant-ctags): Defun for
+ building tag completion table with exuberant ctags. New.
+ * etags.el (find-tag-internal): Improve exact tag matching for tags
+ with name fields. Before the patch return types of functions or
+ function parameters (with exuberant ctags) were found as matches.
+
+2004-04-21 Sven Grundmann <sven@hellerhof.de>
+
+ * list-mode.el (display-completion-list): Fixed completion list was
+ taking the width of the frame and not of the window for displaying
+ the selection methods.
+
+2004-04-18 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * menubar-items.el (default-menubar): Options are saved to custom.el.
+
+
+2004-02-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * isearch-mode.el (isearch-abort): Preserve successful search target.
+
+2004-03-27 Adrian Aichner <adrian@xemacs.org>
+
+ * gnuserv.el: Sync with 21.5 version, inspired by bugreport and
+ (make-variable-buffer-local 'gnuserv-minor-mode) patch by Robert
+ Bihlmeyer.
+ * gnuserv.el (gnuserv-mode-line-string): New.
+ * gnuserv.el (gnuserv-minor-mode): Make it buffer-local, not
+ gnuserv-mode.
+ * gnuserv.el (make-x-device-with-gtk-fallback): New.
+ * gnuserv.el (gnuserv-edit-files): Use
+ make-x-device-with-gtk-fallback.
+
+2004-03-23 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * gtk-widgets.el: New import: gtk-accel-group-new.
+ * dialog-gtk.el:
+ * dialog-gtk.el (gtk-popup-convert-underscores): New.
+ * dialog-gtk.el (popup-builtin-question-dialog):
+ Added support for dialog button mnemonics.
+
+2004-03-22 Chris Green <cmg@dok.org>
+
+ * process.el (shell-command): Output buffer was ignored when a
+ background process was run via shell-command.
+
+2004-03-19 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * cus-edit.el (custom-save-variables): Retrieve a list of
+ variables to save first, sort it, and make sure the variables are
+ saved in sorted order.
+
+2004-02-23 Steve Youngs <sryoungs@bigpond.net.au>
+
+ * package-get.el (package-get-update-base-from-buffer): Force
+ binary coding system for verifying GnuPG signature in the
+ package-index file.
+
+2003-07-06 Adrian Aichner <adrian@xemacs.org>
+
+ * package-get.el (package-get-package-index-file-location): Handle
+ missing "EMACSPACKAGEPATH" environment variable.
+
+2003-07-05 Adrian Aichner <adrian@xemacs.org>
+
+ * package-admin.el (package-admin-find-top-directory): Simplify
+ directory comparisions and fix substring errors on short path
+ components.
+ * package-get.el (package-get-package-index-file-location):
+ Default to first component of "EMACSPACKAGEPATH", if set.
+
+2004-02-16 Steve Youngs <sryoungs@bigpond.net.au>
+
+ * package-get.el (process-error): New error datum.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
;; XEmacs change: if obsolete,
;; only mention that.
(or (function-obsoleteness-doc symbol)
- (documentation symbol t)))
+ (condition-case nil
+ (documentation symbol t)
+ (void-function "(aliased to undefined function)")
+ (error "(unexpected error from `documention')"))))
(substring doc 0 (string-match "\n" doc))
"(not documented)"))
(and do-all
;; XEmacs change: if obsolete,
;; only mention that.
(or (function-obsoleteness-doc symbol)
- (documentation symbol t)))
+ (condition-case nil
+ (documentation symbol t)
+ (void-function "(aliased to undefined function)")
+ (error "(unexpected error from `documention')"))))
(substring doc 0 (string-match "\n" doc))
"(not documented)"))
(if (boundp symbol)
the tag.
This version of this function supports multiple active tags tables,
-and completion. See also the commands `\\[push-tag-mark]' and
-`\\[pop-tag-mark]'.
+and completion.
Variables of note:
\f
;;;### (autoloads (gnuserv-start gnuserv-running-p) "gnuserv" "lisp/gnuserv.el")
+(defcustom gnuserv-mode-line-string " Server" "*String to display in the modeline when Gnuserv is active.\nSet this to nil if you don't want a modeline indicator." :type '(choice string (const :tag "none" nil)) :group 'gnuserv)
+
(defcustom gnuserv-frame nil "*The frame to be used to display all edited files.\nIf nil, then a new frame is created for each file edited.\nIf t, then the currently selected frame will be used.\nIf a function, then this will be called with a symbol `x' or `tty' as the\nonly argument, and its return value will be interpreted as above." :tag "Gnuserv Frame" :type '(radio (const :tag "Create new frame each time" nil) (const :tag "Use selected frame" t) (function-item :tag "Use main Emacs frame" gnuserv-main-frame-function) (function-item :tag "Use visible frame, otherwise create new" gnuserv-visible-frame-function) (function-item :tag "Create special Gnuserv frame and use it" gnuserv-special-frame-function) (function :tag "Other")) :group 'gnuserv :group 'frames)
(autoload 'gnuserv-running-p "gnuserv" "\
be lexically ordered. It is debatable if it makes sense to have more than
one version of a package available.")
-(defcustom package-get-package-index-file-location (or (getenv "EMACSPACKAGEPATH") user-init-directory) "*The directory where the package-index file can be found." :type 'directory :group 'package-get)
+(defcustom package-get-package-index-file-location (car (split-path (or (getenv "EMACSPACKAGEPATH") user-init-directory))) "*The directory where the package-index file can be found." :type 'directory :group 'package-get)
(defcustom package-get-install-to-user-init-directory nil "*If non-nil install packages under `user-init-directory'." :type 'boolean :group 'package-get)
; (list 'put (list 'quote name)
; ''byte-optimizer ''byte-compile-inline-expand))))
-(defun make-obsolete (fn new)
+(defun make-obsolete (fn new &optional when)
"Make the byte-compiler warn that function FN is obsolete.
The warning will say that NEW should be used instead.
-If NEW is a string, that is the `use instead' message."
+If NEW is a string, that is the `use instead' message.
+If provided, WHEN should be a string indicating when the function
+was first made obsolete, for example a date or a release number."
(interactive "aMake function obsolete: \nxObsoletion replacement: ")
(let ((handler (get fn 'byte-compile)))
(if (eq 'byte-compile-obsolete handler)
(put fn 'byte-compile 'byte-compile-obsolete)))
fn)
-(defun make-obsolete-variable (var new)
+(defun make-obsolete-variable (var new &optional when)
"Make the byte-compiler warn that variable VAR is obsolete,
and NEW should be used instead. If NEW is a string, then that is the
-`use instead' message."
+`use instead' message.
+If provided, WHEN should be a string indicating when the variable
+was first made obsolete, for example a date or a release number."
(interactive
(list
(let ((str (completing-read "Make variable obsolete: " obarray 'boundp t)))
(byte-defop-compiler char-after 0-1+1)
(byte-defop-compiler set-buffer 1)
;;(byte-defop-compiler set-mark 1) ;; obsolete
-(byte-defop-compiler forward-word 1+1)
+(byte-defop-compiler forward-word 0-1+1)
(byte-defop-compiler char-syntax 1+1)
(byte-defop-compiler nreverse 1)
(byte-defop-compiler car-safe 1)
(defun cl-set-substring (str start end val)
(if end (if (< end 0) (incf end (length str)))
(setq end (length str)))
- (if (< start 0) (incf start str))
+ (if (< start 0) (incf start (length str)))
(concat (and (> start 0) (substring str 0 start))
val
(and (< end (length str)) (substring str end))))
(defun gensym (&optional arg)
"Generate a new uninterned symbol.
-The name is made by appending a number to PREFIX, default \"G\"."
+The name is made by appending a number to a prefix. If ARG is a string, it
+is the prefix, otherwise the prefix defaults to \"G\". If ARG is an integer,
+the internal counter is reset to that number before creating the name.
+There is no way to specify both using this function."
(let ((prefix (if (stringp arg) arg "G"))
(num (if (integerp arg) arg
(prog1 *gensym-counter*
(defun gentemp (&optional arg)
"Generate a new interned symbol with a unique name.
-The name is made by appending a number to PREFIX, default \"G\"."
+The name is made by appending a number to ARG, default \"G\".
+If ARG is not a string, it is ignored."
(let ((prefix (if (stringp arg) arg "G"))
name)
(while (intern-soft (setq name (format "%s%d" prefix *gensym-counter*)))
(defun truncate-command-history-for-gc ()
- (let ((tail (nthcdr 30 command-history)))
- (if tail (setcdr tail nil)))
- (let ((tail (nthcdr 30 values)))
- (if tail (setcdr tail nil)))
- )
+ ;; We should try to avoid accessing any bindings to speak of in this
+ ;; function; as this hook is called asynchronously, the search for
+ ;; those bindings might search local bindings from essentially
+ ;; arbitrary functions. We force the body of the function to run at
+ ;; command-loop level, where the danger of local bindings is much
+ ;; reduced; the code can still do its job because the command history
+ ;; and values list will not grow before then anyway.
+ ;;
+ ;; Nothing is done in batch mode, both because it is a waste of time
+ ;; (there is no command loop!) and because this any GCs during dumping
+ ;; will invoke this code, and if it were to enqueue an eval event,
+ ;; the portable dumper would try to dump it and fail.
+ (if (not (noninteractive))
+ (enqueue-eval-event
+ #'(lambda (arg)
+ (let ((tail (nthcdr 30 command-history)))
+ (if tail (setcdr tail nil)))
+ (let ((tail (nthcdr 30 values)))
+ (if tail (setcdr tail nil))))
+ nil)))
(add-hook 'pre-gc-hook 'truncate-command-history-for-gc)
(set-buffer (get-buffer-create " *load*"))
(erase-buffer)
(let ((coding-system-for-read 'raw-text))
- (insert-file-contents path nil 1 3001))
+ (insert-file-contents path nil 0 3000))
(find-coding-system-magic-cookie))
(if elc
;; if reading a byte-compiled file and we didn't find
:group 'customize)
(defgroup alloc nil
- "Storage allocation and gc for GNU Emacs Lisp interpreter."
+ "Storage allocation and gc for XEmacs Lisp interpreter."
:tag "Storage Allocation"
:group 'internal)
(goto-char (point-min)))
(define-widget 'custom-browse-visibility 'item
- "Control visibility of of items in the customize tree browser."
+ "Control visibility of items in the customize tree browser."
:format "%[[%t]%]"
:action 'custom-browse-visibility-action)
;; Don't push it !!! Custom assumes that the first child is the
;; value one.
(setq children (append children (list comment-widget)))))
- ;; Update the rest of the properties properties.
+ ;; Update the rest of the properties.
(widget-put widget :custom-form form)
(widget-put widget :children children)
;; Now update the state.
(put symbol 'saved-value nil)
(custom-push-theme 'theme-value symbol 'user 'reset 'standard)
;; As a special optimizations we do not (explictly)
- ;; save resets to standard when no theme set the value.
+ ;; save resets to standard when no theme sets the value.
(if (null (cdr (get symbol 'theme-value)))
(put symbol 'theme-value nil))
(put symbol 'saved-variable-comment nil)
(custom-save-delete 'custom-set-variables)
(custom-save-loaded-themes)
(custom-save-resets 'theme-value 'custom-reset-variables nil)
+
(let ((standard-output (current-buffer)))
(unless (bolp)
- (princ "\n"))
+ (princ "\n"))
(princ "(custom-set-variables")
- (mapatoms (lambda (symbol)
- (let ((spec (car-safe (get symbol 'theme-value)))
- (requests (get symbol 'custom-requests))
- (now (not (or (get symbol 'standard-value)
- (and (not (boundp symbol))
- (not (eq (get symbol 'force-value)
- 'rogue))))))
- (comment (get symbol 'saved-variable-comment)))
- (when (or (and spec
- (eq (car spec) 'user)
- (eq (second spec) 'set))
- comment
- ;; support non-themed vars
- (and (null spec) (get symbol 'saved-value)))
- (princ "\n '(")
- (prin1 symbol)
- (princ " ")
- ;; This comment stuff is in the way ####
- ;; Is (eq (third spec) (car saved-value)) ????
- ;; (prin1 (third spec))
- (prin1 (car (get symbol 'saved-value)))
- (when (or now requests comment)
- (princ (if now " t" " nil")))
- (when (or comment requests)
- (princ " ")
- (prin1 requests))
- (when comment
- (princ " ")
- (prin1 comment))
- (princ ")")))))
- (princ ")")
- (unless (looking-at "\n")
- (princ "\n")))))
+
+ ;; Get the list of variables to save...
+ (let (varlist)
+ (mapatoms (lambda (symbol)
+ (let ((spec (car-safe (get symbol 'theme-value)))
+ (comment (get symbol 'saved-variable-comment)))
+ (when (or (and spec
+ (eq (first spec) 'user)
+ (eq (second spec) 'set))
+ comment
+ ;; support non-themed vars
+ (and (null spec) (get symbol 'saved-value)))
+ (push symbol varlist)))))
+
+ ;; ...and sort it by name, so our output can be easily diffed, etc.
+ (setq varlist (sort varlist #'string-lessp))
+
+ ;; Generate the output for each var.
+ (dolist (symbol varlist)
+ (let ((requests (get symbol 'custom-requests))
+ (now (not (or (get symbol 'standard-value)
+ (and (not (boundp symbol))
+ (not (eq (get symbol 'force-value)
+ 'rogue))))))
+ (comment (get symbol 'saved-variable-comment))
+ ;; Print everything, no placeholders `...'
+ (print-level nil)
+ (print-length nil))
+ (princ "\n '(")
+ (prin1 symbol)
+ (princ " ")
+ (prin1 (car (get symbol 'saved-value)))
+ (when (or now requests comment)
+ (princ (if now " t" " nil")))
+ (when (or comment requests)
+ (princ " ")
+ (prin1 requests))
+ (when comment
+ (princ " ")
+ (prin1 comment))
+ (princ ")"))))
+
+ ;; Finish the output.
+ (princ ")")
+ (unless (looking-at "\n")
+ (princ "\n")))))
(defvar custom-save-face-ignoring nil)
(comment (get symbol 'saved-face-comment))
(now (not (or (get symbol 'face-defface-spec)
(and (not (find-face symbol))
- (not (eq (get symbol 'force-face) 'rogue)))))))
+ (not (eq (get symbol 'force-face) 'rogue))))))
+ ;; Print everything, no placeholders `...'
+ (print-level nil)
+ (print-length nil))
(when (or (and (not (memq symbol custom-save-face-ignoring))
;; Don't print default face here.
(or (and theme-spec
(custom-save-delete 'custom-reset-faces)
(custom-save-delete 'custom-set-faces)
(custom-save-resets 'theme-face 'custom-reset-faces '(default))
- (let ((standard-output (current-buffer)))
+ (let ((standard-output (current-buffer))
+ (sorted-list ()))
+ ;; Create a sorted list of faces
+ (mapatoms
+ (lambda (symbol)
+ (let ((theme-spec (car-safe (get symbol 'theme-face)))
+ (comment (get symbol 'saved-face-comment)))
+ (when
+ (or (and (not (memq symbol custom-save-face-ignoring))
+ ;; Don't print default face here.
+ (or (and theme-spec
+ (eq (car theme-spec) 'user)
+ (eq (second theme-spec) 'set))
+ ;; cope with non-themed faces
+ (and (null theme-spec)
+ (get symbol 'saved-face))))
+ comment)
+ (push symbol sorted-list)))))
+ (setq sorted-list (sort sorted-list 'string<))
(unless (bolp)
(princ "\n"))
(princ "(custom-set-faces")
;; The default face must be first, since it affects the others.
(custom-save-face-internal 'default)
(let ((custom-save-face-ignoring '(default)))
- (mapatoms #'custom-save-face-internal))
+ (mapc 'custom-save-face-internal
+ sorted-list))
(princ ")")
(unless (looking-at "\n")
(princ "\n")))))
;; (custom-save-delete setter) Done by caller
(let ((standard-output (current-buffer))
(mapper `(lambda (object)
- (let ((spec (car-safe (get object (quote ,property)))))
+ (let ((spec (car-safe (get object (quote ,property))))
+ (print-level nil)
+ (print-length nil))
(when (and (not (memq object ignored-special))
(eq (car spec) 'user)
(eq (second spec) 'reset))
(setq ignored-special special)
(mapatoms mapper)
(when started-writing
- (princ ")\n"))))
- )
+ (princ ")\n")))))
(defun custom-save-loaded-themes ()
(let ((themes (reverse (get 'user 'theme-loads-themes)))
- (standard-output (current-buffer)))
+ (standard-output (current-buffer))
+ (print-level nil)
+ (print-length nil))
(when themes
(unless (bolp) (princ "\n"))
(princ "(custom-load-themes")
-;;; derived.el --- allow inheritance of major modes.
+;;; derived.el --- allow inheritance of major modes
+;;; (formerly mode-clone.el)
-;; Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1999, 2003 Free Software Foundation, Inc.
;; Author: David Megginson (dmeggins@aix1.uottawa.ca)
;; Maintainer: XEmacs Development Team
;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.
-;;; Synched up with: FSF 19.34.
+;;; Synched up with: FSF 21.3.
;;; Commentary:
;; This file is dumped with XEmacs.
-;; GNU Emacs is already, in a sense, object oriented -- each object
+;; XEmacs is already, in a sense, object oriented -- each object
;; (buffer) belongs to a class (major mode), and that class defines
;; the relationship between messages (input events) and methods
;; (commands) by means of a keymap.
;; - assign the value 'hypertext-mode' to the 'major-mode' variable
;; - run the body of commands provided in the macro -- in this case,
;; set the local variable `case-fold-search' to nil.
-;; - **run the command (hypertext-mode-setup), which is empty by
-;; default, but may be redefined by the user to contain special
-;; commands (ie. setting local variables like 'outline-regexp')
-;; **NOTE: do not use this option -- it will soon be obsolete.
-;; - run anything assigned to 'hypertext-mode-hooks' (obsolete, but
-;; supported for the sake of compatibility).
;;
;; The advantages of this system are threefold. First, text mode is
;; untouched -- if you had added the new keystroke to `text-mode-map,'
;;
;; (define-derived-mode html-mode hypertext-mode "HTML")
;; [various key definitions]
-;;
-;; will add a new major mode for HTML with very little fuss.
;;
-;; Note also the function `derived-mode-class,' which returns the non-derived
-;; major mode which a derived mode is based on (ie. NOT necessarily the
-;; immediate parent).
+;; will add a new major mode for HTML with very little fuss.
;;
-;; (derived-mode-class 'text-mode) ==> text-mode
-;; (derived-mode-class 'hypertext-mode) ==> text-mode
-;; (derived-mode-class 'html-mode) ==> text-mode
+;; Note also the function `derived-mode-p' which can tell if the current
+;; mode derives from another. In a hypertext-mode, buffer, for example,
+;; (derived-mode-p 'text-mode) would return non-nil. This should always
+;; be used in place of (eq major-mode 'text-mode).
\f
;;; Code:
+;;; PRIVATE: defsubst must be defined before they are first used
+
+(defsubst derived-mode-hook-name (mode)
+ "Construct the mode hook name based on mode name MODE."
+ (intern (concat (symbol-name mode) "-hook")))
+
+(defsubst derived-mode-map-name (mode)
+ "Construct a map name based on a MODE name."
+ (intern (concat (symbol-name mode) "-map")))
+
+(defsubst derived-mode-syntax-table-name (mode)
+ "Construct a syntax-table name based on a MODE name."
+ (intern (concat (symbol-name mode) "-syntax-table")))
+
+(defsubst derived-mode-abbrev-table-name (mode)
+ "Construct an abbrev-table name based on a MODE name."
+ (intern (concat (symbol-name mode) "-abbrev-table")))
+
;; PUBLIC: define a new major mode which inherits from an existing one.
;; XEmacs -- no autoload
The arguments to this command are as follow:
CHILD: the name of the command for the derived mode.
-PARENT: the name of the command for the parent mode (ie. text-mode).
-NAME: a string which will appear in the status line (ie. \"Hypertext\")
+PARENT: the name of the command for the parent mode (e.g. `text-mode')
+ or nil if there is no parent.
+NAME: a string which will appear in the status line (e.g. \"Hypertext\")
DOCSTRING: an optional documentation string--if you do not supply one,
the function will attempt to invent something useful.
BODY: forms to execute just before running the
- hooks for the new mode.
+ hooks for the new mode. Do not use `interactive' here.
+
+BODY can start with a bunch of keyword arguments. The following keyword
+ arguments are currently understood:
+:group GROUP
+ Declare the customization group that corresponds to this mode.
+:syntax-table TABLE
+ Use TABLE instead of the default.
+ A nil value means to simply use the same syntax-table as the parent.
+:abbrev-table TABLE
+ Use TABLE instead of the default.
+ A nil value means to simply use the same abbrev-table as the parent.
Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode:
without changing regular LaTeX mode. In this example, BODY is empty,
and DOCSTRING is generated by default.
-On a more complicated level, the following command uses sgml-mode as
+On a more complicated level, the following command uses `sgml-mode' as
the parent, and then sets the variable `case-fold-search' to nil:
(define-derived-mode article-mode sgml-mode \"Article\"
(setq case-fold-search nil))
Note that if the documentation string had been left out, it would have
-been generated automatically, with a reference to the keymap."
-
- ; Some trickiness, since what
- ; appears to be the docstring
- ; may really be the first
- ; element of the body.
- (if (and docstring (not (stringp docstring)))
- (progn (setq body (cons docstring body))
- (setq docstring nil)))
- (setq docstring (or docstring (derived-mode-make-docstring parent child)))
-
- `(progn
- (derived-mode-init-mode-variables (quote ,child))
+been generated automatically, with a reference to the keymap.
+
+The new mode runs the hook constructed by the function
+`derived-mode-hook-name'."
+ (declare (debug (&define name symbolp sexp [&optional stringp]
+ [&rest keywordp sexp] def-body)))
+
+ (when (and docstring (not (stringp docstring)))
+ ;; Some trickiness, since what appears to be the docstring may really be
+ ;; the first element of the body.
+ (push docstring body)
+ (setq docstring nil))
+
+ (when (eq parent 'fundamental-mode) (setq parent nil))
+
+ (let ((map (derived-mode-map-name child))
+ (syntax (derived-mode-syntax-table-name child))
+ (abbrev (derived-mode-abbrev-table-name child))
+ (declare-abbrev t)
+ (declare-syntax t)
+ (hook (derived-mode-hook-name child))
+ (group nil))
+
+ ;; Process the keyword args.
+ (while (keywordp (car body))
+ (case (pop body)
+ (:group (setq group (pop body)))
+ (:abbrev-table (setq abbrev (pop body)) (setq declare-abbrev nil))
+ (:syntax-table (setq syntax (pop body)) (setq declare-syntax nil))
+ (t (pop body))))
+
+ (setq docstring (derived-mode-make-docstring
+ parent child docstring syntax abbrev))
+
+ `(progn
+ (defvar ,hook nil ,(format "Hook run when entering %s mode." name))
+ (defvar ,map (make-sparse-keymap))
+ ,(if declare-syntax
+ `(defvar ,syntax (make-syntax-table)))
+ ,(if declare-abbrev
+ `(defvar ,abbrev
+ (progn (define-abbrev-table ',abbrev nil) ,abbrev)))
+ (put ',child 'derived-mode-parent ',parent)
+ ,(if group `(put ',child 'custom-mode-group ,group))
+
(defun ,child ()
,docstring
(interactive)
; Run the parent.
- (,parent)
- ; Identify special modes.
- (if (get (quote ,parent) 'special)
- (put (quote ,child) 'special t))
- ;; XEmacs addition
- (let ((mode-class (get (quote ,parent) 'mode-class)))
- (if mode-class
- (put (quote ,child) 'mode-class mode-class)))
+ (delay-mode-hooks
+
+ (,(or parent 'kill-all-local-variables))
; Identify the child mode.
- (setq major-mode (quote ,child))
- (setq mode-name ,name)
+ (setq major-mode (quote ,child))
+ (setq mode-name ,name)
+ ; Identify special modes.
+ ,(when parent
+ `(progn
+ (if (get (quote ,parent) 'mode-class)
+ (put (quote ,child) 'mode-class
+ (get (quote ,parent) 'mode-class)))
; Set up maps and tables.
- (derived-mode-set-keymap (quote ,child))
- (derived-mode-set-syntax-table (quote ,child))
- (derived-mode-set-abbrev-table (quote ,child))
+ (unless (keymap-parent ,map)
+ (set-keymap-parents ,map (list (current-local-map))))
+ ,(when declare-syntax
+ ;; XEmacs change: we do not have char-table-parent
+ `(derived-mode-merge-syntax-tables
+ (syntax-table) ,syntax))))
+
+ (use-local-map ,map)
+ ,(when syntax `(set-syntax-table ,syntax))
+ ,(when abbrev `(setq local-abbrev-table ,abbrev))
; Splice in the body (if any).
- ,@body
-;;; ; Run the setup function, if
-;;; ; any -- this will soon be
-;;; ; obsolete.
-;;; (derived-mode-run-setup-function (quote ,child))
- ; Run the hooks, if any.
- (derived-mode-run-hooks (quote ,child)))))
-
+ ,@body
+ )
+ ;; Run the hooks, if any.
+ ;; Make the generated code work in older Emacs versions
+ ;; that do not yet have run-mode-hooks.
+ (if (fboundp 'run-mode-hooks)
+ (run-mode-hooks ',hook)
+ (run-hooks ',hook))))))
;; PUBLIC: find the ultimate class of a derived mode.
(defun derived-mode-class (mode)
- "Find the class of a major mode.
+ "Find the class of a major MODE.
A mode's class is the first ancestor which is NOT a derived mode.
-Use the `derived-mode-parent' property of the symbol to trace backwards."
+Use the `derived-mode-parent' property of the symbol to trace backwards.
+Since major-modes might all derive from `fundamental-mode', this function
+is not very useful."
(while (get mode 'derived-mode-parent)
(setq mode (get mode 'derived-mode-parent)))
mode)
+(make-obsolete 'derived-mode-class 'derived-mode-p)
+
+;; PUBLIC: find if the current mode derives from another.
+;; from GNU Emacs 21 subr.el
+
+(defun derived-mode-p (&rest modes)
+ "Non-nil if the current major mode is derived from one of MODES.
+Uses the `derived-mode-parent' property of the symbol to trace backwards."
+ (let ((parent major-mode))
+ (while (and (not (memq parent modes))
+ (setq parent (get parent 'derived-mode-parent))))
+ parent))
\f
-;; Inline functions to construct various names from a mode name.
+;;; PRIVATE
-(defsubst derived-mode-setup-function-name (mode)
- "Construct a setup-function name based on a mode name."
- (intern (concat (symbol-name mode) "-setup")))
+(defun derived-mode-make-docstring (parent child &optional
+ docstring syntax abbrev)
+ "Construct a docstring for a new mode if none is provided."
-(defsubst derived-mode-hooks-name (mode)
- "Construct a hooks name based on a mode name."
- ;; XEmacs change from -hooks
- (intern (concat (symbol-name mode) "-hook")))
+ (let ((map (derived-mode-map-name child))
+ (hook (derived-mode-hook-name child)))
-(defsubst derived-mode-map-name (mode)
- "Construct a map name based on a mode name."
- (intern (concat (symbol-name mode) "-map")))
+ (unless (stringp docstring)
+ ;; Use a default docstring.
+ (setq docstring
+ (if (null parent)
+ (format "Major-mode.
+Uses keymap `%s', abbrev table `%s' and syntax-table `%s'." map abbrev syntax)
+ (format "Major mode derived from `%s' by `define-derived-mode'.
+It inherits all of the parent's attributes, but has its own keymap,
+abbrev table and syntax table:
-(defsubst derived-mode-syntax-table-name (mode)
- "Construct a syntax-table name based on a mode name."
- (intern (concat (symbol-name mode) "-syntax-table")))
+ `%s', `%s' and `%s'
-(defsubst derived-mode-abbrev-table-name (mode)
- "Construct an abbrev-table name based on a mode name."
- (intern (concat (symbol-name mode) "-abbrev-table")))
+which more-or-less shadow %s's corresponding tables."
+ parent map abbrev syntax parent))))
+
+ (unless (string-match (regexp-quote (symbol-name hook)) docstring)
+ ;; Make sure the docstring mentions the mode's hook.
+ (setq docstring
+ (concat docstring
+ (if (null parent)
+ "\n\nThis mode "
+ (concat
+ "\n\nIn addition to any hooks its parent mode "
+ (if (string-match (regexp-quote (format "`%s'" parent))
+ docstring) nil
+ (format "`%s' " parent))
+ "might have run,\nthis mode "))
+ (format "runs the hook `%s'" hook)
+ ", as the final step\nduring initialization.")))
+
+ (unless (string-match "\\\\[{[]" docstring)
+ ;; And don't forget to put the mode's keymap.
+ (setq docstring (concat docstring "\n\n\\{" (symbol-name map) "}")))
+
+ docstring))
+
+\f
+;;; OBSOLETE
+;; The functions below are only provided for backward compatibility with
+;; code byte-compiled with versions of derived.el prior to Emacs-21.
+
+(defsubst derived-mode-setup-function-name (mode)
+ "Construct a setup-function name based on a MODE name."
+ (intern (concat (symbol-name mode) "-setup")))
\f
;; Utility functions for defining a derived mode.
;; XEmacs -- don't autoload
(defun derived-mode-init-mode-variables (mode)
- "Initialize variables for a new mode.
+ "Initialise variables for a new MODE.
Right now, if they don't already exist, set up a blank keymap, an
empty syntax table, and an empty abbrev table -- these will be merged
the first time the mode is used."
(if (boundp (derived-mode-abbrev-table-name mode))
t
(eval `(defvar ,(derived-mode-abbrev-table-name mode)
- (progn (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
- (make-abbrev-table))
+ (progn
+ (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
+ (make-abbrev-table))
,(format "Abbrev table for %s." mode)))))
-
-(defun derived-mode-make-docstring (parent child)
- "Construct a docstring for a new mode if none is provided."
-
- (format "This major mode is a variant of `%s', created by `define-derived-mode'.
-It inherits all of the parent's attributes, but has its own keymap,
-abbrev table and syntax table:
-
- `%s-map' and `%s-syntax-table'
-
-which more-or-less shadow
-
- `%s-map' and `%s-syntax-table'
-
-\\{%s-map}" parent child child parent parent child))
-
\f
;; Utility functions for running a derived mode.
(defun derived-mode-set-keymap (mode)
- "Set the keymap of the new mode, maybe merging with the parent."
+ "Set the keymap of the new MODE, maybe merging with the parent."
(let* ((map-name (derived-mode-map-name mode))
(new-map (eval map-name))
(old-map (current-local-map)))
(put map-name 'derived-mode-unmerged nil)
(use-local-map new-map)))
-(defun derived-mode-set-syntax-table (mode)
- "Set the syntax table of the new mode, maybe merging with the parent."
+(defun derived-mode-set-syntax-table (mode)
+ "Set the syntax table of the new MODE, maybe merging with the parent."
(let* ((table-name (derived-mode-syntax-table-name mode))
(old-table (syntax-table))
(new-table (eval table-name)))
(set-syntax-table new-table)))
(defun derived-mode-set-abbrev-table (mode)
- "Set the abbrev table if it exists.
+ "Set the abbrev table for MODE if it exists.
Always merge its parent into it, since the merge is non-destructive."
(let* ((table-name (derived-mode-abbrev-table-name mode))
(old-table local-abbrev-table)
;;; (funcall fname))))
(defun derived-mode-run-hooks (mode)
- "Run the hooks if they exist."
-
- (let ((hooks-name (derived-mode-hooks-name mode)))
+ "Run the mode hook for MODE."
+ (let ((hooks-name (derived-mode-hook-name mode)))
(if (boundp hooks-name)
(run-hooks hooks-name))))
;; Functions to merge maps and tables.
(defun derived-mode-merge-keymaps (old new)
- "Merge an old keymap into a new one.
-The old keymap is set to be the parent of the new one, so that there will
+ "Merge an OLD keymap into a NEW one.
+The old keymap is set to be the last cdr of the new one, so that there will
be automatic inheritance."
- ;; XEmacs change. FSF 19.30 & 19.34 has a whole bunch of weird crap here
+ ;; XEmacs change. FSF 19.30 to 21.3 has a whole bunch of weird crap here
;; for merging prefix keys and such. Hopefully none of this is
;; necessary in XEmacs.
(set-keymap-parents new (list old)))
(defun derived-mode-merge-syntax-tables (old new)
- "Merge an old syntax table into a new one.
+ "Merge an OLD syntax table into a NEW one.
Where the new table already has an entry, nothing is copied from the old one."
- ;; 20.x
- (if (fboundp 'map-char-table)
- ;; we use map-char-table not map-syntax-table so we can explicitly
- ;; check for inheritance.
- (map-char-table
- #'(lambda (key value)
- (if (eq ?@ (char-syntax-from-code value))
- (map-char-table #'(lambda (key1 value1)
- (put-char-table key1 value1 new))
- old
- key)))
- new)
- ;; pre-20.0
- (let ((idx 0)
- (end (min (length new) (length old))))
- (while (< idx end)
- (if (not (aref new idx))
- (aset new idx (aref old idx)))
- (setq idx (1+ idx))))))
+ ;; XEmacs change: on the other hand, Emacs 21.3 just has
+ ;; (set-char-table-parent new old) here.
+ ;; We use map-char-table, not map-syntax-table, so we can explicitly
+ ;; check for inheritance.
+ (map-char-table
+ #'(lambda (key value)
+ (let ((newval (get-range-char-table key new 'multi)))
+ (cond ((eq newval 'multi) ; OK, dive into the class hierarchy
+ (map-char-table
+ #'(lambda (key1 value1)
+ (when (eq ?@ (char-syntax-from-code
+ (get-range-char-table key new ?@)))
+ (put-char-table key1 value new))
+ nil)
+ new
+ key))
+ ((eq ?@ (char-syntax-from-code newval)) ;; class at once
+ (put-char-table key value new))))
+ nil)
+ old))
;; Merge an old abbrev table into a new one.
;; This function requires internal knowledge of how abbrev tables work,
;; as the value of the symbol, and the hook as the function definition.
(defun derived-mode-merge-abbrev-tables (old new)
(if old
- (mapatoms
- (function
- (lambda (symbol)
- (or (intern-soft (symbol-name symbol) new)
- (define-abbrev new (symbol-name symbol)
- (symbol-value symbol) (symbol-function symbol)))))
+ (mapatoms
+ #'(lambda (symbol)
+ (or (intern-soft (symbol-name symbol) new)
+ (define-abbrev new (symbol-name symbol)
+ (symbol-value symbol) (symbol-function symbol))))
old)))
-
+
(provide 'derived)
+;;; arch-tag: 630be248-47d1-4f02-afa0-8207de0ebea0
;;; derived.el ends here
(require 'gtk-password-dialog)
(require 'gtk-file-dialog)
+(defun gtk-popup-convert-underscores (str)
+ ;; Convert the XEmacs button accelerator representation to Gtk mnemonic
+ ;; form. If no accelerator has been provided, put one at the start of the
+ ;; string (this mirrors the behaviour under X). This algorithm is also found
+ ;; in menubar-gtk.c:convert_underscores().
+ (let ((new-str (string))
+ (i 0)
+ (found-accel nil))
+ (while (< i (length str))
+ (let ((c (aref str i)))
+ (cond ((eq c ?%)
+ (setq i (1+ i))
+ (if (and (not (eq (aref str i) ?_)) (not (eq (aref str i) ?%)))
+ (setq i (1- i)))
+ (setq found-accel 1)
+ )
+ ((eq c ?_)
+ (setq new-str (concat new-str "_")))
+ ))
+ (setq new-str (concat new-str (string (aref str i))))
+ (setq i (1+ i))
+ )
+ (if found-accel new-str (concat "_" new-str))
+ ))
+
(defun popup-builtin-open-dialog (keys)
;; Allowed keywords are:
;;
(callback nil)
(flushrightp nil)
(length nil)
+ (label nil)
+ (gui-button nil)
+ (accel-group (gtk-accel-group-new))
+ (accel-key nil)
(errp t))
(if (not buttons-descr)
(error 'syntax-error
(setq activep (plist-get plist :active)
callback (plist-get plist :callback)))))
- (push (gtk-button-new-with-label (aref button 0)) buttons)
+ ;; Create the label and determine what the mnemonic key is.
+ (setq label (gtk-label-new ""))
+ (setq accel-key (gtk-label-parse-uline label
+ (gtk-popup-convert-underscores (aref button 0))))
+ ;; Place the label in the button.
+ (gtk-misc-set-alignment label 0.5 0.5)
+ (setq gui-button (gtk-button-new))
+ (gtk-container-add gui-button label)
+ ;; Add ALT-mnemonic to the dialog's accelerator group.
+ (gtk-widget-add-accelerator gui-button "clicked" accel-group
+ accel-key
+ 8 ; GDK_MOD1_MASK
+ 4 ; GTK_ACCEL_LOCKED
+ )
+
+ (push gui-button buttons)
(gtk-widget-set-sensitive (car buttons) (eval activep))
;; Apply the callback
(gtk-window-set-transient-for dialog (frame-property nil 'shell-widget))
(put dialog 'type 'dialog)
(put dialog 'modal t)
+ ;; Make the dialog listen for global mnemonic keys.
+ (gtk-window-add-accel-group dialog accel-group)
+
(gtk-widget-show-all dialog)
(gtk-main)
(gtk-widget-destroy dialog)
;;; etags.el --- etags facility for Emacs
-;; Copyright 1985, 1986, 1988, 1990, 1997 Free Software Foundation, Inc.
+;; Copyright 1985, 1986, 1988, 1990, 1997, 2003 Free Software Foundation, Inc.
;; Author: Their Name is Legion (see list below)
;; Maintainer: XEmacs Development Team
:type 'boolean
:group 'etags)
+(defcustom tags-check-parent-directories-for-tag-files t
+ "*If non-nil, look for TAGS files in all parent directories."
+ :type 'boolean
+ :group 'etags)
+
+(defcustom tags-exuberant-ctags-optimization-p nil
+ "*If this variable is nil (the default), then exact tag search is able
+to find tag names in the name part of the tagtable (enclosed by ^?..^A)
+and in the sourceline part of the tagtable ( enclosed by ^..^?).
+This is needed by xemacs etags as not every tag has a name field.
+It is slower for large tables and less precise than the other option.
+
+If it is non-nil, then exact tag will only search tag names in the name
+part (enclosed by ^?..^A). This is faster and more precise than the other
+option. This is only usable with exuberant etags, as it has a name field
+entry for every tag."
+:type 'boolean
+:group 'etags)
\f
;; Buffer tag tables.
;; Current directory
(when (file-readable-p (concat default-directory "TAGS"))
(push (concat default-directory "TAGS") result))
- ;; Parent directory
- (let ((parent-tag-file (expand-file-name "../TAGS" default-directory)))
- (when (file-readable-p parent-tag-file)
- (push parent-tag-file result)))
+ ;; Parent directories
+ (when tags-check-parent-directories-for-tag-files
+ (let ((cur default-directory))
+ ;; Fuck! Shouldn't there be a more obvious portable way
+ ;; to determine if we're the root? Shouldn't we have a
+ ;; proper path manipulation API? Do you know how many
+ ;; god-damn bugs are lurking out there because of Unix/
+ ;; Windows differences? And how much code is littered
+ ;; with stuff such as 10 lines down from here?
+ (while (not (and (equal (file-name-as-directory cur) cur)
+ (equal (directory-file-name cur) cur)))
+ (setq cur (expand-file-name ".." cur))
+ (let ((parent-tag-file (expand-file-name "TAGS" cur)))
+ (when (file-readable-p parent-tag-file)
+ (push parent-tag-file result))))))
;; tag-table-alist
(let* ((key (or buffer-file-name
(concat default-directory (buffer-name))))
(if (stringp expression)
(push expression result)
(error "Expression in tag-table-alist evaluated to non-string")))))
- (setq result
- (mapcar
- (lambda (name)
- (when (file-directory-p name)
- (setq name (concat (file-name-as-directory name) "TAGS")))
- (and (file-readable-p name)
- ;; get-tag-table-buffer has side-effects
- (symbol-value-in-buffer 'buffer-file-name
- (get-tag-table-buffer name))))
- result))
+ (setq result (buffer-tag-table-list-load result))
(setq result (delq nil result))
;; If no TAGS file has been found, ask the user explicitly.
;; #### tags-file-name is *evil*.
(or result tags-file-name
(call-interactively 'visit-tags-table))
(when tags-file-name
- (setq result (nconc result (list tags-file-name))))
+ (setq result (nconc result (buffer-tag-table-list-load (list tags-file-name)))))
(or result (error "Buffer has no associated tag tables"))
(delete-duplicates (nreverse result) :test 'equal)))
+(defun buffer-tag-table-list-load (list &optional used-buffers)
+ "Load all tag buffers in LIST. Include directives inside the tag
+Buffers result in a recursive call off this function. The USED-BUFFERS
+parameter is just for internal use and prevents infinite inclusion
+loops. The return value is a list of loaded buffers with the order
+from LIST preserved. The tag files loaded with the include directive
+are inserted into the returned list before their parents."
+ (let (result)
+ (and list
+ (mapc
+ #'(lambda (name)
+ (when (file-directory-p name)
+ (setq name (concat (file-name-as-directory name) "TAGS")))
+ (and
+ (file-readable-p name)
+ (save-excursion
+ (set-buffer (get-tag-table-buffer name))
+ (when (not (member buffer-file-name used-buffers))
+ (add-to-list 'used-buffers buffer-file-name)
+ (let ((include-files (tag-table-include-files)))
+ (when include-files
+ (setq result (nconc result
+ (buffer-tag-table-list-load
+ include-files used-buffers)))))
+ (add-to-list 'result buffer-file-name t)))))
+ list))
+ result))
+
;;;###autoload
(defun visit-tags-table (file)
"Tell tags commands to use tags table file FILE when all else fails.
;; The user wants to build the table:
(condition-case nil
(progn
- (add-to-tag-completion-table)
+ (if tags-exuberant-ctags-optimization-p
+ (add-to-tag-completion-table-exuberant-ctags)
+ (add-to-tag-completion-table))
(setq tag-table-completion-status t))
;; Allow user to C-g out correctly
(quit
;; New include syntax
;; filename,include
;; tacked on to the end of a tag file means use filename as a
- ;; tag file before giving up.
+ ;; tag file before giving up. The filenames are expanded to avoid
+ ;; problems with relative paths being used in the wrong directory.
(let ((files nil))
(save-excursion
(goto-char (point-min))
- (while (re-search-forward "\f\n\\(.*\\),include$" nil t)
- (push (match-string 1) files)))
+ (while (re-search-forward tags-include-pattern nil t)
+ (push (expand-file-name (match-string 1)) files)))
files))
(defun tag-table-files (tag-table)
(or (memq tag-table-symbol tag-symbol-tables)
(set tag-symbol (cons tag-table-symbol tag-symbol-tables)))))
-;; Can't use "\\s " in these patterns because that will include newline
+;; Can't use "\\s-" in these patterns because that will include newline
+;; \2 matches an explicit name.
+(defconst tags-explicit-name-pattern "\177\\(\\([^\n\001]+\\)\001\\)?")
+;; \1 matches Lisp-name, \2 matches C-name, \5 (from
+;; tags-explicit-name-pattern) matches explicit name.
(defconst tags-DEFUN-pattern
- "DEFUN[ \t]*(\"\\([^\"]+\\)\",[ \t]*\\(\\(\\sw\\|\\s_\\)+\\),\C-?")
+ (concat "DEFUN[ \t]*(\"\\([^\"]+\\)\",[ \t]*\\(\\(\\sw\\|\\s_\\)+\\),"
+ tags-explicit-name-pattern))
+;; \1 matches an array name. Explicit names unused?
(defconst tags-array-pattern ".*[ \t]+\\([^ \[]+\\)\\[")
+;; \2 matches a Lispish name, \5 (from tags-explicit-name-pattern) matches
+;; explicit name.
(defconst tags-def-pattern
- "\\(.*[ \t]+\\)?\\**\\(\\(\\sw\\|\\s_\\)+\\)[ ();,\t]*\C-?"
-;; "\\(.*[ \t]+\\)?\\(\\(\\sw\\|\\s_\\)+\\)[ ()]*\C-?"
-;; "\\(\\sw\\|\\s_\\)+[ ()]*\C-?"
+ (concat "\\(.*[ \t]+\\)?\\**\\(\\(\\sw\\|\\s_\\)+\\)[ ();,\t]*"
+;; "\\(.*[ \t]+\\)?\\(\\(\\sw\\|\\s_\\)+\\)[ ()]*"
+;; "\\(\\sw\\|\\s_\\)+[ ()]*"
+ tags-explicit-name-pattern)
)
+;; \1 matches Schemish name, \4 (from tags-explicit-name-pattern) matches
+;; explicit name
+(defconst tags-schemish-pattern
+ (concat "\\s-*(\\s-*def\\sw*\\s-*(?\\s-*\\(\\(\\sw\\|\\s_\\|:\\)+\\))?\\s-*"
+ tags-explicit-name-pattern))
(defconst tags-file-pattern "^\f\n\\(.+\\),[0-9]+\n")
+(defconst tags-include-pattern "^\f\n\\(.+\\),include\n"
+ "Holds the pattern for finding the include directive in tagfiles.")
+
+
+(defun add-to-tag-completion-table-exuberant-ctags ()
+ "Sucks the current buffer (a TAGS table) into the completion-table.
+This is a version which is optimized for exuberant etags and will not
+work with xemacs etags."
+ (message "Adding %s to tags completion table..." buffer-file-name)
+ (goto-char (point-min))
+ (let ((tag-table-symbol (intern buffer-file-name tag-completion-table))
+ ;; tag-table-symbol is used by intern-tag-symbol
+ name tag-symbol
+ tag-symbol-tables
+ (case-fold-search nil))
+ (while (re-search-forward tags-explicit-name-pattern nil t)
+ ;; no need to check the mode here
+ (setq name (match-string 2))
+ (intern-tag-symbol name)))
+ (message "Adding %s to tags completion table...done" buffer-file-name))
+
-;; #### Should make it work with the `include' directive!
(defun add-to-tag-completion-table ()
"Sucks the current buffer (a TAGS table) into the completion-table."
(message "Adding %s to tags completion table..." buffer-file-name)
(goto-char (point-min))
(let ((tag-table-symbol (intern buffer-file-name tag-completion-table))
;; tag-table-symbol is used by intern-tag-symbol
- filename file-type name name2 tag-symbol
+ filename file-type name name2 name3 tag-symbol
tag-symbol-tables
(case-fold-search nil))
;; Loop over the files mentioned in the TAGS file for each file,
lisp-mode-syntax-table)
(t (standard-syntax-table))))
;; Clear loop variables.
- (setq name nil name2 nil)
+ (setq name nil name2 nil name3 nil)
(lmessage 'progress "%s..." filename)
;; Loop over the individual tag lines.
(while (not (or (eobp) (eq (char-after) ?\f)))
(or (looking-at tags-DEFUN-pattern)
(error "DEFUN doesn't fit pattern"))
(setq name (match-string 1)
- name2 (match-string 2)))
- ;;((looking-at "\\s ")
+ name2 (match-string 2)
+ name3 (match-string 5)))
+ ;;((looking-at "\\s-")
;; skip probably bogus entry:
;;)
((and (eq file-type 'c-mode)
(t
(setq name (match-string 1)))))
((and (eq file-type 'scheme-mode)
- (looking-at "\\s-*(\\s-*def\\sw*\\s-*(?\\s-*\\(\\(\\sw\\|\\s_\\|:\\)+\\))?\\s-*\C-?"))
+ (looking-at tags-schemish-pattern))
;; Something Schemish (is this really necessary??)
- (setq name (match-string 1)))
+ (setq name (match-string 1)
+ name2 (match-string 4)))
((looking-at tags-def-pattern)
;; ???
- (setq name (match-string 2))))
+ (setq name (match-string 2)
+ name2 (match-string 5))))
;; add the tags we found to the completion table
(and name (intern-tag-symbol name))
(and name2 (intern-tag-symbol name2))
+ (and name3 (intern-tag-symbol name3))
(forward-line 1)))
+ ;; Skip over the include entries at the bottom of the file.
+ (while (looking-at tags-include-pattern)
+ (goto-char (match-end 0))
+ (setq filename (file-name-sans-versions (match-string 1)))
+ (forward-line 1))
(or (eobp) (error "Bad TAGS file")))
(message "Adding %s to tags completion table...done" buffer-file-name))
;; Return a default tag to search for, based on the text at point.
(defun find-tag-default ()
(or (and (not (memq find-tag-default-hook '(nil find-tag-default)))
- (condition-case data
- (funcall find-tag-default-hook)
- (error
- (warn "Error in find-tag-default-hook signalled error: %s"
- (error-message-string data))
- nil)))
+ (with-trapping-errors
+ :function 'find-tag-default-hook
+ :error-form nil
+ (funcall find-tag-default-hook)))
(symbol-near-point)))
;; This function depends on the following symbols being bound properly:
(autoload 'get-symbol-syntax-table "symbol-syntax")
(defun find-tag-internal (tagname)
+
(let ((next (null tagname))
(tmpnext (null tagname))
;; If tagname is a list: (TAGNAME), this indicates
(exact-syntax-table (get-symbol-syntax-table (syntax-table)))
tag-table-currently-matching-exact
tag-target exact-tagname
- tag-tables tag-table-point file linebeg startpos buf
+ tag-tables tag-table-point file linebeg line startpos buf
offset found pat syn-tab)
(when (consp tagname)
(setq tagname (car tagname)))
(t
(setq tag-table-currently-matching-exact t)))
;; \_ in the tagname is used to indicate a symbol boundary.
- (setq exact-tagname (format "\C-?\\_%s\\_\C-a\\|\\_%s\\_" tagname tagname))
+ (if tags-exuberant-ctags-optimization-p
+ (setq exact-tagname (format "\C-?%s\C-a" tagname))
+ (setq exact-tagname (format "\C-?%s\C-a\\|\
+\\_%s.?\C-?[0-9]*,[0-9]*$" tagname tagname))
+ )
(while (string-match "\\\\_" exact-tagname)
(aset exact-tagname (1- (match-end 0)) ?b))
(save-excursion
(goto-char (match-beginning 0))
(not (looking-at exact-tagname)))))
(throw 'found t))))
- (setq tag-tables
- (nconc (tag-table-include-files) (cdr tag-tables)))))
+ (setq tag-tables (cdr tag-tables))))
(if (and (not exact) (eq tag-table-currently-matching-exact t))
(setq tag-table-currently-matching-exact nil)
(setq tag-table-currently-matching-exact 'neither)))
(if exact "matching" "containing")
tagname))
(beginning-of-line)
- (search-forward "\C-?")
- (setq file (expand-file-name (file-of-tag)
- ;; In XEmacs, this needs to be
- ;; relative to:
- (or (file-name-directory (car tag-tables))
- "./")))
- (setq linebeg (buffer-substring (1- (point)) (point-at-bol)))
- (search-forward ",")
- (setq startpos (read (current-buffer)))
+
+ ;; from here down, synched with FSF 20.7
+ ;; etags-snarf-tag and etags-goto-tag-location. --ben
+
+ (if (save-excursion
+ (forward-line -1)
+ (looking-at "\f\n"))
+ (progn
+ ;; The match was for a source file name, not any tag
+ ;; within a file. Give text of t, meaning to go exactly
+ ;; to the location we specify, the beginning of the file.
+ (setq linebeg t
+ line nil
+ startpos 1)
+ (setq file
+ (expand-file-name (file-of-tag)
+ ;; In XEmacs, this needs to be
+ ;; relative to:
+ (or (file-name-directory (car tag-tables))
+ "./"))))
+ (search-forward "\C-?")
+ (setq file
+ (expand-file-name (file-of-tag)
+ ;; In XEmacs, this needs to be
+ ;; relative to:
+ (or (file-name-directory (car tag-tables))
+ "./")))
+ (setq linebeg (buffer-substring (1- (point)) (point-at-bol)))
+ ;; Skip explicit tag name if present.
+ (search-forward "\001" (save-excursion (forward-line 1) (point)) t)
+ (if (looking-at "[0-9]")
+ (setq line (string-to-int (buffer-substring
+ (point)
+ (progn (skip-chars-forward "0-9")
+ (point))))))
+ (search-forward ",")
+ (if (looking-at "[0-9]")
+ (setq startpos (string-to-int (buffer-substring
+ (point)
+ (progn (skip-chars-forward "0-9")
+ (point)))))))
+ ;; Leave point on the next line of the tags file.
+ (forward-line 1)
(setq last-tag-data
(nconc (list tagname (point) tag-table-currently-matching-exact)
tag-tables))
(setq buf (find-file-noselect file))
+
+ ;; LINEBEG is the initial part of a line containing the tag and
+ ;; STARTPOS is the character position of LINEBEG within the file
+ ;; (starting from 1); LINE is the line number. If LINEBEG is t,
+ ;; it means the tag refers to exactly LINE or STARTPOS
+ ;; (whichever is present, LINE having preference, no searching).
+ ;; Either LINE or STARTPOS may be nil; STARTPOS is used if
+ ;; present. If the tag isn't exactly at the given position then
+ ;; look around that position using a search window which expands
+ ;; until it hits the start of file.
+
(with-current-buffer buf
(save-excursion
(save-restriction
(widen)
- ;; Here we search for PAT in the range [STARTPOS - OFFSET,
- ;; STARTPOS + OFFSET], with increasing values of OFFSET.
- ;;
- ;; We used to set the initial offset to 1000, but the
- ;; actual sources show that finer-grained control is
- ;; needed (e.g. two `hash_string's in src/symbols.c.) So,
- ;; I changed 100 to 100, and (* 3 offset) to (* 5 offset).
- (setq offset 100)
- (setq pat (concat "^" (regexp-quote linebeg)))
- (or startpos (setq startpos (point-min)))
- (while (and (not found)
- (progn
- (goto-char (- startpos offset))
- (not (bobp))))
- (setq found (re-search-forward pat (+ startpos offset) t))
- (setq offset (* 5 offset)))
- ;; Finally, try finding it anywhere in the buffer.
- (or found
- (re-search-forward pat nil t)
- (error "%s not found in %s" pat file))
- (beginning-of-line)
- (setq startpos (point)))))
+ (if (eq linebeg t)
+ ;; Direct file tag.
+ (cond (line (goto-line line))
+ (startpos (goto-char startpos))
+ (t (error "etags.el BUG: bogus direct file tag")))
+ ;; Here we search for PAT in the range [STARTPOS - OFFSET,
+ ;; STARTPOS + OFFSET], with increasing values of OFFSET.
+ ;;
+ ;; We used to set the initial offset to 1000, but the
+ ;; actual sources show that finer-grained control is
+ ;; needed (e.g. two `hash_string's in src/symbols.c.) So,
+ ;; I changed 1000 to 100, and (* 3 offset) to (* 5 offset).
+ (setq offset 100)
+ (setq pat (concat (if (eq selective-display t)
+ "\\(^\\|\^m\\)" "^")
+ (regexp-quote linebeg)))
+
+ ;; The character position in the tags table is 0-origin.
+ ;; Convert it to a 1-origin Emacs character position.
+ (if startpos (setq startpos (1+ startpos)))
+ ;; If no char pos was given, try the given line number.
+ (or startpos
+ (if line
+ (setq startpos (progn (goto-line line)
+ (point)))))
+ (or startpos
+ (setq startpos (point-min)))
+ ;; First see if the tag is right at the specified location.
+ (goto-char startpos)
+ (setq found (looking-at pat))
+ (while (and (not found)
+ (progn
+ (goto-char (- startpos offset))
+ (not (bobp))))
+ (setq found
+ (re-search-forward pat (+ startpos offset) t)
+ offset (* 5 offset))) ; expand search window
+ ;; Finally, try finding it anywhere in the buffer.
+ (or found
+ (re-search-forward pat nil t)
+ (error "Rerun etags: `%s' not found in %s"
+ pat file))))
+ ;; Position point at the right place
+ ;; if the search string matched an extra Ctrl-m at the beginning.
+ (and (eq selective-display t)
+ (looking-at "\^m")
+ (forward-char 1))
+ (beginning-of-line)
+ (setq startpos (point))))
(cons buf startpos))))
;;;###autoload
the tag.
This version of this function supports multiple active tags tables,
-and completion. See also the commands `\\[push-tag-mark]' and
-`\\[pop-tag-mark]'.
+and completion.
Variables of note:
(defcustom tag-mark-stack-max 16
"*The maximum number of elements kept on the mark-stack used
by tags-search. See also the commands `\\[push-tag-mark]' and
-`\\[pop-tag-mark]'."
+and `\\[pop-tag-mark]'."
:type 'integer
:group 'etags)
(make-face 'underline "Underlined text.")
(or (face-differs-from-default-p 'underline)
(set-face-underline-p 'underline t 'global '(default)))
-(make-face 'zmacs-region "Used on highlightes region between point and mark.")
+(make-face 'zmacs-region "Used on highlighted region between point and mark.")
(make-face 'isearch "Used on region matched by isearch.")
(make-face 'isearch-secondary "Face to use for highlighting all matches.")
(make-face 'list-mode-item-selected
:group 'processes
:group 'terminals)
+;;;###autoload
+(defcustom gnuserv-mode-line-string " Server"
+ "*String to display in the modeline when Gnuserv is active.
+Set this to nil if you don't want a modeline indicator."
+:type '(choice string
+ (const :tag "none" nil))
+:group 'gnuserv)
+
;; Provide the old variables as aliases, to avoid breaking .emacs
;; files. However, they are obsolete and should be converted to the
;; We want the client-infested buffers to have some modeline
;; identification, so we'll make a "minor mode".
(defvar gnuserv-minor-mode nil)
-(make-variable-buffer-local 'gnuserv-mode)
-(pushnew '(gnuserv-minor-mode " Server") minor-mode-alist
- :test 'equal)
+(make-variable-buffer-local 'gnuserv-minor-mode)
+;;(pushnew '(gnuserv-minor-mode "Server") minor-mode-alist
+;; :test 'equal)
+(add-minor-mode 'gnuserv-minor-mode 'gnuserv-mode-line-string)
\f
;; Sample gnuserv-frame functions
(eval form))
\f
+
+(defun make-x-device-with-gtk-fallback (device)
+ (or (condition-case ()
+ (make-x-device device)
+ (error nil))
+ (make-gtk-device)))
+
;; "Execute" a client connection, called by gnuclient. This is the
;; backbone of gnuserv.el.
(defun gnuserv-edit-files (type list &rest flags)
(case (car type)
(tty (apply 'make-tty-device (cdr type)))
(gtk (make-gtk-device))
- (x (make-x-device (cadr type)))
+ (x (make-x-device-with-gtk-fallback (cadr type)))
(mswindows (make-mswindows-device))
(t (error "Invalid device type"))))
(t
(eval-and-compile
(require 'gtk-ffi))
+(gtk-import-function GtkAccelGroup gtk_accel_group_new)
+
(gtk-import-function GtkType gtk_accel_label_get_type)
(gtk-import-function GtkWidget gtk_accel_label_new GtkString)
(gtk-import-function guint gtk_accel_label_get_accel_width GtkAccelLabel)
(substitute-command-keys ,help-line)))
(when three-step-help
(message "%s" line-prompt))
- (let* ((help-screen (documentation (quote ,fname)))
+ (let* ((help-screen
+ (condition-case nil
+ (documentation (quote ,fname))
+ (void-function "(alias for undefined function)")
+ (error "(unexpected error from `documention')")))
;; We bind overriding-local-map for very small
;; sections, *excluding* where we switch buffers and
;; where we execute the chosen help command.
(let ((doc (condition-case nil
(or (documentation function)
(gettext "not documented"))
- (void-function ""))))
+ (void-function "(alias for undefined function)")
+ (error "(unexpected error from `documention')"))))
(if (and strip-arglist
(string-match "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'" doc))
(setq doc (substring doc 0 (match-beginning 0))))
(documentation-property sym
'variable-documentation t)))
(fun (and sym (fboundp sym)
- (documentation sym t))))
+ (condition-case nil
+ (documentation sym t)
+ (void-function "(alias for undefined function)")
+ (error "(unexpected error from `documention')")))))
(when (or var fun)
(let ((ex (make-extent b e)))
(require 'hyper-apropos)
(if (natnump l) l 0)))
(and hyper-apropos-show-brief-docs
(setq doc
- ;; A symbol's function slot can point to an unbound symbol.
- ;; In that case, `documentation' will fail.
- (ignore-errors
- (documentation fn)))
+ ;; A symbol's function slot can point to an unbound symbol.
+ ;; In that case, `documentation' will fail.
+ (condition-case nil
+ (documentation fn)
+ (void-function "(alias for undefined function)")
+ (error "(unexpected error from `documentation')")))
(if (string-match
"^([^\n\t )]+[\t ]*\\([^\n)]+\\)?)\\(:[\t ]*\\|\n?\\'\\)"
doc)
local (current-local-map)
global (current-global-map)
obsolete (get symbol 'byte-obsolete-info)
- doc (or (documentation symbol) "function not documented"))
+ doc (or (condition-case nil
+ (documentation symbol)
+ (void-function
+ "(alias for undefined function)")
+ (error "(unexpected error from `documention')"))
+ "function not documented"))
(save-excursion
(set-buffer hyper-apropos-help-buf)
(goto-char (point-max))
;; and really do quit.
(progn (goto-char isearch-opoint)
(setq isearch-success nil)
- (isearch-done t) ; exit isearch
+ (isearch-done) ; exit and push target string
(signal 'quit '(isearch))) ; and pass on quit signal
;; If search is failing, or has an incomplete regexp,
;; rub out until it is once more successful.
(let ((win-width
(or cl-window-width
(if bufferp
- ;; This needs fixing for the case of windows
- ;; that aren't the same width's the frame.
- ;; Sadly, the window it will appear in is not known
- ;; until after the text has been made.
-
;; We have to use last-nonminibuf-frame here
;; and not selected-frame because if a
;; minibuffer-only frame is being used it will
;; be the selected-frame at the point this is
;; run. We keep the selected-frame call around
;; just in case.
- (frame-width (or (last-nonminibuf-frame)
- (selected-frame)))
+ (window-width (get-lru-window (last-nonminibuf-frame)))
80))))
(let ((count 0)
(max-width 0)
(progn (find-file (or user-init-file "~/.xemacs/init.el"))
(or (eq major-mode 'emacs-lisp-mode)
(emacs-lisp-mode)))]
- ["%_Save Options to Init File" customize-save-customized]
+ ["%_Save Options to Custom File" customize-save-customized]
)
("%_Buffers"
"\e$B!#\e(B"
"\\)"
"[ \t\n]*"))
-(setq paragraph-start "^[ \e$B!!\e(B\t\n\f]")
-(setq paragraph-separate "^[ \e$B!!\e(B\t\f]*$")
+
+;; allow paragraphs to start with a zenkaku space
+(setq paragraph-start "[ \e$B!!\e(B\t\n\f]")
+(setq paragraph-separate "[ \e$B!!\e(B\t\f]*$")
;; EGG specific setup
(define-egg-environment 'japanese
;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
-;; Copyright (C) 1997,1999,2000,2002,2003,2004 MORIOKA Tomohiko
+;; Copyright (C) 1997,1999,2000,2002,2003,2004,2005 MORIOKA Tomohiko
;; Keywords: mule, multilingual, character set, coding system
mother =jis-x0208
;; final ?B
graphic 0))
+ (make-charset
+ '=jis-x0208@1978/i1
+ "The first impression of JIS X 0208:1978."
+ '(registry "jisx0208\\.1978"
+ dimension 2
+ chars 94
+ mother =jis-x0208@1978
+ ;; final ?@
+ graphic 0))
(make-charset '=big5-cdp
"Big5 with CDP extension"
(let ((path-list (paths-decode-directory-path env-value 'drop-empties)))
(cond ((eq type 'std)
(while path-list
- (if (equal (substring (car path-list) -16)
- (concat "xemacs-packages" (char-to-string directory-sep-char)))
+ (if (equal (file-name-nondirectory
+ (directory-file-name (car path-list)))
+ "xemacs-packages")
(setq top-dir (car path-list)))
(setq path-list (cdr path-list))))
((eq type 'mule)
(while path-list
- (if (equal (substring (car path-list) -14)
- (concat "mule-packages" (char-to-string directory-sep-char)))
+ (if (equal (file-name-nondirectory
+ (directory-file-name (car path-list)))
+ "mule-packages")
(setq top-dir (car path-list)))
(setq path-list (cdr path-list)))))))
;; Wasn't in the environment, try `user-init-directory' if
(packages-compute-package-locations user-init-directory)))))
(cond ((eq type 'std)
(while path-list
- (if (equal (substring (car path-list) -16)
- (concat "xemacs-packages" (char-to-string directory-sep-char)))
+ (if (equal (file-name-nondirectory
+ (directory-file-name (car path-list)))
+ "xemacs-packages")
(setq top-dir (car path-list)))
(setq path-list (cdr path-list))))
((eq type 'mule)
(while path-list
- (if (equal (substring (car path-list) -14)
- (concat "mule-packages" (char-to-string directory-sep-char)))
+ (if (equal (file-name-nondirectory
+ (directory-file-name (car path-list)))
+ "mule-packages")
(setq top-dir (car path-list)))
(setq path-list (cdr path-list)))))))
;; Now return either the directory or nil.
;;;###autoload
(defcustom package-get-package-index-file-location
- (or (getenv "EMACSPACKAGEPATH")
- user-init-directory)
+ (car (split-path (or (getenv "EMACSPACKAGEPATH") user-init-directory)))
"*The directory where the package-index file can be found."
:type 'directory
:group 'package-get)
result
nil)))
-(defcustom package-get-require-signed-base-updates (package-get-pgp-available-p)
+(defcustom package-get-require-signed-base-updates nil
"*If non-nil, try to verify the package index database via PGP.
If nil, no PGP verification is done. If the package index database
entries are not PGP signed and this variable is non-nil, require user
-confirmation to continue with the package-get procedure.
-
-The default for this variable is the return value of
-`package-get-pgp-available-p', non-nil if both the \"Mailcrypt\"
-package and a suitable PGP executable are available, nil otherwise."
+confirmation to continue with the package-get procedure."
:type 'boolean
:group 'package-get)
(package-get-maybe-save-index db-file)))
(kill-buffer buf))))
+;; This is here because the `process-error' datum doesn't exist in
+;; 21.4. --SY.
+(define-error 'process-error "Process error")
+
;;;###autoload
(defun package-get-update-base-from-buffer (&optional buf)
"Update the package-get database with entries from BUFFER.
used interactively, for example from a mail or news buffer."
(interactive)
(setq buf (or buf (current-buffer)))
- (let (content-beg content-end)
+ (let ((coding-system-for-read 'binary)
+ (coding-system-for-write 'binary)
+ content-beg content-end)
(save-excursion
(set-buffer buf)
(goto-char (point-min))
(if (featurep 'balloon-help)
(progn
(setq balloon (format "
-Package Information: [For package: \"%s\"]
-================
+Package Information: [For package: \"%s\"]\n================
Installed Upstream Ver: %s Available Upstream Ver: %s
Maintainer : %s
Released : %s
((< (package-get-key name :version) version)
(error 'search-failed
(format "Need version %g of package %s, got version %g"
- version name (cdr pkg))))
+ version name (package-get-key name :version))))
(t t))))
(defun package-delete-name (name)
(if (string-match "[ \t]*&[ \t]*$" command)
;; Command ending with ampersand means asynchronous.
(progn
- (background (substring command 0 (match-beginning 0))))
+ (background (substring command 0 (match-beginning 0)) output-buffer))
(shell-command-on-region (point) (point) command output-buffer)))))
;; We have a sentinel to prevent insertion of a termination message
'("subdirs"
"auto-autoloads"
"custom-load"
+ "custom-defines"
"dumped-lisp"
"_pkg"
"lpath")))
When the region has been enabled or augmented as a result of a shifted
motion key, an unshifted motion key will normally deselect the region.
-However, if `unshifted-motion-keys-deselect-region' is t, the region
+However, if `unshifted-motion-keys-deselect-region' is nil, the region
will remain active, augmented by the characters moved over by this
motion key.
;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.
-;;; Synched up with: FSF 19.34.
+;;; Synched up with: FSF 19.34. Some things synched up with later versions.
;;; Commentary:
str newstr))
str)))
-(defun split-string (string &optional pattern)
- "Return a list of substrings of STRING which are separated by PATTERN.
-If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
- (or pattern
- (setq pattern "[ \f\t\n\r\v]+"))
- (let (parts (start 0) (len (length string)))
- (if (string-match pattern string)
- (setq parts (cons (substring string 0 (match-beginning 0)) parts)
- start (match-end 0)))
- (while (and (< start len)
- (string-match pattern string (if (> start (match-beginning 0))
- start
- (1+ start))))
- (setq parts (cons (substring string start (match-beginning 0)) parts)
- start (match-end 0)))
- (nreverse (cons (substring string start) parts))))
+(defconst split-string-default-separators "[ \f\t\n\r\v]+"
+ "The default value of separators for `split-string'.
+
+A regexp matching strings of whitespace. May be locale-dependent
+\(as yet unimplemented). Should not match non-breaking spaces.
+
+Warning: binding this to a different value and using it as default is
+likely to have undesired semantics.")
+
+;; specification for `split-string' agreed with rms 2003-04-23
+;; xemacs design <87vfx5vor0.fsf@tleepslib.sk.tsukuba.ac.jp>
+
+;; The specification says that if both SEPARATORS and OMIT-NULLS are
+;; defaulted, OMIT-NULLS should be treated as t. Simplifying the logical
+;; expression leads to the equivalent implementation that if SEPARATORS
+;; is defaulted, OMIT-NULLS is treated as t.
+
+(defun split-string (string &optional separators omit-nulls)
+ "Splits STRING into substrings bounded by matches for SEPARATORS.
+
+The beginning and end of STRING, and each match for SEPARATORS, are
+splitting points. The substrings matching SEPARATORS are removed, and
+the substrings between the splitting points are collected as a list,
+which is returned.
+
+If SEPARATORS is non-nil, it should be a regular expression matching text
+which separates, but is not part of, the substrings. If nil it defaults to
+`split-string-default-separators', normally \"[ \\f\\t\\n\\r\\v]+\", and
+OMIT-NULLS is forced to t.
+
+If OMIT-NULLS is t, zero-length substrings are omitted from the list \(so
+that for the default value of SEPARATORS leading and trailing whitespace
+are effectively trimmed). If nil, all zero-length substrings are retained,
+which correctly parses CSV format, for example.
+
+Note that the effect of `(split-string STRING)' is the same as
+`(split-string STRING split-string-default-separators t)'). In the rare
+case that you wish to retain zero-length substrings when splitting on
+whitespace, use `(split-string STRING split-string-default-separators nil)'.
+
+Modifies the match data when successful; use `save-match-data' if necessary."
+
+ (let ((keep-nulls (not (if separators omit-nulls t)))
+ (rexp (or separators split-string-default-separators))
+ (start 0)
+ notfirst
+ (list nil))
+ (while (and (string-match rexp string
+ (if (and notfirst
+ (= start (match-beginning 0))
+ (< start (length string)))
+ (1+ start) start))
+ (< start (length string)))
+ (setq notfirst t)
+ (if (or keep-nulls (< start (match-beginning 0)))
+ (setq list
+ (cons (substring string start (match-beginning 0))
+ list)))
+ (setq start (match-end 0)))
+ (if (or keep-nulls (< start (length string)))
+ (setq list
+ (cons (substring string start)
+ list)))
+ (nreverse list)))
;; #### #### #### AAaargh! Must be in C, because it is used insanely
;; early in the bootstrap process.
(and (buffer-name ,temp-buffer)
(kill-buffer ,temp-buffer))))))
+;; BEGIN FSF 21.3 SYNCH
+(defmacro with-local-quit (&rest body)
+ "Execute BODY with `inhibit-quit' temporarily bound to nil."
+ `(condition-case nil
+ (let ((inhibit-quit nil))
+ ,@body)
+ (quit (setq quit-flag t))))
+
+(defvar delay-mode-hooks nil
+ "If non-nil, `run-mode-hooks' should delay running the hooks.")
+(defvar delayed-mode-hooks nil
+ "List of delayed mode hooks waiting to be run.")
+(make-variable-buffer-local 'delayed-mode-hooks)
+(put 'delay-mode-hooks 'permanent-local t)
+
+(defun run-mode-hooks (&rest hooks)
+ "Run mode hooks `delayed-mode-hooks' and HOOKS, or delay HOOKS.
+Execution is delayed if `delay-mode-hooks' is non-nil.
+Major mode functions should use this."
+ (if delay-mode-hooks
+ ;; Delaying case.
+ (dolist (hook hooks)
+ (push hook delayed-mode-hooks))
+ ;; Normal case, just run the hook as before plus any delayed hooks.
+ (setq hooks (nconc (nreverse delayed-mode-hooks) hooks))
+ (setq delayed-mode-hooks nil)
+ (apply 'run-hooks hooks)))
+
+(defmacro delay-mode-hooks (&rest body)
+ "Execute BODY, but delay any `run-mode-hooks'.
+Only affects hooks run in the current buffer."
+ `(progn
+ (make-local-variable 'delay-mode-hooks)
+ (let ((delay-mode-hooks t))
+ ,@body)))
+;; END FSF 21.3 SYNCH
+
;; Moved from mule-coding.el.
(defmacro with-string-as-buffer-contents (str &rest body)
"With the contents of the current buffer being STR, run BODY.
+2005-07-20 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * Ideograph-R162-Walk.el: Add some character relations.
+
+2005-07-15 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * Ideograph-R064-Hand.el (U+6316): Use `->subsumptive'.
+
+ * Ideograph-R096-Jade.el (K0-5622): Add `<-ancient' for K0-5627.
+
+ * Ideograph-R090-Half-Tree-Trunk.el (U-0002458D): Use
+ `->subsumptive'.
+ (M-19791): Add `<-subsumptive' for U-0002458D; add `<-ancient' for
+ U+FA67.
+
+ * Ideograph-R157-Foot.el (U+8E02): Use `->subsumptive'.
+ (U+8E03): Use `->denotational' and `->subsumptive'.
+ (U-00028048): New character.
+ (C6-6277): Use `<-subsumptive' for U-00028048; separate M-37565.
+
+ * Ideograph-R060-Step.el (U-000224F5): Use `->subsumptive'.
+ (U-000224F6): Add `<-ancient' for M-38892.
+
+ * u02E00-CJK-Radical-Supplement.el (<CJK RADICAL WALK ONE>): Add
+ `<-ideographic-component-forms' for U+8FB5.
+
+ * Ideograph-R077-Stop.el (U-0002394D): Add `<-ancient' for
+ M-38752.
+
+2005-07-14 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * char-db-util.el (char-db-insert-relation-feature): New function.
+ (insert-char-attributes): Use `char-db-insert-relation-feature'.
+
+2005-07-13 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * Ideograph-R140-Grass.el (GT-K01418): Use
+ `<-simplified@component' instead of `<-simplified@misc'.
+ (U+4495): Use `->denotational' instead of `->subsumptive'.
+
+2005-07-13 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * Ideograph-R132-Self.el (U+81F2): Use `->subsumptive'.
+
2005-07-07 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
* Oracle-Bones.el: New file.
+2005-07-04 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * Ideograph-R066-Rap.el (U+6577): Use `->denotational' and
+ `->subsumptive'.
+
2005-06-18 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
* char-db-util.el (ideographic-radical): New function.
)
((=ucs . #x4EBB) ; 亻
)
- ((=ks-x1001 . #x6E6A) ; &M-39076; [78-74]
+ ((=ks-x1001 . #x6E6A) ; >-52561; [78-74]
(=daikanwa . 39076) ; &I-M-39076;
))
(=ucs . #x2041D) ; 𠐝
)
((=ucs . #x5973) ; 女
)
- ((=ks-x1001 . #x6E6A) ; &M-39076; [78-74]
+ ((=ks-x1001 . #x6E6A) ; >-52561; [78-74]
(=daikanwa . 39076) ; &I-M-39076;
))
(=daikanwa . 06850) ; &M-06850;
(ideographic-strokes . 7)
(total-strokes . 10)
(=ucs . #x224F5) ; 𢓵
- (=daikanwa . 10123) ; &I-M-10123;
- ))
-(define-char
- '((=>ucs . #x224F5) ; 𢓵
- (morohashi-daikanwa 10123 0 0)
- (ideographic-radical . 60) ; ⼻
- (ideographic-strokes . 7)
- (total-strokes . 10)
- (=cns11643-5 . #x2D4A) ; &C5-2D4A; [13-42]
+ (->subsumptive
+ ((=daikanwa . 10123) ; &M-10123;
+ (=ucs@iso . #x224F5) ; &M-10123;
+ )
+ ((=cns11643-5 . #x2D4A) ; &C5-2D4A; [13-42]
+ ))
))
(define-char
'((ideographic-radical . 60) ; ⼻
(ideographic-strokes . 7)
(total-strokes . 10)
+ (<-ancient
+ ((=ks-x1001 . #x7757) ; &M-38892; [87-55]
+ (=daikanwa . 38892) ; &I-M-38892;
+ ))
+ (<-ancient*sources
+ zihui-bei daikanwa)
(=ucs . #x224F6) ; 𢓶
(=cns11643-6 . #x3749) ; &I-C6-3749; [23-41]
(=daikanwa . 10124) ; &I-M-10124;
(=daikanwa . 12069) ; &I-M-12069;
))
(define-char
- '((=>ucs . #x6316) ; 挖
- (ideographic-radical . 64) ; ⼿
- (ideographic-strokes . 6)
- (total-strokes . 9)
- (=jis-x0212 . #x3F62) ; &M-12070; [31-66]
- (=big5 . #xABF5) ; &I-B-ABF5;
- (=daikanwa . 12070) ; &I-M-12070;
- (=jef-china3 . #x91D5) ; &I-JC3-91D5;
- (=ucs@jis . #x6316) ; &M-12070;
- (=ucs@big5 . #x6316) ; &M-12070;
- ))
-(define-char
- '((=>ucs . #x6316) ; 挖
- (morohashi-daikanwa 12070 0 0 0)
- (ideographic-radical . 64) ; ⼿
- (ideographic-strokes . 6)
- (total-strokes . 9)
- (=cns11643-1 . #x5139) ; &C1-5139; [49-25]
- ))
-(define-char
- '((morohashi-daikanwa 12070 0 0 1)
- (ideographic-radical . 64) ; ⼿
+ '((ideographic-radical . 64) ; ⼿
(ideographic-strokes . 6)
(total-strokes . 9)
(=ucs . #x6316) ; 挖
- (=gb2312 . #x4D5A) ; &I-G0-4D5A; [45-58]
+ (->subsumptive
+ ((=big5 . #xABF5) ; &B-ABF5;
+ (->subsumptive
+ ((=jis-x0212 . #x3F62) ; &M-12070; [31-66]
+ (=daikanwa . 12070) ; &I-M-12070;
+ (=jef-china3 . #x91D5) ; &I-JC3-91D5;
+ (=ucs@jis . #x6316) ; &M-12070;
+ )
+ ((=cns11643-1 . #x5139) ; &C1-5139; [49-25]
+ ))
+ )
+ ((=gb2312 . #x4D5A) ; &G0-4D5A; [45-58]
+ (=ucs@unicode . #x6316) ; &G0-4D5A;
+ ))
))
(define-char
'((=>ucs . #x22AFE) ; 𢫾
)
((=ucs . #x6728) ; 木
)
- ((=ks-x1001 . #x6E6A) ; &M-39076; [78-74]
+ ((=ks-x1001 . #x6E6A) ; >-52561; [78-74]
(=daikanwa . 39076) ; &I-M-39076;
))
(=daikanwa . 15825) ; &M-15825;
'((ideographic-radical . 77) ; ⽌
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-ancient
+ ((=ks-x1001 . #x504E) ; &M-38752; [48-46]
+ (=daikanwa . 38752) ; &I-M-38752;
+ ))
+ (<-ancient*sources
+ shuowen daikanwa)
(hanyu-dazidian 2 1441 6)
(=ucs . #x2394D) ; 𣥍
(=cns11643-6 . #x2C3C) ; &I-C6-2C3C; [12-28]
(ideographic-strokes . 9)
(total-strokes . 13)
(=ucs . #x2458D) ; 𤖍
- (=daikanwa . 19791) ; &I-M-19791;
- ))
-(define-char
- '((=>ucs . #x2458D) ; 𤖍
- (morohashi-daikanwa 19791 0 1)
- (ideographic-radical . 90) ; ⽙
- (ideographic-strokes . 9)
- (total-strokes . 13)
- (=cns11643-6 . #x546E) ; &C6-546E; [52-78]
+ (->subsumptive
+ ((<-ancient
+ ((=ucs . #xFA67) ; 逸
+ (=daikanwa . 38951) ; &I-M-38951;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (=daikanwa . 19791) ; &M-19791;
+ (=ucs@iso . #x2458D) ; &M-19791;
+ )
+ ((=cns11643-6 . #x546E) ; &C6-546E; [52-78]
+ ))
))
(define-char
'((ideographic-radical . 90) ; ⽙
'((ideographic-radical . 96) ; ⽟
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-ancient
+ ((=ks-x1001 . #x5627) ; &M-38902; [54-07]
+ (=daikanwa . 38902) ; &I-M-38902;
+ ))
(<-denotational
((=ucs . #x7489) ; 璉
))
(ideographic-strokes . 10)
(total-strokes . 16)
(=ucs . #x81F2) ; 臲
- (=jis-x0212 . #x5666) ; &I-JSP-5666; [54-70]
- (=cns11643-2 . #x5960) ; &I-C2-5960; [57-64]
(=big5 . #xEAF4) ; &I-B-EAF4;
- (=daikanwa . 30130) ; &I-M-30130;
+ (->subsumptive
+ ((=jis-x0212 . #x5666) ; &M-30130; [54-70]
+ (=cns11643-2 . #x5960) ; &I-C2-5960; [57-64]
+ (=daikanwa . 30130) ; &I-M-30130;
+ (=ucs@unicode . #x81F2) ; &M-30130;
+ ))
))
(define-char
'((ideographic-radical . 132) ; ⾃
'((ideographic-radical . 140) ; ⾋
(ideographic-strokes . 2)
(total-strokes . 5)
- (<-simplified@misc
+ (<-simplified@component
((=big5-cdp . #x8BE3) ; &CDP-8BE3;
))
(ideographic-structure
'((ideographic-radical . 140) ; ⾋
(ideographic-strokes . 3)
(=ucs . #x4495) ; 䒕
- (->subsumptive
- ((total-strokes . 7)
- (=cns11643-3 . #x2727) ; &M-30660; [07-07]
- (=daikanwa . 30660) ; &I-M-30660;
- )
- ((total-strokes . 6)
- (=ucs@unicode . #x4495) ; &UU+4495;
+ ))
+(define-char
+ '((ideographic-radical . 140) ; ⾋
+ (ideographic-strokes . 3)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x4495) ; 䒕
+ ))
+ (=cns11643-3 . #x2727) ; &M-30660; [07-07]
+ (=daikanwa . 30660) ; &I-M-30660;
+ ))
+(define-char
+ '((ideographic-radical . 140) ; ⾋
+ (ideographic-strokes . 3)
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x4495) ; 䒕
))
+ (=ucs@unicode . #x4495) ; &UU+4495;
))
(define-char
'((=>ucs . #x26B01) ; 𦬁
(ideographic-strokes . 7)
(total-strokes . 14)
(=ucs . #x8E02) ; 踂
- (=cns11643-2 . #x4E40) ; &I-C2-4E40; [46-32]
- (=daikanwa . 37563) ; &I-M-37563;
+ (->subsumptive
+ ((=cns11643-2 . #x4E40) ; &M-37563; [46-32]
+ (=daikanwa . 37563) ; &I-M-37563;
+ )
+ ((=ucs@unicode . #x8E02) ; &UU+8E02;
+ ))
))
(define-char
- '((=>ucs . #x8E03) ; 踃
- (ideographic-radical . 157) ; ⾜
+ '((ideographic-radical . 157) ; ⾜
+ (ideographic-strokes . 7)
+ (total-strokes . 14)
+ (=ucs . #x8E03) ; 踃
+ ))
+(define-char
+ '((ideographic-radical . 157) ; ⾜
(ideographic-strokes . 7)
(total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x8E03) ; 踃
+ ))
(=daikanwa . 37564) ; &M-37564;
))
(define-char
- '((morohashi-daikanwa 37564 0 2)
- (ideographic-radical . 157) ; ⾜
+ '((ideographic-radical . 157) ; ⾜
(ideographic-strokes . 7)
(total-strokes . 14)
- (=ucs . #x8E03) ; 踃
- (=cns11643-2 . #x4E45) ; &I-C2-4E45; [46-37]
+ (<-denotational
+ ((=ucs . #x8E03) ; 踃
+ ))
+ (->subsumptive
+ ((=ucs@unicode . #x8E03) ; &UU+8E03;
+ )
+ ((=cns11643-2 . #x4E45) ; &C2-4E45; [46-37]
+ ))
))
(define-char
'((ideographic-radical . 157) ; ⾜
(ideographic-strokes . 7)
(total-strokes . 14)
- (=cns11643-6 . #x6277) ; &M-37565; [66-87]
- (=daikanwa . 37565) ; &I-M-37565;
+ (=ucs . #x28048) ; 𨁈
+ (->subsumptive
+ ((=daikanwa . 37565) ; &M-37565;
+ )
+ ((=cns11643-6 . #x6277) ; &C6-6277; [66-87]
+ (=ucs@iso . #x28048) ; &C6-6277;
+ ))
))
(define-char
'((ideographic-radical . 157) ; ⾜
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 0)
(total-strokes . 7)
+ (<-same
+ ((name . "CJK RADICAL WALK ONE")
+ (=ucs . #x2ECD) ; ⻍
+ (=daikanwa . 38702) ; &I-M-38702;
+ ))
+ (<-same*sources
+ liushuzhengyi daikanwa)
+ (<-synonyms
+ ((=daikanwa . 37925) ; &M-37925;
+ ))
+ (<-synonyms*sources
+ yili-zhu gongyang-zhuan jingdian-shiwen daikanwa)
(=ucs . #x8FB5) ; 辵
(=jis-x0212 . #x6133) ; &I-JSP-6133; [65-19]
(=iso-ir165 . #x7E6E) ; &I-EGB-7E6E; [94-78]
(=jis-x0213-1-2000 . #x7C53) ; &I-JX1-7C53; [92-51]
(=big5-cdp . #x8A74) ; &I-CDP-8A74;
(=daikanwa . 38700) ; &I-M-38700;
+ (=jef-china3 . #x67A4) ; &I-JC3-67A4;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 0)
(total-strokes . 5)
+ (<-same
+ ((=jis-x0208 . #x4737) ; >-00166; [39-23]
+ (=ks-x1001 . #x717D) ; &I-K0-717D; [81-93]
+ (=daikanwa . 00125) ; &I-M-00125;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=cns11643-6 . #x233B) ; &M-38701; [03-27]
(=daikanwa . 38701) ; &I-M-38701;
))
(<-denotational
((=ucs . #x8FB6) ; 辶
))
+ (<-ideographic-component-forms
+ ((=ucs . #x8FB5) ; 辵
+ (=daikanwa . 38700) ; &I-M-38700;
+ ))
+ (<-ideographic-component-forms*sources
+ zihui-jianzi daikanwa)
(=ucs . #x2ECD) ; ⻍
(=jis-x0212 . #x6134) ; &I-JSP-6134; [65-20]
(=jis-x0213-2-2000 . #x796A) ; &I-JX2-796A; [89-74]
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
+ (=ucs . #x2844D) ; 𨑍
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
(total-strokes . 6)
+ (<-ancient
+ ((=ucs . #x8ECC) ; 軌
+ (=daikanwa . 38176) ; &I-M-38176;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
+ (<-denotational
+ ((=ucs . #x2844D) ; 𨑍
+ ))
(=daikanwa . 38704) ; &M-38704;
))
(define-char
- '((morohashi-daikanwa 38704 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (total-strokes . 5)
+ (<-denotational
+ ((=ucs . #x2844D) ; 𨑍
+ ))
+ (=ucs@iso . #x2844D) ; &U-0002844D;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x2844D) ; 𨑍
+ ))
(=cns11643-6 . #x2559) ; &C6-2559; [05-57]
))
(define-char
- '((=>ucs . #x8FB8) ; 辸
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (=ucs . #x8FB8) ; 辸
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x8FB8) ; 辸
+ ))
+ (<-same
+ ((=ucs . #x209DF) ; 𠧟
+ (=daikanwa . 02799) ; &I-M-02799;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6135) ; &M-38705; [65-21]
(=daikanwa . 38705) ; &I-M-38705;
(=ucs@jis . #x8FB8) ; &M-38705;
))
(define-char
- '((morohashi-daikanwa 38705 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (total-strokes . 5)
+ (<-denotational
+ ((=ucs . #x8FB8) ; 辸
+ ))
+ (=ucs@unicode . #x8FB8) ; &UU+8FB8;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
- (=ucs . #x8FB8) ; 辸
- (=cns11643-4 . #x2330) ; &I-C4-2330; [03-16]
+ (<-denotational
+ ((=ucs . #x8FB8) ; 辸
+ ))
+ (=cns11643-4 . #x2330) ; &C4-2330; [03-16]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (=ucs . #x28450) ; 𨑐
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x28450) ; 𨑐
+ ))
+ (<-same
+ ((=jis-x0208@1978 . #x4B78) ; &M-38724; [43-88]
+ (=daikanwa . 38724) ; &I-M-38724;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38706) ; &M-38706;
))
(define-char
- '((morohashi-daikanwa 38706 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (total-strokes . 5)
+ (<-denotational
+ ((=ucs . #x28450) ; 𨑐
+ ))
+ (=ucs@iso . #x28450) ; &U-00028450;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x28450) ; 𨑐
+ ))
(=cns11643-6 . #x2557) ; &C6-2557; [05-55]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
+ (=ucs . #x2844F) ; 𨑏
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x2844F) ; 𨑏
+ ))
+ (<-same
+ ((=daikanwa . 44151) ; &M-44151;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 38707) ; &M-38707;
))
(define-char
- '((morohashi-daikanwa 38707 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x2844F) ; 𨑏
+ ))
+ (=ucs@iso . #x2844F) ; &U-0002844F;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x2844F) ; 𨑏
+ ))
(=cns11643-6 . #x2558) ; &C6-2558; [05-56]
))
(define-char
(=daikanwa . 38708) ; &M-38708;
))
(define-char
- '((=>ucs . #x8FB9) ; 边
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (=ucs . #x8FB9) ; 边
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x8FB9) ; 边
+ ))
+ (<-vulgar
+ ((=jis-x0208 . #x6E34) ; >-52803; [78-20]
+ (=ks-x1001 . #x5C2B) ; &I-K0-5C2B; [60-11]
+ (=daikanwa . 39216) ; &I-M-39216;
+ ))
+ (<-vulgar*sources
+ songyuanyilai-suzipu daikanwa)
(=daikanwa . 38709) ; &M-38709;
))
(define-char
- '((=>ucs . #x8FB9) ; 边
- (morohashi-daikanwa 38709 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
- (=cns11643-3 . #x243B) ; &C3-243B; [04-27]
+ (<-denotational
+ ((=ucs . #x8FB9) ; 边
+ ))
+ (=gb2312 . #x315F) ; &G0-315F; [17-63]
+ (=ucs@unicode . #x8FB9) ; &G0-315F;
))
(define-char
- '((morohashi-daikanwa 38709 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
- (=ucs . #x8FB9) ; 边
- (=gb2312 . #x315F) ; &I-G0-315F; [17-63]
+ (<-denotational
+ ((=ucs . #x8FB9) ; 边
+ ))
+ (=cns11643-3 . #x243B) ; &C3-243B; [04-27]
))
(define-char
- '((=>ucs . #x8FBA) ; 辺
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 2)
+ (=ucs . #x8FBA) ; 辺
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x8FBA) ; 辺
+ ))
+ (<-simplified@JP
+ ((=jis-x0208 . #x6E34) ; >-52803; [78-20]
+ (=ks-x1001 . #x5C2B) ; &I-K0-5C2B; [60-11]
+ (=daikanwa . 39216) ; &I-M-39216;
+ ))
+ (<-simplified@JP*sources
+ daikanwa)
(=daikanwa . 38710) ; &M-38710;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 2)
(total-strokes . 5)
+ (<-denotational
+ ((=ucs . #x8FBA) ; 辺
+ ))
(<-simplified@JP/Jouyou
((=jis-x0208 . #x6E34) ; >-52803; [78-20]
(=ks-x1001 . #x5C2B) ; &I-K0-5C2B; [60-11]
(=daikanwa . 39216) ; &I-M-39216;
))
- (=ucs . #x8FBA) ; 辺
- (=jis-x0208 . #x4A55) ; &I-J90-4A55; [42-53]
+ (<-simplified@JP/Jouyou*sources
+ JP/Jouyou daikanwa)
+ (=jis-x0208 . #x4A55) ; >-51654; [42-53]
(=gt . 51654) ; &I-GT-51654;
(=gt-k . 00998) ; &I-GT-K00998;
(=gt-pj-1 . #x4A55) ; &I-GT-51654; [42-53]
+ (=ucs@unicode . #x8FBA) ; >-51654;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(=gb2312 . #x4149) ; &I-G0-4149; [33-41]
))
(define-char
- '((=>ucs . #x28451) ; 𨑑
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (=ucs . #x28451) ; 𨑑
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-ancient
+ ((=ucs . #x64AB) ; 撫
+ (=daikanwa . 12743) ; &I-M-12743;
+ ))
+ (<-ancient*sources
+ shuowen daikanwa)
+ (<-denotational
+ ((=ucs . #x28451) ; 𨑑
+ ))
(=daikanwa . 38713) ; &M-38713;
))
(define-char
- '((=>ucs . #x28451) ; 𨑑
- (morohashi-daikanwa 38713 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x28451) ; 𨑑
+ ))
+ (=ucs@iso . #x28451) ; &U-00028451;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28451) ; 𨑑
+ ))
(=cns11643-4 . #x247E) ; &C4-247E; [04-94]
))
(define-char
- '((morohashi-daikanwa 38713 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 6)
- (=ucs . #x28451) ; 𨑑
+ (=ucs . #x28452) ; 𨑒
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28452) ; 𨑒
+ ))
+ (<-original
+ ((=ucs . #x5F92) ; 徒
+ (=daikanwa . 10121) ; &I-M-10121;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 38714) ; &M-38714;
))
(define-char
- '((morohashi-daikanwa 38714 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x28452) ; 𨑒
+ ))
+ (=ucs@iso . #x28452) ; &U-00028452;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28452) ; 𨑒
+ ))
(=cns11643-6 . #x292D) ; &C6-292D; [09-13]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 10)
- (=cns11643-6 . #x3C4B) ; &M-38715; [28-43]
+ (<-original
+ ((=daikanwa . 38714) ; &M-38714;
+ ))
+ (<-original*sources
+ zihui-bu daikanwa)
+ (=ucs . #x28461) ; 𨑡
+ (=cns11643-6 . #x3C4B) ; &I-C6-3C4B; [28-43]
(=daikanwa . 38715) ; &I-M-38715;
))
(define-char
- '((=>ucs . #x488A) ; 䢊
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (=ucs . #x488A) ; 䢊
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x488A) ; 䢊
+ ))
+ (<-same
+ ((=ks-x1001 . #x6B34) ; &M-38994; [75-20]
+ (=daikanwa . 38994) ; &I-M-38994;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38716) ; &M-38716;
))
(define-char
- '((morohashi-daikanwa 38716 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x488A) ; 䢊
+ ))
+ (=ucs@unicode . #x488A) ; &UU+488A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=ucs . #x488A) ; 䢊
- (=cns11643-3 . #x2732) ; &I-C3-2732; [07-18]
+ (<-denotational
+ ((=ucs . #x488A) ; 䢊
+ ))
+ (=cns11643-3 . #x2732) ; &C3-2732; [07-18]
))
(define-char
- '((=>ucs . #x8FBE) ; 达
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (=ucs . #x8FBE) ; 达
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FBE) ; 达
+ ))
(=jis-x0212 . #x6136) ; &M-38717; [65-22]
(=daikanwa . 38717) ; &I-M-38717;
(=ucs@jis . #x8FBE) ; &M-38717;
))
(define-char
- '((=>ucs . #x8FBE) ; 达
- (morohashi-daikanwa 38717 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=cns11643-3 . #x2730) ; &C3-2730; [07-16]
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x8FBE) ; 达
+ ))
+ (=gb2312 . #x346F) ; &G0-346F; [20-79]
+ (=ucs@unicode . #x8FBE) ; &G0-346F;
))
(define-char
- '((morohashi-daikanwa 38717 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 6)
- (=ucs . #x8FBE) ; 达
- (=gb2312 . #x346F) ; &I-G0-346F; [20-79]
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FBE) ; 达
+ ))
+ (=cns11643-3 . #x2730) ; &C3-2730; [07-16]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(=cns11643-2 . #x2526) ; &C2-2526; [05-06]
))
(define-char
- '((=>ucs . #x488B) ; 䢋
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=daikanwa . 38719) ; &M-38719;
+ (=ucs . #x488B) ; 䢋
))
(define-char
- '((morohashi-daikanwa 38719 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=ucs . #x488B) ; 䢋
- (=cns11643-4 . #x2522) ; &I-C4-2522; [05-02]
+ (<-denotational
+ ((=ucs . #x488B) ; 䢋
+ ))
+ (<-synonyms
+ ((=ucs . #x5176) ; 其
+ (=daikanwa . 01472) ; &I-M-01472;
+ ))
+ (<-synonyms*sources
+ jingzhuanshici daikanwa)
+ (=daikanwa . 38719) ; &M-38719;
))
(define-char
- '((=>ucs . #x8FC0) ; 迀
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=jis-x0212 . #x6137) ; &M-38720; [65-23]
- (=daikanwa . 38720) ; &I-M-38720;
- (=ucs@jis . #x8FC0) ; &M-38720;
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x488B) ; 䢋
+ ))
+ (=ucs@unicode . #x488B) ; &UU+488B;
))
(define-char
- '((=>ucs . #x8FC0) ; 迀
- (morohashi-daikanwa 38720 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=cns11643-4 . #x2521) ; &C4-2521; [05-01]
- (=ucs@cns . #x8FC0) ; &C4-2521;
+ (<-denotational
+ ((=ucs . #x488B) ; 䢋
+ ))
+ (=cns11643-4 . #x2522) ; &C4-2522; [05-02]
))
(define-char
- '((morohashi-daikanwa 38720 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 6)
(=ucs . #x8FC0) ; 迀
))
(define-char
- '((=>ucs . #x8FC1) ; 迁
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=jis-x0212 . #x6138) ; &M-38721; [65-24]
- (=jis-x0213-2-2000 . #x796C) ; &I-JX2-796C; [89-76]
- (=daikanwa . 38721) ; &I-M-38721;
- (=ucs@jis . #x8FC1) ; &M-38721;
+ (<-denotational
+ ((=ucs . #x8FC0) ; 迀
+ ))
+ (<-synonyms
+ ((=ucs . #x5E72) ; 干
+ (=daikanwa . 09165) ; &I-M-09165;
+ ))
+ (<-synonyms*sources
+ shuowen shuowen-zhu daikanwa)
+ (=jis-x0212 . #x6137) ; &M-38720; [65-23]
+ (=daikanwa . 38720) ; &I-M-38720;
+ (=ucs@jis . #x8FC0) ; &M-38720;
))
(define-char
- '((=>ucs . #x8FC1) ; 迁
- (morohashi-daikanwa 38721 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=cns11643-3 . #x2733) ; &C3-2733; [07-19]
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x8FC0) ; 迀
+ ))
+ (=ucs@unicode . #x8FC0) ; &UU+8FC0;
))
(define-char
- '((morohashi-daikanwa 38721 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC0) ; 迀
+ ))
+ (=cns11643-4 . #x2521) ; &C4-2521; [05-01]
+ (=ucs@cns . #x8FC0) ; &C4-2521;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
(=ucs . #x8FC1) ; 迁
- (=gb2312 . #x4728) ; &I-G0-4728; [39-08]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC1) ; 迁
+ ))
+ (<-vulgar
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
+ (=jis-x0212 . #x6138) ; &M-38721; [65-24]
+ (=jis-x0213-2-2000 . #x796C) ; &I-JX2-796C; [89-76]
+ (=daikanwa . 38721) ; &I-M-38721;
+ (=ucs@jis . #x8FC1) ; &M-38721;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC1) ; 迁
+ ))
+ (=gb2312 . #x4728) ; &G0-4728; [39-08]
+ (=ucs@unicode . #x8FC1) ; &G0-4728;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC1) ; 迁
+ ))
+ (=cns11643-3 . #x2733) ; &C3-2733; [07-19]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(<-denotational
((=ucs . #x8FC2) ; 迂
))
+ (<-original
+ ((=daikanwa . 38723) ; &M-38723;
+ ))
+ (<-original*sources
+ zhengzitong shuowen shuowen-zhu zhonghua-dazidian daikanwa)
+ (<-synonyms
+ ((=ucs . #x4E8E) ; 于
+ (=daikanwa . 00252) ; &I-M-00252;
+ ))
+ (<-synonyms*sources
+ zhengzitong daikanwa)
(=jis-x0208@1978 . #x312A) ; &M-38722; [17-10]
(=ks-x1001 . #x6966) ; &I-K0-6966; [73-70]
(=daikanwa . 38722) ; &I-M-38722;
(=cns11643-1 . #x4B52) ; &C1-4B52; [43-50]
))
(define-char
- '((=>ucs . #x8FC3) ; 迃
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=daikanwa . 38723) ; &M-38723;
+ (=ucs . #x8FC3) ; 迃
))
(define-char
- '((=>ucs . #x8FC3) ; 迃
- (morohashi-daikanwa 38723 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=cns11643-4 . #x2523) ; &C4-2523; [05-03]
+ (<-denotational
+ ((=ucs . #x8FC3) ; 迃
+ ))
+ (<-original
+ ((=jis-x0208@1978 . #x312A) ; &M-38722; [17-10]
+ (=ks-x1001 . #x6966) ; &I-K0-6966; [73-70]
+ (=daikanwa . 38722) ; &I-M-38722;
+ ))
+ (<-original*sources
+ zhonghua-dazidian daikanwa)
+ (=daikanwa . 38723) ; &M-38723;
))
(define-char
- '((morohashi-daikanwa 38723 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 6)
- (=ucs . #x8FC3) ; 迃
+ (<-denotational
+ ((=ucs . #x8FC3) ; 迃
+ ))
+ (=ucs@unicode . #x8FC3) ; &UU+8FC3;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC3) ; 迃
+ ))
+ (=cns11643-4 . #x2523) ; &C4-2523; [05-03]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(<-denotational
((=ucs . #x8FC4) ; 迄
))
- (jisx0208-type . 78/4-)
+ (=jis-x0208@1978*sources jis-x0208@1978/i4- jis-x0208@1997)
(=jis-x0208@1978 . #x4B78) ; &M-38724; [43-88]
(=daikanwa . 38724) ; &I-M-38724;
))
(<-denotational
((=ucs . #x8FC4) ; 迄
))
- (jisx0208-difference . 78/4-)
+ (=jis-x0208@1978/i1*sources jis-x0208@1978/i-3 jis-x0208@1997)
(=gb2312 . #x4679) ; >-51666; [38-89]
(=jis-x0208@1983 . #x4B78) ; &I-J83-4B78; [43-88]
(=jis-x0208@1990 . #x4B78) ; &I-J90-4B78; [43-88]
+ (=jis-x0208@1978/i1 . #x4B78) ; >-51666; [43-88]
(=gt . 51666) ; &I-GT-51666;
(=gt-k . 01691) ; &I-GT-K01691;
(=gt-pj-1 . #x4B78) ; &I-GT-51666; [43-88]
(=cns11643-1 . #x4B55) ; &C1-4B55; [43-53]
))
(define-char
- '((=>ucs . #x28453) ; 𨑓
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=daikanwa . 38725) ; &M-38725;
+ (=ucs . #x28453) ; 𨑓
))
(define-char
- '((=>ucs . #x28453) ; 𨑓
- (morohashi-daikanwa 38725 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=cns11643-4 . #x2524) ; &C4-2524; [05-04]
+ (<-ancient
+ ((=ucs . #x2F9D7) ; 起
+ (=daikanwa . 37048) ; &I-M-37048;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
+ (<-denotational
+ ((=ucs . #x28453) ; 𨑓
+ ))
+ (=daikanwa . 38725) ; &M-38725;
))
(define-char
- '((morohashi-daikanwa 38725 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 6)
- (=ucs . #x28453) ; 𨑓
+ (<-denotational
+ ((=ucs . #x28453) ; 𨑓
+ ))
+ (=ucs@iso . #x28453) ; &U-00028453;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 10)
- (=daikanwa . 38726) ; &M-38726;
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28453) ; 𨑓
+ ))
+ (=cns11643-4 . #x2524) ; &C4-2524; [05-04]
))
(define-char
- '((morohashi-daikanwa 38726 0 0)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 10)
- (=cns11643-6 . #x3C49) ; &C6-3C49; [28-41]
+ (=ucs . #x28454) ; 𨑔
+ (->subsumptive
+ ((<-ancient
+ ((=ucs . #x2F9D7) ; 起
+ (=daikanwa . 37048) ; &I-M-37048;
+ ))
+ (<-ancient*sources
+ kangxi daikanwa)
+ (=daikanwa . 38726) ; &M-38726;
+ )
+ ((=cns11643-6 . #x3C49) ; &C6-3C49; [28-41]
+ (=ucs@iso . #x28454) ; &C6-3C49;
+ ))
))
(define-char
'((ideographic-radical . 162) ; ⾡
((=ucs . #x8FC5) ; 迅
))
(->subsumptive
- ((=daikanwa . 38727) ; &M-38727;
+ ((<-same
+ ((=ks-x1001 . #x615C) ; &M-38897; [65-60]
+ (=daikanwa . 38897) ; &I-M-38897;
+ ))
+ (<-same*sources
+ liezi daikanwa)
+ (=daikanwa . 38727) ; &M-38727;
(=jef-china3 . #x67A8) ; &I-JC3-67A8;
)
((=gt-k . 02586) ; >-K02586;
))
))
(define-char
- '((=>ucs . #x8FC6) ; 迆
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (=ucs . #x8FC6) ; 迆
+ (=big5 . #xA8B2) ; &I-B-A8B2;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC6) ; 迆
+ ))
+ (<-same
+ ((=jis-x0212 . #x6143) ; &M-38785; [65-35]
+ (=jis-x0213-1-2000 . #x7C54) ; &I-JX1-7C54; [92-52]
+ (=daikanwa . 38785) ; &I-M-38785;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x6139) ; &M-38728; [65-25]
(=jis-x0213-2-2000 . #x796D) ; &I-JX2-796D; [89-77]
- (=big5 . #xA8B2) ; &I-B-A8B2;
(=daikanwa . 38728) ; &I-M-38728;
(=ucs@jis . #x8FC6) ; &M-38728;
))
(define-char
- '((=>ucs . #x8FC6) ; 迆
- (morohashi-daikanwa 38728 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC6) ; 迆
+ ))
(=cns11643-1 . #x4B53) ; &C1-4B53; [43-51]
))
(define-char
- '((morohashi-daikanwa 38728 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 6)
- (=ucs . #x8FC6) ; 迆
- (mojikyo . 053386) ; &MCS-6000D08A;
+ (<-denotational
+ ((=ucs . #x8FC6) ; 迆
+ ))
+ (=ucs@unicode . #x8FC6) ; &UU+8FC6;
+ (mojikyo . 053386) ; &UU+8FC6;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
+ (=ucs . #x2845E) ; 𨑞
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x2845E) ; 𨑞
+ ))
(=daikanwa . 38730) ; &M-38730;
))
(define-char
- '((morohashi-daikanwa 38730 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 6)
+ (<-denotational
+ ((=ucs . #x2845E) ; 𨑞
+ ))
+ (=ucs@iso . #x2845E) ; &U-0002845E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x2845E) ; 𨑞
+ ))
(=cns11643-6 . #x292F) ; &C6-292F; [09-15]
))
(define-char
- '((=>ucs . #x8FC7) ; 过
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
- (total-strokes . 7)
- (=daikanwa . 38733) ; &M-38733;
+ (=ucs . #x8FC7) ; 过
))
(define-char
- '((=>ucs . #x8FC7) ; 过
- (morohashi-daikanwa 38733 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 7)
- (=cns11643-3 . #x2731) ; &C3-2731; [07-17]
+ (<-denotational
+ ((=ucs . #x8FC7) ; 过
+ ))
+ (<-vulgar
+ ((=ks-x1001 . #x4E26) ; &M-39002; [46-06]
+ (=daikanwa . 39002) ; &I-M-39002;
+ ))
+ (<-vulgar*sources
+ songyuanyilai-suzipu daikanwa)
+ (=daikanwa . 38733) ; &M-38733;
))
(define-char
- '((morohashi-daikanwa 38733 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 3)
(total-strokes . 6)
- (=ucs . #x8FC7) ; 过
- (=gb2312 . #x397D) ; &I-G0-397D; [25-93]
+ (<-denotational
+ ((=ucs . #x8FC7) ; 过
+ ))
+ (<-simplified@CN
+ ((=gb12345 . #x397D) ; &UU+904E; [25-93]
+ ))
+ (=gb2312 . #x397D) ; &G0-397D; [25-93]
+ (=ucs@unicode . #x8FC7) ; &G0-397D;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 3)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FC7) ; 过
+ ))
+ (=cns11643-3 . #x2731) ; &C3-2731; [07-17]
))
(define-char
'((ideographic-radical@ucs . 47) ; ⼮
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 11)
- (=cns11643-6 . #x4550) ; &M-38734; [37-48]
+ (<-same
+ ((=ucs . #x5F9E) ; 從
+ (=daikanwa . 10152) ; &I-M-10152;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
+ (=ucs . #x28462) ; 𨑢
+ (=cns11643-6 . #x4550) ; &I-C6-4550; [37-48]
(=daikanwa . 38734) ; &I-M-38734;
))
(define-char
- '((=>ucs . #x8FCA) ; 迊
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x8FCA) ; 迊
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCA) ; 迊
+ ))
(=jis-x0212 . #x613A) ; &M-38735; [65-26]
(=jis-x0213-2-2000 . #x796F) ; &I-JX2-796F; [89-79]
(=daikanwa . 38735) ; &I-M-38735;
(=ucs@jis . #x8FCA) ; &M-38735;
))
(define-char
- '((morohashi-daikanwa 38735 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FCA) ; 迊
+ ))
+ (=ucs@unicode . #x8FCA) ; &UU+8FCA;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
- (=ucs . #x8FCA) ; 迊
- (=cns11643-3 . #x2A72) ; &I-C3-2A72; [10-82]
+ (<-denotational
+ ((=ucs . #x8FCA) ; 迊
+ ))
+ (=cns11643-3 . #x2A72) ; &C3-2A72; [10-82]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x488C) ; 䢌
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (->formed
+ ((=cns11643-6 . #x4F34) ; &M-37091; [47-20]
+ (=daikanwa . 37091) ; &I-M-37091;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x488C) ; 䢌
+ ))
(=daikanwa . 38736) ; &M-38736;
))
(define-char
- '((morohashi-daikanwa 38736 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x488C) ; 䢌
+ ))
+ (=ucs@unicode . #x488C) ; &UU+488C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x488C) ; 䢌
+ ))
(=cns11643-4 . #x2827) ; &C4-2827; [08-07]
))
(define-char
- '((=>ucs . #x8FCB) ; 迋
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x8FCB) ; 迋
+ (=big5 . #xCDCD) ; &I-B-CDCD;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (->formed
+ ((=jis-x0212 . #x6150) ; &M-38893; [65-48]
+ (=daikanwa . 38893) ; &I-M-38893;
+ ))
+ (->formed*sources
+ jiyun zuoshi-zhuan daikanwa)
+ (<-denotational
+ ((=ucs . #x8FCB) ; 迋
+ ))
+ (<-same
+ ((=daikanwa . 38955) ; &M-38955;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
+ (<-synonyms@p2/s4
+ ((=ucs . #x6047) ; 恇
+ (=daikanwa . 10529) ; &I-M-10529;
+ ))
+ (<-synonyms@p2/s4*sources
+ shuowen-tongxundingsheng zuoshi-zhuan zuoshi-zhu daikanwa)
(=jis-x0212 . #x613B) ; &M-38737; [65-27]
- (=big5 . #xCDCD) ; &I-B-CDCD;
(=daikanwa . 38737) ; &I-M-38737;
(=ucs@jis . #x8FCB) ; &M-38737;
))
(define-char
- '((=>ucs . #x8FCB) ; 迋
- (morohashi-daikanwa 38737 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (=cns11643-2 . #x286D) ; &C2-286D; [08-77]
- (=ucs@cns . #x8FCB) ; &C2-286D;
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FCB) ; 迋
+ ))
+ (=ucs@unicode . #x8FCB) ; &UU+8FCB;
))
(define-char
- '((morohashi-daikanwa 38737 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FCB) ; 迋
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCB) ; 迋
+ ))
+ (=cns11643-2 . #x286D) ; &C2-286D; [08-77]
+ (=ucs@cns . #x8FCB) ; &C2-286D;
))
(define-char
'((=>daikanwa . 38738) ; &M-38738;
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
+ (=ucs . #x28466) ; 𨑦
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28466) ; 𨑦
+ ))
+ (<-same
+ ((=ucs . #x5F90) ; 徐
+ (=daikanwa . 10110) ; &I-M-10110;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 38741) ; &M-38741;
))
(define-char
- '((morohashi-daikanwa 38741 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28466) ; 𨑦
+ ))
+ (=ucs@iso . #x28466) ; &U-00028466;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28466) ; 𨑦
+ ))
(=cns11643-6 . #x2E38) ; &C6-2E38; [14-24]
))
(define-char
))
))
(define-char
- '((=>ucs . #x28469) ; 𨑩
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
+ (=ucs . #x28469) ; 𨑩
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28469) ; 𨑩
+ ))
+ (<-synonyms
+ ((=ucs . #x5F14) ; 弔
+ (=daikanwa . 09698) ; &I-M-09698;
+ ))
+ (<-synonyms*sources
+ shuowen jiyun daikanwa)
(=daikanwa . 38745) ; &M-38745;
))
(define-char
- '((=>ucs . #x28469) ; 𨑩
- (morohashi-daikanwa 38745 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28469) ; 𨑩
+ ))
+ (=ucs@iso . #x28469) ; &U-00028469;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28469) ; 𨑩
+ ))
(=cns11643-4 . #x2825) ; &C4-2825; [08-05]
))
(define-char
- '((morohashi-daikanwa 38745 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x28469) ; 𨑩
+ (=ucs . #x8FCC) ; 迌
))
(define-char
- '((=>ucs . #x8FCC) ; 迌
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCC) ; 迌
+ ))
(=daikanwa . 38746) ; &M-38746;
))
(define-char
- '((morohashi-daikanwa 38746 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FCC) ; 迌
+ ))
+ (=ucs@unicode . #x8FCC) ; &UU+8FCC;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
- (=ucs . #x8FCC) ; 迌
- (=cns11643-3 . #x2A70) ; &I-C3-2A70; [10-80]
+ (<-denotational
+ ((=ucs . #x8FCC) ; 迌
+ ))
+ (=cns11643-3 . #x2A70) ; &C3-2A70; [10-80]
))
(define-char
- '((=>ucs . #x8FCD) ; 迍
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x8FCD) ; 迍
+ (=big5 . #xCDCF) ; &I-B-CDCF;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCD) ; 迍
+ ))
+ (<-same
+ ((=jis-x0208 . #x4656) ; >-09854; [38-54]
+ (=ks-x1001 . #x546A) ; &I-K0-546A; [52-74]
+ (=daikanwa . 07828) ; &I-M-07828;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x613C) ; &M-38747; [65-28]
(=jis-x0213-2-2000 . #x7970) ; &I-JX2-7970; [89-80]
- (=big5 . #xCDCF) ; &I-B-CDCF;
(=daikanwa . 38747) ; &I-M-38747;
(=ucs@jis . #x8FCD) ; &M-38747;
))
(define-char
- '((=>ucs . #x8FCD) ; 迍
- (morohashi-daikanwa 38747 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FCD) ; 迍
+ ))
+ (=ucs@unicode . #x8FCD) ; &UU+8FCD;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCD) ; 迍
+ ))
(=cns11643-2 . #x286F) ; &C2-286F; [08-79]
(=ucs@cns . #x8FCD) ; &C2-286F;
))
(define-char
- '((morohashi-daikanwa 38747 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FCD) ; 迍
+ (=ucs . #x8FCE) ; 迎
+ (=big5 . #xAAEF) ; &I-B-AAEF;
))
(define-char
- '((=>ucs . #x8FCE) ; 迎
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCE) ; 迎
+ ))
(=ks-x1001 . #x674A) ; &M-38748; [71-42]
- (=big5 . #xAAEF) ; &I-B-AAEF;
(=daikanwa . 38748) ; &I-M-38748;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCE) ; 迎
+ ))
+ (=cns11643-1 . #x4F52) ; &C1-4F52; [47-50]
+ ))
+(define-char
'((morohashi-daikanwa 38748 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 7)
- (=ucs . #x8FCE) ; 迎
- (=jis-x0208 . #x375E) ; &I-J90-375E; [23-62]
+ (<-denotational
+ ((=ucs . #x8FCE) ; 迎
+ ))
+ (=jis-x0208 . #x375E) ; >-51707; [23-62]
(=gb2312 . #x532D) ; &I-G0-532D; [51-13]
(=gt . 51707) ; &I-GT-51707;
(=gt-pj-1 . #x375E) ; &I-GT-51707; [23-62]
+ (=ucs@unicode . #x8FCE) ; >-51707;
(mojikyo . 050491) ; &MCS-6000C53B;
))
(define-char
- '((=>ucs . #x8FCE) ; 迎
- (morohashi-daikanwa 38748 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (->mojikyo . 050491) ; 迎
- (=cns11643-1 . #x4F52) ; &C1-4F52; [47-50]
+ (=ucs . #x8FCF) ; 迏
))
(define-char
- '((=>ucs . #x8FCF) ; 迏
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FCF) ; 迏
+ ))
+ (<-wrong
+ ((=jis-x0212 . #x6136) ; &M-38717; [65-22]
+ (=daikanwa . 38717) ; &I-M-38717;
+ ))
+ (<-wrong*sources
+ zhengzitong daikanwa)
(=daikanwa . 38749) ; &M-38749;
))
(define-char
- '((morohashi-daikanwa 38749 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FCF) ; 迏
+ ))
+ (=ucs@unicode . #x8FCF) ; &UU+8FCF;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
- (=ucs . #x8FCF) ; 迏
- (=cns11643-3 . #x2A74) ; &I-C3-2A74; [10-84]
+ (<-denotational
+ ((=ucs . #x8FCF) ; 迏
+ ))
+ (=cns11643-3 . #x2A74) ; &C3-2A74; [10-84]
))
(define-char
'((=>ucs . #x8FD0) ; 运
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (->ancient
+ ((=ucs . #x2394D) ; 𣥍
+ (=daikanwa . 16268) ; &I-M-16268;
+ ))
+ (->ancient*sources
+ jiyun shuowen daikanwa)
(<-denotational
((=ucs . #x8FD1) ; 近
))
))
))
(define-char
- '((=>ucs . #x2846C) ; 𨑬
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x2846C) ; 𨑬
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x2846C) ; 𨑬
+ ))
+ (<-wrong
+ ((=jis-x0212 . #x6142) ; &M-38783; [65-34]
+ (=daikanwa . 38783) ; &I-M-38783;
+ ))
+ (<-wrong*sources
+ zhengzitong daikanwa)
(=daikanwa . 38754) ; &M-38754;
))
(define-char
- '((=>ucs . #x2846C) ; 𨑬
- (morohashi-daikanwa 38754 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x2846C) ; 𨑬
+ ))
+ (=ucs@iso . #x2846C) ; &U-0002846C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x2846C) ; 𨑬
+ ))
(=cns11643-4 . #x2828) ; &C4-2828; [08-08]
))
(define-char
- '((morohashi-daikanwa 38754 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x2846C) ; 𨑬
+ (=ucs . #x8FD2) ; 迒
+ (=big5 . #xCDCC) ; &I-B-CDCC;
))
(define-char
- '((=>ucs . #x8FD2) ; 迒
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (->formed
+ ((=daikanwa . 37565) ; &M-37565;
+ ))
+ (->formed*sources
+ shuowen daikanwa)
+ (<-denotational
+ ((=ucs . #x8FD2) ; 迒
+ ))
+ (<-synonyms@p1/s5
+ ((=jis-x0208 . #x5036) ; >-00379; [48-22]
+ (=ks-x1001 . #x7971) ; &I-K0-7971; [89-81]
+ (=daikanwa . 00288) ; &I-M-00288;
+ ))
+ (<-synonyms@p1/s5*sources
+ zhonghua-dazidian daikanwa)
(=jis-x0212 . #x613E) ; &M-38755; [65-30]
- (=big5 . #xCDCC) ; &I-B-CDCC;
(=daikanwa . 38755) ; &I-M-38755;
(=ucs@jis . #x8FD2) ; &M-38755;
))
(define-char
- '((=>ucs . #x8FD2) ; 迒
- (morohashi-daikanwa 38755 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FD2) ; 迒
+ ))
+ (=ucs@unicode . #x8FD2) ; &UU+8FD2;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD2) ; 迒
+ ))
(=cns11643-2 . #x286C) ; &C2-286C; [08-76]
(=ucs@cns . #x8FD2) ; &C2-286C;
))
(define-char
- '((morohashi-daikanwa 38755 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FD2) ; 迒
+ (=ucs . #x8FD3) ; 迓
+ (=big5 . #xCDCE) ; &I-B-CDCE;
))
(define-char
- '((=>ucs . #x8FD3) ; 迓
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD3) ; 迓
+ ))
+ (<-same
+ ((=daikanwa . 35260) ; &M-35260;
+ ))
+ (<-same*sources
+ jiyun shangshu shangshu-zhuan shangshu-caizhuan taixuanjing daikanwa)
+ (<-synonyms
+ ((=cns11643-1 . #x7157) ; &M-24820; [81-55]
+ (=daikanwa . 24820) ; &I-M-24820;
+ ))
+ (<-synonyms*sources
+ shangshu daikanwa)
(=jis-x0212 . #x613F) ; &M-38756; [65-31]
(=jis-x0213-2-2000 . #x7971) ; &I-JX2-7971; [89-81]
- (=big5 . #xCDCE) ; &I-B-CDCE;
(=daikanwa . 38756) ; &I-M-38756;
(=ucs@jis . #x8FD3) ; &M-38756;
))
(define-char
- '((=>ucs . #x8FD3) ; 迓
- (morohashi-daikanwa 38756 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (=cns11643-2 . #x286E) ; &C2-286E; [08-78]
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FD3) ; 迓
+ ))
+ (=gb2312 . #x6542) ; &G0-6542; [69-34]
+ (=ucs@unicode . #x8FD3) ; &G0-6542;
))
(define-char
- '((morohashi-daikanwa 38756 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FD3) ; 迓
- (=gb2312 . #x6542) ; &I-G0-6542; [69-34]
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD3) ; 迓
+ ))
+ (=cns11643-2 . #x286E) ; &C2-286E; [08-78]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(=cns11643-6 . #x2E3B) ; &C6-2E3B; [14-27]
))
(define-char
- '((=>ucs . #x8FD4) ; 返
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (=ks-x1001 . #x5A77) ; &M-38758; [58-87]
+ (=ucs . #x8FD4) ; 返
(=big5 . #xAAF0) ; &I-B-AAF0;
- (=daikanwa . 38758) ; &I-M-38758;
))
(define-char
- '((=>ucs . #x8FD4) ; 返
- (morohashi-daikanwa 38758 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=jis-x0208 . #x4A56) ; &J90-4A56; [42-54]
- (=ucs@jis . #x8FD4) ; &J90-4A56;
- (mojikyo . 050493) ; &MCS-6000C53D;
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD4) ; 返
+ ))
+ (<-same
+ ((=ucs . #x224C9) ; 𢓉
+ (=daikanwa . 10055) ; &I-M-10055;
+ ))
+ (<-same*sources
+ shuowen daikanwa)
+ (<-synonyms
+ ((=jis-x0208 . #x483F) ; >-03956; [40-31]
+ (=ks-x1001 . #x5A63) ; &I-K0-5A63; [58-67]
+ (=cns11643-1 . #x4530) ; &I-C1-4530; [37-16]
+ (=daikanwa . 03127) ; &I-M-03127;
+ ))
+ (<-synonyms*sources
+ yunhui daikanwa)
+ (=ks-x1001 . #x5A77) ; &M-38758; [58-87]
+ (=daikanwa . 38758) ; &I-M-38758;
))
(define-char
- '((=>ucs . #x8FD4) ; 返
- (morohashi-daikanwa 38758 1 0)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=gt . 51746) ; >-51746;
- (=gt-pj-1 . #x4A56) ; >-51746; [42-54]
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD4) ; 返
+ ))
+ (=cns11643-1 . #x4F53) ; &C1-4F53; [47-51]
))
(define-char
- '((morohashi-daikanwa 38758 1 1)
+ '((morohashi-daikanwa 38758 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 7)
- (->mojikyo . 050493) ; &J90-4A56;
- (=ucs . #x8FD4) ; 返
- (=gb2312 . #x3735) ; &I-G0-3735; [23-21]
+ (<-denotational
+ ((=ucs . #x8FD4) ; 返
+ ))
+ (->subsumptive
+ ((=jis-x0208 . #x4A56) ; &J90-4A56; [42-54]
+ (=ucs@jis . #x8FD4) ; &J90-4A56;
+ (mojikyo . 050493) ; &MCS-6000C53D;
+ )
+ ((=gt . 51746) ; >-51746;
+ (=gt-pj-1 . #x4A56) ; >-51746; [42-54]
+ )
+ ((=gb2312 . #x3735) ; &G0-3735; [23-21]
+ (=ucs@unicode . #x8FD4) ; &G0-3735;
+ ))
))
(define-char
- '((=>ucs . #x8FD4) ; 返
- (morohashi-daikanwa 38758 1 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (->mojikyo . 050493) ; &J90-4A56;
- (=cns11643-1 . #x4F53) ; &C1-4F53; [47-51]
+ (=ucs . #x8FD5) ; 迕
+ (=big5 . #xCDD1) ; &I-B-CDD1;
))
(define-char
- '((=>ucs . #x8FD5) ; 迕
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD5) ; 迕
+ ))
+ (<-same
+ ((=daikanwa . 38894) ; &M-38894;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6140) ; &M-38759; [65-32]
(=jis-x0213-2-2000 . #x7972) ; &I-JX2-7972; [89-82]
- (=big5 . #xCDD1) ; &I-B-CDD1;
(=daikanwa . 38759) ; &I-M-38759;
(=ucs@jis . #x8FD5) ; &M-38759;
))
(define-char
- '((=>ucs . #x8FD5) ; 迕
- (morohashi-daikanwa 38759 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FD5) ; 迕
+ ))
+ (=gb2312 . #x6543) ; &G0-6543; [69-35]
+ (=ucs@unicode . #x8FD5) ; &G0-6543;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD5) ; 迕
+ ))
(=cns11643-2 . #x2871) ; &C2-2871; [08-81]
))
(define-char
- '((morohashi-daikanwa 38759 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FD5) ; 迕
- (=gb2312 . #x6543) ; &I-G0-6543; [69-35]
+ (=ucs . #x488E) ; 䢎
))
(define-char
- '((=>daikanwa . 38760) ; &M-38760;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (=ucs . #x488E) ; 䢎
- (->subsumptive
- ((total-strokes . 8)
- (=daikanwa . 38760) ; &M-38760;
- )
- ((total-strokes . 8)
- (=cns11643-5 . #x2769) ; &C5-2769; [07-73]
- )
- ((total-strokes . 7)
- (=ucs@unicode . #x488E) ; &UU+488E;
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x488E) ; 䢎
+ ))
+ (<-synonyms
+ ((=daikanwa . 38719) ; &M-38719;
))
+ (<-synonyms*sources
+ jiujing-kaoyi daikanwa)
+ (=daikanwa . 38760) ; &M-38760;
))
(define-char
- '((=>daikanwa . 38761) ; &M-38761;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (=ucs . #x2847C) ; 𨑼
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x488E) ; 䢎
+ ))
+ (=ucs@unicode . #x488E) ; &UU+488E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x488E) ; 䢎
+ ))
+ (=cns11643-5 . #x2769) ; &C5-2769; [07-73]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (=ucs . #x2847C) ; 𨑼
(->subsumptive
((=daikanwa . 38761) ; &M-38761;
)
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
+ (=ucs . #x28480) ; 𨒀
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28480) ; 𨒀
+ ))
+ (<-same
+ ((=ucs . #x4ECE) ; 从
+ (=daikanwa . 00362) ; &I-M-00362;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38765) ; &M-38765;
))
(define-char
- '((morohashi-daikanwa 38765 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28480) ; 𨒀
+ ))
+ (=ucs@iso . #x28480) ; &U-00028480;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28480) ; 𨒀
+ ))
(=cns11643-6 . #x2E39) ; &C6-2E39; [14-25]
))
(define-char
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
+ (=ucs . #x28477) ; 𨑷
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28477) ; 𨑷
+ ))
+ (<-same
+ ((=daikanwa . 38727) ; &M-38727;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38767) ; &M-38767;
))
(define-char
- '((morohashi-daikanwa 38767 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28477) ; 𨑷
+ ))
+ (=ucs@iso . #x28477) ; &U-00028477;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28477) ; 𨑷
+ ))
(=cns11643-6 . #x2E3F) ; &C6-2E3F; [14-31]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
+ (=ucs . #x28475) ; 𨑵
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28475) ; 𨑵
+ ))
+ (<-same
+ ((=jis-x0208@1978 . #x4B78) ; &M-38724; [43-88]
+ (=daikanwa . 38724) ; &I-M-38724;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38768) ; &M-38768;
))
(define-char
- '((morohashi-daikanwa 38768 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x28475) ; 𨑵
+ ))
+ (=ucs@iso . #x28475) ; &U-00028475;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x28475) ; 𨑵
+ ))
(=cns11643-6 . #x2E3A) ; &C6-2E3A; [14-26]
))
(define-char
- '((=>ucs . #x8FD6) ; 迖
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x8FD6) ; 迖
+ (=big5 . #xCDD0) ; &I-B-CDD0;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
- (=big5 . #xCDD0) ; &M-38769;
- (=daikanwa . 38769) ; &I-M-38769;
+ (<-denotational
+ ((=ucs . #x8FD6) ; 迖
+ ))
+ (<-wrong
+ ((=jis-x0212 . #x6136) ; &M-38717; [65-22]
+ (=daikanwa . 38717) ; &I-M-38717;
+ ))
+ (<-wrong*sources
+ zhengzitong daikanwa)
+ (=daikanwa . 38769) ; &M-38769;
))
(define-char
- '((=>ucs . #x8FD6) ; 迖
- (morohashi-daikanwa 38769 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FD6) ; 迖
+ ))
+ (=ucs@unicode . #x8FD6) ; &UU+8FD6;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD6) ; 迖
+ ))
(=cns11643-2 . #x2870) ; &C2-2870; [08-80]
(=ucs@cns . #x8FD6) ; &C2-2870;
))
(define-char
- '((morohashi-daikanwa 38769 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FD6) ; 迖
+ (=ucs . #x2847E) ; 𨑾
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x2847E) ; 𨑾
+ ))
+ (<-wrong
+ ((=ks-x1001 . #x625E) ; &M-08684; [66-62]
+ (=daikanwa . 08684) ; &I-M-08684;
+ ))
+ (<-wrong*sources
+ zihui-bu daikanwa)
(=daikanwa . 38770) ; &M-38770;
))
(define-char
- '((morohashi-daikanwa 38770 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x2847E) ; 𨑾
+ ))
+ (=ucs@iso . #x2847E) ; &U-0002847E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x2847E) ; 𨑾
+ ))
(=cns11643-6 . #x2E3C) ; &C6-2E3C; [14-28]
))
(define-char
- '((=>ucs . #x8FD8) ; 还
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (=ucs . #x8FD8) ; 还
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD8) ; 还
+ ))
+ (<-vulgar
+ ((=ks-x1001 . #x7C3D) ; &M-39174; [92-29]
+ (=daikanwa . 39174) ; &I-M-39174;
+ ))
+ (<-vulgar*sources
+ pianhai daikanwa)
(=daikanwa . 38771) ; &M-38771;
))
(define-char
- '((=>ucs . #x8FD8) ; 还
- (morohashi-daikanwa 38771 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 4)
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FD8) ; 还
+ ))
+ (=gb2312 . #x3B39) ; &G0-3B39; [27-25]
+ (=ucs@unicode . #x8FD8) ; &G0-3B39;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD8) ; 还
+ ))
(=cns11643-3 . #x2A73) ; &C3-2A73; [10-83]
))
(define-char
- '((morohashi-daikanwa 38771 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FD8) ; 还
- (=gb2312 . #x3B39) ; &I-G0-3B39; [27-25]
+ (=ucs . #x8FD9) ; 这
))
(define-char
- '((=>ucs . #x8FD9) ; 这
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
(total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD9) ; 这
+ ))
+ (<-vulgar
+ ((=jis-x0208@1978 . #x4767) ; &M-38889; [39-71]
+ (=ks-x1001 . #x6E4F) ; &I-K0-6E4F; [78-47]
+ (=daikanwa . 38889) ; &I-M-38889;
+ ))
+ (<-vulgar*sources
+ songyuanyilai-suzipu daikanwa)
(=daikanwa . 38772) ; &M-38772;
))
(define-char
- '((=>ucs . #x8FD9) ; 这
- (morohashi-daikanwa 38772 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 8)
- (=cns11643-3 . #x2A71) ; &C3-2A71; [10-81]
+ (total-strokes . 7)
+ (<-denotational
+ ((=ucs . #x8FD9) ; 这
+ ))
+ (=gb2312 . #x5562) ; &G0-5562; [53-66]
+ (=ucs@unicode . #x8FD9) ; &G0-5562;
))
(define-char
- '((morohashi-daikanwa 38772 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 4)
- (total-strokes . 7)
- (=ucs . #x8FD9) ; 这
- (=gb2312 . #x5562) ; &I-G0-5562; [53-66]
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FD9) ; 这
+ ))
+ (=cns11643-3 . #x2A71) ; &C3-2A71; [10-81]
))
(define-char
'((ideographic-radical . 162) ; ⾡
))
))
(define-char
- '((=>ucs . #x4890) ; 䢐
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x4890) ; 䢐
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x4890) ; 䢐
+ ))
+ (<-same
+ ((=ucs . #x5F82) ; 徂
+ (=daikanwa . 10078) ; &I-M-10078;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38776) ; &M-38776;
))
(define-char
- '((=>ucs . #x4890) ; 䢐
- (morohashi-daikanwa 38776 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x4890) ; 䢐
+ ))
+ (=ucs@unicode . #x4890) ; &UU+4890;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x4890) ; 䢐
+ ))
(=cns11643-4 . #x2B53) ; &C4-2B53; [11-51]
))
(define-char
- '((morohashi-daikanwa 38776 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x4890) ; 䢐
+ (=ucs . #x8FE0) ; 迠
+ (=big5 . #xD0B6) ; &I-B-D0B6;
))
(define-char
- '((=>ucs . #x8FE0) ; 迠
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE0) ; 迠
+ ))
+ (<-wrong@JP
+ ((=jis-x0208@1978 . #x4B78) ; &M-38724; [43-88]
+ (=daikanwa . 38724) ; &I-M-38724;
+ ))
+ (<-wrong@JP*sources
+ daikanwa)
(=jis-x0212 . #x6141) ; &M-38777; [65-33]
(=jis-x0213-2-2000 . #x7973) ; &I-JX2-7973; [89-83]
- (=big5 . #xD0B6) ; &I-B-D0B6;
(=daikanwa . 38777) ; &I-M-38777;
(=ucs@jis . #x8FE0) ; &M-38777;
))
(define-char
- '((=>ucs . #x8FE0) ; 迠
- (morohashi-daikanwa 38777 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FE0) ; 迠
+ ))
+ (=ucs@unicode . #x8FE0) ; &UU+8FE0;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE0) ; 迠
+ ))
(=cns11643-2 . #x2D57) ; &C2-2D57; [13-55]
))
(define-char
- '((morohashi-daikanwa 38777 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x8FE0) ; 迠
+ (=ucs . #x8FE1) ; 迡
+ (=big5 . #xD0B4) ; &I-B-D0B4;
))
(define-char
- '((=>ucs . #x8FE1) ; 迡
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=big5 . #xD0B4) ; &M-38778;
- (=daikanwa . 38778) ; &I-M-38778;
+ (<-denotational
+ ((=ucs . #x8FE1) ; 迡
+ ))
+ (<-same
+ ((=jis-x0208 . #x6E2F) ; >-52644; [78-15]
+ (=ks-x1001 . #x7240) ; &I-K0-7240; [82-32]
+ (=daikanwa . 39113) ; &I-M-39113;
+ ))
+ (<-same*sources
+ yupian daikanwa)
+ (=daikanwa . 38778) ; &M-38778;
))
(define-char
- '((=>ucs . #x8FE1) ; 迡
- (morohashi-daikanwa 38778 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 9)
- (=cns11643-2 . #x2D55) ; &C2-2D55; [13-53]
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FE1) ; 迡
+ ))
+ (=ucs@unicode . #x8FE1) ; &UU+8FE1;
))
(define-char
- '((morohashi-daikanwa 38778 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x8FE1) ; 迡
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE1) ; 迡
+ ))
+ (=cns11643-2 . #x2D55) ; &C2-2D55; [13-53]
))
(define-char
- '((=>daikanwa . 38779) ; &M-38779;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(=ucs . #x28485) ; 𨒅
(->subsumptive
((total-strokes . 9)
+ (<-synonyms
+ ((=ucs . #x67B3) ; 枳
+ (=daikanwa . 14583) ; &I-M-14583;
+ ))
+ (<-synonyms*sources
+ shuowen-zhu daikanwa)
(=daikanwa . 38779) ; &M-38779;
)
((total-strokes . 9)
(=cns11643-6 . #x345F) ; &C6-345F; [20-63]
))
(define-char
- '((=>ucs . #x8FE2) ; 迢
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FE2) ; 迢
+ (=big5 . #xAD7C) ; &I-B-AD7C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (->formed
+ ((=daikanwa . 31525) ; &M-31525;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x8FE2) ; 迢
+ ))
+ (<-same
+ ((=ucs . #x8D85) ; 超
+ (=daikanwa . 37096) ; &I-M-37096;
+ ))
+ (<-same*sources
+ shuowen-xinfukao daikanwa)
+ (<-synonyms
+ ((=cns11643-2 . #x2D34) ; &M-30779; [13-20]
+ (=daikanwa . 30779) ; &I-M-30779;
+ ))
+ (<-synonyms*sources
+ zhonghua-dazidian daikanwa)
+ (shinjigen-1 . 8243)
(shinjigen-2 . 8243)
(=jis-x0208 . #x6D6B) ; >-51909; [77-75]
- (=big5 . #xAD7C) ; &I-B-AD7C;
(=gt . 51909) ; &I-GT-51909;
(=gt-pj-1 . #x6D6B) ; &I-GT-51909; [77-75]
(=daikanwa . 38781) ; &I-M-38781;
(=ucs@jis . #x8FE2) ; >-51909;
))
(define-char
- '((=>ucs . #x8FE2) ; 迢
- (morohashi-daikanwa 38781 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FE2) ; 迢
+ ))
+ (=gb2312 . #x4C76) ; &G0-4C76; [44-86]
+ (=ucs@unicode . #x8FE2) ; &G0-4C76;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE2) ; 迢
+ ))
(=cns11643-1 . #x535F) ; &C1-535F; [51-63]
))
(define-char
- '((morohashi-daikanwa 38781 0 3)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 5)
- (total-strokes . 8)
- (shinjigen-2 . 8243)
- (=ucs . #x8FE2) ; 迢
- (=gb2312 . #x4C76) ; &I-G0-4C76; [44-86]
- ))
-(define-char
- '((=>daikanwa . 38782) ; &M-38782;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(=ucs . #x28487) ; 𨒇
(->subsumptive
))
))
(define-char
- '((=>ucs . #x8FE3) ; 迣
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FE3) ; 迣
+ (=big5 . #xD0B3) ; &I-B-D0B3;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-ancient
+ ((=jis-x0212 . #x614A) ; &M-38837; [65-42]
+ (=daikanwa . 38837) ; &I-M-38837;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x8FE3) ; 迣
+ ))
+ (<-same
+ ((=ucs . #x8DC7) ; 跇
+ (=daikanwa . 37434) ; &I-M-37434;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6142) ; &M-38783; [65-34]
- (=big5 . #xD0B3) ; &I-B-D0B3;
(=daikanwa . 38783) ; &I-M-38783;
(=ucs@jis . #x8FE3) ; &M-38783;
))
(define-char
- '((=>ucs . #x8FE3) ; 迣
- (morohashi-daikanwa 38783 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=cns11643-2 . #x2D54) ; &C2-2D54; [13-52]
+ (<-denotational
+ ((=ucs . #x8FE3) ; 迣
+ ))
+ (=ucs@unicode . #x8FE3) ; &UU+8FE3;
))
(define-char
- '((morohashi-daikanwa 38783 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=ucs . #x8FE3) ; 迣
+ (<-denotational
+ ((=ucs . #x8FE3) ; 迣
+ ))
+ (=cns11643-2 . #x2D54) ; &C2-2D54; [13-52]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-same
+ ((=jis-x0208 . #x6E2F) ; >-52644; [78-15]
+ (=ks-x1001 . #x7240) ; &I-K0-7240; [82-32]
+ (=daikanwa . 39113) ; &I-M-39113;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38784) ; &M-38784;
))
(define-char
(=cns11643-6 . #x3462) ; &C6-3462; [20-66]
))
(define-char
- '((=>ucs . #x8FE4) ; 迤
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FE4) ; 迤
+ (=big5 . #xADA3) ; &I-B-ADA3;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE4) ; 迤
+ ))
+ (<-same
+ ((=jis-x0212 . #x6146) ; &M-38804; [65-38]
+ (=jis-x0213-2-2000 . #x7974) ; &I-JX2-7974; [89-84]
+ (=daikanwa . 38804) ; &I-M-38804;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6143) ; &M-38785; [65-35]
(=jis-x0213-1-2000 . #x7C54) ; &I-JX1-7C54; [92-52]
- (=big5 . #xADA3) ; &I-B-ADA3;
(=daikanwa . 38785) ; &I-M-38785;
(=ucs@jis . #x8FE4) ; &M-38785;
))
(define-char
- '((=>ucs . #x8FE4) ; 迤
- (morohashi-daikanwa 38785 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=cns11643-1 . #x5364) ; &C1-5364; [51-68]
+ (<-denotational
+ ((=ucs . #x8FE4) ; 迤
+ ))
+ (=gb2312 . #x6546) ; &G0-6546; [69-38]
+ (=ucs@unicode . #x8FE4) ; &G0-6546;
))
(define-char
- '((morohashi-daikanwa 38785 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=ucs . #x8FE4) ; 迤
- (=gb2312 . #x6546) ; &I-G0-6546; [69-38]
+ (<-denotational
+ ((=ucs . #x8FE4) ; 迤
+ ))
+ (=cns11643-1 . #x5364) ; &C1-5364; [51-68]
))
(define-char
- '((=>ucs . #x8FE5) ; 迥
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FE5) ; 迥
+ (=big5 . #xAD7E) ; &I-B-AD7E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE5) ; 迥
+ ))
+ (<-synonyms
+ ((=ucs . #x6CC2) ; 泂
+ (=daikanwa . 17265) ; &I-M-17265;
+ ))
+ (<-synonyms*sources
+ zhengzitong daikanwa)
(shinjigen-2 . 8237)
(=jis-x0208 . #x6D6A) ; >-51864; [77-74]
- (=big5 . #xAD7E) ; &I-B-AD7E;
(=gt . 51864) ; &I-GT-51864;
(=gt-k . 05292) ; &I-GT-K05292;
(=gt-pj-1 . #x6D6A) ; &I-GT-51864; [77-74]
(=ucs@jis . #x8FE5) ; >-51864;
))
(define-char
- '((=>ucs . #x8FE5) ; 迥
- (morohashi-daikanwa 38786 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FE5) ; 迥
+ ))
+ (=gb2312 . #x6544) ; &G0-6544; [69-36]
+ (=ucs@unicode . #x8FE5) ; &G0-6544;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE5) ; 迥
+ ))
(=cns11643-1 . #x5361) ; &C1-5361; [51-65]
))
(define-char
- '((morohashi-daikanwa 38786 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x28489) ; 𨒉
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 9)
+ (<-ancient
+ ((=ks-x1001 . #x6244) ; >-52349; [66-36]
+ (=daikanwa . 38985) ; &I-M-38985;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x28489) ; 𨒉
+ ))
+ (=daikanwa . 38787) ; &M-38787;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 8)
- (=ucs . #x8FE5) ; 迥
- (=gb2312 . #x6544) ; &I-G0-6544; [69-36]
+ (<-denotational
+ ((=ucs . #x28489) ; 𨒉
+ ))
+ (=ucs@iso . #x28489) ; &U-00028489;
))
(define-char
- '((=>daikanwa . 38787) ; &M-38787;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (=ucs . #x28489) ; 𨒉
- (->subsumptive
- ((total-strokes . 9)
- (=daikanwa . 38787) ; &M-38787;
- )
- ((total-strokes . 9)
- (=cns11643-5 . #x2B55) ; &C5-2B55; [11-53]
- )
- ((total-strokes . 8)
- (=ucs@iso . #x28489) ; &U-00028489;
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x28489) ; 𨒉
))
+ (=cns11643-5 . #x2B55) ; &C5-2B55; [11-53]
))
(define-char
- '((=>daikanwa . 38788) ; &M-38788;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(=ucs . #x2848A) ; 𨒊
(->subsumptive
(<-denotational
((=ucs . #x8FE6) ; 迦
))
+ (<-same
+ ((=daikanwa . 38987) ; &M-38987;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
+ (<-synonyms
+ ((=jis-x0208 . #x6E30) ; >-52683; [78-16]
+ (=ks-x1001 . #x7A33) ; &I-K0-7A33; [90-19]
+ (=daikanwa . 39173) ; &I-M-39173;
+ ))
+ (<-synonyms*sources
+ jiyun kangxi daikanwa)
(=jis-x0208@1978 . #x3260) ; &M-38789; [18-64]
(=ks-x1001 . #x4A3C) ; &I-K0-4A3C; [42-28]
(=daikanwa . 38789) ; &I-M-38789;
(=cns11643-1 . #x535E) ; &C1-535E; [51-62]
))
(define-char
- '((=>ucs . #x8FE7) ; 迧
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FE7) ; 迧
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE7) ; 迧
+ ))
+ (<-same
+ ((=ucs . #x9673) ; 陳
+ (=daikanwa . 41698) ; &I-M-41698;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 38790) ; &M-38790;
))
(define-char
- '((=>ucs . #x8FE7) ; 迧
- (morohashi-daikanwa 38790 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FE7) ; 迧
+ ))
+ (=ucs@unicode . #x8FE7) ; &UU+8FE7;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE7) ; 迧
+ ))
(=cns11643-3 . #x2F31) ; &C3-2F31; [15-17]
))
(define-char
- '((morohashi-daikanwa 38790 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x8FE7) ; 迧
+ (=ucs . #x8FE8) ; 迨
+ (=big5 . #xADA4) ; &I-B-ADA4;
))
(define-char
- '((=>ucs . #x8FE8) ; 迨
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE8) ; 迨
+ ))
(=jis-x0212 . #x6144) ; &M-38791; [65-36]
(=jis-x0213-1-2000 . #x7C55) ; &I-JX1-7C55; [92-53]
- (=big5 . #xADA4) ; &I-B-ADA4;
(=daikanwa . 38791) ; &I-M-38791;
(=ucs@jis . #x8FE8) ; &M-38791;
))
(define-char
- '((=>ucs . #x8FE8) ; 迨
- (morohashi-daikanwa 38791 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FE8) ; 迨
+ ))
+ (=gb2312 . #x654A) ; &G0-654A; [69-42]
+ (=ucs@unicode . #x8FE8) ; &G0-654A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FE8) ; 迨
+ ))
(=cns11643-1 . #x5365) ; &C1-5365; [51-69]
))
(define-char
- '((morohashi-daikanwa 38791 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x8FE8) ; 迨
- (=gb2312 . #x654A) ; &I-G0-654A; [69-42]
+ (=ucs . #x2848B) ; 𨒋
))
(define-char
- '((=>ucs . #x2848B) ; 𨒋
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x2848B) ; 𨒋
+ ))
(=daikanwa . 38792) ; &M-38792;
))
(define-char
- '((=>ucs . #x2848B) ; 𨒋
- (morohashi-daikanwa 38792 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=cns11643-4 . #x2B4F) ; &C4-2B4F; [11-47]
+ (<-denotational
+ ((=ucs . #x2848B) ; 𨒋
+ ))
+ (=ucs@iso . #x2848B) ; &U-0002848B;
))
(define-char
- '((morohashi-daikanwa 38792 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=ucs . #x2848B) ; 𨒋
+ (<-denotational
+ ((=ucs . #x2848B) ; 𨒋
+ ))
+ (=cns11643-4 . #x2B4F) ; &C4-2B4F; [11-47]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(<-denotational
((=ucs . #x8FE9) ; 迩
))
+ (<-same
+ ((=jis-x0208@1978 . #x4676) ; >-52751; [38-86]
+ (=jis-x0208@1983 . #x6D6E) ; &I-J83-6D6E; [77-78]
+ (=ks-x1001 . #x6C44) ; &I-K0-6C44; [76-36]
+ (=daikanwa . 39193) ; &I-M-39193;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=jis-x0208@1978 . #x6D6E) ; &M-38793; [77-78]
(=daikanwa . 38793) ; &I-M-38793;
))
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (->formed
+ ((=ucs . #x5F81) ; 征
+ (=daikanwa . 10077) ; &I-M-10077;
+ ))
+ (->formed*sources
+ shuowen daikanwa)
+ (<-ancient
+ ((=ucs . #x5FB0) ; 徰
+ (=daikanwa . 10210) ; &I-M-10210;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 38796) ; &M-38796;
))
(define-char
(=ucs . #x2848C) ; 𨒌
))
(define-char
- '((=>ucs . #x8FEB) ; 迫
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FEB) ; 迫
+ (=big5 . #xADA2) ; &I-B-ADA2;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FEB) ; 迫
+ ))
+ (<-synonyms
+ ((=ucs . #x6540) ; 敀
+ (=daikanwa . 13154) ; &I-M-13154;
+ ))
+ (<-synonyms*sources
+ guangyun daikanwa)
(=ks-x1001 . #x5A5E) ; &M-38797; [58-62]
- (=big5 . #xADA2) ; &I-B-ADA2;
(=daikanwa . 38797) ; &I-M-38797;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FEB) ; 迫
+ ))
+ (=cns11643-1 . #x5363) ; &C1-5363; [51-67]
+ ))
+(define-char
'((morohashi-daikanwa 38797 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 8)
- (=ucs . #x8FEB) ; 迫
- (=jis-x0208 . #x4777) ; &I-J90-4777; [39-87]
+ (<-denotational
+ ((=ucs . #x8FEB) ; 迫
+ ))
+ (=jis-x0208 . #x4777) ; >-51829; [39-87]
(=gb2312 . #x4648) ; &I-G0-4648; [38-40]
(=gt . 51829) ; &I-GT-51829;
(=gt-pj-1 . #x4777) ; &I-GT-51829; [39-87]
+ (=ucs@unicode . #x8FEB) ; >-51829;
(mojikyo . 050494) ; &MCS-6000C53E;
))
(define-char
- '((=>ucs . #x8FEB) ; 迫
- (morohashi-daikanwa 38797 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 5)
- (total-strokes . 9)
- (->mojikyo . 050494) ; 迫
- (=cns11643-1 . #x5363) ; &C1-5363; [51-67]
- ))
-(define-char
- '((=>daikanwa . 38798) ; &M-38798;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(=ucs . #x2848D) ; 𨒍
(->subsumptive
((total-strokes . 9)
+ (<-wrong
+ ((=jis-x0212 . #x6142) ; &M-38783; [65-34]
+ (=daikanwa . 38783) ; &I-M-38783;
+ ))
+ (<-wrong*sources
+ zhengzitong daikanwa)
(=daikanwa . 38798) ; &M-38798;
)
((total-strokes . 9)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-ancient
+ ((=daikanwa . 10073) ; &M-10073;
+ ))
+ (<-ancient*sources
+ zihui daikanwa)
(=daikanwa . 38799) ; &M-38799;
))
(define-char
(=ucs . #x8FEC) ; 迬
))
(define-char
- '((=>ucs . #x8FED) ; 迭
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FED) ; 迭
+ (=big5 . #xADA1) ; &I-B-ADA1;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (->formed
+ ((=ucs . #x8E22) ; 踢
+ (=daikanwa . 37648) ; &I-M-37648;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x8FED) ; 迭
+ ))
+ (<-synonyms
+ ((=ucs . #x39B6) ; 㦶
+ (=daikanwa . 11588) ; &I-M-11588;
+ ))
+ (<-synonyms*sources
+ maoshi daikanwa)
(=ks-x1001 . #x7277) ; &M-38800; [82-87]
- (=big5 . #xADA1) ; &I-B-ADA1;
(=daikanwa . 38800) ; &I-M-38800;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FED) ; 迭
+ ))
+ (=cns11643-1 . #x5362) ; &C1-5362; [51-66]
+ ))
+(define-char
'((morohashi-daikanwa 38800 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 8)
- (=ucs . #x8FED) ; 迭
- (=jis-x0208 . #x4533) ; &I-J90-4533; [37-19]
+ (<-denotational
+ ((=ucs . #x8FED) ; 迭
+ ))
+ (=jis-x0208 . #x4533) ; >-51824; [37-19]
(=gb2312 . #x357C) ; &I-G0-357C; [21-92]
(=gt . 51824) ; &I-GT-51824;
(=gt-pj-1 . #x4533) ; &I-GT-51824; [37-19]
+ (=ucs@unicode . #x8FED) ; >-51824;
(mojikyo . 050495) ; &MCS-6000C53F;
))
(define-char
- '((=>ucs . #x8FED) ; 迭
- (morohashi-daikanwa 38800 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 9)
- (->mojikyo . 050495) ; 迭
- (=cns11643-1 . #x5362) ; &C1-5362; [51-66]
+ (=ucs . #x8FEE) ; 迮
+ (=big5 . #xD0B5) ; &I-B-D0B5;
))
(define-char
- '((=>ucs . #x8FEE) ; 迮
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FEE) ; 迮
+ ))
+ (<-synonyms
+ ((=ucs . #x224D3) ; 𢓓
+ (=daikanwa . 10064) ; &I-M-10064;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
+ (<-vulgar
+ ((=jis-x0208 . #x3A75) ; >-32852; [26-85]
+ (=ks-x1001 . #x7338) ; &I-K0-7338; [83-24]
+ (=daikanwa . 25455) ; &I-M-25455;
+ ))
+ (<-vulgar*sources
+ shuowen-tongxundingsheng daikanwa)
(=jis-x0212 . #x6145) ; &M-38801; [65-37]
(=jis-x0213-1-2000 . #x7C56) ; &I-JX1-7C56; [92-54]
- (=big5 . #xD0B5) ; &I-B-D0B5;
(=daikanwa . 38801) ; &I-M-38801;
(=ucs@jis . #x8FEE) ; &M-38801;
))
(define-char
- '((=>ucs . #x8FEE) ; 迮
- (morohashi-daikanwa 38801 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 9)
- (=cns11643-2 . #x2D56) ; &C2-2D56; [13-54]
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FEE) ; 迮
+ ))
+ (=gb2312 . #x6545) ; &G0-6545; [69-37]
+ (=ucs@unicode . #x8FEE) ; &G0-6545;
))
(define-char
- '((morohashi-daikanwa 38801 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x8FEE) ; 迮
- (=gb2312 . #x6545) ; &I-G0-6545; [69-37]
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FEE) ; 迮
+ ))
+ (=cns11643-2 . #x2D56) ; &C2-2D56; [13-54]
))
(define-char
'((=>ucs . #x8FEF) ; 迯
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-vulgar
+ ((=ks-x1001 . #x5431) ; &M-38845; [52-17]
+ (=daikanwa . 38845) ; &I-M-38845;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa shinjigen-1)
+ (shinjigen-1 . 8263)
(shinjigen-2 . 8263)
(=jis-x0208 . #x6D6D) ; >-51920; [77-77]
(=gt . 51920) ; &I-GT-51920;
(=ucs . #x8FEF) ; 迯
))
(define-char
- '((=>ucs . #x8FF0) ; 述
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (=ucs . #x8FF0) ; 述
+ (=big5 . #xAD7A) ; &I-B-AD7A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (->Large-Seal
+ ((=daikanwa . 39049) ; &M-39049;
+ ))
+ (->Large-Seal*sources
+ shuowen daikanwa)
+ (->formed
+ ((=ks-x1001 . #x627A) ; &M-34046; [66-90]
+ (=daikanwa . 34046) ; &I-M-34046;
+ ))
+ (->formed*sources
+ maoshi daikanwa)
+ (<-ancient
+ ((=jis-x0212 . #x6166) ; &M-39129; [65-70]
+ (=daikanwa . 39129) ; &I-M-39129;
+ ))
+ (<-ancient*sources
+ erya daikanwa)
+ (<-denotational
+ ((=ucs . #x8FF0) ; 述
+ ))
(=ks-x1001 . #x627B) ; &M-38803; [66-91]
- (=big5 . #xAD7A) ; &I-B-AD7A;
(=daikanwa . 38803) ; &I-M-38803;
))
(define-char
- '((=>ucs . #x8FF0) ; 述
- (morohashi-daikanwa 38803 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FF0) ; 述
+ ))
(=cns11643-1 . #x535D) ; &C1-535D; [51-61]
))
(define-char
- '((=>ucs . #x8FF0) ; 述
- (morohashi-daikanwa 38803 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 8)
- (=jis-x0208 . #x3D52) ; >-51783; [29-50]
- (=gt . 51783) ; &I-GT-51783;
- (=gt-pj-1 . #x3D52) ; &I-GT-51783; [29-50]
- (=ucs@jis . #x8FF0) ; >-51783;
+ (<-denotational
+ ((=ucs . #x8FF0) ; 述
+ ))
+ (->subsumptive
+ ((=jis-x0208 . #x3D52) ; >-51783; [29-50]
+ (=gt . 51783) ; &I-GT-51783;
+ (=gt-pj-1 . #x3D52) ; &I-GT-51783; [29-50]
+ (=ucs@jis . #x8FF0) ; >-51783;
+ )
+ ((=gb2312 . #x4A76) ; &G0-4A76; [42-86]
+ (=ucs@unicode . #x8FF0) ; &G0-4A76;
+ ))
))
(define-char
- '((morohashi-daikanwa 38803 0 5)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
- (total-strokes . 8)
- (=ucs . #x8FF0) ; 述
- (=gb2312 . #x4A76) ; &I-G0-4A76; [42-86]
+ (=ucs . #x8FF1) ; 迱
))
(define-char
- '((=>ucs . #x8FF1) ; 迱
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (->formed
+ ((=jis-x0212 . #x6143) ; &M-38785; [65-35]
+ (=jis-x0213-1-2000 . #x7C54) ; &I-JX1-7C54; [92-52]
+ (=daikanwa . 38785) ; &I-M-38785;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x8FF1) ; 迱
+ ))
(=jis-x0212 . #x6146) ; &M-38804; [65-38]
(=jis-x0213-2-2000 . #x7974) ; &I-JX2-7974; [89-84]
(=daikanwa . 38804) ; &I-M-38804;
(=ucs@jis . #x8FF1) ; &M-38804;
))
(define-char
- '((morohashi-daikanwa 38804 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 5)
+ (total-strokes . 8)
+ (<-denotational
+ ((=ucs . #x8FF1) ; 迱
+ ))
+ (=ucs@unicode . #x8FF1) ; &UU+8FF1;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
- (=ucs . #x8FF1) ; 迱
- (=cns11643-3 . #x2F30) ; &I-C3-2F30; [15-16]
+ (<-denotational
+ ((=ucs . #x8FF1) ; 迱
+ ))
+ (=cns11643-3 . #x2F30) ; &C3-2F30; [15-16]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-ancient
+ ((=jis-x0212 . #x615C) ; &M-38988; [65-60]
+ (=jis-x0213-2-2000 . #x797C) ; &I-JX2-797C; [89-92]
+ (=daikanwa . 38988) ; &I-M-38988;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 38805) ; &M-38805;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-ancient
+ ((=jis-x0208 . #x6D71) ; >-51996; [77-81]
+ (=ks-x1001 . #x6E69) ; &I-K0-6E69; [78-73]
+ (=daikanwa . 38827) ; &I-M-38827;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 38806) ; &M-38806;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-same
+ ((=ucs . #x27EBC) ; 𧺼
+ (=daikanwa . 37097) ; &I-M-37097;
+ ))
+ (<-same*sources
+ yupian daikanwa)
(=daikanwa . 38809) ; &M-38809;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-same
+ ((=daikanwa . 38776) ; &M-38776;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38810) ; &M-38810;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 5)
(total-strokes . 9)
+ (<-same
+ ((=daikanwa . 38745) ; &M-38745;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 38813) ; &M-38813;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-ancient
+ ((=daikanwa . 10098) ; &M-10098;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 38817) ; &M-38817;
))
(define-char
(=cns11643-6 . #x3C58) ; &C6-3C58; [28-56]
))
(define-char
- '((=>ucs . #x8FF4) ; 迴
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (total-strokes . 10)
+ (=ucs . #x8FF4) ; 迴
+ (=big5 . #xB06A) ; &I-B-B06A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF4) ; 迴
+ ))
+ (shinjigen-1 . 8249)
(shinjigen-2 . 8249)
(=jis-x0208 . #x6D6F) ; >-51951; [77-79]
- (=big5 . #xB06A) ; &I-B-B06A;
(=gt . 51951) ; &I-GT-51951;
(=gt-k . 06647) ; &I-GT-K06647;
(=gt-pj-1 . #x6D6F) ; &I-GT-51951; [77-79]
(=ucs@jis . #x8FF4) ; >-51951;
))
(define-char
- '((=>ucs . #x8FF4) ; 迴
- (morohashi-daikanwa 38818 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 10)
- (=cns11643-1 . #x584F) ; &C1-584F; [56-47]
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FF4) ; 迴
+ ))
+ (=gb12345 . #x783C) ; &UU+8FF4; [88-28]
+ (=ucs@unicode . #x8FF4) ; &UU+8FF4;
))
(define-char
- '((morohashi-daikanwa 38818 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 9)
- (=ucs . #x8FF4) ; 迴
- (=gb12345 . #x783C) ; 迴 [88-28]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF4) ; 迴
+ ))
+ (=cns11643-1 . #x584F) ; &C1-584F; [56-47]
))
(define-char
- '((=>daikanwa . 38819) ; &M-38819;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(=ucs . #x284A6) ; 𨒦
(->subsumptive
))
))
(define-char
- '((=>ucs . #x4892) ; 䢒
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (=ucs . #x4892) ; 䢒
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x4892) ; 䢒
+ ))
+ (<-synonyms
+ ((=jis-x0208@1978 . #x3872) ; &M-00291; [24-82]
+ (=jis-x0208@1983 . #x3872) ; &I-J83-3872; [24-82]
+ (=ks-x1001 . #x4E5F) ; &I-K0-4E5F; [46-63]
+ (=daikanwa . 00291) ; &I-M-00291;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(=daikanwa . 38820) ; &M-38820;
))
(define-char
- '((morohashi-daikanwa 38820 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x4892) ; 䢒
+ ))
+ (=ucs@unicode . #x4892) ; &UU+4892;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
- (=ucs . #x4892) ; 䢒
- (=cns11643-3 . #x3423) ; &I-C3-3423; [20-03]
+ (<-denotational
+ ((=ucs . #x4892) ; 䢒
+ ))
+ (=cns11643-3 . #x3423) ; &C3-3423; [20-03]
))
(define-char
- '((=>ucs . #x8FF5) ; 迵
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (=ucs . #x8FF5) ; 迵
+ (=big5 . #xD3EB) ; &I-B-D3EB;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF5) ; 迵
+ ))
(=jis-x0212 . #x6147) ; &M-38821; [65-39]
(=jis-x0213-2-2000 . #x7975) ; &I-JX2-7975; [89-85]
- (=big5 . #xD3EB) ; &I-B-D3EB;
(=daikanwa . 38821) ; &I-M-38821;
(=ucs@jis . #x8FF5) ; &M-38821;
))
(define-char
- '((=>ucs . #x8FF5) ; 迵
- (morohashi-daikanwa 38821 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FF5) ; 迵
+ ))
+ (=ucs@unicode . #x8FF5) ; &UU+8FF5;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF5) ; 迵
+ ))
(=cns11643-2 . #x332F) ; &C2-332F; [19-15]
))
(define-char
- '((morohashi-daikanwa 38821 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 9)
- (=ucs . #x8FF5) ; 迵
+ (=ucs . #x8FF6) ; 迶
+ (=big5 . #xD3F1) ; &I-B-D3F1;
))
(define-char
- '((=>ucs . #x8FF6) ; 迶
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF6) ; 迶
+ ))
(=jis-x0212 . #x6148) ; &M-38822; [65-40]
- (=big5 . #xD3F1) ; &I-B-D3F1;
(=daikanwa . 38822) ; &I-M-38822;
(=ucs@jis . #x8FF6) ; &M-38822;
))
(define-char
- '((=>ucs . #x8FF6) ; 迶
- (morohashi-daikanwa 38822 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
- (=cns11643-2 . #x3335) ; &C2-3335; [19-21]
+ (<-denotational
+ ((=ucs . #x8FF6) ; 迶
+ ))
+ (=ucs@unicode . #x8FF6) ; &UU+8FF6;
))
(define-char
- '((morohashi-daikanwa 38822 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
- (=ucs . #x8FF6) ; 迶
+ (<-denotational
+ ((=ucs . #x8FF6) ; 迶
+ ))
+ (=cns11643-2 . #x3335) ; &C2-3335; [19-21]
))
(define-char
- '((=>ucs . #x4893) ; 䢓
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (=ucs . #x4893) ; 䢓
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x4893) ; 䢓
+ ))
(=daikanwa . 38823) ; &M-38823;
))
(define-char
- '((morohashi-daikanwa 38823 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x4893) ; 䢓
+ ))
+ (=ucs@unicode . #x4893) ; &UU+4893;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
- (=ucs . #x4893) ; 䢓
- (=cns11643-4 . #x302D) ; &I-C4-302D; [16-13]
+ (<-denotational
+ ((=ucs . #x4893) ; 䢓
+ ))
+ (=cns11643-4 . #x302D) ; &C4-302D; [16-13]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=jis-x0212 . #x6142) ; &M-38783; [65-34]
+ (=daikanwa . 38783) ; &I-M-38783;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38824) ; &M-38824;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (->formed
+ ((=daikanwa . 39081) ; &M-39081;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-same
+ ((=jis-x0208 . #x4057) ; >-50150; [32-55]
+ (=ks-x1001 . #x6E66) ; &I-K0-6E66; [78-70]
+ (=daikanwa . 37493) ; &I-M-37493;
+ ))
+ (<-same*sources
+ maoshi daikanwa)
(shinjigen-2 . 8003)
(=jis-x0208 . #x6D71) ; >-51996; [77-81]
(=ks-x1001 . #x6E69) ; &I-K0-6E69; [78-73]
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (->mistakable
+ ((=ks-x1001 . #x615C) ; &M-38897; [65-60]
+ (=daikanwa . 38897) ; &I-M-38897;
+ ))
+ (->mistakable*sources
+ zihui daikanwa)
+ (<-same
+ ((=jis-x0208 . #x6D71) ; >-51996; [77-81]
+ (=ks-x1001 . #x6E69) ; &I-K0-6E69; [78-73]
+ (=daikanwa . 38827) ; &I-M-38827;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38828) ; &M-38828;
))
(define-char
))
))
(define-char
- '((=>ucs . #x8FFA) ; 迺
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (=ucs . #x8FFA) ; 迺
+ (=big5 . #xB069) ; &I-B-B069;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FFA) ; 迺
+ ))
+ (<-synonyms
+ ((=ucs . #x4E43) ; 乃
+ (=daikanwa . 00113) ; &I-M-00113;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng erya yupian zhengzitong liezi jingdian-shiwen daikanwa)
+ (shinjigen-1 . 8257)
(shinjigen-2 . 8257)
(=jis-x0208 . #x6D72) ; >-52008; [77-82]
- (=big5 . #xB069) ; &I-B-B069;
(=gt . 52008) ; &I-GT-52008;
(=gt-k . 06649) ; &I-GT-K06649;
(=gt-pj-1 . #x6D72) ; &I-GT-52008; [77-82]
(=ucs@jis . #x8FFA) ; >-52008;
))
(define-char
- '((=>ucs . #x8FFA) ; 迺
- (morohashi-daikanwa 38831 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 10)
- (=cns11643-1 . #x584E) ; &C1-584E; [56-46]
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FFA) ; 迺
+ ))
+ (=iso-ir165 . #x2D5C) ; &EGB-2D5C; [13-60]
+ (=ucs@unicode . #x8FFA) ; &EGB-2D5C;
))
(define-char
- '((morohashi-daikanwa 38831 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 9)
- (=ucs . #x8FFA) ; 迺
- (=iso-ir165 . #x2D5C) ; &I-EGB-2D5C; [13-60]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FFA) ; 迺
+ ))
+ (=cns11643-1 . #x584E) ; &C1-584E; [56-46]
))
(define-char
- '((=>daikanwa . 38832) ; &M-38832;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(=ucs . #x284AC) ; 𨒬
(->subsumptive
))
))
(define-char
- '((=>ucs . #x8FFB) ; 迻
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (=ucs . #x8FFB) ; 迻
+ (=big5 . #xD3EE) ; &I-B-D3EE;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FFB) ; 迻
+ ))
+ (<-synonyms
+ ((=ucs . #x79FB) ; 移
+ (=daikanwa . 25045) ; &I-M-25045;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6149) ; &M-38833; [65-41]
(=jis-x0213-2-2000 . #x7976) ; &I-JX2-7976; [89-86]
- (=big5 . #xD3EE) ; &I-B-D3EE;
(=daikanwa . 38833) ; &I-M-38833;
(=ucs@jis . #x8FFB) ; &M-38833;
))
(define-char
- '((=>ucs . #x8FFB) ; 迻
- (morohashi-daikanwa 38833 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FFB) ; 迻
+ ))
+ (=ucs@unicode . #x8FFB) ; &UU+8FFB;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FFB) ; 迻
+ ))
(=cns11643-2 . #x3332) ; &C2-3332; [19-18]
))
(define-char
- '((morohashi-daikanwa 38833 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 9)
- (=ucs . #x8FFB) ; 迻
+ (=ucs . #x8FFC) ; 迼
+ (=big5 . #xD3F0) ; &I-B-D3F0;
))
(define-char
- '((=>ucs . #x8FFC) ; 迼
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
- (=big5 . #xD3F0) ; &M-38834;
- (=daikanwa . 38834) ; &I-M-38834;
+ (<-denotational
+ ((=ucs . #x8FFC) ; 迼
+ ))
+ (<-wrong
+ ((=ucs . #x8D8C) ; 趌
+ (=daikanwa . 37117) ; &I-M-37117;
+ ))
+ (<-wrong*sources
+ zhengzitong daikanwa)
+ (=daikanwa . 38834) ; &M-38834;
))
(define-char
- '((=>ucs . #x8FFC) ; 迼
- (morohashi-daikanwa 38834 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 10)
- (=cns11643-2 . #x3334) ; &C2-3334; [19-20]
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x8FFC) ; 迼
+ ))
+ (=ucs@unicode . #x8FFC) ; &UU+8FFC;
))
(define-char
- '((morohashi-daikanwa 38834 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 9)
- (=ucs . #x8FFC) ; 迼
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FFC) ; 迼
+ ))
+ (=cns11643-2 . #x3334) ; &C2-3334; [19-20]
))
(define-char
'((=>ucs . #x4894) ; 䢔
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-ancient
+ ((=jis-x0208 . #x6E2E) ; >-56259; [78-14]
+ (=ks-x1001 . #x624B) ; &I-K0-624B; [66-43]
+ (=daikanwa . 41871) ; &I-M-41871;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(<-denotational
((=ucs . #x8FFD) ; 追
))
+ (<-synonyms@p3-1
+ ((=ucs . #x200A4) ; 𠂤
+ (=daikanwa . 00141) ; &I-M-00141;
+ ))
+ (<-synonyms@p3-1*sources
+ shuowen-tongxundingsheng yili yili-shu daikanwa)
(=ks-x1001 . #x755A) ; &M-38836; [85-58]
(=daikanwa . 38836) ; &I-M-38836;
(=jef-china3 . #x67BA) ; &I-JC3-67BA;
(<-denotational
((=ucs . #x8FFE) ; 迾
))
+ (<-synonyms@s4
+ ((=cns11643-1 . #x6C30) ; &M-03041; [76-16]
+ (=daikanwa . 03041) ; &I-M-03041;
+ ))
+ (<-synonyms@s4*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x614A) ; &M-38837; [65-42]
(=daikanwa . 38837) ; &I-M-38837;
(=ucs@jis . #x8FFE) ; &M-38837;
(<-denotational
((=ucs . #x9000) ; 退
))
+ (<-same@p2
+ ((=jis-x0208 . #x6A74) ; >-46460; [74-84]
+ (=ks-x1001 . #x775B) ; &I-K0-775B; [87-59]
+ (=daikanwa . 34503) ; &I-M-34503;
+ ))
+ (<-same@p2*sources
+ zhengzitong daojing daikanwa)
(=ks-x1001 . #x775C) ; &M-38839; [87-60]
(=daikanwa . 38839) ; &I-M-38839;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (->formed
+ ((=ucs . #x62EC) ; 括
+ (=daikanwa . 11988) ; &I-M-11988;
+ ))
+ (->formed*sources
+ lunyu jingdian-shiwen daikanwa)
(<-denotational
((=ucs . #x9002) ; 适
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (->formed
+ ((=jis-x0208@1978 . #x4437) ; &M-37533; [36-23]
+ (=jis-x0208@1983 . #x4437) ; &I-J83-4437; [36-23]
+ (=daikanwa . 37533) ; &I-M-37533;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
(<-denotational
((=ucs . #x9003) ; 逃
))
+ (<-synonyms
+ ((=ucs . #x9676) ; 陶
+ (=daikanwa . 41705) ; &I-M-41705;
+ ))
+ (<-synonyms*sources
+ xunzi daikanwa)
(=ks-x1001 . #x5431) ; &M-38845; [52-17]
(=daikanwa . 38845) ; &I-M-38845;
(=jef-china3 . #x67BD) ; &I-JC3-67BD;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-ancient
+ ((=ks-x1001 . #x5431) ; &M-38845; [52-17]
+ (=daikanwa . 38845) ; &I-M-38845;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 38846) ; &M-38846;
))
(define-char
(=cns11643-6 . #x3C56) ; &C6-3C56; [28-54]
))
(define-char
- '((=>ucs . #x9004) ; 逄
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (=ucs . #x9004) ; 逄
+ (=big5 . #xD3EF) ; &I-B-D3EF;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (->mistakable
+ ((=jis-x0208@1978 . #x3029) ; &M-38901; [16-09]
+ (=ks-x1001 . #x5C71) ; &I-K0-5C71; [60-81]
+ (=daikanwa . 38901) ; &I-M-38901;
+ ))
+ (->mistakable*sources
+ zihui daikanwa)
+ (<-denotational
+ ((=ucs . #x9004) ; 逄
+ ))
(=jis-x0212 . #x614C) ; &M-38847; [65-44]
(=daikanwa . 38847) ; &I-M-38847;
(=ucs@jis . #x9004) ; &M-38847;
))
(define-char
- '((=>ucs . #x9004) ; 逄
- (morohashi-daikanwa 38847 0 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 10)
- (=big5 . #xD3EF) ; &B-D3EF;
- (=ucs@big5 . #x9004) ; &B-D3EF;
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x9004) ; 逄
+ ))
+ (=gb2312 . #x654C) ; &G0-654C; [69-44]
+ (=ucs@unicode . #x9004) ; &G0-654C;
))
(define-char
- '((=>ucs . #x9004) ; 逄
- (morohashi-daikanwa 38847 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x9004) ; 逄
+ ))
(=cns11643-2 . #x3333) ; &C2-3333; [19-19]
))
(define-char
- '((morohashi-daikanwa 38847 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 10)
- (=ucs . #x9004) ; 逄
- (=gb2312 . #x654C) ; &I-G0-654C; [69-44]
+ (=ucs . #x9005) ; 逅
+ (=big5 . #xB06D) ; &I-B-B06D;
))
(define-char
- '((=>ucs . #x9005) ; 逅
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (->formed
+ ((=jis-x0208@1978 . #x6B32) ; >-47018; [75-18]
+ (=daikanwa . 34937) ; &I-M-34937;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9005) ; 逅
+ ))
+ (<-vulgar
+ ((shinjigen-1 . 8359)
+ (=jis-x0208@1978 . #x6E29) ; &M-39031; [78-09]
+ (=daikanwa . 39031) ; &I-M-39031;
+ ))
+ (<-vulgar*sources
+ shinjigen-1)
+ (shinjigen-1 . 8360)
(shinjigen-2 . 8361)
(=jis-x0208 . #x6D70) ; >-51977; [77-80]
(=ks-x1001 . #x7D31) ; &I-K0-7D31; [93-17]
- (=big5 . #xB06D) ; &I-B-B06D;
(=gt . 51977) ; &I-GT-51977;
(=gt-pj-1 . #x6D70) ; &I-GT-51977; [77-80]
(=daikanwa . 38848) ; &I-M-38848;
(=ucs@jis . #x9005) ; >-51977;
))
(define-char
- '((=>ucs . #x9005) ; 逅
- (morohashi-daikanwa 38848 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 10)
- (=cns11643-1 . #x5852) ; &C1-5852; [56-50]
+ (total-strokes . 9)
+ (<-denotational
+ ((=ucs . #x9005) ; 逅
+ ))
+ (=gb2312 . #x654B) ; &G0-654B; [69-43]
+ (=ucs@unicode . #x9005) ; &G0-654B;
))
(define-char
- '((morohashi-daikanwa 38848 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
- (total-strokes . 9)
- (=ucs . #x9005) ; 逅
- (=gb2312 . #x654B) ; &I-G0-654B; [69-43]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x9005) ; 逅
+ ))
+ (=cns11643-1 . #x5852) ; &C1-5852; [56-50]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(<-denotational
((=ucs . #x9006) ; 逆
))
+ (<-synonyms
+ ((=ucs . #x65A5) ; 斥
+ (=daikanwa . 13535) ; &I-M-13535;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng jiyun zhouli zhouli-zhu daikanwa)
(=ks-x1001 . #x663D) ; &M-38849; [70-29]
(=daikanwa . 38849) ; &I-M-38849;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=gb2312 . #x3B56) ; &M-10577; [27-54]
+ (=daikanwa . 10577) ; &I-M-10577;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 38850) ; &M-38850;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=jis-x0212 . #x5F50) ; >-49688; [63-48]
+ (=daikanwa . 37133) ; &I-M-37133;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38851) ; &M-38851;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-ancient
+ ((=jis-x0208 . #x5E62) ; >-22881; [62-66]
+ (=ks-x1001 . #x6A7D) ; &I-K0-6A7D; [74-93]
+ (=daikanwa . 17792) ; &I-M-17792;
+ ))
+ (<-ancient*sources
+ shuowen daikanwa)
(=daikanwa . 38852) ; &M-38852;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-ancient
+ ((=ks-x1001 . #x7063) ; &M-38898; [80-67]
+ (=daikanwa . 38898) ; &I-M-38898;
+ ))
+ (<-ancient*sources
+ jiyun pianhai-leibian daikanwa)
(=daikanwa . 38853) ; &M-38853;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 38855) ; &M-38855;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=jis-x0208@1978 . #x446D) ; &M-09337; [36-77]
+ (=jis-x0208@1983 . #x446D) ; &I-J83-446D; [36-77]
+ (=ks-x1001 . #x6F54) ; &I-K0-6F54; [79-52]
+ (=daikanwa . 09337) ; &I-M-09337;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 38857) ; &M-38857;
))
(define-char
(=ucs . #x284C1) ; 𨓁
(->subsumptive
((total-strokes . 10)
+ (<-same
+ ((=daikanwa . 39055) ; &M-39055;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38858) ; &M-38858;
)
((total-strokes . 10)
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=jis-x0212 . #x6142) ; &M-38783; [65-34]
+ (=daikanwa . 38783) ; &I-M-38783;
+ ))
+ (<-same*sources
+ kangxi daikanwa)
(=daikanwa . 38861) ; &M-38861;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=jis-x0208 . #x4234) ; >-03504; [34-20]
+ (=ks-x1001 . #x706F) ; &I-K0-706F; [80-79]
+ (=daikanwa . 02740) ; &I-M-02740;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38862) ; &M-38862;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-same
+ ((=ks-x1001 . #x5A3B) ; &M-38825; [58-27]
+ (=daikanwa . 38825) ; &I-M-38825;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38863) ; &M-38863;
))
(define-char
(=cns11643-6 . #x3C57) ; &C6-3C57; [28-55]
))
(define-char
- '((=>ucs . #x8FF8) ; 迸
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (<-denotational
+ ((=big5 . #xB06E) ; &B-B06E;
+ ))
+ (=ucs . #x8FF8) ; 迸
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF8) ; 迸
+ ))
+ (<-vulgar
+ ((shinjigen-1 . 8311)
+ (=jis-x0212 . #x6155) ; &M-38929; [65-53]
+ (=daikanwa . 38929) ; &I-M-38929;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa shinjigen-1)
+ (shinjigen-1 . 8312)
(shinjigen-2 . 8312)
(=jis-x0208 . #x6D7E) ; >-52041; [77-94]
(=gt . 52041) ; &I-GT-52041;
(=ucs@jis . #x8FF8) ; >-52041;
))
(define-char
- '((=>ucs . #x8FF8) ; 迸
- (morohashi-daikanwa 38867 0 2)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 6)
- (total-strokes . 10)
- (=cns11643-1 . #x5853) ; &C1-5853; [56-51]
+ '((ideographic-radical . 162) ; ⾡
+ (=big5 . #xB06E) ; &B-B06E;
+ (=ucs@big5 . #x8FF8) ; &B-B06E;
))
(define-char
- '((morohashi-daikanwa 38867 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 9)
- (=ucs . #x8FF8) ; 迸
- (=gb2312 . #x3145) ; &I-G0-3145; [17-37]
- (=big5 . #xB06E) ; &I-B-B06E;
+ (<-denotational
+ ((=ucs . #x8FF8) ; 迸
+ ))
+ (=gb2312 . #x3145) ; &G0-3145; [17-37]
+ (=ucs@unicode . #x8FF8) ; &G0-3145;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 6)
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x8FF8) ; 迸
+ ))
+ (=cns11643-1 . #x5853) ; &C1-5853; [56-51]
))
(define-char
'((=>ucs . #x9008) ; 逈
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 6)
(total-strokes . 10)
+ (<-vulgar
+ ((=jis-x0208 . #x6D6A) ; >-51864; [77-74]
+ (=daikanwa . 38786) ; &I-M-38786;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=ks-x1001 . #x7B2D) ; &M-38868; [91-13]
(=jis-x0212 . #x614D) ; &I-JSP-614D; [65-45]
(=jis-x0213-1-2000 . #x7C57) ; &I-JX1-7C57; [92-55]
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-ancient
+ ((=ucs . #x7683) ; 皃
+ (=daikanwa . 22686) ; &I-M-22686;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 38869) ; &M-38869;
))
(define-char
(=cns11643-6 . #x455B) ; &C6-455B; [37-59]
))
(define-char
- '((=>ucs . #x4899) ; 䢙
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x4899) ; 䢙
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x4899) ; 䢙
+ ))
(=daikanwa . 38870) ; &M-38870;
))
(define-char
- '((morohashi-daikanwa 38870 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x4899) ; 䢙
+ ))
+ (=ucs@unicode . #x4899) ; &UU+4899;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
- (=ucs . #x4899) ; 䢙
- (=cns11643-3 . #x3949) ; &I-C3-3949; [25-41]
+ (<-denotational
+ ((=ucs . #x4899) ; 䢙
+ ))
+ (=cns11643-3 . #x3949) ; &C3-3949; [25-41]
))
(define-char
- '((=>ucs . #x900B) ; 逋
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x900B) ; 逋
+ (=big5 . #xD7E3) ; &I-B-D7E3;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x900B) ; 逋
+ ))
+ (<-synonyms
+ ((=ucs . #x6355) ; 捕
+ (=daikanwa . 12157) ; &I-M-12157;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng daikanwa)
(shinjigen-2 . 8294)
(=jis-x0208 . #x6D79) ; >-52157; [77-89]
(=ks-x1001 . #x7867) ; &I-K0-7867; [88-71]
- (=big5 . #xD7E3) ; &I-B-D7E3;
(=gt . 52157) ; &I-GT-52157;
(=gt-pj-1 . #x6D79) ; &I-GT-52157; [77-89]
(=daikanwa . 38871) ; &I-M-38871;
(=ucs@jis . #x900B) ; >-52157;
))
(define-char
- '((=>ucs . #x900B) ; 逋
- (morohashi-daikanwa 38871 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x900B) ; 逋
+ ))
+ (=gb2312 . #x654D) ; &G0-654D; [69-45]
+ (=ucs@unicode . #x900B) ; &G0-654D;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x900B) ; 逋
+ ))
(=cns11643-2 . #x3966) ; &C2-3966; [25-70]
))
(define-char
- '((morohashi-daikanwa 38871 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x900B) ; 逋
- (=gb2312 . #x654D) ; &I-G0-654D; [69-45]
+ (=ucs . #x900C) ; 逌
+ (=big5 . #xD7E6) ; &I-B-D7E6;
))
(define-char
- '((=>ucs . #x900C) ; 逌
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=daikanwa . 38981) ; &M-38981;
+ ))
+ (->formed*sources
+ zhengzitong daikanwa)
+ (<-ancient@s3
+ ((=ucs . #x7531) ; 由
+ (=daikanwa . 21724) ; &I-M-21724;
+ ))
+ (<-ancient@s3*sources
+ zihui-bu liuxiang-xinxu daikanwa)
+ (<-denotational
+ ((=ucs . #x900C) ; 逌
+ ))
(=jis-x0212 . #x614E) ; &M-38872; [65-46]
(=jis-x0213-2-2000 . #x7978) ; &I-JX2-7978; [89-88]
- (=big5 . #xD7E6) ; &I-B-D7E6;
(=daikanwa . 38872) ; &I-M-38872;
(=ucs@jis . #x900C) ; &M-38872;
))
(define-char
- '((=>ucs . #x900C) ; 逌
- (morohashi-daikanwa 38872 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x900C) ; 逌
+ ))
+ (=ucs@unicode . #x900C) ; &UU+900C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x900C) ; 逌
+ ))
(=cns11643-2 . #x3969) ; &C2-3969; [25-73]
))
(define-char
- '((morohashi-daikanwa 38872 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (=ucs . #x900C) ; 逌
+ (=ucs . #x900D) ; 逍
+ (=big5 . #xB370) ; &I-B-B370;
))
(define-char
- '((=>ucs . #x900D) ; 逍
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x900D) ; 逍
+ ))
+ (<-synonyms
+ ((=ks-x1001 . #x613C) ; &M-17529; [65-28]
+ (=daikanwa . 17529) ; &I-M-17529;
+ ))
+ (<-synonyms*sources
+ jiyun maoshi daikanwa)
(shinjigen-2 . 8272)
(=jis-x0208 . #x6D76) ; >-52103; [77-86]
(=ks-x1001 . #x614E) ; &I-K0-614E; [65-46]
- (=big5 . #xB370) ; &I-B-B370;
(=gt . 52103) ; &I-GT-52103;
(=gt-pj-1 . #x6D76) ; &I-GT-52103; [77-86]
(=daikanwa . 38873) ; &I-M-38873;
(=ucs@jis . #x900D) ; >-52103;
))
(define-char
- '((=>ucs . #x900D) ; 逍
- (morohashi-daikanwa 38873 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (=cns11643-1 . #x5D56) ; &C1-5D56; [61-54]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x900D) ; 逍
+ ))
+ (=gb2312 . #x6550) ; &G0-6550; [69-48]
+ (=ucs@unicode . #x900D) ; &G0-6550;
))
(define-char
- '((morohashi-daikanwa 38873 0 4)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x900D) ; 逍
- (=gb2312 . #x6550) ; &I-G0-6550; [69-48]
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x900D) ; 逍
+ ))
+ (=cns11643-1 . #x5D56) ; &C1-5D56; [61-54]
))
(define-char
'((ideographic-radical . 162) ; ⾡
((=ucs . #x900E) ; 逎
))
(->subsumptive
- ((shinjigen-2 . 8327)
+ ((<-ancient
+ ((=jis-x0208@1978 . #x6E24) ; &M-39008; [78-04]
+ (=jis-x0208@1983 . #x6E24) ; &I-J83-6E24; [78-04]
+ (=daikanwa . 39008) ; &I-M-39008;
+ ))
+ (<-ancient*sources
+ zihui daikanwa)
+ (shinjigen-2 . 8327)
(=jis-x0208@1978 . #x6E25) ; &M-38874; [78-05]
(=jis-x0208@1983 . #x6E25) ; &I-J83-6E25; [78-05]
(=daikanwa . 38874) ; &I-M-38874;
(=cns11643-6 . #x4553) ; &C6-4553; [37-51]
))
(define-char
- '((=>ucs . #x900F) ; 透
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x900F) ; 透
+ (=big5 . #xB37A) ; &I-B-B37A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=ucs . #x47AC) ; 䞬
+ (=daikanwa . 37155) ; &I-M-37155;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x900F) ; 透
+ ))
(=ks-x1001 . #x7762) ; &M-38876; [87-66]
- (=big5 . #xB37A) ; &I-B-B37A;
(=daikanwa . 38876) ; &I-M-38876;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x900F) ; 透
+ ))
+ (=cns11643-1 . #x5D60) ; &C1-5D60; [61-64]
+ ))
+(define-char
'((morohashi-daikanwa 38876 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 10)
- (=ucs . #x900F) ; 透
- (=jis-x0208 . #x4629) ; &I-J90-4629; [38-09]
+ (<-denotational
+ ((=ucs . #x900F) ; 透
+ ))
+ (=jis-x0208 . #x4629) ; >-52029; [38-09]
(=gb2312 . #x4D38) ; &I-G0-4D38; [45-24]
(=gt . 52029) ; &I-GT-52029;
(=gt-pj-1 . #x4629) ; &I-GT-52029; [38-09]
+ (=ucs@unicode . #x900F) ; >-52029;
(mojikyo . 050503) ; &MCS-6000C547;
))
(define-char
- '((=>ucs . #x900F) ; 透
- (morohashi-daikanwa 38876 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (->mojikyo . 050503) ; 透
- (=cns11643-1 . #x5D60) ; &C1-5D60; [61-64]
+ (=ucs . #x9010) ; 逐
+ (=big5 . #xB376) ; &I-B-B376;
))
(define-char
- '((=>ucs . #x9010) ; 逐
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9010) ; 逐
+ ))
+ (<-same
+ ((=jis-x0212 . #x6B3C) ; &M-46454; [75-28]
+ (=jis-x0213-1-2000 . #x7E51) ; &I-JX1-7E51; [94-49]
+ (=daikanwa . 46454) ; &I-M-46454;
+ ))
+ (<-same*sources
+ shuowen-tongxundingsheng daikanwa)
+ (<-synonyms
+ ((=ucs . #x8C5A) ; 豚
+ (=daikanwa . 36352) ; &I-M-36352;
+ ))
+ (<-synonyms*sources
+ shanhaijing shanhaijing-zhu daikanwa)
(=ks-x1001 . #x756F) ; &M-38877; [85-79]
- (=big5 . #xB376) ; &I-B-B376;
(=daikanwa . 38877) ; &I-M-38877;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9010) ; 逐
+ ))
+ (=cns11643-1 . #x5D5C) ; &C1-5D5C; [61-60]
+ ))
+(define-char
'((morohashi-daikanwa 38877 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 10)
- (=ucs . #x9010) ; 逐
- (=jis-x0208 . #x4360) ; &I-J90-4360; [35-64]
+ (<-denotational
+ ((=ucs . #x9010) ; 逐
+ ))
+ (=jis-x0208 . #x4360) ; >-52009; [35-64]
(=gb2312 . #x5670) ; &I-G0-5670; [54-80]
(=gt . 52009) ; &I-GT-52009;
(=gt-k . 06505) ; &I-GT-K06505;
(=gt-pj-1 . #x4360) ; &I-GT-52009; [35-64]
+ (=ucs@unicode . #x9010) ; >-52009;
(mojikyo . 050504) ; &MCS-6000C548;
))
(define-char
- '((=>ucs . #x9010) ; 逐
- (morohashi-daikanwa 38877 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (->mojikyo . 050504) ; 逐
- (=cns11643-1 . #x5D5C) ; &C1-5D5C; [61-60]
+ (=ucs . #x9011) ; 逑
+ (=big5 . #xD7E4) ; &I-B-D7E4;
))
(define-char
- '((=>ucs . #x9011) ; 逑
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=jis-x0208 . #x4837) ; >-63549; [40-23]
+ (=ks-x1001 . #x4F4D) ; &I-K0-4F4D; [47-45]
+ (=daikanwa . 46648) ; &I-M-46648;
+ ))
+ (->formed*sources
+ shuowen shuowen-zhu maoshi maoshi-jian daikanwa)
+ (<-denotational
+ ((=ucs . #x9011) ; 逑
+ ))
+ (<-synonyms
+ ((=ucs . #x4EC7) ; 仇
+ (=daikanwa . 00355) ; &I-M-00355;
+ ))
+ (<-synonyms*sources
+ shuowen shuowen-zhu shuowen-tongxundingsheng maoshi maoshi-zhuan daikanwa)
(shinjigen-2 . 8267)
(=jis-x0208 . #x6D73) ; >-52080; [77-83]
(=ks-x1001 . #x4F47) ; &I-K0-4F47; [47-39]
- (=big5 . #xD7E4) ; &I-B-D7E4;
(=gt . 52080) ; &I-GT-52080;
(=gt-pj-1 . #x6D73) ; &I-GT-52080; [77-83]
(=daikanwa . 38878) ; &I-M-38878;
(=ucs@jis . #x9011) ; >-52080;
))
(define-char
- '((=>ucs . #x9011) ; 逑
- (morohashi-daikanwa 38878 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (=cns11643-2 . #x3967) ; &C2-3967; [25-71]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x9011) ; 逑
+ ))
+ (=gb2312 . #x654F) ; &G0-654F; [69-47]
+ (=ucs@unicode . #x9011) ; &G0-654F;
))
(define-char
- '((morohashi-daikanwa 38878 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x9011) ; 逑
- (=gb2312 . #x654F) ; &I-G0-654F; [69-47]
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9011) ; 逑
+ ))
+ (=cns11643-2 . #x3967) ; &C2-3967; [25-71]
))
(define-char
'((=>ucs . #x489A) ; 䢚
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=daikanwa . 37565) ; &M-37565;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-same
+ ((=jis-x0212 . #x613E) ; &M-38755; [65-30]
+ (=daikanwa . 38755) ; &I-M-38755;
+ ))
+ (<-same*sources
+ yupian daikanwa)
(=daikanwa . 38879) ; &M-38879;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=jis-x0208 . #x6E2A) ; >-52470; [78-10]
+ (=ks-x1001 . #x7476) ; &I-K0-7476; [84-86]
+ (=daikanwa . 39045) ; &I-M-39045;
+ ))
+ (<-same*sources
+ yupian daikanwa)
(=daikanwa . 38880) ; &M-38880;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-vulgar
+ ((=jis-x0208 . #x6E2A) ; >-52470; [78-10]
+ (=ks-x1001 . #x7476) ; &I-K0-7476; [84-86]
+ (=daikanwa . 39045) ; &I-M-39045;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 38881) ; &M-38881;
))
(define-char
(=cns11643-3 . #x394E) ; &C3-394E; [25-46]
))
(define-char
- '((=>ucs . #x9014) ; 途
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x9014) ; 途
+ (=big5 . #xB37E) ; &I-B-B37E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=ucs . #x58BF) ; 墿
+ (=daikanwa . 05511) ; &I-M-05511;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9014) ; 途
+ ))
(=ks-x1001 . #x5432) ; &M-38882; [52-18]
- (=big5 . #xB37E) ; &I-B-B37E;
(=daikanwa . 38882) ; &I-M-38882;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9014) ; 途
+ ))
+ (=cns11643-1 . #x5D64) ; &C1-5D64; [61-68]
+ ))
+(define-char
'((morohashi-daikanwa 38882 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 10)
- (=ucs . #x9014) ; 途
- (=jis-x0208 . #x4553) ; &I-J90-4553; [37-51]
+ (<-denotational
+ ((=ucs . #x9014) ; 途
+ ))
+ (=jis-x0208 . #x4553) ; >-52025; [37-51]
(=gb2312 . #x4D3E) ; &I-G0-4D3E; [45-30]
(=gt . 52025) ; &I-GT-52025;
(=gt-k . 06514) ; &I-GT-K06514;
(=gt-pj-1 . #x4553) ; &I-GT-52025; [37-51]
+ (=ucs@unicode . #x9014) ; >-52025;
(mojikyo . 050506) ; &MCS-6000C54A;
))
(define-char
- '((=>ucs . #x9014) ; 途
- (morohashi-daikanwa 38882 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (->mojikyo . 050506) ; 途
- (=cns11643-1 . #x5D64) ; &C1-5D64; [61-68]
+ (=ucs . #x9015) ; 逕
+ (=big5 . #xB377) ; &I-B-B377;
))
(define-char
- '((=>ucs . #x9015) ; 逕
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9015) ; 逕
+ ))
+ (<-same
+ ((=ucs . #x5F91) ; 徑
+ (=daikanwa . 10118) ; &I-M-10118;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(shinjigen-2 . 2337)
(=jis-x0208 . #x6D74) ; >-52083; [77-84]
(=ks-x1001 . #x4C6F) ; &I-K0-4C6F; [44-79]
- (=big5 . #xB377) ; &I-B-B377;
(=gt . 52083) ; &I-GT-52083;
(=gt-pj-1 . #x6D74) ; &I-GT-52083; [77-84]
(=daikanwa . 38883) ; &I-M-38883;
(=ucs@jis . #x9015) ; >-52083;
))
(define-char
- '((=>ucs . #x9015) ; 逕
- (morohashi-daikanwa 38883 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (=cns11643-1 . #x5D5D) ; &C1-5D5D; [61-61]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x9015) ; 逕
+ ))
+ (=gb12345 . #x6549) ; &UU+9015; [69-41]
+ (=ucs@unicode . #x9015) ; &UU+9015;
))
(define-char
- '((morohashi-daikanwa 38883 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x9015) ; 逕
- (=gb12345 . #x6549) ; 逕 [69-41]
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9015) ; 逕
+ ))
+ (=cns11643-1 . #x5D5D) ; &C1-5D5D; [61-61]
))
(define-char
- '((=>daikanwa . 38884) ; &M-38884;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(=ucs . #x284C7) ; 𨓇
(->subsumptive
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-original
+ ((=ks-x1001 . #x4E41) ; &M-38844; [46-33]
+ (=jis-x0212 . #x614B) ; &I-JSP-614B; [65-43]
+ (=jis-x0213-2-2000 . #x7977) ; &I-JX2-7977; [89-87]
+ (=daikanwa . 38844) ; &I-M-38844;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 38885) ; &M-38885;
))
(define-char
(=ucs . #x284C8) ; 𨓈
))
(define-char
- '((=>ucs . #x9016) ; 逖
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x9016) ; 逖
+ (=big5 . #xB37C) ; &I-B-B37C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=ucs . #x72C4) ; 狄
+ (=daikanwa . 20290) ; &I-M-20290;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9016) ; 逖
+ ))
(shinjigen-2 . 8287)
(=jis-x0208 . #x6D78) ; >-52140; [77-88]
- (=big5 . #xB37C) ; &I-B-B37C;
(=gt . 52140) ; &I-GT-52140;
(=gt-pj-1 . #x6D78) ; &I-GT-52140; [77-88]
(=daikanwa . 38886) ; &I-M-38886;
(=ucs@jis . #x9016) ; >-52140;
))
(define-char
- '((=>ucs . #x9016) ; 逖
- (morohashi-daikanwa 38886 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
- (=cns11643-1 . #x5D62) ; &C1-5D62; [61-66]
+ (<-denotational
+ ((=ucs . #x9016) ; 逖
+ ))
+ (=gb2312 . #x6551) ; &G0-6551; [69-49]
+ (=ucs@unicode . #x9016) ; &G0-6551;
))
(define-char
- '((morohashi-daikanwa 38886 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
- (=ucs . #x9016) ; 逖
- (=gb2312 . #x6551) ; &I-G0-6551; [69-49]
+ (<-denotational
+ ((=ucs . #x9016) ; 逖
+ ))
+ (=cns11643-1 . #x5D62) ; &C1-5D62; [61-66]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(<-denotational
((=ucs . #x9017) ; 逗
))
+ (<-synonyms
+ ((=daikanwa . 00505) ; &M-00505;
+ ))
+ (<-synonyms*sources
+ fangyan fangyan-zhu jiyun hanshu hanshu-zhu daikanwa)
(=jis-x0208@1978 . #x3F60) ; &M-38887; [31-64]
(=ks-x1001 . #x5468) ; &I-K0-5468; [52-72]
(=daikanwa . 38887) ; &I-M-38887;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=jis-x0208 . #x636F) ; >-33237; [67-79]
+ (=daikanwa . 25770) ; &I-M-25770;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x614F) ; &M-38888; [65-47]
(=daikanwa . 38888) ; &I-M-38888;
(=ucs@jis . #x9018) ; &M-38888;
))
))
(define-char
- '((=>ucs . #x901A) ; 通
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x901A) ; 通
+ (=big5 . #xB371) ; &I-B-B371;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->ancient
+ ((=ucs . #x224F6) ; 𢓶
+ (=daikanwa . 10124) ; &I-M-10124;
+ ))
+ (->ancient*sources
+ kangxi daikanwa)
+ (<-denotational
+ ((=ucs . #x901A) ; 通
+ ))
+ (<-synonyms
+ ((=ucs . #x772E) ; 眮
+ (=daikanwa . 23283) ; &I-M-23283;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng shiming daikanwa)
(=ks-x1001 . #x7757) ; &M-38892; [87-55]
- (=big5 . #xB371) ; &I-B-B371;
(=daikanwa . 38892) ; &I-M-38892;
(=jef-china3 . #x67C6) ; &I-JC3-67C6;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901A) ; 通
+ ))
+ (=cns11643-1 . #x5D57) ; &C1-5D57; [61-55]
+ ))
+(define-char
'((morohashi-daikanwa 38892 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 10)
- (=ucs . #x901A) ; 通
- (=jis-x0208 . #x444C) ; &I-J90-444C; [36-44]
+ (<-denotational
+ ((=ucs . #x901A) ; 通
+ ))
+ (=jis-x0208 . #x444C) ; >-52012; [36-44]
(=gb2312 . #x4D28) ; &I-G0-4D28; [45-08]
(=gt . 52012) ; &I-GT-52012;
(=gt-k . 06509) ; &I-GT-K06509;
(=gt-pj-1 . #x444C) ; &I-GT-52012; [36-44]
+ (=ucs@unicode . #x901A) ; >-52012;
(mojikyo . 050507) ; &MCS-6000C54B;
))
(define-char
- '((=>ucs . #x901A) ; 通
- (morohashi-daikanwa 38892 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (->mojikyo . 050507) ; 通
- (=cns11643-1 . #x5D57) ; &C1-5D57; [61-55]
+ (=ucs . #x901B) ; 逛
+ (=big5 . #xB37D) ; &I-B-B37D;
))
(define-char
- '((=>ucs . #x901B) ; 逛
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901B) ; 逛
+ ))
+ (<-same
+ ((=jis-x0212 . #x613B) ; &M-38737; [65-27]
+ (=daikanwa . 38737) ; &I-M-38737;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6150) ; &M-38893; [65-48]
- (=big5 . #xB37D) ; &I-B-B37D;
(=daikanwa . 38893) ; &I-M-38893;
(=ucs@jis . #x901B) ; &M-38893;
))
(define-char
- '((=>ucs . #x901B) ; 逛
- (morohashi-daikanwa 38893 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x901B) ; 逛
+ ))
+ (=gb2312 . #x3964) ; &G0-3964; [25-68]
+ (=ucs@unicode . #x901B) ; &G0-3964;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901B) ; 逛
+ ))
(=cns11643-1 . #x5D63) ; &C1-5D63; [61-67]
))
(define-char
- '((morohashi-daikanwa 38893 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x901B) ; 逛
- (=gb2312 . #x3964) ; &I-G0-3964; [25-68]
+ (=ucs . #x901C) ; 逜
+ (=big5 . #xD7E5) ; &I-B-D7E5;
))
(define-char
- '((=>ucs . #x901C) ; 逜
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
- (=big5 . #xD7E5) ; &M-38894;
- (=daikanwa . 38894) ; &I-M-38894;
+ (->formed
+ ((=jis-x0212 . #x6140) ; &M-38759; [65-32]
+ (=jis-x0213-2-2000 . #x7972) ; &I-JX2-7972; [89-82]
+ (=daikanwa . 38759) ; &I-M-38759;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x901C) ; 逜
+ ))
+ (<-same
+ ((=ucs . #x554E) ; 啎
+ (=daikanwa . 03813) ; &I-M-03813;
+ ))
+ (<-same*sources
+ erya erya-guopu-zhu guangyun zhengzitong daikanwa)
+ (=daikanwa . 38894) ; &M-38894;
))
(define-char
- '((=>ucs . #x901C) ; 逜
- (morohashi-daikanwa 38894 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (=cns11643-2 . #x3968) ; &C2-3968; [25-72]
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x901C) ; 逜
+ ))
+ (=ucs@unicode . #x901C) ; &UU+901C;
))
(define-char
- '((morohashi-daikanwa 38894 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x901C) ; 逜
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901C) ; 逜
+ ))
+ (=cns11643-2 . #x3968) ; &C2-3968; [25-72]
))
(define-char
'((ideographic-radical . 162) ; ⾡
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=jis-x0208 . #x6E2A) ; >-52470; [78-10]
+ (=ks-x1001 . #x7476) ; &I-K0-7476; [84-86]
+ (=daikanwa . 39045) ; &I-M-39045;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
(<-denotational
((=ucs . #x901D) ; 逝
))
+ (<-synonyms
+ ((=jis-x0208 . #x4040) ; >-47734; [32-32]
+ (=ks-x1001 . #x6025) ; &I-K0-6025; [64-05]
+ (=daikanwa . 35514) ; &I-M-35514;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng daikanwa)
(=jis-x0208@1978 . #x4042) ; &M-38895; [32-34]
(=ks-x1001 . #x6026) ; &I-K0-6026; [64-06]
(=daikanwa . 38895) ; &I-M-38895;
(=cns11643-1 . #x5D5B) ; &C1-5D5B; [61-59]
))
(define-char
- '((=>ucs . #x901E) ; 逞
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x901E) ; 逞
+ (=big5 . #xB378) ; &I-B-B378;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=cns11643-1 . #x4947) ; &M-03363; [41-39]
+ (=daikanwa . 03363) ; &I-M-03363;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x901E) ; 逞
+ ))
+ (<-synonyms
+ ((=daikanwa . 27667) ; &M-27667;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng fangyan zuoshi-zhuan zuoshi-zhu daikanwa)
(=ks-x1001 . #x5641) ; &M-38896; [54-33]
- (=big5 . #xB378) ; &I-B-B378;
(=daikanwa . 38896) ; &I-M-38896;
))
(define-char
- '((=>ucs . #x901E) ; 逞
- (morohashi-daikanwa 38896 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 10)
+ (<-denotational
+ ((=ucs . #x901E) ; 逞
+ ))
+ (=gb2312 . #x3351) ; &G0-3351; [19-49]
+ (=ucs@unicode . #x901E) ; &G0-3351;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901E) ; 逞
+ ))
(=cns11643-1 . #x5D5E) ; &C1-5D5E; [61-62]
))
(define-char
- '((=>ucs . #x901E) ; 逞
- (morohashi-daikanwa 38896 0 4)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901E) ; 逞
+ ))
(=jis-x0208 . #x6D77) ; >-52137; [77-87]
(=gt . 52137) ; &I-GT-52137;
(=gt-pj-1 . #x6D77) ; &I-GT-52137; [77-87]
(=ucs@jis . #x901E) ; >-52137;
))
(define-char
- '((morohashi-daikanwa 38896 0 6)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 10)
- (=ucs . #x901E) ; 逞
- (=gb2312 . #x3351) ; &I-G0-3351; [19-49]
+ (=ucs . #x901F) ; 速
+ (=big5 . #xB374) ; &I-B-B374;
))
(define-char
- '((=>ucs . #x901F) ; 速
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->Large-Seal
+ ((=daikanwa . 39079) ; &I-M-39079;
+ ))
+ (->Large-Seal*sources
+ shuowen daikanwa)
+ (<-denotational
+ ((=ucs . #x901F) ; 速
+ ))
+ (<-synonyms@s10
+ ((=cns11643-2 . #x5345) ; &M-31773; [51-37]
+ (=daikanwa . 31773) ; &I-M-31773;
+ ))
+ (<-synonyms@s10*sources
+ kangxi daikanwa)
(=ks-x1001 . #x615C) ; &M-38897; [65-60]
- (=big5 . #xB374) ; &I-B-B374;
(=daikanwa . 38897) ; &I-M-38897;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x901F) ; 速
+ ))
+ (=cns11643-1 . #x5D5A) ; &C1-5D5A; [61-58]
+ ))
+(define-char
'((morohashi-daikanwa 38897 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 10)
- (=ucs . #x901F) ; 速
- (=jis-x0208 . #x422E) ; &I-J90-422E; [34-14]
+ (<-denotational
+ ((=ucs . #x901F) ; 速
+ ))
+ (=jis-x0208 . #x422E) ; >-52004; [34-14]
(=gb2312 . #x4B59) ; &I-G0-4B59; [43-57]
(=gt . 52004) ; &I-GT-52004;
(=gt-k . 06494) ; &I-GT-K06494;
(=gt-pj-1 . #x422E) ; &I-GT-52004; [34-14]
+ (=ucs@unicode . #x901F) ; >-52004;
(mojikyo . 050508) ; &MCS-6000C54C;
))
(define-char
- '((=>ucs . #x901F) ; 速
- (morohashi-daikanwa 38897 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 7)
- (total-strokes . 11)
- (->mojikyo . 050508) ; 速
- (=cns11643-1 . #x5D5A) ; &C1-5D5A; [61-58]
- ))
-(define-char
'((=>ucs . #x9020) ; 造
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->formed
+ ((=daikanwa . 39041) ; &M-39041;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-synonyms
+ ((=ks-x1001 . #x7064) ; &M-39082; [80-68]
+ (=daikanwa . 39082) ; &I-M-39082;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng shiji shiji-sanjiazhu daikanwa)
(=ks-x1001 . #x7063) ; &M-38898; [80-67]
(=daikanwa . 38898) ; &I-M-38898;
))
(=cns11643-1 . #x5D5F) ; &C1-5D5F; [61-63]
))
(define-char
- '((=>ucs . #x9021) ; 逡
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 7)
- (total-strokes . 11)
- (=daikanwa . 38899) ; &M-38899;
- ))
-(define-char
- '((=>ucs . #x9021) ; 逡
- (morohashi-daikanwa 38899 0 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
- (total-strokes . 11)
- (shinjigen-2 . 8271)
- (=jis-x0208 . #x6D75) ; >-52101; [77-85]
- (=ks-x1001 . #x7164) ; &I-K0-7164; [81-68]
+ (=ucs . #x9021) ; 逡
(=big5 . #xD7E7) ; &I-B-D7E7;
- (=gt . 52101) ; &I-GT-52101;
- (=gt-pj-1 . #x6D75) ; &I-GT-52101; [77-85]
- (=ucs@jis . #x9021) ; >-52101;
))
(define-char
- '((=>ucs . #x9021) ; 逡
- (morohashi-daikanwa 38899 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
- (=cns11643-2 . #x396A) ; &C2-396A; [25-74]
+ (<-denotational
+ ((=ucs . #x9021) ; 逡
+ ))
+ (<-synonyms
+ ((=daikanwa . 44775) ; &M-44775;
+ ))
+ (<-synonyms*sources
+ maoshi liji-zhu daikanwa)
+ (<-wrong
+ ((=daikanwa . 03113) ; &M-03113;
+ ))
+ (<-wrong*sources
+ zhengzitong zhanguoce daikanwa)
+ (=daikanwa . 38899) ; &M-38899;
))
(define-char
- '((morohashi-daikanwa 38899 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 10)
- (=ucs . #x9021) ; 逡
- (=gb2312 . #x6552) ; &I-G0-6552; [69-50]
+ (<-denotational
+ ((=ucs . #x9021) ; 逡
+ ))
+ (=gb2312 . #x6552) ; &G0-6552; [69-50]
+ (=ucs@unicode . #x9021) ; &G0-6552;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9021) ; 逡
+ ))
+ (=cns11643-2 . #x396A) ; &C2-396A; [25-74]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9021) ; 逡
+ ))
+ (shinjigen-2 . 8271)
+ (=jis-x0208 . #x6D75) ; >-52101; [77-85]
+ (=ks-x1001 . #x7164) ; &I-K0-7164; [81-68]
+ (=gt . 52101) ; &I-GT-52101;
+ (=gt-pj-1 . #x6D75) ; &I-GT-52101; [77-85]
+ (=ucs@jis . #x9021) ; >-52101;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-ancient
+ ((=jis-x0208 . #x347E) ; >-19254; [20-94]
+ (=ks-x1001 . #x5125) ; &I-K0-5125; [49-05]
+ (=daikanwa . 14913) ; &I-M-14913;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 38900) ; &M-38900;
))
(define-char
(<-denotational
((=ucs . #x9022) ; 逢
))
+ (<-synonyms
+ ((=gt . 31964) ; >-31964;
+ (=daikanwa . 24817) ; &I-M-24817;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(jisx0208-type . 78/4-)
(=jis-x0208@1978 . #x3029) ; &M-38901; [16-09]
(=ks-x1001 . #x5C71) ; &I-K0-5C71; [60-81]
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (->ancient
+ ((=ks-x1001 . #x5622) ; &M-21206; [54-02]
+ (=jis-x0212 . #x4C50) ; &I-JSP-4C50; [44-48]
+ (=jis-x0213-1-2000 . #x7838) ; &I-JX1-7838; [88-24]
+ (=daikanwa . 21206) ; &I-M-21206;
+ ))
+ (->ancient*sources
+ jiyun liji jingdian-shiwen daikanwa)
(<-denotational
((=ucs . #x9023) ; 連
))
+ (<-synonyms@p3
+ ((=daikanwa . 18819) ; &M-18819;
+ ))
+ (<-synonyms@p3*sources
+ shuowen-tongxundingsheng liji liji-zhu daikanwa)
+ (shinjigen-1 . 8298)
(=ks-x1001 . #x5627) ; &M-38902; [54-07]
(=daikanwa . 38902) ; &I-M-38902;
+ (=jef-china3 . #x67CB) ; &I-JC3-67CB;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(<-denotational
((=ucs . #x9023) ; 連
))
+ (shinjigen-1 . 8297)
(=jis-x0208 . #x4F22) ; >-52060; [47-02]
(=gb12345 . #x412C) ; >-52060; [33-12]
(=gt . 52060) ; &I-GT-52060;
))
))
(define-char
- '((=>ucs . #x489B) ; 䢛
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (=ucs . #x489B) ; 䢛
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x489B) ; 䢛
+ ))
+ (<-vulgar
+ ((=jis-x0208 . #x6D6A) ; >-51864; [77-74]
+ (=daikanwa . 38786) ; &I-M-38786;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 38905) ; &M-38905;
))
(define-char
- '((morohashi-daikanwa 38905 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
- (=ucs . #x489B) ; 䢛
- (=cns11643-3 . #x394D) ; &I-C3-394D; [25-45]
+ (<-denotational
+ ((=ucs . #x489B) ; 䢛
+ ))
+ (=ucs@unicode . #x489B) ; &UU+489B;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 7)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x489B) ; 䢛
+ ))
+ (=cns11643-3 . #x394D) ; &C3-394D; [25-45]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-ancient
+ ((=ks-x1001 . #x6B34) ; &M-38994; [75-20]
+ (=daikanwa . 38994) ; &I-M-38994;
+ ))
+ (<-ancient*sources
+ kangxi daikanwa)
(=daikanwa . 38906) ; &M-38906;
))
(define-char
(=cns11643-6 . #x4557) ; &C6-4557; [37-55]
))
(define-char
- '((=>daikanwa . 38908) ; &M-38908;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(=ucs . #x284E5) ; 𨓥
(->subsumptive
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=jis-x0208@1978 . #x4D5A) ; >-52486; [45-58]
+ (=jis-x0208@1983 . #x7423) ; &I-J83-7423; [84-03]
+ (=ks-x1001 . #x692B) ; &I-K0-692B; [73-11]
+ (=daikanwa . 39035) ; &I-M-39035;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38910) ; &M-38910;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=jis-x0212 . #x614E) ; &M-38872; [65-46]
+ (=jis-x0213-2-2000 . #x7978) ; &I-JX2-7978; [89-88]
+ (=daikanwa . 38872) ; &I-M-38872;
+ ))
+ (<-same*sources
+ pianhai-leibian daikanwa)
(=daikanwa . 38913) ; &M-38913;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=ks-x1001 . #x7757) ; &M-38892; [87-55]
+ (=daikanwa . 38892) ; &I-M-38892;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 38914) ; &M-38914;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=daikanwa . 38881) ; &M-38881;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38915) ; &M-38915;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=ks-x1001 . #x5431) ; &M-38845; [52-17]
+ (=daikanwa . 38845) ; &I-M-38845;
+ ))
+ (<-same*sources
+ xiyun daikanwa)
(=daikanwa . 38916) ; &M-38916;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-same
+ ((=daikanwa . 38890) ; &M-38890;
+ ))
+ (<-same*sources
+ sauzhenyujing daikanwa)
(=daikanwa . 38917) ; &M-38917;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 7)
(total-strokes . 11)
+ (<-wrong
+ ((=jis-x0212 . #x614E) ; &M-38872; [65-46]
+ (=jis-x0213-2-2000 . #x7978) ; &I-JX2-7978; [89-88]
+ (=daikanwa . 38872) ; &I-M-38872;
+ ))
+ (<-wrong*sources
+ zihui-bu daikanwa)
(=daikanwa . 38918) ; &M-38918;
))
(define-char
(=cns11643-6 . #x455A) ; &C6-455A; [37-58]
))
(define-char
- '((=>ucs . #x9028) ; 逨
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x9028) ; 逨
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9028) ; 逨
+ ))
+ (<-same
+ ((=ucs . #x52D1) ; 勑
+ (=daikanwa . 02380) ; &I-M-02380;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6151) ; &M-38922; [65-49]
(=daikanwa . 38922) ; &I-M-38922;
(=ucs@jis . #x9028) ; &M-38922;
))
(define-char
- '((morohashi-daikanwa 38922 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9028) ; 逨
+ ))
+ (=ucs@unicode . #x9028) ; &UU+9028;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x9028) ; 逨
- (=cns11643-3 . #x3F4F) ; &I-C3-3F4F; [31-47]
+ (<-denotational
+ ((=ucs . #x9028) ; 逨
+ ))
+ (=cns11643-3 . #x3F4F) ; &C3-3F4F; [31-47]
))
(define-char
'((=>ucs . #x9029) ; 逩
(=cns11643-3 . #x3F50) ; &I-C3-3F50; [31-48]
))
(define-char
- '((=>ucs . #x902F) ; 逯
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x902F) ; 逯
+ (=big5 . #xDC4F) ; &I-B-DC4F;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-ancient@jiyun
+ ((=ks-x1001 . #x7475) ; &M-38931; [84-85]
+ (=daikanwa . 38931) ; &I-M-38931;
+ ))
+ (<-ancient@jiyun*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x902F) ; 逯
+ ))
(=jis-x0212 . #x6153) ; &M-38924; [65-51]
- (=big5 . #xDC4F) ; &I-B-DC4F;
(=daikanwa . 38924) ; &I-M-38924;
(=ucs@jis . #x902F) ; &M-38924;
))
(define-char
- '((=>ucs . #x902F) ; 逯
- (morohashi-daikanwa 38924 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=cns11643-2 . #x4074) ; &C2-4074; [32-84]
+ (<-denotational
+ ((=ucs . #x902F) ; 逯
+ ))
+ (=gb2312 . #x6556) ; &G0-6556; [69-54]
+ (=ucs@unicode . #x902F) ; &G0-6556;
))
(define-char
- '((morohashi-daikanwa 38924 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x902F) ; 逯
- (=gb2312 . #x6556) ; &I-G0-6556; [69-54]
+ (<-denotational
+ ((=ucs . #x902F) ; 逯
+ ))
+ (=cns11643-2 . #x4074) ; &C2-4074; [32-84]
))
(define-char
- '((=>ucs . #x902A) ; 逪
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x902A) ; 逪
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (->formed
+ ((=daikanwa . 39139) ; &M-39139;
+ ))
+ (->formed*sources
+ zhengzitong shuowen daikanwa)
+ (<-denotational
+ ((=ucs . #x902A) ; 逪
+ ))
+ (<-synonyms
+ ((=ucs . #x932F) ; 錯
+ (=daikanwa . 40579) ; &I-M-40579;
+ ))
+ (<-synonyms*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x6154) ; &M-38925; [65-52]
(=daikanwa . 38925) ; &I-M-38925;
(=ucs@jis . #x902A) ; &M-38925;
))
(define-char
- '((morohashi-daikanwa 38925 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x902A) ; 逪
+ ))
+ (=ucs@unicode . #x902A) ; &UU+902A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x902A) ; 逪
- (=cns11643-3 . #x3F4D) ; &I-C3-3F4D; [31-45]
+ (<-denotational
+ ((=ucs . #x902A) ; 逪
+ ))
+ (=cns11643-3 . #x3F4D) ; &C3-3F4D; [31-45]
))
(define-char
- '((=>ucs . #x902B) ; 逫
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x902B) ; 逫
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x902B) ; 逫
+ ))
(=daikanwa . 38926) ; &M-38926;
))
(define-char
- '((morohashi-daikanwa 38926 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x902B) ; 逫
+ ))
+ (=ucs@unicode . #x902B) ; &UU+902B;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x902B) ; 逫
- (=cns11643-3 . #x3F4C) ; &I-C3-3F4C; [31-44]
+ (<-denotational
+ ((=ucs . #x902B) ; 逫
+ ))
+ (=cns11643-3 . #x3F4C) ; &C3-3F4C; [31-44]
))
(define-char
- '((=>daikanwa . 38927) ; &M-38927;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(=ucs . #x284EC) ; 𨓬
(->subsumptive
((total-strokes . 12)
+ (<-vulgar
+ ((=ks-x1001 . #x534F) ; &M-39044; [51-47]
+ (=jis-x0212 . #x615F) ; &I-JSP-615F; [65-63]
+ (=jis-x0213-2-2000 . #x797D) ; &I-JX2-797D; [89-93]
+ (=daikanwa . 39044) ; &I-M-39044;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 38927) ; &M-38927;
)
((total-strokes . 12)
))
))
(define-char
- '((=>daikanwa . 38928) ; &M-38928;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
(=ucs . #x284ED) ; 𨓭
))
))
(define-char
- '((=>ucs . #x902C) ; 逬
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (<-denotational
+ ((=big5 . #xB06E) ; &B-B06E;
+ ))
+ (=ucs . #x902C) ; 逬
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=jis-x0212 . #x6155) ; &CDP-B06E; [65-53]
- (=big5-cdp . #xB06E) ; &I-B-B06E;
+ (->formed
+ ((=daikanwa . 37638) ; &M-37638;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x902C) ; 逬
+ ))
+ (<-same
+ ((=daikanwa . 37638) ; &M-37638;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
+ (<-synonyms
+ ((=jis-x0208@1978 . #x5622) ; &M-07734; [54-02]
+ (=ks-x1001 . #x5C33) ; &I-K0-5C33; [60-19]
+ (=daikanwa . 07734) ; &I-M-07734;
+ ))
+ (<-synonyms*sources
+ zhengzitong daikanwa)
+ (shinjigen-1 . 8311)
+ (=jis-x0212 . #x6155) ; &M-38929; [65-53]
(=daikanwa . 38929) ; &I-M-38929;
- (=ucs@jis . #x902C) ; &CDP-B06E;
+ (=ucs@jis . #x902C) ; &M-38929;
))
(define-char
- '((=>ucs . #x902C) ; 逬
- (morohashi-daikanwa 38929 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x902C) ; 逬
+ ))
+ (=ucs@unicode . #x902C) ; &UU+902C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x902C) ; 逬
+ ))
(=cns11643-3 . #x3F51) ; &C3-3F51; [31-49]
))
(define-char
- '((morohashi-daikanwa 38929 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 11)
- (=ucs . #x902C) ; 逬
+ (=ucs . #x902D) ; 逭
+ (=big5 . #xDC4D) ; &I-B-DC4D;
))
(define-char
- '((=>ucs . #x902D) ; 逭
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x902D) ; 逭
+ ))
(=jis-x0212 . #x6156) ; &M-38930; [65-54]
(=jis-x0213-1-2000 . #x7C58) ; &I-JX1-7C58; [92-56]
- (=big5 . #xDC4D) ; &I-B-DC4D;
(=daikanwa . 38930) ; &I-M-38930;
(=ucs@jis . #x902D) ; &M-38930;
))
(define-char
- '((=>ucs . #x902D) ; 逭
- (morohashi-daikanwa 38930 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x902D) ; 逭
+ ))
+ (=gb2312 . #x6555) ; &G0-6555; [69-53]
+ (=ucs@unicode . #x902D) ; &G0-6555;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x902D) ; 逭
+ ))
(=cns11643-2 . #x4072) ; &C2-4072; [32-82]
))
(define-char
- '((morohashi-daikanwa 38930 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 11)
- (=ucs . #x902D) ; 逭
- (=gb2312 . #x6555) ; &I-G0-6555; [69-53]
+ (=ucs . #x902E) ; 逮
+ (=big5 . #xB665) ; &I-B-B665;
))
(define-char
- '((=>ucs . #x902E) ; 逮
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (->ancient@jiyun
+ ((=jis-x0212 . #x6153) ; &M-38924; [65-51]
+ (=daikanwa . 38924) ; &I-M-38924;
+ ))
+ (->ancient@jiyun*sources
+ jiyun daikanwa/p1/s6)
+ (<-denotational
+ ((=ucs . #x902E) ; 逮
+ ))
+ (<-same
+ ((=jis-x0212 . #x6144) ; &M-38791; [65-36]
+ (=jis-x0213-1-2000 . #x7C55) ; &I-JX1-7C55; [92-53]
+ (=daikanwa . 38791) ; &I-M-38791;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=ks-x1001 . #x7475) ; &M-38931; [84-85]
- (=big5 . #xB665) ; &I-B-B665;
(=daikanwa . 38931) ; &I-M-38931;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x902E) ; 逮
+ ))
+ (=cns11643-1 . #x624C) ; &C1-624C; [66-44]
+ ))
+(define-char
'((morohashi-daikanwa 38931 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 11)
- (=ucs . #x902E) ; 逮
- (=jis-x0208 . #x4261) ; &I-J90-4261; [34-65]
+ (<-denotational
+ ((=ucs . #x902E) ; 逮
+ ))
+ (=jis-x0208 . #x4261) ; >-52121; [34-65]
(=gb2312 . #x347E) ; &I-G0-347E; [20-94]
(=gt . 52121) ; &I-GT-52121;
(=gt-k . 07821) ; &I-GT-K07821;
(=gt-pj-1 . #x4261) ; &I-GT-52121; [34-65]
+ (=ucs@unicode . #x902E) ; >-52121;
(mojikyo . 050511) ; &MCS-6000C54F;
))
(define-char
- '((=>ucs . #x902E) ; 逮
- (morohashi-daikanwa 38931 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 8)
- (total-strokes . 12)
- (->mojikyo . 050511) ; 逮
- (=cns11643-1 . #x624C) ; &C1-624C; [66-44]
- ))
-(define-char
'((=>ucs . #x284FB) ; 𨓻
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-ancient
+ ((=ks-x1001 . #x7475) ; &M-38931; [84-85]
+ (=daikanwa . 38931) ; &I-M-38931;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 38932) ; &M-38932;
))
(define-char
(=cns11643-4 . #x3B5B) ; &I-C4-3B5B; [27-59]
))
(define-char
- '((=>daikanwa . 38933) ; &M-38933;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(=ucs . #x9030) ; 逰
(->subsumptive
((total-strokes . 12)
+ (<-vulgar
+ ((=ks-x1001 . #x6B34) ; &M-38994; [75-20]
+ (=daikanwa . 38994) ; &I-M-38994;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 38933) ; &M-38933;
)
((total-strokes . 12)
(=ucs . #x284F0) ; 𨓰
))
(define-char
- '((=>ucs . #x9031) ; 週
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 12)
- (=ks-x1001 . #x714E) ; &M-38937; [81-46]
- (=daikanwa . 38937) ; &I-M-38937;
+ (=ucs . #x9031) ; 週
+ (=big5 . #xB667) ; &I-B-B667;
))
(define-char
- '((=>ucs . #x9031) ; 週
- (morohashi-daikanwa 38937 0 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=big5 . #xB667) ; &B-B667;
- ))
+ (<-denotational
+ ((=ucs . #x9031) ; 週
+ ))
+ (<-vulgar
+ ((=ks-x1001 . #x7132) ; &M-03441; [81-18]
+ (=cns11643-6 . #x2A3C) ; &I-C6-2A3C; [10-28]
+ (=daikanwa . 03441) ; &I-M-03441;
+ ))
+ (<-vulgar*sources
+ jiyun zhengzitong daikanwa)
+ (=ks-x1001 . #x714E) ; &M-38937; [81-46]
+ (=daikanwa . 38937) ; &I-M-38937;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9031) ; 週
+ ))
+ (=cns11643-1 . #x624E) ; &C1-624E; [66-46]
+ ))
(define-char
'((morohashi-daikanwa 38937 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 11)
- (=ucs . #x9031) ; 週
- (=jis-x0208 . #x3D35) ; &I-J90-3D35; [29-21]
+ (<-denotational
+ ((=ucs . #x9031) ; 週
+ ))
+ (=jis-x0208 . #x3D35) ; >-52099; [29-21]
(=gt . 52099) ; &I-GT-52099;
(=gt-pj-1 . #x3D35) ; &I-GT-52099; [29-21]
+ (=ucs@unicode . #x9031) ; >-52099;
(mojikyo . 050512) ; &MCS-6000C550;
))
(define-char
- '((=>ucs . #x9031) ; 週
- (morohashi-daikanwa 38937 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 8)
- (total-strokes . 12)
- (->mojikyo . 050512) ; 週
- (=cns11643-1 . #x624E) ; &C1-624E; [66-46]
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-vulgar
+ ((=ks-x1001 . #x5431) ; &M-38845; [52-17]
+ (=daikanwa . 38845) ; &I-M-38845;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 38938) ; &M-38938;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-same
+ ((=ucs . #x6106) ; 愆
+ (=daikanwa . 10900) ; &I-M-10900;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38939) ; &M-38939;
))
(define-char
(=cns11643-4 . #x3B58) ; &I-C4-3B58; [27-56]
))
(define-char
- '((=>daikanwa . 38941) ; &M-38941;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(=ucs . #x284F4) ; 𨓴
- (->subsumptive
- ((total-strokes . 12)
- (=daikanwa . 38941) ; &M-38941;
- )
- ((total-strokes . 12)
- (=cns11643-5 . #x3C79) ; &C5-3C79; [28-89]
- )
- ((total-strokes . 11)
- (=ucs@iso . #x284F4) ; &U-000284F4;
- ))
))
(define-char
- '((=>ucs . #x489C) ; 䢜
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=daikanwa . 38942) ; &M-38942;
+ (<-denotational
+ ((=ucs . #x284F4) ; 𨓴
+ ))
+ (=daikanwa . 38941) ; &M-38941;
))
(define-char
- '((morohashi-daikanwa 38942 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x284F4) ; 𨓴
+ ))
+ (=ucs@iso . #x284F4) ; &U-000284F4;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x284F4) ; 𨓴
+ ))
+ (=cns11643-5 . #x3C79) ; &C5-3C79; [28-89]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
(=ucs . #x489C) ; 䢜
- (=cns11643-3 . #x3F53) ; &I-C3-3F53; [31-51]
))
(define-char
- '((=>ucs . #x9032) ; 進
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ks-x1001 . #x7264) ; &M-38943; [82-68]
- (=big5 . #xB669) ; &I-B-B669;
- (=daikanwa . 38943) ; &I-M-38943;
- (=jef-china3 . #x67D1) ; &I-JC3-67D1;
+ (<-denotational
+ ((=ucs . #x489C) ; 䢜
+ ))
+ (<-same
+ ((=jis-x0208 . #x5D45) ; >-20995; [61-37]
+ (=ks-x1001 . #x4F7D) ; &I-K0-4F7D; [47-93]
+ (=cns11643-1 . #x7657) ; &I-C1-7657; [86-55]
+ (=daikanwa . 16349) ; &I-M-16349;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
+ (=daikanwa . 38942) ; &M-38942;
))
(define-char
- '((morohashi-daikanwa 38943 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x489C) ; 䢜
+ ))
+ (=ucs@unicode . #x489C) ; &UU+489C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x489C) ; 䢜
+ ))
+ (=cns11643-3 . #x3F53) ; &C3-3F53; [31-51]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
(=ucs . #x9032) ; 進
- (=jis-x0208 . #x3F4A) ; &I-J90-3F4A; [31-42]
- (=gb12345 . #x3D78) ; 進 [29-88]
- (=gt . 52107) ; &I-GT-52107;
- (=gt-k . 07799) ; &I-GT-K07799;
- (=gt-pj-1 . #x3F4A) ; &I-GT-52107; [31-42]
- (mojikyo . 050513) ; &MCS-6000C551;
+ (=big5 . #xB669) ; &I-B-B669;
))
(define-char
- '((=>ucs . #x9032) ; 進
- (morohashi-daikanwa 38943 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 12)
+ (->Large-Seal
+ ((=ucs . #x21966) ; 𡥦
+ (=daikanwa . 06982) ; &I-M-06982;
+ ))
+ (->Large-Seal*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9032) ; 進
+ ))
+ (<-synonyms
+ ((=ucs . #x8CEE) ; 賮
+ (=daikanwa . 36850) ; &I-M-36850;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng jiyun shiji shiji-sanjiazhu daikanwa)
+ (<-wrong
+ ((=jis-x0212 . #x6854) ; &M-44174; [72-52]
+ (=daikanwa . 44174) ; &I-M-44174;
+ ))
+ (<-wrong*sources
+ liji liji-zhu daikanwa)
+ (=ks-x1001 . #x7264) ; &M-38943; [82-68]
+ (=daikanwa . 38943) ; &I-M-38943;
+ (=jef-china3 . #x67D1) ; &I-JC3-67D1;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9032) ; 進
+ ))
(=cns11643-1 . #x6250) ; &C1-6250; [66-48]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9032) ; 進
+ ))
+ (->subsumptive
+ ((morohashi-daikanwa 38943 1)
+ (=jis-x0208 . #x3F4A) ; >-52107; [31-42]
+ (=gt . 52107) ; &I-GT-52107;
+ (=gt-k . 07799) ; &I-GT-K07799;
+ (=gt-pj-1 . #x3F4A) ; &I-GT-52107; [31-42]
+ (=ucs@jis . #x9032) ; >-52107;
+ (mojikyo . 050513) ; &MCS-6000C551;
+ )
+ ((=gb12345 . #x3D78) ; &UU+9032; [29-88]
+ (=ucs@unicode . #x9032) ; &UU+9032;
+ ))
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
(total-strokes . 12)
+ (<-Large-Seal
+ ((=ks-x1001 . #x616A) ; &M-38842; [65-74]
+ (=daikanwa . 38842) ; &I-M-38842;
+ ))
+ (<-Large-Seal*sources
+ yupian daikanwa)
(=daikanwa . 38944) ; &M-38944;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (->formed
+ ((=ucs . #x4E9E) ; 亞
+ (=daikanwa . 00274) ; &I-M-00274;
+ ))
+ (->formed*sources
+ yupian jiyun daikanwa)
(=daikanwa . 38945) ; &M-38945;
))
(define-char
(=cns11643-4 . #x3566) ; &I-C4-3566; [21-70]
))
(define-char
- '((=>ucs . #x9034) ; 逴
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x9034) ; 逴
+ (=big5 . #xDC4E) ; &I-B-DC4E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (->formed
+ ((=ucs . #x8DA0) ; 趠
+ (=daikanwa . 37192) ; &I-M-37192;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9034) ; 逴
+ ))
+ (<-synonyms
+ ((=ucs . #x71ED) ; 燭
+ (=daikanwa . 19480) ; &I-M-19480;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng chuci chuci-buzhu daikanwa)
(=jis-x0212 . #x6158) ; &M-38947; [65-56]
- (=big5 . #xDC4E) ; &I-B-DC4E;
(=daikanwa . 38947) ; &I-M-38947;
(=ucs@jis . #x9034) ; &M-38947;
))
(define-char
- '((=>ucs . #x9034) ; 逴
- (morohashi-daikanwa 38947 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9034) ; 逴
+ ))
+ (=ucs@unicode . #x9034) ; &UU+9034;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9034) ; 逴
+ ))
(=cns11643-2 . #x4073) ; &C2-4073; [32-83]
))
(define-char
- '((morohashi-daikanwa 38947 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 11)
- (=ucs . #x9034) ; 逴
+ (=ucs . #x9035) ; 逵
+ (=big5 . #xB666) ; &I-B-B666;
))
(define-char
- '((=>ucs . #x9035) ; 逵
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9035) ; 逵
+ ))
+ (<-same
+ ((=ucs . #x9997) ; 馗
+ (=daikanwa . 44492) ; &I-M-44492;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(shinjigen-2 . 8303)
(=jis-x0208 . #x6D7C) ; >-52206; [77-92]
(=ks-x1001 . #x5030) ; &I-K0-5030; [48-16]
- (=big5 . #xB666) ; &I-B-B666;
(=gt . 52206) ; &I-GT-52206;
(=gt-pj-1 . #x6D7C) ; &I-GT-52206; [77-92]
(=daikanwa . 38948) ; &I-M-38948;
(=ucs@jis . #x9035) ; >-52206;
))
(define-char
- '((=>ucs . #x9035) ; 逵
- (morohashi-daikanwa 38948 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=cns11643-1 . #x624D) ; &C1-624D; [66-45]
+ (<-denotational
+ ((=ucs . #x9035) ; 逵
+ ))
+ (=gb2312 . #x6553) ; &G0-6553; [69-51]
+ (=ucs@unicode . #x9035) ; &G0-6553;
))
(define-char
- '((morohashi-daikanwa 38948 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x9035) ; 逵
- (=gb2312 . #x6553) ; &I-G0-6553; [69-51]
+ (<-denotational
+ ((=ucs . #x9035) ; 逵
+ ))
+ (=cns11643-1 . #x624D) ; &C1-624D; [66-45]
))
(define-char
- '((=>ucs . #x9036) ; 逶
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x9036) ; 逶
+ (=big5 . #xB66A) ; &I-B-B66A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (->formed
+ ((=ucs . #x2F9C0) ; 蟡
+ (=daikanwa . 33594) ; &I-M-33594;
+ ))
+ (->formed*sources
+ shuowen jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9036) ; 逶
+ ))
(shinjigen-1 . 8299)
(shinjigen-2 . 8299)
(=jis-x0208 . #x6D7B) ; >-52182; [77-91]
- (=big5 . #xB66A) ; &I-B-B66A;
(=gt . 52182) ; &I-GT-52182;
(=gt-pj-1 . #x6D7B) ; &I-GT-52182; [77-91]
(=daikanwa . 38949) ; &I-M-38949;
(=ucs@jis . #x9036) ; >-52182;
))
(define-char
- '((=>ucs . #x9036) ; 逶
- (morohashi-daikanwa 38949 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 12)
- (=cns11643-1 . #x6251) ; &C1-6251; [66-49]
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9036) ; 逶
+ ))
+ (=gb2312 . #x6554) ; &G0-6554; [69-52]
+ (=ucs@unicode . #x9036) ; &G0-6554;
))
(define-char
- '((morohashi-daikanwa 38949 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 11)
- (=ucs . #x9036) ; 逶
- (=gb2312 . #x6554) ; &I-G0-6554; [69-52]
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9036) ; 逶
+ ))
+ (=cns11643-1 . #x6251) ; &C1-6251; [66-49]
))
(define-char
'((=>ucs . #x9037) ; 逷
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-ancient
+ ((=jis-x0208 . #x6D78) ; >-52140; [77-88]
+ (=daikanwa . 38886) ; &I-M-38886;
+ ))
+ (<-ancient*sources
+ shuowen erya maoshi daikanwa)
+ (<-synonyms@p1/s3
+ ((=ks-x1001 . #x6E61) ; &M-28727; [78-65]
+ (=jis-x0212 . #x553C) ; &I-JSP-553C; [53-28]
+ (=jis-x0213-1-2000 . #x7A40) ; &I-JX1-7A40; [90-32]
+ (=daikanwa . 28727) ; &I-M-28727;
+ ))
+ (<-synonyms@p1/s3*sources
+ hanshu huainanzi daikanwa)
(=jis-x0212 . #x6159) ; &M-38950; [65-57]
(=jis-x0213-2-2000 . #x7979) ; &I-JX2-7979; [89-89]
(=daikanwa . 38950) ; &I-M-38950;
(=ucs . #x9037) ; 逷
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x9038) ; 逸
+ (=big5 . #xB668) ; &I-B-B668;
+ ))
+(define-char
'((=>ucs* . #x9038) ; 逸
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (->ancient
+ ((=daikanwa . 19791) ; &M-19791;
+ ))
+ (->ancient*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9038) ; 逸
+ ))
+ (<-synonyms
+ ((=ucs . #x8EFC) ; 軼
+ (=daikanwa . 38275) ; &I-M-38275;
+ ))
+ (<-synonyms*sources
+ kangxi daikanwa)
(shinjigen-1 . 8301)
(=ucs . #xFA67) ; 逸
(=ks-x1001 . #x6C6F) ; &I-K0-6C6F; [76-79]
(=jis-x0213-1-2000 . #x7C59) ; &I-JX1-7C59; [92-57]
- (=big5 . #xB668) ; &I-B-B668;
(=daikanwa . 38951) ; &I-M-38951;
(=ucs@ks . #x9038) ; 逸
- (=ucs@big5 . #x9038) ; 逸
))
(define-char
- '((=>ucs . #x9038) ; 逸
- (morohashi-daikanwa 38951 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 12)
- (=cns11643-1 . #x624F) ; &C1-624F; [66-47]
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9038) ; 逸
+ ))
+ (=gb2312 . #x525D) ; &G0-525D; [50-61]
+ (=jef-china3 . #x70FB) ; &I-JC3-70FB;
+ (=ucs@unicode . #x9038) ; &G0-525D;
+ (mojikyo . 053396) ; &MCS-6000D094;
))
(define-char
- '((morohashi-daikanwa 38951 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 11)
- (=ucs . #x9038) ; 逸
- (=gb2312 . #x525D) ; &I-G0-525D; [50-61]
- (mojikyo . 053396) ; &MCS-6000D094;
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9038) ; 逸
+ ))
+ (=cns11643-1 . #x624F) ; &C1-624F; [66-47]
))
(define-char
- '((=>ucs . #x9038) ; 逸
- (morohashi-daikanwa 38951 1)
+ '((morohashi-daikanwa 38951 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9038) ; 逸
+ ))
(<-simplified@JP/Jouyou
((=ucs . #xFA67) ; 逸
(=jis-x0213-1-2000 . #x7C59) ; &I-JX1-7C59; [92-57]
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-ancient
+ ((=ucs . #x8F15) ; 輕
+ ))
(=daikanwa . 38953) ; &M-38953;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-ancient
+ ((=ks-x1001 . #x6244) ; >-52349; [66-36]
+ (=daikanwa . 38985) ; &I-M-38985;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 38954) ; &M-38954;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-ancient
+ ((=daikanwa . 10073) ; &M-10073;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 38955) ; &M-38955;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-vulgar
+ ((=ks-x1001 . #x4E26) ; &M-39002; [46-06]
+ (=daikanwa . 39002) ; &I-M-39002;
+ ))
+ (<-vulgar*sources
+ kangxi daikanwa)
(=daikanwa . 38956) ; &M-38956;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-same
+ ((=daikanwa . 38757) ; &M-38757;
+ ))
+ (<-same*sources
+ yupian daikanwa)
(=daikanwa . 38965) ; &M-38965;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-same
+ ((=ks-x1001 . #x7468) ; &M-17695; [84-72]
+ (=daikanwa . 17695) ; &I-M-17695;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38967) ; &M-38967;
))
(define-char
(=cns11643-6 . #x4F49) ; &C6-4F49; [47-41]
))
(define-char
- '((=>ucs . #x489F) ; 䢟
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (=ucs . #x489F) ; 䢟
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x489F) ; 䢟
+ ))
+ (<-same
+ ((=ucs . #x7531) ; 由
+ (=daikanwa . 21724) ; &I-M-21724;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 38968) ; &M-38968;
))
(define-char
- '((morohashi-daikanwa 38968 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x489F) ; 䢟
+ ))
+ (=ucs@unicode . #x489F) ; &UU+489F;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x489F) ; 䢟
- (=cns11643-6 . #x4F48) ; &I-C6-4F48; [47-40]
+ (<-denotational
+ ((=ucs . #x489F) ; 䢟
+ ))
+ (=cns11643-6 . #x4F48) ; &C6-4F48; [47-40]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
+ (<-same
+ ((=jis-x0208@1978 . #x6D6C) ; &M-38795; [77-76]
+ (=ks-x1001 . #x6E68) ; &I-K0-6E68; [78-72]
+ (=daikanwa . 38795) ; &I-M-38795;
+ ))
+ (<-same*sources
+ pianhai-leibian daikanwa)
(=daikanwa . 38969) ; &M-38969;
))
(define-char
(=cns11643-6 . #x4F55) ; &C6-4F55; [47-53]
))
(define-char
- '((=>ucs . #x48A0) ; 䢠
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
- (total-strokes . 12)
- (=daikanwa . 38970) ; &M-38970;
+ (=ucs . #x48A0) ; 䢠
))
(define-char
- '((morohashi-daikanwa 38970 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
(total-strokes . 12)
- (=ucs . #x48A0) ; 䢠
- (=cns11643-3 . #x3F52) ; &I-C3-3F52; [31-50]
+ (<-denotational
+ ((=ucs . #x48A0) ; 䢠
+ ))
+ (<-same
+ ((=ks-x1001 . #x616A) ; &M-38842; [65-74]
+ (=daikanwa . 38842) ; &I-M-38842;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
+ (=daikanwa . 38970) ; &M-38970;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x48A0) ; 䢠
+ ))
+ (=ucs@unicode . #x48A0) ; &UU+48A0;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x48A0) ; 䢠
+ ))
+ (=cns11643-3 . #x3F52) ; &C3-3F52; [31-50]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 8)
+ (=ucs . #x9039) ; 逹
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9039) ; 逹
+ ))
+ (->subsumptive
+ ((<-formed
+ ((=jis-x0208 . #x4323) ; >-52255; [35-03]
+ ))
+ (=jis-x0208 . #x6D7D) ; &J90-6D7D; [77-93]
+ (=ucs@jis . #x9039) ; &J90-6D7D;
+ )
+ ((=gt . 52256) ; >-52256;
+ (=gt-pj-1 . #x6D7D) ; >-52256; [77-93]
+ ))
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x9039) ; 逹
+ ))
+ (=ucs@unicode . #x9039) ; &UU+9039;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
(total-strokes . 11)
(=ucs . #x903A) ; 逺
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (->formed
+ ((name . "CJK COMPATIBILITY IDEOGRAPH-FA1B")
+ (=ucs . #xFA1B) ; 福
+ (=daikanwa . 24768) ; &I-M-24768;
+ ))
+ (->formed*sources
+ jinshu-yinyi daikanwa)
(<-denotational
((=ucs . #x903C) ; 逼
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=ucs . #x52D5) ; 動
+ (=daikanwa . 02390) ; &I-M-02390;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 38974) ; &M-38974;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=ks-x1001 . #x5433) ; &M-39010; [52-19]
+ (=daikanwa . 39010) ; &I-M-39010;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 38975) ; &M-38975;
))
(define-char
(=ucs . #x903D) ; 逽
))
(define-char
- '((=>ucs . #x903E) ; 逾
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x903E) ; 逾
+ (=big5 . #xB94F) ; &I-B-B94F;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x903E) ; 逾
+ ))
+ (shinjigen-1 . 8349)
(shinjigen-2 . 8349)
(=jis-x0208 . #x6E27) ; >-52401; [78-07]
(=ks-x1001 . #x6B35) ; &I-K0-6B35; [75-21]
(=ucs@jis . #x903E) ; >-52401;
))
(define-char
- '((=>ucs . #x903E) ; 逾
- (morohashi-daikanwa 38977 0 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
- (=big5 . #xB94F) ; &B-B94F;
+ (<-denotational
+ ((=ucs . #x903E) ; 逾
+ ))
+ (=gb2312 . #x5362) ; &G0-5362; [51-66]
+ (=ucs@unicode . #x903E) ; &G0-5362;
))
(define-char
- '((=>ucs . #x903E) ; 逾
- (morohashi-daikanwa 38977 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x903E) ; 逾
+ ))
(=cns11643-1 . #x6737) ; &C1-6737; [71-23]
))
(define-char
- '((morohashi-daikanwa 38977 0 3)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 9)
- (total-strokes . 12)
- (=ucs . #x903E) ; 逾
- (=gb2312 . #x5362) ; &I-G0-5362; [51-66]
- ))
-(define-char
'((=>ucs . #x903F) ; 逿
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(<-denotational
((=ucs . #x48A1) ; 䢡
))
+ (<-same
+ ((=daikanwa . 38787) ; &M-38787;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38979) ; &M-38979;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=jis-x0208 . #x6E2E) ; >-56259; [78-14]
+ (=ks-x1001 . #x624B) ; &I-K0-624B; [66-43]
+ (=daikanwa . 41871) ; &I-M-41871;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(<-denotational
((=ucs . #x9040) ; 遀
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=jis-x0212 . #x614E) ; &M-38872; [65-46]
+ (=jis-x0213-2-2000 . #x7978) ; &I-JX2-7978; [89-88]
+ (=daikanwa . 38872) ; &I-M-38872;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 38981) ; &M-38981;
))
(define-char
(<-denotational
((=ucs . #x9041) ; 遁
))
+ (<-same
+ ((=daikanwa . 38983) ; &M-38983;
+ ))
+ (<-same*sources
+ jinshu-yinyi daikanwa)
(=jis-x0208@1978 . #x465B) ; &M-38982; [38-59]
(=ks-x1001 . #x546D) ; &I-K0-546D; [52-77]
(=daikanwa . 38982) ; &I-M-38982;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=ucs . #x280A6) ; 𨂦
+ (=daikanwa . 37692) ; &I-M-37692;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38983) ; &M-38983;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=daikanwa . 09567) ; &M-09567;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 38984) ; &M-38984;
))
(define-char
(<-denotational
((=ucs . #x9042) ; 遂
))
+ (<-synonyms
+ ((=daikanwa . 40921) ; &M-40921;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng zhouli daikanwa)
(=ks-x1001 . #x6244) ; >-52349; [66-36]
(=gt . 52349) ; &I-GT-52349;
(=gt-k . 10928) ; &I-GT-K10928;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (->formed
+ ((=jis-x0208@1978 . #x3260) ; &M-38789; [18-64]
+ (=ks-x1001 . #x4A3C) ; &I-K0-4A3C; [42-28]
+ (=daikanwa . 38789) ; &I-M-38789;
+ ))
+ (->formed*sources
+ shuowen jiyun daikanwa)
(=daikanwa . 38987) ; &M-38987;
))
(define-char
(=ucs . #x28523) ; 𨔣
))
(define-char
- '((=>ucs . #x9044) ; 遄
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x9044) ; 遄
+ (=big5 . #xE0A1) ; &I-B-E0A1;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (->ancient
+ ((=daikanwa . 38805) ; &M-38805;
+ ))
+ (->ancient*sources
+ kangxi daikanwa)
+ (<-denotational
+ ((=ucs . #x9044) ; 遄
+ ))
+ (<-synonyms
+ ((=ucs . #x9853) ; 顓
+ (=daikanwa . 43600) ; &I-M-43600;
+ ))
+ (<-synonyms*sources
+ zhouyi daikanwa)
(=jis-x0212 . #x615C) ; &M-38988; [65-60]
(=jis-x0213-2-2000 . #x797C) ; &I-JX2-797C; [89-92]
- (=big5 . #xE0A1) ; &I-B-E0A1;
(=daikanwa . 38988) ; &I-M-38988;
(=ucs@jis . #x9044) ; &M-38988;
))
(define-char
- '((=>ucs . #x9044) ; 遄
- (morohashi-daikanwa 38988 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9044) ; 遄
+ ))
+ (=gb2312 . #x6557) ; &G0-6557; [69-55]
+ (=ucs@unicode . #x9044) ; &G0-6557;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9044) ; 遄
+ ))
(=cns11643-2 . #x4827) ; &C2-4827; [40-07]
))
(define-char
- '((morohashi-daikanwa 38988 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
- (total-strokes . 12)
- (=ucs . #x9044) ; 遄
- (=gb2312 . #x6557) ; &I-G0-6557; [69-55]
+ (=ucs . #x9045) ; 遅
))
(define-char
- '((=>ucs . #x9045) ; 遅
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9045) ; 遅
+ ))
+ (<-vulgar
+ ((=jis-x0208 . #x6E2F) ; >-52644; [78-15]
+ (=ks-x1001 . #x7240) ; &I-K0-7240; [82-32]
+ (=daikanwa . 39113) ; &I-M-39113;
+ ))
+ (<-vulgar*sources
+ zihui daikanwa)
(=daikanwa . 38989) ; &M-38989;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9045) ; 遅
+ ))
+ (=cns11643-3 . #x447C) ; &C3-447C; [36-92]
+ ))
+(define-char
'((morohashi-daikanwa 38989 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9045) ; 遅
+ ))
(<-simplified@JP/Jouyou
((shinjigen-1 . 8337)
(=jis-x0208 . #x6E2F) ; >-52644; [78-15]
(<-simplified@JP/Jouyou*sources
zihui daikanwa shinjigen-1)
(shinjigen-1 . 8336)
- (=ucs . #x9045) ; 遅
- (=jis-x0208 . #x4359) ; &I-J90-4359; [35-57]
+ (=jis-x0208 . #x4359) ; >-52258; [35-57]
(=gt . 52258) ; &I-GT-52258;
(=gt-k . 09100) ; &I-GT-K09100;
(=gt-pj-1 . #x4359) ; &I-GT-52258; [35-57]
+ (=ucs@unicode . #x9045) ; >-52258;
(mojikyo . 050517) ; &MCS-6000C555;
))
(define-char
- '((=>ucs . #x9045) ; 遅
- (morohashi-daikanwa 38989 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 9)
- (total-strokes . 13)
- (->mojikyo . 050517) ; 遅
- (=cns11643-3 . #x447C) ; &C3-447C; [36-92]
- ))
-(define-char
'((=>ucs . #x9046) ; 遆
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(=cns11643-3 . #x447A) ; &I-C3-447A; [36-90]
))
(define-char
- '((=>ucs . #x9047) ; 遇
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x9047) ; 遇
+ (=big5 . #xB94A) ; &I-B-B94A;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9047) ; 遇
+ ))
+ (<-synonyms
+ ((=ucs . #x611A) ; 愚
+ (=daikanwa . 10946) ; &I-M-10946;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng maoshi jingdian-shiwen daikanwa)
(=ks-x1001 . #x6967) ; &M-38991; [73-71]
- (=big5 . #xB94A) ; &I-B-B94A;
(=daikanwa . 38991) ; &I-M-38991;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9047) ; 遇
+ ))
+ (=cns11643-1 . #x6732) ; &C1-6732; [71-18]
+ ))
+(define-char
'((morohashi-daikanwa 38991 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
- (=ucs . #x9047) ; 遇
- (=jis-x0208 . #x3678) ; &I-J90-3678; [22-88]
+ (<-denotational
+ ((=ucs . #x9047) ; 遇
+ ))
+ (=jis-x0208 . #x3678) ; >-52208; [22-88]
(=gb2312 . #x5376) ; &I-G0-5376; [51-86]
(=gt . 52208) ; &I-GT-52208;
(=gt-k . 09040) ; &I-GT-K09040;
(=gt-pj-1 . #x3678) ; &I-GT-52208; [22-88]
+ (=ucs@unicode . #x9047) ; >-52208;
(mojikyo . 050518) ; &MCS-6000C556;
))
(define-char
- '((=>ucs . #x9047) ; 遇
- (morohashi-daikanwa 38991 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
- (total-strokes . 13)
- (->mojikyo . 050518) ; 遇
- (=cns11643-1 . #x6732) ; &C1-6732; [71-18]
+ (=ucs . #x9048) ; 遈
))
(define-char
- '((=>ucs . #x9048) ; 遈
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9048) ; 遈
+ ))
(=daikanwa . 38992) ; &M-38992;
))
(define-char
- '((morohashi-daikanwa 38992 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9048) ; 遈
+ ))
+ (=ucs@unicode . #x9048) ; &UU+9048;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=ucs . #x9048) ; 遈
- (=cns11643-3 . #x447B) ; &I-C3-447B; [36-91]
+ (<-denotational
+ ((=ucs . #x9048) ; 遈
+ ))
+ (=cns11643-3 . #x447B) ; &C3-447B; [36-91]
))
(define-char
- '((=>ucs . #x9049) ; 遉
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x9049) ; 遉
+ (=big5 . #xE0A2) ; &I-B-E0A2;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9049) ; 遉
+ ))
+ (<-same
+ ((=ucs . #x5075) ; 偵
+ (=daikanwa . 00898) ; &I-M-00898;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
+ (shinjigen-1 . 8339)
(shinjigen-2 . 8339)
(=jis-x0208 . #x6E26) ; >-52377; [78-06]
- (=big5 . #xE0A2) ; &I-B-E0A2;
(=gt . 52377) ; &I-GT-52377;
(=gt-pj-1 . #x6E26) ; &I-GT-52377; [78-06]
(=daikanwa . 38993) ; &I-M-38993;
(=ucs@jis . #x9049) ; >-52377;
))
(define-char
- '((morohashi-daikanwa 38993 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9049) ; 遉
+ ))
+ (=ucs@unicode . #x9049) ; &UU+9049;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=ucs . #x9049) ; 遉
- (=cns11643-2 . #x4828) ; &I-C2-4828; [40-08]
+ (<-denotational
+ ((=ucs . #x9049) ; 遉
+ ))
+ (=cns11643-2 . #x4828) ; &C2-4828; [40-08]
))
(define-char
- '((=>ucs . #x904A) ; 遊
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x904A) ; 遊
+ (=big5 . #xB943) ; &I-B-B943;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x904A) ; 遊
+ ))
+ (<-same
+ ((=jis-x0208 . #x5E62) ; >-22881; [62-66]
+ (=ks-x1001 . #x6A7D) ; &I-K0-6A7D; [74-93]
+ (=daikanwa . 17792) ; &I-M-17792;
+ ))
+ (<-same*sources
+ shuowen shuowen-zhu shuowen-zhujian shuowen-guanjian daikanwa)
+ (<-synonyms
+ ((=jis-x0208 . #x5E62) ; >-22881; [62-66]
+ (=ks-x1001 . #x6A7D) ; &I-K0-6A7D; [74-93]
+ (=daikanwa . 17792) ; &I-M-17792;
+ ))
+ (<-synonyms*sources
+ maoshi daikanwa)
(=ks-x1001 . #x6B34) ; &M-38994; [75-20]
- (=big5 . #xB943) ; &I-B-B943;
(=daikanwa . 38994) ; &I-M-38994;
(=jef-china3 . #x67DB) ; &I-JC3-67DB;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x904A) ; 遊
+ ))
+ (=cns11643-1 . #x672B) ; &C1-672B; [71-11]
+ ))
+(define-char
'((morohashi-daikanwa 38994 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
- (=ucs . #x904A) ; 遊
- (=jis-x0208 . #x4D37) ; &I-J90-4D37; [45-23]
+ (<-denotational
+ ((=ucs . #x904A) ; 遊
+ ))
+ (=jis-x0208 . #x4D37) ; >-52293; [45-23]
(=gt . 52293) ; &I-GT-52293;
(=gt-k . 09153) ; &I-GT-K09153;
(=gt-pj-1 . #x4D37) ; &I-GT-52293; [45-23]
+ (=ucs@unicode . #x904A) ; >-52293;
(mojikyo . 050519) ; &MCS-6000C557;
))
(define-char
- '((=>ucs . #x904A) ; 遊
- (morohashi-daikanwa 38994 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 9)
- (total-strokes . 13)
- (->mojikyo . 050519) ; 遊
- (=cns11643-1 . #x672B) ; &C1-672B; [71-11]
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-vulgar
+ ((=daikanwa . 39079) ; &I-M-39079;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 38995) ; &M-38995;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=ucs . #x6D25) ; 津
+ (=daikanwa . 17396) ; &I-M-17396;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (<-same
+ ((=daikanwa . 39056) ; &M-39056;
+ ))
+ (<-same*sources
+ kangxi daikanwa)
(=daikanwa . 38996) ; &M-38996;
))
(define-char
(=cns11643-5 . #x4357) ; &I-C5-4357; [35-55]
))
(define-char
- '((=>daikanwa . 38997) ; &M-38997;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(=ucs . #x28526) ; 𨔦
(->subsumptive
))
))
(define-char
- '((=>ucs . #x904B) ; 運
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x904B) ; 運
+ (=big5 . #xB942) ; &I-B-B942;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x904B) ; 運
+ ))
+ (<-synonyms
+ ((=ucs . #x6688) ; 暈
+ (=daikanwa . 14037) ; &I-M-14037;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng zhouli-zhu jingdian-shiwen daikanwa)
(=ks-x1001 . #x6A21) ; &M-38998; [74-01]
- (=big5 . #xB942) ; &I-B-B942;
(=daikanwa . 38998) ; &I-M-38998;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x904B) ; 運
+ ))
+ (=cns11643-1 . #x672A) ; &C1-672A; [71-10]
+ ))
+(define-char
'((morohashi-daikanwa 38998 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
- (=ucs . #x904B) ; 運
- (=jis-x0208 . #x313F) ; &I-J90-313F; [17-31]
- (=gb12345 . #x544B) ; 運 [52-43]
+ (<-denotational
+ ((=ucs . #x904B) ; 運
+ ))
+ (=jis-x0208 . #x313F) ; >-52188; [17-31]
+ (=gb12345 . #x544B) ; >-52188; [52-43]
(=gt . 52188) ; &I-GT-52188;
(=gt-k . 08996) ; &I-GT-K08996;
(=gt-pj-1 . #x313F) ; &I-GT-52188; [17-31]
+ (=ucs@unicode . #x904B) ; >-52188;
(mojikyo . 050520) ; &MCS-6000C558;
))
(define-char
- '((=>ucs . #x904B) ; 運
- (morohashi-daikanwa 38998 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 9)
- (total-strokes . 13)
- (->mojikyo . 050520) ; 運
- (=cns11643-1 . #x672A) ; &C1-672A; [71-10]
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=ks-x1001 . #x6A21) ; &M-38998; [74-01]
+ (=daikanwa . 38998) ; &I-M-38998;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 38999) ; &M-38999;
))
(define-char
(=cns11643-6 . #x593F) ; &C6-593F; [57-31]
))
(define-char
- '((=>ucs . #x904C) ; 遌
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x904C) ; 遌
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x904C) ; 遌
+ ))
+ (<-same
+ ((=daikanwa . 39136) ; &M-39136;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x615D) ; &M-39000; [65-61]
(=daikanwa . 39000) ; &I-M-39000;
(=ucs@jis . #x904C) ; &M-39000;
))
(define-char
- '((morohashi-daikanwa 39000 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x904C) ; 遌
+ ))
+ (=ucs@unicode . #x904C) ; &UU+904C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=ucs . #x904C) ; 遌
- (=cns11643-3 . #x447E) ; &I-C3-447E; [36-94]
+ (<-denotational
+ ((=ucs . #x904C) ; 遌
+ ))
+ (=cns11643-3 . #x447E) ; &C3-447E; [36-94]
))
(define-char
- '((=>ucs . #x904D) ; 遍
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x904D) ; 遍
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=big5 . #xB94D) ; &B-B94D;
+ ))
+ (<-same
+ ((=jis-x0212 . #x3D30) ; &M-10174; [29-16]
+ (=cns11643-3 . #x3B4B) ; &I-C3-3B4B; [27-43]
+ (=jis-x0213-1-2000 . #x7442) ; &I-JX1-7442; [84-34]
+ (=daikanwa . 10174) ; &I-M-10174;
+ ))
+ (<-same*sources
+ jiyun yinkeng-shi daikanwa)
(=ks-x1001 . #x783C) ; &M-39001; [88-28]
- (=big5 . #xB94D) ; &I-B-B94D;
(=daikanwa . 39001) ; &I-M-39001;
))
(define-char
- '((=>ucs . #x904D) ; 遍
- (morohashi-daikanwa 39001 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (<-denotational
+ ((=ucs . #x904D) ; 遍
+ ))
+ (=big5 . #xB94D) ; &B-B94D;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=big5 . #xB94D) ; &B-B94D;
+ ))
(=cns11643-1 . #x6735) ; &C1-6735; [71-21]
))
(define-char
- '((=>ucs . #x904D) ; 遍
- (morohashi-daikanwa 39001 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
- (=jis-x0208 . #x4A57) ; >-52283; [42-55]
- (=gt . 52283) ; &I-GT-52283;
- (=gt-pj-1 . #x4A57) ; &I-GT-52283; [42-55]
- (=ucs@jis . #x904D) ; >-52283;
- (mojikyo . 050521) ; &MCS-6000C559;
+ (<-denotational
+ ((=ucs . #x904D) ; 遍
+ ))
+ (->subsumptive
+ ((morohashi-daikanwa 39001 1)
+ (=jis-x0208 . #x4A57) ; >-52283; [42-55]
+ (=gt . 52283) ; &I-GT-52283;
+ (=gt-pj-1 . #x4A57) ; &I-GT-52283; [42-55]
+ (=ucs@jis . #x904D) ; >-52283;
+ (mojikyo . 050521) ; &MCS-6000C559;
+ )
+ ((=gb2312 . #x3169) ; &G0-3169; [17-73]
+ (=ucs@unicode . #x904D) ; &G0-3169;
+ (mojikyo . 053401) ; &MCS-6000D099;
+ ))
))
(define-char
- '((morohashi-daikanwa 39001 1 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (=ucs . #x904E) ; 過
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
- (total-strokes . 12)
- (=ucs . #x904D) ; 遍
- (=gb2312 . #x3169) ; &I-G0-3169; [17-73]
- (mojikyo . 053401) ; &MCS-6000D099;
+ (total-strokes . 13)
+ (<-denotational
+ ((=big5 . #xB94C) ; &B-B94C;
+ ))
+ (<-synonyms
+ ((=daikanwa . 28421) ; &M-28421;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng jiyun shiji shiji-sanjiazhu daikanwa)
+ (=ks-x1001 . #x4E26) ; &M-39002; [46-06]
+ (=daikanwa . 39002) ; &I-M-39002;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (<-denotational
+ ((=ucs . #x904E) ; 過
+ ))
+ (=big5 . #xB94C) ; &B-B94C;
+ (=jis-x0208@1997 . #x3261) ; &B-B94C; [18-65]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 8)
+ (total-strokes . 11)
+ (<-denotational
+ ((=ucs . #x904E) ; 過
+ ))
+ (=gb12345 . #x397D) ; &UU+904E; [25-93]
+ (=ucs@unicode . #x904E) ; &UU+904E;
+ (mojikyo . 053376) ; &MCS-6000D080;
))
(define-char
- '((=>ucs . #x904E) ; 過
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=ks-x1001 . #x4E26) ; &M-39002; [46-06]
- (=big5 . #xB94C) ; &I-B-B94C;
- (=daikanwa . 39002) ; &I-M-39002;
+ (<-denotational
+ ((=big5 . #xB94C) ; &B-B94C;
+ ))
+ (=cns11643-1 . #x6734) ; &C1-6734; [71-20]
))
(define-char
- '((=>ucs . #x904E) ; 過
- (morohashi-daikanwa 39002 1)
+ '((morohashi-daikanwa 39002 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
+ (<-denotational
+ ((=big5 . #xB94C) ; &B-B94C;
+ ))
(=jis-x0208 . #x3261) ; >-52197; [18-65]
(=gt . 52197) ; &I-GT-52197;
(=gt-k . 09004) ; &I-GT-K09004;
(mojikyo . 050522) ; &MCS-6000C55A;
))
(define-char
- '((=>ucs . #x904E) ; 過
- (morohashi-daikanwa 39002 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 9)
- (total-strokes . 13)
- (->mojikyo . 050522) ; >-52197;
- (=cns11643-1 . #x6734) ; &C1-6734; [71-20]
- ))
-(define-char
- '((morohashi-daikanwa 39002 1 4)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 8)
- (total-strokes . 11)
- (->mojikyo . 050522) ; >-52197;
- (=ucs . #x904E) ; 過
- (=gb12345 . #x397D) ; 過 [25-93]
- (mojikyo . 053376) ; &MCS-6000D080;
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=jis-x0212 . #x6155) ; &M-38929; [65-53]
+ (=daikanwa . 38929) ; &I-M-38929;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 39003) ; &M-39003;
))
(define-char
(=cns11643-6 . #x5931) ; &C6-5931; [57-17]
))
(define-char
- '((=>ucs . #x904F) ; 遏
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x904F) ; 遏
+ (=big5 . #xB94B) ; &I-B-B94B;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x904F) ; 遏
+ ))
+ (<-synonyms
+ ((=daikanwa . 07165) ; &M-07165;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng maoshi jingdian-shiwen daikanwa)
(shinjigen-2 . 8313)
(=jis-x0208 . #x6E21) ; >-52306; [78-01]
- (=big5 . #xB94B) ; &I-B-B94B;
(=gt . 52306) ; &I-GT-52306;
(=gt-pj-1 . #x6E21) ; &I-GT-52306; [78-01]
(=daikanwa . 39004) ; &I-M-39004;
(=ucs@jis . #x904F) ; >-52306;
))
(define-char
- '((=>ucs . #x904F) ; 遏
- (morohashi-daikanwa 39004 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=cns11643-1 . #x6733) ; &C1-6733; [71-19]
+ (<-denotational
+ ((=ucs . #x904F) ; 遏
+ ))
+ (=gb2312 . #x3674) ; &G0-3674; [22-84]
+ (=ucs@unicode . #x904F) ; &G0-3674;
))
(define-char
- '((morohashi-daikanwa 39004 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=ucs . #x904F) ; 遏
- (=gb2312 . #x3674) ; &I-G0-3674; [22-84]
+ (<-denotational
+ ((=ucs . #x904F) ; 遏
+ ))
+ (=cns11643-1 . #x6733) ; &C1-6733; [71-19]
))
(define-char
- '((=>ucs . #x9050) ; 遐
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x9050) ; 遐
+ (=big5 . #xB949) ; &I-B-B949;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (->formed
+ ((=ucs . #x5FA6) ; 徦
+ (=daikanwa . 10173) ; &I-M-10173;
+ ))
+ (->formed*sources
+ jiyun hanshu-zhu daikanwa)
+ (<-denotational
+ ((=ucs . #x9050) ; 遐
+ ))
+ (<-synonyms
+ ((=ucs . #x7455) ; 瑕
+ (=daikanwa . 21120) ; &I-M-21120;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(shinjigen-2 . 8320)
(=jis-x0208 . #x6E22) ; >-52321; [78-02]
(=ks-x1001 . #x7946) ; &I-K0-7946; [89-38]
- (=big5 . #xB949) ; &I-B-B949;
(=gt . 52321) ; &I-GT-52321;
(=gt-k . 10360) ; &I-GT-K10360;
(=gt-pj-1 . #x6E22) ; &I-GT-52321; [78-02]
(=ucs@jis . #x9050) ; >-52321;
))
(define-char
- '((=>ucs . #x9050) ; 遐
- (morohashi-daikanwa 39005 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=cns11643-1 . #x6731) ; &C1-6731; [71-17]
+ (<-denotational
+ ((=ucs . #x9050) ; 遐
+ ))
+ (=gb2312 . #x655A) ; &G0-655A; [69-58]
+ (=ucs@unicode . #x9050) ; &G0-655A;
))
(define-char
- '((morohashi-daikanwa 39005 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
- (=ucs . #x9050) ; 遐
- (=gb2312 . #x655A) ; &I-G0-655A; [69-58]
+ (<-denotational
+ ((=ucs . #x9050) ; 遐
+ ))
+ (=cns11643-1 . #x6731) ; &C1-6731; [71-17]
))
(define-char
- '((=>ucs . #x9051) ; 遑
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x9051) ; 遑
+ (=big5 . #xB94E) ; &I-B-B94E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (->formed
+ ((=ucs . #x5FA8) ; 徨
+ (=daikanwa . 10178) ; &I-M-10178;
+ ))
+ (->formed*sources
+ shuowen@daxuben daikanwa)
+ (<-denotational
+ ((=ucs . #x9051) ; 遑
+ ))
+ (<-synonyms
+ ((=ucs . #x7687) ; 皇
+ (=daikanwa . 22701) ; &I-M-22701;
+ ))
+ (<-synonyms*sources
+ maoshi zuoshi-zhuan daikanwa)
(shinjigen-2 . 8325)
(=jis-x0208 . #x6E23) ; >-52330; [78-03]
(=ks-x1001 . #x7C5A) ; &I-K0-7C5A; [92-58]
- (=big5 . #xB94E) ; &I-B-B94E;
(=gt . 52330) ; &I-GT-52330;
(=gt-pj-1 . #x6E23) ; &I-GT-52330; [78-03]
(=daikanwa . 39006) ; &I-M-39006;
(=ucs@jis . #x9051) ; >-52330;
))
(define-char
- '((=>ucs . #x9051) ; 遑
- (morohashi-daikanwa 39006 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
- (total-strokes . 13)
- (=cns11643-1 . #x6736) ; &C1-6736; [71-22]
+ (total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9051) ; 遑
+ ))
+ (=gb2312 . #x6558) ; &G0-6558; [69-56]
+ (=ucs@unicode . #x9051) ; &G0-6558;
))
(define-char
- '((morohashi-daikanwa 39006 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
- (total-strokes . 12)
- (=ucs . #x9051) ; 遑
- (=gb2312 . #x6558) ; &I-G0-6558; [69-56]
+ (total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9051) ; 遑
+ ))
+ (=cns11643-1 . #x6736) ; &C1-6736; [71-22]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=daikanwa . 10180) ; &M-10180;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39007) ; &M-39007;
))
(define-char
((=ucs . #x9052) ; 遒
))
(->subsumptive
- ((shinjigen-1 . 8326)
+ ((<-same
+ ((=jis-x0208@1978 . #x6E25) ; &M-38874; [78-05]
+ (=jis-x0208@1983 . #x6E25) ; &I-J83-6E25; [78-05]
+ (=daikanwa . 38874) ; &I-M-38874;
+ ))
+ (<-same*sources
+ shuowen guangya chuci chuci-zhu daikanwa)
+ (<-synonyms
+ ((=daikanwa . 37228) ; &M-37228;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng shangshu daikanwa)
+ (shinjigen-1 . 8326)
(shinjigen-2 . 8326)
(=jis-x0208@1978 . #x6E24) ; &M-39008; [78-04]
(=jis-x0208@1983 . #x6E24) ; &I-J83-6E24; [78-04]
(=cns11643-6 . #x593B) ; &C6-593B; [57-27]
))
(define-char
- '((=>ucs . #x9053) ; 道
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (=ucs . #x9053) ; 道
+ (=big5 . #xB944) ; &I-B-B944;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9053) ; 道
+ ))
+ (<-synonyms
+ ((=ks-x1001 . #x5374) ; &M-07465; [51-84]
+ (=daikanwa . 07465) ; &I-M-07465;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng lunyu jingdian-shiwen dadaili dadaili-zhu daikanwa)
(=ks-x1001 . #x5433) ; &M-39010; [52-19]
- (=big5 . #xB944) ; &I-B-B944;
(=daikanwa . 39010) ; &I-M-39010;
(=jef-china3 . #x67DF) ; &I-JC3-67DF;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 9)
+ (total-strokes . 13)
+ (<-denotational
+ ((=ucs . #x9053) ; 道
+ ))
+ (=cns11643-1 . #x672C) ; &C1-672C; [71-12]
+ ))
+(define-char
'((morohashi-daikanwa 39010 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 12)
+ (<-denotational
+ ((=ucs . #x9053) ; 道
+ ))
(shinjigen-1 . 8341)
(shinjigen-2 . 8341)
- (=ucs . #x9053) ; 道
- (=jis-x0208 . #x463B) ; &I-J90-463B; [38-27]
+ (=jis-x0208 . #x463B) ; >-52275; [38-27]
(=gb2312 . #x3540) ; &I-G0-3540; [21-32]
(=gt . 52275) ; &I-GT-52275;
(=gt-k . 09116) ; &I-GT-K09116;
(=gt-pj-1 . #x463B) ; &I-GT-52275; [38-27]
+ (=ucs@unicode . #x9053) ; >-52275;
(mojikyo . 050523) ; &MCS-6000C55B;
))
(define-char
- '((=>ucs . #x9053) ; 道
- (morohashi-daikanwa 39010 1 2)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 9)
- (total-strokes . 13)
- (=cns11643-1 . #x672C) ; &C1-672C; [71-12]
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(=ucs . #x9054) ; 達
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (->formed
+ ((=jis-x0212 . #x6136) ; &M-38717; [65-22]
+ (=daikanwa . 38717) ; &I-M-38717;
+ ))
+ (->formed*sources
+ shuowen daikanwa)
+ (->original
+ ((=daikanwa . 39012) ; &M-39012;
+ ))
+ (->original*sources
+ zhengzitong daikanwa)
(<-denotational
((=ucs . #x9054) ; 達
))
+ (<-same
+ ((=daikanwa . 01179) ; &M-01179;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
+ (<-synonyms
+ ((=ucs . #x5927) ; 大
+ (=daikanwa . 05831) ; &I-M-05831;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng zhouli daikanwa)
(=ks-x1001 . #x5339) ; &M-39011; [51-25]
(=daikanwa . 39011) ; &I-M-39011;
))
(define-char
- '((=>daikanwa . 39011) ; &M-39011;
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 8)
- (=ucs . #x9039) ; 逹
- (->subsumptive
- ((total-strokes . 12)
- (=jis-x0208 . #x6D7D) ; &J90-6D7D; [77-93]
- (=ucs@jis . #x9039) ; &J90-6D7D;
- )
- ((total-strokes . 12)
- (=gt . 52256) ; >-52256;
- (=gt-pj-1 . #x6D7D) ; >-52256; [77-93]
- )
- ((total-strokes . 11)
- (=ucs@unicode . #x9039) ; &UU+9039;
- ))
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(<-denotational
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-original
+ ((=ks-x1001 . #x5339) ; &M-39011; [51-25]
+ (=daikanwa . 39011) ; &I-M-39011;
+ ))
+ (<-same
+ ((=ks-x1001 . #x5339) ; &M-39011; [51-25]
+ (=daikanwa . 39011) ; &I-M-39011;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39012) ; &M-39012;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=jis-x0212 . #x614A) ; &M-38837; [65-42]
+ (=daikanwa . 38837) ; &I-M-38837;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 39015) ; &M-39015;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-Large-Seal
+ ((=ks-x1001 . #x616A) ; &M-38842; [65-74]
+ (=daikanwa . 38842) ; &I-M-38842;
+ ))
+ (<-Large-Seal*sources
+ zhengzitong daikanwa)
(=daikanwa . 39016) ; &M-39016;
))
(define-char
(->subsumptive
((ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=jis-x0212 . #x3D30) ; &M-10174; [29-16]
+ (=cns11643-3 . #x3B4B) ; &I-C3-3B4B; [27-43]
+ (=jis-x0213-1-2000 . #x7442) ; &I-JX1-7442; [84-34]
+ (=daikanwa . 10174) ; &I-M-10174;
+ ))
+ (<-same*sources
+ xiyun daikanwa)
(=daikanwa . 39017) ; &M-39017;
)
((ideographic-strokes . 9)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 39018) ; &M-39018;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=ks-x1001 . #x6244) ; >-52349; [66-36]
+ (=daikanwa . 38985) ; &I-M-38985;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 39019) ; &M-39019;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-ancient
+ ((=ks-x1001 . #x6244) ; >-52349; [66-36]
+ (=daikanwa . 38985) ; &I-M-38985;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 39020) ; &M-39020;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=ks-x1001 . #x7C3D) ; &M-39174; [92-29]
+ (=daikanwa . 39174) ; &I-M-39174;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39024) ; &M-39024;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=jis-x0208 . #x547E) ; >-07573; [52-94]
+ (=cns11643-1 . #x6845) ; &I-C1-6845; [72-37]
+ (=daikanwa . 05991) ; &I-M-05991;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39025) ; &M-39025;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=jis-x0208 . #x6E2A) ; >-52470; [78-10]
+ (=ks-x1001 . #x7476) ; &I-K0-7476; [84-86]
+ (=daikanwa . 39045) ; &I-M-39045;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39026) ; &M-39026;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 9)
(total-strokes . 13)
+ (<-same
+ ((=ucs . #x8D74) ; 赴
+ (=daikanwa . 37040) ; &I-M-37040;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39027) ; &M-39027;
))
(define-char
(<-denotational
((=ucs . #x9058) ; 遘
))
+ (<-synonyms
+ ((=jis-x0208 . #x6D70) ; >-51977; [77-80]
+ (=ks-x1001 . #x7D31) ; &I-K0-7D31; [93-17]
+ (=daikanwa . 38848) ; &I-M-38848;
+ ))
+ (<-synonyms*sources
+ maoshi daikanwa)
+ (shinjigen-1 . 8359)
(=jis-x0208@1978 . #x6E29) ; &M-39031; [78-09]
(=daikanwa . 39031) ; &I-M-39031;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-Large-Seal
+ ((=jis-x0208 . #x6D79) ; >-52157; [77-89]
+ (=ks-x1001 . #x7867) ; &I-K0-7867; [88-71]
+ (=daikanwa . 38871) ; &I-M-38871;
+ ))
+ (<-Large-Seal*sources
+ yupian daikanwa)
(=daikanwa . 39032) ; &M-39032;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-vulgar
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 39033) ; &M-39033;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (->formed
+ ((=ucs . #x6416) ; 搖
+ (=daikanwa . 12479) ; &I-M-12479;
+ ))
+ (->formed*sources
+ maoshi daikanwa)
(<-denotational
((=ucs . #x9059) ; 遙
))
+ (shinjigen-1 . 8364)
(shinjigen-2 . 8352)
(=jis-x0208@1978 . #x4D5A) ; >-52486; [45-58]
(=jis-x0208@1983 . #x7423) ; &I-J83-7423; [84-03]
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-same
+ ((=daikanwa . 39126) ; &M-39126;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x615E) ; &M-39037; [65-62]
(=big5 . #xBBBF) ; &I-B-BBBF;
(=daikanwa . 39037) ; &I-M-39037;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (->formed
+ ((=jis-x0208 . #x4239) ; >-08784; [34-25]
+ (=ks-x1001 . #x615D) ; &I-K0-615D; [65-61]
+ (=daikanwa . 06987) ; &I-M-06987;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
(<-denotational
((=ucs . #x905C) ; 遜
))
+ (<-synonyms
+ ((=ucs . #x613B) ; 愻
+ (=daikanwa . 11023) ; &I-M-11023;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng shangshu shangshu-zhuan daikanwa)
(=jis-x0208@1978 . #x423D) ; &M-39038; [34-29]
(=ks-x1001 . #x6161) ; &I-K0-6161; [65-65]
(=daikanwa . 39038) ; &I-M-39038;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-ancient
+ ((=jis-x0208 . #x567A) ; >-11840; [54-90]
+ (=daikanwa . 09410) ; &I-M-09410;
+ ))
+ (<-ancient*sources
+ zihui daikanwa)
(=daikanwa . 39039) ; &M-39039;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-vulgar
+ ((=jis-x0212 . #x6145) ; &M-38801; [65-37]
+ (=jis-x0213-1-2000 . #x7C56) ; &I-JX1-7C56; [92-54]
+ (=daikanwa . 38801) ; &I-M-38801;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 39040) ; &M-39040;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-vulgar
+ ((=ks-x1001 . #x7063) ; &M-38898; [80-67]
+ (=daikanwa . 38898) ; &I-M-38898;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 39041) ; &M-39041;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-same
+ ((=daikanwa . 39136) ; &M-39136;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 39043) ; &M-39043;
))
(define-char
(=cns11643-1 . #x6B46) ; &C1-6B46; [75-38]
))
(define-char
- '((=>ucs . #x905E) ; 遞
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 10)
+ (=ucs . #x905E) ; 遞
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-denotational
+ ((=big5 . #xBBBC) ; &B-BBBC;
+ ))
+ (<-same
+ ((=jis-x0208@1978 . #x4042) ; &M-38895; [32-34]
+ (=ks-x1001 . #x6026) ; &I-K0-6026; [64-06]
+ (=daikanwa . 38895) ; &I-M-38895;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
+ (<-synonyms
+ ((=ks-x1001 . #x6E6A) ; >-52561; [78-74]
+ (=daikanwa . 39076) ; &I-M-39076;
+ ))
+ (<-synonyms*sources
+ zhouli daikanwa)
+ (<-vulgar
+ ((=daikanwa . 38891) ; &M-38891;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
+ (shinjigen-1 . 8284)
(shinjigen-2 . 8284)
(=jis-x0208 . #x6E2A) ; >-52470; [78-10]
(=ks-x1001 . #x7476) ; &I-K0-7476; [84-86]
- (=big5 . #xBBBC) ; &I-B-BBBC;
(=gt . 52470) ; &I-GT-52470;
(=gt-pj-1 . #x6E2A) ; &I-GT-52470; [78-10]
(=daikanwa . 39045) ; &I-M-39045;
(=ucs@jis . #x905E) ; >-52470;
))
(define-char
- '((=>ucs . #x905E) ; 遞
- (morohashi-daikanwa 39045 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
- (total-strokes . 14)
- (=cns11643-1 . #x6B44) ; &C1-6B44; [75-36]
+ (<-denotational
+ ((=ucs . #x905E) ; 遞
+ ))
+ (=big5 . #xBBBC) ; &B-BBBC;
))
(define-char
- '((morohashi-daikanwa 39045 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 13)
- (=ucs . #x905E) ; 遞
- (=gb12345 . #x355D) ; 遞 [21-61]
+ (<-denotational
+ ((=ucs . #x905E) ; 遞
+ ))
+ (=gb12345 . #x355D) ; &UU+905E; [21-61]
+ (=ucs@unicode . #x905E) ; &UU+905E;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 10)
+ (total-strokes . 14)
+ (<-denotational
+ ((=big5 . #xBBBC) ; &B-BBBC;
+ ))
+ (=cns11643-1 . #x6B44) ; &C1-6B44; [75-36]
))
(define-char
'((=>ucs . #x905F) ; 遟
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-Large-Seal
+ ((=jis-x0208 . #x6E2F) ; >-52644; [78-15]
+ (=ks-x1001 . #x7240) ; &I-K0-7240; [82-32]
+ (=daikanwa . 39113) ; &I-M-39113;
+ ))
+ (<-Large-Seal*sources
+ shuowen daikanwa)
+ (<-same
+ ((=daikanwa . 07716) ; &M-07716;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(shinjigen-1 . 8338)
(=daikanwa . 39046) ; &M-39046;
))
(=ucs . #x905F) ; 遟
))
(define-char
- '((=>ucs . #x9060) ; 遠
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 10)
+ (=ucs . #x9060) ; 遠
+ (=big5 . #xBBB7) ; &I-B-BBB7;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x9060) ; 遠
+ ))
(=ks-x1001 . #x6A40) ; &M-39047; [74-32]
- (=big5 . #xBBB7) ; &I-B-BBB7;
(=daikanwa . 39047) ; &I-M-39047;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 10)
+ (total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x9060) ; 遠
+ ))
+ (=cns11643-1 . #x6B3F) ; &C1-6B3F; [75-31]
+ ))
+(define-char
'((morohashi-daikanwa 39047 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 13)
- (=ucs . #x9060) ; 遠
- (=jis-x0208 . #x3173) ; &I-J90-3173; [17-83]
- (=gb12345 . #x5436) ; 遠 [52-22]
+ (<-denotational
+ ((=ucs . #x9060) ; 遠
+ ))
+ (=jis-x0208 . #x3173) ; >-52315; [17-83]
+ (=gb12345 . #x5436) ; >-52315; [52-22]
(=gt . 52315) ; &I-GT-52315;
(=gt-k . 10173) ; &I-GT-K10173;
(=gt-pj-1 . #x3173) ; &I-GT-52315; [17-83]
+ (=ucs@unicode . #x9060) ; >-52315;
(mojikyo . 050525) ; &MCS-6000C55D;
))
(define-char
- '((=>ucs . #x9060) ; 遠
- (morohashi-daikanwa 39047 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 10)
- (total-strokes . 14)
- (->mojikyo . 050525) ; 遠
- (=cns11643-1 . #x6B3F) ; &C1-6B3F; [75-31]
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(=ucs . #x9061) ; 遡
(<-denotational
((=ucs . #x9061) ; 遡
))
+ (<-same
+ ((=jis-x0213-2-2000 . #x6E71) ; &M-17777; [78-81]
+ (=daikanwa . 17777) ; &I-M-17777;
+ ))
+ (<-same*sources
+ shuowen fangyan maoshi maoshi-zhuan caozhi-fu wenxuan-lishan-zhu daikanwa)
+ (<-synonyms
+ ((=ucs . #x612C) ; 愬
+ (=daikanwa . 10988) ; &I-M-10988;
+ ))
+ (<-synonyms*sources
+ zhangxie-fu wenxuan-lishan-zhu daikanwa)
(=jis-x0208@1978 . #x414C) ; &M-39048; [33-44]
(=ks-x1001 . #x614F) ; &I-K0-614F; [65-47]
(=daikanwa . 39048) ; &I-M-39048;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-ancient
+ ((=ks-x1001 . #x5060) ; &M-03118; [48-64]
+ (=cns11643-1 . #x452F) ; &I-C1-452F; [37-15]
+ (=daikanwa . 03118) ; &I-M-03118;
+ ))
+ (<-ancient*sources
+ guangyun daikanwa)
(=daikanwa . 39051) ; &M-39051;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-different
+ ((=ks-x1001 . #x6B36) ; &M-39134; [75-22]
+ (=daikanwa . 39134) ; &I-M-39134;
+ ))
(=ks-x1001 . #x4C3A) ; &M-39052; [44-26]
(=big5 . #xBBBA) ; &I-B-BBBA;
(=daikanwa . 39052) ; &I-M-39052;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-ancient
+ ((=ks-x1001 . #x5433) ; &M-39010; [52-19]
+ (=daikanwa . 39010) ; &I-M-39010;
+ ))
+ (<-ancient*sources
+ kangxi daikanwa)
(=daikanwa . 39053) ; &M-39053;
))
(define-char
(=ucs . #x28567) ; 𨕧
(->subsumptive
((total-strokes . 14)
+ (<-same
+ ((=daikanwa . 38858) ; &M-38858;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39055) ; &M-39055;
)
((total-strokes . 14)
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-same
+ ((=daikanwa . 38996) ; &M-38996;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39056) ; &M-39056;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 17)
+ (<-ancient
+ ((=ks-x1001 . #x616A) ; &M-38842; [65-74]
+ (=daikanwa . 38842) ; &I-M-38842;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=cns11643-7 . #x3C55) ; &M-39058; [28-53]
(=daikanwa . 39058) ; &I-M-39058;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-wrong
+ ((=daikanwa . 09579) ; &M-09579;
+ ))
+ (<-wrong*sources
+ jiyun wuyin-jiyun daikanwa)
(=ucs . #x48A5) ; 䢥
(=cns11643-3 . #x4A23) ; &I-C3-4A23; [42-03]
(=daikanwa . 39060) ; &I-M-39060;
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 14)
+ (<-same
+ ((=ks-x1001 . #x6A5E) ; &M-39013; [74-62]
+ (=daikanwa . 39013) ; &I-M-39013;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=cns11643-6 . #x6339) ; &M-39061; [67-25]
(=daikanwa . 39061) ; &I-M-39061;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 10)
(total-strokes . 17)
+ (<-same
+ ((=ucs . #x8DF2) ; 跲
+ (=daikanwa . 37532) ; &I-M-37532;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=cns11643-7 . #x3C57) ; &M-39063; [28-55]
(=daikanwa . 39063) ; &I-M-39063;
))
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=ucs . #x645C) ; 摜
+ (=daikanwa . 12591) ; &I-M-12591;
+ ))
+ (<-same*sources
+ shuowen jiyun daikanwa)
(=jis-x0212 . #x6161) ; &M-39068; [65-65]
(=daikanwa . 39068) ; &I-M-39068;
(=ucs@jis . #x9066) ; &M-39068;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=daikanwa . 20817) ; &M-20817;
+ ))
+ (<-same*sources
+ shuowen shuowen-zhu daikanwa)
+ (<-synonyms
+ ((=ucs . #x5E25) ; 帥
+ (=daikanwa . 08886) ; &I-M-08886;
+ ))
+ (<-synonyms*sources
+ yupian daikanwa)
(=daikanwa . 39069) ; &M-39069;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-Large-Seal
+ ((=daikanwa . 38776) ; &M-38776;
+ ))
+ (<-Large-Seal*sources
+ zhengzitong daikanwa)
(=daikanwa . 39070) ; &M-39070;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-vulgar
+ ((=jis-x0212 . #x615C) ; &M-38988; [65-60]
+ (=jis-x0213-2-2000 . #x797C) ; &I-JX2-797C; [89-92]
+ (=daikanwa . 38988) ; &I-M-38988;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 39071) ; &M-39071;
))
(define-char
(=cns11643-7 . #x296C) ; &C7-296C; [09-76]
))
(define-char
- '((=>ucs . #x9067) ; 遧
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (=ucs . #x9067) ; 遧
+ (=big5 . #xE852) ; &I-B-E852;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9067) ; 遧
+ ))
+ (<-synonyms
+ ((=jis-x0208 . #x3E4F) ; >-33228; [30-47]
+ (=ks-x1001 . #x6D71) ; &I-K0-6D71; [77-81]
+ (=daikanwa . 25761) ; &I-M-25761;
+ ))
+ (<-synonyms*sources
+ kangxi dadaili dadaili-buzhu daikanwa)
(=jis-x0212 . #x6162) ; &M-39072; [65-66]
- (=big5 . #xE852) ; &I-B-E852;
(=daikanwa . 39072) ; &I-M-39072;
(=ucs@jis . #x9067) ; &M-39072;
))
(define-char
- '((=>ucs . #x9067) ; 遧
- (morohashi-daikanwa 39072 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
- (=cns11643-2 . #x547A) ; &C2-547A; [52-90]
+ (<-denotational
+ ((=ucs . #x9067) ; 遧
+ ))
+ (=ucs@unicode . #x9067) ; &UU+9067;
))
(define-char
- '((morohashi-daikanwa 39072 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
- (=ucs . #x9067) ; 遧
+ (<-denotational
+ ((=ucs . #x9067) ; 遧
+ ))
+ (=cns11643-2 . #x547A) ; &C2-547A; [52-90]
))
(define-char
- '((=>ucs . #x9068) ; 遨
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (=ucs . #x9068) ; 遨
+ (=big5 . #xBE43) ; &I-B-BE43;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9068) ; 遨
+ ))
+ (<-same
+ ((=jis-x0208 . #x5A44) ; >-16699; [58-36]
+ (=ks-x1001 . #x6779) ; &I-K0-6779; [71-89]
+ (=daikanwa . 13226) ; &I-M-13226;
+ ))
+ (<-same*sources
+ yupian jiyun maoshi houhanshu daikanwa)
+ (shinjigen-1 . 8365)
(shinjigen-2 . 8365)
(=jis-x0208 . #x6E2B) ; >-52518; [78-11]
(=gt . 52518) ; &I-GT-52518;
(=ucs@jis . #x9068) ; >-52518;
))
(define-char
- '((=>ucs . #x9068) ; 遨
- (morohashi-daikanwa 39073 0 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
- (total-strokes . 15)
- (=big5 . #xBE43) ; &B-BE43;
- (=ucs@big5 . #x9068) ; &B-BE43;
+ (total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x9068) ; 遨
+ ))
+ (=gb2312 . #x655B) ; &G0-655B; [69-59]
+ (=ucs@unicode . #x9068) ; &G0-655B;
))
(define-char
- '((=>ucs . #x9068) ; 遨
- (morohashi-daikanwa 39073 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9068) ; 遨
+ ))
(=cns11643-1 . #x6F4D) ; &C1-6F4D; [79-45]
))
(define-char
- '((morohashi-daikanwa 39073 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
- (total-strokes . 14)
- (=ucs . #x9068) ; 遨
- (=gb2312 . #x655B) ; &I-G0-655B; [69-59]
+ (=ucs . #x48A7) ; 䢧
))
(define-char
- '((=>ucs . #x48A7) ; 䢧
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x48A7) ; 䢧
+ ))
+ (<-synonyms
+ ((=jis-x0208@1978 . #x4E4B) ; &M-39137; [46-43]
+ (=ks-x1001 . #x5721) ; &I-K0-5721; [55-01]
+ (=daikanwa . 39137) ; &I-M-39137;
+ ))
+ (<-synonyms*sources
+ zhengzitong daikanwa)
(=daikanwa . 39074) ; &M-39074;
))
(define-char
- '((morohashi-daikanwa 39074 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x48A7) ; 䢧
+ ))
+ (=ucs@unicode . #x48A7) ; &UU+48A7;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
- (=ucs . #x48A7) ; 䢧
- (=cns11643-4 . #x4E31) ; &I-C4-4E31; [46-17]
+ (<-denotational
+ ((=ucs . #x48A7) ; 䢧
+ ))
+ (=cns11643-4 . #x4E31) ; &C4-4E31; [46-17]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=jis-x0208@1978 . #x4D5A) ; >-52486; [45-58]
+ (=jis-x0208@1983 . #x7423) ; &I-J83-7423; [84-03]
+ (=ks-x1001 . #x692B) ; &I-K0-692B; [73-11]
+ (=daikanwa . 39035) ; &I-M-39035;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39075) ; &M-39075;
))
(define-char
(=cns11643-7 . #x2972) ; &C7-2972; [09-82]
))
(define-char
- '((=>ucs . #x9069) ; 適
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
- (total-strokes . 15)
- (=ks-x1001 . #x6E6A) ; &M-39076; [78-74]
+ (=ucs . #x9069) ; 適
(=big5 . #xBE41) ; &I-B-BE41;
- (=daikanwa . 39076) ; &I-M-39076;
))
(define-char
- '((=>ucs . #x9069) ; 適
- (morohashi-daikanwa 39076 0 0)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
- (=jef-china3 . #x67E6) ; &JC3-67E6;
- (mojikyo . 058252) ; &MCS-6000E38C;
+ (<-denotational
+ ((=ucs . #x9069) ; 適
+ ))
+ (->subsumptive
+ ((<-original
+ ((=daikanwa . 39140) ; &M-39140;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
+ (=ks-x1001 . #x6E6A) ; >-52561; [78-74]
+ (=gt . 52561) ; &I-GT-52561;
+ (=gt-k . 11928) ; &I-GT-K11928;
+ (=gt-pj-7 . #x5877) ; &I-GT-52561; [56-87]
+ (=daikanwa . 39076) ; &I-M-39076;
+ )
+ ((=jef-china3 . #x67E6) ; &JC3-67E6;
+ (mojikyo . 058252) ; &MCS-6000E38C;
+ ))
))
(define-char
- '((=>ucs . #x9069) ; 適
- (morohashi-daikanwa 39076 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
- (total-strokes . 14)
- (=jis-x0208 . #x452C) ; >-52472; [37-12]
- (=gt . 52472) ; &I-GT-52472;
- (=gt-k . 11157) ; &I-GT-K11157;
- (=gt-pj-1 . #x452C) ; &I-GT-52472; [37-12]
- (=ucs@jis . #x9069) ; >-52472;
- (mojikyo . 050528) ; &MCS-6000C560;
+ (total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9069) ; 適
+ ))
+ (=cns11643-1 . #x6F4B) ; &C1-6F4B; [79-43]
))
(define-char
- '((morohashi-daikanwa 39076 1 0)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 14)
- (=ucs . #x9069) ; 適
- (=gb12345 . #x4A4A) ; 適 [42-42]
- ))
-(define-char
- '((=>ucs . #x9069) ; 適
- (morohashi-daikanwa 39076 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 11)
- (total-strokes . 15)
- (=cns11643-1 . #x6F4B) ; &C1-6F4B; [79-43]
+ (<-denotational
+ ((=ucs . #x9069) ; 適
+ ))
+ (->subsumptive
+ ((morohashi-daikanwa 39076 1)
+ (=jis-x0208 . #x452C) ; >-52472; [37-12]
+ (=gt . 52472) ; &I-GT-52472;
+ (=gt-k . 11157) ; &I-GT-K11157;
+ (=gt-pj-1 . #x452C) ; &I-GT-52472; [37-12]
+ (=ucs@jis . #x9069) ; >-52472;
+ (mojikyo . 050528) ; &MCS-6000C560;
+ )
+ ((=gb12345 . #x4A4A) ; &UU+9069; [42-42]
+ (=ucs@unicode . #x9069) ; &UU+9069;
+ ))
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=daikanwa . 39192) ; &M-39192;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 39077) ; &M-39077;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-synonyms
+ ((=ucs . #x6157) ; 慗
+ (=daikanwa . 11093) ; &I-M-11093;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(=big5 . #xE853) ; &M-39079;
(=daikanwa . 39079) ; &I-M-39079;
))
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-Large-Seal
+ ((=ks-x1001 . #x615C) ; &M-38897; [65-60]
+ (=daikanwa . 38897) ; &I-M-38897;
+ ))
+ (<-Large-Seal*sources
+ shuowen huainanzi daikanwa)
+ (<-synonyms
+ ((=ucs . #x4FC3) ; 促
+ (=daikanwa . 00664) ; &I-M-00664;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng liji liji-zhu daikanwa)
(=jis-x0212 . #x6163) ; &M-39080; [65-67]
(=daikanwa . 39080) ; &I-M-39080;
(=ucs@jis . #x906C) ; &M-39080;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-original
+ ((=daikanwa . 39263) ; &M-39263;
+ ))
+ (<-original*sources
+ zhengzitong shuowen liji shiji daikanwa)
(=ks-x1001 . #x7064) ; &M-39082; [80-68]
(=big5 . #xBE44) ; &I-B-BE44;
(=daikanwa . 39082) ; &I-M-39082;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=ucs . #x6211) ; 我
+ (=daikanwa . 11545) ; &I-M-11545;
+ ))
+ (<-same*sources
+ zhengzitong shiguwen daikanwa)
(=daikanwa . 39085) ; &M-39085;
))
(define-char
(<-denotational
((=ucs . #x906E) ; 遮
))
+ (<-synonyms
+ ((=ucs . #xFA5B) ; 者
+ (=daikanwa . 28853) ; &I-M-28853;
+ ))
+ (<-synonyms*sources
+ xin-fangyan daikanwa)
(=jis-x0208@1978 . #x3C57) ; &M-39086; [28-55]
(=ks-x1001 . #x7334) ; &I-K0-7334; [83-20]
(=daikanwa . 39086) ; &I-M-39086;
))
))
(define-char
- '((=>ucs . #x48A8) ; 䢨
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (=ucs . #x48A8) ; 䢨
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x48A8) ; 䢨
+ ))
+ (<-same
+ ((=ucs . #x22529) ; 𢔩
+ (=daikanwa . 10190) ; &I-M-10190;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39088) ; &M-39088;
))
(define-char
- '((morohashi-daikanwa 39088 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x48A8) ; 䢨
+ ))
+ (=ucs@unicode . #x48A8) ; &UU+48A8;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
- (=ucs . #x48A8) ; 䢨
- (=cns11643-4 . #x4E35) ; &I-C4-4E35; [46-21]
+ (<-denotational
+ ((=ucs . #x48A8) ; 䢨
+ ))
+ (=cns11643-4 . #x4E35) ; &C4-4E35; [46-21]
))
(define-char
- '((=>ucs . #x906F) ; 遯
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (=ucs . #x906F) ; 遯
+ (=big5 . #xE851) ; &I-B-E851;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-ancient
+ ((=daikanwa . 39238) ; &M-39238;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x906F) ; 遯
+ ))
+ (shinjigen-1 . 8373)
(shinjigen-2 . 8373)
(=jis-x0208 . #x6E2C) ; >-52567; [78-12]
(=ks-x1001 . #x546E) ; &I-K0-546E; [52-78]
- (=big5 . #xE851) ; &I-B-E851;
(=gt . 52567) ; &I-GT-52567;
(=gt-pj-1 . #x6E2C) ; &I-GT-52567; [78-12]
(=daikanwa . 39089) ; &I-M-39089;
(=ucs@jis . #x906F) ; >-52567;
))
(define-char
- '((=>ucs . #x906F) ; 遯
- (morohashi-daikanwa 39089 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 11)
+ (total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x906F) ; 遯
+ ))
+ (=ucs@unicode . #x906F) ; &UU+906F;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x906F) ; 遯
+ ))
(=cns11643-2 . #x5479) ; &C2-5479; [52-89]
))
(define-char
- '((morohashi-daikanwa 39089 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
- (total-strokes . 14)
- (=ucs . #x906F) ; 遯
+ (=ucs . #x9070) ; 遰
+ (=big5 . #xE850) ; &I-B-E850;
))
(define-char
- '((=>ucs . #x9070) ; 遰
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9070) ; 遰
+ ))
(=jis-x0212 . #x6164) ; &M-39090; [65-68]
- (=big5 . #xE850) ; &I-B-E850;
(=daikanwa . 39090) ; &I-M-39090;
(=ucs@jis . #x9070) ; &M-39090;
))
(define-char
- '((=>ucs . #x9070) ; 遰
- (morohashi-daikanwa 39090 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
- (total-strokes . 15)
- (=cns11643-2 . #x5478) ; &C2-5478; [52-88]
+ (total-strokes . 14)
+ (<-denotational
+ ((=ucs . #x9070) ; 遰
+ ))
+ (=ucs@unicode . #x9070) ; &UU+9070;
))
(define-char
- '((morohashi-daikanwa 39090 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
- (=ucs . #x9070) ; 遰
+ (<-denotational
+ ((=ucs . #x9070) ; 遰
+ ))
+ (=cns11643-2 . #x5478) ; &C2-5478; [52-88]
))
(define-char
- '((=>daikanwa . 39091) ; &M-39091;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(=ucs . #x9071) ; 遱
(->subsumptive
(=ucs . #x2858F) ; 𨖏
(->subsumptive
((total-strokes . 15)
+ (<-original
+ ((=daikanwa . 39160) ; &M-39160;
+ ))
+ (<-original*sources
+ zhengzitong shuowen daikanwa)
(=daikanwa . 39092) ; &M-39092;
)
((total-strokes . 15)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-Liwen
+ ((=jis-x0208 . #x6F58) ; &M-41088; [79-56]
+ (=ks-x1001 . #x733A) ; &I-K0-733A; [83-26]
+ (=daikanwa . 41088) ; &I-M-41088;
+ ))
+ (<-Liwen*sources
+ kangxi daikanwa)
(=daikanwa . 39093) ; &M-39093;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=ucs . #x5FA1) ; 御
+ (=daikanwa . 10157) ; &I-M-10157;
+ ))
+ (<-same*sources
+ zihui-bu shiguwen guwenyuan-zhu daikanwa)
(=daikanwa . 39095) ; &M-39095;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 18)
+ (<-same
+ ((=ucs . #x5831) ; 報
+ (=daikanwa . 05275) ; &I-M-05275;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39096) ; &M-39096;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=ks-x1001 . #x5339) ; &M-39011; [51-25]
+ (=daikanwa . 39011) ; &I-M-39011;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39097) ; &M-39097;
))
(define-char
(=ucs . #x285AE) ; 𨖮
(->subsumptive
((total-strokes . 15)
+ (<-same
+ ((=daikanwa . 09538) ; &M-09538;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39100) ; &M-39100;
)
((total-strokes . 15)
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=jis-x0208 . #x6E33) ; >-52731; [78-19]
+ (=ks-x1001 . #x692D) ; &I-K0-692D; [73-13]
+ (=daikanwa . 39168) ; &I-M-39168;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39103) ; &M-39103;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=jis-x0208@1978 . #x465B) ; &M-38982; [38-59]
+ (=ks-x1001 . #x546D) ; &I-K0-546D; [52-77]
+ (=daikanwa . 38982) ; &I-M-38982;
+ ))
+ (<-same*sources
+ chuanpian daikanwa)
(=daikanwa . 39104) ; &M-39104;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 18)
+ (<-same
+ ((=daikanwa . 38757) ; &M-38757;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=cns11643-7 . #x4374) ; &M-39105; [35-84]
(=daikanwa . 39105) ; &I-M-39105;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=ks-x1001 . #x7C3D) ; &M-39174; [92-29]
+ (=daikanwa . 39174) ; &I-M-39174;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39106) ; &M-39106;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=jis-x0208@1978 . #x3C57) ; &M-39086; [28-55]
+ (=ks-x1001 . #x7334) ; &I-K0-7334; [83-20]
+ (=daikanwa . 39086) ; &I-M-39086;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39108) ; &M-39108;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-same
+ ((=jis-x0208 . #x5D57) ; >-21339; [61-55]
+ (=ks-x1001 . #x4A43) ; &I-K0-4A43; [42-35]
+ (=daikanwa . 16646) ; &I-M-16646;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39109) ; &M-39109;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 11)
(total-strokes . 15)
+ (<-wrong
+ ((=jis-x0208 . #x703D) ; >-56793; [80-29]
+ (=ks-x1001 . #x6F7D) ; &I-K0-6F7D; [79-93]
+ (=daikanwa . 42299) ; &I-M-42299;
+ ))
+ (<-wrong*sources
+ zihui-bu daikanwa)
(=daikanwa . 39110) ; &M-39110;
))
(define-char
(=cns11643-7 . #x2970) ; &C7-2970; [09-80]
))
(define-char
- '((=>ucs . #x9072) ; 遲
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (=ucs . #x9072) ; 遲
+ (=big5 . #xBFF0) ; &I-B-BFF0;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
(->ideographic-variants
))
(->ideographic-variants*sources
shinjigen-1)
+ (<-Large-Seal
+ ((=daikanwa . 39046) ; &M-39046;
+ ))
+ (<-Large-Seal*sources
+ shuowen daikanwa)
+ (<-ancient
+ ((=jis-x0212 . #x616A) ; &M-39219; [65-74]
+ (=jis-x0213-2-2000 . #x7A23) ; &I-JX2-7A23; [90-03]
+ (=daikanwa . 39219) ; &I-M-39219;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x9072) ; 遲
+ ))
(shinjigen-1 . 8337)
(shinjigen-2 . 8337)
(=jis-x0208 . #x6E2F) ; >-52644; [78-15]
(=ks-x1001 . #x7240) ; &I-K0-7240; [82-32]
- (=big5 . #xBFF0) ; &I-B-BFF0;
(=gt . 52644) ; &I-GT-52644;
(=gt-pj-1 . #x6E2F) ; &I-GT-52644; [78-15]
(=daikanwa . 39113) ; &I-M-39113;
(=ucs@jis . #x9072) ; >-52644;
))
(define-char
- '((=>ucs . #x9072) ; 遲
- (morohashi-daikanwa 39113 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 16)
- (=cns11643-1 . #x725A) ; &C1-725A; [82-58]
+ (total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9072) ; 遲
+ ))
+ (=gb12345 . #x3359) ; &UU+9072; [19-57]
+ (=ucs@unicode . #x9072) ; &UU+9072;
))
(define-char
- '((morohashi-daikanwa 39113 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 15)
- (=ucs . #x9072) ; 遲
- (=gb12345 . #x3359) ; 遲 [19-57]
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9072) ; 遲
+ ))
+ (=cns11643-1 . #x725A) ; &C1-725A; [82-58]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=daikanwa . 37582) ; &M-37582;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39114) ; &M-39114;
))
(define-char
))
))
(define-char
- '((=>daikanwa . 39116) ; &M-39116;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(=ucs . #x285B6) ; 𨖶
(->subsumptive
))
))
(define-char
- '((=>ucs . #x9074) ; 遴
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (=ucs . #x9074) ; 遴
+ (=big5 . #xBFEE) ; &I-B-BFEE;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9074) ; 遴
+ ))
+ (<-original
+ ((=daikanwa . 39192) ; &M-39192;
+ ))
+ (<-original*sources
+ zhengzitong shuowen guangya daikanwa)
+ (<-synonyms
+ ((=ucs . #x6384) ; 掄
+ (=daikanwa . 12238) ; &I-M-12238;
+ ))
+ (<-synonyms*sources
+ shuowen shuowen-tongxundingsheng zhengzitong xintangshu daikanwa)
(=jis-x0212 . #x6165) ; &M-39117; [65-69]
- (=big5 . #xBFEE) ; &I-B-BFEE;
(=daikanwa . 39117) ; &I-M-39117;
(=ucs@jis . #x9074) ; &M-39117;
))
(define-char
- '((=>ucs . #x9074) ; 遴
- (morohashi-daikanwa 39117 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9074) ; 遴
+ ))
+ (=gb2312 . #x6560) ; &G0-6560; [69-64]
+ (=ucs@unicode . #x9074) ; &G0-6560;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9074) ; 遴
+ ))
(=cns11643-1 . #x7258) ; &C1-7258; [82-56]
))
(define-char
- '((morohashi-daikanwa 39117 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 15)
- (=ucs . #x9074) ; 遴
- (=gb2312 . #x6560) ; &I-G0-6560; [69-64]
+ (=ucs . #x9075) ; 遵
+ (=big5 . #xBFED) ; &I-B-BFED;
))
(define-char
- '((=>ucs . #x9075) ; 遵
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9075) ; 遵
+ ))
(=ks-x1001 . #x7165) ; &M-39118; [81-69]
- (=big5 . #xBFED) ; &I-B-BFED;
(=daikanwa . 39118) ; &I-M-39118;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9075) ; 遵
+ ))
+ (=cns11643-1 . #x7257) ; &C1-7257; [82-55]
+ ))
+(define-char
'((morohashi-daikanwa 39118 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 15)
- (=ucs . #x9075) ; 遵
- (=jis-x0208 . #x3D65) ; &I-J90-3D65; [29-69]
+ (<-denotational
+ ((=ucs . #x9075) ; 遵
+ ))
+ (=jis-x0208 . #x3D65) ; >-52530; [29-69]
(=gb2312 . #x5771) ; &I-G0-5771; [55-81]
(=gt . 52530) ; &I-GT-52530;
(=gt-pj-1 . #x3D65) ; &I-GT-52530; [29-69]
+ (=ucs@unicode . #x9075) ; >-52530;
(mojikyo . 050531) ; &MCS-6000C563;
))
(define-char
- '((=>ucs . #x9075) ; 遵
- (morohashi-daikanwa 39118 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 12)
- (total-strokes . 16)
- (->mojikyo . 050531) ; 遵
- (=cns11643-1 . #x7257) ; &C1-7257; [82-55]
- ))
-(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-original
+ ((=ks-x1001 . #x7165) ; &M-39118; [81-69]
+ (=daikanwa . 39118) ; &I-M-39118;
+ ))
+ (<-original*sources
+ zhonghua-dazidian daikanwa)
(=daikanwa . 39119) ; &M-39119;
))
(define-char
(=ucs . #x285B7) ; 𨖷
(->subsumptive
((total-strokes . 16)
+ (->formed
+ ((=ucs . #x7B91) ; 箑
+ (=daikanwa . 26136) ; &I-M-26136;
+ ))
+ (->formed*sources
+ yupian jiyun daikanwa)
(=daikanwa . 39120) ; &M-39120;
)
((total-strokes . 16)
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-ancient
+ ((=ks-x1001 . #x6A40) ; &M-39047; [74-32]
+ (=daikanwa . 39047) ; &I-M-39047;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 39121) ; &M-39121;
))
(define-char
(=cns11643-7 . #x3441) ; &C7-3441; [20-33]
))
(define-char
- '((=>ucs . #x9076) ; 遶
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (=ucs . #x9076) ; 遶
+ (=big5 . #xEBD0) ; &I-B-EBD0;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9076) ; 遶
+ ))
+ (shinjigen-1 . 8379)
(shinjigen-2 . 8379)
(=jis-x0208 . #x6E2D) ; >-52623; [78-13]
- (=big5 . #xEBD0) ; &I-B-EBD0;
(=gt . 52623) ; &I-GT-52623;
(=gt-pj-1 . #x6E2D) ; &I-GT-52623; [78-13]
(=daikanwa . 39122) ; &I-M-39122;
(=ucs@jis . #x9076) ; >-52623;
))
(define-char
- '((=>ucs . #x9076) ; 遶
- (morohashi-daikanwa 39122 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9076) ; 遶
+ ))
+ (=ucs@unicode . #x9076) ; &UU+9076;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9076) ; 遶
+ ))
(=cns11643-2 . #x5A7C) ; &C2-5A7C; [58-92]
))
(define-char
- '((morohashi-daikanwa 39122 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 16)
- (=ucs . #x9076) ; 遶
+ (=ucs . #x9077) ; 遷
))
(define-char
- '((=>ucs . #x9077) ; 遷
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=big5 . #xBE45) ; &B-BE45;
+ ))
+ (<-original
+ ((=daikanwa . 39257) ; &M-39257;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
+ (<-synonyms
+ ((=daikanwa . 15791) ; &M-15791;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(=daikanwa . 39123) ; &M-39123;
))
(define-char
- '((=>ucs . #x9077) ; 遷
- (morohashi-daikanwa 39123 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 16)
- (=ks-x1001 . #x7443) ; &K0-7443; [84-35]
- (=big5 . #xBE45) ; &I-B-BE45;
+ (<-denotational
+ ((=ucs . #x9077) ; 遷
+ ))
+ (=big5 . #xBE45) ; &B-BE45;
))
(define-char
- '((=>ucs . #x9077) ; 遷
- (morohashi-daikanwa 39123 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 15)
+ (<-denotational
+ ((=big5 . #xBE45) ; &B-BE45;
+ ))
+ (=gb12345 . #x4728) ; &UU+9077; [39-08]
+ (=ucs@unicode . #x9077) ; &UU+9077;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
- (=cns11643-1 . #x6F4F) ; &C1-6F4F; [79-47]
+ (<-denotational
+ ((=big5 . #xBE45) ; &B-BE45;
+ ))
+ (=ks-x1001 . #x7443) ; &K0-7443; [84-35]
))
(define-char
- '((morohashi-daikanwa 39123 0 4)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 15)
- (=ucs . #x9077) ; 遷
- (=gb12345 . #x4728) ; 遷 [39-08]
+ (total-strokes . 16)
+ (<-denotational
+ ((=big5 . #xBE45) ; &B-BE45;
+ ))
+ (=cns11643-1 . #x6F4F) ; &C1-6F4F; [79-47]
))
(define-char
- '((=>ucs . #x9077) ; 遷
- (morohashi-daikanwa 39123 0 5)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9077) ; 遷
+ ))
(=jis-x0208 . #x412B) ; >-52539; [33-11]
(=gt . 52539) ; &I-GT-52539;
(=gt-k . 11919) ; &I-GT-K11919;
(=ucs@jis . #x9077) ; >-52539;
))
(define-char
- '((=>daikanwa . 39124) ; &M-39124;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(=ucs . #x285B9) ; 𨖹
(->subsumptive
((total-strokes . 16)
+ (<-ancient
+ ((=jis-x0208@1978 . #x4676) ; >-52751; [38-86]
+ (=jis-x0208@1983 . #x6D6E) ; &I-J83-6D6E; [77-78]
+ (=ks-x1001 . #x6C44) ; &I-K0-6C44; [76-36]
+ (=daikanwa . 39193) ; &I-M-39193;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 39124) ; &M-39124;
)
((total-strokes . 16)
(=cns11643-7 . #x343E) ; &C7-343E; [20-30]
))
(define-char
- '((=>ucs . #x9078) ; 選
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (=ucs . #x9078) ; 選
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (->formed
+ ((=jis-x0212 . #x6445) ; &M-40470; [68-37]
+ (=daikanwa . 40470) ; &I-M-40470;
+ ))
+ (->formed*sources
+ jiyun hanshu hanshu-zhu daikanwa)
+ (<-denotational
+ ((=big5 . #xBFEF) ; &B-BFEF;
+ ))
+ (<-synonyms
+ ((=ucs . #x7B97) ; 算
+ (=daikanwa . 26146) ; &I-M-26146;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng jiyun shangshu shangshu-zhuan shangshu-shu hanshu hanshu-zhu daikanwa)
(=ks-x1001 . #x6054) ; &M-39127; [64-52]
- (=big5 . #xBFEF) ; &I-B-BFEF;
(=daikanwa . 39127) ; &I-M-39127;
))
(define-char
- '((=>ucs . #x9078) ; 選
- (morohashi-daikanwa 39127 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 16)
- (=cns11643-1 . #x7259) ; &C1-7259; [82-57]
+ (<-denotational
+ ((=ucs . #x9078) ; 選
+ ))
+ (=big5 . #xBFEF) ; &B-BFEF;
))
(define-char
- '((morohashi-daikanwa 39127 0 4)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 15)
- (=ucs . #x9078) ; 選
- (=gb12345 . #x5121) ; 選 [49-01]
+ (<-denotational
+ ((=big5 . #xBFEF) ; &B-BFEF;
+ ))
+ (=gb12345 . #x5121) ; &UU+9078; [49-01]
+ (=ucs@unicode . #x9078) ; &UU+9078;
))
(define-char
- '((=>ucs . #x9078) ; 選
- (morohashi-daikanwa 39127 0 5)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 16)
+ (<-denotational
+ ((=big5 . #xBFEF) ; &B-BFEF;
+ ))
+ (=cns11643-1 . #x7259) ; &C1-7259; [82-57]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9078) ; 選
+ ))
(=jis-x0208 . #x412A) ; >-52540; [33-10]
(=gt . 52540) ; &I-GT-52540;
(=gt-k . 11918) ; &I-GT-K11918;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-synonyms
+ ((=ucs . #x6B25) ; 欥
+ (=daikanwa . 16017) ; &I-M-16017;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng maoshi maoshi-jizhuan daikanwa)
(=jis-x0212 . #x6166) ; &M-39129; [65-70]
(=big5 . #xEBD1) ; &I-B-EBD1;
(=daikanwa . 39129) ; &I-M-39129;
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-vulgar
+ ((=jis-x0208 . #x5C72) ; >-19939; [60-82]
+ (=cns11643-1 . #x707E) ; &I-C1-707E; [80-94]
+ (=daikanwa . 15517) ; &I-M-15517;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 39131) ; &M-39131;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-ancient
+ ((=ks-x1001 . #x6B36) ; &M-39134; [75-22]
+ (=daikanwa . 39134) ; &I-M-39134;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 39132) ; &M-39132;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=ks-x1001 . #x6B36) ; &M-39134; [75-22]
+ (=daikanwa . 39134) ; &I-M-39134;
+ ))
+ (<-same*sources
+ yuwen daikanwa)
(=daikanwa . 39133) ; &M-39133;
))
(define-char
(=cns11643-7 . #x3448) ; &C7-3448; [20-40]
))
(define-char
- '((=>ucs . #x907A) ; 遺
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (=ucs . #x907A) ; 遺
+ (=big5 . #xBFF2) ; &I-B-BFF2;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x907A) ; 遺
+ ))
(=ks-x1001 . #x6B36) ; &M-39134; [75-22]
- (=big5 . #xBFF2) ; &I-B-BFF2;
(=daikanwa . 39134) ; &I-M-39134;
))
(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x907A) ; 遺
+ ))
+ (=cns11643-1 . #x725C) ; &C1-725C; [82-60]
+ ))
+(define-char
'((morohashi-daikanwa 39134 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x907A) ; 遺
+ ))
(shinjigen-1 . 8374)
(shinjigen-2 . 8374)
- (=ucs . #x907A) ; 遺
- (=jis-x0208 . #x3064) ; &I-J90-3064; [16-68]
- (=gb12345 . #x5245) ; 遺 [50-37]
+ (=jis-x0208 . #x3064) ; >-52495; [16-68]
+ (=gb12345 . #x5245) ; >-52495; [50-37]
(=gt . 52495) ; &I-GT-52495;
(=gt-k . 11889) ; &I-GT-K11889;
(=gt-pj-1 . #x3064) ; &I-GT-52495; [16-68]
+ (=ucs@unicode . #x907A) ; >-52495;
(mojikyo . 050534) ; &MCS-6000C566;
))
(define-char
- '((=>ucs . #x907A) ; 遺
- (morohashi-daikanwa 39134 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 12)
- (total-strokes . 16)
- (->mojikyo . 050534) ; 遺
- (=cns11643-1 . #x725C) ; &C1-725C; [82-60]
- ))
-(define-char
'((=>ucs . #x285BE) ; 𨖾
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(=ucs . #x285BE) ; 𨖾
))
(define-char
- '((=>ucs . #x907B) ; 遻
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 16)
- (=big5 . #xEBD2) ; &M-39136;
- (=daikanwa . 39136) ; &I-M-39136;
+ (=ucs . #x907B) ; 遻
+ (=big5 . #xEBD2) ; &I-B-EBD2;
))
(define-char
- '((=>ucs . #x907B) ; 遻
- (morohashi-daikanwa 39136 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
- (=cns11643-2 . #x5A7E) ; &C2-5A7E; [58-94]
+ (<-denotational
+ ((=ucs . #x907B) ; 遻
+ ))
+ (=daikanwa . 39136) ; &M-39136;
))
(define-char
- '((morohashi-daikanwa 39136 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 15)
- (=ucs . #x907B) ; 遻
+ (<-denotational
+ ((=ucs . #x907B) ; 遻
+ ))
+ (=ucs@unicode . #x907B) ; &UU+907B;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x907B) ; 遻
+ ))
+ (=cns11643-2 . #x5A7E) ; &C2-5A7E; [58-94]
))
(define-char
'((ideographic-radical . 162) ; ⾡
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (->formed
+ ((=jis-x0208 . #x5229) ; >-03104; [50-09]
+ (=ks-x1001 . #x564C) ; &I-K0-564C; [54-44]
+ (=daikanwa . 02410) ; &I-M-02410;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
(<-denotational
((=ucs . #x907C) ; 遼
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0208 . #x6D7B) ; >-52182; [77-91]
+ (=daikanwa . 38949) ; &I-M-38949;
+ ))
+ (<-same*sources
+ kangxi daikanwa)
(=daikanwa . 39138) ; &M-39138;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0212 . #x6154) ; &M-38925; [65-52]
+ (=daikanwa . 38925) ; &I-M-38925;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39139) ; &M-39139;
))
(define-char
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
+ (=ucs . #x285C1) ; 𨗁
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x285C1) ; 𨗁
+ ))
+ (<-original
+ ((=ks-x1001 . #x6E6A) ; >-52561; [78-74]
+ (=daikanwa . 39076) ; &I-M-39076;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39140) ; &M-39140;
))
(define-char
- '((morohashi-daikanwa 39140 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x285C1) ; 𨗁
+ ))
(=cns11643-7 . #x3439) ; &C7-3439; [20-25]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
+ (total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x285C1) ; 𨗁
+ ))
+ (->subsumptive
+ ((=gt . 52562) ; >-52562;
+ (=gt-pj-10 . #x413E) ; >-52562; [33-30]
+ )
+ ((=ucs@iso . #x285C1) ; &U-000285C1;
+ ))
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0208 . #x3476) ; &M-09208; [20-86]
+ (=ks-x1001 . #x507A) ; &I-K0-507A; [48-90]
+ (=daikanwa . 09208) ; &I-M-09208;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39141) ; &M-39141;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 19)
+ (<-ancient
+ ((=ks-x1001 . #x7264) ; &M-38943; [82-68]
+ (=daikanwa . 38943) ; &I-M-38943;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=cns11643-7 . #x4A77) ; &M-39142; [42-87]
(=daikanwa . 39142) ; &I-M-39142;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0212 . #x6165) ; &M-39117; [65-69]
+ (=daikanwa . 39117) ; &I-M-39117;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39143) ; &M-39143;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0208 . #x703D) ; >-56793; [80-29]
+ (=ks-x1001 . #x6F7D) ; &I-K0-6F7D; [79-93]
+ (=daikanwa . 42299) ; &I-M-42299;
+ ))
+ (<-same*sources
+ wuyin-jiyun daikanwa)
(=daikanwa . 39148) ; &M-39148;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0208 . #x6E2E) ; >-56259; [78-14]
+ (=ks-x1001 . #x624B) ; &I-K0-624B; [66-43]
+ (=daikanwa . 41871) ; &I-M-41871;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39150) ; &M-39150;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39151) ; &M-39151;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=jis-x0208 . #x6D79) ; >-52157; [77-89]
+ (=ks-x1001 . #x7867) ; &I-K0-7867; [88-71]
+ (=daikanwa . 38871) ; &I-M-38871;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39154) ; &M-39154;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=daikanwa . 39078) ; &M-39078;
+ ))
+ (<-same*sources
+ pianhai-leibian daikanwa)
(=daikanwa . 39155) ; &M-39155;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=ucs . #x5FB7) ; 德
+ (=daikanwa . 10243) ; &I-M-10243;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39156) ; &M-39156;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=daikanwa . 38858) ; &M-38858;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39157) ; &M-39157;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=ks-x1001 . #x7064) ; &M-39082; [80-68]
+ (=daikanwa . 39082) ; &I-M-39082;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39158) ; &M-39158;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-same
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39159) ; &M-39159;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
+ (<-original
+ ((=daikanwa . 39092) ; &M-39092;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39160) ; &M-39160;
))
(define-char
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 15)
(=ucs . #x9086) ; 邆
+ (=big5 . #xEBD3) ; &I-B-EBD3;
))
(define-char
- '((=>ucs . #x9086) ; 邆
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
- (total-strokes . 16)
- (=cns11643-2 . #x5B21) ; &C2-5B21; [59-01]
+ (total-strokes . 15)
+ (<-denotational
+ ((=ucs . #x9086) ; 邆
+ ))
+ (=ucs@unicode . #x9086) ; &UU+9086;
))
(define-char
- '((=>ucs . #x9086) ; 邆
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 12)
(total-strokes . 16)
- (=big5 . #xEBD3) ; &B-EBD3;
+ (<-denotational
+ ((=ucs . #x9086) ; 邆
+ ))
+ (=cns11643-2 . #x5B21) ; &C2-5B21; [59-01]
))
(define-char
- '((=>ucs . #x907D) ; 遽
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 13)
+ (=ucs . #x907D) ; 遽
+ (=big5 . #xC1D8) ; &I-B-C1D8;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x907D) ; 遽
+ ))
+ (<-same
+ ((=daikanwa . 32509) ; &M-32509;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
+ (<-synonyms
+ ((=jis-x0208 . #x515D) ; >-44206; [49-61]
+ (=ks-x1001 . #x7425) ; &I-K0-7425; [84-05]
+ (=daikanwa . 32697) ; &I-M-32697;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng zhuangzi jingdian-shiwen daikanwa)
(shinjigen-2 . 8392)
(=jis-x0208 . #x6E31) ; >-52687; [78-17]
(=ks-x1001 . #x4B68) ; &I-K0-4B68; [43-72]
- (=big5 . #xC1D8) ; &I-B-C1D8;
(=gt . 52687) ; &I-GT-52687;
(=gt-pj-1 . #x6E31) ; &I-GT-52687; [78-17]
(=daikanwa . 39161) ; &I-M-39161;
(=ucs@jis . #x907D) ; >-52687;
))
(define-char
- '((=>ucs . #x907D) ; 遽
- (morohashi-daikanwa 39161 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 13)
+ (total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x907D) ; 遽
+ ))
+ (=gb2312 . #x6561) ; &G0-6561; [69-65]
+ (=ucs@unicode . #x907D) ; &G0-6561;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 13)
+ (total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x907D) ; 遽
+ ))
+ (=cns11643-1 . #x7563) ; &C1-7563; [85-67]
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 17)
- (=cns11643-1 . #x7563) ; &C1-7563; [85-67]
+ (=ucs . #x907E) ; 遾
+ (=big5 . #xEEC3) ; &I-B-EEC3;
))
(define-char
- '((morohashi-daikanwa 39161 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
- (=ucs . #x907D) ; 遽
- (=gb2312 . #x6561) ; &I-G0-6561; [69-65]
+ (<-denotational
+ ((=ucs . #x907E) ; 遾
+ ))
+ (=daikanwa . 39162) ; &M-39162;
))
(define-char
- '((=>ucs . #x907E) ; 遾
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 17)
- (=big5 . #xEEC3) ; &M-39162;
- (=daikanwa . 39162) ; &I-M-39162;
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x907E) ; 遾
+ ))
+ (=ucs@unicode . #x907E) ; &UU+907E;
))
(define-char
- '((=>ucs . #x907E) ; 遾
- (morohashi-daikanwa 39162 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x907E) ; 遾
+ ))
(=cns11643-2 . #x5F6F) ; &C2-5F6F; [63-79]
))
(define-char
- '((morohashi-daikanwa 39162 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 16)
- (=ucs . #x907E) ; 遾
+ (=ucs . #x907F) ; 避
+ (=big5 . #xC1D7) ; &I-B-C1D7;
))
(define-char
- '((=>ucs . #x907F) ; 避
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (->formed
+ ((=jis-x0208 . #x6D64) ; >-51571; [77-68]
+ (=daikanwa . 38642) ; &I-M-38642;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x907F) ; 避
+ ))
(=ks-x1001 . #x792D) ; &M-39163; [89-13]
- (=big5 . #xC1D7) ; &I-B-C1D7;
(=daikanwa . 39163) ; &I-M-39163;
))
(define-char
- '((=>ucs . #x907F) ; 避
- (morohashi-daikanwa 39163 1)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 16)
- (=jis-x0208 . #x4872) ; >-52655; [40-82]
- (=gt . 52655) ; &I-GT-52655;
- (=gt-pj-1 . #x4872) ; &I-GT-52655; [40-82]
- (=ucs@jis . #x907F) ; >-52655;
+ (total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x907F) ; 避
+ ))
+ (=cns11643-1 . #x7562) ; &C1-7562; [85-66]
))
(define-char
- '((morohashi-daikanwa 39163 1 0)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 16)
- (=ucs . #x907F) ; 避
- (=gb2312 . #x315C) ; &I-G0-315C; [17-60]
- (mojikyo . 050535) ; &MCS-6000C567;
- ))
-(define-char
- '((=>ucs . #x907F) ; 避
- (morohashi-daikanwa 39163 1 1)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 13)
- (total-strokes . 17)
- (->mojikyo . 050535) ; 避
- (=cns11643-1 . #x7562) ; &C1-7562; [85-66]
+ (<-denotational
+ ((=ucs . #x907F) ; 避
+ ))
+ (->subsumptive
+ ((morohashi-daikanwa 39163 1)
+ (=jis-x0208 . #x4872) ; >-52655; [40-82]
+ (=gt . 52655) ; &I-GT-52655;
+ (=gt-pj-1 . #x4872) ; &I-GT-52655; [40-82]
+ (=ucs@jis . #x907F) ; >-52655;
+ (mojikyo . 050535) ; &MCS-6000C567;
+ )
+ ((=gb2312 . #x315C) ; &G0-315C; [17-60]
+ (=ucs@unicode . #x907F) ; &G0-315C;
+ ))
))
(define-char
- '((=>daikanwa . 39164) ; &M-39164;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(=ucs . #x285E5) ; 𨗥
(->subsumptive
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-same
+ ((=daikanwa . 10259) ; &M-10259;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39166) ; &M-39166;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (->formed
+ ((=ucs . #x5FBC) ; 徼
+ (=daikanwa . 10261) ; &I-M-10261;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
(shinjigen-2 . 8398)
(=jis-x0208 . #x6E33) ; >-52731; [78-19]
(=ks-x1001 . #x692D) ; &I-K0-692D; [73-13]
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (->formed
+ ((=daikanwa . 39258) ; &M-39258;
+ ))
+ (->formed*sources
+ shuowen daikanwa)
+ (<-synonyms
+ ((=cns11643-2 . #x4F5C) ; &M-02459; [47-60]
+ (=daikanwa . 02459) ; &I-M-02459;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng zuoshi-zhuan zuoshi-zhu zuoshi-shu daikanwa)
(=daikanwa . 39169) ; &M-39169;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-different
+ ((=daikanwa . 39093) ; &M-39093;
+ ))
+ (<-different*sources
+ zhengzitong daikanwa)
+ (<-same
+ ((=jis-x0208 . #x6F58) ; &M-41088; [79-56]
+ (=ks-x1001 . #x733A) ; &I-K0-733A; [83-26]
+ (=daikanwa . 41088) ; &I-M-41088;
+ ))
+ (<-same*sources
+ zihui daikanwa)
+ (<-synonyms
+ ((=ucs . #x5AD9) ; 嫙
+ (=daikanwa . 06642) ; &I-M-06642;
+ ))
+ (<-synonyms*sources
+ shuowen-tongxundingsheng daikanwa)
(=daikanwa . 39171) ; &M-39171;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (->formed
+ ((=jis-x0208@1978 . #x3260) ; &M-38789; [18-64]
+ (=ks-x1001 . #x4A3C) ; &I-K0-4A3C; [42-28]
+ (=daikanwa . 38789) ; &I-M-38789;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
(shinjigen-2 . 8388)
(=jis-x0208 . #x6E30) ; >-52683; [78-16]
(=ks-x1001 . #x7A33) ; &I-K0-7A33; [90-19]
(=gb2312 . #x6562) ; &I-G0-6562; [69-66]
))
(define-char
- '((=>ucs . #x9084) ; 還
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 13)
+ (=ucs . #x9084) ; 還
+ (=big5 . #xC1D9) ; &I-B-C1D9;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x9084) ; 還
+ ))
+ (<-original
+ ((=daikanwa . 39222) ; &M-39222;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=ks-x1001 . #x7C3D) ; &M-39174; [92-29]
(=daikanwa . 39174) ; &I-M-39174;
))
(define-char
- '((=>ucs . #x9084) ; 還
- (morohashi-daikanwa 39174 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 13)
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9084) ; 還
+ ))
+ (=gb12345 . #x3B39) ; &UU+9084; [27-25]
+ (=ucs@unicode . #x9084) ; &UU+9084;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
- (=big5 . #xC1D9) ; &B-C1D9;
+ (<-denotational
+ ((=ucs . #x9084) ; 還
+ ))
+ (=cns11643-1 . #x7564) ; &C1-7564; [85-68]
))
(define-char
- '((=>ucs . #x9084) ; 還
- (morohashi-daikanwa 39174 1)
+ '((morohashi-daikanwa 39174 1)
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9084) ; 還
+ ))
(=jis-x0208 . #x3454) ; >-52606; [20-52]
(=gt . 52606) ; &I-GT-52606;
(=gt-pj-1 . #x3454) ; &I-GT-52606; [20-52]
(mojikyo . 050536) ; &MCS-6000C568;
))
(define-char
- '((morohashi-daikanwa 39174 1 2)
- (ideographic-radical . 162) ; ⾡
- (ideographic-strokes . 13)
- (total-strokes . 16)
- (=ucs . #x9084) ; 還
- (=gb12345 . #x3B39) ; 還 [27-25]
- ))
-(define-char
- '((=>ucs . #x9084) ; 還
- (morohashi-daikanwa 39174 1 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 17)
- (->mojikyo . 050536) ; >-52606;
- (=cns11643-1 . #x7564) ; &C1-7564; [85-68]
+ (=ucs . #x9085) ; 邅
+ (=big5 . #xEEC2) ; &I-B-EEC2;
))
(define-char
- '((=>ucs . #x9085) ; 邅
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x9085) ; 邅
+ ))
+ (<-same
+ ((=daikanwa . 37315) ; &M-37315;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=jis-x0212 . #x6167) ; &M-39175; [65-71]
(=jis-x0213-2-2000 . #x7A22) ; &I-JX2-7A22; [90-02]
- (=big5 . #xEEC2) ; &I-B-EEC2;
(=daikanwa . 39175) ; &I-M-39175;
(=ucs@jis . #x9085) ; &M-39175;
))
(define-char
- '((=>ucs . #x9085) ; 邅
- (morohashi-daikanwa 39175 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 17)
- (=cns11643-2 . #x5F6E) ; &C2-5F6E; [63-78]
+ (total-strokes . 16)
+ (<-denotational
+ ((=ucs . #x9085) ; 邅
+ ))
+ (=ucs@unicode . #x9085) ; &UU+9085;
))
(define-char
- '((morohashi-daikanwa 39175 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
- (total-strokes . 16)
- (=ucs . #x9085) ; 邅
+ (total-strokes . 17)
+ (<-denotational
+ ((=ucs . #x9085) ; 邅
+ ))
+ (=cns11643-2 . #x5F6E) ; &C2-5F6E; [63-78]
))
(define-char
- '((=>daikanwa . 39176) ; &M-39176;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(=ucs . #x48AE) ; 䢮
(->subsumptive
((total-strokes . 17)
+ (<-wrong
+ ((=daikanwa . 42369) ; &M-42369;
+ ))
+ (<-wrong*sources
+ jiyun jiyun-jiaozheng daikanwa)
(=daikanwa . 39176) ; &M-39176;
)
((total-strokes . 17)
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-ancient
+ ((=daikanwa . 11170) ; &M-11170;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 39178) ; &M-39178;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 20)
+ (<-ancient
+ ((=ucs . #x5F99) ; 徙
+ (=daikanwa . 10142) ; &I-M-10142;
+ ))
+ (<-ancient*sources
+ wuyin-jiyun daikanwa)
(=cns11643-7 . #x5057) ; &M-39179; [48-55]
(=daikanwa . 39179) ; &I-M-39179;
))
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-ancient
+ ((=ks-x1001 . #x6B36) ; &M-39134; [75-22]
+ (=daikanwa . 39134) ; &I-M-39134;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 39180) ; &M-39180;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-ancient
+ ((=ks-x1001 . #x6B36) ; &M-39134; [75-22]
+ (=daikanwa . 39134) ; &I-M-39134;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 39181) ; &M-39181;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-same
+ ((=jis-x0208 . #x6E2B) ; >-52518; [78-11]
+ (=daikanwa . 39073) ; &I-M-39073;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39182) ; &M-39182;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-same
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39188) ; &M-39188;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-same
+ ((=ks-x1001 . #x7475) ; &M-38931; [84-85]
+ (=daikanwa . 38931) ; &I-M-38931;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39189) ; &M-39189;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 13)
(total-strokes . 17)
+ (<-same
+ ((=ucs . #x5E36) ; 帶
+ (=daikanwa . 08950) ; &I-M-08950;
+ ))
+ (<-same*sources
+ pianhai-leibian daikanwa)
(=daikanwa . 39190) ; &M-39190;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (->formed
+ ((=jis-x0208 . #x702B) ; >-56258; [80-11]
+ (=ks-x1001 . #x624A) ; &I-K0-624A; [66-42]
+ (=daikanwa . 41870) ; &I-M-41870;
+ ))
+ (->formed*sources
+ shuowen jiyun daikanwa)
+ (<-same
+ ((=daikanwa . 25448) ; &M-25448;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39191) ; &M-39191;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-original
+ ((=jis-x0212 . #x6165) ; &M-39117; [65-69]
+ (=daikanwa . 39117) ; &I-M-39117;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39192) ; &M-39192;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (->formed
+ ((=jis-x0208@1978 . #x6D6E) ; &M-38793; [77-78]
+ (=daikanwa . 38793) ; &I-M-38793;
+ ))
+ (->formed*sources
+ jiyun daikanwa)
+ (<-ancient
+ ((=daikanwa . 39124) ; &M-39124;
+ ))
+ (<-ancient*sources
+ shuowen jiyun daikanwa)
(<-denotational
((=ucs . #x9087) ; 邇
))
+ (<-synonyms
+ ((=ucs . #x723E) ; 爾
+ (=daikanwa . 19750) ; &I-M-19750;
+ ))
+ (<-synonyms*sources
+ jingdian-shiwen daikanwa)
(shinjigen-1 . 8399)
(shinjigen-2 . 8399)
(=jis-x0208@1978 . #x4676) ; >-52751; [38-86]
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=daikanwa . 38936) ; &M-38936;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 39197) ; &M-39197;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=daikanwa . 39235) ; &M-39235;
+ ))
+ (<-same*sources
+ zhengzitong shuowen@daxuben zhengyun chuci hanshu hanshu-zhu daikanwa)
+ (<-synonyms
+ ((=cns11643-1 . #x7732) ; &M-32267; [87-18]
+ (=daikanwa . 32267) ; &I-M-32267;
+ ))
+ (<-synonyms*sources
+ jiyun daikanwa)
(=ks-x1001 . #x5831) ; &M-39198; [56-17]
(=jis-x0212 . #x6168) ; &I-JSP-6168; [65-72]
(=jis-x0213-1-2000 . #x7C5A) ; &I-JX1-7C5A; [92-58]
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-ancient
+ ((=ks-x1001 . #x7165) ; &M-39118; [81-69]
+ (=daikanwa . 39118) ; &I-M-39118;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 39199) ; &M-39199;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=jis-x0212 . #x5324) ; &M-26801; [51-04]
+ (=jis-x0213-2-2000 . #x736F) ; &I-JX2-736F; [83-79]
+ (=daikanwa . 26801) ; &I-M-26801;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39201) ; &M-39201;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=ucs . #x6EEF) ; 滯
+ (=daikanwa . 18075) ; &I-M-18075;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39203) ; &M-39203;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=ks-x1001 . #x7064) ; &M-39082; [80-68]
+ (=daikanwa . 39082) ; &I-M-39082;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39204) ; &M-39204;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=ks-x1001 . #x5627) ; &M-38902; [54-07]
+ (=daikanwa . 38902) ; &I-M-38902;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39208) ; &M-39208;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=daikanwa . 39091) ; &M-39091;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39209) ; &M-39209;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=ucs . #x64F7) ; 擷
+ (=daikanwa . 12900) ; &I-M-12900;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39210) ; &M-39210;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 14)
(total-strokes . 18)
+ (<-same
+ ((=ks-x1001 . #x775C) ; &M-38839; [87-60]
+ (=daikanwa . 38839) ; &I-M-38839;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39212) ; &M-39212;
))
(define-char
(<-denotational
((=ucs . #x9089) ; 邉
))
+ (<-wrong
+ ((=jis-x0208 . #x6E34) ; >-52803; [78-20]
+ (=ks-x1001 . #x5C2B) ; &I-K0-5C2B; [60-11]
+ (=daikanwa . 39216) ; &I-M-39216;
+ ))
+ (<-wrong*sources
+ zhengzitong daikanwa)
(=daikanwa . 39214) ; &M-39214;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-ancient
+ ((=daikanwa . 28423) ; &M-28423;
+ ))
+ (<-ancient*sources
+ kangxi daikanwa)
+ (<-original
+ ((=daikanwa . 39217) ; &M-39217;
+ ))
+ (<-original*sources
+ zhengzitong shuowen daikanwa)
(shinjigen-2 . 8209)
(=jis-x0208 . #x6E34) ; >-52803; [78-20]
(=ks-x1001 . #x5C2B) ; &I-K0-5C2B; [60-11]
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-original
+ ((=jis-x0208 . #x6E34) ; >-52803; [78-20]
+ (=ks-x1001 . #x5C2B) ; &I-K0-5C2B; [60-11]
+ (=daikanwa . 39216) ; &I-M-39216;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39217) ; &M-39217;
))
(define-char
(=cns11643-7 . #x4B22) ; &C7-4B22; [43-02]
))
(define-char
- '((=>ucs . #x908B) ; 邋
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 15)
+ (=ucs . #x908B) ; 邋
+ (=big5 . #xC3E5) ; &I-B-C3E5;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-denotational
+ ((=ucs . #x908B) ; 邋
+ ))
(=jis-x0212 . #x6169) ; &M-39218; [65-73]
- (=big5 . #xC3E5) ; &I-B-C3E5;
(=daikanwa . 39218) ; &I-M-39218;
(=ucs@jis . #x908B) ; &M-39218;
))
(define-char
- '((=>ucs . #x908B) ; 邋
- (morohashi-daikanwa 39218 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
- (=cns11643-1 . #x7932) ; &C1-7932; [89-18]
+ (<-denotational
+ ((=ucs . #x908B) ; 邋
+ ))
+ (=gb2312 . #x6565) ; &G0-6565; [69-69]
+ (=ucs@unicode . #x908B) ; &G0-6565;
))
(define-char
- '((morohashi-daikanwa 39218 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
- (=ucs . #x908B) ; 邋
- (=gb2312 . #x6565) ; &I-G0-6565; [69-69]
+ (<-denotational
+ ((=ucs . #x908B) ; 邋
+ ))
+ (=cns11643-1 . #x7932) ; &C1-7932; [89-18]
))
(define-char
- '((=>ucs . #x908C) ; 邌
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 15)
+ (=ucs . #x908C) ; 邌
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-ancient
+ ((=jis-x0208 . #x6E2F) ; >-52644; [78-15]
+ (=ks-x1001 . #x7240) ; &I-K0-7240; [82-32]
+ (=daikanwa . 39113) ; &I-M-39113;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
+ (<-denotational
+ ((=ucs . #x908C) ; 邌
+ ))
(=jis-x0212 . #x616A) ; &M-39219; [65-74]
(=jis-x0213-2-2000 . #x7A23) ; &I-JX2-7A23; [90-03]
(=daikanwa . 39219) ; &I-M-39219;
(=ucs@jis . #x908C) ; &M-39219;
))
(define-char
- '((morohashi-daikanwa 39219 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 15)
+ (total-strokes . 18)
+ (<-denotational
+ ((=ucs . #x908C) ; 邌
+ ))
+ (=ucs@unicode . #x908C) ; &UU+908C;
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
- (=ucs . #x908C) ; 邌
- (=cns11643-4 . #x615F) ; &I-C4-615F; [65-63]
+ (<-denotational
+ ((=ucs . #x908C) ; 邌
+ ))
+ (=cns11643-4 . #x615F) ; &C4-615F; [65-63]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-original
+ ((=ks-x1001 . #x7C3D) ; &M-39174; [92-29]
+ (=daikanwa . 39174) ; &I-M-39174;
+ ))
+ (<-original*sources
+ zihui-bu daikanwa)
(=daikanwa . 39222) ; &M-39222;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-same
+ ((=jis-x0208 . #x5462) ; >-07089; [52-66]
+ (=ks-x1001 . #x5666) ; &I-K0-5666; [54-70]
+ (=daikanwa . 05591) ; &I-M-05591;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39227) ; &M-39227;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-same
+ ((=jis-x0208 . #x6E2C) ; >-52567; [78-12]
+ (=ks-x1001 . #x546E) ; &I-K0-546E; [52-78]
+ (=daikanwa . 39089) ; &I-M-39089;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39228) ; &M-39228;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-same
+ ((=jis-x0208 . #x6E2A) ; >-52470; [78-10]
+ (=ks-x1001 . #x7476) ; &I-K0-7476; [84-86]
+ (=daikanwa . 39045) ; &I-M-39045;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39229) ; &M-39229;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-same
+ ((=jis-x0208 . #x6D7C) ; >-52206; [77-92]
+ (=ks-x1001 . #x5030) ; &I-K0-5030; [48-16]
+ (=daikanwa . 38948) ; &I-M-38948;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39230) ; &M-39230;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 15)
(total-strokes . 19)
+ (<-same
+ ((=ucs . #x8F26) ; 輦
+ (=daikanwa . 38393) ; &I-M-38393;
+ ))
+ (<-same*sources
+ wuyin-pianhai daikanwa)
(=daikanwa . 39231) ; &M-39231;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 16)
(total-strokes . 20)
+ (<-synonyms
+ ((=ucs . #x539F) ; 原
+ (=daikanwa . 02973) ; &I-M-02973;
+ ))
+ (<-synonyms*sources
+ shuowen jiyun daikanwa)
(=daikanwa . 39234) ; &M-39234;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 16)
(total-strokes . 20)
+ (<-same
+ ((=ks-x1001 . #x5831) ; &M-39198; [56-17]
+ (=jis-x0212 . #x6168) ; &I-JSP-6168; [65-72]
+ (=jis-x0213-1-2000 . #x7C5A) ; &I-JX1-7C5A; [92-58]
+ (=daikanwa . 39198) ; &I-M-39198;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=daikanwa . 39235) ; &M-39235;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 16)
(total-strokes . 23)
+ (<-same
+ ((=ks-x1001 . #x5831) ; &M-39198; [56-17]
+ (=jis-x0212 . #x6168) ; &I-JSP-6168; [65-72]
+ (=jis-x0213-1-2000 . #x7C5A) ; &I-JX1-7C5A; [92-58]
+ (=daikanwa . 39198) ; &I-M-39198;
+ ))
+ (<-same*sources
+ shuowen-changjian daikanwa)
(=cns11643-7 . #x5D22) ; &M-39236; [61-02]
(=daikanwa . 39236) ; &I-M-39236;
))
(=ucs . #x28640) ; 𨙀
(->subsumptive
((total-strokes . 20)
+ (<-ancient
+ ((=jis-x0208 . #x6E2C) ; >-52567; [78-12]
+ (=ks-x1001 . #x546E) ; &I-K0-546E; [52-78]
+ (=daikanwa . 39089) ; &I-M-39089;
+ ))
+ (<-ancient*sources
+ jiyun daikanwa)
(=daikanwa . 39239) ; &M-39239;
)
((total-strokes . 20)
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 16)
(total-strokes . 20)
+ (<-same
+ ((=ucs . #x96A4) ; 隤
+ (=daikanwa . 41849) ; &I-M-41849;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39240) ; &M-39240;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 17)
(total-strokes . 21)
+ (<-original
+ ((=jis-x0212 . #x616B) ; &M-39250; [65-75]
+ (=daikanwa . 39250) ; &I-M-39250;
+ ))
+ (<-original*sources
+ zhengzitong shuowen daikanwa)
(=daikanwa . 39242) ; &M-39242;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 17)
(total-strokes . 21)
+ (<-vulgar
+ ((=daikanwa . 39242) ; &M-39242;
+ ))
+ (<-vulgar*sources
+ zhengzitong daikanwa)
(=daikanwa . 39243) ; &M-39243;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 17)
(total-strokes . 21)
+ (<-original
+ ((=daikanwa . 39234) ; &M-39234;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39245) ; &M-39245;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 17)
(total-strokes . 21)
+ (<-ancient
+ ((=jis-x0208@1978 . #x465B) ; &M-38982; [38-59]
+ (=ks-x1001 . #x546D) ; &I-K0-546D; [52-77]
+ (=daikanwa . 38982) ; &I-M-38982;
+ ))
+ (<-ancient*sources
+ wuyin-jiyun daikanwa)
(=daikanwa . 39246) ; &M-39246;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 17)
(total-strokes . 21)
+ (<-same
+ ((=ucs . #x5331) ; 匱
+ (=daikanwa . 02651) ; &I-M-02651;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39249) ; &M-39249;
))
(define-char
(=ucs . #x908E) ; 邎
(->subsumptive
((total-strokes . 22)
+ (<-same
+ ((=daikanwa . 39242) ; &M-39242;
+ ))
+ (<-same*sources
+ zhengzitong daikanwa)
(=jis-x0212 . #x616B) ; &M-39250; [65-75]
(=daikanwa . 39250) ; &I-M-39250;
(=ucs@jis . #x908E) ; &M-39250;
(=ucs . #x28652) ; 𨙒
(->subsumptive
((total-strokes . 21)
+ (<-same
+ ((=daikanwa . 37358) ; &M-37358;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39251) ; &M-39251;
)
((total-strokes . 21)
))
))
(define-char
- '((=>daikanwa . 39252) ; &M-39252;
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 18)
(=ucs . #x28653) ; 𨙓
(->subsumptive
))
))
(define-char
- '((=>ucs . #x28654) ; 𨙔
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
+ (ideographic-strokes . 18)
+ (=ucs . #x28654) ; 𨙔
+ ))
+(define-char
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 18)
(total-strokes . 22)
+ (<-denotational
+ ((=ucs . #x28654) ; 𨙔
+ ))
(=daikanwa . 39253) ; &M-39253;
))
(define-char
- '((=>ucs . #x28654) ; 𨙔
- (morohashi-daikanwa 39253 0 2)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 19)
- (total-strokes . 23)
- (=cns11643-4 . #x6B25) ; &C4-6B25; [75-05]
+ (total-strokes . 22)
+ (<-denotational
+ ((=ucs . #x28654) ; 𨙔
+ ))
+ (=ucs@iso . #x28654) ; &U-00028654;
))
(define-char
- '((morohashi-daikanwa 39253 0 3)
- (ideographic-radical . 162) ; ⾡
+ '((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 19)
- (total-strokes . 22)
- (=ucs . #x28654) ; 𨙔
+ (total-strokes . 23)
+ (<-denotational
+ ((=ucs . #x28654) ; 𨙔
+ ))
+ (=cns11643-4 . #x6B25) ; &C4-6B25; [75-05]
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 18)
(total-strokes . 22)
+ (<-ancient
+ ((=jis-x0212 . #x6156) ; &M-38930; [65-54]
+ (=jis-x0213-1-2000 . #x7C58) ; &I-JX1-7C58; [92-56]
+ (=daikanwa . 38930) ; &I-M-38930;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 39254) ; &M-39254;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 18)
(total-strokes . 22)
+ (<-same
+ ((=daikanwa . 39169) ; &M-39169;
+ ))
+ (<-same*sources
+ zihui-bu daikanwa)
(=daikanwa . 39255) ; &M-39255;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 19)
(total-strokes . 23)
+ (<-original
+ ((=daikanwa . 39123) ; &M-39123;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39257) ; &M-39257;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 19)
(total-strokes . 23)
+ (<-same
+ ((=daikanwa . 39169) ; &M-39169;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(=daikanwa . 39258) ; &M-39258;
))
(define-char
(ideographic-radical . 162) ; ⾡
(ideographic-strokes . 19)
(total-strokes . 23)
+ (<-same
+ ((=jis-x0208 . #x4D65) ; >-36564; [45-69]
+ (=ks-x1001 . #x547E) ; &I-K0-547E; [52-94]
+ (=daikanwa . 28397) ; &I-M-28397;
+ ))
+ (<-same*sources
+ jiyun daikanwa)
(shinjigen-1 . 8404)
(shinjigen-2 . 8404)
(=jis-x0208 . #x6E36) ; >-52869; [78-22]
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 20)
(total-strokes . 24)
+ (<-ancient
+ ((=ks-x1001 . #x7264) ; &M-38943; [82-68]
+ (=daikanwa . 38943) ; &I-M-38943;
+ ))
+ (<-ancient*sources
+ yupian daikanwa)
(=daikanwa . 39262) ; &M-39262;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 20)
(total-strokes . 24)
+ (<-original
+ ((=ks-x1001 . #x7064) ; &M-39082; [80-68]
+ (=daikanwa . 39082) ; &I-M-39082;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39263) ; &M-39263;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 21)
(total-strokes . 19)
+ (<-ancient
+ ((=ucs . #x539F) ; 原
+ (=daikanwa . 02973) ; &I-M-02973;
+ ))
+ (<-ancient*sources
+ zihui-bu daikanwa)
(=daikanwa . 39221) ; &M-39221;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 21)
(total-strokes . 25)
+ (<-same
+ ((=daikanwa . 42540) ; &M-42540;
+ ))
+ (<-same*sources
+ longkanshoujian daikanwa)
(=daikanwa . 39266) ; &M-39266;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 22)
(total-strokes . 26)
+ (<-original
+ ((=daikanwa . 39253) ; &M-39253;
+ ))
+ (<-original*sources
+ zhengzitong daikanwa)
(=daikanwa . 39267) ; &M-39267;
))
(define-char
'((ideographic-radical . 162) ; ⾡
(ideographic-strokes . 26)
(total-strokes . 30)
+ (<-same
+ ((=jis-x0208 . #x733B) ; &M-47359; [83-27]
+ (=ks-x1001 . #x7D53) ; &I-K0-7D53; [93-51]
+ (=daikanwa . 47359) ; &I-M-47359;
+ ))
+ (<-same*sources
+ shuowen-changjian daikanwa)
(=cns11643-7 . #x6568) ; &M-39268; [69-72]
(=daikanwa . 39268) ; &I-M-39268;
))
kangxi \e$B9/_f;zE5\e(B
guangyun (kouin) \e$B9-1$\e(B
daikanwa (morohashi-daikanwa) \e$BBg4AOB<-E5\e(B
+ (goonruiju) \e$B8^2;N`f\\e(B
ruijumyougishou (ruishuu-meigishou) \e$BN`f\L>5A>6\e(B
zhengyun (seiin) \e$B@51$\e(B
- zhengzi-tong (seiji-tsuu) \e$B@5;z\e$(CwW\e(B
+ zhengzitong (zhengzi-tong, seiji-tsuu) \e$B@5;z\e$(CwW\e(B
shuowen-tongxun-dingsheng
(setsumon-tsuukun-teisei) \e$B@bJ8DL71Djfa\e(B
shuowen \e$B@bJ8\e(B
(- (logand value 255) 32))))
(insert line-breaking))
+(defun char-db-insert-relation-feature (char name value line-breaking
+ ccss readable)
+ (insert (format "(%-18s%s " name line-breaking))
+ (let ((lbs (concat "\n" (make-string (current-column) ?\ )))
+ separator cell sources required-features
+ ret)
+ (while (consp value)
+ (setq cell (car value))
+ (if (integerp cell)
+ (setq cell (decode-char '=ucs cell)))
+ (cond
+ ((eq name '->subsumptive)
+ (when (or (not (some (lambda (atr)
+ (get-char-attribute cell atr))
+ char-db-ignored-attributes))
+ (some (lambda (ccs)
+ (encode-char cell ccs 'defined-only))
+ ccss))
+ (if separator
+ (insert lbs))
+ (let ((char-db-ignored-attributes
+ (cons '<-subsumptive
+ char-db-ignored-attributes)))
+ (insert-char-attributes cell readable))
+ (setq separator lbs))
+ )
+ ((characterp cell)
+ (setq sources
+ (get-char-attribute
+ char (intern (format "%s*sources" name))))
+ (setq required-features nil)
+ (dolist (source sources)
+ (cond
+ ((memq source '(JP JP/Jouyou shinjigen-1))
+ (setq required-features
+ (union required-features
+ '(=jis-x0208
+ =jis-x0208@1990
+ =jis-x0213-1-2000
+ =jis-x0213-2-2000
+ =jis-x0212
+ =jis-x0208@1983
+ =jis-x0208@1978))))
+ ((eq source 'CN)
+ (setq required-features
+ (union required-features
+ '(=gb2312
+ =gb12345
+ =iso-ir165)))))
+ (cond
+ ((find-charset (setq ret (intern (format "=%s" source))))
+ (setq required-features
+ (cons ret required-features)))
+ (t (setq required-features
+ (cons source required-features)))))
+ (cond ((string-match "@JP" (symbol-name name))
+ (setq required-features
+ (union required-features
+ '(=jis-x0208
+ =jis-x0208@1990
+ =jis-x0213-1-2000
+ =jis-x0213-2-2000
+ =jis-x0212
+ =jis-x0208@1983
+ =jis-x0208@1978))))
+ ((string-match "@CN" (symbol-name name))
+ (setq required-features
+ (union required-features
+ '(=gb2312
+ =gb12345
+ =iso-ir165)))))
+ (if separator
+ (insert lbs))
+ (if readable
+ (insert (format "%S" cell))
+ (char-db-insert-char-spec cell readable
+ nil
+ required-features))
+ (setq separator lbs))
+ ((consp cell)
+ (if separator
+ (insert lbs))
+ (if (consp (car cell))
+ (char-db-insert-char-spec cell readable)
+ (char-db-insert-char-reference cell readable))
+ (setq separator lbs))
+ (t
+ (if separator
+ (insert separator))
+ (insert (prin1-to-string cell))
+ (setq separator " ")))
+ (setq value (cdr value)))
+ (insert ")")
+ (insert line-breaking)))
+
(defun insert-char-attributes (char &optional readable attributes column)
(unless column
(setq column (current-column)))
(concat "\n" (make-string (1+ column) ?\ )))
lbs cell separator ret
key al cal
- dest-ccss
- sources required-features
+ dest-ccss ; sources required-features
ccss)
(let (atr-d)
(setq attributes
(eq name 'ideographic-combination)
(eq name 'ideographic-)
(string-match "^\\(->\\|<-\\)" (symbol-name name)))
- (insert (format "(%-18s%s " name line-breaking))
- (setq lbs (concat "\n" (make-string (current-column) ?\ ))
- separator nil)
- (while (consp value)
- (setq cell (car value))
- (if (integerp cell)
- (setq cell (decode-char '=ucs cell)))
- (cond ((eq name '->subsumptive)
- (when (or (not
- (some (lambda (atr)
- (get-char-attribute cell atr))
- char-db-ignored-attributes))
- (some (lambda (ccs)
- (encode-char cell ccs
- 'defined-only))
- ccss))
- (if separator
- (insert lbs))
- (let ((char-db-ignored-attributes
- (cons '<-subsumptive
- char-db-ignored-attributes)))
- (insert-char-attributes cell readable))
- (setq separator lbs))
- )
- ((characterp cell)
- (setq sources
- (get-char-attribute
- char
- (intern (format "%s*sources" name))))
- (setq required-features nil)
- (dolist (source sources)
- (cond
- ((memq source '(JP JP/Jouyou
- shinjigen-1))
- (setq required-features
- (union required-features
- '(=jis-x0208
- =jis-x0208@1990
- =jis-x0213-1-2000
- =jis-x0213-2-2000
- =jis-x0212
- =jis-x0208@1983
- =jis-x0208@1978))))
- ((eq source 'CN)
- (setq required-features
- (union required-features
- '(=gb2312
- =gb12345
- =iso-ir165)))))
- (cond
- ((find-charset
- (setq ret (intern (format "=%s" source))))
- (setq required-features
- (cons ret required-features)))
- (t (setq required-features
- (cons source required-features)))))
- (cond ((string-match "@JP" (symbol-name name))
- (setq required-features
- (union required-features
- '(=jis-x0208
- =jis-x0208@1990
- =jis-x0213-1-2000
- =jis-x0213-2-2000
- =jis-x0212
- =jis-x0208@1983
- =jis-x0208@1978))))
- ((string-match "@CN" (symbol-name name))
- (setq required-features
- (union required-features
- '(=gb2312
- =gb12345
- =iso-ir165)))))
- (if separator
- (insert lbs))
- (if readable
- (insert (format "%S" cell))
- (char-db-insert-char-spec cell readable
- nil
- required-features))
- (setq separator lbs))
- ((consp cell)
- (if separator
- (insert lbs))
- (if (consp (car cell))
- (char-db-insert-char-spec cell readable)
- (char-db-insert-char-reference cell readable))
- (setq separator lbs))
- (t
- (if separator
- (insert separator))
- (insert (prin1-to-string cell))
- (setq separator " ")))
- (setq value (cdr value)))
- (insert ")")
- (insert line-breaking))
+ (char-db-insert-relation-feature char name value
+ line-breaking
+ ccss readable))
((memq name '(ideograph=
original-ideograph-of
ancient-ideograph-of
(<-denotational
((=ucs . #x8FB6) ; 辶
))
+ (<-ideographic-component-forms
+ ((=ucs . #x8FB5) ; 辵
+ (=daikanwa . 38700) ; &I-M-38700;
+ ))
+ (<-ideographic-component-forms*sources
+ zihui-jianzi daikanwa)
(=ucs . #x2ECD) ; ⻍
(=jis-x0212 . #x6134) ; &I-JSP-6134; [65-20]
(=jis-x0213-2-2000 . #x796A) ; &I-JX2-796A; [89-74]
(defvar foo)
-(defun gtk-widget-instantiate-button-internal (plist callback)
+(defun gtk-widget-get-callback (widget plist instance)
+ (let ((cb (plist-get plist :callback))
+ (ex (plist-get plist :callback-ex))
+ (real-cb nil))
+ (cond
+ (ex
+ (gtk-signal-connect widget 'button-release-event
+ (lambda (widget event data)
+ (put widget 'last-event event)))
+ `(lambda (widget &rest ignored)
+ (funcall ,ex ,instance (get widget 'last-event))))
+ (cb
+ `(lambda (widget &rest ignored)
+ (if (functionp ,real-cb)
+ (funcall ,real-cb)
+ (eval ,real-cb))))
+ (t
+ nil))))
+
+(defun gtk-widget-instantiate-button-internal (plist instance)
(let* ((type (or (plist-get plist :style) 'button))
(label (or (plist-get plist :descriptor) (symbol-name type)))
(widget nil))
(case type
(button
(setq widget (gtk-button-new-with-label label))
- (gtk-signal-connect widget 'clicked (lambda (wid real-cb)
- (if (functionp real-cb)
- (funcall real-cb)
- (eval real-cb)))
- callback))
+ (gtk-signal-connect widget 'clicked
+ (gtk-widget-get-callback widget plist instance)))
(radio
(let ((aux nil)
(selected-p (plist-get plist :selected)))
"bogus sibling"))
(gtk-toggle-button-set-active widget (eval selected-p))
(gtk-signal-connect widget 'toggled
- (lambda (wid data)
- ;; data is (real-cb . sibling)
- )
- (cons callback aux))))
+ (gtk-widget-get-callback widget plist instance) aux)))
(otherwise
;; Check boxes
(setq widget (gtk-check-button-new-with-label label))
(gtk-toggle-button-set-active widget
(eval (plist-get plist :selected)))
(gtk-signal-connect widget 'toggled
- (lambda (wid real-cb)
- (if (functionp real-cb)
- (funcall real-cb)
- (eval real-cb)))
- callback)))
-
+ (gtk-widget-get-callback widget plist instance))))
(gtk-widget-show-all widget)
widget))
(defun gtk-widget-instantiate-notebook-internal (plist callback)
(let ((widget (gtk-notebook-new))
(items (plist-get plist :items)))
- (while items
- (gtk-notebook-append-page widget
- (gtk-vbox-new nil 3)
- (gtk-label-new (aref (car items) 0)))
- (setq items (cdr items)))
+; (while items
+; (gtk-notebook-append-page widget
+; (gtk-vbox-new nil 3)
+; (gtk-label-new (aref (car items) 0)))
+; (setq items (cdr items)))
widget))
(defun gtk-widget-instantiate-progress-internal (plist callback)
(let* ((type (aref instantiator 0))
(plist (cdr (map 'list 'identity instantiator)))
(widget (funcall (or (get type 'instantiator) 'ignore)
- plist (or (plist-get plist :callback) 'ignore))))
- (add-timeout 0.1 (lambda (obj)
- (gtk-widget-set-style obj
- (gtk-widget-get-style
- (frame-property nil 'text-widget))))
- widget)
+ plist instance)))
+; (add-timeout 0.1 (lambda (obj)
+; (gtk-widget-set-style obj
+; (gtk-widget-get-style
+; (frame-property nil 'text-widget))))
+; widget)
(setq x widget)
widget))
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2004-04-23 Jerry James <james@xemacs.org>
+
+ * xlwradio.c (RadioExpose): Do not blindly copy one GC over
+ another. It messes up the ref counts and is wrong for radio
+ buttons in any case.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
* but it bears thinking on.
*/
- /* Command widget may sometimes override the label GC in order
- * to draw inverse video. We don't use inverse video, so we need
- * to restore the label's normal GC.
- */
- rw->label.normal_GC = rw->command.normal_GC ;
-
-
/* Let label widget draw the label. If there was an lbm_x
* field, we could let Label draw the bitmap too. But there
* isn't, so we need to temporarily remove the bitmap and
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2004-10-17 Shyamal Prasad <shyamal@member.fsf.org>
+
+ * xemacs/programs.texi (Program Modes): Updated it to reflect
+ current status of programming modes.
+ * xemacs/programs.texi (CC Mode): New section introduces CC
+ Mode. Introduces customization with reference to CC Mode
+ manual. Also introduce C/AWK modes in prog-modes package
+ * xemacs/programs.texi (C Ident): Removed - it was
+ obsolete. prog-modes package documentation now contains
+ indentation description for old C mode
+ * xemacs/major.texi (Mode Hooks): Add description of major mode
+ hooks. Cleaned up and updated programming mode descriptions.
+ * xemacs/xemacs.texi (Top): Updated Detailed Node listing for new
+ CC Mode section in programs.texi
+
+2005-01-19 Aidan Kehoe <kehoea@parhasard.net>
+
+ * man/lispref/functions.texi (Functions): Rename to "Functions and
+ Commands"
+ * man/lispref/functions.texi (What Is a Function): Move the definition
+ of a command further up the list, give information on a trivial
+ (interactive) declaration, and cross-reference to the key binding
+ detail. Cf. 87vf9wgd08.fsf@tleepslib.sk.tsukuba.ac.jp
+ (comp.emacs.xemacs, 2005-01-18).
+ * man/lispref/eval.texi man/lispref/lispref.texi
+ man/lispref/macros.texi man/lispref/symbols.texi
+ man/lispref/variables.texi: Fix cross references.
+
+2004-11-21 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * Makefile (RECURSIVE_MAKE): Removed.
+ * Makefile (RECURSIVE_MAKE_ARGS): New. The new method for
+ handling parallel builds.
+
+2004-12-15 Ville Skyttä <scop@xemacs.org>
+
+ * lispref/help.texi: Document 3rd arg to `make-obsolete'.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2003-07-18 Alexey Mahotkin <alexm@hsys.msk.ru>
+
+ * lispref/windows.texi (Basic Windows): Fix typo.
+
+2004-09-08 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * lispref/searching.texi (Syntax of Regexps): Add example of use
+ of shy groups in variable subexpression, correct rumor that there
+ may be substantial performance gain.
+
+2004-08-13 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * lispref/positions.texi (Text Lines): makeinfo doesn't like Note:.
+
+2004-03-31 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
+
+ * xemacs/help.texi (Misc Help): Info-goto-emacs-key-command-node
+ to function index. Document Info-goto-emacs-command-node.
+
+2004-06-29 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * internals/internals.texi (Modules for Other Aspects of the Lisp
+ Interpreter and Object System): Add description of Sextword syntax
+ class (now obsolete).
+
+2004-06-20 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * internals/internals.texi (Techniques for XEmacs Developers): Be
+ specific when discussing optimization.
+ (Techniques for XEmacs Developers): Fragments that are meaningless
+ by themselves or contain placeholders should be @samp, not @code.
+ (Modules for Regression Testing): Add tag-tests.el to list.
+
+2004-07-05 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * xemacs-faq.texi (Q3.10.2): Mention that `pending-delete' is in
+ the "pc" package.
+
+2004-06-07 Jerry James <james@xemacs.org>
+
+ * lispref/modes.texi (Major Modes): Document -mode functions, and
+ the use of a nil argument to defined-derived mode.
+ * lispref/modes.texi (Major Mode Conventions): Describe the use of
+ delay-mode-hooks and define-derived-mode.
+ * lispref/modes.texi (Derived Modes): Warn against the use of
+ interactive specs in derived mode definitions.
+ * lispref/modes.texi (Hooks): Document run-mode-hooks,
+ delay-mode-hooks, run-hook-with-args,
+ run-hook-with-args-until-failure, and
+ run-hook-with-args-until-success.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
.SUFFIXES:
.SUFFIXES: .info .texi .dvi
-RECURSIVE_MAKE = $(MAKE) $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)'
+RECURSIVE_MAKE_ARGS = $(MAKE) $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)'
all : info
info : $(info_files)
# tm: FRC.tm
-# cd ./tm && $(RECURSIVE_MAKE)
+# cd ./tm && $(MAKE) $(RECURSIVE_MAKE_ARGS)
# gnats: FRC.gnats
-# cd ./gnats && $(RECURSIVE_MAKE)
+# cd ./gnats && $(MAKE) $(RECURSIVE_MAKE_ARGS)
# FRC.xemacs FRC.lispref FRC.new-users-guide FRC.internals FRC.tm FRC.gnats:
.PHONY: info dvi
@item
Speed up syntax highlighting. It was suggested that ``maybe moving some
of the syntax highlighting capabilities into C would make a
-difference.'' Wrong idea, I think. When processing one large file a
+difference.'' Wrong idea, I think. When processing one 400kB file a
particular low-level routine was being called 40 @emph{million} times
simply for @emph{one} call to @code{newline-and-indent}. Syntax
highlighting needs to be rewritten to use a reliable, fast parser, then
@file{.c} files should @code{#include "lisp.h"} second.
@item
-Generated header files should be included using the @code{#include <...>} syntax,
-not the @code{#include "..."} syntax. The generated headers are:
+Generated header files should be included using the @samp{#include <...>}
+syntax, not the @samp{#include "..."} syntax. The generated headers are:
@file{config.h sheap-adjust.h paths.h Emacs.ad.h}
-The basic rule is that you should assume builds using @code{--srcdir}
-and the @code{#include <...>} syntax needs to be used when the
+The basic rule is that you should assume builds using @samp{--srcdir}
+and the @samp{#include <...>} syntax needs to be used when the
to-be-included generated file is in a potentially different directory
-@emph{at compile time}. The non-obvious C rule is that @code{#include "..."}
-means to search for the included file in the same directory as the
-including file, @emph{not} in the current directory.
+@emph{at compile time}. The non-obvious C rule is that
+@samp{#include "..."} means to search for the included file in the same
+directory as the including file, @emph{not} in the current directory.
+Normally this is not a problem but when building with @samp{--srcdir},
+@file{make} will search the @samp{VPATH} for you, while the C compiler
+knows nothing about it.
@item
-Header files should @emph{not} include @code{<config.h>} and
-@code{"lisp.h"}. It is the responsibility of the @file{.c} files that
+Header files should @emph{not} include @samp{<config.h>} and
+@samp{"lisp.h"}. It is the responsibility of the @file{.c} files that
use it to do so.
@end itemize
sequence'' @emph{flag}. The ``comment-end'' class allows the scanner to
determine that no second character is needed to terminate the comment.
+There used to be a syntax class @samp{Sextword}. A character of
+@samp{Sextword} class is a word-constituent but a word boundary may
+exist between two such characters. Ken'ichi HANDA <handa@@etl.go.jp>
+explains the purpose of the Sextword syntax category:
+
+@quotation
+Japanese words are not separated by spaces, which makes finding word
+boundaries very difficult. Theoretically it's impossible without
+using natural language processing techniques. But, by defining
+pseudo-words as below (much simplified for letting you understand it
+easily) for Japanese, we can have a convenient forward-word function
+for Japanese.
+
+@display
+A Japanese word is a sequence of characters that consists of
+zero or more Kanji characters followed by zero or more
+Hiragana characters.
+@end display
+
+Then, the problem is that now we can't say that a sequence of
+word-constituents makes up a word. For instance, both Hiragana "A"
+and Kanji "KAN" are word-constituents but the sequence of these two
+letters can't be a single word.
+
+So, we introduced Sextword for Japanese letters.
+@end quotation
+
+There seems to have been some controversy about this category, as it has
+been removed, readded, and removed again. Currently neither GNU Emacs
+(21.3.99) nor XEmacs (21.5.17) seems to use it.
+
@example
casefiddle.c
C I/O functions like @samp{open()} are wrapped so that conversion occurs
automatically.
-@file{mule.c} provides a few miscellaneous things that should probably
-be elsewhere.
+@file{mule.c} contains a few miscellaneous things. It currently seems
+to be unused and probably should be removed.
regexp-tests.el
symbol-tests.el
syntax-tests.el
+tag-tests.el
@end example
@file{test-harness.el} defines the macros @code{Assert},
image on-screen but the image need not exist at this stage, and multiple
screen images can be instantiated from a single glyph.
+@c #### find a place for this discussion
+@c The decision to make image specifiers a separate type is debatable.
+@c In fact, the design decision to create a separate image specifier
+@c type, rather than make glyphs themselves be specifiers, is
+@c debatable---the other properties of glyphs are rarely used and could
+@c conceivably have been incorporated into the glyph's instantiator.
+@c The rarely used glyph types (buffer, pointer, icon) could also have
+@c been incorporated into the instantiator.
+
Glyphs are lazily instantiated by calling one of the glyph
functions. This usually occurs within redisplay when
@code{Fglyph_height} is called. Instantiation causes an image-instance
function @code{car}.
Evaluation of a function call ultimately calls the function specified
-in it. @xref{Functions}. The execution of the function may itself work
+in it. @xref{Functions and Commands}. The execution of the function may itself work
by evaluating the function definition; or the function may be a Lisp
primitive implemented in C, or it may be a byte-compiled function
(@pxref{Byte Compilation}).
@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
@c See the file lispref.texi for copying conditions.
@setfilename ../../info/functions.info
-@node Functions, Macros, Variables, Top
-@chapter Functions
+@node Functions and Commands, Macros, Variables, Top
+@chapter Functions and Commands
A Lisp program is composed mainly of Lisp functions. This chapter
explains what functions are, how they accept arguments, and how to
specifically to mean a function written in Lisp. Special forms and
macros are not functions.
+@item command
+@cindex command
+
+A @dfn{command} is a possible definition for a key sequence---we count
+mouse events and menu accesses as key sequences for this purpose. More
+formally, within XEmacs lisp, a command is something that
+@code{command-execute} can invoke.
+
+Some functions are commands; a function written in Lisp is a command if
+it contains an interactive declaration. A trivial interactive
+declaration is a line @code{(interactive)} immediately after the
+documentation string. For more complex examples, with prompting and
+completion, see @xref{Defining Commands}. Such a function can be called
+from Lisp expressions like other functions; in this case, the fact that
+the function is a command makes no difference.
+
+Keyboard macros (strings and vectors) are commands also, even though
+they are not functions. A symbol is a command if its function
+definition is a command; such symbols can be invoked with @kbd{M-x}.
+The symbol is a function as well if the definition is a function.
+
+In the case where you want to call a command in reaction to a
+user-generated event, you'll need to bind it to that event. For how to
+do this, see @xref{Key Binding Commands}.
+@xref{Command Overview}.
+
+@item keystroke command
+@cindex keystroke command
+A @dfn{keystroke command} is a command that is bound to a key sequence
+(typically one to three keystrokes). The distinction is made here
+merely to avoid confusion with the meaning of ``command'' in non-Emacs
+editors; for Lisp programs, the distinction is normally unimportant.
+
@item primitive
@cindex primitive
@cindex subr
things that special forms can do. @xref{Macros}, for how to define and
use macros.
-@item command
-@cindex command
-A @dfn{command} is an object that @code{command-execute} can invoke; it
-is a possible definition for a key sequence. Some functions are
-commands; a function written in Lisp is a command if it contains an
-interactive declaration (@pxref{Defining Commands}). Such a function
-can be called from Lisp expressions like other functions; in this case,
-the fact that the function is a command makes no difference.
-
-Keyboard macros (strings and vectors) are commands also, even though
-they are not functions. A symbol is a command if its function
-definition is a command; such symbols can be invoked with @kbd{M-x}.
-The symbol is a function as well if the definition is a function.
-@xref{Command Overview}.
-
-@item keystroke command
-@cindex keystroke command
-A @dfn{keystroke command} is a command that is bound to a key sequence
-(typically one to three keystrokes). The distinction is made here
-merely to avoid confusion with the meaning of ``command'' in non-Emacs
-editors; for Lisp programs, the distinction is normally unimportant.
-
@item compiled function
A @dfn{compiled function} is a function that has been compiled by the
byte compiler. @xref{Compiled-Function Type}.
XEmacs Lisp lets you mark a function or variable as @dfn{obsolete},
and indicate what should be used instead.
-@deffn Command make-obsolete function new
+@deffn Command make-obsolete function new &optional when
This function indicates that @var{function} is an obsolete function,
and the function @var{new} should be used instead. The byte compiler
will issue a warning to this effect when it encounters a usage of the
documentation. @var{new} can also be a string (if there is not a single
function with the same functionality any more), and should be a descriptive
statement, such as "use @var{foo} or @var{bar} instead" or "this function is
-unnecessary".
+unnecessary". If provided, @var{when} should be a string indicating when
+the function was first made obsolete, for example a date or a release
+number.
@end deffn
@deffn Command make-obsolete-variable variable new
* Evaluation:: How Lisp expressions are evaluated.
* Control Structures:: Conditionals, loops, nonlocal exits.
* Variables:: Using symbols in programs to stand for values.
-* Functions:: A function is a Lisp program
- that can be invoked from other functions.
+
+* Functions and Commands:: A function is a Lisp program that can be
+ invoked from other functions.
+
* Macros:: Macros are a way to extend the Lisp language.
* Customization:: Writing customization declarations.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
@c See the file lispref.texi for copying conditions.
@setfilename ../../info/macros.info
-@node Macros, Loading, Functions, Top
+@node Macros, Loading, Functions and Commands, Top
@chapter Macros
@cindex macros
@cindex Fundamental mode
Major modes specialize XEmacs for editing particular kinds of text.
-Each buffer has only one major mode at a time.
+Each buffer has only one major mode at a time. For each major mode
+there is a function to switch to that mode in the current buffer; its
+name should end in @samp{-mode}. These functions work by setting
+buffer-local variable bindings and other data associated with the
+buffer, such as a local keymap. The effect lasts until you switch
+to another major mode in the same buffer.
The least specialized major mode is called @dfn{Fundamental mode}.
This mode has no mode-specific definitions or variable settings, so each
Text mode except that it provides three additional commands. Its
definition is distinct from that of Text mode, but was derived from it.
+ Even if the new mode is not an obvious derivative of any other mode,
+it is convenient to use @code{define-derived-mode} with a @code{nil}
+parent argument, since it automatically enforces the most important
+coding conventions for you.
+
Rmail Edit mode is an example of a case where one piece of text is put
temporarily into a different major mode so it can be edited in a
different way (with ordinary XEmacs commands rather than Rmail). In such
or it may run them earlier.
@item
+The major mode command may start by calling some other major mode
+command (called the @dfn{parent mode}) and then alter some of its
+settings. A mode that does this is called a @dfn{derived mode}. The
+recommended way to define one is to use @code{define-derived-mode},
+but this is not required. Such a mode should use
+@code{delay-mode-hooks} around its entire body, including the call to
+the parent mode command and the final call to @code{run-mode-hooks}.
+(Using @code{define-derived-mode} does this automatically.)
+
+@item
If something special should be done if the user switches a buffer from
this mode to any other major mode, the mode can set a local value for
@code{change-major-mode-hook}.
(define-key hypertext-mode-map
[down-mouse-3] 'do-hyper-link)
@end example
+
+Do not write an @code{interactive} spec in the definition;
+@code{define-derived-mode} does that automatically.
@end defmac
@node Minor Modes
@end example
@end defun
+@defun run-mode-hooks &rest hookvars
+Like @code{run-hooks}, but is affected by the @code{delay-mode-hooks}
+macro.
+@end defun
+
+@defmac delay-mode-hooks body...
+This macro executes the @var{body} forms but defers all calls to
+@code{run-mode-hooks} within them until the end of @var{body}.
+This macro enables a derived mode to arrange not to run
+its parent modes' mode hooks until the end.
+@end defmac
+
+@defun run-hook-with-args hook &rest args
+This function is the way to run an abnormal hook and always call all
+of the hook functions. It calls each of the hook functions one by
+one, passing each of them the arguments @var{args}.
+@end defun
+
+@defun run-hook-with-args-until-failure hook &rest args
+This function is the way to run an abnormal hook until one of the hook
+functions fails. It calls each of the hook functions, passing each of
+them the arguments @var{args}, until some hook function returns
+@code{nil}. It then stops and returns @code{nil}. If none of the
+hook functions return @code{nil}, it returns a non-@code{nil} value.
+@end defun
+
+@defun run-hook-with-args-until-success hook &rest args
+This function is the way to run an abnormal hook until a hook function
+succeeds. It calls each of the hook functions, passing each of them
+the arguments @var{args}, until some hook function returns
+non-@code{nil}. Then it stops, and returns whatever was returned by
+the last hook function that was called. If all hook functions return
+@code{nil}, it returns @code{nil} as well.
+@end defun
+
@defun add-hook hook function &optional append local
This function is the handy way to add function @var{function} to hook
variable @var{hook}. The argument @var{function} may be any valid Lisp
With optional @var{ignore-invisible-lines-flag} non-@code{nil}, lines
collapsed with selective-display are excluded from the line count.
-@strong{Note:} The expression to return the current line number is not
+@strong{N.B.} The expression to return the current line number is not
obvious:
@example
matches the same text that matched the @var{digit}th occurrence of a
@samp{\( @dots{} \)} construct.
-In other words, after the end of a @samp{\( @dots{} \)} construct. the
+In other words, after the end of a @samp{\( @dots{} \)} construct, the
matcher remembers the beginning and end of the text matched by that
construct. Then, later on in the regular expression, you can use
@samp{\} followed by @var{digit} to match that same text, whatever it
This is useful when you need a lot of grouping @samp{\( @dots{} \)}
constructs, but only want to remember one or two -- or if you have
more than nine groupings and need to use backreferences to refer to
-the groupings at the end.
-
-Using @samp{\(?: @dots{} \)} rather than @samp{\( @dots{} \)} when you
-don't need the captured substrings ought to speed up your programs some,
-since it shortens the code path followed by the regular expression
-engine, as well as the amount of memory allocation and string copying it
-must do. The actual performance gain to be observed has not been
-measured or quantified as of this writing.
-@c This is used to good advantage by the font-locking code, and by
-@c `regexp-opt.el'.
-
-The shy grouping operator has been borrowed from Perl, and has not been
-available prior to XEmacs 20.3, nor is it available in FSF Emacs.
+the groupings at the end. It also allows construction of regular
+expressions from variable subexpressions that contain varying numbers of
+non-capturing subexpressions, without disturbing the group counts for
+the main expression. For example
+
+@example
+(let ((sre (if foo "\\(?:bar\\|baz\\)" "quux")))
+ (re-search-forward (format "a\\(b+ %s c+\\) d" sre) nil t)
+ (match-string 1))
+@end example
+
+It is very tedious to write this kind of code without shy groups, even
+if you know what all the alternative subexpressions will look like.
+
+Using @samp{\(?: @dots{} \)} rather than @samp{\( @dots{} \)} should
+give little performance gain, as the start of each group must be
+recorded for the purpose of back-tracking in any case, and no string
+copying is done until @code{match-string} is called.
+
+The shy grouping operator has been borrowed from Perl, and was not
+available prior to XEmacs 20.3, and has only been available in GNU Emacs
+since version 21.
@item \w
@cindex @samp{\w} in regexp
describes symbols, their components, their property lists, and how they
are created and interned. Separate chapters describe the use of symbols
as variables and as function names; see @ref{Variables}, and
-@ref{Functions}. For the precise read syntax for symbols, see
-@ref{Symbol Type}.
+@ref{Functions and Commands}. For the precise read syntax for symbols,
+see @ref{Symbol Type}.
You can test whether an arbitrary Lisp object is a symbol
with @code{symbolp}:
cell, is derived from the idea that @code{defun} gives the symbol its
definition as a function.) @code{defsubst}, @code{define-function} and
@code{defalias} are other ways of defining a function.
-@xref{Functions}.
+@xref{Functions and Commands}.
@code{defmacro} defines a symbol as a macro. It creates a macro
object and stores it in the function cell of the symbol. Note that a
* Special Properties:: Particular properties with special meanings.
* Saving Properties:: Saving text properties in files, and reading
them back.
+* Fields:: Emacs-compatible text fields.
@end menu
@node Examining Properties
@xref{Format Conversion}, for a related feature.
+@node Fields
+@subsection Fields
+@cindex text fields
+@cindex fields
+
+Emacs supplies a notion of a @emph{text field}, which is a region of
+text where every character has the same value of the @code{field}
+property. It is used to identify regions of a buffer used for
+communicating with an external process, for example. XEmacs supplies a
+compatible interface. In XEmacs, the @code{field} property can be set
+as either an extent property or a text property, mirroring the Emacs
+capability of using either overlays or text properties.
+
+The field manipulating functions take a buffer position as the
+field-identifying argument, defaulting to point. This really means the
+field containing that buffer position. Consecutive buffer positions
+with no @code{field} property are considered an ``empty'' field. There
+is some ambiguity when a specified buffer position falls at the very
+beginning or the very end of a field: does it belong to the preceding or
+the following field? The answer depends on the openness or closedness
+of the corresponding extents (@pxref{Extent Endpoints}). A buffer
+position corresponds to the field whose property would be inherited by a
+character inserted at that position. If the buffer position is between
+an end-open and a start-open extent, then it corresponds to an empty
+field at that position, since an inserted character will belong to
+neither extent.
+
+@defvar inhibit-field-text-motion
+This variable controls whether the text motion commands notice fields or
+not. When it is nil (the default), commands such as beginning-of-line
+will try to move only within fields.
+@end defvar
+
+@defun make-field value from to &optional buffer
+There is no Emacs counterpart to this function. The default open and
+closedness of extents in XEmacs is opposite to the default for Emacs
+overlays. Hence, fields based on extents in XEmacs behave differently
+from the equivalent fields based on overlays in Emacs. This function
+creates a field with value @var{value} over the region @var{from} to
+@var{to} in @var{buffer}, which defaults to the current buffer, with the
+default Emacs open and closedness.
+@end defun
+
+@defun find-field &optional pos merge-at-boundary beg-limit end-limit
+There is no (Lisp-visible) Emacs counterpart to this function. It is
+the workhorse for the other functions. It returns a dotted pair
+@code{(start . stop)} holding the endpoints of the field matching a
+specification. If @var{pos} is non-@code{nil}, it specifies a buffer
+position whose enclosing field should be found; otherwise, the value of
+point is used.
+
+If @var{merge-at-boundary} is non-@code{nil}, then two changes are made
+to the search algorithm. First, if @var{pos} is at the very first
+position of a field, then the beginning of the previous field is
+returned instead of the beginning of @var{pos}'s field. Second, if the
+value of the @code{field} property at @var{pos} is the symbol
+@code{boundary}, then the beginning of the field before the boundary
+field and the end of the field after the boundary field are returned.
+
+If @var{beg-limit} is a buffer position, and the start position that
+would be returned is less than @var{beg-limit}, then @var{beg-limit} is
+returned instead. Likewise, if @var{end-limit} is a buffer position,
+and the stop position that would be returned is greater than
+@var{end-limit}, then @var{end-limit} is returned instead.
+@end defun
+
+@defun delete-field &optional pos
+Delete the text of the field at @var{pos}.
+@end defun
+
+@defun field-string &optional pos
+Return the contents of the field at @var{pos} as a string.
+@end defun
+
+@defun field-string-no-properties &optional pos
+Return the contents of the field at @var{pos} as a string, without text
+properties.
+@end defun
+
+@defun field-beginning &optional pos escape-from-edge limit
+Return the beginning of the field at @var{pos}. If
+@var{escape-from-edge} is non-nil and @var{pos} is at the beginning of a
+field, then the beginning of the field that ends at @var{pos} is
+returned instead. If @var{limit} is a buffer position and the returned
+value would be less than @var{limit}, then @var{limit} is returned
+instead.
+@end defun
+
+@defun field-end &optional pos escape-from-edge limit
+Return the end of the field at @var{pos}. If @var{escape-from-edge} is
+non-nil and @var{pos} is at the end of a field, then the end of the
+field that begins at @var{pos} is returned instead. If @var{limit} is a
+buffer position and the returned value would be greater than
+@var{limit}, then @var{limit} is returned instead.
+@end defun
+
+@defun constrain-to-field new-pos old-pos &optional escape-from-edge only-in-line inhibit-capture-property
+Return the position closest to @var{new-pos} that is in the same field
+as @var{old-pos}. If @var{new-pos} is @code{nil}, then the value of
+point is used instead @emph{and} point is set to the value that is
+returned.
+
+If @var{escape-from-edge} is non-@code{nil} and @var{old-pos} is at the
+boundary of two fields, then the two adjacent fields are considered one
+field. Furthermore, if @var{new-pos} is in a field whose @code{field}
+property is the symbol @code{boundary}, then the preceding field, the
+boundary field, and the following field are considered one field.
+
+If @var{only-in-line} is non-@code{nil} and the returned position would
+be on a different line than @var{new-pos}, return @var{new-pos} instead.
+
+If @var{inhibit-capture-property} is non-@code{nil} and the character at
+@var{old-pos} has a property of the same name as the value of
+@var{inhibit-capture-property}, then all field boundaries are ignored;
+i.e., @var{new-pos} is returned.
+
+If @var{inhibit-field-text-motion} is non-@code{nil}, then all field
+boundaries are ignored and this function always returns @var{new-pos}.
+@end defun
+
@node Substitution
@section Substituting for a Character Code
@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
@c See the file lispref.texi for copying conditions.
@setfilename ../../info/variables.info
-@node Variables, Functions, Control Structures, Top
+@node Variables, Functions and Commands, Control Structures, Top
@chapter Variables
@cindex variable
@itemize @bullet
@item
-Function calls (@pxref{Functions}).
+Function calls (@pxref{Functions and Commands}).
@item
Macro calls (@pxref{Macros}).
In each frame, at any time, one and only one window is designated as
@dfn{selected within the frame}. The frame's cursor appears in that
-window. At ant time, one frame is the selected frame; and the window
+window. At any time, one frame is the selected frame; and the window
selected within that frame is @dfn{the selected window}. The selected
window's buffer is usually the current buffer (except when
@code{set-buffer} has been used). @xref{Current Buffer}.
and you press a key to replace the selected region by the key you typed.
Usually backspace kills the selected region.
-To get this behavior, add the following lines to your @file{init.el}/@file{.emacs}:
+To get this behavior, ensure that you have the @file{pc} package
+installed, and add the following lines to your
+@file{init.el}/@file{.emacs}:
@lisp
(cond
@kindex C-h C-k
@findex Info-elisp-ref
@findex Info-goto-emacs-command-node
+@findex Info-goto-emacs-key-command-node
There are two special help commands for accessing XEmacs documentation
through Info. @kbd{C-h C-f @var{function} @key{RET}} enters Info and
goes straight to the documentation of the XEmacs function
@var{function}. @kbd{C-h C-k @var{key}} enters Info and goes straight
to the documentation of the key @var{key}. These two keys run the
commands @code{Info-elisp-ref} and
-@code{Info-goto-emacs-key-command-node}.
+@code{Info-goto-emacs-key-command-node}. (GNU Emacs binds @kbd{C-h C-f}
+to @code{Info-goto-emacs-command-node}, but this is less helpful to
+programmers.)
@kindex C-h l
@findex view-lossage
Many major modes redefine the syntactical properties of characters
appearing in the buffer. @xref{Syntax}.
- The major modes fall into three major groups. Lisp mode (which has
-several variants), C mode, and Muddle mode are for specific programming
-languages. Text mode, Nroff mode, @TeX{} mode, and Outline mode are for
-editing English text. The remaining major modes are not intended for use
-on users' files; they are used in buffers created by Emacs for specific
-purposes and include Dired mode for buffers made by Dired (@pxref{Dired}),
-Mail mode for buffers made by @kbd{C-x m} (@pxref{Sending Mail}), and Shell
-mode for buffers used for communicating with an inferior shell process
+ The major modes fall into three major groups. Programming modes
+(@pxref{Programs}) are for specific programming languages. Text modes
+(like Nroff mode, @TeX{} mode, Outline mode, XML mode, etc.@:) are for
+editing human readable text. The remaining major modes are not intended
+for direct use in editing user files; they are used in buffers created
+by Emacs for specific purposes. Examples of such modes include Dired
+mode which is used for buffers made by Dired (@pxref{Dired}), Mail mode
+for buffers made by @kbd{C-x m} (@pxref{Sending Mail}), and Shell mode
+for buffers used for communicating with an inferior shell process
(@pxref{Interactive Shell}).
Most programming language major modes specify that only blank lines
@menu
* Choosing Modes:: How major modes are specified or chosen.
+* Mode Hooks:: Customizing a major mode
@end menu
-@node Choosing Modes,,Major Modes,Major Modes
+@node Choosing Modes, Mode Hooks, Major Modes, Major Modes
@section Choosing Major Modes
You can select a major mode explicitly for the current buffer, but
value is the symbol @code{fundamental-mode}, which specifies Fundamental
mode. If @code{default-major-mode} is @code{nil}, the major mode is
taken from the previously selected buffer.
+
+@node Mode Hooks, , Choosing Modes, Major Modes
+@section Mode Hook Variables
+
+@cindex Hook variables
+@cindex mode hook
+@findex add-hook
+@findex remove-hook
+@vindex lisp-mode-hook
+@vindex emacs-lisp-mode-hook
+@vindex lisp-interaction-mode-hook
+@vindex scheme-mode-hook
+
+ The last step taken by a major mode, by convention, is to invoke a
+list of user supplied functions that are stored in a ``hook'' variable.
+This allows a user to further customize the major mode, and is
+particularly convenient for setting up buffer local variables
+(@pxref{Locals}).
+
+ The name of the hook variable is created by appending the string
+@code{-hook} to the name of the major mode. For example, the hook
+variable used by @code{text-mode} would be named @code{text-mode-hook}.
+By convention the mode hook function receives no arguments. If a hook
+variable does not exist, or it has the value @code{nil}, the major mode
+simply ignores it.
+
+ The recommended way to add functions to a hook variable is with the
+@code{add-hook} function. For example, to automatically turn on the
+Auto Fill mode when Text mode is invoked the following code can be used in
+the initialization file (@pxref{Init File})
+
+@example
+(add-hook 'text-mode-hook 'turn-on-auto-fill)
+@end example
+
+The @code{add-hook} function will check that the function is not already
+listed in the hook variable before adding it. It will also create a hook
+variable with the value @code{nil} if one does not exist before adding
+the function. @code{add-hook} adds functions to the front of the hook
+variable list. This means that the last hook added is run first by the
+major mode. It is considered very poor style to write hook functions
+that depend on the order that hooks are executed.
+
+Hooks can be removed from hook variables with @code{remove-hook}.
+
+
@node Programs, Running, Text, Top
@chapter Editing Programs
+@cindex Programming Languages
@cindex Lisp
-@cindex C
- Emacs has many commands designed to understand the syntax of programming
-languages such as Lisp and C. These commands can:
+ XEmacs provides specialized support for editing source files for many
+different programming languages. For example it is possible to
@itemize @bullet
@item
+Follow the usual indentation conventions of the language
+(@pxref{Grinding}).
+@item
Move over or kill balanced expressions or @dfn{sexps} (@pxref{Lists}).
@item
Move over or mark top-level balanced expressions (@dfn{defuns}, in Lisp;
@item
Insert, kill, or align comments (@pxref{Comments}).
@item
-Follow the usual indentation conventions of the language
-(@pxref{Grinding}).
+Find functions and symbols in program by name (@pxref{Tags}).
@end itemize
The commands available for words, sentences, and paragraphs are useful in
* Change Log:: Maintaining a change history for your program.
* Tags:: Go direct to any function in your program in one
command. Tags remembers which file it is in.
+* CC Mode:: Modes for C, C++, Java and similar languages
* Fortran:: Fortran mode and its special features.
* Asm Mode:: Asm mode and its special features.
@end menu
@section Major Modes for Programming Languages
@cindex Lisp mode
-@cindex C mode
-@cindex Scheme mode
- Emacs has several major modes for the programming languages Lisp, Scheme (a
-variant of Lisp), C, Fortran, and Muddle. Ideally, a major mode should be
-implemented for each programming language you might want to edit with
-Emacs; but often the mode for one language can serve for other
-syntactically similar languages. The language modes that exist are those
-that someone decided to take the trouble to write.
-
- There are several variants of Lisp mode, which differ in the way they
-interface to Lisp execution. @xref{Lisp Modes}.
-
- Each of the programming language modes defines the @key{TAB} key to run
-an indentation function that knows the indentation conventions of that
-language and updates the current line's indentation accordingly. For
-example, in C mode @key{TAB} is bound to @code{c-indent-line}. @key{LFD}
-is normally defined to do @key{RET} followed by @key{TAB}; thus it, too,
-indents in a mode-specific fashion.
+ Emacs has several major modes (@pxref{Major Modes}) to support
+programming languages. These major modes will typically understand
+language syntax, provide automatic indentation features, syntax based
+highlighting of text, and will often provide interfaces to the
+programming environment to assist in compiling, executing and debugging
+programs.
+
+ A language mode exist when someone decides to take the trouble to
+write it. At this time many widely used programming languages are
+supported by XEmacs. Examples include Ada, Awk, C, C++, CORBA (IDL),
+Fortran, Java, Lisp, Modula 2, Objective-C, Perl, Pike, Prolog, Python,
+Ruby, Scheme, Simula, SQL, Tcl, Unix Shell scripts, and VHDL. Some of
+these language have seperate manuals, and some times more than one mode
+may be available for a language. For example, there are several
+variants of Lisp mode, which differ in the way they interface to Lisp
+execution. @xref{Lisp Modes}.
+
+ Major modes for programming language support are distributed in
+optional XEmacs packages (@pxref{Packages}) that must be installed
+before use. A notable exception to this rule is that a Lisp Mode is
+integral to XEmacs. The Programming Mode Package (@file{prog-modes})
+contains many such modes. Some languages are supported by packages of
+their own; prominent examples of such packages include @file{cc-mode}
+for C, C++, Java, Objective C etc.@:, @file{python-modes} for Python,
+and @file{scheme} for Scheme.
+
+ For a language named @var{lang} the major mode for the language will
+typically be named @code{@var{lang}-mode}. For example, the mode for C
+is called @code{c-mode}, that for Bourne shell scripts is called
+@code{sh-mode} and so on. These modes will invoke the functions listed
+in the corresponding hook variables as a last step. @xref{Mode Hooks}.
+
+ A mode can be invoked by typing @kbd{M-x @var{lang}-mode
+@key{RET}}. However this step is not normally required. If the package
+for a language mode is installed XEmacs usually knows when to
+automatically invoke the mode. This is normally done based on examining
+the file name to determine the language. @ref{Choosing Modes}.
+
+ Each of the programming language modes defines the @key{TAB} key to
+run an indentation function that knows the indentation conventions of
+that language and updates the current line's indentation accordingly.
+@key{LFD} is normally defined to do @key{RET} followed by @key{TAB};
+thus it, too, indents in a mode-specific fashion.
@kindex DEL
@findex backward-delete-char-untabify
if enabled in a programming language major mode, indents the new lines
which it creates.
-@cindex mode hook
-@vindex c-mode-hook
-@vindex lisp-mode-hook
-@vindex emacs-lisp-mode-hook
-@vindex lisp-interaction-mode-hook
-@vindex scheme-mode-hook
-@vindex muddle-mode-hook
- Turning on a major mode calls a user-supplied function called the
-@dfn{mode hook}, which is the value of a Lisp variable. For example,
-turning on C mode calls the value of the variable @code{c-mode-hook} if
-that value exists and is non-@code{nil}. Mode hook variables for other
-programming language modes include @code{lisp-mode-hook},
-@code{emacs-lisp-mode-hook}, @code{lisp-interaction-mode-hook},
-@code{scheme-mode-hook}, and @code{muddle-mode-hook}. The mode hook
-function receives no arguments.@refill
-
@node Lists, Defuns, Program Modes, Programs
@section Lists and Sexps
specified number of times; with a negative argument, it moves in the
opposite direction.
-In languages such as C where the comment-terminator can be recognized,
-the sexp commands move across comments as if they were whitespace. In
-Lisp and other languages where comments run until the end of a line, it
-is very difficult to ignore comments when parsing backwards; therefore,
-in such languages the sexp commands treat the text of comments as if it
-were code.
-
@kindex C-M-k
@findex kill-sexp
Killing an sexp at a time can be done with @kbd{C-M-k} (@code{kill-sexp}).
* Basic Indent::
* Multi-line Indent:: Commands to reindent many lines at once.
* Lisp Indent:: Specifying how each Lisp function should be indented.
-* C Indent:: Choosing an indentation style for C code.
@end menu
@node Basic Indent, Multi-line Indent, Grinding, Grinding
mark. The command @kbd{C-M-\} (@code{indent-region}) applies @key{TAB}
to every line whose first character is between point and mark.
-@node Lisp Indent, C Indent, Multi-line Indent, Grinding
+@node Lisp Indent, , Multi-line Indent, Grinding
@subsection Customizing Lisp Indentation
@cindex customization
until the end of the list.
@end table
-@node C Indent, , Lisp Indent, Grinding
-@subsection Customizing C Indentation
-
- Two variables control which commands perform C indentation and when.
-
-@vindex c-auto-newline
- If @code{c-auto-newline} is non-@code{nil}, newlines are inserted both
-before and after braces that you insert and after colons and semicolons.
-Correct C indentation is done on all the lines that are made this way.
-
-@vindex c-tab-always-indent
- If @code{c-tab-always-indent} is non-@code{nil}, the @key{TAB} command
-in C mode does indentation only if point is at the left margin or within
-the line's indentation. If there is non-whitespace to the left of point,
-@key{TAB} just inserts a tab character in the buffer. Normally,
-this variable is @code{nil}, and @key{TAB} always reindents the current line.
-
- C does not have anything analogous to particular function names for which
-special forms of indentation are desirable. However, it has a different
-need for customization facilities: many different styles of C indentation
-are in common use.
-
- There are six variables you can set to control the style that Emacs C
-mode will use.
-
-@table @code
-@item c-indent-level
-Indentation of C statements within surrounding block. The surrounding
-block's indentation is the indentation of the line on which the
-open-brace appears.
-@item c-continued-statement-offset
-Extra indentation given to a substatement, such as the then-clause of
-an @code{if} or body of a @code{while}.
-@item c-brace-offset
-Extra indentation for lines that start with an open brace.
-@item c-brace-imaginary-offset
-An open brace following other text is treated as if it were this far
-to the right of the start of its line.
-@item c-argdecl-indent
-Indentation level of declarations of C function arguments.
-@item c-label-offset
-Extra indentation for a line that is a label, case, or default.
-@end table
-
-@vindex c-indent-level
- The variable @code{c-indent-level} controls the indentation for C
-statements with respect to the surrounding block. In the example:
-
-@example
- @{
- foo ();
-@end example
-
-@noindent
-the difference in indentation between the lines is @code{c-indent-level}.
-Its standard value is 2.
-
-If the open-brace beginning the compound statement is not at the beginning
-of its line, the @code{c-indent-level} is added to the indentation of the
-line, not the column of the open-brace. For example,
-
-@example
-if (losing) @{
- do_this ();
-@end example
-
-@noindent
-One popular indentation style is that which results from setting
-@code{c-indent-level} to 8 and putting open-braces at the end of a line
-in this way. Another popular style prefers to put the open-brace on a
-separate line.
-
-@vindex c-brace-imaginary-offset
- In fact, the value of the variable @code{c-brace-imaginary-offset} is
-also added to the indentation of such a statement. Normally this variable
-is zero. Think of this variable as the imaginary position of the open
-brace, relative to the first non-blank character on the line. By setting
-the variable to 4 and @code{c-indent-level} to 0, you can get this style:
-
-@example
-if (x == y) @{
- do_it ();
- @}
-@end example
-
- When @code{c-indent-level} is zero, the statements inside most braces
-line up exactly under the open brace. An exception are braces in column
-zero, like those surrounding a function's body. The statements inside
-those braces are not placed at column zero. Instead,
-@code{c-brace-offset} and @code{c-continued-statement-offset} (see
-below) are added to produce a typical offset between brace levels, and
-the statements are indented that far.
-
-@vindex c-continued-statement-offset
- @code{c-continued-statement-offset} controls the extra indentation for
-a line that starts within a statement (but not within parentheses or
-brackets). These lines are usually statements inside other statements,
-like the then-clauses of @code{if} statements and the bodies of
-@code{while} statements. The @code{c-continued-statement-offset}
-parameter determines the difference in indentation between the two lines in:
-
-@example
-if (x == y)
- do_it ();
-@end example
-
-@noindent
-The default value for @code{c-continued-statement-offset} is 2. Some
-popular indentation styles correspond to a value of zero for
-@code{c-continued-statement-offset}.
-
-@vindex c-brace-offset
- @code{c-brace-offset} is the extra indentation given to a line that
-starts with an open-brace. Its standard value is zero;
-compare:
-
-@example
-if (x == y)
- @{
-@end example
-
-@noindent
-with:
-
-@example
-if (x == y)
- do_it ();
-@end example
-
-@noindent
-If you set @code{c-brace-offset} to 4, the first example becomes:
-
-@example
-if (x == y)
- @{
-@end example
-
-@vindex c-argdecl-indent
- @code{c-argdecl-indent} controls the indentation of declarations of the
-arguments of a C function. It is absolute: argument declarations receive
-exactly @code{c-argdecl-indent} spaces. The standard value is 5 and
-results in code like this:
-
-@example
-char *
-index (string, char)
- char *string;
- int char;
-@end example
-
-@vindex c-label-offset
- @code{c-label-offset} is the extra indentation given to a line that
-contains a label, a case statement, or a @code{default:} statement. Its
-standard value is @minus{}2 and results in code like this:
-
-@example
-switch (c)
- @{
- case 'x':
-@end example
-
-@noindent
-If @code{c-label-offset} were zero, the same code would be indented as:
-
-@example
-switch (c)
- @{
- case 'x':
-@end example
-
-@noindent
-This example assumes that the other variables above also have their
-default values.
-
-Using the indentation style produced by the default settings of the
-variables just discussed and putting open braces on separate lines
-produces clear and readable files. For an example, look at any of the C
-source files of XEmacs.
@node Matching, Comments, Grinding, Programs
@section Automatic Display of Matching Parentheses
not displayed), set it again in final compute_motion.
@end smallexample
-@node Tags, Fortran, Change Log, Programs
+@node Tags, CC Mode, Change Log, Programs
@section Tags Tables
@cindex tags table
then finds all the tags in the selected tags table whose entries match that
regexp, and displays the tag names found.
-@node Fortran, Asm Mode, Tags, Programs
+@node CC Mode, Fortran, Tags, Programs
+@section Modes for C, C++, Java and similar languages
+@cindex C Mode
+@cindex C++ Mode
+@cindex Java Mode
+@cindex AWK Mode
+@cindex Objective C Mode
+@cindex CORBA IDL Mode
+@findex c-mode
+@findex c++-mode
+@findex java-mode
+@findex idl-mode
+@findex awk-mode
+@findex pike-mode
+@findex objc-mode
+@vindex c-mode-hook
+@vindex c++-mode-hook
+@vindex java-mode-hook
+@vindex idl-mode-hook
+@vindex awk-mode-hook
+@vindex pike-mode-hook
+@vindex objc-mode-hook
+@vindex c-mode-common-hook
+@vindex c-initialization-hook
+
+ The recommended means for supporting the ``C--like'' programming
+languages in XEmacs is the @file{cc-mode} package. CC Mode is not
+included in the basic XEmacs distribution but is available as an
+optional package. If loading a file whose names ends in the @file{.cc}
+extension does not automatically invoke a C++ Mode then the
+@file{cc-mode} package is probably not yet installed. @xref{Packages}.
+
+ CC Mode provides modes for editing source files in Awk
+(@code{awk-mode}), C (@code{c-mode}), C++ (@code{c++-mode}), CORBA IDL
+(@code{idl-mode}), Java (@code{java-mode}), Objective C
+(@code{objc-mode}), and Pike (@code{pike-mode}). All these languages are
+supported with an sophisticated ``indentation engine'' that is feature
+rich, customizable and quite efficient.
+
+ Each language major mode runs hooks in the conventionally named hook
+variables (@pxref{Mode Hooks}). In addition to this conventional
+behavior all the CC Mode major modes will also run hooks in
+@code{c-mode-common-hook} @emph{before} invoking the major mode specific
+hook.
+
+ CC Mode runs any hooks in @code{c-initialization-hook} exactly once
+when it is first loaded.
+
+ CC Mode is a very comprehensive and flexible system and full
+description of its capabilities is beyond the scope of this manual. It
+is strongly recommended that the reader consult the CC Mode
+documentation for details once the package has been
+installed. @xref{Top,CC Mode,,cc-mode, The CC Mode Manual}.
+
+@menu
+* Older Modes:: Older Modes for C and AWK
+* Customizing CC Mode:: An Introduction to Customizing CC Mode.
+@end menu
+
+
+@node Older Modes, Customizing CC Mode, CC Mode, CC Mode
+@subsection Older Modes for C and AWK
+@cindex Old C Mode
+@cindex Old AWK Mode
+@cindex C Mode without CC Mode
+@cindex AWK Mode without CC Mode
+@cindex old-c-mode
+
+ XEmacs provides older versions of a C Mode and an AWK Mode in the
+@file{prog-modes} package. These older modes do not share the
+indentation engine in CC Mode have have their own specific means of
+customizing indentation. To use these modes the @file{prog-modes}
+package must be installed.
+
+ This older C mode is known simply as the ``Old C Mode''. It supports
+only the C language and it lacks many of the features of CC Mode.
+However the old C mode offers modest space requirements and very fast
+operation. Old C Mode might be useful in space constrained
+environments, on slow machines, or for editing very large files. This
+old C mode is available in the @file{old-c-mode}
+library. @xref{old-c-mode,Old C Mode,old-c-mode,prog-modes,The
+Programming Modes Package Manual}.
+
+ The old AWK mode exists for similar reasons. It is available in the
+@file{awk-mode} library. @xref{awk-mode,Old AWK
+Mode,awk-mode,prog-modes,The Programming Modes Package Manual}.
+
+ Note that the prog-modes package will never automatically invoke these
+older modes for a user. However installing the @file{cc-mode} package
+@emph{will} make CC Mode's versions available automatically. As a
+result a user who wants to use these older modes must explicitly load
+the old libraries to use them.
+
+@node Customizing CC Mode, , Older Modes, CC Mode
+@subsection Customizing Indentation in CC Mode
+
+ A very brief introduction is included here on customizing CC Mode. CC
+Mode has many features, including useful minor modes, that are
+completely documented in its own manual.
+
+ CC Mode implements several different ``styles'' for C code (and the
+other languages supported by CC Mode). If you need to change the
+indentation style for CC Mode it is recommended that you first see if an
+existing style meets your requirements. The style chosen will affect the
+placement of language elements like braces, function declarations and
+comments. You can choose a style interactively by typing @kbd{C-c .} and
+pressing the space bar at the prompt to get a list of supported
+styles. @kbd{C-c .} runs the function @code{c-set-style} which applies
+to all CC Mode language modes though its name might suggest otherwise. A
+few of the the supported styles are listed below.
+
+@itemize @bullet
+@item
+``gnu'' --- The recommeded style from the Free Software Foundation for
+GNU software.
+@item
+``k&r'' --- The classic style from Kernighan and Ritchie.
+@item
+``linux'' --- The style recommended for code in the Linux kernel.
+@item
+``bsd'' --- The style recommended for software developed in BSD.
+@item
+``java --- The ``traditional'' Java style.
+@end itemize
+
+ The default style in XEmacs is ``gnu'' except for Java mode where it
+is the ``java'' style (this is governed by the variable
+@code{c-default-style}).
+
+ The styles included in CC Mode all use a buffer local variable called
+@code{c-basic-offset} as the basic indentation level (this buffer local
+variable is used in all CC Mode language modes though its name might
+suggest otherwise). All indentation is, by default, expressed in
+multiples of @code{c-basic-offset}.
+
+ Each style defines a default value for @code{c-basic-offset}, for the
+``gnu'' style sets it to 2. A very common customization scenario is
+where a user wants to use an existing style but with a different basic
+offset value. An easy way to do this is to set @code{c-basic-offset} in
+the language mode hook after selecting the chosen style.
+
+ For example, a user might want to follow a local coding convention of
+using the ``k&r'' style for C code with indentation in two columns
+multiples (instead of the five column default provided by the CC Mode
+``k&r'' style). This can be achieved with the following code in the
+initialization file (@pxref{Init File})
+
+@example
+(defun my-c-mode-hook ()
+ (c-set-style "k&r")
+ (setq c-basic-offset 2))
+(add-hook 'c-mode-hook 'my-c-mode-hook)
+@end example
+
+ Most customizations for indentation in various CC modes can be
+accomplished by choosing a style and then choosing value for
+@code{c-basic-offset} that meets the local coding convention. CC Mode
+has a very customizable indentation engine and a furthur discussion is
+really beyond the scope of this manual. @xref{Indentation
+Engine,,,cc-mode,The CC Mode Manual}.
+
+
+@node Fortran, Asm Mode, CC Mode, Programs
@section Fortran Mode
@cindex Fortran mode
* Change Log:: Maintaining a change history for your program.
* Tags:: Go directly to any function in your program in one
command. Tags remembers which file it is in.
+* CC Mode:: Modes for C, C++, Java and similar languages
* Fortran:: Fortran mode and its special features.
* Asm Mode:: Asm mode and its special features.
* Basic Indent::
* Multi-line Indent:: Commands to reindent many lines at once.
* Lisp Indent:: Specifying how each Lisp function should be indented.
-* C Indent:: Choosing an indentation style for C code.
Tags Tables
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
-//Microsoft Developer Studio generated resource script.\r
-//\r
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#define APSTUDIO_HIDDEN_SYMBOLS\r
-#include "windows.h"\r
-#undef APSTUDIO_HIDDEN_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// English (U.S.) resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r
-#pragma code_page(1252)\r
-#endif //_WIN32\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_SOURCE DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- CONTROL "Download from the Internet",IDC_SOURCE_DOWNLOAD,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,127,102,152,10\r
- CONTROL "Install from the Internet",IDC_SOURCE_NETINST,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,127,121,87,10\r
- CONTROL "Install from Local Directory",IDC_SOURCE_CWD,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,127,140,104,10\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Setup will use the following installation method.",\r
- IDC_STATIC,112,11,170,17\r
- LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,\r
- 32,166,17\r
- GROUPBOX "Installation method",IDC_STATIC,113,84,188,77\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_LOCAL_DIR DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Local package directory"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Next >",IDOK,199,176,45,15,WS_DISABLED\r
- PUSHBUTTON "< Back",IDC_BACK,154,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- EDITTEXT IDC_LOCAL_DIR,120,138,122,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Browse...",IDC_LOCAL_DIR_BROWSE,252,137,38,14\r
- LTEXT "Setup will use the following folder to install XEmacs and / or packages from.",\r
- IDC_STATIC,112,10,170,17\r
- LTEXT "To select a different folder, click Browse and select another folder.",\r
- IDC_STATIC,112,36,170,18\r
- LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,\r
- 63,166,17\r
- GROUPBOX "Local Package Directory",IDC_STATIC,112,126,186,31\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_ROOT DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Next >",IDOK,199,176,45,15\r
- PUSHBUTTON "< Back",IDC_BACK,154,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- EDITTEXT IDC_ROOT_DIR,120,138,122,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Browse...",IDC_ROOT_BROWSE,252,137,38,14\r
- LTEXT "Setup will use the following folder in which to install XEmacs and / or packages.",\r
- IDC_STATIC,112,10,170,17\r
- LTEXT "To select a different folder, click Browse and select another folder.",\r
- IDC_STATIC,112,35,170,18\r
- LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,\r
- 63,166,17\r
- GROUPBOX "Installation Root Directory",IDC_STATIC,112,126,186,31\r
- CONTROL "All",IDC_ROOT_SYSTEM,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP,177,110,25,8\r
- CONTROL "Just Me",IDC_ROOT_USER,"Button",BS_AUTORADIOBUTTON,220,\r
- 110,50,8\r
- LTEXT "Installation Type :",IDC_STATIC,112,95,60,8\r
- LTEXT "Install For :",IDC_STATIC,112,110,43,8\r
- CONTROL "Native",IDC_INSTALL_NATIVE,"Button",BS_AUTORADIOBUTTON,\r
- 177,93,37,10\r
- CONTROL "Cygwin",IDC_INSTALL_CYGWIN,"Button",BS_AUTORADIOBUTTON,\r
- 220,93,39,10\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_SITE DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Next >",IDOK,199,176,45,15\r
- PUSHBUTTON "< Back",IDC_BACK,154,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Select Download Site",IDC_STATIC,113,11,135,11\r
- LISTBOX IDC_URL_LIST,121,24,179,136,LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_OTHER_URL DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Next >",IDOK,199,176,45,15\r
- PUSHBUTTON "< Back",IDC_BACK,154,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- EDITTEXT IDC_OTHER_URL,120,138,170,12,ES_AUTOHSCROLL\r
- LTEXT "Setup will use the following URL to install XEmacs and / or packages from.",\r
- IDC_STATIC,112,10,170,17\r
- LTEXT "To select a different URL, edit the text.",IDC_STATIC,\r
- 112,36,170,18\r
- LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,\r
- 58,166,17\r
- GROUPBOX "Select URL to download from",IDC_STATIC,112,126,186,31\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_NET DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP\r
- PUSHBUTTON "< Back",IDC_BACK,154,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Setup will use the following connection method.",\r
- IDC_STATIC,112,11,170,17,NOT WS_GROUP\r
- LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,\r
- 32,166,17,NOT WS_GROUP\r
- CONTROL "Use IE5 Settings",IDC_NET_IE5,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,128,93,69,10\r
- CONTROL "Direct Connection",IDC_NET_DIRECT,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,128,109,73,10\r
- CONTROL "Use HTTP/FTP Proxy:",IDC_NET_PROXY,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,128,124,88,10\r
- EDITTEXT IDC_PROXY_HOST,128,141,80,12,ES_AUTOHSCROLL | \r
- WS_DISABLED\r
- LTEXT "Proxy",IDC_STATIC,10,55,50,15,SS_CENTERIMAGE,\r
- WS_EX_RIGHT\r
- LTEXT "Port",IDC_STATIC,229,139,20,15,SS_CENTERIMAGE,\r
- WS_EX_RIGHT\r
- EDITTEXT IDC_PROXY_PORT,257,141,30,12,ES_AUTOHSCROLL | \r
- WS_DISABLED\r
- GROUPBOX "Installation method",IDC_STATIC,113,78,188,83\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_DLSTATUS DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | \r
- WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Downloading Packages",IDC_STATIC,112,10,170,17\r
- LTEXT "(URL)",IDC_DLS_URL,112,26,170,11\r
- LTEXT "(RATE)",IDC_DLS_RATE,112,41,166,11\r
- CONTROL "Progress1",IDC_DLS_PROGRESS,"msctls_progress32",\r
- WS_BORDER,123,143,165,10\r
- GROUPBOX "Progress",IDC_STATIC,112,130,186,31\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_INSTATUS DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | \r
- WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Installing Packages",IDC_STATIC,112,10,170,17\r
- LTEXT "(PKG)",IDC_INS_PKG,112,26,170,11\r
- LTEXT "(FILE)",IDC_INS_FILE,112,41,183,11\r
- CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32",\r
- WS_BORDER,123,143,165,10\r
- CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32",\r
- WS_BORDER,125,106,163,10\r
- CONTROL "Progress1",IDC_INS_PPROGRESS,"msctls_progress32",\r
- WS_BORDER,125,67,163,10\r
- GROUPBOX "Disk",IDC_STATIC,112,130,186,31\r
- GROUPBOX "Package",IDC_STATIC,112,54,186,31\r
- GROUPBOX "Total",IDC_STATIC,112,93,186,31\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_UNINSTALL DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Uninstall XEmacs"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- PUSHBUTTON "Cancel",IDCANCEL,199,176,45,15\r
- DEFPUSHBUTTON "Uninstall",IDOK,256,176,45,15\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Uninstalling Packages",IDC_STATIC,112,10,170,17\r
- LTEXT "(PKG)",IDC_UNINS_PKG,112,26,170,11\r
- LTEXT "(FILE)",IDC_UNINS_FILE,112,41,166,11\r
- CONTROL "Progress1",IDC_UNINS_DISKFULL,"msctls_progress32",\r
- WS_BORDER,123,143,165,10\r
- CONTROL "Progress1",IDC_UNINS_IPROGRESS,"msctls_progress32",\r
- WS_BORDER,125,106,163,10\r
- CONTROL "Progress1",IDC_UNINS_PPROGRESS,"msctls_progress32",\r
- WS_BORDER,125,67,163,10\r
- GROUPBOX "Disk",IDC_STATIC,112,130,186,31\r
- GROUPBOX "Package",IDC_STATIC,112,54,186,31\r
- GROUPBOX "Total",IDC_STATIC,112,93,186,31\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_PROXY_AUTH DIALOG DISCARDABLE 0, 0, 215, 95\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- ICON IDI_XEMACS,IDC_STATIC,5,5,20,20\r
- EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL\r
- LTEXT "Proxy User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE,\r
- WS_EX_RIGHT\r
- EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE,\r
- WS_EX_RIGHT\r
- LTEXT "Proxy Authorization Required",IDC_STATIC,65,10,145,10\r
- DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED\r
- PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15\r
-END\r
-\r
-IDD_NET_AUTH DIALOG DISCARDABLE 0, 0, 215, 95\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- ICON IDI_XEMACS,IDC_STATIC,5,5,20,20\r
- EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL\r
- LTEXT "User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE,\r
- WS_EX_RIGHT\r
- EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE,\r
- WS_EX_RIGHT\r
- LTEXT "Server Authorization Required",IDC_STATIC,65,10,145,10\r
- DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED\r
- PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15\r
-END\r
-\r
-IDD_SPLASH DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Next >",IDOK,199,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- ICON IDI_XEMACS,IDC_STATIC,107,10,20,20\r
- LTEXT "Welcome to the XEmacs Net Release Setup Program. This will install XEmacs and/or associated packages on your computer.",\r
- IDC_STATIC,133,10,158,29\r
- LTEXT "Version (unknown)",IDC_VERSION,112,117,120,10\r
- LTEXT "Copyright (C) 2000 Red Hat Inc",IDC_STATIC,111,132,135,\r
- 8\r
- LTEXT "http://www.xemacs.org/",IDC_STATIC,111,147,150,10\r
- LTEXT "It is strongly recommended that you exit all Windows programs before running this utility.",\r
- IDC_STATIC,110,43,191,19\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
-END\r
-\r
-IDD_CHOOSE DIALOG DISCARDABLE 0, 0, 311, 239\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Next >",IDOK,199,214,45,15\r
- PUSHBUTTON "< Back",IDC_BACK,154,214,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,214,45,15\r
- LTEXT "",IDC_STATIC,10,201,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "Select packages to install",IDC_STATIC,55,5,85,8\r
- ICON IDI_XEMACS,IDC_STATIC,5,5,21,20\r
- LTEXT "",IDC_LISTVIEW_POS,55,15,230,155,SS_SUNKEN | NOT \r
- WS_VISIBLE | NOT WS_GROUP\r
- CONTROL "SPIN",IDC_STATIC,"Static",SS_BITMAP,55,170,15,13\r
- LTEXT "= click to choose action, (p) = previous version, (x) = experimental",\r
- IDC_STATIC,65,170,220,8\r
- PUSHBUTTON "Full/Part",IDC_CHOOSE_FULLPART,250,5,35,10\r
- PUSHBUTTON "Exp",IDC_CHOOSE_EXP,215,5,25,10\r
- PUSHBUTTON "Curr",IDC_CHOOSE_CURR,190,5,25,10\r
- PUSHBUTTON "Prev",IDC_CHOOSE_PREV,165,5,25,10\r
-END\r
-\r
-IDD_DESKTOP DIALOG DISCARDABLE 0, 0, 311, 201\r
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "XEmacs Setup"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Finish",IDOK,199,176,45,15\r
- PUSHBUTTON "< Back",IDC_BACK,154,176,45,15\r
- PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
- LTEXT "Setup has now finished. To create desktop shortcuts, please select from the following options.",\r
- IDC_STATIC,112,11,170,17\r
- LTEXT "To complete setup click Finish.",IDC_STATIC,112,32,166,\r
- 17\r
- CONTROL "Create Desktop Icon",IDC_ROOT_DESKTOP,"Button",\r
- BS_AUTOCHECKBOX,113,50,100,8\r
- CONTROL "Add to Start Menu",IDC_ROOT_MENU,"Button",\r
- BS_AUTOCHECKBOX,113,66,100,8\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
- CONTROL "Text",IDC_TXT_TYPE,"Button",BS_AUTOCHECKBOX,209,101,38,\r
- 8\r
- CONTROL "Java",IDC_JAVA_TYPE,"Button",BS_AUTOCHECKBOX,113,100,50,\r
- 8\r
- CONTROL "C",IDC_C_TYPE,"Button",BS_AUTOCHECKBOX,113,116,41,8\r
- CONTROL "C++",IDC_CPP_TYPE,"Button",BS_AUTOCHECKBOX,113,133,38,8\r
- CONTROL "E-Lisp",IDC_ELISP_TYPE,"Button",BS_AUTOCHECKBOX,113,148,\r
- 38,8\r
- LTEXT "Register XEmacs for these file types:",IDC_STATIC,113,\r
- 84,166,13\r
- LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
- LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP\r
- CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62\r
- CONTROL "IDL",IDC_IDL_TYPE,"Button",BS_AUTOCHECKBOX,209,116,38,8\r
-END\r
-\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"\r
- "#include ""windows.h""\r\n"\r
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "\r\n"\r
- "\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Icon\r
-//\r
-\r
-// Icon with lowest ID value placed first to ensure application icon\r
-// remains consistent on all systems.\r
-IDI_XEMACS ICON DISCARDABLE "xemacs.ico"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// FILE\r
-//\r
-\r
-XEMACS.ICON FILE DISCARDABLE "xemacs.ico"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE \r
-BEGIN\r
- IDD_SOURCE, DIALOG\r
- BEGIN\r
- VERTGUIDE, 113\r
- VERTGUIDE, 127\r
- END\r
-\r
- IDD_LOCAL_DIR, DIALOG\r
- BEGIN\r
- VERTGUIDE, 112\r
- HORZGUIDE, 10\r
- END\r
-\r
- IDD_ROOT, DIALOG\r
- BEGIN\r
- VERTGUIDE, 112\r
- HORZGUIDE, 103\r
- HORZGUIDE, 118\r
- END\r
-\r
- IDD_SITE, DIALOG\r
- BEGIN\r
- HORZGUIDE, 11\r
- HORZGUIDE, 161\r
- END\r
-\r
- IDD_NET, DIALOG\r
- BEGIN\r
- VERTGUIDE, 128\r
- BOTTOMMARGIN, 191\r
- HORZGUIDE, 153\r
- END\r
-\r
- IDD_INSTATUS, DIALOG\r
- BEGIN\r
- VERTGUIDE, 112\r
- VERTGUIDE, 125\r
- VERTGUIDE, 288\r
- END\r
-\r
- IDD_PROXY_AUTH, DIALOG\r
- BEGIN\r
- BOTTOMMARGIN, 49\r
- END\r
-\r
- IDD_NET_AUTH, DIALOG\r
- BEGIN\r
- BOTTOMMARGIN, 49\r
- END\r
-\r
- IDD_SPLASH, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 301\r
- TOPMARGIN, 10\r
- BOTTOMMARGIN, 191\r
- END\r
-\r
- IDD_CHOOSE, DIALOG\r
- BEGIN\r
- BOTTOMMARGIN, 229\r
- HORZGUIDE, 214\r
- END\r
-\r
- IDD_DESKTOP, DIALOG\r
- BEGIN\r
- VERTGUIDE, 113\r
- VERTGUIDE, 209\r
- HORZGUIDE, 124\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Bitmap\r
-//\r
-\r
-SPIN BITMAP DISCARDABLE "choose-spin.bmp"\r
-IDB_SPIN BITMAP DISCARDABLE "choose-spin.bmp"\r
-IDB_RTARROW BITMAP DISCARDABLE "choose-rtarrow.bmp"\r
-IDB_CHECK_YES BITMAP DISCARDABLE "check-yes.bmp"\r
-IDB_CHECK_NO BITMAP DISCARDABLE "check-no.bmp"\r
-IDB_CHECK_NA BITMAP DISCARDABLE "check-na.bmp"\r
-GNU BITMAP DISCARDABLE "gnu.bmp"\r
-IDB_GNU BITMAP DISCARDABLE "gnu.bmp"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ROOT_SLASH "Warning: we recommend you do NOT use the root of your hard drive as the XEmacs root. Proceed anyway?"\r
- IDS_ROOT_SPACE "You should not choose a root path that include spaces in directory names. Proceed anyway?"\r
- IDS_MIRROR_LST "http://www.xemacs.org/Download/mirrors.lst"\r
- IDS_DIALOG_FAILED "Unable to create Dialog Box"\r
- IDS_CYGWIN_FUNC_MISSING "Error: unable to find function `%s' in %s"\r
- IDS_DOWNLOAD_SHORT "Download error: %s too short (%d, wanted %d)"\r
- IDS_ERR_OPEN_WRITE "Can't open %s for writing: %s"\r
- IDS_SETUPINI_MISSING "Unable to get setup.ini from %s"\r
- IDS_OLD_SETUPINI "This setup.ini is older than the one you used last time you installed cygwin. Proceed anyway?"\r
- IDS_ERR_RENAME "Can't rename %s to %s: %s"\r
- IDS_NOTHING_INSTALLED "Nothing needed to be installed"\r
- IDS_INSTALL_COMPLETE "Installation Complete"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ERR_OPEN_READ "Can't open %s for reading: %s"\r
- IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin"\r
- IDS_DOWNLOAD_COMPLETE "Download Complete"\r
- IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.1.2.1 2002/05/18 07:47:27 stephent Exp $\n"\r
- IDS_NOLOGFILE "Cannot open log file %s for writing"\r
- IDS_UNINSTALL_COMPLETE "Uninstalls complete."\r
- IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs"\r
- IDS_ERR_CHDIR "Could not change dir to %s"\r
- IDS_OLD_SETUP_VERSION "This setup is version %s, but setup.ini claims version %s is available.\nYou might want to upgrade to get the latest features and bug fixes."\r
- IDS_DOWNLOAD_FAILED "Unable to download %s"\r
- IDS_DOWNLOAD_INCOMPLETE "Download Incomplete. Try again?"\r
- IDS_INSTALL_INCOMPLETE "Installation incomplete. Check /setup.log.full for details"\r
- IDS_ROOT_NOCYGWIN "You should not install the Cygwin version without Cygwin installed. Proceed anyway?"\r
- IDS_CREATE_DIR "The directory %s does not exist, create it?"\r
-END\r
-\r
-#endif // English (U.S.) resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+#undef APSTUDIO_HIDDEN_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_SOURCE DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ CONTROL "Download from the Internet",IDC_SOURCE_DOWNLOAD,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,127,102,152,10
+ CONTROL "Install from the Internet",IDC_SOURCE_NETINST,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,127,121,87,10
+ CONTROL "Install from Local Directory",IDC_SOURCE_CWD,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,127,140,104,10
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Setup will use the following installation method.",
+ IDC_STATIC,112,11,170,17
+ LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,
+ 32,166,17
+ GROUPBOX "Installation method",IDC_STATIC,113,84,188,77
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_LOCAL_DIR DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Local package directory"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Next >",IDOK,199,176,45,15,WS_DISABLED
+ PUSHBUTTON "< Back",IDC_BACK,154,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ EDITTEXT IDC_LOCAL_DIR,120,138,122,12,ES_AUTOHSCROLL
+ PUSHBUTTON "Browse...",IDC_LOCAL_DIR_BROWSE,252,137,38,14
+ LTEXT "Setup will use the following folder to install XEmacs and / or packages from.",
+ IDC_STATIC,112,10,170,17
+ LTEXT "To select a different folder, click Browse and select another folder.",
+ IDC_STATIC,112,36,170,18
+ LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,
+ 63,166,17
+ GROUPBOX "Local Package Directory",IDC_STATIC,112,126,186,31
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_ROOT DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Next >",IDOK,199,176,45,15
+ PUSHBUTTON "< Back",IDC_BACK,154,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ EDITTEXT IDC_ROOT_DIR,120,138,122,12,ES_AUTOHSCROLL
+ PUSHBUTTON "Browse...",IDC_ROOT_BROWSE,252,137,38,14
+ LTEXT "Setup will use the following folder in which to install XEmacs and / or packages.",
+ IDC_STATIC,112,10,170,17
+ LTEXT "To select a different folder, click Browse and select another folder.",
+ IDC_STATIC,112,35,170,18
+ LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,
+ 63,166,17
+ GROUPBOX "Installation Root Directory",IDC_STATIC,112,126,186,31
+ CONTROL "All",IDC_ROOT_SYSTEM,"Button",BS_AUTORADIOBUTTON |
+ WS_GROUP,177,110,25,8
+ CONTROL "Just Me",IDC_ROOT_USER,"Button",BS_AUTORADIOBUTTON,220,
+ 110,50,8
+ LTEXT "Installation Type :",IDC_STATIC,112,95,60,8
+ LTEXT "Install For :",IDC_STATIC,112,110,43,8
+ CONTROL "Native",IDC_INSTALL_NATIVE,"Button",BS_AUTORADIOBUTTON,
+ 177,93,37,10
+ CONTROL "Cygwin",IDC_INSTALL_CYGWIN,"Button",BS_AUTORADIOBUTTON,
+ 220,93,39,10
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_SITE DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Next >",IDOK,199,176,45,15
+ PUSHBUTTON "< Back",IDC_BACK,154,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Select Download Site",IDC_STATIC,113,11,135,11
+ LISTBOX IDC_URL_LIST,121,24,179,136,LBS_NOINTEGRALHEIGHT |
+ WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_OTHER_URL DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Next >",IDOK,199,176,45,15
+ PUSHBUTTON "< Back",IDC_BACK,154,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ EDITTEXT IDC_OTHER_URL,120,138,170,12,ES_AUTOHSCROLL
+ LTEXT "Setup will use the following URL to install XEmacs and / or packages from.",
+ IDC_STATIC,112,10,170,17
+ LTEXT "To select a different URL, edit the text.",IDC_STATIC,
+ 112,36,170,18
+ LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,
+ 58,166,17
+ GROUPBOX "Select URL to download from",IDC_STATIC,112,126,186,31
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_NET DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP
+ PUSHBUTTON "< Back",IDC_BACK,154,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Setup will use the following connection method.",
+ IDC_STATIC,112,11,170,17,NOT WS_GROUP
+ LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112,
+ 32,166,17,NOT WS_GROUP
+ CONTROL "Use IE5 Settings",IDC_NET_IE5,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,128,93,69,10
+ CONTROL "Direct Connection",IDC_NET_DIRECT,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,128,109,73,10
+ CONTROL "Use HTTP/FTP Proxy:",IDC_NET_PROXY,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,128,124,88,10
+ EDITTEXT IDC_PROXY_HOST,128,141,80,12,ES_AUTOHSCROLL |
+ WS_DISABLED
+ LTEXT "Proxy",IDC_STATIC,10,55,50,15,SS_CENTERIMAGE,
+ WS_EX_RIGHT
+ LTEXT "Port",IDC_STATIC,229,139,20,15,SS_CENTERIMAGE,
+ WS_EX_RIGHT
+ EDITTEXT IDC_PROXY_PORT,257,141,30,12,ES_AUTOHSCROLL |
+ WS_DISABLED
+ GROUPBOX "Installation method",IDC_STATIC,113,78,188,83
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_DLSTATUS DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE |
+ WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Downloading Packages",IDC_STATIC,112,10,170,17
+ LTEXT "(URL)",IDC_DLS_URL,112,26,170,11
+ LTEXT "(RATE)",IDC_DLS_RATE,112,41,166,11
+ CONTROL "Progress1",IDC_DLS_PROGRESS,"msctls_progress32",
+ WS_BORDER,123,143,165,10
+ GROUPBOX "Progress",IDC_STATIC,112,130,186,31
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_INSTATUS DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE |
+ WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Installing Packages",IDC_STATIC,112,10,170,17
+ LTEXT "(PKG)",IDC_INS_PKG,112,26,170,11
+ LTEXT "(FILE)",IDC_INS_FILE,112,41,183,11
+ CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32",
+ WS_BORDER,123,143,165,10
+ CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32",
+ WS_BORDER,125,106,163,10
+ CONTROL "Progress1",IDC_INS_PPROGRESS,"msctls_progress32",
+ WS_BORDER,125,67,163,10
+ GROUPBOX "Disk",IDC_STATIC,112,130,186,31
+ GROUPBOX "Package",IDC_STATIC,112,54,186,31
+ GROUPBOX "Total",IDC_STATIC,112,93,186,31
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_UNINSTALL DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Uninstall XEmacs"
+FONT 8, "MS Sans Serif"
+BEGIN
+ PUSHBUTTON "Cancel",IDCANCEL,199,176,45,15
+ DEFPUSHBUTTON "Uninstall",IDOK,256,176,45,15
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Uninstalling Packages",IDC_STATIC,112,10,170,17
+ LTEXT "(PKG)",IDC_UNINS_PKG,112,26,170,11
+ LTEXT "(FILE)",IDC_UNINS_FILE,112,41,166,11
+ CONTROL "Progress1",IDC_UNINS_DISKFULL,"msctls_progress32",
+ WS_BORDER,123,143,165,10
+ CONTROL "Progress1",IDC_UNINS_IPROGRESS,"msctls_progress32",
+ WS_BORDER,125,106,163,10
+ CONTROL "Progress1",IDC_UNINS_PPROGRESS,"msctls_progress32",
+ WS_BORDER,125,67,163,10
+ GROUPBOX "Disk",IDC_STATIC,112,130,186,31
+ GROUPBOX "Package",IDC_STATIC,112,54,186,31
+ GROUPBOX "Total",IDC_STATIC,112,93,186,31
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_PROXY_AUTH DIALOG DISCARDABLE 0, 0, 215, 95
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ ICON IDI_XEMACS,IDC_STATIC,5,5,20,20
+ EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL
+ LTEXT "Proxy User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE,
+ WS_EX_RIGHT
+ EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL
+ LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE,
+ WS_EX_RIGHT
+ LTEXT "Proxy Authorization Required",IDC_STATIC,65,10,145,10
+ DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED
+ PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15
+END
+
+IDD_NET_AUTH DIALOG DISCARDABLE 0, 0, 215, 95
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ ICON IDI_XEMACS,IDC_STATIC,5,5,20,20
+ EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL
+ LTEXT "User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE,
+ WS_EX_RIGHT
+ EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL
+ LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE,
+ WS_EX_RIGHT
+ LTEXT "Server Authorization Required",IDC_STATIC,65,10,145,10
+ DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED
+ PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15
+END
+
+IDD_SPLASH DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Next >",IDOK,199,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ ICON IDI_XEMACS,IDC_STATIC,107,10,20,20
+ LTEXT "Welcome to the XEmacs Net Release Setup Program. This will install XEmacs and/or associated packages on your computer.",
+ IDC_STATIC,133,10,158,29
+ LTEXT "Version (unknown)",IDC_VERSION,112,117,120,10
+ LTEXT "Copyright (C) 2000 Red Hat Inc",IDC_STATIC,111,132,135,
+ 8
+ LTEXT "http://www.xemacs.org/",IDC_STATIC,111,147,150,10
+ LTEXT "It is strongly recommended that you exit all Windows programs before running this utility.",
+ IDC_STATIC,110,43,191,19
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+END
+
+IDD_CHOOSE DIALOG DISCARDABLE 0, 0, 311, 239
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Next >",IDOK,199,214,45,15
+ PUSHBUTTON "< Back",IDC_BACK,154,214,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,214,45,15
+ LTEXT "",IDC_STATIC,10,201,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "Select packages to install",IDC_STATIC,55,5,85,8
+ ICON IDI_XEMACS,IDC_STATIC,5,5,21,20
+ LTEXT "",IDC_LISTVIEW_POS,55,15,230,155,SS_SUNKEN | NOT
+ WS_VISIBLE | NOT WS_GROUP
+ CONTROL "SPIN",IDC_STATIC,"Static",SS_BITMAP,55,170,15,13
+ LTEXT "= click to choose action, (p) = previous version, (x) = experimental",
+ IDC_STATIC,65,170,220,8
+ PUSHBUTTON "Full/Part",IDC_CHOOSE_FULLPART,250,5,35,10
+ PUSHBUTTON "Exp",IDC_CHOOSE_EXP,215,5,25,10
+ PUSHBUTTON "Curr",IDC_CHOOSE_CURR,190,5,25,10
+ PUSHBUTTON "Prev",IDC_CHOOSE_PREV,165,5,25,10
+END
+
+IDD_DESKTOP DIALOG DISCARDABLE 0, 0, 311, 201
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "XEmacs Setup"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Finish",IDOK,199,176,45,15
+ PUSHBUTTON "< Back",IDC_BACK,154,176,45,15
+ PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15
+ LTEXT "Setup has now finished. To create desktop shortcuts, please select from the following options.",
+ IDC_STATIC,112,11,170,17
+ LTEXT "To complete setup click Finish.",IDC_STATIC,112,32,166,
+ 17
+ CONTROL "Create Desktop Icon",IDC_ROOT_DESKTOP,"Button",
+ BS_AUTOCHECKBOX,113,50,100,8
+ CONTROL "Add to Start Menu",IDC_ROOT_MENU,"Button",
+ BS_AUTOCHECKBOX,113,66,100,8
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+ CONTROL "Text",IDC_TXT_TYPE,"Button",BS_AUTOCHECKBOX,209,101,38,
+ 8
+ CONTROL "Java",IDC_JAVA_TYPE,"Button",BS_AUTOCHECKBOX,113,100,50,
+ 8
+ CONTROL "C",IDC_C_TYPE,"Button",BS_AUTOCHECKBOX,113,116,41,8
+ CONTROL "C++",IDC_CPP_TYPE,"Button",BS_AUTOCHECKBOX,113,133,38,8
+ CONTROL "E-Lisp",IDC_ELISP_TYPE,"Button",BS_AUTOCHECKBOX,113,148,
+ 38,8
+ LTEXT "Register XEmacs for these file types:",IDC_STATIC,113,
+ 84,166,13
+ LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP
+ LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP
+ CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62
+ CONTROL "IDL",IDC_IDL_TYPE,"Button",BS_AUTOCHECKBOX,209,116,38,8
+END
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
+ "#include ""windows.h""\r\n"
+ "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_XEMACS ICON DISCARDABLE "xemacs.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// FILE
+//
+
+XEMACS.ICON FILE DISCARDABLE "xemacs.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ IDD_SOURCE, DIALOG
+ BEGIN
+ VERTGUIDE, 113
+ VERTGUIDE, 127
+ END
+
+ IDD_LOCAL_DIR, DIALOG
+ BEGIN
+ VERTGUIDE, 112
+ HORZGUIDE, 10
+ END
+
+ IDD_ROOT, DIALOG
+ BEGIN
+ VERTGUIDE, 112
+ HORZGUIDE, 103
+ HORZGUIDE, 118
+ END
+
+ IDD_SITE, DIALOG
+ BEGIN
+ HORZGUIDE, 11
+ HORZGUIDE, 161
+ END
+
+ IDD_NET, DIALOG
+ BEGIN
+ VERTGUIDE, 128
+ BOTTOMMARGIN, 191
+ HORZGUIDE, 153
+ END
+
+ IDD_INSTATUS, DIALOG
+ BEGIN
+ VERTGUIDE, 112
+ VERTGUIDE, 125
+ VERTGUIDE, 288
+ END
+
+ IDD_PROXY_AUTH, DIALOG
+ BEGIN
+ BOTTOMMARGIN, 49
+ END
+
+ IDD_NET_AUTH, DIALOG
+ BEGIN
+ BOTTOMMARGIN, 49
+ END
+
+ IDD_SPLASH, DIALOG
+ BEGIN
+ LEFTMARGIN, 10
+ RIGHTMARGIN, 301
+ TOPMARGIN, 10
+ BOTTOMMARGIN, 191
+ END
+
+ IDD_CHOOSE, DIALOG
+ BEGIN
+ BOTTOMMARGIN, 229
+ HORZGUIDE, 214
+ END
+
+ IDD_DESKTOP, DIALOG
+ BEGIN
+ VERTGUIDE, 113
+ VERTGUIDE, 209
+ HORZGUIDE, 124
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+SPIN BITMAP DISCARDABLE "choose-spin.bmp"
+IDB_SPIN BITMAP DISCARDABLE "choose-spin.bmp"
+IDB_RTARROW BITMAP DISCARDABLE "choose-rtarrow.bmp"
+IDB_CHECK_YES BITMAP DISCARDABLE "check-yes.bmp"
+IDB_CHECK_NO BITMAP DISCARDABLE "check-no.bmp"
+IDB_CHECK_NA BITMAP DISCARDABLE "check-na.bmp"
+GNU BITMAP DISCARDABLE "gnu.bmp"
+IDB_GNU BITMAP DISCARDABLE "gnu.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_ROOT_SLASH "Warning: we recommend you do NOT use the root of your hard drive as the XEmacs root. Proceed anyway?"
+ IDS_ROOT_SPACE "You should not choose a root path that include spaces in directory names. Proceed anyway?"
+ IDS_MIRROR_LST "http://www.xemacs.org/Download/mirrors.lst"
+ IDS_DIALOG_FAILED "Unable to create Dialog Box"
+ IDS_CYGWIN_FUNC_MISSING "Error: unable to find function `%s' in %s"
+ IDS_DOWNLOAD_SHORT "Download error: %s too short (%d, wanted %d)"
+ IDS_ERR_OPEN_WRITE "Can't open %s for writing: %s"
+ IDS_SETUPINI_MISSING "Unable to get setup.ini from %s"
+ IDS_OLD_SETUPINI "This setup.ini is older than the one you used last time you installed cygwin. Proceed anyway?"
+ IDS_ERR_RENAME "Can't rename %s to %s: %s"
+ IDS_NOTHING_INSTALLED "Nothing needed to be installed"
+ IDS_INSTALL_COMPLETE "Installation Complete"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_ERR_OPEN_READ "Can't open %s for reading: %s"
+ IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin"
+ IDS_DOWNLOAD_COMPLETE "Download Complete"
+ IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.2 2002/08/20 11:36:07 stephent Exp $\n"
+ IDS_NOLOGFILE "Cannot open log file %s for writing"
+ IDS_UNINSTALL_COMPLETE "Uninstalls complete."
+ IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs"
+ IDS_ERR_CHDIR "Could not change dir to %s"
+ IDS_OLD_SETUP_VERSION "This setup is version %s, but setup.ini claims version %s is available.\nYou might want to upgrade to get the latest features and bug fixes."
+ IDS_DOWNLOAD_FAILED "Unable to download %s"
+ IDS_DOWNLOAD_INCOMPLETE "Download Incomplete. Try again?"
+ IDS_INSTALL_INCOMPLETE "Installation incomplete. Check /setup.log.full for details"
+ IDS_ROOT_NOCYGWIN "You should not install the Cygwin version without Cygwin installed. Proceed anyway?"
+ IDS_CREATE_DIR "The directory %s does not exist, create it?"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
-//{{NO_DEPENDENCIES}}\r
-// Microsoft Developer Studio generated include file.\r
-// Used by res.rc\r
-//\r
-#define IDS_ROOT_SLASH 1\r
-#define IDS_ROOT_SPACE 2\r
-#define IDS_CWD_NONEMPTY 3\r
-#define IDS_MIRROR_LST 6\r
-#define IDS_DIALOG_FAILED 7\r
-#define IDS_CYGWIN_FUNC_MISSING 8\r
-#define IDS_DOWNLOAD_SHORT 9\r
-#define IDS_ERR_OPEN_WRITE 10\r
-#define IDS_SETUPINI_MISSING 11\r
-#define IDS_OLD_SETUPINI 12\r
-#define IDS_ERR_RENAME 13\r
-#define IDS_NOTHING_INSTALLED 14\r
-#define IDS_INSTALL_COMPLETE 15\r
-#define IDS_ERR_OPEN_READ 16\r
-#define IDS_ROOT_ABSOLUTE 17\r
-#define IDS_DOWNLOAD_COMPLETE 18\r
-#define IDS_CVSID 19\r
-#define IDS_NOLOGFILE 20\r
-#define IDS_UNINSTALL_COMPLETE 21\r
-#define IDS_WININET 22\r
-#define IDS_ERR_CHDIR 23\r
-#define IDS_OLD_SETUP_VERSION 24\r
-#define IDS_DOWNLOAD_FAILED 25\r
-#define IDS_DOWNLOAD_INCOMPLETE 26\r
-#define IDS_INSTALL_INCOMPLETE 27\r
-#define IDS_ROOT_NOCYGWIN 28\r
-#define IDS_CREATE_DIR 29\r
-#define IDD_ROOT 101\r
-#define IDD_SOURCE 102\r
-#define IDD_OTHER_URL 103\r
-#define IDD_SITE 104\r
-#define IDD_NET 105\r
-#define IDD_DLSTATUS 106\r
-#define IDD_S_LOAD_INI 107\r
-#define IDD_S_FROM_CWD 108\r
-#define IDD_CHOOSE 109\r
-#define IDD_S_DOWNLOAD 110\r
-#define IDD_S_INSTALL 111\r
-#define IDD_INSTATUS 112\r
-#define IDD_DESKTOP 113\r
-#define IDD_PROXY_AUTH 114\r
-#define IDD_S_POSTINSTALL 115\r
-#define IDD_NET_AUTH 116\r
-#define IDD_SPLASH 117\r
-#define IDB_SPIN 118\r
-#define IDB_RTARROW 119\r
-#define IDI_SPIN 120\r
-#define IDI_XEMACS 121\r
-#define IDD_LOCAL_DIR 122\r
-#define IDB_CHECK_YES 123\r
-#define IDB_CHECK_NO 124\r
-#define IDB_CHECK_NA 125\r
-#define IDB_GNU 126\r
-#define IDD_UNINSTALL 127\r
-#define IDC_SOURCE_DOWNLOAD 1000\r
-#define IDC_SOURCE_NETINST 1001\r
-#define IDC_SOURCE_CWD 1002\r
-#define IDC_ROOT_DIR 1003\r
-#define IDC_ROOT_BROWSE 1004\r
-#define IDC_ROOT_TEXT 1005\r
-#define IDC_ROOT_BINARY 1006\r
-#define IDC_URL_LIST 1007\r
-#define IDC_SITE_NEXT 1008\r
-#define IDC_BACK 1009\r
-#define IDC_OTHER_URL 1010\r
-#define IDC_NET_IE5 1011\r
-#define IDC_NET_DIRECT 1012\r
-#define IDC_NET_PROXY 1013\r
-#define IDC_PROXY_HOST 1014\r
-#define IDC_PROXY_PORT 1015\r
-#define IDC_PROXY_USER 1016\r
-#define IDC_DLS_PROGRESS 1019\r
-#define IDC_DLS_URL 1020\r
-#define IDC_DLS_RATE 1021\r
-#define IDC_INS_PKG 1022\r
-#define IDC_INS_FILE 1023\r
-#define IDC_INS_DISKFULL 1024\r
-#define IDC_INS_IPROGRESS 1025\r
-#define IDC_INS_PPROGRESS 1026\r
-#define IDC_ROOT_SYSTEM 1028\r
-#define IDC_ROOT_USER 1029\r
-#define IDC_NET_USER 1030\r
-#define IDC_NET_PASSWD 1031\r
-#define IDC_VERSION 1033\r
-#define IDC_LISTVIEW_POS 1034\r
-#define IDC_CHOOSE_FULLPART 1035\r
-#define IDC_CHOOSE_EXP 1036\r
-#define IDC_CHOOSE_CURR 1037\r
-#define IDC_CHOOSE_PREV 1038\r
-#define IDC_CHOOSE_LIST 1039\r
-#define IDC_INS_ACTION 1040\r
-#define IDC_ROOT_DESKTOP 1041\r
-#define IDC_ROOT_MENU 1042\r
-#define IDC_LOCAL_DIR_BROWSE 1043\r
-#define IDC_TXT_TYPE 1043\r
-#define IDC_LOCAL_DIR 1044\r
-#define IDC_JAVA_TYPE 1044\r
-#define IDC_INSTALL_NATIVE 1045\r
-#define IDC_C_TYPE 1045\r
-#define IDC_INSTALL_CYGWIN 1046\r
-#define IDC_CPP_TYPE 1046\r
-#define IDC_UNINS_PKG 1047\r
-#define IDC_ELISP_TYPE 1047\r
-#define IDC_UNINS_FILE 1048\r
-#define IDC_IDL_TYPE 1048\r
-#define IDC_UNINS_DISKFULL 1049\r
-#define IDC_UNINS_IPROGRESS 1050\r
-#define IDC_UNINS_PPROGRESS 1051\r
-#define IDC_UNINS_ACTION 1052\r
-#define IDC_STATIC -1\r
-\r
-// Next default values for new objects\r
-// \r
-#ifdef APSTUDIO_INVOKED\r
-#ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NO_MFC 1\r
-#define _APS_3D_CONTROLS 1\r
-#define _APS_NEXT_RESOURCE_VALUE 127\r
-#define _APS_NEXT_COMMAND_VALUE 40003\r
-#define _APS_NEXT_CONTROL_VALUE 1050\r
-#define _APS_NEXT_SYMED_VALUE 101\r
-#endif\r
-#endif\r
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by res.rc
+//
+#define IDS_ROOT_SLASH 1
+#define IDS_ROOT_SPACE 2
+#define IDS_CWD_NONEMPTY 3
+#define IDS_MIRROR_LST 6
+#define IDS_DIALOG_FAILED 7
+#define IDS_CYGWIN_FUNC_MISSING 8
+#define IDS_DOWNLOAD_SHORT 9
+#define IDS_ERR_OPEN_WRITE 10
+#define IDS_SETUPINI_MISSING 11
+#define IDS_OLD_SETUPINI 12
+#define IDS_ERR_RENAME 13
+#define IDS_NOTHING_INSTALLED 14
+#define IDS_INSTALL_COMPLETE 15
+#define IDS_ERR_OPEN_READ 16
+#define IDS_ROOT_ABSOLUTE 17
+#define IDS_DOWNLOAD_COMPLETE 18
+#define IDS_CVSID 19
+#define IDS_NOLOGFILE 20
+#define IDS_UNINSTALL_COMPLETE 21
+#define IDS_WININET 22
+#define IDS_ERR_CHDIR 23
+#define IDS_OLD_SETUP_VERSION 24
+#define IDS_DOWNLOAD_FAILED 25
+#define IDS_DOWNLOAD_INCOMPLETE 26
+#define IDS_INSTALL_INCOMPLETE 27
+#define IDS_ROOT_NOCYGWIN 28
+#define IDS_CREATE_DIR 29
+#define IDD_ROOT 101
+#define IDD_SOURCE 102
+#define IDD_OTHER_URL 103
+#define IDD_SITE 104
+#define IDD_NET 105
+#define IDD_DLSTATUS 106
+#define IDD_S_LOAD_INI 107
+#define IDD_S_FROM_CWD 108
+#define IDD_CHOOSE 109
+#define IDD_S_DOWNLOAD 110
+#define IDD_S_INSTALL 111
+#define IDD_INSTATUS 112
+#define IDD_DESKTOP 113
+#define IDD_PROXY_AUTH 114
+#define IDD_S_POSTINSTALL 115
+#define IDD_NET_AUTH 116
+#define IDD_SPLASH 117
+#define IDB_SPIN 118
+#define IDB_RTARROW 119
+#define IDI_SPIN 120
+#define IDI_XEMACS 121
+#define IDD_LOCAL_DIR 122
+#define IDB_CHECK_YES 123
+#define IDB_CHECK_NO 124
+#define IDB_CHECK_NA 125
+#define IDB_GNU 126
+#define IDD_UNINSTALL 127
+#define IDC_SOURCE_DOWNLOAD 1000
+#define IDC_SOURCE_NETINST 1001
+#define IDC_SOURCE_CWD 1002
+#define IDC_ROOT_DIR 1003
+#define IDC_ROOT_BROWSE 1004
+#define IDC_ROOT_TEXT 1005
+#define IDC_ROOT_BINARY 1006
+#define IDC_URL_LIST 1007
+#define IDC_SITE_NEXT 1008
+#define IDC_BACK 1009
+#define IDC_OTHER_URL 1010
+#define IDC_NET_IE5 1011
+#define IDC_NET_DIRECT 1012
+#define IDC_NET_PROXY 1013
+#define IDC_PROXY_HOST 1014
+#define IDC_PROXY_PORT 1015
+#define IDC_PROXY_USER 1016
+#define IDC_DLS_PROGRESS 1019
+#define IDC_DLS_URL 1020
+#define IDC_DLS_RATE 1021
+#define IDC_INS_PKG 1022
+#define IDC_INS_FILE 1023
+#define IDC_INS_DISKFULL 1024
+#define IDC_INS_IPROGRESS 1025
+#define IDC_INS_PPROGRESS 1026
+#define IDC_ROOT_SYSTEM 1028
+#define IDC_ROOT_USER 1029
+#define IDC_NET_USER 1030
+#define IDC_NET_PASSWD 1031
+#define IDC_VERSION 1033
+#define IDC_LISTVIEW_POS 1034
+#define IDC_CHOOSE_FULLPART 1035
+#define IDC_CHOOSE_EXP 1036
+#define IDC_CHOOSE_CURR 1037
+#define IDC_CHOOSE_PREV 1038
+#define IDC_CHOOSE_LIST 1039
+#define IDC_INS_ACTION 1040
+#define IDC_ROOT_DESKTOP 1041
+#define IDC_ROOT_MENU 1042
+#define IDC_LOCAL_DIR_BROWSE 1043
+#define IDC_TXT_TYPE 1043
+#define IDC_LOCAL_DIR 1044
+#define IDC_JAVA_TYPE 1044
+#define IDC_INSTALL_NATIVE 1045
+#define IDC_C_TYPE 1045
+#define IDC_INSTALL_CYGWIN 1046
+#define IDC_CPP_TYPE 1046
+#define IDC_UNINS_PKG 1047
+#define IDC_ELISP_TYPE 1047
+#define IDC_UNINS_FILE 1048
+#define IDC_IDL_TYPE 1048
+#define IDC_UNINS_DISKFULL 1049
+#define IDC_UNINS_IPROGRESS 1050
+#define IDC_UNINS_PPROGRESS 1051
+#define IDC_UNINS_ACTION 1052
+#define IDC_STATIC -1
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NO_MFC 1
+#define _APS_3D_CONTROLS 1
+#define _APS_NEXT_RESOURCE_VALUE 127
+#define _APS_NEXT_COMMAND_VALUE 40003
+#define _APS_NEXT_CONTROL_VALUE 1050
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2005-01-29 Ben Wing <ben@xemacs.org>
+
+ * xemacs.mak:
+ * xemacs.mak (USE_PORTABLE_DUMPER):
+ Enable portable dumper just in case it's not specified in config.inc.
+
+ * xemacs.mak:
+ * xemacs.mak (INCLUDES):
+ Put our own directories first in case of conflict (e.g. config.h
+ in compface).
+
+ * xemacs.mak ($(BLDLIB_SRC)/minitar.exe):
+ * xemacs.mak (LIB_SRC_TOOLS):
+ Use MSVCRT to avoid link problems.
+
+ * xemacs.mak ({$(MANDIR)}.texi{$(INFODIR)}.info):
+ Use filename only when calling makeinfo, or it chokes on index
+ generation.
+
+2005-01-28 Ben Wing <ben@xemacs.org>
+
+ * config.inc.samp:
+ * config.inc.samp (PNG_DIR):
+ * config.inc.samp (MAKEINFO):
+ Update directory locations to correspond to current optional-libs.exe
+ and Cygwin makeinfo. Update GTK comment. Enable TIFF and COMPFACE
+ since we can now compile with them.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
-(String) "Emacs.modeline*attributeForeground: Black",\r
-(String) "Emacs.modeline*attributeBackground: Gray75",\r
-(String) "Emacs.text-cursor*attributeBackground: Red3",\r
-(String) "*menubar*Foreground: Gray30",\r
-(String) "*menubar*Background: Gray75",\r
-(String) "*menubar*buttonForeground: Blue",\r
-(String) "*XlwMenu*selectColor: ForestGreen",\r
-(String) "*XmToggleButton*selectColor: ForestGreen",\r
-(String) "*popup*Foreground: Black",\r
-(String) "*popup*Background: Gray75",\r
-(String) "*dialog*Foreground: Black",\r
-(String) "*dialog*Background: #A5C0C1",\r
-(String) "*dialog*XmTextField*Background: WhiteSmoke",\r
-(String) "*dialog*XmText*Background: WhiteSmoke",\r
-(String) "*dialog*XmList*Background: WhiteSmoke",\r
-(String) "*dialog*Command*Background: WhiteSmoke",\r
-(String) "*XlwScrollBar*Foreground: Gray30",\r
-(String) "*XlwScrollBar*Background: Gray75",\r
-(String) "*XmScrollBar*Foreground: Gray30",\r
-(String) "*XmScrollBar*Background: Gray75",\r
-(String) "*topToolBarShadowColor: Gray90",\r
-(String) "*bottomToolBarShadowColor: Gray40",\r
-(String) "*backgroundToolBarColor: Gray75",\r
-(String) "*toolBarShadowThickness: 2",\r
-(String) "*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",\r
-(String) "*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",\r
-(String) "*XmDialogShell*FontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",\r
-(String) "*XmTextField*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",\r
-(String) "*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",\r
-(String) "*XmList*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",\r
-(String) "*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*",\r
-(String) "*dialog*button1.accelerators:#override\\r
-<KeyPress>Return: ArmAndActivate()\\n\\r
-<KeyPress>KP_Enter: ArmAndActivate()\\n\\r
-Ctrl<KeyPress>m: ArmAndActivate()\\n",\r
-(String) "*XmTextField*translations: #override\\n\\r
- !<Key>osfBackSpace: delete-previous-character()\\n\\r
- !<Key>osfDelete: delete-previous-character()\\n\\r
- !Ctrl<Key>h: delete-previous-character()\\n\\r
- !Ctrl<Key>d: delete-next-character()\\n\\r
- !Meta<Key>osfDelete: delete-previous-word()\\n\\r
- !Meta<Key>osfBackSpace: delete-previous-word()\\n\\r
- !Meta<Key>d: delete-next-word()\\n\\r
- !Ctrl<Key>k: delete-to-end-of-line()\\n\\r
- !Ctrl<Key>g: process-cancel()\\n\\r
- !Ctrl<Key>b: backward-character()\\n\\r
- !<Key>osfLeft: backward-character()\\n\\r
- !Ctrl<Key>f: forward-character()\\n\\r
- !<Key>osfRight: forward-character()\\n\\r
- !Meta<Key>b: backward-word()\\n\\r
- !Meta<Key>osfLeft: backward-word()\\n\\r
- !Meta<Key>f: forward-word()\\n\\r
- !Meta<Key>osfRight: forward-word()\\n\\r
- !Ctrl<Key>e: end-of-line()\\n\\r
- !Ctrl<Key>a: beginning-of-line()\\n\\r
- !Ctrl<Key>w: cut-clipboard()\\n\\r
- !Meta<Key>w: copy-clipboard()\\n\\r
- <Btn2Up>: copy-primary()\\n",\r
-(String) "*dialog*XmPushButton*translations:#override\\n\\r
- <Btn1Down>: Arm()\\n\\r
- <Btn1Down>,<Btn1Up>: Activate()\\r
- Disarm()\\n\\r
- <Btn1Down>(2+): MultiArm()\\n\\r
- <Btn1Up>(2+): MultiActivate()\\n\\r
- <Btn1Up>: Activate()\\r
- Disarm()\\n\\r
- <Key>osfSelect: ArmAndActivate()\\n\\r
- <Key>osfActivate: ArmAndActivate()\\n\\r
- <Key>osfHelp: Help()\\n\\r
- ~Shift ~Meta ~Alt <Key>Return: ArmAndActivate()\\n\\r
- <EnterWindow>: Enter()\\n\\r
- <LeaveWindow>: Leave()\\n",\r
-(String) "*ximStyles: XIMPreeditPosition|XIMStatusArea\\r
- XIMPreeditPosition|XIMStatusNothing\\r
- XIMPreeditPosition|XIMStatusNone\\r
- XIMPreeditNothing|XIMStatusArea\\r
- XIMPreeditNothing|XIMStatusNothing\\r
- XIMPreeditNothing|XIMStatusNone\\r
- XIMPreeditNone|XIMStatusArea\\r
- XIMPreeditNone|XIMStatusNothing\\r
- XIMPreeditNone|XIMStatusNone",\r
-(String) "*EmacsFrame.ximForeground: black",\r
-(String) "*EmacsFrame.ximBackground: white",\r
+(String) "Emacs.modeline*attributeForeground: Black",
+(String) "Emacs.modeline*attributeBackground: Gray75",
+(String) "Emacs.text-cursor*attributeBackground: Red3",
+(String) "*menubar*Foreground: Gray30",
+(String) "*menubar*Background: Gray75",
+(String) "*menubar*buttonForeground: Blue",
+(String) "*XlwMenu*selectColor: ForestGreen",
+(String) "*XmToggleButton*selectColor: ForestGreen",
+(String) "*popup*Foreground: Black",
+(String) "*popup*Background: Gray75",
+(String) "*dialog*Foreground: Black",
+(String) "*dialog*Background: #A5C0C1",
+(String) "*dialog*XmTextField*Background: WhiteSmoke",
+(String) "*dialog*XmText*Background: WhiteSmoke",
+(String) "*dialog*XmList*Background: WhiteSmoke",
+(String) "*dialog*Command*Background: WhiteSmoke",
+(String) "*XlwScrollBar*Foreground: Gray30",
+(String) "*XlwScrollBar*Background: Gray75",
+(String) "*XmScrollBar*Foreground: Gray30",
+(String) "*XmScrollBar*Background: Gray75",
+(String) "*topToolBarShadowColor: Gray90",
+(String) "*bottomToolBarShadowColor: Gray40",
+(String) "*backgroundToolBarColor: Gray75",
+(String) "*toolBarShadowThickness: 2",
+(String) "*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
+(String) "*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
+(String) "*XmDialogShell*FontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
+(String) "*XmTextField*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
+(String) "*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
+(String) "*XmList*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
+(String) "*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*",
+(String) "*dialog*button1.accelerators:#override\
+<KeyPress>Return: ArmAndActivate()\\n\
+<KeyPress>KP_Enter: ArmAndActivate()\\n\
+Ctrl<KeyPress>m: ArmAndActivate()\\n",
+(String) "*XmTextField*translations: #override\\n\
+ !<Key>osfBackSpace: delete-previous-character()\\n\
+ !<Key>osfDelete: delete-previous-character()\\n\
+ !Ctrl<Key>h: delete-previous-character()\\n\
+ !Ctrl<Key>d: delete-next-character()\\n\
+ !Meta<Key>osfDelete: delete-previous-word()\\n\
+ !Meta<Key>osfBackSpace: delete-previous-word()\\n\
+ !Meta<Key>d: delete-next-word()\\n\
+ !Ctrl<Key>k: delete-to-end-of-line()\\n\
+ !Ctrl<Key>g: process-cancel()\\n\
+ !Ctrl<Key>b: backward-character()\\n\
+ !<Key>osfLeft: backward-character()\\n\
+ !Ctrl<Key>f: forward-character()\\n\
+ !<Key>osfRight: forward-character()\\n\
+ !Meta<Key>b: backward-word()\\n\
+ !Meta<Key>osfLeft: backward-word()\\n\
+ !Meta<Key>f: forward-word()\\n\
+ !Meta<Key>osfRight: forward-word()\\n\
+ !Ctrl<Key>e: end-of-line()\\n\
+ !Ctrl<Key>a: beginning-of-line()\\n\
+ !Ctrl<Key>w: cut-clipboard()\\n\
+ !Meta<Key>w: copy-clipboard()\\n\
+ <Btn2Up>: copy-primary()\\n",
+(String) "*dialog*XmPushButton*translations:#override\\n\
+ <Btn1Down>: Arm()\\n\
+ <Btn1Down>,<Btn1Up>: Activate()\
+ Disarm()\\n\
+ <Btn1Down>(2+): MultiArm()\\n\
+ <Btn1Up>(2+): MultiActivate()\\n\
+ <Btn1Up>: Activate()\
+ Disarm()\\n\
+ <Key>osfSelect: ArmAndActivate()\\n\
+ <Key>osfActivate: ArmAndActivate()\\n\
+ <Key>osfHelp: Help()\\n\
+ ~Shift ~Meta ~Alt <Key>Return: ArmAndActivate()\\n\
+ <EnterWindow>: Enter()\\n\
+ <LeaveWindow>: Leave()\\n",
+(String) "*ximStyles: XIMPreeditPosition|XIMStatusArea\
+ XIMPreeditPosition|XIMStatusNothing\
+ XIMPreeditPosition|XIMStatusNone\
+ XIMPreeditNothing|XIMStatusArea\
+ XIMPreeditNothing|XIMStatusNothing\
+ XIMPreeditNothing|XIMStatusNone\
+ XIMPreeditNone|XIMStatusArea\
+ XIMPreeditNone|XIMStatusNothing\
+ XIMPreeditNone|XIMStatusNone",
+(String) "*EmacsFrame.ximForeground: black",
+(String) "*EmacsFrame.ximBackground: white",
HAVE_X_WINDOWS=0
X11_DIR=
-# GTK support. Do NOT set this to 1; as of xemacs-21.2-b44
-# gtk-xemacs is not supported on MSWindows (mingw or msvc).
-# Yes, we know that gtk has been ported to native MSWindows
-# but XEmacs is not yet ready to use that port.
+# GTK support. Do NOT set this to 1; gtk-xemacs is not supported on
+# MSWindows (mingw or msvc). Yes, we know that gtk has been ported to
+# native MSWindows but XEmacs is not yet ready to use that port.
HAVE_GTK=0
GTK_DIR=
############################################################################
+# Compiled-in features: graphics formats #
+############################################################################
+
+# Directory under which the optional libraries are placed. To make your
+# life easy, just grab http://ftp.xemacs.org/aux/optional-libs.exe
+# (a self-installing .ZIP) and unzip them into an appropriate directory
+# (by default, c:\src). This gets you precompiled versions of all of
+# the libraries below.
+OPTIONAL_LIBRARY_DIR=c:\src
# Set this to enable XPM support (virtually mandatory), and specify
-# the directory containing xpm.
+# the directory containing xpm. Get the library from
+# http://ftp.xemacs.org/aux/xpm-3.4k.tar.gz.
HAVE_XPM=1
-XPM_DIR=c:\src\xpm-3.4k
+XPM_DIR=$(OPTIONAL_LIBRARY_DIR)\xpm-3.4k
-# Set this to enable GIF support.
+# Set this to enable GIF support (built-in).
HAVE_GIF=1
# Set this to enable PNG support (virtually mandatory), and specify
-# the directories containing png and zlib.
+# the directories containing png and zlib. Get the latest version from
+# ftp://ftp.uu.net/graphics/png/. NOTE: In order to compile libpng,
+# you will have to rename the zlib directory to just `zlib'. We don't
+# do that here so we can preserve the version number, like for the other
+# libraries.
HAVE_PNG=1
-PNG_DIR=c:\src\libpng-1.0.9
-ZLIB_DIR=c:\src\zlib
+PNG_DIR=$(OPTIONAL_LIBRARY_DIR)\libpng-1.2.8
+ZLIB_DIR=$(OPTIONAL_LIBRARY_DIR)\zlib-1.2.1
-# Set this to enable TIFF support, and specify the directory containing tiff.
-HAVE_TIFF=0
-TIFF_DIR=
-
-# Set this to enable JPEG support, and specify the directory containing jpeg.
+# Set this to enable JPEG support (useful, but not necessary), and specify
+# the directory containing jpeg. Get the latest version from
+# ftp://ftp.uu.net/graphics/jpeg/.
HAVE_JPEG=1
-JPEG_DIR=c:\src\jpeg-6b
+JPEG_DIR=$(OPTIONAL_LIBRARY_DIR)\jpeg-6b
+
+# Set this to enable TIFF support (not very important), and specify the
+# directory containing tiff. Get the latest version from
+# ftp://ftp.uu.net/graphics/tiff/.
+HAVE_TIFF=1
+TIFF_DIR=$(OPTIONAL_LIBRARY_DIR)\tiff-v3.5.7
-# Set this to enable XFace support, and specify the directory containing
-# compface.
-HAVE_XFACE=0
-COMPFACE_DIR=
+# Set this to enable XFace support (not very important), and specify the
+# directory containing compface. Get the library from
+# http://ftp.xemacs.org/aux/compface-1.5-1.tar.gz.
+HAVE_XFACE=1
+COMPFACE_DIR=$(OPTIONAL_LIBRARY_DIR)\compface-1.5.1
############################################################################
# Set this to specify the location of makeinfo. (If not set, XEmacs will
# attempt to use its built-in texinfo support when building info files.)
-MAKEINFO=c:\src\texinfo-4.0\makeinfo\makeinfo.exe
+MAKEINFO=c:\cygwin\bin\makeinfo.exe
############################################################################
-#Configuration variables\r
-\r
-#where the source is:\r
-\r
-source = r"X:\XEmacs-21"\r
-#where the installed distribution is:\r
-installed = r"C:\Program Files\XEmacs\xemacs-21.0-b62"\r
-\r
-#where the (built and installed) packages are\r
-packages = r"C:\Program Files\XEmacs\xemacs-packages"\r
-\r
-#where the package source is\r
-pkg_src = r"X:\xemacs-packages"\r
-\r
-#Subdirs relative to the base installation directory\r
-#Everything except packages goes here:\r
-dst = "XEmacs-21.0-b62"\r
-#packages go here:\r
-pkg_dst = "xemacs-packages"\r
-\r
-\r
+#Configuration variables
+
+#where the source is:
+
+source = r"X:\XEmacs-21"
+#where the installed distribution is:
+installed = r"C:\Program Files\XEmacs\xemacs-21.0-b62"
+
+#where the (built and installed) packages are
+packages = r"C:\Program Files\XEmacs\xemacs-packages"
+
+#where the package source is
+pkg_src = r"X:\xemacs-packages"
+
+#Subdirs relative to the base installation directory
+#Everything except packages goes here:
+dst = "XEmacs-21.0-b62"
+#packages go here:
+pkg_dst = "xemacs-packages"
+
+
-Document Type: DLG\r
-item: Custom Dialog\r
- Name=Display ReadMe\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Read Me File\r
- Title French=Fichier Lisez-moi\r
- Title German=Liesmich-Datei\r
- Title Portuguese=Ficheiro Leia-me\r
- Title Spanish=Archivo Léeme\r
- Title Italian=File Leggimi\r
- Title Danish=Vigtigt fil\r
- Title Dutch=Leesmij-bestand\r
- Title Norwegian=Informasjonsfil\r
- Title Swedish=Läs mig-fil\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=I &Agree >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Slet\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Editbox\r
- Rectangle=85 11 254 170\r
- Value=%TEMP%\%READMEFILE%\r
- Help Context=16711681\r
- Create Flags=01010000101000000000100000000100\r
- end\r
- end\r
-end\r
+Document Type: DLG
+item: Custom Dialog
+ Name=Display ReadMe
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Read Me File
+ Title French=Fichier Lisez-moi
+ Title German=Liesmich-Datei
+ Title Portuguese=Ficheiro Leia-me
+ Title Spanish=Archivo Léeme
+ Title Italian=File Leggimi
+ Title Danish=Vigtigt fil
+ Title Dutch=Leesmij-bestand
+ Title Norwegian=Informasjonsfil
+ Title Swedish=Läs mig-fil
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=I &Agree >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Slet
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Editbox
+ Rectangle=85 11 254 170
+ Value=%TEMP%\%READMEFILE%
+ Help Context=16711681
+ Create Flags=01010000101000000000100000000100
+ end
+ end
+end
-Document Type: DLG\r
-item: Custom Dialog\r
- Name=Select Components\r
- Display Variable=DISPLAY\r
- Flags=00000001\r
- item: Dialog\r
- Title=Select Components \r
- Title French=Sélectionner les éléments\r
- Title German=Komponenten auswählen\r
- Title Portuguese=Seleccionar Componentes\r
- Title Spanish=Seleccione los Componentes\r
- Title Italian=Seleziona Componenti\r
- Title Danish=Vælg komponenter\r
- Title Dutch=Selecteer onderdelen\r
- Title Norwegian=Velg komponenter\r
- Title Swedish=Välj komponenter\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=130 185 172 199\r
- Variable=DIRECTION\r
- Value=B\r
- Create Flags=01010000000000010000000000000000\r
- Text=< &Back\r
- Text French=<&Retour\r
- Text German=<&Zurück\r
- Text Portuguese=<&Retornar\r
- Text Spanish=<&Retroceder\r
- Text Italian=< &Indietro\r
- Text Danish=<&Tilbage\r
- Text Dutch=<&Terug\r
- Text Norwegian=<&Tilbake\r
- Text Swedish=< &Tillbaka\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Annuller\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=205 156 253 166\r
- Variable=COMPONENTS\r
- Value=MAINDIR\r
- Create Flags=01010000000000000000000000000010\r
- end\r
- item: Static\r
- Rectangle=205 148 253 157\r
- Variable=COMPONENTS\r
- Create Flags=01010000000000000000000000000010\r
- end\r
- item: Static\r
- Rectangle=95 147 184 158\r
- Create Flags=01010000000000000000000000000000\r
- Text=Disk Space Required:\r
- Text French=Espace disque requis\r
- Text German=Benötigter Festplattenspeicher:\r
- Text Portuguese=Espaço de disco necessário:\r
- Text Spanish=Espacio de Disco Requerido:\r
- Text Italian=Spazio su disco richiesto:\r
- Text Danish=Nødvendig diskplads:\r
- Text Dutch=Vereiste hoeveelheid schijfruimte\r
- Text Norwegian=Diskplass nødvendig:\r
- Text Swedish=Erforderligt diskutrymme\r
- end\r
- item: Static\r
- Rectangle=95 157 190 167\r
- Create Flags=01010000000000000000000000000000\r
- Text=Disk Space Remaining:\r
- Text French=Espace disque disponible\r
- Text German=Verbleibender Festplattenspeicher:\r
- Text Portuguese=Espaço de disco restante:\r
- Text Spanish=Espacio de Disco Remanente:\r
- Text Italian=Spazio su disco rimanente:\r
- Text Danish=Ledig diskplads:\r
- Text Dutch=Resterende schijfruimte\r
- Text Norwegian=Ledig diskplass:\r
- Text Swedish=Återstående diskutrymme\r
- end\r
- item: Static\r
- Rectangle=90 138 264 168\r
- Action=1\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=90 8 260 41\r
- Create Flags=01010000000000000000000000000000\r
- Text=In the options list below, select the checkboxes for the options that you would like to have installed. The disk space fields reflect the requirements of the options you have selected.\r
- Text French=Dans la liste d'options suivante, veuillez sélectionner les cases des options que vous désirez installer. Le champ d'espace disque indique les conditions requises pour les options choisies\r
- Text German=Wählen Sie in der Optionenliste unten die Kontrollkästchen für diejenigen Optionen, die Sie installieren möchten. Die Speicherfelder zeigen die benötigte Speicherkapazität für die gewählten Optionen an.\r
- Text Portuguese=Na lista de opções abaixo, seleccione as caixas de verificação para as opções que gostaria de ter instalado. Os campos de espaço de disco reflectem os requerimentos das opções que seleccionou.\r
- Text Spanish=En la lista de opciones que se ofrece a continuación, seleccione las casillas de comprobación para las opciones que desea instalar. Los campos del espacio en el disco reflejan los requerimientos de las opciones que ha seleccionado.\r
- Text Italian=Nell\92elenco delle opzioni sotto, marca le caselle di controllo delle opzioni che vuoi installare. I campi dello spazio sul disco riflettono i requisiti delle opzioni selezionate.\r
- Text Danish=Marker afkrydsningsfelterne for de komponenter, der skal installeres, på listen herunder. Diskpladsfelterne angiver pladskravene for de valgte komponenter.\r
- Text Dutch=Kruis in de onderstaande lijst het vakje aan naast de opties die u wilt installeren. Achter elke optie staat de benodigde schijfruimte vermeld.\r
- Text Norwegian=I listen over alternativer nedenfor, klikk i kontrollrutene for de alternativene du ønsker å installere. Diskplassfeltene gjenspeiler kravene for de alternativene du har valgt.\r
- Text Swedish=Kryssa för i rutorna nedan vilka alternativ du vill få installerade. I diskutrymmesfälten anges utrymmesbehoven för de alternativ du väljer.\r
- end\r
- item: Checkbox\r
- Rectangle=91 41 126 56\r
- Variable=COMPONENTS LIBS\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000010000000000000011\r
- Flags=0000000000000010\r
- Text=Libraries\r
- Text=\r
- end\r
- item: Checkbox\r
- Rectangle=90 56 148 71\r
- Variable=COMPONENTS COMM\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000010000000000000011\r
- Flags=0000000000000010\r
- Text=Communications\r
- Text=\r
- end\r
- end\r
- item: Dialog\r
- Title=Library Packages\r
- Width=268\r
- Height=204\r
- Font Name=Helv\r
- Font Size=8\r
- end\r
- item: Dialog\r
- Title=Library Packages\r
- Width=268\r
- Height=204\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=219 170 254 185\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000010000000000000000\r
- Text=OK\r
- end\r
- end\r
-end\r
+Document Type: DLG
+item: Custom Dialog
+ Name=Select Components
+ Display Variable=DISPLAY
+ Flags=00000001
+ item: Dialog
+ Title=Select Components
+ Title French=Sélectionner les éléments
+ Title German=Komponenten auswählen
+ Title Portuguese=Seleccionar Componentes
+ Title Spanish=Seleccione los Componentes
+ Title Italian=Seleziona Componenti
+ Title Danish=Vælg komponenter
+ Title Dutch=Selecteer onderdelen
+ Title Norwegian=Velg komponenter
+ Title Swedish=Välj komponenter
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=130 185 172 199
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=<&Retour
+ Text German=<&Zurück
+ Text Portuguese=<&Retornar
+ Text Spanish=<&Retroceder
+ Text Italian=< &Indietro
+ Text Danish=<&Tilbage
+ Text Dutch=<&Terug
+ Text Norwegian=<&Tilbake
+ Text Swedish=< &Tillbaka
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=205 156 253 166
+ Variable=COMPONENTS
+ Value=MAINDIR
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=205 148 253 157
+ Variable=COMPONENTS
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=95 147 184 158
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Required:
+ Text French=Espace disque requis
+ Text German=Benötigter Festplattenspeicher:
+ Text Portuguese=Espaço de disco necessário:
+ Text Spanish=Espacio de Disco Requerido:
+ Text Italian=Spazio su disco richiesto:
+ Text Danish=Nødvendig diskplads:
+ Text Dutch=Vereiste hoeveelheid schijfruimte
+ Text Norwegian=Diskplass nødvendig:
+ Text Swedish=Erforderligt diskutrymme
+ end
+ item: Static
+ Rectangle=95 157 190 167
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Remaining:
+ Text French=Espace disque disponible
+ Text German=Verbleibender Festplattenspeicher:
+ Text Portuguese=Espaço de disco restante:
+ Text Spanish=Espacio de Disco Remanente:
+ Text Italian=Spazio su disco rimanente:
+ Text Danish=Ledig diskplads:
+ Text Dutch=Resterende schijfruimte
+ Text Norwegian=Ledig diskplass:
+ Text Swedish=Återstående diskutrymme
+ end
+ item: Static
+ Rectangle=90 138 264 168
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=90 8 260 41
+ Create Flags=01010000000000000000000000000000
+ Text=In the options list below, select the checkboxes for the options that you would like to have installed. The disk space fields reflect the requirements of the options you have selected.
+ Text French=Dans la liste d'options suivante, veuillez sélectionner les cases des options que vous désirez installer. Le champ d'espace disque indique les conditions requises pour les options choisies
+ Text German=Wählen Sie in der Optionenliste unten die Kontrollkästchen für diejenigen Optionen, die Sie installieren möchten. Die Speicherfelder zeigen die benötigte Speicherkapazität für die gewählten Optionen an.
+ Text Portuguese=Na lista de opções abaixo, seleccione as caixas de verificação para as opções que gostaria de ter instalado. Os campos de espaço de disco reflectem os requerimentos das opções que seleccionou.
+ Text Spanish=En la lista de opciones que se ofrece a continuación, seleccione las casillas de comprobación para las opciones que desea instalar. Los campos del espacio en el disco reflejan los requerimientos de las opciones que ha seleccionado.
+ Text Italian=Nell\92elenco delle opzioni sotto, marca le caselle di controllo delle opzioni che vuoi installare. I campi dello spazio sul disco riflettono i requisiti delle opzioni selezionate.
+ Text Danish=Marker afkrydsningsfelterne for de komponenter, der skal installeres, på listen herunder. Diskpladsfelterne angiver pladskravene for de valgte komponenter.
+ Text Dutch=Kruis in de onderstaande lijst het vakje aan naast de opties die u wilt installeren. Achter elke optie staat de benodigde schijfruimte vermeld.
+ Text Norwegian=I listen over alternativer nedenfor, klikk i kontrollrutene for de alternativene du ønsker å installere. Diskplassfeltene gjenspeiler kravene for de alternativene du har valgt.
+ Text Swedish=Kryssa för i rutorna nedan vilka alternativ du vill få installerade. I diskutrymmesfälten anges utrymmesbehoven för de alternativ du väljer.
+ end
+ item: Checkbox
+ Rectangle=91 41 126 56
+ Variable=COMPONENTS LIBS
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000000011
+ Flags=0000000000000010
+ Text=Libraries
+ Text=
+ end
+ item: Checkbox
+ Rectangle=90 56 148 71
+ Variable=COMPONENTS COMM
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000000011
+ Flags=0000000000000010
+ Text=Communications
+ Text=
+ end
+ end
+ item: Dialog
+ Title=Library Packages
+ Width=268
+ Height=204
+ Font Name=Helv
+ Font Size=8
+ end
+ item: Dialog
+ Title=Library Packages
+ Width=268
+ Height=204
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=219 170 254 185
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000000000
+ Text=OK
+ end
+ end
+end
-import string\r
-import re\r
-import os\r
-import types\r
-\r
-infile=open("xemacs.tmpl","r")\r
-\r
-import version\r
-import dirs\r
-import filelist\r
-import packages\r
-\r
-def letter(package):\r
- index = packages.all.index(package)\r
- if index>29:\r
- raise "WISE error: too many components"\r
- return chr(ord("A")+index)\r
-\r
-def letters(package_list):\r
- ret = ""\r
- for p in package_list: \r
- ret = ret+letter(p)\r
- return ret\r
-\r
-def describe(package):\r
- if package in packages.descriptions.keys():\r
- return ": "+packages.descriptions[package]\r
- else: return ""\r
-\r
-def ifblock(var,val):\r
- return("item: If/While Statement\n Variable=%s\n Value=%s\n Flags=00001010\nend\n" % (var,val))\r
-\r
-def endblock():\r
- return("item: End Block\nend\n")\r
-\r
-def setvar(var,val):\r
- return("item: Set Variable\n Variable=%s\n Value=%s\n Flags=10000000\nend\n" % (string.upper(var), val))\r
-\r
-def default_letters_of_category(cat):\r
- val = ""\r
- for p in packages.default:\r
- if packages.category_of_package(p) == cat:\r
- val = val + packages.letter_of_package(p)\r
- return val\r
-\r
-def set_category_defaults():\r
- ret = ""\r
- for c in packages.category_names:\r
- ret = ret + setvar(c, default_letters_of_category(c))\r
- return ret\r
-\r
-def do_category(cat):\r
- ret = ifblock("COMPONENTS", packages.letter_of_category(cat))\r
- for pkg in packages.packages_of_category(cat):\r
- ret = ret + ifblock(string.upper(cat),packages.letter_of_package(pkg))\r
- for f in files_of_package(pkg):\r
- ret = ret+install_pkg_file(f)\r
- ret = ret + endblock()\r
- ret = ret + endblock()\r
- return ret\r
-\r
-def files_of_package(package):\r
- manifest_file = dirs.packages + "\\pkginfo\\MANIFEST." + package\r
- manifest = open(manifest_file,"r")\r
- lines = manifest.readlines()\r
- lines = map(lambda s:s[:-1], lines)\r
- lines = map(lambda s:string.replace(s,'/','\\'), lines)\r
- return lines\r
-\r
-def category_dialog(cat):\r
- npkg = len(packages.packages_of_category(cat))\r
- ret=""\r
- ret=ret+" item: Dialog\n Title="+packages.category_descriptions[cat]+" Packages\n"\r
- ret=ret+" Width=210\n"\r
- ret=ret+" Height=%d\n" % (45+npkg*10)\r
- ret=ret+" Font Name=Helv\n"\r
- ret=ret+" Font Size=8\n"\r
- ret=ret+" item: Push Button\n"\r
- ret=ret+" Rectangle=107 %d 147 %d\n" % (5+npkg*10+2, 5+npkg*10+17)\r
- ret=ret+" Create Flags=01010000000000010000000000000001\n"\r
- ret=ret+" Text=OK\n"\r
- ret=ret+" end\n"\r
- ret=ret+" item: Push Button\n"\r
- ret=ret+" Rectangle=153 %d 193 %d\n" % (5+npkg*10+2, 5+npkg*10+17)\r
- ret=ret+" Variable=%s\n" % string.upper(cat)\r
- ret=ret+" Value=%%%s_SAVE%%\n" % string.upper(cat)\r
- ret=ret+" Create Flags=01010000000000010000000000000000\n"\r
- ret=ret+" Flags=0000000000000001\n"\r
- ret=ret+" Text=Cancel\n"\r
- ret=ret+" end\n"\r
- ret=ret+" item: Checkbox\n"\r
- ret=ret+" Rectangle=0 5 191 %d\n" % (10*npkg)\r
- ret=ret+" Variable=%s\n"%string.upper(cat)\r
- ret=ret+" Create Flags=01010000000000010000000000000011\n"\r
- ret=ret+" Flags=0000000000000010\n"\r
- for pkg in packages.packages_of_category(cat):\r
- ret = ret+" Text=%s: %s\n"%( pkg, packages.package_descriptions[pkg])\r
- ret=ret+" Text=\n"\r
- ret=ret+" end\n"\r
- ret=ret+" end\n"\r
- return ret\r
-\r
-def src_path(src,name):\r
- return src + "\\" + name\r
-\r
-def dst_path(dst,name):\r
- return "%MAINDIR%"+"\\"+dst+"\\" + name\r
-\r
-def install_file(name,src,dst):\r
- return("item: Install File\n Source=%s\n Destination=%s\n Flags=0000000010000010\nend\n" % (src_path(src,name),dst_path(dst,name)))\r
-\r
-def install_pkg_file(name):\r
- return install_file(name,dirs.packages,dirs.pkg_dst)\r
-\r
-def do_package(package):\r
- return ifblock("COMPONENTS",letter(package)) + \\r
- string.join(map(install_pkg_file,files(package)),"")+ \\r
- endblock()\r
-\r
-for line in infile.readlines():\r
- left=string.find(line,"<<<")\r
- if left>=0:\r
- right=string.find(line,">>>")\r
- expr=line[left+3:right]\r
- val=eval(expr)\r
- if type(val)==types.StringType:\r
- print line[:left] + val + line[right+3:],\r
- elif type(val)==types.ListType:\r
- for v in val:\r
- print line[:left] + v + line[right+3:],\r
- else: print line,\r
-\r
-\r
+import string
+import re
+import os
+import types
+
+infile=open("xemacs.tmpl","r")
+
+import version
+import dirs
+import filelist
+import packages
+
+def letter(package):
+ index = packages.all.index(package)
+ if index>29:
+ raise "WISE error: too many components"
+ return chr(ord("A")+index)
+
+def letters(package_list):
+ ret = ""
+ for p in package_list:
+ ret = ret+letter(p)
+ return ret
+
+def describe(package):
+ if package in packages.descriptions.keys():
+ return ": "+packages.descriptions[package]
+ else: return ""
+
+def ifblock(var,val):
+ return("item: If/While Statement\n Variable=%s\n Value=%s\n Flags=00001010\nend\n" % (var,val))
+
+def endblock():
+ return("item: End Block\nend\n")
+
+def setvar(var,val):
+ return("item: Set Variable\n Variable=%s\n Value=%s\n Flags=10000000\nend\n" % (string.upper(var), val))
+
+def default_letters_of_category(cat):
+ val = ""
+ for p in packages.default:
+ if packages.category_of_package(p) == cat:
+ val = val + packages.letter_of_package(p)
+ return val
+
+def set_category_defaults():
+ ret = ""
+ for c in packages.category_names:
+ ret = ret + setvar(c, default_letters_of_category(c))
+ return ret
+
+def do_category(cat):
+ ret = ifblock("COMPONENTS", packages.letter_of_category(cat))
+ for pkg in packages.packages_of_category(cat):
+ ret = ret + ifblock(string.upper(cat),packages.letter_of_package(pkg))
+ for f in files_of_package(pkg):
+ ret = ret+install_pkg_file(f)
+ ret = ret + endblock()
+ ret = ret + endblock()
+ return ret
+
+def files_of_package(package):
+ manifest_file = dirs.packages + "\\pkginfo\\MANIFEST." + package
+ manifest = open(manifest_file,"r")
+ lines = manifest.readlines()
+ lines = map(lambda s:s[:-1], lines)
+ lines = map(lambda s:string.replace(s,'/','\\'), lines)
+ return lines
+
+def category_dialog(cat):
+ npkg = len(packages.packages_of_category(cat))
+ ret=""
+ ret=ret+" item: Dialog\n Title="+packages.category_descriptions[cat]+" Packages\n"
+ ret=ret+" Width=210\n"
+ ret=ret+" Height=%d\n" % (45+npkg*10)
+ ret=ret+" Font Name=Helv\n"
+ ret=ret+" Font Size=8\n"
+ ret=ret+" item: Push Button\n"
+ ret=ret+" Rectangle=107 %d 147 %d\n" % (5+npkg*10+2, 5+npkg*10+17)
+ ret=ret+" Create Flags=01010000000000010000000000000001\n"
+ ret=ret+" Text=OK\n"
+ ret=ret+" end\n"
+ ret=ret+" item: Push Button\n"
+ ret=ret+" Rectangle=153 %d 193 %d\n" % (5+npkg*10+2, 5+npkg*10+17)
+ ret=ret+" Variable=%s\n" % string.upper(cat)
+ ret=ret+" Value=%%%s_SAVE%%\n" % string.upper(cat)
+ ret=ret+" Create Flags=01010000000000010000000000000000\n"
+ ret=ret+" Flags=0000000000000001\n"
+ ret=ret+" Text=Cancel\n"
+ ret=ret+" end\n"
+ ret=ret+" item: Checkbox\n"
+ ret=ret+" Rectangle=0 5 191 %d\n" % (10*npkg)
+ ret=ret+" Variable=%s\n"%string.upper(cat)
+ ret=ret+" Create Flags=01010000000000010000000000000011\n"
+ ret=ret+" Flags=0000000000000010\n"
+ for pkg in packages.packages_of_category(cat):
+ ret = ret+" Text=%s: %s\n"%( pkg, packages.package_descriptions[pkg])
+ ret=ret+" Text=\n"
+ ret=ret+" end\n"
+ ret=ret+" end\n"
+ return ret
+
+def src_path(src,name):
+ return src + "\\" + name
+
+def dst_path(dst,name):
+ return "%MAINDIR%"+"\\"+dst+"\\" + name
+
+def install_file(name,src,dst):
+ return("item: Install File\n Source=%s\n Destination=%s\n Flags=0000000010000010\nend\n" % (src_path(src,name),dst_path(dst,name)))
+
+def install_pkg_file(name):
+ return install_file(name,dirs.packages,dirs.pkg_dst)
+
+def do_package(package):
+ return ifblock("COMPONENTS",letter(package)) + \
+ string.join(map(install_pkg_file,files(package)),"")+ \
+ endblock()
+
+for line in infile.readlines():
+ left=string.find(line,"<<<")
+ if left>=0:
+ right=string.find(line,">>>")
+ expr=line[left+3:right]
+ val=eval(expr)
+ if type(val)==types.StringType:
+ print line[:left] + val + line[right+3:],
+ elif type(val)==types.ListType:
+ for v in val:
+ print line[:left] + v + line[right+3:],
+ else: print line,
+
+
-Document Type: DLG\r
-item: Custom Dialog\r
- Name=type\r
- item: Dialog\r
- Title=type\r
- Width=238\r
- Height=208\r
- Font Name=Helv\r
- Font Size=8\r
- item: Radio Button\r
- Rectangle=5 5 40 20\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000010000000000001001\r
- Text=minimal\r
- Text=\r
- end\r
- item: Radio Button\r
- Rectangle=5 25 40 40\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000010000000000001001\r
- Text=custom\r
- Text=\r
- end\r
- item: Radio Button\r
- Rectangle=5 45 40 60\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000010000000000001001\r
- Text=full\r
- Text=\r
- end\r
- end\r
-end\r
+Document Type: DLG
+item: Custom Dialog
+ Name=type
+ item: Dialog
+ Title=type
+ Width=238
+ Height=208
+ Font Name=Helv
+ Font Size=8
+ item: Radio Button
+ Rectangle=5 5 40 20
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000001001
+ Text=minimal
+ Text=
+ end
+ item: Radio Button
+ Rectangle=5 25 40 40
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000001001
+ Text=custom
+ Text=
+ end
+ item: Radio Button
+ Rectangle=5 45 40 60
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000001001
+ Text=full
+ Text=
+ end
+ end
+end
-title="XEmacs 21.0b62 EXPERIMENTAL"\r
-welcome="Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly, especially on machines running Windows 95. Please read the file PROBLEMS in the xemacs installation directory. Send comments or bug reports to xemacs-nt@xemacs.org. For more info see http://www.xemacs.org"\r
-\r
+title="XEmacs 21.0b62 EXPERIMENTAL"
+welcome="Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly, especially on machines running Windows 95. Please read the file PROBLEMS in the xemacs installation directory. Send comments or bug reports to xemacs-nt@xemacs.org. For more info see http://www.xemacs.org"
+
-Document Type: DLG\r
-item: Custom Dialog\r
- Name=Welcome\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Welcome\r
- Title French=Bienvenue\r
- Title German=Willkommen\r
- Title Portuguese=Bem-vindo \r
- Title Spanish=Bienvenido\r
- Title Italian=Benvenuto\r
- Title Danish=Velkommen\r
- Title Dutch=Welkom\r
- Title Norwegian=Velkommen\r
- Title Swedish=Välkommen\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Annuller\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=91 22 245 118\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000000000000000000000\r
- Text=Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly. Send comments or bug reports to xemacs-nt@xemacs.org rather than one of the other XEmacs mailing lists. For more info see http://www.xemacs.org\r
- end\r
- end\r
-end\r
+Document Type: DLG
+item: Custom Dialog
+ Name=Welcome
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Welcome
+ Title French=Bienvenue
+ Title German=Willkommen
+ Title Portuguese=Bem-vindo
+ Title Spanish=Bienvenido
+ Title Italian=Benvenuto
+ Title Danish=Velkommen
+ Title Dutch=Welkom
+ Title Norwegian=Velkommen
+ Title Swedish=Välkommen
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=91 22 245 118
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly. Send comments or bug reports to xemacs-nt@xemacs.org rather than one of the other XEmacs mailing lists. For more info see http://www.xemacs.org
+ end
+ end
+end
-Document Type: WSE\r
-item: Global\r
- Version=7.0\r
- Title=<<<version.title + " Installation">>>\r
- Flags=00000100\r
- Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r
- Japanese Font Name=MS Gothic\r
- Japanese Font Size=10\r
- Progress Bar DLL=%_WISE_%\Progress\WIZ%_EXE_OS_TYPE_%.DLL\r
- Start Gradient=0 0 255\r
- End Gradient=0 0 0\r
- Windows Flags=00000100000000010010110000001000\r
- Log Pathname=%MAINDIR%\INSTALL.LOG\r
- Message Font=MS Sans Serif\r
- Font Size=8\r
- Disk Filename=SETUP\r
- Patch Flags=0000000000000001\r
- Patch Threshold=85\r
- Patch Memory=4000\r
- FTP Cluster Size=20\r
- Dialogs Version=6\r
- Variable Name1=_SYS_\r
- Variable Default1=C:\WINDOWS\SYSTEM\r
- Variable Flags1=00001000\r
- Variable Name2=_WISE_\r
- Variable Default2=C:\PROGRAM FILES\WISE INSTALLBUILDER\r
- Variable Flags2=00001000\r
-end\r
-item: Get Temporary Filename\r
- Variable=READMEFILE\r
-end\r
-item: Install File\r
- Source=<<<dirs.source>>>\nt\Wise\Copying.txt\r
- Destination=%TEMP%\%READMEFILE%\r
- Flags=0000000000100010\r
-end\r
-item: Open/Close INSTALL.LOG\r
- Flags=00000001\r
-end\r
-item: Check if File/Dir Exists\r
- Pathname=%SYS%\r
- Flags=10000100\r
-end\r
-item: Set Variable\r
- Variable=SYS\r
- Value=%WIN%\r
-end\r
-item: End Block\r
-end\r
-item: Set Variable\r
- Variable=APPTITLE\r
- Value=<<<version.title>>>\r
- Flags=10000000\r
-end\r
-item: Set Variable\r
- Variable=GROUP\r
- Value=XEmacs\r
- Flags=10000000\r
-end\r
-item: Set Variable\r
- Variable=DISABLED\r
- Value=!\r
-end\r
-item: Set Variable\r
- Variable=MAINDIR\r
- Value=XEmacs\r
- Flags=10000000\r
-end\r
-item: Check Configuration\r
- Flags=10111011\r
-end\r
-item: Get Registry Key Value\r
- Variable=COMMON\r
- Key=SOFTWARE\Microsoft\Windows\CurrentVersion\r
- Default=C:\Program Files\Common Files\r
- Value Name=CommonFilesDir\r
- Flags=00000100\r
-end\r
-item: Get Registry Key Value\r
- Variable=PROGRAM_FILES\r
- Key=SOFTWARE\Microsoft\Windows\CurrentVersion\r
- Default=C:\Program Files\r
- Value Name=ProgramFilesDir\r
- Flags=00000100\r
-end\r
-item: Set Variable\r
- Variable=MAINDIR\r
- Value=%PROGRAM_FILES%\%MAINDIR%\r
- Flags=00001100\r
-end\r
-item: Set Variable\r
- Variable=EXPLORER\r
- Value=1\r
-end\r
-item: Else Statement\r
-end\r
-item: Set Variable\r
- Variable=MAINDIR\r
- Value=C:\%MAINDIR%\r
- Flags=00001100\r
-end\r
-item: End Block\r
-end\r
-item: Set Variable\r
- Variable=BACKUP\r
- Value=%MAINDIR%\BACKUP\r
- Flags=10000000\r
-end\r
-item: Set Variable\r
- Variable=DOBACKUP\r
- Value=B\r
- Flags=10000000\r
-end\r
-item: Set Variable\r
- Variable=COMPONENTS\r
- Value=ACE\r
- Flags=10000000\r
-end\r
-<<<set_category_defaults()>>>\r
-item: Wizard Block\r
- Direction Variable=DIRECTION\r
- Display Variable=DISPLAY\r
- Bitmap Pathname=<<<dirs.source>>>\nt\Wise\gnu.bmp\r
- X Position=9\r
- Y Position=10\r
- Filler Color=8421440\r
- Dialog=Select Program Manager Group\r
- Dialog=Select Backup Directory\r
- Dialog=Display Registration Information\r
- Dialog=Get Registration Information\r
- Variable=EXPLORER\r
- Variable=DOBACKUP\r
- Variable=DOBRAND\r
- Variable=DOBRAND\r
- Value=1\r
- Value=A\r
- Value=1\r
- Value=1\r
- Compare=0\r
- Compare=1\r
- Compare=0\r
- Compare=1\r
- Flags=00000011\r
-end\r
-item: Custom Dialog Set\r
- Name=Welcome\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Welcome\r
- Title French=Bienvenue\r
- Title German=Willkommen\r
- Title Portuguese=Bem-vindo \r
- Title Spanish=Bienvenido\r
- Title Italian=Benvenuto\r
- Title Danish=Velkommen\r
- Title Dutch=Welkom\r
- Title Norwegian=Velkommen\r
- Title Swedish=Välkommen\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Annuller\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=91 22 245 118\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000000000000000000000\r
- Text=<<<version.welcome>>>\r
- end\r
- end\r
-end\r
-item: Custom Dialog Set\r
- Name=Display ReadMe\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Read Me File\r
- Title French=Fichier Lisez-moi\r
- Title German=Liesmich-Datei\r
- Title Portuguese=Ficheiro Leia-me\r
- Title Spanish=Archivo Léeme\r
- Title Italian=File Leggimi\r
- Title Danish=Vigtigt fil\r
- Title Dutch=Leesmij-bestand\r
- Title Norwegian=Informasjonsfil\r
- Title Swedish=Läs mig-fil\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=I &Agree >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Slet\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Editbox\r
- Rectangle=85 11 254 170\r
- Value=%TEMP%\%READMEFILE%\r
- Help Context=16711681\r
- Create Flags=01010000101000000000100000000100\r
- end\r
- end\r
-end\r
-item: Custom Dialog Set\r
- Name=Select Destination Directory\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Choose Destination Location\r
- Title French=Choisissez la localisation de destination\r
- Title German=Zielpfad wählen\r
- Title Portuguese=Escolher Local de Destino\r
- Title Spanish=Elegir una localización de destino\r
- Title Italian=Scegli Posizione di Destinazione\r
- Title Danish=Vælg destinationsmappe\r
- Title Dutch=Kies doellocatie\r
- Title Norwegian=Velg målplassering\r
- Title Swedish=Välj ställe för installationen\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=130 185 172 199\r
- Variable=DIRECTION\r
- Value=B\r
- Create Flags=01010000000000010000000000000000\r
- Flags=0000000000000001\r
- Text=< &Back\r
- Text French=<&Retour\r
- Text German=<&Zurück\r
- Text Portuguese=<&Retornar\r
- Text Spanish=<&Retroceder\r
- Text Italian=< &Indietro\r
- Text Danish=<&Tilbage\r
- Text Dutch=<&Terug\r
- Text Norwegian=<&Tilbake\r
- Text Swedish=< &Tillbaka\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Annuller\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=90 10 260 122\r
- Create Flags=01010000000000000000000000000000\r
- Text=Setup will install %APPTITLE% in the following folder.\r
- Text=\r
- Text=To install into a different folder, click Browse, and select another folder. \r
- Text=\r
- Text=You can choose not to install %APPTITLE% by clicking Cancel to exit Setup.\r
- Text French=%APPTITLE% va être installé dans le répertoire ci-dessous\r
- Text French=\r
- Text French=Pour l'installer dans un répertoire différent, cliquez sur Parcourir et sélectionnez un autre répertoire\r
- Text French=\r
- Text French=Vous pouvez choisir de ne pas installer %APPTITLE% en cliquant sur Annuler pour quitter l'Installation\r
- Text German=Installation speichert %APPTITLE% im unten angegebenen Ordner:\r
- Text German=\r
- Text German=Zur Installation in einem anderen Ordner auf Blättern klicken und einen anderen Ordner wählen.\r
- Text German=\r
- Text German=Wenn Sie %APPTITLE% nicht installieren möchten, können Sie durch Klicken auf Abbrechen die Installation beenden.\r
- Text Portuguese=Configuração instalará %APPTITLE% na seguinte pasta\r
- Text Portuguese=\r
- Text Portuguese=Para instalar numa pasta diferente, faça um clique sobre Procurar, e seleccione uma outra pasta.\r
- Text Portuguese=\r
- Text Portuguese=Pode escolher não instalar %APPTITLE% clicando no botão Cancelar para sair da Configuração\r
- Text Spanish=El programa de Configuración instalará %APPTITLE% en la siguiente carpeta.\r
- Text Spanish=\r
- Text Spanish=Para instalar en una carpeta diferente, haga un clic en Visualizar, y seleccione otra carpeta.\r
- Text Spanish=\r
- Text Spanish=Puede elegir no instalar %APPTITLE% haciendo un clic en Cancelar para salir de Configuración.\r
- Text Italian=Il programma di installazione installerà %APPTITLE% nella seguente cartella.\r
- Text Italian=\r
- Text Italian=Per effettuare l\92installazione in una cartella diversa, fai clic su Sfoglia, e scegli un\92altra cartella.\r
- Text Italian=\r
- Text Italian=Puoi scegliere di non installare %APPTITLE% facendo clic su Annulla per uscire dal programma di installazione\r
- Text Danish=Installationsprogrammet installerer %APPTITLE% i denne mappe.\r
- Text Danish=\r
- Text Danish=Man installerer i en anden mappe ved at klikke på Browse og vælge en anden mappe.\r
- Text Danish=\r
- Text Danish=Man kan vælge ikke at installere %APPTITLE% ved at klikke på Slet og forlade installationsprogrammet.\r
- Text Dutch=Het installatieprogramma installeert %APPTITLE% in de volgende directory.\r
- Text Dutch=\r
- Text Dutch=Als u het in een andere directory wilt installeren, klik dan op Bladeren en kies een andere locatie.\r
- Text Dutch=\r
- Text Dutch=U kunt ervoor kiezen om %APPTITLE% niet te installeren: klik op Annuleren om het installatieprogramma te verlaten.\r
- Text Norwegian=Oppsett vil installere %APPTITLE% i følgende mappe.\r
- Text Norwegian=\r
- Text Norwegian=For å installere i en annen mappe, klikk Bla igjennom og velg en annen mappe.\r
- Text Norwegian=\r
- Text Norwegian=Du kan velge å ikke installere %APPTITLE% ved å velge Avbryt for å gå ut av Oppsett.\r
- Text Swedish=Installationsprogrammet installerar %APPTITLE% i följande mapp.\r
- Text Swedish=\r
- Text Swedish=Om du vill att installationen ska göras i en annan mapp, klickar du på Bläddra och väljer en annan mapp.\r
- Text Swedish=\r
- Text Swedish=Du kan välja att inte installera %APPTITLE% genom att klicka på Avbryt för att lämna installationsprogrammet.\r
- end\r
- item: Static\r
- Rectangle=90 134 260 162\r
- Action=1\r
- Create Flags=01010000000000000000000000000111\r
- Text=Destination Folder\r
- Text French=Répertoire de destination\r
- Text German=Zielordner\r
- Text Portuguese=Pasta de Destino\r
- Text Spanish=Carpeta de Destino\r
- Text Italian=Cartella di destinazione\r
- Text Danish=Destinationsmappe\r
- Text Dutch=Doeldirectory\r
- Text Norwegian=Målmappe\r
- Text Swedish=Destinationsmapp\r
- end\r
- item: Push Button\r
- Rectangle=213 143 255 157\r
- Variable=MAINDIR_SAVE\r
- Value=%MAINDIR%\r
- Destination Dialog=1\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=B&rowse...\r
- Text French=P&arcourir\r
- Text German=B&lättern...\r
- Text Portuguese=P&rocurar\r
- Text Spanish=V&isualizar...\r
- Text Italian=Sfoglia...\r
- Text Danish=&Gennemse...\r
- Text Dutch=B&laderen...\r
- Text Norwegian=Bla igjennom\r
- Text Swedish=&Bläddra\r
- end\r
- item: Static\r
- Rectangle=95 146 211 157\r
- Destination Dialog=2\r
- Create Flags=01010000000000000000000000000000\r
- Text=%MAINDIR%\r
- Text French=%MAINDIR%\r
- Text German=%MAINDIR%\r
- Text Portuguese=%MAINDIR%\r
- Text Spanish=%MAINDIR%\r
- Text Italian=%MAINDIR%\r
- Text Danish=%MAINDIR%\r
- Text Dutch=%MAINDIR%\r
- Text Norwegian=%MAINDIR%\r
- Text Swedish=%MAINDIR%\r
- end\r
- end\r
- item: Dialog\r
- Title=Select Destination Directory\r
- Title French=Choisissez le répertoire de destination\r
- Title German=Zielverzeichnis wählen\r
- Title Portuguese=Seleccionar Directório de Destino\r
- Title Spanish=Seleccione el Directorio de Destino\r
- Title Italian=Seleziona Directory di destinazione\r
- Title Danish=Vælg Destinationsbibliotek\r
- Title Dutch=Kies doeldirectory\r
- Title Norwegian=Velg målkatalog\r
- Title Swedish=Välj destinationskalatog\r
- Width=221\r
- Height=173\r
- Font Name=Helv\r
- Font Size=8\r
- item: Listbox\r
- Rectangle=5 2 160 149\r
- Variable=MAINDIR\r
- Create Flags=01010000100000010000000101000000\r
- Flags=0000110000100010\r
- Text=%MAINDIR%\r
- Text French=%MAINDIR%\r
- Text German=%MAINDIR%\r
- Text Portuguese=%MAINDIR%\r
- Text Spanish=%MAINDIR%\r
- Text Italian=%MAINDIR%\r
- Text Danish=%MAINDIR%\r
- Text Dutch=%MAINDIR%\r
- Text Norwegian=%MAINDIR%\r
- Text Swedish=%MAINDIR%\r
- end\r
- item: Push Button\r
- Rectangle=167 6 212 21\r
- Create Flags=01010000000000010000000000000001\r
- Text=OK\r
- Text French=OK\r
- Text German=OK\r
- Text Portuguese=OK\r
- Text Spanish=ACEPTAR\r
- Text Italian=OK\r
- Text Danish=OK\r
- Text Dutch=OK\r
- Text Norwegian=OK\r
- Text Swedish=OK\r
- end\r
- item: Push Button\r
- Rectangle=167 25 212 40\r
- Variable=MAINDIR\r
- Value=%MAINDIR_SAVE%\r
- Create Flags=01010000000000010000000000000000\r
- Flags=0000000000000001\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen \r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Slet\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- end\r
-end\r
-item: Custom Dialog Set\r
- Name=Select Packages\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Select Packages\r
- Width=271\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=150 187 195 202\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suite >\r
- Text German=&Weiter >\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- end\r
- item: Push Button\r
- Rectangle=105 187 150 202\r
- Variable=DIRECTION\r
- Value=B\r
- Create Flags=01010000000000010000000000000000\r
- Text=< &Back\r
- Text French=< &Retour\r
- Text German=< &Zurück\r
- Text Spanish=< &Atrás\r
- Text Italian=< &Indietro\r
- end\r
- item: Push Button\r
- Rectangle=211 187 256 202\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=&Cancel\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Static\r
- Rectangle=8 180 256 181\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=86 8 258 28\r
- Create Flags=01010000000000000000000000000000\r
- Flags=0000000000000001\r
- Name=Times New Roman\r
- Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18\r
- Text=Select Packages\r
- Text French=Sélectionner les composants\r
- Text German=Komponenten auswählen\r
- Text Spanish=Seleccione componentes\r
- Text Italian=Selezionare i componenti\r
- end\r
- item: Checkbox\r
- Rectangle=83 62 211 146\r
- Variable=COMPONENTS LIBS,COMM,OA,OS,PROG,WP,GAMES\r
- Create Flags=01010000000000010000000000000011\r
- Flags=0000000000000110\r
- Text=Libraries\r
- Text=Communication\r
- Text=Productivity\r
- Text=Operating System\r
- Text=Programming\r
- Text=Word Processing\r
- Text=Games and Amusements\r
- Text=\r
- end\r
- item: Static\r
- Rectangle=194 162 242 172\r
- Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES\r
- Value=MAINDIR\r
- Create Flags=01010000000000000000000000000010\r
- end\r
- item: Static\r
- Rectangle=194 153 242 162\r
- Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES\r
- Create Flags=01010000000000000000000000000010\r
- end\r
- item: Static\r
- Rectangle=107 153 196 164\r
- Create Flags=01010000000000000000000000000000\r
- Text=Disk Space Required:\r
- Text French=Espace disque requis :\r
- Text German=Notwendiger Speicherplatz:\r
- Text Spanish=Espacio requerido en el disco:\r
- Text Italian=Spazio su disco necessario:\r
- end\r
- item: Static\r
- Rectangle=107 162 196 172\r
- Create Flags=01010000000000000000000000000000\r
- Text=Disk Space Remaining:\r
- Text French=Espace disque disponible :\r
- Text German=Verbleibender Speicherplatz:\r
- Text Spanish=Espacio en disco disponible:\r
- Text Italian=Spazio su disco disponibile:\r
- end\r
- item: Static\r
- Rectangle=80 146 256 175\r
- Action=1\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=83 30 256 57\r
- Create Flags=01010000000000000000000000000000\r
- Text=Choose which package categories to install by checking the boxes below. Press the Options buttons to select individual packages.\r
- Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous.\r
- Text German=Wählen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden Kästchen klicken.\r
- Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo.\r
- Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti.\r
- end\r
- item: Push Button\r
- Rectangle=230 62 254 72\r
- Variable=LIBS_SAVE\r
- Value=%LIBS%\r
- Destination Dialog=1\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Push Button\r
- Rectangle=230 74 254 84\r
- Variable=COMM_SAVE\r
- Value=%COMM%\r
- Destination Dialog=2\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Push Button\r
- Rectangle=230 86 254 96\r
- Variable=OA_SAVE\r
- Value=%OA%\r
- Destination Dialog=3\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Push Button\r
- Rectangle=230 98 254 108\r
- Variable=OS_SAVE\r
- Value=%OS%\r
- Destination Dialog=4\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Push Button\r
- Rectangle=230 110 254 120\r
- Variable=PROG_SAVE\r
- Value=%PROG%\r
- Destination Dialog=5\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Push Button\r
- Rectangle=230 122 254 132\r
- Variable=WP_SAVE\r
- Value=%WP%\r
- Destination Dialog=6\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Push Button\r
- Rectangle=230 134 254 144\r
- Variable=GAMES_SAVE\r
- Value=%GAMES%\r
- Destination Dialog=7\r
- Action=2\r
- Create Flags=01010000000000010000000000000000\r
- Text=Options\r
- Text French=&Annuler\r
- Text German=&Abbrechen\r
- Text Spanish=&Cancelar\r
- Text Italian=&Annulla\r
- end\r
- item: Set Variable\r
- Variable=COMPONENTS\r
- Value=X\r
- Flags=00000001\r
- end\r
- end\r
-<<<string.join(map(category_dialog,packages.category_names),"")>>>\r
-end\r
-item: Custom Dialog Set\r
- Name=Select Program Manager Group\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Select Program Manager Group\r
- Title French=Sélectionnez le Groupe du Gestionnaire de Programmes\r
- Title German=Programm-Managergruppe wählen\r
- Title Portuguese=Seleccionar o Grupo Gestor de Programas\r
- Title Spanish=Seleccione el Grupo del Administrador del Programa\r
- Title Italian=Seleziona il gruppo Program Manager\r
- Title Danish=Vælg Programstyringsgruppen\r
- Title Dutch=Kies Programmabeheergroep.\r
- Title Norwegian=Velg Programbehandlingsgruppen\r
- Title Swedish=Välj grupp i Programhanteraren\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=130 185 172 199\r
- Variable=DIRECTION\r
- Value=B\r
- Create Flags=01010000000000010000000000000000\r
- Flags=0000000000000001\r
- Text=< &Back\r
- Text French=<&Retour\r
- Text German=<&Zurück\r
- Text Portuguese=<&Retornar\r
- Text Spanish=<&Retroceder\r
- Text Italian=< &Indietro\r
- Text Danish=<&Back\r
- Text Dutch=<&Terug\r
- Text Norwegian=<&Tilbake\r
- Text Swedish=< &Tillbaka\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Slet\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=90 10 260 38\r
- Create Flags=01010000000000000000000000000000\r
- Text=Enter the name of the Program Manager group to add %APPTITLE% icons to:\r
- Text French=Entrez le nom du groupe du Gestionnaire de Programmes où placer les icônes %APPTITLE% à :\r
- Text German=Den Namen der Programm-Managergruppe wählen, in der die %APPTITLE%-Symbole gespeichert werden sollen:\r
- Text Portuguese=Introduzir o nome do Grupo Gestor de Programa para acrescentar os ícones %APPTITLE% para:\r
- Text Spanish=Introduzca el nombre del grupo del Administrador del Programa para añadir los iconos %APPTITLE para:\r
- Text Italian=Inserisci il nome del gruppo Program Manager per aggiungere le icone di %APPTITLE% a:\r
- Text Danish=Indtast navnet på Programstyringsgruppen der skal tilføjes %APPTITLE% elementer:\r
- Text Dutch=Breng de naam van de programmabeheergroep in waaraan u %APPTITLE%-pictogrammen wilt toevoegen.\r
- Text Norwegian=Tast inn navnet på programbehandlingsgruppen for å legge %APPTITLE%-ikoner til:\r
- Text Swedish=Skriv in namnet på den grupp i Programhanteraren där du vill ha ikonerna för %APPTITLE%:\r
- end\r
- item: Combobox\r
- Rectangle=90 42 260 148\r
- Variable=GROUP\r
- Create Flags=01010000001000010000001100000001\r
- Flags=0000000000000001\r
- Text=%GROUP%\r
- Text=\r
- Text French=%GROUP%\r
- Text French=\r
- Text German=%GROUP%\r
- Text German=\r
- Text Portuguese=%GROUP%\r
- Text Portuguese=\r
- Text Spanish=%GROUP%\r
- Text Spanish=\r
- Text Italian=%GROUP%\r
- Text Italian=\r
- Text Danish=%GROUP%\r
- Text Danish=\r
- Text Dutch=%GROUP%\r
- Text Dutch=\r
- Text Norwegian=%GROUP%\r
- Text Norwegian=\r
- Text Swedish=%GROUP%\r
- Text Swedish=\r
- end\r
- end\r
-end\r
-item: Custom Dialog Set\r
- Name=Start Installation\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Start Installation\r
- Title French=Commencer l'installation\r
- Title German=Installation beginnen\r
- Title Portuguese=Iniciar Instalação\r
- Title Spanish=Comenzar la Instalación\r
- Title Italian=Avvia Installazione\r
- Title Danish=Start installationen\r
- Title Dutch=Start de installatie.\r
- Title Norwegian=Start installeringen\r
- Title Swedish=Starta installationen\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=172 185 214 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Next >\r
- Text French=&Suivant>\r
- Text German=&Weiter>\r
- Text Portuguese=&Próximo>\r
- Text Spanish=&Siguiente >\r
- Text Italian=&Avanti >\r
- Text Danish=&Næste>\r
- Text Dutch=&Volgende>\r
- Text Norwegian=&Neste>\r
- Text Swedish=&Nästa >\r
- end\r
- item: Push Button\r
- Rectangle=130 185 172 199\r
- Variable=DIRECTION\r
- Value=B\r
- Create Flags=01010000000000010000000000000000\r
- Text=< &Back\r
- Text French=<&Retour\r
- Text German=<&Zurück\r
- Text Portuguese=<&Retornar\r
- Text Spanish=<&Retroceder\r
- Text Italian=< &Indietro\r
- Text Danish=<&Tilbage\r
- Text Dutch=<&Terug\r
- Text Norwegian=<&Tilbake\r
- Text Swedish=< &Tillbaka\r
- end\r
- item: Push Button\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Annuller\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=90 10 260 70\r
- Create Flags=01010000000000000000000000000000\r
- Text=You are now ready to install %APPTITLE%.\r
- Text=\r
- Text=Press the Next button to begin the installation or the Back button to reenter the installation information.\r
- Text French=Vous êtes maintenant prêt à installer %APPTITLE%\r
- Text French=\r
- Text French=Cliquez sur Suivant pour commencer l'installation ou Retour pour entrer à nouveau les informations d'installation\r
- Text German=Sie sind jetzt zur Installation von %APPTITLE% bereit.\r
- Text German=\r
- Text German=Auf die Schaltfläche Weiter klicken, um mit dem Start der Installation zu beginnen, oder auf die Schaltfläche Zurück, um die Installationsinformationen nochmals aufzurufen.\r
- Text Portuguese=Está agora pronto para instalar %APPTITLE%\r
- Text Portuguese=\r
- Text Portuguese=Pressione o botão Próximo para começar a instalação ou o botão Retornar para introduzir novamente a informação sobre a instalação\r
- Text Spanish=Ahora estará listo para instalar %APPTITLE%.\r
- Text Spanish=\r
- Text Spanish=Pulse el botón de Próximo para comenzar la instalación o el botón Retroceder para volver a introducir la información sobre la instalación.\r
- Text Italian=Sei pronto ad installare %APPTITLE%.\r
- Text Italian=\r
- Text Italian=Premi il tasto Avanti per iniziare l\92installazione o il tasto Indietro per rientrare nuovamente nei dati sull\92installazione\r
- Text Danish=Du er nu klar til at installere %APPTITLE%.\r
- Text Danish=\r
- Text Danish=Klik på Næste for at starte installationen eller på Tilbage for at ændre installationsoplysningerne.\r
- Text Dutch=U bent nu klaar om %APPTITLE% te installeren.\r
- Text Dutch=\r
- Text Dutch=Druk op Volgende om met de installatie te beginnen of op Terug om de installatie-informatie opnieuw in te voeren.\r
- Text Norwegian=Du er nå klar til å installere %APPTITLE%\r
- Text Norwegian=\r
- Text Norwegian=Trykk på Neste-tasten for å starte installeringen, eller Tilbake-tasten for å taste inn installasjonsinformasjonen på nytt.\r
- Text Swedish=Du är nu redo att installera %APPTITLE%.\r
- Text Swedish=\r
- Text Swedish=Tryck på Nästa för att starta installationen eller på Tillbaka för att skriva in installationsinformationen på nytt.\r
- end\r
- end\r
-end\r
-item: If/While Statement\r
- Variable=DISPLAY\r
- Value=Select Destination Directory\r
-end\r
-item: Set Variable\r
- Variable=BACKUP\r
- Value=%MAINDIR%\BACKUP\r
-end\r
-item: End Block\r
-end\r
-item: End Block\r
-end\r
-item: If/While Statement\r
- Variable=DOBACKUP\r
- Value=A\r
-end\r
-item: Set Variable\r
- Variable=BACKUPDIR\r
- Value=%BACKUP%\r
-end\r
-item: End Block\r
-end\r
-item: Open/Close INSTALL.LOG\r
-end\r
-item: Check Disk Space\r
- Component=COMPONENTS\r
-end\r
-item: Display Graphic\r
- Pathname=<<<dirs.source>>>\nt\Wise\xemacs-beta.bmp\r
- X Position=32784\r
- Y Position=16\r
-end\r
-item: Include Script\r
- Pathname=%_WISE_%\INCLUDE\uninstal.wse\r
-end\r
-<<<ifblock("COMPONENTS","X")>>>\r
-<<<string.join(map(lambda x:install_file(x[0],x[1],x[2]),filelist.all),"")>>>\r
-<<<endblock()>>>\r
-<<<map(do_category,packages.category_names)>>>\r
-item: Set Variable\r
- Variable=COMMON\r
- Value=%COMMON%\r
- Flags=00010100\r
-end\r
-item: Set Variable\r
- Variable=MAINDIR\r
- Value=%MAINDIR%\r
- Flags=00010100\r
-end\r
-item: Check Configuration\r
- Flags=10111011\r
-end\r
-item: Get Registry Key Value\r
- Variable=STARTUPDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%WIN%\Start Menu\Programs\StartUp\r
- Value Name=StartUp\r
- Flags=00000010\r
-end\r
-item: Get Registry Key Value\r
- Variable=DESKTOPDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%WIN%\Desktop\r
- Value Name=Desktop\r
- Flags=00000010\r
-end\r
-item: Get Registry Key Value\r
- Variable=STARTMENUDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%WIN%\Start Menu\r
- Value Name=Start Menu\r
- Flags=00000010\r
-end\r
-item: Get Registry Key Value\r
- Variable=GROUPDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%WIN%\Start Menu\Programs\r
- Value Name=Programs\r
- Flags=00000010\r
-end\r
-item: Get Registry Key Value\r
- Variable=CSTARTUPDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%STARTUPDIR%\r
- Value Name=Common Startup\r
- Flags=00000100\r
-end\r
-item: Get Registry Key Value\r
- Variable=CDESKTOPDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%DESKTOPDIR%\r
- Value Name=Common Desktop\r
- Flags=00000100\r
-end\r
-item: Get Registry Key Value\r
- Variable=CSTARTMENUDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%STARTMENUDIR%\r
- Value Name=Common Start Menu\r
- Flags=00000100\r
-end\r
-item: Get Registry Key Value\r
- Variable=CGROUPDIR\r
- Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\r
- Default=%GROUPDIR%\r
- Value Name=Common Programs\r
- Flags=00000100\r
-end\r
-item: Set Variable\r
- Variable=CGROUP_SAVE\r
- Value=%GROUP%\r
-end\r
-item: Set Variable\r
- Variable=GROUP\r
- Value=%GROUPDIR%\%GROUP%\r
-end\r
-item: Create Shortcut\r
- Source=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe\r
- Destination=%GROUP%\XEmacs.lnk\r
- Working Directory=\\r
- Icon Number=0\r
-end\r
-item: Create Shortcut\r
- Source=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe\r
- Destination=%DESKTOPDIR%\XEmacs.lnk\r
- Working Directory=\\r
- Icon Number=0\r
-end\r
-item: Else Statement\r
-end\r
-item: Add ProgMan Icon\r
- Group=%GROUP%\r
- Icon Name=XEmacs\r
- Command Line=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe\r
- Default Directory=\\r
- Flags=01000000\r
-end\r
-item: End Block\r
-end\r
-item: Edit Registry\r
- Total Keys=16\r
- item: Key\r
- Key=SOFTWARE\GNU\XEmacs\r
- New Value=%MAINDIR%\r
- Value Name=emacs_dir\r
- Root=2\r
- end\r
- item: Key\r
- Key=SOFTWARE\GNU\XEmacs\r
- New Value=%MAINDIR%\xemacs-packages\r
- Value Name=EMACSPACKAGEPATH\r
- Root=2\r
- end\r
- item: Key\r
- Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\runemacs.exe\r
- New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\r
- Value Name=Path\r
- Root=2\r
- end\r
- item: Key\r
- Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\xemacs.exe\r
- New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\r
- Value Name=Path\r
- Root=2\r
- end\r
- item: Key\r
- Key=.el\r
- New Value=elfile\r
- end\r
- item: Key\r
- Key=.el\r
- New Value=text/plain\r
- Value Name=Content Type\r
- end\r
- item: Key\r
- Key=elfile\r
- New Value=Emacs lisp\r
- end\r
- item: Key\r
- Key=elfile\r
- New Value=00 00 01 00\r
- Value Name=EditFlags\r
- Data Type=4\r
- end\r
- item: Key\r
- Key=elfile\DefaultIcon\r
- New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe,2\r
- end\r
- item: Key\r
- Key=elfile\QuickView\r
- New Value=*\r
- end\r
- item: Key\r
- Key=elfile\Shell\r
- New Value=\r
- end\r
- item: Key\r
- Key=elfile\Shell\open\r
- end\r
- item: Key\r
- Key=elfile\Shell\open\command\r
- New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe "%%1"\r
- end\r
- item: Key\r
- Key=elfile\Shell\open\ddeexec\r
- New Value=open("%%1")\r
- end\r
- item: Key\r
- Key=elfile\Shell\open\ddeexec\Application\r
- New Value=XEmacs\r
- New Value=\r
- end\r
- item: Key\r
- Key=elfile\Shell\open\ddeexec\topic\r
- New Value=System\r
- end\r
-end\r
-item: Wizard Block\r
- Direction Variable=DIRECTION\r
- Display Variable=DISPLAY\r
- Bitmap Pathname=<<<dirs.source>>>\nt\Wise\gnu.bmp\r
- X Position=9\r
- Y Position=10\r
- Filler Color=8421440\r
- Flags=00000011\r
-end\r
-item: Custom Dialog Set\r
- Name=Finished\r
- Display Variable=DISPLAY\r
- item: Dialog\r
- Title=Installation Complete\r
- Title French=Installation en cours\r
- Title German=Installation abgeschlossen\r
- Title Portuguese=Instalação Completa \r
- Title Spanish=Se ha completado la Instalación\r
- Title Italian=Installazione completata\r
- Title Danish=Installation gennemført\r
- Title Dutch=Installatie afgerond\r
- Title Norwegian=Installasjonen er fullført\r
- Title Swedish=Installationen klar\r
- Width=280\r
- Height=224\r
- Font Name=Helv\r
- Font Size=8\r
- item: Push Button\r
- Rectangle=170 185 212 199\r
- Variable=DIRECTION\r
- Value=N\r
- Create Flags=01010000000000010000000000000001\r
- Text=&Finish >\r
- Text French=&Terminer>\r
- Text German=&Fertigstellen>\r
- Text Portuguese=&Terminar >\r
- Text Spanish=&Finalizar>\r
- Text Italian=&Fine >\r
- Text Danish=&Afslut >\r
- Text Dutch=&Klaar>\r
- Text Norwegian=&Avslutt>\r
- Text Swedish=&Sluta>\r
- end\r
- item: Push Button\r
- Control Name=CANCEL\r
- Rectangle=222 185 264 199\r
- Action=3\r
- Create Flags=01010000000000010000000000000000\r
- Text=Cancel\r
- Text French=Annuler\r
- Text German=Abbrechen\r
- Text Portuguese=Cancelar\r
- Text Spanish=Cancelar\r
- Text Italian=Annulla\r
- Text Danish=Annuller\r
- Text Dutch=Annuleren\r
- Text Norwegian=Avbryt\r
- Text Swedish=Avbryt\r
- end\r
- item: Static\r
- Rectangle=9 177 263 178\r
- Action=3\r
- Create Flags=01010000000000000000000000000111\r
- end\r
- item: Static\r
- Rectangle=90 10 260 63\r
- Enabled Color=00000000000000001111111111111111\r
- Create Flags=01010000000000000000000000000000\r
- Text=%APPTITLE% has been successfully installed.\r
- Text=\r
- Text=\r
- Text=Press the Finish button to exit this installation.\r
- Text=\r
- Text French=L'installation de %APPTITLE% est réussie\r
- Text French=\r
- Text French=\r
- Text French=Cliquez sur Terminer pour quitter cette installation\r
- Text French=\r
- Text German=%APPTITLE% wurde erfolgreich installiert.\r
- Text German=\r
- Text German=\r
- Text German=Zum Beenden dieser Installation Fertigstellen anklicken.\r
- Text German=\r
- Text Portuguese=%APPTITLE% foi instalado com êxito\r
- Text Portuguese=\r
- Text Portuguese=\r
- Text Portuguese=Pressionar o botão Terminar para sair desta instalação\r
- Text Portuguese=\r
- Text Spanish=%APPTITLE% se ha instalado con éxito.\r
- Text Spanish=\r
- Text Spanish=\r
- Text Spanish=Pulse el botón de Finalizar para salir de esta instalación.\r
- Text Spanish=\r
- Text Italian=%APPTITLE% è stato installato.\r
- Text Italian=\r
- Text Italian=\r
- Text Italian=Premi il pulsante Fine per uscire dal programma di installazione\r
- Text Italian=\r
- Text Danish=%APPTITLE% er nu installeret korrekt.\r
- Text Danish=\r
- Text Danish=\r
- Text Danish=Klik på Afslut for at afslutte installationen.\r
- Text Danish=\r
- Text Dutch=%APPTITLE% is met succes geïnstalleerd.\r
- Text Dutch=\r
- Text Dutch=\r
- Text Dutch=Druk op Klaar om deze installatie af te ronden.\r
- Text Dutch=\r
- Text Norwegian=Installasjonen av %APPTITLE% er suksessfull.\r
- Text Norwegian=\r
- Text Norwegian=\r
- Text Norwegian=Trykk på Avslutt-tasten for å avslutte denne installasjonen.\r
- Text Norwegian=\r
- Text Swedish=Installationen av %APPTITLE% har lyckats.\r
- Text Swedish=\r
- Text Swedish=\r
- Text Swedish=Tryck på Sluta för att gå ur installationsprogrammet.\r
- Text Swedish=\r
- end\r
- item: Push Button\r
- Control Name=BACK\r
- Rectangle=128 185 170 199\r
- Variable=DIRECTION\r
- Value=B\r
- Create Flags=01010000000000010000000000000000\r
- Text=< &Back\r
- Text French=<&Retour\r
- Text German=<&Zurück\r
- Text Portuguese=<&Retornar\r
- Text Spanish=<&Retroceder\r
- Text Italian=< &Indietro\r
- Text Danish=<&Tilbage\r
- Text Dutch=<&Terug\r
- Text Norwegian=<&Tilbake\r
- Text Swedish=< &Tillbaka\r
- end\r
- item: Set Control Attribute\r
- Control Name=BACK\r
- Operation=1\r
- end\r
- item: Set Control Attribute\r
- Control Name=CANCEL\r
- Operation=1\r
- end\r
- end\r
-end\r
-item: End Block\r
-end\r
-item: New Event\r
- Name=Cancel\r
-end\r
-item: Include Script\r
- Pathname=%_WISE_%\INCLUDE\rollback.wse\r
-end\r
+Document Type: WSE
+item: Global
+ Version=7.0
+ Title=<<<version.title + " Installation">>>
+ Flags=00000100
+ Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ Japanese Font Name=MS Gothic
+ Japanese Font Size=10
+ Progress Bar DLL=%_WISE_%\Progress\WIZ%_EXE_OS_TYPE_%.DLL
+ Start Gradient=0 0 255
+ End Gradient=0 0 0
+ Windows Flags=00000100000000010010110000001000
+ Log Pathname=%MAINDIR%\INSTALL.LOG
+ Message Font=MS Sans Serif
+ Font Size=8
+ Disk Filename=SETUP
+ Patch Flags=0000000000000001
+ Patch Threshold=85
+ Patch Memory=4000
+ FTP Cluster Size=20
+ Dialogs Version=6
+ Variable Name1=_SYS_
+ Variable Default1=C:\WINDOWS\SYSTEM
+ Variable Flags1=00001000
+ Variable Name2=_WISE_
+ Variable Default2=C:\PROGRAM FILES\WISE INSTALLBUILDER
+ Variable Flags2=00001000
+end
+item: Get Temporary Filename
+ Variable=READMEFILE
+end
+item: Install File
+ Source=<<<dirs.source>>>\nt\Wise\Copying.txt
+ Destination=%TEMP%\%READMEFILE%
+ Flags=0000000000100010
+end
+item: Open/Close INSTALL.LOG
+ Flags=00000001
+end
+item: Check if File/Dir Exists
+ Pathname=%SYS%
+ Flags=10000100
+end
+item: Set Variable
+ Variable=SYS
+ Value=%WIN%
+end
+item: End Block
+end
+item: Set Variable
+ Variable=APPTITLE
+ Value=<<<version.title>>>
+ Flags=10000000
+end
+item: Set Variable
+ Variable=GROUP
+ Value=XEmacs
+ Flags=10000000
+end
+item: Set Variable
+ Variable=DISABLED
+ Value=!
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=XEmacs
+ Flags=10000000
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Get Registry Key Value
+ Variable=COMMON
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion
+ Default=C:\Program Files\Common Files
+ Value Name=CommonFilesDir
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=PROGRAM_FILES
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion
+ Default=C:\Program Files
+ Value Name=ProgramFilesDir
+ Flags=00000100
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=%PROGRAM_FILES%\%MAINDIR%
+ Flags=00001100
+end
+item: Set Variable
+ Variable=EXPLORER
+ Value=1
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=C:\%MAINDIR%
+ Flags=00001100
+end
+item: End Block
+end
+item: Set Variable
+ Variable=BACKUP
+ Value=%MAINDIR%\BACKUP
+ Flags=10000000
+end
+item: Set Variable
+ Variable=DOBACKUP
+ Value=B
+ Flags=10000000
+end
+item: Set Variable
+ Variable=COMPONENTS
+ Value=ACE
+ Flags=10000000
+end
+<<<set_category_defaults()>>>
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ Bitmap Pathname=<<<dirs.source>>>\nt\Wise\gnu.bmp
+ X Position=9
+ Y Position=10
+ Filler Color=8421440
+ Dialog=Select Program Manager Group
+ Dialog=Select Backup Directory
+ Dialog=Display Registration Information
+ Dialog=Get Registration Information
+ Variable=EXPLORER
+ Variable=DOBACKUP
+ Variable=DOBRAND
+ Variable=DOBRAND
+ Value=1
+ Value=A
+ Value=1
+ Value=1
+ Compare=0
+ Compare=1
+ Compare=0
+ Compare=1
+ Flags=00000011
+end
+item: Custom Dialog Set
+ Name=Welcome
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Welcome
+ Title French=Bienvenue
+ Title German=Willkommen
+ Title Portuguese=Bem-vindo
+ Title Spanish=Bienvenido
+ Title Italian=Benvenuto
+ Title Danish=Velkommen
+ Title Dutch=Welkom
+ Title Norwegian=Velkommen
+ Title Swedish=Välkommen
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=91 22 245 118
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=<<<version.welcome>>>
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Display ReadMe
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Read Me File
+ Title French=Fichier Lisez-moi
+ Title German=Liesmich-Datei
+ Title Portuguese=Ficheiro Leia-me
+ Title Spanish=Archivo Léeme
+ Title Italian=File Leggimi
+ Title Danish=Vigtigt fil
+ Title Dutch=Leesmij-bestand
+ Title Norwegian=Informasjonsfil
+ Title Swedish=Läs mig-fil
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=I &Agree >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Slet
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Editbox
+ Rectangle=85 11 254 170
+ Value=%TEMP%\%READMEFILE%
+ Help Context=16711681
+ Create Flags=01010000101000000000100000000100
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Destination Directory
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Choose Destination Location
+ Title French=Choisissez la localisation de destination
+ Title German=Zielpfad wählen
+ Title Portuguese=Escolher Local de Destino
+ Title Spanish=Elegir una localización de destino
+ Title Italian=Scegli Posizione di Destinazione
+ Title Danish=Vælg destinationsmappe
+ Title Dutch=Kies doellocatie
+ Title Norwegian=Velg målplassering
+ Title Swedish=Välj ställe för installationen
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=130 185 172 199
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=< &Back
+ Text French=<&Retour
+ Text German=<&Zurück
+ Text Portuguese=<&Retornar
+ Text Spanish=<&Retroceder
+ Text Italian=< &Indietro
+ Text Danish=<&Tilbage
+ Text Dutch=<&Terug
+ Text Norwegian=<&Tilbake
+ Text Swedish=< &Tillbaka
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=90 10 260 122
+ Create Flags=01010000000000000000000000000000
+ Text=Setup will install %APPTITLE% in the following folder.
+ Text=
+ Text=To install into a different folder, click Browse, and select another folder.
+ Text=
+ Text=You can choose not to install %APPTITLE% by clicking Cancel to exit Setup.
+ Text French=%APPTITLE% va être installé dans le répertoire ci-dessous
+ Text French=
+ Text French=Pour l'installer dans un répertoire différent, cliquez sur Parcourir et sélectionnez un autre répertoire
+ Text French=
+ Text French=Vous pouvez choisir de ne pas installer %APPTITLE% en cliquant sur Annuler pour quitter l'Installation
+ Text German=Installation speichert %APPTITLE% im unten angegebenen Ordner:
+ Text German=
+ Text German=Zur Installation in einem anderen Ordner auf Blättern klicken und einen anderen Ordner wählen.
+ Text German=
+ Text German=Wenn Sie %APPTITLE% nicht installieren möchten, können Sie durch Klicken auf Abbrechen die Installation beenden.
+ Text Portuguese=Configuração instalará %APPTITLE% na seguinte pasta
+ Text Portuguese=
+ Text Portuguese=Para instalar numa pasta diferente, faça um clique sobre Procurar, e seleccione uma outra pasta.
+ Text Portuguese=
+ Text Portuguese=Pode escolher não instalar %APPTITLE% clicando no botão Cancelar para sair da Configuração
+ Text Spanish=El programa de Configuración instalará %APPTITLE% en la siguiente carpeta.
+ Text Spanish=
+ Text Spanish=Para instalar en una carpeta diferente, haga un clic en Visualizar, y seleccione otra carpeta.
+ Text Spanish=
+ Text Spanish=Puede elegir no instalar %APPTITLE% haciendo un clic en Cancelar para salir de Configuración.
+ Text Italian=Il programma di installazione installerà %APPTITLE% nella seguente cartella.
+ Text Italian=
+ Text Italian=Per effettuare l\92installazione in una cartella diversa, fai clic su Sfoglia, e scegli un\92altra cartella.
+ Text Italian=
+ Text Italian=Puoi scegliere di non installare %APPTITLE% facendo clic su Annulla per uscire dal programma di installazione
+ Text Danish=Installationsprogrammet installerer %APPTITLE% i denne mappe.
+ Text Danish=
+ Text Danish=Man installerer i en anden mappe ved at klikke på Browse og vælge en anden mappe.
+ Text Danish=
+ Text Danish=Man kan vælge ikke at installere %APPTITLE% ved at klikke på Slet og forlade installationsprogrammet.
+ Text Dutch=Het installatieprogramma installeert %APPTITLE% in de volgende directory.
+ Text Dutch=
+ Text Dutch=Als u het in een andere directory wilt installeren, klik dan op Bladeren en kies een andere locatie.
+ Text Dutch=
+ Text Dutch=U kunt ervoor kiezen om %APPTITLE% niet te installeren: klik op Annuleren om het installatieprogramma te verlaten.
+ Text Norwegian=Oppsett vil installere %APPTITLE% i følgende mappe.
+ Text Norwegian=
+ Text Norwegian=For å installere i en annen mappe, klikk Bla igjennom og velg en annen mappe.
+ Text Norwegian=
+ Text Norwegian=Du kan velge å ikke installere %APPTITLE% ved å velge Avbryt for å gå ut av Oppsett.
+ Text Swedish=Installationsprogrammet installerar %APPTITLE% i följande mapp.
+ Text Swedish=
+ Text Swedish=Om du vill att installationen ska göras i en annan mapp, klickar du på Bläddra och väljer en annan mapp.
+ Text Swedish=
+ Text Swedish=Du kan välja att inte installera %APPTITLE% genom att klicka på Avbryt för att lämna installationsprogrammet.
+ end
+ item: Static
+ Rectangle=90 134 260 162
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ Text=Destination Folder
+ Text French=Répertoire de destination
+ Text German=Zielordner
+ Text Portuguese=Pasta de Destino
+ Text Spanish=Carpeta de Destino
+ Text Italian=Cartella di destinazione
+ Text Danish=Destinationsmappe
+ Text Dutch=Doeldirectory
+ Text Norwegian=Målmappe
+ Text Swedish=Destinationsmapp
+ end
+ item: Push Button
+ Rectangle=213 143 255 157
+ Variable=MAINDIR_SAVE
+ Value=%MAINDIR%
+ Destination Dialog=1
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=B&rowse...
+ Text French=P&arcourir
+ Text German=B&lättern...
+ Text Portuguese=P&rocurar
+ Text Spanish=V&isualizar...
+ Text Italian=Sfoglia...
+ Text Danish=&Gennemse...
+ Text Dutch=B&laderen...
+ Text Norwegian=Bla igjennom
+ Text Swedish=&Bläddra
+ end
+ item: Static
+ Rectangle=95 146 211 157
+ Destination Dialog=2
+ Create Flags=01010000000000000000000000000000
+ Text=%MAINDIR%
+ Text French=%MAINDIR%
+ Text German=%MAINDIR%
+ Text Portuguese=%MAINDIR%
+ Text Spanish=%MAINDIR%
+ Text Italian=%MAINDIR%
+ Text Danish=%MAINDIR%
+ Text Dutch=%MAINDIR%
+ Text Norwegian=%MAINDIR%
+ Text Swedish=%MAINDIR%
+ end
+ end
+ item: Dialog
+ Title=Select Destination Directory
+ Title French=Choisissez le répertoire de destination
+ Title German=Zielverzeichnis wählen
+ Title Portuguese=Seleccionar Directório de Destino
+ Title Spanish=Seleccione el Directorio de Destino
+ Title Italian=Seleziona Directory di destinazione
+ Title Danish=Vælg Destinationsbibliotek
+ Title Dutch=Kies doeldirectory
+ Title Norwegian=Velg målkatalog
+ Title Swedish=Välj destinationskalatog
+ Width=221
+ Height=173
+ Font Name=Helv
+ Font Size=8
+ item: Listbox
+ Rectangle=5 2 160 149
+ Variable=MAINDIR
+ Create Flags=01010000100000010000000101000000
+ Flags=0000110000100010
+ Text=%MAINDIR%
+ Text French=%MAINDIR%
+ Text German=%MAINDIR%
+ Text Portuguese=%MAINDIR%
+ Text Spanish=%MAINDIR%
+ Text Italian=%MAINDIR%
+ Text Danish=%MAINDIR%
+ Text Dutch=%MAINDIR%
+ Text Norwegian=%MAINDIR%
+ Text Swedish=%MAINDIR%
+ end
+ item: Push Button
+ Rectangle=167 6 212 21
+ Create Flags=01010000000000010000000000000001
+ Text=OK
+ Text French=OK
+ Text German=OK
+ Text Portuguese=OK
+ Text Spanish=ACEPTAR
+ Text Italian=OK
+ Text Danish=OK
+ Text Dutch=OK
+ Text Norwegian=OK
+ Text Swedish=OK
+ end
+ item: Push Button
+ Rectangle=167 25 212 40
+ Variable=MAINDIR
+ Value=%MAINDIR_SAVE%
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Slet
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Packages
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Select Packages
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 28
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Packages
+ Text French=Sélectionner les composants
+ Text German=Komponenten auswählen
+ Text Spanish=Seleccione componentes
+ Text Italian=Selezionare i componenti
+ end
+ item: Checkbox
+ Rectangle=83 62 211 146
+ Variable=COMPONENTS LIBS,COMM,OA,OS,PROG,WP,GAMES
+ Create Flags=01010000000000010000000000000011
+ Flags=0000000000000110
+ Text=Libraries
+ Text=Communication
+ Text=Productivity
+ Text=Operating System
+ Text=Programming
+ Text=Word Processing
+ Text=Games and Amusements
+ Text=
+ end
+ item: Static
+ Rectangle=194 162 242 172
+ Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES
+ Value=MAINDIR
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=194 153 242 162
+ Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=107 153 196 164
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Required:
+ Text French=Espace disque requis :
+ Text German=Notwendiger Speicherplatz:
+ Text Spanish=Espacio requerido en el disco:
+ Text Italian=Spazio su disco necessario:
+ end
+ item: Static
+ Rectangle=107 162 196 172
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Remaining:
+ Text French=Espace disque disponible :
+ Text German=Verbleibender Speicherplatz:
+ Text Spanish=Espacio en disco disponible:
+ Text Italian=Spazio su disco disponibile:
+ end
+ item: Static
+ Rectangle=80 146 256 175
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=83 30 256 57
+ Create Flags=01010000000000000000000000000000
+ Text=Choose which package categories to install by checking the boxes below. Press the Options buttons to select individual packages.
+ Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous.
+ Text German=Wählen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden Kästchen klicken.
+ Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo.
+ Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti.
+ end
+ item: Push Button
+ Rectangle=230 62 254 72
+ Variable=LIBS_SAVE
+ Value=%LIBS%
+ Destination Dialog=1
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Push Button
+ Rectangle=230 74 254 84
+ Variable=COMM_SAVE
+ Value=%COMM%
+ Destination Dialog=2
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Push Button
+ Rectangle=230 86 254 96
+ Variable=OA_SAVE
+ Value=%OA%
+ Destination Dialog=3
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Push Button
+ Rectangle=230 98 254 108
+ Variable=OS_SAVE
+ Value=%OS%
+ Destination Dialog=4
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Push Button
+ Rectangle=230 110 254 120
+ Variable=PROG_SAVE
+ Value=%PROG%
+ Destination Dialog=5
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Push Button
+ Rectangle=230 122 254 132
+ Variable=WP_SAVE
+ Value=%WP%
+ Destination Dialog=6
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Push Button
+ Rectangle=230 134 254 144
+ Variable=GAMES_SAVE
+ Value=%GAMES%
+ Destination Dialog=7
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Options
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Set Variable
+ Variable=COMPONENTS
+ Value=X
+ Flags=00000001
+ end
+ end
+<<<string.join(map(category_dialog,packages.category_names),"")>>>
+end
+item: Custom Dialog Set
+ Name=Select Program Manager Group
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Select Program Manager Group
+ Title French=Sélectionnez le Groupe du Gestionnaire de Programmes
+ Title German=Programm-Managergruppe wählen
+ Title Portuguese=Seleccionar o Grupo Gestor de Programas
+ Title Spanish=Seleccione el Grupo del Administrador del Programa
+ Title Italian=Seleziona il gruppo Program Manager
+ Title Danish=Vælg Programstyringsgruppen
+ Title Dutch=Kies Programmabeheergroep.
+ Title Norwegian=Velg Programbehandlingsgruppen
+ Title Swedish=Välj grupp i Programhanteraren
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=130 185 172 199
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=< &Back
+ Text French=<&Retour
+ Text German=<&Zurück
+ Text Portuguese=<&Retornar
+ Text Spanish=<&Retroceder
+ Text Italian=< &Indietro
+ Text Danish=<&Back
+ Text Dutch=<&Terug
+ Text Norwegian=<&Tilbake
+ Text Swedish=< &Tillbaka
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Slet
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=90 10 260 38
+ Create Flags=01010000000000000000000000000000
+ Text=Enter the name of the Program Manager group to add %APPTITLE% icons to:
+ Text French=Entrez le nom du groupe du Gestionnaire de Programmes où placer les icônes %APPTITLE% à :
+ Text German=Den Namen der Programm-Managergruppe wählen, in der die %APPTITLE%-Symbole gespeichert werden sollen:
+ Text Portuguese=Introduzir o nome do Grupo Gestor de Programa para acrescentar os ícones %APPTITLE% para:
+ Text Spanish=Introduzca el nombre del grupo del Administrador del Programa para añadir los iconos %APPTITLE para:
+ Text Italian=Inserisci il nome del gruppo Program Manager per aggiungere le icone di %APPTITLE% a:
+ Text Danish=Indtast navnet på Programstyringsgruppen der skal tilføjes %APPTITLE% elementer:
+ Text Dutch=Breng de naam van de programmabeheergroep in waaraan u %APPTITLE%-pictogrammen wilt toevoegen.
+ Text Norwegian=Tast inn navnet på programbehandlingsgruppen for å legge %APPTITLE%-ikoner til:
+ Text Swedish=Skriv in namnet på den grupp i Programhanteraren där du vill ha ikonerna för %APPTITLE%:
+ end
+ item: Combobox
+ Rectangle=90 42 260 148
+ Variable=GROUP
+ Create Flags=01010000001000010000001100000001
+ Flags=0000000000000001
+ Text=%GROUP%
+ Text=
+ Text French=%GROUP%
+ Text French=
+ Text German=%GROUP%
+ Text German=
+ Text Portuguese=%GROUP%
+ Text Portuguese=
+ Text Spanish=%GROUP%
+ Text Spanish=
+ Text Italian=%GROUP%
+ Text Italian=
+ Text Danish=%GROUP%
+ Text Danish=
+ Text Dutch=%GROUP%
+ Text Dutch=
+ Text Norwegian=%GROUP%
+ Text Norwegian=
+ Text Swedish=%GROUP%
+ Text Swedish=
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Start Installation
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Start Installation
+ Title French=Commencer l'installation
+ Title German=Installation beginnen
+ Title Portuguese=Iniciar Instalação
+ Title Spanish=Comenzar la Instalación
+ Title Italian=Avvia Installazione
+ Title Danish=Start installationen
+ Title Dutch=Start de installatie.
+ Title Norwegian=Start installeringen
+ Title Swedish=Starta installationen
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=172 185 214 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Próximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&Næste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&Nästa >
+ end
+ item: Push Button
+ Rectangle=130 185 172 199
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=<&Retour
+ Text German=<&Zurück
+ Text Portuguese=<&Retornar
+ Text Spanish=<&Retroceder
+ Text Italian=< &Indietro
+ Text Danish=<&Tilbage
+ Text Dutch=<&Terug
+ Text Norwegian=<&Tilbake
+ Text Swedish=< &Tillbaka
+ end
+ item: Push Button
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=90 10 260 70
+ Create Flags=01010000000000000000000000000000
+ Text=You are now ready to install %APPTITLE%.
+ Text=
+ Text=Press the Next button to begin the installation or the Back button to reenter the installation information.
+ Text French=Vous êtes maintenant prêt à installer %APPTITLE%
+ Text French=
+ Text French=Cliquez sur Suivant pour commencer l'installation ou Retour pour entrer à nouveau les informations d'installation
+ Text German=Sie sind jetzt zur Installation von %APPTITLE% bereit.
+ Text German=
+ Text German=Auf die Schaltfläche Weiter klicken, um mit dem Start der Installation zu beginnen, oder auf die Schaltfläche Zurück, um die Installationsinformationen nochmals aufzurufen.
+ Text Portuguese=Está agora pronto para instalar %APPTITLE%
+ Text Portuguese=
+ Text Portuguese=Pressione o botão Próximo para começar a instalação ou o botão Retornar para introduzir novamente a informação sobre a instalação
+ Text Spanish=Ahora estará listo para instalar %APPTITLE%.
+ Text Spanish=
+ Text Spanish=Pulse el botón de Próximo para comenzar la instalación o el botón Retroceder para volver a introducir la información sobre la instalación.
+ Text Italian=Sei pronto ad installare %APPTITLE%.
+ Text Italian=
+ Text Italian=Premi il tasto Avanti per iniziare l\92installazione o il tasto Indietro per rientrare nuovamente nei dati sull\92installazione
+ Text Danish=Du er nu klar til at installere %APPTITLE%.
+ Text Danish=
+ Text Danish=Klik på Næste for at starte installationen eller på Tilbage for at ændre installationsoplysningerne.
+ Text Dutch=U bent nu klaar om %APPTITLE% te installeren.
+ Text Dutch=
+ Text Dutch=Druk op Volgende om met de installatie te beginnen of op Terug om de installatie-informatie opnieuw in te voeren.
+ Text Norwegian=Du er nå klar til å installere %APPTITLE%
+ Text Norwegian=
+ Text Norwegian=Trykk på Neste-tasten for å starte installeringen, eller Tilbake-tasten for å taste inn installasjonsinformasjonen på nytt.
+ Text Swedish=Du är nu redo att installera %APPTITLE%.
+ Text Swedish=
+ Text Swedish=Tryck på Nästa för att starta installationen eller på Tillbaka för att skriva in installationsinformationen på nytt.
+ end
+ end
+end
+item: If/While Statement
+ Variable=DISPLAY
+ Value=Select Destination Directory
+end
+item: Set Variable
+ Variable=BACKUP
+ Value=%MAINDIR%\BACKUP
+end
+item: End Block
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=DOBACKUP
+ Value=A
+end
+item: Set Variable
+ Variable=BACKUPDIR
+ Value=%BACKUP%
+end
+item: End Block
+end
+item: Open/Close INSTALL.LOG
+end
+item: Check Disk Space
+ Component=COMPONENTS
+end
+item: Display Graphic
+ Pathname=<<<dirs.source>>>\nt\Wise\xemacs-beta.bmp
+ X Position=32784
+ Y Position=16
+end
+item: Include Script
+ Pathname=%_WISE_%\INCLUDE\uninstal.wse
+end
+<<<ifblock("COMPONENTS","X")>>>
+<<<string.join(map(lambda x:install_file(x[0],x[1],x[2]),filelist.all),"")>>>
+<<<endblock()>>>
+<<<map(do_category,packages.category_names)>>>
+item: Set Variable
+ Variable=COMMON
+ Value=%COMMON%
+ Flags=00010100
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=%MAINDIR%
+ Flags=00010100
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Get Registry Key Value
+ Variable=STARTUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu\Programs\StartUp
+ Value Name=StartUp
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=DESKTOPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Desktop
+ Value Name=Desktop
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=STARTMENUDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu
+ Value Name=Start Menu
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=GROUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu\Programs
+ Value Name=Programs
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=CSTARTUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%STARTUPDIR%
+ Value Name=Common Startup
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=CDESKTOPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%DESKTOPDIR%
+ Value Name=Common Desktop
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=CSTARTMENUDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%STARTMENUDIR%
+ Value Name=Common Start Menu
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=CGROUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%GROUPDIR%
+ Value Name=Common Programs
+ Flags=00000100
+end
+item: Set Variable
+ Variable=CGROUP_SAVE
+ Value=%GROUP%
+end
+item: Set Variable
+ Variable=GROUP
+ Value=%GROUPDIR%\%GROUP%
+end
+item: Create Shortcut
+ Source=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe
+ Destination=%GROUP%\XEmacs.lnk
+ Working Directory=\
+ Icon Number=0
+end
+item: Create Shortcut
+ Source=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe
+ Destination=%DESKTOPDIR%\XEmacs.lnk
+ Working Directory=\
+ Icon Number=0
+end
+item: Else Statement
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=XEmacs
+ Command Line=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe
+ Default Directory=\
+ Flags=01000000
+end
+item: End Block
+end
+item: Edit Registry
+ Total Keys=16
+ item: Key
+ Key=SOFTWARE\GNU\XEmacs
+ New Value=%MAINDIR%
+ Value Name=emacs_dir
+ Root=2
+ end
+ item: Key
+ Key=SOFTWARE\GNU\XEmacs
+ New Value=%MAINDIR%\xemacs-packages
+ Value Name=EMACSPACKAGEPATH
+ Root=2
+ end
+ item: Key
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\runemacs.exe
+ New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32
+ Value Name=Path
+ Root=2
+ end
+ item: Key
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\xemacs.exe
+ New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32
+ Value Name=Path
+ Root=2
+ end
+ item: Key
+ Key=.el
+ New Value=elfile
+ end
+ item: Key
+ Key=.el
+ New Value=text/plain
+ Value Name=Content Type
+ end
+ item: Key
+ Key=elfile
+ New Value=Emacs lisp
+ end
+ item: Key
+ Key=elfile
+ New Value=00 00 01 00
+ Value Name=EditFlags
+ Data Type=4
+ end
+ item: Key
+ Key=elfile\DefaultIcon
+ New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe,2
+ end
+ item: Key
+ Key=elfile\QuickView
+ New Value=*
+ end
+ item: Key
+ Key=elfile\Shell
+ New Value=
+ end
+ item: Key
+ Key=elfile\Shell\open
+ end
+ item: Key
+ Key=elfile\Shell\open\command
+ New Value=%MAINDIR%\<<<dirs.dst>>>\i386-pc-win32\runemacs.exe "%%1"
+ end
+ item: Key
+ Key=elfile\Shell\open\ddeexec
+ New Value=open("%%1")
+ end
+ item: Key
+ Key=elfile\Shell\open\ddeexec\Application
+ New Value=XEmacs
+ New Value=
+ end
+ item: Key
+ Key=elfile\Shell\open\ddeexec\topic
+ New Value=System
+ end
+end
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ Bitmap Pathname=<<<dirs.source>>>\nt\Wise\gnu.bmp
+ X Position=9
+ Y Position=10
+ Filler Color=8421440
+ Flags=00000011
+end
+item: Custom Dialog Set
+ Name=Finished
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=Installation Complete
+ Title French=Installation en cours
+ Title German=Installation abgeschlossen
+ Title Portuguese=Instalação Completa
+ Title Spanish=Se ha completado la Instalación
+ Title Italian=Installazione completata
+ Title Danish=Installation gennemført
+ Title Dutch=Installatie afgerond
+ Title Norwegian=Installasjonen er fullført
+ Title Swedish=Installationen klar
+ Width=280
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=170 185 212 199
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Finish >
+ Text French=&Terminer>
+ Text German=&Fertigstellen>
+ Text Portuguese=&Terminar >
+ Text Spanish=&Finalizar>
+ Text Italian=&Fine >
+ Text Danish=&Afslut >
+ Text Dutch=&Klaar>
+ Text Norwegian=&Avslutt>
+ Text Swedish=&Sluta>
+ end
+ item: Push Button
+ Control Name=CANCEL
+ Rectangle=222 185 264 199
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=9 177 263 178
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=90 10 260 63
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=%APPTITLE% has been successfully installed.
+ Text=
+ Text=
+ Text=Press the Finish button to exit this installation.
+ Text=
+ Text French=L'installation de %APPTITLE% est réussie
+ Text French=
+ Text French=
+ Text French=Cliquez sur Terminer pour quitter cette installation
+ Text French=
+ Text German=%APPTITLE% wurde erfolgreich installiert.
+ Text German=
+ Text German=
+ Text German=Zum Beenden dieser Installation Fertigstellen anklicken.
+ Text German=
+ Text Portuguese=%APPTITLE% foi instalado com êxito
+ Text Portuguese=
+ Text Portuguese=
+ Text Portuguese=Pressionar o botão Terminar para sair desta instalação
+ Text Portuguese=
+ Text Spanish=%APPTITLE% se ha instalado con éxito.
+ Text Spanish=
+ Text Spanish=
+ Text Spanish=Pulse el botón de Finalizar para salir de esta instalación.
+ Text Spanish=
+ Text Italian=%APPTITLE% è stato installato.
+ Text Italian=
+ Text Italian=
+ Text Italian=Premi il pulsante Fine per uscire dal programma di installazione
+ Text Italian=
+ Text Danish=%APPTITLE% er nu installeret korrekt.
+ Text Danish=
+ Text Danish=
+ Text Danish=Klik på Afslut for at afslutte installationen.
+ Text Danish=
+ Text Dutch=%APPTITLE% is met succes geïnstalleerd.
+ Text Dutch=
+ Text Dutch=
+ Text Dutch=Druk op Klaar om deze installatie af te ronden.
+ Text Dutch=
+ Text Norwegian=Installasjonen av %APPTITLE% er suksessfull.
+ Text Norwegian=
+ Text Norwegian=
+ Text Norwegian=Trykk på Avslutt-tasten for å avslutte denne installasjonen.
+ Text Norwegian=
+ Text Swedish=Installationen av %APPTITLE% har lyckats.
+ Text Swedish=
+ Text Swedish=
+ Text Swedish=Tryck på Sluta för att gå ur installationsprogrammet.
+ Text Swedish=
+ end
+ item: Push Button
+ Control Name=BACK
+ Rectangle=128 185 170 199
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=<&Retour
+ Text German=<&Zurück
+ Text Portuguese=<&Retornar
+ Text Spanish=<&Retroceder
+ Text Italian=< &Indietro
+ Text Danish=<&Tilbage
+ Text Dutch=<&Terug
+ Text Norwegian=<&Tilbake
+ Text Swedish=< &Tillbaka
+ end
+ item: Set Control Attribute
+ Control Name=BACK
+ Operation=1
+ end
+ item: Set Control Attribute
+ Control Name=CANCEL
+ Operation=1
+ end
+ end
+end
+item: End Block
+end
+item: New Event
+ Name=Cancel
+end
+item: Include Script
+ Pathname=%_WISE_%\INCLUDE\rollback.wse
+end
# Makefile for Microsoft NMAKE
# Copyright (C) 1995 Board of Trustees, University of Illinois.
-# Copyright (C) 1995, 1996, 2000 Ben Wing.
+# Copyright (C) 1995, 1996, 2000, 2005 Ben Wing.
# Copyright (C) 1995 Sun Microsystems, Inc.
# Copyright (C) 1998 Free Software Foundation, Inc.
#
USE_MINITAR=$(HAVE_ZLIB)
!endif
!if !defined(USE_PORTABLE_DUMPER)
-USE_PORTABLE_DUMPER=0
+USE_PORTABLE_DUMPER=1
!endif
# A little bit of adhockery. Default to use system malloc and
# DLL version of the C runtime library when using portable
# dumping. These are the optimal settings.
+#
+# NOTE: The various graphics libraries are generally compiled to use
+# MSVCRT.DLL (the same that we use in USE_CRTDLL, more or less), so using
+# this is a good thing.
+
!if !defined(USE_SYSTEM_MALLOC)
USE_SYSTEM_MALLOC=$(USE_PORTABLE_DUMPER)
!endif
# Generic variables
-INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(NT)\inc -I$(SRC) -I$(LWLIB_SRCDIR)
+INCLUDES=$(X_INCLUDES) -I$(NT)\inc -I$(SRC) $(MSW_INCLUDES) -I$(LWLIB_SRCDIR)
DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) $(UNION_DEFINES) \
$(DUMPER_DEFINES) $(MALLOC_DEFINES) $(QUICK_DEFINES) \
cd $(NT)
$(LIB_SRC)/minitar.exe : $(NT)/minitar.c
- $(CCV) $(CFLAGS_NO_LIB) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) -Fe$@ $** $(ZLIB_DIR)\zlib.lib -link -incremental:no
+ $(CCV) $(CFLAGS_NO_LIB) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) -MD -Fe$@ $** $(ZLIB_DIR)\zlib.lib -link -incremental:no
LIB_SRC_TOOLS = \
$(LIB_SRC)/etags.exe \
{$(MANDIR)}.texi{$(INFODIR)}.info:
cd $(MANDIR)
- $(MAKEINFO) $**
+ $(MAKEINFO) $(**F)
XEMACS_SRCS = \
$(MANDIR)\xemacs\abbrevs.texi \
+2005-07-12 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * chartab.c (Fget_range_char_table): Fix serious problem when
+ `range' is nil.
+
2005-06-23 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
* chartab.c (char_table_get_db): Use `read_from_c_string'.
(Vcharset_thai_tis620): Likewise.
(Vcharset_katakana_jisx0201): Likewise.
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2005-01-31 Ben Wing <ben@xemacs.org>
+
+ * emacs.c:
+ Define assert_failed() always.
+ * lisp.h:
+ Always define ABORT().
+
+2005-01-25 Ben Wing <ben@xemacs.org>
+
+ * Makefile.in.in:
+ * Makefile.in.in (%.o):
+ Don't compile executable as Windows (-mwindows) under Cygwin.
+ Semi-recent changes to Cygwin's executable-startup handling make
+ it impossible to access the TTY this way.
+
+ Don't use special linker file under Cygwin (cygwin.sc) except
+ when non-PDUMP (even in this case it is highly questionable); you
+ get errors like
+
+ 1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
+ 5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
+
+2005-01-29 Ben Wing <ben@xemacs.org>
+
+ Port this: 2003-08-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
+
+2005-01-29 Ben Wing <ben@xemacs.org>
+
+ * bytecode.c (optimize_compiled_function):
+ * print.c (FROB):
+ * print.c (long_to_string):
+ Add casts to avoid warning.
+
+ * glyphs-eimage.c:
+ Some really nasty hacks to allow TIFF and JPEG to both be compiled.
+ #### The better solution is to move the TIFF and JPEG code to
+ different files.
+
+ * glyphs-msw.c (mswindows_xbm_instantiate):
+ Define __STDC__ to avoid problems with compface.h.
+
+ * EmacsFrame.c (EmacsFrameRecomputeCellSize):
+ * EmacsShell-sub.c:
+ * EmacsShell-sub.c (ABORT):
+ * EmacsShell-sub.c (SuperClassRootGeometryManager):
+ * EmacsShell-sub.c (RootGeometryManager):
+ * EmacsShell.c:
+ * EmacsShell.c (ABORT):
+ * EmacsShell.c (EmacsShellUpdateSizeHints):
+ * alloc.c (free_lcrecord):
+ * alloca.c (i00afunc):
+ * buffer.c (delete_from_buffer_alist):
+ * buffer.c (MARKED_SLOT):
+ * bytecode.c (execute_rare_opcode):
+ * bytecode.c (optimize_byte_code):
+ * bytecode.c (Ffetch_bytecode):
+ * chartab.c (char_table_type_to_symbol):
+ * chartab.c (Freset_char_table):
+ * chartab.c (decode_char_table_range):
+ * chartab.c (Fget_range_char_table):
+ * chartab.c (check_valid_char_table_value):
+ * chartab.c (map_char_table):
+ * chartab.c (slow_map_char_table_fun):
+ * chartab.c (chartab_instantiate):
+ * cm.c (cmcheckmagic):
+ * console-msw.c (DHEADER):
+ * console.c (MARKED_SLOT):
+ * data.c (finish_marking_weak_lists):
+ * data.c (encode_weak_list_type):
+ * debug.h (DASSERT):
+ * device-gtk.c (gtk_init_device):
+ * device-msw.c (mswindows_get_default_margin):
+ * device-tty.c (tty_init_device):
+ * device-x.c (get_device_from_display):
+ * device-x.c (x_get_visual_depth):
+ * doprnt.c (parse_doprnt_spec):
+ * doprnt.c (get_doprnt_args):
+ * dumper.c (pdump_get_indirect_count):
+ * dumper.c (pdump_register_sub):
+ * dumper.c (pdump_register_object):
+ * dumper.c (pdump_register_struct):
+ * dumper.c (pdump_dump_data):
+ * dumper.c (pdump_reloc_one):
+ * elhash.c (print_hash_table):
+ * elhash.c (make_standard_lisp_hash_table):
+ * elhash.c (hash_table_instantiate):
+ * emacs.c:
+ * emacs.c (Fforce_debugging_signal):
+ * emacs.c (sort_args):
+ * emacs.c (main):
+ * emacs.c (assert_failed):
+ * eval.c (throw_or_bomb_out):
+ * eval.c (signal_1):
+ * eval.c (Fsignal):
+ * event-Xt.c:
+ * event-Xt.c (emacs_Xt_mapping_action):
+ * event-Xt.c (Xt_process_to_emacs_event):
+ * event-msw.c:
+ * event-stream.c (check_event_stream_ok):
+ * event-stream.c (Fadd_timeout):
+ * event-stream.c (Fadd_async_timeout):
+ * event-stream.c (Fdiscard_input):
+ * event-stream.c (execute_internal_event):
+ * event-stream.c (Frecent_keys):
+ * event-stream.c (extract_this_command_keys_nth_mouse_event):
+ * event-stream.c (lookup_command_event):
+ * event-unixoid.c (poll_fds_for_input):
+ * events.c:
+ * events.c (mark_event):
+ * events.c (event_equal):
+ * events.c (event_hash):
+ * events.c (Fmake_event):
+ * events.c (Fdeallocate_event):
+ * events.c (event_chain_find_previous):
+ * events.c (event_to_character):
+ * events.c (format_event_object):
+ * events.c (Fevent_type):
+ * events.c (event_pixel_translation):
+ * events.c (Fevent_properties):
+ * extents.c (extent_in_region_p):
+ * extents.c (print_extent):
+ * extents.c (process_extents_for_insertion_mapper):
+ * extents.c (report_extent_modification_mapper):
+ * extents.c (glyph_layout_to_symbol):
+ * faces.c (face_validate):
+ * file-coding.c (eol_type_to_symbol):
+ * file-coding.c (subsidiary_coding_system):
+ * file-coding.c (Fcoding_system_type):
+ * file-coding.c (Fcoding_system_property):
+ * file-coding.c (mule_decode):
+ * file-coding.c (mule_encode):
+ * file-coding.c (encode_coding_ucs4):
+ * file-coding.c (encode_coding_utf8):
+ * file-coding.c (parse_iso2022_esc):
+ * file-coding.c (encode_coding_iso2022):
+ * fileio.c:
+ * fns.c (concat):
+ * fns.c (Fsubseq):
+ * fns.c (mapcar1):
+ * fns.c (Fbase64_encode_region):
+ * fns.c (Fbase64_encode_string):
+ * fns.c (Fbase64_decode_region):
+ * fns.c (Fbase64_decode_string):
+ * font-lock.c (find_context):
+ * font-lock.c (context_to_symbol):
+ * frame-gtk.c (gtk_set_frame_pointer):
+ * frame-gtk.c (gtk_update_frame_external_traits):
+ * frame-x.c (x_wm_mark_shell_size_user_specified):
+ * frame-x.c (x_wm_mark_shell_position_user_specified):
+ * frame-x.c (x_wm_set_shell_iconic_p):
+ * frame-x.c (x_wm_set_cell_size):
+ * frame-x.c (x_wm_set_variable_size):
+ * frame-x.c (x_wm_store_class_hints):
+ * frame-x.c (x_wm_maybe_store_wm_command):
+ * frame-x.c (x_initialize_frame_size):
+ * frame-x.c (x_update_frame_external_traits):
+ * frame.c:
+ * frame.c (delete_frame_internal):
+ * frame.c (mouse_pixel_position_1):
+ * frame.c (change_frame_size_1):
+ * free-hook.c (check_free):
+ * free-hook.c (check_realloc):
+ * free-hook.c (note_block_input):
+ * free-hook.c (log_gcpro):
+ * gccache-gtk.c (gc_cache_lookup):
+ * glyphs-eimage.c (tiff_memory_write):
+ * glyphs-gtk.c (gtk_finalize_image_instance):
+ * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
+ * glyphs-gtk.c (init_image_instance_from_xbm_inline):
+ * glyphs-gtk.c (gtk_xpm_instantiate):
+ * glyphs-gtk.c (gtk_unmap_subwindow):
+ * glyphs-gtk.c (gtk_map_subwindow):
+ * glyphs-gtk.c (gtk_button_redisplay):
+ * glyphs-msw.c:
+ * glyphs-msw.c (init_image_instance_from_xbm_inline):
+ * glyphs-x.c (init_image_instance_from_xbm_inline):
+ * glyphs-x.c (extract_xpm_color_names):
+ * glyphs-x.c (x_xpm_instantiate):
+ * glyphs.c (get_image_instantiator_governing_domain):
+ * glyphs.c (print_image_instance):
+ * glyphs.c (image_instance_equal):
+ * glyphs.c (image_instance_hash):
+ * glyphs.c (encode_image_instance_type):
+ * glyphs.c (make_image_instance_1):
+ * glyphs.c (inherit_instantiate):
+ * glyphs.c (image_instantiate):
+ * glyphs.c (allocate_glyph):
+ * glyphs.c (Fglyph_type):
+ * glyphs.c (redisplay_subwindow):
+ * glyphs.c (display_table_entry):
+ * gtk-glue.c (xemacs_list_to_gtklist):
+ * gtk-glue.c (xemacs_gtklist_to_list):
+ * gtk-glue.c (xemacs_list_to_array):
+ * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
+ * gutter.c (gutter_was_visible):
+ * gutter.c (get_gutter_coords):
+ * input-method-xlib.c (get_XIM_input):
+ * insdel.c (bufpos_to_bytind_func):
+ * insdel.c (bytind_to_bufpos_func):
+ * insdel.c (move_gap):
+ * intl.c (x_get_composed_input):
+ * keymap.c (keymap_lookup_directly):
+ * keymap.c (keymap_delete_inverse_internal):
+ * keymap.c (ensure_meta_prefix_char_keymapp):
+ * keymap.c (accessible_keymaps_mapper_1):
+ * keymap.c (where_is_recursive_mapper):
+ * lisp.h:
+ * lisp.h (ABORT):
+ * lread.c (read_atom):
+ * lstream.c (Lstream_delete):
+ * lstream.c (make_lisp_buffer_stream_1):
+ * macros.c (pop_kbd_macro_event):
+ * malloc.c (malloc):
+ * malloc.c (free):
+ * marker.c (bi_marker_position):
+ * marker.c (set_bi_marker_position):
+ * menubar-gtk.c (menu_descriptor_to_widget_1):
+ * menubar-msw.c (prune_menubar):
+ * menubar-x.c (set_frame_menubar):
+ * mule-charset.c (get_unallocated_leading_byte):
+ * mule-charset.h (CHAR_LEADING_BYTE):
+ * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
+ * nt.c (init_environment):
+ * nt.c (generate_inode_val):
+ * ntproc.c (delete_child):
+ * ntproc.c (_sys_read_ahead):
+ * ntproc.c (create_child):
+ * objects.c (color_instantiate):
+ * objects.c (font_instantiate):
+ * objects.c (face_boolean_instantiate):
+ * print.c (printing_major_badness):
+ * process-nt.c (nt_send_process):
+ * process-unix.c (unix_send_process):
+ * process.c (get_process):
+ * ralloc.c (obtain):
+ * ralloc.c (relinquish):
+ * ralloc.c (relocate_blocs):
+ * ralloc.c (resize_bloc):
+ * ralloc.c (r_alloc_free):
+ * ralloc.c (r_re_alloc):
+ * ralloc.c (r_alloc_thaw):
+ * ralloc.c (init_ralloc):
+ * ralloc.c (Free_Addr_Block):
+ * ralloc.c (r_alloc):
+ * redisplay-gtk.c (gtk_output_display_block):
+ * redisplay-msw.c (mswindows_output_display_block):
+ * redisplay-output.c (get_next_display_block):
+ * redisplay-output.c (get_cursor_size_and_location):
+ * redisplay-output.c (redisplay_output_layout):
+ * redisplay-output.c (redisplay_clear_region):
+ * redisplay-tty.c (tty_output_display_block):
+ * redisplay-x.c (x_output_display_block):
+ * redisplay.c (add_propagation_runes):
+ * redisplay.c (add_glyph_rune):
+ * redisplay.c (create_text_block):
+ * redisplay.c (add_margin_runes):
+ * redisplay.c (create_left_glyph_block):
+ * redisplay.c (create_right_glyph_block):
+ * redisplay.c (create_string_text_block):
+ * redisplay.c (regenerate_window):
+ * redisplay.c (REGEN_INC_FIND_START_END):
+ * redisplay.c (redisplay_frame):
+ * redisplay.c (point_in_line_start_cache):
+ * regex.c:
+ * regex.c (ABORT):
+ * regex.c (re_compile_fastmap):
+ * regex.c (re_match_2_internal):
+ * regex.c (regerror):
+ * scrollbar-gtk.c (gtk_scrollbar_loop):
+ * scrollbar-gtk.c (scrollbar_cb):
+ * scrollbar-gtk.c (gtk_update_frame_scrollbars):
+ * scrollbar-msw.c (mswindows_handle_scrollbar_event):
+ * scrollbar-x.c (x_update_scrollbar_instance_status):
+ * scrollbar-x.c (x_scrollbar_loop):
+ * scrollbar-x.c (x_update_frame_scrollbars):
+ * search.c (search_command):
+ * search.c (Fmatch_data):
+ * select-x.c (motif_clipboard_cb):
+ * signal.c (interrupt_signal):
+ * specifier.c (specifier_add_spec):
+ * specifier.c (specifier_instance_from_inst_list):
+ * specifier.c (specifier_instance):
+ * specifier.h:
+ * specifier.h (struct specifier_methods):
+ * strftime.c (add_num_time_t):
+ * sunplay.c (init_device):
+ * symbols.c (Fsetplist):
+ * symbols.c (do_symval_forwarding):
+ * symbols.c (store_symval_forwarding):
+ * symbols.c (Fset):
+ * symbols.c (Fbuilt_in_variable_type):
+ * symbols.c (decode_magic_handler_type):
+ * symbols.c (handler_type_from_function_symbol):
+ * syntax.c (update_syntax_cache):
+ * sysdep.c (init_baud_rate):
+ * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
+ * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
+ * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
+ * toolbar.c (get_toolbar_coords):
+ * ui-gtk.c (build_gtk_boxed):
+ * ui-gtk.c (describe_gtk_arg):
+ * ui-gtk.c (gtk_type_to_lisp):
+ * ui-gtk.c (lisp_to_gtk_type):
+ * ui-gtk.c (lisp_to_gtk_ret_type):
+ * ui-gtk.c (lisp_to_flag):
+ * unexnt.c (read_in_bss):
+ * unexnt.c (map_in_heap):
+ * window.c (real_window):
+ * window.c (window_display_lines):
+ * window.c (window_display_buffer):
+ * window.c (set_window_display_buffer):
+ * window.c (window_modeline_height):
+ * window.c (unshow_buffer):
+ * window.c (window_loop):
+ * window.c (Fget_lru_window):
+ * window.c (Fsplit_window):
+ * window.c (Fset_window_configuration):
+ * window.c (saved_window_index):
+ * xgccache.c (gc_cache_lookup):
+ abort() -> ABORT(). Eliminate preprocessor games with abort()
+ since it creates huge problems in VC7, solvable only by including
+ massive amounts of files in every compile (and not worth it).
+
+ * sysdep.c:
+ * sysproc.h:
+ Inclusion of process.h does not need to be before lisp.h any more.
+ Move later and remove comment about abort().
+
+2005-01-26 Arnaud Giersch <arnaud.giersch@free.fr>
+
+ * regex.c (re_match_2_internal):
+ Correctly initialize loop which clears uninitialized registers.
+
+2005-01-28 Vin Shelton <acs@xemacs.org>
+
+ * sheap.c (more_static_core): Applied Ben's version of the long
+ string patch.
+
+2005-01-24 Vin Shelton <acs@xemacs.org>
+
+ * sheap.c (more_static_core): Reformatted printf string so
+ gcc-3.3.3 will compile this on Cygwin.
+
+2004-02-22 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * console.c (function_key_map): Reference `key-binding'.
+
+ * keymap.c (Vkey_translation_map): Improve docstring.
+
+2004-03-30 Zajcev Evgeny <zevlg@yandex.ru>
+
+ * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
+ * window.c (window_loop): [fix] Take into account
+ `allow-deletion-of-last-visible-frame' variable.
+ * window.c (replace-buffer-in-windows): Ditto.
+
+2004-12-15 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
+
+2005-01-20 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * event-gtk.c: Recognise AltGr as a valid modifier.
+
+2005-01-12 Ville Skyttä <scop@xemacs.org>
+
+ * console-x.h: #include X11/keysym.h before xintrinsic.h.
+
+2005-01-13 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Fix backreference bug caught by test suite.
+
+ * regex.c (regex_compile):
+ Make backref duplicate internal register.
+
+2005-01-13 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Documentation, code clarification, and warning suppression.
+
+ * regex.c (regex_compile):
+ Improve comments.
+ (re_match_2_internal):
+ Improve comments and avoid redundant braces. [Most of the big hunk
+ at l. 4710 is indentation; use diff -w to see the real changes.]
+ (alt_match_null_string_p):
+ (common_op_match_null_string_p):
+ Avoid shadowing global on Mac OS X 10.4, at least.
+
+2004-09-08 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
+ introduced with shy groups fix). [Already applied, probably
+ with the second "fix shy groups" patch of 2004-10-07.]
+
+2005-01-10 Steve Youngs <steve@sxemacs.org>
+
+ From Andrey Slusar <anrays@gmail.com>:
+
+ * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
+
+2004-11-21 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * Makefile (RECURSIVE_MAKE): Removed.
+ * Makefile (RECURSIVE_MAKE_ARGS): New. The new method for
+ handling parallel builds.
+
+2004-09-08 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * Makefile.in.in: Enable support for parallel builds.
+
+2005-01-09 Steve Youngs <steve@sxemacs.org>
+
+ From Andrey Slusar <anrays@gmail.com>:
+
+ * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
+ FreeBSD version is >= 199701 _and_ < 600006.
+
+2005-01-06 Zajcev Evgeny <zevlg@yandex.ru>
+
+ * scrollbar.c (compute_scrollbar_instance_usage):
+ Only call device method compute_scrollbar_instance_usage() if it
+ is defined.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2004-12-04 Vin Shelton <acs@xemacs.org>
+
+ * depend: Regenerated.
+
+2004-10-07 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * regex.c (re_match_2_internal): Map internal to external
+ registers. Fixes bug identified by Steve Youngs 2004-09-30
+ <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
+
+2004-09-02 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * buffer.c (Frecord_buffer): Make sure the argument is buffer
+ to fix a crash. Also, check the buffer is live and it
+ really exists in buffer_list. If the buffer is not in the list,
+ prepend it.
+
+2004-09-08 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Fix shy groups by implementing recording of all groups for
+ repetition and backtracking. Backport from 21.5.
+
+ * regex.h (struct re_pattern_buffer): Add members re_ngroups,
+ external_to_internal_register, external_to_internal_register_size,
+ and update comments for re_nsub.
+
+ * regex.c (re_opcode_t): Update comments.
+ (print_compiled_pattern): Ouput external_to_internal_register,
+ external_to_internal_register_size, and re_ngroups for debugging.
+ (INIT_REG_TRANSLATE_SIZE): New manifest constant.
+ (regex_compile): Update header comment.
+ Ensure that all groups are recorded so that repeat matches and
+ backtracking work correctly. Comment related warning for groups >
+ 255.
+ (re_search_2): Construct map of API indexes (which count only
+ nonshy groups) to internal register numbers, and keep it updated.
+
+2004-07-27 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * frame-gtk.c (gtk_make_frame_visible):
+ * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
+ show/hide. This is what X uses and is prevents previously hidden
+ widgets from suddenly reappearing.
+ * gtk-xemacs.c (gtk_xemacs_paint):
+ * gtk-xemacs.c (gtk_xemacs_draw):
+ * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
+ drawable.
+ * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
+ size and location changes so that they can be seen before the next
+ idle event. Without this rapid changes to scrollbar properties
+ are not seen.
+
+2004-07-02 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * console-gtk.h:
+ * console-gtk.h (struct gtk_frame):
+ * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
+ Add hash tables track tab_control callback data.
+ Added #defines for GTK object data names.
+ Declaration of gtk_widget_to_frame().
+ * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
+ * frame-gtk.c (gtk_widget_to_frame): New.
+ * frame-gtk.c (gtk_create_widgets):
+ * frame-gtk.c (allocate_gtk_frame_struct):
+ * frame-gtk.c (gtk_mark_frame):
+ Manage frame callbakc hash tables.
+ * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
+ * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
+ * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
+ of widget size.
+ * glyphs-gtk.c (gtk_widget_query_geometry): New
+ * glyphs-gtk.c (gtk_register_gui_item): New
+ * glyphs-gtk.c (gtk_add_tab_item): New
+ * glyphs-gtk.c (gtk_tab_control_callback): New
+ * glyphs-gtk.c (gtk_tab_control_instantiate): New
+ * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
+ Use correct list when loading item.
+ * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
+ Register new methods.
+ * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
+ default size, for widgets.
+ * gui-x.c: Improved comment.
+ * menubar-gtk.c (__generic_button_callback): Use
+ gtk_widget_to_frame instead of __get_channel.
+ * scrollbar-gtk.c:
+ * ui-gtk.c: Use symbolic names for GTK object data.
+
+2004-06-23 Ilya N. Golubev <gin@mo.msk.ru>
+
+ * s/usg5-4.h (NSIG): Define only inside emacs binary.
+
+2002-03-04 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
+
+2004-06-16 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * malloc.c (morecore): siz is a long because in some architectures
+ (eg ia-64) an int cannot hold the address range. Additional patch
+ from the SuSe distribution.
+
+2004-06-13 Malcolm Purvis <malcolmp@xemacs.org>
+
+ * emacs.c:
+ * malloc.c: lim_data is a long because in some architectures
+ (eg ia-64) an int cannot hold the address range.
+ * mem-limits.h: lim-data is a long. Linux uses getrlimit()
+ instead of ulimit() because ulimit() always returns -1.
+
+2004-06-09 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * search.c: Reenable an ansync semaphore. Remove bogus comments.
+
+2004-06-11 David Kastrup <dak@gnu.org>
+
+ * search.c (match_limit): Don't flag an error if match-data
+ exceeding the allocated search_regs.num_regs gets requested, just
+ return Qnil.
+
+2003-07-21 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
+ replace symbolic color entries with the real colors specified in
+ xpm-color-symbols, before passing the XPM to gtk.
+ * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
+ instead of a GTK specific field, so that it is used in by generic
+ code.
+
+2004-05-05 Chuck Hines <chuck.hines@baesystems.com>
+
+ * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
+ coredump from deref of NULL ptr (ExtData)
+
+2004-04-19 Jerry James <james@xemacs.org>
+
+ * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
+ VALBITS to compute the location of the sign bit.
+ * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
+ of VALBITS with EMACS_INT_MAX.
+ * events.c (Fevent_timestamp): Ditto.
+ * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
+ compute the halfway point to timestamp wraparound.
+ * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
+ EMACS_INT_MIN instead of using VALBITS.
+ * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
+ incorrect number with VALBITS.
+ * fns.c (Frandom): Correct number of integer bits in docstring.
+ Use INT_VALBITS instead of VALBITS to compute the denominator.
+ * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
+ build random numbers.
+
+2004-03-23 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+ * event-gtk.c:
+ * event-gtk.c (gtk_event_to_emacs_event):
+ * menubar-gtk.c:
+ * menubar-gtk.c (gtk_xemacs_menubar_class_init):
+ * menubar-gtk.c (gtk_xemacs_menubar_size_request):
+ * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
+ * menubar-gtk.c (gtk_xemacs_set_accel_keys):
+ * menubar-gtk.c (__activate_menu):
+ * menubar-gtk.c (convert_underscores):
+ * menubar-gtk.c (remove_underscores):
+ * menubar-gtk.c (menu_convert):
+ * menubar-gtk.c (menu_descriptor_to_widget_1):
+ * menubar-gtk.c (menu_descriptor_to_widget):
+ * menubar-gtk.c (menu_can_reuse_widget):
+ * menubar-gtk.c (menu_create_menubar):
+ * menubar-gtk.c (gtk_popup_menu):
+ * menubar-gtk.c (Fgtk_build_xemacs_menu):
+ Added support for Gtk menu bar and menu item mnemonics.
+
+2004-03-23 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * sysdll.c: (dll_function): Added support for finding symbols in
+ Darwin shared libraries as well in Darwin bundles.
+ * sysdll.c (image_for_address): New
+ * sysdll.c (my_find_image): New
+ * sysdll.c (search_linked_libs): New
+
+2004-03-23 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * ui-gtk.c (__internal_callback_marshal): Marshalling data to
+ return to GTK requires a different API to marshalling data to use
+ as GTK parameters.
+ * ui-gtk.c (lisp_to_gtk_ret_type): New.
+
+2004-03-08 Lutz Euler <lutz.euler@freenet.de>
+
+ * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
+
+2004-02-19 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * glyphs.c (process_image_string_instantiator):
+ (Fset_console_type_image_conversion_list):
+ Stop GCC from warning about shadowing of `exp'.
+
+ * redisplay-x.c (x_output_string): Fix unsigned lossage.
+
+2004-02-19 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
+
+2004-02-03 Vin Shelton <acs@xemacs.org>
+
+ * glyphs.c (image_instance_layout): Remove pointless assertion.
+ * regex.c (regex_grow_registers): Return type is void.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
struct frame *f = ew->emacs_frame.frame;
if (! XtIsSubclass (w, emacsFrameClass))
- abort ();
+ ABORT ();
default_face_height_and_width (make_frame (f), &ch, &cw);
if (FRAME_X_TOP_LEVEL_FRAME_P (f))
/* do nothing if we're already that size */
if (w->core.width != width || w->core.height != height)
- if (XtMakeResizeRequest (w, width, height, &w->core.width, &w->core.height)
- == XtGeometryAlmost)
- XtMakeResizeRequest (w, w->core.width, w->core.height, NULL, NULL);
-
- Resize (w);
+ {
+ XtGeometryResult result =
+ XtMakeResizeRequest (w, width, height, &w->core.width, &w->core.height);
+ if (result == XtGeometryNo)
+ return;
+ if (result == XtGeometryAlmost)
+ XtMakeResizeRequest (w, w->core.width, w->core.height, NULL, NULL);
+ Resize (w);
+ }
}
#include <X11/VendorP.h>
#include "EmacsShellP.h"
+#define ABORT abort
+
#if defined (DEFINE_TOP_LEVEL_EMACS_SHELL)
#define EMACS_SHELL_WIDGET TopLevelEmacsShellWidget
#define SUPERCLASS_WIDGET_CLASS topLevelShellWidgetClass
}
if (!gcer)
- abort ();
+ ABORT ();
/* call it to actually make the geometry request */
scer = (ShellClassExtensionRec *) gcer;
XtGeometryResult result;
if (reentrant)
- abort ();
+ ABORT ();
reentrant++;
#ifdef DEBUG_GEOMETRY_MANAGEMENT
#include "EmacsShell.h"
#include "ExternalShell.h"
+#define ABORT abort
+
#if 0 /* Not currently used */
/* The root_geometry_manager() method in Shell.c is fucked up with regard
TopLevelEmacsShellUpdateSizeHints (gw);
#ifdef EXTERNAL_WIDGET
else if (XtIsSubclass (gw, externalShellWidgetClass))
- /* do what ??? Don't abort! */;
+ /* do what ??? Don't ABORT! */;
#endif
else if (XtIsSubclass (gw, transientEmacsShellWidgetClass))
TransientEmacsShellUpdateSizeHints (gw);
else
- abort ();
+ ABORT ();
}
.SUFFIXES: .c .h .o .i .s .dep
#ifdef USE_GNU_MAKE
-RECURSIVE_MAKE=$(MAKE)
+RECURSIVE_MAKE_ARGS=
#else
@SET_MAKE@
-RECURSIVE_MAKE=@RECURSIVE_MAKE@
+RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
#endif
SHELL=/bin/sh
lwlib_libs = ../lwlib/liblw.a
lwlib_deps = $(lwlib_libs)
$(lwlib_libs) :
- cd ../lwlib && $(RECURSIVE_MAKE)
+ cd ../lwlib && $(MAKE) $(RECURSIVE_MAKE_ARGS)
x_objs=console-x.o device-x.o event-Xt.o frame-x.o\
glyphs-x.o objects-x.o redisplay-x.o select-x.o xgccache.o
cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all)
cflags = $(CFLAGS) $(cppflags)
-#if defined (WIN32_NATIVE) || defined (CYGWIN)
+#if defined (WIN32_NATIVE)
ldflags = $(LDFLAGS) -mwindows -e _mainCRTStartup $(ld_switch_all) $(ld_dynamic_link_flags)
-# if defined (CYGWIN)
-ldflags += -Wl,--script=s/cygwin.sc
-# endif
#else
ldflags = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags)
#endif
+#if defined (CYGWIN) && !defined (PDUMP)
+ldflags += -Wl,--script=s/cygwin.sc
+#endif
+
#ifdef SOLARIS2
%.o : %.c
#else
#ifdef DYNODUMP
dynodump_deps = ../dynodump/dynodump.so
../dynodump/dynodump.so:
- cd ../dynodump && $(RECURSIVE_MAKE)
+ cd ../dynodump && $(MAKE) $(RECURSIVE_MAKE_ARGS)
#endif /* DYNODUMP */
${libsrc}DOC: ${EXE_TARGET} update-elc.stamp
-${DUMPENV} ./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/update-elc.el
all-elc all-elcs:
- cd .. && $(RECURSIVE_MAKE) all-elc
+ cd .. && $(MAKE) $(RECURSIVE_MAKE_ARGS) all-elc
#ifdef I18N3
cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po
${libsrc}make-msgfile:
- cd ${libsrc} && $(RECURSIVE_MAKE) make-msgfile
+ cd ${libsrc} && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-msgfile
${libsrc}make-po:
- cd ${libsrc} && $(RECURSIVE_MAKE) make-po
+ cd ${libsrc} && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-po
#endif /* I18N3 */
${libsrc}make-dump-id:
- cd ${libsrc} && $(RECURSIVE_MAKE) make-dump-id
+ cd ${libsrc} && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-dump-id
${libsrc}make-docfile:
- cd ${libsrc} && $(RECURSIVE_MAKE) make-docfile
+ cd ${libsrc} && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-docfile
## Lint Section
LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES)
break;
}
else if (next == 0)
- abort ();
+ ABORT ();
else
header = next;
}
a fatal error if "trailer" is null. */
if (trailer == 0)
- abort ();
+ ABORT ();
/* Discard segments that do not contain our argument address. */
block = (long *) trailer->this_address;
size = trailer->this_size;
if (block == 0 || size == 0)
- abort ();
+ ABORT ();
trailer = (struct stk_trailer *) trailer->link;
if ((block <= address) && (address < (block + size)))
break;
do
{
if (trailer->this_size <= 0)
- abort ();
+ ABORT ();
result += trailer->this_size;
trailer = (struct stk_trailer *) trailer->link;
}
Lisp_Object cons = Frassq (buf, Vbuffer_alist);
Lisp_Object frmcons, devcons, concons;
if (NILP (cons))
- return; /* abort() ? */
+ return; /* ABORT() ? */
Vbuffer_alist = delq_no_quit (cons, Vbuffer_alist);
FRAME_LOOP_NO_BREAK (frmcons, devcons, concons)
{
REGISTER Lisp_Object lynk, prev;
struct frame *f = selected_frame ();
+ int buffer_found = 0;
+ CHECK_BUFFER (buffer);
+ if (!BUFFER_LIVE_P (XBUFFER (buffer)))
+ return Qnil;
prev = Qnil;
for (lynk = Vbuffer_alist; CONSP (lynk); lynk = XCDR (lynk))
{
if (EQ (XCDR (XCAR (lynk)), buffer))
- break;
+ {
+ buffer_found = 1;
+ break;
+ }
prev = lynk;
}
- /* Effectively do Vbuffer_alist = delq_no_quit (lynk, Vbuffer_alist) */
- if (NILP (prev))
- Vbuffer_alist = XCDR (Vbuffer_alist);
+ if (buffer_found)
+ {
+ /* Effectively do Vbuffer_alist = delq_no_quit (lynk, Vbuffer_alist) */
+ if (NILP (prev))
+ Vbuffer_alist = XCDR (Vbuffer_alist);
+ else
+ XCDR (prev) = XCDR (XCDR (prev));
+ XCDR (lynk) = Vbuffer_alist;
+ Vbuffer_alist = lynk;
+ }
else
- XCDR (prev) = XCDR (XCDR (prev));
- XCDR (lynk) = Vbuffer_alist;
- Vbuffer_alist = lynk;
+ Vbuffer_alist = Fcons (Fcons (Fbuffer_name(buffer), buffer), Vbuffer_alist);
/* That was the global one. Now do the same thing for the
per-frame buffer-alist. */
+ buffer_found = 0;
prev = Qnil;
for (lynk = f->buffer_alist; CONSP (lynk); lynk = XCDR (lynk))
{
if (EQ (XCDR (XCAR (lynk)), buffer))
- break;
+ {
+ buffer_found = 1;
+ break;
+ }
prev = lynk;
}
- /* Effectively do f->buffer_alist = delq_no_quit (lynk, f->buffer_alist) */
- if (NILP (prev))
- f->buffer_alist = XCDR (f->buffer_alist);
+ if (buffer_found)
+ {
+ /* Effectively do f->buffer_alist = delq_no_quit (lynk, f->buffer_alist) */
+ if (NILP (prev))
+ f->buffer_alist = XCDR (f->buffer_alist);
+ else
+ XCDR (prev) = XCDR (XCDR (prev));
+ XCDR (lynk) = f->buffer_alist;
+ f->buffer_alist = lynk;
+ }
else
- XCDR (prev) = XCDR (XCDR (prev));
- XCDR (lynk) = f->buffer_alist;
- f->buffer_alist = lynk;
+ f->buffer_alist = Fcons (Fcons (Fbuffer_name(buffer), buffer),
+ f->buffer_alist);
return Qnil;
}
if ((XINT (buffer_local_flags.slot) != -2 && \
XINT (buffer_local_flags.slot) != -3) \
!= !(NILP (XBUFFER (Vbuffer_local_symbols)->slot))) \
- abort ()
+ ABORT ()
#include "bufslots.h"
#undef MARKED_SLOT
}
default:
- abort();
+ ABORT();
break;
}
return stack_ptr;
break;
default:
- abort();
+ ABORT();
break;
}
}
program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (f->instructions));
optimize_byte_code (f->instructions, f->constants,
program, &program_length, &varbind_count);
- f->specpdl_depth = XINT (Flength (f->arglist)) + varbind_count;
+ f->specpdl_depth = (unsigned short) (XINT (Flength (f->arglist)) +
+ varbind_count);
f->instructions =
make_opaque (program, program_length * sizeof (Opbyte));
}
f->constants = XCDR (tem);
return function;
}
- abort ();
+ ABORT ();
return Qnil; /* not reached */
}
{
switch (type)
{
- default: abort();
+ default: ABORT();
case CHAR_TABLE_TYPE_GENERIC: return Qgeneric;
case CHAR_TABLE_TYPE_SYNTAX: return Qsyntax;
case CHAR_TABLE_TYPE_DISPLAY: return Qdisplay;
break;
default:
- abort ();
+ ABORT ();
}
return Qnil;
return (0 << 8) | 255;
#endif
default:
- abort ();
+ ABORT ();
return 0;
}
}
}
#endif
else
- abort ();
+ ABORT ();
}
else
{
#endif /* not UTF2000 */
#endif /* not MULE */
+#ifdef UTF2000
+ case CHARTAB_RANGE_DEFAULT:
+ return ct->default_value;
+#endif /* not UTF2000 */
+
default:
- abort ();
+ ABORT ();
}
return Qnil; /* not reached */
break;
default:
- abort ();
+ ABORT ();
}
return 0; /* not reached */
break;
default:
- abort ();
+ ABORT ();
}
return 0;
}
default:
- abort ();
+ ABORT ();
}
return 0;
ranjarg = make_char (range->ch);
break;
default:
- abort ();
+ ABORT ();
}
closure->retval = call2 (closure->function, ranjarg, val);
Fput_char_table (make_char (i), val, chartab);
}
else
- abort ();
+ ABORT ();
}
else
Fput_char_table (range, val, chartab);
if (curX == FrameCols)
{
if (!MagicWrap || curY >= FrameRows - 1)
- abort ();
+ ABORT ();
if (termscript)
putc ('\r', termscript);
putchar ('\r');
/* Are we iconfied right now? */
unsigned int iconified_p :1;
+ /* Data for widget callbacks. It is impossible to pass all the necessary
+ data through the GTK signal API so instead it is registered here and the
+ hash key is passed instead. */
+ Lisp_Object widget_instance_hash_table;
+ Lisp_Object widget_callback_hash_table;
+ Lisp_Object widget_callback_ex_hash_table;
};
#define FRAME_GTK_DATA(f) FRAME_TYPE_DATA (f, gtk)
#define FRAME_GTK_TOTALLY_VISIBLE_P(f) (FRAME_GTK_DATA (f)->totally_visible_p)
#define FRAME_GTK_VISIBLE_P(f) (FRAME_GTK_DATA (f)->visible_p)
#define FRAME_GTK_TOP_LEVEL_FRAME_P(f) (FRAME_GTK_DATA (f)->top_level_frame_p)
+#define FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_instance_hash_table)
+#define FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_callback_hash_table)
+#define FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_callback_ex_hash_table)
+
+/* Special data used to quickly identify the frame that contains a widget. */
+#define GTK_DATA_FRAME_IDENTIFIER "xemacs::frame"
+
+/* The hashcode in the frame hash table of a tab_control tab's callback data. */
+#define GTK_DATA_TAB_HASHCODE_IDENTIFIER "xemacs::tab_hashcode"
+
+#define GTK_DATA_GUI_IDENTIFIER "xemacs::gui_id"
/* Variables associated with the X display frame this emacs is using. */
extern int gtk_selection_timeout;
+struct frame *gtk_widget_to_frame (GtkWidget *);
struct frame *gtk_any_window_to_frame (struct device *d, GdkWindow *);
struct frame *gtk_window_to_frame (struct device *d, GdkWindow *);
struct frame *gtk_any_widget_or_parent_to_frame (struct device *d, GtkWidget *widget);
/*
* Random helper functions for debugging.
* Intended for use in the MSVC "Watch" window which doesn't like
- * the aborts that the error_check_foo() functions can make.
+ * the ABORTs that the error_check_foo() functions can make.
*/
struct lrecord_header *DHEADER (Lisp_Object obj);
struct lrecord_header *
#ifdef HAVE_X_WINDOWS
#include "console.h"
+/* must come before Xutil.h, which is included indirectly from xintrinsic.h,
+ to avoid breakage in keysym-parsing macros from X11R6, at least X.org as
+ of 2005-01-17, and probably XFree86 too from reports on c.e.x */
+#include <X11/keysym.h>
#include "xintrinsic.h"
#include <X11/cursorfont.h>
-#include <X11/keysym.h>
#include <X11/Xatom.h>
#include <X11/StringDefs.h>
keymaps have no binding for the current key sequence but
`function-key-map' binds a suffix of the sequence to a vector or string,
`read-key-sequence' replaces the matching suffix with its binding, and
-continues with the new sequence.
+continues with the new sequence. See `key-binding'.
The events that come from bindings in `function-key-map' are not
themselves looked up in `function-key-map'.
if ((XINT (console_local_flags.slot) != -2 && \
XINT (console_local_flags.slot) != -3) \
!= !(NILP (XCONSOLE (Vconsole_local_symbols)->slot))) \
- abort ()
+ ABORT ()
#include "conslots.h"
#undef MARKED_SLOT
}
EMACS_INT
sign_extend_lisp_int (EMACS_INT num)
{
- if (num & (1L << (VALBITS - 1)))
- return num | ((-1L) << VALBITS);
+ if (num & (1L << (INT_VALBITS - 1)))
+ return num | ((-1L) << INT_VALBITS);
else
- return num & ((1L << VALBITS) - 1);
+ return num & (EMACS_INT) ((1UL << INT_VALBITS) - 1);
}
\f
break;
default:
- abort ();
+ ABORT ();
}
if (need_to_mark_elem && ! marked_p (elem))
case WEAK_LIST_VALUE_ASSOC: return Qvalue_assoc;
case WEAK_LIST_FULL_ASSOC: return Qfull_assoc;
default:
- abort ();
+ ABORT ();
}
return Qnil; /* not reached */
stderr_out ("Assertion failed in %s at line %d\n", \
__FILE__, __LINE__); \
else \
- abort (); \
+ ABORT (); \
} \
} \
} while (0)
console-gtk.o: $(LISP_H) char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h elhash.h mule-charset.h process.h redisplay.h
device-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h faces.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gtk-xemacs.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h toolbar.h window.h winslots.h
dialog-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
-event-gtk.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console-tty.h console.h database.h device.h dragdrop.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h glyphs.h gtk-xemacs.h gui.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h
+event-gtk.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console-tty.h console.h database.h device.h dragdrop.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h glyphs.h gtk-xemacs.h gui.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h menubar.h mule-charset.h multibyte.h objects-gtk.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h
frame-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h dragdrop.h elhash.h events.h extents.h faces.h frame.h frameslots.h glyphs-gtk.h glyphs.h gtk-xemacs.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h sysdll.h systime.h toolbar.h ui-gtk.h window.h winslots.h
gccache-gtk.o: $(LISP_H) gccache-gtk.h hash.h
-glyphs-gtk.o: $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h faces.h file-coding.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h imgproc.h insdel.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h sysfile.h toolbar.h ui-gtk.h window.h winslots.h
+glyphs-gtk.o: $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h faces.h file-coding.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h imgproc.h insdel.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h sysfile.h systime.h toolbar.h ui-gtk.h window.h winslots.h
gui-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h opaque.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
menubar-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h systime.h toolbar.h ui-gtk.h window.h winslots.h
objects-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h insdel.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h specifier.h
XSETDEVICE (device, d);
/* gtk_init() and even gtk_check_init() are so brain dead that
- getting an empty argv array causes them to abort. */
+ getting an empty argv array causes them to ABORT. */
if (NILP (Vgtk_initial_argv_list))
{
signal_simple_error ("gtk-initial-argv-list must be set before creating Gtk devices", Vgtk_initial_argv_list);
if (EQ (prop, Qright_margin)) return 1440;
if (EQ (prop, Qtop_margin)) return 720;
if (EQ (prop, Qbottom_margin)) return 720;
- abort ();
+ ABORT ();
return 0;
}
case TTY_INIT_SUCCESS:
break;
default:
- abort ();
+ ABORT ();
}
init_one_device (d);
(STRINGP (Vinvocation_name) ?
(char *) XSTRING_DATA (Vinvocation_name) : FALLBACK_RESOURCE_NAME),
DisplayString (dpy) ? DisplayString (dpy) : "???");
- abort();
+ ABORT();
}
#undef FALLBACK_RESOURCE_NAME
vi_in.visualid = XVisualIDFromVisual (visual);
vi_out = XGetVisualInfo (dpy, /*VisualScreenMask|*/VisualIDMask,
&vi_in, &out_count);
- if (! vi_out) abort ();
+ if (! vi_out) ABORT ();
d = vi_out [0].depth;
XFree ((char *) vi_out);
return d;
case EXTENSION_RECORD_TYPE:
DGifGetExtension(GifFile,&sp->Function,&ExtData);
- do {
+ while (ExtData != NULL) {
if (AddExtensionBlock(sp, ExtData[0], ExtData+1) == GIF_ERROR)
GifInternError(GifFile, D_GIF_ERR_NOT_ENOUGH_MEM);
DGifGetExtensionNext(GifFile, &ExtData);
- } while (ExtData != NULL);
+ }
break;
case TERMINATE_RECORD_TYPE:
case ' ': spec.space_flag = 1; break;
case '#': spec.number_flag = 1; break;
case '0': spec.zero_flag = 1; break;
- default: abort ();
+ default: ABORT ();
}
NEXT_ASCII_BYTE (ch);
}
arg.d = va_arg (vargs, double);
else if (strchr (string_converters, ch))
arg.bp = va_arg (vargs, Bufbyte *);
- else abort ();
+ else ABORT ();
Dynarr_add (args, arg);
}
stderr_out ("Unsupported count type : %d (line = %d, code=%ld)\n",
idesc[line].type, line, (long)code);
pdump_backtrace ();
- abort ();
+ ABORT ();
}
count += delta;
return count;
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
pdump_backtrace ();
- abort ();
+ ABORT ();
};
}
}
if (me>65536)
{
stderr_out ("Backtrace overflow, loop ?\n");
- abort ();
+ ABORT ();
}
backtrace[me].obj = objh;
backtrace[me].position = 0;
if (me>65536)
{
stderr_out ("Backtrace overflow, loop ?\n");
- abort ();
+ ABORT ();
}
backtrace[me].obj = 0;
backtrace[me].position = 0;
}
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
- abort ();
+ ABORT ();
}
}
}
}
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
- abort ();
+ ABORT ();
};
}
}
else if (ht->test_function == lisp_object_eql_equal)
DO_NOTHING;
else
- abort ();
+ ABORT ();
if (ht->count || !print_readably)
{
break;
default:
- abort ();
+ ABORT ();
}
return make_general_lisp_hash_table (hash_function, test_function,
else if (EQ (key, Qdata)) data = value;
else if (EQ (key, Qtype))/*obsolete*/ weakness = value;
else
- abort ();
+ ABORT ();
}
/* Create the hash table. */
#endif
/* Number of bytes of writable memory we can expect to be able to get */
-unsigned int lim_data;
+unsigned long lim_data;
/* WARNING!
Cause XEmacs to enter the debugger.
On some systems, there may be no way to do this gracefully; if so,
nothing happens unless ABORT is non-nil, in which case XEmacs will
-abort() -- a sure-fire way to immediately get back to the debugger,
+ABORT() -- a sure-fire way to immediately get back to the debugger,
but also a sure-fire way to kill XEmacs (and dump core on Unix
systems)!
*/
{
debugging_breakpoint ();
if (!NILP (abort_))
- abort ();
+ ABORT ();
return Qnil;
}
}
if (best < 0)
- abort ();
+ ABORT ();
/* Copy the highest priority remaining option, with its args, to NEW_ARGV. */
new_argv[to++] = argv[best];
{
#ifdef DOUG_LEA_MALLOC
if (mallopt (M_MMAP_MAX, 0) != 1)
- abort();
+ ABORT();
#endif
run_temacs_argc = 0;
if (! SETJMP (run_temacs_catch))
if (rc != 0)
{
stderr_out ("malloc_set_state failed, rc = %d\n", rc);
- abort ();
+ ABORT ();
}
#if 0
free (malloc_state_ptr);
(defined(__GLIBC__) && __GLIBC_MINOR__ < 1 && !defined(MULE)) || \
defined(DEBUG_DOUG_LEA_MALLOC)
if(mallopt (M_MMAP_MAX, 0) != 1)
- abort();
+ ABORT();
#endif
#ifdef REL_ALLOC
r_alloc_reinit ();
in one session without having to recompile. */
/* #define ASSERTIONS_DONT_ABORT */
-#ifdef USE_ASSERTIONS
/* This highly dubious kludge ... shut up Jamie, I'm tired of your slagging. */
static int in_assert_failed;
#undef fprintf
#endif
-#undef abort /* avoid infinite #define loop... */
-
#if defined (WIN32_NATIVE) && defined (DEBUG_XEMACS)
#define enter_debugger() DebugBreak ()
#else
enter_debugger ();
#if !defined (ASSERTIONS_DONT_ABORT)
- abort ();
+ abort (); /* The real abort(), this time */
#endif
inhibit_non_essential_printing_operations = 0;
in_assert_failed = 0;
}
-#endif /* USE_ASSERTIONS */
#ifdef QUANTIFY
DEFUN ("quantify-start-recording-data", Fquantify_start_recording_data,
#ifdef DEFEND_AGAINST_THROW_RECURSION
/* die if we recurse more than is reasonable */
if (++throw_level > 20)
- abort();
+ ABORT();
#endif
/* If bomb_out_p is t, this is being called from Fsignal as a
/* let's not use stderr_out() here, because that does a bunch of
things that might not be safe yet. */
fprintf (stderr, "Error before initialization is complete!\n");
- abort ();
+ ABORT ();
}
if (gc_in_progress || in_display)
/* This is one of many reasons why you can't run lisp code from redisplay.
There is no sensible way to handle errors there. */
- abort ();
+ ABORT ();
conditions = Fget (sig, Qerror_conditions, Qnil);
warn_when_safe_lispobj (Vcurrent_warning_class, Qwarning,
Fcons (error_symbol, data));
Fthrow (Qunbound_suspended_errors_tag, Qnil);
- abort (); /* Better not get here! */
+ ABORT (); /* Better not get here! */
}
RETURN_UNGCPRO (signal_1 (error_symbol, data));
}
case MappingKeyboard: x_reset_key_mapping (d); break;
case MappingModifier: x_reset_modifier_mapping (d); break;
case MappingPointer: /* Do something here? */ break;
- default: abort();
+ default: ABORT();
}
}
return;
}
}
- abort ();
+ ABORT ();
}
static void
/* JH: We use this because I think there's a possibility this
is called before the device is properly set up, in which case
- I don't want to abort. */
+ I don't want to ABORT. */
extern struct device *get_device_from_display_1 (Display *dpy);
static
#include "dragdrop.h"
#endif
+#ifdef HAVE_MENUBARS
+# include "menubar.h"
+#endif
+
#if defined (HAVE_OFFIX_DND)
#include "offix.h"
#endif
Lisp_Object Qkey_mapping;
Lisp_Object Qsans_modifiers;
-static void enqueue_gtk_dispatch_event (Lisp_Object event);
+void enqueue_gtk_dispatch_event (Lisp_Object event);
+/*
+ * Identify if the keysym is a modifier. This implementation mirrors x.org's
+ * IsModifierKey(), but for GDK keysyms.
+ */
+#ifdef GDK_ISO_Lock
+#define IS_MODIFIER_KEY(keysym) \
+ ((((keysym) >= GDK_Shift_L) && ((keysym) <= GDK_Hyper_R)) \
+ || (((keysym) >= GDK_ISO_Lock) && \
+ ((keysym) <= GDK_ISO_Last_Group_Lock)) \
+ || ((keysym) == GDK_Mode_switch) \
+ || ((keysym) == GDK_Num_Lock))
+#else
#define IS_MODIFIER_KEY(keysym) \
((((keysym) >= GDK_Shift_L) && ((keysym) <= GDK_Hyper_R)) \
|| ((keysym) == GDK_Mode_switch) \
|| ((keysym) == GDK_Num_Lock))
+#endif
\f
static Lisp_Object dispatch_event_queue, dispatch_event_queue_tail;
-static void
+void
enqueue_gtk_dispatch_event (Lisp_Object event)
{
enqueue_event (event, &dispatch_event_queue, &dispatch_event_queue_tail);
GdkEventKey *key_event = &gdk_event->key;
Lisp_Object keysym;
+#ifdef HAVE_MENUBARS
+ /* If the user wants see if the event is a menu bar accelerator.
+ The process of checking absorbs the event and starts menu
+ processing so send a null event into XEmacs to make sure it
+ does nothing.
+ */
+ if (!NILP (Vmenu_accelerator_enabled)
+ && gtk_accel_groups_activate(GTK_OBJECT (FRAME_GTK_SHELL_WIDGET(frame)),
+ key_event->keyval,
+ *state))
+ {
+ zero_event(emacs_event);
+ return 1;
+ }
+#endif
+
/* This used to compute the frame from the given X window and
store it here, but we really don't care about the frame. */
emacs_event->channel = DEVICE_CONSOLE (d);
* Timeout event matches if interval_id is equal to that of the given event.
* Keypress event matches if logical AND between modifiers bitmask of the
* event in the queue and that of the given event is non-zero.
- * For all other event types, this function aborts.
+ * For all other event types, this function ABORTs.
*/
Lisp_Object
case EVENT_STREAM_READ:
error ("Can't read events in -batch mode");
default:
- abort ();
+ ABORT ();
}
}
else if (!event_stream)
Lisp_Object lid;
id = event_stream_generate_wakeup (msecs, msecs2, function, object, 0);
lid = make_int (id);
- if (id != XINT (lid)) abort ();
+ if (id != XINT (lid)) ABORT ();
return lid;
}
Lisp_Object lid;
id = event_stream_generate_wakeup (msecs, msecs2, function, object, 1);
lid = make_int (id);
- if (id != XINT (lid)) abort ();
+ if (id != XINT (lid)) ABORT ();
return lid;
}
}
if (!NILP (command_event_queue) || !NILP (command_event_queue_tail))
- abort ();
+ ABORT ();
/* Now tack our chain of events back on to the front of the queue.
Actually, since the queue is now drained, we can just replace it.
return;
}
default:
- abort ();
+ ABORT ();
}
}
Lisp_Object e = XVECTOR_DATA (Vrecent_keys_ring)[j];
if (NILP (e))
- abort ();
+ ABORT ();
XVECTOR_DATA (val)[i] = Fcopy_event (e, Qnil);
if (++j >= recent_keys_ring_size)
j = 0;
{
if (!n)
{
- /* must copy to avoid an abort() in next_event_internal() */
+ /* must copy to avoid an ABORT() in next_event_internal() */
if (!NILP (XEVENT_NEXT (event)))
return Fcopy_event (event, Qnil);
else
|| e->event_type == button_release_event)
e->event.button.modifiers |= XEMACS_MOD_META;
else
- abort ();
+ ABORT ();
{
int tckn = event_chain_count (Vthis_command_keys);
/* This junk is so that timestamps don't get to be negative, but contain
as many bits as this particular emacs will allow.
*/
- return make_int (((1L << (VALBITS - 1)) - 1) & tiempo);
+ return make_int (EMACS_INT_MAX & tiempo);
}
\f
return retval;
if (errno != EINTR)
{
- /* Something went seriously wrong; don't abort since maybe
+ /* Something went seriously wrong; don't ABORT since maybe
the TTY just died at the wrong time. */
stderr_out ("xemacs: select failed: errno = %d\n", errno);
return 0;
#include "device.h"
#include "console-x.h" /* for x_event_name prototype */
#include "console-gtk.h" /* for gtk_event_name prototype */
-#include "extents.h" /* Just for the EXTENTP abort check... */
+#include "extents.h" /* Just for the EXTENTP ABORT check... */
#include "events.h"
#include "frame.h"
#include "glyphs.h"
case dead_event:
break;
default:
- abort ();
+ ABORT ();
}
mark_object (event->channel);
return event->next;
/* if (e1->timestamp != e2->timestamp) return 0; */
switch (e1->event_type)
{
- default: abort ();
+ default: ABORT ();
case process_event:
return EQ (e1->event.process.process, e2->event.process.process);
&e2->event.magic.underlying_mswindows_event,
sizeof (union magic_data)));
#endif
- abort ();
+ ABORT ();
return 1; /* not reached */
}
if (CONSOLE_MSWINDOWS_P (con))
return HASH2 (hash, e->event.magic.underlying_mswindows_event);
#endif
- abort ();
+ ABORT ();
return 0;
}
return hash;
default:
- abort ();
+ ABORT ();
}
return 0; /* unreached */
e->event.misc.y = coord_y;
break;
default:
- abort();
+ ABORT();
}
}
if (EQ (event, Vlast_command_event) ||
EQ (event, Vlast_input_event) ||
EQ (event, Vunread_command_event))
- abort ();
+ ABORT ();
len = XVECTOR_LENGTH (Vthis_command_keys);
for (i = 0; i < len; i++)
if (EQ (event, XVECTOR_DATA (Vthis_command_keys) [i]))
- abort ();
+ ABORT ();
if (!NILP (Vrecent_keys_ring))
{
int recent_ring_len = XVECTOR_LENGTH (Vrecent_keys_ring);
for (i = 0; i < recent_ring_len; i++)
if (EQ (event, XVECTOR_DATA (Vrecent_keys_ring) [i]))
- abort ();
+ ABORT ();
}
}
#endif /* 0 */
/* Return the last event in a chain.
NOTE: You cannot pass nil as a value here! The routine will
- abort if you do. */
+ ABORT if you do. */
Lisp_Object
event_chain_tail (Lisp_Object event_chain)
return n;
}
-/* Find the event before EVENT in an event chain. This aborts
+/* Find the event before EVENT in an event chain. This ABORTs
if the event is not in the chain. */
Lisp_Object
event_chain = XEVENT_NEXT (event_chain);
}
- abort ();
+ ABORT ();
return Qnil;
}
if (CHAR_OR_CHAR_INTP (event->event.key.keysym))
c = XCHAR_OR_CHAR_INT (event->event.key.keysym);
else if (!SYMBOLP (event->event.key.keysym))
- abort ();
+ ABORT ();
else if (allow_non_ascii && !NILP (Vcharacter_set_property)
/* Allow window-system-specific extensibility of
keysym->code mapping */
case empty_event: strcpy (buf, "empty"); return;
case dead_event: strcpy (buf, "DEAD-EVENT"); return;
default:
- abort ();
+ ABORT ();
return;
}
#define modprint1(x) do { strcpy (buf, (x)); buf += sizeof (x)-1; } while (0)
}
}
else
- abort ();
+ ABORT ();
if (mouse_p)
strncpy (buf, "up", 4);
}
return Qempty;
default:
- abort ();
+ ABORT ();
return Qnil;
}
}
/* This junk is so that timestamps don't get to be negative, but contain
as many bits as this particular emacs will allow.
*/
- return make_int (((1L << (VALBITS - 1)) - 1) &
- XEVENT (event)->timestamp);
+ return make_int (EMACS_INT_MAX & XEVENT (event)->timestamp);
}
-#define TIMESTAMP_HALFSPACE (1L << (VALBITS - 2))
+#define TIMESTAMP_HALFSPACE (1L << (INT_VALBITS - 2))
DEFUN ("event-timestamp<", Fevent_timestamp_lessp, 2, 2, 0, /*
Return true if timestamp TIME1 is earlier than timestamp TIME2.
|| TOOLBAR_BUTTONP (ret_obj1)
#endif
))
- abort ();
+ ABORT ();
if (!NILP (ret_obj2) && !(EXTENTP (ret_obj2) || CONSP (ret_obj2)))
- abort ();
+ ABORT ();
if (char_x)
*char_x = ret_x;
switch (e->event_type)
{
- default: abort ();
+ default: ABORT ();
case process_event:
props = cons3 (Qprocess, e->event.process.process, props);
case ME_ALL_EXTENTS_OPEN: start_open = 1, end_open = 1; break;
case ME_ALL_EXTENTS_CLOSED_OPEN: start_open = 0, end_open = 1; break;
case ME_ALL_EXTENTS_OPEN_CLOSED: start_open = 1, end_open = 0; break;
- default: abort(); return 0;
+ default: ABORT(); return 0;
}
start = buffer_or_string_bytind_to_startind (obj, from,
retval = (start <= exs && exs <= end) || (start <= exe && exe <= end);
break;
default:
- abort(); return 0;
+ ABORT(); return 0;
}
return flags & ME_NEGATE_IN_REGION ? !retval : retval;
}
Lisp_Object obj2 = Qnil;
/* Destroyed extents have 't' in the object field, causing
- extent_object() to abort (maybe). */
+ extent_object() to ABORT (maybe). */
if (EXTENT_LIVE_P (XEXTENT (obj)))
obj2 = extent_object (XEXTENT (obj));
#ifdef ERROR_CHECK_EXTENTS
if (extent_start (extent) > indice &&
extent_start (extent) < indice + closure->length)
- abort ();
+ ABORT ();
if (extent_end (extent) > indice &&
extent_end (extent) < indice + closure->length)
- abort ();
+ ABORT ();
#endif
/* The extent-adjustment code adjusted the extent's endpoints as if
unbind_to (closure.speccount, Qnil). This is because
map_extents_bytind() unbinds before, and with a smaller
speccount. The additional unbind_to() in
- report_extent_modification() would cause XEmacs to abort. */
+ report_extent_modification() would cause XEmacs to ABORT. */
if (closure->speccount == -1)
{
closure->speccount = specpdl_depth ();
case GL_INSIDE_MARGIN: return Qinside_margin;
case GL_WHITESPACE: return Qwhitespace;
default:
- abort ();
+ ABORT ();
return Qnil; /* unreached */
}
}
if (EQ (keyw, Qname))
name_seen = 1;
else
- abort ();
+ ABORT ();
}
if (!name_seen)
{
switch (type)
{
- default: abort ();
+ default: ABORT ();
case EOL_LF: return Qlf;
case EOL_CRLF: return Qcrlf;
case EOL_CR: return Qcr;
case EOL_LF: new_coding_system = CODING_SYSTEM_EOL_LF (cs); break;
case EOL_CR: new_coding_system = CODING_SYSTEM_EOL_CR (cs); break;
case EOL_CRLF: new_coding_system = CODING_SYSTEM_EOL_CRLF (cs); break;
- default: abort (); return Qnil;
+ default: ABORT (); return Qnil;
}
return NILP (new_coding_system) ? coding_system : new_coding_system;
{
switch (XCODING_SYSTEM_TYPE (Fget_coding_system (coding_system)))
{
- default: abort ();
+ default: ABORT ();
case CODESYS_AUTODETECT: return Qundecided;
#ifdef MULE
case CODESYS_SHIFT_JIS: return Qshift_jis;
break;
#endif /* MULE */
default:
- abort ();
+ ABORT ();
}
}
unparse_charset_conversion_specs
(XCODING_SYSTEM (coding_system)->iso2022.output_conv);
else
- abort ();
+ ABORT ();
}
else if (type == CODESYS_CCL)
{
else if (EQ (prop, Qencode))
return XCODING_SYSTEM_CCL_ENCODE (coding_system);
else
- abort ();
+ ABORT ();
}
#endif /* MULE */
else
- abort ();
+ ABORT ();
return Qnil; /* not reached */
}
break;
#endif /* MULE */
default:
- abort ();
+ ABORT ();
}
}
break;
#endif /* MULE */
default:
- abort ();
+ ABORT ();
}
}
}
break;
default:
- abort ();
+ ABORT ();
}
}
}
}
break;
default:
- abort ();
+ ABORT ();
}
}
}
else
{
/* Can this ever be reached? -slb */
- abort();
+ ABORT();
return 0;
}
break;
default:
- abort ();
+ ABORT ();
}
}
char_boundary = 0;
}
break;
default:
- abort ();
+ ABORT ();
}
}
}
present, both functions are identical and ignore the CODESYS argument.)
If support for Mule exists in this Emacs, the file is encoded according
to the value of CODESYS. If this is nil, no code conversion occurs.
+
+As a special kludge to support auto-saving, when START is nil START and
+END are set to the beginning and end, respectively, of the buffer,
+regardless of any restrictions. Don't use this feature. It is documented
+here because write-region handler writers need to be aware of it.
*/
(start, end, filename, append, visit, lockname, codesys))
{
and if so, tries to avoid touching lisp objects.
The only time that Fdo_auto_save() is called while GC is in progress
- is if we're going down, as a result of an abort() or a kill signal.
+ is if we're going down, as a result of an ABORT() or a kill signal.
It's fairly important that we generate autosave files in that case!
*/
static Lisp_Object
float_to_int (double x, const char *name, Lisp_Object num, Lisp_Object num2)
{
- if (x >= ((EMACS_INT) 1 << (VALBITS-1))
- || x <= - ((EMACS_INT) 1 << (VALBITS-1)) - (EMACS_INT) 1)
- {
- if (!UNBOUNDP (num2))
- range_error2 (name, num, num2);
- else
- range_error (name, num);
- }
- return (make_int ((EMACS_INT) x));
+ REGISTER EMACS_INT result = (EMACS_INT) x;
+
+ if (result > EMACS_INT_MAX || result < EMACS_INT_MIN)
+ {
+ if (!UNBOUNDP (num2))
+ range_error2 (name, num, num2);
+ else
+ range_error (name, num);
+ }
+ return make_int (result);
}
double f = extract_float (number);
if (f == 0.0)
- return make_int (- (EMACS_INT)(((EMACS_UINT) 1) << (VALBITS - 1))); /* most-negative-fixnum */
+ return make_int (EMACS_INT_MIN);
#ifdef HAVE_LOGB
{
Lisp_Object val;
DEFUN ("random", Frandom, 0, 1, 0, /*
Return a pseudo-random number.
All integers representable in Lisp are equally likely.
- On most systems, this is 28 bits' worth.
+ On most systems, this is 31 bits' worth.
With positive integer argument N, return random number in interval [0,N).
With argument t, set the random number seed from the current time and pid.
*/
it's possible to get a quotient larger than limit; discarding
these values eliminates the bias that would otherwise appear
when using a large limit. */
- denominator = ((unsigned long)1 << VALBITS) / XINT (limit);
+ denominator = ((unsigned long)1 << INT_VALBITS) / XINT (limit);
do
val = get_random () / denominator;
while (val >= XINT (limit));
break;
default:
val = Qnil;
- abort ();
+ ABORT ();
}
}
}
else
{
- abort (); /* unreachable, since Flength (sequence) did not get
+ ABORT (); /* unreachable, since Flength (sequence) did not get
an error */
return Qnil;
}
}
}
else
- abort (); /* unreachable, since Flength (sequence) did not get an error */
+ ABORT (); /* unreachable, since Flength (sequence) did not get an error */
if (vals)
UNGCPRO;
encoded_length = base64_encode_1 (XLSTREAM (input), encoded,
NILP (no_line_break));
if (encoded_length > allength)
- abort ();
+ ABORT ();
Lstream_delete (XLSTREAM (input));
/* Now we have encoded the region, so we insert the new contents
encoded_length = base64_encode_1 (XLSTREAM (input), encoded,
NILP (no_line_break));
if (encoded_length > allength)
- abort ();
+ ABORT ();
Lstream_delete (XLSTREAM (input));
result = make_string (encoded, encoded_length);
XMALLOC_UNBIND (encoded, allength, speccount);
XMALLOC_OR_ALLOCA (decoded, length * MAX_EMCHAR_LEN, Bufbyte);
decoded_length = base64_decode_1 (XLSTREAM (input), decoded, &cc_decoded_length);
if (decoded_length > length * MAX_EMCHAR_LEN)
- abort ();
+ ABORT ();
Lstream_delete (XLSTREAM (input));
/* Now we have decoded the region, so we insert the new contents
decoded_length = base64_decode_1 (XLSTREAM (input), decoded,
&cc_decoded_length);
if (decoded_length > length * MAX_EMCHAR_LEN)
- abort ();
+ ABORT ();
Lstream_delete (XLSTREAM (input));
result = make_string (decoded, decoded_length);
context_cache.context = context_comment;
context_cache.ccontext = ccontext_none;
context_cache.style = SINGLE_SYNTAX_STYLE (syncode);
- if (context_cache.style == comment_style_none) abort ();
+ if (context_cache.style == comment_style_none) ABORT ();
}
break;
{
context_cache.ccontext = ccontext_start2;
context_cache.style = SYNTAX_START_STYLE (prev_syncode, syncode);
- if (context_cache.style == comment_style_none) abort ();
+ if (context_cache.style == comment_style_none) ABORT ();
}
else if ((SYNTAX_CODE_COMMENT_BITS (syncode) &
SYNTAX_FIRST_CHAR_START) &&
comment-end sequence. ie, '/xxx foo xxx/' or '/xxx foo x/',
where 'x' = '*' -- mct */
{
- if (context_cache.style == comment_style_none) abort ();
+ if (context_cache.style == comment_style_none) ABORT ();
context_cache.ccontext = ccontext_end1;
}
else if (context_cache.ccontext == ccontext_start1)
{
- if (context_cache.context != context_none) abort ();
+ if (context_cache.context != context_none) ABORT ();
context_cache.ccontext = ccontext_none;
}
else if (context_cache.ccontext == ccontext_end1)
{
- if (context_cache.context != context_block_comment) abort ();
+ if (context_cache.context != context_block_comment) ABORT ();
context_cache.context = context_none;
context_cache.ccontext = ccontext_start2;
}
context_cache.context == context_none)
{
context_cache.context = context_block_comment;
- if (context_cache.style == comment_style_none) abort ();
+ if (context_cache.style == comment_style_none) ABORT ();
}
else if (context_cache.ccontext == ccontext_none &&
context_cache.context == context_block_comment)
case context_block_comment: return Qblock_comment;
case context_generic_comment: return Qblock_comment;
case context_generic_string: return Qstring;
- default: abort (); return Qnil; /* suppress compiler warning */
+ default: ABORT (); return Qnil; /* suppress compiler warning */
}
}
#include <config.h>
#include "lisp.h"
+#include "elhash.h"
#include "console-gtk.h"
#include "ui-gtk.h"
#include "glyphs-gtk.h"
#define INTERNAL_BORDER_WIDTH 0
#define TRANSIENT_DATA_IDENTIFIER "xemacs::transient_for"
-#define FRAME_DATA_IDENTIFIER "xemacs::frame"
#define UNMAPPED_DATA_IDENTIFIER "xemacs::initially_unmapped"
#define STUPID_X_SPECIFIC_GTK_STUFF
/* helper functions */
/************************************************************************/
+/* Return the Emacs frame-object which contains the given widget. */
+struct frame *
+gtk_widget_to_frame (GtkWidget *w)
+{
+ struct frame *f = NULL;
+
+ for (; w; w = w->parent)
+ {
+ if ((f = (struct frame *) gtk_object_get_data (GTK_OBJECT (w),
+ GTK_DATA_FRAME_IDENTIFIER)))
+ return (f);
+ }
+
+ return (selected_frame());
+}
+
+
/* Return the Emacs frame-object corresponding to an X window */
struct frame *
gtk_window_to_frame (struct device *d, GdkWindow *wdesc)
gtk_container_set_border_width (GTK_CONTAINER (shell), 0);
- gtk_object_set_data (GTK_OBJECT (shell), FRAME_DATA_IDENTIFIER, f);
+ gtk_object_set_data (GTK_OBJECT (shell), GTK_DATA_FRAME_IDENTIFIER, f);
FRAME_GTK_SHELL_WIDGET (f) = shell;
/* yeah, except the lisp ones */
FRAME_GTK_ICON_PIXMAP (f) = Qnil;
FRAME_GTK_ICON_PIXMAP_MASK (f) = Qnil;
+
+ /*
+ Hashtables of callback data for glyphs on the frame. Make them EQ because
+ we only use ints as keys. Otherwise we run into stickiness in redisplay
+ because internal_equal() can QUIT. See enter_redisplay_critical_section().
+ */
+ FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE (f) =
+ make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQ);
+ FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE (f) =
+ make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQ);
+ FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE (f) =
+ make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQ);
}
\f
mark_object (FRAME_GTK_LISP_WIDGETS (f)[0]);
mark_object (FRAME_GTK_LISP_WIDGETS (f)[1]);
mark_object (FRAME_GTK_LISP_WIDGETS (f)[2]);
+ mark_object (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE (f));
+ mark_object (FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE (f));
+ mark_object (FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE (f));
}
static void
}
else
{
- /* abort()? */
+ /* ABORT()? */
stderr_out ("POINTER_IMAGE_INSTANCEP (f->pointer) failed!\n");
}
}
static void
gtk_make_frame_visible (struct frame *f)
{
- gtk_widget_show_all (FRAME_GTK_SHELL_WIDGET (f));
+ gtk_widget_map (FRAME_GTK_SHELL_WIDGET (f));
gtk_raise_frame_1 (f, 0);
}
static void
gtk_make_frame_invisible (struct frame *f)
{
- gtk_widget_hide (FRAME_GTK_SHELL_WIDGET (f));
+ gtk_widget_unmap(FRAME_GTK_SHELL_WIDGET (f));
}
static int
}
}
else
- abort ();
+ ABORT ();
#ifdef HAVE_TOOLBARS
/* Setting the background clears the entire frame area
void
x_wm_mark_shell_size_user_specified (Widget wmshell)
{
- if (! XtIsWMShell (wmshell)) abort ();
+ if (! XtIsWMShell (wmshell)) ABORT ();
EmacsShellSetSizeUserSpecified (wmshell);
}
void
x_wm_mark_shell_position_user_specified (Widget wmshell)
{
- if (! XtIsWMShell (wmshell)) abort ();
+ if (! XtIsWMShell (wmshell)) ABORT ();
EmacsShellSetPositionUserSpecified (wmshell);
}
void
x_wm_set_shell_iconic_p (Widget shell, int iconic_p)
{
- if (! XtIsWMShell (shell)) abort ();
+ if (! XtIsWMShell (shell)) ABORT ();
/* Because of questionable logic in Shell.c, this sequence can't work:
Arg al [2];
if (!XtIsWMShell (wmshell))
- abort ();
+ ABORT ();
if (cw <= 0 || ch <= 0)
- abort ();
+ ABORT ();
XtSetArg (al [0], XtNwidthInc, cw);
XtSetArg (al [1], XtNheightInc, ch);
Arg al [2];
if (!XtIsWMShell (wmshell))
- abort ();
+ ABORT ();
#ifdef DEBUG_GEOMETRY_MANAGEMENT
/* See comment in EmacsShell.c */
printf ("x_wm_set_variable_size: %d %d\n", width, height);
XClassHint classhint;
if (!XtIsWMShell (shell))
- abort ();
+ ABORT ();
XtGetApplicationNameAndClass (dpy, &app_name, &app_class);
classhint.res_name = frame_name;
struct device *d = XDEVICE (FRAME_DEVICE (f));
if (!XtIsWMShell (w))
- abort ();
+ ABORT ();
if (NILP (DEVICE_X_WM_COMMAND_FRAME (d)))
{
/* OK, we're a top-level shell. */
if (!XtIsWMShell (wmshell))
- abort ();
+ ABORT ();
/* If the EmacsFrame doesn't have a geometry but the shell does,
treat that as the geometry of the frame.
}
}
else
- abort ();
+ ABORT ();
XtSetValues (FRAME_X_TEXT_WIDGET (frm), al, ac);
/* use this instead of XFRAME (DEVICE_SELECTED_FRAME (d)) to catch
the possibility of there being no frames on the device (just created).
There is no point doing this inside of redisplay because errors
- cause an abort(), indicating a flaw in the logic, and error_check_frame()
+ cause an ABORT(), indicating a flaw in the logic, and error_check_frame()
will catch this just as well. */
struct frame *
that is prohibited at the top; you can't delete surrogate
minibuffer frames. */
if (NILP (frame_with_minibuf))
- abort ();
+ ABORT ();
con->default_minibuffer_frame = frame_with_minibuf;
}
break;
default:
- abort (); /* method is incorrectly written */
+ ABORT (); /* method is incorrectly written */
}
return 0;
`left' coordinates to be recomputed even though no frame size
change occurs. --kyle */
if (in_display)
- abort ();
+ ABORT ();
XSETFRAME (frame, f);
/* I originally wrote: "There's really no need to drop core."
I have seen the error of my ways. -slb */
if (strict_free_check)
- abort ();
+ ABORT ();
#endif
printf("Freeing unmalloc'ed memory at %p\n", ptr);
__free_hook = check_free;
#if !defined(__linux__)
/* See above comment. */
if (strict_free_check)
- abort ();
+ ABORT ();
#endif
printf("Freeing %p twice\n", ptr);
__free_hook = check_free;
come from malloc. */
#if !defined(__linux__)
/* see comment in check_free(). */
- abort ();
+ ABORT ();
#endif
printf("Realloc'ing unmalloc'ed pointer at %p\n", ptr);
}
note_block_input (char *file, int line)
{
note_block (file, line, block_type);
- if (interrupt_input_blocked > 2) abort();
+ if (interrupt_input_blocked > 2) ABORT();
}
note_unblock_input (char* file, int line)
if (type == ungcpro_type)
{
if (value == gcprolist) goto OK;
- if (! gcprolist) abort ();
+ if (! gcprolist) ABORT ();
if (value == gcprolist->next) goto OK;
- if (! gcprolist->next) abort ();
+ if (! gcprolist->next) ABORT ();
if (value == gcprolist->next->next) goto OK;
- if (! gcprolist->next->next) abort ();
+ if (! gcprolist->next->next) ABORT ();
if (value == gcprolist->next->next->next) goto OK;
- if (! gcprolist->next->next->next) abort ();
+ if (! gcprolist->next->next->next) ABORT ();
if (value == gcprolist->next->next->next->next) goto OK;
- abort ();
+ ABORT ();
OK:;
}
gcprohist[gcprohistptr].file = file;
struct gc_cache_cell *cell, *next, *prev;
struct gcv_and_mask gcvm;
- if ((!!cache->head) != (!!cache->tail)) abort ();
- if (cache->head && (cache->head->prev || cache->tail->next)) abort ();
+ if ((!!cache->head) != (!!cache->tail)) ABORT ();
+ if (cache->head && (cache->head->prev || cache->tail->next)) ABORT ();
/* Gdk does not have the equivalent of 'None' for the clip_mask, so
we need to check it carefully, or gdk_gc_new_with_values will
cell->prev = cache->tail;
cache->tail->next = cell;
cache->tail = cell;
- if (cache->head == cell) abort ();
- if (cell->next) abort ();
- if (cache->head->prev) abort ();
- if (cache->tail->next) abort ();
+ if (cache->head == cell) ABORT ();
+ if (cell->next) ABORT ();
+ if (cache->head->prev) ABORT ();
+ if (cache->tail->next) ABORT ();
return cell->gc;
}
#endif
}
else if (cache->size > GC_CACHE_SIZE)
- abort ();
+ ABORT ();
else
{
/* Allocate a new cell (don't put it in the list or table yet). */
Copyright (C) 1993, 1994, 1998 Free Software Foundation, Inc.
Copyright (C) 1995 Board of Trustees, University of Illinois.
Copyright (C) 1995 Tinker Systems
- Copyright (C) 1995, 1996 Ben Wing
+ Copyright (C) 1995, 1996, 2005 Ben Wing
Copyright (C) 1995 Sun Microsystems
This file is part of XEmacs.
#ifdef __cplusplus
extern "C" {
#endif
+
+#ifdef WIN32_NATIVE
+/* #### Yuck! More horrifitude. tiffio.h, below, includes <windows.h>,
+ which defines INT32 and INT16, the former differently and incompatibly
+ from jmorecfg.h, included by jpeglib.h. We can disable the stuff in
+ jmorecfg.h by defining XMD_H (clever, huh?); then we define these
+ typedefs the way that <windows.h> wants them (which is more correct,
+ anyway; jmorecfg.h defines INT32 as `long'). */
+#define XMD_H
+typedef signed int INT32;
+typedef signed short INT16;
+#endif
+
#include <jpeglib.h>
#include <jerror.h>
#ifdef __cplusplus
static size_t tiff_memory_write(thandle_t data, tdata_t buf, tsize_t size)
{
- abort();
+ ABORT();
return 0; /* Shut up warnings. */
}
#include "insdel.h"
#include "opaque.h"
#include "faces.h"
+#include "elhash.h"
+#include "events.h"
#include "imgproc.h"
#include <setjmp.h>
+#if defined (HAVE_XPM)
+#include <X11/xpm.h>
+#endif
+
#ifdef FILE_CODING
#include "file-coding.h"
#endif
+extern void enqueue_gtk_dispatch_event (Lisp_Object event);
+
+/* Widget callback hash table callback slot. */
+#define WIDGET_GLYPH_SLOT 0
+
#if INTBITS == 32
# define FOUR_BYTE_TYPE unsigned int
#elif LONGBITS == 32
#endif
else if (IMAGE_INSTANCE_TYPE (p) == IMAGE_SUBWINDOW)
{
- abort();
+ ABORT();
}
else
{
gint width, height, depth;
if (!DEVICE_GTK_P (device))
- abort ();
+ ABORT ();
IMAGE_INSTANCE_DEVICE (ii) = device;
IMAGE_INSTANCE_TYPE (ii) = IMAGE_COLOR_PIXMAP;
break;
default:
- abort ();
+ ABORT ();
}
}
/**********************************************************************
* XPM *
**********************************************************************/
-static void
-write_lisp_string_to_temp_file (Lisp_Object string, char *filename_out)
-{
- Lisp_Object instream, outstream;
- Lstream *istr, *ostr;
- char tempbuf[1024]; /* some random amount */
- int fubar = 0;
- FILE *tmpfil;
- static Extbyte_dynarr *conversion_out_dynarr;
- Bytecount bstart, bend;
- struct gcpro gcpro1, gcpro2;
-#ifdef FILE_CODING
- Lisp_Object conv_out_stream;
- Lstream *costr;
- struct gcpro gcpro3;
-#endif
-
- /* This function can GC */
- if (!conversion_out_dynarr)
- conversion_out_dynarr = Dynarr_new (Extbyte);
- else
- Dynarr_reset (conversion_out_dynarr);
-
- /* Create the temporary file ... */
- sprintf (filename_out, "/tmp/emacs%d.XXXXXX", (int) getpid ());
- mktemp (filename_out);
- tmpfil = fopen (filename_out, "w");
- if (!tmpfil)
- {
- if (tmpfil)
- {
- int old_errno = errno;
- fclose (tmpfil);
- unlink (filename_out);
- errno = old_errno;
- }
- report_file_error ("Creating temp file",
- list1 (build_string (filename_out)));
- }
-
- CHECK_STRING (string);
- get_string_range_byte (string, Qnil, Qnil, &bstart, &bend,
- GB_HISTORICAL_STRING_BEHAVIOR);
- instream = make_lisp_string_input_stream (string, bstart, bend);
- istr = XLSTREAM (instream);
- /* setup the out stream */
- outstream = make_dynarr_output_stream((unsigned_char_dynarr *)conversion_out_dynarr);
- ostr = XLSTREAM (outstream);
-#ifdef FILE_CODING
- /* setup the conversion stream */
- conv_out_stream = make_encoding_output_stream (ostr, Fget_coding_system(Qbinary));
- costr = XLSTREAM (conv_out_stream);
- GCPRO3 (instream, outstream, conv_out_stream);
-#else
- GCPRO2 (instream, outstream);
-#endif
- /* Get the data while doing the conversion */
+/* strcasecmp() is not sufficiently portable or standard,
+ and it's easier just to write our own. */
+static int
+ascii_strcasecmp (const char *s1, const char *s2)
+{
while (1)
{
- int size_in_bytes = Lstream_read (istr, tempbuf, sizeof (tempbuf));
- if (!size_in_bytes)
- break;
- /* It does seem the flushes are necessary... */
-#ifdef FILE_CODING
- Lstream_write (costr, tempbuf, size_in_bytes);
- Lstream_flush (costr);
-#else
- Lstream_write (ostr, tempbuf, size_in_bytes);
-#endif
- Lstream_flush (ostr);
- if (fwrite ((unsigned char *)Dynarr_atp(conversion_out_dynarr, 0),
- Dynarr_length(conversion_out_dynarr), 1, tmpfil) != 1)
- {
- fubar = 1;
- break;
- }
- /* reset the dynarr */
- Lstream_rewind(ostr);
+ char c1 = *s1++;
+ char c2 = *s2++;
+ if (c1 >= 'A' && c1 <= 'Z') c1 += 'a' - 'A';
+ if (c2 >= 'A' && c2 <= 'Z') c2 += 'a' - 'A';
+ if (c1 != c2) return c1 - c2;
+ if (c1 == '\0') return 0;
}
-
- if (fclose (tmpfil) != 0)
- fubar = 1;
- Lstream_close (istr);
-#ifdef FILE_CODING
- Lstream_close (costr);
-#endif
- Lstream_close (ostr);
-
- UNGCPRO;
- Lstream_delete (istr);
- Lstream_delete (ostr);
-#ifdef FILE_CODING
- Lstream_delete (costr);
-#endif
-
- if (fubar)
- report_file_error ("Writing temp file",
- list1 (build_string (filename_out)));
}
struct color_symbol
GdkWindow *window = 0;
int nsymbols = 0, i = 0;
struct color_symbol *color_symbols = NULL;
- GdkColor *transparent_color = NULL;
Lisp_Object color_symbol_alist = find_keyword_in_vector (instantiator,
Q_color_symbols);
enum image_instance_type type;
int force_mono;
unsigned int w, h;
+ const unsigned char * volatile dstring;
if (!DEVICE_GTK_P (XDEVICE (device)))
signal_simple_error ("Not a Gtk device", device);
assert (!NILP (data));
- /* Need to get the transparent color here */
- color_symbols = extract_xpm_color_names (device, domain, color_symbol_alist, &nsymbols);
- for (i = 0; i < nsymbols; i++)
- {
- if (!strcasecmp ("BgColor", color_symbols[i].name) ||
- !strcasecmp ("None", color_symbols[i].name))
- {
- transparent_color = &color_symbols[i].color;
- }
- }
+ /* Extract all the entries from xpm-color-symbols */
+ color_symbols = extract_xpm_color_names (device, domain, color_symbol_alist,
+ &nsymbols);
+
+ assert (!NILP (data));
- write_lisp_string_to_temp_file (data, temp_file_name);
- pixmap = gdk_pixmap_create_from_xpm (window, &mask, transparent_color, temp_file_name);
- unlink (temp_file_name);
+
+ LISP_STRING_TO_EXTERNAL(data, dstring, Qbinary);
+
+ /*
+ * GTK only uses the 'c' color entry of an XPM and doesn't use the symbolic
+ * color names at all. This is unfortunate because the way to change the
+ * colors from lisp is by adding the symbolic names, and the new colors, to
+ * the variable xpm-color-symbols.
+ *
+ * To get around this decode the XPM, add a 'c' entry of the desired color
+ * for each matching symbolic color, recode the XPM and pass it to GTK. The
+ * decode and recode stages aren't too bad because this also performs the
+ * external to internal format translation, which avoids contortions like
+ * writing the XPM back to disk in order to get it processed.
+ */
+
+ {
+ XpmImage image;
+ XpmInfo info;
+ char** data;
+
+ XpmCreateXpmImageFromBuffer ((char*) dstring, &image, &info);
+
+ for (i = 0; i < nsymbols; i++)
+ {
+ unsigned j;
+
+ for (j = 0; j < image.ncolors; j++)
+ {
+ if (image.colorTable[j].symbolic != NULL &&
+ !ascii_strcasecmp(color_symbols[i].name, image.colorTable[j].symbolic))
+ {
+ image.colorTable[j].c_color = xmalloc(16);
+
+ sprintf(image.colorTable[j].c_color, "#%.4x%.4x%.4x",
+ color_symbols[i].color.red, color_symbols[i].color.green,
+ color_symbols[i].color.blue);
+ }
+ }
+ }
+
+ XpmCreateDataFromXpmImage (&data, &image, &info);
+
+ pixmap = gdk_pixmap_create_from_xpm_d (window, &mask, NULL,
+ data);
+ }
if (color_symbols) xfree (color_symbols);
gdk_window_get_geometry (pixmap, NULL, NULL, &w, &h, &depth);
IMAGE_INSTANCE_GTK_PIXMAP (ii) = pixmap;
- IMAGE_INSTANCE_GTK_MASK (ii) = mask;
+ IMAGE_INSTANCE_PIXMAP_MASK (ii) = (void*) mask;
IMAGE_INSTANCE_GTK_COLORMAP (ii) = cmap;
IMAGE_INSTANCE_GTK_PIXELS (ii) = 0;
IMAGE_INSTANCE_GTK_NPIXELS (ii) = 0;
break;
default:
- abort ();
+ ABORT ();
}
}
#endif /* HAVE_XPM */
if (IMAGE_INSTANCE_TYPE (p) == IMAGE_SUBWINDOW)
{
/* We don't support subwindows, but we do support widgets... */
- abort ();
+ ABORT ();
}
else /* must be a widget */
{
if (IMAGE_INSTANCE_TYPE (p) == IMAGE_SUBWINDOW)
{
/* No subwindow support... */
- abort ();
+ ABORT ();
}
else /* must be a widget */
{
struct frame *f = XFRAME (IMAGE_INSTANCE_FRAME (p));
GtkWidget *wid = IMAGE_INSTANCE_GTK_CLIPWIDGET (p);
GtkAllocation a;
+ int moving;
if (!wid) return;
a.width = dga->width;
a.height = dga->height;
+ /* Is the widget cganging position? */
+ moving = (a.x != wid->allocation.x) ||
+ (a.y != wid->allocation.y);
+
if ((a.width != wid->allocation.width) ||
- (a.height != wid->allocation.height))
+ (a.height != wid->allocation.height) ||
+ moving)
{
gtk_widget_size_allocate (IMAGE_INSTANCE_GTK_CLIPWIDGET (p), &a);
}
- /* #### FIXME DAMMIT */
- if ((wid->allocation.x != -dga->xoffset) ||
- (wid->allocation.y != -dga->yoffset))
+ if (moving)
{
guint32 old_flags = GTK_WIDGET_FLAGS (FRAME_GTK_TEXT_WIDGET (f));
- /* Fucking GtkFixed widget queues a resize when you add a widget.
+ /* GtkFixed widget queues a resize when you add a widget.
** But only if it is visible.
** losers.
*/
GTK_WIDGET_FLAGS(FRAME_GTK_TEXT_WIDGET (f)) &= ~GTK_VISIBLE;
+
if (IMAGE_INSTANCE_GTK_ALREADY_PUT(p))
{
gtk_fixed_move (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)),
wid,
- -dga->xoffset, -dga->yoffset);
+ a.x, a.y);
}
else
{
IMAGE_INSTANCE_GTK_ALREADY_PUT(p) = TRUE;
gtk_fixed_put (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)),
wid,
- -dga->xoffset, -dga->yoffset);
+ a.x, a.y);
}
+
GTK_WIDGET_FLAGS(FRAME_GTK_TEXT_WIDGET (f)) = old_flags;
}
+ else
+ {
+ if (IMAGE_INSTANCE_GTK_ALREADY_PUT(p))
+ {
+ /* Do nothing... */
+ }
+ else
+ {
+ /* Must make sure we have put the image at least once! */
+ IMAGE_INSTANCE_GTK_ALREADY_PUT(p) = TRUE;
+ gtk_fixed_put (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)),
+ wid,
+ a.x, a.y);
+ }
+ }
if (!IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (p))
{
||
IMAGE_INSTANCE_TEXT_CHANGED (p))
{
+ GtkRequisition r;
+ GtkAllocation a = IMAGE_INSTANCE_GTK_CLIPWIDGET (p)->allocation;
+
assert (IMAGE_INSTANCE_GTK_WIDGET_ID (p) &&
IMAGE_INSTANCE_GTK_CLIPWIDGET (p)) ;
- /* #### Resize the widget! */
- /* gtk_widget_size_allocate () */
+ a.width = r.width = IMAGE_INSTANCE_WIDTH (p);
+ a.height = r.height = IMAGE_INSTANCE_HEIGHT (p);
+
+ /* Force the widget's preferred and actual size to what we say it shall
+ be. */
+ gtk_widget_size_request (IMAGE_INSTANCE_GTK_CLIPWIDGET (p), &r);
+ gtk_widget_size_allocate (IMAGE_INSTANCE_GTK_CLIPWIDGET (p), &a);
}
/* Adjust offsets within the frame. */
*/
IMAGE_INSTANCE_GTK_CLIPWIDGET (ii) = w;
+ /* The current theme may produce a widget of a different size that what we
+ expect so force reconsideration of the widget's size. */
+ IMAGE_INSTANCE_LAYOUT_CHANGED (ii) = 1;
+
return (Qt);
}
FAKE_GTK_WIDGET_INSTANTIATOR(progress_gauge);
FAKE_GTK_WIDGET_INSTANTIATOR(edit_field);
FAKE_GTK_WIDGET_INSTANTIATOR(combo_box);
-FAKE_GTK_WIDGET_INSTANTIATOR(tab_control);
FAKE_GTK_WIDGET_INSTANTIATOR(label);
+/* Note: tab_control has a custom instantiator (see below) */
+
+/*
+ Ask the widget to return it's preferred size. This device method must
+ defined for all widgets that also have format specific version of
+ query_geometry defined in glyphs-widget.c. This is because those format
+ specific versions return sizes that are appropriate for the X widgets. For
+ GTK, the size of a widget can change at runtime due to the user changing
+ their theme.
+
+ This method can be called before the widget is instantiated. This is
+ because instantiate_image_instantiator() is tying to be helpful to other
+ toolkits and supply sane geometry values to them. This is not appropriate
+ for GTK and can be ignored.
+
+ This method can be used by all widgets.
+*/
+static void
+gtk_widget_query_geometry (Lisp_Object image_instance,
+ int* width, int* height,
+ enum image_instance_geometry disp, Lisp_Object domain)
+{
+ Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance);
+
+ if (p->data != NULL)
+ {
+ GtkWidget *w = IMAGE_INSTANCE_GTK_CLIPWIDGET (p);
+ GtkRequisition r;
+
+ gtk_widget_size_request(w, &r);
+ *height= r.height;
+ *width = r.width;
+ }
+}
+
+\f
+/* Button functions. */
/* Update a button's clicked state. */
static void
else
{
/* Unknown button type... */
- abort();
+ ABORT();
}
}
return Qunbound;
}
+\f
+/* Progress gauge functions. */
+
/* set the properties of a progress gauge */
static void
gtk_progress_gauge_redisplay (Lisp_Object image_instance)
}
}
+\f
+/* Tab Control functions. */
+
+/*
+ Register a widget's callbacks with the frame's hashtable. The hashtable is
+ weak so deregistration is handled automatically. Tab controls have per-tab
+ callback list functions and the GTK callback architecture is not
+ sufficiently flexible to deal with this. Instead, the functions are
+ registered here and the id is passed through the callback loop.
+ */
+static int
+gtk_register_gui_item (Lisp_Object image_instance, Lisp_Object gui,
+ Lisp_Object domain)
+{
+ struct frame *f = XFRAME(DOMAIN_FRAME(domain));
+ int id = gui_item_id_hash(FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f),
+ gui, WIDGET_GLYPH_SLOT);
+
+ Fputhash(make_int(id), image_instance,
+ FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE (f));
+ Fputhash(make_int(id), XGUI_ITEM (gui)->callback,
+ FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE (f));
+ Fputhash(make_int(id), XGUI_ITEM (gui)->callback_ex,
+ FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE (f));
+ return id;
+}
+
+/*
+ Append the given item as a tab to the notebook. Callbacks, etc are all
+ setup.
+ */
+static void
+gtk_add_tab_item(Lisp_Object image_instance,
+ GtkNotebook* nb, Lisp_Object item,
+ Lisp_Object domain, int i)
+{
+ Lisp_Object name;
+ int hash_id = 0;
+ char *c_name = NULL;
+ GtkWidget* box;
+
+ if (GUI_ITEMP (item))
+ {
+ Lisp_Gui_Item *pgui = XGUI_ITEM (item);
+
+ if (!STRINGP (pgui->name))
+ pgui->name = Feval (pgui->name);
+
+ CHECK_STRING (pgui->name);
+
+ hash_id = gtk_register_gui_item (image_instance, item, domain);
+ name = pgui->name;
+ }
+ else
+ {
+ CHECK_STRING (item);
+ name = item;
+ }
+
+ TO_EXTERNAL_FORMAT (LISP_STRING, name,
+ C_STRING_ALLOCA, c_name,
+ Qctext);
+
+ /* Dummy widget that the notbook wants to display when a tab is selected. */
+ box = gtk_vbox_new (FALSE, 3);
+
+ /*
+ Store the per-tab callback data id in the tab. The callback functions
+ themselves could have been stored in the widget but this avoids having to
+ worry about the garbage collector running between here and the callback
+ function.
+ */
+ gtk_object_set_data(GTK_OBJECT(box), GTK_DATA_TAB_HASHCODE_IDENTIFIER,
+ (gpointer) hash_id);
+
+ gtk_notebook_append_page (nb, box, gtk_label_new (c_name));
+}
+
+/* Signal handler for the switch-page signal. */
+static void gtk_tab_control_callback(GtkNotebook *notebook,
+ GtkNotebookPage *page,
+ gint page_num,
+ gpointer user_data)
+{
+ /*
+ This callback is called for every selection, not just user selection.
+ We're only interested in user selection, which occurs outside of
+ redisplay.
+ */
+
+ if (!in_display)
+ {
+ Lisp_Object image_instance, callback, callback_ex;
+ Lisp_Object frame, event;
+ int update_subwindows_p = 0;
+ struct frame *f = gtk_widget_to_frame(GTK_WIDGET(notebook));
+ int id;
+
+ if (!f)
+ return;
+ frame = wrap_frame (f);
+
+ id = (int) gtk_object_get_data(GTK_OBJECT(page->child),
+ GTK_DATA_TAB_HASHCODE_IDENTIFIER);
+ image_instance = Fgethash(make_int(id),
+ FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE(f), Qnil);
+ callback = Fgethash(make_int(id),
+ FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f), Qnil);
+ callback_ex = Fgethash(make_int(id),
+ FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE(f), Qnil);
+ update_subwindows_p = 1;
+
+ /* It is possible for a widget action to cause it to get out of
+ sync with its instantiator. Thus it is necessary to signal
+ this possibility. */
+ if (IMAGE_INSTANCEP (image_instance))
+ XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED (image_instance) = 1;
+
+ if (!NILP (callback_ex) && !UNBOUNDP (callback_ex))
+ {
+ event = Fmake_event (Qnil, Qnil);
+
+ XEVENT (event)->event_type = misc_user_event;
+ XEVENT (event)->channel = frame;
+ XEVENT (event)->event.eval.function = Qeval;
+ XEVENT (event)->event.eval.object =
+ list4 (Qfuncall, callback_ex, image_instance, event);
+ }
+ else if (NILP (callback) || UNBOUNDP (callback))
+ event = Qnil;
+ else
+ {
+ Lisp_Object fn, arg;
+
+ event = Fmake_event (Qnil, Qnil);
+
+ get_gui_callback (callback, &fn, &arg);
+ XEVENT (event)->event_type = misc_user_event;
+ XEVENT (event)->channel = frame;
+ XEVENT (event)->event.eval.function = fn;
+ XEVENT (event)->event.eval.object = arg;
+ }
+
+ if (!NILP (event))
+ enqueue_gtk_dispatch_event (event);
+
+ /* The result of this evaluation could cause other instances to change so
+ enqueue an update callback to check this. */
+ if (update_subwindows_p && !NILP (event))
+ enqueue_magic_eval_event (update_widget_instances, frame);
+ }
+}
+
+/* Create a tab_control widget. The special handling of the individual tabs
+ means that the normal instantiation code cannot be used. */
+static void
+gtk_tab_control_instantiate (Lisp_Object image_instance,
+ Lisp_Object instantiator,
+ Lisp_Object pointer_fg,
+ Lisp_Object pointer_bg,
+ int dest_mask, Lisp_Object domain)
+{
+ Lisp_Object rest;
+ Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance);
+ int i = 0;
+ int selected = 0;
+ GtkNotebook *nb;
+
+ /* The normal instantiation is still needed. */
+ gtk_widget_instantiate (image_instance, instantiator, pointer_fg,
+ pointer_bg, dest_mask, domain);
+
+ nb = GTK_NOTEBOOK (IMAGE_INSTANCE_GTK_CLIPWIDGET (ii));
+
+ /* Add items to the tab, find the current selection */
+ LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii)))
+ {
+ gtk_add_tab_item (image_instance, nb, XCAR (rest), domain, i);
+
+ if (gui_item_selected_p (XCAR (rest)))
+ selected = i;
+
+ i++;
+ }
+
+ gtk_notebook_set_page(nb, selected);
+
+ /* Call per-tab lisp callback when a tab is pressed. */
+ gtk_signal_connect (GTK_OBJECT (nb), "switch-page",
+ GTK_SIGNAL_FUNC (gtk_tab_control_callback), NULL);
+}
+
/* Set the properties of a tab control */
static void
gtk_tab_control_redisplay (Lisp_Object image_instance)
one. */
if (tab_control_order_only_changed (image_instance))
{
+ int i = 0;
Lisp_Object rest, selected =
gui_item_list_find_selected
(NILP (IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii)) ?
Lisp_Object old_selected =gui_item_list_find_selected
(XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii)));
- /* Need to focus on the widget... */
- stderr_out ("Hey, change the tab-focus you boob...\n");
-
/* Pick up the new selected item. */
XGUI_ITEM (old_selected)->selected =
XGUI_ITEM (XCAR (rest))->selected;
/* We're not actually changing the items anymore. */
IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (ii) = 0;
IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii) = Qnil;
+
+ gtk_notebook_set_page(GTK_NOTEBOOK (IMAGE_INSTANCE_GTK_CLIPWIDGET (ii)),
+ i);
+
break;
}
+
+ i++;
}
}
else
GtkNotebook *nb = GTK_NOTEBOOK (IMAGE_INSTANCE_GTK_CLIPWIDGET (ii));
guint num_pages = g_list_length (nb->children);
Lisp_Object rest;
+ int i;
+ /* Why is there no API to remove everything from a notebook? */
if (num_pages >= 0)
{
- int i;
for (i = num_pages; i >= 0; --i)
{
gtk_notebook_remove_page (nb, i);
}
}
- LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii)))
- {
- Lisp_Gui_Item *pgui = XGUI_ITEM (XCAR (rest));
- char *c_name = NULL;
+ i = 0;
- if (!STRINGP (pgui->name))
- pgui->name = Feval (pgui->name);
-
- CHECK_STRING (pgui->name);
-
- TO_EXTERNAL_FORMAT (LISP_STRING, pgui->name,
- C_STRING_ALLOCA, c_name,
- Qctext);
-
- gtk_notebook_append_page (nb,
- gtk_vbox_new (FALSE, 3),
- gtk_label_new (c_name));
+ LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii)))
+ {
+ gtk_add_tab_item(image_instance, nb, XCAR(rest),
+ IMAGE_INSTANCE_FRAME(ii), i);
}
/* Show all the new widgets we just added... */
IIFORMAT_HAS_DEVMETHOD (gtk, button, property);
IIFORMAT_HAS_DEVMETHOD (gtk, button, instantiate);
IIFORMAT_HAS_DEVMETHOD (gtk, button, redisplay);
+ IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, button, query_geometry, widget);
/* general widget methods. */
INITIALIZE_DEVICE_IIFORMAT (gtk, widget);
IIFORMAT_HAS_DEVMETHOD (gtk, widget, property);
+ IIFORMAT_HAS_DEVMETHOD (gtk, widget, query_geometry);
/* progress gauge */
INITIALIZE_DEVICE_IIFORMAT (gtk, progress_gauge);
IIFORMAT_HAS_DEVMETHOD (gtk, progress_gauge, redisplay);
IIFORMAT_HAS_DEVMETHOD (gtk, progress_gauge, instantiate);
+ IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, progress_gauge, query_geometry, widget);
/* text field */
INITIALIZE_DEVICE_IIFORMAT (gtk, edit_field);
IIFORMAT_HAS_DEVMETHOD (gtk, edit_field, instantiate);
INITIALIZE_DEVICE_IIFORMAT (gtk, tab_control);
IIFORMAT_HAS_DEVMETHOD (gtk, tab_control, instantiate);
IIFORMAT_HAS_DEVMETHOD (gtk, tab_control, redisplay);
+ IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, tab_control, query_geometry, widget);
/* label */
INITIALIZE_DEVICE_IIFORMAT (gtk, label);
IIFORMAT_HAS_DEVMETHOD (gtk, label, instantiate);
struct gtk_image_instance_data
{
GdkPixmap **pixmaps;
- GdkPixmap *mask;
GdkCursor *cursor;
/* If depth>0, then that means that other colors were allocated when
(GTK_IMAGE_INSTANCE_DATA (i)->pixmaps[slice])
#define IMAGE_INSTANCE_GTK_PIXMAP_SLICES(i) \
(GTK_IMAGE_INSTANCE_DATA (i)->pixmaps)
-#define IMAGE_INSTANCE_GTK_MASK(i) (GTK_IMAGE_INSTANCE_DATA (i)->mask)
+#define IMAGE_INSTANCE_GTK_MASK(i) (GdkPixmap*)(IMAGE_INSTANCE_PIXMAP_MASK (i))
#define IMAGE_INSTANCE_GTK_CURSOR(i) (GTK_IMAGE_INSTANCE_DATA (i)->cursor)
#define IMAGE_INSTANCE_GTK_COLORMAP(i) (GTK_IMAGE_INSTANCE_DATA (i)->colormap)
#define IMAGE_INSTANCE_GTK_PIXELS(i) (GTK_IMAGE_INSTANCE_DATA (i)->pixels)
break;
default:
- abort ();
+ ABORT ();
}
}
#ifdef __cplusplus
extern "C" {
#endif
+#ifndef __STDC__ /* Needed to avoid prototype warnings */
+#define __STDC__
+#endif
#include <compface.h>
#ifdef __cplusplus
}
break;
default:
- abort ();
+ ABORT ();
}
}
/* Duplicate the pixel value so that we still have a lock on it if
the pixel we were passed is later freed. */
if (! XAllocColor (dpy, cmap, &color))
- abort (); /* it must be allocable since we're just duplicating it */
+ ABORT (); /* it must be allocable since we're just duplicating it */
symbols [i].name = (char *) XSTRING_DATA (XCAR (cons));
symbols [i].pixel = color.pixel;
break;
default:
- abort ();
+ ABORT ();
}
xpm_free (&xpmattrs); /* after we've read pixels and hotspot */
signal_simple_error ("Invalid mapping form", mapping);
else
{
- Lisp_Object exp = XCAR (mapping);
+ Lisp_Object mapexp = XCAR (mapping);
Lisp_Object typevec = XCAR (XCDR (mapping));
Lisp_Object pos = Qnil;
Lisp_Object newvec;
struct gcpro gcpro1;
- CHECK_STRING (exp);
+ CHECK_STRING (mapexp);
CHECK_VECTOR (typevec);
if (!NILP (XCDR (XCDR (mapping))))
{
newvec = Fcopy_sequence (typevec);
if (INTP (pos))
- XVECTOR_DATA (newvec)[XINT (pos)] = exp;
+ XVECTOR_DATA (newvec)[XINT (pos)] = mapexp;
GCPRO1 (newvec);
image_validate (newvec);
UNGCPRO;
LIST_LOOP (tail, *get_image_conversion_list (console_type))
{
Lisp_Object mapping = XCAR (tail);
- Lisp_Object exp = XCAR (mapping);
+ Lisp_Object mapexp = XCAR (mapping);
Lisp_Object typevec = XCAR (XCDR (mapping));
/* if the result is of a type that can't be instantiated
(INSTANTIATOR_TYPE (typevec), ERROR_ME),
possible_dest_types, ())))
continue;
- if (fast_string_match (exp, 0, data, 0, -1, 0, ERROR_ME, 0) >= 0)
+ if (fast_string_match (mapexp, 0, data, 0, -1, 0, ERROR_ME, 0) >= 0)
{
if (!NILP (XCDR (XCDR (mapping))))
{
else if (governing_domain == GOVERNING_DOMAIN_DEVICE)
domain = DOMAIN_DEVICE (domain);
else
- abort ();
+ ABORT ();
return domain;
}
break;
default:
- abort ();
+ ABORT ();
}
MAYBE_DEVMETH (DOMAIN_XDEVICE (ii->domain), print_image_instance,
break;
default:
- abort ();
+ ABORT ();
}
return DEVMETH_OR_GIVEN (DOMAIN_XDEVICE (i1->domain),
break;
default:
- abort ();
+ ABORT ();
}
return HASH2 (hash, DEVMETH_OR_GIVEN
case IMAGE_SUBWINDOW: return Qsubwindow;
case IMAGE_WIDGET: return Qwidget;
default:
- abort ();
+ ABORT ();
}
return Qnil; /* not reached */
signal_simple_error ("Image instances not allowed here", data);
image_validate (data);
domain = decode_domain (domain);
- /* instantiate_image_instantiator() will abort if given an
+ /* instantiate_image_instantiator() will ABORT if given an
image instance ... */
dest_mask = decode_image_instance_type_list (dest_types);
data = normalize_image_instantiator (data,
if (yoffset != IMAGE_UNCHANGED_GEOMETRY)
XIMAGE_INSTANCE_YOFFSET (image_instance) = yoffset;
- assert (XIMAGE_INSTANCE_YOFFSET (image_instance) >= 0
- && XIMAGE_INSTANCE_XOFFSET (image_instance) >= 0);
-
/* If geometry is unspecified then get some reasonable values for it. */
if (width == IMAGE_UNSPECIFIED_GEOMETRY
||
int dest_mask, Lisp_Object domain)
{
/* handled specially in image_instantiate */
- abort ();
+ ABORT ();
}
\f
Qunbound);
}
else
- abort (); /* We're not allowed anything else currently. */
+ ABORT (); /* We're not allowed anything else currently. */
/* If we don't have an instance at this point then create
one. */
RETURN_UNGCPRO (instance);
}
- abort ();
+ ABORT ();
return Qnil; /* not reached */
}
| IMAGE_COLOR_PIXMAP_MASK;
break;
default:
- abort ();
+ ABORT ();
}
/* I think Fmake_specifier can GC. I think set_specifier_fallback can GC. */
CHECK_GLYPH (glyph);
switch (XGLYPH_TYPE (glyph))
{
- default: abort ();
+ default: ABORT ();
case GLYPH_BUFFER: return Qbuffer;
case GLYPH_POINTER: return Qpointer;
case GLYPH_ICON: return Qicon;
/* The update method is allowed to call eval. Since it is quite
common for this function to get called from somewhere in
redisplay we need to make sure that quits are ignored. Otherwise
- Fsignal will abort. */
+ Fsignal will ABORT. */
specbind (Qinhibit_quit, Qt);
ERROR_CHECK_IMAGE_INSTANCE (subwindow);
continue;
}
else
- abort ();
+ ABORT ();
}
}
}
else
{
- abort();
+ ABORT();
}
}
}
else
{
- abort();
+ ABORT();
}
}
return (rval);
}
else
{
- abort();
+ ABORT();
}
#undef FROB
}
}
}
+/* Assign a size and position to the child widgets. This differs from the
+ super class method in that for all widgets except the scrollbars the size
+ and position are not caclulated here. This is because these widgets have
+ this function performed for them by the redisplay code (see
+ gtk_map_subwindow()). If the superclass method is called then the widgets
+ can change size and position as the two pieces of code move the widgets at
+ random.
+*/
static void
gtk_xemacs_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
{
GtkXEmacs *x = GTK_XEMACS (widget);
+ GtkFixed *fixed = GTK_FIXED (widget);
struct frame *f = GTK_XEMACS_FRAME (x);
int columns, rows;
-
- parent_class->size_allocate(widget, allocation);
+ GList *children;
+ guint16 border_width;
+
+ widget->allocation = *allocation;
+ if (GTK_WIDGET_REALIZED (widget))
+ gdk_window_move_resize (widget->window,
+ allocation->x,
+ allocation->y,
+ allocation->width,
+ allocation->height);
+
+ border_width = GTK_CONTAINER (fixed)->border_width;
+
+ children = fixed->children;
+ while (children)
+ {
+ GtkFixedChild* child = children->data;
+ children = children->next;
+
+ /*
+ Scrollbars are the only widget that is managed by GTK. See
+ comments in gtk_create_scrollbar_instance().
+ */
+ if (GTK_WIDGET_VISIBLE (child->widget) &&
+ gtk_type_is_a(GTK_OBJECT_TYPE(child->widget), GTK_TYPE_SCROLLBAR))
+ {
+ GtkAllocation child_allocation;
+ GtkRequisition child_requisition;
+
+ gtk_widget_get_child_requisition (child->widget, &child_requisition);
+ child_allocation.x = child->x + border_width;
+ child_allocation.y = child->y + border_width;
+ child_allocation.width = child_requisition.width;
+ child_allocation.height = child_requisition.height;
+ gtk_widget_size_allocate (child->widget, &child_allocation);
+ }
+ }
if (f)
{
{
GtkXEmacs *x = GTK_XEMACS (widget);
struct frame *f = GTK_XEMACS_FRAME (x);
- gtk_redraw_exposed_area (f, area->x, area->y, area->width, area->height);
+
+ if (GTK_WIDGET_DRAWABLE (widget))
+ gtk_redraw_exposed_area (f, area->x, area->y, area->width, area->height);
}
static void
gtk_fixed_paint() directly, which clears the background window,
which causes A LOT of flashing. */
- gtk_xemacs_paint (widget, area);
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+ gtk_xemacs_paint (widget, area);
- children = fixed->children;
+ children = fixed->children;
- while (children)
- {
- child = children->data;
- children = children->next;
- /* #### This is what causes the scrollbar flickering!
- Evidently the scrollbars pretty much take care of drawing
- themselves in most cases. Then we come along and tell them
- to redraw again!
-
- But if we just leave it out, then they do not get drawn
- correctly the first time!
-
- Scrollbar flickering has been greatly helped by the
- optimizations in scrollbar-gtk.c /
- gtk_update_scrollbar_instance_status (), so this is not that
- big a deal anymore.
- */
- if (gtk_widget_intersect (child->widget, area, &child_area))
+ while (children)
{
- gtk_widget_draw (child->widget, &child_area);
+ child = children->data;
+ children = children->next;
+ /* #### This is what causes the scrollbar flickering!
+ Evidently the scrollbars pretty much take care of drawing
+ themselves in most cases. Then we come along and tell them
+ to redraw again!
+
+ But if we just leave it out, then they do not get drawn
+ correctly the first time!
+
+ Scrollbar flickering has been greatly helped by the
+ optimizations in scrollbar-gtk.c /
+ gtk_update_scrollbar_instance_status (), so this is not that
+ big a deal anymore.
+ */
+ if (gtk_widget_intersect (child->widget, area, &child_area))
+ {
+ gtk_widget_draw (child->widget, &child_area);
+ }
}
}
}
struct frame *f = GTK_XEMACS_FRAME (x);
GdkRectangle *a = &event->area;
- /* This takes care of drawing the scrollbars, etc */
- parent_class->expose_event (widget, event);
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+ /* This takes care of drawing the scrollbars, etc */
+ parent_class->expose_event (widget, event);
+
+ /* Now draw the actual frame data */
+ if (!check_for_ignored_expose (f, a->x, a->y, a->width, a->height) &&
+ !find_matching_subwindow (f, a->x, a->y, a->width, a->height))
+ gtk_redraw_exposed_area (f, a->x, a->y, a->width, a->height);
+ return (TRUE);
+ }
- /* Now draw the actual frame data */
- if (!check_for_ignored_expose (f, a->x, a->y, a->width, a->height) &&
- !find_matching_subwindow (f, a->x, a->y, a->width, a->height))
- gtk_redraw_exposed_area (f, a->x, a->y, a->width, a->height);
- return (TRUE);
+ return FALSE;
}
Lisp_Object
}
/* The following is actually called from somewhere within XtDispatchEvent(),
- called from XtAppProcessEvent() in event-Xt.c */
+ called from XtAppProcessEvent() in event-Xt.c
+
+ Callback function for widgets and menus.
+ */
void
popup_selection_callback (Widget widget, LWLIB_ID ignored_id,
(frame)->right_gutter_was_visible = flag; \
break; \
default: \
- abort (); \
+ ABORT (); \
} \
} while (0)
case RIGHT_GUTTER:
return frame->right_gutter_was_visible;
default:
- abort ();
+ ABORT ();
return 0; /* To keep the compiler happy */
}
}
break;
default:
- abort ();
+ ABORT ();
}
}
case XLookupChars:
break;
default:
- abort ();
+ ABORT ();
}
new_event.type = ClientMessage;
}
#ifdef ERROR_CHECK_BUFPOS
else if (x >= bufmin)
- abort ();
+ ABORT ();
#endif
else
{
}
#ifdef ERROR_CHECK_BUFPOS
else if (x >= bytmin)
- abort ();
+ ABORT ();
#endif
else
{
move_gap (struct buffer *buf, Bytind pos)
{
if (! BUF_BEG_ADDR (buf))
- abort ();
+ ABORT ();
if (pos < BI_BUF_GPT (buf))
gap_left (buf, pos);
else if (pos > BI_BUF_GPT (buf))
case XLookupChars:
break;
default:
- abort ();
+ ABORT ();
}
new_event.type = ClientMessage;
if ((modifiers & ~(XEMACS_MOD_CONTROL | XEMACS_MOD_META | XEMACS_MOD_SUPER
| XEMACS_MOD_HYPER | XEMACS_MOD_ALT | XEMACS_MOD_SHIFT))
!= 0)
- abort ();
+ ABORT ();
k = XKEYMAP (keymap);
Lisp_Object *prev;
if (UNBOUNDP (keys))
- abort ();
+ ABORT ();
for (prev = &new_keys, tail = new_keys;
;
else
{
new_keys = Qnil;
- abort ();
+ ABORT ();
}
if (EQ (keys, new_keys))
key.modifiers = modifiers;
if (NILP (cmd))
- abort ();
+ ABORT ();
cmd = get_keymap (cmd, 0, 1);
if (!KEYMAPP (cmd))
- abort ();
+ ABORT ();
vec = make_vector (XVECTOR_LENGTH (thisseq) + 1, Qnil);
len = XVECTOR_LENGTH (thisseq);
/* OK, the key is for real */
if (target_buffer)
{
- if (!firstonly) abort ();
+ if (!firstonly) ABORT ();
format_raw_keys (so_far, keys_count + 1, target_buffer);
return make_int (1);
}
DEFVAR_LISP ("key-translation-map", &Vkey_translation_map /*
Keymap of key translations that can override keymaps.
-This keymap works like `function-key-map', but comes after that,
+
+This keymap works like `function-key-map', but is searched before it,
and applies even for keys that have ordinary bindings.
+
+The `read-key-sequence' function replaces any subsequence bound by
+`key-translation-map' with its binding. More precisely, when the active
+keymaps have no binding for the current key sequence but
+`key-translation-map' binds a suffix of the sequence to a vector or string,
+`read-key-sequence' replaces the matching suffix with its binding, and
+continues with the new sequence. See `key-binding' for details.
+
+The events that come from bindings in `key-translation-map' are not
+themselves looked up in `key-translation-map'.
+
+#### FIXME: stolen from `function-key-map'; need better example.
+#### I guess you could implement a Dvorak keyboard with this?
+For example, suppose `key-translation-map' binds `ESC O P' to [f1].
+Typing `ESC O P' to `read-key-sequence' would return
+\[#<keypress-event f1>]. Typing `C-x ESC O P' would return
+\[#<keypress-event control-X> #<keypress-event f1>]. If [f1]
+were a prefix key, typing `ESC O P x' would return
+\[#<keypress-event f1> #<keypress-event x>].
*/ );
Vkey_translation_map = Qnil;
time the assert checks take is measurable so let's not include them
in production binaries. */
-#ifdef USE_ASSERTIONS
/* Highly dubious kludge */
/* (thanks, Jamie, I feel better now -- ben) */
+# define ABORT() (assert_failed (__FILE__, __LINE__, "ABORT()"))
void assert_failed (const char *, int, const char *);
-# define abort() (assert_failed (__FILE__, __LINE__, "abort()"))
+
+#ifdef USE_ASSERTIONS
# define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x))
#else
# ifdef DEBUG_XEMACS
-# define assert(x) ((x) ? (void) 0 : (void) abort ())
+# define assert(x) ((x) ? (void) 0 : (void) ABORT ())
# else
# define assert(x)
# endif
/* For a list that's known to be in valid list format, where we may
be deleting the current element out of the list --
- will abort() if the list is not in valid format */
+ will ABORT() if the list is not in valid format */
#define LIST_LOOP_DELETING(consvar, nextconsvar, list) \
for (consvar = list; \
!NILP (consvar) ? (nextconsvar = XCDR (consvar), 1) :0; \
#define CONCHECK_MARKER(x) CONCHECK_RECORD (x, marker)
/* The second check was looking for GCed markers still in use */
-/* if (INTP (XMARKER (x)->lheader.next.v)) abort (); */
+/* if (INTP (XMARKER (x)->lheader.next.v)) ABORT (); */
#define marker_next(m) ((m)->next)
#define marker_prev(m) ((m)->prev)
else if (sizeof (long) == sizeof (EMACS_INT))
number = atol (read_buffer);
else
- abort ();
+ ABORT ();
return make_int (number);
}
#else
}
}
- abort ();
+ ABORT ();
}
#define Lstream_internal_error(reason, lstr) \
static int
Lstream_pseudo_close (Lstream *lstr)
{
- if (!lstr->flags & LSTREAM_FL_IS_OPEN)
+ if (! (lstr->flags & LSTREAM_FL_IS_OPEN))
Lstream_internal_error ("lstream is not open", lstr);
/* don't check errors here -- best not to risk file descriptor loss */
/* Make sure the luser didn't pass "w" in. */
if (!strcmp (mode, "w"))
- abort ();
+ ABORT ();
if (flags & LSTR_IGNORE_ACCESSIBLE)
{
void
pop_kbd_macro_event (Lisp_Object event)
{
- if (NILP (Vexecuting_macro)) abort ();
+ if (NILP (Vexecuting_macro)) ABORT ();
if (STRINGP (Vexecuting_macro) || VECTORP (Vexecuting_macro))
{
static char busy[30];
/* Number of bytes of writable memory we can expect to be able to get */
-extern unsigned int lim_data;
+extern unsigned long lim_data;
/* Level number of warnings already issued.
0 -- no warnings issued.
{
char *cp;
int nblks;
- unsigned int siz;
+ unsigned long siz;
int oldmask;
#ifdef BSD
#ifdef rcheck
botch ("block on free list clobbered");
#else /* not rcheck */
- abort ();
+ ABORT ();
#endif /* not rcheck */
/* Fill in the info, and if range checking, set up the magic numbers */
#ifndef rcheck
if (p -> mh_alloc != ISALLOC)
- abort ();
+ ABORT ();
#else /* rcheck */
if (p -> mh_alloc != ISALLOC)
#ifdef ERROR_CHECK_BUFPOS
if (pos < BI_BUF_BEG (buf) || pos > BI_BUF_Z (buf))
- abort ();
+ ABORT ();
#endif
return pos;
#ifdef ERROR_CHECK_BUFPOS
if (pos < BI_BUF_BEG (buf) || pos > BI_BUF_Z (buf))
- abort ();
+ ABORT ();
#endif
m->memind = bytind_to_memind (buf, pos);
#endif
#if defined(__bsdi__) || defined(__NetBSD__) || defined(__linux__) || defined(__OpenBSD__)
-#if defined(__linux__) && defined (powerpc) /*Added by Fukui*/
-#else /*Added by Fukui*/
#define BSD4_2
-#endif /*Added by Fukui*/
#endif
#ifndef BSD4_2
#ifndef USG
#ifndef WIN32_NATIVE
#ifndef CYGWIN
-#if defined(__linux__) && defined(powerpc) /*Added Kaoru Fukui*/
-#else /*Added Kaoru Fukui*/
#include <sys/vlimit.h>
-#endif /*Added by Fukui*/
#endif /* not CYGWIN */
#endif /* not WIN32_NATIVE */
#endif /* not USG */
static POINTER data_space_start;
/* Number of bytes of writable memory we can expect to be able to get */
-extern unsigned int lim_data;
+extern unsigned long lim_data;
#if defined (HEAP_IN_DATA) && !defined(PDUMP)
extern unsigned long static_heap_size;
{
if (!initialized)
{
- lim_data = (unsigned int) -1; /* static_heap_size; */
+ lim_data = (unsigned long) -1; /* static_heap_size; */
}
else
{
- lim_data = (unsigned int) -1;
+ lim_data = (unsigned long) -1;
}
}
#else
static void
get_lim_data (void)
{
- lim_data = (unsigned int) -1;
+ lim_data = (unsigned long) -1;
}
#else /* not NO_LIM_DATA */
-#ifdef USG
+#if defined(USG) && !defined(LINUX)
static void
get_lim_data (void)
{
- lim_data = (unsigned int) -1;
+ lim_data = (unsigned long) -1;
/* Use the ulimit call, if we seem to have it. */
-#if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX)
+#if !defined (ULIMIT_BREAK_VALUE)
lim_data = ulimit (3, 0);
#endif
/* If that didn't work, just use the macro's value. */
#ifdef ULIMIT_BREAK_VALUE
- if (lim_data == (unsigned int) -1)
+ if (lim_data == (unsigned long) -1)
lim_data = ULIMIT_BREAK_VALUE;
#endif
}
#else
-#if !defined (BSD4_2) && !defined (__osf__)
+#if !defined (BSD4_2) && !defined (__osf__) && !defined(LINUX)
static void
get_lim_data (void)
-/* Implements an elisp-programmable menubar -- X interface.
+/* Implements an elisp-programmable menubar -- Gtk interface.
Copyright (C) 1993, 1994 Free Software Foundation, Inc.
Copyright (C) 1995 Tinker Systems and INS Engineering Corp.
#define SUBMENU_TYPE 1
#define POPUP_TYPE 2
-static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr);
+static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr, GtkAccelGroup* accel_group);
#define FRAME_MENUBAR_DATA(frame) ((frame)->menubar_data)
#define XFRAME_MENUBAR_DATA_LASTBUFF(frame) (XCAR ((frame)->menubar_data))
return xemacs_menubar_type;
}
-static GtkWidgetClass *parent_class;
+static GtkWidgetClass *menubar_parent_class;
static void gtk_xemacs_menubar_class_init (GtkXEmacsMenubarClass *klass)
{
GtkWidgetClass *widget_class;
widget_class = (GtkWidgetClass*) klass;
- parent_class = (GtkWidgetClass *) gtk_type_class (gtk_menu_bar_get_type ());
+ menubar_parent_class = (GtkWidgetClass *) gtk_type_class (gtk_menu_bar_get_type ());
widget_class->size_request = gtk_xemacs_menubar_size_request;
}
GtkXEmacsMenubar *x = GTK_XEMACS_MENUBAR (widget);
GtkRequisition frame_size;
- parent_class->size_request (widget, requisition);
+ menubar_parent_class->size_request (widget, requisition);
/* #### BILL!
** We should really only do this if the menu has not been detached!
return (GTK_WIDGET (menubar));
}
\f
+/*
+ * Label with XEmacs accelerator character support.
+ *
+ * The default interfaces to GtkAccelLabel does not understand XEmacs
+ * keystroke printing conventions, nor is it convenient in the places where is
+ * it needed. This subclass provides an alternative interface more suited to
+ * XEmacs needs but does not add new functionality.
+ */
+#define GTK_TYPE_XEMACS_ACCEL_LABEL (gtk_xemacs_accel_label_get_type ())
+#define GTK_XEMACS_ACCEL_LABEL(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ACCEL_LABEL, GtkXEmacsAccelLabel))
+#define GTK_XEMACS_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACCEL_LABEL, GtkXEmacsAccelLabelClass))
+#define GTK_IS_XEMACS_ACCEL_LABEL(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_XEMACS_ACCEL_LABEL))
+#define GTK_IS_XEMACS_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XEMACS_ACCEL_LABEL))
+
+typedef struct _GtkXEmacsAccelLabel GtkXEmacsAccelLabel;
+typedef struct _GtkXEmacsAccelLabelClass GtkXEmacsAccelLabelClass;
+
+/* Instance structure. No additional fields required. */
+struct _GtkXEmacsAccelLabel
+{
+ GtkAccelLabel label;
+};
+
+/* Class structure. No additional fields required. */
+struct _GtkXEmacsAccelLabelClass
+{
+ GtkAccelLabelClass parent_class;
+};
+
+static GtkType gtk_xemacs_accel_label_get_type(void);
+static GtkWidget* gtk_xemacs_accel_label_new(const gchar *string);
+static void gtk_xemacs_set_accel_keys(GtkXEmacsAccelLabel* l,
+ Lisp_Object keys);
+static void gtk_xemacs_accel_label_class_init(GtkXEmacsAccelLabelClass *klass);
+static void gtk_xemacs_accel_label_init(GtkXEmacsAccelLabel *xemacs);
+
+static GtkType
+gtk_xemacs_accel_label_get_type(void)
+{
+ static GtkType xemacs_accel_label_type = 0;
+
+ if (!xemacs_accel_label_type)
+ {
+ static const GtkTypeInfo xemacs_accel_label_info =
+ {
+ "GtkXEmacsAccelLabel",
+ sizeof (GtkXEmacsAccelLabel),
+ sizeof (GtkXEmacsAccelLabelClass),
+ (GtkClassInitFunc) gtk_xemacs_accel_label_class_init,
+ (GtkObjectInitFunc) gtk_xemacs_accel_label_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ xemacs_accel_label_type = gtk_type_unique (gtk_accel_label_get_type(), &xemacs_accel_label_info);
+ }
+
+ return xemacs_accel_label_type;
+}
+
+static void
+gtk_xemacs_accel_label_class_init(GtkXEmacsAccelLabelClass *klass)
+{
+ /* Nothing to do. */
+}
+
+static void
+gtk_xemacs_accel_label_init(GtkXEmacsAccelLabel *xemacs)
+{
+ /* Nothing to do. */
+}
+
+static GtkWidget*
+gtk_xemacs_accel_label_new (const gchar *string)
+{
+ GtkXEmacsAccelLabel *xemacs_accel_label;
+
+ xemacs_accel_label = gtk_type_new (GTK_TYPE_XEMACS_ACCEL_LABEL);
+
+ if (string && *string)
+ gtk_label_set_text (GTK_LABEL (xemacs_accel_label), string);
+
+ return GTK_WIDGET (xemacs_accel_label);
+}
+
+/* Make the string <keys> the accelerator string for the label. */
+static void
+gtk_xemacs_set_accel_keys(GtkXEmacsAccelLabel* l, Lisp_Object keys)
+{
+ g_return_if_fail (l != NULL);
+ g_return_if_fail (GTK_IS_XEMACS_ACCEL_LABEL (l));
+
+ /* Disable the standard way of finding the accelerator string for the
+ label. */
+ gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL(l), NULL);
+
+ /* Set the string straight from the object. */
+ if (STRINGP (keys) && XSTRING_LENGTH (keys))
+ {
+ C_STRING_TO_EXTERNAL_MALLOC(XSTRING_DATA (keys),
+ l->label.accel_string,
+ Qctext);
+ }
+ else
+ {
+ /* l->label.accel_string = NULL;*/
+ }
+}
+\f
+
/* We now return you to your regularly scheduled menus... */
int dockable_menubar;
}
else
{
- next = menu_descriptor_to_widget_1 (child);
+ next = menu_descriptor_to_widget_1 (child,
+ gtk_menu_ensure_uline_accel_group (GTK_MENU (item->submenu)));
}
if (!next)
}
}
+/* Convert the XEmacs menu accelerator representation to Gtk mnemonic form. If
+ no accelerator has been provided, put one at the start of the string (this
+ mirrors the behaviour under X). This algorithm is also found in
+ dialog-gtk.el:gtk-popup-convert-underscores.
+*/
+static char *
+convert_underscores(const char *name)
+{
+ char *rval;
+ int i,j;
+ int found_accel = FALSE;
+ int underscores = 0;
+
+ for (i = 0; name[i]; ++i)
+ if (name[i] == '%' && name[i+1] == '_')
+ {
+ found_accel = TRUE;
+ }
+ else if (name[i] == '_')
+ {
+ underscores++;
+ }
+
+ /* Allocate space for the original string, plus zero byte plus extra space
+ for all quoted underscores plus possible additional leading accelerator. */
+ rval = xmalloc_and_zero (strlen(name) + 1 + underscores
+ + (found_accel ? 0 : 1));
+
+ if (!found_accel)
+ rval[0] = '_';
+
+ for (i = 0, j = (found_accel ? 0 : 1); name[i]; i++)
+ {
+ if (name[i]=='%')
+ {
+ i++;
+ if (!(name[i]))
+ continue;
+
+ if ((name[i] != '_') && (name[i] != '%'))
+ i--;
+
+ found_accel = TRUE;
+ }
+ else if (name[i] == '_')
+ {
+ rval[j++] = '_';
+ }
+
+ rval[j++] = name[i];
+ }
+
+ return rval;
+}
+
+
+/* Remove the XEmacs menu accellerator representation from a string. */
static char *
remove_underscores(const char *name)
{
if (!(name[i]))
continue;
- if ((name[i] == '_'))
+ if ((name[i] != '_') && (name[i] != '%'))
+ i--;
+ else
continue;
}
rval[j++] = name[i];
DESCR is either a list (meaning a submenu), a vector, or nil (if
you include a :filter keyword) */
static GtkWidget *
-menu_convert (Lisp_Object desc, GtkWidget *reuse)
+menu_convert (Lisp_Object desc, GtkWidget *reuse,
+ GtkAccelGroup* menubar_accel_group)
{
GtkWidget *menu_item = NULL;
GtkWidget *submenu = NULL;
if (!reuse)
{
- char *temp_menu_name = remove_underscores (XSTRING_DATA (XCAR (desc)));
- menu_item = gtk_menu_item_new_with_label (temp_menu_name);
+ char *temp_menu_name = convert_underscores (XSTRING_DATA (XCAR (desc)));
+ GtkWidget* accel_label = gtk_xemacs_accel_label_new(NULL);
+ guint accel_key;
+
+ gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5);
+ accel_key = gtk_label_parse_uline (GTK_LABEL (accel_label), temp_menu_name);
+
+ menu_item = gtk_menu_item_new ();
+ gtk_container_add (GTK_CONTAINER (menu_item), accel_label);
+ gtk_widget_show (accel_label);
+
+ if (menubar_accel_group)
+ gtk_widget_add_accelerator (menu_item,
+ "activate_item",
+ menubar_accel_group,
+ accel_key, GDK_MOD1_MASK,
+ GTK_ACCEL_LOCKED);
free (temp_menu_name);
}
else
return (menu_item);
}
-static struct frame *
-__get_channel (GtkWidget *w)
-{
- struct frame *f = NULL;
-
- for (; w; w = w->parent)
- {
- if ((f = (struct frame *) gtk_object_get_data (GTK_OBJECT (w), "xemacs::frame")))
- return (f);
- }
-
- return (selected_frame());
-}
-
-
/* Called whenever a button, radio, or toggle is selected in the menu */
static void
__generic_button_callback (GtkMenuItem *item, gpointer user_data)
{
Lisp_Object callback, function, data, channel;
- XSETFRAME (channel, __get_channel (GTK_WIDGET (item)));
+ XSETFRAME (channel, gtk_widget_to_frame (GTK_WIDGET (item)));
VOID_TO_LISP (callback, user_data);
/* This function cannot GC.
It is only called from menu_item_descriptor_to_widget_value, which
prohibits GC. */
-static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr)
+static GtkWidget *
+menu_descriptor_to_widget_1 (Lisp_Object descr, GtkAccelGroup* accel_group)
{
if (STRINGP (descr))
{
else if (LISTP (descr))
{
/* It is a submenu */
- return (menu_convert (descr, NULL));
+ return (menu_convert (descr, NULL, accel_group));
}
else if (VECTORP (descr))
{
int plist_p;
int selected_spec = 0, included_spec = 0;
GtkWidget *widget = NULL;
+ guint accel_key;
if (length < 2)
signal_simple_error ("button descriptors must be at least 2 long", descr);
sprintf (label_buffer, "%s ", XSTRING_DATA (name));
}
- temp_label = remove_underscores (label_buffer);
- main_label = gtk_accel_label_new (temp_label);
+ temp_label = convert_underscores (label_buffer);
+ main_label = gtk_xemacs_accel_label_new (NULL);
+ accel_key = gtk_label_parse_uline (GTK_LABEL (main_label), temp_label);
free (temp_label);
}
GTK_SIGNAL_FUNC (__generic_button_callback),
LISP_TO_VOID (callback));
- /* We cheat here... GtkAccelLabel usually builds its
- `accel_string' from the widget it is attached to, but we do
- not want to go thru the overhead of converting our nice
- string back into the modifier + key format that requires,
- just so that they can convert it back into a (possibly
- different/wrong) string
-
- We set the label string manually, and things should 'just
- work'
-
- In an ideal world we would just subclass GtkLabel ourselves,
- but I have known for a very long time that this is not an
- ideal world.
-
- #### Should do menu shortcuts `correctly' one of these days.
+ /* Now that all the information about the menu item is know, set the
+ remaining properties.
*/
if (main_label)
{
- GtkAccelLabel *l = GTK_ACCEL_LABEL (main_label);
-
gtk_container_add (GTK_CONTAINER (widget), main_label);
- gtk_accel_label_set_accel_widget (l, NULL);
- gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
+ gtk_misc_set_alignment (GTK_MISC (main_label), 0.0, 0.5);
+ gtk_xemacs_set_accel_keys(GTK_XEMACS_ACCEL_LABEL(main_label), keys);
- if (STRINGP (keys) && XSTRING_LENGTH (keys))
- {
- l->accel_string = g_strdup (XSTRING_DATA (keys));
- }
+ if (accel_group)
+ gtk_widget_add_accelerator (widget,
+ "activate_item",
+ accel_group,
+ accel_key, 0,
+ GTK_ACCEL_LOCKED);
}
return (widget);
else
{
return (NULL);
- /* abort (); ???? */
+ /* ABORT (); ???? */
}
}
-static GtkWidget *menu_descriptor_to_widget (Lisp_Object descr)
+static GtkWidget *
+menu_descriptor_to_widget (Lisp_Object descr, GtkAccelGroup* accel_group)
{
int count = specpdl_depth ();
GtkWidget *rval = NULL;
gc_currently_forbidden = 1;
/* Cannot GC from here on out... */
- rval = menu_descriptor_to_widget_1 (descr);
+ rval = menu_descriptor_to_widget_1 (descr, accel_group);
unbind_to (count, Qnil);
return (rval);
menu_can_reuse_widget (GtkWidget *child, const char *label)
{
/* Everything up at the top level was done using
- ** gtk_menu_item_new_with_label(), but we still double check to make
+ ** gtk_xemacs_accel_label_new(), but we still double check to make
** sure we don't seriously foobar ourselves.
*/
- char *temp_label = NULL;
- gpointer possible_child = g_list_nth_data (gtk_container_children (GTK_CONTAINER (child)), 0);
+ gpointer possible_child =
+ g_list_nth_data (gtk_container_children (GTK_CONTAINER (child)), 0);
+ gboolean ret_val = FALSE;
if (possible_child && GTK_IS_LABEL (possible_child))
{
- if (!temp_label) temp_label = remove_underscores (label);
+ char *temp_label = remove_underscores (label);
+
if (!strcmp (GTK_LABEL (possible_child)->label, temp_label))
- {
- free (temp_label);
- return (TRUE);
- }
+ ret_val = TRUE;
+
+ free (temp_label);
}
- if (temp_label) free (temp_label);
- return (FALSE);
+
+ return ret_val;
}
/* Converts a menubar description into a GtkMenuBar... a menubar is a
GtkWidget *menubar = FRAME_GTK_MENUBAR_WIDGET (f);
GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (menubar), XEMACS_MENU_GUIID_TAG);
guint menu_position = 0;
+ GtkAccelGroup *menubar_accel_group;
/* Remove any existing protection for old menu items */
ungcpro_popup_callbacks (id);
/* GCPRO the whole damn thing */
gcpro_popup_callbacks (id, descr);
+ menubar_accel_group = gtk_accel_group_new();
+
EXTERNAL_LIST_LOOP (tail, value)
{
gpointer current_child = g_list_nth_data (GTK_MENU_SHELL (menubar)->children, menu_position);
/* It is a button description */
GtkWidget *item;
- item = menu_descriptor_to_widget (item_descr);
+ item = menu_descriptor_to_widget (item_descr, menubar_accel_group);
gtk_widget_set_name (item, "XEmacsMenuButton");
if (!item)
if (current_child && menu_can_reuse_widget (GTK_WIDGET (current_child),
XSTRING_DATA (XCAR (item_descr))))
{
- widget = menu_convert (item_descr, GTK_WIDGET (current_child));
+ widget = menu_convert (item_descr, GTK_WIDGET (current_child),
+ menubar_accel_group);
reused_p = TRUE;
}
else
{
- widget = menu_convert (item_descr, NULL);
+ widget = menu_convert (item_descr, NULL, menubar_accel_group);
if (current_child) gtk_widget_destroy (GTK_WIDGET (current_child));
gtk_menu_bar_insert (GTK_MENU_BAR (menubar), widget, menu_position);
}
}
}
}
+
+ /* Attach the new accelerator group to the frame. */
+ gtk_window_add_accel_group (GTK_WINDOW (FRAME_GTK_SHELL_WIDGET(f)),
+ menubar_accel_group);
}
\f
CHECK_STRING (XCAR (menu_desc));
/* Now lets get down to business... */
- widget = menu_descriptor_to_widget (menu_desc);
+ widget = menu_descriptor_to_widget (menu_desc, NULL);
menu = GTK_MENU_ITEM (widget)->submenu;
gtk_widget_set_name (widget, "XEmacsPopupMenu");
id = gtk_object_get_data (GTK_OBJECT (widget), XEMACS_MENU_GUIID_TAG);
*/
(menu))
{
- GtkWidget *w = menu_descriptor_to_widget (menu);
+ GtkWidget *w = menu_descriptor_to_widget (menu, NULL);
return (w ? build_gtk_object (GTK_OBJECT (w)) : Qnil);
}
if (menubar == NULL)
return;
- /* #### If a filter function has set desc to Qnil, this abort()
+ /* #### If a filter function has set desc to Qnil, this ABORT()
triggers. To resolve, we must prevent filters explicitly from
mangling with the active menu. In apply_filter probably?
Is copy-tree on the whole menu too expensive? */
if (NILP (desc))
- /* abort(); */
+ /* ABORT(); */
return;
GCPRO1 (desc); /* just to be safe -- see above */
data = compute_menubar_data (f, menubar, deep_p);
if (!data || (!data->next && !data->contents))
- abort ();
+ ABORT ();
if (NILP (FRAME_MENUBAR_DATA (f)))
{
#else
if (dimension == 1)
{
- if (chlook->next_allocated_1_byte_leading_byte > MAX_LEADING_BYTE_PRIVATE_1)
+ if (chlook->next_allocated_1_byte_leading_byte >
+ MAX_LEADING_BYTE_PRIVATE_1)
lb = 0;
else
lb = chlook->next_allocated_1_byte_leading_byte++;
}
else
{
- if (chlook->next_allocated_2_byte_leading_byte > MAX_LEADING_BYTE_PRIVATE_2)
- lb = 0;
+ /* awfully fragile, but correct */
+#if MAX_LEADING_BYTE_PRIVATE_2 == 255
+ if (chlook->next_allocated_2_byte_leading_byte == 0)
+#else
+ if (chlook->next_allocated_2_byte_leading_byte >
+ MAX_LEADING_BYTE_PRIVATE_2)
+#endif
+ lb = 0;
else
lb = chlook->next_allocated_2_byte_leading_byte++;
}
#ifdef ENABLE_COMPOSITE_CHARS
return LEADING_BYTE_COMPOSITE;
#else
- abort();
+ ABORT();
return 0;
#endif /* ENABLE_COMPOSITE_CHARS */
}
(frame)->right_toolbar_was_visible = flag; \
break; \
default: \
- abort (); \
+ ABORT (); \
} \
} while (0)
renaming or deleting directories. (We also don't call chdir when
running subprocesses for the same reason.) */
if (!GetCurrentDirectory (MAXPATHLEN, startup_dir))
- abort ();
+ ABORT ();
{
char *p;
char modname[MAX_PATH];
if (!GetModuleFileName (NULL, modname, MAX_PATH))
- abort ();
+ ABORT ();
if ((p = strrchr (modname, '\\')) == NULL)
- abort ();
+ ABORT ();
*p = 0;
SetCurrentDirectory (modname);
doesn't resolve aliasing due to subst commands, or recognize hard
links. */
if (!win32_get_long_filename ((char *)name, fullname, MAX_PATH))
- abort ();
+ ABORT ();
parse_root (fullname, &p);
/* Normal Win32 filesystems are still case insensitive. */
/* Should not be deleting a child that is still needed. */
for (i = 0; i < MAXDESC; i++)
if (fd_info[i].cp == cp)
- abort ();
+ ABORT ();
if (!CHILD_ACTIVE (cp))
return;
|| (fd_info[fd].flags & FILE_READ) == 0)
{
/* fd is not a pipe or socket */
- abort ();
+ ABORT ();
}
cp->status = STATUS_READ_IN_PROGRESS;
SECURITY_DESCRIPTOR sec_desc;
char dir[ MAXPATHLEN ];
- if (cp == NULL) abort ();
+ if (cp == NULL) ABORT ();
xzero (start);
start.cb = sizeof (start);
XVECTOR_DATA (instantiator)[1], domain, ERROR_ME, 0, depth));
default:
- abort ();
+ ABORT ();
}
}
else if (NILP (instantiator))
device);
}
else
- abort (); /* The spec validation routines are screwed up. */
+ ABORT (); /* The spec validation routines are screwed up. */
return Qunbound;
}
else if (NILP (instantiator))
return Qunbound;
else
- abort (); /* Eh? */
+ ABORT (); /* Eh? */
return Qunbound;
}
return retval;
}
else
- abort (); /* Eh? */
+ ABORT (); /* Eh? */
return Qunbound;
}
number = -number;
}
-#define FROB(figure) do { \
- if (force || number >= figure) \
- *p++ = number / figure + '0', number %= figure, force = 1; \
+#define FROB(figure) do { \
+ if (force || number >= figure) \
+ *p++ = (char) (number / figure + '0'), number %= figure, force = 1; \
} while (0)
#if SIZEOF_LONG == 8
FROB (1000000000000000000L);
FROB (100);
FROB (10);
#undef FROB
- *p++ = number + '0';
+ *p++ = (char) (number + '0');
*p = '\0';
return p;
#endif /* (SIZEOF_LONG == 4) || (SIZEOF_LONG == 8) */
break;
}
- /* Don't abort or signal if called from debug_print() or already
+ /* Don't ABORT or signal if called from debug_print() or already
crashing */
if (!inhibit_non_essential_printing_operations)
{
#ifdef ERROR_CHECK_TYPES
- abort ();
+ ABORT ();
#else /* not ERROR_CHECK_TYPES */
if (print_readably)
type_error (Qinternal_error, "printing %s", buf);
chunklen = Lstream_read (lstream, chunkbuf, 512);
if (chunklen <= 0)
- break; /* perhaps should abort() if < 0?
+ break; /* perhaps should ABORT() if < 0?
This should never happen. */
/* Lstream_write() will never successfully write less than the
chunklen = Lstream_read (lstream, chunkbuf, 512);
if (chunklen <= 0)
- break; /* perhaps should abort() if < 0?
+ break; /* perhaps should ABORT() if < 0?
This should never happen. */
old_sigpipe =
(SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap);
#endif
/* This may be called during a GC from process_send_signal() from
- kill_buffer_processes() if emacs decides to abort(). */
+ kill_buffer_processes() if emacs decides to ABORT(). */
if (PROCESSP (name))
return name;
else if (STRINGP (name))
}
if (! heap)
- abort ();
+ ABORT ();
/* If we can't fit SIZE bytes in that heap,
try successive later heaps. */
/* This heap should have no blocs in it. */
if (last_heap->first_bloc != NIL_BLOC
|| last_heap->last_bloc != NIL_BLOC)
- abort ();
+ ABORT ();
/* Return the last heap, with its header, to the system. */
excess = (char *)last_heap->end - (char *)last_heap->start;
}
if ((*real_morecore) (- excess) == 0)
- abort ();
+ ABORT ();
}
}
/* No need to ever call this if arena is frozen, bug somewhere! */
if (r_alloc_freeze_level)
- abort();
+ ABORT();
while (b)
{
/* No need to ever call this if arena is frozen, bug somewhere! */
if (r_alloc_freeze_level)
- abort();
+ ABORT();
if (bloc == NIL_BLOC || size == bloc->size)
return 1;
}
if (heap == NIL_HEAP)
- abort ();
+ ABORT ();
old_size = bloc->size;
bloc->size = size;
dead_bloc = find_bloc (ptr);
if (dead_bloc == NIL_BLOC)
- abort ();
+ ABORT ();
free_bloc (dead_bloc);
*ptr = 0;
bloc = find_bloc (ptr);
if (bloc == NIL_BLOC)
- abort ();
+ ABORT ();
if (size < bloc->size)
{
init_ralloc ();
if (--r_alloc_freeze_level < 0)
- abort ();
+ ABORT ();
/* This frees all unused blocs. It is not too inefficient, as the resize
and memmove is done only once. Afterwards, all unreferenced blocs are
first_heap->start = first_heap->bloc_start
= virtual_break_value = break_value = (*real_morecore) (0);
if (break_value == NIL)
- abort ();
+ ABORT ();
page_size = PAGE;
extra_bytes = ROUNDUP (50000);
{
if (p->addr == addr)
{
- if (p->sz != sz) abort(); /* ACK! Shouldn't happen at all. */
+ if (p->sz != sz) ABORT(); /* ACK! Shouldn't happen at all. */
munmap( (VM_ADDR) p->addr, p->sz );
p->flag = empty;
break;
}
}
- if (!p) abort(); /* Can't happen... we've got a block to free which is not in
+ if (!p) ABORT(); /* Can't happen... we've got a block to free which is not in
the address list. */
Coalesce_Addr_Blocks();
}
switch(r_alloc_initialized)
{
case 0:
- abort();
+ ABORT();
case 1:
*ptr = (POINTER) UNDERLYING_MALLOC(size);
break;
{
switch( r_alloc_initialized) {
case 0:
- abort();
+ ABORT();
case 1:
UNDERLYING_FREE( *ptr ); /* Certain this is from the heap. */
{
if (r_alloc_initialized == 0)
{
- abort ();
+ ABORT ();
return 0; /* suppress compiler warning */
}
else if (r_alloc_initialized == 1)
break;
case IMAGE_POINTER:
- abort ();
+ ABORT ();
case IMAGE_WIDGET:
if (EQ (XIMAGE_INSTANCE_WIDGET_TYPE (instance),
break;
default:
- abort ();
+ ABORT ();
}
xpos += rb->width;
elt++;
}
else
- abort ();
+ ABORT ();
}
}
case IMAGE_TEXT:
case IMAGE_POINTER:
default:
- abort ();
+ ABORT ();
}
IMAGE_INSTANCE_OPTIMIZE_OUTPUT
(XIMAGE_INSTANCE (instance)) = 0;
elt++;
}
else
- abort ();
+ ABORT ();
}
}
else if (start_pos <= bounds.right_out)
*next_start = bounds.right_out;
else
- abort ();
+ ABORT ();
}
for (block = 0; block < Dynarr_length (dba); block++)
int defheight, defwidth;
if (Dynarr_length (db->runes) <= cursor_location)
- abort ();
+ ABORT ();
XSETWINDOW (window, w);
case IMAGE_POINTER:
default:
- abort ();
+ ABORT ();
}
}
IMAGE_INSTANCE_OPTIMIZE_OUTPUT (childii) = 0;
f = XFRAME (locale);
}
else
- abort ();
+ ABORT ();
d = XDEVICE (f->device);
case IMAGE_TEXT:
case IMAGE_POINTER:
default:
- abort ();
+ ABORT ();
}
IMAGE_INSTANCE_OPTIMIZE_OUTPUT
(XIMAGE_INSTANCE (instance)) = 0;
elt++;
}
else
- abort ();
+ ABORT ();
}
}
case IMAGE_TEXT:
case IMAGE_POINTER:
default:
- abort ();
+ ABORT ();
}
IMAGE_INSTANCE_OPTIMIZE_OUTPUT
(XIMAGE_INSTANCE (instance)) = 0;
elt++;
}
else
- abort ();
+ ABORT ();
}
}
/* We draw underlines in the same color as the text. */
if (cachel->underline)
{
- unsigned long upos;
- unsigned long uthick;
+ /* upos is naturally signed, why would anyone think otherwise?
+ uthick is signed to avoid unsigned propagation. */
+ long upos, uthick;
XFontStruct *xfont;
xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font));
}
if (cachel->strikethru) {
- unsigned long ascent,descent,upos, uthick;
+ /* ascent, descent, and upos are naturally signed; why would anyone
+ think otherwise? uthick is signed to avoid unsigned propagation. */
+ long ascent, descent, upos, uthick;
XFontStruct *xfont;
xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font));
}
break;
default:
- abort ();
+ ABORT ();
}
}
/* Otherwise something is screwed up. */
else
- abort ();
+ ABORT ();
}
face = glyph_face (gb->glyph, data->window);
return NULL;
}
else
- abort (); /* there are no unknown types */
+ ABORT (); /* there are no unknown types */
}
return NULL;
/* This had better be a newline but doing it this way
we'll see obvious incorrect results if it isn't. No
- need to abort here. */
+ need to ABORT here. */
data.ch = BI_BUF_FETCH_CHAR (b, data.bi_bufpos);
goto done;
struct glyph_block *gb = Dynarr_atp (gbd, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (gb->active &&
((side == LEFT_GLYPHS &&
struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_begin_glyph_layout (XEXTENT (gb->extent)) == GL_WHITESPACE)
{
struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_begin_glyph_layout (XEXTENT (gb->extent)) ==
GL_INSIDE_MARGIN)
struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_begin_glyph_layout (XEXTENT (gb->extent)) ==
GL_INSIDE_MARGIN)
struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_begin_glyph_layout (XEXTENT (gb->extent)) ==
GL_OUTSIDE_MARGIN)
struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_WHITESPACE)
{
struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_INSIDE_MARGIN)
{
struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_INSIDE_MARGIN)
{
struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt);
if (NILP (gb->extent))
- abort (); /* these should have been handled in add_glyph_rune */
+ ABORT (); /* these should have been handled in add_glyph_rune */
if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_OUTSIDE_MARGIN)
{
else if (data.bi_bufpos == bi_string_zv)
goto done;
else if (data.bi_bufpos < 0)
- /* #### urk urk urk! Aborts are not very fun! Fix this please! */
+ /* #### urk urk urk! ABORTs are not very fun! Fix this please! */
data.bi_bufpos = 0;
else
INC_CHARBYTIND (string_data (s), data.bi_bufpos);
/* The lines had better exist by this point. */
if (!(dla = window_display_lines (w, type)))
- abort ();
+ ABORT ();
Dynarr_reset (dla);
w->max_line_len = 0;
dla_start = 0; \
} \
else \
- abort (); /* structs differ */ \
+ ABORT (); /* structs differ */ \
\
dla_end = Dynarr_length (cdla) - 1; \
} \
/* The menubar, toolbar, and icon updates must be done before
hold_frame_size_changes is called and we are officially
'in_display'. They may eval lisp code which may call Fsignal.
- If in_display is set Fsignal will abort. */
+ If in_display is set Fsignal will ABORT. */
#ifdef HAVE_MENUBARS
/* Update the menubar. It is done first since it could change
We need to remove them.
If Fsignal() is called during this critical section, we
- will abort().
+ will ABORT().
If garbage collection is called during this critical section,
- we simply return. #### We should abort instead.
+ we simply return. #### We should ABORT instead.
#### If a frame-size change does occur we should probably
actually be preempting redisplay. */
int win_char_height = window_char_height (w, 1);
/* Occasionally we get here with a 0 height
- window. find_next_newline_no_quit will abort if we pass it a
+ window. find_next_newline_no_quit will ABORT if we pass it a
count of 0 so handle that case. */
if (!win_char_height)
win_char_height = 1;
else if (point < start)
top = pos - 1;
else
- abort ();
+ ABORT ();
new_pos = (bottom + top + 1) >> 1;
if (pos == new_pos)
#else /* not emacs */
+#define ABORT abort
+
/* If we are not linking with Emacs proper,
we can't use the relocating allocator
even if config.h says that we can. */
/* Start remembering the text that is matched, for storing in a
register. Followed by one byte with the register number, in
- the range 0 to one less than the pattern buffer's re_nsub
+ the range 1 to the pattern buffer's re_ngroups
field. Then followed by one byte with the number of groups
inner to this one. (This last has to be part of the
start_memory only because we need it in the on_failure_jump
/* Stop remembering the text that is matched and store it in a
memory register. Followed by one byte with the register
- number, in the range 0 to one less than `re_nsub' in the
+ number, in the range 1 to `re_ngroups' in the
pattern buffer, and one byte with the number of inner groups,
just like `start_memory'. (We need the number of inner
groups here because we don't have any easy way of finding the
}
printf ("re_nsub: %ld\t", (long)bufp->re_nsub);
+ printf ("re_ngroups: %ld\t", (long)bufp->re_ngroups);
printf ("regs_alloc: %d\t", bufp->regs_allocated);
printf ("can_be_null: %d\t", bufp->can_be_null);
printf ("newline_anchor: %d\n", bufp->newline_anchor);
printf ("syntax: %d\n", bufp->syntax);
/* Perhaps we should print the translate table? */
/* and maybe the category table? */
+
+ if (bufp->external_to_internal_register)
+ {
+ int i;
+
+ printf ("external_to_internal_register:\n");
+ for (i = 0; i <= bufp->re_nsub; i++)
+ {
+ if (i > 0)
+ printf (", ");
+ printf ("%d -> %d", i, bufp->external_to_internal_register[i]);
+ }
+ printf ("\n");
+ }
}
ignore the excess. */
typedef unsigned regnum_t;
+#define INIT_REG_TRANSLATE_SIZE 5
/* Macros for the compile stack. */
/* Make the register vectors big enough for NUM_REGS registers,
but don't make them smaller. */
-static
+static void
regex_grow_registers (int num_regs)
{
if (num_regs > regs_allocated_size)
`syntax' is set to SYNTAX;
`used' is set to the length of the compiled pattern;
`fastmap_accurate' is zero;
- `re_nsub' is the number of subexpressions in PATTERN;
+ `re_ngroups' is the number of groups/subexpressions (including shy
+ groups) in PATTERN;
+ `re_nsub' is the number of non-shy groups in PATTERN;
`not_bol' and `not_eol' are zero;
The `fastmap' and `newline_anchor' fields are neither
/* Always count groups, whether or not bufp->no_sub is set. */
bufp->re_nsub = 0;
+ bufp->re_ngroups = 0;
+
+ /* Allocate index translation array if needed. */
+ if (bufp->external_to_internal_register == 0)
+ {
+ bufp->external_to_internal_register_size = INIT_REG_TRANSLATE_SIZE;
+ RETALLOC (bufp->external_to_internal_register,
+ bufp->external_to_internal_register_size,
+ int);
+ }
+
+ /* Initialize translations to impossible value to aid debugging. */
+ {
+ int i;
+
+ bufp->external_to_internal_register[0] = 0;
+ for (i = 1; i < bufp->external_to_internal_register_size; i++)
+ bufp->external_to_internal_register[i] = (int) 0xDEADBEEF;
+ }
#if !defined (emacs) && !defined (SYNTAX_TABLE)
/* Initialize the syntax table. */
handle_open:
{
regnum_t r;
+ int shy = 0;
if (!(syntax & RE_NO_SHY_GROUPS)
&& p != pend
switch (c)
{
case ':': /* shy groups */
- r = MAX_REGNUM + 1;
+ shy = 1;
break;
/* All others are reserved for future constructs. */
FREE_STACK_RETURN (REG_BADPAT);
}
}
- else
- {
- bufp->re_nsub++;
- r = ++regnum;
- }
+
+ r = ++regnum;
+ bufp->re_ngroups++;
+ if (!shy)
+ /* Record the translation from capturing group index to
+ register number, reallocating table as needed. */
+ {
+ bufp->re_nsub++;
+ while (bufp->external_to_internal_register_size <=
+ bufp->re_nsub)
+ {
+ int i;
+ int old_size =
+ bufp->external_to_internal_register_size;
+ bufp->external_to_internal_register_size += 5;
+ RETALLOC (bufp->external_to_internal_register,
+ bufp->external_to_internal_register_size,
+ int);
+ /* debugging */
+ for (i = old_size;
+ i < bufp->external_to_internal_register_size; i++)
+ bufp->external_to_internal_register[i] =
+ (int) 0xDEADBEEF;
+ }
+
+ bufp->external_to_internal_register[bufp->re_nsub] =
+ bufp->re_ngroups;
+ }
if (COMPILE_STACK_FULL)
{
/* We will eventually replace the 0 with the number of
groups inner to this one. But do not push a
start_memory for groups beyond the last one we can
- represent in the compiled pattern. */
+ represent in the compiled pattern.
+ #### bad bad bad. this will fail in lots of ways, if we
+ ever have to backtrack for these groups.
+ */
if (r <= MAX_REGNUM)
{
COMPILE_STACK_TOP.inner_group_offset
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
{
- regnum_t reg;
+ int reg;
+
if (syntax & RE_NO_BK_REFS)
goto normal_char;
+ /* External register indexing. */
reg = c - '0';
- if (reg > regnum)
+ if (reg > bufp->re_nsub)
FREE_STACK_RETURN (REG_ESUBREG);
- /* Can't back reference to a subexpression if inside of it. */
+ /* Convert external to internal as soon as possible. */
+ reg = bufp->external_to_internal_register[reg];
+
+ /* Can't back reference to a subexpression if inside it. */
if (group_in_compile_stack (compile_stack, reg))
goto normal_char;
isn't necessary unless we're trying to avoid calling alloca in
the search and match routines. */
{
- int num_regs = bufp->re_nsub + 1;
+ int num_regs = bufp->re_ngroups + 1;
/* Since DOUBLE_FAIL_STACK refuses to double only if the current size
is strictly greater than re_max_failures, the largest possible stack
default:
- abort (); /* We have listed all the cases. */
+ ABORT (); /* We have listed all the cases. */
} /* switch *p++ */
/* Getting here means we have found the possible starting
/* We fill all the registers internally, independent of what we
return, for use in backreferences. The number here includes
an element for register zero. */
- int num_regs = bufp->re_nsub + 1;
+ int num_regs = bufp->re_ngroups + 1;
/* The currently active registers. */
int lowest_active_reg = NO_LOWEST_ACTIVE_REG;
there are groups, we include space for register 0 (the whole
pattern), even though we never use it, since it simplifies the
array indexing. We should fix this. */
- if (bufp->re_nsub)
+ if (bufp->re_ngroups)
{
regstart = REGEX_TALLOC (num_regs, re_char *);
regend = REGEX_TALLOC (num_regs, re_char *);
succeed_label:
DEBUG_PRINT1 ("Accepting match.\n");
- /* If caller wants register contents data back, do it. */
- if (regs && !bufp->no_sub)
- {
- /* Have the register data arrays been allocated? */
- if (bufp->regs_allocated == REGS_UNALLOCATED)
- { /* No. So allocate them with malloc. We need one
- extra element beyond `num_regs' for the `-1' marker
- GNU code uses. */
- regs->num_regs = MAX (RE_NREGS, num_regs + 1);
- regs->start = TALLOC (regs->num_regs, regoff_t);
- regs->end = TALLOC (regs->num_regs, regoff_t);
- if (regs->start == NULL || regs->end == NULL)
- {
- FREE_VARIABLES ();
- return -2;
- }
- bufp->regs_allocated = REGS_REALLOCATE;
- }
- else if (bufp->regs_allocated == REGS_REALLOCATE)
- { /* Yes. If we need more elements than were already
- allocated, reallocate them. If we need fewer, just
- leave it alone. */
- if (regs->num_regs < num_regs + 1)
- {
- regs->num_regs = num_regs + 1;
- RETALLOC (regs->start, regs->num_regs, regoff_t);
- RETALLOC (regs->end, regs->num_regs, regoff_t);
- if (regs->start == NULL || regs->end == NULL)
- {
- FREE_VARIABLES ();
- return -2;
- }
- }
- }
- else
- {
- /* These braces fend off a "empty body in an else-statement"
- warning under GCC when assert expands to nothing. */
- assert (bufp->regs_allocated == REGS_FIXED);
- }
+ {
+ /* If caller wants register contents data back, fill REGS. */
+ int num_nonshy_regs = bufp->re_nsub + 1;
+ if (regs && !bufp->no_sub)
+ {
+ /* Have the register data arrays been allocated? */
+ if (bufp->regs_allocated == REGS_UNALLOCATED)
+ { /* No. So allocate them with malloc. We need one
+ extra element beyond `num_regs' for the `-1' marker
+ GNU code uses. */
+ regs->num_regs = MAX (RE_NREGS, num_nonshy_regs + 1);
+ regs->start = TALLOC (regs->num_regs, regoff_t);
+ regs->end = TALLOC (regs->num_regs, regoff_t);
+ if (regs->start == NULL || regs->end == NULL)
+ {
+ FREE_VARIABLES ();
+ return -2;
+ }
+ bufp->regs_allocated = REGS_REALLOCATE;
+ }
+ else if (bufp->regs_allocated == REGS_REALLOCATE)
+ { /* Yes. If we need more elements than were already
+ allocated, reallocate them. If we need fewer, just
+ leave it alone. */
+ if (regs->num_regs < num_nonshy_regs + 1)
+ {
+ regs->num_regs = num_nonshy_regs + 1;
+ RETALLOC (regs->start, regs->num_regs, regoff_t);
+ RETALLOC (regs->end, regs->num_regs, regoff_t);
+ if (regs->start == NULL || regs->end == NULL)
+ {
+ FREE_VARIABLES ();
+ return -2;
+ }
+ }
+ }
+ else
+ {
+ /* The braces fend off a "empty body in an else-statement"
+ warning under GCC when assert expands to nothing. */
+ assert (bufp->regs_allocated == REGS_FIXED);
+ }
- /* Convert the pointer data in `regstart' and `regend' to
- indices. Register zero has to be set differently,
- since we haven't kept track of any info for it. */
- if (regs->num_regs > 0)
- {
- regs->start[0] = pos;
- regs->end[0] = (MATCHING_IN_FIRST_STRING
- ? ((regoff_t) (d - string1))
- : ((regoff_t) (d - string2 + size1)));
- }
+ /* Convert the pointer data in `regstart' and `regend' to
+ indices. Register zero has to be set differently,
+ since we haven't kept track of any info for it. */
+ if (regs->num_regs > 0)
+ {
+ regs->start[0] = pos;
+ regs->end[0] = (MATCHING_IN_FIRST_STRING
+ ? ((regoff_t) (d - string1))
+ : ((regoff_t) (d - string2 + size1)));
+ }
- /* Go through the first `min (num_regs, regs->num_regs)'
- registers, since that is all we initialized. */
- for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
- {
- if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
- regs->start[mcnt] = regs->end[mcnt] = -1;
- else
- {
- regs->start[mcnt]
- = (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]);
- regs->end[mcnt]
- = (regoff_t) POINTER_TO_OFFSET (regend[mcnt]);
- }
- }
- } /* regs && !bufp->no_sub */
-
- /* If we have regs and the regs structure has more elements than
- were in the pattern, set the extra elements to -1. If we
- (re)allocated the registers, this is the case, because we
- always allocate enough to have at least one -1 at the end.
-
- We do this even when no_sub is set because some applications
- (XEmacs) reuse register structures which may contain stale
- information, and permit attempts to access those registers.
-
- It would be possible to require the caller to do this, but we'd
- have to change the API for this function to reflect that, and
- audit all callers. */
- if (regs && regs->num_regs > 0)
- for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
- regs->start[mcnt] = regs->end[mcnt] = -1;
-
- DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
- nfailure_points_pushed, nfailure_points_popped,
- nfailure_points_pushed - nfailure_points_popped);
- DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
-
- mcnt = d - pos - (MATCHING_IN_FIRST_STRING
+ /* Map over the NUM_NONSHY_REGS non-shy internal registers.
+ Copy each into the corresponding external register.
+ N.B. MCNT indexes external registers. */
+ for (mcnt = 1;
+ mcnt < MIN (num_nonshy_regs, regs->num_regs);
+ mcnt++)
+ {
+ int ireg = bufp->external_to_internal_register[mcnt];
+
+ if (REG_UNSET (regstart[ireg]) || REG_UNSET (regend[ireg]))
+ regs->start[mcnt] = regs->end[mcnt] = -1;
+ else
+ {
+ regs->start[mcnt]
+ = (regoff_t) POINTER_TO_OFFSET (regstart[ireg]);
+ regs->end[mcnt]
+ = (regoff_t) POINTER_TO_OFFSET (regend[ireg]);
+ }
+ }
+ } /* regs && !bufp->no_sub */
+
+ /* If we have regs and the regs structure has more elements than
+ were in the pattern, set the extra elements to -1. If we
+ (re)allocated the registers, this is the case, because we
+ always allocate enough to have at least one -1 at the end.
+
+ We do this even when no_sub is set because some applications
+ (XEmacs) reuse register structures which may contain stale
+ information, and permit attempts to access those registers.
+
+ It would be possible to require the caller to do this, but we'd
+ have to change the API for this function to reflect that, and
+ audit all callers. */
+ if (regs && regs->num_regs > 0)
+ for (mcnt = num_nonshy_regs; mcnt < regs->num_regs; mcnt++)
+ regs->start[mcnt] = regs->end[mcnt] = -1;
+ }
+
+ DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+ nfailure_points_pushed, nfailure_points_popped,
+ nfailure_points_pushed - nfailure_points_popped);
+ DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+
+ mcnt = d - pos - (MATCHING_IN_FIRST_STRING
? string1
: string2 - size1);
- DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+ DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
- FREE_VARIABLES ();
- return mcnt;
- }
+ FREE_VARIABLES ();
+ return mcnt;
+ }
/* Otherwise match next pattern command. */
switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
/* \<digit> has been turned into a `duplicate' command which is
- followed by the numeric value of <digit> as the register number. */
+ followed by the numeric value of <digit> as the register number.
+ (Already passed through external-to-internal-register mapping,
+ so it refers to the actual group number, not the non-shy-only
+ numbering used in the external world.) */
case duplicate:
{
REGISTER re_char *d2, *dend2;
- int regno = *p++; /* Get which register to match against. */
+ /* Get which register to match against. */
+ int regno = *p++;
DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
/* Can't back reference a group which we've never matched. */
emch1, emch2 is the character at d, and syn2 is the
syntax of emch2. */
Emchar emch1, emch2;
- int syn1, syn2;
+ /* GCC isn't smart enough to see these are initialized if used. */
+ int syn1 = 0, syn2 = 0;
re_char *d_before, *d_after;
int result,
at_beg = AT_STRINGS_BEG (d),
#endif /* emacs */
default:
- abort ();
+ ABORT ();
}
continue; /* Successfully executed one pattern command; keep going. */
static re_bool
group_match_null_string_p (unsigned char **p, unsigned char *end,
- register_info_type *reg_info)
+ register_info_type *register_info)
{
int mcnt;
/* Point to after the args to the start_memory. */
its number. */
if (!alt_match_null_string_p (p1, p1 + mcnt - 3,
- reg_info))
+ register_info))
return false;
/* Move to right after this alternative, including the
the length of the alternative. */
EXTRACT_NUMBER (mcnt, p1 - 2);
- if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
+ if (!alt_match_null_string_p (p1, p1 + mcnt, register_info))
return false;
p1 += mcnt; /* Get past the n-th alternative. */
default:
- if (!common_op_match_null_string_p (&p1, end, reg_info))
+ if (!common_op_match_null_string_p (&p1, end, register_info))
return false;
}
} /* while p1 < end */
static re_bool
alt_match_null_string_p (unsigned char *p, unsigned char *end,
- register_info_type *reg_info)
+ register_info_type *register_info)
{
int mcnt;
unsigned char *p1 = p;
break;
default:
- if (!common_op_match_null_string_p (&p1, end, reg_info))
+ if (!common_op_match_null_string_p (&p1, end, register_info))
return false;
}
} /* while p1 < end */
static re_bool
common_op_match_null_string_p (unsigned char **p, unsigned char *end,
- register_info_type *reg_info)
+ register_info_type *register_info)
{
int mcnt;
re_bool ret;
case start_memory:
reg_no = *p1;
assert (reg_no > 0 && reg_no <= MAX_REGNUM);
- ret = group_match_null_string_p (&p1, end, reg_info);
+ ret = group_match_null_string_p (&p1, end, register_info);
/* Have to set this here in case we're checking a group which
contains a group and a back reference to it. */
- if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
- REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
+ if (REG_MATCH_NULL_STRING_P (register_info[reg_no]) ==
+ MATCH_NULL_UNSET_VALUE)
+ REG_MATCH_NULL_STRING_P (register_info[reg_no]) = ret;
if (!ret)
return false;
break;
case duplicate:
- if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
+ if (!REG_MATCH_NULL_STRING_P (register_info[*p1]))
return false;
break;
`newline_anchor' to REG_NEWLINE being set in CFLAGS;
`fastmap' and `fastmap_accurate' to zero;
`re_nsub' to the number of subexpressions in PATTERN.
+ (non-shy of course. POSIX probably doesn't know about
+ shy ones, and in any case they should be invisible.)
PATTERN is the address of the pattern string.
if (cflags & REG_ICASE)
{
- unsigned i;
+ int i;
preg->translate = (char *) malloc (CHAR_SET_SIZE);
if (preg->translate == NULL)
to this routine. If we are given anything else, or if other regex
code generates an invalid error code, then the program has a bug.
Dump core so we can fix it. */
- abort ();
+ ABORT ();
msg = gettext (re_error_msgid[errcode]);
when it is matched. */
RE_TRANSLATE_TYPE translate;
- /* Number of subexpressions found by the compiler. */
+ /* Number of returnable groups found by the compiler. (This does
+ not count shy groups.) */
Element_count re_nsub;
+ /* Total number of groups found by the compiler. (Including
+ shy ones.) */
+ Element_count re_ngroups;
+
/* Zero if this pattern cannot match the empty string, one else.
Well, in truth it's used only in `re_search_2', to see
whether or not we should use the fastmap, so we don't set
/* If true, an anchor at a newline matches. */
unsigned newline_anchor : 1;
+ /* Mapping between back references and groups (may not be
+ equivalent with shy groups). */
+ int *external_to_internal_register;
+
+ int external_to_internal_register_size;
+
/* [[[end pattern_buffer]]] */
};
#ifndef __FreeBSD_version
#include <osreldate.h>
#endif
-#if __FreeBSD_version >= 199701
+#if __FreeBSD_version >= 199701 && __FreeBSD_version < 600006
#define LIBS_SYSTEM "-lutil -lxpg4"
#else
#define LIBS_SYSTEM "-lutil"
* constant to dimension an array. So wire in the appropriate value here.
*/
-#ifndef NSIG
+#if defined(emacs) && !defined(NSIG)
#define NSIG 32
-#endif
+#endif /* defined(emacs) && !defined(NSIG) */
/* We need bss_end from emacs.c for undumping */
-/* scrollbar implementation -- X interface.
+/* scrollbar implementation -- GTK interface.
Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
Copyright (C) 1994 Amdhal Corporation.
Copyright (C) 1995 Sun Microsystems, Inc.
SCROLLBAR_GTK_VDRAG_ORIG_VALUE (instance) = -1;
SCROLLBAR_GTK_LAST_VALUE (instance) = adj->value;
- gtk_object_set_data (GTK_OBJECT (adj), "xemacs::gui_id", (void *) SCROLLBAR_GTK_ID (instance));
- gtk_object_set_data (GTK_OBJECT (adj), "xemacs::frame", f);
+ gtk_object_set_data (GTK_OBJECT (adj), GTK_DATA_GUI_IDENTIFIER,
+ (void *) SCROLLBAR_GTK_ID (instance));
+ gtk_object_set_data (GTK_OBJECT (adj), GTK_DATA_FRAME_IDENTIFIER, f);
gtk_object_set_data (GTK_OBJECT (adj), "xemacs::sb_instance", instance);
sb = GTK_SCROLLBAR (vertical ? gtk_vscrollbar_new (adj) : gtk_hscrollbar_new (adj));
gtk_widget_set_usize (wid,
pos_data->scrollbar_width,
pos_data->scrollbar_height);
+
+ /*
+ UGLY! UGLY! UGLY! Changes to wid->allocation are queued and
+ not performed until the GTK event loop. However, when the
+ fontlock progress bar is run, the vertical scrollbar's height
+ is change and then changed back before events are again
+ processed. This means that the change back is not seen and
+ the scrollbar is left too short. Fix this by making the
+ change manually so the test above sees the change. This does
+ not seem to cause problems in other cases.
+ */
+
+ wid->allocation.width = pos_data->scrollbar_width;
+ wid->allocation.height = pos_data->scrollbar_height;
+
modified_p = 1;
}
wid,
pos_data->scrollbar_x,
pos_data->scrollbar_y);
+
+ /*
+ UGLY! UGLY! UGLY! Changes to wid->allocation are queued and
+ not performed until the GTK event loop. However, when the
+ fontlock progress bar is run, the horizontal scrollbar's
+ position is change and then changed back before events are
+ again processed. This means that the change back is not seen
+ and the scrollbar is left in the wrong position. Fix this by
+ making the change manually so the test above sees the change.
+ This does not seem to cause problems in other cases.
+ */
+
+ wid->allocation.x = pos_data->scrollbar_x;
+ wid->allocation.y = pos_data->scrollbar_y;
+
modified_p = 1;
}
}
break;
default:
- abort ();
+ ABORT ();
}
}
{
/* This function can GC */
int vertical = (int) user_data;
- struct frame *f = gtk_object_get_data (GTK_OBJECT (adj), "xemacs::frame");
+ struct frame *f = gtk_object_get_data (GTK_OBJECT (adj), GTK_DATA_FRAME_IDENTIFIER);
struct scrollbar_instance *instance = gtk_object_get_data (GTK_OBJECT (adj), "xemacs::sb_instance");
- GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (adj), "xemacs::gui_id");
+ GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (adj), GTK_DATA_GUI_IDENTIFIER);
Lisp_Object win, frame;
struct window_mirror *mirror;
Lisp_Object event_type = Qnil;
event_data = Fcons (win, make_int ((int)adj->value));
break;
default:
- abort();
+ ABORT();
}
signal_special_gtk_user_event (frame, event_type, event_data);
void
gtk_update_frame_scrollbars (struct frame *f)
{
- /* Consider this code to be "in_display" so that we abort() if Fsignal()
+ /* Consider this code to be "in_display" so that we ABORT() if Fsignal()
gets called. */
in_display++;
gtk_scrollbar_loop (GTK_UPDATE_FRAME_SCROLLBARS, f->root_window, f->root_mirror,
0, (GdkWindow *) NULL);
in_display--;
- if (in_display < 0) abort ();
+ if (in_display < 0) ABORT ();
}
#ifdef MEMORY_USAGE_STATS
/* "0 as the second parameter" refers to the call to real_window
above. This comment was taken from Ben's 21.5 code that differs
somewhat from this, I don't think the 21.4 code ever had a 0
- there. #### we're still hitting an abort here with 0 as the
+ there. #### we're still hitting an ABORT here with 0 as the
second parameter, although only occasionally. It seems that
sometimes we receive events for scrollbars that don't exist
anymore. I assume it must happen like this: The user does
}
}
- if (!wv->scrollbar_data) abort ();
+ if (!wv->scrollbar_data) ABORT ();
free_widget_value_tree (wv);
}
else if (managed)
}
break;
default:
- abort ();
+ ABORT ();
}
}
void
x_update_frame_scrollbars (struct frame *f)
{
- /* Consider this code to be "in_display" so that we abort() if Fsignal()
+ /* Consider this code to be "in_display" so that we ABORT() if Fsignal()
gets called. */
in_display++;
x_scrollbar_loop (X_UPDATE_FRAME_SCROLLBARS, f->root_window, f->root_mirror,
0, (Window) NULL);
in_display--;
- if (in_display < 0) abort ();
+ if (in_display < 0) ABORT ();
}
#ifdef MEMORY_USAGE_STATS
{
int total = 0;
- total += DEVMETH (d, compute_scrollbar_instance_usage, (d, inst, ovstats));
+ if (HAS_DEVMETH_P(d, compute_scrollbar_instance_usage))
+ total += DEVMETH (d, compute_scrollbar_instance_usage, (d, inst, ovstats));
while (inst)
{
static void set_search_regs (struct buffer *buf, Bufpos beg, Charcount len);
static void clear_unused_search_regs (struct re_registers *regp, int no_sub);
-/* #### according to comment in 21.5, unnecessary */
static void save_search_regs (void);
static Bufpos simple_search (struct buffer *buf, Bufbyte *base_pat,
Bytecount len, Bytind pos, Bytind lim,
if (!EQ (noerror, Qt))
{
if (lim < BUF_BEGV (buf) || lim > BUF_ZV (buf))
- abort ();
+ ABORT ();
BUF_SET_PT (buf, lim);
return Qnil;
#if 0 /* This would be clean, but maybe programs depend on
}
if (np < BUF_BEGV (buf) || np > BUF_ZV (buf))
- abort ();
+ ABORT ();
BUF_SET_PT (buf, np);
CHECK_INT (num);
n = XINT (num);
- if (n < 0 || n >= search_regs.num_regs)
+ if (n < 0 || search_regs.num_regs <= 0)
args_out_of_range (num, make_int (search_regs.num_regs));
- if (search_regs.num_regs == 0 ||
+ if (n >= search_regs.num_regs ||
search_regs.start[n] < 0)
return Qnil;
return make_int (beginningp ? search_regs.start[n] : search_regs.end[n]);
}
else
/* last_thing_searched must always be Qt, a buffer, or Qnil. */
- abort ();
+ ABORT ();
len = i;
}
int num_regs;
int length;
-#if 0
- /* #### according to 21.5 comment, unnecessary */
if (running_asynch_code)
save_search_regs ();
-#endif
CONCHECK_LIST (list);
return Qnil;
}
-/* #### according to 21.5 comment, unnecessary */
/* If non-zero the match data have been saved in saved_search_regs
during the execution of a sentinel or filter. */
static int search_regs_saved;
}
}
-/* #### according to 21.5 comment, unnecessary
- prototype in lisp.h, all calls in process.c */
/* Called upon exit from filters and sentinels. */
void
restore_match_data (void)
Window window = (Window) *private_id;
Lisp_Object selection = select_convert_out (QCLIPBOARD, Qnil, Qnil);
- /* Whichever lazy git wrote this originally just called abort()
+ /* Whichever lazy git wrote this originally just called ABORT()
when anything didn't go their way... */
/* Try some other text types */
if (static_heap_ptr + size >= static_heap_base + static_heap_size)
{
printf(
-
-"\nRequested %d bytes, static heap exhausted! base is %p, current ptr
-is %p. You have exhausted the static heap.
-
-If you are simply trying to compile, remove sheap-adjust.h
-and recompile from the top level. If this doesn't
-work then STATIC_HEAP_SLOP (defined in this file) is too small.
-
-If you want to run temacs, change SHEAP_ADJUSTMENT in sheap-adjust.h
-to 0 or a +ve number. Generally you should *not* try to run temacs
-with a static heap, you should dump first.\n", size,
+"\nRequested %d bytes, static heap exhausted! base is %p, current ptr\n"
+"is %p. You have exhausted the static heap. \n"
+"\n"
+"If you are simply trying to compile, remove sheap-adjust.h\n"
+"and recompile from the top level. If this doesn't\n"
+"work then STATIC_HEAP_SLOP (defined in this file) is too small.\n"
+"\n"
+"If you want to run temacs, change SHEAP_ADJUSTMENT in sheap-adjust.h\n"
+"to 0 or a +ve number. Generally you should *not* try to run temacs\n"
+"with a static heap, you should dump first.\n", size,
static_heap_base, static_heap_ptr);
exit(-1);
c = getc (stdin);
stdout_out ("Abort (and dump core)? (y or n) ");
if (((c = getc (stdin)) & ~040) == 'Y')
- abort ();
+ ABORT ();
while (c != '\n')
c = getc (stdin);
stdout_out ("Continuing...\n");
tem = nconc2 (*orig_inst_list, list_to_build_up);
else
{
- abort ();
+ ABORT ();
tem = Qnil;
}
/* The instantiate method is allowed to call eval. Since it
is quite common for this function to get called from somewhere in
redisplay we need to make sure that quits are ignored. Otherwise
- Fsignal will abort. */
+ Fsignal will ABORT. */
specbind (Qinhibit_quit, Qt);
LIST_LOOP (rest, inst_list)
No. Errors are handled in Lisp primitives implementation.
Invalid domain is a design error here - kkm. */
- abort ();
+ ABORT ();
if (NILP (buffer) && !NILP (window))
buffer = WINDOW_BUFFER (XWINDOW (window));
really went wrong. */
device = FRAME_DEVICE (XFRAME (frame));
- /* device had better be determined by now; abort if not. */
+ /* device had better be determined by now; ABORT if not. */
tag = DEVICE_CLASS (XDEVICE (device));
depth = make_int (1 + XINT (depth));
This method must presume that both INSTANTIATOR and MATCHSPEC are
already validated by the corresponding validate_* methods, and
- may abort if they are invalid.
+ may ABORT if they are invalid.
Return value is an instance, which is returned immediately to the
caller, or Qunbound to continue instantiation lookup chain.
/* #### get image instances out of domains! */
-/* #### I think the following should abort() rather than return nil
+/* #### I think the following should ABORT() rather than return nil
when an invalid domain is given; much more likely we'll catch design
errors early. --ben */
int length;
if (sizeof (num) > 16)
- abort ();
+ ABORT ();
sprintf (buf, "%lu", (unsigned long) num);
length = add_str (string, buf, max);
return length;
reset_volume_p = 0;
reset_device_p = 0;
- if (data && fd) abort (); /* one or the other */
+ if (data && fd) ABORT (); /* one or the other */
if (AUDIO_SUCCESS != audio_get_play_config (audio_fd, &dev_hdr))
{
#if 0 /* Inserted for debugging 6/28/1997 -slb */
/* Somebody is setting a property list of integer 0, who? */
/* Not this way apparently. */
- if (EQ(newplist, Qzero)) abort();
+ if (EQ(newplist, Qzero)) ABORT();
#endif
XSYMBOL (symbol)->plist = newplist;
return valcontents;
default:
- abort ();
+ ABORT ();
}
return Qnil; /* suppress compiler warning */
}
return;
default:
- abort ();
+ ABORT ();
}
}
}
break;
}
default:
- abort ();
+ ABORT ();
}
store_symval_forwarding (symbol, valcontents, newval);
return variable;
default:
- abort ();
+ ABORT ();
}
}
}
default:
- abort ();
+ ABORT ();
}
}
break;
default:
- abort ();
+ ABORT ();
}
}
case SYMVAL_UNBOUND_MARKER: return Qnil;
default:
- abort (); return Qnil;
+ ABORT (); return Qnil;
}
}
if (EQ (symbol, Qmake_local)) return MAGIC_HANDLER_MAKE_LOCAL;
signal_simple_error ("Unrecognized symbol value handler type", symbol);
- abort ();
+ ABORT ();
return MAGIC_HANDLER_MAX;
}
return MAGIC_HANDLER_MAKE_LOCAL;
if (abort_if_not_found)
- abort ();
+ ABORT ();
signal_simple_error ("Unrecognized symbol-value function", funsym);
return MAGIC_HANDLER_MAX;
}
else
{
tmp_table = Qnil; /* silence compiler */
- /* Always aborts. #### Is there another sensible thing to do here? */
+ /* Always ABORTs. #### Is there another sensible thing to do here? */
assert (BUFFERP (syntax_cache.object) || STRINGP (syntax_cache.object));
}
#define DONT_ENCAPSULATE
#include <config.h>
-
-#ifdef WIN32_NATIVE
-#ifdef MINGW
-#include <../mingw/process.h>
-#else
-/* <process.h> should not conflict with "process.h", as per ANSI definition.
- This is not true with visual c though. The trick below works with
- VC4.2b, 5.0 and 6.0. It assumes that VC is installed in a kind of
- standard way, so include path ends with /include.
-
- Unfortunately, this must go before lisp.h, since process.h defines abort()
- which will conflict with the macro defined in lisp.h
-*/
-#include <../include/process.h>
-#endif /* MINGW */
-#endif /* WIN32_NATIVE */
-
#include "lisp.h"
/* ------------------------------- */
#include "nt.h"
#endif
+#ifdef WIN32_NATIVE
+#ifdef MINGW
+#include <../mingw/process.h>
+#else
+/* <process.h> should not conflict with "process.h", as per ANSI definition.
+ This is not true with visual c though. The trick below works with
+ VC4.2b, 5.0 and 6.0. It assumes that VC is installed in a kind of
+ standard way, so include path ends with /include.
+*/
+#include <../include/process.h>
+#endif /* MINGW */
+#endif /* WIN32_NATIVE */
+
/* ------------------------------- */
/* TTY definitions */
/* ------------------------------- */
sg.sg_ospeed = B9600;
if (ioctl (input_fd, TIOCGETP, &sg) < 0)
- abort ();
+ ABORT ();
DEVICE_TTY_DATA (d)->ospeed = sg.sg_ospeed;
#endif
}
get_random (void)
{
long val = random ();
-#if VALBITS > RAND_BITS
+#if INT_VALBITS > RAND_BITS
val = (val << RAND_BITS) ^ random ();
-#if VALBITS > 2*RAND_BITS
+#if INT_VALBITS > 2*RAND_BITS
val = (val << RAND_BITS) ^ random ();
-#if VALBITS > 3*RAND_BITS
+#if INT_VALBITS > 3*RAND_BITS
val = (val << RAND_BITS) ^ random ();
-#if VALBITS > 4*RAND_BITS
+#if INT_VALBITS > 4*RAND_BITS
val = (val << RAND_BITS) ^ random ();
#endif /* need at least 5 */
#endif /* need at least 4 */
#endif /* need at least 3 */
#endif /* need at least 2 */
- return val & ((1L << VALBITS) - 1);
+ return val & (EMACS_INT) ((1UL << INT_VALBITS) - 1);
}
\f
return NSUnLinkModule((NSModule)h, NSUNLINKMODULE_OPTION_NONE);
}
+/* Given an address, return the mach_header for the image containing it
+ * or zero if the given address is not contained in any loaded images.
+ *
+ * Note: image_for_address(), my_find_image() and search_linked_libs() are
+ * based on code from the dlcompat library
+ * (http://www.opendarwin.org/projects/dlcompat).
+ */
+
+static struct mach_header*
+image_for_address(void *address)
+{
+ unsigned long i;
+ unsigned long count = _dyld_image_count();
+ struct mach_header *mh = 0;
+
+ for (i = 0; i < count; i++)
+ {
+ unsigned long addr = (unsigned long)address -
+ _dyld_get_image_vmaddr_slide(i);
+ mh = _dyld_get_image_header(i);
+
+ if (mh)
+ {
+ struct load_command *lc =
+ (struct load_command *)((char *)mh + sizeof(struct mach_header));
+ unsigned long j;
+
+ for (j = 0; j < mh->ncmds;
+ j++, lc = (struct load_command *)((char *)lc + lc->cmdsize))
+ {
+ if (LC_SEGMENT == lc->cmd &&
+ addr >= ((struct segment_command *)lc)->vmaddr &&
+ addr <
+ ((struct segment_command *)lc)->vmaddr +
+ ((struct segment_command *)lc)->vmsize)
+ {
+ goto image_found;
+ }
+ }
+ }
+
+ mh = 0;
+ }
+
+ image_found:
+ return mh;
+}
+
+static const struct mach_header*
+my_find_image(const char *name)
+{
+ const struct mach_header *mh = (struct mach_header *)
+ NSAddImage(name, NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED |
+ NSADDIMAGE_OPTION_RETURN_ON_ERROR);
+
+ if (!mh)
+ {
+ int count = _dyld_image_count();
+ int j;
+
+ for (j = 0; j < count; j++)
+ {
+ const char *id = _dyld_get_image_name(j);
+
+ if (!strcmp(id, name))
+ {
+ mh = _dyld_get_image_header(j);
+ break;
+ }
+ }
+ }
+
+ return mh;
+}
+
+/*
+ * dyld adds libraries by first adding the directly dependant libraries in
+ * link order, and then adding the dependencies for those libraries, so we
+ * should do the same... but we don't bother adding the extra dependencies, if
+ * the symbols are neither in the loaded image nor any of it's direct
+ * dependencies, then it probably isn't there.
+ */
+static NSSymbol
+search_linked_libs(const struct mach_header * mh, const char *symbol)
+{
+ int n;
+ NSSymbol nssym = 0;
+
+ struct load_command *lc =
+ (struct load_command *)((char *)mh + sizeof(struct mach_header));
+
+ for (n = 0; n < mh->ncmds;
+ n++, lc = (struct load_command *)((char *)lc + lc->cmdsize))
+ {
+ if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd))
+ {
+ struct mach_header *wh;
+
+ if ((wh = (struct mach_header *)
+ my_find_image((char *)(((struct dylib_command *)lc)->dylib.name.offset +
+ (char *)lc))))
+ {
+ if (NSIsSymbolNameDefinedInImage(wh, symbol))
+ {
+ nssym =
+ NSLookupSymbolInImage(wh,
+ symbol,
+ NSLOOKUPSYMBOLINIMAGE_OPTION_BIND |
+ NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR);
+ break;
+ }
+ }
+ }
+ }
+
+ return nssym;
+}
+
dll_func
dll_function (dll_handle h, const char *n)
{
- NSSymbol sym;
+ NSSymbol sym = 0;
#ifdef DLSYM_NEEDS_UNDERSCORE
char *buf = alloca_array (char, strlen (n) + 2);
*buf = '_';
strcpy (buf + 1, n);
n = buf;
#endif
- sym = NSLookupSymbolInModule((NSModule)h, n);
- if (sym == 0) return 0;
- return (dll_func)NSAddressOfSymbol(sym);
+
+ /* NULL means the program image and shared libraries, not bundles. */
+
+ if (h == NULL)
+ {
+ /* NOTE: This assumes that this function is included in the main program
+ and not in a shared library. */
+ const struct mach_header* my_mh = image_for_address(&dll_function);
+
+ if (NSIsSymbolNameDefinedInImage(my_mh, n))
+ {
+ sym =
+ NSLookupSymbolInImage(my_mh,
+ n,
+ NSLOOKUPSYMBOLINIMAGE_OPTION_BIND |
+ NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR);
+ }
+
+ if (!sym)
+ {
+ sym = search_linked_libs(my_mh, n);
+ }
+ }
+ else
+ {
+ sym = NSLookupSymbolInModule((NSModule)h, n);
+ }
+
+ if (sym == 0) return 0;
+ return (dll_func)NSAddressOfSymbol(sym);
}
dll_var
(frame)->right_toolbar_was_visible = flag; \
break; \
default: \
- abort (); \
+ ABORT (); \
} \
} while (0)
(frame)->right_toolbar_was_visible = flag; \
break; \
default: \
- abort (); \
+ ABORT (); \
} \
} while (0)
(frame)->right_toolbar_was_visible = flag; \
break; \
default: \
- abort (); \
+ ABORT (); \
} \
} while (0)
*vert = 1;
break;
default:
- abort ();
+ ABORT ();
}
}
Lisp_Object gtk_type_to_lisp (GtkArg *arg);
int lisp_to_gtk_type (Lisp_Object obj, GtkArg *arg);
+int lisp_to_gtk_ret_type (Lisp_Object obj, GtkArg *arg);
void describe_gtk_arg (GtkArg *arg);
guint symbol_to_enum (Lisp_Object obj, GtkType t);
static guint lisp_to_flag (Lisp_Object obj, GtkType t);
emacs_gtk_object_data *data = NULL;
GUI_ID id = 0;
- id = (GUI_ID) gtk_object_get_data (obj, "xemacs::gui_id");
+ id = (GUI_ID) gtk_object_get_data (obj, GTK_DATA_GUI_IDENTIFIER);
if (id)
{
XSETGTK_OBJECT (retval, data);
id = new_gui_id ();
- gtk_object_set_data (obj, "xemacs::gui_id", (gpointer) id);
+ gtk_object_set_data (obj, GTK_DATA_GUI_IDENTIFIER, (gpointer) id);
gcpro_popup_callbacks (id, retval);
gtk_object_ref (obj);
gtk_signal_connect (obj, "destroy", GTK_SIGNAL_FUNC (__notice_object_destruction), (gpointer)id);
signal_fake_event ();
if (args[n_args].type != GTK_TYPE_NONE)
- lisp_to_gtk_type (rval, &args[n_args]);
+ lisp_to_gtk_ret_type (rval, &args[n_args]);
UNGCPRO;
}
emacs_gtk_boxed_data *data = NULL;
if (GTK_FUNDAMENTAL_TYPE (t) != GTK_TYPE_BOXED)
- abort();
+ ABORT();
data = allocate_emacs_gtk_boxed_data ();
data->object = obj;
/* structured types */
case GTK_TYPE_SIGNAL:
case GTK_TYPE_ARGS: /* This we can do as a list of values */
- abort();
+ ABORT();
case GTK_TYPE_CALLBACK:
stderr_out ("callback fn: ...\n");
break;
case GTK_TYPE_C_CALLBACK:
case GTK_TYPE_FOREIGN:
- abort();
+ ABORT();
/* base type of the object system */
case GTK_TYPE_OBJECT:
break;
default:
- abort();
+ ABORT();
}
}
}
}
stderr_out ("Do not know how to convert `%s' to lisp!\n", gtk_type_name (arg->type));
- abort ();
+ ABORT ();
}
/* This is chuck reminding GCC to... SHUT UP! */
return (Qnil);
break;
case GTK_TYPE_LONG:
case GTK_TYPE_ULONG:
- abort();
+ ABORT();
case GTK_TYPE_FLOAT:
CHECK_INT_OR_FLOAT (obj);
GTK_VALUE_FLOAT(*arg) = extract_float (obj);
else
{
stderr_out ("Do not know how to convert `%s' from lisp!\n", gtk_type_name (arg->type));
- abort();
+ ABORT();
+ }
+ break;
+ }
+
+ return (0);
+}
+
+/* Convert lisp types to GTK return types. This is identical to
+ lisp_to_gtk_type() except that the macro used to set the value is
+ different.
+
+ ### There should be some way of combining these two functions.
+*/
+int lisp_to_gtk_ret_type (Lisp_Object obj, GtkArg *arg)
+{
+ switch (GTK_FUNDAMENTAL_TYPE (arg->type))
+ {
+ /* flag types */
+ case GTK_TYPE_NONE:
+ return (0);
+ case GTK_TYPE_CHAR:
+ {
+ Emchar c;
+
+ CHECK_CHAR_COERCE_INT (obj);
+ c = XCHAR (obj);
+ *(GTK_RETLOC_CHAR (*arg)) = c;
+ }
+ break;
+ case GTK_TYPE_UCHAR:
+ {
+ Emchar c;
+
+ CHECK_CHAR_COERCE_INT (obj);
+ c = XCHAR (obj);
+ *(GTK_RETLOC_CHAR (*arg)) = c;
+ }
+ break;
+ case GTK_TYPE_BOOL:
+ *(GTK_RETLOC_BOOL (*arg)) = NILP (obj) ? FALSE : TRUE;
+ break;
+ case GTK_TYPE_INT:
+ case GTK_TYPE_UINT:
+ if (NILP (obj) || EQ (Qt, obj))
+ {
+ /* For we are a kind mistress and allow sending t/nil for
+ 1/0 to stupid GTK functions that say they take guint or
+ gint in the header files, but actually treat it like a
+ bool. *sigh*
+ */
+ *(GTK_RETLOC_INT(*arg)) = NILP (obj) ? 0 : 1;
+ }
+ else
+ {
+ CHECK_INT (obj);
+ *(GTK_RETLOC_INT(*arg)) = XINT (obj);
+ }
+ break;
+ case GTK_TYPE_LONG:
+ case GTK_TYPE_ULONG:
+ ABORT();
+ case GTK_TYPE_FLOAT:
+ CHECK_INT_OR_FLOAT (obj);
+ *(GTK_RETLOC_FLOAT(*arg)) = extract_float (obj);
+ break;
+ case GTK_TYPE_DOUBLE:
+ CHECK_INT_OR_FLOAT (obj);
+ *(GTK_RETLOC_DOUBLE(*arg)) = extract_float (obj);
+ break;
+ case GTK_TYPE_STRING:
+ if (NILP (obj))
+ *(GTK_RETLOC_STRING (*arg)) = NULL;
+ else
+ {
+ CHECK_STRING (obj);
+ *(GTK_RETLOC_STRING (*arg)) = (char *) XSTRING_DATA (obj);
+ }
+ break;
+ case GTK_TYPE_ENUM:
+ case GTK_TYPE_FLAGS:
+ /* Convert a lisp symbol to a GTK enum */
+ *(GTK_RETLOC_ENUM(*arg)) = lisp_to_flag (obj, arg->type);
+ break;
+ case GTK_TYPE_BOXED:
+ if (NILP (obj))
+ {
+ *(GTK_RETLOC_BOXED(*arg)) = NULL;
+ }
+ else if (GTK_BOXEDP (obj))
+ {
+ *(GTK_RETLOC_BOXED(*arg)) = XGTK_BOXED (obj)->object;
+ }
+ else if (arg->type == GTK_TYPE_STYLE)
+ {
+ obj = Ffind_face (obj);
+ CHECK_FACE (obj);
+ *(GTK_RETLOC_BOXED(*arg)) = face_to_style (obj);
+ }
+ else if (arg->type == GTK_TYPE_GDK_GC)
+ {
+ obj = Ffind_face (obj);
+ CHECK_FACE (obj);
+ *(GTK_RETLOC_BOXED(*arg)) = face_to_gc (obj);
+ }
+ else if (arg->type == GTK_TYPE_GDK_WINDOW)
+ {
+ if (GLYPHP (obj))
+ {
+ Lisp_Object window = Fselected_window (Qnil);
+ Lisp_Object instance = glyph_image_instance (obj, window, ERROR_ME_NOT, 1);
+ struct Lisp_Image_Instance *p = XIMAGE_INSTANCE (instance);
+
+ switch (XIMAGE_INSTANCE_TYPE (instance))
+ {
+ case IMAGE_TEXT:
+ case IMAGE_POINTER:
+ case IMAGE_SUBWINDOW:
+ case IMAGE_NOTHING:
+ *(GTK_RETLOC_BOXED(*arg)) = NULL;
+ break;
+
+ case IMAGE_MONO_PIXMAP:
+ case IMAGE_COLOR_PIXMAP:
+ *(GTK_RETLOC_BOXED(*arg)) = IMAGE_INSTANCE_GTK_PIXMAP (p);
+ break;
+ }
+ }
+ else if (GTK_OBJECTP (obj) && GTK_IS_WIDGET (XGTK_OBJECT (obj)->object))
+ {
+ *(GTK_RETLOC_BOXED(*arg)) = GTK_WIDGET (XGTK_OBJECT (obj))->window;
+ }
+ else
+ {
+ signal_simple_error ("Don't know how to convert object to GDK_WINDOW", obj);
+ }
+ break;
+ }
+ else if (arg->type == GTK_TYPE_GDK_COLOR)
+ {
+ if (COLOR_SPECIFIERP (obj))
+ {
+ /* If it is a specifier, we just convert it to an
+ instance, and let the ifs below handle it.
+ */
+ obj = Fspecifier_instance (obj, Qnil, Qnil, Qnil);
+ }
+
+ if (COLOR_INSTANCEP (obj))
+ {
+ /* Easiest one */
+ *(GTK_RETLOC_BOXED(*arg)) = COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (obj));
+ }
+ else if (STRINGP (obj))
+ {
+ signal_simple_error ("Please use a color specifier or instance, not a string", obj);
+ }
+ else
+ {
+ signal_simple_error ("Don't know hot to convert to GdkColor", obj);
+ }
+ }
+ else if (arg->type == GTK_TYPE_GDK_FONT)
+ {
+ if (SYMBOLP (obj))
+ {
+ /* If it is a symbol, we treat that as a face name */
+ obj = Ffind_face (obj);
+ }
+
+ if (FACEP (obj))
+ {
+ /* If it is a face, we just grab the font specifier, and
+ cascade down until we finally reach a FONT_INSTANCE
+ */
+ obj = Fget (obj, Qfont, Qnil);
+ }
+
+ if (FONT_SPECIFIERP (obj))
+ {
+ /* If it is a specifier, we just convert it to an
+ instance, and let the ifs below handle it
+ */
+ obj = Fspecifier_instance (obj, Qnil, Qnil, Qnil);
+ }
+
+ if (FONT_INSTANCEP (obj))
+ {
+ /* Easiest one */
+ *(GTK_RETLOC_BOXED(*arg)) = FONT_INSTANCE_GTK_FONT (XFONT_INSTANCE (obj));
+ }
+ else if (STRINGP (obj))
+ {
+ signal_simple_error ("Please use a font specifier or instance, not a string", obj);
+ }
+ else
+ {
+ signal_simple_error ("Don't know hot to convert to GdkColor", obj);
+ }
+ }
+ else
+ {
+ /* Unknown type to convert to boxed */
+ stderr_out ("Don't know how to convert to boxed!\n");
+ *(GTK_RETLOC_BOXED(*arg)) = NULL;
+ }
+ break;
+
+ case GTK_TYPE_POINTER:
+ if (NILP (obj))
+ *(GTK_RETLOC_POINTER(*arg)) = NULL;
+ else
+ *(GTK_RETLOC_POINTER(*arg)) = LISP_TO_VOID (obj);
+ break;
+
+ /* structured types */
+ case GTK_TYPE_SIGNAL:
+ case GTK_TYPE_ARGS: /* This we can do as a list of values */
+ case GTK_TYPE_C_CALLBACK:
+ case GTK_TYPE_FOREIGN:
+ stderr_out ("Do not know how to convert `%s' from lisp!\n", gtk_type_name (arg->type));
+ return (-1);
+
+#if 0
+ /* #### BILL! */
+ /* This is not used, and does not work with union type */
+ case GTK_TYPE_CALLBACK:
+ {
+ GUI_ID id;
+
+ id = new_gui_id ();
+ obj = Fcons (Qnil, obj); /* Empty data */
+ obj = Fcons (make_int (id), obj);
+
+ gcpro_popup_callbacks (id, obj);
+
+ *(GTK_RETLOC_CALLBACK(*arg)).marshal = __internal_callback_marshal;
+ *(GTK_RETLOC_CALLBACK(*arg)).data = (gpointer) obj;
+ *(GTK_RETLOC_CALLBACK(*arg)).notify = __internal_callback_destroy;
+ }
+ break;
+#endif
+
+ /* base type of the object system */
+ case GTK_TYPE_OBJECT:
+ if (NILP (obj))
+ *(GTK_RETLOC_OBJECT (*arg)) = NULL;
+ else
+ {
+ CHECK_GTK_OBJECT (obj);
+ if (XGTK_OBJECT (obj)->alive_p)
+ *(GTK_RETLOC_OBJECT (*arg)) = XGTK_OBJECT (obj)->object;
+ else
+ signal_simple_error ("Attempting to pass dead object to GTK function", obj);
+ }
+ break;
+
+ default:
+ if (GTK_FUNDAMENTAL_TYPE (arg->type) == GTK_TYPE_ARRAY)
+ {
+ if (NILP (obj))
+ *(GTK_RETLOC_POINTER(*arg)) = NULL;
+ else
+ {
+ xemacs_list_to_array (obj, arg);
+ }
+ }
+ else if (GTK_FUNDAMENTAL_TYPE (arg->type) == GTK_TYPE_LISTOF)
+ {
+ if (NILP (obj))
+ *(GTK_RETLOC_POINTER(*arg)) = NULL;
+ else
+ {
+ xemacs_list_to_gtklist (obj, arg);
+ }
+ }
+ else
+ {
+ stderr_out ("Do not know how to convert `%s' from lisp!\n", gtk_type_name (arg->type));
+ ABORT();
}
break;
}
}
else
{
- /* abort ()? */
+ /* ABORT ()? */
}
return (val);
}
# include <sys/exec_elf.h>
#endif
+#if defined(__FreeBSD__) && (defined(__alpha__) || defined(__amd64__))
+# ifdef __STDC__
+# define ElfW(type) Elf64_##type
+# else
+# define ElfW(type) Elf64_/**/type
+# endif
+#endif
+
#if __GNU_LIBRARY__ - 0 >= 6
# include <link.h> /* get ElfW etc */
#endif
file = CreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (file == INVALID_HANDLE_VALUE)
- abort ();
+ ABORT ();
/* Seek to where the .bss section is tucked away after the heap... */
index = heap_index_in_executable + get_committed_heap_size ();
if (SetFilePointer (file, index, NULL, FILE_BEGIN) == 0xFFFFFFFF)
- abort ();
+ ABORT ();
/* Ok, read in the saved .bss section and initialize all
uninitialized variables. */
if (!ReadFile (file, bss_start, bss_size, &n_read, NULL))
- abort ();
+ ABORT ();
CloseHandle (file);
#endif
file = CreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (file == INVALID_HANDLE_VALUE)
- abort ();
+ ABORT ();
size = GetFileSize (file, &upper_size);
file_mapping = CreateFileMapping (file, NULL, PAGE_WRITECOPY,
0, size, NULL);
if (!file_mapping)
- abort ();
+ ABORT ();
size = get_committed_heap_size ();
file_base = MapViewOfFileEx (file_mapping, FILE_MAP_COPY, 0,
if (VirtualAlloc (get_heap_start (), get_committed_heap_size (),
MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE) == NULL)
- abort ();
+ ABORT ();
/* Seek to the location of the heap data in the executable. */
if (SetFilePointer (file, heap_index_in_executable,
NULL, FILE_BEGIN) == 0xFFFFFFFF)
- abort ();
+ ABORT ();
/* Read in the data. */
if (!ReadFile (file, get_heap_start (),
get_committed_heap_size (), &n_read, NULL))
- abort ();
+ ABORT ();
CloseHandle (file);
}
#endif
#endif
+extern int allow_deletion_of_last_visible_frame;
+
EXFUN (Fnext_window, 4);
static int window_pixel_width_to_char_width (struct window *w,
Lisp_Object retval = real_window_internal (mir->frame->root_window,
mir->frame->root_mirror, mir);
if (NILP (retval) && !no_abort)
- abort ();
+ ABORT ();
return retval;
}
update_frame_window_mirror (XFRAME (w->frame));
t = find_window_mirror (w);
if (!t)
- abort ();
+ ABORT ();
if (which == CURRENT_DISP)
return t->current_display_lines;
/* The CMOTION_DISP display lines are global. */
return cmotion_display_lines;
else
- abort ();
+ ABORT ();
return 0; /* shut up compiler */
}
update_frame_window_mirror (XFRAME (w->frame));
t = find_window_mirror (w);
if (!t)
- abort ();
+ ABORT ();
return t->buffer;
}
update_frame_window_mirror (XFRAME (w->frame));
t = find_window_mirror (w);
if (!t)
- abort ();
+ ABORT ();
t->buffer = b;
}
modeline_height = (Dynarr_atp (dla, 0)->ascent +
Dynarr_atp (dla, 0)->descent);
else
- /* This should be an abort except I'm not yet 100%
+ /* This should be an ABORT except I'm not yet 100%
confident that it won't ever get hit (though I
haven't been able to trigger it). It is extremely
unlikely to cause any noticeable problem and even if
Lisp_Object buf = w->buffer;
if (XBUFFER (buf) != XMARKER (w->pointm[CURRENT_DISP])->buffer)
- abort ();
+ ABORT ();
/* FSF disables this check, so I'll do it too. I hope it won't
break things. --ben */
I feel no shame about putting this piece of shit in. */
if (++lose_lose >= 500)
{
- /* Call to abort() added by Darryl Okahata (16 Nov. 2001),
+ /* Call to ABORT() added by Darryl Okahata (16 Nov. 2001),
at Ben's request, to catch any remaining bugs.
- If you find that XEmacs is aborting here, and you
+ If you find that XEmacs is ABORTing here, and you
need to be up and running ASAP, it should be safe to
- comment out the following abort(), as long as you
+ comment out the following ABORT(), as long as you
leave the "break;" alone. */
- abort();
+ ABORT();
break; /* <--- KEEP THIS HERE! Do not delete! */
}
of its own, kill the frame. */
if (EQ (w, FRAME_ROOT_WINDOW (f))
&& !NILP (p->dedicated)
- && other_visible_frames (f))
+ && (allow_deletion_of_last_visible_frame
+ || other_visible_frames (f)))
{
/* Skip the other windows on this frame.
There might be one, the minibuffer! */
}
default:
- abort ();
+ ABORT ();
}
if (EQ (w, last_window))
w = window_loop (GET_LRU_WINDOW, Qnil, 0, which_frames, 1, which_devices);
/* At this point we damn well better have found something. */
- if (NILP (w)) abort ();
+ if (NILP (w)) ABORT ();
#endif
return w;
if (!NILP (XWINDOW (window)->dedicated)
&& EQ (window,
FRAME_ROOT_WINDOW (XFRAME (frame)))
- && other_visible_frames (XFRAME (frame)))
+ && (allow_deletion_of_last_visible_frame
+ || other_visible_frames (XFRAME (frame))))
{
delete_frame_internal (XFRAME (frame), 0, 0, 0); /* GC */
}
XFRAME (p->frame)->mirror_dirty = 1;
/* do this last (after the window is completely initialized and
the mirror-dirty flag is set) so that specifier recomputation
- caused as a result of this will work properly and not abort. */
+ caused as a result of this will work properly and not ABORT. */
Fset_window_buffer (new, o->buffer, Qt);
return new;
}
if (FRAME_LIVE_P (f))
{
/* Do this before calling recompute_all_cached_specifiers_in_window()
- so that things like redisplay_redraw_cursor() won't abort due
+ so that things like redisplay_redraw_cursor() won't ABORT due
to no window mirror present. */
f->mirror_dirty = 1;
if (EQ (SAVED_WINDOW_N (config, j)->window, window))
return j;
}
- abort ();
+ ABORT ();
return 0; /* suppress compiler warning */
}
struct gc_cache_cell *cell, *next, *prev;
struct gcv_and_mask gcvm;
- if ((!!cache->head) != (!!cache->tail)) abort ();
- if (cache->head && (cache->head->prev || cache->tail->next)) abort ();
+ if ((!!cache->head) != (!!cache->tail)) ABORT ();
+ if (cache->head && (cache->head->prev || cache->tail->next)) ABORT ();
gcvm.mask = mask;
gcvm.gcv = *gcv; /* this copies... */
cell->prev = cache->tail;
cache->tail->next = cell;
cache->tail = cell;
- if (cache->head == cell) abort ();
- if (cell->next) abort ();
- if (cache->head->prev) abort ();
- if (cache->tail->next) abort ();
+ if (cache->head == cell) ABORT ();
+ if (cell->next) ABORT ();
+ if (cache->head->prev) ABORT ();
+ if (cache->tail->next) ABORT ();
return cell->gc;
}
#endif
}
else if (cache->size > GC_CACHE_SIZE)
- abort ();
+ ABORT ();
else
{
/* Allocate a new cell (don't put it in the list or table yet). */
+2005-02-06 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.17 is released
+
+2005-02-01 Vin Shelton <acs@xemacs.org>
+
+ * automated/regexp-tests.el: Added an additional shy groups test
+ authored by Arnaud Giersch <arnaud.giersch@free.fr>
+
+2005-01-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * automated/mule-tests.el (file-system character conversion):
+ Improve Mac OS X compatibility.
+
+2005-01-13 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * automated/regexp-tests.el:
+ Test trivial subpatterns and backreferences with shy groups.
+
+2004-12-05 Vin Shelton <acs@xemacs.org>
+
+ * XEmacs 21.4.16 is released
+
+2004-10-28 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * automated/os-tests.el: New file. Add tests for bug reported by
+ Katsumi Yamaoka 2004-10-26 <b9yvfcyuscf.fsf@jpl.org>. Test
+ suggested by Katsumi Yamaoka <b9yoeipvwn0.fsf@jpl.org>.
+
+2004-10-07 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * automated/regexp-tests.el: Add tests for bug identified by
+ Steve Youngs 2004-09-30 <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>
+
+2004-09-08 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * automated/regexp-tests.el: Add tests for bug identified by
+ Katsumi Yamaoka 2004-09-03 <b9ywtzbbpue.fsf_-_@jpl.org>.
+
+2004-05-11 Vin Shelton <acs@xemacs.org>
+
+ * automated/tag-test.el: Use a temp directory to avoid conflicts
+ with extra TAGS files.
+
+2004-05-08 Vin Shelton <acs@xemacs.org>
+
+ * automated/tag-test.el: Created.
+
+2004-04-19 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
+
+ * automated/mule-tests.el: Inhibit GC to speed up BIG_STRING tests.
+
2004-02-02 Vin Shelton <acs@xemacs.org>
* XEmacs 21.4.15 is released
;; Test strings waxing and waning across the 8k BIG_STRING limit (see alloc.c)
;;---------------------------------------------------------------
(defun charset-char-string (charset)
- (let (lo hi string n)
+ (let (lo hi string n (gc-cons-threshold most-positive-fixnum))
(if (= (charset-chars charset) 94)
(setq lo 33 hi 126)
(setq lo 32 hi 127))
(progn
(aset string n (make-char charset j))
(incf n)))
+ (garbage-collect)
string)
(progn
(setq string (make-string (* (1+ (- hi lo)) (1+ (- hi lo))) ??))
(progn
(aset string n (make-char charset j k))
(incf n))))
+ (garbage-collect)
string))))
;; The following two used to crash xemacs!
;; This is how you suppress output from `message', called by `write-region'
(flet ((append-message (&rest args) ()))
(Assert (not (equal name1 name2)))
+ ;; Kludge to handle Mac OS X which groks only UTF-8.
+ (cond ((eq system-type 'darwin)
+ (Check-Error-Message 'file-error "Opening output file"
+ (write-region (point-min) (point-max) name1))
+ (require 'un-define)
+ (setq file-name-coding-system 'utf-8)))
(Assert (not (file-exists-p name1)))
(write-region (point-min) (point-max) name1)
(Assert (file-exists-p name1))
--- /dev/null
+;;; os-tests.el --- test support for OS interaction
+
+;; Copyright (C) 2004 Free Software Foundation
+
+;; Author: Stephen J. Turnbull <stephen@xemacs.org>
+;; Maintainer: Stephen J. Turnbull <stephen@xemacs.org>
+;; Created: 2004 October 28
+;; Keywords: tests, process support
+
+;; This file is part of XEmacs.
+
+;; XEmacs is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with XEmacs; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF.
+
+;;; Commentary:
+
+;; Test OS support. Processes, environment variables, etc.
+;; See test-harness.el for instructions on how to run these tests.
+
+;; call-process-region bug reported by Katsumi Yamaoka on 2004-10-26
+;; in <b9yvfcyuscf.fsf@jpl.org>, who suggested the basic test scheme
+;; in <b9yoeipvwn0.fsf@jpl.org>.
+
+;; tac works by lines, unfortunately
+(let* ((original-string "a\nb\nc\nd\n")
+ (tac-cases (if (executable-find "tac")
+ '((1 . "c\nb\na\nd\n")
+ (3 . "a\nc\nb\nd\n")
+ (5 . "a\nc\nb\nd\n")
+ (7 . "a\nc\nb\nd\n")
+ (9 . "a\nd\nc\nb\n"))
+ nil))
+ (cat-cases (if (executable-find "cat")
+ '((1 . "b\nc\na\nd\n")
+ (3 . "a\nb\nc\nd\n")
+ (5 . "a\nb\nc\nd\n")
+ (7 . "a\nb\nc\nd\n")
+ (9 . "a\nd\nb\nc\n"))
+ nil))
+ cases case)
+ (with-temp-buffer
+ (Skip-Test-Unless tac-cases
+ "tac executable not found"
+ "Tests of call-process-region with region deleted after inserting
+tac process output."
+ (setq cases tac-cases)
+ (while cases
+ (setq case (car cases)
+ cases (cdr cases))
+ (flet ((do-test (pos result)
+ (erase-buffer)
+ (insert original-string)
+ (goto-char pos)
+ (call-process-region 3 7 "tac" t t)
+ (goto-char (point-min))
+ (Assert (looking-at result))))
+ (do-test (car case) (cdr case)))))
+ ;; if you're in that much of a hurry you can blow cat off
+ ;; if you've done tac, but I'm not going to bother
+ (Skip-Test-Unless cat-cases
+ "cat executable not found"
+ "Tests of call-process-region with region deleted after inserting
+cat process output."
+ (setq cases cat-cases)
+ (while cases
+ (setq case (car cases)
+ cases (cdr cases))
+ (flet ((do-test (pos result)
+ (erase-buffer)
+ (insert original-string)
+ (goto-char pos)
+ (call-process-region 3 7 "cat" t t)
+ (goto-char (point-min))
+ (Assert (looking-at result))))
+ (do-test (car case) (cdr case)))))))
+
+;;; end of os-tests.el
(string-match "b" a)
(match-string 1 a))
a)))
+
+;; bug identified by Katsumi Yamaoka 2004-09-03 <b9ywtzbbpue.fsf_-_@jpl.org>
+;; fix submitted by sjt 2004-09-08
+;; trailing comments are values from buggy 21.4.15
+(let ((text "abc"))
+ (Assert (eq 0 (string-match "\\(?:ab+\\)*c" text))) ; 2
+ (Assert (eq 0 (string-match "^\\(?:ab+\\)*c" text))) ; nil
+ (Assert (eq 0 (string-match "^\\(?:ab+\\)*" text))) ; 0
+ (Assert (eq 0 (string-match "^\\(?:ab+\\)c" text))) ; 0
+ (Assert (eq 0 (string-match "^\\(?:ab\\)*c" text))) ; 0
+ (Assert (eq 0 (string-match "^\\(?:a+\\)*b" text))) ; nil
+ (Assert (eq 0 (string-match "^\\(?:a\\)*b" text))) ; 0
+)
+
+;; per Steve Youngs 2004-09-30 <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>
+;; fix submitted by sjt 2004-10-07
+;; trailing comments are values from buggy 21.4.pre16
+(let ((text "abc"))
+ (Assert (eq 0 (string-match "\\(?:a\\(b\\)\\)" text))) ; 0
+ (Assert (string= (match-string 1 text) "b")) ; ab
+ (Assert (null (match-string 2 text))) ; b
+ (Assert (null (match-string 3 text))) ; nil
+ (Assert (eq 0 (string-match "\\(?:a\\(?:b\\(c\\)\\)\\)" text))) ; 0
+ (Assert (string= (match-string 1 text) "c")) ; abc
+ (Assert (null (match-string 2 text))) ; ab
+ (Assert (null (match-string 3 text))) ; c
+ (Assert (null (match-string 4 text))) ; nil
+)
+
+;; trivial subpatterns and backreferences with shy groups
+(let ((text1 "abb")
+ (text2 "aba")
+ (re0 "\\(a\\)\\(b\\)\\2")
+ (re1 "\\(?:a\\)\\(b\\)\\2")
+ (re2 "\\(?:a\\)\\(b\\)\\1")
+ (re3 "\\(a\\)\\(?:b\\)\\1"))
+
+ (Assert (eq 0 (string-match re0 text1)))
+ (Assert (string= text1 (match-string 0 text1)))
+ (Assert (string= "a" (match-string 1 text1)))
+ (Assert (string= "b" (match-string 2 text1)))
+ (Assert (null (string-match re0 text2)))
+
+ (Check-Error-Message 'invalid-regexp "Invalid back reference"
+ (string-match re1 text1))
+
+ (Assert (eq 0 (string-match re2 text1)))
+ (Assert (string= text1 (match-string 0 text1)))
+ (Assert (string= "b" (match-string 1 text1)))
+ (Assert (null (match-string 2 text1)))
+ (Assert (null (string-match re2 text2)))
+
+ (Assert (null (string-match re3 text1)))
+ (Assert (eq 0 (string-match re3 text2)))
+ (Assert (string= text2 (match-string 0 text2)))
+ (Assert (string= "a" (match-string 1 text2)))
+ (Assert (null (match-string 2 text2)))
+
+ ;; Test Arnaud Giersch's shy group fix
+ (Assert (progn (string-match "\\(a\\)" "a")
+ (string-match "\\(?:a\\)" "a")
+ (not (match-beginning 1))))
+)
+
--- /dev/null
+;; Copyright (C) 2004 Vin Shelton
+
+;; Author: Vin Shelton <acs@xemacs.org>
+;; Maintainer: Vin Shelton <acs@xemacs.org>
+;; Created: 2004
+;; Keywords: tests
+
+;; This file is part of XEmacs.
+
+;; XEmacs is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with XEmacs; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF.
+
+;;; Commentary:
+
+;; Test tag support.
+;; See test-harness.el for instructions on how to run these tests.
+
+(let ((testfile "tag-test.c")
+ (tagfile "TAGS")
+ (tags-build-completion-table nil))
+
+ (cd (temp-directory))
+
+ ;; Create a TAGS file
+ (with-temp-file tagfile
+ (insert
+"\f
+tag-test.c,99
+struct mystruct \7fmystruct\ 12,1
+struct mystruct *foo\(\7f4,23
+DEFUN \(\"require\", Frequire,\7frequire,\ 17,51
+"))
+
+ ;; Create the test file
+ (with-temp-file testfile
+ (insert
+"
+struct mystruct { };
+
+struct mystruct *foo\(\) {
+}
+
+DEFUN \(\"require\", Frequire, 1, 2, 0, /*
+If feature FEATURE is not loaded, load it from FILENAME.
+If FEATURE is not a member of the list `features', then the feature
+is not loaded; so load the file FILENAME.
+If FILENAME is omitted, the printname of FEATURE is used as the file name.
+*/
+ \(feature, filename\)\)
+{
+}
+"))
+
+ (let ((tags-always-exact t))
+
+ ;; Search for the tag "mystruct"; this should succeed
+ (find-tag "mystruct")
+ (Assert (eq (point) 2))
+
+ ;; Search again. The search should fail, based on the patch that
+ ;; Sven Grundmann submitted for 21.4.16.
+ (Check-Error-Message error "No more entries matching mystruct"
+ (tags-loop-continue)))
+
+ (let ((tags-always-exact nil))
+
+ ;; Search for the definition of "require". Until the etags.el upgrade
+ ;; from 21.5 in 21.4.16, this test would fail.
+ (condition-case nil
+ (find-tag "require")
+ (t t))
+ (Assert (eq (point) 52)))
+
+ (kill-buffer testfile)
+ (delete-file testfile)
+ (kill-buffer tagfile)
+ (delete-file tagfile))
emacs_is_beta=
emacs_major_version=21
emacs_minor_version=4
-emacs_beta_version=15
-xemacs_codename="Security Through Obscurity"
+emacs_beta_version=17
+xemacs_codename="Jumbo Shrimp"
emacs_kit_version=
infodock_major_version=4
infodock_minor_version=0