mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-11-21 e75a20334813452c6912c090d70a0de2c805f94d
commit | author | age
5cb5f7 1 ;ELC
C 2 ;;; Compiled
3 ;;; in Emacs version 26.1
4 ;;; with all optimizations.
5
6 ;;; This file uses dynamic docstrings, first added in Emacs 19.29.
7
8 ;;; This file does not contain utf-8 non-ASCII characters,
9 ;;; and so can be loaded in Emacs versions earlier than 23.
10
11 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13
14
15 (byte-code "\300\301!\210\302\303!\204\304\303\305\"\210\302\306!\204\304\306\307\"\210\302\310!\204'\304\310\311\312B\"\210\302\313!\2044\304\313\311\314B\"\210\302\315!\204?\304\315\316\"\210\302\317!\204J\304\317\320\"\210\302\321!\204d\304\321\322\"\210\323\324\325\"\210\323\324\326\"\210\323\324\327\"\210\300\207" [require diff fboundp characterp defalias char-valid-p region-active-p #[0 "\205    \207" [transient-mark-mode mark-active] 1] registerv-make macro #[385 "\207" #1=[] 3 "\n\n(fn DATA &rest DUMMY)"] registerv-data #[257 "\207" #1# 2 "\n\n(fn DATA)"] diff-no-select #[1282 "CCC\306\242!\204\307\242!\240\210\306\242!\204#\211\307\242!\240\210\242\204,\240\210\242<\2048\211\242C\240\210\204A\310\311!\262\312\242!\312\242!\313\314    \315\242\316\317\204\\\205\203\320\n\242;\203j\n\242\202o\321 \242!\320 \242;\203} \242\202\202\321\242!F    \206\213\n\242    \206\223\f\242D\244\"\"B\322#\nrq\210\323\324p!\210\323\325 \210)\326p!\210\327 \210\330\305!\210\331\332\333\334\335      $\336\"\337\340%\211\323\341\261\210)\204\342\343!\203\343\344    01%\345\346\"\210\347\331\332\350\334\335  \"\351\"\352\353%\"\266\202*\323\354\3550\356 \3561&!\210\203!\357!\210\203)\357!\210))\266\204\207" [diff-switches diff-command default-directory buffer-read-only inhibit-read-only revert-buffer-function bufferp expand-file-name get-buffer-create "*Diff*" diff-file-local-copy mapconcat identity append mapcar shell-quote-argument "-L" prin1-to-string " " t buffer-disable-undo erase-buffer buffer-enable-undo diff-mode make-local-variable make-byte-code 514 "\304\300\242\301\242\302\242\303p%\207" vconcat vector [diff-no-select] 8 "\n\n(fn IGNORE-AUTO NOCONFIRM)" "\n" fboundp start-process "Diff" set-process-filter diff-process-filter set-process-sentinel "r\302!q\210\303\304!!\210\300\203\305\300!\210\301\205\305\301!)\207" [process-buffer diff-sentinel process-exit-status delete-file] 5 "\n\n(fn PROC MSG)" diff-sentinel call-process nil delete-file shell-file-name shell-command-switch] 22 "\n\n(fn OLD NEW &optional SWITCHES NO-ASYNC BUF)"] diff-file-local-copy #[257 "\300!\203r\211q\210\301\302!\303\304\211\304\305%\210\211\262)\207\306!\207" [bufferp make-temp-file "buffer-content-" write-region nil nomessage file-local-copy] 8 "\n\n(fn FILE-OR-BUF)"] user-error error add-to-list debug-ignored-errors "^No further undo information" "^No further redo information" "^No further redo information for region"] 4)
16 #@41 Tree of undo entries in current buffer.
17 (defvar buffer-undo-tree nil (#$ . 2951))
18 (byte-code "\301\302\303\304#\210\305\302!\210\306\307\310\311\312\313%\210\314\315\316\317\320DD\321\312\307\322\323&\210\314\324\316\317\325DD\326\312\307\322\327&\210\314\330\316\317\331DD\332\312\307\322\333&\210\314\334\316\317\335DD\336\312\307\322\337\340!\341\"\203W\342\202X\333&\210\314\343\316\317\344DD\345\312\307\322\346&\210\314\347\316\317\350DD\351\312\307\322\333&\210\314\352\316\317\353DD\354\312\307\322\333&\210\314\355\316\317\356DD\357\312\307\322\333&\210\314\360\316\317\361DD\362\312\307\322\363&\210\364\365\366\367\312\307%\210\364\370\371\372\312\307%\210\364\373\374\375\312\307%\210\364\376\377\201@\312\307%\210\364\201A\201B\201C\312\307%\207" [emacs-version put buffer-undo-tree permanent-local t make-variable-buffer-local custom-declare-group undo-tree nil "Tree undo/redo." :group undo custom-declare-variable undo-tree-mode-lighter funcall function #[0 "\300\207" [#1=" Undo-Tree"] 1 #1#] "Lighter displayed in mode line\nwhen `undo-tree-mode' is enabled." :type string undo-tree-incompatible-major-modes #[0 "\300\207" [(term-mode)] 1] "List of major-modes in which `undo-tree-mode' should not be enabled.\n(See `turn-on-undo-tree-mode'.)" (repeat symbol) undo-tree-enable-undo-in-region #[0 "\300\207" [t] 1] "When non-nil, enable undo-in-region.\n\nWhen undo-in-region is enabled, undoing or redoing when the\nregion is active (in `transient-mark-mode') or with a prefix\nargument (not in `transient-mark-mode') only undoes changes\nwithin the current region." boolean undo-tree-auto-save-history #[0 "\300\207" [nil] 1] "When non-nil, `undo-tree-mode' will save undo history to file\nwhen a buffer is saved to file.\n\nIt will automatically load undo history when a buffer is loaded\nfrom file, if an undo save file exists.\n\nBy default, undo-tree history is saved to a file called\n\".<buffer-file-name>.~undo-tree~\" in the same directory as the\nfile itself. To save under a different directory, customize\n`undo-tree-history-directory-alist' (see the documentation for\nthat variable for details).\n\nWARNING! `undo-tree-auto-save-history' will not work properly in\nEmacs versions prior to 24.3, so it cannot be enabled via\nthe customization interface in versions earlier than that one. To\nignore this warning and enable it regardless, set\n`undo-tree-auto-save-history' to a non-nil value outside of\ncustomize." version-list-< version-to-list (24 3) (choice (const :tag "<disabled>" nil)) undo-tree-history-directory-alist #[0 "\300\207" [nil] 1] "Alist of filename patterns and undo history directory names.\nEach element looks like (REGEXP . DIRECTORY).  Undo history for\nfiles with names matching REGEXP will be saved in DIRECTORY.\nDIRECTORY may be relative or absolute.  If it is absolute, so\nthat all matching files are backed up into the same directory,\nthe file names in this directory will be the full name of the\nfile backed up with all directory separators changed to `!' to\nprevent clashes.  This will not work correctly if your filesystem\ntruncates the resulting name.\n\nFor the common case of all backups going into one directory, the\nalist should contain a single element pairing \".\" with the\nappropriate directory name.\n\nIf this variable is nil, or it fails to match a filename, the\nbackup is made in the original file's directory.\n\nOn MS-DOS filesystems without long names this variable is always\nignored." (repeat (cons (regexp :tag "Regexp matching filename") (directory :tag "Undo history directory name"))) undo-tree-visualizer-relative-timestamps #[0 "\300\207" [t] 1] "When non-nil, display times relative to current time\nwhen displaying time stamps in visualizer.\n\nOtherwise, display absolute times." undo-tree-visualizer-timestamps #[0 "\300\207" [nil] 1] "When non-nil, display time-stamps by default\nin undo-tree visualizer.\n\n\\<undo-tree-visualizer-mode-map>You can always toggle time-stamps on and off using \\[undo-tree-visualizer-toggle-timestamps], regardless of the\nsetting of this variable." undo-tree-visualizer-diff #[0 "\300\207" [nil] 1] "When non-nil, display diff by default in undo-tree visualizer.\n\n\\<undo-tree-visualizer-mode-map>You can always toggle the diff display using \\[undo-tree-visualizer-toggle-diff], regardless of the\nsetting of this variable." undo-tree-visualizer-lazy-drawing #[0 "\300\207" [100] 1] "When non-nil, use lazy undo-tree drawing in visualizer.\n\nSetting this to a number causes the visualizer to switch to lazy\ndrawing when the number of nodes in the tree is larger than this\nvalue.\n\nLazy drawing means that only the visible portion of the tree will\nbe drawn initially, and the tree will be extended later as\nneeded. For the most part, the only visible effect of this is to\nsignificantly speed up displaying the visualizer for very large\ntrees.\n\nThere is one potential negative effect of lazy drawing. Other\nbranches of the tree will only be drawn once the node from which\nthey branch off becomes visible. So it can happen that certain\nportions of the tree that would be shown with lazy drawing\ndisabled, will not be drawn immediately when it is\nenabled. However, this effect is quite rare in practice." (choice (const :tag "never" nil) (const :tag "always" t) (integer :tag "> size")) custom-declare-face undo-tree-visualizer-default-face ((((class color)) :foreground "gray")) "Face used to draw undo-tree in visualizer." undo-tree-visualizer-current-face ((((class color)) :foreground "red")) "Face used to highlight current undo-tree node in visualizer." undo-tree-visualizer-active-branch-face ((((class color) (background dark)) (:foreground "white" :weight bold)) (((class color) (background light)) (:foreground "black" :weight bold))) "Face used to highlight active undo-tree branch in visualizer." undo-tree-visualizer-register-face ((((class color)) :foreground "yellow")) "Face used to highlight undo-tree nodes saved to a register\nin visualizer." undo-tree-visualizer-unmodified-face ((((class color)) :foreground "cyan")) "Face used to highlight nodes corresponding to unmodified buffers\nin visualizer."] 10)
19 #@30 Parent buffer in visualizer.
20 (defvar undo-tree-visualizer-parent-buffer nil (#$ . 9149))
21 (byte-code "\300\301\302\303#\210\304\301!\207" [put undo-tree-visualizer-parent-buffer permanent-local t make-variable-buffer-local] 4)
22 (defvar undo-tree-visualizer-parent-mtime nil)
23 (byte-code "\300\301\302\303#\210\304\301!\207" [put undo-tree-visualizer-parent-mtime permanent-local t make-variable-buffer-local] 4)
24 (defvar undo-tree-visualizer-spacing nil)
25 (byte-code "\300\301\302\303#\210\304\301!\207" [put undo-tree-visualizer-spacing permanent-local t make-variable-buffer-local] 4)
26 (defalias 'undo-tree-visualizer-calculate-spacing #[0 "\203\f    \203\n\302\207\303\207\304\207" [undo-tree-visualizer-timestamps undo-tree-visualizer-relative-timestamps 9 13 3] 1])
27 (put 'undo-tree-visualizer-calculate-spacing 'byte-optimizer 'byte-compile-inline-expand)
28 (defvar undo-tree-visualizer-initial-node nil)
29 (byte-code "\300\301\302\303#\210\304\301!\207" [put undo-tree-visualizer-initial-node permanent-local t make-variable-buffer-local] 4)
30 (defvar undo-tree-visualizer-selected-node nil)
31 (byte-code "\300\301\302\303#\210\304\305!\207" [put undo-tree-visualizer-selected-node permanent-local t make-variable-buffer-local undo-tree-visualizer-selected] 4)
32 (defvar undo-tree-visualizer-needs-extending-down nil)
33 (byte-code "\300\301\302\303#\210\304\301!\207" [put undo-tree-visualizer-needs-extending-down permanent-local t make-variable-buffer-local] 4)
34 (defvar undo-tree-visualizer-needs-extending-up nil)
35 (byte-code "\300\301\302\303#\210\304\301!\207" [put undo-tree-visualizer-needs-extending-up permanent-local t make-variable-buffer-local] 4)
36 (defvar undo-tree-inhibit-kill-visualizer nil)
37 (defvar undo-tree-insert-face nil)
38 (defconst undo-tree-visualizer-buffer-name " *undo-tree*")
39 (defconst undo-tree-diff-buffer-name "*undo-tree Diff*")
40 (byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook write-file-functions undo-tree-save-history-hook find-file-hook undo-tree-load-history-hook] 3)
41 #@32 Keymap used in undo-tree-mode.
42 (defvar undo-tree-map nil (#$ . 11156))
43 (byte-code "\204C\301 \302\303\304#\210\302\305\304#\210\302\306\304#\210\302\307\304#\210\302\310\311#\210\302\312\311#\210\302\313\311#\210\302\314\315#\210\302\316\317#\210\302\320\321#\210\301\207" [undo-tree-map make-sparse-keymap define-key [remap undo] undo-tree-undo [remap undo-only] [67108911] "" [67108927] undo-tree-redo [134217823] [remap redo] "u" undo-tree-visualize "ru" undo-tree-save-state-to-register "rU" undo-tree-restore-state-from-register] 5)
44 #@38 Keymap used in undo-tree visualizer.
45 (defvar undo-tree-visualizer-mode-map nil (#$ . 11717))
46 (byte-code "\204\323\301 \302\303\304#\210\302\305\306#\210\302\307\304#\210\302\310\304#\210\302\311\304#\210\302\312\306#\210\302\313\306#\210\302\314\306#\210\302\315\316#\210\302\317\320#\210\302\321\316#\210\302\322\316#\210\302\323\316#\210\302\324\320#\210\302\325\320#\210\302\326\320#\210\302\327\330#\210\302\331\332#\210\302\333\330#\210\302\334\332#\210\302\335\330#\210\302\336\332#\210\302\337\340#\210\302\341\342#\210\302\343\344#\210\302\345\346#\210\302\347\350#\210\302\351\352#\210\302\353\350#\210\302\354\352#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\301\207" [undo-tree-visualizer-mode-map make-sparse-keymap define-key [remap previous-line] undo-tree-visualize-undo [remap next-line] undo-tree-visualize-redo [up] "p" "" [down] "n" "" [remap forward-char] undo-tree-visualize-switch-branch-right [remap backward-char] undo-tree-visualize-switch-branch-left [right] "f" "" [left] "b" "" [remap backward-paragraph] undo-tree-visualize-undo-to-x [remap forward-paragraph] undo-tree-visualize-redo-to-x "\373" "\375" [C-up] [C-down] [mouse-1] undo-tree-visualizer-mouse-set "t" undo-tree-visualizer-toggle-timestamps "d" undo-tree-visualizer-toggle-diff "s" undo-tree-visualizer-selection-mode "," undo-tree-visualizer-scroll-left "." undo-tree-visualizer-scroll-right "<" ">" [next] undo-tree-visualizer-scroll-up [prior] undo-tree-visualizer-scroll-down "q" undo-tree-visualizer-quit "" undo-tree-visualizer-abort] 5)
47 #@53 Keymap used in undo-tree visualizer selection mode.
48 (defvar undo-tree-visualizer-selection-mode-map nil (#$ . 13329))
49 (byte-code "\204\235\301 \302\303\304#\210\302\305\306#\210\302\307\304#\210\302\310\304#\210\302\311\304#\210\302\312\306#\210\302\313\306#\210\302\314\306#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\322#\210\302\326\322#\210\302\327\322#\210\302\330\324#\210\302\331\324#\210\302\332\324#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\344#\210\302\345\346#\210\302\347\350#\210\301\207" [undo-tree-visualizer-selection-mode-map make-sparse-keymap define-key [remap previous-line] undo-tree-visualizer-select-previous [remap next-line] undo-tree-visualizer-select-next [up] "p" "" [down] "n" "" [next] #[0 "\300\301!\207" [undo-tree-visualizer-select-next 10] 2 nil nil] [prior] #[0 "\300\301!\207" [undo-tree-visualizer-select-previous 10] 2 nil nil] [remap forward-char] undo-tree-visualizer-select-right [remap backward-char] undo-tree-visualizer-select-left [right] "f" "" [left] "b" "" "," #[0 "\300\301!\207" [undo-tree-visualizer-select-left 10] 2 nil nil] "." #[0 "\300\301!\207" [undo-tree-visualizer-select-right 10] 2 nil nil] "<" #[0 "\300\301!\207" [undo-tree-visualizer-select-left 10] 2 nil nil] ">" #[0 "\300\301!\207" [undo-tree-visualizer-select-right 10] 2 nil nil] " " undo-tree-visualizer-set [mouse-1] undo-tree-visualizer-mouse-select "d" undo-tree-visualizer-selection-toggle-diff] 5)
50 (defvar undo-tree-old-undo-menu-item nil)
51 #@42 Update `undo-tree-mode' Edit menu items.
52 (defalias 'undo-tree-update-menu-bar #[0 "\203\303\304    \305\"\236A\306\304    \307\"\310\311#\210\312\304    \313\"\314\315\303$\207\306\304    \316\"\317\n#\210\306\304    \320\"\321\322#\207" [undo-tree-mode global-map undo-tree-old-undo-menu-item undo lookup-key [menu-bar edit] define-key [menu-bar edit] [undo] (menu-item "Undo" undo-tree-undo :enable (and undo-tree-mode (not buffer-read-only) (not (eq t buffer-undo-list)) (undo-tree-node-previous (undo-tree-current buffer-undo-tree))) :help "Undo last operation") define-key-after [menu-bar edit] [redo] (menu-item "Redo" undo-tree-redo :enable (and undo-tree-mode (not buffer-read-only) (not (eq t buffer-undo-list)) (undo-tree-node-next (undo-tree-current buffer-undo-tree))) :help "Redo last operation") [menu-bar edit] [undo] [menu-bar edit] [redo] nil] 5 (#$ . 14908)])
53 (add-hook 'menu-bar-update-hook 'undo-tree-update-menu-bar)
54 #@68 compiler-macro for inlining `undo-tree-p'.
55
56 (fn CL-WHOLE-ARG CL-X)
57 (defalias 'undo-tree-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-p (and (memq (type-of cl-x) cl-struct-undo-tree-tags) t)) nil] 9 (#$ . 15841)])
58 (put 'undo-tree-p 'compiler-macro 'undo-tree-p--cmacro)
59 #@13 
60
61 (fn CL-X)
62 (defalias 'undo-tree-p #[257 "\301!>\205    \302\207" [cl-struct-undo-tree-tags type-of t] 3 (#$ . 16170)])
63 (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put undo-tree-p side-effect-free error-free put undo-tree cl-deftype-satisfies] 5)
64 #@71 compiler-macro for inlining `undo-tree-root'.
65
66 (fn CL-WHOLE-ARG CL-X)
67 (defalias 'undo-tree-root--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-root (or (undo-tree-p cl-x) (signal 'wrong-type-argument (list 'undo-tree cl-x))) (aref cl-x 1)) nil] 9 (#$ . 16441)])
68 (put 'undo-tree-root 'compiler-macro 'undo-tree-root--cmacro)
69 #@268 Access slot "root" of `(undo-tree :named (:constructor nil) (:constructor make-undo-tree (&aux (root (undo-tree-make-node nil nil)) (current root) (size 0) (count 0) (object-pool (make-hash-table :test (quote eq) :weakness (quote value))))))' struct CL-X.
70
71 (fn CL-X)
72 (defalias 'undo-tree-root #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 1] 5 (#$ . 16822)])
73 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-root side-effect-free t] 4)
74 #@74 compiler-macro for inlining `undo-tree-current'.
75
76 (fn CL-WHOLE-ARG CL-X)
77 (defalias 'undo-tree-current--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-current (or (undo-tree-p cl-x) (signal 'wrong-type-argument (list 'undo-tree cl-x))) (aref cl-x 2)) nil] 9 (#$ . 17359)])
78 (put 'undo-tree-current 'compiler-macro 'undo-tree-current--cmacro)
79 #@271 Access slot "current" of `(undo-tree :named (:constructor nil) (:constructor make-undo-tree (&aux (root (undo-tree-make-node nil nil)) (current root) (size 0) (count 0) (object-pool (make-hash-table :test (quote eq) :weakness (quote value))))))' struct CL-X.
80
81 (fn CL-X)
82 (defalias 'undo-tree-current #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 2] 5 (#$ . 17755)])
83 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-current side-effect-free t] 4)
84 #@71 compiler-macro for inlining `undo-tree-size'.
85
86 (fn CL-WHOLE-ARG CL-X)
87 (defalias 'undo-tree-size--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-size (or (undo-tree-p cl-x) (signal 'wrong-type-argument (list 'undo-tree cl-x))) (aref cl-x 3)) nil] 9 (#$ . 18301)])
88 (put 'undo-tree-size 'compiler-macro 'undo-tree-size--cmacro)
89 #@268 Access slot "size" of `(undo-tree :named (:constructor nil) (:constructor make-undo-tree (&aux (root (undo-tree-make-node nil nil)) (current root) (size 0) (count 0) (object-pool (make-hash-table :test (quote eq) :weakness (quote value))))))' struct CL-X.
90
91 (fn CL-X)
92 (defalias 'undo-tree-size #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 3] 5 (#$ . 18682)])
93 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-size side-effect-free t] 4)
94 #@72 compiler-macro for inlining `undo-tree-count'.
95
96 (fn CL-WHOLE-ARG CL-X)
97 (defalias 'undo-tree-count--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-count (or (undo-tree-p cl-x) (signal 'wrong-type-argument (list 'undo-tree cl-x))) (aref cl-x 4)) nil] 9 (#$ . 19219)])
98 (put 'undo-tree-count 'compiler-macro 'undo-tree-count--cmacro)
99 #@269 Access slot "count" of `(undo-tree :named (:constructor nil) (:constructor make-undo-tree (&aux (root (undo-tree-make-node nil nil)) (current root) (size 0) (count 0) (object-pool (make-hash-table :test (quote eq) :weakness (quote value))))))' struct CL-X.
100
101 (fn CL-X)
102 (defalias 'undo-tree-count #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 4] 5 (#$ . 19605)])
103 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-count side-effect-free t] 4)
104 #@78 compiler-macro for inlining `undo-tree-object-pool'.
105
106 (fn CL-WHOLE-ARG CL-X)
107 (defalias 'undo-tree-object-pool--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-object-pool (or (undo-tree-p cl-x) (signal 'wrong-type-argument (list 'undo-tree cl-x))) (aref cl-x 5)) nil] 9 (#$ . 20145)])
108 (put 'undo-tree-object-pool 'compiler-macro 'undo-tree-object-pool--cmacro)
109 #@275 Access slot "object-pool" of `(undo-tree :named (:constructor nil) (:constructor make-undo-tree (&aux (root (undo-tree-make-node nil nil)) (current root) (size 0) (count 0) (object-pool (make-hash-table :test (quote eq) :weakness (quote value))))))' struct CL-X.
110
111 (fn CL-X)
112 (defalias 'undo-tree-object-pool #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 5] 5 (#$ . 20561)])
113 (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put undo-tree-object-pool side-effect-free t defalias copy-undo-tree copy-sequence] 4)
114 #@46 Constructor for objects of type `undo-tree'.
115 (defalias 'make-undo-tree #[0 "\300\301\211\"\211\302\211\303\304\305\306\307$\310\311&\207" [undo-tree-make-node nil 0 make-hash-table :test eq :weakness value record undo-tree] 12 (#$ . 21167)])
116 (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&    \207" [function-put make-undo-tree side-effect-free t cl-struct-define undo-tree nil cl-structure-object record ((cl-tag-slot) (root) (current) (size) (count) (object-pool)) cl-struct-undo-tree-tags] 11)
117 #@80 compiler-macro for inlining `undo-tree-node-previous'.
118
119 (fn CL-WHOLE-ARG CL-X)
120 (defalias 'undo-tree-node-previous--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-previous (aref cl-x 0)) nil] 9 (#$ . 21701)])
121 (put 'undo-tree-node-previous 'compiler-macro 'undo-tree-node-previous--cmacro)
122 #@371 Access slot "previous" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
123
124 (fn CL-X)
125 (defalias 'undo-tree-node-previous #[257 "\211\300H\207" [0] 3 (#$ . 22050)])
126 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-previous side-effect-free t] 4)
127 #@76 compiler-macro for inlining `undo-tree-node-next'.
128
129 (fn CL-WHOLE-ARG CL-X)
130 (defalias 'undo-tree-node-next--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-next (aref cl-x 1)) nil] 9 (#$ . 22604)])
131 (put 'undo-tree-node-next 'compiler-macro 'undo-tree-node-next--cmacro)
132 #@367 Access slot "next" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
133
134 (fn CL-X)
135 (defalias 'undo-tree-node-next #[257 "\211\300H\207" [1] 3 (#$ . 22933)])
136 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-next side-effect-free t] 4)
137 #@76 compiler-macro for inlining `undo-tree-node-undo'.
138
139 (fn CL-WHOLE-ARG CL-X)
140 (defalias 'undo-tree-node-undo--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-undo (aref cl-x 2)) nil] 9 (#$ . 23475)])
141 (put 'undo-tree-node-undo 'compiler-macro 'undo-tree-node-undo--cmacro)
142 #@367 Access slot "undo" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
143
144 (fn CL-X)
145 (defalias 'undo-tree-node-undo #[257 "\211\300H\207" [2] 3 (#$ . 23804)])
146 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-undo side-effect-free t] 4)
147 #@76 compiler-macro for inlining `undo-tree-node-redo'.
148
149 (fn CL-WHOLE-ARG CL-X)
150 (defalias 'undo-tree-node-redo--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-redo (aref cl-x 3)) nil] 9 (#$ . 24346)])
151 (put 'undo-tree-node-redo 'compiler-macro 'undo-tree-node-redo--cmacro)
152 #@367 Access slot "redo" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
153
154 (fn CL-X)
155 (defalias 'undo-tree-node-redo #[257 "\211\300H\207" [3] 3 (#$ . 24675)])
156 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-redo side-effect-free t] 4)
157 #@81 compiler-macro for inlining `undo-tree-node-timestamp'.
158
159 (fn CL-WHOLE-ARG CL-X)
160 (defalias 'undo-tree-node-timestamp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-timestamp (aref cl-x 4)) nil] 9 (#$ . 25217)])
161 (put 'undo-tree-node-timestamp 'compiler-macro 'undo-tree-node-timestamp--cmacro)
162 #@372 Access slot "timestamp" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
163
164 (fn CL-X)
165 (defalias 'undo-tree-node-timestamp #[257 "\211\300H\207" [4] 3 (#$ . 25571)])
166 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-timestamp side-effect-free t] 4)
167 #@78 compiler-macro for inlining `undo-tree-node-branch'.
168
169 (fn CL-WHOLE-ARG CL-X)
170 (defalias 'undo-tree-node-branch--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-branch (aref cl-x 5)) nil] 9 (#$ . 26128)])
171 (put 'undo-tree-node-branch 'compiler-macro 'undo-tree-node-branch--cmacro)
172 #@369 Access slot "branch" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
173
174 (fn CL-X)
175 (defalias 'undo-tree-node-branch #[257 "\211\300H\207" [5] 3 (#$ . 26467)])
176 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-branch side-effect-free t] 4)
177 #@81 compiler-macro for inlining `undo-tree-node-meta-data'.
178
179 (fn CL-WHOLE-ARG CL-X)
180 (defalias 'undo-tree-node-meta-data--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-node-meta-data (aref cl-x 6)) nil] 9 (#$ . 27015)])
181 (put 'undo-tree-node-meta-data 'compiler-macro 'undo-tree-node-meta-data--cmacro)
182 #@372 Access slot "meta-data" of `(undo-tree-node (:type vector) (:constructor nil) (:constructor undo-tree-make-node (previous undo &optional redo &aux (timestamp (current-time)) (branch 0))) (:constructor undo-tree-make-node-backwards (next-node undo &optional redo &aux (next (list next-node)) (timestamp (current-time)) (branch 0))) (:copier nil))' struct CL-X.
183
184 (fn CL-X)
185 (defalias 'undo-tree-node-meta-data #[257 "\211\300H\207" [6] 3 (#$ . 27369)])
186 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-meta-data side-effect-free t] 4)
187 #@87 Constructor for objects of type `undo-tree-node'.
188
189 (fn NEXT-NODE UNDO &optional REDO)
190 (defalias 'undo-tree-make-node-backwards #[898 "C\300 \301\203\302\303\304\305G\\D\"\210\306\307\307&\207" [current-time 0 signal wrong-number-of-arguments undo-tree-make-node-backwards 3 vector nil] 15 (#$ . 27926)])
191 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-make-node-backwards side-effect-free t] 4)
192 #@110 compiler-macro for inlining `undo-tree-make-node'.
193
194 (fn CL-WHOLE-ARG &cl-quote PREVIOUS UNDO &optional REDO)
195 (defalias 'undo-tree-make-node--cmacro #[1155 "\300\301\203\302\303\304\305G\\D\"\210\306\307\310\311\211\211   \n\n&\n\207" [(current-time) 0 signal wrong-number-of-arguments undo-tree-make-node--cmacro 4 cl--defsubst-expand (previous undo redo timestamp branch) (cl-block undo-tree-make-node (vector previous nil undo redo timestamp branch nil)) nil] 18 (#$ . 28359)])
196 (put 'undo-tree-make-node 'compiler-macro 'undo-tree-make-node--cmacro)
197 #@86 Constructor for objects of type `undo-tree-node'.
198
199 (fn PREVIOUS UNDO &optional REDO)
200 (defalias 'undo-tree-make-node #[898 "\300 \301\203\302\303\304\305G\\D\"\210\306\307\307&\207" [current-time 0 signal wrong-number-of-arguments undo-tree-make-node 3 vector nil] 14 (#$ . 28927)])
201 (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306&    \207" [function-put undo-tree-make-node side-effect-free t cl-struct-define undo-tree-node nil vector ((previous) (next) (undo) (redo) (timestamp) (branch) (meta-data)) cl-struct-undo-tree-node-tags] 11)
202 #@10 
203
204 (fn N)
205 (defalias 'undo-tree-node-p '(macro . #[257 "\300\301\211\211\211\302 \303\301&G\304\305D\306\307DEE\207" [vector nil current-time 0 and vectorp = length] 9 (#$ . 29506)]))
206 #@93 compiler-macro for inlining `undo-tree-region-data-undo-beginning'.
207
208 (fn CL-WHOLE-ARG CL-X)
209 (defalias 'undo-tree-region-data-undo-beginning--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-region-data-undo-beginning (aref cl-x 0)) nil] 9 (#$ . 29698)])
210 (put 'undo-tree-region-data-undo-beginning 'compiler-macro 'undo-tree-region-data-undo-beginning--cmacro)
211 #@379 Access slot "undo-beginning" of `(undo-tree-region-data (:type vector) (:constructor nil) (:constructor undo-tree-make-region-data (&optional undo-beginning undo-end redo-beginning redo-end)) (:constructor undo-tree-make-undo-region-data (undo-beginning undo-end)) (:constructor undo-tree-make-redo-region-data (redo-beginning redo-end)) (:copier nil))' struct CL-X.
212
213 (fn CL-X)
214 (defalias 'undo-tree-region-data-undo-beginning #[257 "\211\300H\207" [0] 3 (#$ . 30112)])
215 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-region-data-undo-beginning side-effect-free t] 4)
216 #@87 compiler-macro for inlining `undo-tree-region-data-undo-end'.
217
218 (fn CL-WHOLE-ARG CL-X)
219 (defalias 'undo-tree-region-data-undo-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-region-data-undo-end (aref cl-x 1)) nil] 9 (#$ . 30700)])
220 (put 'undo-tree-region-data-undo-end 'compiler-macro 'undo-tree-region-data-undo-end--cmacro)
221 #@373 Access slot "undo-end" of `(undo-tree-region-data (:type vector) (:constructor nil) (:constructor undo-tree-make-region-data (&optional undo-beginning undo-end redo-beginning redo-end)) (:constructor undo-tree-make-undo-region-data (undo-beginning undo-end)) (:constructor undo-tree-make-redo-region-data (redo-beginning redo-end)) (:copier nil))' struct CL-X.
222
223 (fn CL-X)
224 (defalias 'undo-tree-region-data-undo-end #[257 "\211\300H\207" [1] 3 (#$ . 31084)])
225 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-region-data-undo-end side-effect-free t] 4)
226 #@93 compiler-macro for inlining `undo-tree-region-data-redo-beginning'.
227
228 (fn CL-WHOLE-ARG CL-X)
229 (defalias 'undo-tree-region-data-redo-beginning--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-region-data-redo-beginning (aref cl-x 2)) nil] 9 (#$ . 31654)])
230 (put 'undo-tree-region-data-redo-beginning 'compiler-macro 'undo-tree-region-data-redo-beginning--cmacro)
231 #@379 Access slot "redo-beginning" of `(undo-tree-region-data (:type vector) (:constructor nil) (:constructor undo-tree-make-region-data (&optional undo-beginning undo-end redo-beginning redo-end)) (:constructor undo-tree-make-undo-region-data (undo-beginning undo-end)) (:constructor undo-tree-make-redo-region-data (redo-beginning redo-end)) (:copier nil))' struct CL-X.
232
233 (fn CL-X)
234 (defalias 'undo-tree-region-data-redo-beginning #[257 "\211\300H\207" [2] 3 (#$ . 32068)])
235 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-region-data-redo-beginning side-effect-free t] 4)
236 #@87 compiler-macro for inlining `undo-tree-region-data-redo-end'.
237
238 (fn CL-WHOLE-ARG CL-X)
239 (defalias 'undo-tree-region-data-redo-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-region-data-redo-end (aref cl-x 3)) nil] 9 (#$ . 32656)])
240 (put 'undo-tree-region-data-redo-end 'compiler-macro 'undo-tree-region-data-redo-end--cmacro)
241 #@373 Access slot "redo-end" of `(undo-tree-region-data (:type vector) (:constructor nil) (:constructor undo-tree-make-region-data (&optional undo-beginning undo-end redo-beginning redo-end)) (:constructor undo-tree-make-undo-region-data (undo-beginning undo-end)) (:constructor undo-tree-make-redo-region-data (redo-beginning redo-end)) (:copier nil))' struct CL-X.
242
243 (fn CL-X)
244 (defalias 'undo-tree-region-data-redo-end #[257 "\211\300H\207" [3] 3 (#$ . 33040)])
245 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-region-data-redo-end side-effect-free t] 4)
246 #@107 compiler-macro for inlining `undo-tree-make-redo-region-data'.
247
248 (fn CL-WHOLE-ARG REDO-BEGINNING REDO-END)
249 (defalias 'undo-tree-make-redo-region-data--cmacro #[771 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (redo-beginning redo-end) (cl-block undo-tree-make-redo-region-data (vector nil nil redo-beginning redo-end)) nil] 11 (#$ . 33611)])
250 (put 'undo-tree-make-redo-region-data 'compiler-macro 'undo-tree-make-redo-region-data--cmacro)
251 #@88 Constructor for objects of type `undo-tree-region-data'.
252
253 (fn REDO-BEGINNING REDO-END)
254 (defalias 'undo-tree-make-redo-region-data #[514 "\300\301\211$\207" [vector nil] 7 (#$ . 34067)])
255 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-make-redo-region-data side-effect-free t] 4)
256 #@107 compiler-macro for inlining `undo-tree-make-undo-region-data'.
257
258 (fn CL-WHOLE-ARG UNDO-BEGINNING UNDO-END)
259 (defalias 'undo-tree-make-undo-region-data--cmacro #[771 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (undo-beginning undo-end) (cl-block undo-tree-make-undo-region-data (vector undo-beginning undo-end nil nil)) nil] 11 (#$ . 34370)])
260 (put 'undo-tree-make-undo-region-data 'compiler-macro 'undo-tree-make-undo-region-data--cmacro)
261 #@88 Constructor for objects of type `undo-tree-region-data'.
262
263 (fn UNDO-BEGINNING UNDO-END)
264 (defalias 'undo-tree-make-undo-region-data #[514 "\300\301\211$\207" [vector nil] 7 (#$ . 34826)])
265 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-make-undo-region-data side-effect-free t] 4)
266 #@136 compiler-macro for inlining `undo-tree-make-region-data'.
267
268 (fn CL-WHOLE-ARG &optional UNDO-BEGINNING UNDO-END REDO-BEGINNING REDO-END)
269 (defalias 'undo-tree-make-region-data--cmacro #[1281 "\300\301\302\303\211\211                &    \207" [cl--defsubst-expand (undo-beginning undo-end redo-beginning redo-end) (cl-block undo-tree-make-region-data (vector undo-beginning undo-end redo-beginning redo-end)) nil] 15 (#$ . 35129)])
270 (put 'undo-tree-make-region-data 'compiler-macro 'undo-tree-make-region-data--cmacro)
271 #@122 Constructor for objects of type `undo-tree-region-data'.
272
273 (fn &optional UNDO-BEGINNING UNDO-END REDO-BEGINNING REDO-END)
274 (defalias 'undo-tree-make-region-data #[1024 "\300$\207" [vector] 9 (#$ . 35640)])
275 (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306&    \207" [function-put undo-tree-make-region-data side-effect-free t cl-struct-define undo-tree-region-data nil vector ((undo-beginning) (undo-end) (redo-beginning) (redo-end)) cl-struct-undo-tree-region-data-tags] 11)
276 #@10 
277
278 (fn R)
279 (defalias 'undo-tree-region-data-p '(macro . #[257 "\300\301\211\211\211$G\302\303D\304\305DEE\207" [vector nil and vectorp = length] 7 (#$ . 36141)]))
280 #@13 
281
282 (fn NODE)
283 (defalias 'undo-tree-node-clear-region-data '(macro . #[257 "\300\301D\302\303\302\304\305\301D\306BBEEE\207" [setf undo-tree-node-meta-data delq nil :region plist-put (:region nil)] 10 (#$ . 36311)]))
284 #@13 
285
286 (fn NODE)
287 (defalias 'undo-tree-node-undo-beginning '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let r plist-get undo-tree-node-meta-data (:region) ((when (undo-tree-region-data-p r) (undo-tree-region-data-undo-beginning r)))] 6 (#$ . 36534)]))
288 #@13 
289
290 (fn NODE)
291 (defalias 'undo-tree-node-undo-end '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let r plist-get undo-tree-node-meta-data (:region) ((when (undo-tree-region-data-p r) (undo-tree-region-data-undo-end r)))] 6 (#$ . 36797)]))
292 #@13 
293
294 (fn NODE)
295 (defalias 'undo-tree-node-redo-beginning '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let r plist-get undo-tree-node-meta-data (:region) ((when (undo-tree-region-data-p r) (undo-tree-region-data-redo-beginning r)))] 6 (#$ . 37048)]))
296 #@13 
297
298 (fn NODE)
299 (defalias 'undo-tree-node-redo-end '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let r plist-get undo-tree-node-meta-data (:region) ((when (undo-tree-region-data-p r) (undo-tree-region-data-redo-end r)))] 6 (#$ . 37311)]))
300 (byte-code "\300\301\302\303#\300\304\302\305#\300\306\302\307#\300\310\302\311#\300\207" [function-put undo-tree-node-undo-beginning gv-expander #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-undo-beginning #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let r plist-get undo-tree-node-meta-data (:region) unless (undo-tree-region-data-p r) setf plist-put (:region (setq r (undo-tree-make-region-data))) (undo-tree-region-data-undo-beginning r)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"] undo-tree-node-undo-end #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-undo-end #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let r plist-get undo-tree-node-meta-data (:region) unless (undo-tree-region-data-p r) setf plist-put (:region (setq r (undo-tree-make-region-data))) (undo-tree-region-data-undo-end r)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"] undo-tree-node-redo-beginning #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-redo-beginning #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let r plist-get undo-tree-node-meta-data (:region) unless (undo-tree-region-data-p r) setf plist-put (:region (setq r (undo-tree-make-region-data))) (undo-tree-region-data-redo-beginning r)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"] undo-tree-node-redo-end #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-redo-end #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let r plist-get undo-tree-node-meta-data (:region) unless (undo-tree-region-data-p r) setf plist-put (:region (setq r (undo-tree-make-region-data))) (undo-tree-region-data-redo-end r)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"]] 7)
301 #@89 compiler-macro for inlining `undo-tree-visualizer-data-lwidth'.
302
303 (fn CL-WHOLE-ARG CL-X)
304 (defalias 'undo-tree-visualizer-data-lwidth--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-visualizer-data-lwidth (aref cl-x 0)) nil] 9 (#$ . 39394)])
305 (put 'undo-tree-visualizer-data-lwidth 'compiler-macro 'undo-tree-visualizer-data-lwidth--cmacro)
306 #@213 Access slot "lwidth" of `(undo-tree-visualizer-data (:type vector) (:constructor nil) (:constructor undo-tree-make-visualizer-data (&optional lwidth cwidth rwidth marker)) (:copier nil))' struct CL-X.
307
308 (fn CL-X)
309 (defalias 'undo-tree-visualizer-data-lwidth #[257 "\211\300H\207" [0] 3 (#$ . 39788)])
310 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-visualizer-data-lwidth side-effect-free t] 4)
311 #@89 compiler-macro for inlining `undo-tree-visualizer-data-cwidth'.
312
313 (fn CL-WHOLE-ARG CL-X)
314 (defalias 'undo-tree-visualizer-data-cwidth--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-visualizer-data-cwidth (aref cl-x 1)) nil] 9 (#$ . 40202)])
315 (put 'undo-tree-visualizer-data-cwidth 'compiler-macro 'undo-tree-visualizer-data-cwidth--cmacro)
316 #@213 Access slot "cwidth" of `(undo-tree-visualizer-data (:type vector) (:constructor nil) (:constructor undo-tree-make-visualizer-data (&optional lwidth cwidth rwidth marker)) (:copier nil))' struct CL-X.
317
318 (fn CL-X)
319 (defalias 'undo-tree-visualizer-data-cwidth #[257 "\211\300H\207" [1] 3 (#$ . 40596)])
320 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-visualizer-data-cwidth side-effect-free t] 4)
321 #@89 compiler-macro for inlining `undo-tree-visualizer-data-rwidth'.
322
323 (fn CL-WHOLE-ARG CL-X)
324 (defalias 'undo-tree-visualizer-data-rwidth--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-visualizer-data-rwidth (aref cl-x 2)) nil] 9 (#$ . 41010)])
325 (put 'undo-tree-visualizer-data-rwidth 'compiler-macro 'undo-tree-visualizer-data-rwidth--cmacro)
326 #@213 Access slot "rwidth" of `(undo-tree-visualizer-data (:type vector) (:constructor nil) (:constructor undo-tree-make-visualizer-data (&optional lwidth cwidth rwidth marker)) (:copier nil))' struct CL-X.
327
328 (fn CL-X)
329 (defalias 'undo-tree-visualizer-data-rwidth #[257 "\211\300H\207" [2] 3 (#$ . 41404)])
330 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-visualizer-data-rwidth side-effect-free t] 4)
331 #@89 compiler-macro for inlining `undo-tree-visualizer-data-marker'.
332
333 (fn CL-WHOLE-ARG CL-X)
334 (defalias 'undo-tree-visualizer-data-marker--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-visualizer-data-marker (aref cl-x 3)) nil] 9 (#$ . 41818)])
335 (put 'undo-tree-visualizer-data-marker 'compiler-macro 'undo-tree-visualizer-data-marker--cmacro)
336 #@213 Access slot "marker" of `(undo-tree-visualizer-data (:type vector) (:constructor nil) (:constructor undo-tree-make-visualizer-data (&optional lwidth cwidth rwidth marker)) (:copier nil))' struct CL-X.
337
338 (fn CL-X)
339 (defalias 'undo-tree-visualizer-data-marker #[257 "\211\300H\207" [3] 3 (#$ . 42212)])
340 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-visualizer-data-marker side-effect-free t] 4)
341 #@120 compiler-macro for inlining `undo-tree-make-visualizer-data'.
342
343 (fn CL-WHOLE-ARG &optional LWIDTH CWIDTH RWIDTH MARKER)
344 (defalias 'undo-tree-make-visualizer-data--cmacro #[1281 "\300\301\302\303\211\211                &    \207" [cl--defsubst-expand (lwidth cwidth rwidth marker) (cl-block undo-tree-make-visualizer-data (vector lwidth cwidth rwidth marker)) nil] 15 (#$ . 42627)])
345 (put 'undo-tree-make-visualizer-data 'compiler-macro 'undo-tree-make-visualizer-data--cmacro)
346 #@106 Constructor for objects of type `undo-tree-visualizer-data'.
347
348 (fn &optional LWIDTH CWIDTH RWIDTH MARKER)
349 (defalias 'undo-tree-make-visualizer-data #[1024 "\300$\207" [vector] 9 (#$ . 43098)])
350 (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306&    \207" [function-put undo-tree-make-visualizer-data side-effect-free t cl-struct-define undo-tree-visualizer-data nil vector ((lwidth) (cwidth) (rwidth) (marker)) cl-struct-undo-tree-visualizer-data-tags] 11)
351 #@10 
352
353 (fn V)
354 (defalias 'undo-tree-visualizer-data-p '(macro . #[257 "\300\301\211\211\211$G\302\303D\304\305DEE\207" [vector nil and vectorp = length] 7 (#$ . 43579)]))
355 #@13 
356
357 (fn NODE)
358 (defalias 'undo-tree-node-clear-visualizer-data #[257 "\211\300H\211@\301=\203\211\300AAI\262\2022\211\203)\211A@\301=\204)\211A\262\202\211\2052\211\302\233\241\207" [6 :visualizer 3] 6 (#$ . 43753)])
359 #@13 
360
361 (fn NODE)
362 (defalias 'undo-tree-node-lwidth '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let v plist-get undo-tree-node-meta-data (:visualizer) ((when (undo-tree-visualizer-data-p v) (undo-tree-visualizer-data-lwidth v)))] 6 (#$ . 43986)]))
363 #@13 
364
365 (fn NODE)
366 (defalias 'undo-tree-node-cwidth '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let v plist-get undo-tree-node-meta-data (:visualizer) ((when (undo-tree-visualizer-data-p v) (undo-tree-visualizer-data-cwidth v)))] 6 (#$ . 44245)]))
367 #@13 
368
369 (fn NODE)
370 (defalias 'undo-tree-node-rwidth '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let v plist-get undo-tree-node-meta-data (:visualizer) ((when (undo-tree-visualizer-data-p v) (undo-tree-visualizer-data-rwidth v)))] 6 (#$ . 44504)]))
371 #@13 
372
373 (fn NODE)
374 (defalias 'undo-tree-node-marker '(macro . #[257 "\300\301\302\303D\304BBDC\305BB\207" [let v plist-get undo-tree-node-meta-data (:visualizer) ((when (undo-tree-visualizer-data-p v) (undo-tree-visualizer-data-marker v)))] 6 (#$ . 44763)]))
375 (byte-code "\300\301\302\303#\300\304\302\305#\300\306\302\307#\300\310\302\311#\300\207" [function-put undo-tree-node-lwidth gv-expander #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-lwidth #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let v plist-get undo-tree-node-meta-data (:visualizer) unless (undo-tree-visualizer-data-p v) setf plist-put (:visualizer (setq v (undo-tree-make-visualizer-data))) (undo-tree-visualizer-data-lwidth v)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"] undo-tree-node-cwidth #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-cwidth #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let v plist-get undo-tree-node-meta-data (:visualizer) unless (undo-tree-visualizer-data-p v) setf plist-put (:visualizer (setq v (undo-tree-make-visualizer-data))) (undo-tree-visualizer-data-cwidth v)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"] undo-tree-node-rwidth #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-rwidth #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let v plist-get undo-tree-node-meta-data (:visualizer) unless (undo-tree-visualizer-data-p v) setf plist-put (:visualizer (setq v (undo-tree-make-visualizer-data))) (undo-tree-visualizer-data-rwidth v)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"] undo-tree-node-marker #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-marker #[514 "\300\301\302\303D\304BBDC\305\306\307\303D\310\303D\311BBEE\307\312EF\207" [let v plist-get undo-tree-node-meta-data (:visualizer) unless (undo-tree-visualizer-data-p v) setf plist-put (:visualizer (setq v (undo-tree-make-visualizer-data))) (undo-tree-visualizer-data-marker v)] 11 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"]] 7)
376 #@87 compiler-macro for inlining `undo-tree-register-data-buffer'.
377
378 (fn CL-WHOLE-ARG CL-X)
379 (defalias 'undo-tree-register-data-buffer--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-register-data-buffer (aref cl-x 0)) nil] 9 (#$ . 46874)])
380 (put 'undo-tree-register-data-buffer 'compiler-macro 'undo-tree-register-data-buffer--cmacro)
381 #@169 Access slot "buffer" of `(undo-tree-register-data (:type vector) (:constructor nil) (:constructor undo-tree-make-register-data (buffer node)))' struct CL-X.
382
383 (fn CL-X)
384 (defalias 'undo-tree-register-data-buffer #[257 "\211\300H\207" [0] 3 (#$ . 47258)])
385 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-register-data-buffer side-effect-free t] 4)
386 #@85 compiler-macro for inlining `undo-tree-register-data-node'.
387
388 (fn CL-WHOLE-ARG CL-X)
389 (defalias 'undo-tree-register-data-node--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block undo-tree-register-data-node (aref cl-x 1)) nil] 9 (#$ . 47624)])
390 (put 'undo-tree-register-data-node 'compiler-macro 'undo-tree-register-data-node--cmacro)
391 #@167 Access slot "node" of `(undo-tree-register-data (:type vector) (:constructor nil) (:constructor undo-tree-make-register-data (buffer node)))' struct CL-X.
392
393 (fn CL-X)
394 (defalias 'undo-tree-register-data-node #[257 "\211\300H\207" [1] 3 (#$ . 47998)])
395 (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put undo-tree-register-data-node side-effect-free t defalias copy-undo-tree-register-data copy-sequence] 4)
396 #@92 compiler-macro for inlining `undo-tree-make-register-data'.
397
398 (fn CL-WHOLE-ARG BUFFER NODE)
399 (defalias 'undo-tree-make-register-data--cmacro #[771 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (buffer node) (cl-block undo-tree-make-register-data (vector buffer node)) nil] 11 (#$ . 48420)])
400 (put 'undo-tree-make-register-data 'compiler-macro 'undo-tree-make-register-data--cmacro)
401 #@78 Constructor for objects of type `undo-tree-register-data'.
402
403 (fn BUFFER NODE)
404 (defalias 'undo-tree-make-register-data #[514 "\300\"\207" [vector] 5 (#$ . 48817)])
405 (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306&    \207" [function-put undo-tree-make-register-data side-effect-free t cl-struct-define undo-tree-register-data nil vector ((buffer) (node)) cl-struct-undo-tree-register-data-tags] 11)
406 #@13 
407
408 (fn DATA)
409 (defalias 'undo-tree-register-data-p #[257 "\300!\205\211G\301U\205\300\302H!\205\211\302HG\303U\207" [vectorp 2 1 7] 4 (#$ . 49240)])
410 #@13 
411
412 (fn DATA)
413 (defalias 'undo-tree-register-data-print-func #[257 "\300\301\302\303H\"!\207" [princ format "an undo-tree state for buffer %s" 0] 6 (#$ . 49401)])
414 #@13 
415
416 (fn NODE)
417 (defalias 'undo-tree-node-register '(macro . #[257 "\300\301D\302BB\207" [plist-get undo-tree-node-meta-data (:register)] 4 (#$ . 49568)]))
418 (byte-code "\300\301\302\303#\300\207" [function-put undo-tree-node-register gv-expander #[385 "\300\301\302$\207" [gv--defsetter undo-tree-node-register #[514 "\300\301D\302\301D\303FE\207" [setf undo-tree-node-meta-data plist-put :register] 8 "\n\n(fn VAL NODE)"]] 7 "\n\n(fn DO &rest ARGS)"]] 4)
419 #@70 Add an UNDO node to current branch of `buffer-undo-tree'.
420
421 (fn UNDO)
422 (defalias 'undo-tree-grow #[257 "\302!    >\204\303\304\305D\"\210\306H\307\310\310\311 \312\310&\211\313\313HBI\266\302!    >\2047\303\304\305D\"\210\211\306I\262\207" [buffer-undo-tree cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 2 vector nil current-time 0 1] 10 (#$ . 50032)])
423 #@247 Add new node *above* undo-tree NODE, and return new node.
424 Note that this will overwrite NODE's "previous" link, so should
425 only be used on a detached NODE, never on nodes that are already
426 part of `buffer-undo-tree'.
427
428 (fn NODE UNDO &optional REDO)
429 (defalias 'undo-tree-grow-backwards #[770 "\300#\211\301I\266\211\207" [undo-tree-make-node-backwards 0] 8 (#$ . 50426)])
430 #@235 Splice NODE into undo tree, below node SPLICE.
431 Note that this will overwrite NODE's "next" and "previous"
432 links, so should only be used on a detached NODE, never on nodes
433 that are already part of `buffer-undo-tree'.
434
435 (fn NODE SPLICE)
436 (defalias 'undo-tree-splice-node #[514 "\211\300\300HI\266\211\301\301HI\266\211\302I\266\211\211\300CI\266\211\211\301\302I\266\300H\211\205@\211@\211\211\302I\266A\266\202\202+\207" [1 5 0] 8 (#$ . 50807)])
437 #@40 Snip NODE out of undo tree.
438
439 (fn NODE)
440 (defalias 'undo-tree-snip-node #[257 "\211\300H\301\211\302HG\300U\203%\211\302\302HI\266\211\303\303HI\266\202\207\304\302H\"\262\303HU\203D\211\303\303H\\I\266\202\\\303HV\203\\\211\303\303H\302HGS\\I\266\300U\203u\211\302\302H\302HA\244I\266\202\207S\302H\233\262\211\302HAA\244\241\210\302H\211\205\237\211@\211\211\300I\266A\266\202\202\212\262\207" [0 nil 1 5 undo-tree-position] 10 (#$ . 51275)])
441 #@41 
442
443 (fn --UNDO-TREE-MAPC-FUNCTION-- NODE)
444 (defalias 'undo-tree-mapc #[514 "\211C\300\205\211A\262\242\262!\210\301\302H\"\262\202\207" [nil append 1] 7 (#$ . 51777)])
445 #@54 Return number of branches at current undo tree node.
446 (defalias 'undo-tree-num-branches '(macro . #[0 "\300\207" [(length (undo-tree-node-next (undo-tree-current buffer-undo-tree)))] 1 (#$ . 51961)]))
447 #@150 Find the first occurrence of NODE in LIST.
448 Return the index of the matching item, or nil of not found.
449 Comparison is done with `eq'.
450
451 (fn NODE LIST)
452 (defalias 'undo-tree-position #[514 "\300\3012@=\203\302\301\"\210\211T\262A\211\262\204\3030\207" [0 found throw nil] 6 (#$ . 52168)])
453 (defvar *undo-tree-id-counter* 0)
454 (make-variable-buffer-local '*undo-tree-id-counter*)
455 (defalias 'undo-tree-generate-id '(macro . #[0 "\300\207" [(let ((num (prog1 *undo-tree-id-counter* (incf *undo-tree-id-counter*)))) (make-symbol (format "undo-tree-id%d" num)))] 1]))
456 #@18 
457
458 (fn UNDO-TREE)
459 (defalias 'undo-tree-decircle #[257 "\301\302\303!>\204\304\305\306D\"\210\307H\"\207" [cl-struct-undo-tree-tags undo-tree-mapc #[257 "\211\300H\211\205\211@\211\211\301\302I\266A\266\202\202\207" [1 0 nil] 7 "\n\n(fn NODE)"] type-of signal wrong-type-argument undo-tree 1] 7 (#$ . 52742)])
460 #@18 
461
462 (fn UNDO-TREE)
463 (defalias 'undo-tree-recircle #[257 "\301\302\303!>\204\304\305\306D\"\210\307H\"\207" [cl-struct-undo-tree-tags undo-tree-mapc #[257 "\211\300H\211\205\211@\211\211\301I\266A\266\202\202\207" [1 0] 7 "\n\n(fn NODE)"] type-of signal wrong-type-argument undo-tree 1] 7 (#$ . 53068)])
464 #@12 
465
466 (fn ELT)
467 (defalias 'undo-list-marker-elt-p '(macro . #[257 "\300\301DD\207" [markerp car-safe] 4 (#$ . 53387)]))
468 #@12 
469
470 (fn ELT)
471 (defalias 'undo-list-GCd-marker-elt-p '(macro . #[257 "\300\301D\302\303DD\304\305\306\303DDDC\307BB\310\311DD\257\207" [and car-safe symbolp car let str symbol-name ((and (> (length str) 12) (string= (substring str 0 12) "undo-tree-id"))) numberp cdr-safe] 9 (#$ . 53509)]))
472 #@12 
473
474 (fn ELT)
475 (defalias 'undo-tree-move-GC-elts-to-pool #[257 "\303\242!\2050\211T\304\305\306\"!\262\307@\310    !\n>\204&\311\312\313    D\"\210    \314H#\210\240\262\207" [*undo-tree-id-counter* buffer-undo-tree cl-struct-undo-tree-tags markerp make-symbol format "undo-tree-id%d" puthash type-of signal wrong-type-argument undo-tree 5] 9 (#$ . 53809)])
476 #@12 
477
478 (fn ELT)
479 (defalias 'undo-tree-restore-GC-elts-from-pool #[257 "\211\242\203C\211@9\203C\302@!\211G\303V\205\211\304\303O\305\230\262\203C\211\243\247\203C\211\306@\307!    >\204:\310\311\312D\"\210\313H\"\240\205D\207\211\207" [buffer-undo-tree cl-struct-undo-tree-tags symbol-name 12 0 "undo-tree-id" gethash type-of signal wrong-type-argument undo-tree 5] 8 (#$ . 54172)])
480 #@18 
481
482 (fn UNDO-LIST)
483 (defalias 'undo-list-clean-GCd-elts #[257 "\211@\242\203L\211@@9\203L\302@@!\211G\303V\205\211\304\303O\305\230\262\203L\211@\243\247\203L\306@@\307!    >\204>\310\311\312D\"\210\313H\"\204\211A\262\202\211\211A\203\251\211A@\242\203\242\211A@@9\203\242\302A@@!\211G\303V\205t\211\304\303O\305\230\262\203\242\211A@\243\247\203\242\306A@@\307!    >\204\225\310\311\312D\"\210\313H\"\204\242\211AA\241\210\211A\262\202M\210\207" [buffer-undo-tree cl-struct-undo-tree-tags symbol-name 12 0 "undo-tree-id" gethash type-of signal wrong-type-argument undo-tree 5] 8 (#$ . 54566)])
484 #@30 
485
486 (fn &optional DISCARD-POS)
487 (defalias 'undo-list-pop-changeset #[256 "@\203\211\203@\250\203A\211\202@\301=\203#\302B\211\207\211A\242C\211\303@!\210\203?@\250\203?A\202/@\203[@\301=\204[\211\211A\242C\241\210\211A\262\202*\207" [buffer-undo-list undo-tree-canary nil undo-tree-move-GC-elts-to-pool] 7 (#$ . 55194)])
488 #@18 
489
490 (fn UNDO-LIST)
491 (defalias 'undo-tree-copy-list #[257 "\211\205A\300\211\204\301\211A\262\242!\262\202C\262\262\203>\211\301\302\211A\262\242!!\241\203\211AC\241\210\211A\262\202\266\202\207" [nil undo-tree-restore-GC-elts-from-pool undo-copy-list-1] 8 (#$ . 55553)])
492 (defalias 'undo-list-transfer-to-tree #[0 "\303=\203\n\304\305!\210\204\306     \204\307    A@\310=\206#    @\310=?\205:\311 \312 \313\314\211\314\315\314&\266\202\316!\n>\204F\317\320\321D\"\210\322H\323\322H!\324\316!\n>\204^\317\320\321D\"\210\211\322I\266    \203\211    A@\310=\204\211\325\311 \"\262\323\322H!\\\262\211T\262\202f    A@\310=\204\230    @\310=\203\351\211\315I\266\211\324\324HBI\266\211\326\315I\266\316!\n>\204\301\317\320\321D\"\210\211\327\327H\\I\266\316!\n>\204\333\317\320\321D\"\210\211\330\330H\\I\266\2026\325\314\"\262\316!\n>\204\376\317\320\321D\"\210\211\324I\266\331\316!\n>\204\317\320\321D\"\210\211\327I\266\316!\n>\204-\317\320\321D\"\210\211\330I\266\332\266\333 \207" [buffer-undo-tree buffer-undo-list cl-struct-undo-tree-tags t cl--assertion-failed (not (eq buffer-undo-tree t)) make-undo-tree (nil undo-tree-canary) undo-tree-canary undo-list-pop-changeset current-time vector nil 0 type-of signal wrong-type-argument undo-tree 2 undo-list-byte-size 1 undo-tree-grow-backwards 5 3 4 (nil undo-tree-canary) (nil undo-tree-canary) undo-tree-discard-history] 10])
493 #@18 
494
495 (fn UNDO-LIST)
496 (defalias 'undo-list-byte-size #[257 "\300\211\203(\301\\\262\211@:\203!\211@@;\203!\302@@!\\\262\211A\262\202\207" [0 8 string-bytes] 6 (#$ . 57023)])
497 #@68 Rebuild `buffer-undo-list' from information in `buffer-undo-tree'.
498 (defalias 'undo-list-rebuild-from-tree #[0 "\303=?\205\242\304 \210\305    \205\242\306    !\n>\204\307\310\311    D\"\210    \312HCC\313\314\315@@\211\312H\262\"\316\"B\262\211@\204V\211A@@\306    !\n>\204N\307\310\311    D\"\210    \317H=?\205\240\211@\203\320@@\211\317H\262\"\321 \210\313\314\315@@\211\312H\262\"\322\"B\262\2026\211A\262\320@@\211\323H\262\"\321 \210\211\211@\211A\240\210\266\2026\262\207" [buffer-undo-list buffer-undo-tree cl-struct-undo-tree-tags t undo-list-transfer-to-tree nil type-of signal wrong-type-argument undo-tree 1 sort mapcar identity #[514 "\300\301H\301H\"\207" [time-less-p 4] 6 "\n\n(fn A B)"] 2 append undo-boundary #[514 "\300\301H\301H\"\207" [time-less-p 4] 6 "\n\n(fn A B)"] 3] 7 (#$ . 57211)])
499 #@13 
500
501 (fn NODE)
502 (defalias 'undo-tree-oldest-leaf #[257 "\211\300H\203\301\302\303\300H\"\304\"@\262\202\207" [1 sort mapcar identity #[514 "\300\301H\301H\"\207" [time-less-p 4] 6 "\n\n(fn A B)"]] 6 (#$ . 58044)])
503 #@13 
504
505 (fn NODE)
506 (defalias 'undo-tree-discard-node #[257 "\211\302!    >\204\303\304\305D\"\210\306H=?\205\310\211\302!    >\204(\303\304\305D\"\210\307H=\203\211\307HG\307V\203<\310\311!\207\211\307H@\302!    >\204O\303\304\305D\"\210\306H=\203X\312\207\313\314H\315\"\211\203o\316!=\203o\317\312\"\210\210\302!    >\204\303\304\305D\"\210\211\307\307H@I\262\262\302!    >\204\232\303\304\305D\"\210\211\320\320H\321\306H!\321\320H!\\ZI\266\302!    >\204\277\303\304\305D\"\210\211\322\322HSI\266\211\211\306\312I\266\211\211\320\312I\266\211\211\323\312I\266\211\307HG\307V\204\211\307H@\302!    >\204\372\303\304\305D\"\210\306H=\203\324!\207\207\211\323H\211\325H\307H8\313\314H\315\"\211\203'\316!=\203'\317\312\"\210\210\302!    >\2047\303\304\305D\"\210\211\320\320H\321\306H!\321\320H!\\ZI\266\302!    >\204]\303\304\305D\"\210\211\322\322HSI\266\211\307\326\307H\"I\266\211\325\327\307H\"I\266\302!    >\204\222\303\304\305D\"\210\306H=\204\277\307H\203\305\302!    >\204\257\303\304\305D\"\210\307H=\203\277\307HG\307V\203\305\324!\202\306\266\202\207" [buffer-undo-tree cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 2 1 error "Trying to discard undo-tree root which still has multiple branches" nil plist-get 6 :register get-register set-register 3 undo-list-byte-size 4 0 undo-tree-oldest-leaf 5 delq undo-tree-position] 11 (#$ . 58268)])
507 #@126 Discard undo history until we're within memory usage limits
508 set by `undo-limit', `undo-strong-limit' and `undo-outer-limit'.
509 (defalias 'undo-tree-discard-history #[0 "\306!    >\204\307\310\311D\"\210\312H\nV\205N\306!    >\204&\307\310\311D\"\210\313H\313HG\313V\203H\314\306!    >\204A\307\310\311D\"\210\313H!\202Z\306!    >\204W\307\310\311D\"\210\313H\211\203}\306!    >\204m\307\310\311D\"\210\312H V\203}\315!\262\202Z\211\203\356\306!    >\204\220\307\310\311D\"\210\312H\nV\203\356\306!    >\204\247\307\310\311D\"\210\312H\306!    >\204\272\307\310\311D\"\210\313H=\203\325\316\313H@\317H!\316\313H@\312H!\\\202\340\316\317H!\316\312H!\\Z\nV\203\356\315!\262\202}\306!    >\204\375\307\310\311D\"\210\312H\fV\205L \203+\320\321\322\323 \306!    >\204\307\310\311D\"\210\312H#!\205L\324\211\202L\325\326\321\327\323 \306!    >\204@\307\310\311D\"\210\312H#\330P\331#\210\324\211\262\207" [buffer-undo-tree cl-struct-undo-tree-tags undo-limit undo-strong-limit undo-outer-limit undo-ask-before-discard type-of signal wrong-type-argument undo-tree 3 1 undo-tree-oldest-leaf undo-tree-discard-node undo-list-byte-size 2 yes-or-no-p format "Buffer `%s' undo info is %d bytes long;  discard it? " buffer-name nil display-warning (undo discard-info) "Buffer `%s' undo info was %d bytes long.\n" "The undo info was discarded because it exceeded `undo-outer-limit'.\n\nThis is normal if you executed a command that made a huge change\nto the buffer. In that case, to prevent similar problems in the\nfuture, set `undo-outer-limit' to a value that is large enough to\ncover the maximum size of normal changes you expect a single\ncommand to make, but not so large that it might exceed the\nmaximum memory allotted to Emacs.\n\nIf you did not execute any such command, the situation is\nprobably due to a bug and you should report it.\n\nYou can disable the popping up of this buffer by adding the entry\n(undo discard-info) to the user option `warning-suppress-types',\nwhich is defined in the `warnings' library.\n" :warning] 10 (#$ . 59724)])
510 #@61 Recursively compute widths for nodes below NODE.
511
512 (fn NODE)
513 (defalias 'undo-tree-compute-widths #[257 "\211C\300\205\312\301\302@!\211\262!\203(\302@!\211\262G\303U\203(\211B\262\202@\304\305H\306\"\301!\203=\211G\307U\204R\211\305\310\305H\306\311\300\211\211\211$\211\262#I\266\211\211\312\312HI\266@\304\305H\306\"\301!\203p\211G\307U\204\205\211\305\310\305H\306\311\300\211\211\211$\211\262#I\266\211\211\313\313HI\266@\304\305H\306\"\301!\203\243\211G\307U\204\270\211\305\310\305H\306\311\300\211\211\211$\211\262#I\266\211\211\314\314HI\266\211A\262\210\202\207" [nil vectorp undo-tree-node-compute-widths 7 plist-get 6 :visualizer 4 plist-put vector 0 1 2] 16 (#$ . 61816)])
514 #@13 
515
516 (fn NODE)
517 (defalias 'undo-tree-node-compute-widths #[257 "\211\300HG\301\211\211\302\3032\217\301U\203\250\300\262\304\305H\306\"\307!\203)\211G\310U\204>\211\305\311\305H\306\312\302\211\211\211$\211\262#I\266\211\211\301\211I\266\304\305H\306\"\307!\203Y\211G\310U\204n\211\305\311\305H\306\312\302\211\211\211$\211\262#I\266\211\211\300\211I\266\304\305H\306\"\307!\203\211\211G\310U\204\236\211\305\311\305H\306\312\302\211\211\211$\211\262#I\266\211\211\313\301I\266\202\211\314\313\"\300U\203\\\300H\262\313\245\301\211W\203G\211\304@\305H\306\"\307!\205\330\211G\310U\205\330\211\301H\262\2035\315\304@\305H\306\"\307!\205\370\211G\310U\205\370\211\301H\262\304@\305H\306\"\307!\205\211G\310U\205\211\300H\262\304@\305H\306\"\307!\205,\211G\310U\205,\211\313H\262#\\\262\202;\316\303@\"\210A\262\210\211T\262\202\272\266\304@\305H\306\"\307!\205`\211G\310U\205`\211\301H\262\203\205\304@\305H\306\"\307!\205}\211G\310U\205}\211\301H\262\\\262\202\213\316\303@\"\210\304@\305H\306\"\307!\205\242\211G\310U\205\242\211\300H\262\262\304@\305H\306\"\307!\205\276\211G\310U\205\276\211\313H\262\\\262\211A\262\313\245\301\211W\203W\211\304@\305H\306\"\307!\205\351\211G\310U\205\351\211\301H\262\203E\315\304@\305H\306\"\307!\205\211G\310U\205\211\301H\262\304@\305H\306\"\307!\205\"\211G\310U\205\"\211\300H\262\304@\305H\306\"\307!\205<\211G\310U\205<\211\313H\262#\\\262\202K\316\303@\"\210A\262\210\211T\262\202\313\266\202\211\300H\262\313\245\301\211W\203\362\211\304@\305H\306\"\307!\205\203\211G\310U\205\203\211\301H\262\203\340\315\304@\305H\306\"\307!\205\243\211G\310U\205\243\211\301H\262\304@\305H\306\"\307!\205\275\211G\310U\205\275\211\300H\262\304@\305H\306\"\307!\205\327\211G\310U\205\327\211\313H\262#\\\262\202\346\316\303@\"\210A\262\210\211T\262\202e\266\301\262\313\245\301\211W\203\207\211\304@\305H\306\"\307!\205\211G\310U\205\211\301H\262\203u\315\304@\305H\306\"\307!\2058\211G\310U\2058\211\301H\262\304@\305H\306\"\307!\205R\211G\310U\205R\211\300H\262\304@\305H\306\"\307!\205l\211G\310U\205l\211\313H\262#\\\262\202{\316\303@\"\210A\262\210\211T\262\202\373\266\312#0\207" [1 0 nil need-widths plist-get 6 :visualizer vectorp 4 plist-put vector 2 mod + throw] 19 (#$ . 62555)])
518 #@13 
519
520 (fn TREE)
521 (defalias 'undo-tree-clear-visualizer-data #[257 "\301\302\303!>\204\304\305\306D\"\210\307H\"\207" [cl-struct-undo-tree-tags undo-tree-mapc #[257 "\300!\207" [undo-tree-node-clear-visualizer-data] 3 "\n\n(fn N)"] type-of signal wrong-type-argument undo-tree 1] 7 (#$ . 65004)])
522 #@29 
523
524 (fn NODE &optional MTIME)
525 (defalias 'undo-tree-node-unmodified-p #[513 "\300\211\301H\206\302H@\211\262\205\303H\262\3042D\211\205A\211@\211:\203:\211@\305=\203:\211A:\203:\306\304A\"\210A\266\202\202\2620\262\211\205i?\206i\211A<\203[\211\232\202i\211@@U\205i\211AA@U\207" [nil 3 1 2 found t throw] 9 (#$ . 65308)])
526 (defvar undo-adjusted-markers nil)
527 #@18 
528
529 (fn START END)
530 (defalias 'undo-tree-pull-undo-in-region-branch #[514 "\304\"\203    \305\207\306C\211\306C\211\307!    >\204\310\311\312D\"\210\313H\314\"\306\211\306\211\211\211\211\211\211\203\235    \262    \315H@\262    \262\306    \315HG\315U\203o\316 \210    \262\307!    >\204g\310\311\312D\"\210\313H\262\n\202G)\n=\203{\306\262    \211\315\317 \315H\"I\266\211\320\306I\266\262    \262\202    \315H\203\321\306\211\211\211\322 \320\306&\262\262    \323H\n\315H8\211\262 \203\366\324 \313H!\324\f\325H!\322 \321\306\320\306&\266\204\211\315\315HBI\266\315H@\262\202\265\315H@\262\306\262\307!    >\204\310\311\312D\"\210\313H\262\n\3262.?\205-    \205-    \313H\205-\306\324 \313H!B\262A@\262\203P\327\"\262\204a\262\202a\321\306\211\306\322 \320\306&\262\262\211\203\370\330#\203\242\211:\203\203\211@;\204\200\211@\250\203\203\305\262\331\"\210\f\332A\"C\241\210\fA\262 \211AA\241\210\202\360\211:\203\267\211@\305=\203\267\211AA\241\210\202\360\333#\203\326\203\313\306\262\202\360\306\262\334\326\305\"\210\202\360\335!\211A\320U\204\353 C\241\210 A\262\f\210A\262A@\262\202a\313HA@\203\211\313H\211\313AI\210\266\202$=\203\306\262\315H@\262    \320H\262\n\2020\210 A\262 \204|\205A\211\315\315HBI\266\211\323\320I\266\211\320I\266\306\307!    >\204i\310\311\312D\"\210\313H=\204w\336 \210\202Z)\306\202A\306\307!    >\204\214\310\311\312D\"\210\313H\307!    >\204\240\310\311\312D\"\210\313H\f=\204\257\316 \210\202\221\307!    >\204\276\310\311\312D\"\210\313H=\204\314\336 \210\202\257)\266\204\321\n\306\306\322 \320\306&\262    \211\315\n\315HBI\266    \211\323\320I\266\307!    >\204\310\311\312D\"\210\211\313\nI\266\202\342\204W\327\"\262    \211\315\n\315HBI\266    \211\323\320I\266\211\320\fI\266\307!    >\204L\310\311\312D\"\210\211\313\nI\266\202\342\211\320\fI\266    \211\315\n\315HBI\266    \211\323\320I\266\203\266\307!    >\204\211\310\311\312D\"\210\211\313\320HI\266\306\307!    >\204\244\310\311\312D\"\210\313H=\204\265\336\306\337\"\210\202\225)\321\306\211\306\322 \320\306&\262\n\340\n\"\210\307!    >\204\332\310\311\312D\"\210\211\313\fI\266\320H\262\n    \315H@\211\262 \203@    =\204@\307!    >\204\n\310\311\312D\"\210\211\341\341HTI\262\203@\307!    >\204&\310\311\312D\"\210\211\325\325H\342\313H!\342\325H!\\\\I\262\204\350\305)\207" [buffer-undo-tree cl-struct-undo-tree-tags undo-adjusted-markers mark-active undo-tree-reverting-redo-in-region-p t nil type-of signal wrong-type-argument undo-tree 2 undo-tree-repeated-undo-in-region-p 1 undo-tree-undo-1 delq 0 vector current-time 5 undo-copy-list 3 abort undo-tree-grow-backwards undo-elt-in-region undo-tree-adjust-elements-to-elt undo-tree-apply-deltas undo-elt-crosses-region throw undo-delta undo-tree-redo-1 preserve-undo undo-tree-splice-node 4 undo-list-byte-size] 29 (#$ . 65698)])
531 #@18 
532
533 (fn START END)
534 (defalias 'undo-tree-pull-redo-in-region-branch #[514 "\303\"\203    \304\207\305C\211\305C\211\306!    >\204\307\310\311D\"\210\312H\313\"\305\211\305\211\211\211\203V\314H@\211\262\203\253\211\315\305I\266\211\314\316 \314H\"I\266\202\253\314H\203\253\317\305\211\211\211\320 \315\305&\262\262\321H\314H8\211\262\203\245\322\323H!\320 \317\305\211\315\305&\266\203\211\314\314HBI\266\314H@\262\202m\314H@\262\262\3242\250?\205\247\205\247\323H\205\247\211\323\305\323HBI\262\262A@\262\211\203n\325#\203\211:\203\370\211@;\204\365\211@\250\203\370\304\262\326\304#\210    \327 A\330#C\241\210    A\262\n\211AA\241\210\202f\211:\203-\211@\304=\203-\211AA\241\210\202f\331#\203L\203A\305\262\202f\305\262 \332\324\304\"\210\202f\333!\211A\315U\204aC\241\210A\262    \210A\262A@\262\202\326\323HA@\203\210\211\312H\211\312AI\210\266\202\235=\203\230\314H@\262\202\235\334!\210\314H@\262\202\2620\210\nA\262 \306!    >\204\275\307\310\311D\"\210\312H\262\n@\204\361\205\231\205\231\211\314\314HBI\266\211\321\315I\266\211\315    I\266\305\202\231\203\376\335\305 #\202\n\317\305\211\211\320 \315\305&\262\211\314\314HBI\266\211\321\315I\266\211\315    I\266\204y\262\314H@\211\262\203y\306!    >\204J\307\310\311D\"\210\211\336\336HTI\262\203y\306!    >\204f\307\310\311D\"\210\211\323\323H\337 \323H!\\I\262\2040\306!    >\204\210\307\310\311D\"\210\211\323\323H\337    \323H!\\I\266\304)\207" [buffer-undo-tree cl-struct-undo-tree-tags undo-adjusted-markers undo-tree-reverting-undo-in-region-p t nil type-of signal wrong-type-argument undo-tree 2 undo-tree-repeated-redo-in-region-p 1 0 delq vector current-time 5 undo-copy-list 3 abort undo-elt-in-region undo-tree-adjust-elements-to-elt undo-tree-apply-deltas -1 undo-elt-crosses-region throw undo-delta undo-tree-snip-node undo-tree-grow-backwards 4 undo-list-byte-size] 25 (#$ . 68744)])
535 #@341 Adjust buffer positions of undo elements, starting at NODE's
536 and going up the tree (or down the active branch if BELOW is
537 non-nil) and through the nodes' undo elements until we reach
538 UNDO-ELT.  UNDO-ELT must appear somewhere in the undo changeset
539 of either NODE itself or some node above it in the tree.
540
541 (fn NODE UNDO-ELT &optional BELOW)
542 (defalias 'undo-tree-adjust-elements-to-elt #[770 "\300!C\301H\211@\205C\211@=?\205C\211\302@\303#\240\210\211A\211\262@\204\2036\304H\305H8\262\202;\306H\262\301H\262\202\207" [undo-delta 2 undo-tree-apply-deltas -1 5 1 0] 10 (#$ . 70794)])
543 #@38 
544
545 (fn UNDO-ELT DELTAS &optional SGN)
546 (defalias 'undo-tree-apply-deltas #[770 "\300\211\211\203\253\211@\211@\262\211A\206\301_\262\250\203-Y\203\244Z\262\202\244:\203\244@;\203b\302A!A\303WY\203]\203U\304\202V\301Z_\241\210\266\202\244@\250\203\204@Y\203\244\211@Z\240\210\211AZ\241\210\202\244@\204\244\305\233\211@Y\203\243\211@Z\240\210\211AZ\241\210\210A\266\202\202\210\207" [nil 1 abs 0 -1 3] 13 (#$ . 71404)])
547 #@18 
548
549 (fn START END)
550 (defalias 'undo-tree-repeated-undo-in-region-p #[514 "\302!    >\204\303\304\305D\"\210\306H\211\307H\310H8\211\262\205V\311\312H\313\"\314!\2055\211G\315U\2055\211\316H\262=\205V\311\312H\313\"\314!\205R\211G\315U\205R\211\310H\262=\207" [buffer-undo-tree cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 2 5 1 plist-get 6 :region vectorp 4 0] 6 (#$ . 71899)])
551 #@18 
552
553 (fn START END)
554 (defalias 'undo-tree-repeated-redo-in-region-p #[514 "\302!    >\204\303\304\305D\"\210\306H\307\310H\311\"\312!\205(\211G\313U\205(\211\306H\262=\205I\307\310H\311\"\312!\205E\211G\313U\205E\211\314H\262=\207" [buffer-undo-tree cl-struct-undo-tree-tags type-of signal wrong-type-argument undo-tree 2 plist-get 6 :region vectorp 4 3] 6 (#$ . 72323)])
555 (byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias undo-tree-reverting-undo-in-region-p undo-tree-repeated-undo-in-region-p undo-tree-reverting-redo-in-region-p undo-tree-repeated-redo-in-region-p] 3)
556 #@97 Non-nil if Undo-Tree mode is enabled.
557 Use the command `undo-tree-mode' to change this variable.
558 (defvar undo-tree-mode nil (#$ . 72922))
559 (make-variable-buffer-local 'undo-tree-mode)
560 #@513 Toggle undo-tree mode.
561 With no argument, this command toggles the mode.
562 A positive prefix argument turns the mode on.
563 A negative prefix argument turns it off.
564
565 Undo-tree-mode replaces Emacs' standard undo feature with a more
566 powerful yet easier to use version, that treats the undo history
567 as what it is: a tree.
568
569 The following keys are available in `undo-tree-mode':
570
571   \{undo-tree-map}
572
573 Within the undo-tree visualizer, the following keys are available:
574
575   \{undo-tree-visualizer-mode-map}
576
577 (fn &optional ARG)
578 (defalias 'undo-tree-mode #[256 "\302 \303=\203 ?\202\304!\305V\211\204\306 \210\307\310\311\203&\312\202'\313\"\210\314\315!\203K\302 \203;\211\302 \232\203K\316\317\320\203F\321\202G\322#\266\210\323 \210\207" [undo-tree-mode buffer-undo-tree current-message toggle prefix-numeric-value 0 undo-list-rebuild-from-tree nil run-hooks undo-tree-mode-hook undo-tree-mode-on-hook undo-tree-mode-off-hook called-interactively-p any " in current buffer" message "Undo-Tree mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 73111) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
579 (defvar undo-tree-mode-hook nil)
580 (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\211%\207" [undo-tree-map undo-tree-mode-hook variable-documentation put "Hook run after entering or leaving `undo-tree-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 undo-tree-mode undo-tree-mode-lighter nil] 6)
581 #@753 Enable `undo-tree-mode' in the current buffer, when appropriate.
582 Some major modes implement their own undo system, which should
583 not normally be overridden by `undo-tree-mode'. This command does
584 not enable `undo-tree-mode' in such buffers. If you want to force
585 `undo-tree-mode' to be enabled regardless, use (undo-tree-mode 1)
586 instead.
587
588 The heuristic used to detect major modes in which
589 `undo-tree-mode' should not be used is to check whether either
590 the `undo' command has been remapped, or the default undo
591 keybindings (C-/ and C-_) have been overridden somewhere other
592 than in the global map. In addition, `undo-tree-mode' will not be
593 enabled if the buffer's `major-mode' appears in
594 `undo-tree-incompatible-major-modes'.
595
596 (fn &optional PRINT-MESSAGE)
597 (defalias 'turn-on-undo-tree-mode #[256 "\302\303!\204\304 \204    >\203\211\205\305\306!\207\307\310!\207" [major-mode undo-tree-incompatible-major-modes key-binding [remap undo] undo-tree-overridden-undo-bindings-p message "Buffer does not support undo-tree-mode; undo-tree-mode NOT enabled" undo-tree-mode 1] 3 (#$ . 74663) "p"])
598 #@285 Returns t if default undo bindings are overridden, nil otherwise.
599 Checks if either of the default undo key bindings ("C-/" or
600 "C-_") are overridden in the current buffer by any keymap other
601 than the global one. (So global redefinitions of the default undo
602 key bindings do not count.)
603 (defalias 'undo-tree-overridden-undo-bindings-p #[0 "\300\301 \302\"\300\301 \303\"\304\305\306\"\210\304\307\306\"\210\310\311\312\313\314\"\315\"\316$\216\317\320!\2032\317\321!\306=?\206>\317\322!\205>\317\323!\306=?)\207" [lookup-key current-global-map [67108911] [31] global-set-key [67108911] undo [31] make-byte-code 0 "\302\303\300\"\210\302\304\301\"\207" vconcat vector [global-set-key [67108911] [31]] 3 key-binding [67108911] [67108911] [31] [31]] 9 (#$ . 75761)])
604 (defvar undo-tree-mode-major-mode nil)
605 (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315\316\317& \207" [make-variable-buffer-local undo-tree-mode-major-mode custom-declare-variable global-undo-tree-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Global Undo-Tree mode is enabled.\nSee the `global-undo-tree-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `global-undo-tree-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group undo-tree :type boolean] 12)
606 #@359 Toggle Undo-Tree mode in all buffers.
607 With prefix ARG, enable Global Undo-Tree mode if ARG is positive;
608 otherwise, disable it.  If called from Lisp, enable the mode if
609 ARG is omitted or nil.
610
611 Undo-Tree mode is enabled in all buffers where
612 `turn-on-undo-tree-mode' would do it.
613 See `undo-tree-mode' for more information on Undo-Tree mode.
614
615 (fn &optional ARG)
616 (defalias 'global-undo-tree-mode #[256 "\302 \303\300\304=\203\305\300!?\202\306!\307V\"\210\203.\310\311\312\"\210\310\313\314\"\210\310\315\316\"\210\202=\317\311\312\"\210\317\313\314\"\210\317\315\316\"\210\320 \211\203c\211@r\211q\210\203S\321 \210\202[    \203[\301\322!\210)A\266\202\202?\210\323\324\305\300!\203p\325\202q\326\"\210\327\330!\203\233\331\300!\210\302 \203\211\211\302 \232\203\233\332\333\334\305\300!\203\226\335\202\227\336#\266\210\337 \210\305\300!\207" [global-undo-tree-mode undo-tree-mode current-message set-default toggle default-value prefix-numeric-value 0 add-hook after-change-major-mode-hook global-undo-tree-mode-enable-in-buffers find-file-hook global-undo-tree-mode-check-buffers change-major-mode-hook global-undo-tree-mode-cmhh remove-hook buffer-list turn-on-undo-tree-mode -1 run-hooks global-undo-tree-mode-hook global-undo-tree-mode-on-hook global-undo-tree-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Global Undo-Tree mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 77198) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
617 (defvar global-undo-tree-mode-hook nil)
618 (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [global-undo-tree-mode-map global-undo-tree-mode-hook variable-documentation put "Hook run after entering or leaving `global-undo-tree-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 global-undo-tree-mode nil boundp] 6)
619 (defvar undo-tree-mode-set-explicitly nil nil)
620 (make-variable-buffer-local 'undo-tree-mode-set-explicitly)
621 (defalias 'undo-tree-mode-set-explicitly #[0 "\301\211\207" [undo-tree-mode-set-explicitly t] 2])
622 (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put undo-tree-mode-set-explicitly definition-name global-undo-tree-mode add-hook undo-tree-mode-hook] 4)
623 (defvar global-undo-tree-mode-buffers nil)
624 (defalias 'global-undo-tree-mode-enable-in-buffers #[0 "\211\2056\211@\305!\203/r\211q\210    \204,\n =\204,\f\203)\304\306!\210\307 \210\202,\307 \210 )A\266\202\202\207" [global-undo-tree-mode-buffers undo-tree-mode-set-explicitly undo-tree-mode-major-mode major-mode undo-tree-mode buffer-live-p -1 turn-on-undo-tree-mode] 4])
625 (put 'global-undo-tree-mode-enable-in-buffers 'definition-name 'global-undo-tree-mode)
626 (defalias 'global-undo-tree-mode-check-buffers #[0 "\301 \210\302\303\304\305\"\207" [global-undo-tree-mode-buffers global-undo-tree-mode-enable-in-buffers nil remove-hook post-command-hook global-undo-tree-mode-check-buffers] 3])
627 (put 'global-undo-tree-mode-check-buffers 'definition-name 'global-undo-tree-mode)
628 (defalias 'global-undo-tree-mode-cmhh #[0 "p\211\235\203\f\210\202\211B\210\301\302\303\"\207" [global-undo-tree-mode-buffers add-hook post-command-hook global-undo-tree-mode-check-buffers] 3])
629 (put 'global-undo-tree-mode-cmhh 'definition-name 'global-undo-tree-mode)
630 #@347 Undo changes.
631 Repeat this command to undo more changes.
632 A numeric ARG serves as a repeat count.
633
634 In Transient Mark mode when the mark is active, only undo changes
635 within the current region. Similarly, when not in Transient Mark
636 mode, just \[universal-argument] as an argument limits undo to
637 changes within the current region.
638
639 (fn &optional ARG)
640 (defalias 'undo-tree-undo #[256 "\303=\203\n\304\305!\210\306!\210\307    !\n>\204\310\311\312    D\"\210    \313H\314HG\314V\205+\315\316!\207" [buffer-undo-list buffer-undo-tree cl-struct-undo-tree-tags t user-error "No undo information in this buffer" undo-tree-undo-1 type-of signal wrong-type-argument undo-tree 2 1 message "Undo branch point!"] 5 (#$ . 80589) "*P"])
641 #@56 
642
643 (fn &optional ARG PRESERVE-REDO PRESERVE-TIMESTAMPS)
644 (defalias 'undo-tree-undo-1 #[768 "\306\205\307 \206\205\247?\310\211\311 \210\247\203'\312!\206(\313\314\211W\203G\211\315 !\f>\204?\316\317\320 D\"\210 \321H\314H\204K\322\323!\210    \203\\\324\325 \326 \"\204\\\322\327!\210\315 !\f>\204k\316\317\320 D\"\210 \321H\262\315 !\f>\204\316\317\320 D\"\210 \211\330\330H\331\321H!ZI\266\211\321\332\321H!I\266\315 !\f>\204\252\316\317\320 D\"\210 \211\330\330H\331\321H!\\I\266    \203\312\333 `\310\223\262\334\306\"\210\335\313\336\321H!\"\210\337 \210\203,\340 \210\315 !\f>\204\356\316\317\320 D\"\210 \211\330\330H\331\330H!ZI\266\211\330\332\330H!I\266\315 !\f>\204\316\317\320 D\"\210 \211\330\330H\331\330H!\\I\266\202s\315 !\f>\204;\316\317\320 D\"\210 \211\330\330H\331\330H!ZI\266\211\330\340\341!I\266\315 !\f>\204c\316\317\320 D\"\210 \211\330\330H\331\330H!\\I\266\315 !\f>\204\202\316\317\320 D\"\210 \211\321\315 !\f>\204\224\316\317\320 D\"\210 \321H\314HI\266\204\272\315 !\f>\204\260\316\317\320 D\"\210 \321H\211\342\343 I\266    \204\325\211\344\345\310\345\346\347 \344H\346\310#\"\"I\266\202?b\210\350\344H\346\"\351!\203\354\211G\342U\204\211\344\347\344H\346\352\310\211\211\211$\211\262#I\266\211\211\314\325 I\266\350\344H\346\"\351!\203\211G\342U\2042\211\344\347\344H\346\352\310\211\211\211$\211\262#I\266\211\211\313\326 I\266\310\211\223\210\210\211T\262\202)\266    ?\211*\207" [undo-tree-enable-undo-in-region undo-in-region undo-in-progress buffer-undo-tree cl-struct-undo-tree-tags deactivate-mark t region-active-p nil undo-list-transfer-to-tree prefix-numeric-value 1 0 type-of signal wrong-type-argument undo-tree 2 user-error "No further undo information" undo-tree-pull-undo-in-region-branch region-beginning region-end "No further undo information for region" 3 undo-list-byte-size undo-list-clean-GCd-elts make-marker set-marker-insertion-type primitive-undo undo-tree-copy-list undo-boundary undo-list-pop-changeset discard-pos 4 current-time 6 delq :region plist-put plist-get vectorp vector] 23 (#$ . 81311)])
645 #@305 Redo changes. A numeric ARG serves as a repeat count.
646
647 In Transient Mark mode when the mark is active, only redo changes
648 within the current region. Similarly, when not in Transient Mark
649 mode, just \[universal-argument] as an argument limits redo to
650 changes within the current region.
651
652 (fn &optional ARG)
653 (defalias 'undo-tree-redo #[256 "\303=\203\n\304\305!\210\306!\210\307    !\n>\204\310\311\312    D\"\210    \313H\314HG\314V\205+\315\316!\207" [buffer-undo-list buffer-undo-tree cl-struct-undo-tree-tags t user-error "No undo information in this buffer" undo-tree-redo-1 type-of signal wrong-type-argument undo-tree 2 1 message "Undo branch point!"] 5 (#$ . 83484) "*P"])
654 #@56 
655
656 (fn &optional ARG PRESERVE-UNDO PRESERVE-TIMESTAMPS)
657 (defalias 'undo-tree-redo-1 #[768 "\305\205\306 \206\205\247?\307\211\310 \210\247\203%\311!\206&\312\313\211W\203+\211\314\n! >\204=\315\316\317\nD\"\210\n\320H\312H\204I\321\322!\210\203Z\323\324 \325 \"\204Z\321\326!\210\314\n! >\204i\315\316\317\nD\"\210\n\320H\262\327H\312H8\262\314\n! >\204\206\315\316\317\nD\"\210\n\211\330\330H\331\330H!ZI\266\211\330\332\330H!I\266\314\n! >\204\261\315\316\317\nD\"\210\n\211\330\330H\331\330H!\\I\266\203\321\333 `\307\223\262\334\305\"\210\335\312\336\330H!\"\210\337 \210\314\n! >\204\355\315\316\317\nD\"\210\n\211\320I\266\203J\340 \210\314\n! >\204\f\315\316\317\nD\"\210\n\211\330\330H\331\320H!ZI\266\211\320\332\320H!I\266\314\n! >\2047\315\316\317\nD\"\210\n\211\330\330H\331\320H!\\I\266\202\221\314\n! >\204Y\315\316\317\nD\"\210\n\211\330\330H\331\320H!ZI\266\211\320\340\341!I\266\314\n! >\204\201\315\316\317\nD\"\210\n\211\330\330H\331\320H!\\I\266\204\236\211\342\343 I\266\204\271\211\344\345\307\345\346\347 \344H\346\307#\"\"I\266\202#b\210\350\344H\346\"\351!\203\320\211G\342U\204\345\211\344\347\344H\346\352\307\211\211\211$\211\262#I\266\211\211\320\324 I\266\350\344H\346\"\351!\203\211G\342U\204\211\344\347\344H\346\352\307\211\211\211$\211\262#I\266\211\211\330\325 I\266\307\211\223\210\210\211T\262\202'\266?\211)\207" [undo-tree-enable-undo-in-region undo-in-progress buffer-undo-tree cl-struct-undo-tree-tags deactivate-mark t region-active-p nil undo-list-transfer-to-tree prefix-numeric-value 1 0 type-of signal wrong-type-argument undo-tree 2 user-error "No further redo information" undo-tree-pull-redo-in-region-branch region-beginning region-end "No further redo information for region" 5 3 undo-list-byte-size undo-list-clean-GCd-elts make-marker set-marker-insertion-type primitive-undo undo-tree-copy-list undo-boundary undo-list-pop-changeset discard-pos 4 current-time 6 delq :region plist-put plist-get vectorp vector] 23 (#$ . 84164)])
658 #@149 Switch to a different BRANCH of the undo tree.
659 This will affect which branch to descend when *redoing* changes
660 using `undo-tree-redo'.
661
662 (fn BRANCH)
663 (defalias 'undo-tree-switch-branch #[257 "\303=\203\n\304\305!\210\306    !\n>\204\307\310\311    D\"\210    \312H\313HG\313X\203(\304\314!\210\211\315W\204I\211\306    !\n>\204>\307\310\311    D\"\210    \312H\313HGSV\203M\304\316!\210\317 \210\306    !\n>\204_\307\310\311    D\"\210    \312H\211\320I\266\321\322\"\207" [buffer-undo-list buffer-undo-tree cl-struct-undo-tree-tags t user-error "No undo information in this buffer" type-of signal wrong-type-argument undo-tree 2 1 "Not at undo branch point" 0 "Invalid branch number" undo-list-transfer-to-tree 5 message "Switched to branch %d"] 6 (#$ . 86276) (byte-code "\203\n\304!\206\200    \305=?\205\200\306 \210\307\n! >\204#\310\311\312\nD\"\210\n\313H\314H\307\n! >\2047\310\311\312\nD\"\210\n\313H\315HG\313U\203H\315Z\202~\307\n! >\204W\310\311\312\nD\"\210\n\313H\315HG\313V\205~\316\317\320\307\n! >\204t\310\311\312\nD\"\210\n\313H\315HGS#!\262C\207" [prefix-arg buffer-undo-list buffer-undo-tree cl-struct-undo-tree-tags prefix-numeric-value t undo-list-transfer-to-tree type-of signal wrong-type-argument undo-tree 2 5 1 read-number format "Branch (0-%d, on %d): "] 8)])
664 #@43 
665
666 (fn NODE &optional PRESERVE-TIMESTAMPS)
667 (defalias 'undo-tree-set #[513 "\302\303\304\"\305\306!    >\204\307\310\311D\"\210\312H\313#\210\305\313#\210\211\314H\203A\211\314H\211\315\316\211\314H\312H\"I\266\211\314H\211\262\204\306!    >\204P\307\310\311D\"\210\317H\262\320\"\204d\211\314H\262\202U\306!    >\204s\307\310\311D\"\210\317H=\204\204\321\322\211#\210\202d\306!    >\204\223\307\310\311D\"\210\317H=\204\244\323\322\211#\210\202\204\207" [buffer-undo-tree cl-struct-undo-tree-tags make-hash-table :test eq puthash type-of signal wrong-type-argument undo-tree 1 t 0 5 undo-tree-position 2 gethash undo-tree-undo-1 nil undo-tree-redo-1] 11 (#$ . 87566)])
668 #@184 Store current undo-tree state to REGISTER.
669 The saved state can be restored using
670 `undo-tree-restore-state-from-register'.
671 Argument is a character, naming the register.
672
673 (fn REGISTER)
674 (defalias 'undo-tree-save-state-to-register #[257 "\303=\203\n\304\305!\210\306 \210\307\310\311p\312    !\n>\204!\313\314\315    D\"\210    \316H\"\317\320#\"\210\312    !\n>\2049\313\314\315    D\"\210    \316H\211\211\321\322\321H\323#I\262\207" [buffer-undo-list buffer-undo-tree cl-struct-undo-tree-tags t user-error "No undo information in this buffer" undo-list-transfer-to-tree set-register registerv-make vector type-of signal wrong-type-argument undo-tree 2 :print-func undo-tree-register-data-print-func 6 plist-put :register] 10 (#$ . 88270) "cUndo-tree state to register: "])
675 #@167 Restore undo-tree state from REGISTER.
676 The state must be saved using `undo-tree-save-state-to-register'.
677 Argument is a character, naming the register.
678
679 (fn REGISTER)
680 (defalias 'undo-tree-restore-state-from-register #[257 "\302!\211\303H>\204\304\305\306D\"\210\211\307H\262    \310=\203$\311\312!\210\202=\313!\2041\311\314!\210\202=p\303H=\204=\311\315!\210\316 \210\317\307H!\207" [cl-struct-registerv-tags buffer-undo-list get-register 0 signal wrong-type-argument registerv 1 t user-error "No undo information in this buffer" undo-tree-register-data-p "Register doesn't contain undo-tree state" "Register contains undo-tree state for a different buffer" undo-list-transfer-to-tree undo-tree-set] 6 (#$ . 89040) "*cRestore undo-tree state from register: "])
681 #@320 Create the undo history file name for FILE.
682 Normally this is the file's name with "." prepended and
683 ".~undo-tree~" appended.
684
685 A match for FILE is sought in `undo-tree-history-directory-alist'
686 (see the documentation of that variable for details). If the
687 directory for the backup doesn't exist, it is created.
688
689 (fn FILE)
690 (defalias 'undo-tree-make-history-save-file-name #[257 "\302!\303!\304\305!\306R)\207" [undo-tree-history-directory-alist backup-directory-alist make-backup-file-name-1 file-name-directory "." file-name-nondirectory ".~undo-tree~"] 6 (#$ . 89819)])
691 #@320 Store undo-tree history to file.
692
693 If optional argument FILENAME is omitted, default save file is
694 ".<buffer-file-name>.~undo-tree" if buffer is visiting a file.
695 Otherwise, prompt for one.
696
697 If OVERWRITE is non-nil, any existing file will be overwritten
698 without asking for confirmation.
699
700 (fn &optional FILENAME OVERWRITE)
701 (defalias 'undo-tree-save-history #[512 "\305=\203\n\306\307!\210\310 \210    \205\276    \305=?\205\276\3111\"\312 0\202&\210\313    !\210p\314\204?\n\2037\315\n!\202=\316\317\320!\314\"\262\321!\203S\204S\322\323\324\"!\205\274\325\216\326    !\210\327    !\262\330! >\204m\331\332\333D\"\210\211\211\334\314I\266\335 \336\337\340\341\342!\343\"\344$\216\211\204\211\345 \210\346\347!r\211q\210\336\337\350\341\342!\351\"\352$\216\353\354!p\"\210\355p!\210\305\353p\"\210)\356\314\211#*\262)\262)\266\202\207" [buffer-undo-list buffer-undo-tree buffer-file-name cl-struct-undo-tree-tags print-circle t user-error "No undo information in this buffer" undo-list-transfer-to-tree (error) undo-tree-kill-visualizer undo-tree-clear-visualizer-data nil undo-tree-make-history-save-file-name expand-file-name read-file-name "File to save in: " file-exists-p yes-or-no-p format "Overwrite \"%s\"? " #[0 "\301!\207" [buffer-undo-tree undo-tree-recircle] 2] undo-tree-decircle copy-undo-tree type-of signal wrong-type-argument undo-tree 5 jka-compr-installed-p make-byte-code 0 "\300?\205\301 \207" vconcat vector [jka-compr-uninstall] 1 jka-compr-install generate-new-buffer " *temp*" "\301\300!\205    \302\300!\207" [buffer-name kill-buffer] 2 prin1 sha1 terpri write-region] 12 (#$ . 90399) nil])
702 #@324 Load undo-tree history from file.
703
704 If optional argument FILENAME is null, default load file is
705 ".<buffer-file-name>.~undo-tree" if buffer is visiting a file.
706 Otherwise, prompt for one.
707
708 If optional argument NOERROR is non-nil, return nil instead of
709 signaling an error if file is not found.
710
711 (fn &optional FILENAME NOERROR)
712 (defalias 'undo-tree-load-history #[512 "\204\203\303!\202\304\305\306!\307\"\262\3102\375\311!\2041\211\203,\312\310\307\"\210\2021\313\314\"\210\307\211\211p\262\315 \316\317\320\321\322!\323\"\324$\216\211\204L\325 \210\326\327!r\211q\210\316\317\330\321\322!\331\"\332$\216\333!\210eb\210\3341u\335p!\211\2620\202\214\210\336\307!\210\203\202\337\202\203\340\341\"\210\312\310\307\"\210\342!\230\204\252\336\307!\210\203\241\337\202\242\340\343!\210\312\310\307\"\210\3441\270\335p!\211\2620\202\317\210\336\307!\210\203\305\337\202\306\313\341\"\210\312\310\307\"\210\336\307!\210*\210)\210\345!    >\204\347\346\347\350D\"\210\211\211\351\352\353\354\355\356$I\266\357!\210\211\211\266\2030\207" [buffer-file-name cl-struct-undo-tree-tags buffer-undo-tree undo-tree-make-history-save-file-name expand-file-name read-file-name "File to load from: " nil load-error file-exists-p throw error "File \"%s\" does not exist; could not load undo-tree history" jka-compr-installed-p make-byte-code 0 "\300?\205\301 \207" vconcat vector [jka-compr-uninstall] 1 jka-compr-install generate-new-buffer " *temp*" "\301\300!\205    \302\300!\207" [buffer-name kill-buffer] 2 insert-file-contents (error) read kill-buffer message user-error "Error reading undo-tree history from \"%s\"" sha1 "Buffer has been modified; could not load undo-tree history" (error) type-of signal wrong-type-argument undo-tree 5 make-hash-table :test eq :weakness value undo-tree-recircle] 13 (#$ . 92037) nil])
713 (defalias 'undo-tree-save-history-hook #[0 "\205    \205\n\303=?\205\304\305\303\"\210\305\207" [undo-tree-mode undo-tree-auto-save-history buffer-undo-list t undo-tree-save-history nil] 3])
714 (defalias 'undo-tree-load-history-hook #[0 "\205    \205\n\304=?\205 ?\205\305\306\304\"\207" [undo-tree-mode undo-tree-auto-save-history buffer-undo-list revert-buffer-in-progress-p t undo-tree-load-history nil] 3])
715 #@43 Visualize the current buffer's undo tree.
716 (defalias 'undo-tree-visualize #[0 "\306 \210\307=\203 \310\311!\210\312 \210\313\314\315\316\307$\210    p\317\320\321 !!\210\211\322!\2050\323\324\322!!8\325!%>\204A\326\327\330D\"\210\331H&\203X'\203T\332\202Y\333\202Y\334(\335\336!\210\335\337!\210\340 \210\335\341!\210!\307=\206\221!\247\205\221\325!%>\204\213\326\327\330D\"\210\342H!Y!\203\233\343 \210\307)\344!*\207" [buffer-undo-list buffer-undo-tree display-buffer-mark-dedicated undo-tree-visualizer-buffer-name undo-tree-visualizer-parent-buffer undo-tree-visualizer-parent-mtime deactivate-mark t user-error "No undo information in this buffer" undo-list-transfer-to-tree add-hook before-change-functions undo-tree-kill-visualizer nil soft switch-to-buffer-other-window get-buffer-create buffer-file-name 5 file-attributes type-of signal wrong-type-argument undo-tree 2 9 13 3 make-local-variable undo-tree-visualizer-timestamps undo-tree-visualizer-diff undo-tree-visualizer-mode undo-tree-visualizer-lazy-drawing 4 undo-tree-visualizer-show-diff undo-tree-draw-tree cl-struct-undo-tree-tags undo-tree-visualizer-initial-node undo-tree-visualizer-relative-timestamps undo-tree-visualizer-spacing inhibit-read-only] 6 (#$ . 94312) "*"])
717 #@20 
718
719 (fn &rest DUMMY)
720 (defalias 'undo-tree-kill-visualizer #[128 "\206\302    !??\205r    q\210\303 )\207" [undo-tree-inhibit-kill-visualizer undo-tree-visualizer-buffer-name get-buffer undo-tree-visualizer-quit] 3 (#$ . 95601)])
721 #@18 
722
723 (fn UNDO-TREE)
724 (defalias 'undo-tree-draw-tree #[257 "\203\306!    >\204\307\310\311D\"\210\211\312H\202+\306!    >\204(\307\310\311D\"\210\211\313H\314 \210\315\211\316!\210\317!\210\203Q\320\321 \312\245!\210\322\312\323 \324\245]!\210\202p\320\313!\210\322\323 \312\245\325\326!\f\203j \324Z\312\245\202k\327\312#]!\210\211\330\331H\332\"\333!\203\204\211G\324U\204\231\211\331\334\331H\332\335\315\211\211\211$\211\262#I\266\211\211\336\337 I\266\340\330\331H\332\"\333!\205\270\211G\324U\205\270\211\336H\262\315\"\210\330\331H\332\"\333!\205\323\211G\324U\205\323\211\336H\262`\315\223\210\341\315)\204\352\342\343\"\210\202\342!\210\344!\210\n\262\315\211\203\342\211A\262\242!\210\202\367)\266\345)\346 \206$\306!    >\204!\307\310\311D\"\210\313H!\210)\347\306!    >\2047\307\310\311D\"\210\312H\350\"\207" [undo-tree-visualizer-lazy-drawing cl-struct-undo-tree-tags undo-tree-visualizer-needs-extending-down undo-tree-visualizer-needs-extending-up undo-tree-visualizer-timestamps undo-tree-visualizer-spacing type-of signal wrong-type-argument undo-tree 2 1 erase-buffer nil undo-tree-clear-visualizer-data undo-tree-compute-widths undo-tree-move-down window-height undo-tree-move-forward window-width 4 + undo-tree-node-char-lwidth 0 plist-get 6 :visualizer vectorp plist-put vector 3 make-marker set-marker-insertion-type undo-tree-visualizer-default-face undo-tree-extend-down t undo-tree-extend-up undo-tree-visualizer-active-branch-face undo-tree-highlight-active-branch undo-tree-draw-node current undo-tree-insert-face] 16 (#$ . 95833)])
725 #@30 
726
727 (fn NODE &optional BOTTOM)
728 (defalias 'undo-tree-extend-down #[513 "\301C\301\302!\203,G\303U\203,\304\305H\306\"\302!\205'\211G\307U\205'\211\310H\262\204\204:\211\211\262\301\262\203\211A\262\242\262\311=\204\246\302!\203]G\303U\203]\312H=\203\246\250\203\202\313\304\305H\306\"\302!\205{\211G\307U\205{\211\310H\262!Y\204\246\204\372\314\304\305H\306\"\302!\205\236\211G\307U\205\236\211\310H\262\301\311#\203\372\315H\203\316\304\316H\315H8\305H\306\"\302!\205\311\211G\307U\205\311\211\310H\262\204\357\304\305H\306\"\302!\205\344\211G\307U\205\344\211\310H\262b\210\317!\210\311\262\320\315H\"\262\202,B\202,\207" [undo-tree-visualizer-needs-extending-down nil vectorp 7 plist-get 6 :visualizer 4 3 t 0 line-number-at-pos pos-visible-in-window-p 1 5 undo-tree-draw-subtree append] 10 (#$ . 97450)])
729 #@27 
730
731 (fn NODE &optional TOP)
732 (defalias 'undo-tree-extend-up #[513 "\302\211\303!\203*G\304U\203*\305\306H\307\"\303!\205%\211G\310U\205%\211\311H\262\204r\203r\312H\262\211\203G\313=\204\240\303!\203PG\304U\203P=\203\240\250\203u\314\305\306H\307\"\303!\205n\211G\310U\205n\211\311H\262!W\204\240\204;\314`!\314\315 !^\314\305\306H\307\"\303!\205\231\211G\310U\205\231\211\311H\262!W\203;\305\306H\307\"\303!\205\266\211G\310U\205\266\211\311H\262\204l\316!\210\317!\210\211\305\306H\307\"\303!\203\327\211G\310U\204\354\211\306\320\306H\307\321\302\211\211\211$\211\262#I\266\211\211\311\322 I\266\323\305\306H\307\"\303!\205 \211G\310U\205 \211\311H\262\302\"\210\305\306H\307\"\303!\205&\211G\310U\205&\211\311H\262`\302\223\210\324\325!\"\244\313\262\202l\211\205@\302\262\202l\302\305\306H\307\"\303!\205_\211G\310U\205_\211\311H\262b\210\326\327!\210e\330 |\210\211\262\202*\207" [undo-tree-visualizer-needs-extending-down undo-tree-visualizer-needs-extending-up nil vectorp 7 plist-get 6 :visualizer 4 3 0 t line-number-at-pos window-start undo-tree-compute-widths undo-tree-move-to-parent plist-put vector make-marker set-marker-insertion-type delq undo-tree-draw-subtree undo-tree-move-up 1 line-beginning-position] 17 (#$ . 98337)])
733 #@26 
734
735 (fn FROM &optional TO)
736 (defalias 'undo-tree-expand-down #[513 "\205_\303\304\211\2031\305\"\262\306\307H\310\"\311!\205)\211G\312U\205)\211\313H\262b\210\314\303!\210\262\304\205\\\211\203Q\211@\305!\203J\303\262A\266\202\202;\210\211\205\\\315\316!))\266\203\207" [undo-tree-visualizer-needs-extending-down inhibit-read-only undo-tree-insert-face t nil undo-tree-extend-down plist-get 6 :visualizer vectorp 4 3 redisplay undo-tree-visualizer-active-branch-face undo-tree-highlight-active-branch] 9 (#$ . 99673)])
737 #@26 
738
739 (fn FROM &optional TO)
740 (defalias 'undo-tree-expand-up #[513 "\205\300\306\307\211\203s\310\"\262\311\312H\313\"\314!\205)\211G\315U\205)\211\316H\262b\210\317`!\nX\203s\320 \321U\203C\322 \323\245\202D\316!\210\310!\203O\306\262\311\312H\313\"\314!\205e\211G\315U\205e\211\316H\262b\210 \321U\204s\324\n!\210\203\200\310!\203\200\306\262\f\262\307\211\211\203\227\211@\325!\210A\266\202\202\206\210\205\275\326\327\206\271\330!>\204\265\331\332\333D\"\210\334H\"))\266\203\207" [undo-tree-visualizer-needs-extending-up inhibit-read-only scroll-margin scroll-conservatively undo-tree-visualizer-needs-extending-down undo-tree-insert-face t nil undo-tree-extend-up plist-get 6 :visualizer vectorp 4 3 line-number-at-pos undo-tree-move-up 0 window-height 2 recenter undo-tree-extend-down undo-tree-visualizer-active-branch-face undo-tree-highlight-active-branch type-of signal wrong-type-argument undo-tree 1 buffer-undo-tree cl-struct-undo-tree-tags] 10 (#$ . 100224)])
741 #@27 
742
743 (fn NODE &optional END)
744 (defalias 'undo-tree-highlight-active-branch #[513 "C\211\205B\211A\262\242\262=\204>\204\301\302H\303\"\304!\2050\211G\305U\2050\211\306H\262b\210\307\310\"\262\211\244\262\202\207" [undo-tree-visualizer-needs-extending-down plist-get 6 :visualizer vectorp 4 3 undo-tree-draw-subtree active] 6 (#$ . 101253)])
745 #@31 
746
747 (fn NODE &optional CURRENT)
748 (defalias 'undo-tree-draw-node #[513 "\306\307H\310\"\311!\205\211G\312U\205\211\313H\262b\210\203$\314    \315\245!\210\n\2053\n:\2031\n\2063\nC\306\307H\316\" \203E\317 \"\202H\317!\320\203\212\321\322!\211\323H\f>\204`\324\325\326D\"\210\211\327H\262!\203\212\322!\211\323H\f>\204|\324\325\326D\"\210\211\327H\262\211\327H\262=\204\215\320\262\203\236\330\312H $\202\271\203\250\331!\202\271\203\260\332\202\271\203\270\333\202\271\334\262\203\303\335\202\320\203\313\336\202\320\205\320\337\n\244\340!\210\314\203\343    \315\245T\202\344\327!\210\306\307H\310\"\311!\205\374\211G\312U\205\374\211\313H\262`\320\223\210\341``T\342$)\207" [undo-tree-visualizer-timestamps undo-tree-visualizer-spacing undo-tree-insert-face undo-tree-visualizer-parent-mtime cl-struct-registerv-tags undo-tree-visualizer-relative-timestamps plist-get 6 :visualizer vectorp 4 3 undo-tree-move-backward 2 :register undo-tree-node-unmodified-p nil undo-tree-register-data-p get-register 0 signal wrong-type-argument registerv 1 undo-tree-timestamp-to-string char-to-string "s" "x" "o" (undo-tree-visualizer-current-face) (undo-tree-visualizer-unmodified-face) (undo-tree-visualizer-register-face) undo-tree-insert put-text-property undo-tree-node] 11 (#$ . 101620)])
749 #@37 
750
751 (fn NODE &optional ACTIVE-BRANCH)
752 (defalias 'undo-tree-draw-subtree #[513 "\301HG\302\211\211\211\303!\210\304U\204\356\301U\203\312\305\301!\210\306\307!\210\310\301!\210\305\301!\210\306\307!\210\310\301!\210\305\301!\210\301H@\262\311\312\313H\314\"\315!\205S\211G\316U\205S\211\317H\262!\204\246\211\312\313H\314\"\315!\203m\211G\316U\204\202\211\313\320\313H\314\321\302\211\211\211$\211\262#I\266\211\211\317\322 I\266\323\312\313H\314\"\315!\205\241\211G\316U\205\241\211\317H\262\302\"\210\312\313H\314\"\315!\205\274\211G\316U\205\274\211\317H\262`\302\223\210\211B\262\202\356\305\301!\210\306\307!\210\310\301!\210\322 \211\262`\302\223\210\310\324!\324    \301H@!Z!\210\322 \211\262`\302\223\210\302\301HB\262\325\245\304\211W\203\373\211A\262\203\"@\n\326H \301H8=\203\331\327\325!\210\306\330\331    \325#\"\210b\210\327\301!\210\305\301!\210\306\332!\210\310\325!\210\305\301!\210\311\312@\313H\314\"\315!\205`\211G\316U\205`\211\317H\262!\204\265@\312\313H\314\"\315!\203{\211G\316U\204\220\211\313\320\313H\314\321\302\211\211\211$\211\262#I\266\211\211\317\322 I\266\323\312@\313H\314\"\315!\205\260\211G\316U\205\260\211\317H\262\302\"\210\312@\313H\314\"\315!\205\314\211G\316U\205\314\211\317H\262`\302\223\210@B\262b\210\327\333\334@!\324A@!\301$!\210`\302\223\266\211T\262\202\266\335\325\"\301U\203\337\211A\262\203\211@\326H\301H8=\203\275\305\301!\210\306\307!\210\310\301!\210\305\301!\210\311\312@\313H\314\"\315!\205E\211G\316U\205E\211\317H\262!\204\232\211@\312\313H\314\"\315!\203`\211G\316U\204u\211\313\320\313H\314\321\302\211\211\211$\211\262#I\266\211\211\317\322 I\266\323\312@\313H\314\"\315!\205\225\211G\316U\205\225\211\317H\262\302\"\210\312@\313H\314\"\315!\205\261\211G\316U\205\261\211\317H\262`\302\223\210\211@B\262b\210\327\333\334@!A@\203\324\324A@!\202\325\304\301$!\210`\302\223\210\211T\302\223\210\325\245\304\211W\203\354\211A\262\203@\n\326H \301H8=\203\272b\210\306\330\331\301#\"\210b\210\310\301!\210\305\301!\210\306\336!\210\305\301!\210\311\312@\313H\314\"\315!\205A\211G\316U\205A\211\317H\262!\204\226@\312\313H\314\"\315!\203\\\211G\316U\204q\211\313\320\313H\314\321\302\211\211\211$\211\262#I\266\211\211\317\322 I\266\323\312@\313H\314\"\315!\205\221\211G\316U\205\221\211\317H\262\302\"\210\312@\313H\314\"\315!\205\255\211G\316U\205\255\211\317H\262`\302\223\210@B\262A\203\344b\210\327\333\334@!A@\203\331\324A@!\202\332\304\301$!\210`\302\223\210\210\211T\262\202\351\266\237\207" [undo-tree-visualizer-spacing 1 nil undo-tree-draw-node 0 undo-tree-move-down undo-tree-insert 124 undo-tree-move-backward markerp plist-get 6 :visualizer vectorp 4 3 plist-put vector make-marker set-marker-insertion-type undo-tree-node-char-lwidth 2 5 undo-tree-move-forward 95 - 47 + undo-tree-node-char-rwidth mod 92] 23 (#$ . 102971)])
753 #@13 
754
755 (fn NODE)
756 (defalias 'undo-tree-node-char-lwidth #[257 "\211\301HG\302U\203 \302\207T\303\304H\305\"\306!\205#\211G\307U\205#\211\302H\262_\303\304H\305\"\306!\205<\211G\307U\205<\211\301H\262\302U\203J\310\245T\202K\302Z\207" [undo-tree-visualizer-spacing 1 0 plist-get 6 :visualizer vectorp 4 2] 5 (#$ . 105983)])
757 #@13 
758
759 (fn NODE)
760 (defalias 'undo-tree-node-char-rwidth #[257 "\211\301HG\302U\203 \302\207T\303\304H\305\"\306!\205#\211G\307U\205#\211\310H\262_\303\304H\305\"\306!\205<\211G\307U\205<\211\301H\262\302U\203J\310\245T\202K\302Z\207" [undo-tree-visualizer-spacing 1 0 plist-get 6 :visualizer vectorp 4 2] 5 (#$ . 106321)])
761 #@26 
762
763 (fn STR &optional ARG)
764 (defalias 'undo-tree-insert #[513 "\211\204\302\262\303!\203\304\"\262\302\262\211\305\211W\203*\211c\266\211T\262\202\266\211G_\262\306!\210\307\310!\210    \205H\311`Z`\312    $\207" [mark-active undo-tree-insert-face 1 characterp make-string 0 undo-tree-move-forward nil backward-delete-char put-text-property face] 7 (#$ . 106659)])
765 #@22 
766
767 (fn &optional ARG)
768 (defalias 'undo-tree-move-down #[256 "\300 i\301\204 \302\262y\210\300 \262\211\\U\204?\303W\2035\304\305#\306\"c\210Z\\y\210\202?\304ZZ\306\"c\210\307!\207" [line-number-at-pos nil 1 0 make-string - 10 undo-tree-move-forward] 9 (#$ . 107046)])
769 #@22 
770
771 (fn &optional ARG)
772 (defalias 'undo-tree-move-up #[256 "\211\204\300\262\301[!\207" [1 undo-tree-move-down] 3 (#$ . 107340)])
773 #@22 
774
775 (fn &optional ARG)
776 (defalias 'undo-tree-move-forward #[256 "\211\204\300\262\301\302Y\203,\303 `Z\262\211V\203u\202r\301\210\304Z\305\"c\202r\302W\205r[\262`\306 Z\262\211\307ZW\203k\310 `\301\223\311\312\"\210eb\210m\204g\313\304\314\315#\305\"!\210\300y\210\202Q\211b\266\206p\300[u\207" [1 nil 0 line-end-position make-string 32 line-beginning-position 2 make-marker set-marker-insertion-type t insert-before-markers - -2] 9 (#$ . 107477)])
777 #@22 
778
779 (fn &optional ARG)
780 (defalias 'undo-tree-move-backward #[256 "\211\204\300\262\301[!\207" [1 undo-tree-move-forward] 3 (#$ . 107960)])
781 #@13 
782
783 (fn NODE)
784 (defalias 'undo-tree-move-to-parent #[257 "\211\301H\211\302H\211G\303\304\305H\306\"\307!\205\211G\310U\205\211\311H\262b\210\302U\204\312\"\262\313\314\"\302U\203@\211\314\245U\204\211\314\245W\203\245\211\233\262\315\316\317@!\314\245\302#!\210\320\314\245\302#\301\211W\203\206\211A\262\315\316\321@!\317    @!\302$!\266\211T\262\202b\266\313\314\"\302U\203A\262\315\316\321@!\314\245\302#!\210\202\314\245\233\262\313\314\"\302U\203\306\322\316\317@!\314\245\302#!\210A\262\320\314\245\313\314\"#\301\211W\203\365\211\322\316\321@!\317    @!\302$!\210A\262\210\211T\262\202\321\266\322\316\321@!\314\245\302#!\210\323\311!\207" [undo-tree-visualizer-spacing 0 1 nil plist-get 6 :visualizer vectorp 4 3 undo-tree-position mod 2 undo-tree-move-forward + undo-tree-node-char-rwidth - undo-tree-node-char-lwidth undo-tree-move-backward undo-tree-move-up] 14 (#$ . 108106)])
785 #@54 
786
787 (fn TIMESTAMP &optional RELATIVE CURRENT REGISTER)
788 (defalias 'undo-tree-timestamp-to-string #[1025 "\203\253\300\301\302\303 \"!!\304\305\245\211\262\306V\203+\211\307V\203$\310\202v\311\312\"\202v\305\246\262\313\245\211\262\306V\203B\311\314\"\202v\313\246\262\315\245\211\262\306V\203Y\311\316\"\202v\315\246\262\317\245\211\262\306V\203p\311\320\"\202v\311\321\317\246\"\262\203\200\322\202\201\323\203\220\324\325!\326Q\202\221\327Q\262G\262\211\330W\203\251\331\330Z\332\"P\202\252\207\203\263\333\202\264\334\335\336\"\203\306\324\325!\326Q\202\307\327Q\207" [floor float-time subtract-time current-time nil 315360000 0 999 "-ages" format "-%dy" 86400 "-%dd" 3600 "-%dh" 60 "-%dm" "-%ds" "*" " " "[" char-to-string "]" "   " 9 make-string 32 " *" "  " format-time-string "%H:%M:%S"] 11 (#$ . 109065)])
789 (defvar undo-tree-visualizer-mode-hook nil)
790 (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [undo-tree-visualizer-mode-hook variable-documentation put "Hook run after entering undo-tree-visualizer mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp undo-tree-visualizer-mode-map definition-name undo-tree-visualizer-mode] 4)
791 (defvar undo-tree-visualizer-mode-map (make-sparse-keymap))
792 (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [undo-tree-visualizer-mode-map variable-documentation put purecopy "Keymap for `undo-tree-visualizer-mode'." undo-tree-visualizer-mode derived-mode-parent special-mode] 5)
793 #@607 Major mode used in undo-tree visualizer.
794
795 The undo-tree visualizer can only be invoked from a buffer in
796 which `undo-tree-mode' is enabled. The visualizer displays the
797 undo history tree graphically, and allows you to browse around
798 the undo history, undoing or redoing the corresponding changes in
799 the parent buffer.
800
801 Within the undo-tree visualizer, the following keys are available:
802
803   \{undo-tree-visualizer-mode-map}
804
805 In addition to any hooks its parent mode `special-mode' might have run,
806 this mode runs the hook `undo-tree-visualizer-mode-hook', as the final or penultimate step
807 during initialization.
808 (defalias 'undo-tree-visualizer-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 !\210\307\321\211)\322\323!\207" [delay-mode-hooks major-mode mode-name undo-tree-visualizer-mode-map truncate-lines cursor-type make-local-variable t special-mode undo-tree-visualizer-mode "undo-tree-visualizer" mode-class put keymap-parent set-keymap-parent current-local-map use-local-map nil run-mode-hooks undo-tree-visualizer-mode-hook undo-tree-visualizer-selected-node] 6 (#$ . 110712) nil])
809 #@75 Undo changes. A numeric ARG serves as a repeat count.
810
811 (fn &optional ARG)
812 (defalias 'undo-tree-visualize-undo #[256 "\306!    >\204\307\310\311D\"\210\312H\313C\314\315\316!\210*\317\f!\210\320 \210\321\322\323\324\325\"\326\"\327$\216\315\330!*\207" [buffer-undo-tree cl-struct-undo-tree-tags inhibit-read-only undo-tree-insert-face undo-tree-visualizer-parent-buffer undo-tree-inhibit-kill-visualizer type-of signal wrong-type-argument undo-tree 2 nil undo-tree-visualizer-active-branch-face t undo-tree-draw-node switch-to-buffer-other-window deactivate-mark make-byte-code 0 "\301\306\n! >\204\307\310\311\nD\"\210\n\312H\240\210\313\f!\210 \203#\314\300\301\242\"\210\315\316\301\242\317\"\210)\2054\320 \207" vconcat vector [buffer-undo-tree cl-struct-undo-tree-tags undo-tree-visualizer-buffer-name undo-tree-visualizer-lazy-drawing type-of signal wrong-type-argument undo-tree 2 switch-to-buffer-other-window undo-tree-expand-up t undo-tree-draw-node current undo-tree-visualizer-update-diff inhibit-read-only undo-tree-visualizer-diff] 5 undo-tree-undo-1] 10 (#$ . 111881) "p"])
813 #@75 Redo changes. A numeric ARG serves as a repeat count.
814
815 (fn &optional ARG)
816 (defalias 'undo-tree-visualize-redo #[256 "\306!    >\204\307\310\311D\"\210\312H\313C\314\315\316\306!    >\204(\307\310\311D\"\210\312H!\210*\317\f!\210\320 \210\321\322\323\324\325\"\326\"\327$\216\315\330!*\207" [buffer-undo-tree cl-struct-undo-tree-tags inhibit-read-only undo-tree-insert-face undo-tree-visualizer-parent-buffer undo-tree-inhibit-kill-visualizer type-of signal wrong-type-argument undo-tree 2 nil undo-tree-visualizer-active-branch-face t undo-tree-draw-node switch-to-buffer-other-window deactivate-mark make-byte-code 0 "\301\306\n! >\204\307\310\311\nD\"\210\n\312H\240\210\313\f!\210 \203#\314\300\301\242\"\210\315\316\301\242\317\"\210)\2054\320 \207" vconcat vector [buffer-undo-tree cl-struct-undo-tree-tags undo-tree-visualizer-buffer-name undo-tree-visualizer-lazy-drawing type-of signal wrong-type-argument undo-tree 2 switch-to-buffer-other-window undo-tree-expand-down t undo-tree-draw-node current undo-tree-visualizer-update-diff inhibit-read-only undo-tree-visualizer-diff] 5 undo-tree-redo-1] 10 (#$ . 112994) "p"])
817 #@170 Switch to next branch of the undo tree.
818 This will affect which branch to descend when *redoing* changes
819 using `undo-tree-redo' or `undo-tree-visualizer-redo'.
820
821 (fn ARG)
822 (defalias 'undo-tree-visualize-switch-branch-right #[257 "\304\305!    >\204\306\307\310D\"\210\311H\312H\313\"\314!\205'\211G\315U\205'\211\316H\262b\210\317\320\321\305!    >\204?\306\307\310D\"\210\311H!\210*\305!    >\204T\306\307\310D\"\210\311H\322H\305!    >\204h\306\307\310D\"\210\311H\211\322\\\305!    >\204\306\307\310D\"\210\311H\323HGY\203\242\305!    >\204\230\306\307\310D\"\210\311H\323HGS\202\261\\\324X\203\256\324\202\261\\I\266\320\304\305!    >\204\306\306\307\310D\"\210\311H\312H\313\"\314!\205\335\211G\315U\205\335\211\316H\262b\210\325\321\305!    >\204\363\306\307\310D\"\210\311H!\210)\326\305!    >\204    \306\307\310D\"\210\311H\327\")\207" [buffer-undo-tree cl-struct-undo-tree-tags inhibit-read-only undo-tree-insert-face plist-get type-of signal wrong-type-argument undo-tree 2 6 :visualizer vectorp 4 3 undo-tree-visualizer-default-face t undo-tree-highlight-active-branch 5 1 0 undo-tree-visualizer-active-branch-face undo-tree-draw-node current] 10 (#$ . 114149) "p"])
823 #@174 Switch to previous branch of the undo tree.
824 This will affect which branch to descend when *redoing* changes
825 using `undo-tree-redo' or `undo-tree-visualizer-redo'.
826
827 (fn ARG)
828 (defalias 'undo-tree-visualize-switch-branch-left #[257 "\300[!\207" [undo-tree-visualize-switch-branch-right] 3 (#$ . 115363) "p"])
829 #@32 Quit the undo-tree visualizer.
830 (defalias 'undo-tree-visualizer-quit #[0 "\302!\210\303\216r    q\210\304\305\306\307#*\207" [buffer-undo-tree undo-tree-visualizer-parent-buffer undo-tree-clear-visualizer-data #[0 "\203\302 \210    \303\304\303!\210\305\216\306!\211\262\203\307!\202!\310!)\207" [undo-tree-visualizer-diff undo-tree-visualizer-parent-buffer undo-tree-visualizer-hide-diff nil kill-buffer #[0 "\300\207" [nil] 1] get-buffer-window select-window switch-to-buffer] 4] remove-hook before-change-functions undo-tree-kill-visualizer t] 4 (#$ . 115676) nil])
831 #@68 Quit the undo-tree visualizer and return buffer to original state.
832 (defalias 'undo-tree-visualizer-abort #[0 "\301 \210\302!\207" [undo-tree-visualizer-initial-node undo-tree-visualizer-quit undo-tree-set] 3 (#$ . 116255) nil])
833 #@105 Set buffer to state corresponding to undo tree node
834 at POS, or point if POS is nil.
835
836 (fn &optional POS)
837 (defalias 'undo-tree-visualizer-set #[256 "\211\204`\262\306\307\"\211\205+\310!\210\311\312!\210)\310\n!\210\311\313\f!\210) \205+\314 \207" [undo-tree-visualizer-parent-buffer undo-tree-inhibit-kill-visualizer undo-tree-visualizer-buffer-name inhibit-read-only buffer-undo-tree undo-tree-visualizer-diff get-text-property undo-tree-node switch-to-buffer-other-window t undo-tree-set undo-tree-draw-tree undo-tree-visualizer-update-diff] 4 (#$ . 116492) nil])
838 #@83 Set buffer to state corresponding to undo tree node
839 at mouse event POS.
840
841 (fn POS)
842 (defalias 'undo-tree-visualizer-mouse-set #[257 "\300\301A@!!\207" [undo-tree-visualizer-set event-start] 4 (#$ . 117073) "@e"])
843 #@485 Undo to last branch point, register, or saved state.
844 If X is the symbol `branch', undo to last branch point. If X is
845 the symbol `register', undo to last register. If X is the sumbol
846 `saved', undo to last saved state. If X is null, undo to first of
847 these that's encountered.
848
849 Interactively, a single \[universal-argument] specifies
850 `branch', a double \[universal-argument] \[universal-argument]
851 specifies `saved', and a negative prefix argument specifies
852 `register'.
853
854 (fn &optional X)
855 (defalias 'undo-tree-visualize-undo-to-x #[256 "\306\307!\203&\211\203&\310!\262\211\311W\203\312\202$\211\313X\203#\314\202$\315\262\203.    \202@\316\n! >\204=\317\320\321\nD\"\210\n\322H\f\323\324 \210\311H\203\343\203Y\325 \210    \211\262\202q\326 \210\316\n! >\204k\317\320\321\nD\"\210\n\322H\211\262\210\203|\314=\203\226\316\n! >\204\213\317\320\321\nD\"\210\n\322H\327HG\327V\204\343\203\240\312=\203\323\330\331H\332\"\211\262\203\323\333\334!\211\311H >\204\277\317\320\335D\"\210\211\327H\262\211\262!\203\323\327H=\204\343\203\335\315=\203E\336!\203E\205\356\337\205\355    !\207" [undo-tree-visualizer-selection-mode undo-tree-visualizer-selected-node buffer-undo-tree cl-struct-undo-tree-tags undo-tree-visualizer-diff cl-struct-registerv-tags called-interactively-p any prefix-numeric-value 0 register 4 branch saved type-of signal wrong-type-argument undo-tree 2 nil undo-tree-visualizer-hide-diff undo-tree-visualizer-select-previous undo-tree-visualize-undo 1 plist-get 6 :register undo-tree-register-data-p get-register registerv undo-tree-node-unmodified-p undo-tree-visualizer-show-diff] 10 (#$ . 117292) "P"])
856 #@485 Redo to last branch point, register, or saved state.
857 If X is the symbol `branch', redo to last branch point. If X is
858 the symbol `register', redo to last register. If X is the sumbol
859 `saved', redo to last saved state. If X is null, redo to first of
860 these that's encountered.
861
862 Interactively, a single \[universal-argument] specifies
863 `branch', a double \[universal-argument] \[universal-argument]
864 specifies `saved', and a negative prefix argument specifies
865 `register'.
866
867 (fn &optional X)
868 (defalias 'undo-tree-visualize-redo-to-x #[256 "\306\307!\203&\211\203&\310!\262\211\311W\203\312\202$\211\313X\203#\314\202$\315\262\203.    \202@\316\n! >\204=\317\320\321\nD\"\210\n\322H\f\323\324 \210\325H\203\343\203Y\326 \210    \211\262\202q\327 \210\316\n! >\204k\317\320\321\nD\"\210\n\322H\211\262\210\203|\314=\203\226\316\n! >\204\213\317\320\321\nD\"\210\n\322H\325HG\325V\204\343\203\240\312=\203\323\330\331H\332\"\211\262\203\323\333\334!\211\311H >\204\277\317\320\335D\"\210\211\325H\262\211\262!\203\323\325H=\204\343\203\335\315=\203E\336!\203E\205\356\337\205\355    !\207" [undo-tree-visualizer-selection-mode undo-tree-visualizer-selected-node buffer-undo-tree cl-struct-undo-tree-tags undo-tree-visualizer-diff cl-struct-registerv-tags called-interactively-p any prefix-numeric-value 0 register 4 branch saved type-of signal wrong-type-argument undo-tree 2 nil undo-tree-visualizer-hide-diff 1 undo-tree-visualizer-select-next undo-tree-visualize-redo plist-get 6 :register undo-tree-register-data-p get-register registerv undo-tree-node-unmodified-p undo-tree-visualizer-show-diff] 10 (#$ . 118962) "P"])
869 #@32 Toggle display of time-stamps.
870 (defalias 'undo-tree-visualizer-toggle-timestamps #[0 "?\211\203    \203\305\202\306\202\307\310\311\f!)\207" [undo-tree-visualizer-timestamps undo-tree-visualizer-relative-timestamps undo-tree-visualizer-spacing inhibit-read-only buffer-undo-tree 9 13 3 t undo-tree-draw-tree] 3 (#$ . 120627) nil])
871 #@22 
872
873 (fn &optional ARG)
874 (defalias 'undo-tree-visualizer-scroll-left #[256 "\300\206\301\302\"\207" [scroll-left 1 t] 4 (#$ . 120973) "p"])
875 #@22 
876
877 (fn &optional ARG)
878 (defalias 'undo-tree-visualizer-scroll-right #[256 "\300\206\301\302\"\207" [scroll-right 1 t] 4 (#$ . 121118) "p"])
879 #@22 
880
881 (fn &optional ARG)
882 (defalias 'undo-tree-visualizer-scroll-up #[256 "\211\247\203 \211\301W\204\211\302=\203\303!\207\304\216\305!\210)?\205'm\205'\306 \207" [undo-tree-visualizer-needs-extending-down 0 - undo-tree-visualizer-scroll-down #[0 "\302\303!    >\204\304\305\306D\"\210\307H\310H\303!    >\204$\304\305\306D\"\210\307H\311H8!\207" [buffer-undo-tree cl-struct-undo-tree-tags undo-tree-expand-down type-of signal wrong-type-argument undo-tree 2 5 1] 6] scroll-up-command scroll-up] 3 (#$ . 121265) "P"])
883 #@22 
884
885 (fn &optional ARG)
886 (defalias 'undo-tree-visualizer-scroll-down #[256 "\211\247\203 \211\304W\204\211\305=\203\306!\207\211\206\307 Z\310\311 !S    \2038\211W\2038\312eb\210\313Z!\210)\266\314\216\315!\210) ?\205Lo\205L\316 \207" [next-screen-context-lines undo-tree-visualizer-needs-extending-up inhibit-read-only undo-tree-visualizer-needs-extending-down 0 - undo-tree-visualizer-scroll-up window-height line-number-at-pos window-start t undo-tree-move-up #[0 "\302\303!    >\204\304\305\306D\"\210\307H\310H!\207" [buffer-undo-tree cl-struct-undo-tree-tags undo-tree-expand-up type-of signal wrong-type-argument undo-tree 2 0] 5] scroll-down-command scroll-down] 6 (#$ . 121798) "P"])
887 #@139 Non-nil if Undo-Tree-Visualizer-Selection mode is enabled.
888 Use the command `undo-tree-visualizer-selection-mode' to change this variable.
889 (defvar undo-tree-visualizer-selection-mode nil (#$ . 122512))
890 (make-variable-buffer-local 'undo-tree-visualizer-selection-mode)
891 #@74 Toggle mode to select nodes in undo-tree visualizer.
892
893 (fn &optional ARG)
894 (defalias 'undo-tree-visualizer-selection-mode #[256 "\306 \307=\203 ?\202\310!\311V\211\203H\312\313\n! >\204(\314\315\316\nD\"\210\n\317H \203~\320'!\321(\211\203Cr\211q\210\322 \210))\210\202~\323\211\324\313\n! >\204\\\314\315\316\nD\"\210\n\317H\325H\326\"\327!\205s\211G\330U\205s\211\331H\262b\210 \203~\332 \210\333\334\203\210\335\202\211\336\"\210\337\340!\203\255\306 \203\235\211\306 \232\203\255\341\342\343\203\250\344\202\251\345#\266\210\346 \210\207" [undo-tree-visualizer-selection-mode cursor-type buffer-undo-tree cl-struct-undo-tree-tags undo-tree-visualizer-selected-node undo-tree-visualizer-diff current-message toggle prefix-numeric-value 0 box type-of signal wrong-type-argument undo-tree 2 get-buffer t erase-buffer nil plist-get 6 :visualizer vectorp 4 3 undo-tree-visualizer-update-diff run-hooks undo-tree-visualizer-selection-mode-hook undo-tree-visualizer-selection-mode-on-hook undo-tree-visualizer-selection-mode-off-hook called-interactively-p any " in current buffer" message "Undo-Tree-Visualizer-Selection mode %sabled%s" "en" "dis" force-mode-line-update undo-tree-diff-buffer-name inhibit-read-only] 8 (#$ . 122785) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
895 (defvar undo-tree-visualizer-selection-mode-hook nil)
896 (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\211%\207" [undo-tree-visualizer-selection-mode-map undo-tree-visualizer-selection-mode-hook variable-documentation put "Hook run after entering or leaving `undo-tree-visualizer-selection-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 undo-tree-visualizer-selection-mode "Select" nil] 6)
897 #@44 Move to previous node.
898
899 (fn &optional ARG)
900 (defalias 'undo-tree-visualizer-select-previous #[256 "\3032-\206\n\304\305\211W\205*\211\305H\204\306\303\307\"\210\305H\262\210\211T\262\202 \266\2020\210    \2037\310\"\210\n\203E\211=\204E\311!\210\312\313H\314\"\315!\205[\211G\316U\205[\211\317H\262b\210\211\211\207" [undo-tree-visualizer-selected-node undo-tree-visualizer-lazy-drawing undo-tree-visualizer-diff top 1 0 throw t undo-tree-expand-up undo-tree-visualizer-update-diff plist-get 6 :visualizer vectorp 4 3] 8 (#$ . 124630) "p"])
901 #@40 Move to next node.
902
903 (fn &optional ARG)
904 (defalias 'undo-tree-visualizer-select-next #[256 "\30325\206\n\304\305\211W\2052\211\306H\304H8\204!\307\303\310\"\210\306H\304H8\262\210\211T\262\202 \266\2020\210    \203?\311\"\210\n\203M\211=\204M\312!\210\313\314H\315\"\316!\205c\211G\317U\205c\211\320H\262b\210\211\211\207" [undo-tree-visualizer-selected-node undo-tree-visualizer-lazy-drawing undo-tree-visualizer-diff bottom 1 0 5 throw t undo-tree-expand-down undo-tree-visualizer-update-diff plist-get 6 :visualizer vectorp 4 3] 8 (#$ . 125199) "p"])
905 #@51 Move right to a sibling node.
906
907 (fn &optional ARG)
908 (defalias 'undo-tree-visualizer-select-right #[256 "\302\303\304H\305\"\306!\205\211G\307U\205\211\310H\262b\210\311 \262\3122Y\313\211W\205V\211\2037=\203N\302u\210\314`\315\"\262`U\203-\316\312\317\"\210\202-\210\211T\262\202&\266\2020\210\303\206`\304H\305\"\306!\205t\211G\307U\205t\211\310H\262b\210    \203\212\203\212=\204\212\320!\210\205\221\211\207" [undo-tree-visualizer-selected-node undo-tree-visualizer-diff nil plist-get 6 :visualizer vectorp 4 3 line-end-position end 0 get-text-property undo-tree-node throw t undo-tree-visualizer-update-diff] 9 (#$ . 125781) "p"])
909 #@50 Move left to a sibling node.
910
911 (fn &optional ARG)
912 (defalias 'undo-tree-visualizer-select-left #[256 "\302`\303\"\304\305\306H\307\"\310!\205\211G\311U\205\211\312H\262b\210\313 \262\3142\\\315\211W\205Y\211\203:=\203Q\316u\210\302`\303\"\262`U\2030\317\314\320\"\210\2020\210\211T\262\202)\266\2020\210\305\206c\306H\307\"\310!\205w\211G\311U\205w\211\312H\262b\210    \203\215\203\215=\204\215\321!\210\205\224\211\207" [undo-tree-visualizer-selected-node undo-tree-visualizer-diff get-text-property undo-tree-node nil plist-get 6 :visualizer vectorp 4 3 line-beginning-position beg 0 -1 throw t undo-tree-visualizer-update-diff] 9 (#$ . 126459) "p"])
913 #@12 
914
915 (fn POS)
916 (defalias 'undo-tree-visualizer-select #[257 "\303\304\"\211\205A\305\306H\307\"\310!\205\211G\311U\205\211\312H\262b\210\2030\313    \"\210\314    \"\210\n\203>\211    =\204>\315!\210\211\211\207" [undo-tree-visualizer-lazy-drawing undo-tree-visualizer-selected-node undo-tree-visualizer-diff get-text-property undo-tree-node plist-get 6 :visualizer vectorp 4 3 undo-tree-expand-up undo-tree-expand-down undo-tree-visualizer-update-diff] 5 (#$ . 127155)])
917 #@53 Select undo tree node at mouse event POS.
918
919 (fn POS)
920 (defalias 'undo-tree-visualizer-mouse-select #[257 "\300\301A@!!\207" [undo-tree-visualizer-select event-start] 4 (#$ . 127637) "@e"])
921 #@46 Toggle diff display in undo-tree visualizer.
922 (defalias 'undo-tree-visualizer-toggle-diff #[0 "\203\301 \207\302 \207" [undo-tree-visualizer-diff undo-tree-visualizer-hide-diff undo-tree-visualizer-show-diff] 1 (#$ . 127831) nil])
923 #@61 Toggle diff display in undo-tree visualizer selection mode.
924 (defalias 'undo-tree-visualizer-selection-toggle-diff #[0 "\203\301 \207\302`\303\"\211\205\304!\207" [undo-tree-visualizer-diff undo-tree-visualizer-hide-diff get-text-property undo-tree-node undo-tree-visualizer-show-diff] 3 (#$ . 128070) nil])
925 #@23 
926
927 (fn &optional NODE)
928 (defalias 'undo-tree-visualizer-show-diff #[256 "\303r    q\210\304!)\305\306\307 \262\310\"\210\311!)\207" [undo-tree-visualizer-diff undo-tree-visualizer-parent-buffer display-buffer-mark-dedicated t undo-tree-diff soft nil split-window set-window-buffer shrink-window-if-larger-than-buffer] 7 (#$ . 128389)])
929 (defalias 'undo-tree-visualizer-hide-diff #[0 "\302\303    !\211\205$\304!r\305\306\307\310\311!\312\"\313$\216\314@\315\"\210\316 *\262\207" [undo-tree-visualizer-diff undo-tree-diff-buffer-name nil get-buffer-window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord kill-buffer-and-window] 8])
930 #@23 
931
932 (fn &optional NODE)
933 (defalias 'undo-tree-diff #[256 "\306\211\307\310!    >\204\311\312\313D\"\210\314H\315\206#\316H\206#\317\"\210\320p!\262\315\317\"\210)\266\321p\306\322\323 !%\262\307r\211q\210eb\210`\324\325!T|\210db\210\326y\210`d|\210\306\307*\207" [buffer-undo-tree cl-struct-undo-tree-tags undo-tree-inhibit-kill-visualizer undo-tree-diff-buffer-name inhibit-read-only cursor-type nil t type-of signal wrong-type-argument undo-tree 2 undo-tree-set 0 preserve-timestamps diff-file-local-copy diff-no-select noasync get-buffer-create line-end-position 3 -2 buffer-read-only] 10 (#$ . 129133)])
934 #@23 
935
936 (fn &optional NODE)
937 (defalias 'undo-tree-visualizer-update-diff #[256 "rq\210\302!\210)\303    !\211\205\304 \210\305!\207" [undo-tree-visualizer-parent-buffer undo-tree-diff-buffer-name undo-tree-diff get-buffer-window balance-windows shrink-window-if-larger-than-buffer] 4 (#$ . 129762)])
938 (provide 'undo-tree)