Mercurial > emacs
diff lisp/textmodes/nroff-mode.el @ 110070:ad86f610b2b3
* textmodes/nroff-mode.el (nroff-view): New command.
(nroff-mode-map): Bind it to C-c C-c.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Tue, 31 Aug 2010 14:04:26 -0400 |
parents | 1d1d5d9bd884 |
children | afd1f9799297 |
line wrap: on
line diff
--- a/lisp/textmodes/nroff-mode.el Tue Aug 31 11:39:31 2010 -0400 +++ b/lisp/textmodes/nroff-mode.el Tue Aug 31 14:04:26 2010 -0400 @@ -55,6 +55,7 @@ (define-key map "\n" 'nroff-electric-newline) (define-key map "\en" 'nroff-forward-text-line) (define-key map "\ep" 'nroff-backward-text-line) + (define-key map "\C-c\C-c" 'nroff-view) (define-key map [menu-bar nroff-mode] (cons "Nroff" menu-map)) (define-key menu-map [nn] '(menu-item "Newline" nroff-electric-newline @@ -73,6 +74,9 @@ nroff-electric-mode :help "Auto insert closing requests if necessary" :button (:toggle . nroff-electric-mode))) + (define-key menu-map [npm] + '(menu-item "Preview as man page" nroff-view + :help "Run man on this file.")) map) "Major mode keymap for `nroff-mode'.") @@ -301,6 +305,17 @@ :lighter " Electric" (or (derived-mode-p 'nroff-mode) (error "Must be in nroff mode"))) +(declare-function Man-getpage-in-background "man" (topic)) + +(defun nroff-view () + "Run man on this file." + (interactive) + (require 'man) + (let* ((file (buffer-file-name))) + (if file + (Man-getpage-in-background file) + (error "No associated file for the current buffer")))) + ;; Old names that were not namespace clean. (define-obsolete-function-alias 'count-text-lines 'nroff-count-text-lines "22.1") (define-obsolete-function-alias 'forward-text-line 'nroff-forward-text-line "22.1")