Skip to content

Commit b7a9a12

Browse files
committed
Raise error if duplicate symbols are given in function parameters
1 parent 5b7c440 commit b7a9a12

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

M2/Macaulay2/d/binding.d

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,13 @@ bindFormalParmList(e:ParseTree,dictionary:Dictionary,desc:functionDescription):v
615615
then (
616616
bindFormalParmList(binary.lhs,dictionary,desc);
617617
bindop(binary.Operator,dictionary);
618+
when binary.rhs
619+
is t:Token do (
620+
when lookup(t.word, dictionary.symboltable)
621+
is Symbol do makeErrorTree(t,
622+
"duplicate symbol in parameter list: " + t.word.name)
623+
else nothing)
624+
else nothing;
618625
bindFormalParm(binary.rhs,dictionary,desc);)
619626
else makeErrorTree(e,"syntax error: expected function parameter list"))
620627
else bindFormalParm(e,dictionary,desc));

M2/Macaulay2/m2/matrix.m2

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -460,17 +460,17 @@ submatrix = method(TypicalValue => Matrix)
460460
submatrix' = method(TypicalValue => Matrix)
461461

462462
submatrix(Matrix, VisibleList, VisibleList) := (m, rows, cols) -> map(sliceModule(target m, rows), sliceModule(source m, cols), raw submatrixFree(m, rows, cols))
463-
submatrix(Matrix, VisibleList, Nothing) := (m, rows, null) -> map(sliceModule(target m, rows), source m, raw submatrixFree(m, rows, null))
463+
submatrix(Matrix, VisibleList, Nothing) := (m, rows, cols) -> map(sliceModule(target m, rows), source m, raw submatrixFree(m, rows, null))
464464
submatrix(Matrix, VisibleList) := (m, cols) -> map(target m, sliceModule(source m, cols), raw submatrixFree(m, null, cols))
465-
submatrix(Matrix, Nothing, VisibleList) := (m, null, cols) -> submatrix(m, cols)
466-
submatrix(Matrix, Nothing, Nothing) := (m, null, null) -> m
465+
submatrix(Matrix, Nothing, VisibleList) := (m, rows, cols) -> submatrix(m, cols)
466+
submatrix(Matrix, Nothing, Nothing) := (m, rows, cols) -> m
467467

468468
compl := (M, rows) -> if #(rows = listZZ rows) > 0 then toList(0 .. numgens M - 1) - set rows
469469
submatrix'(Matrix, VisibleList, VisibleList) := (m, rows, cols) -> submatrix(m, compl(target m, rows), compl(source m, cols))
470-
submatrix'(Matrix, VisibleList, Nothing) := (m, rows, null) -> submatrix(m, compl(target m, rows), null)
470+
submatrix'(Matrix, VisibleList, Nothing) := (m, rows, cols) -> submatrix(m, compl(target m, rows), null)
471471
submatrix'(Matrix, VisibleList) := (m, cols) -> submatrix(m, null, compl(source m, cols))
472-
submatrix'(Matrix, Nothing, VisibleList) := (m, null, cols) -> submatrix'(m, cols)
473-
submatrix'(Matrix, Nothing, Nothing) := (m, null, null) -> m
472+
submatrix'(Matrix, Nothing, VisibleList) := (m, rows, cols) -> submatrix'(m, cols)
473+
submatrix'(Matrix, Nothing, Nothing) := (m, rows, cols) -> m
474474

475475
submatrixByDegrees = method()
476476
submatrixByDegrees(Matrix, Sequence, Sequence) := (m, tarBox, srcBox) -> (

M2/Macaulay2/m2/mutablemat.m2

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,11 @@ promote(MutableMatrix,Number) := Matrix => (f,S) -> (
101101
--------------------------------
102102
MutableMatrix _ List := Matrix => (f,v) -> submatrix(f,listZ splice v) -- get some columns
103103
MutableMatrix ^ List := Matrix => (f,v) -> submatrix(f,listZ splice v,) -- get some rows
104-
submatrix(MutableMatrix,VisibleList,VisibleList) := (m,rows,cols) -> map(ring m,rawSubmatrix(raw m, listZ toList splice rows, listZ toList splice cols))
105-
submatrix(MutableMatrix,VisibleList ) := (m,cols ) -> map(ring m,rawSubmatrix(raw m, listZ toList splice cols))
106-
submatrix(MutableMatrix,Nothing ,VisibleList) := (m,null,cols) -> submatrix(m,cols)
107-
submatrix(MutableMatrix, VisibleList, Nothing) := (m, rows, null) -> map(ring m, rawSubmatrix(raw m, listZZ rows, 0 .. numColumns m - 1))
108-
submatrix(MutableMatrix, Nothing, Nothing) := (m, null, null) -> m
104+
submatrix(MutableMatrix, VisibleList, VisibleList) := (m, rows, cols) -> map(ring m,rawSubmatrix(raw m, listZ toList splice rows, listZ toList splice cols))
105+
submatrix(MutableMatrix, VisibleList ) := (m, cols) -> map(ring m,rawSubmatrix(raw m, listZ toList splice cols))
106+
submatrix(MutableMatrix, Nothing, VisibleList) := (m, rows, cols) -> submatrix(m,cols)
107+
submatrix(MutableMatrix, VisibleList, Nothing) := (m, rows, cols) -> map(ring m, rawSubmatrix(raw m, listZZ rows, 0 .. numColumns m - 1))
108+
submatrix(MutableMatrix, Nothing, Nothing) := (m, rows, cols) -> m
109109

110110
--------------------------------
111111
numRows(RawMutableMatrix) := (m) -> rawNumberOfRows m

0 commit comments

Comments
 (0)