If that's really what you want to do, try this [limited testing]:
(command "_.undefine" "CLOSE")
(defun C:CLOSE () (command "_.qsave" "_.close"))
But some noteworthy things:
You need to ensure that it gets loaded in every drawing [such as by an acaddoc.lsp file], because [within the same AutoCAD session at least] the Undefining "sticks" from one drawing to another that was already open at the time of loading, but the new definition does not, and needs to be loaded. If you don't, you'll get an unknown-command error when you pick on the X at upper right for the drawing, or type CLOSE.
It works for that X at upper right in the individual drawing window, or in the upper-left-big-A pull-down's Close option for the current drawing, both of which apparently invoke just CLOSE, and therefore use the new definition. But it does not work with the bigger X at upper right of the AutoCAD program, or the big-A pull-down's Close option for all drawings, which apparently invoke .CLOSE digging into the native command, so it doesn't include the QSAVE, and it asks if you want to save.
If you might use QUIT instead of CLOSE, you need to do the same Undefine/redefine on that command, too -- QUIT is not just a stand=in alternative command name for CLOSE, since it exits not just the drawing but the program. But if you have more than one drawing open, and other drawings than the current one have been edited since last saved, you will still be asked about saving them, and this was not avoided by putting the SAVEALL Express Tool into the redefinition.
Kent Cooper, AIA