Function: vc-bzr-log-view-mode

vc-bzr-log-view-mode is an interactive and byte-compiled function defined in vc-bzr.el.gz.

Signature

(vc-bzr-log-view-mode)

Documentation

Major mode derived from log-view-mode by define-derived-mode.

It inherits all of the parent's attributes, but has its own keymap, abbrev table and syntax table:

  vc-bzr-log-view-mode-map, vc-bzr-log-view-mode-abbrev-table and
vc-bzr-log-view-mode-syntax-table

which more-or-less shadow log-view-mode's corresponding tables.

In addition to any hooks its parent mode might have run, this mode runs the hook vc-bzr-log-view-mode-hook, as the final or penultimate step during initialization.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-bzr.el.gz
(define-derived-mode vc-bzr-log-view-mode log-view-mode "Bzr-Log-View"
  (remove-hook 'log-view-mode-hook #'vc-bzr-log-view-mode) ;Deactivate the hack.
  (require 'add-log)
  (setq-local log-view-per-file-logs nil)
  (setq-local log-view-file-re regexp-unmatchable)
  (setq-local log-view-message-re
       (if (memq 'short vc-log-view-types)
	   "^ *\\([0-9.]+\\): \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)\\( \\[merge\\]\\)?"
	 "^ *\\(?:revno: \\([0-9.]+\\)\\|merged: .+\\)"))
  ;; Allow expanding short log entries
  (when (memq 'short vc-log-view-types)
    (setq truncate-lines t)
    (setq-local log-view-expanded-log-entry-function
                'vc-bzr-expanded-log-entry))
  (setq-local log-view-font-lock-keywords
       ;; log-view-font-lock-keywords is careful to use the buffer-local
       ;; value of log-view-message-re only since Emacs-23.
       (if (memq 'short vc-log-view-types)
	 (append `((,log-view-message-re
		    (1 'log-view-message)
		    (2 'change-log-name)
		    (3 'change-log-date)
		    (4 'change-log-list nil lax))))
	 (append `((,log-view-message-re . 'log-view-message))
		 ;; log-view-font-lock-keywords
		 '(("^ *\\(?:committer\\|author\\): \
\\([^<(]+?\\)[  ]*[(<]\\([[:alnum:]_.+-]+@[[:alnum:]_.-]+\\)[>)]"
		    (1 'change-log-name)
		    (2 'change-log-email))
		   ("^ *timestamp: \\(.*\\)" (1 'change-log-date)))))))