チケット #32028

クリッカブル URL が行末で改行されると URL が切れてブラウザに渡る

登録: 2013-09-10 16:03 最終更新: 2013-12-01 00:18

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
受領
ファイル:
1
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

2013.05.31 (Ver 4.78) のバグ修正
・ウィンドウの右端で URL が終わって改行している場合に、次の行まで URL が続いていると判定される問題を修正した。
で挙動が変わった様に思うのですが、非常に長い URL を teraterm にコピーし、ダブルクリックすると行末までの分しかブラウザに送られないようです。
改行以降の部分は色も下線も付いていません。
その状態で teraterm を最大化し、全ての URL が改行無しで表示できれば問題なくダブルクリックでブラウザに渡ります。
設定の問題でしょうか?

チケットの履歴 (22 件中 3 件表示)

2013-09-10 16:03 更新者: yamato_tac
  • 新しいチケット "クリッカブル URL が行末で改行されると URL が切れてブラウザに渡る" が作成されました
2013-09-11 15:29 更新者: doda
  • コンポーネント(未割り当て) から Tera Term に更新されました
  • 担当者(未割り当て) から doda に更新されました
コメント

現象を再現させた時のバイナリログを見せてもらえますでしょうか。

2013-09-11 15:51 更新者: yamato_tac
コメント

doda 様 「現象が起きる長いURLのバイナリーログ」として teraterm.log をアップロードしました。

2013-09-12 11:27 更新者: doda
コメント

ログを確認しましたが、URLの途中で改行が入れられていますね。 これは改行部分でURLが切れていると判断されるのが正しいです。

技術的には繋げる事も可能ですが、それをやると関係ない部分までURLの一部と判断してしまう等の弊害が大きいと考えています。

2013-09-12 11:35 更新者: yamato_tac
コメント

doda 様
ご確認頂きありがとうございます。
webブラウザ(Firefox)のURLをクリップボードにコピーし、
emacs+mewの本文編集画面で右クリック貼り付けしているだけなのですが、
何がいつの段階で改行を追加してしまっていると考えられますか?
同じ物を貼り付けてもteratermを全画面表示すると問題なく動作するので、
teratermの改行部分の問題かな?と。

2013-09-12 11:39 更新者: doda
コメント

emacsが端末の改行に任せずに自前で改行していると思われます。

2013-09-12 14:30 更新者: None
コメント

doda 様
確かにおっしゃる通り、emacsの折り返し表示上「\」が出てしまっておりそれが改行なのは正しいのですが、
2013.02.28 (Ver 4.77) まではこの状態でもダブルクリックで URL を渡してくれていて大変便利でした。
2013.05.31 (Ver 4.78) でのバグ修正
「ウィンドウの右端で URL が終わって改行している場合に、次の行まで URL が続いていると判定される」
を設定ファイル等でON/OFF出来たりすると大変有難いです。
ご検討頂ければ幸いです。
チケットの種類を「バグ」にしてしまって申し訳ありません。

2013-09-12 14:35 更新者: yamato_tac
  • 詳細が更新されました
コメント

None への返信 すみません。ログインしていないのに気づかず更新してしまい、「None」になってしまいました。

