view lispref/two.el @ 42861:3ee90bcdf67d

Added support for BS2000, and for raw ftp login commands (needed in some circumstances). (ange-ftp-raw-login): New custom var. (ange-ftp-normal-login): Perform login with raw ftp commands, if ange-ftp-raw-login is set and account password is needed. (ange-ftp-host-type, ange-ftp-guess-host-type): Handle BS2000 hosts. (ange-ftp-bs2000-filename-pubset-regexp) (ange-ftp-bs2000-filename-username-regexp) (ange-ftp-bs2000-filename-prefix-regexp) (ange-ftp-bs2000-name-template): New consts. (ange-ftp-bs2000-short-filename-regexp) (ange-ftp-bs2000-fix-name-regexp-reverse) (ange-ftp-bs2000-fix-name-regexp): New consts. (ange-ftp-bs2000-special-prefix): New custom var. (ange-ftp-fix-name-for-bs2000) (ange-ftp-fix-dir-name-for-bs2000): New funs. (ange-ftp-bs2000-host-regexp, ange-ftp-bs2000-posix-host-regexp) (ange-ftp-bs2000-posix-hook-installed): New vars. (ange-ftp-parse-bs2000-filename, ange-ftp-parse-bs2000-listing) (ange-ftp-bs2000-host, ange-ftp-bs2000-posix-host) (ange-ftp-add-bs2000-host, ange-ftp-add-bs2000-posix-host): New funs. (ange-ftp-bs2000-filename-regexp): New const. (ange-ftp-bs2000-additional-pubsets): New custom var. (ange-ftp-bs2000-cd-to-posix): New fun.
author Richard M. Stallman <rms@gnu.org>
date Sun, 20 Jan 2002 22:10:54 +0000
parents 1377d461b09c
children 23a1cea22d13
line wrap: on
line source

;; Auxilary functions for preparing a two volume manual.
;; --rjc 30mar92

(defun volume-aux-markup (arg)
  "Append `vol. NUMBER' to page number.
Apply to aux file that you save.
Then insert marked file into other volume's .aux file."
  (interactive "sType volume number, 1 or 2: " )
  (goto-char (point-min))
  (while (search-forward "-pg" nil t)
    (end-of-line 1)
    (delete-backward-char 1 nil)
    (insert ", vol.'tie" arg "}")))

(defun volume-index-markup (arg)
  "Prepend  `NUMBER:' to page number.  Use Roman Numeral.
Apply only to unsorted index file, 
Then insert marked file into other volume's unsorted index file.
Then run texindex on that file and save."
  (interactive
   "sType volume number,  roman number I or II: " )
  (goto-char (point-min))
  (while (search-forward "\\entry" nil t)
    (search-forward "}{" (save-excursion (end-of-line) (point)) nil)
    (insert arg ":")))

(defun volume-numbers-toc-markup (arg)
  (interactive
   "sType volume number,  roman number I or II: " )
  (goto-char (point-min))
  (while (search-forward "chapentry" nil t)
    (end-of-line)
    (search-backward "{" nil t)
    (forward-char 1)
    (insert arg ":")))

(defun volume-header-toc-markup ()
  "Insert Volume I and Volume II text into .toc file.
NOTE: this auxilary function is file specific.
This is for the *Elisp Ref Manual*"
  (interactive)
  (goto-char (point-min))
  (insert "\\unnumbchapentry {Volume 1}{}\n\\unnumbchapentry {}{}\n")
  (search-forward "\\unnumbchapentry {Index}")
  (forward-line 1)
  (insert 
   "\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {Volume 2}{}\n\\unnumbchapentry {}{}\n"))


;;; In batch mode, you cannot call functions with args; hence this kludge:

(defun volume-aux-markup-1 () (volume-aux-markup "1"))
(defun volume-aux-markup-2 () (volume-aux-markup "2"))

(defun volume-index-markup-I () (volume-index-markup "I"))
(defun volume-index-markup-II () (volume-index-markup "II"))

(defun volume-numbers-toc-markup-I () (volume-numbers-toc-markup "I"))
(defun volume-numbers-toc-markup-II () (volume-numbers-toc-markup "II"))