all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
@ 2015-09-16  9:14 Jostein Kjønigsen
  2015-09-16 21:52 ` Stefan Monnier
  0 siblings, 1 reply; 10+ messages in thread
From: Jostein Kjønigsen @ 2015-09-16  9:14 UTC (permalink / raw)
  To: 21496, janneke


When writing Emacs lisp modules it's normal to byte-compile them to
get a list of warnings and errors. This may be part of a build-script
and this build-script may be launched using M-x compile.

If so, the output from the build-script is contained in a
compilation-mode buffer, where errors and warnings are highlighted and
you can use M-x first-error, M-x next-error and M-x previous-error to
navigate between them.

For Emacs lisp byte-compilation, these errors and warnings are proceeded
by a header of the following form:

     In toplevel form:
     In end of data:

Example below is from trying to byte-compile csharp-mode:

     In csharp--at-vsemi-p:
     In csharp--move-back-to-beginning-of-something:
     In csharp-move-back-to-beginning-of-defun:
     In csharp--on-defun-close-curly-p:
     In csharp--on-ctor-close-curly-p:
     In csharp--on-class-close-curly-p:
     In csharp--on-intf-close-curly-p:
     In csharp--on-enum-close-curly-p:
     In csharp--on-namespace-close-curly-p:
     In csharp--on-defun-open-curly-p:
     In csharp--on-class-open-curly-p:
     In csharp--on-genclass-open-curly-p:
     In csharp--on-namespace-open-curly-p:
     In csharp--on-ctor-open-curly-p:
     In csharp--on-intf-open-curly-p:
     In csharp--on-prop-open-curly-p:
     In csharp--on-indexer-open-curly-p:
     In csharp--on-enum-open-curly-p:
     In csharp-move-fwd-to-end-of-defun:
     In csharp-move-back-to-beginning-of-class:
     In csharp-move-back-to-beginning-of-namespace:
     In csharp--imenu-create-index-helper:
     In csharp-mode:
     In end of data:
     In toplevel form:
     In end of data:

The problem is that all these headers are picked up by the guile-file
compilation-error-regexp entry which is extremely wide:

    (guile-file "^In \\(.+\\):\n" 1)

When you then try to navigate to next or previous-error, this navigation
fails because Emacs goes looking for files with the following names:

     csharp--at-vsemi-p
     csharp--move-back-to-beginning-of-something
     csharp-move-back-to-beginning-of-defun
     csharp--on-defun-close-curly-p
     toplevel form
     end of data
     etc

And none of these files exists, causing emacs to prompt you for its
location.

The solution for this has to be narrowing the guile-file regexp to be
constrained to only handling Guile Scheme files. Will a *.scm filter be
enough or are more extensions used by Scheme?

Stefan also suggested this particular filter be degraded from "error" to
"info".




In GNU Emacs 25.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.13)
 of 2015-09-08
Repository revision: c825fd7cf94979a7f7c6777c985fd84024535905
Windowing system distributor 'The X.Org Foundation', version 11.0.11701000
System Description:	Ubuntu 15.04

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS NOTIFY GNUTLS LIBXML2
FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LC_MONETARY: nb_NO.UTF-8
  value of $LC_NUMERIC: nb_NO.UTF-8
  value of $LC_TIME: nb_NO.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  electric-pair-mode: t
  global-git-commit-mode: t
  diff-auto-refine-mode: t
  elisp-slime-nav-mode: t
  show-paren-mode: t
  paredit-mode: t
  flyspell-mode: t
  flycheck-mode: t
  which-function-mode: t
  linum-mode: t
  global-ede-mode: t
  company-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  projectile-global-mode: t
  projectile-mode: t
  ido-yes-or-no-mode: t
  helm-mode: t
  async-bytecomp-package-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  shell-dirtrack-mode: t
  global-hl-line-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Turn on helm-projectile key bindings
Auto-saving...
Turn on helm-projectile key bindings [4 times]
nil
Indenting region...done
"kjonigsen.net"
Turn on helm-projectile key bindings [14 times]
delete-backward-char: Text is read-only [2 times]
Turn on helm-projectile key bindings [3 times]
delete-backward-char: Text is read-only

Load-path shadows:
/home/jostein/.emacs.d/elpa/helm-20150830.43/helm-multi-match hides /home/jostein/.emacs.d/elpa/helm-core-20150828.2325/helm-multi-match
/home/jostein/quicklisp/dists/quicklisp/software/slime-2.14/slime hides /home/jostein/.emacs.d/elpa/slime-20150824.958/slime
/home/jostein/quicklisp/dists/quicklisp/software/slime-2.14/slime-autoloads hides /home/jostein/.emacs.d/elpa/slime-20150824.958/slime-autoloads
/home/jostein/quicklisp/dists/quicklisp/software/slime-2.14/slime-tests hides /home/jostein/.emacs.d/elpa/slime-20150824.958/slime-tests
/home/jostein/.emacs.d/elpa/org-20150907/ob-C hides /home/jostein/build/emacs/lisp/org/ob-C
/home/jostein/.emacs.d/elpa/org-20150907/org-crypt hides /home/jostein/build/emacs/lisp/org/org-crypt
/home/jostein/.emacs.d/elpa/org-20150907/ob-eval hides /home/jostein/build/emacs/lisp/org/ob-eval
/home/jostein/.emacs.d/elpa/org-20150907/org-clock hides /home/jostein/build/emacs/lisp/org/org-clock
/home/jostein/.emacs.d/elpa/org-20150907/ob-scala hides /home/jostein/build/emacs/lisp/org/ob-scala
/home/jostein/.emacs.d/elpa/org-20150907/ob-screen hides /home/jostein/build/emacs/lisp/org/ob-screen
/home/jostein/.emacs.d/elpa/org-20150907/ob-ditaa hides /home/jostein/build/emacs/lisp/org/ob-ditaa
/home/jostein/.emacs.d/elpa/org-20150907/org-inlinetask hides /home/jostein/build/emacs/lisp/org/org-inlinetask
/home/jostein/.emacs.d/elpa/org-20150907/org-plot hides /home/jostein/build/emacs/lisp/org/org-plot
/home/jostein/.emacs.d/elpa/org-20150907/ox-md hides /home/jostein/build/emacs/lisp/org/ox-md
/home/jostein/.emacs.d/elpa/org-20150907/ob-latex hides /home/jostein/build/emacs/lisp/org/ob-latex
/home/jostein/.emacs.d/elpa/org-20150907/ob hides /home/jostein/build/emacs/lisp/org/ob
/home/jostein/.emacs.d/elpa/org-20150907/ob-python hides /home/jostein/build/emacs/lisp/org/ob-python
/home/jostein/.emacs.d/elpa/org-20150907/ob-js hides /home/jostein/build/emacs/lisp/org/ob-js
/home/jostein/.emacs.d/elpa/org-20150907/ob-tangle hides /home/jostein/build/emacs/lisp/org/ob-tangle
/home/jostein/.emacs.d/elpa/org-20150907/ob-awk hides /home/jostein/build/emacs/lisp/org/ob-awk
/home/jostein/.emacs.d/elpa/org-20150907/org-bibtex hides /home/jostein/build/emacs/lisp/org/org-bibtex
/home/jostein/.emacs.d/elpa/org-20150907/org-bbdb hides /home/jostein/build/emacs/lisp/org/org-bbdb
/home/jostein/.emacs.d/elpa/org-20150907/org-habit hides /home/jostein/build/emacs/lisp/org/org-habit
/home/jostein/.emacs.d/elpa/org-20150907/org-id hides /home/jostein/build/emacs/lisp/org/org-id
/home/jostein/.emacs.d/elpa/org-20150907/ob-lilypond hides /home/jostein/build/emacs/lisp/org/ob-lilypond
/home/jostein/.emacs.d/elpa/org-20150907/ox-texinfo hides /home/jostein/build/emacs/lisp/org/ox-texinfo
/home/jostein/.emacs.d/elpa/org-20150907/ox-icalendar hides /home/jostein/build/emacs/lisp/org/ox-icalendar
/home/jostein/.emacs.d/elpa/org-20150907/org-mhe hides /home/jostein/build/emacs/lisp/org/org-mhe
/home/jostein/.emacs.d/elpa/org-20150907/org-mouse hides /home/jostein/build/emacs/lisp/org/org-mouse
/home/jostein/.emacs.d/elpa/org-20150907/ox-odt hides /home/jostein/build/emacs/lisp/org/ox-odt
/home/jostein/.emacs.d/elpa/org-20150907/org-compat hides /home/jostein/build/emacs/lisp/org/org-compat
/home/jostein/.emacs.d/elpa/org-20150907/ob-sql hides /home/jostein/build/emacs/lisp/org/ob-sql
/home/jostein/.emacs.d/elpa/org-20150907/ox-org hides /home/jostein/build/emacs/lisp/org/ox-org
/home/jostein/.emacs.d/elpa/org-20150907/org-agenda hides /home/jostein/build/emacs/lisp/org/org-agenda
/home/jostein/.emacs.d/elpa/org-20150907/ob-perl hides /home/jostein/build/emacs/lisp/org/ob-perl
/home/jostein/.emacs.d/elpa/org-20150907/ob-dot hides /home/jostein/build/emacs/lisp/org/ob-dot
/home/jostein/.emacs.d/elpa/org-20150907/ox-beamer hides /home/jostein/build/emacs/lisp/org/ox-beamer
/home/jostein/.emacs.d/elpa/org-20150907/org-attach hides /home/jostein/build/emacs/lisp/org/org-attach
/home/jostein/.emacs.d/elpa/org-20150907/org-pcomplete hides /home/jostein/build/emacs/lisp/org/org-pcomplete
/home/jostein/.emacs.d/elpa/org-20150907/ob-comint hides /home/jostein/build/emacs/lisp/org/ob-comint
/home/jostein/.emacs.d/elpa/org-20150907/org hides /home/jostein/build/emacs/lisp/org/org
/home/jostein/.emacs.d/elpa/org-20150907/org-ctags hides /home/jostein/build/emacs/lisp/org/org-ctags
/home/jostein/.emacs.d/elpa/org-20150907/ob-emacs-lisp hides /home/jostein/build/emacs/lisp/org/ob-emacs-lisp
/home/jostein/.emacs.d/elpa/org-20150907/ob-gnuplot hides /home/jostein/build/emacs/lisp/org/ob-gnuplot
/home/jostein/.emacs.d/elpa/org-20150907/ob-keys hides /home/jostein/build/emacs/lisp/org/ob-keys
/home/jostein/.emacs.d/elpa/org-20150907/org-footnote hides /home/jostein/build/emacs/lisp/org/org-footnote
/home/jostein/.emacs.d/elpa/org-20150907/ob-table hides /home/jostein/build/emacs/lisp/org/ob-table
/home/jostein/.emacs.d/elpa/org-20150907/org-faces hides /home/jostein/build/emacs/lisp/org/org-faces
/home/jostein/.emacs.d/elpa/org-20150907/org-element hides /home/jostein/build/emacs/lisp/org/org-element
/home/jostein/.emacs.d/elpa/org-20150907/org-eshell hides /home/jostein/build/emacs/lisp/org/org-eshell
/home/jostein/.emacs.d/elpa/org-20150907/org-list hides /home/jostein/build/emacs/lisp/org/org-list
/home/jostein/.emacs.d/elpa/org-20150907/org-gnus hides /home/jostein/build/emacs/lisp/org/org-gnus
/home/jostein/.emacs.d/elpa/org-20150907/ob-maxima hides /home/jostein/build/emacs/lisp/org/ob-maxima
/home/jostein/.emacs.d/elpa/org-20150907/org-protocol hides /home/jostein/build/emacs/lisp/org/org-protocol
/home/jostein/.emacs.d/elpa/org-20150907/ob-fortran hides /home/jostein/build/emacs/lisp/org/ob-fortran
/home/jostein/.emacs.d/elpa/org-20150907/ox-ascii hides /home/jostein/build/emacs/lisp/org/ox-ascii
/home/jostein/.emacs.d/elpa/org-20150907/ob-asymptote hides /home/jostein/build/emacs/lisp/org/ob-asymptote
/home/jostein/.emacs.d/elpa/org-20150907/ob-lob hides /home/jostein/build/emacs/lisp/org/ob-lob
/home/jostein/.emacs.d/elpa/org-20150907/org-mobile hides /home/jostein/build/emacs/lisp/org/org-mobile
/home/jostein/.emacs.d/elpa/org-20150907/org-timer hides /home/jostein/build/emacs/lisp/org/org-timer
/home/jostein/.emacs.d/elpa/org-20150907/org-feed hides /home/jostein/build/emacs/lisp/org/org-feed
/home/jostein/.emacs.d/elpa/org-20150907/ox hides /home/jostein/build/emacs/lisp/org/ox
/home/jostein/.emacs.d/elpa/org-20150907/ob-sqlite hides /home/jostein/build/emacs/lisp/org/ob-sqlite
/home/jostein/.emacs.d/elpa/org-20150907/ob-mscgen hides /home/jostein/build/emacs/lisp/org/ob-mscgen
/home/jostein/.emacs.d/elpa/org-20150907/ob-calc hides /home/jostein/build/emacs/lisp/org/ob-calc
/home/jostein/.emacs.d/elpa/org-20150907/org-capture hides /home/jostein/build/emacs/lisp/org/org-capture
/home/jostein/.emacs.d/elpa/org-20150907/ob-exp hides /home/jostein/build/emacs/lisp/org/ob-exp
/home/jostein/.emacs.d/elpa/org-20150907/org-entities hides /home/jostein/build/emacs/lisp/org/org-entities
/home/jostein/.emacs.d/elpa/org-20150907/ox-publish hides /home/jostein/build/emacs/lisp/org/ox-publish
/home/jostein/.emacs.d/elpa/org-20150907/ox-man hides /home/jostein/build/emacs/lisp/org/ox-man
/home/jostein/.emacs.d/elpa/org-20150907/ob-lisp hides /home/jostein/build/emacs/lisp/org/ob-lisp
/home/jostein/.emacs.d/elpa/org-20150907/ob-picolisp hides /home/jostein/build/emacs/lisp/org/ob-picolisp
/home/jostein/.emacs.d/elpa/org-20150907/ob-io hides /home/jostein/build/emacs/lisp/org/ob-io
/home/jostein/.emacs.d/elpa/org-20150907/org-datetree hides /home/jostein/build/emacs/lisp/org/org-datetree
/home/jostein/.emacs.d/elpa/org-20150907/org-archive hides /home/jostein/build/emacs/lisp/org/org-archive
/home/jostein/.emacs.d/elpa/org-20150907/ob-octave hides /home/jostein/build/emacs/lisp/org/ob-octave
/home/jostein/.emacs.d/elpa/org-20150907/org-rmail hides /home/jostein/build/emacs/lisp/org/org-rmail
/home/jostein/.emacs.d/elpa/org-20150907/ob-core hides /home/jostein/build/emacs/lisp/org/ob-core
/home/jostein/.emacs.d/elpa/org-20150907/org-colview hides /home/jostein/build/emacs/lisp/org/org-colview
/home/jostein/.emacs.d/elpa/org-20150907/org-src hides /home/jostein/build/emacs/lisp/org/org-src
/home/jostein/.emacs.d/elpa/org-20150907/org-install hides /home/jostein/build/emacs/lisp/org/org-install
/home/jostein/.emacs.d/elpa/org-20150907/ox-latex hides /home/jostein/build/emacs/lisp/org/ox-latex
/home/jostein/.emacs.d/elpa/org-20150907/org-macs hides /home/jostein/build/emacs/lisp/org/org-macs
/home/jostein/.emacs.d/elpa/org-20150907/org-docview hides /home/jostein/build/emacs/lisp/org/org-docview
/home/jostein/.emacs.d/elpa/org-20150907/org-info hides /home/jostein/build/emacs/lisp/org/org-info
/home/jostein/.emacs.d/elpa/org-20150907/org-table hides /home/jostein/build/emacs/lisp/org/org-table
/home/jostein/.emacs.d/elpa/org-20150907/ob-css hides /home/jostein/build/emacs/lisp/org/ob-css
/home/jostein/.emacs.d/elpa/org-20150907/org-loaddefs hides /home/jostein/build/emacs/lisp/org/org-loaddefs
/home/jostein/.emacs.d/elpa/org-20150907/org-version hides /home/jostein/build/emacs/lisp/org/org-version
/home/jostein/.emacs.d/elpa/org-20150907/org-w3m hides /home/jostein/build/emacs/lisp/org/org-w3m
/home/jostein/.emacs.d/elpa/org-20150907/ox-html hides /home/jostein/build/emacs/lisp/org/ox-html
/home/jostein/.emacs.d/elpa/org-20150907/ob-makefile hides /home/jostein/build/emacs/lisp/org/ob-makefile
/home/jostein/.emacs.d/elpa/org-20150907/ob-ruby hides /home/jostein/build/emacs/lisp/org/ob-ruby
/home/jostein/.emacs.d/elpa/org-20150907/ob-ref hides /home/jostein/build/emacs/lisp/org/ob-ref
/home/jostein/.emacs.d/elpa/org-20150907/ob-ocaml hides /home/jostein/build/emacs/lisp/org/ob-ocaml
/home/jostein/.emacs.d/elpa/org-20150907/ob-R hides /home/jostein/build/emacs/lisp/org/ob-R
/home/jostein/.emacs.d/elpa/org-20150907/org-indent hides /home/jostein/build/emacs/lisp/org/org-indent
/home/jostein/.emacs.d/elpa/org-20150907/ob-plantuml hides /home/jostein/build/emacs/lisp/org/ob-plantuml
/home/jostein/.emacs.d/elpa/org-20150907/ob-sass hides /home/jostein/build/emacs/lisp/org/ob-sass
/home/jostein/.emacs.d/elpa/org-20150907/ob-org hides /home/jostein/build/emacs/lisp/org/ob-org
/home/jostein/.emacs.d/elpa/org-20150907/ob-haskell hides /home/jostein/build/emacs/lisp/org/ob-haskell
/home/jostein/.emacs.d/elpa/org-20150907/org-macro hides /home/jostein/build/emacs/lisp/org/org-macro
/home/jostein/.emacs.d/elpa/org-20150907/ob-java hides /home/jostein/build/emacs/lisp/org/ob-java
/home/jostein/.emacs.d/elpa/org-20150907/ob-shen hides /home/jostein/build/emacs/lisp/org/ob-shen
/home/jostein/.emacs.d/elpa/org-20150907/ob-clojure hides /home/jostein/build/emacs/lisp/org/ob-clojure
/home/jostein/.emacs.d/elpa/org-20150907/ob-matlab hides /home/jostein/build/emacs/lisp/org/ob-matlab
/home/jostein/.emacs.d/elpa/org-20150907/ob-ledger hides /home/jostein/build/emacs/lisp/org/ob-ledger
/home/jostein/.emacs.d/elpa/org-20150907/org-irc hides /home/jostein/build/emacs/lisp/org/org-irc
/home/jostein/.emacs.d/elpa/org-20150907/ob-scheme hides /home/jostein/build/emacs/lisp/org/ob-scheme

Features:
(shadow sort mail-extr emacsbug sendmail network-stream nsm starttls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win
misearch multi-isearch elec-pair web-mode ede/dired semantic/lex-spp
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local ede/emacs ange-ftp tramp-ftp tramp-cache tetris
gamegrid executable magit-blame magit-stash magit-bisect magit-remote
magit-commit magit-sequence magit magit-apply magit-wip magit-log
magit-diff smerge-mode magit-core magit-process magit-popup magit-mode
magit-git crm magit-section magit-utils git-commit log-edit message
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util
with-editor tramp-sh vc vc-dispatcher vc-git diff-mode disp-table winner
add-log elisp-slime-nav paren paredit flyspell ispell flycheck
which-func linum company-files company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
company-c-headers helm-projectile eww mm-url gnus gnus-ems nnheader
mail-utils url-queue shr dom subr-x ede/speedbar ede/files ede
ede/detect ede/base ede/auto ede/source eieio-base eieio-speedbar
speedbar sb-image ezimage dframe eieio-custom cedet slime-asdf grep
slime-company company slime-fancy slime-trace-dialog slime-fontifying-fu
slime-package-fu slime-references slime-compiler-notes-tree
slime-scratch slime-presentations bridge slime-mdot-fu
slime-enclosing-context slime-fuzzy slime-fancy-trace
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-repl elp slime-parse slime derived gud apropos etags arc-mode
archive-mode hyperspec langtool undo-tree diff helm-imenu imenu
ob-plantuml org org-macro org-footnote org-pcomplete org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs find-func cal-menu calendar
cal-loaddefs projectile ibuf-ext ibuffer dash ido-yes-or-no ido seq
helm-mode helm-files rx image-dired dired-x dired-aux ffap thingatpt
helm-buffers helm-elscreen helm-tags helm-bookmark helm-adaptive
helm-info bookmark pp helm-locate helm-grep helm-regexp helm-plugin
helm-external helm-net browse-url xml url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
url-parse url-vars mailcap helm-utils compile helm-help helm-types helm
easy-mmode helm-source eieio-compat helm-multi-match helm-lib dired
helm-config helm-easymenu edmacro kmacro async-bytecomp async
helm-aliases delsel autorevert filenotify xref project server tramp
tramp-compat auth-source cl-seq gnus-util mm-util help-fns mail-prsvr
password-cache tramp-loaddefs trampver shell pcomplete comint ansi-color
ring format-spec advice hl-line color-theme-gruber-darker color-theme
wid-edit cl eieio byte-opt bytecomp byte-compile cl-extra help-mode
cconv eieio-core cl-macs gv cl-loaddefs pcase cl-lib warnings finder-inf
slime-autoloads info package easymenu epg-config time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core 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 charscript case-table epa-hook
jka-cmpr-hook help simple abbrev 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 dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 536629 32184)
 (symbols 48 59167 6)
 (miscs 40 872 774)
 (strings 32 146779 19195)
 (string-bytes 1 4647690)
 (vectors 16 66401)
 (vector-slots 8 1759894 59663)
 (floats 8 953 400)
 (intervals 56 1104 304)
 (buffers 976 39)
 (heap 1024 77942 4039))





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-16  9:14 bug#21496: 25.0.50; guile-file compilation-error regexp is too wide Jostein Kjønigsen
@ 2015-09-16 21:52 ` Stefan Monnier
  2015-09-16 22:00   ` Jostein Kjønigsen
  0 siblings, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2015-09-16 21:52 UTC (permalink / raw)
  To: Jostein Kjønigsen; +Cc: 21496, janneke

>      In csharp--at-vsemi-p:
[...]
> The problem is that all these headers are picked up by the guile-file
> compilation-error-regexp entry which is extremely wide:

>     (guile-file "^In \\(.+\\):\n" 1)

I was thinking of the patch below, which does two things:
1- lower the importance of those "In blabla:" from "error" to "info".
2- limit the .* to be either something that ends in .scm, or something
   that has a slash (or backslash for w32), or something without spaces.

But I see that "something without spaces" is not strict enough, so we
should drop it.  Maybe "something that ends in .scm" is good enough?


        Stefan


diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index a6e9ed8..24b7e63 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -477,7 +477,11 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
      ;;
      "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
      1 2 3)
-    (guile-file "^In \\(.+\\):\n" 1)
+    (guile-file
+     ;; Try to make sure it's a file name so as not to match unrelated
+     ;; text such as "In end of data" or "In top level form" (bug#21496).
+     "^In \\(.+\\.scm\\|.+[/\\].*\\|[^ \n\t]+\\):\n"
+     1 nil nil 0)
     (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2)
     )
   "Alist of values for `compilation-error-regexp-alist'.")





