;ELC ;;; compiled by jwz@thalidomide on Wed Mar 23 18:47:19 1994 ;;; from file /th/jwz/emacs19/lisp/vm/tapestry.el ;;; emacs version 19.10 Lucid (beta8). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!!" [provide tapestry boundp tapestry-version "1.05"] 2) (fset 'tapestry #[(&optional frame-list) " Ɏ@! E BAh) ,D" [frame-list tapestry-frame-list tapestry-frame-map tapestry-selected-frame nil other-maps sf frame-map frames ((tapestry-select-frame sf)) tapestry-select-frame tapestry-window-map tapestry-buffer-map tapestry-position-map] 5 "\ Returns a list containing complete information about the current configuration of Emacs frames, windows, buffers and cursor positions. Call the function set-tapestry with the list that this function returns to restore the configuration. Optional first arg FRAME-LIST should be a list of frames; only configuration information about these frames will be returned. The configuration information is returned in a form that can be saved and restored across multiple Emacs sessions."]) (fset 'set-tapestry #[(map &optional n root-window-edges) " @A@     S 8 \"\n@\" \nA@ \"\n8 \") ! Ԏ @! @@! @A@! @8! A A\\)-" [tapestry-selected-frame nil other-map other-maps frame-map frame-list sf map root-window-edges n 1 first-window error "No such map, %d" tapestry-set-window-map tapestry-set-buffer-map tapestry-set-position-map 2 tapestry-set-frame-map tapestry-frame-list ((byte-code " ! !" [tapestry-frame-live-p sf tapestry-select-frame] 2)) tapestry-select-frame] 6 "\ Restore the frame/window/buffer configuration described by MAP, which should be a list previously returned by a call to tapestry. Optional second arg N causes frame reconfiguration to be skipped and the windows of the current frame will configured according to the window map of the Nth frame in MAP. Optional third arg ROOT-WINDOW-EDGES non-nil should be a list containing the edges of a window in the current frame. This list should be in the same form as returned by the `window-edges' function. The window configuration from MAP will be restored in this window. If no window with these exact edges exists, a window that lies entirely within the edge coordinates will be expanded until the edge coordinates match or the window bounded by ROOT-WINDOW-EDGES is entirely contained within the expanded window. If no window entirely within the ROOT-WINDOW-EDGES edge coordinates can be found, the window with the greatest overlap of ROOT-WINDOW-EDGES will be used."]) (byte-code "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" [tapestry-frame-map #[nil " \"É @ A! A! @= ˡ ̡A AP," [mapcar tapestry-frame-parameters tapestry-frame-list nil frame-list cell list map minibuffer windowp tapestry-window-frame t none] 5] tapestry-set-frame-map #[(map) " \n\n@!\nAu @! Au)" [tapestry-frame-list doomed-frames map tapestry-make-frame tapestry-delete-frame nil] 3] tapestry-window-map #[nil " \"AAqA@! @! @ @U 8 8U A@ A@U 8 8U\n A@\n@@= @@=@ @C A\nΪ@ @E A!@." [nil y-unchanged x-unchanged map1-edges map0-edges map1 map0 maps mapcar window-edges tapestry-window-list tapestry-find-window-map-edges 2 3 - |] 8] tapestry-set-window-map #[(map &optional root-window-edges) " ! !É \n      \n @!! @ É_\"!!  W @\n U@ A#   !( !(\n,.  !  $ +" [tapestry-compute-map-width map tapestry-compute-map-height nil root-window map-height map-width root-window-edges overlap max-overlap overlap-w inside-w exact-w w-area w-edges w-list -1 tapestry-window-list window-edges tapestry-window-area tapestry-window-overlap 0 one-window-p t delete-window delete-other-windows selected-window select-window tapestry-apply-window-map] 9] tapestry-buffer-map #[nil "  @! ! !D\nB Ak\n+" [tapestry-window-list nil list b w-list window-buffer buffer-file-name buffer-name] 4] tapestry-set-buffer-map #[(buffer-map &optional first-window) " ! @ @ @ @! @! A@!\" A AU*" [tapestry-window-list first-window nil wb w-list buffer-map set-window-buffer get-file-buffer find-file-noselect get-buffer-create] 4] tapestry-position-map #[nil "  @! @! @! @ =F B Af +" [selected-window tapestry-window-list nil list w-list sw window-start window-point window-hscroll] 6] tapestry-set-position-map #[(position-map &optional first-window) " ! É@@@ @\" A@@ A@\" 8@ 8\" 8@@!AA1 !," [tapestry-window-list first-window selected-window nil p sw osw w-list position-map set-window-start set-window-point 2 set-window-hscroll 3 select-window] 5] tapestry-apply-window-map #[(map map-width map-height current-window &optional window-width window-height) " !!@@=@=A\n@! _S@!_\n#@@@ &A\"A +" [1 nil horizontal window-min-width window-min-height window-width window-height current-window map - | t split-window tapestry-compute-map-width map-width tapestry-compute-map-height map-height tapestry-apply-window-map next-window 0] 8] tapestry-find-window-map-edges #[(map) " :\n@\nA@q : @ A Aw @h\n =\n\n!A AA\n*" [nil se-edges nw-edges map copy-sequence] 3] tapestry-compute-map-width #[(map) " !\n8\n@Z)" [tapestry-find-window-map-edges map edges 2] 2] tapestry-compute-map-height #[(map) " !\n8\nA@Z)" [tapestry-find-window-map-edges map edges 3] 2] tapestry-delassq #[(elt list) " \n \n@@= Al \nA\nAa\n\nA[ *" [nil list curr prev elt] 3] tapestry-remove-frame-parameters #[(map params) "\n @ \n@ @\" Aq\nAe)" [nil frame-map params map tapestry-delassq] 5] tapestry-nullify-tapestry-elements #[(map &optional buf-file-name buf-name window-start window-point window-hscroll selected-window) "\nA@\n@A@ @ @A Ai\n@8 @ @A @AA @ AQ\nA$)" [nil p map buf-file-name buf-name 2 window-start window-point window-hscroll selected-window 3] 3] tapestry-replace-tapestry-element #[(map what function) "======A@ @8 @8\n!\n @ AdAS-" [nil new old p mapj mapi what buffer-file-name 1 0 buffer-name window-start 2 window-point window-hscroll selected-window 3 map function] 6] tapestry-window-list #[(&optional first-window) " B\"= B\"k ," [first-window tapestry-first-window nil windows current-cons next-window nomini w] 4] tapestry-first-window #[nil " != ! A \n  ! @U\n A@U \" b +" [tapestry-selected-frame tapestry-window-frame minibuffer-window next-window selected-window menu-bar-lines tapestry-frame-parameters 0 nil edges top w window-edges nomini] 3] tapestry-window-area #[(edges) " 8 A@Z 8 @Z_" [3 edges 2] 3] tapestry-window-overlap #[(e0 e1) " @@X@ 8W@@ @X @8W @ @8W8 8X8@ 8W 88X 8 A@A@XA@ 8WA@A@ A@X A@8W A@ A@8W8 8X8A@ 8W 88X 8 \n \nF," [nil right bottom left top e0 e1 2 3] 4] tapestry-frame-list #[nil "! C" [fboundp frame-list nil] 2] tapestry-frame-parameters #[(&optional f) "!\n!" [fboundp frame-parameters f] 2] tapestry-window-frame #[(w) "!\n!" [fboundp window-frame w] 2] tapestry-modify-frame-parameters #[(f alist) "!\n \"" [fboundp modify-frame-parameters f alist] 3] tapestry-select-frame #[(f) "!\n!" [fboundp select-frame f] 2] tapestry-selected-frame #[nil "! " [fboundp selected-frame] 2] tapestry-next-frame #[(&optional f all) "!\n \"" [fboundp next-frame f all] 3] tapestry-make-frame #[(&optional alist) "!\n!" [fboundp make-frame alist] 2] tapestry-delete-frame #[(&optional f) "!\n!" [fboundp delete-frame f] 2] tapestry-frame-live-p #[(f) "!\n!Ç" [fboundp frame-live-p f t] 2]] 2)