git-gui: assure -eofchar {} on all channels
Per 6eb420ef61 ("git-gui: Always disable the Tcl EOF character when
reading", 2007-07-17), git-gui should disable Tcl's EOF character
detection on all files when on Windows: the default is disabled on all
other platforms (and with Tcl 9.0, is disabled on Windows too). This
EOF character is for compatibility with files / applications written for
file systems that know only the disc sectors allocated, and not the
number of bytes used. This has nothing to do with git.
But, git-gui does not set -eofchar {} on all channels. To avoid any
further leakage, let's just add this to the Windows specific override of
open. This override is needed only as long as Tcl 8.x is in use (Tcl
9.0 makes -eofchar {} default on all platforms).
Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
This commit is contained in:
@@ -483,7 +483,6 @@ method _load {jump} {
|
||||
} else {
|
||||
set fd [safe_open_file $path r]
|
||||
}
|
||||
fconfigure $fd -eofchar {}
|
||||
} else {
|
||||
if {$do_textconv ne 0} {
|
||||
set fd [git_read [list cat-file --textconv "$commit:$path"]]
|
||||
|
||||
@@ -462,7 +462,7 @@ If you wanted to be on a branch, create one now starting from 'This Detached Che
|
||||
if {$fd_ph ne {}} {
|
||||
global pch_error
|
||||
set pch_error {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary -eofchar {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary
|
||||
fileevent $fd_ph readable [cb _postcheckout_wait $fd_ph]
|
||||
} else {
|
||||
_update_repo_state $this
|
||||
|
||||
@@ -252,7 +252,7 @@ A good commit message has the following format:
|
||||
|
||||
ui_status [mc "Calling pre-commit hook..."]
|
||||
set pch_error {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary -eofchar {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary
|
||||
fileevent $fd_ph readable \
|
||||
[list commit_prehook_wait $fd_ph $curHEAD $msg_p]
|
||||
}
|
||||
@@ -307,7 +307,7 @@ Do you really want to proceed with your Commit?"]
|
||||
|
||||
ui_status [mc "Calling commit-msg hook..."]
|
||||
set pch_error {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary -eofchar {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary
|
||||
fileevent $fd_ph readable \
|
||||
[list commit_commitmsg_wait $fd_ph $curHEAD $msg_p]
|
||||
}
|
||||
@@ -460,7 +460,7 @@ A rescan will be automatically started now.
|
||||
if {$fd_ph ne {}} {
|
||||
global pch_error
|
||||
set pch_error {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary -eofchar {}
|
||||
fconfigure $fd_ph -blocking 0 -translation binary
|
||||
fileevent $fd_ph readable \
|
||||
[list commit_postcommit_wait $fd_ph $cmt_id]
|
||||
}
|
||||
|
||||
@@ -191,7 +191,6 @@ proc show_other_diff {path w m cont_info} {
|
||||
file {
|
||||
set fd [safe_open_file $path r]
|
||||
fconfigure $fd \
|
||||
-eofchar {} \
|
||||
-encoding [get_path_encoding $path]
|
||||
set content [read $fd $max_sz]
|
||||
close $fd
|
||||
|
||||
@@ -33,7 +33,6 @@ constructor init {pipe_fd ui_text ui_menu} {
|
||||
method _connect {pipe_fd} {
|
||||
fconfigure $pipe_fd \
|
||||
-encoding utf-8 \
|
||||
-eofchar {} \
|
||||
-translation lf
|
||||
|
||||
if {[gets $pipe_fd s_version] <= 0} {
|
||||
|
||||
Reference in New Issue
Block a user