Compileren met Vagebond loopt vast of mislukt bij gebruik van Vagebonden met een ander commando

Ik gebruik Tramp met de methode scpx om de opdracht compile uit te voeren op een externe computer. Het bouwen duurt enkele minuten om te starten. Als ik aan iets anders probeer te werken terwijl dat loopt dat probeert om Tramp te gebruiken, hangt Emacs en dan lijkt de compilatiebuffer de build af te breken.

Bijvoorbeeld, één keer startte ik de compilatie en ging toen naar een buffer van de externe machine en probeerde te navigeren, en dat zorgde ervoor dat dit gebeurde.

Een andere keer, na het starten van de compilatie, probeerde ik ido-find-file te gebruiken op een extern pad en de compilatiebuffer mislukte.

Ik ben erg nieuw voor Tramp en Emacs. Moet Tramp meerdere processen tegelijk verwerken? Ik vraag me af of ik iets verkeerd geconfigureerd heb.

Dank je!

4

1 antwoord

Tramp kan verschillende compileerprocessen parallel uitvoeren. Het is de opdracht compile die dit voorkomt vanwege de hardgecodeerde buffernaam.

Controleer de docstring van compileer door C-h f compile . Daar zie je

Als u meer dan één compilatie tegelijk wilt uitvoeren, start u er een en geeft u de naam opnieuw   ' compilatie ' buffer naar een andere naam met M-x hernoemen-buffer.   Schakel vervolgens buffers in en start de nieuwe compilatie. Het maakt een   nieuwe ' compilatie ' buffer.

1
toegevoegd
Ik snap het. Ik heb geprobeerd je probleem te reproduceren met een recente Emacs 25.1/Tramp 2.3.0-pre, maar alles werkt zoals verwacht. Welke Emacs/Tramp-versies gebruikt u?
toegevoegd de auteur celtschk, de bron
Ik heb geprobeerd het te reproduceren met GNU Emacs 24.5.1/Tramp 2.2.11-24.5, zoals gebracht door Ubuntu 15.10. Ik heb je scenario gebruikt, M-x compileren aanroepen op een externe host en M-x ido-find-file aangeslagen terwijl de compilatie nog liep. Geen probleem. Het enige verschil kan zijn dat ik Emacs heb gestart als emacs24 -Q . Heb je het zelf geprobeerd, Emacs startend met de -Q optie?
toegevoegd de auteur celtschk, de bron
Ja. Probeer uw init.el te splitsen om de verantwoordelijke code te vinden.
toegevoegd de auteur celtschk, de bron
Bedankt voor het antwoord, Michael. Ik denk dat ik niet duidelijk was met mijn vraag. Ik probeer M-x compileren niet opnieuw uit te voeren. Ik probeer ido-find-file uit te voeren terwijl het proces van de compilatiebuffer nog loopt.
toegevoegd de auteur DistributionUnit, de bron
Ik gebruik Emacs 24.5.1, met Vagebonden 2.2.11-24.5.
toegevoegd de auteur DistributionUnit, de bron
Ik had dat niet geprobeerd, maar je hebt gelijk, mijn probleem verdwijnt als ik emacs -Q gebruik. Betekent dit dat iets in mijn init.el een probleem veroorzaakt?
toegevoegd de auteur DistributionUnit, de bron
Ik denk dat er op zijn minst twee dingen aan de hand waren. Ten eerste gebruikte ik diff-hl , die Mercurial op de externe computer zou gebruiken toen ik het programma opende een bestand, en het zou hangen. Het toevoegen van "HGPLAIN = 1" aan tramp-remote-process-environment lost dit op, en ik kan nu navigeren door een aangemaakte -buffer en bestanden openen terwijl de compilatie doorgaat. Maar ik kan nog steeds ido-find-file niet gebruiken. Ik denk dat ido-alomtegenwoordige het probleem mogelijk veroorzaakt. Als je het uitschakelt, worden dingen hersteld. Heel erg bedankt voor de hulp, Michael!
toegevoegd de auteur DistributionUnit, de bron
Ik heb ido-ubiquitous-mode opnieuw ingeschakeld en de zaken werkten nog steeds, dus misschien is dat toch niet gerelateerd. Ik laat Emacs af en toe nog steeds hangen als ik ido-find-file probeer te gebruiken, en dan moet ik Cg aanklikken en opnieuw proberen, en het werkt uiteindelijk prima . Dus er is nog een probleem op de loer. Maar voor het grootste deel gaat het goed.
toegevoegd de auteur DistributionUnit, de bron