Canvas patch: we need testers The MonadicSheep Emacs Fork project is seeking testers for its Canvas patch, especially on MS Windows, as developers lack Windows machines to verify the code. Testers are asked to build GNU Emacs from source using MSYS2 and run a provided Elisp test to ensure the canvas rendering works correctly. Canvas patch: we need testers The Canvas patch hello.html is almost done. Except that we need more testing, specifically for its MS Windows port. Though testers on other operating systems like GNU/Linux and MacOS are also welcome. Since we don't have any computers running MS Windows, we are not sure if the code is actually correct. Please follow the following instructions for testing it on MS Windows. You can discuss the results or ask us questions at MonadicSheep Emacs Fork's Issue tracker https://codeberg.org/MonadicSheep/emacs/issues , phi-mu-lambda on Libera IRC open webchat in browser https://web.libera.chat/?nick=CanvasTester? phi-mu-lambda , or on the fediverse tag the post with emacs . 1. Building GNU Emacs on MS Windows - Install MSYS2 https://www.msys2.org/ by following the official instructions mentioned there. - Open a MSYS2 UCRT64 session terminal. In the bash prompt, run the following command to get the canvas patch source code. git clone https://codeberg.org/MonadicSheep/emacs Now, change directory to emacs source checkout, by running the following command. cd emacs/ Now, run the following command to build Emacs. make This may take a while depending on your hardware. Once that is done, you should be able to start emacs with the following command. ./src/emacs 2. Testing Evaluate the following in scratch Using C-c C-c keybinding . defun make-rect width height pixel make-vector width height pixel setq rect-canvas-vec make-rect 250 250 xFFFF0000 setq rect-canvas image :type canvas :data-width 250 :data-height 250 :data ,rect-canvas-vec insert propertize " " 'display rect-canvas defvar rect-canvas-timer nil let i 0 setq rect-canvas-timer run-with-timer 0 0.016 lambda if < i 20 250 progn aset rect-canvas-vec + 115 250 i xFF0000FF canvas-refresh rect-canvas t setq i 1+ i cancel-timer rect-canvas-timer You should be able to see something like this.