NaviServer 釋出了 4.99.25 版,詳細的資料可以參考 Announcement: NaviServer 4.99.25 available 這篇公告。
2023-05-13
2023-03-24
tcl-rocksdb 0.3.2
openSUSE build service 上現在有一個官方維護的 rocksdb,今天收到刪掉我自己維護版本的要求,我想了一下,我也有一段時間沒有更新了,所以刪掉了我自己維護的版本,換成官方的。然後發現 rocksdb 8.0.0 函式庫已經需要 c++ 17 才能夠編譯,所以修改了 tcl-rocksdb 的編譯選項,這樣才能夠成功編譯。
更新:
OBS 下的 server:database/rocksdb 一個很不妙的點是,他們還是把 jemalloc OPTION 設為 ON,然後系統的 jemalloc 並沒有針對 jemalloc 5.0.1 TLS error: cannot allocate memory in static TLS block 做出相關的改變,這樣會變成可以編譯成功,但是你在使用的時候會無法啟動。
一開始我只是想建個 link 在自己 repo 這樣可以避免找不到 rocksdb 的問題,但是我發現問題很大,所以我有 report 我自己的修改,同時也有提供資訊,至於要怎麼改是打包的人要決定的。總之解法不是直接關閉 jremalloc 選項,效能會下降但是可以執行;不然就是系統端提供的 jemalloc 要加 --disable-initial-exec-tls
並且重新編譯,然後因為 jemalloc 的問題解決了就可以編譯 rocksdb with jemalloc。
2023-01-24
BAWT 2.3.1
The following features are included in this release:
- Switched default MinGW gcc version back to 7.2.0. Version 8.1.0 produced incorrect tcltls binaries.
- Corrected download URL to https://www.tcl3d.org/bawt/download due to new server configuration using https.
- New package: Snack.
- Updated packages: CAWT, mupdf, MuPDFWidget, rl_json, SWIG.
所以 BATW 因為 MinGW gcc 的關係,更新了一個小版本。
2022-12-13
Magicsplat Tcl/Tk 1.13.0 for Windows
ANNOUNCE: Magicsplat Tcl/Tk 1.13.0 for Windows
Version 1.13.0 of the Magicsplat Tcl/Tk 8.6.13 for Windows binary distribution is released with new packages and updates.
所以釋出了一個新的版本。
2022-11-27
BWIDGET 1.9.16 released
ANNOUNCE: BWIDGET 1.9.16 released
這個版本修正了以下事項:
Cudos to Wolfgang Kechel to fix one bug: Prevent multiple drops, when
movement while drop is processed
2022-11-23
Tcl/Tk 8.6.13 RELEASED
Tcl/Tk 8.6 釋出了一個新的 patch 版本,8.6.13,下面是改變的總結。
Summary of Changes since Tcl/Tk 8.6.12:
--------------------------------------
This is a patch release, so it primarily includes bug fixes and corrections
to erratic behavior. Highlighted changes are noted below. The changes file
at the root of the source tree contains a more complete list. The Timelines
of all changes are online.
http://core.tcl-lang.org/tcl/timeline
http://core.tcl-lang.org/tk/timeline
* [TIP 622] Tcl_GetRange defined for index args < 0
*** POTENTIAL INCOMPATIBILITY ***
* [TIP 599] [tk::build-info] when paired with Tcl 8.7+
* Fallback initialization of ::env(HOME) from USERPROFILE
* text: direct mouse events to insert mark, not current (textTag-15.4)
*** POTENTIAL INCOMPATIBILITY ***
* New color for Mac: SelectedMenuItemTextColor
* [tk_fontchooser] improvements
* Consistent cross-platform polygon fill
* Fix crashes or hangs in...
- extract signed int operand from bytecode on Plan9
- invalid bytecode in lambda (see apply-10.1)
- writing ill-formed utf-8 (see io-60.1)
- [menu .m -type {}]
- Mac: destroy and re-create toplevel after dragging
- Geometry requests on window not fully created or destroyed
- [ttk::combox .foo] current end
- canvPs-5.1
- canvWind-2.1
- textWind-18.3
- unixW-50.4
- bind-37.1
* Fat binary compiles on Mac M1
* Portability to CHERI-enabled Morello processor
* Floating point rounding portability to x86 Alpine Linux (musl libc)
* Restore Tk builds on MacOSX 10.11 (El Capitan)
* Enable Tk builds on Windows ARM
* Improved cygwin path support in Tk.
* Handle deprecation of OSTypes by MacOSX.
* Mac: Mouse events not delivered to dialog with global grab.
* Mac: Stop beeping when clicking outside comboboxes.
* Win: Adapt pointer warp and [tk busy] for better multi-screen support
* Mac: When a toplevel is minimized, pass focus to another toplevel.
* Mac: fix image positions in canvas screenshots.
* GIF with multiple images may reuse transparent color
* PGM reads with graylevel > 255
* Fixed broken optimization of smoothed line redraws
* Mac: ttk::notebook loses control of tab content
* Mac: enable removal of embedded windows from text widget
* Win, X11: improve (ttk) menubutton menu position
* <Enter> event after one toplevel is destroyed (event-9.[12])
* Execution order when compiled: try second finally [first] (error-9.6)
* CR-LF split between packets/buffers/reads (tests io-29.36.*)
* [string is integer 18446744073709551615]
* ttk::label defaults for -justify/-anchor (test ttk-9.9)
* Win: middle mouse click blocks system clipbord
* Avoid invalid <<TreeviewSelect>> events
* Many code changes to avoid undefined behavior or integer overflow.
* Updated keysym tables to latest X11R6
* Updated bundled packages, libraries, standards, data
- Itcl 4.2.3
- sqlite3 3.40.0
- Thread 2.8.8
- TDBC* 1.1.5 - restored MariaDB support in tdbcmysql
- http 2.9.8 - numeric IPv6 in URL, connection reuse after code 101
- platform 1.0.19 - Ventura support
- tcltest 2.5.5
- libtommath support/1.x branch
- zlib 1.2.13
- Unicode 15
- tzdata 2022e
- msg catalog updates: Chinese, Finnish, Russian, Esperanto
2022-10-29
2022-08-15
Next Scripting Framework 2.4.0
Announcement: Next Scripting Framework 2.4.0 available
NSF (Next Scripting Framework) 釋出了一個新的版本 2.4.0,詳細的改變可以看公告。
2022-08-09
2022-07-27
Last Sunday
Write a script to list Last Sunday of every month in the given year.
#!/usr/bin/tclsh
#
# Write a script to list Last Sunday of every month in the given year.
#
proc lastDay {month year} {
set days [clock format [clock scan "+1 month -1 day" \
-base [clock scan "$month/01/$year"]] -format %d]
}
proc getLastSunday {baseDate} {
set base [clock scan $baseDate -format "%Y%m%d"]
set day_of_week [clock format $base -format %u]
# Sunday may report as 0 or 7.
# If 7, it is not necessary to adjust.
if {$day_of_week != 7} {
set timestamp [clock scan "12:00 last sunday" -base $base]
} else {
set timestamp $base
}
return [clock format $timestamp -format "%Y-%m-%d"]
}
if {$argc >= 1} {
set year [lindex $argv 0]
} else {
set year 2022
puts "Set year to 2022."
}
for {set i 1} {$i <= 12} {incr i} {
set lday [lastDay $i $year]
set ltime [format %04d%02d%02d $year $i $lday]
set sday [getLastSunday $ltime]
puts $sday
}