+
+(defmacro sj3rpc-server-coding-system ()
+ '(nth (1- sj3-server-version) sj3-server-coding-system-list))
+
+(defmacro sj3rpc-unpack-mb-string (coding-system)
+ `(let ((start (point)))
+ (while (not (search-forward "\0" nil t))
+ (comm-accept-process-output))
+ (decode-coding-string (buffer-substring start (1- (point)))
+ ,coding-system)))