enum-set-indexer procedure now checks for a symbol, changed "isn't" to "is not" for consistency
original commit: 5df52745d793eb5a16cb6e55065f78f313170ed5
This commit is contained in:
parent
15343364a9
commit
d1a5bcf399
3
LOG
3
LOG
|
@ -450,3 +450,6 @@
|
|||
Also add a simplification for for-each with empty lists
|
||||
with optimization level 2.
|
||||
cp0.ss, 4.ms, primdata.ss
|
||||
- fix invalid memory reference when enum-set-indexer procedure is not
|
||||
passed a symbol
|
||||
enum.ss, enum.ms, root-experr*, release_notes.stex
|
||||
|
|
|
@ -101,6 +101,8 @@
|
|||
(error? (make-enumeration 3))
|
||||
(error? (enum-set-universe 3))
|
||||
(error? (enum-set-indexer 3))
|
||||
(error? (let ([e (make-enumeration '(a b c))])
|
||||
((enum-set-indexer e) 1)))
|
||||
(error? (enum-set->list 3))
|
||||
(equal? '(a b)
|
||||
(let ()
|
||||
|
|
|
@ -7625,19 +7625,20 @@ hash.mo:Expected error in mat hash-functions: "string-ci-hash: hello is not a st
|
|||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<eqv hashtable>".
|
||||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<hashtable>".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-intersection: #<enum-set> and #<enum-set> have different enumeration types".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-intersection: 1 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-intersection: 1 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "universe of foo does not include specified symbol d".
|
||||
enum.mo:Expected error in mat enumeration: "universe of foo does not include specified symbol d".
|
||||
enum.mo:Expected error in mat enumeration: "make-enumeration: 3 is not a list of symbols".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-universe: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-indexer: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set->list: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 4 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-universe: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-indexer: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-indexer: 1 is not a symbol".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set->list: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 4 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: #<enum-set> and #<enum-set> have different enumeration types".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-complement: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 4 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-complement: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 4 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "invalid syntax (define-enumeration 3 () bar)".
|
||||
enum.mo:Expected error in mat enumeration: "invalid syntax (define-enumeration foo baz bar)".
|
||||
enum.mo:Expected error in mat enumeration: "invalid syntax (define-enumeration foo () 3)".
|
||||
|
|
|
@ -7625,19 +7625,20 @@ hash.mo:Expected error in mat hash-functions: "string-ci-hash: hello is not a st
|
|||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<eqv hashtable>".
|
||||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<hashtable>".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-intersection: #<enum-set> and #<enum-set> have different enumeration types".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-intersection: 1 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-intersection: 1 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "universe of foo does not include specified symbol d".
|
||||
enum.mo:Expected error in mat enumeration: "universe of foo does not include specified symbol d".
|
||||
enum.mo:Expected error in mat enumeration: "make-enumeration: 3 is not a list of symbols".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-universe: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-indexer: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set->list: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 4 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-universe: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-indexer: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-indexer: 1 is not a symbol".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set->list: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: 4 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-union: #<enum-set> and #<enum-set> have different enumeration types".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-complement: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 3 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 4 isn't an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-complement: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 3 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "enum-set-projection: 4 is not an enumeration".
|
||||
enum.mo:Expected error in mat enumeration: "invalid syntax (define-enumeration 3 () bar)".
|
||||
enum.mo:Expected error in mat enumeration: "invalid syntax (define-enumeration foo baz bar)".
|
||||
enum.mo:Expected error in mat enumeration: "invalid syntax (define-enumeration foo () 3)".
|
||||
|
|
|
@ -1490,6 +1490,12 @@ in fasl files does not generally make sense.
|
|||
%-----------------------------------------------------------------------------
|
||||
\section{Bug Fixes}\label{section:bugfixes}
|
||||
|
||||
\subsection{Invalid memory reference when \protect\scheme{enum-set-indexer} procedure is not passed a symbol}
|
||||
|
||||
A bug that caused the procedure returned by \scheme{enum-set-indexer}
|
||||
to perform an invalid memory reference when passed an argument that is
|
||||
not a symbol has been fixed.
|
||||
|
||||
\subsection{Storage for inaccessible mutexes and conditions is reclaimed (9.4.1)}
|
||||
|
||||
The C heap storage for inaccessible mutexes and conditions is now reclaimed.
|
||||
|
|
|
@ -116,7 +116,7 @@ an-enum-set:
|
|||
(let ([rtd (record-rtd enum-set)])
|
||||
(and (eq? (record-rtd rtd) enum-base-rtd)
|
||||
rtd)))
|
||||
($oops who "~s isn't an enumeration" enum-set)))
|
||||
($oops who "~s is not an enumeration" enum-set)))
|
||||
|
||||
(define (assert-symbol-list who symbol-list)
|
||||
(unless (and (list? symbol-list)
|
||||
|
@ -210,7 +210,9 @@ an-enum-set:
|
|||
(set! enum-set-indexer
|
||||
(lambda (enum-set)
|
||||
(let ([sym->index (get-sym->index (enum-set-rtd 'enum-set-indexer enum-set))])
|
||||
(lambda (x) (symbol-hashtable-ref sym->index x #f)))))
|
||||
(lambda (x)
|
||||
(assert-symbol 'enum-set-indexer x)
|
||||
(symbol-hashtable-ref sym->index x #f)))))
|
||||
|
||||
(set! enum-set-constructor
|
||||
(lambda (enum-set)
|
||||
|
|
Loading…
Reference in New Issue
Block a user