/[gcl]/gcl/o/string.d
ViewVC logotype

Diff of /gcl/o/string.d

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

revision 1.1.1.1 by wfs, Mon Dec 6 22:44:13 1999 UTC revision 1.2 by camm, Sat Jul 20 07:10:56 2002 UTC
# Line 195  object x; Line 195  object x;
195    
196          case t_string:          case t_string:
197                  return(x);                  return(x);
198            default:
199                    break;
200          }          }
201          FEerror("~S cannot be coerced to a string.", 1, x);          FEerror("~S cannot be coerced to a string.", 1, x);
202            return(Cnil);
203  }  }
204    
205  @(defun char (s i)  @(defun char (s i)
# Line 210  object x; Line 213  object x;
213          @(return `code_char(s->ust.ust_self[j])`)          @(return `code_char(s->ust.ust_self[j])`)
214  @)  @)
215    
216    void
217  siLchar_set()  siLchar_set()
218  {  {
219          int j;          int j;
# Line 225  siLchar_set() Line 229  siLchar_set()
229          vs_base += 2;          vs_base += 2;
230  }  }
231    
232    void
233  get_string_start_end(string, start, end, ps, pe)  get_string_start_end(string, start, end, ps, pe)
234  object string, start, end;  object string, start, end;
235  int *ps, *pe;  int *ps, *pe;
# Line 333  int string_sign, string_boundary; Line 338  int string_sign, string_boundary;
338          @(return `string_sign>=0 ? make_fixnum(s1) : Cnil`)          @(return `string_sign>=0 ? make_fixnum(s1) : Cnil`)
339  @)  @)
340    
341  Lstring_l()  { string_sign =  1;  string_boundary = 1;  Lstring_cmp(); }  void Lstring_l()  { string_sign =  1;  string_boundary = 1;  Lstring_cmp(); }
342  Lstring_g()  { string_sign = -1;  string_boundary = 1;  Lstring_cmp(); }  void Lstring_g()  { string_sign = -1;  string_boundary = 1;  Lstring_cmp(); }
343  Lstring_le() { string_sign =  1;  string_boundary = 0;  Lstring_cmp(); }  void Lstring_le() { string_sign =  1;  string_boundary = 0;  Lstring_cmp(); }
344  Lstring_ge() { string_sign = -1;  string_boundary = 0;  Lstring_cmp(); }  void Lstring_ge() { string_sign = -1;  string_boundary = 0;  Lstring_cmp(); }
345  Lstring_neq() { string_sign = 0;  string_boundary = 1;  Lstring_cmp(); }  void Lstring_neq() { string_sign = 0;  string_boundary = 1;  Lstring_cmp(); }
346    
347  @(defun string_compare (string1 string2  @(defun string_compare (string1 string2
348                          &key start1 end1 start2 end2)                          &key start1 end1 start2 end2)
# Line 376  Lstring_neq() { string_sign = 0;  string Line 381  Lstring_neq() { string_sign = 0;  string
381          @(return `string_sign>=0 ? make_fixnum(s1) : Cnil`)          @(return `string_sign>=0 ? make_fixnum(s1) : Cnil`)
382  @)  @)
383    
384  Lstring_lessp()      { string_sign =  1; string_boundary = 1;  Lstring_compare(); }  void Lstring_lessp()      { string_sign =  1; string_boundary = 1;  Lstring_compare(); }
385  Lstring_greaterp()   { string_sign = -1; string_boundary = 1;  Lstring_compare(); }  void Lstring_greaterp()   { string_sign = -1; string_boundary = 1;  Lstring_compare(); }
386  Lstring_not_greaterp(){ string_sign =  1; string_boundary = 0;  Lstring_compare(); }  void Lstring_not_greaterp(){ string_sign =  1; string_boundary = 0;  Lstring_compare(); }
387  Lstring_not_lessp()   { string_sign = -1; string_boundary = 0;  Lstring_compare(); }  void Lstring_not_lessp()   { string_sign = -1; string_boundary = 0;  Lstring_compare(); }
388  Lstring_not_equal()   { string_sign =  0; string_boundary = 1;  Lstring_compare(); }  void Lstring_not_equal()   { string_sign =  0; string_boundary = 1;  Lstring_compare(); }
389    
390    
391  @(defun make_string (size  @(defun make_string (size
# Line 446  object char_bag; Line 451  object char_bag;
451    
452          default:          default:
453                  FEerror("~S is not a sequence.", 1, char_bag);                  FEerror("~S is not a sequence.", 1, char_bag);
454                    return(FALSE);
455          }          }
456  }  }
457    
458    void Lstring_trim0();
459  Lstring_trim() { left_trim = right_trim = TRUE; Lstring_trim0(); }  void Lstring_trim() { left_trim = right_trim = TRUE; Lstring_trim0(); }
460  Lstring_left_trim() { left_trim = TRUE; right_trim = FALSE; Lstring_trim0(); }  void Lstring_left_trim() { left_trim = TRUE; right_trim = FALSE; Lstring_trim0(); }
461  Lstring_right_trim() { left_trim = FALSE; right_trim = TRUE; Lstring_trim0();}  void Lstring_right_trim() { left_trim = FALSE; right_trim = TRUE; Lstring_trim0();}
462    
463  @(defun string_trim0 (char_bag strng &aux res)  @(defun string_trim0 (char_bag strng &aux res)
464          int i, j, k;          int i, j, k;
# Line 478  Lstring_right_trim() { left_trim = FALSE Line 484  Lstring_right_trim() { left_trim = FALSE
484          @(return res)          @(return res)
485  @)  @)
486    
487  static char_upcase(c, bp)  static int char_upcase(c, bp)
488  int c, *bp;  int c, *bp;
489  {  {
490          if (isLower(c))          if (isLower(c))
# Line 487  int c, *bp; Line 493  int c, *bp;
493                  return(c);                  return(c);
494  }  }
495    
496  static char_downcase(c, bp)  static int char_downcase(c, bp)
497  int c, *bp;  int c, *bp;
498  {  {
499          if (isUpper(c))          if (isUpper(c))
# Line 496  int c, *bp; Line 502  int c, *bp;
502                  return(c);                  return(c);
503  }  }
504    
505  static char_capitalize(c, bp)  static int char_capitalize(c, bp)
506  int c, *bp;  int c, *bp;
507  {  {
508          if (isLower(c)) {          if (isLower(c)) {
# Line 526  int c, *bp; Line 532  int c, *bp;
532          @(return conv)          @(return conv)
533  @)  @)
534    
535  Lstring_upcase()     { casefun =     char_upcase;  Lstring_case(); }  void Lstring_upcase()     { casefun =     char_upcase;  Lstring_case(); }
536  Lstring_downcase()   { casefun =   char_downcase;  Lstring_case(); }  void Lstring_downcase()   { casefun =   char_downcase;  Lstring_case(); }
537  Lstring_capitalize() { casefun = char_capitalize;  Lstring_case(); }  void Lstring_capitalize() { casefun = char_capitalize;  Lstring_case(); }
538    
539    
540  @(defun nstring_case (strng &key start end)  @(defun nstring_case (strng &key start end)
# Line 544  Lstring_capitalize() { casefun = char_ca Line 550  Lstring_capitalize() { casefun = char_ca
550          @(return strng)          @(return strng)
551  @)  @)
552    
553  Lnstring_upcase()     { casefun =     char_upcase;  Lnstring_case(); }  void Lnstring_upcase()     { casefun =     char_upcase;  Lnstring_case(); }
554  Lnstring_downcase()   { casefun =   char_downcase;  Lnstring_case(); }  void Lnstring_downcase()   { casefun =   char_downcase;  Lnstring_case(); }
555  Lnstring_capitalize() { casefun = char_capitalize;  Lnstring_case(); }  void Lnstring_capitalize() { casefun = char_capitalize;  Lnstring_case(); }
556    
557    
558  @(defun string (x)  @(defun string (x)
# Line 554  Lnstring_capitalize() { casefun = char_c Line 560  Lnstring_capitalize() { casefun = char_c
560          @(return `coerce_to_string(x)`)          @(return `coerce_to_string(x)`)
561  @)  @)
562    
563    void
564  siLstring_concatenate()  siLstring_concatenate()
565  {  {
566          int narg, i, l, m;          int narg, i, l, m;
# Line 577  siLstring_concatenate() Line 584  siLstring_concatenate()
584          END_NO_INTERRUPT;}                END_NO_INTERRUPT;}      
585  }  }
586    
587    void
588  init_string_function()  init_string_function()
589  {  {
590          sKstart1 = make_keyword("START1");          sKstart1 = make_keyword("START1");

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26