bugGNU Octave - Bugs: bug #45654, Ctrl-C quits all editor windows


bug #45654: Ctrl-C quits all editor windows

Submitted by:  ImageGfield <imagegfield>
Submitted on:  Thu 30 Jul 2015 09:42:11 AM UTC  
Category: InterpreterSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Other
Status: Need InfoAssigned to: Lachlan Andrew <lachlan>
Originator Name: ImageGfieldOpen/Closed: Open
Release: devOperating System: GNU/Linux

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


(Jump to the original submission Jump to the original submission)

Mon 07 Aug 2017 12:20:41 PM UTC, comment #7:


Also experiencing that problem.
I am using octave 3.8.2, but since this bug's status is &quot;open&quot;, I guess the problem is not satisfactorily fixed yet.

I can point out that the problem exists only with octave in command line, not with the GUI.

Until a &quot;detach&quot; option is available to &quot;system&quot;, I propose a &quot;shell-based workaround&quot;, which I described in
https://stackoverflow.com/a/45546708/1267815 .

I hope this helps.

Hugo Raguet <snake>
Fri 01 Jul 2016 10:32:00 AM UTC, comment #6:

The previous patch missed the "username" metadata.

(file #37648)

Lachlan Andrew <lachlan>
Project MemberIn charge of this item.
Wed 22 Jun 2016 09:47:07 AM UTC, comment #5:

Here's an updated patch reflecting the change to docstring format.

(file #37543)

Lachlan Andrew <lachlan>
Project MemberIn charge of this item.
Sat 30 Apr 2016 09:52:45 AM UTC, comment #4:

Thanks for the feedback, Mike. You're right that basing this on a string match isn't very clean.

Version 2 of the patch adds the "detach" option to system, as an alternative to "sync" and "async", and makes edit default to using that mode. I think this is nicer than adding a separate interface to setpgid or setsid, and it is lighter than duplicating "system" just for edit.

Ideally, I'd like the help text to system to depend on whether or not setpgid is available, but that isn't an option yet. Perhaps it will be if bug #36524 is fixed.

(file #37028)

Lachlan Andrew <lachlan>
Project MemberIn charge of this item.
Sun 27 Mar 2016 02:50:28 AM UTC, comment #3:

Calling setpgid or setsid is probably the right way to prevent the editor from being sent the SIGINT, but I really don't like the idea of changing Octave's system() function to always do a setpgid or setsid based on a string match just to fix this scenario with the editor.

Maybe a better solution would be to make the setpgid or setsid functions callable from the interpreter, or to make a special purpose function for executing the editor so that it will be in its own process group and not inherit terminal control sequences.

Mike Miller <mtmiller>
Project Administrator
Mon 25 Jan 2016 10:57:23 AM UTC, comment #2:

The attached patch fixes the problem under Linux. The problem is that ^C sends SIGINT to the whole process group, not just the process that would receive the keystroke.

The patch changes system() calls to put any emacs process (any only emacs) into its own process group.

It uses setpgid() which is presumably not portable, but I lack the m4 knowledge to generate the HAVE_SETPGID macro.

If anyone else things this approach is promising, could they please either finish it or give me some tips? Thanks

(file #36162)

Lachlan Andrew <lachlan>
Project MemberIn charge of this item.
Mon 25 Jan 2016 04:02:26 AM UTC, comment #1:

Thanks for the bug report ImageGfield. (Sorry for the long delay; you had probably forgotten that you submitted this report.)

This still occurs with the current development sources.

It doesn't occur with gvim, or the IDE; emacs tries to link more tightly that gvim does. I'll look into what is causing it, but it will affect fewer people now that there is an IDE in 4.0.0.

Lachlan Andrew <lachlan>
Project MemberIn charge of this item.
Thu 30 Jul 2015 09:42:11 AM UTC, original submission:

Hello folks, first of all: thanks for a wonderful piece of software.

  • Using Octave 3.81 as from my "apt-get install octave"
  • Connected emacs to Octave "edit" command
  • Run a script which takes a while to finish
  • Get to think of a mistake or improvement so I break/abort script using Ctrl+C.

I do get back to the Octave prompt as I should,

but: all windows opened by "edit" command are closed and I have to reopen them again.

This is just a minor inconvenience for me personally as I can write my own file open functions and stuff, but it is maybe worth doing something about if it happens to lots of people.

ImageGfield <imagegfield>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

Attached Files
file #37648:  bug_45654_v3.cset added by lachlan (6KiB - text/x-diff)
file #37543:  bug_45654_v3.cset added by lachlan (5KiB - text/x-diff)
file #37028:  bug_45654_v2.cset added by lachlan (6KiB - text/x-diff)
file #36162:  bug_45654.cset added by lachlan (1KiB - application/octet-stream)


Depends on the following items: None found

   bug dependencies.


Carbon-Copy List
  • -unavailable- added by snake (Posted a comment)
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by lachlan (Posted a comment)
  • -unavailable- added by imagegfield (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 12 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 31 Aug 2017 09:23:24 PM UTCmtmillerDependencies-=>bugs #51909 is dependent
    Fri 01 Jul 2016 10:32:00 AM UTClachlanAttached File-=>Added bug_45654_v3.cset, #37648
    Wed 22 Jun 2016 09:47:07 AM UTClachlanAttached File-=>Added bug_45654_v3.cset, #37543
      Assigned toNone=>lachlan
    Wed 22 Jun 2016 09:46:17 AM UTClachlanDependenciesRemoved dependancy to bugs #36524=>-
    Sat 30 Apr 2016 09:52:45 AM UTClachlanAttached File-=>Added bug_45654_v2.cset, #37028
      Dependencies-=>Depends on bugs #36524
    Sun 27 Mar 2016 02:52:48 AM UTCmtmillerDependencies-=>bugs #47542 is dependent
    Sun 27 Mar 2016 02:50:45 AM UTCmtmillerCategoryOctave Function=>Interpreter
      StatusNone=>Need Info
    Mon 25 Jan 2016 10:57:23 AM UTClachlanAttached File-=>Added bug_45654.cset, #36162

    Back to the top

    Powered by Savane 3.1-cleanup1