* bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour @ 2019-05-30 9:49 Evgeniy Dushistov 2019-05-30 11:40 ` Basil L. Contovounesios 2019-05-30 12:01 ` Noam Postavsky 0 siblings, 2 replies; 6+ messages in thread From: Evgeniy Dushistov @ 2019-05-30 9:49 UTC (permalink / raw) To: 36001 Hi, compile-mode.el (compilation-mode) works in really spontaneous way. I run compilation via: (defun rust-compile () "Compile using `cargo build`" (interactive) (compile "cargo build")) Sometimes errors are highlighted, sometimes aren't. For example I run compilation, and the first error is not highlighted: https://user-images.githubusercontent.com/156697/58186628-f013bf80-7cbd-11e9-956b-741e64fabbe6.png Then I switch buffer '*compilation*' and run M-x compilation-mode, and error is highlighted in the right way: https://user-images.githubusercontent.com/156697/58186629-f013bf80-7cbd-11e9-88c4-7a1fc90b08d8.png Also jump to the error via C-x ` sometimes doesn't work (emacs insitead of jump to code, asks where find source file), but after I would switch to '*compilation*' and run M-x compilation-mode, C-x ` works again. These are spontaneous errors, I have ~10 good cases, when all works fine vs 1 bad case, when rending or jump to source location works only for subset of errors/warnings. In GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.8) of 2019-04-12 built on juergen Windowing system distributor 'The X.Org Foundation', version 11.0.12004000 System Description: Arch Linux Recent messages: Mark saved where search started Mark set Undo! Mark set Saving file /home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib/src/lib.rs... Formatted buffer with rustfmt. Wrote /home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib/src/lib.rs Cargo-Process exited abnormally with code 101 Quit [3 times] Making completion list... Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: ru_RU.UTF-8 locale-coding-system: utf-8-unix Major mode: Rust Minor modes in effect: diff-auto-refine-mode: t lsp-ui-mode: t lsp-ui-doc-mode: t lsp-ui-sideline-mode: t column-enforce-mode: t show-paren-mode: t shell-dirtrack-mode: t company-mode: t lsp--managed-mode: t lsp-mode: t flymake-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home/evgeniy/.emacs.d/elpa/cmake-mode-20180709.1426/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rect pulse dabbrev company-lsp misearch multi-isearch vc-git diff-mode company-oddmuse company-keywords company-etags etags company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-bbdb lsp-ui lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-clients lsp-elm lsp-dart lsp-clojure lsp-go lsp-xml lsp-css lsp-intelephense lsp-vetur lsp-html lsp-solargraph lsp-rust lsp-pyls column-enforce-mode elec-pair paren cus-start cus-load company-rtags company-template rtags repeat tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete parse-time format-spec advice asm-mode cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs bookmark company edmacro kmacro ra-emacs-lsp derived lsp cargo cargo-process lsp-mode ewoc markdown-mode color noutline outline tree-widget wid-edit xref url-util spinner pcase network-stream puny nsm rmc starttls tls gnutls inline imenu filenotify f s em-glob esh-util dash-functional flymake-proc flymake compile comint ansi-color ring warnings thingatpt project rust-mode json map req-package view req-package-cycles req-package-args req-package-hooks ht log4e rx dash el-get el-get-autoloading el-get-list-packages el-get-dependencies el-get-build el-get-status pp el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git el-get-elpa el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile subr-x el-get-custom cl-extra help-mode el-get-core autoload radix-tree lisp-mnt dired dired-loaddefs use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core cl finder-inf info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date mule-util cyril-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 491650 111898) (symbols 48 40933 1) (miscs 40 1396 3515) (strings 32 117161 17565) (string-bytes 1 3238003) (vectors 16 64057) (vector-slots 8 1158194 111302) (floats 8 309 1019) (intervals 56 9184 4079) (buffers 992 26)) -- /Evgeniy ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour 2019-05-30 9:49 bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour Evgeniy Dushistov @ 2019-05-30 11:40 ` Basil L. Contovounesios 2019-05-30 14:10 ` Evgeniy Dushistov 2019-05-30 12:01 ` Noam Postavsky 1 sibling, 1 reply; 6+ messages in thread From: Basil L. Contovounesios @ 2019-05-30 11:40 UTC (permalink / raw) To: Evgeniy Dushistov; +Cc: 36001 Evgeniy Dushistov <dushistov@mail.ru> writes: > compile-mode.el (compilation-mode) works in really spontaneous way. > > I run compilation via: > > (defun rust-compile () > "Compile using `cargo build`" > (interactive) > (compile "cargo build")) > > Sometimes errors are highlighted, sometimes aren't. > For example I run compilation, and the first error is not highlighted: > > https://user-images.githubusercontent.com/156697/58186628-f013bf80-7cbd-11e9-956b-741e64fabbe6.png > > Then I switch buffer '*compilation*' and run M-x compilation-mode, > and error is highlighted in the right way: > > https://user-images.githubusercontent.com/156697/58186629-f013bf80-7cbd-11e9-88c4-7a1fc90b08d8.png > > Also jump to the error via C-x ` sometimes doesn't work (emacs insitead of jump to code, > asks where find source file), but after I would switch to '*compilation*' and > run M-x compilation-mode, C-x ` works again. > > These are spontaneous errors, I have ~10 good cases, > when all works fine vs 1 bad case, when rending or jump to source location works > only for subset of errors/warnings. Are you able to reproduce these issues starting from 'emacs -Q'? -- Basil ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour 2019-05-30 11:40 ` Basil L. Contovounesios @ 2019-05-30 14:10 ` Evgeniy Dushistov 0 siblings, 0 replies; 6+ messages in thread From: Evgeniy Dushistov @ 2019-05-30 14:10 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: 36001 On Thu, May 30, 2019 at 12:40:09PM +0100, Basil L. Contovounesios wrote: > Evgeniy Dushistov <dushistov@mail.ru> writes: > > > compile-mode.el (compilation-mode) works in really spontaneous way. > > > > I run compilation via: > > > > (defun rust-compile () > > "Compile using `cargo build`" > > (interactive) > > (compile "cargo build")) > > > > Sometimes errors are highlighted, sometimes aren't. > > For example I run compilation, and the first error is not highlighted: > > > > https://user-images.githubusercontent.com/156697/58186628-f013bf80-7cbd-11e9-956b-741e64fabbe6.png > > > > Then I switch buffer '*compilation*' and run M-x compilation-mode, > > and error is highlighted in the right way: > > > > https://user-images.githubusercontent.com/156697/58186629-f013bf80-7cbd-11e9-88c4-7a1fc90b08d8.png > > > > Also jump to the error via C-x ` sometimes doesn't work (emacs insitead of jump to code, > > asks where find source file), but after I would switch to '*compilation*' and > > run M-x compilation-mode, C-x ` works again. > > > > These are spontaneous errors, I have ~10 good cases, > > when all works fine vs 1 bad case, when rending or jump to source location works > > only for subset of errors/warnings. > > Are you able to reproduce these issues starting from 'emacs -Q'? > I can reproduce it with: emacs -Q M-: (load "~/.emacs.d/elpa/rust-mode-20190517.2037/rust-mode.el") and then M-x compile cargo build <-- command to run rust code compilation Interesting, that `cargo build` works in deterministic way, it produces the same output for the same code set on the Rust language. So the content of *compilation* buffer is always the same, except of course: Compilation started at ... Compilation exited abnormally with code 101 ... But sometimes it renders ok, sometimes bad. And if I run M-x compile cat /tmp/saved-compilation-buffer-content.txt the *compilation* rendering is always fine, no errors. -- /Evgeniy ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour 2019-05-30 9:49 bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour Evgeniy Dushistov 2019-05-30 11:40 ` Basil L. Contovounesios @ 2019-05-30 12:01 ` Noam Postavsky 2019-05-30 13:58 ` Evgeniy Dushistov 1 sibling, 1 reply; 6+ messages in thread From: Noam Postavsky @ 2019-05-30 12:01 UTC (permalink / raw) To: Evgeniy Dushistov; +Cc: 36001 Evgeniy Dushistov <dushistov@mail.ru> writes: > These are spontaneous errors, I have ~10 good cases, > when all works fine vs 1 bad case, when rending or jump to source location works > only for subset of errors/warnings. Could you evaluate the code below, and then post the contents of the *trace-output* buffer after a bad case happens. (defun bug-36001-clear-trace (&rest _) (with-current-buffer trace-buffer (let ((inhibit-read-only t)) (erase-buffer)))) (advice-add 'compile :before #'bug-36001-clear-trace) (trace-function-background 'compilation-filter) ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour 2019-05-30 12:01 ` Noam Postavsky @ 2019-05-30 13:58 ` Evgeniy Dushistov 2019-05-30 16:35 ` npostavs 0 siblings, 1 reply; 6+ messages in thread From: Evgeniy Dushistov @ 2019-05-30 13:58 UTC (permalink / raw) To: Noam Postavsky; +Cc: 36001 [-- Attachment #1: Type: text/plain, Size: 1014 bytes --] On Thu, May 30, 2019 at 08:01:18AM -0400, Noam Postavsky wrote: > Evgeniy Dushistov <dushistov@mail.ru> writes: > > > These are spontaneous errors, I have ~10 good cases, > > when all works fine vs 1 bad case, when rending or jump to source location works > > only for subset of errors/warnings. > > Could you evaluate the code below, and then post the contents of the > *trace-output* buffer after a bad case happens. > > (defun bug-36001-clear-trace (&rest _) > (with-current-buffer trace-buffer > (let ((inhibit-read-only t)) > (erase-buffer)))) > (advice-add 'compile :before #'bug-36001-clear-trace) > (trace-function-background 'compilation-filter) I attached two files, one is *trace-output* another is *compilation*, the first error is not marked as error: > error... > --> macroslib/src/lib.rs:428:27 I uses rust-mode, it adds some regexps to compilation-error-regexp-alist-alist: https://github.com/rust-lang/rust-mode/blob/master/rust-mode.el -- /Evgeniy [-- Attachment #2: trace-output --] [-- Type: text/plain, Size: 9335 bytes --] ====================================================================== 1 -> (compilation-filter #<process compilation> " Compiling rust_swig v0.4.0-pre (/home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib) ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `typemap::TypeMap` in the current scope --> macroslib/src/lib.rs:428:27 | 428 | self.conv_map.merge(*code_id, code, target_pointer_width)?; | ^^^^^ help: did you mean: `merge2` | ::: macroslib/src/typemap.rs:81:1 | 81 | pub(crate) struct TypeMap { | ------------------------- method `merge` not found for this ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:666:14 | 666 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:799:14 | 799 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:349:14 | 349 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:401:14 | 401 | conv_map.merge(SourceId::none(), &new_conv_code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0599`. ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error: Could not compile `rust_swig`. To learn more, run the command again with --verbose. ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> " Compiling rust_swig v0.4.0-pre (/home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib) ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `typemap::TypeMap` in the current scope --> macroslib/src/lib.rs:428:27 | 428 | self.conv_map.merge(*code_id, code, target_pointer_width)?; | ^^^^^ help: did you mean: `merge2` | ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> " ::: macroslib/src/typemap.rs:81:1 | 81 | pub(crate) struct TypeMap { | ------------------------- method `merge` not found for this ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:666:14 | 666 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:799:14 | 799 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:349:14 | 349 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:401:14 | 401 | conv_map.merge(SourceId::none(), &new_conv_code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0599`. ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error: Could not compile `rust_swig`. To learn more, run the command again with --verbose. ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> " Compiling rust_swig v0.4.0-pre (/home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib) ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `typemap::TypeMap` in the current scope ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> " --> macroslib/src/lib.rs:428:27 | 428 | self.conv_map.merge(*code_id, code, target_pointer_width)?; | ^^^^^ help: did you mean: `merge2` | ::: macroslib/src/typemap.rs:81:1 | 81 | pub(crate) struct TypeMap { | ------------------------- method `merge` not found for this ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:666:14 | 666 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:799:14 | 799 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:349:14 | 349 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> " error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:401:14 | 401 | conv_map.merge(SourceId::none(), &new_conv_code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0599`. ") 1 <- compilation-filter: nil ====================================================================== 1 -> (compilation-filter #<process compilation> "error: Could not compile `rust_swig`. To learn more, run the command again with --verbose. ") 1 <- compilation-filter: nil [-- Attachment #3: compilation --] [-- Type: text/plain, Size: 2068 bytes --] -*- mode: compilation; default-directory: "~/bigdisk1/projects/rust-infra/swig/macroslib/src/" -*- Compilation started at Thu May 30 16:54:30 cargo build Compiling rust_swig v0.4.0-pre (/home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib) error[E0599]: no method named `merge` found for type `typemap::TypeMap` in the current scope --> macroslib/src/lib.rs:428:27 | 428 | self.conv_map.merge(*code_id, code, target_pointer_width)?; | ^^^^^ help: did you mean: `merge2` | ::: macroslib/src/typemap.rs:81:1 | 81 | pub(crate) struct TypeMap { | ------------------------- method `merge` not found for this error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:666:14 | 666 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/cpp/mod.rs:799:14 | 799 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:349:14 | 349 | conv_map.merge(SourceId::none(), &code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` error[E0599]: no method named `merge` found for type `&mut typemap::TypeMap` in the current scope --> macroslib/src/java_jni/rust_code.rs:401:14 | 401 | conv_map.merge(SourceId::none(), &new_conv_code, pointer_target_width)?; | ^^^^^ help: did you mean: `merge2` error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0599`. error: Could not compile `rust_swig`. To learn more, run the command again with --verbose. Compilation exited abnormally with code 101 at Thu May 30 16:54:32 ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour 2019-05-30 13:58 ` Evgeniy Dushistov @ 2019-05-30 16:35 ` npostavs 0 siblings, 0 replies; 6+ messages in thread From: npostavs @ 2019-05-30 16:35 UTC (permalink / raw) To: Evgeniy Dushistov; +Cc: 36001, Noam Postavsky [-- Attachment #1: Type: text/plain, Size: 444 bytes --] merge 36001 25133 quit Evgeniy Dushistov <dushistov@mail.ru> writes: > the first error is not marked as error: > >> error... >> --> macroslib/src/lib.rs:428:27 > > I uses rust-mode, it adds some regexps to > compilation-error-regexp-alist-alist: > > https://github.com/rust-lang/rust-mode/blob/master/rust-mode.el Thanks, I attach a simple reproducer based on this, run as emacs -Q -l bug-36001-reproducer.el -f bug-36001-reproducer [-- Attachment #2: bug reproducer --] [-- Type: text/plain, Size: 2883 bytes --] (require 'compile) (defun bug-36001-reproducer () (interactive) (with-current-buffer (get-buffer-create "*test bug 36001*") (compilation-mode) (display-buffer (current-buffer)) (mapc (lambda (s) (let ((inhibit-read-only t)) (insert s)) (sit-for 0)) '(" Compiling rust_swig v0.4.0-pre (/home/evgeniy/bigdisk1/projects/rust-infra/swig/macroslib) " "error[E0599]: no method named `merge` found for type `typemap::TypeMap` in the current scope " " --> macroslib/src/lib.rs:428:27 | 428 | self.conv_map.merge(*code_id, code, target_pointer_width)?; | ^^^^^ help: did you mean: `merge2` | ::: macroslib/src/typemap.rs:81:1 | 81 | pub(crate) struct TypeMap { | ------------------------- method `merge` not found for this ")))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Copied from https://github.com/rust-lang/rust-mode/raw/master/rust-mode.el ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar rustc-compilation-regexps (let ((file "\\([^\n]+\\)") (start-line "\\([0-9]+\\)") (start-col "\\([0-9]+\\)")) (let ((re (concat "^\\(?:error\\|\\(warning\\)\\)[^-]+--> \\(" file ":" start-line ":" start-col "\\)"))) (cons re '(3 4 5 (1) 2)))) "Specifications for matching errors in rustc invocations. See `compilation-error-regexp-alist' for help on their format.") (defvar rustc-colon-compilation-regexps (let ((file "\\([^\n]+\\)") (start-line "\\([0-9]+\\)") (start-col "\\([0-9]+\\)")) (let ((re (concat "^ *::: " file ":" start-line ":" start-col ; ::: foo/bar.rs ))) (cons re '(1 2 3 0)))) ;; 0 for info type "Specifications for matching `:::` hints in rustc invocations. See `compilation-error-regexp-alist' for help on their format.") ;; Match test run failures and panics during compilation as ;; compilation warnings (defvar cargo-compilation-regexps '("^\\s-+thread '[^']+' panicked at \\('[^']+', \\([^:]+\\):\\([0-9]+\\)\\)" 2 3 nil nil 1) "Specifications for matching panics in cargo test invocations. See `compilation-error-regexp-alist' for help on their format.") (progn (add-to-list 'compilation-error-regexp-alist-alist (cons 'rustc rustc-compilation-regexps)) (add-to-list 'compilation-error-regexp-alist 'rustc) (add-to-list 'compilation-error-regexp-alist-alist (cons 'rustc-colon rustc-colon-compilation-regexps)) (add-to-list 'compilation-error-regexp-alist 'rustc-colon) (add-to-list 'compilation-error-regexp-alist-alist (cons 'cargo cargo-compilation-regexps)) (add-to-list 'compilation-error-regexp-alist 'cargo) (add-hook 'next-error-hook 'rustc-scroll-down-after-next-error)) [-- Attachment #3: Type: text/plain, Size: 94 bytes --] The basic problem is that rust-mode is using a multiline regexp, so it's the same bug#25133. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-05-30 16:35 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-30 9:49 bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour Evgeniy Dushistov 2019-05-30 11:40 ` Basil L. Contovounesios 2019-05-30 14:10 ` Evgeniy Dushistov 2019-05-30 12:01 ` Noam Postavsky 2019-05-30 13:58 ` Evgeniy Dushistov 2019-05-30 16:35 ` npostavs
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).