(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "INTERLISP")(filecreated "29-Dec-87 14:01:40" |{EG:PARC:XEROX}<JELLINEK>LISPUSERS>HARDCOPY-RETAIN.;2| 6163         |changes| |to:|  (functions hardcopyimagew.tofile&printer xcl-user::install-option)                       (vars hardcopy-retaincoms)      |previous| |date:| "29-Dec-87 12:27:25" |{EG:PARC:XEROX}<JELLINEK>LISPUSERS>HARDCOPY-RETAIN.;1|); Copyright (c) 1987 by Xerox Corporation.  All rights reserved.(prettycomprint hardcopy-retaincoms)(rpaqq hardcopy-retaincoms ((functions hardcopyimagew.tofile&printer xcl-user::install-option)                            (p (xcl-user::install-option))))(cl:defun hardcopyimagew.tofile&printer (&optional xcl-user::window)                                                    "Send hardcopy of WINDOW to a printer and a file."   (let    ((xcl-user::result (|GetImageFile|)))    (cl:when     xcl-user::result     (let ((xcl-user::printer-name (|GetPrinterName|)))          (destructuring-bind           (xcl-user::file . type)           xcl-user::result           (hardcopy.somehow xcl-user::window xcl-user::file type)           (cl:when xcl-user::printer-name                  (let ((xcl-user::full-name (packfilename.string                                              'host                                              (cl:pathname-host xcl-user::file)                                              'device                                              (cl:pathname-device xcl-user::file)                                              'directory                                              (cl:pathname-directory xcl-user::file)                                              'name                                              (cl:pathname-name xcl-user::file)                                              'extension                                              (or (cl:first (cl:second (cl:assoc 'extension                                                                              (cl:rest (cl:assoc                                                                                        type                                                                                        printfiletypes                                                                                        )))))                                                  type)                                              'body                                              (cl:namestring *default-pathname-defaults*))))                       (send.file.to.printer xcl-user::full-name xcl-user::printer-name))))))))(cl:defun install-option nil "Install the new Hardcopy option."   (cl:labels ((xcl-user::get-subitems (xcl-user::item)                      (and (eq (cl:first (cl:fourth xcl-user::item))                               'subitems)                           (cl:rest (cl:fourth xcl-user::item))))               (xcl-user::find-place-wm                (xcl-user::item)                (let ((xcl-user::subitems (xcl-user::get-subitems xcl-user::item)))                     (cl:when xcl-user::subitems                            (cl:if (eq (car xcl-user::item)                                       '|Hardcopy|)                                   (cl:unless                (* \; "Install if not already there.")                                          (cl:find 'hardcopyimagew.tofile&printer xcl-user::subitems                                                  :key #'(cl:lambda (xcl-user::x)                                                               (cl:second (cl:second xcl-user::x)))                                                  :test #'eq)                                          (nconc xcl-user::subitems (list (list                                                                             "To a file and a printer"                                                                                ''                                                                        hardcopyimagew.tofile&printer               "Sends image to a printer of your choosing, retaining the printer version of the file."                                                                                ))))                                   (cl:mapc #'xcl-user::find-place-wm xcl-user::subitems)))))               (xcl-user::find-place-bm                (xcl-user::item)                (let ((xcl-user::subitems (xcl-user::get-subitems xcl-user::item)))                     (cl:when xcl-user::subitems                            (cl:if (eq (car xcl-user::item)                                       '|Hardcopy|)                                   (cl:unless                (* \; "Install if not already there.")                                          (cl:find 'hardcopyimagew.tofile&printer xcl-user::subitems                                                  :key #'(cl:lambda (xcl-user::x)                                                               (cl:first (cl:second (cl:second                                                                                           xcl-user::x                                                                                           )))) :test                                                 #'eq)                                          (nconc xcl-user::subitems                                                 (list (list "To a file and a printer"                                                             ''(hardcopyimagew.tofile&printer)               "Sends image to a printer of your choosing, retaining the printer version of the file."                                                             ))))                                   (cl:mapc #'xcl-user::find-place-bm xcl-user::subitems))))))          (cl:mapc #'xcl-user::find-place-wm |WindowMenuCommands|)          (cl:mapc #'xcl-user::find-place-bm |BackgroundMenuCommands|)          (cl:setq |WindowMenu| nil)          (cl:setq |BackgroundMenu| nil)))(xcl-user::install-option)(putprops hardcopy-retain copyright ("Xerox Corporation" 1987))(declare\: dontcopy  (filemap (nil)))stop