Subj : Black-on-black doesn't change attributes in Frame.js implementation of To : GitLab issue in main/sbbs From : Josh Renaud Date : Tue Nov 11 2025 20:30:33 open https://gitlab.synchro.net/main/sbbs/-/issues/1007 If you use Frame.js's .putmsg() to write text in a color (say blue-on-black), then OVERWRITE that text with identical text in a different color (say red-on-black), it works as expected. But if instead you were to overwrite with BLACK-on-black, it does NOT work. The frame keeps the previous foreground attribute (blue) instead of changing to black. In contrast, console.putmsg() does NOT have this problem. It handles black-on-black just fine. I presume there is a logic problem in Frame.prototype.putmsg(), but I haven't been able to figure it out. Here's a short test case script: ``` load("sbbsdefs.js"); load("frame.js"); // COLOR CODES var lowRed = '\1N\1R\10'; var lowBlue = '\1N\1B\10'; var lowWhite = '\1N\1W\10'; var highCyan = '\1H\1C\10'; var lowBlack = '\1N\1K\10'; var highBlack = '\1H\1K\10'; console.clear(); // PLAIN CONSOLE VERSION console.gotoxy(1,1); console.putmsg(lowWhite + 'PLAIN CONSOLE VERSION'); mswait(4000); console.gotoxy(1,1); console.putmsg(lowBlue + 'TEST1 TEST1' + highBlack + ' ... should say TEST1 TEST1 in low blue on black '); mswait(4000); console.gotoxy(1,1); console.putmsg(lowBlack + 'TEST2 TEST2' + highBlack + ' ... should say TEST2 TEST2 in black on black '); mswait(4000); console.gotoxy(1,1); console.putmsg(highCyan + 'TEST3 TEST3' + highBlack + ' ... should say TEST3 TEST3 in high cyan on black '); mswait(4000); // FRAME VERSION testFrame = new Frame(1, 1, 80, 24, BG_BLACK); testFrame.open(); testFrame.draw(); testFrame.gotoxy(1,1); testFrame.putmsg(lowWhite + 'FRAME.JS VERSION'); testFrame.cycle(); mswait(4000); testFrame.gotoxy(1,1); testFrame.putmsg(lowBlue + 'TEST1 TEST1' + highBlack + ' ... should say TEST1 TEST1 in low blue on black '); testFrame.cycle(); mswait(4000); testFrame.gotoxy(1,1); testFrame.putmsg(lowBlack + 'TEST2 TEST2' + highBlack + ' ... should say TEST2 TEST2 in black on black '); testFrame.cycle(); mswait(4000); testFrame.gotoxy(1,1); testFrame.putmsg(highCyan + 'TEST3 TEST3' + highBlack + ' ... should say TEST3 TEST3 in high cyan on black '); testFrame.cycle(); mswait(4000); ``` --- SBBSecho 3.31-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .