~peter-pearse/ubuntu/natty/guile-1.8/prop001

« back to all changes in this revision

Viewing changes to lang/elisp/primitives/strings.scm

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Schepler
  • Date: 2006-11-09 03:11:16 UTC
  • Revision ID: james.westby@ubuntu.com-20061109031116-hu0q1jxqg12y6yeg
Tags: upstream-1.8.1+1
ImportĀ upstreamĀ versionĀ 1.8.1+1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(define-module (lang elisp primitives strings)
 
2
  #:use-module (lang elisp internals fset)
 
3
  #:use-module (lang elisp internals null)
 
4
  #:use-module (lang elisp internals signal))
 
5
 
 
6
(fset 'substring substring)
 
7
 
 
8
(fset 'concat
 
9
      (lambda args
 
10
        (apply string-append
 
11
               (map (lambda (arg)
 
12
                      (cond
 
13
                       ((string? arg) arg)
 
14
                       ((list? arg) (list->string arg))
 
15
                       ((vector? arg) (list->string (vector->list arg)))
 
16
                       (else (error "Wrong type argument for concat"))))
 
17
                    args))))
 
18
 
 
19
(fset 'string-to-number string->number)
 
20
 
 
21
(fset 'number-to-string number->string)
 
22
 
 
23
(fset 'string-lessp (lambda->nil string<?))
 
24
(fset 'string< 'string-lessp)
 
25
 
 
26
(fset 'aref
 
27
      (lambda (array idx)
 
28
        (cond ((vector? array) (vector-ref array idx))
 
29
              ((string? array) (char->integer (string-ref array idx)))
 
30
              (else (wta 'arrayp array 1)))))
 
31
 
 
32
(fset 'stringp (lambda->nil string?))
 
33
 
 
34
(fset 'vector vector)