Mercurial > hg > RemoteEditor > emacs
changeset 24:8763b1dbde3c
redit-client-write-line() fix
author | gongo |
---|---|
date | Sat, 10 Nov 2007 19:42:22 +0900 |
parents | e85a0075d6b1 |
children | 1e084bee588f |
files | redit-client-sm.el |
diffstat | 1 files changed, 16 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/redit-client-sm.el Sat Nov 10 19:36:32 2007 +0900 +++ b/redit-client-sm.el Sat Nov 10 19:42:22 2007 +0900 @@ -313,9 +313,9 @@ (setq endp (progn (goto-line linenum) (end-of-line) (point))) ;; (setq length (- endp beginp)) - ;; rep-string-encoding に変換してから長さを求める + ;; rep-string-encoding に変換してから長さを求める (setq length (string-bytes (encode-coding-string (buffer-substring beginp endp) rep-string-encoding))) - + ;; トークンが回ってくるのを待つ場合は、 ;; すぐに process-send-string せずに ;; 編集情報を保存するだけにとどめる @@ -329,14 +329,22 @@ ;; redit-client-process へ ;; command_num + buffer_num + line_num + string ;; の文字列を送る + (process-send-string redit-client-process - (concat (format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-write-command) redit-client-session-id redit-client-editor-id (gen-seqno) linenum length) - ;; (buffer-substring beginp endp) - ;; rep-string-encoding に変換 - (encode-coding-string (buffer-substring beginp endp) rep-string-encoding) - (if (eq isnewline t) "\n") - "\n")) + (concat + ;;(format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-write-command) redit-client-session-id redit-client-editor-id (gen-seqno) linenum length) + (redit-pack + (string-to-number redit-write-command) + redit-client-session-id + redit-client-editor-id + (gen-seqno) linenum length) + + ;; (buffer-substring beginp endp) + ;; rep-string-encoding に変換 + (encode-coding-string (buffer-substring beginp endp) rep-string-encoding) + (if (eq isnewline t) "\n") + "\n")) (sleep-for 0.3) )) (error "redit-client is not running.")))