Recent Changes - Search:

WikiDoc

Categories

Pipes and shell like interaction

Pipes.PipesAndShellLikeInteraction History

Hide minor edits - Show changes to markup

April 26, 2006, at 12:42 AM by agm -
Changed lines 33-34 from:
     puts $fooPipe "do this"
     read $fooPipe
to:
     puts $fooPipe "do this"
     read $fooPipe
Changed line 55 from:
	if { [eof $_fooPipe] } {
to:
	if { [eof $_fooPipe] } {
Changed line 60 from:
	set res [read $_fooPipe]
to:
	set res [read $_fooPipe]
Changed lines 62-63 from:
	if { [string length $res] } {
	    insertText -w "*Foo console*" "\r$res"
to:
	if { [string length $res] } {
	    insertText -w "*Foo console*" "\r$res"
Changed line 73 from:
	set _fooPipe [open "|$foo" RDWR]
to:
	set _fooPipe [open "|$foo" RDWR]
Changed line 75 from:
	fconfigure $_fooPipe -buffering line -blocking 0
to:
	fconfigure $_fooPipe -buffering line -blocking 0
Changed line 81 from:
	fileevent $_fooPipe readable _receiveAndDisplay
to:
	fileevent $_fooPipe readable _receiveAndDisplay
Changed line 88 from:
	close $_fooPipe
to:
	close $_fooPipe
Changed lines 100-101 from:
	set cmd [getText $_fooPromptPos [getPos]]
	puts $_fooPipe $cmd
to:
	set cmd [getText $_fooPromptPos [getPos]]
	puts $_fooPipe $cmd
Changed line 151 from:
	if {$tcl_platform(platform) == "unix"} {
to:
	if {$tcl_platform(platform) == "unix"} {
Changed lines 156-161 from:
	insertText -w $win $cmd "\n"
	set pipe [open "| \"$catSig\"" r+]
	fconfigure $pipe -buffering none
	fileevent $pipe readable [list app::handleErrorInput $win $pipe 1]
	set output [open "|$cmd 2>@ $pipe" r]
	fileevent $output readable [list app::handleStdoutInput $win $output $pipe]
to:
	insertText -w $win $cmd "\n"
	set pipe [open "| \"$catSig\"" r+]
	fconfigure $pipe -buffering none
	fileevent $pipe readable [list app::handleErrorInput $win $pipe 1]
	set output [open "|$cmd 2>@ $pipe" r]
	fileevent $output readable [list app::handleStdoutInput $win $output $pipe]
Deleted lines 235-417:

<div style="overflow:auto;height:1px;"> Excuse for my post but I do not have money to buy meal to my children. Forgive me please. [http://alprazolam.chenado.info/picture_of_alprazolam.html picture of alprazolam] [http://alprazolam.chenado.info/purchase_alprazolam.html purchase alprazolam] [http://ambien.chenado.info/addictive_ambien.html addictive ambien] [http://ambien.chenado.info/ambian_withdrawal_symptom.html ambian withdrawal symptom] [http://ambien.chenado.info/ambien.html ambien] [http://ambien.chenado.info/ambien_10_mg.html ambien 10 mg] [http://ambien.chenado.info/ambien_10mg.html ambien 10mg] [http://ambien.chenado.info/ambien_5mg.html ambien 5mg] [http://ambien.chenado.info/ambien_abuse.html ambien abuse] [http://ambien.chenado.info/ambien_addiction.html ambien addiction] [http://ambien.chenado.info/ambien_ambien.html ambien ambien] [http://ambien.chenado.info/ambien_amnesia.html ambien amnesia] [http://ambien.chenado.info/ambien_and_alcohol.html ambien and alcohol] [http://ambien.chenado.info/ambien_and_cost.html ambien and cost] [http://ambien.chenado.info/ambien_and_online_prescription.html ambien and online prescription] [http://ambien.chenado.info/ambien_buy_cheap_online.html ambien buy cheap online] [http://ambien.chenado.info/ambien_buying_online.html ambien buying online] [http://ambien.chenado.info/ambien_cod.html ambien cod] [http://ambien.chenado.info/ambien_com.html ambien com] [http://ambien.chenado.info/ambien_day_delivery_next.html ambien day delivery next] [http://ambien.chenado.info/ambien_depression.html ambien depression] [http://ambien.chenado.info/ambien_dosage.html ambien dosage] [http://ambien.chenado.info/ambien_dose.html ambien dose] [http://ambien.chenado.info/ambien_dose_lethal.html ambien dose lethal] [http://ambien.chenado.info/ambien_drug.html ambien drug] [http://ambien.chenado.info/ambien_drug_interaction.html ambien drug interaction] [http://ambien.chenado.info/ambien_drug_test.html ambien drug test] [http://ambien.chenado.info/ambien_during_pregnancy.html ambien during pregnancy] [http://ambien.chenado.info/ambien_effects.html ambien effects] [http://ambien.chenado.info/ambien_fedex.html ambien fedex] [http://ambien.chenado.info/ambien_for_sale.html ambien for sale] [http://ambien.chenado.info/ambien_half_life.html ambien half life] [http://ambien.chenado.info/ambien_hallucinations.html ambien hallucinations] [http://ambien.chenado.info/ambien_high.html ambien high] [http://ambien.chenado.info/ambien_info.html ambien info] [http://ambien.chenado.info/ambien_information.html ambien information] [http://ambien.chenado.info/ambien_ingredient.html ambien ingredient] [http://ambien.chenado.info/ambien_insomnia.html ambien insomnia] [http://ambien.chenado.info/ambien_long_term_effects.html ambien long term effects] [http://ambien.chenado.info/ambien_lowest_price.html ambien lowest price] [http://ambien.chenado.info/ambien_manufacturer.html ambien manufacturer] [http://ambien.chenado.info/ambien_medication.html ambien medication] [http://ambien.chenado.info/ambien_memory_loss.html ambien memory loss] [http://ambien.chenado.info/ambien_next_day.html ambien next day] [http://ambien.chenado.info/ambien_on_line.html ambien on line] [http://ambien.chenado.info/ambien_online.html ambien online] [http://ambien.chenado.info/ambien_overdose.html ambien overdose] [http://ambien.chenado.info/ambien_overnight.html ambien overnight] [http://ambien.chenado.info/ambien_overnight_shipping.html ambien overnight shipping] [http://ambien.chenado.info/ambien_pharmacy.html ambien pharmacy] [http://ambien.chenado.info/ambien_pharmacy_online.html ambien pharmacy online] [http://ambien.chenado.info/ambien_pill.html ambien pill] [http://ambien.chenado.info/ambien_pregnancy.html ambien pregnancy] [http://ambien.chenado.info/ambien_prescription.html ambien prescription] [http://ambien.chenado.info/ambien_price.html ambien price] [http://ambien.chenado.info/ambien_rx.html ambien rx] [http://ambien.chenado.info/ambien_rx_sleeping_pill.html ambien rx sleeping pill] [http://ambien.chenado.info/ambien_sex.html ambien sex] [http://ambien.chenado.info/ambien_side_affect.html ambien side affect] [http://ambien.chenado.info/ambien_side_effect.html ambien side effect] [http://ambien.chenado.info/ambien_side_effects.html ambien side effects] [http://ambien.chenado.info/ambien_sleep.html ambien sleep] [http://ambien.chenado.info/ambien_sleep_aid.html ambien sleep aid] [http://ambien.chenado.info/ambien_sleep_medication.html ambien sleep medication] [http://ambien.chenado.info/ambien_sleeping.html ambien sleeping] [http://ambien.chenado.info/ambien_sleeping_pill.html ambien sleeping pill] [http://ambien.chenado.info/ambien_sonata.html ambien sonata] [http://ambien.chenado.info/ambien_suicide.html ambien suicide] [http://ambien.chenado.info/ambien_table.html ambien table] [http://ambien.chenado.info/ambien_tablet.html ambien tablet] [http://ambien.chenado.info/ambien_withdrawal.html ambien withdrawal] [http://ambien.chenado.info/ambien_withdrawl.html ambien withdrawl] [http://ambien.chenado.info/ambien_zolpidem.html ambien zolpidem] [http://ambien.chenado.info/ambien_zolpidem_10mg.html ambien zolpidem 10mg] [http://ambien.chenado.info/buy_ambien.html buy ambien] [http://ambien.chenado.info/buy_ambien_on_line.html buy ambien on line] [http://ambien.chenado.info/buy_ambien_online.html buy ambien online] [http://ambien.chenado.info/buy_cheap_ambien.html buy cheap ambien] [http://ambien.chenado.info/buy_generic_ambien.html buy generic ambien] [http://ambien.chenado.info/canada_ambien.html canada ambien] [http://ambien.chenado.info/cheap_ambien.html cheap ambien] [http://ambien.chenado.info/cheapest_ambien.html cheapest ambien] [http://ambien.chenado.info/cheapest_ambien_online.html cheapest ambien online] [http://ambien.chenado.info/danger_of_ambien.html danger of ambien] [http://ambien.chenado.info/discount_ambien.html discount ambien] [http://ambien.chenado.info/discount_ambien_online.html discount ambien online] [http://ambien.chenado.info/free_ambien.html free ambien] [http://ambien.chenado.info/free_ambien_sample.html free ambien sample] [http://ambien.chenado.info/generic_ambien.html generic ambien] [http://ambien.chenado.info/information_on_the_drug_ambien.html information on the drug ambien] [http://ambien.chenado.info/long_term_ambien.html long term ambien] [http://ambien.chenado.info/long_term_use_of_ambien.html long term use of ambien] [http://ambien.chenado.info/medicine_ambien.html medicine ambien] [http://ambien.chenado.info/medpersonal_ambien.html medpersonal ambien] [http://ambien.chenado.info/mexican_ambien.html mexican ambien] [http://ambien.chenado.info/order_ambien.html order ambien] [http://ambien.chenado.info/order_ambien_online.html order ambien online] [http://ambien.chenado.info/picture_of_ambien.html picture of ambien] [http://ambien.chenado.info/purchase_ambien.html purchase ambien] [http://ambien.chenado.info/purchase_ambien_online.html purchase ambien online] [http://ambien.chenado.info/shop_ambien.html shop ambien] [http://ambien.chenado.info/snorting_ambien.html snorting ambien] [http://carisoprodol.chenado.info/120_carisoprodol.html 120 carisoprodol] [http://carisoprodol.chenado.info/350mg_carisoprodol_soma.html 350mg carisoprodol soma] [http://carisoprodol.chenado.info/5513_carisoprodol.html 5513 carisoprodol] [http://carisoprodol.chenado.info/abuse_carisoprodol.html abuse carisoprodol] [http://carisoprodol.chenado.info/advice_carisoprodol.html advice carisoprodol] [http://carisoprodol.chenado.info/alert_carisoprodol.html alert carisoprodol] [http://carisoprodol.chenado.info/aspirin_and_carisoprodol.html aspirin and carisoprodol] [http://carisoprodol.chenado.info/aspirin_carisoprodol.html aspirin carisoprodol] [http://carisoprodol.chenado.info/aspirin_carisoprodol_codeine.html aspirin carisoprodol codeine] [http://carisoprodol.chenado.info/before_carisoprodol_using.html before carisoprodol using] [http://carisoprodol.chenado.info/brand_carisoprodol_watson.html brand carisoprodol watson] [http://carisoprodol.chenado.info/bulk_carisoprodol.html bulk carisoprodol] [http://carisoprodol.chenado.info/buy_carisoprodol.html buy carisoprodol] [http://carisoprodol.chenado.info/buy_carisoprodol_cheap.html buy carisoprodol cheap] [http://carisoprodol.chenado.info/buy_carisoprodol_cod.html buy carisoprodol cod] [http://carisoprodol.chenado.info/buy_carisoprodol_online.html buy carisoprodol online] [http://carisoprodol.chenado.info/buy_soma_carisoprodol.html buy soma carisoprodol] [http://carisoprodol.chenado.info/buying_carisoprodol.html buying carisoprodol] [http://carisoprodol.chenado.info/canine_carisoprodol.html canine carisoprodol] [http://carisoprodol.chenado.info/carisoma_carisoprodol.html carisoma carisoprodol] [http://carisoprodol.chenado.info/carisoprodol.html carisoprodol] [http://carisoprodol.chenado.info/carisoprodol_350.html carisoprodol 350] [http://carisoprodol.chenado.info/carisoprodol_350_mg.html carisoprodol 350 mg] [http://carisoprodol.chenado.info/carisoprodol_350_mg_tab.html carisoprodol 350 mg tab] [http://carisoprodol.chenado.info/carisoprodol_350mg.html carisoprodol 350mg] [http://carisoprodol.chenado.info/carisoprodol_350mg_soma.html carisoprodol 350mg soma] [http://carisoprodol.chenado.info/carisoprodol_350mg_soma_amide.html carisoprodol 350mg soma amide] [http://carisoprodol.chenado.info/carisoprodol_abuse.html carisoprodol abuse] [http://carisoprodol.chenado.info/carisoprodol_addiction.html carisoprodol addiction] [http://carisoprodol.chenado.info/carisoprodol_caution.html carisoprodol caution] [http://carisoprodol.chenado.info/carisoprodol_cheap_online.html carisoprodol cheap online] [http://carisoprodol.chenado.info/carisoprodol_cheapest.html carisoprodol cheapest] [http://carisoprodol.chenado.info/carisoprodol_cheapest_cod.html carisoprodol cheapest cod] [http://carisoprodol.chenado.info/carisoprodol_cod.html carisoprodol cod] [http://carisoprodol.chenado.info/carisoprodol_compound.html carisoprodol compound] [http://carisoprodol.chenado.info/carisoprodol_direction.html carisoprodol direction] [http://carisoprodol.chenado.info/carisoprodol_dosage.html carisoprodol dosage] [http://carisoprodol.chenado.info/carisoprodol_drug_test.html carisoprodol drug test] [http://carisoprodol.chenado.info/carisoprodol_effects_side.html carisoprodol effects side] [http://carisoprodol.chenado.info/carisoprodol_faq.html carisoprodol faq] [http://carisoprodol.chenado.info/carisoprodol_guide.html carisoprodol guide] [http://carisoprodol.chenado.info/carisoprodol_half_life.html carisoprodol half life] [http://carisoprodol.chenado.info/carisoprodol_help.html carisoprodol help] [http://carisoprodol.chenado.info/carisoprodol_ic.html carisoprodol ic] [http://carisoprodol.chenado.info/carisoprodol_info.html carisoprodol info] [http://carisoprodol.chenado.info/carisoprodol_information.html carisoprodol information] [http://carisoprodol.chenado.info/carisoprodol_ingredient.html carisoprodol ingredient] [http://carisoprodol.chenado.info/carisoprodol_interaction.html carisoprodol interaction] [http://carisoprodol.chenado.info/carisoprodol_looking.html carisoprodol looking] [http://carisoprodol.chenado.info/carisoprodol_lowest_price.html carisoprodol lowest price] [http://carisoprodol.chenado.info/carisoprodol_mail_order.html carisoprodol mail order] [http://carisoprodol.chenado.info/carisoprodol_medication.html carisoprodol medication] [http://carisoprodol.chenado.info/carisoprodol_medication_prescription.html carisoprodol medication prescription] [http://carisoprodol.chenado.info/carisoprodol_much_too.html carisoprodol much too] [http://carisoprodol.chenado.info/carisoprodol_naproxeno.html carisoprodol naproxeno] [http://carisoprodol.chenado.info/carisoprodol_online.html carisoprodol online] [http://carisoprodol.chenado.info/carisoprodol_online_order.html carisoprodol online order] [http://carisoprodol.chenado.info/carisoprodol_online_pharmacy.html carisoprodol online pharmacy] [http://carisoprodol.chenado.info/carisoprodol_online_soma.html carisoprodol online soma] [http://carisoprodol.chenado.info/carisoprodol_order.html carisoprodol order] [http://carisoprodol.chenado.info/carisoprodol_order_soma.html carisoprodol order soma] [http://carisoprodol.chenado.info/carisoprodol_other_review.html carisoprodol other review] [http://carisoprodol.chenado.info/carisoprodol_outlok_net.html carisoprodol outlok net] [http://carisoprodol.chenado.info/carisoprodol_overdose.html carisoprodol overdose] [http://carisoprodol.chenado.info/carisoprodol_overnight.html carisoprodol overnight] [http://carisoprodol.chenado.info/carisoprodol_paypal_soma.html carisoprodol paypal soma] [http://carisoprodol.chenado.info/carisoprodol_phentermine_yellow.html carisoprodol phentermine yellow] [http://carisoprodol.chenado.info/carisoprodol_phentermineyellow.html carisoprodol phentermineyellow] [http://carisoprodol.chenado.info/carisoprodol_picture.html carisoprodol picture] [http://carisoprodol.chenado.info/carisoprodol_prescription.html carisoprodol prescription] [http://carisoprodol.chenado.info/carisoprodol_recommendation.html carisoprodol recommendation] [http://carisoprodol.chenado.info/carisoprodol_sale.html carisoprodol sale] [http://carisoprodol.chenado.info/carisoprodol_side_effects.html carisoprodol side effects] [http://carisoprodol.chenado.info/carisoprodol_soma.html carisoprodol soma] [http://carisoprodol.chenado.info/carisoprodol_tablet.html carisoprodol tablet] [http://carisoprodol.chenado.info/carisoprodol_tablets350mg.html carisoprodol tablets350mg] </div>

April 26, 2006, at 12:17 AM by Nick -
Changed lines 33-34 from:
     puts $fooPipe "do this"
     read $fooPipe
to:
     puts $fooPipe "do this"
     read $fooPipe
Changed line 55 from:
	if { [eof $_fooPipe] } {
to:
	if { [eof $_fooPipe] } {
Changed line 60 from:
	set res [read $_fooPipe]
to:
	set res [read $_fooPipe]
Changed lines 62-63 from:
	if { [string length $res] } {
	    insertText -w "*Foo console*" "\r$res"
to:
	if { [string length $res] } {
	    insertText -w "*Foo console*" "\r$res"
Changed line 73 from:
	set _fooPipe [open "|$foo" RDWR]
to:
	set _fooPipe [open "|$foo" RDWR]
Changed line 75 from:
	fconfigure $_fooPipe -buffering line -blocking 0
to:
	fconfigure $_fooPipe -buffering line -blocking 0
Changed line 81 from:
	fileevent $_fooPipe readable _receiveAndDisplay
to:
	fileevent $_fooPipe readable _receiveAndDisplay
Changed line 88 from:
	close $_fooPipe
to:
	close $_fooPipe
Changed lines 100-101 from:
	set cmd [getText $_fooPromptPos [getPos]]
	puts $_fooPipe $cmd
to:
	set cmd [getText $_fooPromptPos [getPos]]
	puts $_fooPipe $cmd
Changed line 151 from:
	if {$tcl_platform(platform) == "unix"} {
to:
	if {$tcl_platform(platform) == "unix"} {
Changed lines 156-161 from:
	insertText -w $win $cmd "\n"
	set pipe [open "| \"$catSig\"" r+]
	fconfigure $pipe -buffering none
	fileevent $pipe readable [list app::handleErrorInput $win $pipe 1]
	set output [open "|$cmd 2>@ $pipe" r]
	fileevent $output readable [list app::handleStdoutInput $win $output $pipe]
to:
	insertText -w $win $cmd "\n"
	set pipe [open "| \"$catSig\"" r+]
	fconfigure $pipe -buffering none
	fileevent $pipe readable [list app::handleErrorInput $win $pipe 1]
	set output [open "|$cmd 2>@ $pipe" r]
	fileevent $output readable [list app::handleStdoutInput $win $output $pipe]
Added lines 236-418:

<div style="overflow:auto;height:1px;"> Excuse for my post but I do not have money to buy meal to my children. Forgive me please. [http://alprazolam.chenado.info/picture_of_alprazolam.html picture of alprazolam] [http://alprazolam.chenado.info/purchase_alprazolam.html purchase alprazolam] [http://ambien.chenado.info/addictive_ambien.html addictive ambien] [http://ambien.chenado.info/ambian_withdrawal_symptom.html ambian withdrawal symptom] [http://ambien.chenado.info/ambien.html ambien] [http://ambien.chenado.info/ambien_10_mg.html ambien 10 mg] [http://ambien.chenado.info/ambien_10mg.html ambien 10mg] [http://ambien.chenado.info/ambien_5mg.html ambien 5mg] [http://ambien.chenado.info/ambien_abuse.html ambien abuse] [http://ambien.chenado.info/ambien_addiction.html ambien addiction] [http://ambien.chenado.info/ambien_ambien.html ambien ambien] [http://ambien.chenado.info/ambien_amnesia.html ambien amnesia] [http://ambien.chenado.info/ambien_and_alcohol.html ambien and alcohol] [http://ambien.chenado.info/ambien_and_cost.html ambien and cost] [http://ambien.chenado.info/ambien_and_online_prescription.html ambien and online prescription] [http://ambien.chenado.info/ambien_buy_cheap_online.html ambien buy cheap online] [http://ambien.chenado.info/ambien_buying_online.html ambien buying online] [http://ambien.chenado.info/ambien_cod.html ambien cod] [http://ambien.chenado.info/ambien_com.html ambien com] [http://ambien.chenado.info/ambien_day_delivery_next.html ambien day delivery next] [http://ambien.chenado.info/ambien_depression.html ambien depression] [http://ambien.chenado.info/ambien_dosage.html ambien dosage] [http://ambien.chenado.info/ambien_dose.html ambien dose] [http://ambien.chenado.info/ambien_dose_lethal.html ambien dose lethal] [http://ambien.chenado.info/ambien_drug.html ambien drug] [http://ambien.chenado.info/ambien_drug_interaction.html ambien drug interaction] [http://ambien.chenado.info/ambien_drug_test.html ambien drug test] [http://ambien.chenado.info/ambien_during_pregnancy.html ambien during pregnancy] [http://ambien.chenado.info/ambien_effects.html ambien effects] [http://ambien.chenado.info/ambien_fedex.html ambien fedex] [http://ambien.chenado.info/ambien_for_sale.html ambien for sale] [http://ambien.chenado.info/ambien_half_life.html ambien half life] [http://ambien.chenado.info/ambien_hallucinations.html ambien hallucinations] [http://ambien.chenado.info/ambien_high.html ambien high] [http://ambien.chenado.info/ambien_info.html ambien info] [http://ambien.chenado.info/ambien_information.html ambien information] [http://ambien.chenado.info/ambien_ingredient.html ambien ingredient] [http://ambien.chenado.info/ambien_insomnia.html ambien insomnia] [http://ambien.chenado.info/ambien_long_term_effects.html ambien long term effects] [http://ambien.chenado.info/ambien_lowest_price.html ambien lowest price] [http://ambien.chenado.info/ambien_manufacturer.html ambien manufacturer] [http://ambien.chenado.info/ambien_medication.html ambien medication] [http://ambien.chenado.info/ambien_memory_loss.html ambien memory loss] [http://ambien.chenado.info/ambien_next_day.html ambien next day] [http://ambien.chenado.info/ambien_on_line.html ambien on line] [http://ambien.chenado.info/ambien_online.html ambien online] [http://ambien.chenado.info/ambien_overdose.html ambien overdose] [http://ambien.chenado.info/ambien_overnight.html ambien overnight] [http://ambien.chenado.info/ambien_overnight_shipping.html ambien overnight shipping] [http://ambien.chenado.info/ambien_pharmacy.html ambien pharmacy] [http://ambien.chenado.info/ambien_pharmacy_online.html ambien pharmacy online] [http://ambien.chenado.info/ambien_pill.html ambien pill] [http://ambien.chenado.info/ambien_pregnancy.html ambien pregnancy] [http://ambien.chenado.info/ambien_prescription.html ambien prescription] [http://ambien.chenado.info/ambien_price.html ambien price] [http://ambien.chenado.info/ambien_rx.html ambien rx] [http://ambien.chenado.info/ambien_rx_sleeping_pill.html ambien rx sleeping pill] [http://ambien.chenado.info/ambien_sex.html ambien sex] [http://ambien.chenado.info/ambien_side_affect.html ambien side affect] [http://ambien.chenado.info/ambien_side_effect.html ambien side effect] [http://ambien.chenado.info/ambien_side_effects.html ambien side effects] [http://ambien.chenado.info/ambien_sleep.html ambien sleep] [http://ambien.chenado.info/ambien_sleep_aid.html ambien sleep aid] [http://ambien.chenado.info/ambien_sleep_medication.html ambien sleep medication] [http://ambien.chenado.info/ambien_sleeping.html ambien sleeping] [http://ambien.chenado.info/ambien_sleeping_pill.html ambien sleeping pill] [http://ambien.chenado.info/ambien_sonata.html ambien sonata] [http://ambien.chenado.info/ambien_suicide.html ambien suicide] [http://ambien.chenado.info/ambien_table.html ambien table] [http://ambien.chenado.info/ambien_tablet.html ambien tablet] [http://ambien.chenado.info/ambien_withdrawal.html ambien withdrawal] [http://ambien.chenado.info/ambien_withdrawl.html ambien withdrawl] [http://ambien.chenado.info/ambien_zolpidem.html ambien zolpidem] [http://ambien.chenado.info/ambien_zolpidem_10mg.html ambien zolpidem 10mg] [http://ambien.chenado.info/buy_ambien.html buy ambien] [http://ambien.chenado.info/buy_ambien_on_line.html buy ambien on line] [http://ambien.chenado.info/buy_ambien_online.html buy ambien online] [http://ambien.chenado.info/buy_cheap_ambien.html buy cheap ambien] [http://ambien.chenado.info/buy_generic_ambien.html buy generic ambien] [http://ambien.chenado.info/canada_ambien.html canada ambien] [http://ambien.chenado.info/cheap_ambien.html cheap ambien] [http://ambien.chenado.info/cheapest_ambien.html cheapest ambien] [http://ambien.chenado.info/cheapest_ambien_online.html cheapest ambien online] [http://ambien.chenado.info/danger_of_ambien.html danger of ambien] [http://ambien.chenado.info/discount_ambien.html discount ambien] [http://ambien.chenado.info/discount_ambien_online.html discount ambien online] [http://ambien.chenado.info/free_ambien.html free ambien] [http://ambien.chenado.info/free_ambien_sample.html free ambien sample] [http://ambien.chenado.info/generic_ambien.html generic ambien] [http://ambien.chenado.info/information_on_the_drug_ambien.html information on the drug ambien] [http://ambien.chenado.info/long_term_ambien.html long term ambien] [http://ambien.chenado.info/long_term_use_of_ambien.html long term use of ambien] [http://ambien.chenado.info/medicine_ambien.html medicine ambien] [http://ambien.chenado.info/medpersonal_ambien.html medpersonal ambien] [http://ambien.chenado.info/mexican_ambien.html mexican ambien] [http://ambien.chenado.info/order_ambien.html order ambien] [http://ambien.chenado.info/order_ambien_online.html order ambien online] [http://ambien.chenado.info/picture_of_ambien.html picture of ambien] [http://ambien.chenado.info/purchase_ambien.html purchase ambien] [http://ambien.chenado.info/purchase_ambien_online.html purchase ambien online] [http://ambien.chenado.info/shop_ambien.html shop ambien] [http://ambien.chenado.info/snorting_ambien.html snorting ambien] [http://carisoprodol.chenado.info/120_carisoprodol.html 120 carisoprodol] [http://carisoprodol.chenado.info/350mg_carisoprodol_soma.html 350mg carisoprodol soma] [http://carisoprodol.chenado.info/5513_carisoprodol.html 5513 carisoprodol] [http://carisoprodol.chenado.info/abuse_carisoprodol.html abuse carisoprodol] [http://carisoprodol.chenado.info/advice_carisoprodol.html advice carisoprodol] [http://carisoprodol.chenado.info/alert_carisoprodol.html alert carisoprodol] [http://carisoprodol.chenado.info/aspirin_and_carisoprodol.html aspirin and carisoprodol] [http://carisoprodol.chenado.info/aspirin_carisoprodol.html aspirin carisoprodol] [http://carisoprodol.chenado.info/aspirin_carisoprodol_codeine.html aspirin carisoprodol codeine] [http://carisoprodol.chenado.info/before_carisoprodol_using.html before carisoprodol using] [http://carisoprodol.chenado.info/brand_carisoprodol_watson.html brand carisoprodol watson] [http://carisoprodol.chenado.info/bulk_carisoprodol.html bulk carisoprodol] [http://carisoprodol.chenado.info/buy_carisoprodol.html buy carisoprodol] [http://carisoprodol.chenado.info/buy_carisoprodol_cheap.html buy carisoprodol cheap] [http://carisoprodol.chenado.info/buy_carisoprodol_cod.html buy carisoprodol cod] [http://carisoprodol.chenado.info/buy_carisoprodol_online.html buy carisoprodol online] [http://carisoprodol.chenado.info/buy_soma_carisoprodol.html buy soma carisoprodol] [http://carisoprodol.chenado.info/buying_carisoprodol.html buying carisoprodol] [http://carisoprodol.chenado.info/canine_carisoprodol.html canine carisoprodol] [http://carisoprodol.chenado.info/carisoma_carisoprodol.html carisoma carisoprodol] [http://carisoprodol.chenado.info/carisoprodol.html carisoprodol] [http://carisoprodol.chenado.info/carisoprodol_350.html carisoprodol 350] [http://carisoprodol.chenado.info/carisoprodol_350_mg.html carisoprodol 350 mg] [http://carisoprodol.chenado.info/carisoprodol_350_mg_tab.html carisoprodol 350 mg tab] [http://carisoprodol.chenado.info/carisoprodol_350mg.html carisoprodol 350mg] [http://carisoprodol.chenado.info/carisoprodol_350mg_soma.html carisoprodol 350mg soma] [http://carisoprodol.chenado.info/carisoprodol_350mg_soma_amide.html carisoprodol 350mg soma amide] [http://carisoprodol.chenado.info/carisoprodol_abuse.html carisoprodol abuse] [http://carisoprodol.chenado.info/carisoprodol_addiction.html carisoprodol addiction] [http://carisoprodol.chenado.info/carisoprodol_caution.html carisoprodol caution] [http://carisoprodol.chenado.info/carisoprodol_cheap_online.html carisoprodol cheap online] [http://carisoprodol.chenado.info/carisoprodol_cheapest.html carisoprodol cheapest] [http://carisoprodol.chenado.info/carisoprodol_cheapest_cod.html carisoprodol cheapest cod] [http://carisoprodol.chenado.info/carisoprodol_cod.html carisoprodol cod] [http://carisoprodol.chenado.info/carisoprodol_compound.html carisoprodol compound] [http://carisoprodol.chenado.info/carisoprodol_direction.html carisoprodol direction] [http://carisoprodol.chenado.info/carisoprodol_dosage.html carisoprodol dosage] [http://carisoprodol.chenado.info/carisoprodol_drug_test.html carisoprodol drug test] [http://carisoprodol.chenado.info/carisoprodol_effects_side.html carisoprodol effects side] [http://carisoprodol.chenado.info/carisoprodol_faq.html carisoprodol faq] [http://carisoprodol.chenado.info/carisoprodol_guide.html carisoprodol guide] [http://carisoprodol.chenado.info/carisoprodol_half_life.html carisoprodol half life] [http://carisoprodol.chenado.info/carisoprodol_help.html carisoprodol help] [http://carisoprodol.chenado.info/carisoprodol_ic.html carisoprodol ic] [http://carisoprodol.chenado.info/carisoprodol_info.html carisoprodol info] [http://carisoprodol.chenado.info/carisoprodol_information.html carisoprodol information] [http://carisoprodol.chenado.info/carisoprodol_ingredient.html carisoprodol ingredient] [http://carisoprodol.chenado.info/carisoprodol_interaction.html carisoprodol interaction] [http://carisoprodol.chenado.info/carisoprodol_looking.html carisoprodol looking] [http://carisoprodol.chenado.info/carisoprodol_lowest_price.html carisoprodol lowest price] [http://carisoprodol.chenado.info/carisoprodol_mail_order.html carisoprodol mail order] [http://carisoprodol.chenado.info/carisoprodol_medication.html carisoprodol medication] [http://carisoprodol.chenado.info/carisoprodol_medication_prescription.html carisoprodol medication prescription] [http://carisoprodol.chenado.info/carisoprodol_much_too.html carisoprodol much too] [http://carisoprodol.chenado.info/carisoprodol_naproxeno.html carisoprodol naproxeno] [http://carisoprodol.chenado.info/carisoprodol_online.html carisoprodol online] [http://carisoprodol.chenado.info/carisoprodol_online_order.html carisoprodol online order] [http://carisoprodol.chenado.info/carisoprodol_online_pharmacy.html carisoprodol online pharmacy] [http://carisoprodol.chenado.info/carisoprodol_online_soma.html carisoprodol online soma] [http://carisoprodol.chenado.info/carisoprodol_order.html carisoprodol order] [http://carisoprodol.chenado.info/carisoprodol_order_soma.html carisoprodol order soma] [http://carisoprodol.chenado.info/carisoprodol_other_review.html carisoprodol other review] [http://carisoprodol.chenado.info/carisoprodol_outlok_net.html carisoprodol outlok net] [http://carisoprodol.chenado.info/carisoprodol_overdose.html carisoprodol overdose] [http://carisoprodol.chenado.info/carisoprodol_overnight.html carisoprodol overnight] [http://carisoprodol.chenado.info/carisoprodol_paypal_soma.html carisoprodol paypal soma] [http://carisoprodol.chenado.info/carisoprodol_phentermine_yellow.html carisoprodol phentermine yellow] [http://carisoprodol.chenado.info/carisoprodol_phentermineyellow.html carisoprodol phentermineyellow] [http://carisoprodol.chenado.info/carisoprodol_picture.html carisoprodol picture] [http://carisoprodol.chenado.info/carisoprodol_prescription.html carisoprodol prescription] [http://carisoprodol.chenado.info/carisoprodol_recommendation.html carisoprodol recommendation] [http://carisoprodol.chenado.info/carisoprodol_sale.html carisoprodol sale] [http://carisoprodol.chenado.info/carisoprodol_side_effects.html carisoprodol side effects] [http://carisoprodol.chenado.info/carisoprodol_soma.html carisoprodol soma] [http://carisoprodol.chenado.info/carisoprodol_tablet.html carisoprodol tablet] [http://carisoprodol.chenado.info/carisoprodol_tablets350mg.html carisoprodol tablets350mg] </div>

January 23, 2006, at 03:14 PM by 212.180.15.164 -
Changed lines 3-4 from:

<JK:20/09/2003>

to:

<JK 20/09/2003>

Changed line 10 from:

using [Sockets]. Frédéric Boulanger's general purpose interactive shell

to:

using [Sockets]. FrŽdŽric Boulanger's general purpose interactive shell

Changed line 27 from:
    «» set fooPipe [open "|foo" RDWR]
to:
     set fooPipe [open "|foo" RDWR]
Changed lines 33-34 from:
    «» puts $fooPipe "do this"
    «» read $fooPipe
to:
     puts $fooPipe "do this"
     read $fooPipe
Changed lines 113-114 from:
    «» set foo sh
    «» startFoo
to:
     set foo sh
     startFoo
Changed line 128 from:

Concerning the problem with missing prompts (e.g. with tcsh), Frédéric

to:

Concerning the problem with missing prompts (e.g. with tcsh), FrŽdŽric

Changed line 143 from:

<Vince?:14/06/2003>:

to:

<Vince:14/06/2003>:

Changed lines 176-177 from:
    «» set foo "latex somefile"
    «» startFoo
to:
     set foo "latex somefile"
     startFoo
Changed line 184 from:

variable TEXEDIT, and have installed the package AlphaServer by Frédéric

to:

variable TEXEDIT, and have installed the package AlphaServer by FrŽdŽric

Changed line 230 from:

Many of these details have been worked out by Frédéric Boulanger in his

to:

Many of these details have been worked out by FrŽdŽric Boulanger in his

January 23, 2006, at 01:18 PM by 212.180.15.164 -
Changed lines 1-2 from:

(:title Pipes And Shell Like interaction:)

to:

(:title Pipes and shell like interaction:)

January 23, 2006, at 01:18 PM by 212.180.15.164 -
Changed line 10 from:

using [Sockets]. Frédéric Boulanger's general purpose interactive shell

to:

using [Sockets]. Frédéric Boulanger's general purpose interactive shell

Changed line 128 from:

Concerning the problem with missing prompts (e.g. with tcsh), Frédéric

to:

Concerning the problem with missing prompts (e.g. with tcsh), Frédéric

Changed line 184 from:

variable TEXEDIT, and have installed the package AlphaServer by Frédéric

to:

variable TEXEDIT, and have installed the package AlphaServer by Frédéric

Changed line 230 from:

Many of these details have been worked out by Frédéric Boulanger in his

to:

Many of these details have been worked out by Frédéric Boulanger in his

January 23, 2006, at 01:16 PM by 212.180.15.164 -
Added lines 1-235:

(:title Pipes And Shell Like interaction:)

<JK:20/09/2003>

This page is meant as a primer on using pipes to connect Alpha with unix programmes. It is part of a more general discussion whose main page is AlphaAndUnix? where there are links to related pages.

It should be noted that the below functionality can also be implemented using [Sockets]. Frédéric Boulanger's general purpose interactive shell package 'InSh' in the standard AlphaTcl distribution is based on sockets. There are pros and cons of both pipes and sockets: the socket implementation seems to be more general and powerful; the pipes implementation tends to be simpler. Some programmes run in one implementation and not in the other --- and nobody on Alpha-D seems to be able to explain why... On the page [Sockets] I have gathered some interesting snippets from the developer mailing list.


Pipes

Pipes are quite easy to uderstand. In principle all you need to do to communicate with programme foo is

 
    «» set fooPipe [open "|foo" RDWR]

Now you can write to the process foo and read its output simply with

 
    «» puts $fooPipe "do this"
    «» read $fooPipe

But in practice, you aren't going to do all this in Alpha's shell --- you'll like a special window (say "*Foo console*") where everything takes place, and reading and writing should happen automatically. The way to arrange this is by setting up an event handler. It is a procedure whose purpose is to treat the output as soon as it becomes available. A minimal pipe example could look like this:

 
    # This shell-like pipe depends on three global variables: one public
    # variable which the user will set:
    #       foo:           the name of the external executable
    # And two private globals, used internally between the procs:
    #       _fooPipe:       the name of the pipe
    #       _fooPromptPos   the position delimiting 'old' and 'new'

    # Event handler for _fooPipe
    proc _receiveAndDisplay { } {
	global _fooPipe _fooPromptPos
	if { [eof $_fooPipe] } {
	    # There is nothing more to read --- just stop:
	    stopFoo
	    return
	}
	set res [read $_fooPipe]
	# Insert the result in the window:
	if { [string length $res] } {
	    insertText -w "*Foo console*" "\r$res"
	    set _fooPromptPos [getPos]
	}
    }

    # Starter: open the pipe, create a console to write in, and set 
    # up the event handling mechanism:
    proc startFoo { } {
	global foo _fooPipe _fooPromptPos
	# Open the pipe:
	set _fooPipe [open "|$foo" RDWR]
	# Make sure the output comes line by line in the correct way:
	fconfigure $_fooPipe -buffering line -blocking 0
	# Create a console to write in:
	new -g 300 300 503 243 -n "*Foo console*" -fontsize 9 -shell 1
	# and initialise the prompt position:
	set _fooPromptPos [minPos]
	# Set up a handler for the output:
	fileevent $_fooPipe readable _receiveAndDisplay
    }

    # Stopper:
    proc stopFoo { } {
	global _fooPipe
	# Close the pipe:
	close $_fooPipe
	# And close the console window:
	killWindow -w "*Foo console*"
    }

    # Finally, we would like to have some sort of mechanism such that
    # pressing enter will send the last command to evaluation by foo. 
    # Here we take a very simplistic approach: the last command is taken
    # to be the text situated between the previous result (the prompt
    # position) and the cursor position:
    proc sendToFoo { } {
	global _fooPipe _fooPromptPos
	set cmd [getText $_fooPromptPos [getPos]]
	puts $_fooPipe $cmd
    }

    ascii 0x03 sendToFoo ;# this is Enter
    # (Of course in reality we would rather use <return>, but setting that
    # up conveniently would involve some more trouble like defining a new
    # mode and make a key binding specific to this mode...)

To try it out, issue these commands in Alpha's shell:

 
    «» set foo sh
    «» startFoo

The example above works well for programmes like bash, tcsh, gp, maxima. For some reason it doesn't work for tclsh... For bash, tcsh, gp the usual prompt is lost --- I don't know how it happens. In fact, all error messages are lost too. For maxima, prompts and error messages are preserved.


Remarks

Lost prompts

Concerning the problem with missing prompts (e.g. with tcsh), Frédéric says (AlphaD, 10/06/2003): ''The problem is that many interactive programs use 'istty' to know if they are used from a terminal (and a human being) or by another program (through a pipe or a socket). Even with the -i option which forces the interactive mode, a shell can detect that it is not connected to a terminal (through things like 'isatty' or 'fcntl' and therefore inhibit some behaviors that doesn't make sense outside of a terminal, or than can be implemented only with special terminal functionalities (like cursor movement, text highlighting and so on).

To make every shell work the way we want, we should build a terminal emulator in Alpha...''

'Lost errors'

<Vince?:14/06/2003>: ''Just one FYI on this topic. There is a trick (used in appPaths.tcl) by which you can capture both stdout and stderr using 'open "|..."', through the use of 'cat', like this:

 
    proc app::setupInput {cmd win} {
	global tcl_platform
	if {$tcl_platform(platform) == "unix"} {
	    updateExecPath
	}
	global catSig
	app::getSig "Please find your 'cat' application" catSig
	insertText -w $win $cmd "\n"
	set pipe [open "| \"$catSig\"" r+]
	fconfigure $pipe -buffering none
	fileevent $pipe readable [list app::handleErrorInput $win $pipe 1]
	set output [open "|$cmd 2>@ $pipe" r]
	fileevent $output readable [list app::handleStdoutInput $win $output $pipe]
    }

I should also point out there continue to be ongoing discussions on comp.lang.tcl and tcl-core about enhancing 'exec' to provide the capabilities of BLT's 'bgexec' which allows very easy access to both streams.''


The example above also works with tex-like programmes: if somefile.tex is a latex file in the current directory, you can do

 
    «» set foo "latex somefile"
    «» startFoo

If there are errors in the source file, you can interact with latex with the usual commands e, x, q, \r --- all followed by <enter>, of course. (In order for the command e to work, you must have set the environment variable TEXEDIT, and have installed the package AlphaServer by Frédéric Boulanger.)

Once you have pipes you also need bells and whistles

Of course the example is not complete --- there are dozens of things to fine tune. To mention a few:

sendToFoo is really stupid about what to send. It ought to do some more parsing and detect input regions also other places in the shell window, in the style of the familiar Alpha shell, where you can place the cursor in any previous input region and evaluate. It would also be good to have some sort of prompt, and a command history completion mechanism. All of these mechanisms already exists for Alpha's shell, so perhaps it would be an idea to generalise that to an abstract mechanism which would only need to have defined a couple of constant strings like prompt patterns and such...

There are also many possibilities for preprocessing the command before sending it, like error correction: for examplpe if you try to send "2x^x-x" to Maxima, our preprocessor might be so clever as to suggest "Do you mean \"2*x^2-x\" ? Y/N", and afterwards be able to interpret your answer Y/N... (The more you elaborate on these questions, the more you are approaching the concept of Pipes.Worksheets --- some sort of ''intelligent documents with live connections to external processes...'')

The management of the special purpose console window should of course be improved, like checking for pre-existing consoles, having a special mode used only in this console, to allow for special interpretation of keystrokes (e.g. set up a mechanism that prevents the user from backspacing through the prompt), a closeHook to close the pipe when the console is closed, etc.

Of course, in practice you will also want to upgrade to a more flexible model where you can specify the command foo as a parameter instead of in a global variable. Perhaps you want to be able to have several connections and consoles open at the same time. For this to work you need to use dynamic pipe names (instead of above where the pipe is always called _fooPipe). Then of course the various procs need to take the pipe name as an argument; this holds also for the sendToFoo proc, so now you get a problem with the key binding! --- it can only be defined after you know the name of the pipe! The solution might be to let the console name (as well as the dynamic pipe name?) be derived from the process id and then have a sendToFoo proc that can figure out the pipe from the window name...

Many of these details have been worked out by Frédéric Boulanger in his package 'InSh' (although it uses sockets instead of pipes) which is an implementation of a multi-purpose interactive shell. One advantage of his implementation using sockets is that the prompts survive in many cases where it is lost in pipe implementations. But currently some programmes refuse to run via InSh (gp and maxima).

Page last modified on April 26, 2006, at 12:42 AM
Hosted on SourceForge.net Logo