^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-16 21:52 ` Stefan Monnier
@ 2015-09-16 22:00   ` Jostein Kjønigsen
  2015-09-20  7:44     ` Jostein Kjønigsen
  0 siblings, 1 reply; 10+ messages in thread
From: Jostein Kjønigsen @ 2015-09-16 22:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Jan Nieuwenhuizen, Jostein Kjønigsen, 21496

If I get to have say in this, I think the simplest approach is probably the best one: just look for the right extension.

Jan: Any objections?

On 16 Sep 2015 23:52, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
> >      In csharp--at-vsemi-p: 
> [...] 
> > The problem is that all these headers are picked up by the guile-file 
> > compilation-error-regexp entry which is extremely wide: 
>
> >     (guile-file "^In \\(.+\\):\n" 1) 
>
> I was thinking of the patch below, which does two things: 
> 1- lower the importance of those "In blabla:" from "error" to "info". 
> 2- limit the .* to be either something that ends in .scm, or something 
>    that has a slash (or backslash for w32), or something without spaces. 
>
> But I see that "something without spaces" is not strict enough, so we 
> should drop it.  Maybe "something that ends in .scm" is good enough? 
>
>
>         Stefan 
>
>
> diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el 
> index a6e9ed8..24b7e63 100644 
> --- a/lisp/progmodes/compile.el 
> +++ b/lisp/progmodes/compile.el 
> @@ -477,7 +477,11 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?" 
>       ;; 
>       "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " 
>       1 2 3) 
> -    (guile-file "^In \\(.+\\):\n" 1) 
> +    (guile-file 
> +     ;; Try to make sure it's a file name so as not to match unrelated 
> +     ;; text such as "In end of data" or "In top level form" (bug#21496). 
> +     "^In \\(.+\\.scm\\|.+[/\\].*\\|[^ \n\t]+\\):\n" 
> +     1 nil nil 0) 
>      (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2) 
>      ) 
>    "Alist of values for `compilation-error-regexp-alist'.") 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-16 22:00   ` Jostein Kjønigsen
@ 2015-09-20  7:44     ` Jostein Kjønigsen
  2015-09-20  7:59       ` Andreas Schwab
  2015-09-20 15:20       ` Stefan Monnier
  0 siblings, 2 replies; 10+ messages in thread
From: Jostein Kjønigsen @ 2015-09-20  7:44 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Jan Nieuwenhuizen, Jostein Kjønigsen, 21496

[-- Attachment #1: Type: text/plain, Size: 2117 bytes --]

Since we haven't heard from Jan since this error was first reported,
attached is my patch to have the issue resolved.

Please let me know if this is an acceptable solution, and if anything
more is required on my part.

--
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net


On Thu, Sep 17, 2015, at 12:00 AM, Jostein Kjønigsen wrote:
> If I get to have say in this, I think the simplest approach is probably
> the best one: just look for the right extension.
> 
> Jan: Any objections?
> 
> On 16 Sep 2015 23:52, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> 
>>>       In csharp--at-vsemi-p:
>> [...]
>>> The problem is that all these headers are picked up by the guile-file
>>> compilation-error-regexp entry which is extremely wide:
>> 
>>>      (guile-file "^In \\(.+\\):\n" 1)
>> 
>> I was thinking of the patch below, which does two things:
>> 1- lower the importance of those "In blabla:" from "error" to "info".
>> 2- limit the .* to be either something that ends in .scm, or something
>>    that has a slash (or backslash for w32), or something without spaces.
>> 
>> But I see that "something without spaces" is not strict enough, so we
>> should drop it.  Maybe "something that ends in .scm" is good enough?
>> 
>> 
>>         Stefan
>> 
>> 
>> diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
>> index a6e9ed8..24b7e63 100644
>> --- a/lisp/progmodes/compile.el
>> +++ b/lisp/progmodes/compile.el
>> @@ -477,7 +477,11 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
>>       ;;
>>       "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
>>       1 2 3)
>> -    (guile-file "^In \\(.+\\):\n" 1)
>> +    (guile-file
>> +     ;; Try to make sure it's a file name so as not to match unrelated
>> +     ;; text such as "In end of data" or "In top level form" (bug#21496).
>> +     "^In \\(.+\\.scm\\|.+[/\\].*\\|[^ \n\t]+\\):\n"
>> +     1 nil nil 0)
>>      (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2)
>>      )
>>    "Alist of values for `compilation-error-regexp-alist'.")

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Emacs-compilation-mode-fixes.patch --]
[-- Type: text/x-patch; name="Emacs-compilation-mode-fixes.patch", Size: 1608 bytes --]

