summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/eshell/esh-mode.el67
2 files changed, 41 insertions, 35 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f5c4ee1b19e..7a79110f4a0 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,12 @@
2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
+ * eshell/esh-mode.el (eshell-mode-syntax-table): Fix up initialization
+ (bug#15338).
+ (eshell-self-insert-command, eshell-send-invisible): Remove
+ unused argument.
+ (eshell-handle-control-codes): Remove unused var `orig'.
+ Avoid delete-backward-char.
+
* files.el (set-auto-mode): Simplify a bit further.
2013-09-11 Glenn Morris <rgm@gnu.org>
@@ -74,7 +81,7 @@
2013-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el: Use set-temporary-overlay-map for universal-argument.
- (universal-argument-map): Don't use default-bindings.
+ (universal-argument-map): Don't use default-bindings (bug#15317).
Bind switch-frame explicitly. Replace universal-argument-minus with
a conditional binding.
(universal-argument-num-events, saved-overriding-map): Remove.
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index 0d32dae7ddb..54a36428d58 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -267,19 +267,20 @@ This is used by `eshell-watch-for-password-prompt'."
;; All non-word multibyte characters should be `symbol'.
(map-char-table
(if (featurep 'xemacs)
- (lambda (key val)
+ (lambda (key _val)
(and (characterp key)
(>= (char-int key) 256)
(/= (char-syntax key) ?w)
(modify-syntax-entry key "_ " st)))
- (lambda (key val)
+ (lambda (key _val)
(and (if (consp key)
(and (>= (car key) 128)
(/= (char-syntax (car key)) ?w))
(and (>= key 256)
(/= (char-syntax key) ?w)))
(modify-syntax-entry key "_ " st))))
- (standard-syntax-table))))
+ (standard-syntax-table))
+ st))
;;; User Functions:
@@ -451,8 +452,8 @@ and the hook `eshell-exit-hook'."
(add-hook 'pre-command-hook 'eshell-intercept-commands t t)
(message "Sending subprocess input directly")))
-(defun eshell-self-insert-command (N)
- (interactive "i")
+(defun eshell-self-insert-command ()
+ (interactive)
(process-send-string
(eshell-interactive-process)
(char-to-string (if (symbolp last-command-event)
@@ -925,10 +926,10 @@ a key."
(custom-add-option 'eshell-output-filter-functions
'eshell-truncate-buffer)
-(defun eshell-send-invisible (str)
+(defun eshell-send-invisible ()
"Read a string without echoing.
Then send it to the process running in the current buffer."
- (interactive "P") ; Defeat snooping via C-x ESC ESC
+ (interactive) ; Don't pass str as argument, to avoid snooping via C-x ESC ESC
(let ((str (read-passwd
(format "%s Password: "
(process-name (eshell-interactive-process))))))
@@ -950,7 +951,7 @@ This function could be in the list `eshell-output-filter-functions'."
(beginning-of-line)
(if (re-search-forward eshell-password-prompt-regexp
eshell-last-output-end t)
- (eshell-send-invisible nil)))))
+ (eshell-send-invisible)))))
(custom-add-option 'eshell-output-filter-functions
'eshell-watch-for-password-prompt)
@@ -958,32 +959,30 @@ This function could be in the list `eshell-output-filter-functions'."
(defun eshell-handle-control-codes ()
"Act properly when certain control codes are seen."
(save-excursion
- (let ((orig (point)))
- (goto-char eshell-last-output-block-begin)
- (unless (eolp)
- (beginning-of-line))
- (while (< (point) eshell-last-output-end)
- (let ((char (char-after)))
- (cond
- ((eq char ?\r)
- (if (< (1+ (point)) eshell-last-output-end)
- (if (memq (char-after (1+ (point)))
- '(?\n ?\r))
- (delete-char 1)
- (let ((end (1+ (point))))
- (beginning-of-line)
- (delete-region (point) end)))
- (add-text-properties (point) (1+ (point))
- '(invisible t))
- (forward-char)))
- ((eq char ?\a)
- (delete-char 1)
- (beep))
- ((eq char ?\C-h)
- (delete-backward-char 1)
- (delete-char 1))
- (t
- (forward-char))))))))
+ (goto-char eshell-last-output-block-begin)
+ (unless (eolp)
+ (beginning-of-line))
+ (while (< (point) eshell-last-output-end)
+ (let ((char (char-after)))
+ (cond
+ ((eq char ?\r)
+ (if (< (1+ (point)) eshell-last-output-end)
+ (if (memq (char-after (1+ (point)))
+ '(?\n ?\r))
+ (delete-char 1)
+ (let ((end (1+ (point))))
+ (beginning-of-line)
+ (delete-region (point) end)))
+ (add-text-properties (point) (1+ (point))
+ '(invisible t))
+ (forward-char)))
+ ((eq char ?\a)
+ (delete-char 1)
+ (beep))
+ ((eq char ?\C-h)
+ (delete-region (1- (point)) (1+ (point))))
+ (t
+ (forward-char)))))))
(custom-add-option 'eshell-output-filter-functions
'eshell-handle-control-codes)