Mercurial > hg > RemoteEditor > emacs
changeset 8:2b2c8c2cb9d6
*** empty log message ***
author | gongo |
---|---|
date | Thu, 14 Dec 2006 18:14:40 +0900 |
parents | 6b82a318980c |
children | ba0331fc7829 |
files | ChangeLog redit-client-sm.el redit-client-sm.elc |
diffstat | 3 files changed, 82 insertions(+), 47 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Dec 12 16:23:59 2006 +0900 +++ b/ChangeLog Thu Dec 14 18:14:40 2006 +0900 @@ -1,23 +1,50 @@ +2006-12-14 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> + + * 独り言 + なんか lisp から network に TCP 接続する方法があるっぽい + (open-network-stream NAME BUFFER HOST SERVICE) + まだ実証してませんが、なんか使えるっぽいです。(ex. navi-2ch) + うまくいけば、redit_client.pl はいらなくなるかも。 + 文字コード関係はどうしよう。decode-coding-* ぐらいで + どうにかならないかな。ならないかも。無駄なヘッダ付加される・・・ + + * redit-client-sm.el - redit-client-close () + linenum が定義されてなかったので、 0 にしました。 + 別に0で大丈夫ですよね?close だし。多分。。。 + + * redit-client-sm.el - redit-client-exec-write-line (string) + なんか Warning でてたので + < (end-of-buffer) + ----- + > (call-interactively 'end-of-buffer) + + end-of-buffer はinteractive 関数以外で + 呼び出したら駄目らしいです。 + いろいろ調べてたらこれで Warning 出ないので落ち着きました。 + いいのかなこれで。。。 + 2006-12-12 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> * redit-client-sm.el obsolete function を変更 since Emacs 22.1 - >> old: (process-kill-without-query redit-client-process) - >> new: (set-process-query-on-exit-flag redit-client-process nil) + < (process-kill-without-query redit-client-process) + ----- + > (set-process-query-on-exit-flag redit-client-process nil) 第2引数が non-nil だと、emacs終了時に 「`Active processes exist; kill them and exit anyway?' 」 って聞いてきます。process は redit_client.pl のことです。 多分いらないので nil を入れました。 since Emacs 21.1 - >> old: (make-local-hook 'before-change-functions) ;; afterも - >> new: not necessary - なんか要らないらしいです。21.1以前だと必須みたいですが。 + < (make-local-hook 'before-change-functions) ;; afterも + ----- + > ;; (make-local-hook 'before-change-functions) + not necessary らしいです。21.1以前だと必須みたいですが。 - * redit-client-sm.el + * 独り言 defstruct を使うときは (eval-when-compile (require 'cl)) を加えた後に byte-compile-file してからやると使える。
--- a/redit-client-sm.el Tue Dec 12 16:23:59 2006 +0900 +++ b/redit-client-sm.el Thu Dec 14 18:14:40 2006 +0900 @@ -78,7 +78,7 @@ (defvar redit-quit-ack-command "54") ;; Queue struct -(defstruct Queue (front nil) (rear nil)) +(defstruct Queue (front nil) (rear nil)) (setq redit-client-command-queue (make-Queue)) (setq redit-client-receive-queue (make-Queue)) (setq redit-client-send-queue (make-Queue)) @@ -299,7 +299,7 @@ (redit-client-write-line line nil) (process-send-string redit-client-process - (concat (format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-close-command) redit-client-session-id redit-client-editor-id (gen-seqno) linenum 0) "\n")))) + (concat (format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-close-command) redit-client-session-id redit-client-editor-id (gen-seqno) 0 0) "\n")))) ;; redit-client-process を終了させる (defun redit-client-kill () @@ -485,7 +485,7 @@ (text (rep-get-text-from-pkt string))) ;; テキストデータ (if (< (real-count-lines (point-max)) linenum) (progn - (end-of-buffer) (newline))) + (call-interactively 'end-of-buffer) (newline))) (goto-line linenum) (delete-region (progn (beginning-of-line) (point)) ;; 行の頭から (progn (end-of-line) (point))) ;; 行の末尾まで削除 @@ -514,7 +514,7 @@ (make-variable-buffer-local 'redit-client-buffer-name) (make-variable-buffer-local 'redit-client-editor-id) (setq redit-client-buffer-name - (rep-get-text-from-pk string)) + (rep-get-text-from-pkt string)) (setq redit-client-buffer (get-buffer-create redit-client-buffer-name)) ;; プロセスとバッファを関連づける (set-process-buffer redit-client-process redit-client-buffer) @@ -618,8 +618,7 @@ (string-to-number (substring pkt 50 60))) (defun rep-get-text-from-pkt (pkt) (let ((size (rep-get-text-size-from-pkt pkt))) - (substring (decode-coding-string pkt 'euc-jp) 60 (+ 60 size)))) - + (substring (decode-coding-string pkt 'euc-jp) 60 (+ 60 size)))) ;; enqueue item in queue (defun enqueue (queue item) @@ -668,25 +667,25 @@ (setq rc (car rque)) ;; -------- translation ------------ - (if (< (+ (redit-get-line cc) xcc) (+ (redit-get-line rc) xrc)) - (if (= (redit-get-command cc) (string-to-number redit-write-command)) (setq xrc (- xrc 1))) - (if (= (redit-get-command cc) (string-to-number redit-delete-line-command)) (setq xrc (- xrc 1)))) + (if (< (+ (redit-get-line-from-queue cc) xcc) (+ (redit-get-line-from-queue rc) xrc)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (- xrc 1))) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq xrc (- xrc 1)))) - (if (> (+ (redit-get-line cc) xcc) (+ (redit-get-line rc) xrc)) - (if (= (redit-get-command rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) - (if (= (redit-get-command rc) (string-to-number redit-delete-line-command)) (setq xcc (- xcc 1)))) + (if (> (+ (redit-get-line-from-queue cc) xcc) (+ (redit-get-line-from-queue rc) xrc)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq xcc (- xcc 1)))) - (if (= (+ (redit-get-line cc) xcc) (+ (redit-get-line rc) xrc)) - (if (= (redit-get-command rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) - (if (= (redit-get-command rc) (string-to-number redit-replace-command)) - (if (= (redit-get-command cc) (string-to-number redit-write-command)) (setq xrc (+ xrc 1))) - (if (= (redit-get-command cc) (string-to-number redit-replace-command)) (setq cignore 1)) - (if (= (redit-get-command cc) (string-to-number redit-delete-line-command)) (setq crc redit-write-command) (setq cignore 1)))) + (if (= (+ (redit-get-line-from-queue cc) xcc) (+ (redit-get-line-from-queue rc) xrc)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-replace-command)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (+ xrc 1))) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-replace-command)) (setq cignore 1)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq crc redit-write-command) (setq cignore 1)))) - (if (= (redit-get-command rc) (string-to-number redit-delete-line-command)) - (if (= (redit-get-command cc) (string-to-number redit-write-command)) (setq xrc (+ (redit-get-line rc) 1))) - (if (= (redit-get-command cc) (string-to-number redit-replace-command)) (setq cignore 1)) - (if (= (redit-get-command cc) (string-to-number redit-delete-line-command)) (setq cignore 1) (setq rignore 1))) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (+ (redit-get-line-from-queue rc) 1))) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-replace-command)) (setq cignore 1)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq cignore 1) (setq rignore 1))) ;; -------- translation ------------ @@ -701,7 +700,7 @@ (setq cignore 0)) ;; -------- add after que ------------ - (enqueue after-CQ (concat (format "%2d%2d%9d" (redit-get-command cc) (redit-get-uid cc) (+ (redit-get-line cc) xcc)) (redit-get-text cc))) + (enqueue after-CQ (concat (format "%2d%2d%9d" (redit-get-command-from-queue cc) (redit-get-uid-from-queue cc) (+ (redit-get-line-from-queue cc) xcc)) (redit-get-text-from-queue cc))) ;; -------- add after que ------------ (setq cque (cdr cque))) ;; while cque @@ -724,24 +723,24 @@ ;; -------- translation ------------ (if (and (= cignore 1) (= rignore 1)) - (if (< (+ (redit-get-line rc) xrc) (+ (redit-get-line cc) xcc)) - (if (= (redit-get-command rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) - (if (= (redit-get-command rc) (string-to-number redit-delete-line-command)) (setq xcc (- xcc 1)))) + (if (< (+ (redit-get-line-from-queue rc) xrc) (+ (redit-get-line-from-queue cc) xcc)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq xcc (- xcc 1)))) - (if (> (+ (redit-get-line rc) xrc) (+ (redit-get-line cc) xcc)) - (if (= (redit-get-command cc) (string-to-number redit-write-command)) (setq xrc (- xrc 1))) - (if (= (redit-get-command cc) (string-to-number redit-delete-line-command)) (setq xrc (+ xrc 1)))) + (if (> (+ (redit-get-line-from-queue rc) xrc) (+ (redit-get-line-from-queue cc) xcc)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (- xrc 1))) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq xrc (+ xrc 1)))) - (if (= (+ (redit-get-line rc) xrc) (+ (redit-get-line cc) xcc)) - (if (= (redit-get-command cc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) - (if (= (redit-get-command cc) (string-to-number redit-replace-command)) - (if (= (redit-get-command rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) - (if (= (redit-get-command rc) (string-to-number redit-replace-command)) (setq cignore 1)) - (if (= (redit-get-command rc) (string-to-number redit-delete-line-command)) (setq crc redit-write-command) (setq cignore 1)))) - (if (= (redit-get-command cc) (string-to-number redit-delete-line-command)) - (if (= (redit-get-command rc) (string-to-number redit-write-command)) (setq xcc (+ (redit-get-line cc) 1))) - (if (= (redit-get-command rc) (string-to-number redit-replace-command)) (setq crc redit-write-command) (setq cignore 1)) - (if (= (redit-get-command rc) (string-to-number redit-delete-line-command)) (setq cignore 1) (setq rignore 1)))) + (if (= (+ (redit-get-line-from-queue rc) xrc) (+ (redit-get-line-from-queue cc) xcc)) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-replace-command)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1))) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-replace-command)) (setq cignore 1)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq crc redit-write-command) (setq cignore 1)))) + (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ (redit-get-line-from-queue cc) 1))) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-replace-command)) (setq crc redit-write-command) (setq cignore 1)) + (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq cignore 1) (setq rignore 1)))) ;; -------- translation ------------ @@ -756,7 +755,7 @@ (setq rignore 0)) ;; -------- add after que ------------ - (enqueue after-RQ (concat (format "%2d%2d%9d" (redit-get-command rc) (redit-get-uid rc) (+ (redit-get-line rc) xrc)) (redit-get-text rc))) + (enqueue after-RQ (concat (format "%2d%2d%9d" (redit-get-command-from-queue rc) (redit-get-uid-from-queue rc) (+ (redit-get-line-from-queue rc) xrc)) (redit-get-text-from-queue rc))) ;; -------- add after que ------------ (setq rque (cdr rque))) ;; while cque @@ -783,4 +782,13 @@ (defun redit-client-print-send-queue () "Print command queue." (interactive) - (print redit-client-send-queue)) \ No newline at end of file + (print redit-client-send-queue)) + +(defun redit-get-command-from-queue (queue) + (nth 0 (Queue-front queue))) +(defun redit-get-line-from-queue (queue) + (nth 1 (Queue-front queue))) +(defun redit-get-uid-from-queue (queue) + (nth 2 (Queue-front queue))) +(defun redit-get-text-from-queue (queue) + (nth 3 (Queue-front queue))) \ No newline at end of file