From f54b1b5d3c50fbf209308e34f566dbe7f4433510 Mon Sep 17 00:00:00 2001 From: Neil Jerram Date: Mon, 14 Apr 2008 19:40:02 +0100 Subject: [PATCH 1/3] * gds-client.scm (gds-debug-trap): Ensure that frame index passed to Emacs is always positive. --- ice-9/ChangeLog | 5 +++++ ice-9/gds-client.scm | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index e5f3ead4b..e4ef1207b 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,8 @@ +2008-04-14 Neil Jerram + + * gds-client.scm (gds-debug-trap): Ensure that frame index passed + to Emacs is always positive. + 2008-03-19 Neil Jerram * debugging/ice-9-debugger-extensions.scm (command-loop): Use diff --git a/ice-9/gds-client.scm b/ice-9/gds-client.scm index 94f8beb09..4db4f8266 100755 --- a/ice-9/gds-client.scm +++ b/ice-9/gds-client.scm @@ -71,7 +71,9 @@ (slot-ref (car fired-traps) 'depth))))) ;; Write current stack to the frontend. (write-form (list 'stack - (or special-index 0) + (if (and special-index (> special-index 0)) + special-index + 0) (stack->emacs-readable stack) (append (flags->emacs-readable flags) (slot-ref trap-context From cd0b9402b13c2b1e7bfe514ef72ed0c3e0b2903d Mon Sep 17 00:00:00 2001 From: Neil Jerram Date: Mon, 14 Apr 2008 21:25:17 +0100 Subject: [PATCH 2/3] A few elisp fixes and enhancements --- lang/elisp/ChangeLog | 9 +++++++++ lang/elisp/internals/load.scm | 5 ++--- lang/elisp/primitives/strings.scm | 6 ++++++ 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 + + * 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 * 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) From d8c8b8135fdcd647d79d06a30653c7680b44cadf Mon Sep 17 00:00:00 2001 From: Neil Jerram Date: Tue, 15 Apr 2008 23:52:58 +0100 Subject: [PATCH 3/3] Add TAGS to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 83835ca98..fde53928d 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ guile-procedures.txt guile-config/guile-config guile-readline/guile-readline-config.h guile-readline/guile-readline-config.h.in +TAGS