(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP") (FILECREATED "30-Sep-88 16:04:23" {QV}<IDE>1.4>DSJPATCH076.;4 7246 changes to%: (FNS NCP.RenameCrossFileLinksDestination) (VARS DSJPATCH076COMS) previous date%: "29-Sep-88 20:26:59" {QV}<IDE>1.4>DSJPATCH076.;1) (* " Copyright (c) 1988 by Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT DSJPATCH076COMS) (RPAQQ DSJPATCH076COMS [ (* ;; "New fns that should be added to NCPROGINT in Notecards; if not, then NCNEWPROGINT in IDE.") (FNS NCP.RenameCrossFileLinksDestination) (DECLARE%: DONTCOPY (PROPS (DSJPATCH076 MAKEFILE-ENVIRONMENT) (DSJPATCH076 FILETYPE]) (* ;; "New fns that should be added to NCPROGINT in Notecards; if not, then NCNEWPROGINT in IDE.") (DEFINEQ (NCP.RenameCrossFileLinksDestination [LAMBDA (SourceNFs OldDestNoteFiles NewDestNoteFile MainWindow) (* ; "Edited 30-Sep-88 16:00 by DSJ") (* ;; "dsj. 9/29/88. Rename all OldDestNoteFiles for crossfile links in SourceNF to NewDestNoteFile.") (if SourceNFs then (SETQ NewDestNoteFile (MKATOM NewDestNoteFile)) (PROG (ChangeHost/Filename NewDestNFExtension (UnpackedNewDestNF (UNPACKFILENAME NewDestNoteFile))) (* ; "Is new dest a valid name?") (if (AND (SETQ NewDestNFExtension (LISTGET UnpackedNewDestNF 'EXTENSION)) (NOT (EQ 'NOTEFILE NewDestNFExtension))) then (* ; "not valid name; goodbye") (NCP.PrintMsg MainWindow T "Invalid file name given for destination notefile." " No notefiles renamed.") (NCP.ClearMsg MainWindow T 2000) (RETURN) else (* ; "valid filename given; go to it.") (NCP.PrintMsg MainWindow T "Renaming destination notefiles for source notefile... ") (SETQ SourceNFs (MKLIST SourceNFs)) (SETQ OldDestNoteFiles (MKLIST OldDestNoteFiles)) (* ; "append .notefile ext if needed") (if NewDestNFExtension else (LISTPUT UnpackedNewDestNF 'EXTENSION 'NOTEFILE) (SETQ NewDestNoteFile (PACKFILENAME UnpackedNewDestNF))) (* ; "Determine what part of the name to change (do this computation outside the mapcar). ") (SETQ ChangeHost/Filename (if (LISTGET UnpackedNewDestNF 'HOST) then (if (LISTGET UnpackedNewDestNF 'NAME) then (* ; "there's a host and name") 'HostAndName else (* ; "just a host to change") (SETQ NewDestNoteFile (LISTGET UnpackedNewDestNF 'HOST)) 'HostOnly) else (* ; "just a name to change") 'NameOnly)) [for SourceNF in SourceNFs do (NCP.PrintMsg MainWindow NIL SourceNF "... ") (NCP.MapCardsOfType 'CrossFileLink (NCP.NoteFileFromFileName SourceNF) (LAMBDA (Card) (PROG (Substance UnpackedOldDestFileHint NewDestFileHint) (if (NOT (NCP.CardCachedP Card)) then (* ;; "cache it; leave it cached ") (NCP.CacheCards Card)) (if (NCP.ValidCardP Card) then (SETQ Substance (NC.FetchSubstance Card)) (if (MEMBER (fetch (CrossFileLinkSubstance CrossFileLinkDestFileHint) of Substance) OldDestNoteFiles) then (* ;; "Change dest notefile hint ") (SETQ UnpackedOldDestFileHint (UNPACKFILENAME (fetch (CrossFileLinkSubstance CrossFileLinkDestFileHint ) of Substance))) (SETQ NewDestFileHint (SELECTQ ChangeHost/Filename (HostAndName NewDestNoteFile) (HostOnly (LISTPUT UnpackedOldDestFileHint 'HOST NewDestNoteFile) (PACKFILENAME UnpackedOldDestFileHint)) (NameOnly (LISTPUT UnpackedNewDestNF 'HOST (LISTGET UnpackedOldDestFileHint 'HOST)) (PACKFILENAME UnpackedNewDestNF)) (SHOULDNT))) (replace (CrossFileLinkSubstance CrossFileLinkDestFileHint) of Substance with NewDestFileHint) (* ;; "Mark it dirty") (NCP.MarkCardDirty Card] (NCP.PrintMsg MainWindow NIL "done. ") (RETURN T]) ) (DECLARE%: DONTCOPY (PUTPROPS DSJPATCH076 MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP")) (PUTPROPS DSJPATCH076 FILETYPE :TCOMPL) ) (PUTPROPS DSJPATCH076 COPYRIGHT ("Xerox Corporation" 1988)) (DECLARE%: DONTCOPY (FILEMAP (NIL (932 6992 (NCP.RenameCrossFileLinksDestination 942 . 6990))))) STOP