作者: Tsutomu Hiroshima
日時: 2002/4/17(15:44)
廣島です.

Perl/Tk800.024 の日本語化パッチを更新しました.

http://mirror.nucba.ac.jp/users/tsutomu/perltk/jp-patch.html

klength に置き換えた方が良い length 関数を
Tk/TextUndo.pm に見つけ,動作確認していたのですが,
その過程でオリジナルのコードに Bug を発見しました.

この Bug で,TextEdit の <F5>〜<F8> に bind された,

IndentSelectedLines, UnindentSelectedLines,
CommentSelectedLines, UncommentSelectedLines

の4つの関数が正常に動作していませんでしたので,
今回のパッチで直しておきました.

diff -uNr Tk800.024.old/Tk/TextUndo.pm Tk800.024.new/Tk/TextUndo.pm
--- Tk800.024.old/Tk/TextUndo.pm        Sun Sep 30 02:48:16 2001
+++ Tk800.024.new/Tk/TextUndo.pm        Wed Apr 17 14:57:05 2002

(中略)

@@ -957,9 +957,10 @@
 sub insertStringAtStartOfSelectedLines
 {
  my ($w,$insert_string)=@_;
+ my @selected_lines = $w->SelectedLineNumbers;
  $w->addGlobStart;
  $w->MarkSelectionsSavePositions;
- foreach my $line ($w->SelectedLineNumbers)
+ foreach my $line (@selected_lines)
   {
    $w->insert($line.'.0', $insert_string);
   }
@@ -970,10 +971,11 @@
 sub deleteStringAtStartOfSelectedLines
 {
  my ($w,$insert_string)=@_;
+ my @selected_lines = $w->SelectedLineNumbers;
  $w->addGlobStart;
  $w->MarkSelectionsSavePositions;
- my $length = length($insert_string); # 日本語化 #
- foreach my $line ($w->SelectedLineNumbers)
+ my $length = $w->klength($insert_string); # 日本語化 #
+ foreach my $line (@selected_lines)
   {
    my $start = $line.'.0';
    my $end   = $line.'.'.$length;

# 日本語化 # のついていない変更行が,
オリジナルの Bug Fix です.

## 高橋様,サンプルスクリプトをありがとうございました.

-----------------------------
	廣島 勉
	(tsutomu@...)