Author: yamakenz
Date: Fri Feb 15 12:41:13 2008
New Revision: 5178
Added:
trunk/doc/ENV
trunk/doc/PACKAGING
Modified:
trunk/doc/00INDEX
trunk/doc/Makefile.am
trunk/doc/UIM-SCM
trunk/doc/UIM-SH
Log:
* doc/ENV
* doc/PACKAGING
- New file
* doc/UIM-SH
* doc/UIM-SCM
* doc/00INDEX
* doc/Makefile.am
- Update
Modified: trunk/doc/00INDEX
==============================================================================
--- trunk/doc/00INDEX (original)
+++ trunk/doc/00INDEX Fri Feb 15 12:41:13 2008
@@ -2,11 +2,13 @@
COMPATIBILITY Tracks API/ABI compatibility change
CUSTOM Usage of uim-custom API for developers
DOT-UIM Usage of the user customization file
+ENV Environment variables
HELPER-CANDWIN Protocol between candidatewindow apps and uim-xim
HELPER-PROTOCOL Description of the helper message protocol
KEY KEY customizationg guide
+PACKAGING Notes for packagers and system integrators
PLUGIN Description of the plugin
-RELEASING Release procedure (obsolete)
+RELEASING Release procedure
UIM-SCM Usage of uim-scm API for developers
UIM-SH How to use uim-sh to debug interactively
UNIT-TEST usage of the unit testing framework for uim for developers
Added: trunk/doc/ENV
==============================================================================
--- (empty file)
+++ trunk/doc/ENV Fri Feb 15 12:41:13 2008
@@ -0,0 +1,75 @@
+Environment variables for uim
+=============================
+
+libuim accepts some enviroment variables mainly for debugging purpose.
+
+
+- LIBUIM_USER_SCM_FILE
+
+ This variable takes a file path as a value. If this variable is
+ defined, uim reads the file as user customization file instead of
+ ~/.uim
+
+- LIBUIM_SCM_FILES
+
+ This variable takes a directory path as a value. If this variable is
+ defined, uim add the value to the search path of .scm files.
+
+- LIBUIM_SYSTEM_SCM_FILES
+
+ This variable takes a directory path as a value. If this variable is
+ defined, uim add the value to the search path of .scm files provided
+ by underlying Scheme interpreter (i.e. SigScheme libraries).
+
+- LIBUIM_PLUGIN_LIB_DIR
+
+ This variable takes a directory path as a value. If this variable is
+ defined, uim add the value to the search path of plugin files.
+
+- LIBUIM_VERBOSE
+
+ This variable takes a number as a value. 0-10 can be specified. If
+ LIBUIM_VERBOSE is greater than or equal to 5, uim shows backtrace
+ when error occured.
+
+- LIBUIM_VANILLA
+
+ This variable takes an integer value. uim changes its behavior as
+ follows if variable is defined.
+
+ * LIBUIM_VANILLA=2 : vanilla + toppings
+
+ Disable ~/.uim, user customs and lazy loading, but enable loading
+ modules.
+
+ * LIBUIM_VANILLA=1 : pure vanilla
+
+ Disable ~/.uim, user customs, lazy loading, loading modules.
+
+ * undefined : fully flavored
+
+ Enable ~/.uim, user customs, lazy loading if required, and loading
+ modules.
+
+- LIBUIM_ENABLE_EMERGENCY_KEY
+
+ If this variable is set to 1, the 'emergency key' to toggle these 2
+ modes is enabled.
+
+ * Normal mode
+
+ Key inputs are processed by uim.
+
+ * Emergency mode
+
+ Key inputs are bypassed to application without being processed by uim.
+
+ The emergency key is currently hardcoded to "<Shift>backspace".
+
+- UIM_IM_ENGINE
+
+ This obsolete variable takes an input method name as a value. The
+ specified IM is selected as default IM. This variable is purely
+ provided for debugging purpose and takes effect if and only if
+ --enable-debug option is specified at configure time. The term 'IM
+ engine' is not appropriate for current uim design.
Modified: trunk/doc/Makefile.am
==============================================================================
--- trunk/doc/Makefile.am (original)
+++ trunk/doc/Makefile.am Fri Feb 15 12:41:13 2008
@@ -1,2 +1,3 @@
-EXTRA_DIST = 00INDEX COMPATIBILITY CUSTOM DOT-UIM HELPER-CANDWIN \
- HELPER-PROTOCOL KEY PLUGIN RELEASING UIM-SCM UIM-SH UNIT-TEST
+EXTRA_DIST = 00INDEX COMPATIBILITY CUSTOM DOT-UIM ENV HELPER-CANDWIN \
+ HELPER-PROTOCOL KEY PACKAGING PLUGIN RELEASING \
+ UIM-SCM UIM-SH UNIT-TEST
Added: trunk/doc/PACKAGING
==============================================================================
--- (empty file)
+++ trunk/doc/PACKAGING Fri Feb 15 12:41:13 2008
@@ -0,0 +1,29 @@
+Notes for Packagers and System Integrators
+==========================================
+
+- The option "--enable-debug" and/or "--enable-backtrace" makes uim
+ (in accurately, underlying SigScheme interpreter) quite
+ heavy. Please keep them unspecified for normal library
+
+- Use the bundled SigScheme, and do not depend on external SigScheme
+ package. Since the SigScheme interpreter is completely embedded into
+ libuim without linking to libsscm, and exposing no
+ SigScheme-specific symbols regardless of environment-dependent
+ symbol exportation control existence such as -export-symbols of
+ libtool or version script of ld, no conflict with libsscm occurs
+
+- libuim links to libgcroots although SigScheme is embedded into
+ libuim. Although libgcroots is also bundled in uim, it should be
+ managed as a separated package since both libsscm and libuim which
+ provided by separated package depends on it. Add
+ '--with-libgcroots=installed' to configure options for uim to
+ disable build and install of the bundled version of libgcroots
+
+- libuim ABI and so libtool-version has been updated due to the GC
+ protection API change which required to fix the GC problem
+
+- For uim-m17nlib, the command 'uim-m17nlib-relink-icons' to import
+ icons from m17n-db is provided. Run it when m17n-db has been
+ updated. Whether making the command itself available for users or
+ just use it as post-package-install script is the system
+ integrator's choice
Modified: trunk/doc/UIM-SCM
==============================================================================
--- trunk/doc/UIM-SCM (original)
+++ trunk/doc/UIM-SCM Fri Feb 15 12:41:13 2008
@@ -103,6 +103,4 @@
as static and wrapped into uim-scm.c by direct inclusion rather than linked
via public symbols. After elaboration of uim-scm API, the Scheme interpreter
implementation can be switched to another one such as
uim-scm-scheme48.c or
- uim-scm-gauche.c. But *.[hc] under uim/ and *.scm are still
depending on
- SIOD-specific (and emulated by SigScheme) features and behaviors in several
- ways.
+ uim-scm-gauche.c.
Modified: trunk/doc/UIM-SH
==============================================================================
--- trunk/doc/UIM-SH (original)
+++ trunk/doc/UIM-SH Fri Feb 15 12:41:13 2008
@@ -1,16 +1,39 @@
uim-sh
+======
+
+uim provides an interactive shell for debugging, batch processing and
+serving as generic inferior process.
- There is uim interactive shell for debugging, batch processing and
- serving as generic inferior process.
Usage
- uim-sh [options]
- -b batch mode. suppress shell prompts
- -B strict batch mode, implies -b. suppress shell prompts and
- evaluated results
- -h show help
+-----
+
+----------------------------------------------------------------
+ uim-sh [options] [file [arg ...]]
+ -b
+ --batch batch mode. suppress shell prompts
+ -B
+ --strict-batch strict batch mode, implies -b. suppress
shell prompts
+ and evaluated results
+ -r <name>
+ --require-module <name> require module
+ --editline require editline module for Emacs-like line editing
+ -e <expr>
+ --expression <expr> evaluate <expr> (after loading the file, and disables
+ 'main' procedure of it)
+ -V
+ --version show software version
+ -h
+ --help show this help
+ file absolute path or relative to system scm directory
+ arg ... string argument(s) for 'main' procedure of
the file
+----------------------------------------------------------------
+
Examples
+--------
+
+----------------------------------------------------------------
$ uim-sh
uim> (car '(foo bar))
foo
@@ -22,8 +45,12 @@
()
uim> ^D
$
+----------------------------------------------------------------
+
Debugging with Emacs
+--------------------
+
1. Add following form to your .emacs
(setq scheme-program-name "uim-sh")