Ticket #40488

コメントが正しく認識されない

Open Date: 2020-06-17 16:59 Last Update: 2020-11-08 01:04

Reporter:
(Anonymous)
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
9 - Highest
Severity:
9 - Highest
Resolution:
Fixed
File:
None

Details

言語 : C言語

Doxygenのコメントで以下の用な感じのコメントがあると、以下の挙動になる

1. 1行目の行末の /** からシンタックスがコメントにならない。

2. コメントの差異を無視するオプションを有効にしていると、1行目の行末の /** 以降が、比較されない

/***************//**

etc...

******************/

Ticket History (3/9 Histories)

2020-06-17 16:59 Updated by: None
  • New Ticket "コメントが正しく認識されない" created
2020-06-17 21:15 Updated by: sdottaka
Comment

ご連絡ありがとうございます。 こちらでも再現できました。 まだ修正できるか見ていませんが、修正できるようでしたら次のバージョンに反映されると思います。

2020-06-18 10:09 Updated by: None
Comment

Reply To sdottaka

ご連絡ありがとうございます。 こちらでも再現できました。 まだ修正できるか見ていませんが、修正できるようでしたら次のバージョンに反映されると思います。

ありがとうございます。 助かります。

加えて、一部お伝えした内容に誤りがありました。

以下、訂正いたします。

2. コメントの差異を無視するオプションを有効にしていると、1行目の行末の /** 以降が、比較されない

2. コメントの差異を無視するオプションを有効にしていると、以下のような状況で比較が無視される

file : a.c

  1. 123456
  2. /**//*
  3. */

file : b.c

  1. test
  2. /**//*
  3. */
2020-06-18 21:22 Updated by: sdottaka
Comment

1. 1行目の行末の /** からシンタックスがコメントにならない。

一番目の件に関しては、修正を行いプレリリース版をアップロードしております。

https://osdn.net/projects/winmerge-jp/releases/73184

2. コメントの差異を無視するオプションを有効にしていると、以下のような状況で比較が無視される

二番目の件に関しては、現在のコメント内の差異を無視するロジックで一部、行内に複数のコメントブロックが存在することを考慮できていないような箇所があり、これを修正すると直せるのではないかと考えていますが、かなりまずい不具合と思いつつ、私には複雑すぎてなかなか手が出しにくい状況です。

そもそも、今のロジックを直したとしてもまだうまくいかないケースがあるのではないかという疑念と コメントの差異を無視するロジックのブロックコメントを検出するロジックが、シンタックスハイライトのブロックコメントの検出ロジックとまったく別ものであり、 HTMLなどのコメントは検出できていないことから、シンタックスハイライトのロジックベースにソースコード完全に書き換えたいという思いがあり、 時間をいただきたいと思っています。

(Edited, 2020-06-18 21:32 Updated by: sdottaka)
2020-06-19 14:34 Updated by: None
Comment

一番目の件に関しては、修正を行いプレリリース版をアップロードしております。

https://osdn.net/projects/winmerge-jp/releases/73184

ありがとうございます。試してみます。

二番目の件に関しては、現在のコメント内の差異を無視するロジックで一部、行内に複数のコメントブロックが存在することを考慮できていないような箇所があり、これを修正すると直せるのではないかと考えていますが、かなりまずい不具合と思いつつ、私には複雑すぎてなかなか手が出しにくい状況です。

そもそも、今のロジックを直したとしてもまだうまくいかないケースがあるのではないかという疑念と コメントの差異を無視するロジックのブロックコメントを検出するロジックが、シンタックスハイライトのブロックコメントの検出ロジックとまったく別ものであり、 HTMLなどのコメントは検出できていないことから、シンタックスハイライトのロジックベースにソースコード完全に書き換えたいという思いがあり、 時間をいただきたいと思っています。

状況把握しました。

心待ちにしております。。。

2020-06-22 10:38 Updated by: None
Comment

Reply To sdottaka

そもそも、今のロジックを直したとしてもまだうまくいかないケースがあるのではないかという疑念と コメントの差異を無視するロジックのブロックコメントを検出するロジックが、シンタックスハイライトのブロックコメントの検出ロジックとまったく別ものであり、 HTMLなどのコメントは検出できていないことから、シンタックスハイライトのロジックベースにソースコード完全に書き換えたいという思いがあり、 時間をいただきたいと思っています。

横から失礼いたします。

HTML内 のコメントについて、script要素のすぐ内側にある <!-- --> を比較対象から外すのはまずい気がします。

「script 要素内では /* */ と// をコメント扱いとする」ようにできれば理想ですが、それをするには単体の javascript の シンタックスハイライトを先に実装する必要がありそうです。

作りたい気持ちは山々なれど、現行のソースコードの把握が追い付かず……

2020-11-02 09:08 Updated by: sdottaka
Comment

遅くなってすみません。コメントフィルタをシンタックスハイライトベースに書き直し、本問題に対処しました。 プレリリース版 2.16.8+-jp-6 を作成しています。

https://github.com/sdottaka/winmerge-v2-jp/releases/tag/2.16.8%2B-jp-6

HTML内 のコメントについて、script要素のすぐ内側にある <!-- --> を比較対象から外すのはまずい気がします。

>「script 要素内では /* */ と// をコメント扱いとする」ようにできれば理想ですが、それをするには単体の javascript の シンタックスハイライトを先に実装する必要がありそうです。

まだ、こちらには対応できていないため、こちらもまた時間がかかるかもしれませんが、対処していきたいと思います。

2020-11-08 01:03 Updated by: sdottaka
Comment

>script 要素内では /* */ と// をコメント扱いとする」ようにできれば理想ですが、それをするには単体の javascript の シンタックスハイライトを先に実装する必要がありそうです。

こちらのほうも プレリリース版2.16.8+-jp-7 で対応しました https://github.com/sdottaka/winmerge-v2-jp/releases/tag/2.16.8%2B-jp-7

2020-11-08 01:04 Updated by: sdottaka
  • Resolution Update from None to Fixed
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

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