Subject: 24.2; prolog mode, shell mode fail to return repl with swipl, bash, comint problem

From: [email-masked] (John R. Towler)
Date: Sun, 16 Dec 2012 19:34:58 -0600

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/share/emacs/24.2/etc/DEBUG.

In GNU Emacs 24.2.1 (i386-unknown-netbsdelf6.0., X toolkit, Xaw3d scroll bars)
 of 2012-12-12 on peano.jtcl.org
Windowing system distributor `The Xorg Foundation', version 11.0.11003000
Configured using:
 `configure '--x-includes=/usr/X11R7/include'
 '--x-libraries=/usr/X11R7/lib' '--infodir=/usr/local/info'
 '--enable-asserts' '--enable-checking' '--enable-profiling'
 '--enable-dependency-tracking' '--without-mail-unlink' '--with-sound'
 '--with-x-toolkit=lucid' '--with-wide-int' '--without-xpm'
 '--without-jpeg' '--without-tiff' '--without-gif' '--without-png'
 '--without-rsvg' '--without-imagemagick' '--without-gpm'
 '--without-dbus' '--without-gconf' '--without-gsettings'
 '--without-selinux' '--with-x' '--without-xft'
 'LDFLAGS=-L/usr/X11R7/lib -L/usr/local/lib'
 'CPPFLAGS=-I/usr/X11R7/include -I/usr/local/include''

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Info

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
SPC s h e l l SPC p r o m p t , SPC h e r e SPC b a 
s h - 4 . 2 $ SPC o r SPC r e p l SPC r e t u r n e 
d SPC t o SPC t h e SPC b u f f e r . <return> <return> 
<escape> < <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<up> <up> <up> <up> <up> <down> <up> <up> <escape> 
> C-x C-s C-x k <return> C-x o C-x k <return> y e s 
<return> <down> C-h i m e m a c s <return> s b u r 
<backspace> g <tab> <backspace> <return> m b u g <return> 
s <return> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <return> 
SPC SPC SPC SPC SPC SPC SPC <backspace> <backspace> 
<backspace> n SPC SPC SPC SPC <backspace> SPC SPC SPC 
SPC <backspace> SPC SPC SPC SPC SPC SPC SPC <backspace> 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC <escape> 
< SPC <backspace> <help-echo> <switch-frame> <switch-frame> 
C-x o C-x C-f . e m a c s <return> C-s s w i p l C-s 
C-r C-r <return> <escape> < C-v C-v C-v C-v C-v C-v 
C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v 
C-v C-x k <return> <switch-frame> <switch-frame> <help-echo> 
C-x o f S e <tab> M <tab> <return> C-v C-v C-v <down> 
m <return> SPC <backspace> q C-x b * I n <tab> <backspace> 
<backspace> <backspace> <tab> * i n <tab> <return> 
l l <escape> x r e p o r t - e m a c s - b u g <re
turn>

Recent messages:
byte-code: End of buffer
Mark set [2 times]
Saving file /usr/local/home/jtowler/to-emacs-bugs-12-16-2012...
Wrote /usr/local/home/jtowler/to-emacs-bugs-12-16-2012
Composing main Info directory...done
Making completion list...
Mark set
Mark saved where search started
Mark set
Making completion list...

Load-path shadows:
/usr/local/share/emacs/site-lisp/preview-latex hides /usr/local/share/emacs/site-lisp/site-start.d/preview-latex
/usr/local/home/jtowler/elisp/align hides /usr/local/share/emacs/24.2/lisp/align
/usr/local/share/emacs/site-lisp/reftex/reftex-sel hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-sel
/usr/local/share/emacs/site-lisp/reftex/reftex-ref hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-ref
/usr/local/share/emacs/site-lisp/reftex/reftex-parse hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-parse
/usr/local/share/emacs/site-lisp/reftex/reftex-index hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-index
/usr/local/share/emacs/site-lisp/reftex/reftex-dcr hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-dcr
/usr/local/share/emacs/site-lisp/reftex/reftex-cite hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-cite
/usr/local/home/jtowler/elisp/ispell hides /usr/local/share/emacs/24.2/lisp/textmodes/ispell
/usr/local/share/emacs/site-lisp/reftex/reftex-global hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-global
/usr/local/share/emacs/site-lisp/reftex/reftex-vars hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-vars
/usr/local/share/emacs/site-lisp/reftex/reftex hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex
/usr/local/share/emacs/site-lisp/reftex/reftex-toc hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-toc
/usr/local/share/emacs/site-lisp/reftex/reftex-auc hides /usr/local/share/emacs/24.2/lisp/textmodes/reftex-auc
/usr/local/home/jtowler/elisp/prolog hides /usr/local/share/emacs/24.2/lisp/progmodes/prolog
/usr/local/share/emacs/site-lisp/esh-mode hides /usr/local/share/emacs/24.2/lisp/eshell/esh-mode

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils debug jka-compr help-mode
misearch multi-isearch dired-aux appt view cal-china lunar holidays
hol-loaddefs cal-julian solar cal-dst diary-lib cal-hebrew
diary-loaddefs mule-util cal-move cal-menu calendar cal-loaddefs
timeclock prolog align info imenu compile ispell preview-latex tex-site
auto-loads bbdb-autoloads bbdb timezone printing ps-print ps-def lpr
paredit slime-compiler-notes-tree slime-xref-browser tree-widget
wid-edit slime-typeout-frame slime-tramp tramp tramp-compat auth-source
eieio assoc gnus-util mm-util mail-prsvr password-cache shell pcomplete
format-spec tramp-loaddefs slime-asdf warnings slime-fancy
slime-fontifying-fu slime-package-fu slime-references slime-scratch
slime-presentations slime-fuzzy slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc advice advice-preload slime-parse
slime-repl slime byte-opt bytecomp byte-compile cconv macroexp derived
help-fns edmacro kmacro easy-mmode pp comint ansi-color ring hyperspec
thingatpt browse-url cl time dired-x easymenu dired regexp-opt
time-stamp time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dynamic-setting x-toolkit x multi-tty
emacs)

