octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #48975] help on some operators fail, due to a


From: anonymous
Subject: [Octave-bug-tracker] [bug #48975] help on some operators fail, due to a bug in function "which"
Date: Fri, 2 Sep 2016 04:23:40 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0

URL:
  <http://savannah.gnu.org/bugs/?48975>

                 Summary: help on some operators fail, due to a bug in
function "which"
                 Project: GNU Octave
            Submitted by: None
            Submitted on: Fri 02 Sep 2016 04:23:38 AM UTC
                Category: Octave Function
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Crash
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: address@hidden
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.0.3
        Operating System: Any

    _______________________________________________________

Details:


>>  help('"')
error: value on right hand side of assignment is undefined
error: called from
    which at line 36 column 24
    help at line 120 column 7
>>  help('.\')
error: value on right hand side of assignment is undefined
error: called from
    which at line 36 column 24
    help at line 120 column 7
>>  help('\')
error: value on right hand side of assignment is undefined
error: called from
    which at line 36 column 24
    help at line 120 column 7


This is because some characters when put in double quote (") should be
backslash escaped.
Possible solution:

--- /usr/share/octave/4.0.3/m/help/which.m
+++ which.m
@@ -34,7 +34,7 @@
     ## functions in name resolution.
     for i = 1:nargin
       m(i).is_variable = evalin ("caller",
-                                 ["exist (\"" m(i).name "\", \"var\")"],
false);
+                                 ["exist (\"" undo_string_escapes(m(i).name)
"\", \"var\")"], false);
       if (m(i).is_variable)
         m(i).file = "variable";
       endif


Then the result is correct:

>>  help('"')

 -- Operator: "
     String delimiter.

Additional help for built-in functions and operators is
available in the online version of the manual.  Use the command
'doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at http://www.octave.org and via the address@hidden
mailing list.
>>  help('.\')

 -- Operator: .\
     Element by element left division operator.

     See also: , ./, rdivide, mrdivide.

Additional help for built-in functions and operators is
available in the online version of the manual.  Use the command
'doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at http://www.octave.org and via the address@hidden
mailing list.
>>  help('\')

 -- Operator: \
     Left division operator.

     See also: ., /, ldivide, mldivide.

Additional help for built-in functions and operators is
available in the online version of the manual.  Use the command
'doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at http://www.octave.org and via the address@hidden
mailing list.


Other operators are OK.  I use this command to test.

for a=__operators__().' help(a{1}); end





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?48975>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]