Created
March 29, 2022 13:03
-
-
Save sgithens/01eafa92da21ad9d71088f7237485add to your computer and use it in GitHub Desktop.
macroexpanded defboxer preference
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(pprint (macroexpand-1 '(defboxer-preference bu::print-fractions (true-or-false) | |
((*print-rationals* :boolean (boxer-eval::boxer-boolean *print-rationals*)) | |
#+capi results #-capi result-appearance | |
("Should fractional numbers (e.g., 1/2) appear as ") | |
("fractions (1/2), rather than decimals (0.5) ?")) | |
(setq *print-rationals* true-or-false) | |
boxer-eval::*novalue*))) | |
(PROGN | |
(UNLESS (FAST-MEMQ 'BOXER-USER::PRINT-FRACTIONS *BOXER-PREFERENCES-LIST*) | |
(SETQ *BOXER-PREFERENCES-LIST* (APPEND *BOXER-PREFERENCES-LIST* (LIST 'BOXER-USER::PRINT-FRACTIONS)))) | |
(LET ((EXISTING-R-ENTRY (ASSOC 'BOXER-USER::PRINT-FRACTIONS *PREFERENCE-READ-HANDLERS*)) | |
(EXISTING-W-ENTRY (ASSOC 'BOXER-USER::PRINT-FRACTIONS *PREFERENCE-WRITE-HANDLERS*))) | |
(IF (NULL EXISTING-R-ENTRY) | |
(PUSH (LIST 'BOXER-USER::PRINT-FRACTIONS 'PRINT-FRACTIONS-FILE-READER ':BOOLEAN) | |
*PREFERENCE-READ-HANDLERS*) | |
(SETF (CADR EXISTING-R-ENTRY) 'PRINT-FRACTIONS-FILE-READER (CADDR EXISTING-R-ENTRY) ':BOOLEAN)) | |
(IF (NULL EXISTING-W-ENTRY) | |
(PUSH (LIST 'BOXER-USER::PRINT-FRACTIONS 'PRINT-FRACTIONS-FILE-WRITER ':BOOLEAN) | |
*PREFERENCE-WRITE-HANDLERS*) | |
(SETF (CADR EXISTING-W-ENTRY) 'PRINT-FRACTIONS-FILE-WRITER (CADDR EXISTING-W-ENTRY) ':BOOLEAN))) | |
(DEFUN PRINT-FRACTIONS-FILE-READER (VALUE-STRING) | |
(LET ((NEW-VALUE (COERCE-CONFIG-VALUE VALUE-STRING :BOOLEAN))) | |
(UNLESS (OR (NULL *SITE-INITIALIZATION-VERBOSITY*) (MEMBER :MCL-APPGEN *FEATURES*)) | |
(FORMAT T "~%Initializing System Variable ~A to ~A" '*PRINT-RATIONALS* NEW-VALUE)) | |
(SETQ *PRINT-RATIONALS* NEW-VALUE))) | |
(DEFUN PRINT-FRACTIONS-FILE-WRITER (FILESTREAM) | |
(FORMAT FILESTREAM "~A: ~A~%" 'BOXER-USER::PRINT-FRACTIONS (IF *PRINT-RATIONALS* "True" "False"))) | |
(SETF (GET 'BOXER-USER::PRINT-FRACTIONS 'SYSTEM-PARAMETER-DEFAULT-VALUE) | |
#'(LAMBDA () (BOXER-EVAL:BOXER-BOOLEAN *PRINT-RATIONALS*))) | |
(UNLESS (NULL '(RESULTS | |
("Should fractional numbers (e.g., 1/2) appear as ") | |
("fractions (1/2), rather than decimals (0.5) ?"))) | |
(SETF (GET 'BOXER-USER::PRINT-FRACTIONS 'SYSTEM-PARAMETER-TYPE) 'RESULTS) | |
(SETF (GET 'BOXER-USER::PRINT-FRACTIONS 'SYSTEM-PARAMETER-DOCUMENTATION) | |
'(("Should fractional numbers (e.g., 1/2) appear as ") | |
("fractions (1/2), rather than decimals (0.5) ?")))) | |
(DEFUN PRINT-FRACTIONS-Q-FUNCTION (TRUE-OR-FALSE) | |
(SETQ *PRINT-RATIONALS* TRUE-OR-FALSE) | |
BOXER-EVAL::*NOVALUE*) | |
(DEFUN PRINT-FRACTIONS-DI-ACTION (DI) | |
(LET ((EXISTING (FAST-ASSQ 'PRINT-FRACTIONS-Q-FUNCTION *PREFERENCE-DIALOG-CHANGE-LIST*)) | |
(VALUE (CAPI:BUTTON-SELECTED DI))) | |
(COND ((NOT (NULL EXISTING)) (SETF (CDR EXISTING) VALUE)) | |
(T (PUSH (CONS 'PRINT-FRACTIONS-Q-FUNCTION VALUE) *PREFERENCE-DIALOG-CHANGE-LIST*))))) | |
(DEFUN PRINT-FRACTIONS-DI-DOC (DI) | |
(UNLESS (EQ DI *PREFERENCE-DIALOG-LAST-DOC-ITEM*) | |
(SETF (CAPI:DISPLAY-PANE-TEXT *CURRENT-DOCUMENTATION-DIALOG-ITEM*) | |
'("Should fractional numbers (e.g., 1/2) appear as " | |
"fractions (1/2), rather than decimals (0.5) ?")) | |
(SETQ *PREFERENCE-DIALOG-LAST-DOC-ITEM* DI))) | |
(SETF (GET 'BOXER-USER::PRINT-FRACTIONS 'SYSTEM-PARAMETER-PREF-DIALOG-INFO) | |
(LIST '*PRINT-RATIONALS* 'RESULTS ':BOOLEAN 'PRINT-FRACTIONS-DI-ACTION 'PRINT-FRACTIONS-DI-DOC)) | |
(BOXER-EVAL:DEFBOXER-PRIMITIVE BOXER-USER::PRINT-FRACTIONS (TRUE-OR-FALSE) | |
(LET ((TRUE-OR-FALSE (BOXER-EVAL:TRUE? TRUE-OR-FALSE))) | |
(SETQ *PRINT-RATIONALS* TRUE-OR-FALSE) | |
BOXER-EVAL::*NOVALUE*))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment