廣島です.
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@...)