From f9b40d95c7753041c57d0de428382545fbf2b41d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jostein=20Kj=C3=B8nigsen?= <jostein@kjonigsen.net>
Date: Sun, 20 Sep 2015 09:39:50 +0200
Subject: [PATCH] Emacs: compilation-mode fixes.

It's common for Emacs-lisp module-developers to run Emacs
byte-compilation in separate build-scripts.

When invoking byte-compile on Emacs-lisp files you often get headers
like:

- In toplevel form:
- In end of data:

When these errors show up in the output of a build-script initiated
through M-x compile and show up in a compilation-mode buffer, these
lines gets treated as guile-errors for files with the respective names
"toplevel form" and "end of data".

This breaks prev-error and next-error based navigation.

This patch fixes this by doing the following modifications:

- Make guile-file only trigger on Scheme-files.
- Reduce severity from error to warning.
---
 lisp/progmodes/compile.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f9c097e..27a3833 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -477,7 +477,9 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
      ;;
      "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
      1 2 3)
-    (guile-file "^In \\(.+\\):\n" 1)
+
+    ;; file-entries does not have to be errors, treat as info.
+    (guile-file "^In \\(.+\\.scm\\):\n" 1 nil nil 0)
     (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2)
     )
   "Alist of values for `compilation-error-regexp-alist'.")
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-20  7:44     ` Jostein Kjønigsen
@ 2015-09-20  7:59       ` Andreas Schwab
  2015-09-20  8:08         ` Jostein Kjønigsen
  2015-09-20 15:20       ` Stefan Monnier
  1 sibling, 1 reply; 10+ messages in thread
From: Andreas Schwab @ 2015-09-20  7:59 UTC (permalink / raw)
  To: Jostein Kjønigsen; +Cc: Jan Nieuwenhuizen, jostein, 21496

Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:

> diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
> index f9c097e..27a3833 100644
> --- a/lisp/progmodes/compile.el
> +++ b/lisp/progmodes/compile.el
> @@ -477,7 +477,9 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
>       ;;
>       "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
>       1 2 3)
> -    (guile-file "^In \\(.+\\):\n" 1)
> +
> +    ;; file-entries does not have to be errors, treat as info.
> +    (guile-file "^In \\(.+\\.scm\\):\n" 1 nil nil 0)

There is no requirement that names of scheme files end in `.scm'.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-20  7:59       ` Andreas Schwab
@ 2015-09-20  8:08         ` Jostein Kjønigsen
  2015-09-20  9:10           ` Jostein Kjønigsen
  0 siblings, 1 reply; 10+ messages in thread
From: Jostein Kjønigsen @ 2015-09-20  8:08 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Jan Nieuwenhuizen, jostein, 21496

Good feedack Andreas!

While there probably isn't any requirement for emacs-lisp to have the
extension "el", there's always some kind of conventions which goes
around.

I assume the same applies to Scheme. What extensions are
conventionally used for Scheme?

