Merge from emacs--rel--22
[bpt/emacs.git] / lisp / eshell / em-basic.el
index bcc1ef8..57f9a09 100644 (file)
@@ -1,7 +1,7 @@
 ;;; em-basic.el --- basic shell builtin commands
 
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;;   2005, 2006, 2007 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
@@ -9,7 +9,7 @@
 
 ;; 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)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 ;; Boston, MA 02110-1301, USA.
 
-(provide 'em-basic)
-
-(eval-when-compile (require 'esh-maint))
-
-(defgroup eshell-basic nil
-  "The \"basic\" code provides a set of convenience functions which
-are traditionally considered shell builtins.  Since all of the
-functionality provided by them is accessible through Lisp, they are
-not really builtins at all, but offer a command-oriented way to do the
-same thing."
-  :tag "Basic shell commands"
-  :group 'eshell-module)
-
 ;;; Commentary:
 
 ;; There are very few basic Eshell commands -- so-called builtins.
@@ -48,14 +35,6 @@ same thing."
 ;; echo as an argument), or whether it should try to act like a normal
 ;; shell echo, and always result in a flat string being returned.
 
-(defcustom eshell-plain-echo-behavior nil
-  "*If non-nil, `echo' tries to behave like an ordinary shell echo.
-This comes at some detriment to Lisp functionality.  However, the Lisp
-equivalent of `echo' can always be achieved by using `identity'."
-  :type 'boolean
-  :group 'eshell-basic)
-
-;;;
 ;; An example of the difference is the following:
 ;;
 ;;   echo Hello world
@@ -83,8 +62,27 @@ equivalent of `echo' can always be achieved by using `identity'."
 
 ;;; Code:
 
+(eval-when-compile
+  (require 'esh-util))
+
 (require 'esh-opt)
 
+(defgroup eshell-basic nil
+  "The \"basic\" code provides a set of convenience functions which
+are traditionally considered shell builtins.  Since all of the
+functionality provided by them is accessible through Lisp, they are
+not really builtins at all, but offer a command-oriented way to do the
+same thing."
+  :tag "Basic shell commands"
+  :group 'eshell-module)
+
+(defcustom eshell-plain-echo-behavior nil
+  "*If non-nil, `echo' tries to behave like an ordinary shell echo.
+This comes at some detriment to Lisp functionality.  However, the Lisp
+equivalent of `echo' can always be achieved by using `identity'."
+  :type 'boolean
+  :group 'eshell-basic)
+
 ;;; Functions:
 
 (defun eshell-echo (args &optional output-newline)
@@ -180,8 +178,7 @@ or `eshell-printn' for display."
       "Warning: umask changed for all new files created by Emacs.\n"))
    nil))
 
-(eval-when-compile
-  (defvar print-func))
+(provide 'em-basic)
 
 ;;; arch-tag: 385a31b1-cb95-46f0-9829-9d352ee77db8
 ;;; em-basic.el ends here