HOME


sh-3ll 1.0
DIR:/usr/share/emacs/26.1/lisp/progmodes/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/progmodes/xref.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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!\210\300\304!\210\305\306\307\310\311\312\313\314&\210\315\316\317\320!\"\210\315\321\322\320!\"\210\315\323\321\"\210\324\323\325\312#\210\326\320\327\321#\330\320\307\211\331$\207" [require cl-lib eieio ring project custom-declare-group xref nil "Cross-referencing commands" :version "25.1" :group tools defalias xref-location-p eieio-make-class-predicate xref-location xref-location--eieio-childp eieio-make-child-predicate xref-location-child-p make-obsolete "use (cl-typep ... \\='xref-location) instead" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (:documentation "A location represents a position in a file or buffer.")] 8)
#@70 Create a new object of class type `xref-location'.

(fn &rest SLOTS)
(defalias 'xref-location #[128 "\300\301\302#\207" [apply make-instance xref-location] 5 (#$ . 1107)])
(byte-code "\300\301\302\303#\300\207" [function-put xref-location compiler-macro xref-location--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'xref-location--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 1399)])
(byte-code "\300\301\302\301\303\304#\305#\210\300\306\302\306\307\304#\310#\210\300\311\302\311\312\304#\313#\210\314\311\304\312\304\315%\210\300\316\302\316\317\304#\320#\210\314\316\304\317\304\321%\210\300\322\323\324!\"\210\300\325\326\324!\"\210\300\327\325\"\210\330\327\331\332#\210\333\324\334\325#\335\324\336\337\340$\210\314\341\304\342\304\343%\210\314\311\304\344\304\345%\207" [defalias xref-location-marker cl-generic-define (location) nil "Return the marker for LOCATION.\n\n(fn LOCATION)" xref-location-group (location) "Return a string used to group a set of locations.\nThis is typically the filename.\n\n(fn LOCATION)" xref-location-line (_location) "Return the line number corresponding to the location.\n\n(fn LOCATION)" cl-generic-define-method #[257 "\300\207" [nil] 2 "\n\n(fn LOCATION)"] xref-match-length (_item) "Return the length of the match.\n\n(fn ITEM)" #[257 "\300\207" [nil] 2 "\n\n(fn ITEM)"] xref-file-location-p eieio-make-class-predicate xref-file-location xref-file-location--eieio-childp eieio-make-child-predicate xref-file-location-child-p make-obsolete "use (cl-typep ... \\='xref-file-location) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (xref-location) ((file :type string :initarg :file) (line :type fixnum :initarg :line :reader xref-location-line) (column :type fixnum :initarg :column :reader xref-file-location-column)) (:documentation "A file location is a file/line/column triple.\nLine numbers start from 1 and columns from 0.") xref-file-location-column ((this xref-file-location)) #[257 "\300\301\"\207" [slot-value column] 4 "Access the slot `column' from object of class `xref-file-location'.\n\n(fn THIS)"] ((this xref-file-location)) #[257 "\300\301\"\207" [slot-value line] 4 "Access the slot `line' from object of class `xref-file-location'.\n\n(fn THIS)"]] 7)
#@75 Create a new object of class type `xref-file-location'.

(fn &rest SLOTS)
(defalias 'xref-file-location #[128 "\300\301\302#\207" [apply make-instance xref-file-location] 5 (#$ . 3495)])
(byte-code "\300\301\302\303#\300\207" [function-put xref-file-location compiler-macro xref-file-location--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'xref-file-location--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 3812)])
#@70 Create and return a new `xref-file-location'.

(fn FILE LINE COLUMN)
(defalias 'xref-make-file-location #[771 "\300\301\302\303\304&\207" [make-instance xref-file-location :file :line :column] 11 (#$ . 4049)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\302$\207" [cl-generic-define-method xref-location-marker nil ((l xref-file-location)) #[257 "\211r\301\302\303\"!\206\304\305\302\303\"!)q\210\214~\210\212eb\210\306\302\307\"!\210\302\310\"u\210\311 +\207" [find-file-suppress-same-file-warnings get-file-buffer slot-value file t find-file-noselect beginning-of-line line column point-marker] 6 "\n\n(fn L)"] xref-location-group ((l xref-file-location)) #[257 "\300\301\"\207" [eieio-oref file] 4 "\n\n(fn L)"] defalias xref-buffer-location-p eieio-make-class-predicate xref-buffer-location xref-buffer-location--eieio-childp eieio-make-child-predicate xref-buffer-location-child-p make-obsolete "use (cl-typep ... \\='xref-buffer-location) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (xref-location) ((buffer :type buffer :initarg :buffer) (position :type fixnum :initarg :position))] 6)
#@77 Create a new object of class type `xref-buffer-location'.

(fn &rest SLOTS)
(defalias 'xref-buffer-location #[128 "\300\301\302#\207" [apply make-instance xref-buffer-location] 5 (#$ . 5343)])
(byte-code "\300\301\302\303#\300\207" [function-put xref-buffer-location compiler-macro xref-buffer-location--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'xref-buffer-location--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 5670)])
#@71 Create and return a new `xref-buffer-location'.

(fn BUFFER POSITION)
(defalias 'xref-make-buffer-location #[514 "\300\301\302\303%\207" [make-instance xref-buffer-location :buffer :position] 8 (#$ . 5909)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\210\300\330\302\331\302\332%\207" [cl-generic-define-method xref-location-marker nil ((l xref-buffer-location)) #[257 "\211\300 \211\301\302\"\301\303\"\223\262\207" [make-marker slot-value position buffer] 8 "\n\n(fn L)"] xref-location-group ((l xref-buffer-location)) #[257 "\211\300\301\302\"!\206\303\304\305\301\302\"!\"\207" [buffer-file-name slot-value buffer format "(buffer %s)" buffer-name] 8 "\n\n(fn L)"] defalias xref-bogus-location-p eieio-make-class-predicate xref-bogus-location xref-bogus-location--eieio-childp eieio-make-child-predicate xref-bogus-location-child-p make-obsolete "use (cl-typep ... \\='xref-bogus-location) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (xref-location) ((message :type string :initarg :message :reader xref-bogus-location-message)) (:documentation "Bogus locations are sometimes useful to\nindicate errors, e.g. when we know that a function exists but the\nactual location is not known.") xref-bogus-location-message ((this xref-bogus-location)) #[257 "\300\301\"\207" [slot-value message] 4 "Access the slot `message' from object of class `xref-bogus-location'.\n\n(fn THIS)"]] 7)
#@76 Create a new object of class type `xref-bogus-location'.

(fn &rest SLOTS)
(defalias 'xref-bogus-location #[128 "\300\301\302#\207" [apply make-instance xref-bogus-location] 5 (#$ . 7494)])
(byte-code "\300\301\302\303#\300\207" [function-put xref-bogus-location compiler-macro xref-bogus-location--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'xref-bogus-location--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 7816)])
#@62 Create and return a new `xref-bogus-location'.

(fn MESSAGE)
(defalias 'xref-make-bogus-location #[257 "\300\301\302#\207" [make-instance xref-bogus-location :message] 5 (#$ . 8054)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\302\325\326$\210\300\327\302\330\302\331%\210\300\332\302\333\302\334%\207" [cl-generic-define-method xref-location-marker nil ((l xref-bogus-location)) #[257 "\300\301\302\303\"\"\207" [user-error "%s" eieio-oref message] 6 "\n\n(fn L)"] xref-location-group ((_ xref-bogus-location)) #[257 "\300\207" ["(No location)"] 2 "\n\n(fn _)"] defalias xref-item-p eieio-make-class-predicate xref-item xref-item--eieio-childp eieio-make-child-predicate xref-item-child-p make-obsolete "use (cl-typep ... \\='xref-item) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((summary :type string :initarg :summary :reader xref-item-summary :documentation "One line which will be displayed for\nthis item in the output buffer.") (location :initarg :location :reader xref-item-location :documentation "An object describing how to navigate\nto the reference's target.")) (:comment "An xref item describes a reference to a location\nsomewhere.") xref-item-location ((this xref-item)) #[257 "\300\301\"\207" [slot-value location] 4 "Access the slot `location' from object of class `xref-item'.\n\n(fn THIS)"] xref-item-summary ((this xref-item)) #[257 "\300\301\"\207" [slot-value summary] 4 "Access the slot `summary' from object of class `xref-item'.\n\n(fn THIS)"]] 7)
#@66 Create a new object of class type `xref-item'.

(fn &rest SLOTS)
(defalias 'xref-item #[128 "\300\301\302#\207" [apply make-instance xref-item] 5 (#$ . 9714)])
(byte-code "\300\301\302\303#\300\207" [function-put xref-item compiler-macro xref-item--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'xref-item--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 9986)])
#@141 Create and return a new `xref-item'.
SUMMARY is a short string to describe the xref.
LOCATION is an `xref-location'.

(fn SUMMARY LOCATION)
(defalias 'xref-make #[514 "\300\301\302\303%\207" [make-instance xref-item :summary :location] 8 (#$ . 10215)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\210\320\321\315\322\315\323%\210\320\324\315\325\315\326%\210\320\327\315\330\315\331%\207" [defalias xref-match-item-p eieio-make-class-predicate xref-match-item xref-match-item--eieio-childp eieio-make-child-predicate xref-match-item-child-p make-obsolete "use (cl-typep ... \\='xref-match-item) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((summary :type string :initarg :summary :reader xref-item-summary) (location :initarg :location :type xref-file-location :reader xref-item-location) (length :initarg :length :reader xref-match-length)) (:comment "A match xref item describes a search result.") cl-generic-define-method xref-match-length ((this xref-match-item)) #[257 "\300\301\"\207" [slot-value length] 4 "Access the slot `length' from object of class `xref-match-item'.\n\n(fn THIS)"] xref-item-location ((this xref-match-item)) #[257 "\300\301\"\207" [slot-value location] 4 "Access the slot `location' from object of class `xref-match-item'.\n\n(fn THIS)"] xref-item-summary ((this xref-match-item)) #[257 "\300\301\"\207" [slot-value summary] 4 "Access the slot `summary' from object of class `xref-match-item'.\n\n(fn THIS)"]] 7)
#@72 Create a new object of class type `xref-match-item'.

(fn &rest SLOTS)
(defalias 'xref-match-item #[128 "\300\301\302#\207" [apply make-instance xref-match-item] 5 (#$ . 11801)])
(byte-code "\300\301\302\303#\300\207" [function-put xref-match-item compiler-macro xref-match-item--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'xref-match-item--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 12104)])
#@197 Create and return a new `xref-match-item'.
SUMMARY is a short string to describe the xref.
LOCATION is an `xref-location'.
LENGTH is the match length, in characters.

(fn SUMMARY LOCATION LENGTH)
(defalias 'xref-make-match #[771 "\300\301\302\303\304&\207" [make-instance xref-match-item :summary :location :length] 11 (#$ . 12340)])
#@275 Special hook to find the xref backend for the current context.
Each function on this hook is called in turn with no arguments,
and should return either nil to mean that it is not applicable,
or an xref backend, which is a value to be used to dispatch the
generic functions.
(defvar xref-backend-functions nil (#$ . 12687))
(add-hook 'xref-backend-functions 'etags--xref-backend t)
(defalias 'xref-find-backend #[0 "\300\301!\207" [run-hook-with-args-until-success xref-backend-functions] 2])
(byte-code "\300\301\302\301\303\304#\305#\210\300\306\302\306\307\304#\310#\210\311\306\304\307\304\312%\210\300\313\302\313\314\304#\315#\210\300\316\302\316\317\304#\320#\210\311\316\304\317\304\321%\210\300\322\302\322\323\304#\324#\207" [defalias xref-backend-definitions cl-generic-define (backend identifier) nil "Find definitions of IDENTIFIER.\n\nThe result must be a list of xref objects.  If IDENTIFIER\ncontains sufficient information to determine a unique definition,\nreturn only that definition. If there are multiple possible\ndefinitions, return all of them.  If no definitions can be found,\nreturn nil.\n\nIDENTIFIER can be any string returned by\n`xref-backend-identifier-at-point', or from the table returned by\n`xref-backend-identifier-completion-table'.\n\nTo create an xref object, call `xref-make'.\n\n(fn BACKEND IDENTIFIER)" xref-backend-references (_backend identifier) "Find references of IDENTIFIER.\nThe result must be a list of xref objects.  If no references can\nbe found, return nil.\n\nThe default implementation uses `semantic-symref-tool-alist' to\nfind a search tool; by default, this uses \"find | grep\" in the\n`project-current' roots.\n\n(fn BACKEND IDENTIFIER)" cl-generic-define-method #[514 "\300\301\302\303\304\305!\306\"\307\310%\311\312!\313\314!\315!\"\262\"\207" [cl-mapcan make-byte-code 257 "\301\300\"\207" vconcat vector [xref-collect-references] 4 "\n\n(fn DIR)" project-current t append project-roots project-external-roots] 9 "\n\n(fn BACKEND IDENTIFIER)"] xref-backend-apropos (backend pattern) "Find all symbols that match regexp PATTERN.\n\n(fn BACKEND PATTERN)" xref-backend-identifier-at-point (_backend) "Return the relevant identifier at point.\n\nThe return value must be a string or nil.  nil means no\nidentifier at point found.\n\nIf it's hard to determine the identifier precisely (e.g., because\nit's a method call on unknown type), the implementation can\nreturn a simple string (such as symbol at point) marked with a\nspecial text property which e.g. `xref-backend-definitions' would\nrecognize and then delegate the work to an external process.\n\n(fn BACKEND)" #[257 "\300\301!\211\205\n\302!\207" [thing-at-point symbol substring-no-properties] 4 "\n\n(fn BACKEND)"] xref-backend-identifier-completion-table (backend) "Returns the completion table for identifiers.\n\n(fn BACKEND)"] 6)
#@138 Partition the elements of LIST into an alist.
KEY extracts the key from an element and TEST is used to compare
keys.

(fn LIST KEY TEST)
(defalias 'xref--alistify #[771 "\300\211\2031\211@!\301\302$\211\203 \211AB\241\210\202(CBB\262\266A\266\202\202\210\303!\300\211\211:\203Y@\262\211A\262\242\262\303!BB\262A\262\2028\211\237\266\204\207" [nil cl-assoc :test reverse] 12 (#$ . 15559)])
#@70 Insert STRINGS with text properties PROPS.

(fn PROPS &rest STRINGS)
(defalias 'xref--insert-propertized #[385 "`\300\301\"\210\302`#\207" [apply insert add-text-properties] 7 (#$ . 15989)])
#@175 Search the next text range where text property PROPERTY is non-nil.
Return the value of PROPERTY.  If BACKWARD is non-nil, search
backward.

(fn PROPERTY &optional BACKWARD)
(defalias 'xref--search-property #[513 "\211\203\300\202	\301`\302`\"b\210\303`\"\211\262\204%m\204%o\203\211\206-b\210\302\207" [previous-single-char-property-change next-single-char-property-change nil get-text-property] 8 (#$ . 16190)])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\317%\210\300\320\302\303\321DD\322\306\317%\207" [custom-declare-variable xref-marker-ring-length funcall function #[0 "\300\207" [16] 1] "Length of the xref marker ring." :type integer xref-prompt-for-identifier #[0 "\300\207" [(not xref-find-definitions xref-find-definitions-other-window xref-find-definitions-other-frame)] 1] "When t, always prompt for the identifier name.\n\nWhen nil, prompt only when there's no value at point we can use,\nor when the command has been called with the prefix argument.\n\nOtherwise, it's a list of xref commands which will prompt\nanyway (the value at point, if any, will be used as the default).\n\nIf the list starts with `not', the meaning of the rest of the\nelements is negated." (choice (const :tag "always" t) (const :tag "auto" nil) (set :menu-tag "command specific" :tag "commands" :value (not) (const :tag "Except" not) (repeat :inline t (symbol :tag "command")))) xref-after-jump-hook #[0 "\300\207" [(recenter xref-pulse-momentarily)] 1] "Functions called after jumping to an xref." hook xref-after-return-hook #[0 "\300\207" [(xref-pulse-momentarily)] 1] "Functions called after returning to a pre-jump location."] 6)
#@48 Ring of markers to implement the marker stack.
(defvar xref--marker-ring (make-ring xref-marker-ring-length) (#$ . 17917))
#@81 Add point M (defaults to `point-marker') to the marker stack.

(fn &optional M)
(defalias 'xref-push-marker-stack #[256 "\301\206\302 \"\207" [xref--marker-ring ring-insert point-marker] 4 (#$ . 18046)])
#@62 Pop back to where \[xref-find-definitions] was last invoked.
(defalias 'xref-pop-marker-stack #[0 "\301!\203\302\303!\210\304\305\"\306\307!\206\302\310!!\210\311!b\210\211\312\211\223\210\313\314!\262\207" [xref--marker-ring ring-empty-p user-error "Marker stack is empty" ring-remove 0 switch-to-buffer marker-buffer "The marked buffer has been deleted" marker-position nil run-hooks xref-after-return-hook] 5 (#$ . 18260) nil])
(defvar xref--current-item nil)
(defalias 'xref-pulse-momentarily #[0 "\212\301!\211\205
``\\B\262\206'\302 \206'l\203#\303 `TB\202'`\304 B)\211@A\211\305\306#\266\202\207" [xref--current-item xref-match-length back-to-indentation line-beginning-position line-end-position pulse-momentary-highlight-region next-error] 9])
#@44 Discard all markers from the marker stack.
(defalias 'xref-clear-marker-stack #[0 "\301!?\205\302!\211\303\211\223\266\202\207" [xref--marker-ring ring-empty-p ring-remove nil] 5 (#$ . 19041)])
#@55 Return t if the marker stack is empty; nil otherwise.
(defalias 'xref-marker-stack-empty-p #[0 "\301!\207" [xref--marker-ring ring-empty-p] 2 (#$ . 19249)])
#@12 

(fn POS)
(defalias 'xref--goto-char #[257 "eX\203\f\211dX\204\203~\210\202\301\302!\210\211b\207" [widen-automatically user-error "Position is outside accessible part of buffer"] 3 (#$ . 19413)])
#@74 Set buffer and point according to xref-location LOCATION.

(fn LOCATION)
(defalias 'xref--goto-location #[257 "\300!\301!q\210\302!\207" [xref-location-marker marker-buffer xref--goto-char] 4 (#$ . 19626)])
#@289 Go to the location of ITEM and display the buffer.
ACTION controls how the buffer is displayed:
  nil      -- switch-to-buffer
  `window' -- pop-to-buffer (other window)
  `frame'  -- pop-to-buffer (other frame)
If SELECT is non-nil, select the target window.

(fn ITEM &optional ACTION)
(defalias 'xref--pop-to-location #[513 "\212\302\303!!)\304!\305\306\"\203\307!\210\202?\310\311\"\203'\312\313\"\210\202?\310\314\"\2039\313\312\313\"\210)\202?\315\316\317#\210\320!\266\321\322!)\207" [pop-up-frames xref--current-item xref-location-marker xref-item-location marker-buffer memql (nil) switch-to-buffer eql window pop-to-buffer t frame error "cl-ecase failed: %s, %s" (nil window frame) xref--goto-char run-hooks xref-after-jump-hook] 8 (#$ . 19843)])
#@39 The name of the buffer to show xrefs.
(defconst xref-buffer-name "*xref*" (#$ . 20627))
#@19 

(fn &rest BODY)
(defalias 'xref--with-dedicated-window '(macro . #[128 "\300\301\302\303\304BB\305BBE\207" [let* ((xref-w (get-buffer-window xref-buffer-name)) (xref-w-dedicated (window-dedicated-p xref-w))) unwind-protect progn (when xref-w (set-window-dedicated-p xref-w 'soft)) ((when xref-w (set-window-dedicated-p xref-w xref-w-dedicated)))] 7 (#$ . 20721)]))
#@63 Original window-switching intent before xref buffer creation.
(defvar xref--original-window-intent nil (#$ . 21095))
(make-variable-buffer-local 'xref--original-window-intent)
#@56 The original window this xref buffer was created from.
(defvar xref--original-window nil (#$ . 21277))
(make-variable-buffer-local 'xref--original-window)
#@168 Goto and display position POS of buffer BUF in a window.
Honor `xref--original-window-intent', run `xref-after-jump-hook'
and finally return the window.

(fn POS BUF)
(defalias 'xref--show-pos-in-buf #[514 "p\304=\206	\305>\203\306\202)\307\n!\205)\310\n!\203'\311\n!=\205)\312C\313\211\307\n!\2035\n\2067\314 !r\315\316\317\320\321!\322\"\323$\216\324@\325\"\210\326\"*\262!r\315\316\317\320\321!\327\"\323$\216\324@\325\"\210\330!\210\331\332!\210prq\210\333\303!\210\211)\210\314 *\262)\207" [xref--original-window-intent pop-up-frames xref--original-window other-window-scroll-buffer frame (window frame) t window-live-p window-dedicated-p window-buffer #[514 "\301\"\210\207" [xref--original-window set-window-buffer] 5 "\n\n(fn BUF ALIST)"] internal--before-with-selected-window selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord display-buffer [internal--after-with-selected-window] xref--goto-char run-hooks xref-after-jump-hook make-local-variable] 12 (#$ . 21439)])
#@200 Help `xref-show-xref' and `xref-goto-xref' do their job.
Go to LOCATION and if SELECT is non-nil select its window.  If
SELECT is `quit', also quit the *xref* window.

(fn LOCATION &optional SELECT)
(defalias 'xref--show-location #[513 "\3011e\302!\303!p\203(\304=\203\305\306\211\"\210r\211q\210\307\310\"!)\202a\311 r\312\313\314\315\316!\317\"\320$\216\321!\322!\312\313\323\315\316\"\324\"\325$\216\203U\326\327\"\210\310\")\266\202*\262\266\2030\207\330\331!!\207" [xref-buffer-name (user-error) xref-location-marker marker-buffer quit quit-window nil select-window xref--show-pos-in-buf internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 get-buffer-window window-dedicated-p "\300\205\302\300\301\"\207" [set-window-dedicated-p] 3 set-window-dedicated-p soft message error-message-string] 15 (#$ . 22527)])
#@72 Display the source of xref at point in the appropriate window, if any.
(defalias 'xref-show-location-at-point #[0 "\301 \211\211\205
\302\303!!)\207" [xref--current-item xref--item-at-point xref--show-location xref-item-location] 4 (#$ . 23451) nil])
#@73 Move to the next xref and display its source in the appropriate window.
(defalias 'xref-next-line #[0 "\300\301!\210\302 \207" [xref--search-property xref-item xref-show-location-at-point] 2 (#$ . 23711) nil])
#@77 Move to the previous xref and display its source in the appropriate window.
(defalias 'xref-prev-line #[0 "\300\301\302\"\210\303 \207" [xref--search-property xref-item t xref-show-location-at-point] 3 (#$ . 23927) nil])
(defalias 'xref--item-at-point #[0 "\212\300 \210\301`\302\")\207" [back-to-indentation get-text-property xref-item] 3])
#@153 Jump to the xref on the current line and select its window.
Non-interactively, non-nil QUIT means to first quit the *xref*
buffer.

(fn &optional QUIT)
(defalias 'xref-goto-xref #[256 "\300 \206\301\302!\303\304!\203\305\202\306\"\207" [xref--item-at-point user-error "No reference at point" xref--show-location xref-item-location quit t] 5 (#$ . 24276) nil])
#@56 Quit *xref* buffer, then jump to xref on current line.
(defalias 'xref-quit-and-goto-xref #[0 "\300\301!\207" [xref-goto-xref t] 2 (#$ . 24650) nil])
#@208 Perform interactive replacement of FROM with TO in all displayed xrefs.

This command interactively replaces FROM with TO in the names of the
references displayed in the current *xref* buffer.

(fn FROM TO)
(defalias 'xref-query-replace-in-results #[514 "\300\211\211C\212\301\302!\211\262\203\303!\203B\262\202)\304\305\306\307\310!\311\"\312$\216eb\210\211\313\237!\240\210\314\242#)\207" [nil xref--search-property xref-item xref-match-length make-byte-code 0 "\300\242\301!\207" vconcat vector [:cleanup] 2 xref--buf-pairs-iterator xref--query-replace-1] 11 (#$ . 24807) (byte-code "\300\301\302\"\211\300\303\304\"!D\207" [read-regexp "Xref query-replace (regexp)" ".*" format "Xref query-replace (regexp) %s with: "] 6)])
#@14 

(fn XREFS)
(defalias 'xref--buf-pairs-iterator #[257 "\211C\300C\300C\300C\300C\300C\300C\301\302\303\304\305&\306\"\307\310%\266\206\207" [nil make-byte-code 257 "\211\307\267\202\315\300\242\204\303\242\205\316\301\310\240\210\303\242\203+\304\311\303\242@!\240\210\305\303\242C\240\210\303\310\240\210\301\242\204\252\302\300\242\300\211\242A\240\210\242\240\203\252\212\312\302\242!\313!\314 \315\302\242!\\\311!\223B\306\306\242B\240\210\316!\210\317\302\242\320\321 \322 \"\"\203t\323\324!\210\202\244\304\242\204\211\304\311!\240\210\305\305\242B\240\210\202\244\304\242\311!\232\203\234\305\305\242B\240\210\202\244\301\325\240\210\303\240\210\266)\202+\304\242\305\242\237B\207\306\242\211\205\314\211@\211@\310\211\223\210\211A\310\211\223\210A\266\202\202\263\207\310\207" vconcat vector [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:next 6 :cleanup 177)) nil marker-buffer xref-item-location xref-location-marker make-marker xref-match-length xref--goto-location xref--outdated-p buffer-substring-no-properties line-beginning-position line-end-position message "Search result out of date, skipping" t] 10 "\n\n(fn ACTION)"] 20 (#$ . 25558)])
#@23 

(fn ITEM LINE-TEXT)
(defalias 'xref--outdated-p #[514 "\300!\301\211!!\232?\207" [xref-item-summary #[257 "\300\301\"\203
\302\303\304#\207\207" [string-match "
\\'" substring-no-properties 0 -1] 5 "\n\n(fn S)"]] 7 (#$ . 26807)])
#@21 

(fn FROM TO ITER)
(defalias 'xref--query-replace-1 #[771 "\305\306\305\211\211C\305C\305C\307\310\311\312\313\"\314\"\315\316%\307\317\320\312\313#\321\"\322\323%\203\207\324!\211\262\203\207\203G\325@!\210\202q\326!\327!\307\330\331\312\313\"\332\"\333$\216\203e\334\335\"\210\336@!\210)\266\306\262A\240\210\337		\306\211\305\211\f&\262\202-\204\217\340\341!\210\205\233?\205\233\342\343!+\207" [query-replace-lazy-highlight isearch-filter-predicate replace-re-search-function xref-buffer-name multi-query-replace-map nil t make-byte-code 514 "\300\242\205\300\242Y\205\211\301\242X\207" vconcat vector [] 4 "\n\n(fn BEG END)" 769 "\303\211\2043\300\242\2033\300\242\300\211\242A\240\210\242\262\301@\240\210\302A\240\210\301\242b\210\304\302\242#\203\305\262\202\207" [nil re-search-forward t] 9 "\n\n(fn FROM &optional BOUND NOERROR)" :next switch-to-buffer get-buffer-window window-dedicated-p 0 "\300\205\302\300\301\"\207" [set-window-dedicated-p] 3 set-window-dedicated-p soft pop-to-buffer perform-replace user-error "No suitable matches here" message "All results processed"] 18 (#$ . 27052)])
(defvar xref--xref-buffer-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\303#\210\301\317\305#\210\211\207" [make-sparse-keymap define-key "n" xref-next-line "p" xref-prev-line "r" xref-query-replace-in-results "
" xref-goto-xref "	" xref-quit-and-goto-xref "" xref-show-location-at-point "." ","] 5))
(defvar xref--xref-buffer-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [xref--xref-buffer-mode-hook variable-documentation put "Hook run after entering XREF mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp xref--xref-buffer-mode-map definition-name xref--xref-buffer-mode] 4)
(defvar xref--xref-buffer-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [xref--xref-buffer-mode-abbrev-table xref--xref-buffer-mode-map variable-documentation put purecopy "Keymap for `xref--xref-buffer-mode'." boundp xref--xref-buffer-mode-syntax-table definition-name xref--xref-buffer-mode (lambda (#1=#:def-tmp-var) (defvar xref--xref-buffer-mode-syntax-table #1#)) make-syntax-table "Syntax table for `xref--xref-buffer-mode'." (lambda (#1#) (defvar xref--xref-buffer-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `xref--xref-buffer-mode'." derived-mode-parent special-mode] 5)
#@254 Mode for displaying cross-references.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `xref--xref-buffer-mode-hook', as the final or penultimate step
during initialization.

\{xref--xref-buffer-mode-map}
(defalias 'xref--xref-buffer-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\307\331p)\332\333!\207" [delay-mode-hooks major-mode mode-name xref--xref-buffer-mode-map xref--xref-buffer-mode-syntax-table xref--xref-buffer-mode-abbrev-table make-local-variable t special-mode xref--xref-buffer-mode "XREF" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table xref--next-error-function run-mode-hooks xref--xref-buffer-mode-hook local-abbrev-table buffer-read-only next-error-function next-error-last-buffer] 5 (#$ . 29929) nil])
#@20 

(fn N RESET\=\?)
(defalias 'xref--next-error-function #[514 "\211\203eb\210\300W\301!\302\300\211W\203&\211\303\304\"\262\210\211T\262\202\266\211\203B\305p!\211\2038\306`\"\210\210\307\310!\311\"\202N\312\313\203L\314\202M\315\"\207" [0 abs nil xref--search-property xref-item get-buffer-window set-window-point xref--show-location xref-item-location t error "No %s xref" "previous" "next"] 11 (#$ . 31073)])
(defvar xref--button-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\306#\210\211\207" [make-sparse-keymap define-key [(control 109)] xref-goto-xref [mouse-1] [mouse-2] xref--mouse-2] 5))
#@68 Move point to the button and show the xref definition.

(fn EVENT)
(defalias 'xref--mouse-2 #[257 "\300!\210\301y\210\302\303!\210\304 \207" [mouse-set-point 0 xref--search-property xref-item xref-show-location-at-point] 3 (#$ . 31720) "e"])
#@196 Insert XREF-ALIST in the current-buffer.
XREF-ALIST is of the form ((GROUP . (XREF ...)) ...), where
GROUP is a string for decoration purposes and XREF is an
`xref-item' object.

(fn XREF-ALIST)
(defalias 'xref--insert-xrefs #[257 "\301\302!\210\211\303\211\211\211\211:\203\271\262\211A\262\242\262\211A\262\242\262\303\211:\203S@\262\304\305\306\"!\211\205<\307\310\"G\262\203I]\202J\211\266\202A\262\202%\266\202\262\205_\307\311\"\262\312\313\314#\210\303\211:\203\260\262\211A\262\242\262\211\304\315\306\"!\211\203\221\316\307\"\317\320#\202\222\321\312\322\323\324\325\326\327\257\315\330\"#\266\314c\210A\262\202j\266A\262\202\n\303\207" [xref--button-map require compile nil xref-location-line eieio-oref location format "%d" "%%%dd: " xref--insert-propertized (face compilation-info) "\n" slot-value propertize face compilation-line-number "  " xref-item mouse-face highlight keymap help-echo "mouse-2: display in another window, RET or mouse-1: follow reference" summary] 22 (#$ . 31970)])
#@104 Find common filenames in XREFS.
Return an alist of the form ((FILENAME . (XREF ...)) ...).

(fn XREFS)
(defalias 'xref--analyze #[257 "\300\301\302#\207" [xref--alistify #[257 "\300\301!!\207" [xref-location-group xref-item-location] 4 "\n\n(fn X)"] equal] 5 (#$ . 33039)])
#@20 

(fn XREFS ALIST)
(defalias 'xref--show-xref-buffer #[514 "\305!r\306!q\210\307\310\211\311 \210\312!\210\313 \210\314p!\210eb\210\315\316\"\315\317\"p+\207" [xref-buffer-name buffer-undo-list inhibit-read-only xref--original-window xref--original-window-intent xref--analyze get-buffer-create nil t erase-buffer xref--insert-xrefs xref--xref-buffer-mode pop-to-buffer assoc-default window display-action] 6 (#$ . 33321)])
#@38 Function to display a list of xrefs.
(defvar xref-show-xrefs-function 'xref--show-xref-buffer (#$ . 33761))
(defvar xref--read-identifier-history nil)
(defvar xref--read-pattern-history nil)
#@56 

(fn XREFS DISPLAY-ACTION &optional ALWAYS-SHOW-LIST)
(defalias 'xref--show-xrefs #[770 "A\204\211\204\301 \210\302@\"\207\301 \210\303\304 B\305BD\"\207" [xref-show-xrefs-function xref-push-marker-stack xref--pop-to-location window selected-window display-action] 8 (#$ . 33958)])
#@16 

(fn COMMAND)
(defalias 'xref--prompt-p #[257 "\301=\206@\302=\203\211A>?\207\211>\207" [xref-prompt-for-identifier t not] 3 (#$ . 34257)])
#@77 Return the identifier at point or read it from the minibuffer.

(fn PROMPT)
(defalias 'xref--read-identifier #[257 "\302 \303!\204\211\203\304	!\2036\305\203'\306\307\310\311\312	\"O#\202(\313!\314\211\211\315&\2027\211\207" [current-prefix-arg this-command xref-find-backend xref-backend-identifier-at-point xref--prompt-p completing-read format "%s (default %s): " 0 string-match "[ :]+\\'" xref-backend-identifier-completion-table nil xref--read-identifier-history] 11 (#$ . 34412)])
#@38 

(fn INPUT KIND ARG DISPLAY-ACTION)
(defalias 'xref--find-xrefs #[1028 "\300\301\302\"!\303 \"\211\204\304\305\306!#\210\307\"\207" [intern format "xref-backend-%s" xref-find-backend user-error "No %s found for: %s" symbol-name xref--show-xrefs] 9 (#$ . 34924)])
#@26 

(fn ID DISPLAY-ACTION)
(defalias 'xref--find-definitions #[514 "\300\301$\207" [xref--find-xrefs definitions] 7 (#$ . 35204)])
#@375 Find the definition of the identifier at point.
With prefix argument or when there's no identifier at point,
prompt for it.

If sufficient information is available to determine a unique
definition for IDENTIFIER, display it in the selected window.
Otherwise, display the list of the possible definitions in a
buffer where the user can select from the list.

(fn IDENTIFIER)
(defalias 'xref-find-definitions #[257 "\300\301\"\207" [xref--find-definitions nil] 4 (#$ . 35343) (byte-code "\300\301!C\207" [xref--read-identifier "Find definitions of: "] 2)])
#@79 Like `xref-find-definitions' but switch to the other window.

(fn IDENTIFIER)
(defalias 'xref-find-definitions-other-window #[257 "\300\301\"\207" [xref--find-definitions window] 4 (#$ . 35905) (byte-code "\300\301!C\207" [xref--read-identifier "Find definitions of: "] 2)])
#@78 Like `xref-find-definitions' but switch to the other frame.

(fn IDENTIFIER)
(defalias 'xref-find-definitions-other-frame #[257 "\300\301\"\207" [xref--find-definitions frame] 4 (#$ . 36187) (byte-code "\300\301!C\207" [xref--read-identifier "Find definitions of: "] 2)])
#@111 Find references to the identifier at point.
With prefix argument, prompt for the identifier.

(fn IDENTIFIER)
(defalias 'xref-find-references #[257 "\300\301\302$\207" [xref--find-xrefs references nil] 6 (#$ . 36467) (byte-code "\300\301!C\207" [xref--read-identifier "Find references of: "] 2)])
#@114 Find all meaningful symbols that match PATTERN.
The argument has the same meaning as in `apropos'.

(fn PATTERN)
(defalias 'xref-find-apropos #[257 "\300\301!\210\302\301\303\304!\230\203\305\306\307#\206\310\311!\202!\312$\207" [require apropos xref--find-xrefs apropos-parse-pattern regexp-quote split-string "[ 	]+" t user-error "No word list given" nil] 9 (#$ . 36773) (byte-code "\300\301\302\303#C\207" [read-string "Search for pattern (word list or regexp): " nil xref--read-pattern-history] 4)])
(defvar xref-etags-mode--saved nil)
#@99 Non-nil if Xref-Etags mode is enabled.
Use the command `xref-etags-mode' to change this variable.
(defvar xref-etags-mode nil (#$ . 37330))
(make-variable-buffer-local 'xref-etags-mode)
#@209 Minor mode to make xref use etags again.

Certain major modes install their own mechanisms for listing
identifiers and navigation.  Turn this on to undo those settings
and just use etags.

(fn &optional ARG)
(defalias 'xref-etags-mode #[256 "\303 \304=\203
?\202\305!\306V\211\203 	\307\301!\210\202&\310\301!\210\n\311\312\2030\313\2021\314\"\210\315\316!\203U\303 \203E\211\303 \232\203U\317\320\321\203P\322\202Q\323#\266\210\324 \210\207" [xref-etags-mode xref-backend-functions xref-etags-mode--saved current-message toggle prefix-numeric-value 0 kill-local-variable make-local-variable run-hooks xref-etags-mode-hook xref-etags-mode-on-hook xref-etags-mode-off-hook called-interactively-p any " in current buffer" message "Xref-Etags mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 37523) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar xref-etags-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\207" [xref-etags-mode-map xref-etags-mode-hook variable-documentation put "Hook run after entering or leaving `xref-etags-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode xref-etags-mode "" boundp nil] 6)
#@193 Collect references to SYMBOL inside DIR.
This function uses the Semantic Symbol Reference API, see
`semantic-symref-tool-alist' for details on which tools are used,
and when.

(fn SYMBOL DIR)
(defalias 'xref-collect-references #[514 "\304!\204\n\305\306!\210\307\310!\210\311\211\312\311\313\314\315\316\317\320\321\322&\323\324!\325\326\327!\"\",\207" [ede-minor-mode default-directory semantic-symref-tool case-fold-search directory-name-p cl--assertion-failed (directory-name-p dir) require semantic/symref nil detect semantic-symref-instantiate :searchfor :searchtype symbol :searchscope subdirs :resulttype line-and-text xref--convert-hits semantic-symref-perform-search format "\\_<%s\\_>" regexp-quote] 11 (#$ . 38849)])
#@174 Collect matches for REGEXP inside FILES in DIR.
FILES is a string with glob patterns separated by spaces.
IGNORES is a list of glob patterns.

(fn REGEXP FILES DIR IGNORES)
(defalias 'xref-collect-matches #[1028 "\304\305!\210\306 \210\307\310\311\312\211%\313\314\315!\316!$\n\317\320!@\211@A\211@A\211@\211\313\211rq\210\321 \210\f\322\313\312#\262eb\210edU\204Z\323!\204Z\324\325\326 #\210\327\313\312#\203x\330\331!!\331!\332`\333 \"EB\262\202Z)\334\237\"\266\202\266\203*\207" [grep-find-template grep-highlight-matches default-directory grep-regexp-alist require semantic/fw grep-compute-defaults replace-regexp-in-string "<C>" "<C> -E" t nil xref--rgrep-command xref--regexp-to-extended expand-file-name get-buffer-create " *xref-grep*" erase-buffer call-process-shell-command looking-at user-error "Search failed with status %d: %s" buffer-string re-search-forward string-to-number match-string buffer-substring-no-properties line-end-position xref--convert-hits] 23 (#$ . 39595)])
#@33 

(fn REGEXP FILES DIR IGNORES)
(defalias 'xref--rgrep-command #[1028 "\303\304!\210\305\306\307\310#)\266\203\203\311\312!\210\313	\314\315!\316\n\316\317\314\320\f!\321\n\316Q#\316\314\322!\260\314!\323\"%\207" [inhibit-changing-match-data grep-find-template find-name-arg require find-dired #1="\\`~" nil t string-match cl--assertion-failed (not (string-match-p #1# dir)) grep-expand-template shell-quote-argument "(" " " mapconcat split-string " -o " ")" xref--find-ignores-arguments] 17 (#$ . 40626)])
#@183 Convert IGNORES and DIR to a list of arguments for 'find'.
IGNORES is a list of glob patterns.  DIR is an absolute
directory, used as the root of the ignore globs.

(fn IGNORES DIR)
(defalias 'xref--find-ignores-arguments #[514 "\301\302\303\304#)\266\203\203\305\306!\210\2054\307\310!\311\312\313\314\315\316\317!\320\"\321\322%\323#\324\307\325!\326\260\207" [inhibit-changing-match-data #1="\\`~" nil t string-match cl--assertion-failed (not (string-match-p #1# dir)) shell-quote-argument "(" " -path " mapconcat make-byte-code 257 "\302\303\304\305#)\266\203\203\211\306P\262\305\307\"\203'\310\300\304\211$\262\2023\311\306\"\2043\312P\262\313!\207" vconcat vector [inhibit-changing-match-data "/\\'" nil t string-match "*" "\\`\\./" replace-match string-prefix-p "*/" shell-quote-argument] 8 "\n\n(fn IGNORE)" " -o -path " " " ")" " -prune -o "] 11 (#$ . 41156)])
#@12 

(fn STR)
(defalias 'xref--regexp-to-extended #[257 "\300\301\302\303\211%\207" [replace-regexp-in-string "\\(?:\\\\\\\\\\)*\\(?:\\\\[][]\\)?\\(?:\\[.+?\\]\\|\\(\\\\?[(){}|]\\)\\)" #[257 "\300\224\204\207\301\300\"G\302=\203\211\303\300\224O\301\300\"\300\302OP\207\211\303\300\224O\304\301\300\"Q\207" [1 match-string 2 0 "\\"] 6 "\n\n(fn STR)"] t] 7 (#$ . 42064)])
#@135 Return non-nil when STR depends on the buffer's syntax.
Such as the current syntax table and the applied syntax properties.

(fn STR)
(defalias 'xref--regexp-syntax-dependent-p #[257 "\302\303\302\304\305#)\266\203)\207" [case-fold-search inhibit-changing-match-data nil "\\(?:\\`\\|[^\\]\\)\\\\\\{2\\}*\\\\[<>BSW_bsw]" t string-match] 8 (#$ . 42447)])
(defvar xref--last-visiting-buffer nil)
(defvar xref--temp-buffer-file-name nil)
#@20 

(fn HITS REGEXP)
(defalias 'xref--convert-hits #[514 "\301\302\303!\304\305\306\307\310!\311\"\312$\216\313\304\314\315\307\310\"\316\"\317\320%\"*\207" [xref--last-visiting-buffer nil generate-new-buffer " *xref-temp*" make-byte-code 0 "\301\300!\207" vconcat vector [kill-buffer] 2 cl-mapcan 257 "\302\300\301#\207" [xref--collect-matches] 5 "\n\n(fn HIT)"] 12 (#$ . 42893)])
#@30 

(fn HIT REGEXP TMP-BUFFER)
(defalias 'xref--collect-matches #[771 "@A\211@A\211@A\305!\306\f!\2038rq\210\212eb\210Sy\210\307
\310 \311 &*\202\211rq\210\312 \210\211\203w\232\204w\313\314\315\316$\210\317\314\3201b\321\317!0\202f\210\202g\210+\322\300!\210\322\304!\210\317\312 \210c\210eb\210\307
`d&)\266\202\266\203\207" [xref--temp-buffer-file-name message-log-max inhibit-message buffer-file-name inhibit-read-only xref--find-buffer-visiting xref--regexp-syntax-dependent-p xref--collect-matches-1 line-beginning-position line-end-position erase-buffer insert-file-contents nil 0 200 t (error) set-auto-mode make-local-variable] 21 (#$ . 43288)])
#@57 

(fn REGEXP FILE LINE LINE-BEG LINE-END SYNTAX-NEEDED)
(defalias 'xref--collect-matches-1 #[1542 "\300\203	\301!\210\211\203`V\203G\302\303#\203G\304\224Z\304\225Z\305#{\306\307\303%\210\310Z#B\266\205\202	\211\237\207" [nil syntax-propertize re-search-forward t 0 xref-make-file-location add-face-text-property highlight xref-make-match] 17 (#$ . 43992)])
#@13 

(fn FILE)
(defalias 'xref--find-buffer-visiting #[257 "@\232\204
\211\301!BA\207" [xref--last-visiting-buffer find-buffer-visiting] 4 (#$ . 44388)])
(provide 'xref)