Checking wikipedia[1] I see the extensions "scm" and "ss" is used.
Another search yields[2] "s" and "scheme" too.

Can any Scheme-programmer elaborate on which extensions would be
useful to include in a patch like this?

I don't think there's any debate about the current regexp being too
wide, so it needs to be narrowed down somehow.

[1] https://en.wikipedia.org/wiki/Scheme_%28programming_language%29 
[2] https://duckduckgo.com/?q=scheme+lang+file-extension

--
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net


On Sun, Sep 20, 2015, at 09:59 AM, Andreas Schwab wrote:
> Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
> 
>> diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
>> index f9c097e..27a3833 100644
>> --- a/lisp/progmodes/compile.el
>> +++ b/lisp/progmodes/compile.el
>> @@ -477,7 +477,9 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
>>     ;;
>>     "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
>>     1 2 3)
>> -    (guile-file "^In \\(.+\\):\n" 1)
>> +
>> +    ;; file-entries does not have to be errors, treat as info.
>> +    (guile-file "^In \\(.+\\.scm\\):\n" 1 nil nil 0)
> 
> There is no requirement that names of scheme files end in `.scm'.
> 
> Andreas.
> 
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-20  8:08         ` Jostein Kjønigsen
@ 2015-09-20  9:10           ` Jostein Kjønigsen
  0 siblings, 0 replies; 10+ messages in thread
From: Jostein Kjønigsen @ 2015-09-20  9:10 UTC (permalink / raw)
  To: jostein, Andreas Schwab; +Cc: Jan Nieuwenhuizen, 21496

[-- Attachment #1: Type: text/plain, Size: 2244 bytes --]

Attached is a new patch which ensures guile-file only triggers when the
match has an actual extension.

That's honestly all that's needed to fix my issue and it should
(hopefully) be permissive enough to work with whatever extension
Schemers prefer.

Everyone happy now? :)

--
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net


On Sun, Sep 20, 2015, at 10:08 AM, Jostein Kjønigsen wrote:
> Good feedack Andreas!
> 
> While there probably isn't any requirement for emacs-lisp to have the
> extension "el", there's always some kind of conventions which goes
> around.
> 
> I assume the same applies to Scheme. What extensions are
> conventionally used for Scheme?
> 
> Checking wikipedia[1] I see the extensions "scm" and "ss" is used.
> Another search yields[2] "s" and "scheme" too.
> 
> Can any Scheme-programmer elaborate on which extensions would be
> useful to include in a patch like this?
> 
> I don't think there's any debate about the current regexp being too
> wide, so it needs to be narrowed down somehow.
> 
> [1] https://en.wikipedia.org/wiki/Scheme_%28programming_language%29
> [2] https://duckduckgo.com/?q=scheme+lang+file-extension
> 
> --
> Jostein Kjønigsen
> jostein@kjonigsen.net / jostein@secure.kjonigsen.net
> 
> 
> On Sun, Sep 20, 2015, at 09:59 AM, Andreas Schwab wrote:
>> Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
>> 
>>> diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
>>> index f9c097e..27a3833 100644
>>> --- a/lisp/progmodes/compile.el
>>> +++ b/lisp/progmodes/compile.el
>>> @@ -477,7 +477,9 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
>>>     ;;
>>>     "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
>>>     1 2 3)
>>> -    (guile-file "^In \\(.+\\):\n" 1)
>>> +
>>> +    ;; file-entries does not have to be errors, treat as info.
>>> +    (guile-file "^In \\(.+\\.scm\\):\n" 1 nil nil 0)
>> 
>> There is no requirement that names of scheme files end in `.scm'.
>> 
>> Andreas.
>> 
>> --
>> Andreas Schwab, schwab@linux-m68k.org
>> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
>> "And now for something completely different."

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Emacs-compilation-mode-fixes.patch --]
[-- Type: text/x-patch; name="Emacs-compilation-mode-fixes.patch", Size: 1738 bytes --]

