Tk Source Code

Check-in [f748e311]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Workaround for 4955f5d8a4: tailcall splicing spot vs. raw TclInvokeObjectCommand. This commit can be reverted as soon as a solution for 4955f5d8a4 is committed to Tcl trunk, but I don't want to hold my breath until that is done, neither do I want to leave the Ocaml guys in the cold ...
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f748e3113146e6cdf22d83708ecae8ed288b01b8
User & Date: jan.nijtmans 2014-07-08 14:23:20
Context
2014-07-24
02:30
Fix for display of images when scrolling a text widget on OS X; thanks to Marc Culler for patch check-in: 8537edc1 user: kevin_walzer tags: trunk
2014-07-17
21:34
merge trunk check-in: 528082c1 user: jan.nijtmans tags: novem-support
2014-07-08
14:23
Workaround for 4955f5d8a4: tailcall splicing spot vs. raw TclInvokeObjectCommand. This commit can be reverted as soon as a solution for 4955f5d8a4 is committed to Tcl trunk, but I don't want to hold my breath until that is done, neither do I want to leave the Ocaml guys in the cold ... check-in: f748e311 user: jan.nijtmans tags: trunk
14:14
merge-mark check-in: 56637bf8 user: jan.nijtmans tags: trunk
2014-05-22
20:24
merge trunk Closed-Leaf check-in: c24e8f56 user: jan.nijtmans tags: bug-4955f5d8a4
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to library/tk.tcl.

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    # Set up the msgcat commands
    namespace eval msgcat {
	namespace export mc mcmax
        if {[interp issafe] || [catch {package require msgcat}]} {
            # The msgcat package is not available.  Supply our own
            # minimal replacement.
            proc mc {src args} {
                tailcall format $src {*}$args
            }
            proc mcmax {args} {
                set max 0
                foreach string $args {
                    set len [string length $string]
                    if {$len>$max} {
                        set max $len







|







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    # Set up the msgcat commands
    namespace eval msgcat {
	namespace export mc mcmax
        if {[interp issafe] || [catch {package require msgcat}]} {
            # The msgcat package is not available.  Supply our own
            # minimal replacement.
            proc mc {src args} {
                return [format $src {*}$args]
            }
            proc mcmax {args} {
                set max 0
                foreach string $args {
                    set len [string length $string]
                    if {$len>$max} {
                        set max $len
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
#----------------------------------------------------------------------
# Define common dialogs on platforms where they are not implemented 
# using compiled code.
#----------------------------------------------------------------------

if {![llength [info commands tk_chooseColor]]} {
    proc ::tk_chooseColor {args} {
	tailcall ::tk::dialog::color:: {*}$args
    }
}
if {![llength [info commands tk_getOpenFile]]} {
    proc ::tk_getOpenFile {args} {
	if {$::tk_strictMotif} {
	    tailcall ::tk::MotifFDialog open {*}$args
	} else {
	    tailcall ::tk::dialog::file:: open {*}$args
	}
    }
}
if {![llength [info commands tk_getSaveFile]]} {
    proc ::tk_getSaveFile {args} {
	if {$::tk_strictMotif} {
	    tailcall ::tk::MotifFDialog save {*}$args
	} else {
	    tailcall ::tk::dialog::file:: save {*}$args
	}
    }
}
if {![llength [info commands tk_messageBox]]} {
    proc ::tk_messageBox {args} {
	tailcall ::tk::MessageBox {*}$args
    }
}
if {![llength [info command tk_chooseDirectory]]} {
    proc ::tk_chooseDirectory {args} {
	tailcall ::tk::dialog::file::chooseDir:: {*}$args
    }
}

#----------------------------------------------------------------------
# Define the set of common virtual events.
#----------------------------------------------------------------------








|





|

|






|

|





|




|







330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
#----------------------------------------------------------------------
# Define common dialogs on platforms where they are not implemented 
# using compiled code.
#----------------------------------------------------------------------

if {![llength [info commands tk_chooseColor]]} {
    proc ::tk_chooseColor {args} {
	return [::tk::dialog::color:: {*}$args]
    }
}
if {![llength [info commands tk_getOpenFile]]} {
    proc ::tk_getOpenFile {args} {
	if {$::tk_strictMotif} {
	    return [::tk::MotifFDialog open {*}$args]
	} else {
	    return [::tk::dialog::file:: open {*}$args]
	}
    }
}
if {![llength [info commands tk_getSaveFile]]} {
    proc ::tk_getSaveFile {args} {
	if {$::tk_strictMotif} {
	    return [::tk::MotifFDialog save {*}$args]
	} else {
	    return [::tk::dialog::file:: save {*}$args]
	}
    }
}
if {![llength [info commands tk_messageBox]]} {
    proc ::tk_messageBox {args} {
	return [::tk::MessageBox {*}$args]
    }
}
if {![llength [info command tk_chooseDirectory]]} {
    proc ::tk_chooseDirectory {args} {
	return [::tk::dialog::file::chooseDir:: {*}$args]
    }
}

#----------------------------------------------------------------------
# Define the set of common virtual events.
#----------------------------------------------------------------------