annotate lisp/=man.el @ 17846:c427501449a1

(display_text_line): Move the code to fill out the line with the newline's face to the end of the newline code. Add changes (commented out) to record ellipsis positions in charstarts.
author Richard M. Stallman <rms@gnu.org>
date Fri, 16 May 1997 07:32:59 +0000
parents f287613dfc28
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 474
diff changeset
1 ;;; man.el --- read in and display parts of Unix manual.
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 474
diff changeset
2
845
213978acbc1e entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 811
diff changeset
3 ;; Copyright (C) 1985, 1986 Free Software Foundation, Inc.
213978acbc1e entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 811
diff changeset
4
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
5 ;; Maintainer: FSF
811
e694e0879463 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
6 ;; Keywords: unix
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
7
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
9
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
13 ;; any later version.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
14
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
19
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
21 ;; along with GNU Emacs; see the file COPYING. If not, write to
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
22 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
23
2308
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1298
diff changeset
24 ;;; Commentary:
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1298
diff changeset
25
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1298
diff changeset
26 ;; This package provides an equivalent of the UNIX man(1) command within
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1298
diff changeset
27 ;; Emacs. The single entry point is `manual-entry'.
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1298
diff changeset
28
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
29 ;;; Code:
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
30
256
7e4c7ef44243 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 225
diff changeset
31 ;;;###autoload
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
32 (defun manual-entry (topic &optional section)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
33 "Display the Unix manual entry for TOPIC.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
34 TOPIC is either the title of the entry, or has the form TITLE(SECTION)
225
5ed62d0099e4 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 103
diff changeset
35 where SECTION is the desired section of the manual, as in \"tty(4)\"."
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
36 (interactive "sManual entry (topic): ")
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
37 (if (= (length topic) 0)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
38 (error "Must specify topic"))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
39 (if (and (null section)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
40 (string-match "\\`[ \t]*\\([^( \t]+\\)[ \t]*(\\(.+\\))[ \t]*\\'" topic))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
41 (setq section (substring topic (match-beginning 2)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
42 (match-end 2))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
43 topic (substring topic (match-beginning 1)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
44 (match-end 1))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
45 (with-output-to-temp-buffer (concat "*" topic " Manual Entry*")
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
46 (buffer-disable-undo standard-output)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
47 (save-excursion
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
48 (set-buffer standard-output)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
49 (message "Looking for formatted entry for %s%s..."
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
50 topic (if section (concat "(" section ")") ""))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
51 (let ((dirlist manual-formatted-dirlist)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
52 (case-fold-search nil)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
53 name)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
54 (if (and section (or (file-exists-p
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
55 (setq name (concat manual-formatted-dir-prefix
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
56 (substring section 0 1)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
57 "/"
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
58 topic "." section)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
59 (file-exists-p
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
60 (setq name (concat manual-formatted-dir-prefix
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
61 section
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
62 "/"
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
63 topic "." section)))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
64 (insert-man-file name)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
65 (while dirlist
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
66 (let* ((dir (car dirlist))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
67 (name1 (concat dir "/" topic "."
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
68 (or section
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
69 (substring
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
70 dir
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
71 (1+ (or (string-match "\\.[^./]*$" dir)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
72 -2))))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
73 completions)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
74 (if (file-exists-p name1)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
75 (insert-man-file name1)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
76 (condition-case ()
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
77 (progn
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
78 (setq completions (file-name-all-completions
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
79 (concat topic "." (or section ""))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
80 dir))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
81 (while completions
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
82 (insert-man-file (concat dir "/" (car completions)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
83 (setq completions (cdr completions))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
84 (file-error nil)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
85 (goto-char (point-max)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
86 (setq dirlist (cdr dirlist)))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
87
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
88 (if (= (buffer-size) 0)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
89 (progn
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
90 (message "No formatted entry, invoking man %s%s..."
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
91 (if section (concat section " ") "") topic)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
92 (if section
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
93 (call-process manual-program nil t nil section topic)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
94 (call-process manual-program nil t nil topic))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
95 (if (< (buffer-size) 80)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
96 (progn
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
97 (goto-char (point-min))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
98 (end-of-line)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
99 (error (buffer-substring 1 (point)))))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
100
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
101 (message "Cleaning manual entry for %s..." topic)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
102 (nuke-nroff-bs)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
103 (set-buffer-modified-p nil)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
104 (setq buffer-read-only t)
74
2c14d4cb1256 *** empty log message ***
root <root>
parents: 58
diff changeset
105 (view-mode nil 'bury-buffer)
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
106 (message ""))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
107
225
5ed62d0099e4 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 103
diff changeset
108 ;; Hint: BS stands for more things than "back space"
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
109 (defun nuke-nroff-bs ()
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
110 (interactive "*")
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
111 ;; Nuke headers: "MORE(1) UNIX Programmer's Manual MORE(1)"
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
112 ;; We expext to find a footer just before the header except at the beginning.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
113 (goto-char (point-min))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
114 (while (re-search-forward "^ *\\([A-Za-z][-_.A-Za-z0-9]*([0-9A-Z]+)\\).*\\1$" nil t)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
115 (let (start end)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
116 ;; Put START and END around footer and header and garbage blank lines.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
117 ;; Fixed line counts are risky, but allow us to preserve
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
118 ;; significant blank lines.
1298
3a14fd87bade (nuke-nroff-bs): Delete just 9 lines above header.
Richard M. Stallman <rms@gnu.org>
parents: 1296
diff changeset
119 ;; These numbers are correct for MORE BSD, at least.
3a14fd87bade (nuke-nroff-bs): Delete just 9 lines above header.
Richard M. Stallman <rms@gnu.org>
parents: 1296
diff changeset
120 (setq start (save-excursion (forward-line -9) (point)))
1296
4d9550377364 (nuke-nroff-bs): Was nuking one line too many after header.
Richard M. Stallman <rms@gnu.org>
parents: 845
diff changeset
121 (setq end (save-excursion (forward-line 3) (point)))
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
122 (delete-region start end)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
123 ;; Catch the final footer.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
124 (goto-char (point-max))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
125 (delete-region (point) (save-excursion (forward-line -7) (point)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
126
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
127 ;; Nuke underlining and overstriking (only by the same letter)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
128 (goto-char (point-min))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
129 (while (search-forward "\b" nil t)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
130 (let* ((preceding (char-after (- (point) 2)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
131 (following (following-char)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
132 (cond ((= preceding following)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
133 ;; x\bx
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
134 (delete-char -2))
103
5f14cf951acb *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 74
diff changeset
135 ((and (= preceding ?o) (= following ?\+))
5f14cf951acb *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 74
diff changeset
136 ;; o\b+
5f14cf951acb *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 74
diff changeset
137 (delete-char -2))
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
138 ((= preceding ?\_)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
139 ;; _\b
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
140 (delete-char -2))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
141 ((= following ?\_)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
142 ;; \b_
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
143 (delete-region (1- (point)) (1+ (point)))))))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
144
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
145 ;; Zap ESC7, ESC8, and ESC9.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
146 ;; This is for Sun man pages like "man 1 csh"
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
147 (goto-char (point-min))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
148 (while (re-search-forward "\e[789]" nil t)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
149 (replace-match ""))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
150
474
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
151 ;; Convert o^H+ into o.
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
152 (goto-char (point-min))
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
153 (while (re-search-forward "o\010\\+" nil t)
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
154 (replace-match "o"))
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
155
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
156 ;; Nuke the dumb reformatting message
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
157 (goto-char (point-min))
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
158 (while (re-search-forward "Reformatting page. Wait... done\n\n" nil t)
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
159 (replace-match ""))
c3bbd755b7da *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 256
diff changeset
160
58
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
161 ;; Crunch blank lines
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
162 (goto-char (point-min))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
163 (while (re-search-forward "\n\n\n\n*" nil t)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
164 (replace-match "\n\n"))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
165
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
166 ;; Nuke blanks lines at start.
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
167 (goto-char (point-min))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
168 (skip-chars-forward "\n")
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
169 (delete-region (point-min) (point)))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
170
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
171
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
172 (defun insert-man-file (name)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
173 ;; Insert manual file (unpacked as necessary) into buffer
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
174 (if (or (equal (substring name -2) ".Z")
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
175 (string-match "/cat[0-9][a-z]?\\.Z/" name))
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
176 (call-process "zcat" name t nil)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
177 (if (equal (substring name -2) ".z")
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
178 (call-process "pcat" nil t nil name)
035f2a0c8d64 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
179 (insert-file-contents name))))
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 474
diff changeset
180
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 474
diff changeset
181 ;;; man.el ends here