Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
;ELC ;;; Compiled by leavens@CMC3251632-A on Thu Sep 04 23:07:35 2003 ;;; from file d:/emacs/eieio/tree.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`tree.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'eieio) #@27 Keymap used in tree mode. (defvar tree-map nil (#$ . 607)) (byte-code "\2041\306 \307\310\311#\210\307\312\311#\210\307\313\314#\210\307\315\316#\210\307\317\320#\210\307\321\322#\210\307\323\324#\210\302 B\325\303 B\325\304 B\325\305 B\325\326 B\327\330 B\331\306\207" [tree-map current-load-list tree-ul-char tree-ur-char tree-ll-char tree-lr-char make-sparse-keymap define-key " " tree-select-node "\n" [mouse-1] tree-select-node-mouse "e" tree-edit-node [mouse-2] tree-edit-node-mouse "x" tree-expand-or-contract-node [mouse-3] tree-expand-or-contract-node-mouse "+" tree-vertical-char "|" tree-horizontal-char "-"] 4) #@49 The root node of a tree in a given tree buffer. (defvar tree-root-node nil (#$ . 1260)) (make-variable-buffer-local 'tree-root-node) #@333 Current mode of a tree buffer. Valid values are: 'tree-center-box-1 - nodes are boxed w/ 1 line of text in center of region this is default if this value is unknown 'tree-top-box-1 - nodes are boxed w/ 1 line of text @ top of region 'tree-bottom-box-1 - nodes are boxed w/ 1 line of text @ bottom of region (defvar tree-buffer-mode 'tree-center-box-1 (#$ . 1400)) (make-variable-buffer-local 'tree-buffer-mode) #@30 Face used inside tree-boxes. (defvar tree-face 'bold (#$ . 1842)) #@61 Takes the current buffer, and initialize tree mode upon it. (defalias 'tree-mode #[nil "\304 \210\305!\210\306\307\310\311\312!\207" [tree-map major-mode mode-name truncate-lines kill-all-local-variables use-local-map tree-mode "TREE" t run-hooks tree-mode-hook] 2 (#$ . 1914)]) #@96 Create a buffer called NAME to display some tree type things. Return the newly created buffer. (defalias 'tree-new-buffer #[(name) "\212\301!q\210\302 \210p)\207" [name get-buffer-create tree-mode] 2 (#$ . 2203)]) #@98 Create a new frame NAME and set it up to use graphic characters. Returns the newly created frame (defalias 'tree-new-frame #[(name) "\304\300B\305\306\307F!\310!\311 \312 !\210\313\n!\210\312 !\210 +\207" [name cf nb nf make-frame (height . 30) (width . 80) (minibuffer) tree-new-buffer selected-frame select-frame switch-to-buffer] 5 (#$ . 2424)]) #@70 Refresh the tree structure which is currently active in this buffer. (defalias 'tree-refresh-tree #[nil "\301\302!\210\303!\210\304\305\306\"\307\"c\210\310\311\211\312!\313\\\314\315&\210\301\316!\207" [tree-root-node message "Refreshing tree..." tree-level-height make-string eieio-oref height 10 tree-draw-node t tree-node-width 2 1 0 "Refreshing tree...Done"] 7 (#$ . 2784)]) #@185 Draw the single NODE and it's children at a correct estimated position. Really calls a function based upon `tree-buffer-mode'. FIRST LAST WIDTH TOPROW and LEFTMARGIN are passed along. (defalias 'tree-draw-node #[(node first last width toprow leftmargin) " \n \f &\207" [tree-buffer-mode node first last width toprow leftmargin] 7 (#$ . 3176)]) #@135 As `tree-draw-node' except that we draw 1-line text w/ a box around it. NODE FIRST LAST WIDTH TOPROW and LEFTMARGIN are passed along. (defalias 'tree-center-box-1 #[(node first last width toprow leftmargin) "\306 \n \f \307&\207" [node first last width toprow leftmargin tree-box-1 center] 8 (#$ . 3531)]) #@135 As `tree-draw-node' except that we draw 1-line text w/ a box around it. NODE FIRST LAST WIDTH TOPROW and LEFTMARGIN are passed along. (defalias 'tree-top-box-1 #[(node first last width toprow leftmargin) "\306 \n \f \307&\207" [node first last width toprow leftmargin tree-box-1 top] 8 (#$ . 3846)]) #@135 As `tree-draw-node' except that we draw 1-line text w/ a box around it. NODE FIRST LAST WIDTH TOPROW and LEFTMARGIN are passed along. (defalias 'tree-bottom-box-1 #[(node first last width toprow leftmargin) "\306 \n \f \307&\207" [node first last width toprow leftmargin tree-box-1 bottom] 8 (#$ . 4155)]) #@312 Draw a single NODE and it's children at a correct estimated position. FIRST and LAST are not used. WIDTH specifies how much space this row will take. TOPROW specifies what row this node starts at, and LEFTMARGIN specifies how far out on the left this node can draw itself. Optional argument POS is a postion. (defalias 'tree-box-1 #[(node first last width toprow leftmargin &optional pos) "\306=\203\307 \310\"\311\245S\202,\312=\203\313\202,\314=\203)\307 \310\"\315Z\202,\316\317!\313\320\f \\\"\210\307 \321\"\203A\322\202B\3234\261\210\324\325 !\311Z5\313H\"c\2106c\210\320\f \\\326\\\"\210\307 \321\"\203l\327\202m\3237\261\210`8\307 \330\"c\210\3318`\3329$\210\3318`\333 $\210\3318`\334\335$\210)\336 \337\"\203\240\323\202\241\340c\2107c\210\307 \341\"\203\342\307 \337\"\203\342\325 !:;:Z\307 \321\"\203\312\311\202\313\326Z<\313\313c\210\307 \341\"\203P\307 \337\"\203P\342\307 \341\"@\n\313U\307 \341\"A\343 !\315\\ \n\\\f;\\&\210\n\336\307 \341\"@\310\"\\\344 \341\307 \341\"A#\210\202 \344 \341\336 \341\"#\210\307 \341\"\203\370\336 \337\"\203\370\345\346!\211?\205r\346J@\345\347!\211A\205\347JB C\307C\310\"D\307 \310\"SE\350\216\346\326L\210\351\216\347\352L\210\353\216\344C\310E#\210&\307 \310\"W\203\366\307 \341\"\203\366\320\f;\\\354\\ &\\\"\210\355\356!\203\335\357'\344 \341\307 \341\"A#\210\360\202\347'\203\346\361\202\347\322c\210\362\326!\210&T\211&\202\252.\n\320\f\311\\ \\\326\\\"\210\344 \363`#*\207" [pos node l tpos leftmargin toprow center slot-value height 2 top 0 bottom 3 error "Illegal call to tree-box-1" tree-goto-xy parent " " "" make-string tree-node-width 1 "-" name put-text-property face node-object mouse-face highlight eieio-oref expand "..." children tree-draw-node tree-level-width eieio-oset boundp i ok ((byte-code "\203 \302 L\210\202\303\302!\210\302\207" [#1=#:--letf-bound--102221 #2=#:--letf-save--102220 i makunbound] 2)) ((byte-code "\203 \302 L\210\202\303\302!\210\302\207" [#3=#:--letf-bound--102217 #4=#:--letf-save--102216 ok makunbound] 2)) nil ((byte-code "\302\303 #\207" [#5=#:--obj--102209 #6=#:--letf-save--102212 eieio-oset height] 4)) -1 looking-at " -" t "+" "|" delete-char currentpos tree-ul-char tree-horizontal-char tree-ur-char tree-vertical-char p1 tree-face mn width nd tree-ll-char tree-lr-char #1# #2# #3# #4# #5# #6# #7=#:--letf-val--102213] 9 (#$ . 4470)]) #@74 Move cursor to position X Y in buffer, and add spaces and CRs if needed. (defalias 'tree-goto-xy #[(x y) "\304\305! \306U\203i\306U\204\307\310!\210m\203\307 !\210\311 ! U\206( j*\207" [y num indent-tabs-mode x nil goto-line 0 newline 1 move-to-column] 3 (#$ . 7045)]) (eieio-defclass 'tree-node nil '((name :initarg :name :initform nil) (children :initarg :children :initform nil) (expand :initarg :expand :initform t) (parent :initarg :parent :initform nil) (height :initarg :height :initform 3) (currentpos :initform 0)) '("Base class for a tree node")) (eieio-defmethod 'select '(((tn tree-node)) #[(tn) "\301\302\303!\"\207" [tn message "Clicked on node %s" object-name] 4 "Action to take when first mouse is clicked."])) (eieio-defmethod 'edit '(((tn tree-node)) #[(tn) "\302\303!\304 \305#\210)\306 \210\307 \210\310 \311\"b\207" [nn tn read-string "New name: " eieio-oset name erase-buffer tree-refresh-tree eieio-oref currentpos] 4 "Action to take when middle mouse button is clicked."])) (eieio-defmethod 'change-scope '(((tn tree-node)) #[(tn) "\301\302\"\205\303\304\301\304\"?#\210\305 \210\306 \210\301\307\"b\207" [tn eieio-oref children eieio-oset expand erase-buffer tree-refresh-tree currentpos] 6 "Action to take when last mouse is clicked on this node"])) #@71 Create a new tree NODE with the specified name, and make it the root. (defalias 'tree-set-root #[(node) "\211\207" [node tree-root-node] 2 (#$ . 8346)]) #@50 Create a new tree node with specified text NAME. (defalias 'tree-new-node #[(name) "\301\302#\207" [name tree-node :name] 4 (#$ . 8507)]) #@114 Add to PARENT variable `tree-node' the variable `tree-node' CHILD. Returns child to aid in building quick trees. (defalias 'tree-add-child #[(parent child) "\302\301 #\210\302 \303\304\305 \303\"C\"#\210\207" [child parent eieio-oset children append eieio-oref] 7 (#$ . 8654)]) #@37 Sort all children of NODE, recurse. (defalias 'tree-sort-elements #[(node) "\302\303\"\304 \305\"\306\303 #\210 \205!\307 @!\210 A\211\204\310)\207" [node k eieio-oref children sort #[(a b) "\302\303\"\302 \303\"\231\207" [a b eieio-oref name] 4] eieio-oset tree-sort-elements nil] 5 (#$ . 8941)]) #@65 Set the expand field for NODE to nil for all nodes below DEPTH. (defalias 'tree-trim-below #[(node depth) "\303\304\"\211\203\n\305X\203\306\307\310#\210 \205(\311 @\nS\"\210 A\211\204\310)\207" [node k depth eieio-oref children 1 eieio-oset expand nil tree-trim-below] 5 (#$ . 9254)]) #@27 Return the width of NODE. (defalias 'tree-node-width #[(node) "\301\302\"G\301\303\"\204\304\202\305\\\306\\\207" [node eieio-oref name expand 3 0 2] 4 (#$ . 9557)]) #@45 Return the widest box to appear under NODE. (defalias 'tree-level-width #[(node) "\304\305\"\306\211\2030\307\n@! W\203(\304\n@\305\"\203(\304\n@\310\"\203( )\nA\211\204 *\207" [node w kids tl eieio-oref children 0 tree-node-width expand] 4 (#$ . 9735)]) #@105 Return the total height in chars of all nodes under NODE. Cache the height into each node for later use (defalias 'tree-level-height #[(node) "\303\304\"\305\211\203\303\306\"\204\307\202)\n\203) \310\n@!\\\nA\211\204\311\312 #\210 *\207" [node h kids eieio-oref children 0 expand 3 tree-level-height eieio-oset height] 5 (#$ . 10010)]) #@86 Activate the node currently under (point), or bell if none. Requires text-properties (defalias 'tree-select-node #[nil "\301`\302\"\211\203\303!\202\304\305!)\207" [node get-text-property node-object select error "There is no tree-node under point"] 4 (#$ . 10369) nil]) #@86 Activate the node currently under (point), or bell if none. Requires text-properties (defalias 'tree-select-node-mouse #[nil "\301\302!\210\303`\304\"\211\203\305!\202\306\307!)\207" [node call-interactively mouse-set-point get-text-property node-object select error "There is no tree-node under point"] 4 (#$ . 10652) nil]) #@86 Activate the node currently under (point), or bell if none. Requires text-properties (defalias 'tree-edit-node #[nil "\301`\302\"\211\203\303!\202\304\305!)\207" [node get-text-property node-object edit error "There is no tree-node under point"] 4 (#$ . 10989) nil]) #@86 Activate the node currently under (point), or bell if none. Requires text-properties (defalias 'tree-edit-node-mouse #[nil "\301\302!\210\303`\304\"\211\203\305!\202\306\307!)\207" [node call-interactively mouse-set-point get-text-property node-object edit error "There is no tree-node under point"] 4 (#$ . 11268) nil]) #@86 Activate the node currently under (point), or bell if none. Requires text-properties (defalias 'tree-expand-or-contract-node #[nil "\301`\302\"\211\203\303!\202\304\305!)\207" [node get-text-property node-object change-scope error "There is no tree-node under point"] 4 (#$ . 11601) nil]) #@86 Activate the node currently under (point), or bell if none. Requires text-properties (defalias 'tree-expand-or-contract-node-mouse #[nil "\301\302!\210\303`\304\"\211\203\305!\202\306\307!)\207" [node call-interactively mouse-set-point get-text-property node-object change-scope error "There is no tree-node under point"] 4 (#$ . 11902) nil]) #@68 Try using various features of tree mode in a demo of it's display. (defalias 'tree-test-it-all #[nil "\306\307\310!!\210\311 \210\312\313\314!!\315\313\316!\"\315\313\317!\"\315\313\320!\"\315 \313\321!\"\315 \313\322!\"\315 \313\323!\"\315 \313\324!\"\315 \313\325!\"\315 \313\326!\"\315\313\327!\"\315\313\330!\"\210. \331 \207" [ntn stn1 stn2 stn3 sstn1 sstn2 switch-to-buffer tree-new-buffer "*TREE DEMO*" erase-buffer tree-set-root tree-new-node "root" tree-add-child "Bob" "Stan" "Valarie" "Bob1" "Bob2" "Bob3" "Bob4" "Valarie2" "Valarie3" "Bobby1" "Bobby2" tree-refresh-tree sstn3 sstn4 sstn5 sstn6 ssstn1] 4 (#$ . 12257) nil]) (eieio-defclass 'eieio-tree-node '(tree-node) '((class :initarg :class :initform nil)) '("Tree node used to represent eieio classes")) (eieio-defmethod 'edit '(((etn eieio-tree-node)) #[(etn) "\301\302\303\"!\207" [etn eieio-describe-class eieio-oref class] 4 "Don't really edit, but pull up details about the given widget using `eieio-describe-class'"])) (eieio-defmethod 'select '(((etn eieio-tree-node)) #[(etn) "\301\302\303\304\305\"!\"\207" [etn message "%s" class-name eieio-oref class] 6 "Display a tiny bit of info about this object which might be useful"])) #@110 Create a new widget tree node with the specified WIDGET slot. Argument CLASS is the class we are displaying. (defalias 'eieio-new-node #[(class) "\301\302!\303\302!\304%\207" [class eieio-tree-node symbol-name :name :class] 6 (#$ . 13492)]) #@117 Displays a class tree using the TREE package in another buffer. Optional argument ROOT-CLASS is the starting point. (defalias 'eieio-class-tree #[(&optional root-class) "\204\302\303\304\305!!\210\306 \210\307\310!!\311 !\210)\312 \207" [root-class np eieio-default-superclass switch-to-buffer tree-new-buffer "*EIEIO CLASS TREE*" erase-buffer tree-set-root eieio-new-node eieio-tree-grow tree-refresh-tree] 3 (#$ . 13743) nil]) #@27 Add to NODE all children. (defalias 'eieio-tree-grow #[(node) "\304\305\"\306N H\307\n\205%\310\n@!\311 \"\210\312 !\210\nA\211\204\307*\207" [node class-children wk nn eieio-oref class eieio-class-definition nil eieio-new-node tree-add-child eieio-tree-grow] 4 (#$ . 14184)]) (eieio-defclass 'dirtree-node '(tree-node) '((pathname :initarg :path :initform nil) (haschildren :initarg :haschildren :initform unknown)) '("A tree-node child class for displaying a directory.")) (eieio-defmethod 'edit '(((dtn dirtree-node)) #[(dtn) "\301\302\303\304\305\"\304\306\"#!\207" [dtn find-file format "%s%s" eieio-oref pathname name] 7 "Action to take when this node is clicked."])) (eieio-defmethod 'select '(((dtn dirtree-node)) #[(dtn) "\301\302\303\304\305\"\304\306\"#!\207" [dtn shell-command format "ls -ld %s%s" eieio-oref pathname name] 7 "Action to take when this node is clicked."])) (eieio-defmethod 'change-scope '(((dtn dirtree-node)) #[(dtn) "\302\303\"\304\232\203\302\305\"\306\307\"\210)\302\310\"\2050\311\312\302\312\"?#\210\313 \210\314 \210\302\315\"b\207" [dtn path-path eieio-oref haschildren unknown pathname directory-tree-more-nodes 1 children eieio-oset expand erase-buffer tree-refresh-tree currentpos] 6 "Action to take when last mouse is clicked on this node"])) #@119 Create a new directory tree node. Argument NAME is the name of the tree node. Argument PATH is the path to that file. (defalias 'dirtree-new #[(name path) "\302\303\304 %\207" [name path dirtree-node :name :path] 6 (#$ . 15500)]) #@135 Start at the current directory, and build a giant tree of files. Argument PPATH is the path to the directory we are going to analyze. (defalias 'directory-tree-thing #[(ppath) "\305\306\"\203\307GSO\202\310\311\312\313\314 !\"!!\210\315 \210\316\317\314 !\320 !\"!\320 !\321 \322\"\210*\323\324\325!\210\326 )\207" [ppath toppath path-path node tree-buffer-mode string-match "/$" 0 switch-to-buffer tree-new-buffer format "TREE: %s" file-name-nondirectory erase-buffer tree-set-root dirtree-new file-name-directory directory-tree-more-nodes 2 tree-top-box-1 message "Refreshing tree..." tree-refresh-tree] 6 (#$ . 15739) "fDirectory to graph: "]) #@148 Find more parts of this directory. Do not expand kids if dokids = 0. Argument NODE is the node to display. DOKIDS is a flag to display children. (defalias 'directory-tree-more-nodes #[(node dokids) "\306\307\310\311\"\"\210\312\313\314#\210\310\311\"\315\n P\316\211\317$\211\203q @\320\230\204j @\321\230\204j\322\n \323 @R!\203j\n \323Q\324\325 @\n \323Q\"\" @\326\235\204i\327 W\203i\330\f S\"\210\312\f\331\332\310\f\331\"\333\"#\210* A\211\204 \327U\205\203\310\331\"\205\203\312\334\316#*\207" [node nm path-path files newnode dokids message "Tracing directory... [%s]" eieio-oref name eieio-oset haschildren known directory-files nil t "." ".." file-accessible-directory-p "/" tree-add-child dirtree-new (".xvpics" "SCCS" "RCS" "CVS") 0 directory-tree-more-nodes children sort #[(a b) "\302\303\"\302 \303\"\231\207" [a b eieio-oref name] 4] expand] 9 (#$ . 16405)]) (provide 'tree)