[gnu.emacs] bug in make-shell

worley@EDDIE.MIT.EDU (Dale Worley) (11/24/88)

In make-shell, shell-mode is called any time that shell is used to
switch to the shell buffer.  This is incorrect, since shell-mode does
a bunch of initializations.  It should only be called when the shell
process is created.  (This is based on the assumption that you use the
shell command to switch-buffer-to-shell-buffer, which I do.)  The
result is that C-c C-y (copy-last-shell-input) forgets the last shell
input when shell is executed.

*** shell.el.old	Sun Jul  3 10:37:12 1988
--- shell.el	Wed Nov 23 14:34:50 1988
***************
*** 179,188 ****
  	       (setq startfile (buffer-substring (point) (point-max)))
  	       (delete-region (point) (point-max))
  	       (process-send-string proc startfile)))
  	(setq name (process-name proc)))
        (goto-char (point-max))
!       (set-marker (process-mark proc) (point))
!       (shell-mode))
      buffer))
  
  (defvar shell-set-directory-error-hook 'ignore
--- 179,188 ----
  	       (setq startfile (buffer-substring (point) (point-max)))
  	       (delete-region (point) (point-max))
  	       (process-send-string proc startfile)))
+ 	(shell-mode)
  	(setq name (process-name proc)))
        (goto-char (point-max))
!       (set-marker (process-mark proc) (point)))
      buffer))
  
  (defvar shell-set-directory-error-hook 'ignore

Dale
Dale Worley, Compass, Inc.                      mit-eddie!think!compass!worley
Seen in a net discussion:  "It took work to make tofu politically correct."