bugGNU Octave - Bugs: bug #46337, help reports 'feedback' function...

 
 

bug #46337: help reports 'feedback' function not implemented, help '@lti/feedback' works

Submitter:  None
Submitted:  Fri 30 Oct 2015 03:08:33 PM UTC
   
 
Category:  Octave Function Severity:  1 - Wish
Priority:  3 - Low Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  RDS Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 4.0.0
Operating System:  * Any Fixed Release:  9.1.0
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 15 Jan 2024 06:26:51 PM UTC, comment #19: 

Good to hear that this is working again.  Closing report.

Rik <rik5>
Group administrator
Mon 15 Jan 2024 05:04:12 PM UTC, comment #18: 

It's working correctly in a clean build environment.

Sorry for the noise.

Markus Mützel <mmuetzel>
Group administrator
Mon 15 Jan 2024 04:14:28 PM UTC, comment #17: 

It looks like you do have some extra chars:

octave:1> str = __unimplemented__ ("matlabrc")
str = ‘matlabrc’ is not implemented.  Octave uses the file ‘.octaverc’
instead.
octave:2> double(str)
ans =

 Columns 1 through 29:

   226   128   152   109    97   116   108    97    98   114    99   226   128   153    32   105   115    32   110   111   116    32   105   109   112   108   101   109   101

 Columns 30 through 58:

   110   116   101   100    46    32    32    79    99   116    97   118   101    32   117   115   101   115    32   116   104   101    32   102   105   108   101    32   226

 Columns 59 through 81:

   128   152    46   111    99   116    97   118   101   114    99   226   128   153    10   105   110   115   116   101    97   100    46

octave:3> whos str
Variables visible from the current scope:

variables in scope: top scope

  Attr   Name        Size                     Bytes  Class
  ====   ====        ====                     =====  =====
         str         1x81                        81  char

Total is 81 elements using 81 bytes


You can also look atr str.bin I attached (previously) in some hex editor/viewer and you will see:


0000060  \0 342 200 230   m   a   t   l   a   b   r   c 342 200 231

(this is from Fedora 39, texinfo 7.0.3)

On un-affected system (Centos Stream 9, texinfo 6.7):

0000060  \0   '   m   a   t   l   a   b   r   c   '       i   s       n



Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Mon 15 Jan 2024 04:00:15 PM UTC, comment #16: 

@Dmitri: That is a very good hint.

It looks like the string is converted twice from Latin-1 to UTF-8 for me:

octave:1> str = __unimplemented__ ("matlabrc")
str = âmatlabrcâ is not implemented.  Octave uses the file â.octavercâ
instead.
octave:2> double(str)
ans =

 Columns 1 through 25:

   195   162   194   128   194   152   109    97   116   108    97    98   114    99   195   162   194   128   194   153    32   105   115    32   110

 Columns 26 through 50:

   111   116    32   105   109   112   108   101   109   101   110   116   101   100    46    32    32    79    99   116    97   118   101    32   117

 Columns 51 through 75:

   115   101   115    32   116   104   101    32   102   105   108   101    32   195   162   194   128   194   152    46   111    99   116    97   118

 Columns 76 through 93:

   101   114    99   195   162   194   128   194   153    10   105   110   115   116   101    97   100    46


I'm currently not working in a clean build environment. Maybe, something is interfering.

I'll try and set-up a clean environment. Let's see if that "fixes" the issue.

Markus Mützel <mmuetzel>
Group administrator
Mon 15 Jan 2024 02:36:30 PM UTC, comment #15: 

So Markus's str is probably the same as  mine, it is the display issue on MSYS system (or languge setting?).

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Mon 15 Jan 2024 02:29:41 PM UTC, comment #14: 

’ is (RIGHT SINGLE QUOTATION MARK - U+2019) character which is being decoded as CP-1252 instead of UTF-8.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Mon 15 Jan 2024 10:00:18 AM UTC, comment #13: 

I'm still getting the following on Windows/MSYS2:

>> str = __unimplemented__ ("matlabrc")
str = ‘matlabrc’ is not implemented.  Octave uses the file ‘.octaverc’
instead.
>> version -hgid
ans = 50146e3265e0


Same issue with `help hgsave`. So, maybe it's unrelated to this change?
For some reason, it is displaying correct strings (i.e., the same as what Dmitri showed) with Octave 8.4.0.

Markus Mützel <mmuetzel>
Group administrator
Mon 15 Jan 2024 02:47:33 AM UTC, comment #12: 

@Dmitri: Thanks, that helped.  I checked in a change to relax the comparison between the string produced and the expected string.  Apparently, different platforms expand the @code macro to use different quoting characters.  The buildbots seem happy now, but I'll wait another day or two to see if anything else comes up.

Rik <rik5>
Group administrator
Sun 14 Jan 2024 05:27:16 PM UTC, comment #11: 


octave:4> str = __unimplemented__ ("matlabrc")
str = ‘matlabrc’ is not implemented.  Octave uses the file ‘.octaverc’
instead.
octave:5> whos
Variables visible from the current scope:

variables in scope: top scope

  Attr   Name        Size                     Bytes  Class
  ====   ====        ====                     =====  =====
         ans         0x0                          0  cell
         str         1x81                        81  char

Total is 81 elements using 81 bytes

octave:6> save -binary str.bin str

str.bin.gz is attached

Dmitri.
--


