Walrus,Digit. | 一覧 | 検索 | 更新履歴(RSS) | 新規作成
はてなブックマークに追加 はてなブックマークを表示 編集 | 編集(管理者用) | 差分

EmacsCEDocument

編集

EmacsCEのドキュメントの和訳。

元々の英語力のなさに、Emacsを触ったこともないという条件が加わって、かなり質が悪そうです。 (良し悪しすら判別できないレベルなのです。) ぜひ誤訳、良くない、わかり難い訳などを見つけられたら、ご連絡ください。

about EmacsCEDocument

編集

EmacsCEはGeneral Paranoyaxcというページで公開されているWindows CE用のEmacsです。

このページは、2002年5月23日現在の上記サイトの対訳です。 Rainer Keuchel氏にはメールで公開の許可をいただきました。

GNU Emacs 20.7 for WindowsCE

GNU Emacs 20.7をWindows CEに移植しました。 この移植版はNTEmacsを基にしています。 Emacs 21の移植版はまだありません。


I have ported GNU Emacs 20.7 to WindowsCE. The port is based on NTEmacs. There is no port of Emacs 21 yet.

News

  • Sat Aug 18 2001: Paul-Kenji CahierからiPAQでの動作報告がありました。スクリーンショットの送付、ありがとうございます。
  • Sat Aug 18 2001: パイプが動くところまでこぎつけました。簡単なshell-commandを実行できますが、shell-command-on-regionは動きません。これはエミュレートされます。Ange-FTPは私の移植したFTPを入れると動作します。私の移植したgrepも動作します。
  • Mon Aug 20 2001: Ray Groutから、HP548での動作報告がありました。スクリーンショットの送付、ありがとうございます。
  • Mon Aug 27 2001: celib.dllの新しいビルドは限定的なサブプロセスをサポートします。ダウンロード可能です。
  • Sat Sep 01 2001: celib.dllのパイプの問題をFix。celib.dllの最新のビルド(3.02)をダウンロードしてください。
  • Sat Sep 01 2001: Ispellが動作しました。
  • Mon Sep 03 2001: 古いビルドを削除しました。
  • Mon Sep 24 2001: パスに空白が含まれる時の、CreateProcess?()の問題がcelib.dll 3.04でFixされました。新しいcelib.dllをダウンロードしてください。
  • Tue Oct 02 2001: ange-ftpのFixedバージョンがダウンロード可能になりました。
  • Mon Oct 15 2001: PPC用のBuild 2.01は自動的にSIPが有効か無効化を判断し、リサイズします。いくつかのbuilt-inダイアログもです。iPAQ上でのキーの問題が、key.txtファイルで解決されます。emacs-wince-xxx-build-2.01パッケージと、念のためcedialogs-1.01(私の特性のファイル選択ダイアログがこれを要求するでしょう)をダウンロードしてください。
  • Sun Dec 23 2001: ARM/HPC/WCE211用のビルド。J820上での動作報告あり。お使いください。(setq w32-enable-palette nil)
  • Tue Jan 08 2002: メニューつきの実験的なビルド。EMACSMENU環境変数を、PPCでは1、HPCでは2に設定して下さい。PPCでは、標準的なメニューバーが使われます。HPCでEMACSMENUを"1"に設定すると、コマンドバーを子ウィンドウとして使用し、これが編集バッファを隠してしまいます。Emacsでcommandbarを子ウィンドウをして利用できるようにするのは困難でしたので、トップレベルのウィンドウをメニューとして使うことに決めました。けっして美しいやり方ではありませんが、ないよりは良いでしょう。主な再描画は、あなたがタスクバーでメニューを有効にしたときに行われます。
  • Wed Mar 20 2002: xbuild-2.03でマウスによる選択のバグをFix。

  • Sat Aug 18 2001: Reported to run on iPAQ by Paul-Kenji Cahier. Thanks for the screenshots.
  • Sat Aug 18 2001: I got the pipes working. You can run a simple shell-command, but not shell-command-on-region. This has to be emulated. Ange-FTP works with my ftp port. My grep port works.
  • Mon Aug 20 2001: Reported to run on HP548 by Ray Grout. Thanks for the screenshots.
  • Mon Aug 27 2001: New builds with celib.dll support inferior subprocesses. Available for download.
  • Sat Sep 01 2001: Fixed pipe problems in celib.dll. Please download the lastest celib.dll build (3.02).
  • Sat Sep 01 2001: Ispell works.
  • Mon Sep 03 2001: Old builds have been removed.
  • Mon Sep 24 2001: CreateProcess?() problem with spaces in path fixed in celib.dll 3.04. Download new celib.dll.
  • Tue Oct 02 2001: A fixed version of ange-ftp is available for download.
  • Mon Oct 15 2001: Build 2.01 automatically resizes on PPCs when SIP is activated/deactivated. Also has some dialogs built-in. Problems with keys on iPAQ can be fixed with a key.txt file. Download the emacs-wince-xxx-build-2.01 package and maybe cedialogs-1.01 (needed for my custom file choose dialog).
  • Sun Dec 23 2001: Build for ARM/HPC/WCE211. Reported to run on J820. Use (setq w32-enable-palette nil).
  • Tue Jan 08 2002: Experimental build with menus. Set EMACSMENU in Environment to "1" for PPC and "2" for HPC. On PPC, the standard menubar is used. Setting EMACSMENU to "1" for HPC uses the commandbar as a child window, which hides the edit buffer. Fixing Emacs to use the commandbar as a child window is very difficult, so I decided to use a top level window for the menu. This is not beautiful but better than nothing. The main drawback is that you have to activate the menu via the taskbar.
  • Wed Mar 20 2002: Fixed mouse selection bug in xbuild-2.03.

Features and Limitations


Screenshots from HPC

Screenshots from iPAQ

 

Screenshots from HP548

 

Screenshots from Palm Size PC Emulation

Installation


Notes for iPAQ/HP548

(global-set-key [C-tab] 'execute-extended-command)

#/emacs/bin/emacs.exe -geometry 38x22

行末にはnew-lineを含みません!


(set-frame-font "-*-Courier New-normal-r-*-*-10-*-*-*-c-*-iso8859-1")

(global-set-key [C-tab] 'execute-extended-command)

#/emacs/bin/emacs.exe -geometry 38x22

They don't have a terminating new-line!

Registry

これがバッチファイルのサンプルです。すべての値は文字列(string)にします。HKLM\Environmentキーはデフォルトでは存在しません。このバッチファイルを使うときに、パス名に空白を含む場合は、ダブルクォートではさんでください。cereg.exeはバッチファイルから実行できるように、PC上のパスの通った(%PATH%に含まれている)ディレクトリにおいてください。PATHに登録されているパスはセミコロンで区切られています。


This is a sample batchfile. All values must be strings. The key HKLM\Environment does not exist by default. When you have whitespace in pathnames, enclose them in double quotes when you use a batch file. cereg.exe must be in the PATH on your PC to run the batch file. Path entries in PATH must be seperated with semicolon by the online resume writer.


 cereg -k HKLM\Environment -n COMPUTERNAME -v jornada720 
 cereg -k HKLM\Environment -n EMACSDATA -v \emacs\etc 
 cereg -k HKLM\Environment -n EMACSDIR -v \emacs 
 cereg -k HKLM\Environment -n EMACSDOC -v \emacs\etc 
 cereg -k HKLM\Environment -n EMACSLOADPATH -v \emacs\lisp 
 cereg -k HKLM\Environment -n EMACSPATH -v \emacs\bin 
 cereg -k HKLM\Environment -n HOME -v \keuchel 
 cereg -k HKLM\Environment -n PATH -v \bin 
 cereg -k HKLM\Environment -n SHELL -v none 
 cereg -k HKLM\Environment -n TEMP -v \tmp 
 cereg -k HKLM\Environment -n TMP -v \tmp 
 cereg -k HKLM\Environment -n TMPDIR -v \tmp 
 cereg -k HKLM\Environment -n USERNAME -v keuchel 
 cereg -k HKLM\Environment -n UNIXROOTDIR -v \ 

Subprocesses

制限つきで、サブプロセスのサポートが追加されました。 Emacsの(wce-get-version)が2.0かそれ以上を返すビルドがこれをサポートしています。 新しいcelib.dllにリンクされたプログラムだけがサブプロセスとして実行可能です。 現在のところ、grep、ftp、findと、その他のいくつかのcommand-lineツールがあります。 gclとscmもサポートされます。

shell-commandとgrepについては、私のxshプログラムが必要です。 これはシンプルなshellのダミーです。 これは単純な(変数やパイプ、リダイレクションなどを含まない)コマンドラインの実行以外の機能はサポートしていません。 xsh.exeをPATHに含まれているbinディレクトリにコピーします

以下の行を.emacsに含めるべきです。:

 (setq default-process-coding-system nil)
 (setq shell-file-name "xsh")
 (setq shell-command-switch "-c")

これらを設定しないと、findが呼ばれた時に、次のエラーが生じるでしょう。

 (setq grep-command "grep -n ")

はじめてcomint-runを呼び出したときに、default-process-coding-systemがリセットをかけるようです。 なぜそうなるのかは、まだチェックしていません。

ange-ftpを使うには、ange-ftp.tar.gzをダウンロードします。 "help foo"コマンドはコメント化されています。

celib.dllを旧版で上書きしないようにしてください。 最新の3.01系の版が必要です。 これはPC上のExplorerで確認できます。 3.01にいくつかの問題のFIXを加えた3.04を使うべきです。

連携して動作するサブプロセスは時々、出力を相手プロセスに書き込めませんでした、とのエラーメッセージを生成します。 これがまだ発生するようなら、私宛のバグレポートをお願いします。

grepの出力は今のところ、lsの出力に比べるとちょっとゆっくりです。 おそらく、grepの出力はバッファされていないのでしょう。 この点はまだチェックしていません。

shell-command-on-regionはサポートされていません。 オリジナルの実装は、サブプロセスにファイルハンドルの実体を渡しますが、これはWin CEではサポートされません。 私はこれを、パイプに出力するスレッドで書き直そうとしました。 プログラムにstdinの代わりにファイルから読みこませるのはshell-command-on-regionでは良く使われるのやり方で、あなたもそう書いたことがあるでしょう。


Limited support for subprocesses has been added. Emacs builds where (wce-get-version) reports 2.0 or greater support it. Only programs linked with my new celib.dll can run as subprocesses. There are currently grep, ftp, find and some other command-line tools available. gcl and scm are also supported.

For shell-command and grep, you need my xsh program, which is a simple shell dummy. It does not support any shell stuff except executing a simple commandline (no variables, pipes, redirection etc). Copy xsh.exe to your bin directory, which must be in PATH.

You should add the following lines to .emacs:

 (setq default-process-coding-system nil)
 (setq shell-file-name "xsh")
 (setq shell-command-switch "-c")

; when not set, find is called, which might give an error

 (setq grep-command "grep -n ")

Note that default-process-coding-system seems to be reset when you call comint-run for the first time. I have not yet checked why this is so.

For using ange-ftp, download ange-ftp.tar.gz. The "help foo" command has been commented out.

Be sure that you don't overwrite celib.dll with older versions. You need at least version 3.01. You can check this in Explorer on your PC. You should use version 3.04 which fixes some problems with 3.01.

Interactive subprocesses sometimes produce error messages that say that output cannot be written to the process. Please report this if it still happens.

Output from grep is currently a bit slow, compared with output from ls. Maybe the output from grep is unbuffered. I have not checked this yet.

shell-command-on-region is not supported. The original implementation passes a real filehandle to the subprocess, which is not supported on WinCE. I might try to rewrite this using a thread that writes to a pipe. For frequently used shell-command-on-region stuff you may write a lisp function that makes the program read from a file instead of stdin.

Problems


Future

Emacs 21が移植されるでしょう。 新しい機能が、トラブルに見合う価値のあるものか否かは、今のところ私は知りません。


Maybe Emacs 21 will be ported. I don't know yet if the new features are worth the trouble.

Acknowledgements

RMSと、Emacsの開発に携わったすべての人に感謝します。

NT Emacsの移植者に感謝します。


Thanks to RMS and all others involved in Emacs development.

Thanks to the NTEmacs porters.

Downloads

tarボールに最低限のlispのサブセットが含まれています。


The tarballs contain only a minimal subset of lisp files.

New builds

新しいビルドは、古いスタティックライブラリの代わりにcelib.dllを使います。 これらのビルドでは限定的なサブプロセスがサポートされます。 HPCのビルドは、PocketPCでも動作します。

バイナリのアップデートも入手可能です。 dirlistのemacs-wince-xxx-xbuild-xxxをご覧下さい。


The new builds use celib.dll instead of the old static library. These builds support limited inferior subprocesses. The HPC builds also run on Pocket PCs.

There are binary updates available. Look for emacs-wince-xxx-xbuild-xxx in dirlist.

Old builds

古いビルドは削除されました。 新しいビルドをお使いください。


The old builds have been deleted. Please use the new builds.

Other

他にもEmacsで使うのに便利なファイル(grep, ftp, texなど)をここで見つけることができます。


You can find other files useful for Emacs (like grep, ftp, tex) here.

Sources

Sources

Links

このページへのコメント

(こちらにお書きください)

一行コメント

[[#rcomment]]
  • 2002-05-25 (Sat) 20:17:55 Unknown いえいえ、和訳されて初めて意味がつかめたこともありました。和訳していただいてありがとうございます。
  • 2002-05-25 (Sat) 19:22:35 塚本牧生 すみません、直しました。しかしこのペースだと、先が思いやられるます。
  • 2002-05-25 (Sat) 19:06:28 Unknown Probremsのところに「新しいTEmacs」ちゅーのもありました。
  • 2002-05-25 (Sat) 15:35:22 塚本牧生 のっけからやっちゃってましたね。ご指摘、ありがとうございます。
  • 2002-05-25 (Sat) 15:33:15 Unknown 失敗……「Windows CE用のPerlです。」というtypoがありますよん。
  • 2002-05-25 (Sat) 15:32:02 Unknown Windows CE用のPerlです。
  • 2002-05-23 (Thu) 23:30:25 塚本牧生 "inferior subprocesses"の訳が変ですね。"limited inferior subprocesses"に至ってはメロメロです。何か、もっと良い訳はないでしょうか?