Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Prompting for input inside IDE (SSCCE) (half SOLVED)

by LanX (Saint)
on Mar 27, 2023 at 14:19 UTC ( #11151256=note: print w/replies, xml ) Need Help??


in reply to Prompting for input inside IDE run (was Reading from STDIN)

SSCCE
based on Haj's example
use v5.12; use warnings; STDOUT->autoflush; STDERR->autoflush; STDIN->autoflush; say "Give me a cookie: "; my $thing = readline(STDIN); $thing =~ /^(a )?cookie$/ or warn "That was no cookie."; say "Thanks and goodbye!"; die "exiting here";

expected output in pre/tt


Give me a cookie:                                               # waits for input
croock                                                          # manual input             
That was no cookie. at emacs_input.pl line 10, <STDIN> line 1.  # jumps to line 10
Thanks and goodbye!
exiting here at emacs_input.pl line 14, <STDIN> line 1.         # jumps to line 14

For better understanding I manually added meta info

  • STDOUT in black
  • STDIN in red
  • STDERR resp. clickable cross-refs as hrefs
  • additional comments in grey
FWIW

I've stumbled over a SO discussion which made this (half) work.

> C-u M-x compile and ... compilation buffer will be in comint mode, i.e. interactive.

(the C-u means prefix arg, a very e-lisp-ish annoyance)

I still have to find a way to make this work inside mode-compile

Cheers Rolf
(addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re^2: Prompting for input inside IDE (SOLVED)
by LanX (Saint) on Mar 27, 2023 at 18:15 UTC
    > I still have to find a way to make this work inside mode-compile

    patching this in mode-compile.el seems to work

    (defun mc--compile (compile-command) ;; Call compile with the compile command ;; but append the remote-command before (if (null mc--remote-command) ;; local compile (mc--compile-sav compile-command t) ; <-- +-- "t" added to list ;; remote compile (let ((thisdir (expand-file-name (or default-directory "~")))) (mc--compile-sav (concat ;; The command to lauch remote commands mc--remote-command ;; Change to this buffer directory ... "'( cd " thisdir " ; " ;; then run the compile command compile-command " )'")))))

    But I'm not too sure, only using emacs for 30 years now...

    Cheers Rolf
    (addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
    Wikisyntax for the Monastery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11151256]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2023-09-23 21:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?