(file #55566)

Dmitri A. Sergatskov <dasergatskov>
Sun 14 Jan 2024 05:00:18 PM UTC, comment #10: 

The buildbot test for _unimplemented_ is failing, but it doesn't give any indication as to what the string actually is.

Is it possible to get the results of


str = __unimplemented__ ('matlabrc')


for a few of the failing platforms?

@Markus: After cset c5fcd055625c, can you try the code above on Windows and report what it generates?

Rik <rik5>
Group administrator
Sun 14 Jan 2024 03:06:47 PM UTC, comment #9: 

I just pushed a change that forces _makeinfo_ to generate "plain text" output.  See https://hg.savannah.gnu.org/hgweb/octave/rev/c5fcd055625c.  We'll see if this helps the buildbots.

Rik <rik5>
Group administrator
Sun 14 Jan 2024 02:54:49 PM UTC, comment #8: 

@Markus: Part of the changeset made greater use of TexInfo macros.  The help text now reads "@file{matlabrc} is not implemented" and that is then passed through _makeinfo_ for rendering.  Try 'help hgsave' and look at the sentence


When FILENAME does not have an extension the default filename
     extension '.ofig' will be appended


How is the text ".ofig" rendered for you?  That uses the same @file Texinfo macro.

@Dmitri: The BIST test is probably failing for the reason above.  My guess is that TexInfo renders some of the macros such as @file or @code differently on different computers.  It should be possible to make the BIST test comparison string more generic and avoid looking for the quoting characters.


It should

Rik <rik5>
Group administrator
Sun 14 Jan 2024 11:29:21 AM UTC, comment #7: 

I'm seeing the following on Windows since this change:

>> __unimplemented__ ("matlabrc")
error: ‘matlabrc’ is not implemented.  Octave uses the file ‘.octaverc’
instead.


That doesn't look correct. What is supposed to be displayed?

Markus Mützel <mmuetzel>
Group administrator
Sun 14 Jan 2024 03:54:31 AM UTC, comment #6: 

This is on Fedora 39:

octave:1> test __unimplemented__
***** test
 str = __unimplemented__ ("matlabrc");
 assert (regexp (str, "'matlabrc' is not implemented\.  Octave uses the file '\.octaverc'.instead\."));
!!!!! test failed
assert (regexp (str, "'matlabrc' is not implemented.  Octave uses the file '.octaverc'.instead.")) failed
octave:2> version -hgid
ans = 511a0571abcc


Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Sun 14 Jan 2024 03:50:14 AM UTC, comment #5: 

It broke "test _unimplemented_" on Fedora 39 and Debian.
(See e.g. buildbots)
It still ok on Centos Strem 9 (that uses slightly older versions of packages in comparison with Fedora 39).

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Sun 14 Jan 2024 01:52:05 AM UTC, comment #4: 

This bug is ancient, but I fixed the issue recently in this changeset https://hg.savannah.gnu.org/hgweb/octave/rev/511a0571abcc.

Now the help system gives explicit advice about what to type to find feedback on methods found in @classes in Octave packages.

Marking as Fixed and closing report.

Rik <rik5>
Group administrator
Mon 02 Nov 2015 04:51:52 PM UTC, comment #3: 

Hi Mike.
I actually would expect the "help feedback" command to show the help for the @lti/feedback command if the control package is loaded.
If this is too complicated or just a nonsense, at least it should not lie saying that it has not yet been implemented.
I will check later what matlab does.

Anonymous
Mon 02 Nov 2015 09:20:06 AM UTC, comment #2: 

Hmm, it looks like the help function somehow knows that there must be a feedback function in the control package:


error: help: the 'feedback' function belongs to the control package from Octave
Forge but has not yet been implemented.


However, the help function is not clever enough to realize that 'feedback' has always been part of the control package (for at least a decade).

I assume that 'help' uses some kind of database which contains outdated/wrong information. This needs to be fixed.

Lukas Reichlin <paramaniac>
Fri 30 Oct 2015 06:12:18 PM UTC, comment #1: 

Hi, thanks for your bug report. Can you explain what you think the correct behavior should be? It looks like it's working correctly to me, i.e. "help @lti/feedback" shows the help for the function.

Do you expect "help funcname" to look in every class definition for matching methods? Which one(s) take precedence? What does Matlab do?

In any case, this is not specific to the control package, updating bug info.

Mike Miller <mtmiller>
Group Member
Fri 30 Oct 2015 03:08:33 PM UTC, original submission:  

With the control package installed and loaded:

>> help feedback
error: help: the 'feedback' function belongs to the control package from Octave
Forge but has not yet been implemented.

Please read `http://www.octave.org/missing.html' to learn how you can
contribute missing functionality.

However the function is in the package and can be used. In fact "help @lti/feedback" returns the expected result:

>> help @lti/feedback
'@lti/feedback' is the file C:OctaveOctave-4.0.0shareoctavepackagescontrol-2.8.5@ltifeedback.m

 -- Function File: SYS = feedback (SYS1)
...

It is also reported in this stackoverflow discussion: http://stackoverflow.com/questions/26145206/is-it-available-to-use-feedback-function-in-octave

Running Octave 4.0.0

Anonymous

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #55566:  str.bin.gz added by dasergatskov (140B - application/gzip)

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by paramaniac (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 15 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-01-15 rik5 StatusIn Progress Fixed
        Open/ClosedOpen Closed
    2024-01-14 dasergatskov Attached File- Added str.bin.gz, #55566
    2024-01-14 mmuetzel StatusFixed In Progress
        Open/ClosedClosed Open
    2024-01-14 rik5 StatusNeed Info Fixed
        Open/ClosedOpen Closed
        Fixed ReleaseNone 9.1.0
    2016-04-22 mtmiller Dependencies- bugs #47764 is dependent
    2015-10-30 mtmiller CategoryOctave Package Octave Function
        Severity3 - Normal 1 - Wish
        Priority5 - Normal 3 - Low
        StatusNone Need Info
        Operating SystemMicrosoft Windows Any
        Summaryoctave reports \'feedback\' function not implemented help reports 'feedback' function not implemented, help '@lti/feedback' works

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code