403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /usr/share/emacs/site-lisp/mercurial/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/site-lisp/mercurial/mercurial.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

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

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

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require diff-mode easymenu executable vc] 2)
#@77 Test CLAUSES for feature at compile time.
Each clause is (FEATURE BODY...).
(defalias 'hg-feature-cond '(macro . #[(&rest clauses) "\30523\306\211\2051\n@\211@	A\211\307=\204!\310\f!\203(\311\305\312B\"\210*\nA\211\204\f\306*0\207" [clauses x --dolist-tail-- body feature --cl-block-nil-- nil t featurep throw progn] 5 (#$ . 520)]))
(byte-code "\300\301!\210\302\303\304\305\306\307%\210\310\311\312\313\314\315\306\303&\210\310\316\304\317\314\320\306\303&\210\310\321\304\322\314\320\306\303&\210\310\323\304\324\314\320\306\303&\210\310\325\304\326\314\320\306\303&\210\310\327\330\331\314\320\306\303&\210\310\332\304\333\314\334\306\303&\210\310\335\304\336\314\334\306\303&\210\310\337\340\341\314\342\306\303&\210\310\343\344\345\314\342\306\303&\210\310\346\347\350\314\334\306\303&\210\310\351\352\353\314\354\306\303&\210\310\355\356\357\314\354\306\303&\207" [require view custom-declare-group mercurial nil "Mercurial distributed SCM." :group tools custom-declare-variable hg-binary (or (executable-find "hg") (dolist (path '("~/bin/hg" "/usr/bin/hg" "/usr/local/bin/hg")) (when (file-executable-p path) (return path)))) "The path to Mercurial's hg executable." :type (file :must-match t) hg-mode-hook "Hook run when a buffer enters hg-mode." sexp hg-commit-mode-hook "Hook run when a buffer is created to prepare a commit." hg-pre-commit-hook "Hook run before a commit is performed.\nIf you want to prevent the commit from proceeding, raise an error." hg-log-mode-hook "Hook run after a buffer is filled with log information." hg-global-prefix "h" "The global prefix for Mercurial keymap bindings." hg-commit-allow-empty-message "Whether to allow changes to be committed with empty descriptions." boolean hg-commit-allow-empty-file-list "Whether to allow changes to be committed without any modified files." hg-rev-completion-limit 100 "The maximum number of revisions that hg-read-rev will offer to complete.\nThis affects memory usage and performance when prompting for revisions\nin a repository with a lot of history." integer hg-log-limit 50 "The maximum number of revisions that hg-log will display." hg-update-modeline t "Whether to update the modeline with the status of a file after every save.\nSet this to nil on platforms with poor process management, such as Windows." hg-incoming-repository "default" "The repository from which changes are pulled from by default.\nThis should be a symbolic repository name, since it is used for all\nrepository-related commands." string hg-outgoing-repository "" "The repository to which changes are pushed to by default.\nThis should be a symbolic repository name, since it is used for all\nrepository-related commands."] 8)
#@36 Is this file managed by Mercurial?
(defvar hg-mode nil (#$ . 3240))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local hg-mode put permanent-local t] 4)
(defvar hg-status nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local hg-status put permanent-local t] 4)
(defvar hg-prev-buffer nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local hg-prev-buffer put permanent-local t] 4)
(defvar hg-root nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local hg-root put permanent-local t] 4)
(defvar hg-view-mode nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local hg-view-mode put permanent-local t] 4)
(defvar hg-view-file-name nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local hg-view-file-name put permanent-local t] 4)
#@47 The name to use for Mercurial output buffers.
(defvar hg-output-buffer-name "*Hg*" (#$ . 4127))
(defvar hg-file-history nil)
(defvar hg-repo-history nil)
(defvar hg-rev-history nil)
(defvar hg-repo-completion-table nil)
(defconst hg-commit-message-start "--- Enter your commit message.  Type `C-c C-c' to commit. ---\n")
(defconst hg-commit-message-end "--- Files in bold will be committed.  Click to toggle selection. ---\n")
(defconst hg-state-alist '((77 . modified) (65 . added) (82 . removed) (33 . deleted) (67 . normal) (73 . ignored) (63)))
#@54 This keymap overrides some default vc-mode bindings.
(defvar hg-prefix-map (byte-code "\302 \303	\"\210\304\305\306#\210\304\307\310#\210\304\311\312#\210\304\313\314#\210\304\315\316#\210\304\317\320#\210\304\321\322#\210\304\323\324#\210)\207" [map vc-prefix-map make-sparse-keymap set-keymap-parent define-key "=" hg-diff "c" hg-undo "g" hg-annotate "i" hg-add "l" hg-log "n" hg-commit-start "u" hg-revert-buffer "~" hg-version-other-window] 4) (#$ . 4682))
(defvar hg-mode-map (byte-code "\302 \303\304	#\210)\207" [map hg-prefix-map make-sparse-keymap define-key "v"] 4))
(byte-code "\301\302\211#\207" [hg-mode-map add-minor-mode hg-mode] 4)
(defvar hg-global-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\316#\210\302\332\333#\210\302\334\335#\210\302\336\337#\210\302\340\341#\210\302\342\343#\210)\207" [map make-sparse-keymap define-key "," hg-incoming "." hg-outgoing "<" hg-pull "=" hg-diff-repo ">" hg-push "?" hg-help-overview "A" hg-addremove "U" hg-revert "a" hg-add "c" hg-commit-start "f" hg-forget "h" "i" hg-init "l" hg-log-repo "r" hg-root "s" hg-status "u" hg-update] 4))
(global-set-key hg-global-prefix hg-global-map)
(defvar hg-view-mode-map (byte-code "\301 \302\303\304#\210)\207" [map make-sparse-keymap define-key [mouse-2] hg-buffer-mouse-clicked] 4))
(add-minor-mode 'hg-view-mode "" hg-view-mode-map)
(defvar hg-commit-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210)\207" [map make-sparse-keymap define-key "" hg-commit-finish "" hg-commit-kill "v=" hg-diff-repo] 4))
(defvar hg-commit-mode-file-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\306#\210)\207" [map make-sparse-keymap define-key [mouse-2] hg-commit-mouse-clicked " " hg-commit-toggle-file "
"] 4))
(defalias 'hg-binary #[nil "\203\207\301\302!\207" [hg-binary error "No `hg' executable found!"] 2])
(put 'hg-binary 'byte-optimizer 'byte-compile-inline-expand)
#@230 Replace all matches in STR for REGEXP with NEWTEXT string.
Return the new string.  Optional LITERAL non-nil means do a literal
replacement.

This function bridges yet another pointless impedance gap between
XEmacs and GNU Emacs.
(defalias 'hg-replace-in-string #[(str regexp newtext &optional literal) "\304	\n\305%\207" [regexp newtext str literal replace-regexp-in-string nil] 6 (#$ . 6821)])
(put 'hg-replace-in-string 'byte-optimizer 'byte-compile-inline-expand)
#@55 Strip leading and trailing blank lines from a string.
(defalias 'hg-strip #[(str) "\304\305\306\307\n\306	%,\310\305\306\307\n\306	%,\207" [str literal newtext regexp "[
\n][ 	
\n]*\\'" "" nil replace-regexp-in-string "\\`[ 	
\n]*[
\n]"] 6 (#$ . 7296)])
(put 'hg-strip 'byte-optimizer 'byte-compile-inline-expand)
#@40 Strip trailing newlines from a string.
(defalias 'hg-chomp #[(str) "\304\305\306\307\n\306	%,\207" [str literal newtext regexp "[
\n]+\\'" "" nil replace-regexp-in-string] 6 (#$ . 7629)])
(put 'hg-chomp 'byte-optimizer 'byte-compile-inline-expand)
#@139 Run the shell command COMMAND, returning (EXIT-CODE . COMMAND-OUTPUT).
The list ARGS contains a list of arguments to pass to the command.
(defalias 'hg-run-command #[(command &rest args) "\305\306\307!\310\216	r	q\210\311\312\n\305\313\305&*r	q\210\314 +\f*B\207" [exit-code standard-output command args output nil generate-new-buffer " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] apply call-process t buffer-string] 7 (#$ . 7891)])
#@76 Run the Mercurial command COMMAND, returning (EXIT-CODE . COMMAND-OUTPUT).
(defalias 'hg-run #[(command &rest args) "\303\304\203\n\202
\305\306!	\n$\207" [hg-binary command args apply hg-run-command error "No `hg' executable found!"] 5 (#$ . 8363)])
#@128 Run the Mercurial command COMMAND, returning its output.
If the command does not exit with a zero status code, raise an error.
(defalias 'hg-run0 #[(command &rest args) "\304\305\203\n\202
\306\307!	\n$\211@\310=\204#\306\311	\nB@#\202%A)\207" [hg-binary command args res apply hg-run-command error "No `hg' executable found!" 0 "Mercurial command failed %s - exit code %s"] 6 (#$ . 8625)])
(defalias 'hg-do-across-repo '(macro . #[(path &rest body) "\304\305!\304\306!\307	\310\nDDC\311\312\313B\314D\315\316\317\320\321	EEBBFDE*\207" [buf-name root-name path body make-symbol "root-" "buf-" let hg-root save-excursion dolist ((buffer-list)) set-buffer when and hg-status equal (hg-root buffer-file-name)] 12]))
(put 'hg-do-across-repo 'lisp-indent-function 1)
#@170 Sync buffers visiting PATH with their on-disk copies.
If PATH is not being visited, but is under the repository root, sync
all buffers visiting files in the repository.
(defalias 'hg-sync-buffers #[(path) "\306!\211\203r	q\210\307 )\202?\310!\212\311 \312\211\205>\f@\211q\210
\2036\310!\n\232\2036\307 \210\fA\211\204 \312,)\207" [path buf #1=#:root- #2=#:buf- --dolist-tail-- hg-status find-buffer-visiting vc-buffer-sync hg-root buffer-list nil buffer-file-name] 3 (#$ . 9408)])
#@61 Use the properties of a character to do something sensible.
(defalias 'hg-buffer-commands #[(pnt) "\304\302\"\304\301\"	\203\305	!\202#\n\203 \306\n\211#\202#\307\310!*\207" [pnt file rev hg-view-file-name get-char-property find-file-other-window hg-diff message "I don't know how to do that yet"] 4 (#$ . 9913) "d"])
#@57 Return the character position of the mouse event EVENT.
(defalias 'hg-event-point #[(event) "\301\302!!\207" [event posn-point event-start] 3 (#$ . 10247)])
(put 'hg-event-point 'byte-optimizer 'byte-compile-inline-expand)
#@58 Return the window over which mouse event EVENT occurred.
(defalias 'hg-event-window #[(event) "\301!\211@\207" [event event-start] 2 (#$ . 10477)])
(put 'hg-event-window 'byte-optimizer 'byte-compile-inline-expand)
#@189 Translate the mouse clicks in a HG log buffer to character events.
These are then handed off to `hg-buffer-commands'.

Handle frickin' frackin' gratuitous event-related incompatibilities.
(defalias 'hg-buffer-mouse-clicked #[(event) "\301\302!\211@\262)!\210\303\304\302!!)!\207" [event select-window event-start hg-buffer-commands posn-point] 4 (#$ . 10700) "e"])
#@47 Portable wrapper around abbreviate-file-name.
(defalias 'hg-abbrev-file-name #[(file) "\301!\207" [file abbreviate-file-name] 2 (#$ . 11078)])
(put 'hg-abbrev-file-name 'byte-optimizer 'byte-compile-inline-expand)
#@69 Read a file or directory name, or a pattern, to use with a command.
(defalias 'hg-read-file-name #[(&optional prompt default) "\212\203q\210\202	\206\306 \206\307\n!\211\203 \f\203G\307\310\311\312\313
\206*\314\"\2052\315!\316\211\205;\317!\316BBBBBB!!\202H*\207" [hg-prev-buffer default default-directory path current-prefix-arg prompt buffer-file-name expand-file-name eval read-file-name format "File, directory or pattern%s: " "" file-name-directory nil file-name-nondirectory] 10 (#$ . 11299)])
#@23 Read a integer value.
(defalias 'hg-read-number #[(&optional prompt default) "\212\203		\203\"\303\304\305\n\206\306\205\307\310\"\311BBB!!\202#)\207" [default current-prefix-arg prompt string-to-number eval read-string "" format "%d" nil] 7 (#$ . 11828)])
#@108 Return an alist of (key . value) pairs of Mercurial config data.
Each key is of the form (section . name).
(defalias 'hg-read-config #[nil "\306\307\310\311!\211\312\313\306\314\f	\306\n%-\315\"\306\211\203n@\316\317
\"\210\320
\321\224\321\225#\320
\322\224\322\225#\307\323\"\324\315\325\314\f	\306\n%,@A@BBB,A\211\204!\306+\207" [items str literal newtext regexp line nil split-string hg-run0 "debugconfig" "[
\n]+\\'" "" replace-regexp-in-string "\n" string-match "^\\([^=]*\\)=\\(.*\\)" substring 1 2 "\\." "\\\\n" t --dolist-tail-- left right key value] 8 (#$ . 12103)])
#@64 Return an alist of (name . value) pairs for SECTION of CONFIG.
(defalias 'hg-config-section #[(section config) "\305	\305\211\203%@\211@@\f\232\203\n@A\nABBA\211\204\n\305+\207" [items config item --dolist-tail-- section nil] 3 (#$ . 12732)])
#@73 Indicate whether string STR starts with the substring or character SUB.
(defalias 'hg-string-starts-with #[(sub str) ";\204	G\303V\205$	\303\234\232\207G\211	GX\205#\304	\303\n#\230)\207" [sub str sub-len 0 substring] 6 (#$ . 12996)])
#@173 Attempt to complete a repository name.
We complete on either symbolic names from Mercurial's config or real
directory names from the file system.  We do not penalize URLs.
(defalias 'hg-complete-repo #[(string predicate all) "\203\f\306	\n#\202\307	\n#\206}\310	!\311\f!\312\f!\203e\313\314\315\316
\"\"\313\211\203\\@
P\317!\203RB)A\211\2049\313+\202|\320
\"\211\205{
P\321!))+\207" [all string hg-repo-completion-table predicate str dir all-completions try-completion expand-file-name file-name-directory file-name-nondirectory nil delete "./" file-name-all-completions file-directory-p file-name-completion abbreviate-file-name file completions name --dolist-tail-- path comp] 6 (#$ . 13247)])
#@36 Read the location of a repository.
(defalias 'hg-read-repo-name #[(&optional prompt initial-contents default) "\212\203q\210\202\306\n\203T\307\310\311 \"\306\211\203=\f@\211@\312B	B\313\314A\"\2046A\312B	B\fA\211\204*\315\316\317
\206F\320\"\321\306\211\322&\202V*\207" [hg-prev-buffer hg-repo-completion-table current-prefix-arg path --dolist-tail-- prompt nil hg-config-section "paths" hg-read-config t hg-string-starts-with 47 completing-read format "Repository%s: " "" hg-complete-repo hg-repo-history initial-contents default] 9 (#$ . 14010)])
#@47 Read a revision or tag, offering completions.
(defalias 'hg-read-rev #[(&optional prompt default) "\212\203q\210\202	\206\306\203\235\307\310\311\312\313\314\315\f\"$\211\316\317\320\321
\320%-\322\"\307\310\323!\211\316\317\320\321
\320%-\324\"\320\211 \203y @\307\325\"@B A\211 \204`*\326\314\327!\206\203\317	\206\210\306#\330\331\"\320\211\211\332	\206\227\306&)\202\236\n*\207" [hg-prev-buffer default rev current-prefix-arg hg-rev-completion-limit str "tip" split-string hg-run0 "-q" "log" "-l" format "%d" "[
\n]+\\'" "" nil replace-regexp-in-string "[\n:]" "tags" "\n" "\\s-" completing-read "Revision%s (%s): " mapcar #[(x) "\211B\207" [x] 2] hg-rev-history literal newtext regexp revs line --dolist-tail-- prompt] 9 (#$ . 14595)])
#@64 Format the parents of the working directory for the mode line.
(defalias 'hg-parents-for-mode-line #[(root) "\306\307\310\311\312\313%\211\314\315\316\317\f	\316\n%-\320\"\321\322
\323#)\207" [root str literal newtext regexp parents split-string hg-run0 "--cwd" "parents" "--template" "{rev}\n" "[
\n]+\\'" "" nil replace-regexp-in-string "\n" mapconcat identity "+"] 8 (#$ . 15408)])
#@67 Return a list of buffers visiting the repository containing PATH.
(defalias 'hg-buffers-visiting-repo #[(&optional path) "\306\206\307 !\310\212\311 \310\211\203;\f@\211q\210\307 \n\2033
\2033\306
!\n\232\2033	B)\fA\211\204\310	-\207" [path bufs root-name buf --dolist-tail-- name hg-root buffer-file-name nil buffer-list hg-status] 3 (#$ . 15807)])
#@76 Update the mode lines of all buffers visiting the same repository as PATH.
(defalias 'hg-update-mode-lines #[(path) "\306!\307	!\212\310	\311\312\313	!\"\"\314\211\205A\f@\211@A\315	
P!\211\2038q\210\316\n\"\210+\fA\211\204\314-\207" [path root parents info --dolist-tail-- name hg-root hg-parents-for-mode-line hg-path-status mapcar #[(buf) "\302\303!	G\"\207" [buf root substring buffer-file-name] 3] hg-buffers-visiting-repo nil find-buffer-visiting hg-mode-line-internal status buf] 7 (#$ . 16183)])
#@104 Exit from hg-view-mode.
We delete the current window if entering hg-view-mode split the
current frame.
(defalias 'hg-exit-view-mode #[(buf) "p=\203\301 G\302V\203\303 \210\304!\205\305!\207" [buf window-list 1 delete-window buffer-live-p kill-buffer] 2 (#$ . 16716)])
(defalias 'hg-view-mode #[(prev-buffer &optional file-name) "eb\210\305\306!\210\307\310!\210\311\306\312\"\210\310\211\n\205 \n\313!)\211\207" [hg-view-mode truncate-lines file-name file hg-view-file-name set-buffer-modified-p nil toggle-read-only t view-mode-enter hg-exit-view-mode abbreviate-file-name] 4])
#@71 Return status of FILE, or nil if FILE does not exist or is unmanaged.
(defalias 'hg-file-status #[(file) "\306\307\"\211@	A\n\310U\2051G\311Y\205%\312H\313U\205%\310H\f\236\211\203/
A\2020\314)+\207" [file s exit output hg-state-alist state hg-run "status" 0 2 1 32 normal] 4 (#$ . 17316)])
#@93 Return status of PATHS in repo ROOT as an alist.
Each entry is a pair (FILE-NAME . STATUS).
(defalias 'hg-path-status #[(root paths) "\306\307\310\311\312	&\313\314A\211\315\316\313\317\f\313
%-\320\"\313\211\203w@\313\211\321H\322U\203V\323H\236\324\325\"\202e\326\327\"\203e\330\321\"B\nB*A\211\204/\313\n\237,\207" [root paths result s str literal apply hg-run "--cwd" "status" "-marduc" nil split-string "[
\n]+\\'" "" replace-regexp-in-string "\n" 1 32 0 substring 2 string-match "\\(.*\\): " match-string newtext regexp entry --dolist-tail-- name state hg-state-alist] 8 (#$ . 17626)])
#@348 Execute BODY in a clean buffer, then quickly display that buffer.
If the buffer contains one line, its contents are displayed in the
minibuffer.  Otherwise, the buffer is displayed in view-mode.
ARGS is of the form (BUFFER-NAME &optional FILE), where BUFFER-NAME is
the name of the buffer to create, and FILE is the name of the file
being viewed.
(defalias 'hg-view-output '(macro . #[(args &rest body) "\305\306!@A\307\310\nD\311BD\312\313\314\315\316\fB\317\320\321\322\323\324\325\326E\327	BBF\257\257+\207" [args v-m-rest v-b-name prev-buf body make-symbol "prev-buf-" let view-buf-name ((current-buffer)) (get-buffer-create view-buf-name) (kill-buffer view-buf-name) (get-buffer-create view-buf-name) (set-buffer view-buf-name) save-excursion case (count-lines (point-min) (point-max)) ((0) (kill-buffer view-buf-name) (message "(No output)")) ((1) (let ((msg (hg-chomp (buffer-substring (point-min) (point-max))))) (kill-buffer view-buf-name) (message "%s" msg))) t (pop-to-buffer view-buf-name) setq hg-prev-buffer hg-view-mode] 17 (#$ . 18287)]))
(put 'hg-view-output 'lisp-indent-function 1)
#@59 Return information to help find the given position again.
(defalias 'hg-position-context #[(pos) "d\302\\^e\303Z]	{	ZE)\207" [pos end 98 2] 4 (#$ . 19404)])
#@178 Return information to help restore a user's editing context.
This is useful across reverts and merges, where a context is likely
to have moved a little, but not really changed.
(defalias 'hg-buffer-context #[nil "\303`!\304 \211\205\305!\205\306!\205\303!)\211	*D\207" [mark mark-context point-context hg-position-context mark-marker marker-buffer marker-position] 4 (#$ . 19573)])
#@98 Attempt to find a context in the given buffer.
Always returns a valid, hopefully sane, position.
(defalias 'hg-find-context #[(ctx) "@A@\3048\212e\305Z]b\210\n\306\232\204'\307\n\310\311#\203'`	Z\202*e],\207" [ctx fixup str pos 2 15000 "" search-forward nil t] 4 (#$ . 19973)])
#@48 Attempt to restore the user's editing context.
(defalias 'hg-restore-context #[(ctx) "@A@\303\n!b\210	\205\304\303	!!*\207" [ctx mark-context point-context hg-find-context set-mark] 3 (#$ . 20268)])
(defalias 'hg-mode-line-internal #[(status parents) "\205
\304\n\305\236AQ\211\207" [status hg-status parents hg-mode " Hg:" ((normal . "") (removed . "r") (added . "a") (deleted . "!") (modified . "m"))] 4])
#@193 Update the modeline with the current status of a file.
An update occurs if optional argument FORCE is non-nil,
hg-update-modeline is non-nil, or we have not yet checked the state of
the file.
(defalias 'hg-mode-line #[(&optional force) "\306 \211\205&	\204\n\204?\205&\307\f!\310!\n\311\n
\"\210\n*)\207" [root force hg-update-modeline hg-mode buffer-file-name parents hg-root hg-file-status hg-parents-for-mode-line hg-mode-line-internal status] 4 (#$ . 20695)])
#@1694 Minor mode for Mercurial distributed SCM integration.

The Mercurial mode user interface is based on that of VC mode, so if
you're already familiar with VC, the same keybindings and functions
will generally work.

Below is a list of many common SCM tasks.  In the list, `G/L'
indicates whether a key binding is global (G) to a repository or
local (L) to a file.  Many commands take a prefix argument.

SCM Task                              G/L  Key Binding  Command Name
--------                              ---  -----------  ------------
Help overview (what you are reading)  G    C-c h h      hg-help-overview

Tell Mercurial to manage a file       G    C-c h a      hg-add
Commit changes to current file only   L    C-x v n      hg-commit-start
Undo changes to file since commit     L    C-x v u      hg-revert-buffer

Diff file vs last checkin             L    C-x v =      hg-diff

View file change history              L    C-x v l      hg-log
View annotated file                   L    C-x v a      hg-annotate

Diff repo vs last checkin             G    C-c h =      hg-diff-repo
View status of files in repo          G    C-c h s      hg-status
Commit all changes                    G    C-c h c      hg-commit-start

Undo all changes since last commit    G    C-c h U      hg-revert
View repo change history              G    C-c h l      hg-log-repo

See changes that can be pulled        G    C-c h ,      hg-incoming
Pull changes                          G    C-c h <      hg-pull
Update working directory after pull   G    C-c h u      hg-update
See changes that can be pushed        G    C-c h .      hg-outgoing
Push changes                          G    C-c h >      hg-push
(defalias 'hg-mode #[(&optional toggle) "\204\n\302\301!\210\303\304\305!\207" [vc-make-backup-files backup-inhibited make-local-variable t run-hooks hg-mode-hook] 2 (#$ . 21180)])
(defalias 'hg-find-file-hook #[nil "\3001
\301 \205\302 0\207\210\303\207" [(error) hg-mode-line hg-mode nil] 1])
(add-hook 'find-file-hooks 'hg-find-file-hook)
(defalias 'hg-after-save-hook #[nil "\3021\303 \210	?\205\205\304 )0\207\210\305\207" [hg-status old-status (error) hg-mode-line hg-mode nil] 1])
(add-hook 'after-save-hook 'hg-after-save-hook)
#@177 This is an overview of the Mercurial SCM mode for Emacs.

You can find the source code, license (GPLv2+), and credits for this
code by typing `M-x find-library mercurial RET'.
(defalias 'hg-help-overview #[nil "\306p\307	!\210\310	!\210\307	!\210	q\210\212\311\312!c\210`\311\313!c\210\nb\210\314\210\n`|\210)\315 \211\204:\316\317\f\"\210\202>\320!\210*\321ed\"\211\322\267\202\200\310	!\210\323\324!\202\212ed{\211\325\326\327\330\327%- \310	!\210\323\331 \")\202\212\332	!\210!\333!+\207" [#1=#:prev-buf- view-buf-name pos hg-root-dir default-directory #2=#:temp "Mercurial Help Overview" get-buffer-create kill-buffer documentation hg-help-overview hg-mode 1 hg-root error "error: %s: directory is not part of a Mercurial repository." cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 74 1 84)) message "(No output)" "[
\n]+\\'" "" nil replace-regexp-in-string "%s" pop-to-buffer hg-view-mode str literal newtext regexp msg hg-prev-buffer] 7 (#$ . 23431) nil])
#@48 Fix paths reported by some Mercurial commands.
(defalias 'hg-fix-paths #[nil "\212eb\210\300\301\302\303#\205\304\305\302\211#\210\202)\207" [re-search-forward " \\.\\.." nil t replace-match " "] 4 (#$ . 24491)])
#@110 Add PATH to the Mercurial repository on the next commit.
With a prefix argument, prompt for the path to add.
(defalias 'hg-add #[(path) "p	\232\fp\306!\210\307!\210\306!\210q\210\212\310\311 \203+ \202.\312\313!\314\315\314\316	D&\210\317 \210eb\210\320\321	!!\210)\322ed\"\211!\323\267\202\212\307!\210\324\325!\210\202\226ed{\211\"\326\327\314#$%\"\330%$\"\314#%-&\307!\210\324\331&\"\210)\202\226\332!\210
'\333
!\210+\n\205\256(\204\247\334\335!\210\315rq\210\336 )*\207" [buffer-file-name path update buf hg-output-buffer-name #1=#:prev-buf- get-buffer-create kill-buffer apply call-process error "No `hg' executable found!" nil t "add" hg-fix-paths cd hg-root count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 80 1 92)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode make-local-variable backup-inhibited hg-mode-line view-buf-name hg-binary #2=#:temp str literal newtext regexp msg hg-prev-buffer vc-make-backup-files] 9 (#$ . 24715) (list (hg-read-file-name " to add"))])
(defalias 'hg-addremove #[nil "\300\301!\207" [error "not implemented"] 2 nil nil])
(defalias 'hg-annotate #[nil "\300\301!\207" [error "not implemented"] 2 nil nil])
#@58 Toggle whether or not the file at POS will be committed.
(defalias 'hg-commit-toggle-file #[(pos) "\212b\210\304\305\304\306 \210`\307\\\310	\303\"\304\210\311=\203.\312	`\313#\210\314\315	`{\"\202:\316	`\317#\210\314\320	`{\",\207" [pos bol inhibit-read-only face nil t beginning-of-line 4 get-text-property bold remove-text-properties (face nil) message "%s will not be committed" add-text-properties (face bold) "%s will be committed"] 4 (#$ . 26012) "d"])
#@58 Toggle whether or not the file at POS will be committed.
(defalias 'hg-commit-mouse-clicked #[(event) "\301\302\303!!)!\207" [event hg-commit-toggle-file posn-point event-start] 4 (#$ . 26488) "@e"])
#@43 Kill the commit currently being prepared.
(defalias 'hg-commit-kill #[nil "\302 \203\303\304!\205\305\306!\210\307	!)\207" [hg-prev-buffer buf buffer-modified-p y-or-n-p "Really kill this commit? " kill-buffer nil switch-to-buffer] 2 (#$ . 26697) nil])
#@323 Finish preparing a commit, and perform the actual commit.
The hook hg-pre-commit-hook is run before anything else is done.  If
the commit message is empty and hg-commit-allow-empty-message is nil,
an error is raised.  If the list of files to commit is empty and
hg-commit-allow-empty-file-list is nil, an error is raised.
(defalias 'hg-commit-finish #[nil "\212\306\307!\210eb\210\310\n!\210\311\211`db\210\312\"!\210
`{\211#\313\314\311$%&#\315&%#\311$%,\316\314\311$%&#\315&%#\311$%-)\fG\317U\203b'\204b\320\321!\210\322y\210\323 \210`dW\203\221`\324\\(\311\210\325(\326\"\327=\203\212\311\210(`{B)\322y\210\202hG\317U\203\241)\204\241\320\330!\210\f\331P\332\333\334\335\336\f&\210**+\337\311!\210\340+!\210)\341	!*\207" [hg-root root hg-commit-message-start files message start run-hooks hg-pre-commit-hook search-forward nil search-backward "[
\n][ 	
\n]*\\'" "" replace-regexp-in-string "\\`[ 	
\n]*[
\n]" 0 error "Cannot proceed - commit message is empty" 1 beginning-of-line 4 get-text-property face bold "Cannot proceed - no files to commit" "\n" apply hg-run0 "--cwd" "commit" "-m" kill-buffer switch-to-buffer hg-update-mode-lines hg-commit-message-end str literal newtext regexp hg-commit-allow-empty-message pos hg-commit-allow-empty-file-list hg-prev-buffer buf] 9 (#$ . 26963) nil])
#@731 Mode for describing a commit of changes to a Mercurial repository.
This involves two actions: describing the changes with a commit
message, and choosing the files to commit.

To describe the commit, simply type some text in the designated area.

By default, all modified, added and removed files are selected for
committing.  Files that will be committed are displayed in bold face;
those that will not are displayed in normal face.

To toggle whether a file will be committed, move the cursor over a
particular file and hit space or return.  Alternatively, middle click
on the file.

Key bindings
------------
\[hg-commit-finish]		proceed with commit
\[hg-commit-kill]		kill commit

\[hg-diff-repo]		view diff of pending changes
(defalias 'hg-commit-mode #[nil "\306!\210\307	!\210\n\310\311\312\313!\210\313\314\315\316\"\207" [hg-commit-mode-map text-mode-syntax-table text-mode-abbrev-table local-abbrev-table major-mode mode-name use-local-map set-syntax-table hg-commit-mode "Hg-Commit" set-buffer-modified-p nil run-hooks text-mode-hook hg-commit-mode-hook buffer-undo-list] 3 (#$ . 28316) nil])
#@76 Prepare a commit of changes to the repository containing the current file.
(defalias 'hg-commit-start #[nil "\203\nq\210\202\306 p\307\211\204\310\311!\210\312!\210\313\314\315\316$\211\317\320\307*+\321+*\f\307
%-\211G\322U\203I,\204I\310\323!\210\324\325\"-\326\327-!!\210edU\205\353\330\306!\210\n\331c\210`./c\210\332.`\333#\210)`0	c\2100b\210`dW\203\243`.\334u\210\335c\210\307\210\332.\336\\`\337#\210)\334y\210\202\2010b\210\332`d\3401D#\210eb\2102c\210\332e`\341#\210\342c\210\343y\210\212db\210\344/!\210\332\322\224d\345#\210eb\210\3462!\210\332\322\224\322\225\347#\210)\350 \210\351!),\207" [hg-prev-buffer modified-files prev-buffer root str literal hg-root nil error "Cannot commit outside a repository!" hg-sync-buffers hg-run0 "--cwd" "status" "-arm" "[
\n]+\\'" "" replace-regexp-in-string 0 "No pending changes to commit" format "*Mercurial: Commit %s*" pop-to-buffer get-buffer-create make-local-variable "\n" add-text-properties (face bold-italic) 1 "  " 4 (face bold mouse-face highlight) keymap (face bold-italic) "\n\n" -1 search-backward (read-only t) search-forward (read-only t) hg-commit-mode cd newtext regexp hg-commit-allow-empty-file-list buf-name bol hg-commit-message-end file-area hg-commit-mode-file-map hg-commit-message-start] 7 (#$ . 29431) nil])
#@293 Show the differences between REV1 and REV2 of PATH.
When called interactively, the default behaviour is to treat REV1 as
the "parent" revision, REV2 as the current edited version of the file, and
PATH as the file edited in the current buffer.
With a prefix argument, prompt for all of these.
(defalias 'hg-diff #[(path &optional rev1 rev2) "\306!\210\307	!)\n?\205?\n\232\204\204\n\206%\n?\205%\310#$#\2039\311\312$\"\202M
\203F\311\313
$#\202M\311\314\n$$p%&\315&!\210\316&!\210\315&!\210&q\210\212#\203\204\317'\203v'\202y\320\321!\310\322\310\323&\210\202\275
\203\243\317'\203\223'\202\226\320\321!\310\322\310\323\324
&\210\202\275\317'\203\256'\202\261\320\321!\310\322\310\323\324\n\324&\n\210\325 \210edU?\326 \210\327\330!!\210)\331ed\"\211(\332\267\202\316&!\210\333\334!\210\202#ed{\211)\335\336\310*+,)\337,+)\310*%--\316&!\210\333\340-\"\210)\202#\341&!\210%.\342%!\210+\f,\207" [path file rev1 rev2 diff one hg-sync-buffers abbreviate-file-name nil format "Mercurial: Diff against parent of %s" "Mercurial: Diff of rev %s of %s" "Mercurial: Diff from rev %s to %s of %s" get-buffer-create kill-buffer call-process error "No `hg' executable found!" t "diff" "-r" diff-mode font-lock-fontify-buffer cd hg-root count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 219 1 231)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode none a-path #1=#:prev-buf- view-buf-name hg-binary #2=#:temp str literal newtext regexp msg hg-prev-buffer] 12 (#$ . 30770) (list (hg-read-file-name " to diff") (let ((rev1 (hg-read-rev " to start with" 'parent))) (and (not (eq rev1 'parent)) rev1)) (let ((rev2 (hg-read-rev " to end with" 'working-dir))) (and (not (eq rev2 'working-dir)) rev2)))])
#@313 Show the differences between REV1 and REV2 of repository containing PATH.
When called interactively, the default behaviour is to treat REV1 as
the "parent" revision, REV2 as the current edited version of the file, and
PATH as the `hg-root' of the current buffer.
With a prefix argument, prompt for all of these.
(defalias 'hg-diff-repo #[(path &optional rev1 rev2) "\303\304!	\n#\207" [path rev1 rev2 hg-diff hg-root] 4 (#$ . 32637) (list (hg-read-file-name " to diff") (let ((rev1 (hg-read-rev " to start with" 'parent))) (and (not (eq rev1 'parent)) rev1)) (let ((rev2 (hg-read-rev " to end with" 'working-dir))) (and (not (eq rev2 'working-dir)) rev2)))])
#@222 Lose track of PATH, which has been added, but not yet committed.
This will prevent the file from being incorporated into the Mercurial
repository on the next commit.
With a prefix argument, prompt for the path to forget.
(defalias 'hg-forget #[(path) "p	\232\fp \306 !\210\307 !\210\306 !\210 q\210\212\310\311!\203+!\202.\312\313!\314\315\314\316	D&\210\317 \210eb\210\320\321	!!\210)\322ed\"\211\"\323\267\202\212\307 !\210\324\325!\210\202\226ed{\211#\326\327\314$%&#\330&%#\314$%-'\307 !\210\324\331'\"\210)\202\226\332 !\210
(\333
!\210+\n\205\254rq\210\334\335!\203\251\336\335!\210\337 )*\207" [buffer-file-name path update buf hg-output-buffer-name #1=#:prev-buf- get-buffer-create kill-buffer apply call-process error "No `hg' executable found!" nil t "forget" hg-fix-paths cd hg-root count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 80 1 92)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode local-variable-p backup-inhibited kill-local-variable hg-mode-line view-buf-name hg-binary #2=#:temp str literal newtext regexp msg hg-prev-buffer] 9 (#$ . 33304) (list (hg-read-file-name " to forget"))])
#@66 Display changesets present in REPO that are not present locally.
(defalias 'hg-incoming #[(&optional repo) "\306\307\310 \311!)	\206\n\311!)#p\312\f!\210\313\f!\210\312\f!\210\fq\210\212\314
\2030
\2023\315\316!\317\320\317\321	\206<\n&\210\322 \210\323\310 !\210)\324ed\"\211\325\267\202\212\313\f!\210\326\327!\202\224ed{\211\330\331\317 !\"\332\"!\317 %-#\313\f!\210\326\333#\")\202\224\334\f!\210$\335!+\207" [file repo hg-incoming-repository #1=#:prev-buf- view-buf-name hg-binary format "Mercurial: Incoming from %s to %s" hg-root abbreviate-file-name get-buffer-create kill-buffer call-process error "No `hg' executable found!" nil t "incoming" hg-log-mode cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 84 1 94)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode #2=#:temp str literal newtext regexp msg hg-prev-buffer] 8 (#$ . 34550) (list (hg-read-repo-name " where changes would come from"))])
(defalias 'hg-init #[nil "\300\301!\207" [error "not implemented"] 2 nil nil])
#@42 Mode for viewing a Mercurial change log.
(defalias 'hg-log-mode #[nil "eb\210\300\301!\203\302\224\302\225|\210\303\304!\207" [looking-at "^searching for changes.*$" 0 run-hooks hg-log-mode-hook] 2 (#$ . 35675)])
#@280 Display the revision history of PATH.
History is displayed between REV1 and REV2.
Number of displayed changesets is limited to LOG-LIMIT.
REV1 defaults to the tip, while REV2 defaults to 0.
LOG-LIMIT defaults to `hg-log-limit'.
With a prefix argument, prompt for each parameter.
(defalias 'hg-log #[(path &optional rev1 rev2 log-limit) "\306	!)\n\206\307\206\310\311\312\f\206
\"&'()('\232\2031\311\313\n)#\202<\311\314&(')%p*+\315+!\210\316+!\210\315+!\210+q\210\212\317\320,\203a,\202d\321\322!\323\324\323\325\326\311\327('#\330&G\331!GV\205\200\323BBBBBBBBBBB!\210\332 \210\333\331!!\210)\334ed\"\211-\335\267\202\332\316+!\210\336\337!\202\347ed{\211.\340\341\323/01.\34210.\323/%-2\316+!\210\336\3432\")\202\347\344+!\210*3\345*!.\207" [path file rev1 rev2 log-limit hg-log-limit abbreviate-file-name "tip" "0" format "%d" "Mercurial: Log of rev %s of %s" "Mercurial: at most %s log(s) from rev %s to %s of %s" get-buffer-create kill-buffer eval call-process error "No `hg' executable found!" nil t "log" "-r" "%s:%s" "-l" hg-root hg-log-mode cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 162 1 173)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode limit r2 r1 a-path #1=#:prev-buf- view-buf-name hg-binary #2=#:temp str literal newtext regexp msg hg-prev-buffer] 15 (#$ . 35897) (list (hg-read-file-name " to log") (hg-read-rev " to start with" "tip") (hg-read-rev " to end with" "0") (hg-read-number "Output limited to: " hg-log-limit))])
#@306 Display the revision history of the repository containing PATH.
History is displayed between REV1 and REV2.
Number of displayed changesets is limited to LOG-LIMIT,
REV1 defaults to the tip, while REV2 defaults to 0.
LOG-LIMIT defaults to `hg-log-limit'.
With a prefix argument, prompt for each parameter.
(defalias 'hg-log-repo #[(path &optional rev1 rev2 log-limit) "\304\305!	\n$\207" [path rev1 rev2 log-limit hg-log hg-root] 5 (#$ . 37517) (list (hg-read-file-name " to log") (hg-read-rev " to start with" "tip") (hg-read-rev " to end with" "0") (hg-read-number "Output limited to: " hg-log-limit))])
#@66 Display changesets present locally that are not present in REPO.
(defalias 'hg-outgoing #[(&optional repo) "\306\307\310 \311!)	\206\n\311!)#p\312\f!\210\313\f!\210\312\f!\210\fq\210\212\314
\2030
\2023\315\316!\317\320\317\321	\206<\n&\210\322 \210\323\310 !\210)\324ed\"\211\325\267\202\212\313\f!\210\326\327!\202\224ed{\211\330\331\317 !\"\332\"!\317 %-#\313\f!\210\326\333#\")\202\224\334\f!\210$\335!+\207" [file repo hg-outgoing-repository #1=#:prev-buf- view-buf-name hg-binary format "Mercurial: Outgoing from %s to %s" hg-root abbreviate-file-name get-buffer-create kill-buffer call-process error "No `hg' executable found!" nil t "outgoing" hg-log-mode cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 84 1 94)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode #2=#:temp str literal newtext regexp msg hg-prev-buffer] 8 (#$ . 38130) (list (hg-read-repo-name " where changes would go to" nil hg-outgoing-repository))])
#@80 Pull changes from repository REPO.
This does not update the working directory.
(defalias 'hg-pull #[(&optional repo) "\306\307\310 \311!)	\206\n\311!)#p\312\f!\210\313\f!\210\312\f!\210\fq\210\212\314
\2030
\2023\315\316!\317\320\317\321	\206<\n&\210\322\310 !\210)\323ed\"\211\324\267\202\207\313\f!\210\325\326!\202\221ed{\211\327\330\317 !\331! \317%-\"\313\f!\210\325\332\"\")\202\221\333\f!\210#\334!+\207" [file repo hg-incoming-repository #1=#:prev-buf- view-buf-name hg-binary format "Mercurial: Pull to %s from %s" hg-root abbreviate-file-name get-buffer-create kill-buffer call-process error "No `hg' executable found!" nil t "pull" cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 81 1 91)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode #2=#:temp str literal newtext regexp msg hg-prev-buffer] 8 (#$ . 39199) (list (hg-read-repo-name " to pull from"))])
#@34 Push changes to repository REPO.
(defalias 'hg-push #[(&optional repo) "\306\307\310 \311!)	\206\n\311!)#p\312\f!\210\313\f!\210\312\f!\210\fq\210\212\314
\2030
\2023\315\316!\317\320\317\321	\206<\n&\210\322\310 !\210)\323ed\"\211\324\267\202\207\313\f!\210\325\326!\202\221ed{\211\327\330\317 !\331! \317%-\"\313\f!\210\325\332\"\")\202\221\333\f!\210#\334!+\207" [file repo hg-outgoing-repository #1=#:prev-buf- view-buf-name hg-binary format "Mercurial: Push from %s to %s" hg-root abbreviate-file-name get-buffer-create kill-buffer call-process error "No `hg' executable found!" nil t "push" cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 81 1 91)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode #2=#:temp str literal newtext regexp msg hg-prev-buffer] 8 (#$ . 40209) (list (hg-read-repo-name " to push to"))])
(defalias 'hg-revert-buffer-internal #[nil "\302 \303\304	\"\210\305\306	\"\210\307\310\211\211#\210\311!\210\312 \210\303\313	\")\207" [ctx buffer-file-name hg-buffer-context message "Reverting %s..." hg-run0 "revert" revert-buffer t hg-restore-context hg-mode-line "Reverting %s...done"] 4])
#@191 Revert current buffer's file back to the latest committed version.
If the file has not changed, nothing happens.  Otherwise, this
displays a diff and asks for confirmation before reverting.
(defalias 'hg-revert-buffer #[nil "\304p\304\305 \210\306\216\307!)	q\210\205\310 +\207" [diff obuf vc-suppress-confirm buffer-file-name nil vc-buffer-sync #[nil "\203\302\303!\204\304\305!\210\205p\306\307 !\210\310	!)\207" [diff buf yes-or-no-p "Discard changes? " error "Revert cancelled" delete-window selected-window kill-buffer] 2] hg-diff hg-revert-buffer-internal] 3 (#$ . 41468) nil])
#@210 Return the root of the repository that contains the given path.
If the path is outside a repository, return nil.
When called interactively, the root is printed.  A prefix argument
prompts for a path to check.
(defalias 'hg-root #[(&optional path) "\204	\204c\3062>\307\310\206\n\206\311!!\211\f\232\204;\312\f\313P!\203/\314\306\f\"\210\f\310\315\f!!\211\202*\3070\316 \203_\203S\317\320\"\210\202_\317\321\322!)\"\210)\207	\207" [path hg-root buffer-file-name default-directory dir prev --cl-block-nil-- nil file-name-directory expand-file-name file-directory-p ".hg" throw directory-file-name interactive-p message "The root of this repository is `%s'." "The path `%s' is not in a Mercurial repository." abbreviate-file-name root file] 5 (#$ . 42076) (list (hg-read-file-name))])
#@61 Return the current directory of PATH within the repository.
(defalias 'hg-cwd #[(&optional path) "\3062P\307\211\310\206	\206\311\n!!\f\232\204M\312\313P!\203:\314\315
\316#\211\317\232\2049\320\306\321!\"\210)\322\323!!
B\310\323!!\202+\3070\207" [path buffer-file-name default-directory dir prev stack --cl-block-nil-- nil file-name-directory expand-file-name file-directory-p ".hg" mapconcat identity "/" "" throw file-name-as-directory file-name-nondirectory directory-file-name cwd] 6 (#$ . 42899)])
#@170 Print revision control status of a file or directory.
With prefix argument, prompt for the path to give status for.
Names are displayed relative to the repository root.
(defalias 'hg-status #[(path) "\306 \307\310\311\312	!G\"\211G\313V\203\n\202\314)\315!)#p\316
!\210\317
!\210\316
!\210
q\210\212\320\321#\203@#\202C\322\323!\324\325\324\326\327	F&\210\330\306	!!\210)\331ed\"\211$\332\267\202\227\317
!\210\333\334!\202\241ed{\211%\335\336\324&'(%\337('%\324&%-)\317
!\210\333\340)\")\202\241\341
!\210\f*\342\f!,\207" [root path name file #1=#:prev-buf- view-buf-name hg-root format "Mercurial: Status of %s in %s" substring expand-file-name 0 "*" abbreviate-file-name get-buffer-create kill-buffer apply call-process error "No `hg' executable found!" nil t "--cwd" "status" cd count-lines #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 97 1 107)) message "(No output)" "[
\n]+\\'" "" replace-regexp-in-string "%s" pop-to-buffer hg-view-mode hg-binary #2=#:temp str literal newtext regexp msg hg-prev-buffer] 11 (#$ . 43437) (list (hg-read-file-name " for status" (hg-root)))])
(defalias 'hg-undo #[nil "\300\301!\207" [error "not implemented"] 2 nil nil])
(defalias 'hg-update #[nil "\300\301!\207" [error "not implemented"] 2 nil nil])
#@194 Visit version REV of the current file in another window.
If the current file is named `F', the version is named `F.~REV~'.
If `F.~REV~' already exists, use it instead of checking it out again.
(defalias 'hg-version-other-window #[(rev) "\n\306\230\203\f\307\202
\n\310	\"\310	\311#\312
!\2049\312\f!\203.\313\f
\314#\210\2029\315\316\317\320\321
	&\210\322
!,\207" [buffer-file-name file rev version automatic-backup manual-backup "" "tip" vc-version-backup-file-name manual file-exists-p rename-file nil hg-run0 "-q" "cat" "-r" "-o" find-file-other-window] 8 (#$ . 44763) "sVersion to visit (default is workfile version): "])
(provide 'mercurial)

Youez - 2016 - github.com/yon3zu
LinuXploit