Mercurial > octave
view .hgignore @ 25201:c80323fe4938 stable
improve handling of global symbols (bug #53599)
* load-save.cc (install_loaded_variable): For global values, check
global status and link to global symbol if needed.
* symrec.h (symbol_record::symbol_record_rep::unbind_global_rep):
New function.
(symbol_record::symbol_record_rep::clear): Use unbind_global_rep to
clearing global symbols.
(symbol_record::symbol_record_rep::is_marked_global): New function.
(symbol_record::symbol_record_rep::is_global): Use it.
(symbol_record::symbol_record_rep::bind_fwd_rep): Don't forward again
if symbol is already global.
(symbol_record::unbind_fwd_rep): Eliminate argument. Change all uses.
(symbol_record::symbol_record_rep::unbind_fwd_rep):
Eliminate argument. Simplify.
* test/bug-53599.tst: New file.
* test/module.mk: Update.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 10 Apr 2018 22:22:37 -0400 |
parents | 19d8d99152e9 |
children | 975450679c15 |
line wrap: on
line source
syntax: regexp # The recurrent (^|/) idiom in the regexps below should be understood # to mean "at any directory" while the ^ idiom means "from the # project's top-level directory". # gnulib makes these silly backup files .~$ # This directory gets created by gnulib during the build. # It contains no Octave files. ^libgnu($|/) # This directory mostly contains cruft during build time, but it does # contain some Octave code, so we gotta be a bit more careful about # what we ignore here ^m4/(?!ax_).+\.m4$ # Emacs tools create these (^|/)TAGS$ (^|/)semantic.cache$ (/|^)Makefile\.in$ ^INSTALL$ ^aclocal\.m4$ ^autom4te\.cache($|/) ^build-aux/config\.(guess|rpath|sub)$ ^build-aux/depcomp$ ^build-aux/install-sh$ ^build-aux/ltmain\.sh$ ^build-aux/mdate-sh$ ^build-aux/missing$ ^build-aux/move-if-change$ ^build-aux/texinfo\.tex$ ^build-aux/ylwrap$ ^config\.in\.h$ ^configure$ # e.g. doc/faq/OctaveFAQ.info # doc/interpreter/octave.info-4 ^doc/\w+/\w+\.info(-\d+)?$ ^doc/\w+/stamp-(vti|\d+)$ ^doc/\w+/version-\w+\.texi$ ^doc/interpreter/images\.mk$ # e.g. liboctave/operators/smx-op-inc.mk ^liboctave/operators/\w+-op-\w+\.mk$ ^libinterp/dldfcn/module\.mk$ # DOCSTRINGS files are built in the source tree ^(libinterp|scripts)/DOCSTRINGS$