Fix Eshell bug
[bpt/emacs.git] / lisp / ChangeLog
index d87b996..b7173c5 100644 (file)
@@ -1,3 +1,395 @@
+2013-06-09  Aidan Gauland  <aidalgol@amuri.net>
+
+       * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused
+       output redirection to be ignored with visual commands.
+
+2013-06-09  Aidan Gauland  <aidalgol@amuri.net>
+
+       * eshell/em-term.el (eshell-visual-command-p): New function.
+       (eshell-term-initialize): Move long lambda to separate function eshell-visual-command-p.
+       * eshell/em-dirs.el (eshell-dirs-initialise): Add missing #' to lambda.
+       * eshell/em-script.el (eshell-script-initialize): Add missing #' to lambda.
+
+2013-06-08  Leo Liu  <sdl.web@gmail.com>
+
+       * progmodes/octave.el (octave-add-log-current-defun): New function.
+       (octave-mode): Set add-log-current-defun-function.
+       (octave-goto-function-definition): Do not move point if not found.
+       (octave-find-definition): Enhance to try subfunctions first.
+
+2013-06-08  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp/bytecomp.el (byte-compile-char-before)
+       (byte-compile-backward-char, byte-compile-backward-word):
+       Improve previous change, to handle non-explicit nil.
+
+2013-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/smie.el: Improve show-paren-mode behavior.
+       (smie--opener/closer-at-point): New function.
+       (smie--matching-block-data): Use it.  Don't match from right after an
+       opener or right before a closer.  Obey smie-blink-matching-inners.
+       Don't signal a mismatch for repeated inners like "switch..case..case".
+
+2013-06-07  Leo Liu  <sdl.web@gmail.com>
+
+       * progmodes/octave.el (octave-mode): Set comment-use-global-state
+       to t.  (Bug#14303)
+       (octave-function-header-regexp): Fix.  (Bug#14570)
+       (octave-help-mode-finish-hook, octave-help-mode-finish):
+       Remove.  Just use temp-buffer-show-hook.
+
+       * newcomment.el (comment-search-backward): Revert last change.
+       (Bug#14434)
+
+       * emacs-lisp/smie.el (smie--matching-block-data): Minor simplification.
+
+2013-06-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files
+       through xargs, to avoid failure due to MS-Windows limitations on
+       command-line length.
+
+2013-06-06  Glenn Morris  <rgm@gnu.org>
+
+       * font-lock.el (lisp-font-lock-keywords-2):
+       Treat user-error like error.
+
+       * emacs-lisp/bytecomp.el (byte-compile-char-before)
+       (byte-compile-backward-char, byte-compile-backward-word):
+       Handle explicit nil arguments.  (Bug#14565)
+
+2013-06-05  Alan Mackenzie  <acm@muc.de>
+
+       * isearch.el (isearch-allow-prefix): New user option.
+       (isearch-other-meta-char): Don't exit isearch when a prefix
+       argument is typed whilst `isearch-allow-prefix' is non-nil.
+       (Bug#9706)
+
+2013-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * autorevert.el (auto-revert-notify-handler): Use memq.
+       Hide assertion failure.
+
+       * skeleton.el: Use cl-lib.
+       (skeleton-further-elements): Use defvar-local.
+       (skeleton-insert): Use cl-progv.
+
+2013-06-05  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * progmodes/prog-mode.el (prog-prettify-symbols)
+       (prog-prettify-install): Update docstrings.
+
+2013-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * simple.el: Move all the prog-mode code to prog-mode.el.
+       * progmodes/prog-mode.el: New file.
+       * loadup.el: Add prog-mode.el.
+
+2013-06-05  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * simple.el (prog-prettify-symbols): Add version.
+       (prog-prettify-install): Add convenience function to prettify symbols.
+
+       * progmodes/perl-mode.el (perl--augmented-font-lock-keywords)
+       (perl--augmented-font-lock-keywords-1)
+       (perl--augmented-font-lock-keywords-2, perl-mode): Remove unneeded
+       variables and use it.
+
+       * progmodes/cfengine.el (cfengine3--augmented-font-lock-keywords)
+       (cfengine3-mode): Remove unneeded variable and use it.
+
+       * emacs-lisp/lisp-mode.el (lisp--augmented-font-lock-keywords)
+       (lisp--augmented-font-lock-keywords-1)
+       (lisp--augmented-font-lock-keywords-2, lisp-mode-variables):
+       Remove unneeded variables and use it.
+
+2013-06-05  João Távora  <joaotavora@gmail.com>
+
+       * net/tls.el (open-tls-stream): Remove unneeded buffer contents up
+       to point when opening the connection.  (Bug#14380)
+
+2013-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * subr.el (load-history-regexp, load-history-filename-element)
+       (eval-after-load, after-load-functions, do-after-load-evaluation)
+       (eval-next-after-load, display-delayed-warnings)
+       (collapse-delayed-warnings, delayed-warnings-hook): Move after the
+       definition of save-match-data.
+       (overriding-local-map): Remove accidental obsolescence declaration.
+
+       * emacs-lisp/edebug.el (edebug-result): Move before first use.
+
+2013-06-05  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       Generalize symbol prettify support to prog-mode and implement it
+       for perl-mode, cfengine3-mode, and emacs-lisp-mode.
+       * simple.el (prog-prettify-symbols-alist, prog-prettify-symbols)
+       (prog--prettify-font-lock-compose-symbol)
+       (prog-prettify-font-lock-symbols-keywords): New variables and
+       functions to support symbol prettification.
+       * emacs-lisp/lisp-mode.el (lisp--augmented-font-lock-keywords)
+       (lisp--augmented-font-lock-keywords-1)
+       (lisp--augmented-font-lock-keywords-2, lisp-mode-variables)
+       (lisp--prettify-symbols-alist): Implement prettify of lambda.
+       * progmodes/cfengine.el (cfengine3--augmented-font-lock-keywords)
+       (cfengine3--prettify-symbols-alist, cfengine3-mode):
+       Implement prettify of -> => :: strings.
+       * progmodes/perl-mode.el (perl-prettify-symbols)
+       (perl--font-lock-compose-symbol)
+       (perl--font-lock-symbols-keywords): Move to prog-mode.
+       (perl--prettify-symbols-alist): Prettify -> => :: strings.
+       (perl-font-lock-keywords-1)
+       (perl-font-lock-keywords-2): Remove explicit prettify support.
+       (perl--augmented-font-lock-keywords)
+       (perl--augmented-font-lock-keywords-1)
+       (perl--augmented-font-lock-keywords-2, perl-mode):
+       Implement prettify support.
+
+2013-06-05  Leo Liu  <sdl.web@gmail.com>
+
+       Re-implement smie matching block highlight using
+       show-paren-data-function.  (Bug#14395)
+       * emacs-lisp/smie.el (smie-matching-block-highlight)
+       (smie--highlight-matching-block-overlay)
+       (smie--highlight-matching-block-lastpos)
+       (smie-highlight-matching-block)
+       (smie-highlight-matching-block-mode): Remove.
+       (smie--matching-block-data-cache): New variable.
+       (smie--matching-block-data): New function.
+       (smie-setup): Use smie--matching-block-data for
+       show-paren-data-function.
+
+       * progmodes/octave.el (octave-mode-menu): Fix.
+       (octave-find-definition): Skip garbage lines.
+
+2013-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix compilation error with simultaneous dynamic+lexical scoping.
+       Add warning when a defvar appears after the first let-binding.
+       * emacs-lisp/bytecomp.el (byte-compile-lexical-variables): New var.
+       (byte-compile-close-variables): Initialize it.
+       (byte-compile--declare-var): New function.
+       (byte-compile-file-form-defvar)
+       (byte-compile-file-form-define-abbrev-table)
+       (byte-compile-file-form-custom-declare-variable): Use it.
+       (byte-compile-make-lambda-lexenv): Change the argument.  Simplify.
+       (byte-compile-lambda): Share call to byte-compile-arglist-vars.
+       (byte-compile-bind): Handle dynamic bindings that shadow
+       lexical bindings.
+       (byte-compile-unbind): Make arg non-optional.
+       (byte-compile-let): Simplify.
+       * emacs-lisp/cconv.el (byte-compile-lexical-variables): Declare var.
+       (cconv--analyse-function, cconv-analyse-form): Populate it.
+       Protect byte-compile-bound-variables to limit the scope of defvars.
+       (cconv-analyse-form): Add missing rule for (defvar <foo>).
+       Remove unneeded rule for `declare'.
+
+       * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): Use macroexp-let2
+       so as to avoid depending on cl-adjoin at run-time.
+       * emacs-lisp/cl-lib.el (cl-pushnew): Use backquotes.
+
+       * emacs-lisp/macroexp.el (macroexp--compiling-p): New function.
+       (macroexp--warn-and-return): Use it.
+
+2013-06-05  Leo Liu  <sdl.web@gmail.com>
+
+       * eshell/esh-mode.el (eshell-mode): Fix key bindings.
+
+2013-06-04  Leo Liu  <sdl.web@gmail.com>
+
+       * progmodes/compile.el (compile-goto-error): Add optional arg NOMSG.
+       (compilation-auto-jump): Suppress the "Mark set" message to give
+       way to exit message.
+
+2013-06-04  Alan Mackenzie  <acm@muc.de>
+
+       Remove faulty optimisation from indentation calculation.
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Don't calculate
+       search limit based on 2000 characters back from indent-point.
+
+2013-06-03  Tassilo Horn  <tsdh@gnu.org>
+
+       * eshell/em-term.el (cl-lib): Require `cl-lib'.
+
+2013-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/lisp.el: Use lexical-binding.
+       (lisp--local-variables-1, lisp--local-variables): New functions.
+       (lisp--local-variables-completion-table): New var.
+       (lisp-completion-at-point): Use it complete let-bound vars.
+
+       * emacs-lisp/lisp-mode.el (eval-sexp-add-defvars): Expand macros
+       eagerly (bug#14422).
+
+2013-06-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       * autorevert.el (auto-revert-notify-enabled)
+       (auto-revert-notify-rm-watch, auto-revert-notify-add-watch)
+       (auto-revert-notify-event-p, auto-revert-notify-event-file-name)
+       (auto-revert-notify-handler): Handle also gfilenotify.
+
+       * subr.el (file-notify-handle-event): New defun. Replacing ...
+       (inotify-event-p, inotify-handle-event, w32notify-handle-event):
+       Remove.
+
+2013-06-03  Juri Linkov  <juri@jurta.org>
+
+       * bindings.el (search-map): Bind `highlight-symbol-at-point' to
+       `M-s h .'.  (Bug#14427)
+
+       * hi-lock.el (highlight-symbol-at-point): New alias for the new
+       command `hi-lock-face-symbol-at-point'.
+       (hi-lock-face-symbol-at-point): New command.
+       (hi-lock-map): Bind `highlight-symbol-at-point' to `C-x w .'.
+       (hi-lock-menu): Add `highlight-symbol-at-point'.
+       (hi-lock-mode): Doc fix.
+
+       * isearch.el (isearch-forward-symbol-at-point): New command.
+       (search-map): Bind `isearch-forward-symbol-at-point' to `M-s .'.
+       (isearch-highlight-regexp): Add a regexp which matches
+       words/symbols for word/symbol mode.
+
+       * subr.el (find-tag-default-bounds): New function with the body
+       mostly moved from `find-tag-default'.
+       (find-tag-default): Move most code to `find-tag-default-bounds',
+       call it and apply `buffer-substring-no-properties' afterwards.
+
+2013-06-03  Tassilo Horn  <tsdh@gnu.org>
+
+       * eshell/em-term.el (eshell-term-initialize):
+       Use `cl-intersection' rather than `intersection'.
+
+2013-06-02  Xue Fuqiao  <xfq.free@gmail.com>
+
+       * vc/log-view.el: Doc fix.
+       (log-view-mode-map): Copy keymap from `special-mode-map'.
+
+2013-06-02  Eric Ludlam  <zappo@gnu.org>
+
+       * emacs-lisp/eieio.el (eieio--defalias, eieio-hook)
+       (eieio-error-unsupported-class-tags, eieio-skip-typecheck)
+       (eieio-optimize-primary-methods-flag, eieio-initializing-object)
+       (eieio-unbound, eieio-default-superclass)
+       (eieio--define-field-accessors, method-static, method-before)
+       (method-primary, method-after, method-num-lists)
+       (method-generic-before, method-generic-primary)
+       (method-generic-after, method-num-slots)
+       (eieio-specialized-key-to-generic-key)
+       (eieio--check-type, class-v, class-p)
+       (eieio-class-name, define-obsolete-function-alias)
+       (eieio-class-parents-fast, eieio-class-children-fast)
+       (same-class-fast-p, class-constructor, generic-p)
+       (generic-primary-only-p, generic-primary-only-one-p)
+       (class-option-assoc, class-option, eieio-object-p)
+       (class-abstract-p, class-method-invocation-order)
+       (eieio-defclass-autoload-map, eieio-defclass-autoload)
+       (eieio-class-un-autoload, eieio-defclass)
+       (eieio-eval-default-p, eieio-perform-slot-validation-for-default)
+       (eieio-add-new-slot, eieio-copy-parents-into-subclass)
+       (eieio--defgeneric-init-form, eieio-defgeneric-form)
+       (eieio-defgeneric-reset-generic-form)
+       (eieio-defgeneric-form-primary-only)
+       (eieio-defgeneric-reset-generic-form-primary-only)
+       (eieio-defgeneric-form-primary-only-one)
+       (eieio-defgeneric-reset-generic-form-primary-only-one)
+       (eieio-unbind-method-implementations)
+       (eieio--defmethod, eieio--typep)
+       (eieio-perform-slot-validation, eieio-validate-slot-value)
+       (eieio-validate-class-slot-value, eieio-barf-if-slot-unbound)
+       (eieio-oref, eieio-oref-default, eieio-default-eval-maybe)
+       (eieio-oset, eieio-oset-default, eieio-slot-originating-class-p)
+       (eieio-slot-name-index, eieio-class-slot-name-index)
+       (eieio-set-defaults, eieio-initarg-to-attribute)
+       (eieio-attribute-to-initarg, eieio-c3-candidate)
+       (eieio-c3-merge-lists, eieio-class-precedence-c3)
+       (eieio-class-precedence-dfs, eieio-class-precedence-bfs)
+       (eieio-class-precedence-list, eieio-generic-call-methodname)
+       (eieio-generic-call-arglst, eieio-generic-call-key)
+       (eieio-generic-call-next-method-list)
+       (eieio-pre-method-execution-functions, eieio-generic-call)
+       (eieio-generic-call-primary-only, eieiomt-method-list)
+       (eieiomt-optimizing-obarray, eieiomt-install)
+       (eieiomt-add, eieiomt-next, eieiomt-sym-optimize)
+       (eieio-generic-form, eieio-defmethod, make-obsolete)
+       (eieio-defgeneric, make-obsolete): Move to eieio-core.el
+       (defclass): Remove `eval-and-compile' from macro.
+       (call-next-method, shared-initialize): Instead of using
+       `scoped-class' variable, use new eieio--scoped-class, and
+       eieio--with-scoped-class.
+       (initialize-instance): Rename local variable 'scoped-class' to
+       'this-class' to remove ambiguitity from old global.
+
+       * emacs-lisp/eieio-core.el: New file.  Derived from key parts of
+       eieio.el.
+       (eieio--scoped-class-stack): New variable
+       (eieio--scoped-class): New fcn
+       (eieio--with-scoped-class): New scoping macro.
+       (eieio-defclass): Use pushnew instead of add-to-list.
+       (eieio-defgeneric-form-primary-only-one, eieio-oset-default)
+       (eieio-slot-name-index, eieio-set-defaults, eieio-generic-call)
+       (eieio-generic-call-primary-only, eieiomt-add): Instead of using
+       `scoped-class' variable, use new eieio--scoped-class, and
+       eieio--with-scoped-class.
+
+       * emacs-lisp/eieio-base.el (cl-lib): Require during compile.
+
+2013-06-02  Tassilo Horn  <tsdh@gnu.org>
+
+       * eshell/esh-ext.el (eshell-external-command): Pass args to
+       `eshell-find-interpreter'.
+       (eshell-find-interpreter): Add new second parameter ARGS.
+
+       * eshell/em-script.el (eshell-script-initialize): Add second arg
+       to the function added as MATCH to `eshell-interpreter-alist'
+
+       * eshell/em-dirs.el (eshell-dirs-initialize): Add second arg to
+       the function added as MATCH to `eshell-interpreter-alist'
+
+       * eshell/em-term.el (eshell-visual-subcommands): New defcustom.
+       (eshell-visual-options): New defcustom.
+       (eshell-escape-control-x): Adapt docstring.
+       (eshell-term-initialize): Test `eshell-visual-subcommands' and
+       `eshell-visual-options' in addition to `eshell-visual-commands'.
+       (eshell-exec-visual): Pass args to `eshell-find-interpreter'.
+
+2013-06-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
+
+       * progmodes/python.el (python-indent-block-enders): Add break,
+       continue and raise keywords.
+
+2013-06-01  Glenn Morris  <rgm@gnu.org>
+
+       * pcmpl-gnu.el (pcomplete/tar): Check obsolete variable is bound.
+
+       Plain (f)boundp silences compilation warnings since Emacs 22.1.
+       * progmodes/cc-cmds.el (delete-forward-p):
+       * progmodes/cc-defs.el (buffer-syntactic-context-depth):
+       * progmodes/cc-engine.el (buffer-syntactic-context):
+       * progmodes/cc-fonts.el (face-property-instance):
+       * progmodes/cc-mode.el (set-keymap-parents):
+       * progmodes/cc-vars.el (get-char-table): No need for cc-bytecomp-defun.
+       * progmodes/cc-defs.el (c-set-region-active, c-beginning-of-defun-1)
+       * progmodes/cc-mode.el (c-make-inherited-keymap): Use plain fboundp.
+       * progmodes/cc-defs.el (zmacs-region-stays, zmacs-regions)
+       (lookup-syntax-properties): Remove unecessary cc-bytecomp-defvar.
+
+       * progmodes/cc-vars.el (other): Emacs has this widget since
+       at least 21.1, so don't (re)define it.
+
+       * eshell/em-cmpl.el (eshell-cmpl-initialize):
+       Replace the obsolete alias pcomplete-arg-quote-list.
+
+2013-06-01  Leo Liu  <sdl.web@gmail.com>
+
+       * progmodes/octave.el (octave-mode-syntax-table): Give `.'
+       punctuation syntax.
+       (inferior-octave-minimal-columns)
+       (inferior-octave-last-column-width): New variables.
+       (inferior-octave-track-window-width-change): New function.
+       (inferior-octave-mode): Adjust column width so that Octave output,
+       for example from 'ls', can fit into the window nicely.
+
 2013-05-31  Dmitry Gutov  <dgutov@yandex.ru>
 
        * progmodes/ruby-mode.el (ruby-syntax-expansion-allowed-p):
 
 2013-05-31  Dmitry Gutov  <dgutov@yandex.ru>
 
-       * progmodes/ruby-mode.el (ruby-syntax-expansion-allowed-p): New
-       function, checks if point is inside a literal that allows
+       * progmodes/ruby-mode.el (ruby-syntax-expansion-allowed-p):
+       New function, checks if point is inside a literal that allows
        expression expansion.
        (ruby-syntax-propertize-expansion): Use it.
        (ruby-syntax-propertize-function): Bind `case-fold-search' to nil
        * emacs-lisp/trace.el (trace--read-args): Provide a default.
 
        * emacs-lisp/lisp-mode.el (lisp-mode-shared-map): Inherit from
-       prog-mode-map.
+       prog-mode-map (bug#14504).
 
 2013-05-29  Leo Liu  <sdl.web@gmail.com>
 
 
 2013-05-28  Aidan Gauland  <aidalgol@amuri.net>
 
-       * eshell/em-unix.el: Added -r option to cp
+       * eshell/em-unix.el: Add -r option to cp.
 
 2013-05-28  Glenn Morris  <rgm@gnu.org>
 
 
        * emacs-lisp/syntax.el (syntax-propertize-multiline):
        Use `syntax-multiline' text property consistently instead of
-       `font-lock-multiline'. (bug#14237).
+       `font-lock-multiline'.  (Bug#14237)
 
 2013-04-26  Glenn Morris  <rgm@gnu.org>
 
        * emacs-lisp/package.el (package-pinned-packages): New var.
        (package--add-to-archive-contents): Obey it (bug#14118).
 
+
 2013-04-03  Alan Mackenzie  <acm@muc.de>
 
-       Handle `parse-partial-sexp' landing inside a comment opener
-       (Bug#13244). Also adapt to the new values of element 7 of a parse
-       state.
+       Handle `parse-partial-sexp' landing inside a comment opener (Bug#13244).
+       Also adapt to the new values of element 7 of a parse state.
 
        * progmodes/cc-engine.el (c-state-pp-to-literal): New optional
        parameter `not-in-delimiter'.  Handle being inside comment opener.
 2013-03-08  Jambunathan K  <kjambunathan@gmail.com>
 
        * hi-lock.el (hi-lock-read-regexp-defaults-function): New var.
-       (hi-lock-read-regexp-defaults):  New defun.
+       (hi-lock-read-regexp-defaults): New defun.
        (hi-lock-line-face-buffer, hi-lock-face-buffer)
        (hi-lock-face-phrase-buffer): Propagate above change.
        Update docstring (bug#13892).
 
        Correct the position of point in some line-up functions.
        * progmodes/cc-align.el (c-lineup-whitesmith-in-block)
-       (c-lineup-assignments, c-lineup-gcc-asm-reg ): take position of
+       (c-lineup-assignments, c-lineup-gcc-asm-reg ): Take position of
        point at column 0 rather than at a random place in the line.
 
 2013-03-05  Michael Albinus  <michael.albinus@gmx.de>
 
 2012-11-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 
-       * ses.el: symbol to coordinate mapping is made by symbol property
+       * ses.el: Symbol to coordinate mapping is made by symbol property
        `ses-cell'.  This means that the same mapping is done for all SES
        sheets.  That is good enough for cells with standard A1 names, but
        not for named cell.  So a hash map is added for the latter.
        * progmodes/python.el (python-shell-send-setup-max-wait): Delete var.
        (python-shell-make-comint): accept-process-output at startup.
        (run-python-internal): Set inferior-python-mode-hook to nil.
-       (python-shell-internal-get-or-create-process): call sit-for.
+       (python-shell-internal-get-or-create-process): Call sit-for.
        (python-preoutput-result): Add obsolete alias.
        (python-shell-internal-send-string): Use it.
        (python-shell-send-setup-code): Remove call to
 2012-07-27  Fabián Ezequiel Gallina  <fgallina@cuca>
 
        Consistent completion in inferior python with emacs -nw.
-       * progmodes/python.el (inferior-python-mode): replace "<tab>"
+       * progmodes/python.el (inferior-python-mode): Replace "<tab>"
        binding in inferior-python-mode-map with "\t".
        (python-shell-completion-complete-at-point)
        (python-completion-complete-at-point): Remove interactive spec.
 
        * progmodes/verilog-mode.el (verilog-read-defines): Fix reading
        parameters with embedded comments.  Reported by Ray Stevens.
-       (verilog-calc-1, verilog-fork-wait-re) (verilog-forward-sexp,
-       verilog-wait-fork-re): Fix indentation of "wait fork", bug407.
+       (verilog-calc-1, verilog-fork-wait-re, verilog-forward-sexp)
+       (verilog-wait-fork-re): Fix indentation of "wait fork", bug407.
        Reported by Tim Holt.
        (verilog-auto): Fix AUTOing a upper module then AUTOing module
        instantiated by upper module causing wrong expansion until AUTOed a