Hi Racketeers, Laurent Orseau asked if it’s possible for the release announcement to include @history changes (compared to the previous release), because some small but useful changes might go unnoticed otherwise. I think this is a great idea, so I tried to implement the feature. The result for 8.0 release is included at the end of the email. However, I’m not satisfied with my current approach, and I would appreciate it if anyone could suggest a way to improve it.
My current workflow is: 1. Download two Racket versions that I want to diff @history. 2. Patch share/pkgs/scribble-lib on both versions 3. Run raco setup -c scribblings; HISTORY_INFO_PATH=/path/to/info raco setup scribblings on both versions 4. Run the diffing program on the two info files. Patching scribble-lib is something I want to avoid. Specifically, I need to modify scribble-lib to - modify history to recognize HISTORY_INFO_PATH and emit information. This alone is enough to get all information except the “who I am” field (see below) - modify all documenting forms, like defform, defproc, etc. so that it cooperates with history to supply “who I am” field. This is further complicated by the fact that deftogether exists, so I need to hack the with-togetherable-racket-variables protocol to keep the information around. It would be nice if I don’t have to modify scribble-lib, or, failing that, avoid touching documenting forms. Isn’t it possible for history to know which defform it’s under? Anyhow, here's the output for v8.0 who: #%declare package: base source: racket-doc/scribblings/reference/syntax.scrbl:433:19 desc: Changed in version 7.9.0.5: Added #:unsafe. who: system-type package: base source: racket-doc/scribblings/reference/runtime.scrbl:132:19 desc: Changed in version 7.9.0.6: Added 'os* and 'arch modes. who: _cprocedure package: base source: racket-doc/scribblings/foreign/types.scrbl:780:19 desc: Changed in version 7.9.0.16: Added the #:varargs-after argument. who: _fun package: base source: racket-doc/scribblings/foreign/types.scrbl:916:19 desc: Changed in version 7.9.0.16: Added the #:varargs-after option. source: racket-doc/scribblings/raco/setup.scrbl:383:19 desc: Changed in version 7.9.0.3: Added PLT_SETUP_NO_FORCE_GC, PLT_SETUP_SHOW_TIMESTAMPS, and --sync-docs-only. source: racket-doc/scribblings/raco/decompile.scrbl:37:19 desc: Changed in version 1.9: Added --partial-fasl. package: compiler-lib source: racket-doc/scribblings/raco/test.scrbl:198:19 desc: Changed in version 1.8: Added --output and -o. package: base source: racket-doc/scribblings/reference/syntax-model.scrbl:450:19 desc: Changed in version 7.9.0.13: Added implicit-made-explicit properties. who: fx+/wraparound package: base source: racket-doc/scribblings/reference/fixnums.scrbl:104:17 desc: Added in version 7.9.0.6. who: bytes-open-converter package: base source: racket-doc/scribblings/reference/bytes.scrbl:520:19 desc: Changed in version 7.9.0.17: Added built-in converters for "WTF-8", <"WTF-8-permissive", and "WTF-16". who: hash-intersect package: base source: racket-doc/scribblings/reference/hashes.scrbl:795:17 desc: Added in version 7.8.0.11. package: base source: racket-doc/scribblings/reference/cont.scrbl:105:19 desc: Changed in version 7.9.0.13: The name argument gives the name of the prompt tag. who: object-name package: base source: racket-doc/scribblings/reference/struct-inspectors.scrbl:191:20 desc: Changed in version 7.9.0.13: Recognize the name of continuation prompt tags. who: unsafe-fx+/wraparound package: base source: racket-doc/scribblings/reference/unsafe.scrbl:91:17 desc: Added in version 7.9.0.6. who: unsafe-set-immutable-car! package: base source: racket-doc/scribblings/reference/unsafe.scrbl:306:17 desc: Added in version 7.9.0.18. who: editor:silent-cancel-on-save-file-out-of-date? package: gui-lib source: gui-lib/framework/main.rkt:1634:18 desc: Added in version 1.53. who: make package: gui-lib source: gui-doc/scribblings/gui/tab-panel-class.scrbl:65:19 desc: Changed in version 1.55: Added the 'can-reorder and 'can-close styles. who: on-reorder package: gui-lib source: gui-doc/scribblings/gui/tab-panel-class.scrbl:121:17 desc: Added in version 1.55. who: on-close-request package: gui-lib source: gui-doc/scribblings/gui/tab-panel-class.scrbl:132:17 desc: Added in version 1.55. who: on-superwindow-activate package: gui-lib source: gui-doc/scribblings/gui/window-intf.scrbl:481:19 desc: Added in version 1.54. who: message-box/custom package: gui-lib source: gui-doc/scribblings/gui/dialog-funcs.scrbl:355:19 desc: Changed in version 1.53: Added the return-the-dialog? argument and the ability to change the dialog box's message. who: message+check-box package: gui-lib source: gui-doc/scribblings/gui/dialog-funcs.scrbl:388:19 desc: Changed in version 1.53: Added the return-the-dialog? argument and the ability to change the dialog box's message and check label. who: current-text-keymap-initializer package: gui-lib source: gui-doc/scribblings/gui/editor-funcs.scrbl:144:19 desc: Changed in version 1.51: Changed Unix keybindings in the default initializer to match Windows, dropping start-of-line and end-of-line bindings. who: make-unix-socket-tcp@ package: unix-socket-lib source: unix-socket-doc/scribblings/socket/unix-socket.scrbl:138:17 desc: Added in version 1.3. who: close-ith-tab package: drracket source: drracket/scribblings/tools/unit.scrbl:669:19 desc: Added in version 1.9. who: close-given-tab package: drracket source: drracket/scribblings/tools/unit.scrbl:675:19 desc: Added in version 1.9. who: head-addition package: scribble-lib source: scribble-doc/scribblings/scribble/core.scrbl:1860:17 desc: Added in version 1.38. Thanks, Sorawee (Oak) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CADcuegv5SrkCB8F7M9V9Wwcigbez50rAdasN-koB7QGCAYU91w%40mail.gmail.com.