You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(191) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(238) |
Dec
(68) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(104) |
Feb
(518) |
Mar
(302) |
Apr
(211) |
May
(311) |
Jun
(55) |
Jul
(6) |
Aug
(35) |
Sep
(76) |
Oct
(50) |
Nov
(37) |
Dec
(340) |
2007 |
Jan
(23) |
Feb
(107) |
Mar
(98) |
Apr
(60) |
May
(136) |
Jun
(371) |
Jul
(175) |
Aug
(74) |
Sep
(3) |
Oct
(2) |
Nov
(53) |
Dec
(129) |
2008 |
Jan
(337) |
Feb
(23) |
Mar
(18) |
Apr
(4) |
May
(3) |
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
(33) |
Nov
|
Dec
(26) |
2009 |
Jan
(4) |
Feb
(1) |
Mar
(15) |
Apr
|
May
(35) |
Jun
(11) |
Jul
|
Aug
|
Sep
(19) |
Oct
(26) |
Nov
(11) |
Dec
(11) |
2010 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(8) |
Sep
|
Oct
|
Nov
(8) |
Dec
(7) |
2011 |
Jan
|
Feb
|
Mar
(4) |
Apr
(8) |
May
(5) |
Jun
(8) |
Jul
(1) |
Aug
|
Sep
|
Oct
(5) |
Nov
(13) |
Dec
|
From: John L. <jr...@us...> - 2007-05-21 01:08:33
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv14147/wxLua/modules/wxluasocket/src Modified Files: dservice.cpp wxldserv.cpp wxlsock.cpp Log Message: Remove all code in dservice as it wasn't used Removed m_pDerivedList and put derived lua functions into the lua registry index A little more cleanup in the socket and editor.wx.lua code. Index: dservice.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/dservice.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** dservice.cpp 19 May 2007 02:05:47 -0000 1.32 --- dservice.cpp 21 May 2007 01:08:00 -0000 1.33 *************** *** 15,1367 **** // wxWidgets Socket Sample - #include "wx/wxprec.h" - - #ifdef __BORLANDC__ - #pragma hdrstop - #endif - - #ifndef WX_PRECOMP - #include "wx/wx.h" [...1324 lines suppressed...] - } - - void wxLuaDebuggee::NotifyBreakPoints(wxLuawxSocket* debugSocket) - { - wxCriticalSectionLocker locker(m_breakPointListCriticalSection); - - // Notify Debugger of Each BreakPoint - wxLuaBreakPointList::compatibility_iterator nodeBreakPoint; - wxLuaBreakPointList::compatibility_iterator nextBreakPoint; - - for (nodeBreakPoint = m_breakPointList.GetFirst(); nodeBreakPoint; nodeBreakPoint = nextBreakPoint) - { - nextBreakPoint = nodeBreakPoint->GetNext(); - - wxLuaBreakPoint* breakPoint = nodeBreakPoint->GetData(); - - m_debugService->NotifyBreakpointAdded(*breakPoint, debugSocket); - } - } --- 15,16 ---- Index: wxldserv.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldserv.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** wxldserv.cpp 19 May 2007 17:14:13 -0000 1.38 --- wxldserv.cpp 21 May 2007 01:08:00 -0000 1.39 *************** *** 196,204 **** { // we don't delete the the process, we kill it and it's OnTerminate deletes it ! if ((m_debuggeeProcess != NULL) && (m_debuggeeProcessID > 0)) { m_debuggeeProcess->m_debugger = NULL; m_debuggeeProcess = NULL; ! wxProcess::Kill(m_debuggeeProcessID, wxSIGTERM, wxKILL_CHILDREN); //wxPrintf(wxT("Deleting the m_debuggeeProcess %d\n"), m_debuggeeProcessID); --- 196,205 ---- { // we don't delete the the process, we kill it and it's OnTerminate deletes it ! if ((m_debuggeeProcess != NULL) && (m_debuggeeProcessID > 0) && ! wxProcess::Exists(m_debuggeeProcessID)) { m_debuggeeProcess->m_debugger = NULL; m_debuggeeProcess = NULL; ! wxProcess::Kill(m_debuggeeProcessID, wxSIGKILL, wxKILL_CHILDREN); //wxPrintf(wxT("Deleting the m_debuggeeProcess %d\n"), m_debuggeeProcessID); *************** *** 216,220 **** m_port_number); ! m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC, m_debuggeeProcess); if (m_debuggeeProcessID < 1) --- 217,221 ---- m_port_number); ! m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC|wxEXEC_MAKE_GROUP_LEADER, m_debuggeeProcess); if (m_debuggeeProcessID < 1) *************** *** 362,365 **** --- 363,368 ---- //extern wxString wxLuaSocketCmdEventMsg(int val); + // This function shouldn't modify any internal variables without using a + // critical section since the wxLuaDebuggerCServer calls it from the thread. int wxLuaDebuggerBase::HandleDebuggeeEvent(int event_type) { *************** *** 852,856 **** debug_event = wxLUASOCKET_DEBUGGEE_EVENT_EXIT; - { // lock the critical section while we access it --- 855,858 ---- *************** *** 859,862 **** --- 861,865 ---- { m_fShutdown = true; + break; } } *************** *** 869,877 **** { m_fShutdown = true; } } } - wxCriticalSectionLocker locker(m_acceptSockCritSect); // delete the accepted socket --- 872,880 ---- { m_fShutdown = true; + break; } } } wxCriticalSectionLocker locker(m_acceptSockCritSect); // delete the accepted socket *************** *** 906,913 **** #else // !WXLUASOCKET_USE_C_SOCKET - #include "wxluasocket/include/dservice.h" - // --------------------------------------------------------------------------- ! // --------------------------------------------------------------------------- IMPLEMENT_ABSTRACT_CLASS(wxLuaDebuggerwxSocketServer, wxLuaDebuggerBase) --- 909,914 ---- #else // !WXLUASOCKET_USE_C_SOCKET // --------------------------------------------------------------------------- ! // wxLuaDebuggerwxSocketServer // --------------------------------------------------------------------------- IMPLEMENT_ABSTRACT_CLASS(wxLuaDebuggerwxSocketServer, wxLuaDebuggerBase) *************** *** 978,982 **** { wxString s; ! return s; --- 979,984 ---- { wxString s; ! if (m_acceptedSocket) ! s += m_acceptedSocket->GetErrorMsg(true); return s; *************** *** 998,1001 **** --- 1000,1004 ---- sock->SetFlags(wxSOCKET_NOWAIT); m_acceptedSocket = new wxLuawxSocket(sock); + m_acceptedSocket->m_port_number = m_port_number; // can't get it from wxSocketBase m_acceptedSocket->m_name = wxString::Format(wxT("wxLuaDebuggerwxSocketServer::m_acceptedSocket (%ld)"), (long)wxGetProcessId()); Index: wxlsock.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxlsock.cpp,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** wxlsock.cpp 19 May 2007 17:14:13 -0000 1.25 --- wxlsock.cpp 21 May 2007 01:08:00 -0000 1.26 *************** *** 308,312 **** wxString wxLuaSocketBase::GetErrorMsg(bool clear_msg) { ! wxString s = m_errorMsg; if (clear_msg) m_errorMsg.Clear(); --- 308,312 ---- wxString wxLuaSocketBase::GetErrorMsg(bool clear_msg) { ! wxString s(m_errorMsg); if (clear_msg) m_errorMsg.Clear(); *************** *** 319,323 **** wxString s(msg); // wxT(__TIME__) ! if (m_port_number > -1) s += wxString::Format(wxT(" Port %d."), m_port_number); --- 319,325 ---- wxString s(msg); // wxT(__TIME__) ! if (m_address.Length() != 0) ! s += wxString::Format(wxT(" Address '%s'."), m_address.c_str()); ! if (m_port_number > 0) s += wxString::Format(wxT(" Port %d."), m_port_number); *************** *** 345,348 **** --- 347,352 ---- :m_sock(socket), m_sockaddress(address), m_sockstate(SOCKET_ACCEPTED) { + m_address = lua2wx(inet_ntoa(m_sockaddress.sin_addr)); + m_port_number = ntohs(m_sockaddress.sin_port); } *************** *** 466,469 **** --- 470,476 ---- m_sockaddress.sin_port = htons(port_number); + m_address = lua2wx(inet_ntoa(m_sockaddress.sin_addr)); + m_port_number = ntohs(m_sockaddress.sin_port); + if (::connect(m_sock, (sockaddr *) &m_sockaddress, sizeof(m_sockaddress)) == SOCKET_ERROR) { *************** *** 476,501 **** } - wxString wxLuaCSocket::GetAddress() - { - if ((m_sockstate != SOCKET_CONNECTED) && (m_sockstate != SOCKET_ACCEPTED)) - { - AddErrorMessage(wxT("Unable to get the address of an unconnected or unaccepted socket.")); - return wxEmptyString; - } - - return lua2wx(inet_ntoa(m_sockaddress.sin_addr)); - } - - int wxLuaCSocket::GetPort() - { - if ((m_sockstate != SOCKET_CONNECTED) && (m_sockstate != SOCKET_ACCEPTED)) - { - AddErrorMessage(wxT("Unable to get the port of an unconnected or unaccepted socket.")); - return -1; - } - - return ntohs(m_sockaddress.sin_port); - } - // Write data to an open socket, repeat until all data has been sent. int wxLuaCSocket::Write(const char *buffer_, wxUint32 length_) --- 483,486 ---- *************** *** 729,733 **** { case wxSOCKET_NOERROR : s = wxT("No error happened."); break; ! case wxSOCKET_INVOP : s = wxT(" Invalid operation."); break; case wxSOCKET_IOERR : s = wxT("Input/Output error."); break; case wxSOCKET_INVADDR : s = wxT("Invalid address passed to wxSocket."); break; --- 714,718 ---- { case wxSOCKET_NOERROR : s = wxT("No error happened."); break; ! case wxSOCKET_INVOP : s = wxT("Invalid operation."); break; case wxSOCKET_IOERR : s = wxT("Input/Output error."); break; case wxSOCKET_INVADDR : s = wxT("Invalid address passed to wxSocket."); break; |
From: John L. <jr...@us...> - 2007-05-21 01:08:33
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv14147/wxLua/samples Modified Files: editor.wx.lua Log Message: Remove all code in dservice as it wasn't used Removed m_pDerivedList and put derived lua functions into the lua registry index A little more cleanup in the socket and editor.wx.lua code. Index: editor.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/editor.wx.lua,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** editor.wx.lua 19 May 2007 17:14:14 -0000 1.48 --- editor.wx.lua 21 May 2007 01:08:00 -0000 1.49 *************** *** 84,87 **** --- 84,88 ---- local ID_SHOWHIDEWINDOW = NewID() local ID_CLEAROUTPUT = NewID() + local ID_DEBUGGER_PORT = NewID() -- Help menu local ID_ABOUT = wx.wxID_ABOUT *************** *** 1647,1651 **** { }, { ID_SHOWHIDEWINDOW, "View &Output Window\tF8", "View or Hide the output window" }, ! { ID_CLEAROUTPUT, "C&lear output", "Clear the output window" } } menuBar:Append(debugMenu, "&Debug") --- 1648,1654 ---- { }, { ID_SHOWHIDEWINDOW, "View &Output Window\tF8", "View or Hide the output window" }, ! { ID_CLEAROUTPUT, "C&lear Output Window", "Clear the output window before compiling or debugging", wx.wxITEM_CHECK }, ! --{ }, { ID_DEBUGGER_PORT, "Set debugger socket port...", "Chose what port to use for debugger sockets." } ! } menuBar:Append(debugMenu, "&Debug") *************** *** 1720,1724 **** local filePath = MakeDebugFileName(editor, openDocuments[id].filePath) local ret, errMsg, line_num = wx.CompileLuaScript(editorText, filePath) ! --ClearOutput() maybe you want to view last error? if line_num > -1 then --- 1723,1729 ---- local filePath = MakeDebugFileName(editor, openDocuments[id].filePath) local ret, errMsg, line_num = wx.CompileLuaScript(editorText, filePath) ! if menuBar:IsChecked(ID_CLEAROUTPUT) then ! ClearOutput() ! end if line_num > -1 then *************** *** 1788,1792 **** local id = editor:GetId(); ! local console = iff( menuBar:IsChecked(ID_USECONSOLE), " -c ", "") local cmd = '"'..programName..'" '..console..openDocuments[id].filePath --- 1793,1797 ---- local id = editor:GetId(); ! local console = iff(menuBar:IsChecked(ID_USECONSOLE), " -c ", "") local cmd = '"'..programName..'" '..console..openDocuments[id].filePath *************** *** 1818,1822 **** DisplayOutput("Unable to create debugger server.\n") end ! debuggerPortNumber = debuggerPortNumber + 1 end) frame:Connect(ID_ATTACH_DEBUG, wx.wxEVT_UPDATE_UI, --- 1823,1827 ---- DisplayOutput("Unable to create debugger server.\n") end ! NextDebuggerPort() end) frame:Connect(ID_ATTACH_DEBUG, wx.wxEVT_UPDATE_UI, *************** *** 1826,1829 **** --- 1831,1843 ---- end) + function NextDebuggerPort() + -- limit the number if ports we use, for people who need to open + -- their firewall + debuggerPortNumber = debuggerPortNumber + 1 + if (debuggerPortNumber > 1559) then + debuggerPortNumber = 1551 + end + end + function CreateDebuggerServer() if (debuggerServer) then *************** *** 1832,1835 **** --- 1846,1850 ---- local ds = debuggerServer debuggerServer = nil + ds:Reset() ds:StopServer() ds:Delete() *************** *** 1839,1849 **** debuggerServer = wx.wxLuaDebuggerServer(debuggerPortNumber) - local ok = debuggerServer:StartServer() - if not ok then - DestroyDebuggerServer() - DisplayOutput("Error starting the debug server.\n") - return nil - end - debuggerServer:Connect(wx.wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, function (event) --- 1854,1857 ---- *************** *** 1859,1864 **** local nextLine = editor:MarkerNext(0, BREAKPOINT_MARKER_VALUE) ! while nextLine ~= -1 do ! debuggerServer:AddBreakPoint(fileName, nextLine) nextLine = editor:MarkerNext(nextLine + 1, BREAKPOINT_MARKER_VALUE) end --- 1867,1872 ---- local nextLine = editor:MarkerNext(0, BREAKPOINT_MARKER_VALUE) ! while ok and (nextLine ~= -1) do ! ok = debuggerServer:AddBreakPoint(fileName, nextLine) nextLine = editor:MarkerNext(nextLine + 1, BREAKPOINT_MARKER_VALUE) end *************** *** 1993,1996 **** --- 2001,2011 ---- end) + local ok = debuggerServer:StartServer() + if not ok then + DestroyDebuggerServer() + DisplayOutput("Error starting the debug server.\n") + return nil + end + return debuggerServer end *************** *** 2010,2025 **** debugger_destroy = debugger_destroy + 1 end ! if (debugger_destroy > 5) then debuggee_running = false debuggerServer_:StopServer() end ! if (debugger_destroy > 10) then debugger_destroy = 0; local ds = debuggerServer_ debuggerServer_ = nil - debuggee_running = false - ds:Delete() - if (debuggee_pid > 0) then if wx.wxProcess_Exists(debuggee_pid) then --- 2025,2045 ---- debugger_destroy = debugger_destroy + 1 end ! ! if (debugger_destroy == 5) then ! -- stop the server and let it end gracefully debuggee_running = false debuggerServer_:StopServer() end ! if (debugger_destroy == 10) then ! -- delete the server and let it die gracefully ! debuggee_running = false ! debuggerServer_:Delete() ! end ! if (debugger_destroy > 15) then ! -- finally, kill the debugee process if it still exists debugger_destroy = 0; local ds = debuggerServer_ debuggerServer_ = nil if (debuggee_pid > 0) then if wx.wxProcess_Exists(debuggee_pid) then *************** *** 2027,2030 **** --- 2047,2052 ---- if (ret ~= wx.wxKILL_OK) then DisplayOutput("Unable to kill debuggee process "..debuggee_pid..", code "..tostring(ret)..".\n") + else + DisplayOutput("Killed debuggee process "..debuggee_pid..".\n") end end *************** *** 2059,2063 **** end ! debuggerPortNumber = debuggerPortNumber + 1 end) frame:Connect(ID_START_DEBUG, wx.wxEVT_UPDATE_UI, --- 2081,2085 ---- end ! NextDebuggerPort() end) frame:Connect(ID_START_DEBUG, wx.wxEVT_UPDATE_UI, *************** *** 2193,2200 **** end ! frame:Connect(ID_CLEAROUTPUT, wx.wxEVT_COMMAND_MENU_SELECTED, ClearOutput) ! frame:Connect(ID_CLEAROUTPUT, wx.wxEVT_UPDATE_UI, function(event) ! event:Enable(errorLog and errorLog:IsShown()) end) --- 2215,2224 ---- end ! frame:Connect(ID_DEBUGGER_PORT, wx.wxEVT_COMMAND_MENU_SELECTED, function(event) ! end) ! frame:Connect(ID_DEBUGGER_PORT, wx.wxEVT_UPDATE_UI, ! function(event) ! event:Enable(debuggerServer == nil) end) |
From: John L. <jr...@us...> - 2007-05-21 01:08:33
|
Update of /cvsroot/wxlua/wxLua/apps/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv14147/wxLua/apps/wxlua/src Modified Files: editor.h Log Message: Remove all code in dservice as it wasn't used Removed m_pDerivedList and put derived lua functions into the lua registry index A little more cleanup in the socket and editor.wx.lua code. Index: editor.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxlua/src/editor.h,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** editor.h 19 May 2007 02:20:07 -0000 1.34 --- editor.h 21 May 2007 01:07:58 -0000 1.35 *************** *** 10,15 **** extern const unsigned char wxLuaEditor[]; ! const size_t wxLuaEditor_len = 89876; ! const unsigned char wxLuaEditor[89877] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 10, 45, 45, 32, 78, 97,109,101, 58, 32, 32, 32, 32, 32, 32, 32, 32, 69,100,105,116,111,114, 46,119,120, 46,108,117, 97, 10, --- 10,15 ---- extern const unsigned char wxLuaEditor[]; ! const size_t wxLuaEditor_len = 90786; ! const unsigned char wxLuaEditor[90787] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 10, 45, 45, 32, 78, 97,109,101, 58, 32, 32, 32, 32, 32, 32, 32, 32, 69,100,105,116,111,114, 46,119,120, 46,108,117, 97, 10, *************** *** 97,100 **** --- 97,101 ---- 108,111, 99, 97,108, 32, 73, 68, 95, 83, 72, 79, 87, 72, 73, 68, 69, 87, 73, 78, 68, 79, 87, 32, 32, 32, 61, 32, 78,101,119, 73, 68, 40, 41, 10, 108,111, 99, 97,108, 32, 73, 68, 95, 67, 76, 69, 65, 82, 79, 85, 84, 80, 85, 84, 32, 32, 32, 32, 32, 32, 61, 32, 78,101,119, 73, 68, 40, 41, 10, + 108,111, 99, 97,108, 32, 73, 68, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 80, 79, 82, 84, 32, 32, 32, 32, 61, 32, 78,101,119, 73, 68, 40, 41, 10, 45, 45, 32, 72,101,108,112, 32,109,101,110,117, 10, 108,111, 99, 97,108, 32, 73, 68, 95, 65, 66, 79, 85, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 61, 32,119,120, 46,119,120, 73, 68, 95, 65, 66, 79, 85, 84, 10, *************** *** 1660,1664 **** 32, 32, 32, 32, 32, 32, 32, 32,123, 32,125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,123, 32, 73, 68, 95, 83, 72, 79, 87, 72, 73, 68, 69, 87, 73, 78, 68, 79, 87, 44, 32, 32, 32, 34, 86,105,101,119, 32, 38, 79,117,116,112,117,116, 32, 87,105,110,100,111,119, 92,116, 70, 56, 34, 44, 32, 34, 86,105,101,119, 32,111,114, 32, 72,105,100,101, 32,116,104,101, 32,111,117,116,112,117,116, 32,119,105,110,100,111,119, 34, 32,125, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,123, 32, 73, 68, 95, 67, 76, 69, 65, 82, 79, 85, 84, 80, 85, 84, 44, 32, 32, 32, 32, 32, 32, 34, 67, 38,108,101, 97,114, 32,111,117,116,112,117,116, 34, 44, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 67,108,101, 97,114, 32,116,104,101, 32,111,117,116,112,117,116, 32,119,105,110,100,111,119, 34, 32,125, 32,125, 10, 109,101,110,117, 66, 97,114, 58, 65,112,112,101,110,100, 40,100,101, 98,117,103, 77,101,110,117, 44, 32, 34, 38, 68,101, 98,117,103, 34, 41, 10, 10, --- 1661,1667 ---- 32, 32, 32, 32, 32, 32, 32, 32,123, 32,125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,123, 32, 73, 68, 95, 83, 72, 79, 87, 72, 73, 68, 69, 87, 73, 78, 68, 79, 87, 44, 32, 32, 32, 34, 86,105,101,119, 32, 38, 79,117,116,112,117,116, 32, 87,105,110,100,111,119, 92,116, 70, 56, 34, 44, 32, 34, 86,105,101,119, 32,111,114, 32, 72,105,100,101, 32,116,104,101, 32,111,117,116,112,117,116, 32,119,105,110,100,111,119, 34, 32,125, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,123, 32, 73, 68, 95, 67, 76, 69, 65, 82, 79, 85, 84, 80, 85, 84, 44, 32, 32, 32, 32, 32, 32, 34, 67, 38,108,101, 97,114, 32, 79,117,116,112,117,116, 32, 87,105,110,100,111,119, 34, 44, 32, 32, 32, 32, 34, 67,108,101, 97,114, 32,116,104,101, 32,111,117,116,112,117,116, 32,119,105,110,100,111,119, 32, 98,101,102,111,114,101, 32, 99,111,109,112,105,108,105,110,103, 32,111,114, 32,100,101, 98,117,103,103,105,110,103, 34, 44, 32,119,120, 46,119,120, 73, 84, 69, 77, 95, 67, 72, 69, 67, 75, 32,125, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,123, 32,125, 44, 32,123, 32, 73, 68, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 80, 79, 82, 84, 44, 32, 32, 32, 32, 34, 83,101,116, 32,100,101, 98,117,103,103,101,114, 32,115,111, 99,107,101,116, 32,112,111,114,116, 46, 46, 46, 34, 44, 32, 34, 67,104,111,115,101, 32,119,104, 97,116, 32,112,111,114,116, 32,116,111, 32,117,115,101, 32,102,111,114, 32,100,101, 98,117,103,103,101,114, 32,115,111, 99,107,101,116,115, 46, 34, 32,125, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,125, 10, 109,101,110,117, 66, 97,114, 58, 65,112,112,101,110,100, 40,100,101, 98,117,103, 77,101,110,117, 44, 32, 34, 38, 68,101, 98,117,103, 34, 41, 10, 10, *************** *** 1733,1737 **** 32, 32, 32, 32,108,111, 99, 97,108, 32,102,105,108,101, 80, 97,116,104, 32, 32, 32, 61, 32, 77, 97,107,101, 68,101, 98,117,103, 70,105,108,101, 78, 97,109,101, 40,101,100,105,116,111,114, 44, 32,111,112,101,110, 68,111, 99,117,109,101,110,116,115, 91,105,100, 93, 46,102,105,108,101, 80, 97,116,104, 41, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,114,101,116, 44, 32,101,114,114, 77,115,103, 44, 32,108,105,110,101, 95,110,117,109, 32, 61, 32,119,120, 46, 67,111,109,112,105,108,101, 76,117, 97, 83, 99,114,105,112,116, 40,101,100,105,116,111,114, 84,101,120,116, 44, 32,102,105,108,101, 80, 97,116,104, 41, 10, ! 32, 32, 32, 32, 45, 45, 67,108,101, 97,114, 79,117,116,112,117,116, 40, 41, 32,109, 97,121, 98,101, 32,121,111,117, 32,119, 97,110,116, 32,116,111, 32,118,105,101,119, 32,108, 97,115,116, 32,101,114,114,111,114, 63, 10, 10, 32, 32, 32, 32,105,102, 32,108,105,110,101, 95,110,117,109, 32, 62, 32, 45, 49, 32,116,104,101,110, 10, --- 1736,1742 ---- 32, 32, 32, 32,108,111, 99, 97,108, 32,102,105,108,101, 80, 97,116,104, 32, 32, 32, 61, 32, 77, 97,107,101, 68,101, 98,117,103, 70,105,108,101, 78, 97,109,101, 40,101,100,105,116,111,114, 44, 32,111,112,101,110, 68,111, 99,117,109,101,110,116,115, 91,105,100, 93, 46,102,105,108,101, 80, 97,116,104, 41, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,114,101,116, 44, 32,101,114,114, 77,115,103, 44, 32,108,105,110,101, 95,110,117,109, 32, 61, 32,119,120, 46, 67,111,109,112,105,108,101, 76,117, 97, 83, 99,114,105,112,116, 40,101,100,105,116,111,114, 84,101,120,116, 44, 32,102,105,108,101, 80, 97,116,104, 41, 10, ! 32, 32, 32, 32,105,102, 32,109,101,110,117, 66, 97,114, 58, 73,115, 67,104,101, 99,107,101,100, 40, 73, 68, 95, 67, 76, 69, 65, 82, 79, 85, 84, 80, 85, 84, 41, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 79,117,116,112,117,116, 40, 41, 10, ! 32, 32, 32, 32,101,110,100, 10, 10, 32, 32, 32, 32,105,102, 32,108,105,110,101, 95,110,117,109, 32, 62, 32, 45, 49, 32,116,104,101,110, 10, *************** *** 1801,1805 **** 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,105,100, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 73,100, 40, 41, 59, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32, 99,111,110,115,111,108,101, 32, 61, 32,105,102,102, 40, 32, 32,109,101,110,117, 66, 97,114, 58, 73,115, 67,104,101, 99,107,101,100, 40, 73, 68, 95, 85, 83, 69, 67, 79, 78, 83, 79, 76, 69, 41, 44, 32, 34, 32, 45, 99, 32, 34, 44, 32, 34, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32, 99,109,100, 32, 61, 32, 39, 34, 39, 46, 46,112,114,111,103,114, 97,109, 78, 97,109,101, 46, 46, 39, 34, 32, 39, 46, 46, 99,111,110,115,111,108,101, 46, 46,111,112,101,110, 68,111, 99,117,109,101,110,116,115, 91,105,100, 93, 46,102,105,108,101, 80, 97,116,104, 10, 10, --- 1806,1810 ---- 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,105,100, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 73,100, 40, 41, 59, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32, 99,111,110,115,111,108,101, 32, 61, 32,105,102,102, 40,109,101,110,117, 66, 97,114, 58, 73,115, 67,104,101, 99,107,101,100, 40, 73, 68, 95, 85, 83, 69, 67, 79, 78, 83, 79, 76, 69, 41, 44, 32, 34, 32, 45, 99, 32, 34, 44, 32, 34, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32, 99,109,100, 32, 61, 32, 39, 34, 39, 46, 46,112,114,111,103,114, 97,109, 78, 97,109,101, 46, 46, 39, 34, 32, 39, 46, 46, 99,111,110,115,111,108,101, 46, 46,111,112,101,110, 68,111, 99,117,109,101,110,116,115, 91,105,100, 93, 46,102,105,108,101, 80, 97,116,104, 10, 10, *************** *** 1831,1835 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32, 99,114,101, 97,116,101, 32,100,101, 98,117,103,103,101,114, 32,115,101,114,118,101,114, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 61, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 43, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 65, 84, 84, 65, 67, 72, 95, 68, 69, 66, 85, 71, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 85, 80, 68, 65, 84, 69, 95, 85, 73, 44, 10, --- 1836,1840 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32, 99,114,101, 97,116,101, 32,100,101, 98,117,103,103,101,114, 32,115,101,114,118,101,114, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78,101,120,116, 68,101, 98,117,103,103,101,114, 80,111,114,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 65, 84, 84, 65, 67, 72, 95, 68, 69, 66, 85, 71, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 85, 80, 68, 65, 84, 69, 95, 85, 73, 44, 10, *************** *** 1839,1842 **** --- 1844,1856 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, + 102,117,110, 99,116,105,111,110, 32, 78,101,120,116, 68,101, 98,117,103,103,101,114, 80,111,114,116, 40, 41, 10, + 32, 32, 32, 32, 45, 45, 32,108,105,109,105,116, 32,116,104,101, 32,110,117,109, 98,101,114, 32,105,102, 32,112,111,114,116,115, 32,119,101, 32,117,115,101, 44, 32,102,111,114, 32,112,101,111,112,108,101, 32,119,104,111, 32,110,101,101,100, 32,116,111, 32,111,112,101,110, 10, + 32, 32, 32, 32, 45, 45, 32,116,104,101,105,114, 32,102,105,114,101,119, 97,108,108, 10, + 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 61, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 43, 32, 49, 10, + 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 62, 32, 49, 53, 53, 57, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 61, 32, 49, 53, 53, 49, 10, + 32, 32, 32, 32,101,110,100, 10, + 101,110,100, 10, + 10, 102,117,110, 99,116,105,111,110, 32, 67,114,101, 97,116,101, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 41, 32,116,104,101,110, 10, *************** *** 1845,1848 **** --- 1859,1863 ---- 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 82,101,115,101,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, *************** *** 1852,1862 **** 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 10, - 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 83,101,114,118,101,114, 40, 41, 10, - 32, 32, 32, 32,105,102, 32,110,111,116, 32,111,107, 32,116,104,101,110, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 69,114,114,111,114, 32,115,116, 97,114,116,105,110,103, 32,116,104,101, 32,100,101, 98,117,103, 32,115,101,114,118,101,114, 46, 92,110, 34, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,114,110, 32,110,105,108, 10, - 32, 32, 32, 32,101,110,100, 10, - 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, --- 1867,1870 ---- *************** *** 1872,1877 **** 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40, 48, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,104,105,108,101, 32,110,101,120,116, 76,105,110,101, 32,126, 61, 32, 45, 49, 32,100,111, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 65,100,100, 66,114,101, 97,107, 80,111,105,110,116, 40,102,105,108,101, 78, 97,109,101, 44, 32,110,101,120,116, 76,105,110,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40,110,101,120,116, 76,105,110,101, 32, 43, 32, 49, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, --- 1880,1885 ---- 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40, 48, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,104,105,108,101, 32,111,107, 32, 97,110,100, 32, 40,110,101,120,116, 76,105,110,101, 32,126, 61, 32, 45, 49, 41, 32,100,111, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 65,100,100, 66,114,101, 97,107, 80,111,105,110,116, 40,102,105,108,101, 78, 97,109,101, 44, 32,110,101,120,116, 76,105,110,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40,110,101,120,116, 76,105,110,101, 32, 43, 32, 49, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, *************** *** 1988,1992 **** 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 88, 73, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 92,110, 68,101, 98,117,103,103,101,114, 32, 67,108,105,101,110,116, 32,102,105,110,105,115,104,101,100, 46, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, 10, --- 1996,1999 ---- *************** *** 1994,2000 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 92,110, 68,101, 98,117,103,103,101,114, 32, 67,108,105,101,110,116, 32,102,105,110,105,115,104,101,100, 49, 46, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 92,110, 68,101, 98,117,103,103,101,114, 32, 67,108,105,101,110,116, 32,102,105,110,105,115,104,101,100, 50, 46, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,103,110,111,114,101,100, 70,105,108,101,115, 76,105,115,116, 32, 61, 32,123,125, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, --- 2001,2005 ---- *************** *** 2009,2012 **** --- 2014,2024 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, + 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 83,101,114,118,101,114, 40, 41, 10, + 32, 32, 32, 32,105,102, 32,110,111,116, 32,111,107, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 69,114,114,111,114, 32,115,116, 97,114,116,105,110,103, 32,116,104,101, 32,100,101, 98,117,103, 32,115,101,114,118,101,114, 46, 92,110, 34, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,114,110, 32,110,105,108, 10, + 32, 32, 32, 32,101,110,100, 10, + 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 10, 101,110,100, 10, *************** *** 2026,2036 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 43, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 62, 32, 52, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 32, 61, 32,110,105,108, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, --- 2038,2057 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 43, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 61, 32, 53, 41, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,115,116,111,112, 32,116,104,101, 32,115,101,114,118,101,114, 32, 97,110,100, 32,108,101,116, 32,105,116, 32,101,110,100, 32,103,114, 97, 99,101,102,117,108,108,121, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 61, 32, 49, 48, 41, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,100,101,108,101,116,101, 32,116,104,101, 32,115,101,114,118,101,114, 32, 97,110,100, 32,108,101,116, 32,105,116, 32,100,105,101, 32,103,114, 97, 99,101,102,117,108,108,121, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 58, 68,101,108,101,116,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 62, 32, 49, 53, 41, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,102,105,110, 97,108,108,121, 44, 32,107,105,108,108, 32,116,104,101, 32,100,101, 98,117,103,101,101, 32,112,114,111, 99,101,115,115, 32,105,102, 32,105,116, 32,115,116,105,108,108, 32,101,120,105,115,116,115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 32, 61, 32,110,105,108, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, *************** *** 2038,2042 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,114,101,116, 32, 61, 32,119,120, 46,119,120, 80,114,111, 99,101,115,115, 95, 75,105,108,108, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 44, 32,119,120, 46,119,120, 83, 73, 71, 75, 73, 76, 76, 44, 32,119,120, 46,119,120, 75, 73, 76, 76, 95, 67, 72, 73, 76, 68, 82, 69, 78, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,114,101,116, 32,126, 61, 32,119,120, 46,119,120, 75, 73, 76, 76, 95, 79, 75, 41, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,107,105,108,108, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 32, 34, 46, 46,100,101, 98,117,103,103,101,101, 95,112,105,100, 46, 46, 34, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, --- 2059,2065 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,114,101,116, 32, 61, 32,119,120, 46,119,120, 80,114,111, 99,101,115,115, 95, 75,105,108,108, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 44, 32,119,120, 46,119,120, 83, 73, 71, 75, 73, 76, 76, 44, 32,119,120, 46,119,120, 75, 73, 76, 76, 95, 67, 72, 73, 76, 68, 82, 69, 78, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,114,101,116, 32,126, 61, 32,119,120, 46,119,120, 75, 73, 76, 76, 95, 79, 75, 41, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,107,105,108,108, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 32, 34, 46, 46,100,101, 98,117,103,103,101,101, 95,112,105,100, 46, 46, 34, 44, 32, 99,111,100,101, 32, 34, 46, 46,116,111,115,116,114,105,110,103, 40,114,101,116, 41, 46, 46, 34, 46, 92,110, 34, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 75,105,108,108,101,100, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 32, 34, 46, 46,100,101, 98,117,103,103,101,101, 95,112,105,100, 46, 46, 34, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, *************** *** 2047,2051 **** 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, - 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 83, 84, 65, 82, 84, 95, 68, 69, 66, 85, 71, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 67, 79, 77, 77, 65, 78, 68, 95, 77, 69, 78, 85, 95, 83, 69, 76, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, --- 2070,2073 ---- *************** *** 2064,2068 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 97,110,100, 32, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,116,114,117,101, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 87, 97,105,116,105,110,103, 32,102,111,114, 32, 99,108,105,101,110,116, 32, 99,111,110,110,101, 99,116,105,111,110, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,115,116, 97,114,116, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 46, 92,110, 34, 41, 10, --- 2086,2090 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 97,110,100, 32, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,116,114,117,101, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 87, 97,105,116,105,110,103, 32,102,111,114, 32, 99,108,105,101,110,116, 32, 99,111,110,110,101, 99,116,105,111,110, 44, 32,112,114,111, 99,101,115,115, 32, 34, 46, 46,116,111,115,116,114,105,110,103, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 41, 46, 46, 34, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,115,116, 97,114,116, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 46, 92,110, 34, 41, 10, *************** *** 2072,2076 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 61, 32,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 43, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 83, 84, 65, 82, 84, 95, 68, 69, 66, 85, 71, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 85, 80, 68, 65, 84, 69, 95, 85, 73, 44, 10, --- 2094,2098 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78,101,120,116, 68,101, 98,117,103,103,101,114, 80,111,114,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 83, 84, 65, 82, 84, 95, 68, 69, 66, 85, 71, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 85, 80, 68, 65, 84, 69, 95, 85, 73, 44, 10, *************** *** 2085,2089 **** 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, --- 2107,2112 ---- 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 82,101,115,101,116, 40, 41, 59, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, *************** *** 2205,2212 **** 101,110,100, 10, 10, ! 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 67, 76, 69, 65, 82, 79, 85, 84, 80, 85, 84, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 67, 79, 77, 77, 65, 78, 68, 95, 77, 69, 78, 85, 95, 83, 69, 76, 69, 67, 84, 69, 68, 44, 32, 67,108,101, 97,114, 79,117,116,112,117,116, 41, 10, ! 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 67, 76, 69, 65, 82, 79, 85, 84, 80, 85, 84, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 85, 80, 68, 65, 84, 69, 95, 85, 73, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 40,101,118,101,110,116, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,118,101,110,116, 58, 69,110, 97, 98,108,101, 40,101,114,114,111,114, 76,111,103, 32, 97,110,100, 32,101,114,114,111,114, 76,111,103, 58, 73,115, 83,104,111,119,110, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, --- 2228,2237 ---- 101,110,100, 10, 10, ! 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 80, 79, 82, 84, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 67, 79, 77, 77, 65, 78, 68, 95, 77, 69, 78, 85, 95, 83, 69, 76, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 40,101,118,101,110,116, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, ! 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 80, 79, 82, 84, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 85, 80, 68, 65, 84, 69, 95, 85, 73, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 40,101,118,101,110,116, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,118,101,110,116, 58, 69,110, 97, 98,108,101, 40,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 61, 32,110,105,108, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, |
From: John L. <jr...@us...> - 2007-05-21 01:08:33
|
Update of /cvsroot/wxlua/wxLua/modules/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv14147/wxLua/modules/wxlua/src Modified Files: wxlbind.cpp wxlstate.cpp Log Message: Remove all code in dservice as it wasn't used Removed m_pDerivedList and put derived lua functions into the lua registry index A little more cleanup in the socket and editor.wx.lua code. Index: wxlstate.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlstate.cpp,v retrieving revision 1.96 retrieving revision 1.97 diff -C2 -d -r1.96 -r1.97 *** wxlstate.cpp 4 May 2007 19:04:41 -0000 1.96 --- wxlstate.cpp 21 May 2007 01:07:59 -0000 1.97 *************** *** 99,103 **** lua_pop(L, 1); /* pop result */ ! // if we know the type, add it if (lua_isuserdata(L, i) && wxlState.Ok()) { --- 99,103 ---- lua_pop(L, 1); /* pop result */ ! // if we know the type, add it if (lua_isuserdata(L, i) && wxlState.Ok()) { *************** *** 945,955 **** wxLongToLongHashMap::iterator it; - for (it = m_pDerivedList.begin(); it != m_pDerivedList.end(); ++it) - { - wxLuaStringToLongHashMap* obj = (wxLuaStringToLongHashMap*)it->second; - delete obj; - } - m_pDerivedList.clear(); - for (it = m_trackedObjects.begin(); it != m_trackedObjects.end(); ++it) { --- 945,948 ---- *************** *** 1187,1190 **** --- 1180,1189 ---- lua_rawset( L, LUA_REGISTRYINDEX ); + // Create a table for overridden functions for C++ objects + lua_pushstring( L, "__wxLuaDerivedFunctions" ); + lua_newtable(L); + // set the value + lua_rawset( L, LUA_REGISTRYINDEX ); + // create references table in registry wxlua_pushstring_wxLuaReferences(L); *************** *** 1230,1233 **** --- 1229,1238 ---- lua_rawset( L, LUA_REGISTRYINDEX ); + // Create a table for overridden functions for C++ objects + lua_pushstring( L, "__wxLuaDerivedFunctions" ); + lua_newtable(L); + // set the value + lua_rawset( L, LUA_REGISTRYINDEX ); + // create references table in registry wxlua_pushstring_wxLuaReferences(L); *************** *** 2439,2468 **** } ! bool wxLuaState::HasDerivedMethod(void *pObject, const char *method) const { wxCHECK_MSG(Ok(), false, wxT("Invalid wxLuaState")); ! wxLongToLongHashMap::iterator it = GetLuaStateData()->m_pDerivedList.find((long) pObject); ! if (it != GetLuaStateData()->m_pDerivedList.end()) { ! wxLuaStringToLongHashMap *pHashTable = (wxLuaStringToLongHashMap *)it->second; ! if (pHashTable != NULL) ! { ! wxLuaStringToLongHashMap::iterator its = pHashTable->find(lua2wx(method)); ! if (its != pHashTable->end()) ! { ! wxLuaObject *pLuaObject = (wxLuaObject *)its->second; ! if ((pLuaObject != NULL) && pLuaObject->GetObject()) ! { ! wxCHECK_MSG(pLuaObject->GetwxLuaState() == *this, false, wxT("wxLuaState for HasDerivedMethod out of sync")); ! return true; ! } ! } ! } } ! return false; } --- 2444,2483 ---- } ! bool wxLuaState::HasDerivedMethod(void *pObject, const char *method_name, bool push_method) const { wxCHECK_MSG(Ok(), false, wxT("Invalid wxLuaState")); ! wxLuaObject* wxlObj = NULL; ! lua_State* L = M_WXLSTATEDATA->m_lua_State; ! bool found = false; ! ! lua_pushstring( L, "__wxLuaDerivedFunctions" ); ! lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table ! ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); // pop key, push table or nil ! if (lua_istable(L, -1)) { ! // see if there is a method with the same name ! lua_pushstring( L, method_name ); ! lua_rawget(L, -2); ! if (lua_islightuserdata(L, -1)) ! wxlObj = (wxLuaObject*)lua_touserdata( L, -1 ); ! lua_pop(L, 1); // pop the method object or nil } ! lua_pop(L, 2); // pop registry table and object table or nil ! ! if (wxlObj) ! { ! if (push_method && wxlObj->GetObject()) ! found = true; ! else if (!push_method) ! found = true; ! } ! ! return found; } *************** *** 2476,2480 **** { wxLuaState wxlState((wxLuaStateRefData*)it->second, ((wxLuaStateRefData*)it->second)->m_lua_State); ! if (wxlState.HasDerivedMethod(pObject, method)) return wxlState; } --- 2491,2495 ---- { wxLuaState wxlState((wxLuaStateRefData*)it->second, ((wxLuaStateRefData*)it->second)->m_lua_State); ! if (wxlState.HasDerivedMethod(pObject, method, false)) return wxlState; } Index: wxlbind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlbind.cpp,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** wxlbind.cpp 23 Mar 2007 04:27:23 -0000 1.59 --- wxlbind.cpp 21 May 2007 01:07:59 -0000 1.60 *************** *** 266,284 **** wxlState.RemoveTrackedObject((void*)key, true); // delete from m_pTrackedList ! wxLongToLongHashMap& pDerivedList = wxlState.GetLuaStateData()->m_pDerivedList; ! wxLongToLongHashMap::iterator it = pDerivedList.find(key); ! if (it != pDerivedList.end()) { ! //wxPrintf(wxT("wxlua_garbageCollect - Derived GC '%s'\n"), lua2wx(pClass->name).c_str()); ! wxLuaStringToLongHashMap *pHashTable = (wxLuaStringToLongHashMap *)it->second; ! delete pHashTable; ! it->second = 0; ! pDerivedList.erase(it); } ! //else wxPrintf(wxT("wxlua_garbageCollect - Invalid WXLUACLASS derived hashmap iterator key %d!\n"), key); } - //else wxPrintf(wxT("wxlua_garbageCollect - NULL WXLUACLASS!\n")); //wxPrintf(wxT("wxlua_garbageCollect - '%s' tag %d lua %d key %ld tracked %d return value %d\n"), --- 266,302 ---- wxlState.RemoveTrackedObject((void*)key, true); // delete from m_pTrackedList ! lua_pushstring( L, "__wxLuaDerivedFunctions" ); ! lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table ! ! lua_pushlightuserdata(L, (void *)key); ! lua_rawget(L, -2); // pop key, push table or nil ! if (lua_istable(L, -1)) { ! int t = lua_gettop(L); ! lua_pushnil(L); /* first key */ ! while (lua_next(L, t) != 0) ! { ! // uses 'key' (at index -2) and 'value' (at index -1) ! //wxPrintf(wxT("%s - %s\n"), lua2wx(lua_tostring(L, -2)).c_str(), lua2wx(lua_typename(L, lua_type(L, -1))).c_str()); ! if (lua_islightuserdata(L, -1)) ! { ! wxLuaObject* o = (wxLuaObject*)lua_touserdata(L, -1); ! delete o; ! } ! // removes 'value'; keeps 'key' for next iteration ! lua_pop(L, 1); ! } ! ! lua_pop(L, 1); // pop the obj table ! lua_pushlightuserdata(L, (void *)key); ! lua_pushnil(L); ! lua_rawset(L, -3); // nil the obj table ! lua_pop(L, 1); // pop reg table } ! else ! lua_pop(L, 2); // pop the reg table and nil for the obj table } //wxPrintf(wxT("wxlua_garbageCollect - '%s' tag %d lua %d key %ld tracked %d return value %d\n"), *************** *** 338,342 **** else { ! if (wxlState.HasDerivedMethod(pObject, cpIndex)) { fFound = true; --- 356,361 ---- else { ! // if there's a derived method, push it onto the stack to be run ! if (wxlState.HasDerivedMethod(pObject, cpIndex, true)) { fFound = true; *************** *** 412,444 **** { void *pObject = wxlState.ttouserdata(1); ! bool fCreated = false; ! wxLuaStringToLongHashMap *pHashTable = NULL; ! wxLongToLongHashMap::iterator it = wxlState.GetLuaStateData()->m_pDerivedList.find((long) pObject); ! if (it != wxlState.GetLuaStateData()->m_pDerivedList.end()) ! { ! pHashTable = (wxLuaStringToLongHashMap *)it->second; ! } ! if (pHashTable == NULL) { ! pHashTable = new wxLuaStringToLongHashMap; ! wxlState.GetLuaStateData()->m_pDerivedList[(long) pObject] = (long)pHashTable; ! fCreated = true; } ! wxString index(lua2wx(cpIndex)); ! if (!fCreated) { ! wxLuaStringToLongHashMap::iterator it = pHashTable->find(index); ! if (it != pHashTable->end()) ! { ! wxLuaObject *pObject = (wxLuaObject *)it->second; ! if (pObject != NULL) ! delete pObject; ! } } ! (*pHashTable)[index] = (long)new wxLuaObject(wxlState, 3); } } --- 431,473 ---- { void *pObject = wxlState.ttouserdata(1); ! wxLuaObject* wxlObj = new wxLuaObject(wxlState, 3); ! lua_pushstring( L, "__wxLuaDerivedFunctions" ); ! lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); // pop key, push table or nil ! if (!lua_istable(L, -1)) { ! lua_pop(L, 1); // pop nil value ! ! // add new table for this object ! lua_pushlightuserdata(L, (void *)pObject); ! lua_newtable(L); ! lua_rawset(L, -3); ! ! // put the new table back on the top of the stack ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); } ! // see if there already is a method ! lua_pushstring( L, cpIndex ); ! lua_rawget(L, -2); ! ! if (lua_islightuserdata(L, -1)) { ! // already have a method, delete it before replacing it ! wxLuaObject* o = (wxLuaObject*)lua_touserdata( L, -1 ); ! delete o; } ! lua_pop(L, 1); // pop the deleted old object, or nil ! ! lua_pushstring( L, cpIndex ); ! lua_pushlightuserdata(L, (void*)wxlObj); ! lua_rawset(L, -3); ! ! lua_pop(L, 2); // pop the object and overridden function table } } |
From: John L. <jr...@us...> - 2007-05-19 17:14:17
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1533/wxLua/samples Modified Files: editor.wx.lua Log Message: Fix server to work in MSW for the wxLua IDE Index: editor.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/editor.wx.lua,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** editor.wx.lua 19 May 2007 02:05:47 -0000 1.47 --- editor.wx.lua 19 May 2007 17:14:14 -0000 1.48 *************** *** 1975,1979 **** debuggerServer:Connect(wx.wxEVT_WXLUA_DEBUGGER_EXIT, function (event) - DisplayOutput("\nDebugger Client finished.\n\n") ClearAllCurrentLineMarkers() --- 1975,1978 ---- *************** *** 1981,1987 **** DestroyDebuggerServer() end - DisplayOutput("\nDebugger Client finished1.\n\n") SetAllEditorsReadOnly(false) - DisplayOutput("\nDebugger Client finished2.\n\n") ignoredFilesList = {} end) --- 1980,1984 ---- *************** *** 2013,2023 **** debugger_destroy = debugger_destroy + 1 end ! if (debugger_destroy > 4) then debugger_destroy = 0; local ds = debuggerServer_ debuggerServer_ = nil ! ds:StopServer() ! ds:Delete() debuggee_running = false if (debuggee_pid > 0) then --- 2010,2024 ---- debugger_destroy = debugger_destroy + 1 end ! if (debugger_destroy > 5) then ! debuggee_running = false ! debuggerServer_:StopServer() ! end ! if (debugger_destroy > 10) then debugger_destroy = 0; local ds = debuggerServer_ debuggerServer_ = nil ! debuggee_running = false + ds:Delete() if (debuggee_pid > 0) then *************** *** 2025,2029 **** local ret = wx.wxProcess_Kill(debuggee_pid, wx.wxSIGKILL, wx.wxKILL_CHILDREN) if (ret ~= wx.wxKILL_OK) then ! DisplayOutput("Unable to kill debuggee process "..debuggee_pid..".\n") end end --- 2026,2030 ---- local ret = wx.wxProcess_Kill(debuggee_pid, wx.wxSIGKILL, wx.wxKILL_CHILDREN) if (ret ~= wx.wxKILL_OK) then ! DisplayOutput("Unable to kill debuggee process "..debuggee_pid..", code "..tostring(ret)..".\n") end end *************** *** 2034,2038 **** end) - frame:Connect(ID_START_DEBUG, wx.wxEVT_COMMAND_MENU_SELECTED, function (event) --- 2035,2038 ---- *************** *** 2051,2055 **** if debuggerServer and (debuggee_pid > 0) then SetAllEditorsReadOnly(true) ! DisplayOutput("Waiting for client connection.\n") else DisplayOutput("Unable to start debuggee process.\n") --- 2051,2055 ---- if debuggerServer and (debuggee_pid > 0) then SetAllEditorsReadOnly(true) ! DisplayOutput("Waiting for client connection, process "..tostring(debuggee_pid)..".\n") else DisplayOutput("Unable to start debuggee process.\n") *************** *** 2072,2076 **** if debuggerServer then ! DestroyDebuggerServer() end SetAllEditorsReadOnly(false) --- 2072,2077 ---- if debuggerServer then ! debuggerServer:Reset(); ! --DestroyDebuggerServer() end SetAllEditorsReadOnly(false) |
From: John L. <jr...@us...> - 2007-05-19 17:14:17
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1533/wxLua/modules/wxluasocket/src Modified Files: wxldserv.cpp wxldtarg.cpp wxlsock.cpp Log Message: Fix server to work in MSW for the wxLua IDE Index: wxldtarg.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldtarg.cpp,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** wxldtarg.cpp 19 May 2007 02:05:47 -0000 1.34 --- wxldtarg.cpp 19 May 2007 17:14:13 -0000 1.35 *************** *** 34,38 **** { m_pTarget->ThreadFunction(); ! m_pTarget->m_pThread = NULL; return 0; } --- 34,38 ---- { m_pTarget->ThreadFunction(); ! //m_pTarget->m_pThread = NULL; return 0; } Index: wxldserv.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldserv.cpp,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** wxldserv.cpp 19 May 2007 02:05:47 -0000 1.37 --- wxldserv.cpp 19 May 2007 17:14:13 -0000 1.38 *************** *** 216,220 **** m_port_number); ! m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC|wxEXEC_MAKE_GROUP_LEADER, m_debuggeeProcess); if (m_debuggeeProcessID < 1) --- 216,220 ---- m_port_number); ! m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC, m_debuggeeProcess); if (m_debuggeeProcessID < 1) *************** *** 360,367 **** --- 360,373 ---- } + //extern wxString wxLuaSocketCmdEventMsg(int val); + int wxLuaDebuggerBase::HandleDebuggeeEvent(int event_type) { wxCHECK_MSG(GetSocketBase(), event_type, wxT("Invalid socket")); + //wxLuaDebuggerEvent d(wxEVT_WXLUA_DEBUGGER_PRINT, this); + //d.SetMessage(wxT("wxLuaDebugger : ") + wxLuaSocketCmdEventMsg(event_type)); + //SendEvent(d); + switch (event_type) { *************** *** 756,766 **** m_fShutdown = true; ! // close the session socket ! if (m_acceptedSocket != NULL) { ! if (!m_acceptedSocket->Shutdown(SD_BOTH)) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(m_acceptedSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); } --- 762,776 ---- m_fShutdown = true; ! // close the session socket, but first NULL it so we won't try to use it ! m_acceptSockCritSect.Enter(); ! wxLuaSocket *acceptedSocket = m_acceptedSocket; ! m_acceptedSocket = NULL; ! m_acceptSockCritSect.Leave(); ! if (acceptedSocket != NULL) { ! if (!acceptedSocket->Shutdown(SD_BOTH)) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(acceptedSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); } *************** *** 768,773 **** wxMilliSleep(100); - wxLuaSocket *acceptedSocket = m_acceptedSocket; - m_acceptedSocket = NULL; delete acceptedSocket; } --- 778,781 ---- *************** *** 777,780 **** --- 785,791 ---- if (m_serverSocket != NULL) { + wxLuaSocket *serverSocket = m_serverSocket; + m_serverSocket = NULL; + // close the server socket by connecting to the socket, thus // completing the 'accept'. If a client has not connected, this *************** *** 789,793 **** { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(m_acceptedSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); } --- 800,804 ---- { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(serverSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); } *************** *** 795,805 **** wxMilliSleep(100); - wxLuaSocket *serverSocket = m_serverSocket; - m_serverSocket = NULL; delete serverSocket; } // One of the above two operations terminates the thread. Wait for it to stop. ! if ((m_pThread != NULL))// && m_pThread->IsRunning()) m_pThread->Wait(); --- 806,814 ---- wxMilliSleep(100); delete serverSocket; } // One of the above two operations terminates the thread. Wait for it to stop. ! if ((m_pThread != NULL) && m_pThread->IsRunning()) m_pThread->Wait(); *************** *** 830,834 **** delete serverSocket; ! wxMilliSleep(500); // why ?? // Notify that a client has connected and we are ready to debug --- 839,843 ---- delete serverSocket; ! wxThread::Sleep(500); // why ?? // Notify that a client has connected and we are ready to debug *************** *** 841,855 **** while (!m_pThread->TestDestroy() && !m_fShutdown && m_acceptedSocket) { ! debug_event = 0; ! if (m_acceptedSocket->ReadCmd(debug_event) && ! ((debug_event == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) || ! (HandleDebuggeeEvent(debug_event) != -1))) { // don't send exit event until we've closed the socket if (debug_event == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) m_fShutdown = true; } } // delete the accepted socket if (m_acceptedSocket != NULL) --- 850,878 ---- while (!m_pThread->TestDestroy() && !m_fShutdown && m_acceptedSocket) { ! debug_event = wxLUASOCKET_DEBUGGEE_EVENT_EXIT; ! ! ! { ! // lock the critical section while we access it ! wxCriticalSectionLocker locker(m_acceptSockCritSect); ! if ((m_acceptedSocket == NULL) || !m_acceptedSocket->ReadCmd(debug_event)) ! { ! m_fShutdown = true; ! } ! } ! ! if((debug_event == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) || ! (HandleDebuggeeEvent(debug_event) != -1)) { // don't send exit event until we've closed the socket if (debug_event == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) + { m_fShutdown = true; + } } } + + wxCriticalSectionLocker locker(m_acceptSockCritSect); // delete the accepted socket if (m_acceptedSocket != NULL) *************** *** 869,873 **** } - wxString wxLuaDebuggerCServer::GetSocketErrorMsg() { --- 892,895 ---- Index: wxlsock.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxlsock.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** wxlsock.cpp 19 May 2007 02:05:47 -0000 1.24 --- wxlsock.cpp 19 May 2007 17:14:13 -0000 1.25 *************** *** 31,38 **** // cmd/event and the socket read/write //#define DEBUG_WXLUASOCKET - #ifdef DEBUG_WXLUASOCKET ! static char* s_wxlsocket_event[] = { "wxLUASOCKET_DEBUGGEE_EVENT_NONE", "wxLUASOCKET_DEBUGGEE_EVENT_BREAK", --- 31,37 ---- // cmd/event and the socket read/write //#define DEBUG_WXLUASOCKET #ifdef DEBUG_WXLUASOCKET ! char* s_wxlsocket_event[] = { "wxLUASOCKET_DEBUGGEE_EVENT_NONE", "wxLUASOCKET_DEBUGGEE_EVENT_BREAK", *************** *** 48,52 **** }; ! static char* s_wxlsocket_cmd[] = { "wxLUASOCKET_DEBUGGER_CMD_NONE", "wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT", --- 47,51 ---- }; ! char* s_wxlsocket_cmd[] = { "wxLUASOCKET_DEBUGGER_CMD_NONE", "wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT", *************** *** 82,85 **** --- 81,85 ---- } + void wxLuaSocketDebugMsg(const wxString& title, const wxString& msg) { |
From: John L. <jr...@us...> - 2007-05-19 17:14:16
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1533/wxLua/modules/wxluasocket/include Modified Files: wxldserv.h Log Message: Fix server to work in MSW for the wxLua IDE Index: wxldserv.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/include/wxldserv.h,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** wxldserv.h 19 May 2007 02:05:47 -0000 1.30 --- wxldserv.h 19 May 2007 17:14:13 -0000 1.31 *************** *** 246,250 **** static wxString GetNetworkName() { return sm_networkName; } ! protected: int m_port_number; // the socket port to listen to wxLuaStackDialog *m_stackDialog; // the stack dialog to --- 246,251 ---- static wxString GetNetworkName() { return sm_networkName; } ! // implementation ! int m_port_number; // the socket port to listen to wxLuaStackDialog *m_stackDialog; // the stack dialog to *************** *** 252,255 **** --- 253,259 ---- long m_debuggeeProcessID; // id of the debuggee wxProcess + wxCriticalSection m_acceptSockCritSect; // for deleting accepted socket + wxCriticalSection m_processCritSect; // for deleting the client process + static wxString sm_programName; // name of the program to run for debuggee static wxString sm_networkName; // name of the network to use for the debuggee *************** *** 281,285 **** LuaThread(wxLuaDebuggerCServer *pServer) : wxThread(wxTHREAD_JOINABLE), m_pServer(pServer) {} ! protected: virtual void *Entry(); // thread execution starts here virtual void OnExit(); // called when the thread exits --- 285,289 ---- LuaThread(wxLuaDebuggerCServer *pServer) : wxThread(wxTHREAD_JOINABLE), m_pServer(pServer) {} ! virtual void *Entry(); // thread execution starts here virtual void OnExit(); // called when the thread exits *************** *** 311,315 **** void ThreadFunction(); - protected: bool WaitForConnect(int timeOut); --- 315,318 ---- |
From: John L. <jr...@us...> - 2007-05-19 02:20:14
|
Update of /cvsroot/wxlua/wxLua/apps/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv19273/wxLua/apps/wxlua/src Modified Files: editor.h Log Message: Update editor to new sample version, delete debugger in EVT_IDLE Index: editor.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxlua/src/editor.h,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** editor.h 9 May 2007 01:40:21 -0000 1.33 --- editor.h 19 May 2007 02:20:07 -0000 1.34 *************** *** 10,15 **** extern const unsigned char wxLuaEditor[]; ! const size_t wxLuaEditor_len = 88592; ! const unsigned char wxLuaEditor[88593] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 10, 45, 45, 32, 78, 97,109,101, 58, 32, 32, 32, 32, 32, 32, 32, 32, 69,100,105,116,111,114, 46,119,120, 46,108,117, 97, 10, --- 10,15 ---- extern const unsigned char wxLuaEditor[]; ! const size_t wxLuaEditor_len = 89876; ! const unsigned char wxLuaEditor[89877] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 10, 45, 45, 32, 78, 97,109,101, 58, 32, 32, 32, 32, 32, 32, 32, 32, 69,100,105,116,111,114, 46,119,120, 46,108,117, 97, 10, *************** *** 123,128 **** 10, 100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 32, 32, 32, 32, 61, 32,110,105,108, 32, 32, 32, 32, 45, 45, 32,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,111, 98,106,101, 99,116, 32,119,104,101,110, 32,100,101, 98,117,103,103,105,110,103, 44, 32,101,108,115,101, 32,110,105,108, 10, 100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 32, 32, 61, 32,102, 97,108,115,101, 32, 32, 45, 45, 32,116,114,117,101, 32,119,104,101,110, 32,116,104,101, 32,100,101, 98,117,103,103,101,101, 32,105,115, 32,114,117,110,110,105,110,103, 10, ! 100,101, 98,117,103,103,101,114, 95, 99,111,110,110,101, 99,116,101,100, 32, 61, 32,102, 97,108,115,101, 32, 32, 45, 45, 32,116,114,117,101, 32,119,104,101,110, 32, 97, 32, 99,108,105,101,110,116, 32,104, 97,115, 32, 99,111,110,110,101, 99,116,101,100, 10, 100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 61, 32, 49, 53, 53, 49, 32, 32, 32, 45, 45, 32,116,104,101, 32,112,111,114,116, 32, 35, 32,116,111, 32,117,115,101, 32,102,111,114, 32,100,101, 98,117,103,103,105,110,103, 10, 10, --- 123,130 ---- 10, 100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 32, 32, 32, 32, 61, 32,110,105,108, 32, 32, 32, 32, 45, 45, 32,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,111, 98,106,101, 99,116, 32,119,104,101,110, 32,100,101, 98,117,103,103,105,110,103, 44, 32,101,108,115,101, 32,110,105,108, 10, + 100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 32, 32, 32, 32, 61, 32,110,105,108, 32, 32, 32, 32, 45, 45, 32,116,101,109,112, 32,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,111, 98,106,101, 99,116, 32,102,111,114, 32,100,101,108,101,116,105,111,110, 10, 100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 32, 32, 61, 32,102, 97,108,115,101, 32, 32, 45, 45, 32,116,114,117,101, 32,119,104,101,110, 32,116,104,101, 32,100,101, 98,117,103,103,101,101, 32,105,115, 32,114,117,110,110,105,110,103, 10, ! 100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 32, 32, 61, 32, 48, 32, 32, 32, 32, 32, 32, 45, 45, 32, 62, 32, 48, 32,105,102, 32,116,104,101, 32,100,101, 98,117,103,103,101,114, 32,105,115, 32,116,111, 32, 98,101, 32,100,101,115,116,114,111,121,101,100, 32,105,110, 32,119,120, 69, 86, 84, 95, 73, 68, 76, 69, 10, ! 100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 32, 32, 32, 32, 32, 32, 61, 32, 48, 32, 32, 32, 32, 32, 32, 45, 45, 32,112,105,100, 32,111,102, 32,116,104,101, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 10, 100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 32, 61, 32, 49, 53, 53, 49, 32, 32, 32, 45, 45, 32,116,104,101, 32,112,111,114,116, 32, 35, 32,116,111, 32,117,115,101, 32,102,111,114, 32,100,101, 98,117,103,103,105,110,103, 10, 10, *************** *** 1838,1859 **** 10, 102,117,110, 99,116,105,111,110, 32, 67,114,101, 97,116,101, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32,105,102, 32,110,111,116, 32,111,107, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 68,101,108,101,116,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 69,114,114,111,114, 32,115,116, 97,114,116,105,110,103, 32,116,104,101, 32,100,101, 98,117,103, 32,115,101,114,118,101,114, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,114,110, 32,110,105,108, 10, 32, 32, 32, 32,101,110,100, 10, 10, - 32, 32, 32, 32,108,111, 99, 97,108, 32,102,117,110, 99,116,105,111,110, 32, 68,111,119,110,108,111, 97,100, 66,114,101, 97,107,112,111,105,110,116,115, 40,101,100,105,116,111,114, 44, 32,102,105,108,101, 78, 97,109,101, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40, 48, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32,119,104,105,108,101, 32,110,101,120,116, 76,105,110,101, 32,126, 61, 32, 45, 49, 32,100,111, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 65,100,100, 66,114,101, 97,107, 80,111,105,110,116, 40,102,105,108,101, 78, 97,109,101, 44, 32,110,101,120,116, 76,105,110,101, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40,110,101,120,116, 76,105,110,101, 32, 43, 32, 49, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, - 32, 32, 32, 32,101,110,100, 10, - 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, --- 1840,1862 ---- 10, 102,117,110, 99,116,105,111,110, 32, 67,114,101, 97,116,101, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, + 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,119,101, 32,106,117,115,116, 32,100,101,108,101,116,101, 32,105,116, 32,104,101,114,101, 44, 32, 98,117,116, 32,116,104,105,115, 32,115,104,111,117,108,100,110, 39,116, 32,104, 97,112,112,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32, 48, 10, + 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, + 32, 32, 32, 32,101,110,100, 10, + 10, + 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32,105,102, 32,110,111,116, 32,111,107, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 69,114,114,111,114, 32,115,116, 97,114,116,105,110,103, 32,116,104,101, 32,100,101, 98,117,103, 32,115,101,114,118,101,114, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,114,110, 32,110,105,108, 10, 32, 32, 32, 32,101,110,100, 10, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, *************** *** 1867,1871 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,105,108,101, 80, 97,116,104, 32, 32, 32, 61, 32, 77, 97,107,101, 68,101, 98,117,103, 70,105,108,101, 78, 97,109,101, 40,101,100,105,116,111,114, 44, 32,100,111, 99,117,109,101,110,116, 46,102,105,108,101, 80, 97,116,104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 82,117,110, 40,102,105,108,101, 80, 97,116,104, 44, 32,101,100,105,116,111,114, 84,101,120,116, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,111,119,110,108,111, 97,100, 66,114,101, 97,107,112,111,105,110,116,115, 40,101,100,105,116,111,114, 44, 32,102,105,108,101, 80, 97,116,104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,101,110,100, 10, 10, --- 1870,1879 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,105,108,101, 80, 97,116,104, 32, 32, 32, 61, 32, 77, 97,107,101, 68,101, 98,117,103, 70,105,108,101, 78, 97,109,101, 40,101,100,105,116,111,114, 44, 32,100,111, 99,117,109,101,110,116, 46,102,105,108,101, 80, 97,116,104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 82,117,110, 40,102,105,108,101, 80, 97,116,104, 44, 32,101,100,105,116,111,114, 84,101,120,116, 41, 10, ! 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40, 48, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,104,105,108,101, 32,110,101,120,116, 76,105,110,101, 32,126, 61, 32, 45, 49, 32,100,111, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 65,100,100, 66,114,101, 97,107, 80,111,105,110,116, 40,102,105,108,101, 78, 97,109,101, 44, 32,110,101,120,116, 76,105,110,101, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,110,101,120,116, 76,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 78,101,120,116, 40,110,101,120,116, 76,105,110,101, 32, 43, 32, 49, 44, 32, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 95, 86, 65, 76, 85, 69, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,101,110,100, 10, 10, *************** *** 1873,1877 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116,101,112, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95, 99,111,110,110,101, 99,116,101,100, 32, 61, 32,111,107, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,111,107, 10, 10, --- 1881,1884 ---- *************** *** 1887,1894 **** 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 68, 73, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40,101,118,101,110,116, 58, 71,101,116, 77,101,115,115, 97,103,101, 40, 41, 46, 46, 34, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 68,101, 98,117,103, 32,115,101,114,118,101,114, 32,100,105,115, 99,111,110,110,101, 99,116,101,100, 46, 92,110, 34, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 68,101,108,101,116,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, --- 1894,1900 ---- 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 68, 73, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 68,101, 98,117,103, 32,115,101,114,118,101,114, 32,100,105,115, 99,111,110,110,101, 99,116,101,100, 46, 92,110, 34, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40,101,118,101,110,116, 58, 71,101,116, 77,101,115,115, 97,103,101, 40, 41, 46, 46, 34, 92,110, 92,110, 34, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, *************** *** 1985,1995 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95, 99,111,110,110,101, 99,116,101,100, 32, 61, 32,102, 97,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 68,101,108,101,116,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,103,110,111,114,101,100, 70,105,108,101,115, 76,105,115,116, 32, 61, 32,123,125, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, --- 1991,2000 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 92,110, 68,101, 98,117,103,103,101,114, 32, 67,108,105,101,110,116, 32,102,105,110,105,115,104,101,100, 49, 46, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 92,110, 68,101, 98,117,103,103,101,114, 32, 67,108,105,101,110,116, 32,102,105,110,105,115,104,101,100, 50, 46, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,103,110,111,114,101,100, 70,105,108,101,115, 76,105,115,116, 32, 61, 32,123,125, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, *************** *** 2007,2010 **** --- 2012,2051 ---- 101,110,100, 10, 10, + 102,117,110, 99,116,105,111,110, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, + 32, 32, 32, 32, 45, 45, 32,110,105,108, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,115,111, 32,105,116, 32,119,111,110, 39,116, 32, 98,101, 32,117,115,101,100, 32, 97,110,100, 32,115,101,116, 32,102,108, 97,103, 32,116,111, 32,100,101,115,116,114,111,121, 32,105,116, 32,105,110, 32,105,100,108,101, 10, + 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32, 49, 32, 45, 45, 32,115,101,116, 32, 62, 32, 48, 32,116,111, 32,105,110,105,116,105, 97,116,101, 32,100,101,108,101,116,105,111,110, 32,105,110, 32,105,100,108,101, 10, + 32, 32, 32, 32,101,110,100, 10, + 101,110,100, 10, + 10, + 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 73, 68, 76, 69, 44, 10, + 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 40,101,118,101,110,116, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 43, 32, 49, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 62, 32, 52, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 61, 32, 48, 59, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 32, 61, 32,110,105,108, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, + 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,119,120, 46,119,120, 80,114,111, 99,101,115,115, 95, 69,120,105,115,116,115, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,114,101,116, 32, 61, 32,119,120, 46,119,120, 80,114,111, 99,101,115,115, 95, 75,105,108,108, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 44, 32,119,120, 46,119,120, 83, 73, 71, 75, 73, 76, 76, 44, 32,119,120, 46,119,120, 75, 73, 76, 76, 95, 67, 72, 73, 76, 68, 82, 69, 78, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,114,101,116, 32,126, 61, 32,119,120, 46,119,120, 75, 73, 76, 76, 95, 79, 75, 41, 32,116,104,101,110, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,107,105,108,108, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 32, 34, 46, 46,100,101, 98,117,103,103,101,101, 95,112,105,100, 46, 46, 34, 46, 92,110, 34, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 61, 32, 48, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,118,101,110,116, 58, 83,107,105,112, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, + 10, + 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 83, 84, 65, 82, 84, 95, 68, 69, 66, 85, 71, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 67, 79, 77, 77, 65, 78, 68, 95, 77, 69, 78, 85, 95, 83, 69, 76, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, *************** *** 2015,2025 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,112,105,100, 32, 61, 32, 45, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32, 67,114,101, 97,116,101, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,112,105,100, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 67,108,105,101,110,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 97,110,100, 32, 40,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,116,114,117,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 87, 97,105,116,105,110,103, 32,102,111,114, 32, 99,108,105,101,110,116, 32, 99,111,110,110,101, 99,116,105,111,110, 46, 92,110, 34, 41, 10, --- 2056,2066 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 61, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32, 67,114,101, 97,116,101, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 67,108,105,101,110,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 97,110,100, 32, 40,100,101, 98,117,103,103,101,101, 95,112,105,100, 32, 62, 32, 48, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,116,114,117,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 87, 97,105,116,105,110,103, 32,102,111,114, 32, 99,108,105,101,110,116, 32, 99,111,110,110,101, 99,116,105,111,110, 46, 92,110, 34, 41, 10, *************** *** 2027,2032 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,115,116, 97,114,116, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 68,101,108,101,116,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, --- 2068,2072 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 85,110, 97, 98,108,101, 32,116,111, 32,115,116, 97,114,116, 32,100,101, 98,117,103,103,101,101, 32,112,114,111, 99,101,115,115, 46, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, *************** *** 2044,2054 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95, 99,111,110,110,101, 99,116,101,100, 32, 61, 32,102, 97,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 82,101,115,101,116, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, --- 2084,2089 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,101,115,116,114,111,121, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 65,108,108, 69,100,105,116,111,114,115, 82,101, 97,100, 79,110,108,121, 40,102, 97,108,115,101, 41, 10, *************** *** 2268,2277 **** 32, 32, 32, 32,101,110,100, 10, 10, - 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 95, 99,111,110,110,101, 99,116,101,100, 32, 61, 32,102, 97,108,115,101, 10, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 82,101,115,101,116, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 75,105,108,108, 68,101, 98,117,103,103,101,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 68,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, --- 2303,2312 ---- 32, 32, 32, 32,101,110,100, 10, 10, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,100,115, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,110,105,108, 10, + 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,100,115, 58, 82,101,115,101,116, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 75,105,108,108, 68,101, 98,117,103,103,101,101, 40, 41, 10, + 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, |
From: John L. <jr...@us...> - 2007-05-19 02:06:19
|
Update of /cvsroot/wxlua/wxLua/apps/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/apps/wxlua/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxlua/src/Makefile,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Makefile 21 Dec 2006 06:02:02 -0000 1.19 --- Makefile 19 May 2007 02:05:45 -0000 1.20 *************** *** 48,52 **** WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs --- 48,52 ---- WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs |
From: John L. <jr...@us...> - 2007-05-19 02:06:19
|
Update of /cvsroot/wxlua/wxLua/bindings/wxwidgets In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/bindings/wxwidgets Modified Files: defsutil.i wx_datatypes.lua Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: defsutil.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/defsutil.i,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** defsutil.i 17 Mar 2007 19:08:09 -0000 1.39 --- defsutil.i 19 May 2007 02:05:45 -0000 1.40 *************** *** 70,73 **** --- 70,78 ---- %endenum + %enum wxKillFlags + wxKILL_NOCHILDREN + wxKILL_CHILDREN + %endenum + %class %delete %encapsulate wxProcess, wxEvtHandler wxProcess(wxEvtHandler *parent = NULL, int nId = wxID_ANY) *************** *** 75,80 **** void Detach() ! static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM, int flags = wxKILL_NOCHILDREN) ! static bool Exists(int pid) //virtual void OnTerminate(int pid, int status) just handle the event instead static wxProcess *Open(const wxString& cmd, int flags = wxEXEC_ASYNC) --- 80,85 ---- void Detach() ! %staticonly wxKillError Kill(int pid, wxSignal sig = wxSIGTERM, int flags = wxKILL_NOCHILDREN) ! %staticonly bool Exists(int pid) //virtual void OnTerminate(int pid, int status) just handle the event instead static wxProcess *Open(const wxString& cmd, int flags = wxEXEC_ASYNC) *************** *** 107,111 **** %function %rename wxExecuteStdoutStderr long wxExecute(const wxString& command, wxArrayString& output, wxArrayString& errors, int flags = 0) %function void wxExit() ! int wxKill(long pid, int sig = wxSIGTERM, wxKillError *rc = NULL, int flags = 0) %function unsigned long wxGetProcessId() %function bool wxShell(const wxString& command = "") --- 112,116 ---- %function %rename wxExecuteStdoutStderr long wxExecute(const wxString& command, wxArrayString& output, wxArrayString& errors, int flags = 0) %function void wxExit() ! %function int wxKill(long pid, wxSignal sig = wxSIGTERM, wxKillError *rc = NULL, int flags = 0) %function unsigned long wxGetProcessId() %function bool wxShell(const wxString& command = "") *************** *** 602,607 **** //----------------------------------------------------------------------------- // wxBusyCursorSuspender - we don't wrap this since lua's garbage collector doesn't ! // automatically collect items when they go out of scope so you would have to ! // Delete this anyway which is just as easy as //%class %delete %noclassinfo %encapsulate wxBusyCursorSuspender --- 607,612 ---- //----------------------------------------------------------------------------- // wxBusyCursorSuspender - we don't wrap this since lua's garbage collector doesn't ! // automatically collect items when they go out of scope so you would have to ! // Delete this anyway which is just as easy as //%class %delete %noclassinfo %encapsulate wxBusyCursorSuspender Index: wx_datatypes.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/wx_datatypes.lua,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** wx_datatypes.lua 19 Mar 2007 03:47:18 -0000 1.60 --- wx_datatypes.lua 19 May 2007 02:05:45 -0000 1.61 *************** *** 1879,1882 **** --- 1879,1888 ---- Name = "wxKillError", }, + wxKillFlags = { + Condition = "wxLUA_USE_wxProcess", + DefType = "enum", + IsNumber = true, + Name = "wxKillFlags", + }, wxLanguage = { Condition = "wxUSE_INTL", |
From: John L. <jr...@us...> - 2007-05-19 02:06:18
|
Update of /cvsroot/wxlua/wxLua/modules/luamodule/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/luamodule/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/luamodule/src/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 21 Dec 2006 06:02:03 -0000 1.2 --- Makefile 19 May 2007 02:05:45 -0000 1.3 *************** *** 47,51 **** WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs --- 47,51 ---- WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs |
From: John L. <jr...@us...> - 2007-05-19 02:06:18
|
Update of /cvsroot/wxlua/wxLua/apps/wxluafreeze/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/apps/wxluafreeze/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluafreeze/src/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 21 Dec 2006 06:02:02 -0000 1.3 --- Makefile 19 May 2007 02:05:45 -0000 1.4 *************** *** 48,52 **** WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs --- 48,52 ---- WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs |
From: John L. <jr...@us...> - 2007-05-19 02:06:18
|
Update of /cvsroot/wxlua/wxLua/apps/wxluaedit/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/apps/wxluaedit/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluaedit/src/Makefile,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile 21 Dec 2006 06:02:02 -0000 1.11 --- Makefile 19 May 2007 02:05:45 -0000 1.12 *************** *** 52,56 **** WXSTEDIT_DIR = $(WXCODE)/components/wxstedit ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXSTEDIT_DIR)/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs --- 52,56 ---- WXSTEDIT_DIR = $(WXCODE)/components/wxstedit ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXSTEDIT_DIR)/include -I$(WXPREFIX)/contrib/include -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs |
From: John L. <jr...@us...> - 2007-05-19 02:06:18
|
Update of /cvsroot/wxlua/wxLua/apps/wxluacan/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/apps/wxluacan/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluacan/src/Makefile,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Makefile 21 Dec 2006 06:02:02 -0000 1.9 --- Makefile 19 May 2007 02:05:45 -0000 1.10 *************** *** 48,52 **** WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_WXLUASETUP_DIR) -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs --- 48,52 ---- WXFL_LIB = $(WXBASENAME)_fl-$(WXRELEASE) ! APPEXTRADEFS = -I$(WXLUA_WXLUASETUP_DIR) -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= # This will build a static wxLua app, staticly linked to .a libs |
From: John L. <jr...@us...> - 2007-05-19 02:05:52
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/wxluasocket/include Modified Files: dservice.h wxldserv.h wxldtarg.h wxlsock.h Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: wxldserv.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/include/wxldserv.h,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** wxldserv.h 13 Dec 2006 06:57:50 -0000 1.29 --- wxldserv.h 19 May 2007 02:05:47 -0000 1.30 *************** *** 92,96 **** // socket connection to the debuggee using the wxLuaDebuggerBase. // Note: The wxLuaState of the wxLuaStackDialog is not used in this case ! // since it 'exists' in the debuggee process. // ---------------------------------------------------------------------------- --- 92,96 ---- // socket connection to the debuggee using the wxLuaDebuggerBase. // Note: The wxLuaState of the wxLuaStackDialog is not used in this case ! // since it 'exists' in the independent debuggee process. // ---------------------------------------------------------------------------- *************** *** 156,159 **** --- 156,168 ---- virtual ~wxLuaDebuggerBase(); + // Start the debugger server to listen for a debuggee. After creation + // you must call StartServer to actually start the server. returns success + virtual bool StartServer() = 0; + // Stop the debugger server, returns success + virtual bool StopServer() = 0; + // Start a debuggee client to be debugged by this, returns success + // By default it starts a new wxLuaDebuggerProcess + virtual long StartClient(); + // These functions all send socket commands wxLUASOCKET_DEBUGGER_CMD_XXX // and the appropriate data to the debuggee. *************** *** 188,192 **** // wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED event with a socket error msg virtual bool CheckSocketConnected(bool send_event = true, const wxString& msg = wxEmptyString); ! // Check if the input is true (eg. return of a socket read) and if not send a // wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED with a read error msg virtual bool CheckSocketRead(bool read_ok, const wxString& msg = wxEmptyString); --- 197,201 ---- // wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED event with a socket error msg virtual bool CheckSocketConnected(bool send_event = true, const wxString& msg = wxEmptyString); ! // Check if the input is true (ie. return of a socket read) and if not send a // wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED with a read error msg virtual bool CheckSocketRead(bool read_ok, const wxString& msg = wxEmptyString); *************** *** 195,198 **** --- 204,210 ---- virtual bool CheckSocketWrite(bool write_ok, const wxString& msg = wxEmptyString); + // Get the socket error message or "" + virtual wxString GetSocketErrorMsg() = 0; + // Send the event to this wxEvtHandler virtual void SendEvent(wxEvent& event) { AddPendingEvent(event); } *************** *** 254,294 **** // ---------------------------------------------------------------------------- ! // wxLuaDebuggerServer - a socket server for a lua program to communicate with a ! // wxLuaDebugTarget run in C++. // ---------------------------------------------------------------------------- ! class WXDLLIMPEXP_WXLUASOCKET wxLuaDebuggerServer : public wxLuaDebuggerBase { protected: // ---------------------------------------------------------------------------- ! // wxLuaDebuggerServer::LuaThread - a wxThread for the wxLuaDebuggerServer // ---------------------------------------------------------------------------- class LuaThread : public wxThread { public: ! LuaThread(wxLuaDebuggerServer *pServer) : wxThread(wxTHREAD_JOINABLE), ! m_pServer(pServer) {} protected: virtual void *Entry(); // thread execution starts here virtual void OnExit(); // called when the thread exits ! wxLuaDebuggerServer *m_pServer; }; public: ! wxLuaDebuggerServer(int port_number); ! virtual ~wxLuaDebuggerServer(); // Start the debugger server to listen for a debuggee. After creation // you must call StartServer to actually start the server. returns success ! bool StartServer(); // Stop the debugger server, returns success ! bool StopServer(); // Start a debuggee client to be debugged by this, returns process ID // is > 0 on success. ! long StartClient(); virtual wxLuaSocketBase* GetSocketBase() { return m_acceptedSocket; } // The thread function for the running LuaThread, only to be called by the // thread. --- 266,310 ---- // ---------------------------------------------------------------------------- ! // wxLuaDebuggerCServer - a socket server for a lua program to communicate with a ! // wxLuaDebugTarget run in C++. // ---------------------------------------------------------------------------- ! class WXDLLIMPEXP_WXLUASOCKET wxLuaDebuggerCServer : public wxLuaDebuggerBase { protected: // ---------------------------------------------------------------------------- ! // wxLuaDebuggerCServer::LuaThread - a wxThread for the wxLuaDebuggerCServer // ---------------------------------------------------------------------------- class LuaThread : public wxThread { public: ! LuaThread(wxLuaDebuggerCServer *pServer) : wxThread(wxTHREAD_JOINABLE), ! m_pServer(pServer) {} protected: virtual void *Entry(); // thread execution starts here virtual void OnExit(); // called when the thread exits ! wxLuaDebuggerCServer *m_pServer; }; public: ! wxLuaDebuggerCServer(int port_number); ! virtual ~wxLuaDebuggerCServer(); // Start the debugger server to listen for a debuggee. After creation // you must call StartServer to actually start the server. returns success ! virtual bool StartServer(); // Stop the debugger server, returns success ! virtual bool StopServer(); // Start a debuggee client to be debugged by this, returns process ID // is > 0 on success. ! virtual long StartClient(); virtual wxLuaSocketBase* GetSocketBase() { return m_acceptedSocket; } + virtual wxString GetSocketErrorMsg(); + + // implementation + // The thread function for the running LuaThread, only to be called by the // thread. *************** *** 296,311 **** protected: - bool StartServerThread(); bool WaitForConnect(int timeOut); wxLuaSocket *m_serverSocket; wxLuaSocket *m_acceptedSocket; ! wxLuaDebuggerServer::LuaThread *m_pThread; bool m_fShutdown; private: ! DECLARE_ABSTRACT_CLASS(wxLuaDebuggerServer) }; #else // !WXLUASOCKET_USE_C_SOCKET --- 312,328 ---- protected: bool WaitForConnect(int timeOut); wxLuaSocket *m_serverSocket; wxLuaSocket *m_acceptedSocket; ! wxLuaDebuggerCServer::LuaThread *m_pThread; bool m_fShutdown; private: ! DECLARE_ABSTRACT_CLASS(wxLuaDebuggerCServer) }; + typedef wxLuaDebuggerCServer wxLuaDebuggerServer; + #else // !WXLUASOCKET_USE_C_SOCKET *************** *** 314,319 **** // wxLuaDebugTarget run in C++. // ---------------------------------------------------------------------------- - class WXDLLIMPEXP_WXLUASOCKET wxLuaDebugSocket; - #include "wxluasocket/include/dservice.h" class WXDLLIMPEXP_WXLUASOCKET wxLuaDebuggerwxSocketServer : public wxLuaDebuggerBase --- 331,334 ---- *************** *** 325,336 **** // Start the debugger server to listen for a debuggee. After creation // you must call StartServer to actually start the server. returns success ! bool StartServer(); // Stop the debugger server, returns success ! bool StopServer(); // Start a debuggee client to be debugged by this, returns success ! long StartClient(); virtual wxLuaSocketBase* GetSocketBase() { return m_acceptedSocket; } virtual void SendEvent(wxEvent& event) { ProcessEvent(event); } --- 340,355 ---- // Start the debugger server to listen for a debuggee. After creation // you must call StartServer to actually start the server. returns success ! virtual bool StartServer(); // Stop the debugger server, returns success ! virtual bool StopServer(); // Start a debuggee client to be debugged by this, returns success ! virtual long StartClient(); virtual wxLuaSocketBase* GetSocketBase() { return m_acceptedSocket; } + virtual wxString GetSocketErrorMsg(); + + // implementation + virtual void SendEvent(wxEvent& event) { ProcessEvent(event); } *************** *** 339,344 **** protected: ! wxSocketServer *m_serverSocket; ! wxLuaDebugSocket *m_acceptedSocket; private: --- 358,363 ---- protected: ! wxSocketServer *m_serverSocket; ! wxLuawxSocket *m_acceptedSocket; private: *************** *** 369,377 **** void SetDebugData(long nReference, const wxLuaDebugData& pDebugData = wxLuaDebugData()); ! int GetLineNumber() const { return m_lineNumber;} ! wxString GetFileName() const { return m_fileName; } ! wxString GetMessage() const { return m_strMessage; } // check HasMessage ! bool HasMessage() const { return m_fHasMessage; } ! long GetReference() const { return m_nReference; } // lua reference wxLuaDebugData GetDebugData() const { return m_debugData; } bool GetEnabledFlag() const { return m_fEnabledFlag; } --- 388,396 ---- void SetDebugData(long nReference, const wxLuaDebugData& pDebugData = wxLuaDebugData()); ! int GetLineNumber() const { return m_lineNumber;} ! wxString GetFileName() const { return m_fileName; } ! wxString GetMessage() const { return m_strMessage; } // check HasMessage ! bool HasMessage() const { return m_fHasMessage; } ! long GetReference() const { return m_nReference; } // lua reference wxLuaDebugData GetDebugData() const { return m_debugData; } bool GetEnabledFlag() const { return m_fEnabledFlag; } Index: wxlsock.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/include/wxlsock.h,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** wxlsock.h 12 Dec 2006 01:23:40 -0000 1.20 --- wxlsock.h 19 May 2007 02:05:47 -0000 1.21 *************** *** 1,4 **** ///////////////////////////////////////////////////////////////////////////// ! // Name: wxLuaSocket.h // Purpose: wxLua Socket interfaces // Author: J. Winwood --- 1,4 ---- ///////////////////////////////////////////////////////////////////////////// ! // Name: wxlsock.h // Purpose: wxLua Socket interfaces // Author: J. Winwood *************** *** 46,52 **** // ---------------------------------------------------------------------------- // wxLuaSocketBase - a base class for different socket implementations ! // The derived socket class must override virtual int Read(...) and ! // virtual int Write(...) which all the other ReadXXX and WriteXXX functions ! // of this class use. // ---------------------------------------------------------------------------- --- 46,54 ---- // ---------------------------------------------------------------------------- // wxLuaSocketBase - a base class for different socket implementations ! // ! // The derived socket class must override ! // virtual int Read(...) all ReadXXX functions use this ! // virtual int Write(...) all WriteXXX functions use this ! // virtual bool IsConnected() // ---------------------------------------------------------------------------- *************** *** 54,58 **** { public: ! wxLuaSocketBase() {} virtual ~wxLuaSocketBase() {} --- 56,60 ---- { public: ! wxLuaSocketBase() : m_port_number(-1) {} virtual ~wxLuaSocketBase() {} *************** *** 77,80 **** --- 79,83 ---- // Write data to the socket, calls virtual void Write(...) + // returns success bool WriteCmd(char value); bool WriteInt32(wxInt32 value); *************** *** 83,87 **** bool WriteDebugData(const wxLuaDebugData& debugData); ! wxString m_name; // a readable name for the socket, for debugging private: --- 86,102 ---- bool WriteDebugData(const wxLuaDebugData& debugData); ! // Concat the error message array together and optionally clear the message ! virtual wxString GetErrorMsg(bool clear_msg); ! // Add a message to the internal error message and then append any ! // additional from GetLastErrorMsg() to it. ! void AddErrorMessage(const wxString& msg); ! // Get the last/current error message as a string ! virtual wxString GetLastErrorMsg() const = 0; ! ! // implementation ! ! wxString m_name; // human readable name for the socket, for debugging ! wxString m_errorMsg; // human readable error message ! int m_port_number; // The port that's used, else -1 private: *************** *** 90,98 **** // ---------------------------------------------------------------------------- ! // wxLuaSocket - a c socket implementation // ---------------------------------------------------------------------------- - class WXDLLIMPEXP_WXLUASOCKET wxLuaSocket : public wxLuaSocketBase - { #ifdef WIN32 typedef SOCKET socket_type; --- 105,111 ---- // ---------------------------------------------------------------------------- ! // wxLuaCSocket - a C socket implementation for both client and server // ---------------------------------------------------------------------------- #ifdef WIN32 typedef SOCKET socket_type; *************** *** 101,118 **** #endif ! // proxy class for accept ! class wxLuaAcceptedSocket ! { ! public: ! wxLuaAcceptedSocket(socket_type socket, sockaddr_in address) ! : m_sock(socket), m_addr(address) {} ! ! private: ! socket_type m_sock; ! sockaddr_in m_addr; ! ! friend class wxLuaSocket; ! }; ! public: --- 114,119 ---- #endif ! class WXDLLIMPEXP_WXLUASOCKET wxLuaCSocket : public wxLuaSocketBase ! { public: *************** *** 125,143 **** }; ! wxLuaSocket(); // Socket constructor from an accepted socket ! wxLuaSocket(const wxLuaAcceptedSocket &acceptedSocket); ! virtual ~wxLuaSocket(); // Create a listening socket, using the specified port number // server: bind and listen for client connections ! void Listen(u_short port, int backLog = 100); // Accept a connection, returning an accepted socket. ! // server: accept a connection from a client ! wxLuaAcceptedSocket Accept(); // Connect to a given host and port number // client: connect a client to a server ! void Connect(const wxString &address, u_short port); // Get the socket state SocketState GetState() const { return m_sockstate; } --- 126,144 ---- }; ! wxLuaCSocket(); // Socket constructor from an accepted socket ! wxLuaCSocket(socket_type socket, sockaddr_in address); ! virtual ~wxLuaCSocket(); // Create a listening socket, using the specified port number // server: bind and listen for client connections ! bool Listen(u_short port, int backLog = 100); // Accept a connection, returning an accepted socket. ! // server: block until accepting a connection from a client ! wxLuaCSocket* Accept(); // Connect to a given host and port number // client: connect a client to a server ! bool Connect(const wxString &address, u_short port); // Get the socket state SocketState GetState() const { return m_sockstate; } *************** *** 145,157 **** int GetSocket() const { return m_sock; } ! // Is the socket connected ! virtual bool IsConnected() ! { ! return ((m_sockstate == SOCKET_CONNECTED) || ! (m_sockstate == SOCKET_ACCEPTED)); ! } ! // Test if the socket is readable ! bool IsReadable() const { return ((m_sockstate == SOCKET_CONNECTED) || --- 146,162 ---- int GetSocket() const { return m_sock; } ! // Get the address of the opened socket ! wxString GetAddress(); ! // Get the port number of the opened socket ! int GetPort(); ! // Shutdown the socket in an orderly fashion, ::shutdown(sock, how) ! // returns true on success ! bool Shutdown(int how = SD_BOTH); ! // Close the open socket, returns true on success ! bool Close(); ! // Is the socket connected? ! // Overridden from wxLuaSocketBase ! virtual bool IsConnected() { return ((m_sockstate == SOCKET_CONNECTED) || *************** *** 159,180 **** } - // Get the address of the socket - wxString GetAddress() const; - // Get the port number of the socket - int GetPort() const; // Read the whole buffer of byte size length into buffer from the socket virtual int Read(char *buffer, wxUint32 length); // Write the whole buffer of byte size length to the socket virtual int Write(const char *buffer, wxUint32 length); ! // Shutdown the socket in an orderly fashion, ::shutdown(sock, how) ! // returns true on success, if false then check errno ! bool Shutdown(int how = SD_BOTH); ! // Close the open socket, returns true on success ! bool Close(); protected: // Prevent copying and assignment of this class ! wxLuaSocket(const wxLuaSocket&); ! wxLuaSocket& operator=(const wxLuaSocket&); socket_type m_sock; --- 164,182 ---- } // Read the whole buffer of byte size length into buffer from the socket + // Overridden from wxLuaSocketBase virtual int Read(char *buffer, wxUint32 length); // Write the whole buffer of byte size length to the socket + // Overridden from wxLuaSocketBase virtual int Write(const char *buffer, wxUint32 length); ! ! // Get the last/current error message using the system error ! // either errno in Unix or WSAGetLastError in MSW, doesn't clear error ! virtual wxString GetLastErrorMsg() const; protected: // Prevent copying and assignment of this class ! wxLuaCSocket(const wxLuaCSocket&); ! wxLuaCSocket& operator=(const wxLuaCSocket&); socket_type m_sock; *************** *** 183,231 **** private: ! DECLARE_ABSTRACT_CLASS(wxLuaSocket); }; // ---------------------------------------------------------------------------- ! // wxLuaSocketException // ---------------------------------------------------------------------------- ! class WXDLLIMPEXP_WXLUASOCKET wxLuaSocketException { public: ! enum SocketErrorCode ! { ! SOCKET_NOT_CLOSED, ! SOCKET_NOT_CONNECTED, ! SOCKET_NOT_LISTENING, ! SOCKET_INVALID_SOCKET, ! SOCKET_ADDRESS_NOT_RESOLVED, ! SOCKET_INCOMPATIBLE_TYPE, ! SOCKET_SET_BLOCKING_FAILED, ! SOCKET_ACCEPT_FAILED, ! SOCKET_CONNECT_FAILED, ! SOCKET_BIND_FAILED, ! SOCKET_LISTEN_FAILED, ! SOCKET_SEND_FAILED, ! SOCKET_RECEIVE_FAILED, ! SOCKET_CLOSE_FAILED ! }; ! // constructors ! wxLuaSocketException(SocketErrorCode code, const wxString& msg); ! wxLuaSocketException(const wxLuaSocketException &e) ! : m_code(e.m_code), m_msg(e.m_msg), m_errnum(e.m_errnum) {} ! SocketErrorCode GetCode() const { return m_code; } ! int errnum() const { return m_errnum; } ! wxString description() const { return m_description; } ! private: ! wxLuaSocketException& operator=(const wxLuaSocketException& e); ! SocketErrorCode m_code; ! wxString m_msg; ! int m_errnum; ! wxString m_description; }; #endif // WX_LUA_SOCKET_H_ --- 185,235 ---- private: ! DECLARE_ABSTRACT_CLASS(wxLuaCSocket); }; // ---------------------------------------------------------------------------- ! // wxLuawxSocket - Handles Debugger/Debuggee IO // ---------------------------------------------------------------------------- + #include "wx/socket.h" ! class WXDLLIMPEXP_WXLUASOCKET wxLuawxSocket : public wxLuaSocketBase { public: ! wxLuawxSocket() : m_socket(NULL) {} ! wxLuawxSocket(wxSocketBase* sock) : m_socket(sock) {} ! virtual ~wxLuawxSocket() { Destroy(); } ! // Safely close and destroy the socket ! bool Destroy(); ! // Get/Set the socket, if you set a new socket you must delete the ! // previous one first ! wxSocketBase* GetSocket() const { return m_socket; } ! void SetSocket(wxSocketBase* sock) { m_socket = sock; } ! // Socket Error from wxSocketBase ! bool Error() { return !m_socket || m_socket->Error(); } ! // Is Socket Connected, from wxSocketBase ! bool WaitForRead(long seconds = 0, long milliseconds = 300) { return m_socket && m_socket->WaitForRead(seconds, milliseconds); } ! // Is Socket Connected, from wxSocketBase ! virtual bool IsConnected() { return m_socket && m_socket->IsConnected(); } ! ! // Read the whole buffer of size length into buffer buffer from the socket ! virtual int Read(char *buffer, wxUint32 length); ! // Write the whole buffer of size length to the socket ! virtual int Write(const char *buffer, wxUint32 length); ! ! virtual wxString GetLastErrorMsg() const; ! ! protected: ! wxSocketBase* m_socket; }; + // ---------------------------------------------------------------------------- + // wxLuaSocket - Choose the socket we want to use + // ---------------------------------------------------------------------------- + + typedef wxLuaCSocket wxLuaSocket; + #endif // WX_LUA_SOCKET_H_ Index: wxldtarg.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/include/wxldtarg.h,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** wxldtarg.h 12 Dec 2006 01:23:40 -0000 1.21 --- wxldtarg.h 19 May 2007 02:05:47 -0000 1.22 *************** *** 49,53 **** void ThreadFunction(); ! int HandleDebuggerCmd(int cmd); void DisplayError(const wxString& errorMsg) { NotifyError(errorMsg); } --- 49,53 ---- void ThreadFunction(); ! bool HandleDebuggerCmd(int cmd); void DisplayError(const wxString& errorMsg) { NotifyError(errorMsg); } Index: dservice.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/include/dservice.h,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** dservice.h 12 Dec 2006 01:23:40 -0000 1.21 --- dservice.h 19 May 2007 02:05:47 -0000 1.22 *************** *** 34,38 **** #include "wx/dynarray.h" - #include "wx/socket.h" #include "wx/filename.h" --- 34,37 ---- *************** *** 49,91 **** class WXDLLIMPEXP_WXLUASOCKET wxLuaDebuggee; - // ---------------------------------------------------------------------------- - // wxLuaDebugSocket - Handles Debugger/Debuggee IO - // ---------------------------------------------------------------------------- - - class WXDLLIMPEXP_WXLUASOCKET wxLuaDebugSocket : public wxLuaSocketBase - { - public: - wxLuaDebugSocket() : m_socket(NULL) {} - wxLuaDebugSocket(wxSocketBase* sock) : m_socket(sock) {} - - virtual ~wxLuaDebugSocket() { Destroy(); } - - // Safely close and destroy the socket - bool Destroy(); - - // Get/Set the socket, if you set a new socket you must delete the - // previous one first - wxSocketBase* GetSocket() const { return m_socket; } - void SetSocket(wxSocketBase* sock) { m_socket = sock; } - // Socket Error from wxSocketBase - bool Error() { return !m_socket || m_socket->Error(); } - // Is Socket Connected, from wxSocketBase - virtual bool IsConnected() { return m_socket && m_socket->IsConnected(); } - // Is Socket Connected, from wxSocketBase - bool WaitForRead(long seconds = 0, long milliseconds = 300) { return m_socket && m_socket->WaitForRead(seconds, milliseconds); } - - // Read the whole buffer of size length into buffer buffer from the socket - virtual int Read(char *buffer, wxUint32 length); - // Write the whole buffer of size length to the socket - virtual int Write(const char *buffer, wxUint32 length); - - protected: - wxSocketBase* m_socket; - }; - - WX_DECLARE_USER_EXPORTED_LIST(wxLuaDebugSocket, wxLuaDebugSocketList, WXDLLIMPEXP_WXLUASOCKET); - #include "wxluasocket/include/wxldserv.h" // ---------------------------------------------------------------------------- // wxLuaBreakPoint - Project BreakPoint - a filename/line pair --- 48,55 ---- class WXDLLIMPEXP_WXLUASOCKET wxLuaDebuggee; #include "wxluasocket/include/wxldserv.h" + WX_DECLARE_USER_EXPORTED_LIST(wxLuawxSocket, wxLuawxSocketList, WXDLLIMPEXP_WXLUASOCKET); + // ---------------------------------------------------------------------------- // wxLuaBreakPoint - Project BreakPoint - a filename/line pair *************** *** 149,153 **** void InteruptWait(); ! void NotifyBreakPoints(wxLuaDebugSocket* debugSocket = NULL); protected: --- 113,117 ---- void InteruptWait(); ! void NotifyBreakPoints(wxLuawxSocket* debugSocket = NULL); protected: *************** *** 242,247 **** bool NotifyTableEnumeration(long itemNode, const wxLuaDebugData& debugData); bool NotifyEvaluateExpr(int exprRef, const wxString &strResult); ! bool NotifyBreakpointAdded(wxLuaBreakPoint& breakPoint, wxLuaDebugSocket* debugSocket = NULL); ! bool NotifyBreakpointRemoved(wxLuaBreakPoint& breakPoint, wxLuaDebugSocket* debugSocket = NULL); wxLuaDebuggee* GetActiveDebuggee(); --- 206,211 ---- bool NotifyTableEnumeration(long itemNode, const wxLuaDebugData& debugData); bool NotifyEvaluateExpr(int exprRef, const wxString &strResult); ! bool NotifyBreakpointAdded(wxLuaBreakPoint& breakPoint, wxLuawxSocket* debugSocket = NULL); ! bool NotifyBreakpointRemoved(wxLuaBreakPoint& breakPoint, wxLuawxSocket* debugSocket = NULL); wxLuaDebuggee* GetActiveDebuggee(); *************** *** 253,257 **** void OnSocketEvent(wxSocketEvent& event); ! wxLuaDebugSocket* GetDebugSocket(wxSocketBase* sock); private: --- 217,221 ---- void OnSocketEvent(wxSocketEvent& event); ! wxLuawxSocket* GetDebugSocket(wxSocketBase* sock); private: *************** *** 261,265 **** // Debuggers connected to Service mutable wxCriticalSection m_debuggerSocketListCriticalSection; ! wxLuaDebugSocketList m_debuggerSocketList; // Lua Interpreters Hooked by Service --- 225,229 ---- // Debuggers connected to Service mutable wxCriticalSection m_debuggerSocketListCriticalSection; ! wxLuawxSocketList m_debuggerSocketList; // Lua Interpreters Hooked by Service *************** *** 295,299 **** private: mutable wxCriticalSection m_debuggerSocketCriticalSection; ! wxLuaDebugSocket* m_debuggerSocket; DECLARE_EVENT_TABLE() --- 259,263 ---- private: mutable wxCriticalSection m_debuggerSocketCriticalSection; ! wxLuawxSocket* m_debuggerSocket; DECLARE_EVENT_TABLE() |
From: John L. <jr...@us...> - 2007-05-19 02:05:52
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/samples Modified Files: editor.wx.lua Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: editor.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/editor.wx.lua,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** editor.wx.lua 9 May 2007 01:40:22 -0000 1.46 --- editor.wx.lua 19 May 2007 02:05:47 -0000 1.47 *************** *** 110,115 **** debuggerServer = nil -- wxLuaDebuggerServer object when debugging, else nil debuggee_running = false -- true when the debuggee is running ! debugger_connected = false -- true when a client has connected debuggerPortNumber = 1551 -- the port # to use for debugging --- 110,117 ---- debuggerServer = nil -- wxLuaDebuggerServer object when debugging, else nil + debuggerServer_ = nil -- temp wxLuaDebuggerServer object for deletion debuggee_running = false -- true when the debuggee is running ! debugger_destroy = 0 -- > 0 if the debugger is to be destroyed in wxEVT_IDLE ! debuggee_pid = 0 -- pid of the debuggee process debuggerPortNumber = 1551 -- the port # to use for debugging *************** *** 1825,1846 **** function CreateDebuggerServer() debuggerServer = wx.wxLuaDebuggerServer(debuggerPortNumber) local ok = debuggerServer:StartServer() if not ok then ! debuggerServer:Delete() ! debuggerServer = nil DisplayOutput("Error starting the debug server.\n") return nil end - local function DownloadBreakpoints(editor, fileName) - local nextLine = editor:MarkerNext(0, BREAKPOINT_MARKER_VALUE) - while nextLine ~= -1 do - debuggerServer:AddBreakPoint(fileName, nextLine) - nextLine = editor:MarkerNext(nextLine + 1, BREAKPOINT_MARKER_VALUE) - end - end - debuggerServer:Connect(wx.wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, function (event) --- 1827,1849 ---- function CreateDebuggerServer() + if (debuggerServer) then + -- we just delete it here, but this shouldn't happen + debugger_destroy = 0 + local ds = debuggerServer + debuggerServer = nil + ds:StopServer() + ds:Delete() + end + + debuggee_running = false debuggerServer = wx.wxLuaDebuggerServer(debuggerPortNumber) local ok = debuggerServer:StartServer() if not ok then ! DestroyDebuggerServer() DisplayOutput("Error starting the debug server.\n") return nil end debuggerServer:Connect(wx.wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, function (event) *************** *** 1854,1858 **** local filePath = MakeDebugFileName(editor, document.filePath) ok = debuggerServer:Run(filePath, editorText) ! DownloadBreakpoints(editor, filePath) --end --- 1857,1866 ---- local filePath = MakeDebugFileName(editor, document.filePath) ok = debuggerServer:Run(filePath, editorText) ! ! local nextLine = editor:MarkerNext(0, BREAKPOINT_MARKER_VALUE) ! while nextLine ~= -1 do ! debuggerServer:AddBreakPoint(fileName, nextLine) ! nextLine = editor:MarkerNext(nextLine + 1, BREAKPOINT_MARKER_VALUE) ! end --end *************** *** 1860,1864 **** ok = debuggerServer:Step() end - debugger_connected = ok debuggee_running = ok --- 1868,1871 ---- *************** *** 1874,1881 **** debuggerServer:Connect(wx.wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, function (event) - DisplayOutput(event:GetMessage().."\n") DisplayOutput("Debug server disconnected.\n") ! debuggerServer:Delete() ! debuggerServer = nil end) --- 1881,1887 ---- debuggerServer:Connect(wx.wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, function (event) DisplayOutput("Debug server disconnected.\n") ! DisplayOutput(event:GetMessage().."\n\n") ! DestroyDebuggerServer() end) *************** *** 1972,1982 **** ClearAllCurrentLineMarkers() - debugger_connected = false if debuggerServer then ! debuggerServer:Delete() ! debuggerServer = nil ! debuggee_running = false end SetAllEditorsReadOnly(false) ignoredFilesList = {} end) --- 1978,1987 ---- ClearAllCurrentLineMarkers() if debuggerServer then ! DestroyDebuggerServer() end + DisplayOutput("\nDebugger Client finished1.\n\n") SetAllEditorsReadOnly(false) + DisplayOutput("\nDebugger Client finished2.\n\n") ignoredFilesList = {} end) *************** *** 1994,1997 **** --- 1999,2038 ---- end + function DestroyDebuggerServer() + -- nil debuggerServer so it won't be used and set flag to destroy it in idle + if (debuggerServer) then + debuggerServer_ = debuggerServer + debuggerServer = nil + debugger_destroy = 1 -- set > 0 to initiate deletion in idle + end + end + + frame:Connect(wx.wxEVT_IDLE, + function(event) + if (debugger_destroy > 0) then + debugger_destroy = debugger_destroy + 1 + end + if (debugger_destroy > 4) then + debugger_destroy = 0; + local ds = debuggerServer_ + debuggerServer_ = nil + ds:StopServer() + ds:Delete() + debuggee_running = false + + if (debuggee_pid > 0) then + if wx.wxProcess_Exists(debuggee_pid) then + local ret = wx.wxProcess_Kill(debuggee_pid, wx.wxSIGKILL, wx.wxKILL_CHILDREN) + if (ret ~= wx.wxKILL_OK) then + DisplayOutput("Unable to kill debuggee process "..debuggee_pid..".\n") + end + end + debuggee_pid = 0 + end + end + event:Skip() + end) + + frame:Connect(ID_START_DEBUG, wx.wxEVT_COMMAND_MENU_SELECTED, function (event) *************** *** 2002,2012 **** end ! local pid = -1 debuggerServer = CreateDebuggerServer() if debuggerServer then ! pid = debuggerServer:StartClient() end ! if debuggerServer and (pid > 0) then SetAllEditorsReadOnly(true) DisplayOutput("Waiting for client connection.\n") --- 2043,2053 ---- end ! debuggee_pid = 0 debuggerServer = CreateDebuggerServer() if debuggerServer then ! debuggee_pid = debuggerServer:StartClient() end ! if debuggerServer and (debuggee_pid > 0) then SetAllEditorsReadOnly(true) DisplayOutput("Waiting for client connection.\n") *************** *** 2014,2019 **** DisplayOutput("Unable to start debuggee process.\n") if debuggerServer then ! debuggerServer:Delete() ! debuggerServer = nil end end --- 2055,2059 ---- DisplayOutput("Unable to start debuggee process.\n") if debuggerServer then ! DestroyDebuggerServer() end end *************** *** 2031,2041 **** ClearAllCurrentLineMarkers() - debugger_connected = false if debuggerServer then ! local ds = debuggerServer ! debuggerServer = nil ! ds:Reset() ! ds:StopServer() ! ds:Delete() end SetAllEditorsReadOnly(false) --- 2071,2076 ---- ClearAllCurrentLineMarkers() if debuggerServer then ! DestroyDebuggerServer() end SetAllEditorsReadOnly(false) *************** *** 2255,2264 **** end - debugger_connected = false if debuggerServer then ! --debuggerServer:Reset() ! debuggerServer:KillDebuggee() ! debuggerServer:Delete() debuggerServer = nil end debuggee_running = false --- 2290,2299 ---- end if debuggerServer then ! local ds = debuggerServer debuggerServer = nil + --ds:Reset() + ds:KillDebuggee() + ds:Delete() end debuggee_running = false |
From: John L. <jr...@us...> - 2007-05-19 02:05:51
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/wxluasocket/src Modified Files: Makefile dservice.cpp wxldserv.cpp wxldtarg.cpp wxlsock.cpp Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: wxldtarg.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldtarg.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** wxldtarg.cpp 23 Mar 2007 00:09:36 -0000 1.33 --- wxldtarg.cpp 19 May 2007 02:05:47 -0000 1.34 *************** *** 25,29 **** #endif // !wxCHECK_VERSION(2, 6, 0) - static const char *debugName = "__wxLuaDebug__"; #define WXLUASOCKET_CONNECT_TIMEOUT 200 // 20 seconds --- 25,28 ---- *************** *** 35,38 **** --- 34,38 ---- { m_pTarget->ThreadFunction(); + m_pTarget->m_pThread = NULL; return 0; } *************** *** 63,68 **** lua_State* L = m_wxlState.GetLuaState(); ! lua_pushlightuserdata(L, this); ! lua_setglobal(L, debugName); lua_sethook(L, LuaDebugHook, LUA_MASKCALL | LUA_MASKLINE | LUA_MASKRET, 0); --- 63,71 ---- lua_State* L = m_wxlState.GetLuaState(); ! // Stick us into the lua_State - push key, value ! lua_pushstring( L, "__wxLuaDebugTarget__" ); ! lua_pushlightuserdata( L, (void*)this ); ! // set the value ! lua_rawset( L, LUA_REGISTRYINDEX ); lua_sethook(L, LuaDebugHook, LUA_MASKCALL | LUA_MASKLINE | LUA_MASKRET, 0); *************** *** 76,81 **** wxLuaDebugTarget::~wxLuaDebugTarget() { ! if (m_pThread != NULL) ! delete m_pThread; LeaveLuaCriticalSection(); --- 79,84 ---- wxLuaDebugTarget::~wxLuaDebugTarget() { ! //if (m_pThread != NULL) ! // delete m_pThread; LeaveLuaCriticalSection(); *************** *** 153,157 **** { NotifyExit(); - wxMilliSleep(900); if (m_fConnected) --- 156,159 ---- *************** *** 169,196 **** { bool fThreadRunning = false; - try - { - m_clientSocket.Connect(m_serverName, m_portNumber); m_fConnected = true; fThreadRunning = true; } ! catch(wxLuaSocketException &) { } while (fThreadRunning && !m_pThread->TestDestroy() && !m_resetRequested && !m_fExiting) { ! try ! { ! unsigned char debugCommand = 0; // wxLuaSocketDebuggerCommands_Type ! if (!m_clientSocket.ReadCmd(debugCommand) || ! (HandleDebuggerCmd(debugCommand) == -1)) ! { ! fThreadRunning = false; ! } ! ! } ! catch(...) { fThreadRunning = false; --- 171,190 ---- { bool fThreadRunning = false; + if (m_clientSocket.Connect(m_serverName, m_portNumber)) + { m_fConnected = true; fThreadRunning = true; } ! else { + return; // FIXME } while (fThreadRunning && !m_pThread->TestDestroy() && !m_resetRequested && !m_fExiting) { ! unsigned char debugCommand = 0; // wxLuaSocketDebuggerCommands_Type ! if (!m_clientSocket.ReadCmd(debugCommand) || ! !HandleDebuggerCmd(debugCommand)) { fThreadRunning = false; *************** *** 199,350 **** } ! int wxLuaDebugTarget::HandleDebuggerCmd(int debugCommand) { ! try { ! switch ((int)debugCommand) { ! case wxLUASOCKET_DEBUGGER_CMD_NONE : ! { ! // This is an error, but maybe we can continue? ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) ! { ! AddBreakPoint(fileName, lineNumber); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) ! { ! RemoveBreakPoint(fileName, lineNumber); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS: { ! ClearAllBreakPoints(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER: ! { ! wxString fileName; ! wxString buffer; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadString(buffer)) ! { ! Run(fileName, buffer); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP: ! { ! Step(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER: ! { ! StepOver(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT: ! { ! StepOut(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE: ! { ! Continue(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK: { ! Break(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK: { ! EnumerateStack(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY: ! { ! wxInt32 stackRef = 0; ! if (m_clientSocket.ReadInt32(stackRef)) ! EnumerateStackEntry(stackRef); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF: ! { ! wxInt32 tableRef = 0; ! wxInt32 index = 0; ! long itemNode = 0; ! if (m_clientSocket.ReadInt32(tableRef) && ! m_clientSocket.ReadInt32(index) && ! m_clientSocket.ReadLong(itemNode)) ! { ! EnumerateTable(tableRef, index, itemNode); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_RESET: { ! Reset(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR: ! { ! wxInt32 exprRef = 0; ! wxString buffer; ! if (m_clientSocket.ReadInt32(exprRef) && ! m_clientSocket.ReadString(buffer)) ! { ! EvaluateExpr(exprRef, buffer); ! } ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES: { ! size_t idx, idxMax = m_references.GetCount(); ! for (idx = 0; idx < idxMax; ++idx) ! { ! int iItem = m_references.Item(idx); ! m_wxlState.tremove(iItem); ! } ! m_references.Clear(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT: ! break; ! case wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT: ! break; ! default : ! wxFAIL_MSG(wxT("Invalid wxLuaSocketDebuggerCommands_Type in wxLuaDebugTarget::ThreadFunction")); ! return -1; } ! } ! catch(...) ! { ! return -1; // let someone else deal with the error } ! return debugCommand; } --- 193,341 ---- } ! bool wxLuaDebugTarget::HandleDebuggerCmd(int debugCommand) { ! bool ret = false; ! ! switch ((int)debugCommand) { ! case wxLUASOCKET_DEBUGGER_CMD_NONE : { ! // This is an error, but maybe we can continue? ! ret = true; ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) { ! ret = AddBreakPoint(fileName, lineNumber); } ! } ! case wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) { ! ret = RemoveBreakPoint(fileName, lineNumber); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS: ! { ! ret = ClearAllBreakPoints(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER: ! { ! wxString fileName; ! wxString buffer; ! ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadString(buffer)) { ! ret = Run(fileName, buffer); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP: ! { ! ret = Step(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER: ! { ! ret = StepOver(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT: ! { ! ret = StepOut(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE: ! { ! ret = Continue(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK: ! { ! ret = Break(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK: ! { ! ret = EnumerateStack(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY: ! { ! wxInt32 stackRef = 0; ! if (m_clientSocket.ReadInt32(stackRef)) ! ret = EnumerateStackEntry(stackRef); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF: ! { ! wxInt32 tableRef = 0; ! wxInt32 index = 0; ! long itemNode = 0; ! if (m_clientSocket.ReadInt32(tableRef) && ! m_clientSocket.ReadInt32(index) && ! m_clientSocket.ReadLong(itemNode)) { ! ret = EnumerateTable(tableRef, index, itemNode); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_RESET: ! { ! ret = Reset(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR: ! { ! wxInt32 exprRef = 0; ! wxString buffer; ! if (m_clientSocket.ReadInt32(exprRef) && ! m_clientSocket.ReadString(buffer)) ! { ! ret = EvaluateExpr(exprRef, buffer); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES: ! { ! size_t idx, idxMax = m_references.GetCount(); ! for (idx = 0; idx < idxMax; ++idx) { ! int iItem = m_references.Item(idx); ! m_wxlState.tremove(iItem); } ! m_references.Clear(); ! ret = true; ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT: ! ret = true; ! break; ! case wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT: ! ret = true; ! break; ! default : ! wxFAIL_MSG(wxT("Invalid wxLuaSocketDebuggerCommands_Type in wxLuaDebugTarget::ThreadFunction")); } ! return ret; } *************** *** 440,444 **** { NotifyExit(); - wxMilliSleep(900); m_forceBreak = true; --- 431,434 ---- *************** *** 658,663 **** bool wxLuaDebugTarget::NotifyExit() { ! return IsConnected() && m_clientSocket.WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EXIT); } --- 648,655 ---- bool wxLuaDebugTarget::NotifyExit() { ! bool ret = IsConnected() && m_clientSocket.WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EXIT); + + return ret; } *************** *** 797,802 **** void LUACALL wxLuaDebugTarget::LuaDebugHook(lua_State *L, lua_Debug *pLuaDebug) { ! lua_getglobal(L, debugName); ! wxLuaDebugTarget *pTarget = (wxLuaDebugTarget *) lua_touserdata(L, -1); lua_pop(L, 1); --- 789,801 ---- void LUACALL wxLuaDebugTarget::LuaDebugHook(lua_State *L, lua_Debug *pLuaDebug) { ! wxLuaDebugTarget *pTarget = NULL; ! ! // try to get the state we've stored ! lua_pushstring( L, "__wxLuaDebugTarget__" ); ! lua_rawget( L, LUA_REGISTRYINDEX ); ! // if nothing was returned or it wasn't a ptr, abort ! if ( lua_islightuserdata(L, -1) ) ! pTarget = (wxLuaDebugTarget*)lua_touserdata( L, -1 ); ! lua_pop(L, 1); *************** *** 831,836 **** } ! lua_getglobal(L, debugName); ! wxLuaDebugTarget *pTarget = (wxLuaDebugTarget *) lua_touserdata(L, -1); lua_pop(L, 1); --- 830,842 ---- } ! wxLuaDebugTarget *pTarget = NULL; ! ! // try to get the state we've stored ! lua_pushstring( L, "__wxLuaDebugTarget__" ); ! lua_rawget( L, LUA_REGISTRYINDEX ); ! // if nothing was returned or it wasn't a ptr, abort ! if ( lua_islightuserdata(L, -1) ) ! pTarget = (wxLuaDebugTarget*)lua_touserdata( L, -1 ); ! lua_pop(L, 1); Index: dservice.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/dservice.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** dservice.cpp 23 Mar 2007 00:09:36 -0000 1.31 --- dservice.cpp 19 May 2007 02:05:47 -0000 1.32 *************** *** 31,37 **** static const char *debugName = "__wxLuaDebug__"; WX_DEFINE_LIST(wxLuaBreakPointList); WX_DEFINE_LIST(wxLuaDebuggeeList); - WX_DEFINE_LIST(wxLuaDebugSocketList); // ---------------------------------------------------------------------------- --- 31,38 ---- static const char *debugName = "__wxLuaDebug__"; + #include "wx/listimpl.cpp" + WX_DEFINE_LIST(wxLuawxSocketList); WX_DEFINE_LIST(wxLuaBreakPointList); WX_DEFINE_LIST(wxLuaDebuggeeList); // ---------------------------------------------------------------------------- *************** *** 56,93 **** // ---------------------------------------------------------------------------- - // wxLuaDebugSocket - Handles Debugger/Debuggee IO - // ---------------------------------------------------------------------------- - - bool wxLuaDebugSocket::Destroy() - { - if (m_socket) - { - wxSocketBase* sock = m_socket; - m_socket = NULL; - return sock->Destroy(); - } - - return true; - } - - int wxLuaDebugSocket::Read(char *buffer, wxUint32 length) - { - wxCHECK_MSG(m_socket, 0, wxT("Invalid wxSocketBase")); - if (m_socket->WaitForRead(20, 0)) - return m_socket->Read(buffer, length).LastCount(); - - return 0; - } - - int wxLuaDebugSocket::Write(const char *buffer, wxUint32 length) - { - wxCHECK_MSG(m_socket, 0, wxT("Invalid wxSocketBase")); - if (m_socket->WaitForWrite(20, 0)) - return m_socket->Write(buffer, length).LastCount(); - - return 0; - } - - // ---------------------------------------------------------------------------- // wxLuaDebugService - App Debugging Service // ---------------------------------------------------------------------------- --- 57,60 ---- *************** *** 129,134 **** // Cleanup Debugger Socket List ! wxLuaDebugSocketList::compatibility_iterator nodeDebuggerSocket; ! wxLuaDebugSocketList::compatibility_iterator nextDebuggerSocket; for (nodeDebuggerSocket = m_debuggerSocketList.GetFirst(); nodeDebuggerSocket; nodeDebuggerSocket = nextDebuggerSocket) --- 96,101 ---- // Cleanup Debugger Socket List ! wxLuawxSocketList::compatibility_iterator nodeDebuggerSocket; ! wxLuawxSocketList::compatibility_iterator nextDebuggerSocket; for (nodeDebuggerSocket = m_debuggerSocketList.GetFirst(); nodeDebuggerSocket; nodeDebuggerSocket = nextDebuggerSocket) *************** *** 136,140 **** nextDebuggerSocket = nodeDebuggerSocket->GetNext(); ! wxLuaDebugSocket* debuggerSocket = nodeDebuggerSocket->GetData(); m_debuggerSocketList.DeleteNode(nodeDebuggerSocket); delete debuggerSocket; --- 103,107 ---- nextDebuggerSocket = nodeDebuggerSocket->GetNext(); ! wxLuawxSocket* debuggerSocket = nodeDebuggerSocket->GetData(); m_debuggerSocketList.DeleteNode(nodeDebuggerSocket); delete debuggerSocket; *************** *** 177,181 **** case wxSOCKET_CONNECTION: { ! wxLuaDebugSocket* debugSocket; wxSocketBase *sock = m_serverSocket->Accept(false); if (!sock) --- 144,148 ---- case wxSOCKET_CONNECTION: { ! wxLuawxSocket* debugSocket; wxSocketBase *sock = m_serverSocket->Accept(false); if (!sock) *************** *** 191,195 **** wxCriticalSectionLocker locker(m_debuggerSocketListCriticalSection); ! debugSocket = new wxLuaDebugSocket(sock); m_debuggerSocketList.Append(debugSocket); --- 158,162 ---- wxCriticalSectionLocker locker(m_debuggerSocketListCriticalSection); ! debugSocket = new wxLuawxSocket(sock); m_debuggerSocketList.Append(debugSocket); *************** *** 228,232 **** sock->SetNotify(wxSOCKET_LOST_FLAG); ! wxLuaDebugSocket* debugSocket = GetDebugSocket(sock); wxLuaDebuggee* debuggee = GetActiveDebuggee(); --- 195,199 ---- sock->SetNotify(wxSOCKET_LOST_FLAG); ! wxLuawxSocket* debugSocket = GetDebugSocket(sock); wxLuaDebuggee* debuggee = GetActiveDebuggee(); *************** *** 375,384 **** wxCriticalSectionLocker locker(m_debuggerSocketListCriticalSection); ! wxLuaDebugSocketList::compatibility_iterator node; for ( node = m_debuggerSocketList.GetFirst(); node; node = node->GetNext() ) { if (node->GetData()->GetSocket() == sock) { ! wxLuaDebugSocket* debugSocket = node->GetData(); m_debuggerSocketList.DeleteNode(node); --- 342,351 ---- wxCriticalSectionLocker locker(m_debuggerSocketListCriticalSection); ! wxLuawxSocketList::compatibility_iterator node; for ( node = m_debuggerSocketList.GetFirst(); node; node = node->GetNext() ) { if (node->GetData()->GetSocket() == sock) { ! wxLuawxSocket* debugSocket = node->GetData(); m_debuggerSocketList.DeleteNode(node); *************** *** 420,424 **** // Get Lua Debug Socket ! wxLuaDebugSocket* wxLuaDebugService::GetDebugSocket(wxSocketBase* sock) { wxCriticalSectionLocker locker(m_debuggerSocketListCriticalSection); --- 387,391 ---- // Get Lua Debug Socket ! wxLuawxSocket* wxLuaDebugService::GetDebugSocket(wxSocketBase* sock) { wxCriticalSectionLocker locker(m_debuggerSocketListCriticalSection); *************** *** 481,485 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAK); dSocket->WriteString(fileName.GetFullPath()); --- 448,452 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAK); dSocket->WriteString(fileName.GetFullPath()); *************** *** 503,507 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); --- 470,474 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); *************** *** 524,528 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); --- 491,495 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); *************** *** 545,549 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EXIT); --- 512,516 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EXIT); *************** *** 565,569 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM); dSocket->WriteDebugData(debugData); --- 532,536 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM); dSocket->WriteDebugData(debugData); *************** *** 586,590 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM); dSocket->WriteInt32(entryRef); --- 553,557 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM); dSocket->WriteInt32(entryRef); *************** *** 608,612 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM); dSocket->WriteLong(itemNode); --- 575,579 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM); dSocket->WriteLong(itemNode); *************** *** 630,634 **** for (i = 0; i < count; i++) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR); dSocket->WriteInt32(exprRef); --- 597,601 ---- for (i = 0; i < count; i++) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR); dSocket->WriteInt32(exprRef); *************** *** 643,647 **** // Debugger Notification ! bool wxLuaDebugService::NotifyBreakpointAdded(wxLuaBreakPoint& breakPoint, wxLuaDebugSocket* debugSocket) { bool result = false; --- 610,614 ---- // Debugger Notification ! bool wxLuaDebugService::NotifyBreakpointAdded(wxLuaBreakPoint& breakPoint, wxLuawxSocket* debugSocket) { bool result = false; *************** *** 654,658 **** if (!debugSocket || debugSocket == m_debuggerSocketList[i]) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_ADDED); dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); --- 621,625 ---- if (!debugSocket || debugSocket == m_debuggerSocketList[i]) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_ADDED); dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); *************** *** 669,673 **** // Debugger Notification ! bool wxLuaDebugService::NotifyBreakpointRemoved(wxLuaBreakPoint& breakPoint, wxLuaDebugSocket* debugSocket) { bool result = false; --- 636,640 ---- // Debugger Notification ! bool wxLuaDebugService::NotifyBreakpointRemoved(wxLuaBreakPoint& breakPoint, wxLuawxSocket* debugSocket) { bool result = false; *************** *** 680,684 **** if (!debugSocket || debugSocket == m_debuggerSocketList[i]) { ! wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_REMOVED); dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); --- 647,651 ---- if (!debugSocket || debugSocket == m_debuggerSocketList[i]) { ! wxLuawxSocket* dSocket = m_debuggerSocketList[i]; dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_REMOVED); dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); *************** *** 718,722 **** wxLuaDebugger::wxLuaDebugger(int port_number) : wxLuaDebuggerBase(port_number) { ! m_debuggerSocket = new wxLuaDebugSocket(); } --- 685,689 ---- wxLuaDebugger::wxLuaDebugger(int port_number) : wxLuaDebuggerBase(port_number) { ! m_debuggerSocket = new wxLuawxSocket(); } *************** *** 1382,1386 **** } ! void wxLuaDebuggee::NotifyBreakPoints(wxLuaDebugSocket* debugSocket) { wxCriticalSectionLocker locker(m_breakPointListCriticalSection); --- 1349,1353 ---- } ! void wxLuaDebuggee::NotifyBreakPoints(wxLuawxSocket* debugSocket) { wxCriticalSectionLocker locker(m_breakPointListCriticalSection); Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/Makefile,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile 21 Dec 2006 06:02:04 -0000 1.11 --- Makefile 19 May 2007 02:05:47 -0000 1.12 *************** *** 36,40 **** CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_WXLUASETUP_DIR) -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= TARGET_LIBNAME = lib$(WXBASENAME)_wxluasocket-$(WXRELEASE) --- 36,40 ---- CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_WXLUASETUP_DIR) -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= TARGET_LIBNAME = lib$(WXBASENAME)_wxluasocket-$(WXRELEASE) Index: wxldserv.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldserv.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** wxldserv.cpp 13 Dec 2006 07:02:10 -0000 1.36 --- wxldserv.cpp 19 May 2007 02:05:47 -0000 1.37 *************** *** 185,193 **** if (sm_networkName.IsEmpty()) { ! #ifdef __WXMSW__ sm_networkName = wxGetHostName(); #else sm_networkName = wxT("localhost"); ! #endif } } --- 185,193 ---- if (sm_networkName.IsEmpty()) { ! #ifdef __WXMSW__ sm_networkName = wxGetHostName(); #else sm_networkName = wxT("localhost"); ! #endif // __WXMSW__ } } *************** *** 198,324 **** if ((m_debuggeeProcess != NULL) && (m_debuggeeProcessID > 0)) { m_debuggeeProcess = NULL; wxProcess::Kill(m_debuggeeProcessID, wxSIGTERM, wxKILL_CHILDREN); ! wxPrintf(wxT("Deleting the m_debuggeeProcess %d\n"), m_debuggeeProcessID); } } bool wxLuaDebuggerBase::AddBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber)); } bool wxLuaDebuggerBase::RemoveBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber)); } bool wxLuaDebuggerBase::DisableBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber)); } bool wxLuaDebuggerBase::EnableBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber)); } bool wxLuaDebuggerBase::ClearAllBreakPoints() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS)); } bool wxLuaDebuggerBase::Run(const wxString &fileName, const wxString &buffer) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteString(buffer)); } bool wxLuaDebuggerBase::Step() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP)); } bool wxLuaDebuggerBase::StepOver() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER)); } bool wxLuaDebuggerBase::StepOut() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT)); } bool wxLuaDebuggerBase::Continue() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE)); } bool wxLuaDebuggerBase::Break() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK)); } bool wxLuaDebuggerBase::Reset() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_RESET)); } bool wxLuaDebuggerBase::EnumerateStack() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK)); } bool wxLuaDebuggerBase::EnumerateStackEntry(int stackEntry) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY) && ! GetSocketBase()->WriteInt32(stackEntry)); } bool wxLuaDebuggerBase::EnumerateTable(int tableRef, int nIndex, long nItemNode) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF) && GetSocketBase()->WriteInt32(tableRef) && GetSocketBase()->WriteInt32(nIndex) && ! GetSocketBase()->WriteLong(nItemNode)); } bool wxLuaDebuggerBase::CleanupDebugReferences() { ! return CheckSocketConnected() && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES)); } bool wxLuaDebuggerBase::EvaluateExpr(int exprRef, const wxString &strExpression) { ! return CheckSocketConnected() && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR) && GetSocketBase()->WriteInt32(exprRef) && ! GetSocketBase()->WriteString(strExpression)); } --- 198,361 ---- if ((m_debuggeeProcess != NULL) && (m_debuggeeProcessID > 0)) { + m_debuggeeProcess->m_debugger = NULL; m_debuggeeProcess = NULL; wxProcess::Kill(m_debuggeeProcessID, wxSIGTERM, wxKILL_CHILDREN); ! //wxPrintf(wxT("Deleting the m_debuggeeProcess %d\n"), m_debuggeeProcessID); } } + long wxLuaDebuggerBase::StartClient() + { + if (m_debuggeeProcess == NULL) + { + m_debuggeeProcess = new wxLuaDebuggerProcess(this, ID_WXLUASOCKET_DEBUGGEE_PROCESS); + wxString command = wxString::Format(wxT("%s -d%s:%u"), + GetProgramName().c_str(), + GetNetworkName().c_str(), + m_port_number); + + m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC|wxEXEC_MAKE_GROUP_LEADER, m_debuggeeProcess); + + if (m_debuggeeProcessID < 1) + KillDebuggee(); + } + + return m_debuggeeProcessID; + } + bool wxLuaDebuggerBase::AddBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected(true, wxT("Debugger AddBreakPoint")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber), ! wxT("Debugger AddBreakPoint")); } bool wxLuaDebuggerBase::RemoveBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected(true, wxT("Debugger RemoveBreakPoint")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber), ! wxT("Debugger RemoveBreakPoint")); } bool wxLuaDebuggerBase::DisableBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected(true, wxT("Debugger DisableBreakPoint")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber), ! wxT("Debugger DisableBreakPoint")); } bool wxLuaDebuggerBase::EnableBreakPoint(const wxString &fileName, int lineNumber) { ! return CheckSocketConnected(true, wxT("Debugger EnableBreakPoint")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteInt32(lineNumber), ! wxT("Debugger EnableBreakPoint")); } bool wxLuaDebuggerBase::ClearAllBreakPoints() { ! return CheckSocketConnected(true, wxT("Debugger ClearAllBreakPoints")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS), ! wxT("Debugger ClearAllBreakPoints")); } bool wxLuaDebuggerBase::Run(const wxString &fileName, const wxString &buffer) { ! return CheckSocketConnected(true, wxT("Debugger Run")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER) && GetSocketBase()->WriteString(fileName) && ! GetSocketBase()->WriteString(buffer), ! wxT("Debugger Run")); } bool wxLuaDebuggerBase::Step() { ! return CheckSocketConnected(true, wxT("Debugger Step")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP), ! wxT("Debugger Step")); } bool wxLuaDebuggerBase::StepOver() { ! return CheckSocketConnected(true, wxT("Debugger StepOver")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER), ! wxT("Debugger StepOver")); } bool wxLuaDebuggerBase::StepOut() { ! return CheckSocketConnected(true, wxT("Debugger StepOut")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT), ! wxT("Debugger StepOut")); } bool wxLuaDebuggerBase::Continue() { ! return CheckSocketConnected(true, wxT("Debugger Continue")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE), ! wxT("Debugger Continue")); } bool wxLuaDebuggerBase::Break() { ! return CheckSocketConnected(true, wxT("Debugger Break")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK), ! wxT("Debugger Break")); } bool wxLuaDebuggerBase::Reset() { ! return CheckSocketConnected(true, wxT("Debugger Reset")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_RESET), ! wxT("Debugger Reset")); } bool wxLuaDebuggerBase::EnumerateStack() { ! return CheckSocketConnected(true, wxT("Debugger EnumerateStack")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK), ! wxT("Debugger EnumerateStack")); } bool wxLuaDebuggerBase::EnumerateStackEntry(int stackEntry) { ! return CheckSocketConnected(true, wxT("Debugger EnumerateStackEntry")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY) && ! GetSocketBase()->WriteInt32(stackEntry), ! wxT("Debugger EnumerateStackEntry")); } bool wxLuaDebuggerBase::EnumerateTable(int tableRef, int nIndex, long nItemNode) { ! return CheckSocketConnected(true, wxT("Debugger EnumerateTable")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF) && GetSocketBase()->WriteInt32(tableRef) && GetSocketBase()->WriteInt32(nIndex) && ! GetSocketBase()->WriteLong(nItemNode), ! wxT("Debugger EnumerateTable")); } bool wxLuaDebuggerBase::CleanupDebugReferences() { ! return CheckSocketConnected(true, wxT("Debugger CleanupDebugReferences")) && CheckSocketWrite( ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES), ! wxT("Debugger CleanupDebugReferences")); } bool wxLuaDebuggerBase::EvaluateExpr(int exprRef, const wxString &strExpression) { ! return CheckSocketConnected(true, wxT("Debugger EvaluateExpr")) && CheckSocketWrite( GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR) && GetSocketBase()->WriteInt32(exprRef) && ! GetSocketBase()->WriteString(strExpression), ! wxT("Debugger EvaluateExpr")); } *************** *** 336,340 **** if (CheckSocketRead( GetSocketBase()->ReadString(fileName) && ! GetSocketBase()->ReadInt32(lineNumber))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAK, this, lineNumber, fileName); --- 373,378 ---- if (CheckSocketRead( GetSocketBase()->ReadString(fileName) && ! GetSocketBase()->ReadInt32(lineNumber), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_BREAK"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAK, this, lineNumber, fileName); *************** *** 350,354 **** if (CheckSocketRead( ! GetSocketBase()->ReadString(strMessage))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_PRINT, this); --- 388,393 ---- if (CheckSocketRead( ! GetSocketBase()->ReadString(strMessage), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_PRINT"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_PRINT, this); *************** *** 365,369 **** if (CheckSocketRead( ! GetSocketBase()->ReadString(strMessage))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); --- 404,409 ---- if (CheckSocketRead( ! GetSocketBase()->ReadString(strMessage), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_ERROR"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); *************** *** 378,382 **** { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EXIT, this); ! SendEvent(debugEvent); break; } --- 418,422 ---- { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EXIT, this); ! wxPostEvent(this, debugEvent); break; } *************** *** 386,390 **** if (CheckSocketRead( ! GetSocketBase()->ReadDebugData(debugData))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENUM, this); --- 426,431 ---- if (CheckSocketRead( ! GetSocketBase()->ReadDebugData(debugData), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENUM, this); *************** *** 403,407 **** if (CheckSocketRead( GetSocketBase()->ReadInt32(stackRef) && ! GetSocketBase()->ReadDebugData(debugData))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM, this); --- 444,449 ---- if (CheckSocketRead( GetSocketBase()->ReadInt32(stackRef) && ! GetSocketBase()->ReadDebugData(debugData), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM, this); *************** *** 420,424 **** if (CheckSocketRead( GetSocketBase()->ReadLong(itemNode) && ! GetSocketBase()->ReadDebugData(debugData))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_TABLE_ENUM, this); --- 462,467 ---- if (CheckSocketRead( GetSocketBase()->ReadLong(itemNode) && ! GetSocketBase()->ReadDebugData(debugData), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_TABLE_ENUM, this); *************** *** 437,441 **** if (CheckSocketRead( GetSocketBase()->ReadInt32(exprRef) && ! GetSocketBase()->ReadString(strResult))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EVALUATE_EXPR, this); --- 480,485 ---- if (CheckSocketRead( GetSocketBase()->ReadInt32(exprRef) && ! GetSocketBase()->ReadString(strResult), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EVALUATE_EXPR, this); *************** *** 457,461 **** GetSocketBase()->ReadString(fileName) && GetSocketBase()->ReadInt32(line) && ! GetSocketBase()->ReadInt32(enabled))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, this, line, fileName, enabled ? true : false); --- 501,506 ---- GetSocketBase()->ReadString(fileName) && GetSocketBase()->ReadInt32(line) && ! GetSocketBase()->ReadInt32(enabled), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_ADDED"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, this, line, fileName, enabled ? true : false); *************** *** 473,477 **** if (CheckSocketRead( GetSocketBase()->ReadString(fileName) && ! GetSocketBase()->ReadInt32(line))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, this, line, fileName); --- 518,523 ---- if (CheckSocketRead( GetSocketBase()->ReadString(fileName) && ! GetSocketBase()->ReadInt32(line), ! wxT("Debugger wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_REMOVED"))) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, this, line, fileName); *************** *** 502,507 **** return false; } ! ! if (!GetSocketBase()->IsConnected()) { if (send_event) --- 548,552 ---- return false; } ! else if (!GetSocketBase()->IsConnected()) { if (send_event) *************** *** 521,526 **** if (!read_ok) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, this); ! debugEvent.SetMessage(wxT("Failed reading from the debugger socket. ") + msg); SendEvent(debugEvent); } --- 566,574 ---- if (!read_ok) { + wxString s = wxT("Failed reading from the debugger socket. ") + msg + wxT("\n"); + s += GetSocketErrorMsg(); + wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, this); ! debugEvent.SetMessage(s); SendEvent(debugEvent); } *************** *** 532,537 **** if (!write_ok) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, this); ! debugEvent.SetMessage(wxT("Failed writing to the debugger socket. ") + msg); SendEvent(debugEvent); } --- 580,588 ---- if (!write_ok) { + wxString s = wxT("Failed writing to the debugger socket. ") + msg + wxT("\n"); + s += GetSocketErrorMsg(); + wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, this); ! debugEvent.SetMessage(s); SendEvent(debugEvent); } *************** *** 587,593 **** wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EXIT, this); debugEvent.SetMessage(wxString::Format(wxT("Process (%d) ended with exit code : %d"), event.GetPid(), event.GetExitCode())); ! ProcessEvent(debugEvent); ! event.Skip(); } } --- 638,645 ---- wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EXIT, this); debugEvent.SetMessage(wxString::Format(wxT("Process (%d) ended with exit code : %d"), event.GetPid(), event.GetExitCode())); ! wxPostEvent(this, debugEvent); } + + event.Skip(); } *************** *** 618,625 **** // ---------------------------------------------------------------------------- ! // wxLuaDebuggerServer::LuaThread // ---------------------------------------------------------------------------- ! void *wxLuaDebuggerServer::LuaThread::Entry() { m_pServer->ThreadFunction(); --- 670,677 ---- // ---------------------------------------------------------------------------- ! // wxLuaDebuggerCServer::LuaThread // ---------------------------------------------------------------------------- ! void *wxLuaDebuggerCServer::LuaThread::Entry() { m_pServer->ThreadFunction(); *************** *** 627,631 **** } ! void wxLuaDebuggerServer::LuaThread::OnExit() { wxThread::OnExit(); --- 679,683 ---- } ! void wxLuaDebuggerCServer::LuaThread::OnExit() { wxThread::OnExit(); *************** *** 634,672 **** // ---------------------------------------------------------------------------- ! // wxLuaDebuggerServer // ---------------------------------------------------------------------------- ! IMPLEMENT_ABSTRACT_CLASS(wxLuaDebuggerServer, wxLuaDebuggerBase) ! wxLuaDebuggerServer::wxLuaDebuggerServer(int port_number) ! :wxLuaDebuggerBase(port_number), ! m_serverSocket(NULL), m_acceptedSocket(NULL), ! m_pThread(NULL), ! m_fShutdown(false) { } ! wxLuaDebuggerServer::~wxLuaDebuggerServer() { StopServer(); } ! bool wxLuaDebuggerServer::StartServer() { wxCHECK_MSG(m_serverSocket == NULL, false, wxT("Debugger server socket already created")); m_fShutdown = false; ! m_serverSocket = new wxLuaSocket; ! m_serverSocket->m_name = wxString::Format(wxT("wxLuaDebuggerServer::m_serverSocket (%ld)"), (long)wxGetProcessId()); ! try { ! // listen on the specified port ! m_serverSocket->Listen(m_port_number); ! return StartServerThread(); } ! catch(wxLuaSocketException & e) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(wxString::Format(_("Error while opening listening socket. %s"), e.description().c_str())); AddPendingEvent(debugEvent); --- 686,731 ---- // ---------------------------------------------------------------------------- ! // wxLuaDebuggerCServer // ---------------------------------------------------------------------------- ! IMPLEMENT_ABSTRACT_CLASS(wxLuaDebuggerCServer, wxLuaDebuggerBase) ! wxLuaDebuggerCServer::wxLuaDebuggerCServer(int port_number) ! :wxLuaDebuggerBase(port_number), ! m_serverSocket(NULL), m_acceptedSocket(NULL), ! m_pThread(NULL), ! m_fShutdown(false) { } ! wxLuaDebuggerCServer::~wxLuaDebuggerCServer() { StopServer(); } ! bool wxLuaDebuggerCServer::StartServer() { wxCHECK_MSG(m_serverSocket == NULL, false, wxT("Debugger server socket already created")); m_fShutdown = false; ! m_serverSocket = new wxLuaCSocket(); ! m_serverSocket->m_name = wxString::Format(wxT("wxLuaDebuggerCServer::m_serverSocket (%ld)"), (long)wxGetProcessId()); ! if (m_serverSocket->Listen(m_port_number)) { ! wxCHECK_MSG(m_pThread == NULL, false, wxT("Debugger server thread already created")); ! ! if (!m_fShutdown) ! { ! m_pThread = new wxLuaDebuggerCServer::LuaThread(this); ! ! return ((m_pThread != NULL) && ! (m_pThread->Create() == wxTHREAD_NO_ERROR) && ! (m_pThread->Run() == wxTHREAD_NO_ERROR)); ! } } ! else { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(m_serverSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); *************** *** 679,722 **** } ! long wxLuaDebuggerServer::StartClient() { wxCHECK_MSG(m_serverSocket, false, wxT("Debugger server not started")); wxCHECK_MSG(m_pThread, false, wxT("Debugger server thread not running")); - if ((m_debuggeeProcess == NULL) && !m_fShutdown) - { - m_debuggeeProcess = new wxLuaDebuggerProcess(this, ID_WXLUASOCKET_DEBUGGEE_PROCESS); - wxString command = wxString::Format(wxT("%s -d%s:%u"), - GetProgramName().c_str(), - GetNetworkName().c_str(), - m_port_number); - - m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC|wxEXEC_MAKE_GROUP_LEADER, m_debuggeeProcess); - - if (m_debuggeeProcessID < 1) - KillDebuggee(); - } - - return m_debuggeeProcessID; - } - - bool wxLuaDebuggerServer::StartServerThread() - { - wxCHECK_MSG(m_serverSocket, false, wxT("Debugger server not started")); - wxCHECK_MSG(m_pThread == NULL, false, wxT("Debugger server thread already created")); - if (!m_fShutdown) ! { ! m_pThread = new wxLuaDebuggerServer::LuaThread(this); ! ! return ((m_pThread != NULL) && ! (m_pThread->Create() == wxTHREAD_NO_ERROR) && ! (m_pThread->Run() == wxTHREAD_NO_ERROR)); ! } ! return false; } ! bool wxLuaDebuggerServer::StopServer() { // NO checks, can always call stop server --- 738,753 ---- } ! long wxLuaDebuggerCServer::StartClient() { wxCHECK_MSG(m_serverSocket, false, wxT("Debugger server not started")); wxCHECK_MSG(m_pThread, false, wxT("Debugger server thread not running")); if (!m_fShutdown) ! return wxLuaDebuggerBase::StartClient(); ! return m_debuggeeProcessID; } ! bool wxLuaDebuggerCServer::StopServer() { // NO checks, can always call stop server *************** *** 728,739 **** if (m_acceptedSocket != NULL) { ! try ! { ! m_acceptedSocket->Shutdown(SD_BOTH); ! } ! catch(wxLuaSocketException & /*e*/) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(_("Error while shutting down session socket")); AddPendingEvent(debugEvent); } --- 759,766 ---- if (m_acceptedSocket != NULL) { ! if (!m_acceptedSocket->Shutdown(SD_BOTH)) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(m_acceptedSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); } *************** *** 755,781 **** // so the thread will not loop and instead will just destroy the // session socket object and return. ! try ! { ! wxLuaSocket closeSocket; ! closeSocket.m_name = wxString::Format(wxT("wxLuaDebuggerServer closeSocket (%ld)"), (long)wxGetProcessId()); ! closeSocket.Connect(GetNetworkName(), m_port_number); ! closeSocket.Shutdown(SD_BOTH); ! ! wxMilliSleep(100); ! wxLuaSocket *serverSocket = m_serverSocket; ! m_serverSocket = NULL; ! delete serverSocket; ! } ! catch(wxLuaSocketException & /*e*/) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(_("Error while shutting down server socket")); AddPendingEvent(debugEvent); } } // One of the above two operations terminates the thread. Wait for it to stop. ! if ((m_pThread != NULL) && m_pThread->IsRunning()) m_pThread->Wait(); --- 782,805 ---- // so the thread will not loop and instead will just destroy the // session socket object and return. ! wxLuaSocket closeSocket; ! closeSocket.m_name = wxString::Format(wxT("wxLuaDebuggerCServer closeSocket (%ld)"), (long)wxGetProcessId()); ! if (!closeSocket.Connect(GetNetworkName(), m_port_number) || ! !closeSocket.Shutdown(SD_BOTH)) { wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(m_acceptedSocket->GetErrorMsg(true)); AddPendingEvent(debugEvent); } + + wxMilliSleep(100); + + wxLuaSocket *serverSocket = m_serverSocket; + m_serverSocket = NULL; + delete serverSocket; } // One of the above two operations terminates the thread. Wait for it to stop. ! if ((m_pThread != NULL))// && m_pThread->IsRunning()) m_pThread->Wait(); *************** *** 786,798 **** } ! void wxLuaDebuggerServer::ThreadFunction() { wxCHECK_RET(m_serverSocket, wxT("Invalid server socket")); wxCHECK_RET(m_acceptedSocket == NULL, wxT("The debugger server has already accepted a socket connection")); ! try { ! m_acceptedSocket = new wxLuaSocket(m_serverSocket->Accept()); ! m_acceptedSocket->m_name = wxString::Format(wxT("wxLuaDebuggerServer::m_acceptedSocket (%ld)"), (long)wxGetProcessId()); wxLuaSocket *serverSocket = m_serverSocket; --- 810,828 ---- } ! void wxLuaDebuggerCServer::ThreadFunction() { wxCHECK_RET(m_serverSocket, wxT("Invalid server socket")); wxCHECK_RET(m_acceptedSocket == NULL, wxT("The debugger server has already accepted a socket connection")); ! m_acceptedSocket = m_serverSocket->Accept(); ! if (!m_acceptedSocket) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(m_serverSocket->GetErrorMsg(true)); ! AddPendingEvent(debugEvent); ! } ! else ! { ! m_acceptedSocket->m_name = wxString::Format(wxT("wxLuaDebuggerCServer::m_acceptedSocket (%ld)"), (long)wxGetProcessId()); wxLuaSocket *serverSocket = m_serverSocket; *************** *** 802,829 **** wxMilliSleep(500); // why ?? ! try ! { ! // Notify that a client has connected and we are ready to debug ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, this); ! AddPendingEvent(debugEvent); ! // Enter the debug loop ! while (!m_fShutdown && m_acceptedSocket) ! { ! unsigned char debugEvent = 0; // wxLuaSocketDebuggeeEvents_Type ! if (//m_acceptedSocket->IsReadable() && ! m_acceptedSocket->ReadCmd(debugEvent)) ! { ! HandleDebuggeeEvent(debugEvent); ! if (debugEvent == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) ! m_fShutdown = true; ! } ! } ! } ! catch(wxLuaSocketException &) { ! wxPrintf(wxT("I'm here!\n")); ! } --- 832,853 ---- wxMilliSleep(500); // why ?? ! // Notify that a client has connected and we are ready to debug ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, this); ! AddPendingEvent(debugEvent); ! unsigned char debug_event = 0; // wxLuaSocketDebuggeeEvents_Type ! // Enter the debug loop ! while (!m_pThread->TestDestroy() && !m_fShutdown && m_acceptedSocket) { ! debug_event = 0; ! if (m_acceptedSocket->ReadCmd(debug_event) && ! ((debug_event == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) || ! (HandleDebuggeeEvent(debug_event) != -1))) ! { ! // don't send exit event until we've closed the socket ! if (debug_event == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) ! m_fShutdown = true; ! } } *************** *** 836,846 **** } } ! catch(wxLuaSocketException &) { }... [truncated message content] |
From: John L. <jr...@us...> - 2007-05-19 02:05:50
|
Update of /cvsroot/wxlua/wxLua/modules/wxbind/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/wxbind/src Modified Files: Makefile defsutil.cpp wx_bind.cpp Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: wx_bind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/wx_bind.cpp,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** wx_bind.cpp 19 Mar 2007 03:47:20 -0000 1.91 --- wx_bind.cpp 19 May 2007 02:05:46 -0000 1.92 *************** *** 1982,1986 **** --- 1982,1988 ---- { "wxKILL_ACCESS_DENIED", wxKILL_ACCESS_DENIED }, { "wxKILL_BAD_SIGNAL", wxKILL_BAD_SIGNAL }, + { "wxKILL_CHILDREN", wxKILL_CHILDREN }, { "wxKILL_ERROR", wxKILL_ERROR }, + { "wxKILL_NOCHILDREN", wxKILL_NOCHILDREN }, { "wxKILL_NO_PROCESS", wxKILL_NO_PROCESS }, { "wxKILL_OK", wxKILL_OK }, *************** *** 6103,6106 **** --- 6105,6135 ---- #endif // (wxCHECK_VERSION(2,8,0)) && (wxLUA_USE_wxJoystick && wxUSE_JOYSTICK) + #if wxLUA_USE_wxProcess + static wxLuaArgTag s_wxluatagArray_wxLua_function_wxKill[] = { &s_wxluaarg_Number, &s_wxluaarg_Enumeration, &s_wxluaarg_LightUserData, &s_wxluaarg_Number, 0 }; + // %function int wxKill(long pid, wxSignal sig = wxSIGTERM, wxKillError *rc = NULL, int flags = 0) + static int LUACALL wxLua_function_wxKill(lua_State *L) + { + wxLuaState wxlState(L); + int returns; + // get number of arguments + int argCount = lua_gettop(L); + // int flags = 0 + int flags = (argCount >= 4 ? (int)wxlState.GetNumberType(4) : 0); + // wxKillError rc = NULL + wxKillError * rc = (argCount >= 3 ? (wxKillError *)wxlState.ttouserdata(3) : NULL); + // wxSignal sig = wxSIGTERM + wxSignal sig = (argCount >= 2 ? (wxSignal)wxlState.GetEnumerationType(2) : wxSIGTERM); + // long pid + long pid = (long)wxlState.GetNumberType(1); + // call wxKill + returns = wxKill(pid, sig, rc, flags); + // push the result number + lua_pushnumber(L, returns); + + return 1; + } + + #endif // wxLUA_USE_wxProcess + static wxLuaArgTag s_wxluatagArray_wxLua_function_wxLaunchDefaultBrowser[] = { &s_wxluaarg_String, 0 }; // %function bool wxLaunchDefaultBrowser(const wxString& sUrl) *************** *** 6275,6278 **** --- 6304,6348 ---- + #if wxLUA_USE_wxProcess + static wxLuaArgTag s_wxluatagArray_wxLua_wxProcess_Exists[] = { &s_wxluaarg_Number, 0 }; + // %staticonly bool Exists(int pid) + static int LUACALL wxLua_wxProcess_Exists(lua_State *L) + { + wxLuaState wxlState(L); + bool returns; + // int pid + int pid = (int)wxlState.GetNumberType(1); + // call Exists + returns = wxProcess::Exists(pid); + // push the result flag + lua_pushboolean(L, returns); + + return 1; + } + + static wxLuaArgTag s_wxluatagArray_wxLua_wxProcess_Kill[] = { &s_wxluaarg_Number, &s_wxluaarg_Enumeration, &s_wxluaarg_Number, 0 }; + // %staticonly wxKillError Kill(int pid, wxSignal sig = wxSIGTERM, int flags = wxKILL_NOCHILDREN) + static int LUACALL wxLua_wxProcess_Kill(lua_State *L) + { + wxLuaState wxlState(L); + wxKillError returns; + // get number of arguments + int argCount = lua_gettop(L); + // int flags = wxKILL_NOCHILDREN + int flags = (argCount >= 3 ? (int)wxlState.GetNumberType(3) : wxKILL_NOCHILDREN); + // wxSignal sig = wxSIGTERM + wxSignal sig = (argCount >= 2 ? (wxSignal)wxlState.GetEnumerationType(2) : wxSIGTERM); + // int pid + int pid = (int)wxlState.GetNumberType(1); + // call Kill + returns = wxProcess::Kill(pid, sig, flags); + // push the result number + lua_pushnumber(L, returns); + + return 1; + } + + #endif // wxLUA_USE_wxProcess + #if wxCHECK_VERSION(2,8,0) static wxLuaArgTag s_wxluatagArray_wxLua_function_wxRealPath[] = { &s_wxluaarg_String, 0 }; *************** *** 7151,7154 **** --- 7221,7228 ---- #endif // (wxCHECK_VERSION(2,8,0)) && (wxLUA_USE_wxJoystick && wxUSE_JOYSTICK) + #if wxLUA_USE_wxProcess + { LuaGlobal, "wxKill", wxLua_function_wxKill, 4, 1, s_wxluatagArray_wxLua_function_wxKill }, + #endif // wxLUA_USE_wxProcess + { LuaGlobal, "wxLaunchDefaultBrowser", wxLua_function_wxLaunchDefaultBrowser, 1, 1, s_wxluatagArray_wxLua_function_wxLaunchDefaultBrowser }, { LuaGlobal, "wxMatchWild", wxLua_function_wxMatchWild, 3, 3, s_wxluatagArray_wxLua_function_wxMatchWild }, *************** *** 7166,7169 **** --- 7240,7248 ---- { LuaGlobal, "wxPostEvent", wxLua_function_wxPostEvent, 2, 2, s_wxluatagArray_wxLua_function_wxPostEvent }, + #if wxLUA_USE_wxProcess + { LuaGlobal, "wxProcess_Exists", wxLua_wxProcess_Exists, 1, 1, s_wxluatagArray_wxLua_wxProcess_Exists }, + { LuaGlobal, "wxProcess_Kill", wxLua_wxProcess_Kill, 3, 1, s_wxluatagArray_wxLua_wxProcess_Kill }, + #endif // wxLUA_USE_wxProcess + #if wxCHECK_VERSION(2,8,0) { LuaGlobal, "wxRealPath", wxLua_function_wxRealPath, 1, 1, s_wxluatagArray_wxLua_function_wxRealPath }, Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/Makefile,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile 21 Dec 2006 06:02:03 -0000 1.11 --- Makefile 19 May 2007 02:05:46 -0000 1.12 *************** *** 39,43 **** CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_WXLUASETUP_DIR) -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= WXBIND_TARGET_LIBNAME = lib$(WXBASENAME)_wxluabind-$(WXRELEASE) --- 39,43 ---- CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_WXLUASETUP_DIR) -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= WXBIND_TARGET_LIBNAME = lib$(WXBASENAME)_wxluabind-$(WXRELEASE) Index: defsutil.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/defsutil.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** defsutil.cpp 19 Mar 2007 03:47:18 -0000 1.30 --- defsutil.cpp 19 May 2007 02:05:46 -0000 1.31 *************** *** 76,95 **** } - static wxLuaArgTag s_wxluatagArray_wxLua_wxProcess_Exists[] = { &s_wxluaarg_Number, 0 }; - // static bool Exists(int pid) - static int LUACALL wxLua_wxProcess_Exists(lua_State *L) - { - wxLuaState wxlState(L); - bool returns; - // int pid - int pid = (int)wxlState.GetNumberType(2); - // call Exists - returns = wxProcess::Exists(pid); - // push the result flag - lua_pushboolean(L, returns); - - return 1; - } - #endif // wxLUA_USE_wxProcess --- 76,79 ---- *************** *** 206,231 **** } - static wxLuaArgTag s_wxluatagArray_wxLua_wxProcess_Kill[] = { &s_wxluaarg_Number, &s_wxluaarg_Enumeration, &s_wxluaarg_Number, 0 }; - // static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM, int flags = wxKILL_NOCHILDREN) - static int LUACALL wxLua_wxProcess_Kill(lua_State *L) - { - wxLuaState wxlState(L); - wxKillError returns; - // get number of arguments - int argCount = lua_gettop(L); - // int flags = wxKILL_NOCHILDREN - int flags = (argCount >= 4 ? (int)wxlState.GetNumberType(4) : wxKILL_NOCHILDREN); - // wxSignal sig = wxSIGTERM - wxSignal sig = (argCount >= 3 ? (wxSignal)wxlState.GetEnumerationType(3) : wxSIGTERM); - // int pid - int pid = (int)wxlState.GetNumberType(2); - // call Kill - returns = wxProcess::Kill(pid, sig, flags); - // push the result number - lua_pushnumber(L, returns); - - return 1; - } - static wxLuaArgTag s_wxluatagArray_wxLua_wxProcess_Open[] = { &s_wxluaarg_String, &s_wxluaarg_Number, 0 }; // static wxProcess *Open(const wxString& cmd, int flags = wxEXEC_ASYNC) --- 190,193 ---- *************** *** 319,323 **** { LuaMethod, "Delete", wxLua_wxProcess_Delete, 0, 0, s_wxluaargArray_None }, { LuaMethod, "Detach", wxLua_wxProcess_Detach, 0, 0, s_wxluaargArray_None }, - { LuaMethod, "Exists", wxLua_wxProcess_Exists, 1, 1, s_wxluatagArray_wxLua_wxProcess_Exists }, #if ((wxUSE_STREAMS) && (wxLUA_USE_wxProcess)) && (wxUSE_STREAMS) --- 281,284 ---- *************** *** 334,338 **** { LuaMethod, "IsRedirected", wxLua_wxProcess_IsRedirected, 0, 0, s_wxluaargArray_None }, - { LuaMethod, "Kill", wxLua_wxProcess_Kill, 3, 1, s_wxluatagArray_wxLua_wxProcess_Kill }, { LuaMethod, "Open", wxLua_wxProcess_Open, 2, 1, s_wxluatagArray_wxLua_wxProcess_Open }, { LuaMethod, "Redirect", wxLua_wxProcess_Redirect, 0, 0, s_wxluaargArray_None }, --- 295,298 ---- |
From: John L. <jr...@us...> - 2007-05-19 02:05:50
|
Update of /cvsroot/wxlua/wxLua/modules/wxluadebug/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/wxluadebug/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluadebug/src/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile 21 Dec 2006 06:02:04 -0000 1.7 --- Makefile 19 May 2007 02:05:47 -0000 1.8 *************** *** 36,40 **** CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= TARGET_LIBNAME = lib$(WXBASENAME)_wxluadebug-$(WXRELEASE) --- 36,40 ---- CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= TARGET_LIBNAME = lib$(WXBASENAME)_wxluadebug-$(WXRELEASE) |
From: John L. <jr...@us...> - 2007-05-19 02:05:50
|
Update of /cvsroot/wxlua/wxLua/modules/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/wxlua/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/Makefile,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Makefile 21 Dec 2006 06:02:04 -0000 1.10 --- Makefile 19 May 2007 02:05:46 -0000 1.11 *************** *** 36,40 **** CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= TARGET_LIBNAME = lib$(WXBASENAME)_wxlua-$(WXRELEASE) --- 36,40 ---- CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXPREFIX)/contrib/include -DLUACALL= TARGET_LIBNAME = lib$(WXBASENAME)_wxlua-$(WXRELEASE) |
From: John L. <jr...@us...> - 2007-05-19 02:05:50
|
Update of /cvsroot/wxlua/wxLua/modules/wxbindstc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11964/wxLua/modules/wxbindstc/src Modified Files: Makefile Log Message: Make wxProcess Kill and Exists functions %staticonly Remove all exception code from wxLuaSocket code (debugger code) Rename wxLuaSocket to wxLuaCSocket and move wxLuaDebuggerSocket to wxLuawxSocket we have two options C or wx sockets now... both work in 2.8 GTK2 Lots of reorganization in server and socket code Update the editor.wx.lua for new code and only Delete() the debugger server in EVT_IDLE to give it a chance to exit gracefully Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbindstc/src/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile 21 Dec 2006 06:02:03 -0000 1.7 --- Makefile 19 May 2007 02:05:46 -0000 1.8 *************** *** 36,40 **** CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXLUA_WXLUASETUP_DIR) -I$(WXPREFIX)/contrib/include -fexceptions -DLUACALL= WXBIND_TARGET_LIBNAME = lib$(WXBASENAME)_wxluastc-$(WXRELEASE) --- 36,40 ---- CXX = $(WXCXX) ! APPEXTRADEFS = -I$(WXLUA_DIR) -I$(WXLUA_DIR)/modules -I$(WXLUA_DIR)/modules/lua/include -I$(WXLUA_WXLUASETUP_DIR) -I$(WXPREFIX)/contrib/include -DLUACALL= WXBIND_TARGET_LIBNAME = lib$(WXBASENAME)_wxluastc-$(WXRELEASE) |
From: John L. <jr...@us...> - 2007-05-09 01:40:26
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv24417/wxLua/samples Modified Files: editor.wx.lua Log Message: Rearrange a few menu items and add more accelerators Index: editor.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/editor.wx.lua,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** editor.wx.lua 9 Mar 2007 06:10:20 -0000 1.45 --- editor.wx.lua 9 May 2007 01:40:22 -0000 1.46 *************** *** 43,50 **** local ID_NEW = wx.wxID_NEW local ID_OPEN = wx.wxID_OPEN local ID_SAVE = wx.wxID_SAVE local ID_SAVEAS = wx.wxID_SAVEAS local ID_SAVEALL = NewID() - local ID_CLOSE = NewID() local ID_EXIT = wx.wxID_EXIT -- Edit menu --- 43,50 ---- local ID_NEW = wx.wxID_NEW local ID_OPEN = wx.wxID_OPEN + local ID_CLOSE = NewID() local ID_SAVE = wx.wxID_SAVE local ID_SAVEAS = wx.wxID_SAVEAS local ID_SAVEALL = NewID() local ID_EXIT = wx.wxID_EXIT -- Edit menu *************** *** 57,61 **** local ID_AUTOCOMPLETE = NewID() local ID_AUTOCOMPLETE_ENABLE = NewID() - local ID_CLEAROUTPUT = NewID() local ID_COMMENT = NewID() local ID_FOLD = NewID() --- 57,60 ---- *************** *** 73,76 **** --- 72,77 ---- local ID_ATTACH_DEBUG = NewID() local ID_START_DEBUG = NewID() + local ID_USECONSOLE = NewID() + local ID_STOP_DEBUG = NewID() local ID_STEP = NewID() *************** *** 82,86 **** local ID_VIEWWATCHWINDOW = NewID() local ID_SHOWHIDEWINDOW = NewID() ! local ID_USECONSOLE = NewID() -- Help menu local ID_ABOUT = wx.wxID_ABOUT --- 83,87 ---- local ID_VIEWWATCHWINDOW = NewID() local ID_SHOWHIDEWINDOW = NewID() ! local ID_CLEAROUTPUT = NewID() -- Help menu local ID_ABOUT = wx.wxID_ABOUT *************** *** 132,136 **** editorID = 100 -- window id to create editor pages with, incremented for new editors exitingProgram = false -- are we currently exiting, ID_EXIT ! autoCompleteEnable = true wxkeywords = nil -- a string of the keywords for scintilla of wxLua's wx.XXX items font = nil -- fonts to use for the editor --- 133,137 ---- editorID = 100 -- window id to create editor pages with, incremented for new editors exitingProgram = false -- are we currently exiting, ID_EXIT ! autoCompleteEnable = true -- value of ID_AUTOCOMPLETE_ENABLE menu item wxkeywords = nil -- a string of the keywords for scintilla of wxLua's wx.XXX items font = nil -- fonts to use for the editor *************** *** 820,827 **** { ID_NEW, "&New\tCtrl-N", "Create an empty document" }, { ID_OPEN, "&Open...\tCtrl-O", "Open an existing document" }, { ID_SAVE, "&Save\tCtrl-S", "Save the current document" }, { ID_SAVEAS, "Save &As...\tAlt-S", "Save the current document to a file with a new name" }, { ID_SAVEALL, "Save A&ll...\tCtrl-Shift-S", "Save all open documents" }, - { ID_CLOSE, "&Close page\tCtrl+W", "Close the current editor window" }, { }, { ID_EXIT, "E&xit\tAlt-X", "Exit Program" }} --- 821,829 ---- { ID_NEW, "&New\tCtrl-N", "Create an empty document" }, { ID_OPEN, "&Open...\tCtrl-O", "Open an existing document" }, + { ID_CLOSE, "&Close page\tCtrl+W", "Close the current editor window" }, + { }, { ID_SAVE, "&Save\tCtrl-S", "Save the current document" }, { ID_SAVEAS, "Save &As...\tAlt-S", "Save the current document to a file with a new name" }, { ID_SAVEALL, "Save A&ll...\tCtrl-Shift-S", "Save all open documents" }, { }, { ID_EXIT, "E&xit\tAlt-X", "Exit Program" }} *************** *** 1116,1131 **** { ID_COPY, "&Copy\tCtrl-C", "Copy selected text to the clipboard" }, { ID_PASTE, "&Paste\tCtrl-V", "Insert clipboard text at cursor" }, ! { ID_SELECTALL, "Select &All\tCtrl-A", "Select all text in the editor" }, { }, { ID_UNDO, "&Undo\tCtrl-Z", "Undo the last action" }, { ID_REDO, "&Redo\tCtrl-Y", "Redo the last action undone" }, { }, ! { ID_AUTOCOMPLETE, "Complete Identifier\tCtrl+K", "Complete the current identifier" }, { ID_AUTOCOMPLETE_ENABLE, "Auto complete Identifiers", "Auto complete while typing", wx.wxITEM_CHECK }, { }, ! { ID_COMMENT, "Comment/Uncomment\tCtrl-Q", "Comment or uncomment current or selected lines"}, ! { ID_FOLD, "Fold/Unfold all\tF12", "Fold or unfold all code folds"}, { }, ! { ID_CLEAROUTPUT, "Clear output", "Clear the output window" } } menuBar:Append(editMenu, "&Edit") --- 1118,1132 ---- { ID_COPY, "&Copy\tCtrl-C", "Copy selected text to the clipboard" }, { ID_PASTE, "&Paste\tCtrl-V", "Insert clipboard text at cursor" }, ! { ID_SELECTALL, "Select A&ll\tCtrl-A", "Select all text in the editor" }, { }, { ID_UNDO, "&Undo\tCtrl-Z", "Undo the last action" }, { ID_REDO, "&Redo\tCtrl-Y", "Redo the last action undone" }, { }, ! { ID_AUTOCOMPLETE, "Complete &Identifier\tCtrl+K", "Complete the current identifier" }, { ID_AUTOCOMPLETE_ENABLE, "Auto complete Identifiers", "Auto complete while typing", wx.wxITEM_CHECK }, { }, ! { ID_COMMENT, "C&omment/Uncomment\tCtrl-Q", "Comment or uncomment current or selected lines"}, { }, ! { ID_FOLD, "&Fold/Unfold all\tF12", "Fold or unfold all code folds"} } menuBar:Append(editMenu, "&Edit") *************** *** 1207,1222 **** end) - function ClearOutput(event) - errorLog:SetReadOnly(false) - errorLog:ClearAll() - errorLog:SetReadOnly(true) - end - - frame:Connect(ID_CLEAROUTPUT, wx.wxEVT_COMMAND_MENU_SELECTED, ClearOutput) - frame:Connect(ID_CLEAROUTPUT, wx.wxEVT_UPDATE_UI, - function(event) - event:Enable(errorLog and errorLog:IsShown()) - end) - frame:Connect(ID_COMMENT, wx.wxEVT_COMMAND_MENU_SELECTED, function (event) --- 1208,1211 ---- *************** *** 1637,1659 **** debugMenu = wx.wxCreateMenu{ ! { ID_TOGGLEBREAKPOINT, "Toggle Breakpoint\tF9", "Toggle Breakpoint" }, { }, ! { ID_COMPILE, "Compile\tF7", "Test compile the wxLua program" }, ! { ID_RUN, "Run\tF6", "Execute the current file" }, ! { ID_ATTACH_DEBUG, "Attach\tShift-F6", "Allow a client to start a debugging session" }, ! { ID_START_DEBUG, "Start Debugging\tShift-F5", "Start a debugging session" }, { ID_USECONSOLE, "Console", "Use console when running", wx.wxITEM_CHECK }, { }, ! { ID_STOP_DEBUG, "Stop Debugging\tShift-F12", "Stop and end the debugging session" }, ! { ID_STEP, "Step\tF11", "Step into the next line" }, ! { ID_STEP_OVER, "Step Over\tShift-F11", "Step over the next line" }, ! { ID_STEP_OUT, "Step Out\tF8", "Step out of the current function" }, ! { ID_CONTINUE, "Continue\tF5", "Run the program at full speed" }, ! { ID_BREAK, "Break\tF12", "Stop execution of the program at the next executed line of code" }, { }, ! { ID_VIEWCALLSTACK, "View Call Stack", "View the LUA call stack" }, ! { ID_VIEWWATCHWINDOW, "View Watches", "View the Watch window" }, { }, ! { ID_SHOWHIDEWINDOW, "View Output Window\tF8", "View or Hide the output window"}} menuBar:Append(debugMenu, "&Debug") --- 1626,1649 ---- debugMenu = wx.wxCreateMenu{ ! { ID_TOGGLEBREAKPOINT, "Toggle &Breakpoint\tF9", "Toggle Breakpoint" }, { }, ! { ID_COMPILE, "&Compile\tF7", "Test compile the wxLua program" }, ! { ID_RUN, "&Run\tF6", "Execute the current file" }, ! { ID_ATTACH_DEBUG, "&Attach\tShift-F6", "Allow a client to start a debugging session" }, ! { ID_START_DEBUG, "&Start Debugging\tShift-F5", "Start a debugging session" }, { ID_USECONSOLE, "Console", "Use console when running", wx.wxITEM_CHECK }, { }, ! { ID_STOP_DEBUG, "S&top Debugging\tShift-F12", "Stop and end the debugging session" }, ! { ID_STEP, "St&ep\tF11", "Step into the next line" }, ! { ID_STEP_OVER, "Step &Over\tShift-F11", "Step over the next line" }, ! { ID_STEP_OUT, "Step O&ut\tF8", "Step out of the current function" }, ! { ID_CONTINUE, "Co&ntinue\tF5", "Run the program at full speed" }, ! { ID_BREAK, "&Break\tF12", "Stop execution of the program at the next executed line of code" }, { }, ! { ID_VIEWCALLSTACK, "V&iew Call Stack", "View the LUA call stack" }, ! { ID_VIEWWATCHWINDOW, "View &Watches", "View the Watch window" }, { }, ! { ID_SHOWHIDEWINDOW, "View &Output Window\tF8", "View or Hide the output window" }, ! { ID_CLEAROUTPUT, "C&lear output", "Clear the output window" } } menuBar:Append(debugMenu, "&Debug") *************** *** 2161,2167 **** end) ! frame:Connect(ID_USECONSOLE, wx.wxEVT_COMMAND_MENU_SELECTED, ! function (event) ! menuBar:Check(ID_USECONSOLE, menuBar:IsChecked(ID_USECONSOLE)) end) --- 2151,2164 ---- end) ! function ClearOutput(event) ! errorLog:SetReadOnly(false) ! errorLog:ClearAll() ! errorLog:SetReadOnly(true) ! end ! ! frame:Connect(ID_CLEAROUTPUT, wx.wxEVT_COMMAND_MENU_SELECTED, ClearOutput) ! frame:Connect(ID_CLEAROUTPUT, wx.wxEVT_UPDATE_UI, ! function(event) ! event:Enable(errorLog and errorLog:IsShown()) end) *************** *** 2169,2172 **** --- 2166,2173 ---- -- Create the Help menu and attach the callback functions + helpMenu = wx.wxCreateMenu{ + { ID_ABOUT, "&About\tF1", "About wxLua IDE" }} + menuBar:Append(helpMenu, "&Help") + function DisplayAbout(event) local page = [[ *************** *** 2240,2247 **** end - helpMenu = wx.wxCreateMenu{ - { ID_ABOUT, "&About\tF1", "About wxLua IDE" }} - menuBar:Append(helpMenu, "&Help") - frame:Connect(ID_ABOUT, wx.wxEVT_COMMAND_MENU_SELECTED, DisplayAbout) --- 2241,2244 ---- |
From: John L. <jr...@us...> - 2007-05-09 01:40:25
|
Update of /cvsroot/wxlua/wxLua/apps/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv24417/wxLua/apps/wxlua/src Modified Files: editor.h Log Message: Rearrange a few menu items and add more accelerators Index: editor.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxlua/src/editor.h,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** editor.h 12 Dec 2006 07:09:37 -0000 1.32 --- editor.h 9 May 2007 01:40:21 -0000 1.33 *************** *** 1,5 **** /* Generated by bin2c.lua and should be compiled with your program. */ ! /* Access with : extern const size_t filename_len; */ ! /* extern const unsigned char filename[]; */ #include <stdio.h> /* for size_t */ --- 1,6 ---- /* Generated by bin2c.lua and should be compiled with your program. */ ! /* Access with : */ ! /* extern const size_t stringname_len; (excludes teminating NULL) */ ! /* extern const unsigned char stringname[]; */ [...1280 lines suppressed...] 101,110,100, 10, 10, - 104,101,108,112, 77,101,110,117, 32, 61, 32,119,120, 46,119,120, 67,114,101, 97,116,101, 77,101,110,117,123, 10, - 32, 32, 32, 32, 32, 32, 32, 32,123, 32, 73, 68, 95, 65, 66, 79, 85, 84, 44, 32, 32, 32, 32, 32, 32, 34, 38, 65, 98,111,117,116, 92,116, 70, 49, 34, 44, 32, 32, 32, 32, 32, 32, 32, 34, 65, 98,111,117,116, 32,119,120, 76,117, 97, 32, 73, 68, 69, 34, 32,125,125, 10, - 109,101,110,117, 66, 97,114, 58, 65,112,112,101,110,100, 40,104,101,108,112, 77,101,110,117, 44, 32, 34, 38, 72,101,108,112, 34, 41, 10, - 10, 102,114, 97,109,101, 58, 67,111,110,110,101, 99,116, 40, 73, 68, 95, 65, 66, 79, 85, 84, 44, 32,119,120, 46,119,120, 69, 86, 84, 95, 67, 79, 77, 77, 65, 78, 68, 95, 77, 69, 78, 85, 95, 83, 69, 76, 69, 67, 84, 69, 68, 44, 32, 68,105,115,112,108, 97,121, 65, 98,111,117,116, 41, 10, 10, --- 2254,2257 ---- *************** *** 2109,2112 **** 45, 45,102,114, 97,109,101, 58, 83,101,116, 73, 99,111,110, 40,119,120, 76,117, 97, 69,100,105,116,111,114, 73, 99,111,110, 41, 32, 45, 45, 70, 73, 88, 77, 69, 32, 97,100,100, 32,116,104,105,115, 32, 98, 97, 99,107, 10, 102,114, 97,109,101, 58, 83,104,111,119, 40,116,114,117,101, 41, 10, ! 0 }; --- 2324,2327 ---- 45, 45,102,114, 97,109,101, 58, 83,101,116, 73, 99,111,110, 40,119,120, 76,117, 97, 69,100,105,116,111,114, 73, 99,111,110, 41, 32, 45, 45, 70, 73, 88, 77, 69, 32, 97,100,100, 32,116,104,105,115, 32, 98, 97, 99,107, 10, 102,114, 97,109,101, 58, 83,104,111,119, 40,116,114,117,101, 41, 10, ! 0 }; |
From: John L. <jr...@us...> - 2007-05-08 22:20:18
|
Update of /cvsroot/wxlua/wxLua/build/msvc6 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv13136/msvc6 Modified Files: wxLua.dsw Log Message: Add app_luac Index: wxLua.dsw =================================================================== RCS file: /cvsroot/wxlua/wxLua/build/msvc6/wxLua.dsw,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** wxLua.dsw 4 May 2007 20:36:24 -0000 1.5 --- wxLua.dsw 8 May 2007 22:20:14 -0000 1.6 *************** *** 19,22 **** --- 19,37 ---- ############################################################################### + Project: "app_luac"=..\..\apps\build\msvc6\apps_app_luac.dsp - Package Owner=<4> + + Package=<5> + {{{ + }}} + + Package=<4> + {{{ + Begin Project Dependency + Project_Dep_Name mod_lua + End Project Dependency + }}} + + ############################################################################### + Project: "app_wxlua"=..\..\apps\build\msvc6\apps_app_wxlua.dsp - Package Owner=<4> |
From: Francesco M. <fr...@us...> - 2007-05-08 18:26:21
|
Update of /cvsroot/wxlua/wxLua/apps/build/msvc8 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv20477/apps/build/msvc8 Added Files: apps_app_luac.vcproj Log Message: added project files for new LUAC target --- NEW FILE: apps_app_luac.vcproj --- <?xml version="1.0" ?> <!-- This makefile was generated by Bakefile 0.2.2 (http://www.bakefile.org) Do not modify, all changes will be overwritten! --> <VisualStudioProject Name="app_luac" ProjectGUID="{50EEE281-856E-5AD8-9E06-E0A15E37B4C5}" ProjectType="Visual C++" Version="8.00"> <Platforms> <Platform Name="Win32"/> </Platforms> <ToolFiles> </ToolFiles> <Configurations> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmswu\app_luac" Name="Release Unicode Monolithic|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswu,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MD" AssemblerListingLocation=".\vcmswu\app_luac\" BasicRuntimeChecks="0" BufferSecurityCheck="false" DebugInformationFormat="0" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmswu\app_luac\" Optimization="2" PreprocessorDefinitions="_UNICODE;__WXMSW__;_CONSOLE" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="2" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswu,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="_UNICODE;__WXMSW__;_CONSOLE"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmswu\app_luac" Name="Release Unicode Multilib|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswu,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MD" AssemblerListingLocation=".\vcmswu\app_luac\" BasicRuntimeChecks="0" BufferSecurityCheck="false" DebugInformationFormat="0" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmswu\app_luac\" Optimization="2" PreprocessorDefinitions="_UNICODE;__WXMSW__;_CONSOLE" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="2" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswu,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="_UNICODE;__WXMSW__;_CONSOLE"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmsw\app_luac" Name="Release Monolithic|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\msw,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MD" AssemblerListingLocation=".\vcmsw\app_luac\" BasicRuntimeChecks="0" BufferSecurityCheck="false" DebugInformationFormat="0" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmsw\app_luac\" Optimization="2" PreprocessorDefinitions="__WXMSW__;_CONSOLE" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="2" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\msw,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="__WXMSW__;_CONSOLE"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmsw\app_luac" Name="Release Multilib|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\msw,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MD" AssemblerListingLocation=".\vcmsw\app_luac\" BasicRuntimeChecks="0" BufferSecurityCheck="false" DebugInformationFormat="0" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmsw\app_luac\" Optimization="2" PreprocessorDefinitions="__WXMSW__;_CONSOLE" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="2" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\msw,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="__WXMSW__;_CONSOLE"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmswud\app_luac" Name="Debug Unicode Monolithic|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswud,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MDd" AssemblerListingLocation=".\vcmswud\app_luac\" BasicRuntimeChecks="3" DebugInformationFormat="3" Detect64BitPortabilityProblems="true" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmswud\app_luac\" Optimization="0" PreprocessorDefinitions="_UNICODE;__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="3" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswud,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="_UNICODE;__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateDebugInformation="true" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmswud\app_luac" Name="Debug Unicode Multilib|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswud,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MDd" AssemblerListingLocation=".\vcmswud\app_luac\" BasicRuntimeChecks="3" DebugInformationFormat="3" Detect64BitPortabilityProblems="true" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmswud\app_luac\" Optimization="0" PreprocessorDefinitions="_UNICODE;__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="3" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswud,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="_UNICODE;__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateDebugInformation="true" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmswd\app_luac" Name="Debug Monolithic|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswd,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MDd" AssemblerListingLocation=".\vcmswd\app_luac\" BasicRuntimeChecks="3" DebugInformationFormat="3" Detect64BitPortabilityProblems="true" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmswd\app_luac\" Optimization="0" PreprocessorDefinitions="__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="3" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswd,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateDebugInformation="true" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> <Configuration ATLMinimizesCRunTimeLibraryUsage="false" ConfigurationType="1" IntermediateDirectory=".\vcmswd\app_luac" Name="Debug Multilib|Win32" OutputDirectory=".\..\..\..\bin\vc_lib" UseOfMFC="0"> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCIDLTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswd,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" AdditionalOptions=" /MDd" AssemblerListingLocation=".\vcmswd\app_luac\" BasicRuntimeChecks="3" DebugInformationFormat="3" Detect64BitPortabilityProblems="true" ExceptionHandling="1" InlineFunctionExpansion="1" Name="VCCLCompilerTool" ObjectFile=".\vcmswd\app_luac\" Optimization="0" PreprocessorDefinitions="__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG" ProgramDataBaseFileName="..\..\..\bin\vc_lib\luac.pdb" RuntimeLibrary="3" RuntimeTypeInfo="true" SuppressStartupBanner="true" WarningLevel="1"/> <Tool Name="VCManagedResourceCompilerTool"/> <Tool AdditionalIncludeDirectories="$(WXWIN)\lib\vc_lib\mswd,$(WXWIN)\include,..\..\..\modules,.\..\..\..,..\..\..\modules\lua\include,..\..\..\modules\lua\include" Culture="1033" Name="VCResourceCompilerTool" PreprocessorDefinitions="__WXDEBUG__;__WXMSW__;_CONSOLE;_DEBUG"/> <Tool Name="VCPreLinkEventTool"/> <Tool AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib lua5.1.lib" AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib,..\..\..\lib\vc_lib,..\..\..\modules\lua\lib" AdditionalOptions="" GenerateDebugInformation="true" GenerateManifest="true" LinkIncremental="2" Name="VCLinkerTool" OutputFile="..\..\..\bin\vc_lib\luac.exe" ProgramDatabaseFile="..\..\..\bin\vc_lib\luac.pdb" SubSystem="1" SuppressStartupBanner="true" TargetMachine="1"/> <Tool Name="VCALinkTool"/> <Tool Name="VCXDCMakeTool"/> <Tool Name="VCBscMakeTool" OutputFile=".\..\..\..\bin\vc_lib\apps_app_luac.bsc" SuppressStartupBanner="true"/> <Tool Name="VCFxCopTool"/> <Tool Name="VCAppVerifierTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCPostBuildEventTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" Name="Source Files" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> <File RelativePath="..\..\..\modules\lua\src\luac.c"/> <File RelativePath="..\..\..\modules\lua\src\print.c"/> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |