pywin32-checkins Mailing List for Python for Windows Extensions (Page 22)
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(6) |
Jul
(50) |
Aug
(11) |
Sep
(24) |
Oct
(184) |
Nov
(118) |
Dec
(22) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(31) |
Feb
(25) |
Mar
(34) |
Apr
(105) |
May
(49) |
Jun
(38) |
Jul
(39) |
Aug
(7) |
Sep
(98) |
Oct
(79) |
Nov
(20) |
Dec
(17) |
| 2005 |
Jan
(66) |
Feb
(32) |
Mar
(43) |
Apr
(30) |
May
(58) |
Jun
(30) |
Jul
(16) |
Aug
(4) |
Sep
(21) |
Oct
(42) |
Nov
(11) |
Dec
(14) |
| 2006 |
Jan
(42) |
Feb
(30) |
Mar
(22) |
Apr
(1) |
May
(9) |
Jun
(15) |
Jul
(20) |
Aug
(9) |
Sep
(8) |
Oct
(1) |
Nov
(9) |
Dec
(43) |
| 2007 |
Jan
(52) |
Feb
(45) |
Mar
(20) |
Apr
(12) |
May
(59) |
Jun
(39) |
Jul
(35) |
Aug
(31) |
Sep
(17) |
Oct
(20) |
Nov
(4) |
Dec
(4) |
| 2008 |
Jan
(28) |
Feb
(111) |
Mar
(4) |
Apr
(27) |
May
(40) |
Jun
(27) |
Jul
(32) |
Aug
(94) |
Sep
(87) |
Oct
(153) |
Nov
(336) |
Dec
(331) |
| 2009 |
Jan
(298) |
Feb
(127) |
Mar
(20) |
Apr
(8) |
May
|
Jun
(10) |
Jul
(6) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
(1) |
| 2010 |
Jan
(7) |
Feb
(1) |
Mar
|
Apr
|
May
(15) |
Jun
(4) |
Jul
(3) |
Aug
(28) |
Sep
(1) |
Oct
(19) |
Nov
(16) |
Dec
(6) |
| 2011 |
Jan
(2) |
Feb
(18) |
Mar
(17) |
Apr
(12) |
May
(5) |
Jun
(11) |
Jul
(7) |
Aug
(2) |
Sep
(2) |
Oct
(4) |
Nov
(4) |
Dec
|
| 2012 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(8) |
May
(4) |
Jun
(3) |
Jul
(13) |
Aug
(27) |
Sep
(8) |
Oct
(9) |
Nov
(3) |
Dec
(2) |
| 2013 |
Jan
|
Feb
(1) |
Mar
(5) |
Apr
(10) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(9) |
| 2014 |
Jan
(2) |
Feb
(4) |
Mar
(4) |
Apr
(1) |
May
(4) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(1) |
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
(6) |
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Mark H. <mha...@us...> - 2009-01-31 03:08:10
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv18657/pywin/scintilla Modified Files: view.py Log Message: allow scintilla to always treat chars as unicode Index: view.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/view.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** view.py 5 Jan 2009 11:09:21 -0000 1.33 --- view.py 31 Jan 2009 03:08:05 -0000 1.34 *************** *** 196,199 **** --- 196,201 ---- # Enable Unicode self.SendScintilla(scintillacon.SCI_SETCODEPAGE, scintillacon.SC_CP_UTF8, 0) + self.SendScintilla(scintillacon.SCI_SETKEYSUNICODE, 1, 0) + # Create margins self.SendScintilla(scintillacon.SCI_SETMARGINTYPEN, 1, scintillacon.SC_MARGIN_SYMBOL); |
|
From: Mark H. <mha...@us...> - 2009-01-31 03:07:30
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv18602/pywin/scintilla Modified Files: find.py Log Message: Fix error in find dialog when no documents were open Index: find.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/find.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** find.py 1 Oct 2008 14:44:53 -0000 1.12 --- find.py 31 Jan 2009 03:07:25 -0000 1.13 *************** *** 173,182 **** self.editFindText.SetWindowText(defaultSearch.findText) control = _GetControl() ! # If we have a selection, default to that. ! sel = control.GetSelText() ! if (len(sel) != 0): ! self.editFindText.SetWindowText(sel) ! if (defaultSearch.remember): ! defaultSearch.findText = sel self.editFindText.SetSel(0, -2) --- 173,185 ---- self.editFindText.SetWindowText(defaultSearch.findText) control = _GetControl() ! # _GetControl only gets normal MDI windows; if the interactive ! # window is docked and no document open, we get None. ! if control: ! # If we have a selection, default to that. ! sel = control.GetSelText() ! if (len(sel) != 0): ! self.editFindText.SetWindowText(sel) ! if (defaultSearch.remember): ! defaultSearch.findText = sel self.editFindText.SetSel(0, -2) |
|
From: Mark H. <mha...@us...> - 2009-01-31 03:06:44
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv18517/pywin/scintilla Modified Files: scintillacon.py Log Message: new scintilla constants Index: scintillacon.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/scintillacon.py,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** scintillacon.py 10 Feb 2008 13:32:47 -0000 1.17 --- scintillacon.py 31 Jan 2009 03:06:40 -0000 1.18 *************** *** 639,642 **** --- 639,645 ---- SCI_GETPOSITIONCACHE = 2515 SCI_COPYALLOWLINE = 2519 + SCI_GETCHARACTERPOINTER = 2520 + SCI_SETKEYSUNICODE = 2521 + SCI_GETKEYSUNICODE = 2522 SCI_STARTRECORD = 3001 SCI_STOPRECORD = 3002 *************** *** 721,724 **** --- 724,728 ---- SCN_INDICATORCLICK = 2023 SCN_INDICATORRELEASE = 2024 + SCN_AUTOCCANCELLED = 2025 SCI_SETCARETPOLICY = 2369 CARET_CENTER = 0x02 *************** *** 815,818 **** --- 819,824 ---- SCLEX_MAGIK = 87 SCLEX_POWERSHELL = 88 + SCLEX_MYSQL = 89 + SCLEX_PO = 90 SCLEX_AUTOMATIC = 1000 SCE_P_DEFAULT = 0 *************** *** 1166,1169 **** --- 1172,1176 ---- SCE_DIFF_DELETED = 5 SCE_DIFF_ADDED = 6 + SCE_DIFF_CHANGED = 7 SCE_CONF_DEFAULT = 0 SCE_CONF_COMMENT = 1 *************** *** 1330,1333 **** --- 1337,1345 ---- SCE_CSS_IDENTIFIER2 = 15 SCE_CSS_ATTRIBUTE = 16 + SCE_CSS_IDENTIFIER3 = 17 + SCE_CSS_PSEUDOELEMENT = 18 + SCE_CSS_EXTENDED_IDENTIFIER = 19 + SCE_CSS_EXTENDED_PSEUDOCLASS = 20 + SCE_CSS_EXTENDED_PSEUDOELEMENT = 21 SCE_POV_DEFAULT = 0 SCE_POV_COMMENT = 1 *************** *** 1947,1950 **** --- 1959,1992 ---- SCE_POWERSHELL_CMDLET = 9 SCE_POWERSHELL_ALIAS = 10 + SCE_MYSQL_DEFAULT = 0 + SCE_MYSQL_COMMENT = 1 + SCE_MYSQL_COMMENTLINE = 2 + SCE_MYSQL_VARIABLE = 3 + SCE_MYSQL_SYSTEMVARIABLE = 4 + SCE_MYSQL_KNOWNSYSTEMVARIABLE = 5 + SCE_MYSQL_NUMBER = 6 + SCE_MYSQL_MAJORKEYWORD = 7 + SCE_MYSQL_KEYWORD = 8 + SCE_MYSQL_DATABASEOBJECT = 9 + SCE_MYSQL_PROCEDUREKEYWORD = 10 + SCE_MYSQL_STRING = 11 + SCE_MYSQL_SQSTRING = 12 + SCE_MYSQL_DQSTRING = 13 + SCE_MYSQL_OPERATOR = 14 + SCE_MYSQL_FUNCTION = 15 + SCE_MYSQL_IDENTIFIER = 16 + SCE_MYSQL_QUOTEDIDENTIFIER = 17 + SCE_MYSQL_USER1 = 18 + SCE_MYSQL_USER2 = 19 + SCE_MYSQL_USER3 = 20 + SCE_PO_DEFAULT = 0 + SCE_PO_COMMENT = 1 + SCE_PO_MSGID = 2 + SCE_PO_MSGID_TEXT = 3 + SCE_PO_MSGSTR = 4 + SCE_PO_MSGSTR_TEXT = 5 + SCE_PO_MSGCTXT = 6 + SCE_PO_MSGCTXT_TEXT = 7 + SCE_PO_FUZZY = 8 SCLEX_ASP = 29 SCLEX_PHP = 30 |
|
From: Mark H. <ski...@gm...> - 2009-01-31 03:05:06
|
Hi all,
I just upgraded scintilla, but will reject this mail...
-------- Original Message --------
Subject: Your message to pywin32-checkins awaits moderator approval
Date: Sat, 31 Jan 2009 03:03:26 +0000
From: pyw...@li...
To: mha...@us...
Your mail to 'pywin32-checkins' with the subject
pywin32/Pythonwin/Scintilla/src LexGen.py,NONE,1.1
LexMySQL.cxx,NONE,1.1 CellBuffer.cxx,1.16,1.17 CellBuffer.h,1.10,1.11
Document.cxx,1.15,1.16 Document.h,1.15,1.16 Editor.cxx,1.16,1.17
ExternalLexer.cxx,1.2,1.3 KeyWords.cxx,1.10,1.11 LexAbaqus.cxx,1.1,1.2
LexAsm.cxx,1.2,1.3 LexBash.cxx,1.1,1.2 LexCPP.cxx,1.12,1.13
LexCSS.cxx,1.2,1.3 LexFortran.cxx,1.2,1.3 LexHTML.cxx,1.12,1.13
LexHaskell.cxx,1.1,1.2 LexInno.cxx,1.1,1.2 LexLua.cxx,1.7,1.8
LexNsis.cxx,1.2,1.3 LexOthers.cxx,1.9,1.10 LexPerl.cxx,1.9,1.10
LexPowerShell.cxx,1.1,1.2 LexProgress.cxx,1.1,1.2 LexRuby.cxx,1.4,1.5
LexTeX.cxx,1.2,1.3 LexVerilog.cxx,1.1,1.2 LexYAML.cxx,1.2,1.3
RESearch.cxx,1.7,1.8 RESearch.h,1.4,1.5 RunStyles.h,1.1,1.2
ScintillaBase.cxx,1.13,1.14 SplitVector.h,1.1,1.2
Is being held until the list moderator can review it for approval.
The reason it is being held:
Message body is too big: 155502 bytes with a limit of 100 KB
Either the message will get posted to the list, or you will receive
notification of the moderator's decision. If you would like to cancel
this posting, please visit the following URL:
https://lists.sourceforge.net/lists/confirm/pywin32-checkins/5cd1d7d002d20e673f9bcb8f73068c8fb1d84b37
|
|
From: Mark H. <mha...@us...> - 2009-01-31 03:03:18
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/win32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17978/win32 Modified Files: PlatWin.cxx ScintRes.rc ScintillaWin.cxx scintilla.mak scintilla_vc6.mak Log Message: update to scintilla 1.77 Index: PlatWin.cxx =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/win32/PlatWin.cxx,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** PlatWin.cxx 10 Feb 2008 11:01:48 -0000 1.14 --- PlatWin.cxx 31 Jan 2009 03:03:14 -0000 1.15 *************** *** 78,81 **** --- 78,85 ---- } + #ifdef SCI_NAMESPACE + using namespace Scintilla; + #endif + Point Point::FromLong(long lpoint) { return Point(static_cast<short>(LOWORD(lpoint)), static_cast<short>(HIWORD(lpoint))); *************** *** 220,224 **** FontCached::FontCached(const char *faceName_, int characterSet_, int size_, bool bold_, bool italic_) : next(0), usage(0), hash(0) { ! ::SetLogFont(lf, faceName_, characterSet_, size_, bold_, italic_); hash = HashFont(faceName_, characterSet_, size_, bold_, italic_); id = ::CreateFontIndirectA(&lf); --- 224,228 ---- FontCached::FontCached(const char *faceName_, int characterSet_, int size_, bool bold_, bool italic_) : next(0), usage(0), hash(0) { ! SetLogFont(lf, faceName_, characterSet_, size_, bold_, italic_); hash = HashFont(faceName_, characterSet_, size_, bold_, italic_); id = ::CreateFontIndirectA(&lf); *************** *** 297,301 **** #ifndef FONTS_CACHED LOGFONT lf; ! ::SetLogFont(lf, faceName, characterSet, size, bold, italic); id = ::CreateFontIndirect(&lf); #else --- 301,305 ---- #ifndef FONTS_CACHED LOGFONT lf; ! SetLogFont(lf, faceName, characterSet, size, bold, italic); id = ::CreateFontIndirect(&lf); #else *************** *** 315,318 **** --- 319,326 ---- } + #ifdef SCI_NAMESPACE + namespace Scintilla { + #endif + class SurfaceImpl : public Surface { bool unicodeMode; *************** *** 388,391 **** --- 396,403 ---- }; + #ifdef SCI_NAMESPACE + } //namespace Scintilla + #endif + SurfaceImpl::SurfaceImpl() : unicodeMode(false), *************** *** 652,656 **** } ! const int MAX_US_LEN = 10000; void SurfaceImpl::DrawTextCommon(PRectangle rc, Font &font_, int ybase, const char *s, int len, UINT fuOptions) { --- 664,705 ---- } ! // Buffer to hold strings and string position arrays without always allocating on heap. ! // May sometimes have string too long to allocate on stack. So use a fixed stack-allocated buffer ! // when less than safe size otherwise allocate on heap and free automatically. ! template<typename T, int lengthStandard> ! class VarBuffer { ! T bufferStandard[lengthStandard]; ! public: ! T *buffer; ! VarBuffer(size_t length) : buffer(0) { ! if (length > lengthStandard) { ! buffer = new T[length]; ! } else { ! buffer = bufferStandard; ! } ! } ! ~VarBuffer() { ! if (buffer != bufferStandard) { ! delete []buffer; ! buffer = 0; ! } ! } ! }; ! ! const int stackBufferLength = 10000; ! class TextWide : public VarBuffer<wchar_t, stackBufferLength> { ! public: ! int tlen; ! TextWide(const char *s, int len, bool unicodeMode, int codePage=0) : ! VarBuffer<wchar_t, stackBufferLength>(len) { ! if (unicodeMode) { ! tlen = UTF16FromUTF8(s, len, buffer, len); ! } else { ! // Support Asian string display in 9x English ! tlen = ::MultiByteToWideChar(codePage, 0, s, len, buffer, len); ! } ! } ! }; ! typedef VarBuffer<int, stackBufferLength> TextPositions; void SurfaceImpl::DrawTextCommon(PRectangle rc, Font &font_, int ybase, const char *s, int len, UINT fuOptions) { *************** *** 682,704 **** } else { // Use Unicode calls ! wchar_t tbuf[MAX_US_LEN]; ! int tlen; ! if (unicodeMode) { ! tlen = UTF16FromUTF8(s, len, tbuf, MAX_US_LEN); ! } else { ! // Support Asian string display in 9x English ! tlen = ::MultiByteToWideChar(codePage, 0, s, len, NULL, 0); ! if (tlen > MAX_US_LEN) ! tlen = MAX_US_LEN; ! ::MultiByteToWideChar(codePage, 0, s, len, tbuf, tlen); ! } ! if (!::ExtTextOutW(hdc, x, ybase, fuOptions, &rcw, tbuf, tlen, NULL)) { ! while (tlen > pos) { ! int seglen = Platform::Minimum(maxSegmentLength, tlen - pos); ! if (!::ExtTextOutW(hdc, x, ybase, fuOptions, &rcw, tbuf+pos, seglen, NULL)) { PLATFORM_ASSERT(false); return; } ! ::GetTextExtentPoint32W(hdc, tbuf+pos, seglen, &sz); x += sz.cx; pos += seglen; --- 731,743 ---- } else { // Use Unicode calls ! const TextWide tbuf(s, len, unicodeMode, codePage); ! if (!::ExtTextOutW(hdc, x, ybase, fuOptions, &rcw, tbuf.buffer, tbuf.tlen, NULL)) { ! while (tbuf.tlen > pos) { ! int seglen = Platform::Minimum(maxSegmentLength, tbuf.tlen - pos); ! if (!::ExtTextOutW(hdc, x, ybase, fuOptions, &rcw, tbuf.buffer+pos, seglen, NULL)) { PLATFORM_ASSERT(false); return; } ! ::GetTextExtentPoint32W(hdc, tbuf.buffer+pos, seglen, &sz); x += sz.cx; pos += seglen; *************** *** 739,754 **** SetFont(font_); SIZE sz={0,0}; ! if (unicodeMode) { ! wchar_t tbuf[MAX_US_LEN]; ! int tlen = UTF16FromUTF8(s, len, tbuf, MAX_US_LEN); ! ::GetTextExtentPoint32W(hdc, tbuf, tlen, &sz); ! } else if (IsNT() || (codePage==0) || win9xACPSame) { ::GetTextExtentPoint32A(hdc, s, Platform::Minimum(len, maxLenText), &sz); } else { ! // Support Asian string display in 9x English ! wchar_t tbuf[MAX_US_LEN]; ! int tlen = ::MultiByteToWideChar(codePage, 0, s, len, NULL, 0); ! ::MultiByteToWideChar(codePage, 0, s, len, tbuf, tlen); ! ::GetTextExtentPoint32W(hdc, tbuf, tlen, &sz); } return sz.cx; --- 778,786 ---- SetFont(font_); SIZE sz={0,0}; ! if ((!unicodeMode) && (IsNT() || (codePage==0) || win9xACPSame)) { ::GetTextExtentPoint32A(hdc, s, Platform::Minimum(len, maxLenText), &sz); } else { ! const TextWide tbuf(s, len, unicodeMode, codePage); ! ::GetTextExtentPoint32W(hdc, tbuf.buffer, tbuf.tlen, &sz); } return sz.cx; *************** *** 760,777 **** int fit = 0; if (unicodeMode) { ! wchar_t tbuf[MAX_US_LEN]; ! int tlen = UTF16FromUTF8(s, len, tbuf, MAX_US_LEN); ! int poses[MAX_US_LEN]; ! fit = tlen; ! if (!::GetTextExtentExPointW(hdc, tbuf, tlen, maxWidthMeasure, &fit, poses, &sz)) { // Likely to have failed because on Windows 9x where function not available // So measure the character widths by measuring each initial substring // Turns a linear operation into a qudratic but seems fast enough on test files ! for (int widthSS=0; widthSS < tlen; widthSS++) { ! ::GetTextExtentPoint32W(hdc, tbuf, widthSS+1, &sz); ! poses[widthSS] = sz.cx; } } ! // Map the widths given for UCS-2 characters back onto the UTF-8 input string int ui=0; const unsigned char *us = reinterpret_cast<const unsigned char *>(s); --- 792,808 ---- int fit = 0; if (unicodeMode) { ! const TextWide tbuf(s, len, unicodeMode, codePage); ! TextPositions poses(tbuf.tlen); ! fit = tbuf.tlen; ! if (!::GetTextExtentExPointW(hdc, tbuf.buffer, tbuf.tlen, maxWidthMeasure, &fit, poses.buffer, &sz)) { // Likely to have failed because on Windows 9x where function not available // So measure the character widths by measuring each initial substring // Turns a linear operation into a qudratic but seems fast enough on test files ! for (int widthSS=0; widthSS < tbuf.tlen; widthSS++) { ! ::GetTextExtentPoint32W(hdc, tbuf.buffer, widthSS+1, &sz); ! poses.buffer[widthSS] = sz.cx; } } ! // Map the widths given for UTF-16 characters back onto the UTF-8 input string int ui=0; const unsigned char *us = reinterpret_cast<const unsigned char *>(s); *************** *** 789,793 **** } for (unsigned int bytePos=0; (bytePos<lenChar) && (i<len); bytePos++) { ! positions[i++] = poses[ui]; } ui++; --- 820,824 ---- } for (unsigned int bytePos=0; (bytePos<lenChar) && (i<len); bytePos++) { ! positions[i++] = poses.buffer[ui]; } ui++; *************** *** 800,824 **** } } else if (IsNT() || (codePage==0) || win9xACPSame) { ! if (!::GetTextExtentExPointA(hdc, s, Platform::Minimum(len, maxLenText), ! maxWidthMeasure, &fit, positions, &sz)) { ! // Eeek - a NULL DC or other foolishness could cause this. ! // The least we can do is set the positions to zero! ! memset(positions, 0, len * sizeof(*positions)); ! } else if (fit < len) { ! // For some reason, such as an incomplete DBCS character ! // Not all the positions are filled in so make them equal to end. ! for (int i=fit;i<len;i++) ! positions[i] = positions[fit-1]; } } else { // Support Asian string display in 9x English ! wchar_t tbuf[MAX_US_LEN]; ! int tlen = ::MultiByteToWideChar(codePage, 0, s, len, NULL, 0); ! ::MultiByteToWideChar(codePage, 0, s, len, tbuf, tlen); ! ! int poses[MAX_US_LEN]; ! for (int widthSS=0; widthSS<tlen; widthSS++) { ! ::GetTextExtentPoint32W(hdc, tbuf, widthSS+1, &sz); ! poses[widthSS] = sz.cx; } --- 831,864 ---- } } else if (IsNT() || (codePage==0) || win9xACPSame) { ! // Zero positions to avoid random behaviour on failure. ! memset(positions, 0, len * sizeof(*positions)); ! // len may be larger than platform supports so loop over segments small enough for platform ! int startOffset = 0; ! while (len > 0) { ! int lenBlock = Platform::Minimum(len, maxLenText); ! if (!::GetTextExtentExPointA(hdc, s, lenBlock, maxWidthMeasure, &fit, positions, &sz)) { ! // Eeek - a NULL DC or other foolishness could cause this. ! return; ! } else if (fit < lenBlock) { ! // For some reason, such as an incomplete DBCS character ! // Not all the positions are filled in so make them equal to end. ! for (int i=fit;i<lenBlock;i++) ! positions[i] = positions[fit-1]; ! } else if (startOffset > 0) { ! for (int i=0;i<lenBlock;i++) ! positions[i] += startOffset; ! } ! startOffset = positions[lenBlock-1]; ! len -= lenBlock; ! positions += lenBlock; ! s += lenBlock; } } else { // Support Asian string display in 9x English ! const TextWide tbuf(s, len, unicodeMode, codePage); ! TextPositions poses(tbuf.tlen); ! for (int widthSS=0; widthSS<tbuf.tlen; widthSS++) { ! ::GetTextExtentPoint32W(hdc, tbuf.buffer, widthSS+1, &sz); ! poses.buffer[widthSS] = sz.cx; } *************** *** 826,834 **** for (int i=0;i<len;) { if (::IsDBCSLeadByteEx(codePage, s[i])) { ! positions[i] = poses[ui]; ! positions[i+1] = poses[ui]; i += 2; } else { ! positions[i] = poses[ui]; i++; } --- 866,874 ---- for (int i=0;i<len;) { if (::IsDBCSLeadByteEx(codePage, s[i])) { ! positions[i] = poses.buffer[ui]; ! positions[i+1] = poses.buffer[ui]; i += 2; } else { ! positions[i] = poses.buffer[ui]; i++; } *************** *** 1343,1350 **** int len = widestItem ? strlen(widestItem) : 0; if (unicodeMode) { ! wchar_t tbuf[MAX_US_LEN]; ! len = UTF16FromUTF8(widestItem, len, tbuf, sizeof(tbuf)/sizeof(wchar_t)-1); ! tbuf[len] = L'\0'; ! ::GetTextExtentPoint32W(hdc, tbuf, len, &textSize); } else { ::GetTextExtentPoint32A(hdc, widestItem, len, &textSize); --- 1383,1388 ---- int len = widestItem ? strlen(widestItem) : 0; if (unicodeMode) { ! const TextWide tbuf(widestItem, len, unicodeMode); ! ::GetTextExtentPoint32W(hdc, tbuf.buffer, tbuf.tlen, &textSize); } else { ::GetTextExtentPoint32A(hdc, widestItem, len, &textSize); *************** *** 1462,1469 **** if (unicodeMode) { ! wchar_t tbuf[MAX_US_LEN]; ! int tlen = UTF16FromUTF8(text, len, tbuf, sizeof(tbuf)/sizeof(wchar_t)-1); ! tbuf[tlen] = L'\0'; ! ::DrawTextW(pDrawItem->hDC, tbuf, tlen, &rcText, DT_NOPREFIX|DT_END_ELLIPSIS|DT_SINGLELINE|DT_NOCLIP); } else { ::DrawTextA(pDrawItem->hDC, text, len, &rcText, DT_NOPREFIX|DT_END_ELLIPSIS|DT_SINGLELINE|DT_NOCLIP); --- 1500,1505 ---- if (unicodeMode) { ! const TextWide tbuf(text, len, unicodeMode); ! ::DrawTextW(pDrawItem->hDC, tbuf.buffer, tbuf.tlen, &rcText, DT_NOPREFIX|DT_END_ELLIPSIS|DT_SINGLELINE|DT_NOCLIP); } else { ::DrawTextA(pDrawItem->hDC, text, len, &rcText, DT_NOPREFIX|DT_END_ELLIPSIS|DT_SINGLELINE|DT_NOCLIP); Index: ScintillaWin.cxx =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/win32/ScintillaWin.cxx,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ScintillaWin.cxx 10 Feb 2008 11:01:48 -0000 1.15 --- ScintillaWin.cxx 31 Jan 2009 03:03:14 -0000 1.16 *************** *** 100,103 **** --- 100,107 ---- const TCHAR callClassName[] = TEXT("CallTip"); + #ifdef SCI_NAMESPACE + using namespace Scintilla; + #endif + class ScintillaWin; // Forward declaration for COM interface subobjects *************** *** 280,283 **** --- 284,288 ---- int sysCaretWidth; int sysCaretHeight; + bool keysAlwaysUnicode; }; *************** *** 317,320 **** --- 322,327 ---- sysCaretHeight = 0; + keysAlwaysUnicode = false; + Initialise(); } *************** *** 729,732 **** --- 736,744 ---- break; + case WM_RBUTTONDOWN: + if (!PointInSelection(Point::FromLong(lParam))) + SetEmptySelection(PositionFromLocation(Point::FromLong(lParam))); + break; + case WM_SETCURSOR: if (LoWord(lParam) == HTCLIENT) { *************** *** 755,759 **** case WM_CHAR: if (((wParam >= 128) || !iscntrl(wParam)) || !lastKeyDownConsumed) { ! if (::IsWindowUnicode(MainHWND())) { wchar_t wcs[2] = {wParam, 0}; if (IsUnicodeMode()) { --- 767,771 ---- case WM_CHAR: if (((wParam >= 128) || !iscntrl(wParam)) || !lastKeyDownConsumed) { ! if (::IsWindowUnicode(MainHWND()) || keysAlwaysUnicode) { wchar_t wcs[2] = {wParam, 0}; if (IsUnicodeMode()) { *************** *** 1003,1006 **** --- 1015,1025 ---- break; + case SCI_SETKEYSUNICODE: + keysAlwaysUnicode = wParam != 0; + break; + + case SCI_GETKEYSUNICODE: + return keysAlwaysUnicode; + #ifdef SCI_LEXER case SCI_LOADLEXERLIBRARY: *************** *** 2243,2247 **** wndclass.cbSize = sizeof(wndclass); wndclass.style = CS_GLOBALCLASS | CS_HREDRAW | CS_VREDRAW; ! wndclass.lpfnWndProc = ::ScintillaWin::SWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = sizeof(ScintillaWin *); --- 2262,2266 ---- wndclass.cbSize = sizeof(wndclass); wndclass.style = CS_GLOBALCLASS | CS_HREDRAW | CS_VREDRAW; ! wndclass.lpfnWndProc = ScintillaWin::SWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = sizeof(ScintillaWin *); *************** *** 2260,2264 **** wndclass.cbSize = sizeof(wndclass); wndclass.style = CS_GLOBALCLASS | CS_HREDRAW | CS_VREDRAW; ! wndclass.lpfnWndProc = ::ScintillaWin::SWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = sizeof(ScintillaWin *); --- 2279,2283 ---- wndclass.cbSize = sizeof(wndclass); wndclass.style = CS_GLOBALCLASS | CS_HREDRAW | CS_VREDRAW; ! wndclass.lpfnWndProc = ScintillaWin::SWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = sizeof(ScintillaWin *); *************** *** 2422,2426 **** } ! extern "C" __declspec(dllexport) sptr_t __stdcall Scintilla_DirectFunction( ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) { return sci->WndProc(iMessage, wParam, lParam); --- 2441,2449 ---- } ! extern "C" ! #ifndef STATIC_BUILD ! __declspec(dllexport) ! #endif ! sptr_t __stdcall Scintilla_DirectFunction( ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) { return sci->WndProc(iMessage, wParam, lParam); Index: scintilla_vc6.mak =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/win32/scintilla_vc6.mak,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** scintilla_vc6.mak 4 Apr 2008 04:57:33 -0000 1.5 --- scintilla_vc6.mak 31 Jan 2009 03:03:14 -0000 1.6 *************** *** 44,48 **** # If you have problems with lexers being linked, try removing -OPT:REF and replacing with -OPT:NOREF LDFLAGS=-OPT:NOWIN98 -OPT:REF ! LDDEBUG= /DEBUG LIBS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.LIB NOLOGO=-nologo --- 44,48 ---- # If you have problems with lexers being linked, try removing -OPT:REF and replacing with -OPT:NOREF LDFLAGS=-OPT:NOWIN98 -OPT:REF ! LDDEBUG= LIBS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.LIB NOLOGO=-nologo *************** *** 158,161 **** --- 158,162 ---- $(DIR_O)\LexMPT.obj \ $(DIR_O)\LexMSSQL.obj \ + $(DIR_O)\LexMySQL.obj \ $(DIR_O)\LexNsis.obj \ $(DIR_O)\LexOpal.obj \ *************** *** 392,395 **** --- 393,398 ---- $(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS) + $(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS) + $(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS) Index: ScintRes.rc =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/win32/ScintRes.rc,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ScintRes.rc 10 Feb 2008 11:01:48 -0000 1.12 --- ScintRes.rc 31 Jan 2009 03:03:14 -0000 1.13 *************** *** 10,15 **** VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1, 7, 5, 0 ! PRODUCTVERSION 1, 7, 5, 0 FILEFLAGSMASK 0x3fL FILEFLAGS 0 --- 10,15 ---- VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1, 7, 7, 0 ! PRODUCTVERSION 1, 7, 7, 0 FILEFLAGSMASK 0x3fL FILEFLAGS 0 *************** *** 28,37 **** VALUE "CompanyName", "Neil Hodgson ne...@sc...\0" VALUE "FileDescription", "Scintilla.DLL - a Source Editing Component\0" ! VALUE "FileVersion", "1.75\0" VALUE "InternalName", "Scintilla\0" ! VALUE "LegalCopyright", "Copyright 1998-2007 by Neil Hodgson\0" VALUE "OriginalFilename", "Scintilla.DLL\0" VALUE "ProductName", "Scintilla\0" ! VALUE "ProductVersion", "1.75\0" END END --- 28,37 ---- VALUE "CompanyName", "Neil Hodgson ne...@sc...\0" VALUE "FileDescription", "Scintilla.DLL - a Source Editing Component\0" ! VALUE "FileVersion", "1.77\0" VALUE "InternalName", "Scintilla\0" ! VALUE "LegalCopyright", "Copyright 1998-2008 by Neil Hodgson\0" VALUE "OriginalFilename", "Scintilla.DLL\0" VALUE "ProductName", "Scintilla\0" ! VALUE "ProductVersion", "1.77\0" END END Index: scintilla.mak =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/win32/scintilla.mak,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** scintilla.mak 10 Feb 2008 11:01:48 -0000 1.7 --- scintilla.mak 31 Jan 2009 03:03:14 -0000 1.8 *************** *** 156,159 **** --- 156,160 ---- $(DIR_O)\LexMPT.obj \ $(DIR_O)\LexMSSQL.obj \ + $(DIR_O)\LexMySQL.obj \ $(DIR_O)\LexNsis.obj \ $(DIR_O)\LexOpal.obj \ *************** *** 390,393 **** --- 391,396 ---- $(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS) + $(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS) + $(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS) |
|
From: Mark H. <mha...@us...> - 2009-01-31 03:03:18
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/include In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17978/include Modified Files: SciLexer.h Scintilla.h Log Message: update to scintilla 1.77 Index: Scintilla.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/include/Scintilla.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Scintilla.h 10 Feb 2008 11:01:46 -0000 1.15 --- Scintilla.h 31 Jan 2009 03:03:13 -0000 1.16 *************** *** 669,672 **** --- 669,675 ---- #define SCI_GETPOSITIONCACHE 2515 #define SCI_COPYALLOWLINE 2519 + #define SCI_GETCHARACTERPOINTER 2520 + #define SCI_SETKEYSUNICODE 2521 + #define SCI_GETKEYSUNICODE 2522 #define SCI_STARTRECORD 3001 #define SCI_STOPRECORD 3002 *************** *** 751,754 **** --- 754,758 ---- #define SCN_INDICATORCLICK 2023 #define SCN_INDICATORRELEASE 2024 + #define SCN_AUTOCCANCELLED 2025 //--Autogenerated -- end of section automatically generated from Scintilla.iface Index: SciLexer.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/include/SciLexer.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** SciLexer.h 10 Feb 2008 11:01:46 -0000 1.12 --- SciLexer.h 31 Jan 2009 03:03:13 -0000 1.13 *************** *** 102,105 **** --- 102,107 ---- #define SCLEX_MAGIK 87 #define SCLEX_POWERSHELL 88 + #define SCLEX_MYSQL 89 + #define SCLEX_PO 90 #define SCLEX_AUTOMATIC 1000 #define SCE_P_DEFAULT 0 *************** *** 453,456 **** --- 455,459 ---- #define SCE_DIFF_DELETED 5 #define SCE_DIFF_ADDED 6 + #define SCE_DIFF_CHANGED 7 #define SCE_CONF_DEFAULT 0 #define SCE_CONF_COMMENT 1 *************** *** 617,620 **** --- 620,628 ---- #define SCE_CSS_IDENTIFIER2 15 #define SCE_CSS_ATTRIBUTE 16 + #define SCE_CSS_IDENTIFIER3 17 + #define SCE_CSS_PSEUDOELEMENT 18 + #define SCE_CSS_EXTENDED_IDENTIFIER 19 + #define SCE_CSS_EXTENDED_PSEUDOCLASS 20 + #define SCE_CSS_EXTENDED_PSEUDOELEMENT 21 #define SCE_POV_DEFAULT 0 #define SCE_POV_COMMENT 1 *************** *** 1234,1237 **** --- 1242,1275 ---- #define SCE_POWERSHELL_CMDLET 9 #define SCE_POWERSHELL_ALIAS 10 + #define SCE_MYSQL_DEFAULT 0 + #define SCE_MYSQL_COMMENT 1 + #define SCE_MYSQL_COMMENTLINE 2 + #define SCE_MYSQL_VARIABLE 3 + #define SCE_MYSQL_SYSTEMVARIABLE 4 + #define SCE_MYSQL_KNOWNSYSTEMVARIABLE 5 + #define SCE_MYSQL_NUMBER 6 + #define SCE_MYSQL_MAJORKEYWORD 7 + #define SCE_MYSQL_KEYWORD 8 + #define SCE_MYSQL_DATABASEOBJECT 9 + #define SCE_MYSQL_PROCEDUREKEYWORD 10 + #define SCE_MYSQL_STRING 11 + #define SCE_MYSQL_SQSTRING 12 + #define SCE_MYSQL_DQSTRING 13 + #define SCE_MYSQL_OPERATOR 14 + #define SCE_MYSQL_FUNCTION 15 + #define SCE_MYSQL_IDENTIFIER 16 + #define SCE_MYSQL_QUOTEDIDENTIFIER 17 + #define SCE_MYSQL_USER1 18 + #define SCE_MYSQL_USER2 19 + #define SCE_MYSQL_USER3 20 + #define SCE_PO_DEFAULT 0 + #define SCE_PO_COMMENT 1 + #define SCE_PO_MSGID 2 + #define SCE_PO_MSGID_TEXT 3 + #define SCE_PO_MSGSTR 4 + #define SCE_PO_MSGSTR_TEXT 5 + #define SCE_PO_MSGCTXT 6 + #define SCE_PO_MSGCTXT_TEXT 7 + #define SCE_PO_FUZZY 8 #define SCLEX_ASP 29 #define SCLEX_PHP 30 |
|
From: Mark H. <mha...@us...> - 2009-01-31 03:03:18
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/Scintilla In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17978 Modified Files: README README_pythonwin Log Message: update to scintilla 1.77 Index: README =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/README,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** README 25 Nov 2003 10:45:20 -0000 1.9 --- README 31 Jan 2009 03:03:13 -0000 1.10 *************** *** 45,52 **** *** Windows version *** ! A C++ compiler is required. Visual Studio .NET 2003 is the development system ! used for most development although Mingw32 3.1 and Borland C++ are also ! supported. ! For older versions of Borland make such as version 5.02, add the -l option. To build Scintilla, make in the scintilla/win32 directory --- 45,52 ---- *** Windows version *** ! A C++ compiler is required. Visual Studio .NET 2008 is the development system ! used for most development although Mingw32 3.1 is also supported. ! Borland did work but the command lines are now too long and the most recent ! Borland version does not work. For older versions such as version 5.02, add the -l option. To build Scintilla, make in the scintilla/win32 directory Index: README_pythonwin =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Scintilla/README_pythonwin,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README_pythonwin 10 Feb 2008 11:01:46 -0000 1.2 --- README_pythonwin 31 Jan 2009 03:03:13 -0000 1.3 *************** *** 1,3 **** ! This is a copy of Scintilla 1.75 used for Pythonwin. Scintilla's home is www.scintilla.org --- 1,3 ---- ! This is a copy of Scintilla 1.77 used for Pythonwin. Scintilla's home is www.scintilla.org |
|
From: Mark H. <mha...@us...> - 2009-01-30 23:29:04
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28524/win32/src Modified Files: win32gui.i Log Message: Fix [2310121] GetDlgItemText fails with no contents Index: win32gui.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32gui.i,v retrieving revision 1.123 retrieving revision 1.124 diff -C2 -d -r1.123 -r1.124 *** win32gui.i 13 Jan 2009 22:57:11 -0000 1.123 --- win32gui.i 30 Jan 2009 23:29:00 -0000 1.124 *************** *** 2372,2376 **** return PyErr_Format(PyExc_MemoryError, "Unable to allocate %d bytes", bufsize); chars_returned=GetDlgItemText(hwnd, dlgitem, buf, chars_allocated); ! if (chars_returned==0){ PyWin_SetAPIError("GetDlgItemText"); break; --- 2372,2376 ---- return PyErr_Format(PyExc_MemoryError, "Unable to allocate %d bytes", bufsize); chars_returned=GetDlgItemText(hwnd, dlgitem, buf, chars_allocated); ! if (chars_returned==0 && GetLastError()!=0){ PyWin_SetAPIError("GetDlgItemText"); break; |
|
From: Mark H. <mha...@us...> - 2009-01-30 05:11:21
|
Update of /cvsroot/pywin32/pywin32/win32/Demos In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3623 Modified Files: win32netdemo.py Log Message: don't create and delete a test user by default Index: win32netdemo.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/Demos/win32netdemo.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** win32netdemo.py 1 Oct 2008 14:44:53 -0000 1.6 --- win32netdemo.py 30 Jan 2009 05:11:17 -0000 1.7 *************** *** 183,186 **** --- 183,187 ---- print " -v : Verbose - print more information" print " -s : server - execute the tests against the named server" + print " -c : include the CreateUser test by default" print "where Test is one of:" for t in tests: *************** *** 195,199 **** if type(ob)==type(main) and ob.__doc__: tests.append(ob) ! opts, args = getopt.getopt(sys.argv[1:], "s:hv") for opt, val in opts: if opt=="-s": --- 196,201 ---- if type(ob)==type(main) and ob.__doc__: tests.append(ob) ! opts, args = getopt.getopt(sys.argv[1:], "s:hvc") ! create_user = False for opt, val in opts: if opt=="-s": *************** *** 205,212 **** --- 207,218 ---- global verbose_level verbose_level = verbose_level + 1 + if opt=="-c": + create_user = True if len(args)==0: print "Running all tests - use '-h' to see command-line options..." dotests = tests + if not create_user: + dotests.remove(CreateUser) else: dotests = [] |
|
From: Mark H. <mha...@us...> - 2009-01-28 13:16:41
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/Demos In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4918/Pythonwin/pywin/Demos Modified Files: openGLDemo.py Log Message: some final py3k modernizations from py3k branch Index: openGLDemo.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/Demos/openGLDemo.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** openGLDemo.py 11 Mar 2000 00:56:33 -0000 1.2 --- openGLDemo.py 28 Jan 2009 11:37:02 -0000 1.3 *************** *** 39,43 **** ! threeto8 = [0, 0111>>1, 0222>>1, 0333>>1, 0444>>1, 0555>>1, 0666>>1, 0377] twoto8 = [0, 0x55, 0xaa, 0xff] oneto8 = [0, 255] --- 39,44 ---- ! #threeto8 = [0, 0o111>>1, 0o222>>1, 0o333>>1, 0o444>>1, 0o555>>1, 0o666>>1, 0o377] ! threeto8 = [0, 73>>1, 146>>1, 219>>1, 292>>1, 365>>1, 438>>1, 255] twoto8 = [0, 0x55, 0xaa, 0xff] oneto8 = [0, 255] |
|
From: Mark H. <mha...@us...> - 2009-01-28 13:16:38
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4918/com/win32com/client Modified Files: dynamic.py Log Message: some final py3k modernizations from py3k branch Index: dynamic.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/dynamic.py,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** dynamic.py 4 Jan 2009 22:35:14 -0000 1.28 --- dynamic.py 28 Jan 2009 11:37:02 -0000 1.29 *************** *** 73,81 **** dispatchType = pythoncom.TypeIIDs[pythoncom.IID_IDispatch] iunkType = pythoncom.TypeIIDs[pythoncom.IID_IUnknown] ! _GoodDispatchTypes=[str, IIDType, unicode] _defaultDispatchItem=build.DispatchItem def _GetGoodDispatch(IDispatch, clsctx = pythoncom.CLSCTX_SERVER): ! if type(IDispatch) in _GoodDispatchTypes: try: IDispatch = pythoncom.connect(IDispatch) --- 73,82 ---- dispatchType = pythoncom.TypeIIDs[pythoncom.IID_IDispatch] iunkType = pythoncom.TypeIIDs[pythoncom.IID_IUnknown] ! ! _GoodDispatchTypes=(str, IIDType, unicode) _defaultDispatchItem=build.DispatchItem def _GetGoodDispatch(IDispatch, clsctx = pythoncom.CLSCTX_SERVER): ! if isinstance(IDispatch, _GoodDispatchTypes): try: IDispatch = pythoncom.connect(IDispatch) *************** *** 287,292 **** # make a new instance of (probably this) class. return self._wrap_dispatch_(ob, userName, ReturnCLSID) ! else: ! return ob def _get_good_object_(self,ob,userName = None, ReturnCLSID=None): --- 288,292 ---- # make a new instance of (probably this) class. return self._wrap_dispatch_(ob, userName, ReturnCLSID) ! return ob def _get_good_object_(self,ob,userName = None, ReturnCLSID=None): *************** *** 296,300 **** if ob is None: # Quick exit! return None ! elif type(ob)==tuple: return tuple(map(lambda o, s=self, oun=userName, rc=ReturnCLSID: s._get_good_single_object_(o, oun, rc), ob)) else: --- 296,300 ---- if ob is None: # Quick exit! return None ! elif isinstance(ob, tuple): return tuple(map(lambda o, s=self, oun=userName, rc=ReturnCLSID: s._get_good_single_object_(o, oun, rc), ob)) else: |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:29:59
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/Demos In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4331/Pythonwin/pywin/Demos Modified Files: Tag: py3k openGLDemo.py Log Message: merge various trunk changes Index: openGLDemo.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/Demos/openGLDemo.py,v retrieving revision 1.2.4.1 retrieving revision 1.2.4.2 diff -C2 -d -r1.2.4.1 -r1.2.4.2 *** openGLDemo.py 29 Aug 2008 06:16:06 -0000 1.2.4.1 --- openGLDemo.py 28 Jan 2009 11:29:52 -0000 1.2.4.2 *************** *** 39,43 **** ! threeto8 = [0, 0o111>>1, 0o222>>1, 0o333>>1, 0o444>>1, 0o555>>1, 0o666>>1, 0o377] twoto8 = [0, 0x55, 0xaa, 0xff] oneto8 = [0, 255] --- 39,44 ---- ! #threeto8 = [0, 0o111>>1, 0o222>>1, 0o333>>1, 0o444>>1, 0o555>>1, 0o666>>1, 0o377] ! threeto8 = [0, 73>>1, 146>>1, 219>>1, 292>>1, 365>>1, 438>>1, 255] twoto8 = [0, 0x55, 0xaa, 0xff] oneto8 = [0, 255] |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:29:59
|
Update of /cvsroot/pywin32/pywin32/isapi In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4331/isapi Modified Files: Tag: py3k install.py Log Message: merge various trunk changes Index: install.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/isapi/install.py,v retrieving revision 1.11.2.2 retrieving revision 1.11.2.3 diff -C2 -d -r1.11.2.2 -r1.11.2.3 *** install.py 5 Jan 2009 12:49:52 -0000 1.11.2.2 --- install.py 28 Jan 2009 11:29:52 -0000 1.11.2.3 *************** *** 294,301 **** def AssignScriptMaps(script_maps, target, update='replace'): ! """ ! @param script_maps ScriptMapParameter[] ! @param target An IIS Virtual Directory to assign the script maps ! @param update How to update the maps ('start', 'end', or 'replace') """ # determine which function to use to assign script maps --- 294,305 ---- def AssignScriptMaps(script_maps, target, update='replace'): ! """Updates IIS with the supplied script map information. ! ! script_maps is a list of ScriptMapParameter objects ! ! target is an IIS Virtual Directory to assign the script maps to ! ! update is a string indicating how to update the maps, one of ('start', ! 'end', or 'replace') """ # determine which function to use to assign script maps |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:29:59
|
Update of /cvsroot/pywin32/pywin32/isapi/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4331/isapi/src Modified Files: Tag: py3k PyExtensionObjects.cpp Log Message: merge various trunk changes Index: PyExtensionObjects.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/isapi/src/PyExtensionObjects.cpp,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.2 diff -C2 -d -r1.9.2.1 -r1.9.2.2 *** PyExtensionObjects.cpp 5 Jan 2009 12:49:22 -0000 1.9.2.1 --- PyExtensionObjects.cpp 28 Jan 2009 11:29:52 -0000 1.9.2.2 *************** *** 766,770 **** return SetPyECBError("ServerSupportFunction(HSE_REQ_GET_EXEC_URL_STATUS)"); // @rdesc The result of a tuple of 3 integers - (uHttpStatusCode, uHttpSubStatus, dwWin32Error) ! // @seeapi HSE_EXEC_URL_STATUS return Py_BuildValue("HHk", status.uHttpStatusCode, status.uHttpSubStatus, status.dwWin32Error); } --- 766,770 ---- return SetPyECBError("ServerSupportFunction(HSE_REQ_GET_EXEC_URL_STATUS)"); // @rdesc The result of a tuple of 3 integers - (uHttpStatusCode, uHttpSubStatus, dwWin32Error) ! // @pyseeapi HSE_EXEC_URL_STATUS return Py_BuildValue("HHk", status.uHttpStatusCode, status.uHttpSubStatus, status.dwWin32Error); } |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:29:59
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4331/com/win32com/client Modified Files: Tag: py3k dynamic.py genpy.py Log Message: merge various trunk changes Index: genpy.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/genpy.py,v retrieving revision 1.55.2.9 retrieving revision 1.55.2.10 diff -C2 -d -r1.55.2.9 -r1.55.2.10 *** genpy.py 14 Jan 2009 12:42:02 -0000 1.55.2.9 --- genpy.py 28 Jan 2009 11:29:52 -0000 1.55.2.10 *************** *** 491,495 **** print("\t\t\treturn repr(self)", file=stream) print("\tdef __str__(self, *args):", file=stream) ! print("\t\treturn str(self.__call__(*args))", file=stream) print("\tdef __int__(self, *args):", file=stream) print("\t\treturn int(self.__call__(*args))", file=stream) --- 491,495 ---- print("\t\t\treturn repr(self)", file=stream) print("\tdef __str__(self, *args):", file=stream) ! print("\t\treturn str(self.__unicode__(*args))", file=stream) print("\tdef __int__(self, *args):", file=stream) print("\t\treturn int(self.__call__(*args))", file=stream) Index: dynamic.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/dynamic.py,v retrieving revision 1.22.2.10 retrieving revision 1.22.2.11 diff -C2 -d -r1.22.2.10 -r1.22.2.11 *** dynamic.py 25 Jan 2009 04:52:20 -0000 1.22.2.10 --- dynamic.py 28 Jan 2009 11:29:52 -0000 1.22.2.11 *************** *** 74,79 **** iunkType = pythoncom.TypeIIDs[pythoncom.IID_IUnknown] ! ## Py3k requires a tuple for isinstance ! _GoodDispatchTypes=(str, IIDType) _defaultDispatchItem=build.DispatchItem --- 74,78 ---- iunkType = pythoncom.TypeIIDs[pythoncom.IID_IUnknown] ! _GoodDispatchTypes=(str, IIDType, str) _defaultDispatchItem=build.DispatchItem |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:29:59
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4331 Modified Files: Tag: py3k CHANGES.txt setup.py Log Message: merge various trunk changes Index: setup.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup.py,v retrieving revision 1.81.2.16 retrieving revision 1.81.2.17 diff -C2 -d -r1.81.2.16 -r1.81.2.17 *** setup.py 27 Jan 2009 07:56:44 -0000 1.81.2.16 --- setup.py 28 Jan 2009 11:29:52 -0000 1.81.2.17 *************** *** 693,708 **** # directx sdk sucks - how to locate it automatically? # Must manually set DIRECTX_SDK_DIR for now. ! dxsdk_dir = os.environ.get("DIRECTX_SDK_DIR") ! if dxsdk_dir: ! extra = os.path.join(dxsdk_dir, 'include') ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_include_dir(extra) ! if is_64bit: ! tail = 'x64' ! else: ! tail = 'x86' ! extra = os.path.join(dxsdk_dir, 'lib', tail) ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_library_dir(extra) log.debug("After SDK processing, includes are %s", self.compiler.include_dirs) --- 693,712 ---- # directx sdk sucks - how to locate it automatically? # Must manually set DIRECTX_SDK_DIR for now. ! # (but it appears November 2008 and later versions set DXSDK_DIR, so ! # we allow both, allowing our "old" DIRECTX_SDK_DIR to override things ! for dxsdk_dir_var in ("DIRECTX_SDK_DIR", "DXSDK_DIR"): ! dxsdk_dir = os.environ.get(dxsdk_dir_var) ! if dxsdk_dir: ! extra = os.path.join(dxsdk_dir, 'include') ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_include_dir(extra) ! if is_64bit: ! tail = 'x64' ! else: ! tail = 'x86' ! extra = os.path.join(dxsdk_dir, 'lib', tail) ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_library_dir(extra) ! break log.debug("After SDK processing, includes are %s", self.compiler.include_dirs) Index: CHANGES.txt =================================================================== RCS file: /cvsroot/pywin32/pywin32/CHANGES.txt,v retrieving revision 1.26.2.9 retrieving revision 1.26.2.10 diff -C2 -d -r1.26.2.9 -r1.26.2.10 *** CHANGES.txt 27 Jan 2009 07:56:44 -0000 1.26.2.9 --- CHANGES.txt 28 Jan 2009 11:29:52 -0000 1.26.2.10 *************** *** 9,12 **** --- 9,25 ---- ---------------- + * py3k work - see the notes in the main documentation index for details, + but this entailed a huge overhaul of almost all the pywin32 sources. + Many things have been modernized for the first time in over a decade, + and may new tests have been added. As a result, build 213 will not + be recommended for production work and should be treated as beta quality. + + Huge thanks to: + - Roger Upole: for starting the py3k work, and without whom the py3k work + would literally not yet have started. + - Jason R. Coombs: for help porting win32timezone to py3k and for helping + with the new datetime object support. + - Vernon Cole: for help with porting adodbapi to py3k. + * Added win32wnet.WNetAddConnection3 allowing a HWND to be specified for authentication. |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:29:57
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4331/win32/src Modified Files: Tag: py3k PyTime.cpp win32apimodule.cpp win32inet_winhttp.cpp Log Message: merge various trunk changes Index: win32apimodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32apimodule.cpp,v retrieving revision 1.89.2.6 retrieving revision 1.89.2.7 diff -C2 -d -r1.89.2.6 -r1.89.2.7 *** win32apimodule.cpp 27 Jan 2009 07:56:45 -0000 1.89.2.6 --- win32apimodule.cpp 28 Jan 2009 11:29:52 -0000 1.89.2.7 *************** *** 2433,2437 **** { // @pyparm tuple|tzi||A tuple with the timezone info ! // @desc The tuple is of form. TIME_ZONE_INFORMATION tzi; PyObject *obStdName, *obStdDate; --- 2433,2437 ---- { // @pyparm tuple|tzi||A tuple with the timezone info ! // @comm The tuple is of form: TIME_ZONE_INFORMATION tzi; PyObject *obStdName, *obStdDate; *************** *** 2439,2448 **** if (!PyArg_ParseTuple (args, "(iOOiOOi):SetTimeZoneInformation", &tzi.Bias, // @tupleitem 0|int|Bias| ! &obStdName, // @tupleitem 1|string|StandardName ! &obStdDate, // @tupleitem 2|SYSTEMTIME tuple|StandardDate ! &tzi.StandardBias, // @tupleitem 3|int|StandardBias ! &obDaylightName, // @tupleitem 4|string|DaylightName ! &obDaylightDate, // @tupleitem 5|SYSTEMTIME tuple|DaylightDate ! &tzi.DaylightBias))// @tupleitem 6|int|DaylightBias return NULL; WCHAR *temp; --- 2439,2448 ---- if (!PyArg_ParseTuple (args, "(iOOiOOi):SetTimeZoneInformation", &tzi.Bias, // @tupleitem 0|int|Bias| ! &obStdName, // @tupleitem 1|string|StandardName| ! &obStdDate, // @tupleitem 2|SYSTEMTIME tuple|StandardDate| ! &tzi.StandardBias, // @tupleitem 3|int|StandardBias| ! &obDaylightName, // @tupleitem 4|string|DaylightName| ! &obDaylightDate, // @tupleitem 5|SYSTEMTIME tuple|DaylightDate| ! &tzi.DaylightBias))// @tupleitem 6|int|DaylightBias| return NULL; WCHAR *temp; Index: win32inet_winhttp.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32inet_winhttp.cpp,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** win32inet_winhttp.cpp 11 Dec 2008 04:13:35 -0000 1.2.2.1 --- win32inet_winhttp.cpp 28 Jan 2009 11:29:52 -0000 1.2.2.2 *************** *** 129,133 **** i->dwAccessType, // @tupleitem 0|int|dwAccessType| i->lpszProxy, // @tupleitem 2|string|lpszProxy| ! i->lpszProxyBypass); // @tupleitem 3|string|lpszProxy if (i->lpszProxy) GlobalFree(i->lpszProxy); if (i->lpszProxyBypass) GlobalFree(i->lpszProxyBypass); --- 129,133 ---- i->dwAccessType, // @tupleitem 0|int|dwAccessType| i->lpszProxy, // @tupleitem 2|string|lpszProxy| ! i->lpszProxyBypass); // @tupleitem 3|string|lpszProxy| if (i->lpszProxy) GlobalFree(i->lpszProxy); if (i->lpszProxyBypass) GlobalFree(i->lpszProxyBypass); Index: PyTime.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PyTime.cpp,v retrieving revision 1.19.2.5 retrieving revision 1.19.2.6 diff -C2 -d -r1.19.2.5 -r1.19.2.6 *** PyTime.cpp 27 Jan 2009 07:56:45 -0000 1.19.2.5 --- PyTime.cpp 28 Jan 2009 11:29:52 -0000 1.19.2.6 *************** *** 683,695 **** /////////////////////////////////////////////////////////////////////////// #ifdef PYWIN_HAVE_DATETIME_CAPI ! // @object PyDateTime|A Python object, representing an instant in time. ! // @desc pywin32 builds for Python 3.0 use datetime objects instead of the ! // old PyTime object. ! // @desc PyDateTime is a sub-class of the regular datetime.datetime object. ! // It is subclassed so it can provide a somewhat backwards compatible ! // <om PyDateTime.Format> method, but is otherwise identical. ! ! // @method str|PyDateTime|Format| ! // @desc This method is an alias for the datetime strftime method, using // %c as the default value for the format string. static PyObject *PyWinDateTimeType_Format(PyObject *self, PyObject *args) --- 683,688 ---- /////////////////////////////////////////////////////////////////////////// #ifdef PYWIN_HAVE_DATETIME_CAPI ! // @pymethod str|PyDateTime|Format| ! // @comm This method is an alias for the datetime strftime method, using // %c as the default value for the format string. static PyObject *PyWinDateTimeType_Format(PyObject *self, PyObject *args) *************** *** 713,716 **** --- 706,716 ---- } + // @object PyDateTime|A Python object, representing an instant in time. + // @comm pywin32 builds for Python 3.0 use datetime objects instead of the + // old PyTime object. + // @comm PyDateTime is a sub-class of the regular datetime.datetime object. + // It is subclassed so it can provide a somewhat backwards compatible + // <om PyDateTime.Format> method, but is otherwise identical. + struct PyMethodDef PyWinDateTimeType_methods[] = { {"Format", PyWinDateTimeType_Format, 1}, // @pymeth Format|Formats the time value - an alias for strftime with a default param. |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:17:15
|
Update of /cvsroot/pywin32/pywin32/AutoDuck In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3286 Modified Files: Tag: py3k pywin32-document.xml Log Message: correct previous checkin and merge trunk autoduck changes Index: pywin32-document.xml =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/pywin32-document.xml,v retrieving revision 1.7 retrieving revision 1.7.2.1 diff -C2 -d -r1.7 -r1.7.2.1 *** pywin32-document.xml 24 May 2008 08:17:54 -0000 1.7 --- pywin32-document.xml 28 Jan 2009 11:17:08 -0000 1.7.2.1 *************** *** 2,5 **** --- 2,6 ---- <important> <item name="View the change log" href="html/CHANGES.txt"/> + <item name="View information regarding Python 3.x support" href="html/win32/help/py3k.html"/> </important> <links> |
|
From: Mark H. <mha...@us...> - 2009-01-28 11:17:02
|
Update of /cvsroot/pywin32/pywin32/AutoDuck In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3249 Modified Files: Tag: py3k BuildHHP.py Dump2HHC.py InsertExternalOverviews.py makedfromi.py py2d.py pyhtml.fmt pywin32.mak Log Message: correct previous checkin and merge trunk autoduck changes Index: pywin32.mak =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/pywin32.mak,v retrieving revision 1.20 retrieving revision 1.20.2.1 diff -C2 -d -r1.20 -r1.20.2.1 *** pywin32.mak 24 May 2008 08:17:54 -0000 1.20 --- pywin32.mak 28 Jan 2009 11:16:51 -0000 1.20.2.1 *************** *** 96,100 **** $(ISAPI_SOURCE_DIR)\*.cpp $(ISAPI_SOURCE_DIR)\*.h $(GENDIR)\isapi_modules.d ! GENERATED_D = $(GENDIR)\sspi.d SOURCE=$(WIN32_SOURCE) $(WIN32COM_SOURCE) $(PYTHONWIN_SOURCE) $(ISAPI_SOURCE) $(GENERATED_D) --- 96,100 ---- $(ISAPI_SOURCE_DIR)\*.cpp $(ISAPI_SOURCE_DIR)\*.h $(GENDIR)\isapi_modules.d ! GENERATED_D = $(GENDIR)\sspi.d $(GENDIR)\win32timezone.d SOURCE=$(WIN32_SOURCE) $(WIN32COM_SOURCE) $(PYTHONWIN_SOURCE) $(ISAPI_SOURCE) $(GENERATED_D) *************** *** 121,124 **** --- 121,127 ---- $(PYTHON) py2d.py sspi > $(GENDIR)\sspi.d + $(GENDIR)\win32timezone.d: py2d.py pseudo + $(PYTHON) py2d.py win32timezone > $(GENDIR)\win32timezone.d + "$(GENDIR)\$(TARGET).hhc" : $(SOURCE) Dump2HHC.py $(DOCUMENT_FILE) rem Run autoduck over each category so we can create a nested TOC. Index: py2d.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/py2d.py,v retrieving revision 1.1.4.1 retrieving revision 1.1.4.2 diff -C2 -d -r1.1.4.1 -r1.1.4.2 *** py2d.py 26 Nov 2008 09:03:28 -0000 1.1.4.1 --- py2d.py 28 Jan 2009 11:16:51 -0000 1.1.4.2 *************** *** 1,4 **** --- 1,8 ---- import sys import types + import re + + def ad_escape(s): + return re.sub(r"([^<]*)<([^>]*)>", r"\g<1>\\<\g<2>\\>", s) class DocInfo: *************** *** 19,23 **** info.default = "" if len(defs): ! info.default = defs.pop() ret.append(info) ret.reverse() --- 23,30 ---- info.default = "" if len(defs): ! default = repr(defs.pop()) ! # the default may be an object, so the repr gives '<...>' - and ! # the angle brackets screw autoduck. ! info.default = default.replace("<", "").replace(">", "") ret.append(info) ret.reverse() *************** *** 32,45 **** return ret def format_desc(desc): if not desc: return "" ! lines = desc.splitlines() ! chunks = [lines[0]] ! for line in lines[1:]: ! line = line.strip() ! if not line: ! line = "<nl>" ! chunks.append( "// " + line ) return "\n".join(chunks) --- 39,85 ---- return ret + def should_build_function(build_info): + return build_info.ob.__doc__ and not build_info.ob.__name__.startswith('_') + + # docstring aware paragraph generator. Isn't there something in docutils + # we can use? + def gen_paras(val): + chunks = [] + in_docstring = False + for line in val.splitlines(): + line = ad_escape(line.strip()) + if not line or (not in_docstring and line.startswith(">>> ")): + if chunks: + yield chunks + chunks = [] + if not line: + in_docstring = False + continue + in_docstring = True + chunks.append(line) + yield chunks or [''] + def format_desc(desc): + # A little complicated! Given the docstring for a module, we want to: + # write: + # 'first_para_of_docstring' + # '@comm next para of docstring' + # '@comm next para of docstring' ... etc + # BUT - also handling enbedded doctests, where we write + # '@iex >>> etc.' if not desc: return "" ! g = gen_paras(desc) ! first = next(g) ! chunks = [first[0]] ! chunks.extend(["// " + l for l in first[1:]]) ! for lines in g: ! first = lines[0] ! if first.startswith(">>> "): ! prefix = "// @iex \n// " ! else: ! prefix = "\n// @comm " ! chunks.append(prefix + first) ! chunks.extend(["// " + l for l in lines[1:]]) return "\n".join(chunks) *************** *** 50,59 **** classes = [] constants = [] ! for name, ob in mod.__dict__.items(): if name.startswith("_"): continue if hasattr(ob, "__module__") and ob.__module__ != mod_name: continue ! if type(ob)==types.ClassType: classes.append(BuildInfo(name, ob)) elif type(ob)==types.FunctionType: --- 90,99 ---- classes = [] constants = [] ! for name, ob in list(mod.__dict__.items()): if name.startswith("_"): continue if hasattr(ob, "__module__") and ob.__module__ != mod_name: continue ! if type(ob) in [type, type]: classes.append(BuildInfo(name, ob)) elif type(ob)==types.FunctionType: *************** *** 63,68 **** --- 103,115 ---- info = BuildInfo(mod_name, mod) print("// @module %s|%s" % (mod_name, format_desc(info.desc)), file=fp) + functions = [f for f in functions if should_build_function(f)] for ob in functions: print("// @pymeth %s|%s" % (ob.name, ob.short_desc), file=fp) + for ob in classes: + # only classes with docstrings get printed. + if not ob.ob.__doc__: + continue + ob_name = mod_name + "." + ob.name + print("// @pyclass %s|%s" % (ob.name, ob.short_desc), file=fp) for ob in functions: print("// @pymethod |%s|%s|%s" % (mod_name, ob.name, format_desc(ob.desc)), file=fp) *************** *** 71,85 **** for ob in classes: ob_name = mod_name + "." + ob.name print("// @object %s|%s" % (ob_name, format_desc(ob.desc)), file=fp) func_infos = [] ! for n, o in ob.ob.__dict__.items(): ! if type(o)==types.FunctionType: info = BuildInfo(n, o) ! func_infos.append(info) for fi in func_infos: print("// @pymeth %s|%s" % (fi.name, fi.short_desc), file=fp) for fi in func_infos: print("// @pymethod |%s|%s|%s" % (ob_name, fi.name, format_desc(fi.desc)), file=fp) for ai in BuildArgInfos(fi.ob): print("// @pyparm |%s|%s|%s" % (ai.name, ai.default, ai.short_desc), file=fp) --- 118,142 ---- for ob in classes: + # only classes with docstrings get printed. + if not ob.ob.__doc__: + continue ob_name = mod_name + "." + ob.name print("// @object %s|%s" % (ob_name, format_desc(ob.desc)), file=fp) func_infos = [] ! # We need to iter the keys then to a getattr() so the funky descriptor ! # things work. ! for n in ob.ob.__dict__.keys(): ! o = getattr(ob.ob, n) ! if isinstance(o, (types.FunctionType, types.MethodType)): info = BuildInfo(n, o) ! if should_build_function(info): ! func_infos.append(info) for fi in func_infos: print("// @pymeth %s|%s" % (fi.name, fi.short_desc), file=fp) for fi in func_infos: print("// @pymethod |%s|%s|%s" % (ob_name, fi.name, format_desc(fi.desc)), file=fp) + if hasattr(fi.ob, 'im_self') and fi.ob.im_self is ob.ob: + print("// @comm This is a @classmethod.", file=fp) + print("// @pymethod |%s|%s|%s" % (ob_name, fi.name, format_desc(fi.desc)), file=fp) for ai in BuildArgInfos(fi.ob): print("// @pyparm |%s|%s|%s" % (ai.name, ai.default, ai.short_desc), file=fp) *************** *** 87,91 **** for (name, val) in constants: desc = "%s = %r" % (name, val) ! if type(val) in (int, long): desc += " (0x%x)" % (val,) print("// @const %s|%s|%s" % (mod_name, name, desc), file=fp) --- 144,148 ---- for (name, val) in constants: desc = "%s = %r" % (name, val) ! if type(val) in (int, int): desc += " (0x%x)" % (val,) print("// @const %s|%s|%s" % (mod_name, name, desc), file=fp) Index: makedfromi.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/makedfromi.py,v retrieving revision 1.8.4.2 retrieving revision 1.8.4.3 diff -C2 -d -r1.8.4.2 -r1.8.4.3 *** makedfromi.py 28 Jan 2009 11:12:57 -0000 1.8.4.2 --- makedfromi.py 28 Jan 2009 11:16:51 -0000 1.8.4.3 *************** *** 80,84 **** extra_tags.append("// " + doc + '\n') except: ! print "Line %d is badly formed - %s" % (lineNo, str(sys.exc_value)) lineNo = lineNo + 1 --- 80,84 ---- extra_tags.append("// " + doc + '\n') except: ! print("Line %d is badly formed - %s" % (lineNo, str(sys.exc_value))) lineNo = lineNo + 1 *************** *** 109,113 **** fields = string.split(meth,'|') if len(fields)<>3: ! print "**Error - %s does not have enough fields" % meth else: outFile.write("// @pymethod %s|%s|%s|%s\n" % (fields[0],thisModName,fields[1], fields[2])) --- 109,113 ---- fields = string.split(meth,'|') if len(fields)<>3: ! print("**Error - %s does not have enough fields" % meth) else: outFile.write("// @pymethod %s|%s|%s|%s\n" % (fields[0],thisModName,fields[1], fields[2])) *************** *** 143,149 **** outName = a msg = string.join(args) ! except getopt.error, msg: ! print msg ! print "Usage: %s [-o output_name] [-p com_parent] filename" % sys.argv[0] return --- 143,149 ---- outName = a msg = string.join(args) ! except getopt.error as msg: ! print(msg) ! print("Usage: %s [-o output_name] [-p com_parent] filename" % sys.argv[0]) return Index: Dump2HHC.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/Dump2HHC.py,v retrieving revision 1.6.4.2 retrieving revision 1.6.4.3 diff -C2 -d -r1.6.4.2 -r1.6.4.3 *** Dump2HHC.py 28 Jan 2009 11:12:57 -0000 1.6.4.2 --- Dump2HHC.py 28 Jan 2009 11:16:51 -0000 1.6.4.3 *************** *** 143,147 **** if d.has_key(top.name): ! print "Duplicate named %s detected: %s" % (top.type, top.name) # Skip the property fields line for module/object --- 143,147 ---- if d.has_key(top.name): ! print("Duplicate named %s detected: %s" % (top.type, top.name)) # Skip the property fields line for module/object *************** *** 216,220 **** def _genCategoryHTMLFromDict(dict, output): ! keys = dict.keys() keys.sort() for key in keys: --- 216,220 ---- def _genCategoryHTMLFromDict(dict, output): ! keys = list(dict.keys()) keys.sort() for key in keys: *************** *** 255,259 **** def _genItemsFromDict(dict, cat, output, target, do_children = 1): CHM = "mk:@MSITStore:%s.chm::/" % target ! keys = dict.keys() keys.sort() for k in keys: --- 255,259 ---- def _genItemsFromDict(dict, cat, output, target, do_children = 1): CHM = "mk:@MSITStore:%s.chm::/" % target ! keys = list(dict.keys()) keys.sort() for k in keys: Index: pyhtml.fmt =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/pyhtml.fmt,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -C2 -d -r1.12 -r1.12.2.1 *** pyhtml.fmt 4 May 2008 12:59:57 -0000 1.12 --- pyhtml.fmt 28 Jan 2009 11:16:51 -0000 1.12.2.1 *************** *** 260,263 **** --- 260,270 ---- .post=$(deflist_e) + .tag=pyclass, html, 2, 2 + .pre=$(rmh)Classes$(rmhe)$(par)$(deflist) + .format=$(term1)<A HREF="#module.1.#1.html">$1</A>$(line) + $(def1)$2 $(par) + .post=$(deflist_e) + .if=exists($module.1) + .tag=pymeth, html, 2, 2 .pre=$(rmh)Methods$(rmhe)$(par)$(deflist) *************** *** 521,526 **** .tag=iex, html, 1, 8, 1 ! .format=$(ex)$1$(par) ! $(ex)$(par) .post=$(exe) --- 528,533 ---- .tag=iex, html, 1, 8, 1 ! .pre=$(ex) ! .format=$1$(par) .post=$(exe) Index: BuildHHP.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/BuildHHP.py,v retrieving revision 1.9.4.2 retrieving revision 1.9.4.3 diff -C2 -d -r1.9.4.2 -r1.9.4.3 *** BuildHHP.py 28 Jan 2009 11:12:57 -0000 1.9.4.2 --- BuildHHP.py 28 Jan 2009 11:16:51 -0000 1.9.4.3 *************** *** 40,44 **** new = glob.glob(g) if len(new)==0: ! print "The pattern '%s' yielded no files!" % (g,) lFiles = lFiles + new # lFiles is now the list of origin files. --- 40,44 ---- new = glob.glob(g) if len(new)==0: ! print("The pattern '%s' yielded no files!" % (g,)) lFiles = lFiles + new # lFiles is now the list of origin files. *************** *** 66,70 **** # else we have a trailing slash - it means we _expect_ it to be a patch as-is. assert os.path.isdir(sCommonPrefix) and sCommonPrefix[-1]=="\\", "commonprefix splitting aint gunna work!" ! print "sCommonPrefix=", sCommonPrefix # Ok, now remove this common prefix from every file: lRelativeFiles = [] --- 66,70 ---- # else we have a trailing slash - it means we _expect_ it to be a patch as-is. assert os.path.isdir(sCommonPrefix) and sCommonPrefix[-1]=="\\", "commonprefix splitting aint gunna work!" ! print("sCommonPrefix=", sCommonPrefix) # Ok, now remove this common prefix from every file: lRelativeFiles = [] Index: InsertExternalOverviews.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/InsertExternalOverviews.py,v retrieving revision 1.2.4.2 retrieving revision 1.2.4.3 diff -C2 -d -r1.2.4.2 -r1.2.4.3 *** InsertExternalOverviews.py 28 Jan 2009 11:12:57 -0000 1.2.4.2 --- InsertExternalOverviews.py 28 Jan 2009 11:16:51 -0000 1.2.4.3 *************** *** 29,33 **** for item in cat.overviewItems.items: dict[item.name] = item.href ! keys = dict.keys() keys.sort() for k in keys: --- 29,33 ---- for item in cat.overviewItems.items: dict[item.name] = item.href ! keys = list(dict.keys()) keys.sort() for k in keys: *************** *** 45,49 **** def main(): if len(sys.argv) != 2: ! print "Invalid args" sys.exit(1) file = sys.argv[1] --- 45,49 ---- def main(): if len(sys.argv) != 2: ! print("Invalid args") sys.exit(1) file = sys.argv[1] |
Update of /cvsroot/pywin32/pywin32/AutoDuck In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2945 Modified Files: Tag: py3k BuildHHP.py Dump2HHC.py InsertExternalOverviews.py document_object.py makedfromi.py Log Message: move to py3k syntax Index: BuildHHP.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/BuildHHP.py,v retrieving revision 1.9.4.1 retrieving revision 1.9.4.2 diff -C2 -d -r1.9.4.1 -r1.9.4.2 *** BuildHHP.py 26 Nov 2008 09:03:28 -0000 1.9.4.1 --- BuildHHP.py 28 Jan 2009 11:12:57 -0000 1.9.4.2 *************** *** 40,44 **** new = glob.glob(g) if len(new)==0: ! print("The pattern '%s' yielded no files!" % (g,)) lFiles = lFiles + new # lFiles is now the list of origin files. --- 40,44 ---- new = glob.glob(g) if len(new)==0: ! print "The pattern '%s' yielded no files!" % (g,) lFiles = lFiles + new # lFiles is now the list of origin files. *************** *** 66,70 **** # else we have a trailing slash - it means we _expect_ it to be a patch as-is. assert os.path.isdir(sCommonPrefix) and sCommonPrefix[-1]=="\\", "commonprefix splitting aint gunna work!" ! print("sCommonPrefix=", sCommonPrefix) # Ok, now remove this common prefix from every file: lRelativeFiles = [] --- 66,70 ---- # else we have a trailing slash - it means we _expect_ it to be a patch as-is. assert os.path.isdir(sCommonPrefix) and sCommonPrefix[-1]=="\\", "commonprefix splitting aint gunna work!" ! print "sCommonPrefix=", sCommonPrefix # Ok, now remove this common prefix from every file: lRelativeFiles = [] Index: Dump2HHC.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/Dump2HHC.py,v retrieving revision 1.6.4.1 retrieving revision 1.6.4.2 diff -C2 -d -r1.6.4.1 -r1.6.4.2 *** Dump2HHC.py 26 Nov 2008 09:03:28 -0000 1.6.4.1 --- Dump2HHC.py 28 Jan 2009 11:12:57 -0000 1.6.4.2 *************** *** 143,147 **** if d.has_key(top.name): ! print("Duplicate named %s detected: %s" % (top.type, top.name)) # Skip the property fields line for module/object --- 143,147 ---- if d.has_key(top.name): ! print "Duplicate named %s detected: %s" % (top.type, top.name) # Skip the property fields line for module/object Index: InsertExternalOverviews.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/InsertExternalOverviews.py,v retrieving revision 1.2.4.1 retrieving revision 1.2.4.2 diff -C2 -d -r1.2.4.1 -r1.2.4.2 *** InsertExternalOverviews.py 26 Nov 2008 09:03:28 -0000 1.2.4.1 --- InsertExternalOverviews.py 28 Jan 2009 11:12:57 -0000 1.2.4.2 *************** *** 45,49 **** def main(): if len(sys.argv) != 2: ! print("Invalid args") sys.exit(1) file = sys.argv[1] --- 45,49 ---- def main(): if len(sys.argv) != 2: ! print "Invalid args" sys.exit(1) file = sys.argv[1] Index: document_object.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/document_object.py,v retrieving revision 1.2.4.1 retrieving revision 1.2.4.2 diff -C2 -d -r1.2.4.1 -r1.2.4.2 *** document_object.py 26 Nov 2008 09:03:28 -0000 1.2.4.1 --- document_object.py 28 Jan 2009 11:12:57 -0000 1.2.4.2 *************** *** 68,80 **** if __name__=='__main__': doc = GetDocument() ! print("Important Notes") for link in doc.important: ! print(" ", link.name, link.href) ! print("Doc links") for link in doc.links: ! print(" ", link.name, link.href) ! print("Doc categories") for c in doc: ! print(" ", c.id, c.label) --- 68,80 ---- if __name__=='__main__': doc = GetDocument() ! print "Important Notes" for link in doc.important: ! print " ", link.name, link.href ! print "Doc links" for link in doc.links: ! print " ", link.name, link.href ! print "Doc categories" for c in doc: ! print " ", c.id, c.label Index: makedfromi.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/makedfromi.py,v retrieving revision 1.8.4.1 retrieving revision 1.8.4.2 diff -C2 -d -r1.8.4.1 -r1.8.4.2 *** makedfromi.py 26 Nov 2008 09:03:28 -0000 1.8.4.1 --- makedfromi.py 28 Jan 2009 11:12:57 -0000 1.8.4.2 *************** *** 80,84 **** extra_tags.append("// " + doc + '\n') except: ! print("Line %d is badly formed - %s" % (lineNo, str(sys.exc_value))) lineNo = lineNo + 1 --- 80,84 ---- extra_tags.append("// " + doc + '\n') except: ! print "Line %d is badly formed - %s" % (lineNo, str(sys.exc_value)) lineNo = lineNo + 1 *************** *** 109,113 **** fields = string.split(meth,'|') if len(fields)<>3: ! print("**Error - %s does not have enough fields" % meth) else: outFile.write("// @pymethod %s|%s|%s|%s\n" % (fields[0],thisModName,fields[1], fields[2])) --- 109,113 ---- fields = string.split(meth,'|') if len(fields)<>3: ! print "**Error - %s does not have enough fields" % meth else: outFile.write("// @pymethod %s|%s|%s|%s\n" % (fields[0],thisModName,fields[1], fields[2])) *************** *** 143,149 **** outName = a msg = string.join(args) ! except getopt.error as msg: ! print(msg) ! print("Usage: %s [-o output_name] [-p com_parent] filename" % sys.argv[0]) return --- 143,149 ---- outName = a msg = string.join(args) ! except getopt.error, msg: ! print msg ! print "Usage: %s [-o output_name] [-p com_parent] filename" % sys.argv[0] return |
|
From: Mark H. <mha...@us...> - 2009-01-28 10:57:36
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv1216 Modified Files: CHANGES.txt Log Message: add reference to py3k work Index: CHANGES.txt =================================================================== RCS file: /cvsroot/pywin32/pywin32/CHANGES.txt,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** CHANGES.txt 25 Jan 2009 23:52:40 -0000 1.42 --- CHANGES.txt 28 Jan 2009 10:57:30 -0000 1.43 *************** *** 9,12 **** --- 9,25 ---- ---------------- + * py3k work - see the notes in the main documentation index for details, + but this entailed a huge overhaul of almost all the pywin32 sources. + Many things have been modernized for the first time in over a decade, + and may new tests have been added. As a result, build 213 will not + be recommended for production work and should be treated as beta quality. + + Huge thanks to: + - Roger Upole: for starting the py3k work, and without whom the py3k work + would literally not yet have started. + - Jason R. Coombs: for help porting win32timezone to py3k and for helping + with the new datetime object support. + - Vernon Cole: for help with porting adodbapi to py3k. + * Added win32wnet.WNetAddConnection3 allowing a HWND to be specified for authentication. |
|
From: Mark H. <mha...@us...> - 2009-01-28 10:54:50
|
Update of /cvsroot/pywin32/pywin32/isapi In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv978/isapi Modified Files: install.py Log Message: autoduck tweaks Index: install.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/isapi/install.py,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** install.py 3 Jan 2009 05:23:07 -0000 1.20 --- install.py 28 Jan 2009 10:54:41 -0000 1.21 *************** *** 294,301 **** def AssignScriptMaps(script_maps, target, update='replace'): ! """ ! @param script_maps ScriptMapParameter[] ! @param target An IIS Virtual Directory to assign the script maps ! @param update How to update the maps ('start', 'end', or 'replace') """ # determine which function to use to assign script maps --- 294,305 ---- def AssignScriptMaps(script_maps, target, update='replace'): ! """Updates IIS with the supplied script map information. ! ! script_maps is a list of ScriptMapParameter objects ! ! target is an IIS Virtual Directory to assign the script maps to ! ! update is a string indicating how to update the maps, one of ('start', ! 'end', or 'replace') """ # determine which function to use to assign script maps |
|
From: Mark H. <mha...@us...> - 2009-01-28 10:54:46
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv978/win32/src Modified Files: PyTime.cpp Log Message: autoduck tweaks Index: PyTime.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PyTime.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** PyTime.cpp 27 Jan 2009 13:07:19 -0000 1.27 --- PyTime.cpp 28 Jan 2009 10:54:41 -0000 1.28 *************** *** 683,693 **** /////////////////////////////////////////////////////////////////////////// #ifdef PYWIN_HAVE_DATETIME_CAPI - // @object PyDateTime|A Python object, representing an instant in time. - // @comm pywin32 builds for Python 3.0 use datetime objects instead of the - // old PyTime object. - // @comm PyDateTime is a sub-class of the regular datetime.datetime object. - // It is subclassed so it can provide a somewhat backwards compatible - // <om PyDateTime.Format> method, but is otherwise identical. - // @pymethod str|PyDateTime|Format| // @comm This method is an alias for the datetime strftime method, using --- 683,686 ---- *************** *** 713,716 **** --- 706,716 ---- } + // @object PyDateTime|A Python object, representing an instant in time. + // @comm pywin32 builds for Python 3.0 use datetime objects instead of the + // old PyTime object. + // @comm PyDateTime is a sub-class of the regular datetime.datetime object. + // It is subclassed so it can provide a somewhat backwards compatible + // <om PyDateTime.Format> method, but is otherwise identical. + struct PyMethodDef PyWinDateTimeType_methods[] = { {"Format", PyWinDateTimeType_Format, 1}, // @pymeth Format|Formats the time value - an alias for strftime with a default param. |
|
From: Mark H. <mha...@us...> - 2009-01-28 10:54:13
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv927 Modified Files: setup.py Log Message: November 2008 and later versions of the DX SDK set a DXSDK_DIR var Index: setup.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup.py,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** setup.py 27 Jan 2009 13:09:09 -0000 1.95 --- setup.py 28 Jan 2009 10:54:06 -0000 1.96 *************** *** 693,708 **** # directx sdk sucks - how to locate it automatically? # Must manually set DIRECTX_SDK_DIR for now. ! dxsdk_dir = os.environ.get("DIRECTX_SDK_DIR") ! if dxsdk_dir: ! extra = os.path.join(dxsdk_dir, 'include') ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_include_dir(extra) ! if is_64bit: ! tail = 'x64' ! else: ! tail = 'x86' ! extra = os.path.join(dxsdk_dir, 'lib', tail) ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_library_dir(extra) log.debug("After SDK processing, includes are %s", self.compiler.include_dirs) --- 693,712 ---- # directx sdk sucks - how to locate it automatically? # Must manually set DIRECTX_SDK_DIR for now. ! # (but it appears November 2008 and later versions set DXSDK_DIR, so ! # we allow both, allowing our "old" DIRECTX_SDK_DIR to override things ! for dxsdk_dir_var in ("DIRECTX_SDK_DIR", "DXSDK_DIR"): ! dxsdk_dir = os.environ.get(dxsdk_dir_var) ! if dxsdk_dir: ! extra = os.path.join(dxsdk_dir, 'include') ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_include_dir(extra) ! if is_64bit: ! tail = 'x64' ! else: ! tail = 'x86' ! extra = os.path.join(dxsdk_dir, 'lib', tail) ! assert os.path.isdir(extra), "%s doesn't exist!" % (extra,) ! self.compiler.add_library_dir(extra) ! break log.debug("After SDK processing, includes are %s", self.compiler.include_dirs) |
|
From: Mark H. <mha...@us...> - 2009-01-28 10:48:54
|
Update of /cvsroot/pywin32/pywin32/AutoDuck In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv514 Modified Files: pywin32.mak Log Message: generate docs from win32timezone Index: pywin32.mak =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/pywin32.mak,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** pywin32.mak 24 May 2008 08:17:54 -0000 1.20 --- pywin32.mak 28 Jan 2009 10:48:49 -0000 1.21 *************** *** 96,100 **** $(ISAPI_SOURCE_DIR)\*.cpp $(ISAPI_SOURCE_DIR)\*.h $(GENDIR)\isapi_modules.d ! GENERATED_D = $(GENDIR)\sspi.d SOURCE=$(WIN32_SOURCE) $(WIN32COM_SOURCE) $(PYTHONWIN_SOURCE) $(ISAPI_SOURCE) $(GENERATED_D) --- 96,100 ---- $(ISAPI_SOURCE_DIR)\*.cpp $(ISAPI_SOURCE_DIR)\*.h $(GENDIR)\isapi_modules.d ! GENERATED_D = $(GENDIR)\sspi.d $(GENDIR)\win32timezone.d SOURCE=$(WIN32_SOURCE) $(WIN32COM_SOURCE) $(PYTHONWIN_SOURCE) $(ISAPI_SOURCE) $(GENERATED_D) *************** *** 121,124 **** --- 121,127 ---- $(PYTHON) py2d.py sspi > $(GENDIR)\sspi.d + $(GENDIR)\win32timezone.d: py2d.py pseudo + $(PYTHON) py2d.py win32timezone > $(GENDIR)\win32timezone.d + "$(GENDIR)\$(TARGET).hhc" : $(SOURCE) Dump2HHC.py $(DOCUMENT_FILE) rem Run autoduck over each category so we can create a nested TOC. |