TODO list (Re: call-process-region)

Shuhei KOBAYASHI shuhei @ aqua.ocn.ne.jp
1999年 12月 25日 (土) 10:12:39 JST


;; 個人的なメモです;-)

* README の update

  + module list は one-line description と sync させるのが良いかも.

  + NEmacs or Nemacs, MULE or Mule, XEmacs/mule or XEmacs-mule という
    のはそれぞれどう使い分けるのだったかな? (最初のは Nemacs が正しい
    ということだけしか記憶にない) これがはっきりしたら表記を統一する.

  + Mule 1.*, 2* という表記も冗長な気がする. Mule 1, 2 でいいかも.

  + "Installation" を installer の shubit 化に対応させる.

  + "How to use" は早く APEL manual に追い出したい.
    manual の format は結局どうなったのだろう? > 守岡さん, 林さん?

  + "CVS" の password の話を書かなくちゃ. (SKK 方面から拝借する?)

  + GNU の coding standard に従って INSTALL や NEWS などに分割するのは
    どうだろうか? 他にも HACKING (開発者向け; CVS 関連) や MAILINGLIST
    を独立させてもいいかも.

* installer の改良

  + 今の installer は apel/ を version-specific に install するのが困難
    な気がする. version-specific に install するかどうかの option を設
    けるのが簡単で良いかも.

* (semi-)obsolete な atype, file*, emu*, inv*, richtext, tinyrich の
  library header もちゃんと update しなくちゃ駄目かなぁ?

  + header に "Status: obsoleted" を入れる?

  + 残っている RCS keyword を消す?

* product.el

  + 各種 Emacsen の version 情報を定義する.

  + FLIM, SEMI 等の product 対応.

* tinycustom.el

  + Maintainer 行は不要かも.

  + 山岡さんは "author" ではないのですか? (defface)

* bug fix

  + v18 + new compiler が動かないらしい.

  + 他に私の担当分野で忘れていそうなものがあったら指摘してください(^^;

-------------- next part --------------
>>>>> In <86so1dpu5m.fsf @ aqua.ocn.ne.jp>,
>>>>> Shuhei KOBAYASHI <shuhei @ aqua.ocn.ne.jp> wrote:
> 最近は apel-shubit で pces rewrite の作業を少しずつ進めています.

PCES は大きく分けて v20 の coding-system API の emulation と, 入出力の
coding-system を指定する独自の関数から構成されていますが, 前者に関して
は API の明確化が必要なので私の手には負えません. (set-.*-coding-system
は何を定義したらいいの?) この辺も守岡さんや林さんの領域かな?
;; poem API に関しても同様.

shubit 化の対象は後者の方で,

    (as-binary-input-file (insert-file-contents FILE))
    (insert-file-contents-as-coding-system 'binary FILE)
    (insert-file-contents-as-binary FILE)

などの動作が実装によっては異なったりするというのを修正するのが目的です.
具体的には

(defmacro with-coding-system-for-read  (coding-system &rest body)
  `(let ((coding-system-for-read  ,coding-system)
	 ;; Maybe for historical reason, `format-alist' is used for
	 ;; conversion of some charsets.
         (format-alist nil))
     , @ body))

(defmacro without-post-read-handlers (&rest body)
  `(let ((after-insert-file-functions nil)
	 ;; We cannot suppress `file-name-handler-alist' directly.
         (jam-zcat-filename-list nil)
         (jka-compr-compression-info-list nil))
     , @ body))

(defmacro as-binary-input-file (&rest body)
  `(with-coding-system-for-read 'binary
     (without-post-read-handlers
	, @ body)))

(defun insert-file-contents-as-coding-system (coding-system
					      filename
					      &optional visit beg end replace)
  (as-binary-input-file
    (insert-file-contents filename visit beg end replace)))

(defun insert-file-contents-as-binary (filename
				       &optional visit beg end replace)
  (insert-file-contents-as-coding-system 'binary
					 filename visit beg end replace))

のような形になります.
;; 現在は pces-20 と pces-om をほぼこのような形に書き換えたところです.

-- 
Shuhei KOBAYASHI
-------------- next part --------------
;; This module emulates the following coding-system API.
;;
;; (decode-coding-string STRING CODING-SYSTEM) ; &optional NOCOPY
;; (encode-coding-string STRING CODING-SYSTEM) ; &optional NOCOPY
;; (decode-coding-region START END CODING-SYSTEM)
;; (encode-coding-region START END CODING-SYSTEM)
;; (detect-coding-region START END)
;;
;; (find-coding-system OBJ)
;;
;; (set-buffer-file-coding-system CODING-SYSTEM &optional FORCE)
;; (set-process-coding-system PROC &optional DECODING ENCODING)
;; (set-process-input-coding-system  ...)
;; (set-process-output-coding-system ...)

;; In addition, this module introduces the following new API.
;;
;; (OPERATION-as-coding-system CODING-SYSTEM ...)
;; (OPERATION-as-binary ...)
;; (OPERATION-as-raw-text ...)		; read OPERATIONs only.
;; (OPERATION-as-raw-text-CRLF ...)
;;
;; OPERATIONs are `insert-file-contents', `find-file-noselect',
;; `write-region', and `save-buffer'.
;; "..." means arguments for each OPERATION.
;;
;; `OPERATION-as-binary's for process creation are also defined.
;; OPERATIONs are `call-process', `call-process-region', `start-process',
;; and `open-network-stream'


More information about the APEL-ja mailing list