bash-4.2$ uname -a
NetBSD peano.jtcl.org 6.0_STABLE NetBSD 6.0_STABLE (Peano6) #0: Tue Dec
11 22:24:48 CST 2012
[email-masked]:/usr/obj/sys/arch/i386/compile/Peano6 i386

Hello, 

       I got newest swi-prolog to compile and build, pl-6.3.5, and now from
       pl-6.1.x (git old devel version, no xpce, problems with
       intermediate versions elsewhere) which did work on
       this emacs-24, and from when I found out about the developing
       state of bidi, and switched and built the pretest 24.0.95
       through 24.1, and now 24.2(.1 on compilation), with the
       standard prolog.el distributed for each of these emacs-24*s,
       now:

on reinstall/compile with changed settings, and newest prolog.el from
Stefan Brada et al. v. 1.24, hand loaded, emacs-24.2.1, just double
checked in case the autoloads read the
emacs/24.2/lisp/progmodes/prolog* instead. (v. 1.22 I think), result
is the same.

prolog-implementation set to swi, "/usr/local/bin/swipl"

----------*prolog*----------------
M-x run-prolog
Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 6.3.4)
Copyright (c) 1990-2012 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

with no prolog prompt returned

--------------- *Backtrace* with debug-on-entry to make-comint set----------

studied the prolog.el code, and the inf-lisp.el code,
both call 'make-comint.

  make-comint("prolog" "swipl" nil)
* apply(make-comint "prolog" "swipl" nil nil)
  (if (comint-check-proc "*prolog*") nil (apply (quote make-comint) "prolog" prolog-program-name-i nil prolog-program-switches-i) (save-excursion (set-buffer "*prolog*") (prolog-inferior-mode) (if wait (progn (goto-char (point-max)) (while (save-excursion (not (re-search-backward ... nil t))) (sit-for 0.1))))))
  prolog-ensure-process()
  (let ((buff (buffer-name))) (if (not (string= buff "*prolog*")) (prolog-goto-prolog-process-buffer)) (if (and (eq prolog-system (quote sicstus)) (prolog-atleast-version (quote (3 . 7))) prolog-use-sicstus-sd) (prolog-enable-sicstus-sd)) (prolog-mode-variables) (prolog-ensure-process))
  ad-Orig-run-prolog(nil)
  run-prolog(nil)
  call-interactively(run-prolog t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

------------
Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 6.3.5)
Copyright (c) 1990-2012 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

both with no prolog prompt returned

----from mlterm ------
%%running gmake check

All tests passed
bash-4.2$ echo $LC_ALL
en_US.UTF-8
bash-4.2$ swipl
Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 6.3.5)
Copyright (c) 1990-2012 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- emacs.
Warning: locale not supported by Xlib, locale set to C
Warning: X locale modifiers not supported, using default
true.

?- halt.
bash-4.2$

------------------------------
inferior lisp set to clisp, not testing the more complex slime

M-x run-lisp

-------*Backtrace*-------
Debugger entered--entering a function:
  make-comint("inferior-lisp" "clisp" nil "-m" "10M")
* apply(make-comint "inferior-lisp" "clisp" nil ("-m" "10M"))
  run-lisp("clisp -m 10M")
  call-interactively(run-lisp t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)
------------

-------*inferior-lisp*-----------

  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Welcome to GNU CLISP 2.49 (2010-07-07) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010

Type :h and hit Enter for context help.

[1]> 

-------------------------

same problem with no return of inferior comint process with M-x shell

checked the code in emacs/24.2/lisp/shell.el, tail end calls
'make-comint-in-buffer

M-x debug-on-entry
make-comint-in-buffer

M-x shell
------*Backtrace*--------
Debugger entered--entering a function:
  make-comint-in-buffer("shell" #<buffer *shell*> "/usr/local/bin/bash" nil "--noediting" "-i")
* apply(make-comint-in-buffer "shell" #<buffer *shell*> "/usr/local/bin/bash" nil ("--noediting" "-i"))
  shell(nil)
  call-interactively(shell t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

--------------------------

----*shell*------------

------------------
with no shell prompt, here bash-4.2$ or repl returned to the buffer.

this is checked with emacs -Q as directed in the info section on
reporting bugs, using the standard emacs/24.2/lisp/prolog.elc, 
prolog.el.gz

the following is the *scratch* buffer with the hand
typed commands and notes about the same results as reported above for
swipl 6.3.5, run-prolog, bash-4.2, shell, clisp, run-lisp:

The full debug and backtrace for each, and emacs lisp std library checks
for the comint functions in question not repeated.  Sorry.

;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

M-x load-library<RET> prolog<RET>
(setq prolog-system 'swi)C-xC-e<RET>
M-x run-prolog<RET>

%%% as before, no swipl prompt, ?-

M-x shell<RET>

## same as before, no shell prompt, bash-4.2$

M-x load-library<RET>inf-lisp<RET>
(setq inferior-lisp-program "/usr/local/bin/clisp")C-xC-e<RET>

M-x run-lisp<RET>

;;;same here success in getting the CLISP prompt

John R. Towler
[email-masked]