From fa1fc9514c95f1c4a704fe2c330471cebcc1522c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jostein=20Kj=C3=B8nigsen?= <jostein@kjonigsen.net>
Date: Sun, 20 Sep 2015 09:39:50 +0200
Subject: [PATCH] Emacs: compilation-mode fixes.

It's common for Emacs-lisp module-developers to run Emacs
byte-compilation in separate build-scripts.

When invoking byte-compile on Emacs-lisp files you often get headers
like:

- In toplevel form:
- In end of data:

When these errors show up in the output of a build-script initiated
through M-x compile and show up in a compilation-mode buffer, these
lines gets treated as guile-errors for files with the respective names
"toplevel form" and "end of data".

This breaks prev-error and next-error based navigation.

This patch fixes this by doing the following modifications:

- Make guile-file only trigger when there's a file-extension.
- Reduce severity from error to warning.
---
 lisp/progmodes/compile.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f9c097e..cb62b7f 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -477,7 +477,11 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
      ;;
      "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
      1 2 3)
-    (guile-file "^In \\(.+\\):\n" 1)
+
+    ;; file-entries does not have to be errors, treat as info.
+    ;; require there to -be- an extension, to not accidentally
+    ;; catch emacs-lisp byte-compilation output.
+    (guile-file "^In \\(.+\\..+\\):\n" 1 nil nil 0)
     (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2)
     )
   "Alist of values for `compilation-error-regexp-alist'.")
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-20  7:44     ` Jostein Kjønigsen
  2015-09-20  7:59       ` Andreas Schwab
