Incoherent handling of '\n' in Octave 2.9.9 wrt. Octave 2.1.73
Paolo Giarrusso
p.giarrusso at gmail.com
Fri Apr 18 10:23:40 CDT 2008
(Semi-automatic) Bug report for Octave 2.9.9 configured for x86_64-pc-linux-gnu
Description:
-----------
The attached code snippet gives different result when executed with
Octave 2.1.73 and Octave 2.9.9, as provided by Ubuntu 7.04 (and I
consider the results of 2.9.9 to be buggy). The results of each
command in Octave2.9 are given in comments.
In particular, what puzzles me is that disp('\n') (note single quotes)
prints literally the blackslash and the `n', while disp("\n") and
fprintf (of either '\n' or "\n") give the expected result.
Typing the string at the prompt behaves like disp:
octave2.9:3> '\n'
ans = \n
octave2.9:4> "\n"
ans =
octave2.9:5>
But fprintf() gives the same results with both single and double
quotes; however, it sure does not handle \n itself, because it would
then handle:
octave2.9:5> str=disp('\n')
str = \n
octave2.9:6> fprintf(str)
\n
octave2.9:7>
But fprintf doesn't handle \n here, as you can see.
Any hint?
Thanks in advance
what follows is from the mail created by bug_report, in case it can be useful.
Configuration (please do not edit this section):
-----------------------------------------------
uname output: Linux americanbeauty.home.lan 2.6.23.14+swsusp2-evms
#3 SMP PREEMPT Fri Jan 25 01:25:35 CET 2008 x86_64 GNU/Linux
configure opts: '--prefix=/usr' '--datadir=/usr/share'
'--libdir=/usr/lib' '--libexecdir=/usr/lib'
'--infodir=/usr/share/info' '--mandir=/usr/share/man'
'--with-blas=-lblas-3' '--with-lapack=-llapack-3' '--with-hdf5'
'--with-fftw' '--with-f77=/usr/bin/gfortran' '--enable-shared'
'--enable-rpath' '--disable-static' '--build' 'x86_64-linux-gnu'
'build_alias=x86_64-linux-gnu' 'CC=/usr/bin/gcc' 'CXX=/usr/bin/g++'
'F77=/usr/bin/gfortran'
Fortran compiler: /usr/bin/gfortran
FFLAGS: -O2
F2C:
F2CFLAGS:
FLIBS: -L/usr/lib/gcc/x86_64-linux-gnu/4.1.2
-L/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64 -lhdf5 -lz -lgfortranbegin
-lgfortran -lm
CPPFLAGS:
INCFLAGS: -I. -I. -I./liboctave -I./src -I./libcruft/misc
C compiler: /usr/bin/gcc, version 4.1.2 20061103 (prerelease)
(Ubuntu 4.1.1-18ubuntu2)
CFLAGS: -O2
CPICFLAG: -fPIC
C++ compiler: /usr/bin/g++, version 4.1.2
CXXFLAGS: -O2
CXXPICFLAG: -fPIC
LD_CXX: /usr/bin/g++
LDFLAGS: -s
LIBFLAGS: -L.
RLD_FLAG: -Wl,-rpath -Wl,/usr/lib/octave-2.9.9
BLAS_LIBS: -llapack-3 -lblas-3
FFTW_LIBS: -lfftw3
LIBS: -lreadline -lncurses -ldl -lhdf5 -lz -lm
LEXLIB:
LIBDLFCN:
LIBGLOB:
SED: /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 -DSEPCHAR=':'
-DSEPCHAR_STR=":" -D__NO_MATH_INLINES=1 -DCXX_NEW_FRIEND_TEMPLATE_DECL=1
-DCXX_ISO_COMPLIANT_LIBRARY=1 -DCXX_ABI=gnu_v3 -DHAVE_LIBM=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_IEEE754_DATA_FORMAT=1
-DF77_FUNC(name,NAME)=name ## _ -DF77_FUNC_(name,NAME)=name ##
_ -DHAVE_BLAS=1 -DHAVE_UFSPARSE_UMFPACK_H=1 -DHAVE_UMFPACK=1
-DUMFPACK_SEPARATE_SPLIT=1 -DHAVE_UFSPARSE_COLAMD_H=1
-DHAVE_COLAMD=1 -DHAVE_UFSPARSE_CCOLAMD_H=1 -DHAVE_CCOLAMD=1
-DHAVE_UFSPARSE_CHOLMOD_H=1 -DHAVE_CHOLMOD=1 -DHAVE_UFSPARSE_CS_H=1
-DHAVE_CXSPARSE=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=8 -DSIZEOF_LONG_LONG=8
-DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DNPOS=std::string::npos
-DHAVE_PLACEMENT_DELETE=1 -DHAVE_DYNAMIC_AUTO_ARRAYS=1
-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_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_SSTREAM=1 -DHAVE_TERMIO_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_CANONICALIZE_FILE_NAME=1 -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1
-DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1 -DHAVE_FCNTL=1 -DHAVE_FORK=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_LINK=1 -DHAVE_LOCALTIME_R=1 -DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1
-DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_MKSTEMP=1 -DHAVE_ON_EXIT=1
-DHAVE_PIPE=1 -DHAVE_POLL=1 -DHAVE_PUTENV=1 -DHAVE_RAISE=1
-DHAVE_READLINK=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1
-DHAVE_ROUND=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_STAT=1
-DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRFTIME=1
-DHAVE_STRNCASECMP=1 -DHAVE_STRPTIME=1 -DHAVE_STRSIGNAL=1
-DHAVE_SYMLINK=1 -DHAVE_TEMPNAM=1 -DHAVE_UMASK=1 -DHAVE_UNAME=1
-DHAVE_UNLINK=1 -DHAVE_USLEEP=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1
-DHAVE_VSNPRINTF=1 -DHAVE_WAITPID=1 -DHAVE_LIBDL=1 -DHAVE_DLOPEN=1
-DHAVE_DLSYM=1 -DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 -DHAVE_DLOPEN_API=1
-DENABLE_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1 -DHAVE_FINITE=1
-DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_COPYSIGN=1 -DHAVE_DECL_SIGNBIT=1
-DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1
-DHAVE_EXP2=1 -DHAVE_LOG2=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 -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1
-DYYTEXT_POINTER=1 -DGNUPLOT_BINARY="gnuplot" -DGNUPLOT_HAS_FRAMES=
User-preferences (please do not edit this section):
--------------------------------------------------
EDITOR = vi
EXEC_PATH = /usr/lib/octave/2.9.9/site/exec/x86_64-pc-linux-gnu:/usr/lib/octave/api-v22/site/exec/x86_64-pc-linux-gnu:/usr/lib/octave/site/exec/x86_64-pc-linux-gnu:/usr/lib/octave/2.9.9/exec/x86_64-pc-linux-gnu:/usr/bin:/home/paolo/Admin/src/ns-allinone-2.32/bin:/home/paolo/Admin/src/ns-allinone-2.32/tcl8.4.15/unix:/home/paolo/Admin/src/ns-allinone-2.32/tk8.4.15/unix:/home/paolo/opt/agntctrl/bin:/usr/lib/ccache:/usr/lib/icecc/bin:/home/paolo/opt/pappa:/home/paolo/opt/quilt/bin:/home/paolo/opt/git64/bin:/home/paolo/opt/git/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:/usr/lib/jvm/java-6-sun/bin:/usr/local/vmware/bin:/usr/local/sbin:/sbin:/usr/sbin:/home/paolo/bin:/home/paolo/opt/patch-scripts:/home/paolo/opt/tex4ht.dir/bin/unix:.:/home/paolo/Progs/aspectj1.5/bin
IMAGE_PATH = .:/usr/share/octave/2.9.9/imagelib
PAGER = less
PS1 = \s:\#>
PS2 = >
PS4 = +
automatic_replot = 1
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 =
gnuplot_command_plot = pl
gnuplot_command_replot = rep
gnuplot_command_splot = sp
gnuplot_command_title = t
gnuplot_command_using = u
gnuplot_command_with = w
history_file = /home/paolo/.octave_hist
history_size = 1024
ignore_function_time_stamp = system
info_file = /usr/share/info/octave2.9.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 = 0
print_answer_id_name = 1
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
--
Paolo 'Blaisorblade' Giarrusso
-------------- next part --------------
A non-text attachment was scrubbed...
Name: octaveBug.m
Type: text/x-objcsrc
Size: 243 bytes
Desc: not available
Url : https://www.cae.wisc.edu/pipermail/bug-octave/attachments/20080418/634fb241/attachment.bin
More information about the Bug-octave
mailing list