/[suikacvs]/markup/html/html5/spec-ja/common.pl
Suika

Diff of /markup/html/html5/spec-ja/common.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by wakaba, Sun Oct 26 07:08:12 2008 UTC revision 1.13 by wakaba, Sun Oct 26 12:38:48 2008 UTC
# Line 5  my $data_dir_name = q[data/]; Line 5  my $data_dir_name = q[data/];
5  my $data2_dir_name = q[data2/];  my $data2_dir_name = q[data2/];
6  my $data2_suffix = q[.dat];  my $data2_suffix = q[.dat];
7  my $lock_suffix = q[.lock];  my $lock_suffix = q[.lock];
8    
9    ## SEE ALSO: |Makefile|.
10  my $fallback_file_name = $data2_dir_name . 'fallback' . $data2_suffix;  my $fallback_file_name = $data2_dir_name . 'fallback' . $data2_suffix;
11    
12    ## SEE ALSO: |Makefile|.
13    my $patch_file_name = $data2_dir_name . 'modified.txt';
14    
15  our $UseCVS //= 1;  our $UseCVS //= 1;
16    
17  sub normalize ($) {  sub normalize ($) {
# Line 97  sub hash_to_file_name ($) { Line 102  sub hash_to_file_name ($) {
102  } # hash_to_file_name  } # hash_to_file_name
103    
104  my $Entry = {};  my $Entry = {};
105    my $ModifiedHash = {};
106    
107  sub get_entry ($) {  sub get_entry ($) {
108    my $hash = shift;    my $hash = shift;
# Line 134  sub set_entry ($$$) { Line 140  sub set_entry ($$$) {
140      delete $Entry->{$file_name}->{pattern}->{$hash};      delete $Entry->{$file_name}->{pattern}->{$hash};
141    }    }
142    $Entry->{$file_name}->{modified} = 1;    $Entry->{$file_name}->{modified} = 1;
143      $ModifiedHash->{$hash} = 1;
144  } # set_entry  } # set_entry
145    
146  use Fcntl ':flock';  use Fcntl ':flock';
# Line 153  sub lock_entry ($) { Line 160  sub lock_entry ($) {
160  sub commit_entries ($) {  sub commit_entries ($) {
161    for my $file_name (keys %{$Entry}) {    for my $file_name (keys %{$Entry}) {
162      if ($Entry->{$file_name}->{modified}) {      if ($Entry->{$file_name}->{modified}) {
163          delete $Entry->{$file_name}->{modified};
164        write_data_file ($file_name => $Entry->{$file_name});        write_data_file ($file_name => $Entry->{$file_name});
165      }      }
166    }    }
167    
168      open my $file, '>>', $patch_file_name or die "$0: $patch_file_name: $!";
169      for (keys %$ModifiedHash) {
170        print $file "$_\n";
171      }
172      close $file;
173    
174    my $msg = shift // $0;    my $msg = shift // $0;
175    system_ ('cvs', 'commit', -m => $msg, $data2_dir_name) if $UseCVS;    system_ ('cvs', 'commit', -m => $msg, $data2_dir_name) if $UseCVS;
176  } # commit_entries  } # commit_entries
# Line 183  sub get_fallback_entry ($) { Line 197  sub get_fallback_entry ($) {
197    return $FallbackEntry->{$hash} // {};    return $FallbackEntry->{$hash} // {};
198  } # get_fallback_entry  } # get_fallback_entry
199    
200    sub get_entry_or_fallback_entry ($) {
201      my $hash = shift;
202    
203      my ($is_pattern, $entry) = get_entry ($hash);
204      unless (defined $entry->{en}) {
205        $entry = get_fallback_entry ($hash);
206      }
207      $entry->{tags} ||= [];
208      $entry->{isPattern} = 1 if $is_pattern;
209    
210      return $entry;
211    } # get_entry_or_fallback_entry
212    
213  sub set_fallback_entry ($$) {  sub set_fallback_entry ($$) {
214    my ($hash, $value) = @_;    my ($hash, $value) = @_;
215    unless (defined $FallbackEntry) {    unless (defined $FallbackEntry) {
# Line 200  sub save_fallback_entries () { Line 227  sub save_fallback_entries () {
227        if defined $FallbackEntry;        if defined $FallbackEntry;
228  } # save_fallback_entries  } # save_fallback_entries
229    
230    sub get_modified_hashes () {
231      open my $file, '<', $patch_file_name or die "$0: $patch_file_name: $!";
232      return map {tr/\x0D\x0A//d; $_} <$file>;
233    } # get_modified_hashes
234    
235    sub clear_modified_hashes () {
236      open my $file, '>', $patch_file_name;
237      close $file;
238    } # clear_modified_hashes
239    
240  sub htescape ($) {  sub htescape ($) {
241    my $s = shift;    my $s = shift;
242    $s =~ s/&/&amp;/g;    $s =~ s/&/&amp;/g;

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.13

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24