Tramp 2.1.15 から Mac OS 10.4 に plink できない

16:21:12 tramp-maybe-open-connection (3) # Found remote shell prompt on `xxx.xxx.xxx.xxx'
16:21:12 tramp-get-connection-property (7) # process-name nil
16:21:12 tramp-get-connection-property (7) # remote-echo nil
16:21:12 tramp-send-command (6) # exec env ENV='' PROMPT_COMMAND='' PS1='$ ' PS2='' PS3='' /bin/sh
16:21:12 tramp-get-connection-property (7) # process-name nil
16:21:12 tramp-get-connection-property (7) # chunksize nil
16:21:12 tramp-set-connection-property (7) # last-cmd-time (18933 23784 909000)
16:21:12 tramp-send-string (10) # exec env ENV='' PROMPT_COMMAND='' PS1='$ ' PS2='' PS3='' /bin/sh
16:21:12 tramp-get-connection-property (7) # process-buffer nil
16:21:12 tramp-get-connection-property (7) # check-remote-echo nil
16:21:12 tramp-get-connection-property (7) # check-remote-echo nil
16:21:12 tramp-accept-process-output (10) # *tramp/plink oogatta@xxx.xxx.xxx.xxx* run
16:21:12 tramp-accept-process-output (10) # 
exec env ENV='' PROMPT_COMMAND='' PS1= ^M'$ ' PS2='' PS3='' /bin/sh
^M^M$ ^M$ 
16:21:12 tramp-get-connection-property (7) # check-remote-echo nil
16:21:12 tramp-get-connection-property (7) # check-remote-echo nil
16:21:12 tramp-accept-process-output (10) # *tramp/plink naohiro-ohgata@10.101.60.110* run
16:21:13 tramp-accept-process-output (10) # 
exec env ENV='' PROMPT_COMMAND='' PS1= ^M'$ ' PS2='' PS3='' /bin/sh
^M^M$ ^M$ 
16:21:13 tramp-get-connection-property (7) # check-remote-echo nil
16:21:13 tramp-get-connection-property (7) # check-remote-echo nil
16:21:13 tramp-accept-process-output (10) # *tramp/plink naohiro-ohgata@10.101.60.110* run
16:21:14 tramp-accept-process-output (10) # 
exec env ENV='' PROMPT_COMMAND='' PS1= ^M'$ ' PS2='' PS3='' /bin/sh
^M^M$ ^M$ 
(あと延々ループ)

実行コマンドとその出力を、

(format "^[^$\n]*%s\r?$" (regexp-quote tramp-end-of-output))))

これで作った正規表現と比較して、マッチしたらコマンド完了!ってなるみたいですが、全然マッチしてねえ!。もうカッとなって、

@@ -6576,7 +6576,7 @@
 	    (if (string-match (regexp-quote "\n") tramp-end-of-output)
 		(mapconcat
 		 'identity (split-string tramp-end-of-output "\n") "\r?\n")
-	      (format "^[^$\n]*%s\r?$" (regexp-quote tramp-end-of-output))))
+	      (format "^[^$\n]*\r?$" (regexp-quote tramp-end-of-output))))
 	   (found (tramp-wait-for-regexp proc timeout regexp)))
       (if found
 	  (let (buffer-read-only)

tramp.el を超乱暴に書き換えてしまった…。うーん…。tramp-end-of-output 変数を使えばもっとちゃんと回避できるんだと思うのですが、tramp 意外に検索しづらくてその時間が惜しい!。とりあえずログしておく…。