@ 2015-09-20 15:20       ` Stefan Monnier
  2015-09-20 18:30         ` Jostein Kjønigsen
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2015-09-20 15:20 UTC (permalink / raw)
  To: Jostein Kjønigsen; +Cc: Jan Nieuwenhuizen, jostein, 21496

> - Reduce severity from error to warning.

There are 3 levels: error, warning, and info.  It's currently set as
"error" and it should be "info".

> +    ;; file-entries does not have to be errors, treat as info.
> +    (guile-file "^In \\(.+\\..+\\):\n" 1 nil nil 0)

Please move the discussion about the ambiguity problem from the commit
message to a comment here, so that it's visible even if you don't pay
attention to the VCS's metadata.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-20 15:20       ` Stefan Monnier
@ 2015-09-20 18:30         ` Jostein Kjønigsen
  2015-09-20 19:49           ` Stefan Monnier
  0 siblings, 1 reply; 10+ messages in thread
From: Jostein Kjønigsen @ 2015-09-20 18:30 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Jan Nieuwenhuizen, jostein, 21496

[-- Attachment #1: Type: text/plain, Size: 984 bytes --]

See updated patch. It should address all concerns raised so far.

To my knowledge I have not filled in any FSF copyright assignment
papers yet, so I assume that will be next on my list of tasks to
complete. I proceed with that independently of this bug.

Stefan: Do you need to be kept on CC for that process, or is
everything else OK?

--
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net


On Sun, Sep 20, 2015, at 05:20 PM, Stefan Monnier wrote:
>> - Reduce severity from error to warning.
> 
> There are 3 levels: error, warning, and info.  It's currently set as
> "error" and it should be "info".
> 
>> +    ;; file-entries does not have to be errors, treat as info.
>> +    (guile-file "^In \\(.+\\..+\\):\n" 1 nil nil 0)
> 
> Please move the discussion about the ambiguity problem from the commit
> message to a comment here, so that it's visible even if you don't pay
> attention to the VCS's metadata.
> 
> 
>         Stefan

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Emacs-compilation-mode-fixes.patch --]
[-- Type: text/x-patch; name="Emacs-compilation-mode-fixes.patch", Size: 2415 bytes --]

