Skip to content

Commit

Permalink
Merge 9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jan.nijtmans committed Oct 25, 2024
2 parents e97381a + 1320b8a commit 0d5336d
Show file tree
Hide file tree
Showing 368 changed files with 13,570 additions and 17,658 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/mac-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ env:
ERROR_ON_FAILURES: 1
jobs:
xcode:
runs-on: macos-11
runs-on: macos-14
defaults:
run:
shell: bash
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
fi
timeout-minutes: 30
clang:
runs-on: macos-11
runs-on: macos-14
strategy:
matrix:
symbols:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/onefiledist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
working-directory: ${{ env.INST_DIR }}
macos:
name: macOS
runs-on: macos-11
runs-on: macos-13
defaults:
run:
shell: bash
Expand Down
22 changes: 9 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
# README: Tk

This is the **Tk 9.0b3** source distribution.
This is the **Tk 9.0.1** source distribution.

You can get any source release of Tk from [our distribution
site](https://sourceforge.net/projects/tcl/files/Tcl/).

8.6 (production release, daily build)
[![Build Status](https://github.com/tcltk/tk/workflows/Linux/badge.svg?branch=core-8-6-branch)](https://github.com/tcltk/tk/actions?query=workflow%3A%22Linux%22+branch%3Acore-8-6-branch)
[![Build Status](https://github.com/tcltk/tk/workflows/Windows/badge.svg?branch=core-8-6-branch)](https://github.com/tcltk/tk/actions?query=workflow%3A%22Windows%22+branch%3Acore-8-6-branch)
[![Build Status](https://github.com/tcltk/tk/workflows/macOS/badge.svg?branch=core-8-6-branch)](https://github.com/tcltk/tk/actions?query=workflow%3A%22macOS%22+branch%3Acore-8-6-branch)
9.0 (production release, daily build)
[![Build Status](https://github.com/tcltk/tk/actions/workflows/linux-build.yml/badge.svg?branch=main)](https://github.com/tcltk/tk/actions/workflows/linux-build.yml?query=branch%3Amain)
[![Build Status](https://github.com/tcltk/tk/actions/workflows/win-build.yml/badge.svg?branch=main)](https://github.com/tcltk/tk/actions/workflows/win-build.yml?query=branch%3Amain)
[![Build Status](https://github.com/tcltk/tk/actions/workflows/mac-build.yml/badge.svg?branch=main)](https://github.com/tcltk/tk/actions/workflows/mac-build.yml?query=branch%3Amain)
<br>
8.7 (in development, daily build))
[![Build Status](https://github.com/tcltk/tk/workflows/Linux/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tk/actions?query=workflow%3A%22Linux%22+branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tk/workflows/Windows/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tk/actions?query=workflow%3A%22Windows%22+branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tk/workflows/macOS/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tk/actions?query=workflow%3A%22macOS%22+branch%3Acore-8-branch)
9.0 (in development, daily build))
[![Build Status](https://github.com/tcltk/tk/workflows/Linux/badge.svg?branch=main)](https://github.com/tcltk/tk/actions?query=workflow%3A%22Linux%22+branch%3Amain)
[![Build Status](https://github.com/tcltk/tk/workflows/Windows/badge.svg?branch=main)](https://github.com/tcltk/tk/actions?query=workflow%3A%22Windows%22+branch%3Amain)
[![Build Status](https://github.com/tcltk/tk/workflows/macOS/badge.svg?branch=main)](https://github.com/tcltk/tk/actions?query=workflow%3A%22macOS%22+branch%3Amain)
8.7 (in development, daily build)
[![Build Status](https://github.com/tcltk/tk/actions/workflows/linux-build.yml/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tk/actions/workflows/linux-build.yml?query=branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tk/actions/workflows/win-build.yml/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tk/actions/workflows/win-build.yml?query=branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tk/actions/workflows/mac-build.yml/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tk/actions/workflows/mac-build.yml?query=branch%3Acore-8-branch)

## <a id="intro">1.</a> Introduction

Expand Down
29 changes: 24 additions & 5 deletions changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@ changes to the Tk source code at

> [Tk Source Code](https://core.tcl-lang.org/tk/)
Release Tk 9.0b3 arises from the check-in with tag core-9-0-b3.
Release Tk 9.0.1 arises from the check-in with tag `core-9-0-1`.

## Changes since Tk 9.0.0
- [Canvas widget handles pixel objects incorrectly in Tk 9.0](https://core.tcl-lang.org/tk/tktview/610a73)
- [SIGABRT from Tk_DeleteErrorHandler()](https://core.tcl-lang.org/tk/tktview/f52986)

Release Tk 9.0.0 arises from the check-in with tag `core-9-0-0`.

Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below,
with focus on changes important to programmers using the Tk library and
Expand All @@ -13,12 +19,12 @@ writing Tcl scripts containing Tk commands.
## Many improvements to use of platform features and conventions.
- Built-in widgets and themes are scaling-aware.
- Improved support of two-finger gestures, where available
- The `tk windowingsystem` "aqua" needs macOS 10.10 or later
- The `tk windowingsystem` "aqua" needs macOS 10.9 or later

## New commands and options
- `tk sysnotify`: access to the OS notifications system
- `tk systray`: access to the OS tray facility
- `tk print`: access to the OS printing facility
- `tk sysnotify` — Access to the OS notifications system
- `tk systray` — Access to the OS tray facility
- `tk print` — Access to the OS printing facility

## Widget options
- New `ttk::progressbar` option: **-text**
Expand All @@ -34,3 +40,16 @@ writing Tcl scripts containing Tk commands.
- Partial SVG support
- Read/write access to photo image metadata

## Known bugs
- [Use of Tcl_Obj vs char * in Widget storage](https://core.tcl-lang.org/tk/tktview/f91aa2)
- [Tilde file syntax not available on 9.0 but used by "~/.Xdefaults"](https://core.tcl-lang.org/tk/tktview/fcfddc)
- [many PIXEL options don't keep their configured value](https://core.tcl-lang.org/tk/tktview/29ba53)
- [Inconsistent reporting of child geometry changes to grid container](https://core.tcl-lang.org/tk/tktview/beaa8e)
- [Inconsistency in whether widgets allow negative borderwidths](https://core.tcl-lang.org/tk/tktview/5f739d)
- [Enter key works differently in Windows and Linux](https://core.tcl-lang.org/tk/tktview/b3a1b9)
- [slow widget creation if default font is not used](https://core.tcl-lang.org/tk/tktview/8da7af)
- [The wm manage command does not work on current macOS versions](https://core.tcl-lang.org/tk/tktview/8a6012)
- [Slow processing irregular transparencies](https://core.tcl-lang.org/tk/tktview/919066)
- [text's cursor width on 0th column](https://core.tcl-lang.org/tk/tktview/47fbfc)
- [text widget breaks graphemes with combining diacritical marks](https://core.tcl-lang.org/tk/tktview/442208)

4 changes: 2 additions & 2 deletions doc/3DBorder.3
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ must be the window for which the border was allocated).
Pointer to value whose value describes color corresponding to
background (flat areas). Illuminated edges will be brighter than
this and shadowed edges will be darker than this.
.AP char *colorName in
.AP "const char" *colorName in
Same as \fIobjPtr\fR except value is supplied as a string rather
than a value.
.AP Drawable drawable in
Expand Down Expand Up @@ -185,7 +185,7 @@ compile time.
a widget to indicate that it has received the input focus.
On the Macintosh, this puts a 1 pixel border in the bgGC color between
the widget and the focus ring, except in the case where highlightWidth
is 1, in which case the border is left out.
is 0 or 1, in which case the border is left out.
For proper Mac L&F, use highlightWidth of 3.
.PP
\fBTk_Get3DBorder\fR is identical to \fBTk_Alloc3DBorderFromObj\fR except
Expand Down
6 changes: 3 additions & 3 deletions doc/CanvTxtInfo.3
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ typedef struct {
int \fIselBorderWidth\fR;
XColor *\fIselFgColorPtr\fR;
Tk_Item *\fIselItemPtr\fR;
int \fIselectFirst\fR;
int \fIselectLast\fR;
Tcl_Size \fIselectFirst\fR;
Tcl_Size \fIselectLast\fR;
Tk_Item *\fIanchorItemPtr\fR;
int \fIselectAnchor\fR;
Tcl_Size \fIselectAnchor\fR;
Tk_3DBorder \fIinsertBorder\fR;
int \fIinsertWidth\fR;
int \fIinsertBorderWidth\fR;
Expand Down
2 changes: 1 addition & 1 deletion doc/CrtPhImgFmt.3
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
'\" Department of Computer Science,
'\" Australian National University.
'\"
.TH Tk_CreatePhotoImageFormat 3 8.7 Tk "Tk Library Procedures"
.TH Tk_CreatePhotoImageFormat 3 9.0 Tk "Tk Library Procedures"
.so man.macros
.BS
.SH NAME
Expand Down
2 changes: 1 addition & 1 deletion doc/GetColor.3
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Token for window in which color will be used.
.AP Tcl_Obj *objPtr in/out
String value describes desired color; internal rep will be
modified to cache pointer to corresponding (XColor *).
.AP char *name in
.AP "const char" *name in
Same as \fIobjPtr\fR except description of color is passed as a string and
resulting (XColor *) is not cached.
.AP XColor *prefPtr in
Expand Down
8 changes: 4 additions & 4 deletions doc/GetCursor.3
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Token for window in which the cursor will be used.
.AP Tcl_Obj *objPtr in/out
Description of cursor; see below for possible values. Internal rep will be
modified to cache pointer to corresponding Tk_Cursor.
.AP char *name in
.AP "const char" *name in
Same as \fIobjPtr\fR except description of cursor is passed as a string and
resulting Tk_Cursor is not cached.
.AP "const char" *source in
Expand All @@ -57,9 +57,9 @@ Height of \fIsource\fR and \fImask\fR.
X-location of cursor hot-spot.
.AP "int" yHot in
Y-location of cursor hot-spot.
.AP Tk_Uid fg in
.AP "const char" *fg in
Textual description of foreground color for cursor.
.AP Tk_Uid bg in
.AP "const char" *bg in
Textual description of background color for cursor.
.AP Display *display in
Display for which \fIcursor\fR was allocated.
Expand Down Expand Up @@ -174,7 +174,7 @@ Tk_Cursor cursor;
#include "mask.cursor"
cursor = Tk_GetCursorFromData(interp, tkwin, source_bits,
mask_bits, source_width, source_height, source_x_hot,
source_y_hot, Tk_GetUid("red"), Tk_GetUid("blue"));
source_y_hot, "red", "blue");
.CE
.PP
Under normal conditions \fBTk_GetCursorFromData\fR
Expand Down
4 changes: 1 addition & 3 deletions doc/GetRelief.3
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,12 @@ or
.QW \fBsunken\fR
(or any unique abbreviation thereof on input);
the internal rep will be modified to cache corresponding relief value.
.AP char *string in
.AP "const char" *name in
Same as \fIobjPtr\fR except description of relief is passed as
a string.
.AP int *reliefPtr out
Pointer to location in which to store relief value corresponding to
\fIobjPtr\fR or \fIname\fR.
.AP "const char" *name
Name of the relief.
.AP int relief in
Relief value (one of \fBTK_RELIEF_FLAT\fR, \fBTK_RELIEF_RAISED\fR,
\fBTK_RELIEF_SUNKEN\fR, \fBTK_RELIEF_GROOVE\fR, \fBTK_RELIEF_SOLID\fR,
Expand Down
12 changes: 7 additions & 5 deletions doc/SetOptions.3
Original file line number Diff line number Diff line change
Expand Up @@ -505,11 +505,13 @@ integer pixel value corresponding to \fB2m\fR. Unfortunately, this loses
the original screen-independent value. Thus for \fBTK_OPTION_PIXELS\fR options
it is better to use the \fIobjOffset\fR field. In this case the original
value of the option is retained in the object and can be returned when
the option is retrieved. In most cases it is convenient to use the
the option is retrieved. It might seem convenient to use the
\fIinternalOffset\fR field as well, so that the integer value is
immediately available for use in the widget code (alternatively,
\fBTk_GetPixelsFromObj\fR can be used to extract the integer value from
the object whenever it is needed). Note that the problem of losing
immediately available for use in the widget code. But if scaling is
involved, \fIinternalOffset\fR won't change value when the scaling
changes. Therefore it is better always to use
\fBTk_GetPixelsFromObj\fR to extract the integer value from
the object whenever it is needed. Note: the problem of losing
information on retrievals exists only for \fBTK_OPTION_PIXELS\fR options.
.PP
The second reason to use the \fIobjOffset\fR field is in order to
Expand All @@ -530,7 +532,7 @@ free, and restore saved copies of the type and creating a structure
pointing to those procedures:
.CS
typedef struct {
char *name;
const char *\fIname\fR;
Tk_CustomOptionSetProc *\fIsetProc\fR;
Tk_CustomOptionGetProc *\fIgetProc\fR;
Tk_CustomOptionRestoreProc *\fIrestoreProc\fR;
Expand Down
2 changes: 1 addition & 1 deletion doc/busy.n
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ its descendants. It also makes sure it's not possible to leave button
\fB.cancel\fR using the keyboard.
.SH PORTABILITY
.PP
Note that the \fBtk busy\fR command does not currently have any effect on OSX
Note that the \fBtk busy\fR command does not currently have any effect on macOS
when Tk is built using Aqua support.
.SH "SEE ALSO"
grab(n)
Expand Down
2 changes: 1 addition & 1 deletion doc/button.n
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ The behavior of buttons can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
.SH "PLATFORM NOTES"
.PP
On Aqua/Mac OS X, some configuration options are ignored for the purpose of
On Aqua/macOS, some configuration options are ignored for the purpose of
drawing of the widget because they would otherwise conflict with platform
guidelines. The \fBconfigure\fR and \fBcget\fR subcommands can still
manipulate the values, but do not cause any variation to the look of the
Expand Down
6 changes: 3 additions & 3 deletions doc/chooseDirectory.n
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Specifies the prefix of a Tcl command to invoke when the user closes the
dialog after having selected an item. This callback is not called if the
user cancelled the dialog. The actual command consists of \fIstring\fR
followed by a space and the value selected by the user in the dialog. This
is only available on Mac OS X.
is only available on macOS.
.\" OPTION: -initialdir
.TP
\fB\-initialdir\fI dirname\fR
Expand All @@ -42,7 +42,7 @@ relative path to an absolute path.
\fB\-message\fI string\fR
.
Specifies a message to include in the client area of the dialog.
This is only available on Mac OS X.
This is only available on macOS.
.\" OPTION: -mustexist
.TP
\fB\-mustexist\fI boolean\fR
Expand All @@ -55,7 +55,7 @@ already exist. The default value is \fIfalse\fR.
\fB\-parent\fI window\fR
.
Makes \fIwindow\fR the logical parent of the dialog. The dialog
is displayed on top of its parent window. On Mac OS X, this
is displayed on top of its parent window. On macOS, this
turns the file dialog into a sheet attached to the parent window.
.\" OPTION: -title
.TP
Expand Down
4 changes: 2 additions & 2 deletions doc/colors.n
Original file line number Diff line number Diff line change
Expand Up @@ -782,7 +782,7 @@ YellowGreen 154 205 50
.DE
.SH "PORTABILITY ISSUES"
.TP
\fBMac OS X\fR
\fBmacOS\fR
.
On macOS, the following additional system colors are available. This
first group contains all of the HIBrush colors available in the
Expand Down Expand Up @@ -870,7 +870,7 @@ systemWindowBody
.
Tk supports all of the NSColors in the macOS System ColorList. The
convention for naming these colors is that the Tk name is generated by
capitalizing the macOS name and adding the prefix "system". On OSX
capitalizing the macOS name and adding the prefix "system". On macOS
10.14 (Mojave) and later many of these "semantic" colors will appear
differently depending on whether the NSWindow in which they are used has
the Aqua or DarkAqua appearance. The System ColorList differs between
Expand Down
4 changes: 2 additions & 2 deletions doc/cursors.n
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ wait
.CE
.RE
.TP
\fBMac OS X\fR
\fBmacOS\fR
.
On Mac OS X systems, the following cursors are mapped to native cursors:
On macOS, the following cursors are mapped to native cursors:
.RS
.CS
arrow
Expand Down
4 changes: 2 additions & 2 deletions doc/font.n
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ new attributes for the font. See \fBFONT OPTIONS\fR below for a list of the
possible attributes.
.RS
.PP
Note that on Aqua/Mac OS X, the system fonts (see
Note that on Aqua/macOS, the system fonts (see
\fBPLATFORM SPECIFIC FONTS\fR below) may not be actually altered because they
are implemented by the system theme. To achieve the effect of modification,
use \fBfont actual\fR to get their configuration and \fBfont create\fR to
Expand Down Expand Up @@ -362,7 +362,7 @@ style defaults.
.DE
.RE
.TP
\fBMac OS X\fR
\fBmacOS\fR
.
The following fonts are supported, and are mapped to the user's
style defaults.
Expand Down
4 changes: 2 additions & 2 deletions doc/fontchooser.n
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ the native platform font selection dialog where available, or a dialog
implemented in Tcl otherwise.
.PP
Unlike most of the other Tk dialog commands, \fBtk fontchooser\fR does not
return an immediate result, as on some platforms (Mac OS X) the standard font
return an immediate result, as on some platforms (macOS) the standard font
dialog is modeless while on others (Windows) it is modal. To accommodate this
difference, all user interaction with the dialog will be communicated to the
caller via callbacks or virtual events.
Expand Down Expand Up @@ -121,7 +121,7 @@ It is implementation dependent which exact user actions result in the callback
being called resp. the virtual events being sent. Where an Apply or OK button
is present in the dialog, that button will trigger the \fB\-command\fR callback
and \fB<<TkFontchooserFontChanged>>\fR virtual event. On some implementations
other user actions may also have that effect; on Mac OS X for instance, the
other user actions may also have that effect; on macOS for instance, the
standard font selection dialog immediately reflects all user choices to the
caller.
.PP
Expand Down
8 changes: 4 additions & 4 deletions doc/getOpenFile.n
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Specifies the prefix of a Tcl command to invoke when the user closes the
dialog after having selected an item. This callback is not called if the
user cancelled the dialog. The actual command consists of \fIstring\fR
followed by a space and the value selected by the user in the dialog. This
is only available on Mac OS X.
is only available on macOS.
.\" OPTION: -confirmoverwrite
.TP
\fB\-confirmoverwrite\fI boolean\fR
Expand All @@ -58,7 +58,7 @@ that the overwrite take place without confirmation. Default value is true.
Specifies a string that will be appended to the filename if the user
enters a filename without an extension. The default value is the empty
string, which means no extension will be appended to the filename in
any case. This option is ignored on Mac OS X, which
any case. This option is ignored on macOS, which
does not require extensions to filenames,
and the UNIX implementation guesses reasonable values for this from
the \fB\-filetypes\fR option when this is not supplied.
Expand Down Expand Up @@ -96,7 +96,7 @@ Specifies a filename to be displayed in the dialog when it pops up.
\fB\-message\fI string\fR
.
Specifies a message to include in the client area of the dialog.
This is only available on Mac OS X.
This is only available on macOS.
.\" OPTION: -multiple
.TP
\fB\-multiple\fI boolean\fR
Expand All @@ -107,7 +107,7 @@ Allows the user to choose multiple files from the Open dialog.
\fB\-parent\fI window\fR
.
Makes \fIwindow\fR the logical parent of the file dialog. The file
dialog is displayed on top of its parent window. On Mac OS X, this
dialog is displayed on top of its parent window. On macOS, this
turns the file dialog into a sheet attached to the parent window.
.\" OPTION: -title
.TP
Expand Down
Loading

0 comments on commit 0d5336d

Please sign in to comment.