Nicolas, Alistair,
this is a useful conversation. Consider adding it to CONTRIBUTING.md
_,,,^..^,,,_ (phone)
> On Dec 27, 2018, at 10:13 AM, akgrant43 <notifications(a)github.com> wrote:
>
> Note that I like to see the "messy" decomposed history where each change
> has a rationale attached in a separate commit message.
> Of course, erratic trial and errors may benefit from a little rewrite of
> history, but not a squash, it's too violent for my taste, more something
> like a rebase -i.
>
> I think maybe we're saying the same thing. Each commit in the main branch (Cog) should be single purpose and well documented, e.g. includes the rationale, which allows the reader to see the progression and consume the changes in small, understandable steps. I'm just suggesting one way to achieve that.
>
> Leaving a messy (i.e. something that includes a mistake) decomposed history can just lead to confusion, e.g. I recently didn't squash down one of my PR's. Because it had every intermediate commit one reviewer thought I had committed a plugin built from dirty code, when in fact a later commit in the PR used clean code.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub, or mute the thread.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4…
Hi all,
while reviewing compiler warnings via MSVC for WIN-64 SPUR VM, I saw that
we incorrectly pass a TCHAR * (via fromSqueak() function) to a function
(isAccessiblePathName) expecting a WCHAR * (that is UTF-16 encoded wide
char).
TCHAR is a facade, it might be char *, or it might be WCHAR *, depending on
-DUNICODE compiler flag, or #define UNICODE preprocessor macro.
fromSqueak() just copies the image-side ByteString to a null terminated
string. If -DUNICODE, it copies to a WCHAR *, but this only work for ASCII
strings.
I suggest to rather interpret every path passed to the VM as UTF-8 encoded,
and for that purpose I've committed a change to sqWin32Security.c.
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b52caab76f7f6b91c1…
But I see that other platforms flavours (unix at least) require the same
kind of changes. Any thought before i proceeed?
Build Update for OpenSmalltalk/opensmalltalk-vm
-------------------------------------
Build: #1575
Status: Errored
Duration: 55 mins and 22 secs
Commit: b52caab (win64_cleanups)
Author: Nicolas Cellier
Message: Fix sqWin32Security.c UNICODE problems
We cannot pass a TCHAR * to a function expecting a WCHAR *, or the compiler logically barks.
`isAccessiblePathName` takes a WCHAR * parameter
`fromSqueak` answers a TCHAR *, which is currently a char * (because UNICODE is undefined).
We want to be able to query internationalized path name, then the best (portable) thing to do is stick to UTF-8.
We thus now interpret the pathName/fileName as UTF8-encoded in the authorization query primitives.
NOTE: no effort is attempted to handle long path names here.
View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/67980fcf8646...b5…
View the full build log and details: https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/472692869?utm_m…
--
You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&ut….
Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notificati….
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.
Hi Ben,
On Mon, 17 Dec 2018 at 15:55, Ben Coman <notifications(a)github.com> wrote:
>
> To provide cleaner PRs, I tend to "git commit --amend" to my-branch that I
> issued a PR from and force push that to my github account.
> In spite of the general advice not to force push public branches, in
> reality it seems people rarely branch except from the canonical account.
> Actually this could be covered by a convention like...
> "if you branch from someone's personal account, immediately push it to
> your account so it shows up in the network view."
> Forcing pushing only a problem if someone has branched from it the network
> view could be checked before forcing pushing.
Just as an alternative:
Instead of amending the commits, sometimes I double branch and squash
the merges back, e.g. (from memory):
$ git checkout Cog
$ git checkout -b IssueBranch
$ git checkout -b IssueBranchDev
Lots of little commits, backtracks, etc. while solving the problem.
$ git checkout IssueBranch
$ git merge --squash IssueBranchDev
$ git push
and then create the PR.
The advantage is that I still have the messy history available in
IssueBranchDev while I'm doing the development.
Cheers,
Alistair
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4…
Branch: refs/heads/win64_cleanups
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: b52caab76f7f6b91c1f16d9037e0b0a43d968176
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b52caab76f7f6b91c1…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-27 (Thu, 27 Dec 2018)
Changed paths:
M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c
Log Message:
-----------
Fix sqWin32Security.c UNICODE problems
We cannot pass a TCHAR * to a function expecting a WCHAR *, or the compiler logically barks.
`isAccessiblePathName` takes a WCHAR * parameter
`fromSqueak` answers a TCHAR *, which is currently a char * (because UNICODE is undefined).
We want to be able to query internationalized path name, then the best (portable) thing to do is stick to UTF-8.
We thus now interpret the pathName/fileName as UTF8-encoded in the authorization query primitives.
NOTE: no effort is attempted to handle long path names here.
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
Branch: refs/heads/win64_cleanups
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 4b23645c1ccff7cbd4d8bb8e01fb950efd295ad2
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b23645c1ccff7cbd4…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-25 (Tue, 25 Dec 2018)
Changed paths:
M platforms/win32/vm/sqWin32Directory.c
Log Message:
-----------
Protect buffer underflow
Path could be shorted than 4 chars eventually...
Commit: e9bfeefc03b7a908b2925a9c474a59b9b9ad7d1b
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9bfeefc03b7a908b2…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-25 (Tue, 25 Dec 2018)
Changed paths:
M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c
Log Message:
-----------
Make icon setting 64bits compatible
Casting the icon handle (size of a pointer) to LONG (32 bits) is not 64bits friendly
Commit: 8df05ee8a333d24e76d7956a9ef4d73bd120b4bb
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8df05ee8a333d24e76…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-25 (Tue, 25 Dec 2018)
Changed paths:
M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c
Log Message:
-----------
remove a warning about a control path not returning a value
Commit: b2a8bd8d8beddebbcb128c5b39740e8a94c16763
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b2a8bd8d8beddebbcb…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-25 (Tue, 25 Dec 2018)
Changed paths:
M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c
Log Message:
-----------
Use TEXT macro for generic (ASCII or WIDE) string method
We should either use
- explicit ASCII variant with ASCII String constant `CertOpenSystemStoreA(0 , "MY")`
- explicit WIDE variant with Wide String constant `CertOpenSystemStoreW(0 , L"MY")`
- generic variant with generic TEXT constant `CertOpenSystemStore(0 , TEXT("MY"))`
But we should not mix usage of whatever variant function with whatever variant String.<br>
See https://docs.microsoft.com/en-us/windows/desktop/api/winnt/nf-winnt-text
Otherwise, in absence of `-DUNICODE`compiler flag, the compiler barks:
../../platforms/win32/plugins/SqueakSSL/sqWin32SSL.c:176:35: warning: incompatible pointer types passing 'unsigned short [3]' to parameter of type 'LPCSTR' (aka 'const char *') [-Wincompatible-pointer-types]
hStore = CertOpenSystemStore(0, L"MY");
^~~~~
/usr/x86_64-w64-mingw32/sys-root/mingw/include/wincrypt.h:4432:83: note: passing argument to parameter 'szSubsystemProtocol' here
WINIMPM HCERTSTORE WINAPI CertOpenSystemStoreA (HCRYPTPROV_LEGACY hProv, LPCSTR szSubsystemProtocol);
Commit: a08c1fec2bd75375e5c389eb5e0b706eaa62c82f
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a08c1fec2bd75375e5…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-26 (Wed, 26 Dec 2018)
Changed paths:
M platforms/win32/vm/sqWin32Heartbeat.c
Log Message:
-----------
Provides a high resolution clock for MSVC
See https://msdn.microsoft.com/en-us/library/ms644904(v=VS.85).aspx
Commit: 57d09aebf6b45f6b2cce6659f70946e8c9a38d2c
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/57d09aebf6b45f6b2c…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-26 (Wed, 26 Dec 2018)
Changed paths:
M platforms/win32/vm/sqWin32Directory.c
Log Message:
-----------
Define some UNIX constants in sqWin32Directory.c, MSVC oblige
the unix constants S_IRUSR are not defined in MSVC.
Pick the workaround from platforms/minheadless/windows/sqWin32Directory.c
Commit: ad71bd01659a5b909a2f744361a660c6a53a00b3
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ad71bd01659a5b909a…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-26 (Wed, 26 Dec 2018)
Changed paths:
M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c
Log Message:
-----------
Remove a few printf warnings
Commit: 8c04d9af6c308207399849a516aaf91d1b5f33e8
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8c04d9af6c30820739…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-26 (Wed, 26 Dec 2018)
Changed paths:
M platforms/win32/vm/sqWin32DirectInput.c
Log Message:
-----------
Prefer DirectX8 in MSVC
Note that support for DirectX-7 is not available after 2007 SDK!!!
https://blogs.msdn.microsoft.com/chuckw/2012/08/21/directx-sdks-of-a-certai…
We are showing our age...
cygwin still provide support files for DirectX-7, but DirectX-8 does not compile out of the box, so stick to 7 outside MSVC.
Commit: e0d70a91864eca8f72947fe36d1865785482ed2e
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e0d70a91864eca8f72…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-27 (Thu, 27 Dec 2018)
Changed paths:
M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
Log Message:
-----------
Workaround S_ISFIFO to let MSVC compile FilePlugin
Note: there is a possibility to create named pipe in windows
https://docs.microsoft.com/en-us/windows/desktop/ipc/named-pipes
But named pipes cannot be intermixed with regular files.
They are mounted on special named pipe file system (NPFS)
https://stackoverflow.com/questions/21139790/where-on-windows-a-named-pipe-…
So I think that answering false to the query is a good solution.
Commit: 9aea67d0dd63a191e80f69c6e760aadaf72de763
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9aea67d0dd63a191e8…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-27 (Thu, 27 Dec 2018)
Changed paths:
M platforms/win32/vm/sqWin32Backtrace.c
M platforms/win32/vm/sqWin32Threads.c
Log Message:
-----------
Backport Unicode compatibility patches from minheadless variant
Commit: f6d2d56b091be1b25310128b228c48c968114d60
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6d2d56b091be1b253…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-27 (Thu, 27 Dec 2018)
Changed paths:
M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c
Log Message:
-----------
Yet another printLastError Unicode compatibility fix in SoundPlugin
Commit: 67980fcf86460ac508b2beaf4a39cef58040ccdf
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/67980fcf86460ac508…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2018-12-27 (Thu, 27 Dec 2018)
Changed paths:
M platforms/win32/vm/sqWin32PluginSupport.c
M platforms/win32/vm/sqWin32Threads.c
M platforms/win32/vm/sqWin32Window.c
Log Message:
-----------
Fix another bunch of usage of printLastError uncompatible with Unicode
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4b23645c1ccf^...6…
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.