aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2010-08-31 14:04:26 -0400
committerChong Yidong <[email protected]>2010-08-31 14:04:26 -0400
commit61f7096c3b5e1d5097f3655bea4091e9fcfd7128 (patch)
tree1e6e85b7459dd1eb785a345da35b11fd623e1835
parent07fa68a7e88e7e87beb570c0566b38086b8581d0 (diff)
* textmodes/nroff-mode.el (nroff-view): New command.
(nroff-mode-map): Bind it to C-c C-c.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/textmodes/nroff-mode.el15
2 files changed, 20 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f01ddd2b2f..4003df3355 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-31 Masatake YAMATO <[email protected]>
+
+ * textmodes/nroff-mode.el (nroff-view): New command.
+ (nroff-mode-map): Bind it to C-c C-c.
+
2010-08-31 Stefan Monnier <[email protected]>
* emacs-lisp/smie.el (smie-down-list): New command.
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 61ea89582b..14b0b106bb 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -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 @@ turns it on if arg is positive, otherwise off."
: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")