;;; esh-maint --- init code for building eshell;; Copyright (C) 1999, 2000 Free Software Foundation;; Author: John Wiegley <johnw@gnu.org>;; This file is part of GNU Emacs.;; GNU Emacs is free software; you can redistribute it and/or modify;; it under the terms of the GNU General Public License as published by;; the Free Software Foundation; either version 2, or (at your option);; any later version.;; GNU Emacs is distributed in the hope that it will be useful,;; but WITHOUT ANY WARRANTY; without even the implied warranty of;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the;; GNU General Public License for more details.;; You should have received a copy of the GNU General Public License;; along with GNU Emacs; see the file COPYING. If not, write to the;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,;; Boston, MA 02111-1307, USA.;;; Commentary:;;; Code:(provide'esh-maint)(and(fboundp'font-lock-add-keywords)(font-lock-add-keywords'emacs-lisp-mode'(("(eshell-for\\>".font-lock-keyword-face)("(eshell-deftest\\>".font-lock-keyword-face)("(eshell-condition-case\\>".font-lock-keyword-face))))(add-to-list'load-path".")(if(file-directory-p"../pcomplete")(add-to-list'load-path"../pcomplete"))(if(locate-library"pcomplete")(require'pcomplete))(eval-when-compile(require'cl)(setqcl-optimize-speed9))(defuneshell-generate-autoloads()(interactive)(require'autoload)(setqgenerated-autoload-file(expand-file-name(carcommand-line-args-left)))(setqcommand-line-args-left(cdrcommand-line-args-left))(batch-update-autoloads))(require'eshell)(require'esh-mode); brings in eshell-util(require'esh-opt)(require'esh-test)(defuneshell-generate-main-menu()"Create the main menu for the eshell documentation."(insert"@menu * The Emacs shell:: eshell. Core Functionality\n")(eshell-formodule(sort(eshell-subgroups'eshell)(function(lambda(ab)(string-lessp(symbol-namea)(symbol-nameb)))))(insert(format"* %-34s"(concat(getmodule'custom-tag)"::"))(symbol-namemodule)".\n"))(insert"\nOptional Functionality\n")(eshell-formodule(sort(eshell-subgroups'eshell-module)(function(lambda(ab)(string-lessp(symbol-namea)(symbol-nameb)))))(insert(format"* %-34s"(concat(getmodule'custom-tag)"::"))(symbol-namemodule)".\n"))(insert"@end menu\n"))(defuneshell-make-texi()"Make the eshell.texi file."(interactive)(require'eshell-auto)(require'texidoc)(require'pcomplete)(apply'texidoc-files'eshell-generate-main-menu"eshell.doci"(append(list"eshell.el")(sort(mapcar(function(lambda(sym)(let((name(symbol-namesym)))(if(string-match"\\`eshell-\\(.*\\)"name)(setqname(concat"esh-"(match-string1name))))(concatname".el"))))(eshell-subgroups'eshell))'string-lessp)(sort(mapcar(function(lambda(sym)(let((name(symbol-namesym)))(if(string-match"\\`eshell-\\(.*\\)"name)(setqname(concat"em-"(match-string1name))))(concatname".el"))))(eshell-subgroups'eshell-module))'string-lessp)(list"eshell.texi"))))(defuneshell-make-readme()"Make the README file from eshell.el."(interactive)(require'eshell-auto)(require'texidoc)(require'pcomplete)(texidoc-filesnil"eshell.doci""eshell.el""README.texi")(set-buffer(get-buffer"README.texi"))(goto-char(point-min))(search-forward"@chapter")(beginning-of-line)(forward-line-1)(kill-line2)(re-search-forward"^@section User Options")(beginning-of-line)(delete-region(point)(point-max))(insert"@bye\n")(save-buffer)(with-temp-buffer(call-process"makeinfo"niltnil"--no-headers""README.texi")(goto-char(point-min))(search-forward"The Emacs Shell")(beginning-of-line)(delete-region(point-min)(point))(write-file"README"))(delete-file"README.texi")(kill-buffer"README.texi"));;; esh-maint.el ends here