%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/semantic/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/cedet/semantic/edit.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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.

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


(require 'semantic)
#@396 Normal hook run after the buffer cache has been updated.

This hook will run when the cache has been partially reparsed.
Partial reparses are incurred when a user edits a buffer, and only the
modified sections are rescanned.

Hook functions must take one argument, which is the list of tags
updated in the current buffer.

For language specific hooks, make sure you define this as a local hook.
(defvar semantic-after-partial-cache-change-hook nil (#$ . 429))
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias semantic-change-hooks semantic-change-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 6)
#@164 Abnormal hook run when semantic detects a change in a buffer.
Each hook function must take three arguments, identical to the
common hook `after-change-functions'.
(defvar semantic-change-functions '(semantic-edits-change-function-handle-changes) (#$ . 1194))
#@195 Hooks run when a user edit is detected as needing a reparse.
For language specific hooks, make sure you define this as a local hook.
Not used yet; part of the next generation reparse mechanism.
(defvar semantic-reparse-needed-change-hook nil (#$ . 1460))
#@267 Hooks run when a user edit is detected as not needing a reparse.
If the hook returns non-nil, then declare that a reparse is needed.
For language specific hooks, make sure you define this as a local hook.
Not used yet; part of the next generation reparse mechanism.
(defvar semantic-no-reparse-needed-change-hook nil (#$ . 1722))
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias semantic-edits-new-change-hooks semantic-edits-new-change-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 6)
#@120 Abnormal hook run when a new change is found.
Functions must take one argument representing an overlay on that change.
(defvar semantic-edits-new-change-functions nil (#$ . 2377))
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias semantic-edits-delete-change-hooks semantic-edits-delete-change-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 6)
#@183 Abnormal hook run before a change overlay is deleted.
Deleted changes occur when multiple changes are merged.
Functions must take one argument representing an overlay being deleted.
(defvar semantic-edits-delete-change-functions nil (#$ . 2888))
#@208 Abnormal hook run after a change overlay is moved.
Changes move when a new change overlaps an old change.  The old change
will be moved.
Functions must take one argument representing an overlay being moved.
(defvar semantic-edits-move-change-hook nil (#$ . 3141))
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias semantic-edits-reparse-change-hooks semantic-edits-reparse-change-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 6)
#@143 Abnormal hook run after a change results in a reparse.
Functions are called before the overlay is deleted, and after the
incremental reparse.
(defvar semantic-edits-reparse-change-functions nil (#$ . 3738))
#@113 Hook run after the incremental parser fails.
When this happens, the buffer is marked as needing a full reparse.
(defvar semantic-edits-incremental-reparse-failed-hook nil (#$ . 3952))
(byte-code "\300\301\302\303#\210\304\305\306\307\310\311\312\313&\207" [semantic-varalias-obsolete semantic-edits-incremental-reparse-failed-hooks semantic-edits-incremental-reparse-failed-hook "23.2" custom-declare-variable semantic-edits-verbose-flag nil "Non-nil means the incremental parser is verbose.\nIf nil, errors are still displayed, but informative messages are not." :group semantic :type boolean] 8)
#@116 Provide a mechanism for semantic tag management.
Argument START, END, and LENGTH specify the bounds of the change.
(defalias 'semantic-change-function #[(start end length) "\306\211\307 \310\216\311\312\f
$+\207" [semantic-unmatched-syntax-cache-check inhibit-point-motion-hooks save-match-data-internal start end length t match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] run-hook-with-args semantic-change-functions] 6 (#$ . 4558)])
#@142 Find change overlays which exist in whole or in part between START and END.
Optional argument BUFFER is the buffer to search for changes in.
(defalias 'semantic-changes-in-region #[(start end &optional buffer) "\212\203q\210\305	e]\nd^\"\306\211\203+\307\f@\310\"\203$\f@B\fA\211\204\311\312\"+\207" [buffer start end ret ol overlays-in nil overlay-get semantic-change sort #[(a b) "\302!\302	!W\207" [a b overlay-start] 3]] 5 (#$ . 5044)])
#@172 Run whenever a buffer controlled by `semantic-mode' change.
Tracks when and how the buffer is re-parsed.
Argument START, END, and LENGTH specify the bounds of the change.
(defalias 'semantic-edits-change-function-handle-changes #[(start end length) "\306S	T\"\307\n\204*\310	\"\311\f\312\313#\210\3141$\315\316\f\"0\202&\210\317)\202\223\n\211\203S\320
@!W\203>\320
@!\321
@!	V\203L\321
@!
A\211\2040\322\n@	#\210\3231g\315\324\n@\"0\202k\210\202l\210\nA\211\205\222\3251\200\315\326\n@\"0\202\204\210\202\205\210\327\n@!\210\nA\211\204s\317))\207" [start end changes-in-change semantic-parse-tree-state o tmp semantic-changes-in-region needs-update make-overlay overlay-put semantic-change t (error) run-hook-with-args semantic-edits-new-change-functions nil overlay-start overlay-end move-overlay (error) semantic-edits-move-change-hooks (error) semantic-edits-delete-change-functions delete-overlay] 5 (#$ . 5507)])
#@27 Flush the CHANGE overlay.
(defalias 'semantic-edits-flush-change #[(change) "\3011\f\302\303\"0\202\210\202\210\304!\207" [change (error) run-hook-with-args semantic-edits-delete-change-functions delete-overlay] 3 (#$ . 6461)])
(put 'semantic-edits-flush-change 'byte-optimizer 'byte-compile-inline-expand)
#@42 Flush the changes in the current buffer.
(defalias 'semantic-edits-flush-changes #[nil "\302ed\"\211\205*@\3031\304\305	\"0\202\210\202\210\306	!)\210A\211\204	\307)\207" [changes change semantic-changes-in-region (error) run-hook-with-args semantic-edits-delete-change-functions delete-overlay nil] 4 (#$ . 6781)])
#@190 Return non-nil if the overlay CHANGE exists solely in one leaf tag.
HITS is the list of tags that CHANGE is in.  It can have more than
one tag in it if the leaf tag is within a parent tag.
(defalias 'semantic-edits-change-in-one-tag-p #[(change hits) "@\211\304	8)\305\n!\203\306\n!\202\n\307H*\306!W\205M@\211\304	8)\305\n!\2037\310\n!\202:\n\311H*\310!V\205MA?\206M\312A\"\207" [hits tag o change 4 overlayp overlay-start 0 overlay-end 1 semantic-edits-change-in-one-tag-p] 4 (#$ . 7117)])
#@65 For testing: Start of CHANGE, or smaller of (point) and (mark).
(defalias 'semantic-edits-os #[(change) "\203\301!\207`\302 W\203`\207\302 \207" [change overlay-start mark] 2 (#$ . 7637)])
(put 'semantic-edits-os 'byte-optimizer 'byte-compile-inline-expand)
#@62 For testing: End of CHANGE, or larger of (point) and (mark).
(defalias 'semantic-edits-oe #[(change) "\203\301!\207`\302 V\203`\207\302 \207" [change overlay-end mark] 2 (#$ . 7907)])
(put 'semantic-edits-oe 'byte-optimizer 'byte-compile-inline-expand)
#@244 A leaf tag which completely encompasses CHANGE.
If change overlaps a tag, but is not encompassed in it, return nil.
Use `semantic-edits-change-overlap-leaf-tag'.
If CHANGE is completely encompassed in a tag, but overlaps sub-tags,
return nil.
(defalias 'semantic-edits-change-leaf-tag #[(change) "\211\203\f\306!\202`\307 W\203`\202\307 )\211\203'\310!\2024`\307 V\2032`\2024\307 )\311	\n\"\237\211\205\334@\211\312\f8)\313
!\203V\306
!\202Y
\314H*	X\205\334@\211\312\f8)\313
!\203u\310
!\202x
\315H*\nV\205\334\316@!\211\204\215@\202\333\317@!\203\331	GS8\211\312\f8)\313
!\203\261\310
!\202\264
\315H*V\204\331\n@\211\312\f8)\313
!\203\321\306
!\202\324
\314H*W\205\333@)+\207" [change start end tags tag o overlay-start mark overlay-end semantic-find-tag-by-overlay-in-region 4 overlayp 0 1 semantic-tag-components semantic-tag-with-position-p chil] 4 (#$ . 8173)])
#@423 Return a cache list of tags surrounding CHANGE.
The returned list is the CONS cell in the master list pointing to
a tag just before CHANGE.  The CDR will have the tag just after CHANGE.
CHANGE cannot encompass or overlap a leaf tag.
If CHANGE is fully encompassed in a tag that has children, and
this change occurs between those children, this returns non-nil.
See `semantic-edits-change-leaf-tag' for details on parents.
(defalias 'semantic-edits-change-between-tags #[(change) "\211\203\f\306!\202`\307 W\203`\202\307 )\211\203'\310!\2024`\307 V\2032`\2024\307 )\311	\n\"\237\312\211\204J\202\367@\211\3138)\314!\203f\306!\202j\315H*	W\203\367@\211\3138)\314!\203\214\310!\202\220\316H*\nV\203\367\317@!\211\203\367\320\f@!\203\365	\fGS\f8\211\3138)\314!\203\306\310!\202\312\316H*V\204\365\n\f@\211\3138)\314!\203\354\306!\202\360\315H*W\203\367\312\f\203=
\204=\fA\2037\fA@\211\3138)\314!\203!\306!\202%\315H*\nW\2032\fA\211\202\370\321\202\367\312\211\204\373\f-\207" [change start end tags list-to-search found overlay-start mark overlay-end semantic-find-tag-by-overlay-in-region nil 4 overlayp 0 1 semantic-tag-components semantic-tag-with-position-p t semantic--buffer-cache tag o] 4 (#$ . 9112)])
#@659 Return a cache list of tags surrounding a CHANGE encompassing tags.
CHANGE must not only include all overlapped tags (excepting possible
parent tags) in their entirety.  In this case, the change may be deleting
or moving whole tags.
The return value is a vector.
Cell 0 is a list of all tags completely encompassed in change.
Cell 1 is the cons cell into a master parser cache starting with
the cell which occurs BEFORE the first position of CHANGE.
Cell 2 is the parent of cell 1, or nil for the buffer cache.
This function returns nil if any tag covered by change is not
completely encompassed.
See `semantic-edits-change-leaf-tag' for details on parents.
(defalias 'semantic-edits-change-over-tags #[(change) "\211\203\f\306!\202`\307 W\203`\202\307 )\211\203'\310!\2024`\307 V\2032`\2024\307 )\311	\n\"\237\312\211\312\211\312\205	@\211\3138)\314!\203i\306!\202m\315H*	Y\205	@\211\3138)\314!\203\217\310!\202\223\316H*\nX\205	@C@\211\3138)\314!\203\271\306!\202\275\315H*@\211\3138)\314!\203\334\310!\202\340\316H*A\211\203\331@\211\3138)\314!\203\306!\202\n\315H*	Y\203\331@\211\3138)\314!\203,\310!\2020\316H*\nX\203\331@\211\3138)\314!\203R\310!\202V\316H*V\203\252@C@\211\3138)\314!\203}\306!\202\201\315H*@\211\3138)\314!\203\240\310!\202\244\316H*\202\322@
B@\211\3138)\314!\203\313\306!\202\317\315H*A\211\204\352\204\344\202\235\203\235@\211\3138)\314!\203\306!\202\315H*	W\203\235@\211\3138)\314!\203*\310!\202.\316H*\nV\203\235@\317\f!\312\320@!\204\230	@\211\3138)\314!\203d\306!\202h\315H*W\204\230\nGS8\211\3138)\314!\203\217\310!\202\223\316H*V\203\235\312\211\205	
@\211\3138)\314!\203\276\306!\202\302\315H*\203A\203A@\211\3138)\314!\203\356\306!\202\362\315H*W\203A\211\204\305)\321
\f#.\207" [change start end tags parent overlapped-tags overlay-start mark overlay-end semantic-find-tag-by-overlay-in-region nil 4 overlayp 0 1 semantic-tag-components semantic-tag-with-position-p vector inner-start inner-end list-to-search tag o semantic--buffer-cache tokstart] 5 (#$ . 10455)])
#@184 Signal that Semantic failed to parse changes.
That is, display a message by passing all ARGS to `format-message', then throw
a `semantic-parse-changes-failed' exception with value t.
(defalias 'semantic-parse-changes-failed #[(&rest args) "\203\f\302\303\304\305	\"\"\210\306\307\310\"\207" [semantic-edits-verbose-flag args message "Semantic parse changes failed: %S" apply format-message throw semantic-parse-changes-failed t] 5 (#$ . 12852)])
#@73 When the incremental parser fails, we mark that we need a full reparse.
(defalias 'semantic-edits-incremental-fail #[nil "\302	\203
\303\304\305p!\"\210\306\307!\207" [semantic-parse-tree-state semantic-edits-verbose-flag needs-rebuild message "Force full reparse (%s)" buffer-name run-hooks semantic-edits-incremental-reparse-failed-hook] 4 (#$ . 13306)])
(put 'semantic-edits-incremental-fail 'byte-optimizer 'byte-compile-inline-expand)
#@355 Incrementally reparse the current buffer.
Incremental parser allows semantic to only reparse those sections of
the buffer that have changed.  This function depends on
`semantic-edits-change-function-handle-changes' setting up change
overlays in the current buffer.  Those overlays are analyzed against
the semantic cache to see what needs to be changed.
(defalias 'semantic-edits-incremental-parser #[nil "\3052\"\203
\306 \202!\3071\306 0\202!\310\311\312	!\"\210)\3130\211\313=\203<\314\f\2036\310\315\316p!\"\210\317\320!\210\321\n)\207" [debug-on-error err changed-tags semantic-parse-tree-state semantic-edits-verbose-flag semantic-parse-changes-failed semantic-edits-incremental-parser-1 (error) message "incremental parser error: %S" error-message-string t needs-rebuild "Force full reparse (%s)" buffer-name run-hooks semantic-edits-incremental-reparse-failed-hook nil] 5 (#$ . 13755)])
#@61 Assert that parse-start and parse-end are sorted correctly.
(defalias 'semantic-edits-assert-valid-region '(macro . #[nil "\300\207" ["Assert that parse-start and parse-end are sorted correctly."] 1 (#$ . 14669)]))
#@298 Incrementally reparse the current buffer.
Return the list of tags that changed.
If the incremental parse fails, throw a `semantic-parse-changes-failed'
exception with value t, that can be caught to schedule a full reparse.
This function is for internal use by `semantic-edits-incremental-parser'.
(defalias 'semantic-edits-incremental-parser-1 #[nil "\306\307\310ed\"\306\211\306\2118\306\2119:\306\211#;\306<\n\204)\311\312!\210\n\203\n\n\203\353
\203?\313\n@!8W\203\353\n@;@=\203L\311\314!\210\n@;B;
\204\314\315<\306=\316\n@!\211=\203\266\317<=C=\211>>\320>8)?\321?!\203\212\313?!\202\216?\322H*=\211>>\320>8)?\321?!\203\254\323?!\202\260?\324H*8\202\310\325\n@!\211:\203\326<\306\327
!@9:@\211>>\320>8)?\321?!\203\350\313?!\202\354?\322H*\323\n@!V\203!\330<e:@\211>>\320>8)?\321?!\203\313?!\202?\322H*8\202\310:@\211>>\320>8)?\321?!\203>\323?!\202B?\324H*\313\n@!U\203\331<:@\211>>\320>8)?\321?!\203k\313?!\202o?\322H*\323\n@!8:@C\202\310:A@\204\262\332<:@\211>>\320>8)?\321?!\203\246\323?!\202\252?\324H*d8\202\310\333<:@\211>>\320>8)?\321?!\203\322\323?!\202\326?\324H*:A@\211>>\320>8)?\321?!\203\366\313?!\202\372?\322H*8\202\310\334\n@!\211=\203\304\335<=\322H=\324H:=\336H9@:@=\203eG:8@e@\203[@\211>>\320>8)?\321?!\203Q\313?!\202U?\322H*8\202a\323\n@!8)\202\310:@\211>>\320>8)?\321?!\203\202\323?!\202\206?\324H*GT:8\211@\203\272@\211>>\320>8)?\321?!\203\260\313?!\202\264?\322H*8\202\300\323\n@!8)\202\310\311\337!\210)\202\344\323\n@!8W\203\334\340<\202\344\311\341\211<\342\"\210\nA\211\2041\206\361:@\343A>\344>>\345>8)A\"*#9\204\203\346@!9:\204-9\203)\3479!:\202-B:\350
8##\211\211=\203K\351=@!\210=A\211=\204<)\204`\f\204`C\203\332\352\353!\210\202\332\204\205\f\203\205\354\f9:#\210\355\f\"C\203\332\352\356\357\f@!\"\210\202\332\203\252\f\204\252\3609:#\210\355\"C\203\332\352\361\357@!\"\210\202\332G\324U\203\326\fG\324U\203\326\362@\f@\"\210@BC\203\332\352\363\357@\306\307#\"\210\202\332\311\312!\210;\203;@D\3641\361\365\366D\"0\202\365\210\202\366\210\367D!)\210;A\211;\204\337\306\202)\306E.\f\207" [changed-tags debug-on-quit changes tags newf-tags parse-start nil t semantic-changes-in-region semantic-parse-changes-failed "Don't know what to do" overlay-start "Possible infinite loop detected" "new group" semantic-edits-change-leaf-tag "Encompassed in tag" 4 overlayp 0 overlay-end 1 semantic-edits-change-between-tags "Between and not overlapping tags" semantic-find-tag-by-overlay "Beginning of buffer" "Beginning of Tag" "End of buffer" "Default" semantic-edits-change-over-tags "Overlap multiple tags" 2 "Unhandled change group" "in bounds" "overlap boundary" "Unhandled secondary change overlapping boundary" reparse-symbol plist-get 3 semantic-find-tag-parent-by-overlay semantic-tag-components semantic-parse-region semantic--tag-link-to-buffer message "White space changes" semantic-edits-splice-insert append "Inserted tags: (%s)" semantic-format-tag-name semantic-edits-splice-remove "Deleted tags: (%s)" semantic-edits-splice-replace "Update Tag Table: %s" (error) run-hook-with-args semantic-edits-delete-change-functions delete-overlay parse-end parent-tag cache-list change-group last-cond tmp tag o end-marker property semantic--buffer-cache semantic-edits-verbose-flag change semantic-parse-tree-state] 7 (#$ . 14891)])
(defalias 'semantic-parse-changes-default 'semantic-edits-incremental-parser)
#@270 Remove OLDTAGS from PARENT's CACHELIST.
OLDTAGS are tags in the current buffer, preferably linked
together also in CACHELIST.
PARENT is the parent tag containing OLDTAGS.
CACHELIST should be the children from PARENT, but may be
pre-positioned to a convenient location.
(defalias 'semantic-edits-splice-remove #[(oldtags parent cachelist) "@GS8\203\306!\202\f\307	
@=\203d\203/\310\311\312	!\"\210
\211\203G\n@=\204GA\211\2046A
@\240\210
A\241\210\204p\313\314!\210\202p\203p\310\315\312	!\"\210\203\207	A@=\204\207A\211\204u\211\203\240\n@=\204\240A\211\204\217\203\257A\241\210\202\263\313\316!\210\205\304\317@!\210A\211\204\267\307-\207" [oldtags first last parent semantic--buffer-cache chil semantic-tag-components nil message "To Remove First Tag: (%s)" semantic-format-tag-name semantic-parse-changes-failed "Splice-remove failed.  Empty buffer?" "To Remove Middle Tag: (%s)" "Splice-remove failed." semantic--tag-unlink-from-buffer cachelist cachestart cacheend semantic-edits-verbose-flag] 5 (#$ . 18556)])
#@367 Insert NEWTAGS into PARENT using CACHELIST.
PARENT could be nil, in which case CACHELIST is the buffer cache
which must be updated.
CACHELIST must be searched to find where NEWTAGS are to be inserted.
The positions of NEWTAGS must be synchronized with those in
CACHELIST for this to work.  Some routines pre-position CACHELIST at a
convenient location, so use that.
(defalias 'semantic-edits-splice-insert #[(newtags parent cachelist) "@\211\306	8)\307\n!\203\310\n!\202\n\311H*GS\233\211@\211\306	8)\307\n!\2037\312\n!\202:\n\313H*
@\211\306	8)\307\n!\203S\310\n!\202V\n\311H*V\203\210\203h\314!\202j\211@AB\f\241\210@\240\210A\241*\202\302
A\203\270

A@\211\306	8)\307\n!\203\247\310\n!\202\252\n\311H*V\203\270
A\211
\202\212\f
A\241\210
\241+\207" [newtags tag o start newtagendcell end 4 overlayp overlay-start 0 overlay-end 1 semantic-tag-components cachelist parent semantic--buffer-cache pc nc] 4 (#$ . 19665)])
#@386 Replace OLDTAG with NEWTAG in the current cache.
Do this by recycling OLDTAG's first CONS cell.  This effectively
causes the new tag to completely replace the old one.
Make sure that all information in the overlay is transferred.
It is presumed that OLDTAG and NEWTAG are both cooked.
When this routine returns, OLDTAG is raw, and the data will be
lost if not transferred into NEWTAG.
(defalias 'semantic-edits-splice-replace #[(oldtag newtag) "\306	8)\306	8)\307\n!\211\203'\310\f
@
A@#\210
AA\211\204\311!\210\312\"\210A\241\210@\240\210\310\f\313#+\207" [oldtag tag oo newtag o oo-props 4 overlay-properties overlay-put semantic--tag-unlink-from-buffer semantic--tag-copy-properties semantic] 5 (#$ . 20656)])
(byte-code "\300\301\302\"\210\303\304!\207" [add-hook semantic-before-toplevel-cache-flush-hook semantic-edits-flush-changes provide semantic/edit] 3)

Zerion Mini Shell 1.0