relayed here and copied below: https://github.com/bitcoin/bitcoin/pull/12610#issuecomment-376278677

this logic here means that anytime we do a wallet match on rpc debug console, it will not find the wallet unless it has no `.dat` extension: 3dba3c3#diff-8c9d79ba40bf702f01685008550ac100R491

This also means you can load two wallets(eg `wallet.dat` and `wallet`), and they will look the same in the drop down selector.

imo if we're supporting arbitrary filename extensions we should just display the entire name
LOCK2(cs_main, wallet->cs_wallet);
        transaction.newPossibleKeyChange(wallet);
        CAmount nFeeRequired = 0;
        int nChangePosRet = -1;
        std::string strFailReason;
        CTransactionRef& newTx = transaction.getTransaction();
        CReserveKey *keyChange = transaction.getPossibleKeyChange();
        bool fCreated = wallet->CreateTransaction(vecSend, newTx, *keyChange, nFeeRequired, nChangePosRet, strFailReason, coinControl);
        transaction.setTransactionFee(nFeeRequired);
        if (fSubtractFeeFromAmount && fCreated)
            transaction.reassignAmounts(nChangePosRet);
        if(!fCreated)
        {
            if(!fSubtractFeeFromAmount && (total + nFeeRequired) > nBalance)
            {
                return SendCoinsReturn(AmountWithFeeExceedsBalance);
            }
            Q_EMIT message(tr("Send Coins"), QString::fromStdString(strFailReason),
                         CClientUIInterface::MSG_ERROR);
            return TransactionCreationFailed;
        }
        
        
        
        if (nFeeRequired > maxTxFee)
            return AbsurdFee;
    }
    return SendCoinsReturn(OK);
}
WalletModel::SendCoinsReturn WalletModel::sendCoins(WalletModelTransaction &transaction)