;ELC ;;; Compiled by mwolson@grepfind.mwolson.org on Thu Jan 24 00:15:32 2008 ;;; from file /stuff/proj/emacs/dvc/mwolson/lisp/xhg-log.el ;;; in Emacs version 23.0.50.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`xhg-log.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'diff-mode) #@32 Keymap used in `xhg-log-mode'. (defvar xhg-log-mode-map (byte-code "\306!\307 \n\310#\210\307 \311\312#\210\307 \313\314#\210\307 \315\316#\210\307 \317\320#\210\307 \321\322#\210\307 \323\324#\210\307 \325\326#\210\307 \327\330#\210\307 \331#\210\307 \f\332#\210\307 \333#\210\307 \334\335!\336#\210\307 \334\337!\340#\210\307 \334\341!\342#\210 )\207" [diff-mode-shared-map map dvc-keyvec-help dvc-keyvec-next dvc-keyvec-previous dvc-keyvec-quit copy-keymap define-key describe-mode [103] xhg-log [104] dvc-buffer-pop-to-partner-buffer [101] xhg-export [69] xhg-export-via-mail [115] xhg-status [61] xhg-log-toggle-diff-for-changeset [118] xhg-log-review-next-diff [86] xhg-log-review-previous-diff xhg-log-next xhg-log-previous dvc-buffer-quit dvc-prefix-merge 117 dvc-update 102 dvc-pull 109 dvc-missing] 4) (#$ . 613)) #@21 `xhg-log-mode' menu (defvar xhg-log-mode-menu nil (#$ . 1447)) (easy-menu-do-define 'xhg-log-mode-menu xhg-log-mode-map "`xhg-log-mode' menu" '("hg-log" ["Show status" dvc-status t] ["Toggle embedded diff" xhg-log-toggle-diff-for-changeset t] ["Start Commiting" dvc-log-edit t] ["Export Changeset" xhg-export t] ["Export Changeset via Email" xhg-export-via-mail t])) #@34 Keywords in `xhg-log-mode' mode. (defvar xhg-log-font-lock-keywords (append '(("^changeset:" . font-lock-function-name-face) ("^tag:" . font-lock-function-name-face) ("^user:" . font-lock-function-name-face) ("^date:" . font-lock-function-name-face) ("^summary:" . font-lock-function-name-face) ("^parent:" . font-lock-function-name-face)) diff-font-lock-keywords) (#$ . 1820)) (byte-code "\302B\303\302!\204\304\302\305\"\210\306B\303\306!\204\304\306\307\"\210\310\311N\204*\312\310\311\313#\210\314\315!\2046\312\315\316\317#\210\315B\303\315!\204F\304\315\320 \"\210\314\321!\204R\312\321\316\317#\210\321B\303\321!\204b\304\321\322 \"\210\312\301\316\317#\210\301B\303\301!\204|\304\301\323\301\305\"\210 \"\210\312\317\324\305#\207" [current-load-list xhg-log-mode-abbrev-table xhg-log-review-current-diff-revision default-boundp set-default nil xhg-log-review-recenter-position-on-next-diff 5 xhg-log-mode-hook variable-documentation put "Hook run when entering xhg-log mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp xhg-log-mode-map definition-name xhg-log-mode make-sparse-keymap xhg-log-mode-syntax-table make-syntax-table define-abbrev-table derived-mode-parent] 5) #@203 Major mode to display hg log output with embedded diffs. Derives from `diff-mode'. Commands: \{xhg-log-mode-map} This mode runs the hook `xhg-log-mode-hook', as the final step during initialization. (defalias 'xhg-log-mode #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \315 !\316\211\317 \210+\306\320!\210\321\307\316\211F\306\322!\210\316)\323\324!\207" [delay-mode-hooks major-mode mode-name xhg-log-mode-map xhg-log-mode-syntax-table xhg-log-mode-abbrev-table make-local-variable t kill-all-local-variables xhg-log-mode "xhg-log" use-local-map set-syntax-table copy-keymap nil diff-mode font-lock-defaults xhg-log-font-lock-keywords xhg-log-review-current-diff-revision run-mode-hooks xhg-log-mode-hook local-abbrev-table diff-mode-shared-map] 4 (#$ . 3118) nil]) (byte-code "\301B\302\303!\207" [current-load-list xhg-log-start-regexp (lambda (#1=#:defconst-tmp-var) (defconst xhg-log-start-regexp #1#)) "^changeset: +\\([0-9]+:[0-9a-f]+\\)"] 2) #@57 Move to the next changeset header of the next diff hunk (defalias 'xhg-log-next #[(n) "\303\210\304\303\305 $\210\306 \210\n\205\307\n!\207" [xhg-log-start-regexp n xhg-log-review-recenter-position-on-next-diff nil re-search-forward t beginning-of-line recenter] 5 (#$ . 4110) "p"]) #@65 Move to the previous changeset header of the previous diff hunk (defalias 'xhg-log-previous #[(n) "\303\210\304!\210\304\303\305 $\210\n\205\306\n!\207" [xhg-log-start-regexp n xhg-log-review-recenter-position-on-next-diff nil re-search-backward t recenter] 5 (#$ . 4403) "p"]) (defalias 'xhg-log-revision-at-point #[nil "\212\301\210\302!\210\303\304!)\207" [xhg-log-start-regexp nil re-search-backward match-string-no-properties 1] 2]) (defalias 'xhg-log-inline-diff-opened-here #[nil "\212\301\210\302!\210\303\304!\210\305y\210\306\307!)\207" [xhg-log-start-regexp nil re-search-backward re-search-forward "^$" 1 looking-at "diff"] 2]) #@55 Toggle displaying the diff for the current changeset. (defalias 'xhg-log-toggle-diff-for-changeset #[nil "\304 \305\306\307 \"\210\212\305\210\310\n!\210\311\312!\210\313y\210\314\315!?\305\212\203=\212\316\317\320\321 \322F\323\324$c\210)`\311\325!\326Z|\202N`\311\n\305\327#\203K\330 \206Mdb|-\207" [insert-diff rev xhg-log-start-regexp buffer-read-only xhg-log-revision-at-point nil dvc-trace "xhg-log-toggle-diff-for-changeset %s" re-search-backward re-search-forward "^$" 1 looking-at "diff" dvc-run-dvc-sync xhg "log" "-r" "-p" :finished dvc-output-buffer-handler "^diff" 4 t line-beginning-position] 6 (#$ . 5058) nil]) #@84 Move point to the revision REV. If REV is not found in the log buffer, do nothing. (defalias 'xhg-log-goto-revision #[(rev) "\302\212\303\304 P\302\305#\203`)\205b)\207" [rev-pos rev nil re-search-forward "^changeset: +" t] 4 (#$ . 5701)]) #@329 Close the previous viewed inline diff and open the next one for reviewing. When invoked the first time, just open the diff at point via `xhg-log-toggle-diff-for-changeset'. For every further invocation close the previously opened diff and open the next one. N is the number of revisions to skip. Per default advance 1 revision. (defalias 'xhg-log-review-next-diff #[(n) "\247\203\304W\203S`\n\2030\305\n!\210\306 \203 \307 \210\304=\203, b\210\2020\310!\210\311 \306 \204;\307 \210 \205B\312 !)\207" [n cur-pos xhg-log-review-current-diff-revision xhg-log-review-recenter-position-on-next-diff 0 xhg-log-goto-revision xhg-log-inline-diff-opened-here xhg-log-toggle-diff-for-changeset xhg-log-next xhg-log-revision-at-point recenter] 2 (#$ . 5956) "p"]) #@124 Close the previous viewed inline diff and open the previous one for reviewing. See `xhg-log-review-next-diff' for details. (defalias 'xhg-log-review-previous-diff #[(n) "\301[!\207" [n xhg-log-review-next-diff] 2 (#$ . 6734) "p"]) (provide 'xhg-log)