2013-09-25 22:45 更新者: (del#1144)
コメント

\ の後に改行がある場合は次の行まで URL が続いているとみなす、という動作は意図的なものでした。

2007.8.8 (Ver 4.53)
URLクリッカブルへのEmacs対応。行末が \ である場合、URL構成文字として削除するようにした。

難しいような気がしますが、\ のない改行とは区別して以前どおりの動作を実現できないでしょうか。

2013-10-17 00:37 更新者: doda
コメント

maya への返信

\ の後に改行がある場合は次の行まで URL が続いているとみなす、という動作は意図的なものでした。

2007.8.8 (Ver 4.53)
URLクリッカブルへのEmacs対応。行末が \ である場合、URL構成文字として削除するようにした。

難しいような気がしますが、\ のない改行とは区別して以前どおりの動作を実現できないでしょうか。

現在の実装でも前の行の行末文字が行継続属性を持っているかで判断していますので、 これを文字が \ であるかで判断するように変更する事は簡単にできます。

ただ、本来ならば繋がっていない物を繋がっているように扱うのは問題が有ると思うんですよね。 繋がっているように扱うようにすると、行末に \ を置いて改行した状態が表せなくなりますし。 また、コピー&ペーストとで行継続の扱いが違うというのも気になります。

やるとしたらyamato_tacさんのコメントにあるように、設定でon/offを選べるようにする感じでしょうか。

2013-10-17 13:52 更新者: yamato_tac
コメント

やるとしたらyamato_tacさんのコメントにあるように、設定でon/offを選べるようにする感じでしょうか。

是非ともお願いしたい機能です。 私はこの機能のためだけに、Version 4.77 にしてしまいました。

2013-11-22 13:55 更新者: doda
  • 解決法なし から 受領 に更新されました
  • チケットの種類バグ から 機能リクエスト に更新されました
  • マイルストーン(未割り当て) から Tera Term 4.80 (完了済み) に更新されました
コメント

実装は簡単なのですが(すでにできてる)、設定パラメータ名が思い浮かびません。なにかいい名前はないでしょうか?

また、emacsで問題が起きている&emacsは改行するときに\を入れるという事から前の行の行末が\かどうかチェックしていますが、このチェックは必要でしょうか?

チェックをするとしてemacsは設定でこの改行マークを変える事が出来るみたいですが、改行マークを設定可能にする必要はありますか?

2013-11-22 14:34 更新者: (del#1144)
コメント

チェックしないと、1行目が最後の文字まであって次の行が1文字目からある場合に続いてしまわないでしょうか?

IgnoreCharContinuedLineURL=\

とかどうでしょうか。文字の指定が無ければなにもしない、2文字以上あっても切り捨てる、という感じで。

2013-11-22 14:38 更新者: yamato_tac
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2013-11-22 14:38 に更新されました
コメント

実装は簡単なのですが(すでにできてる)、設定パラメータ名が思い浮かびません。なにかいい名前はないでしょうか?

EnableClickableLongURL4emacs などはいかがでしょう?

また、emacsで問題が起きている&emacsは改行するときに\を入れるという事から前の行の行末が\かどうかチェックしていますが、このチェックは必要でしょうか?

はい。必要と思います。

チェックをするとしてemacsは設定でこの改行マークを変える事が出来るみたいですが、改行マークを設定可能にする必要はありますか?

私は「\」のみで大丈夫ですが、変えているまたは変えたいユーザーもいるでしょうから、設定可能な方が親切かと。 是非、default文字は「\」にして頂きたいですが。

2013-11-22 14:38 更新者: yamato_tac
  • 状況完了 から オープン に更新されました
2013-11-26 10:54 更新者: doda
コメント

maya への返信

チェックしないと、1行目が最後の文字まであって次の行が1文字目からある場合に続いてしまわないでしょうか?

そうなりますが、

  • 4.77まではその動作だった
  • オプションで繋げるかどうか設定できるようにする

辺りからチェックをしないというのもありかなと思ったのでした。

IgnoreCharContinuedLineURL=\ とかどうでしょうか。文字の指定が無ければなにもしない、2文字以上あっても切り捨てる、という感じで。

とりあえずこの動作 & 空文字列を指定した場合はチェックを行わないようにしてみました。

2013-11-26 11:10 更新者: doda
コメント

yamato_tac への返信

EnableClickableLongURL4emacs などはいかがでしょう?

あまりemacs等の固有名詞を入れたくないというのと、分割されたのを繋げるというニュアンスが欲しいなと思ったので JoinSplitedURL にしてみましたが英語的におかしくないでしょうか?

……あれ? もしかしてsplitted?

2013-11-26 12:12 更新者: (del#1144)
コメント

splitの過去形はsplitのようです。

いま思いついたのですが、同じ機能に関わる名前は揃えた方がいいような気がするので、文字の指定の方を JoinSplitURLIgnoreEOFChar にするのはどうでしょうか。

2013-11-26 14:52 更新者: doda
コメント

maya への返信

いま思いついたのですが、同じ機能に関わる名前は揃えた方がいいような気がするので、文字の指定の方を JoinSplitURLIgnoreEOFChar にするのはどうでしょうか。

変更しました。EOFはEOLでいいですよね?

2013-11-26 20:20 更新者: (del#1144)
コメント

そうです。EOL です。間違えました。

2013-12-01 00:18 更新者: (del#1144)
  • チケット完了時刻2013-12-01 00:18 に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

  • teraterm.log(296バイト)
    • 現象が起きる長いURLのバイナリーログ

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする