anonymous function cell array syntax error vs. matlab

Ian Rickard inio at inio.org
Wed Jul 29 16:54:52 CDT 2009


Bug report for Octave 3.2.2 configured for i386-apple-darwin8.11.1

Description:
-----------

  * When a cell array is provided as the output of an anoymous
    function, commas must be used to delimit the members along
    rows.  Matlab allows commas or spaces, and octave allows
    both as well when the cell array is not an anonymous
    function body.  Examples:

    Example:

    This expressions is valid syntax in both octave and matlab:
    @(){1, 2}

    This expression raises a syntax error in octave, but works
    in matlab:
    @(){1 2}

    Note that the following two exressions work in both, and produce
    identical results:
    {1, 2}
    {1 2}

Repeat-By:
---------

  * evaluate an expression:
    a = @(){1 2}
    and observe that it causes a syntax error.
    Repeat in matlab and observe success.



Configuration (please do not edit this section):
-----------------------------------------------

uname output:     Darwin maybe.local 9.7.1 Darwin Kernel Version
9.7.1: Thu Apr 23 13:52:18 PDT 2009; root:xnu-1228.14.1~1/RELEASE_I386
i386 i386
configure opts:   'CC=gcc -arch i386' 'CPP=gcc -arch i386 -E' 'CXX=g++
-arch i386' 'F77=i386-apple-darwin8.11.1-g95' 'CFLAGS=-O3 -fforce-addr
-march=i686 -mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -I/tmp/deps-i386/include'
'CPPFLAGS=-O3 -fforce-addr -march=i686 -mfpmath=sse,387 -mieee-fp
-msse3 -msse2 -msse -mmmx -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-I/tmp/deps-i386/include' 'CXXFLAGS=-O3 -fforce-addr -march=i686
-mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -I/tmp/deps-i386/include' 'FFLAGS=-O3
-fforce-addr -march=i686 -mfpmath=sse,387 -mieee-fp -msse3 -msse2
-msse -mmmx -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-I/tmp/deps-i386/include' 'FLIBS=' 'LDFLAGS=-L/tmp/deps-i386/lib
-Wl,-headerpad_max_install_names   -Wl,-syslibroot
-Wl,/Developer/SDKs/MacOSX10.4u.sdk' '--prefix=/tmp/deps-i386'
'--host=i386-apple-darwin8.11.1' '--without-x' '--enable-shared'
'--disable-static' 'host_alias=i386-apple-darwin8.11.1'
Fortran compiler: i386-apple-darwin8.11.1-g95
FFLAGS:           -O3 -fforce-addr -march=i686 -mfpmath=sse,387
-mieee-fp -msse3 -msse2 -msse -mmmx -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -I/tmp/deps-i386/include -mieee-fp
FLIBS:            -L/tmp/deps-i386/lib
-L/private/tmp/deps-i386/bin/../lib/gcc-lib/i386-apple-darwin8.11.1/4.0.3/
-L/private/tmp/deps-i386/bin/../lib/gcc-lib/i386-apple-darwin8.11.1/4.0.3
-L/usr/lib/gcc//
-L/private/tmp/deps-i386/bin/../lib/gcc-lib/i386-apple-darwin8.11.1/4.0.3///
-L/usr/lib// -lhdf5 -lz -lf95 -lm -lSystemStubs -lmx
CPPFLAGS:         -O3 -fforce-addr -march=i686 -mfpmath=sse,387
-mieee-fp -msse3 -msse2 -msse -mmmx -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -I/tmp/deps-i386/include
-I/tmp/deps-i386/include
INCFLAGS:         -I. -I. -I./liboctave -I./src -I./libcruft/misc
C compiler:       gcc -arch i386, version 4.0.1 (Apple Computer, Inc.
build 5370)
CFLAGS:           -O3 -fforce-addr -march=i686 -mfpmath=sse,387
-mieee-fp -msse3 -msse2 -msse -mmmx -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -I/tmp/deps-i386/include
CPICFLAG:         -fPIC
C++ compiler:     g++ -arch i386, version 4.0.1
CXXFLAGS:         -O3 -fforce-addr -march=i686 -mfpmath=sse,387
-mieee-fp -msse3 -msse2 -msse -mmmx -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -I/tmp/deps-i386/include
CXXPICFLAG:       -fPIC
LD_CXX:           g++ -arch i386
LDFLAGS:          -L/tmp/deps-i386/lib
-Wl,-headerpad_max_install_names   -Wl,-syslibroot
-Wl,/Developer/SDKs/MacOSX10.4u.sdk
LIBFLAGS:         -L.
RLD_FLAG:
BLAS_LIBS:        -Wl,-framework -Wl,vecLib
FFTW_LIBS:        -lfftw3 -lfftw3f
LIBS:             -lreadline  -lncurses -Wl,-framework -Wl,vecLib
-lhdf5 -lz -lm
LEXLIB:
LIBGLOB:
SED:              /usr/bin/sed
DEFS:

  -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION=""
  -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DOCTAVE_SOURCE=1
  -D_GNU_SOURCE=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
  -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
  -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1
  -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DSEPCHAR=':'
  -DSEPCHAR_STR=":" -D__NO_MATH_INLINES=1 -DCXX_NEW_FRIEND_TEMPLATE_DECL=1
  -DCXX_ISO_COMPLIANT_LIBRARY=1 -DHAVE_X_WINDOWS=1 -DHAVE_FRAMEWORK_CARBON=1
  -DHAVE_LIBM=1 -DHAVE_QHULL=1 -DHAVE_PCRE_COMPILE=1 -DHAVE_PCRE=1
  -DHAVE_REGEXEC=1 -DHAVE_REGEX=1 -DHAVE_ZLIB_H=1 -DHAVE_ZLIB=1
  -DHAVE_HDF5_H=1 -DHAVE_HDF5=1 -DHAVE_H5GGET_NUM_OBJS=1 -DHAVE_FFTW3=1
  -DHAVE_GLPK_H=1 -DHAVE_GLPK=1 -DHAVE_CURL_CURL_H=1 -DHAVE_CURL=1
  -DHAVE_MAGICK=1 -DHAVE_FRAMEWORK_OPENGL=1
  -DHAVE_GLUTESSCALLBACK_THREEDOTS=1 -DHAVE_OPENGL=1 -DHAVE_FTGL_FTGL_H=1
  -DHAVE_FTGL=1 -DHAVE_FLTK=1 -DHAVE_IEEE754_DATA_FORMAT=1
  -DF77_FUNC(name,NAME)=name ## _ -DF77_FUNC_(name,NAME)=name ## __
  -DHAVE_BLAS=1 -DHAVE_QRUPDATE=1 -DHAVE_AMD_H=1 -DHAVE_AMD=1
  -DHAVE_UMFPACK_H=1 -DHAVE_UMFPACK=1 -DUMFPACK_SEPARATE_SPLIT=1
  -DHAVE_COLAMD_H=1 -DHAVE_COLAMD=1 -DHAVE_CCOLAMD_H=1 -DHAVE_CCOLAMD=1
  -DHAVE_CHOLMOD_H=1 -DHAVE_CHOLMOD=1 -DHAVE_CS_H=1 -DHAVE_CXSPARSE=1
  -DHAVE_ARPACK=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPWNAM=1 -DHAVE_DEV_T=1
  -DHAVE_INO_T=1 -DHAVE_NLINK_T=1 -DHAVE_NLINK_T=1 -DHAVE_LONG_LONG_INT=1
  -DHAVE_UNSIGNED_LONG_LONG_INT=1 -DHAVE_SIGSET_T=1 -DHAVE_SIG_ATOMIC_T=1
  -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8
  -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_PLACEMENT_DELETE=1
  -DHAVE_DYNAMIC_AUTO_ARRAYS=1 -DHAVE_FAST_INT_OPS=1 -DSIZEOF_LONG_DOUBLE=16
  -DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1
  -DHAVE_SYS_WAIT_H=1 -DHAVE_ASSERT_H=1 -DHAVE_CURSES_H=1 -DHAVE_DLFCN_H=1
  -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 -DHAVE_GRP_H=1 -DHAVE_INTTYPES_H=1
  -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NCURSES_H=1
  -DHAVE_POLL_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_PWD_H=1 -DHAVE_STDINT_H=1
  -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_IOCTL_H=1
  -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_POLL_H=1 -DHAVE_SYS_RESOURCE_H=1
  -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1
  -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTSNAME_H=1
  -DHAVE_TERMCAP_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UTIME_H=1 -DHAVE_SSTREAM=1
  -DHAVE_TERMIOS_H=1 -DHAVE_SGTTY_H=1 -DHAVE_GLOB_H=1 -DHAVE_FNMATCH_H=1
  -DHAVE_FNMATCH=1 -DHAVE_GLOB=1 -DHAVE_ATEXIT=1 -DHAVE_BASENAME=1
  -DHAVE_BCOPY=1 -DHAVE_BZERO=1 -DHAVE_CHMOD=1 -DHAVE_DUP2=1
  -DHAVE_ENDGRENT=1 -DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1 -DHAVE_EXPM1=1
  -DHAVE_EXPM1F=1 -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_FSTAT=1
  -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1
  -DHAVE_GETGRENT=1 -DHAVE_GETGRGID=1 -DHAVE_GETGRNAM=1 -DHAVE_GETPGRP=1
  -DHAVE_GETPID=1 -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWUID=1
  -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETUID=1 -DHAVE_GETWD=1 -DHAVE_KILL=1
  -DHAVE_LGAMMA=1 -DHAVE_LGAMMAF=1 -DHAVE_LINK=1 -DHAVE_LOCALTIME_R=1
  -DHAVE_LOG1P=1 -DHAVE_LOG1PF=1 -DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1
  -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_MKSTEMP=1 -DHAVE_PIPE=1
  -DHAVE_POLL=1 -DHAVE_PUTENV=1 -DHAVE_RAISE=1 -DHAVE_READLINK=1
  -DHAVE_REALPATH=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1
  -DHAVE_ROUNDL=1 -DHAVE_SELECT=1 -DHAVE_SETGRENT=1 -DHAVE_SETLOCALE=1
  -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 -DHAVE_SIGACTION=1 -DHAVE_SIGLONGJMP=1
  -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1
  -DHAVE_SNPRINTF=1 -DHAVE_STAT=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1
  -DHAVE_STRERROR=1 -DHAVE_STRNCASECMP=1 -DHAVE_STRPTIME=1
  -DHAVE_STRSIGNAL=1 -DHAVE_SYMLINK=1 -DHAVE_TEMPNAM=1 -DHAVE_TGAMMAF=1
  -DHAVE_TRUNC=1 -DHAVE_UMASK=1 -DHAVE_UNAME=1 -DHAVE_UNLINK=1
  -DHAVE_USLEEP=1 -DHAVE_UTIME=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1
  -DHAVE_VSNPRINTF=1 -DHAVE_WAITPID=1 -DHAVE_DECL_EXP2=1 -DHAVE_DECL_ROUND=1
  -DHAVE_DECL_TGAMMA=1 -DHAVE_EXP2=1 -DHAVE_ROUND=1 -DHAVE_TGAMMA=1
  -DHAVE_STRFTIME=1 -DHAVE_C99_VSNPRINTF=1 -DOCTAVE_HAVE_BROKEN_STRPTIME=1
  -DHAVE_DYLD_API=1 -DENABLE_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1
  -DHAVE_CMATH_ISNAN=1 -DHAVE_CMATH_ISNANF=1 -DHAVE_CMATH_ISINF=1
  -DHAVE_CMATH_ISINFF=1 -DHAVE_CMATH_ISFINITE=1 -DHAVE_CMATH_ISFINITEF=1
  -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_COPYSIGN=1
  -DHAVE_DECL_SIGNBIT=1 -DHAVE_ACOSH=1 -DHAVE_ACOSHF=1 -DHAVE_ASINH=1
  -DHAVE_ASINHF=1 -DHAVE_ATANH=1 -DHAVE_ATANHF=1 -DHAVE_ERF=1
  -DHAVE_ERFF=1 -DHAVE_ERFC=1 -DHAVE_ERFCF=1 -DHAVE_EXP2F=1 -DHAVE_LOG2=1
  -DHAVE_LOG2F=1 -DHAVE_HYPOTF=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1
  -DHAVE_STRUCT_STAT_ST_BLOCKS=1 -DHAVE_STRUCT_STAT_ST_RDEV=1
  -DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DUSE_READLINE=1
  -DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void -DHAVE_DECL_SYS_SIGLIST=1
  -DHAVE_POSIX_SIGNALS=1 -DRETSIGTYPE_IS_VOID=1 -DHAVE_GETRUSAGE=1
  -DHAVE_TIMES=1 -DYYTEXT_POINTER=1

User-preferences (please do not edit this section):
--------------------------------------------------

  EDITOR = emacs
  EXEC_PATH = /Applications/Octave.app/Contents/Resources/libexec/octave/3.2.2/site/exec/i386-apple-darwin8.11.1:/Applications/Octave.app/Contents/Resources/libexec/octave/api-v37/site/exec/i386-apple-darwin8.11.1:/Applications/Octave.app/Contents/Resources/libexec/octave/site/exec/i386-apple-darwin8.11.1:/Applications/Octave.app/Contents/Resources/libexec/octave/3.2.2/exec/i386-apple-darwin8.11.1:/Applications/Octave.app/Contents/Resources/bin:/Applications/Octave.app/Contents/Resources/bin:/Applications/Gnuplot.app/Contents/Resources/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/bin:/opt/local/bin
  IMAGE_PATH = .:/Applications/Octave.app/Contents/Resources/share/octave/3.2.2/imagelib
  PAGER = less
  PS1 = \s:\#>
  PS2 = >
  PS4 = +
  beep_on_error = 0
  completion_append_char =
  crash_dumps_octave_core = 1
  echo_executing_commands = 0
  fixed_point_format = 0
  gnuplot_binary = gnuplot
# gnuplot_command_end = <no value or error in displaying it>
# gnuplot_command_plot = <no value or error in displaying it>
# gnuplot_command_replot = <no value or error in displaying it>
# gnuplot_command_splot = <no value or error in displaying it>
# gnuplot_command_title = <no value or error in displaying it>
# gnuplot_command_using = <no value or error in displaying it>
# gnuplot_command_with = <no value or error in displaying it>
  history_file = /Users/inio/.octave_hist
  history_size = 1024
  ignore_function_time_stamp = system
  info_file = /Applications/Octave.app/Contents/Resources/share/info/octave.info
  info_program = info
  makeinfo_program = makeinfo
  max_recursion_depth = 256
  output_max_field_width = 5
  output_precision = 5
  page_output_immediately = 0
  page_screen_output = 1
# print_answer_id_name = <no value or error in displaying it>
  print_empty_dimensions = 1
  save_precision = 16
  saving_history = 1
  sighup_dumps_octave_core = 1
  sigterm_dumps_octave_core = 1
  silent_functions = 0
  split_long_rows = 1
  string_fill_char =
  struct_levels_to_print = 2
  suppress_verbose_help_message = 0



More information about the Bug-octave mailing list