This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 

SCM for WinCE

Open Source
Implementation of Scheme (Lisp) for Windows CE
You must be registered and logged into HPC:Factor in order to contribute to the SCL.

Screenshots & Images

Screenshot of Main


I have ported Aubrey Jaffer's SCM. It can run in new Emacs builds as a subprocess.

Installation Instructions

• Download files for your platform and the all-platform files.
• Copy the scm directories to your device. The exe file must be located in the scm directory, because it uses relative paths to find other files.
• Copy cellib.dll to your \windows dir. SCM needs at least version 3.01.
• Set SCHEME_LIBRARY_PATH in the Environment registry key. The path must point to the slib directory and end with a slash.

The HKLM\Environment Key
My celib.dll uses the registry to store environment variables. They are stored in HKEY_LOCAL_MACHINE\Environment. This key does not exist by default.
There are at least two ways to create this key and set values in it:
• Get the registry editor from Microsoft's Powertoys for CE, use the registry editor that comes with EVC or get a third-party registry editor.
• Get my "desktop-tools" and use the cereg.exe command-line program. This program is started on your PC and uses RAPI to manipulate the registry on your device. An ActiveSync connection must be established.
The entries could be set by setup programs, but I am too lazy to write these setups.

The cereg.exe program
cereg.exe is in the "desktoptools" archive. It can be called from batchfiles. The syntax is: cereg -k <keyname> -n <valname> -v <value>


cereg -k "HKLM\Environment" -n "PATH" -v "\Storage Card\bin;\windows"

Currently used variables
Note: Numbers must be entered as string values, not as DWORDs!

UNIXROOTDIR Directory containing standard Unix files/directories, like 'etc', 'dev'. Usually this is set to /storage card. This is used only for some special files. It's not expanded in ordinary filename generation.
PATH Searchpath for the process creating functions in celib.dll. Paths are seperated by semicolon (/bin;/storage card/bin;/windows). This path *is not used* for dlls and programs you start with the StartMenu or cmd.exe. It's *not used* by normal wince programs.
HOME Home diretory (/storage card/nobody).
ROWS Rows for the console. Must be string.
COLS Columns for the console. Must be string.
CONSOLEFONTSIZE Fontsize for console.
PWD Used for passing the parent pwd to child processes. Very bad. Not used anymore. It is passed internally now using shared memory. Delete it if you still have it. Can still be useful to pass a PWD from MFC apps to celib.dll programs. Currently still used with TeXEd.
TMP Directory for temp files (/tmp).
TEMP Directory for temp files (/tmp).
TMPDIR Directory for temp files (/tmp).
TEMPDIR Directory for temp files (/tmp).
USER Username (nobody).
SHELL Shell. Currently only used for the limited shell for inferior Emacs sub-processes. There is still no real shell for WinCE (xsh).
TERM Terminal type. Currently used by readline (console), telnet and ssh. You should use the termcap file that comes with console and set it TERM to wince.
TERMCAP Path to the termcap file.
XCE_TRACE Debugging. Normally not set. Setting this to 1 gives minimal debugging output, setting it to 255 gives max. When XCE_TRACE_FILE is not set or empty, debug output goes to the debugger port, else to the file in XCE_TRACE_FILE.
XCE_TRACE_FILE File for tracing. Normally not set.
CELIBSTDLOGDIR Directory for stdin/stdout/stderr files. Since 3.11.


listOpen SourceschemeEmacs

License Open Source
The program is open source, free and the source code is available on-line.
Released 06 February 2023
Popularity 3045
Total Downloads  0
Submitted By C:Amie
Submitted On 06 February 2023


No comments have been submitted against this application. Be the first!

You must be signed-in to post comments in the SCL. Not registered? Join our community.

Software Compatibility List: The SCL is provided for free to the Handheld PC Communty and we do not carry advertising to support our services. If you have found the SCL useful, please consider donating.