*** genini.old	2010-02-26 22:46:43.250406000 -0500
--- genini	2010-02-26 22:41:06.680957000 -0500
***************
*** 49,55 ****
  undef $main::curfile;
  for my $p (sort keys %pkg) {
      print "\n@ $p\n";
!     for my $key ('sdesc', 'ldesc', 'category', 'requires') {
  	my $val = $pkg{$p}{''}{$key};
  	if (!defined($val) && $pkg{$p}{''}{'install'} !~ /_obsolete/o) {
  	    mywarn "package $p is missing a $key field"
--- 49,55 ----
  undef $main::curfile;
  for my $p (sort keys %pkg) {
      print "\n@ $p\n";
!     for my $key ('sdesc', 'ldesc', 'category', 'requires', 'message') {
  	my $val = $pkg{$p}{''}{$key};
  	if (!defined($val) && $pkg{$p}{''}{'install'} !~ /_obsolete/o) {
  	    mywarn "package $p is missing a $key field"
***************
*** 84,92 ****
      my $key = shift;
      my $val = shift;
  
!     if (substr($val, 0, 1) ne '"') {
! 	$val = '"'. $val . '"' if $key eq 'ldesc' || $key eq 'sdesc';
!     } else {
  	while (length($val) == 1 || $val !~ /"$/os) {
  	    $_ = <$FH>;
  	    length or last;
--- 84,90 ----
      my $key = shift;
      my $val = shift;
  
!     if ( (substr($val, 0, 1) eq '"') or ($key eq "message" and $val =~ /\w\s+"/) ) {
  	while (length($val) == 1 || $val !~ /"$/os) {
  	    $_ = <$FH>;
  	    length or last;
***************
*** 94,101 ****
  	    s/(\S)\s+$/$1/;
  	    $val .= "\n" . $_;
  	}
      } 
!     $val =~ s/(.)"(.)/$1'$2/mog;
      return $val;
  }
  
--- 92,105 ----
  	    s/(\S)\s+$/$1/;
  	    $val .= "\n" . $_;
  	}
+     } else {
+ 	$val = '"'. $val . '"' if $key eq 'ldesc' || $key eq 'sdesc';
      } 
!     if ( $key eq "message" ) {
! 	$val =~ s/(\w\s+".*)"(.)/$1'$2/mog;
!     } else {
! 	$val =~ s/(.)"(.)/$1'$2/mog;
!     }
      return $val;
  }
  
