;;; esh-mode.el --- user interface
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;; 2008, 2009 Free Software Foundation, Inc.
;; 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
+;; 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 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, 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
;; 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., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
-
-(provide 'esh-mode)
-
-(eval-when-compile (require 'esh-maint))
-
-(defgroup eshell-mode nil
- "This module contains code for handling input from the user."
- :tag "User interface"
- :group 'eshell)
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; @ <C-c C-b> will move backward a complete shell argument.
+(provide 'esh-mode)
+
+(eval-when-compile (require 'esh-util))
(require 'esh-module)
(require 'esh-cmd)
(require 'esh-io)
(require 'esh-var)
+(defgroup eshell-mode nil
+ "This module contains code for handling input from the user."
+ :tag "User interface"
+ :group 'eshell)
+
;;; User Variables:
(defcustom eshell-mode-unload-hook nil
(define-abbrev-table 'eshell-mode-abbrev-table ())
-(eval-when-compile
- (unless (eshell-under-xemacs-p)
- (defalias 'characterp 'ignore)
- (defalias 'char-int 'ignore)))
-
(if (not eshell-mode-syntax-table)
(let ((i 0))
(setq eshell-mode-syntax-table (make-syntax-table))
(modify-syntax-entry ?\[ "(] " eshell-mode-syntax-table)
(modify-syntax-entry ?\] ")[ " eshell-mode-syntax-table)
;; All non-word multibyte characters should be `symbol'.
- (if (eshell-under-xemacs-p)
+ (if (featurep 'xemacs)
(map-char-table
(function
(lambda (key val)
(map-char-table
(function
(lambda (key val)
- (and (>= key 256)
- (/= (char-syntax key) ?w)
+ (and (if (consp key)
+ (and (>= (car key) 128)
+ (/= (char-syntax (car key)) ?w))
+ (and (>= key 256)
+ (/= (char-syntax key) ?w)))
(modify-syntax-entry key "_ "
eshell-mode-syntax-table))))
(standard-syntax-table)))))
(eshell-deftest mode command-running-p
"Modeline shows no command running"
- (or (eshell-under-xemacs-p)
+ (or (featurep 'xemacs)
(not eshell-status-in-modeline)
(and (memq 'eshell-command-running-string mode-line-format)
(equal eshell-command-running-string "--"))))
(interactive "i")
(process-send-string
(eshell-interactive-process)
- (char-to-string (if (symbolp last-command-char)
- (get last-command-char 'ascii-character)
- last-command-char))))
+ (char-to-string (if (symbolp last-command-event)
+ (get last-command-event 'ascii-character)
+ last-command-event))))
(defun eshell-intercept-commands ()
(when (and (eshell-interactive-process)
(defun eshell-handle-ansi-color ()
"Handle ANSI color codes."
- (require 'ansi-color)
+ (eval-and-compile (require 'ansi-color))
(ansi-color-apply-on-region eshell-last-output-start
eshell-last-output-end))
;;; Code:
-;;; arch-tag: ec65bc2b-da14-4547-81d3-a32af3a4dc57
+;; arch-tag: ec65bc2b-da14-4547-81d3-a32af3a4dc57
;;; esh-mode.el ends here