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
Binary file redit-client-sm.elc has changed