view lispref/two.el @ 55189:51108148b11d

Capitalise Emacs and Lisp. (type-break-good-break-interval, type-break-demo-boring-stats) (type-break-terse-messages, type-break-file-name): New defcustoms. (type-break-post-command-hook) (type-break-warning-countdown-string): Quote variable names in doc. (type-break-interval-start, type-break-auto-save-file-name): New defvars. (type-break-mode): Document type-break-good-break-interval and the "session" file. Schedule break according to the session file. Kill session file buffer on exit. Organise for save-some-buffers to always save the session file. (type-break-mode-line-message-mode, type-break-query-mode): Uppercase arguments. (type-break-file-time, type-break-file-keystroke-count, timep) (type-break-choose-file, type-break-get-previous-time) (type-break-get-previous-count): New defuns. (type-break): Avoid break querying after a completed break in the case where the query was initiated during user invocation of the break. Optional terse messages. Use type-break-good-break-interval if type-break-good-rest-interval is nil. File the break time. (type-break-schedule): New optional args for overriding the use of the current time. (type-break-cancel-time-warning-schedule): Avoid leftover warnings after a break. (type-break-check): File the keystroke count. (type-break-do-query): Prevent a second query when the break is interrupted. Optional terse message. (type-break-keystroke-reset): Record the start of a typing interval. (type-break-demo-boring): Optional terse messages. Display word per minute and keystroke counts according to type-break-demo-boring-stats.
author Eli Zaretskii <eliz@gnu.org>
date Tue, 27 Apr 2004 13:09:26 +0000
parents 695cf19ef79e
children 9f4849fee703 375f2633d815
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"))

;;; arch-tag: 848955fe-e9cf-45e7-a2f1-570ef156d6a5