Ticket #32028

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

Open Date: 2013-09-10 16:03 Last Update: 2013-12-01 00:18

Reporter:
Owner:
Status:
Closed
Component:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Accepted
File:
1
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

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

Ticket History (3/22 Histories)

2013-09-10 16:03 Updated by: yamato_tac
  • New Ticket "クリッカブル URL が行末で改行されると URL が切れてブラウザに渡る" created
2013-09-11 15:29 Updated by: doda
  • Component Update from (None) to Tera Term
  • Owner Update from (None) to doda
Comment

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

2013-09-11 15:51 Updated by: yamato_tac
Comment

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

2013-09-12 11:27 Updated by: doda
Comment

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

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

2013-09-12 11:35 Updated by: yamato_tac
Comment

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

2013-09-12 11:39 Updated by: doda
Comment

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

2013-09-12 14:30 Updated by: None
Comment

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

2013-09-12 14:35 Updated by: yamato_tac
  • Details Updated
Comment

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

2013-09-25 22:45 Updated by: (del#1144)
Comment

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

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

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

2013-10-17 00:37 Updated by: doda
Comment

maya への返信

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

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

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

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

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

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

2013-10-17 13:52 Updated by: yamato_tac
Comment

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

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

2013-11-22 13:55 Updated by: doda
  • Resolution Update from None to Accepted
  • Type Update from Bugs to Feature Requests
  • Milestone Update from (None) to Tera Term 4.80 (closed)
Comment

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

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

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

2013-11-22 14:34 Updated by: (del#1144)
Comment

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

IgnoreCharContinuedLineURL=\

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

2013-11-22 14:38 Updated by: yamato_tac
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2013-11-22 14:38
Comment

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

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

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

はい。必要と思います。

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

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

2013-11-22 14:38 Updated by: yamato_tac
  • Status Update from Closed to Open
2013-11-26 10:54 Updated by: doda
Comment

maya への返信

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

そうなりますが、

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

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

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

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

2013-11-26 11:10 Updated by: doda
Comment

yamato_tac への返信

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

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

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

2013-11-26 12:12 Updated by: (del#1144)
Comment

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

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

2013-11-26 14:52 Updated by: doda
Comment

maya への返信

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

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

2013-11-26 20:20 Updated by: (del#1144)
Comment

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

2013-12-01 00:18 Updated by: (del#1144)
  • Ticket Close date is changed to 2013-12-01 00:18
  • Status Update from Open to Closed

Attachment File List

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

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login