bugGNU Octave - Bugs: bug #49686, Function...

 
 

bug #49686: Function octave_restore_signal_mask is not part of the public API anymore

Submitted by:  None
Submitted on:  Wed 23 Nov 2016 08:40:54 PM UTC  
 
Category: InterpreterSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Regression
Status: Wont FixAssigned to: None
Originator Name: RenaudOriginator Email: -unavailable-
Open/Closed: ClosedRelease: 4.2.0
Operating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

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

 

Thu 24 Nov 2016 07:14:54 AM UTC, comment #3:

The execute_eval_option_code function is equivalent to the --eval command line option. You might want to use eval_string to execute code statements and feval to execute a function call.

I think we can call this resolved as won't fix, the function call in question is no longer public intentionally and shouldn't be needed by external code.

If you need more help or feedback from Octave developers on how to embed Octave in your module, the help mailing list is a better resource for that (see http://octave.org/support).

Mike Miller <mtmiller>
Project Administrator
Thu 24 Nov 2016 06:07:00 AM UTC, comment #2:

Thank you for pointing this.
I was not aware of it being in the API, and started form code from other projects which were defining this function. It worked fine until now, though I always found it looked a complicated sequence of calls to Octave low-level functions just to get code executed.
I must have missed new developments in the embedded interpreter API because I see that there is also a function interpreter::execute_eval_option_code.
Can I safely call this function, and get rid of all the low-level signal handling calls? This seems to work with code. How about function calls, i.e. a similar wrapper around feval?
The objective is to have a persistent embedded Octave instance to which I can send both code or function evaluation from R.
Thank you

Renaud <renaud>
Wed 23 Nov 2016 08:52:13 PM UTC, comment #1:

Looking at the module you link to, I guess my question would be why not call Octave's recover_from_exception function? It is and has been a public API function that does what your recover_from_exception function is doing.

Mike Miller <mtmiller>
Project Administrator
Wed 23 Nov 2016 08:40:54 PM UTC, original submission:

I am using Octave in embedded mode
When embedding Octave into R (in package RcppOctave) I used to be able to call function octave_restore_signal_mask() in Octave version prior to 4.2.
In 4.2 however, this function appears to be defined in a private header file (signal-wrapper.h), which I can't include.

Is there another mechanism I should use?

This is the file where I am calling octave_restore_signal_mask:
https://github.com/renozao/RcppOctave/blob/develop/src/rcpp_octave.cpp

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by renaud (Posted a comment)
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by None (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 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 24 Nov 2016 07:14:54 AM UTCmtmillerStatusNone=>Wont Fix
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1