diff --git a/compiler/importer.nim b/compiler/importer.nim index 7a73f2bbf6..b4cae017e4 100644 --- a/compiler/importer.nim +++ b/compiler/importer.nim @@ -93,7 +93,7 @@ proc rawImportSymbol(c: PContext, s: PSym) = if hasPattern(s): addPattern(c, s) proc importSymbol(c: PContext, n: PNode, fromMod: PSym) = - let ident = lookups.considerAcc(n) + let ident = lookups.considerQuotedIdent(n) let s = strTableGet(fromMod.tab, ident) if s == nil: localError(n.info, errUndeclaredIdentifier, ident.s) @@ -193,7 +193,7 @@ proc evalImportExcept*(c: PContext, n: PNode): PNode = addDecl(c, m) # add symbol to symbol table of module var exceptSet = initIntSet() for i in countup(1, sonsLen(n) - 1): - let ident = lookups.considerAcc(n.sons[i]) + let ident = lookups.considerQuotedIdent(n.sons[i]) exceptSet.incl(ident.id) importAllSymbolsExcept(c, m, exceptSet) importForwarded(c, m.ast, exceptSet) diff --git a/compiler/lookups.nim b/compiler/lookups.nim index 60125177c0..aee64f52f1 100644 --- a/compiler/lookups.nim +++ b/compiler/lookups.nim @@ -15,14 +15,15 @@ import proc ensureNoMissingOrUnusedSymbols(scope: PScope) -proc considerAcc*(n: PNode): PIdent = +proc considerQuotedIdent*(n: PNode): PIdent = + ## Retrieve a PIdent from a PNode, taking into account accent nodes. case n.kind of nkIdent: result = n.ident of nkSym: result = n.sym.name of nkAccQuoted: case n.len of 0: globalError(n.info, errIdentifierExpected, renderTree(n)) - of 1: result = considerAcc(n.sons[0]) + of 1: result = considerQuotedIdent(n.sons[0]) else: var id = "" for i in 0..