diff options
author | Neil Jerram <neil@ossau.uklinux.net> | 2008-04-14 21:25:17 +0100 |
---|---|---|
committer | Neil Jerram <neil@ossau.uklinux.net> | 2008-04-16 00:13:40 +0100 |
commit | ee9e3a93f7c67f94d8cc7a748861cb7880fdaab2 (patch) | |
tree | 2feea29eb265365a6ea1710c5b575c5e9fd8c22d | |
parent | b1860cb3429e8b4f71d414e79c89400f18dff569 (diff) | |
download | guile-ee9e3a93f7c67f94d8cc7a748861cb7880fdaab2.tar.gz |
A few elisp fixes and enhancements
-rw-r--r-- | lang/elisp/ChangeLog | 9 | ||||
-rw-r--r-- | lang/elisp/internals/load.scm | 5 | ||||
-rw-r--r-- | lang/elisp/primitives/strings.scm | 6 | ||||
-rw-r--r-- | lang/elisp/primitives/symprop.scm | 2 |
4 files changed, 18 insertions, 4 deletions
diff --git a/lang/elisp/ChangeLog b/lang/elisp/ChangeLog index 1114618d0..a2c3bc84b 100644 --- a/lang/elisp/ChangeLog +++ b/lang/elisp/ChangeLog @@ -1,3 +1,12 @@ +2008-04-14 Neil Jerram <neil@ossau.uklinux.net> + + * primitives/symprop.scm (get): Use lambda->nil. + + * primitives/strings.scm (aset): New primitive. + + * internals/load.scm (load): Use in-vicinity (instead of + string-append) to add a slash if needed. + 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se> * primitives/Makefile.am (TAGS_FILES), internals/Makefile.am diff --git a/lang/elisp/internals/load.scm b/lang/elisp/internals/load.scm index e55c8b50f..2b6cac36f 100644 --- a/lang/elisp/internals/load.scm +++ b/lang/elisp/internals/load.scm @@ -15,9 +15,8 @@ '("") load-path))) (cond ((null? dirs) #f) - ((file-exists? (string-append (car dirs) - filename)) - (string-append (car dirs) filename)) + ((file-exists? (in-vicinity (car dirs) filename)) + (in-vicinity (car dirs) filename)) (else (loop (cdr dirs))))))) (if pathname (begin diff --git a/lang/elisp/primitives/strings.scm b/lang/elisp/primitives/strings.scm index 85a1c10a9..85e462f8b 100644 --- a/lang/elisp/primitives/strings.scm +++ b/lang/elisp/primitives/strings.scm @@ -29,6 +29,12 @@ ((string? array) (char->integer (string-ref array idx))) (else (wta 'arrayp array 1))))) +(fset 'aset + (lambda (array idx newelt) + (cond ((vector? array) (vector-set! array idx newelt)) + ((string? array) (string-set! array idx (integer->char newelt))) + (else (wta 'arrayp array 1))))) + (fset 'stringp (lambda->nil string?)) (fset 'vector vector) diff --git a/lang/elisp/primitives/symprop.scm b/lang/elisp/primitives/symprop.scm index a520a4b81..8f10fd8cd 100644 --- a/lang/elisp/primitives/symprop.scm +++ b/lang/elisp/primitives/symprop.scm @@ -9,7 +9,7 @@ (fset 'put set-symbol-property!) -(fset 'get symbol-property) +(fset 'get (lambda->nil symbol-property)) (fset 'set set) |