From 485776784a12d094f4148ae79cc42140c66a619f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jostein=20Kj=C3=B8nigsen?= <jostein@kjonigsen.net>
Date: Sun, 20 Sep 2015 09:39:50 +0200
Subject: [PATCH] Emacs: compilation-mode fixes.

It's common for Emacs-lisp module-developers to run Emacs
byte-compilation in separate build-scripts.

When invoking byte-compile on Emacs-lisp files you often get headers
like:

- In toplevel form:
- In end of data:

When these errors show up in the output of a build-script initiated
through M-x compile and show up in a compilation-mode buffer, these
lines gets treated as guile-errors for files with the respective names
"toplevel form" and "end of data".

This breaks prev-error and next-error based navigation.

This patch fixes this by doing the following modifications:

- Make guile-file only trigger on files with an extension.
- Reduce severity from error to info.
---
 lisp/progmodes/compile.el | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f9c097e..9cb367a 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -477,7 +477,29 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
      ;;
      "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
      1 2 3)
-    (guile-file "^In \\(.+\\):\n" 1)
+
+    ;; Guile compilation yields file-headers in the following format:
+    ;;
+    ;;   In sourcefile.scm:
+    ;;
+    ;; We need to catch those, but we also need to be aware that Emacs
+    ;; byte-compilation yields compiler headers in similar form of
+    ;; those:
+    ;;
+    ;;   In toplevel form:
+    ;;   In end of data:
+    ;;
+    ;; We want to catch the Guile file-headers but not the Emacs
+    ;; byte-compilation headers, because that will cause next-error
+    ;; and prev-error to break, because the files "toplevel form" and
+    ;; "end of data" does not exist.
+    ;;
+    ;; To differentiate between these two cases, we require that the
+    ;; file-match must always contain an extension.
+    ;;
+    ;; We should also only treat this as "info", not "error", because
+    ;; we do not know what lines will follow.
+    (guile-file "^In \\(.+\\..+\\):\n" 1 nil nil 0)
     (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2)
     )
   "Alist of values for `compilation-error-regexp-alist'.")
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#21496: 25.0.50; guile-file compilation-error regexp is too wide
  2015-09-20 18:30         ` Jostein Kjønigsen
@ 2015-09-20 19:49           ` Stefan Monnier
  0 siblings, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2015-09-20 19:49 UTC (permalink / raw)
  To: Jostein Kjønigsen; +Cc: 21496-done, jostein, Jan Nieuwenhuizen

> See updated patch. It should address all concerns raised so far.

Indeed, thank you.  Installed.
We should file a bug report with the Guile guys: they should better
follow the GNU Coding Standard in their error messages (i.e. use
<file>:<line> rather than having the file name on some earlier line).

> To my knowledge I have not filled in any FSF copyright assignment
> papers yet, so I assume that will be next on my list of tasks to
> complete. I proceed with that independently of this bug.

Great.  For now I installed it as a "tiny change", but indeed if you
want to provide further changes, it's better to sign the paperwork.

> Stefan: Do you need to be kept on CC for that process, or is
> everything else OK?

You can put me on the Cc, but as long as things are working normally,
it's not needed.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-09-20 19:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-16  9:14 bug#21496: 25.0.50; guile-file compilation-error regexp is too wide Jostein Kjønigsen
2015-09-16 21:52 ` Stefan Monnier
2015-09-16 22:00   ` Jostein Kjønigsen
2015-09-20  7:44     ` Jostein Kjønigsen
2015-09-20  7:59       ` Andreas Schwab
2015-09-20  8:08         ` Jostein Kjønigsen
2015-09-20  9:10           ` Jostein Kjønigsen
2015-09-20 15:20       ` Stefan Monnier
2015-09-20 18:30         ` Jostein Kjønigsen
2015-09-20 19:49           ` Stefan Monnier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.