unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
To: 33618@debbugs.gnu.org
Subject: bug#33618: 27.0.50; ada-mode breaks M-x grep
Date: Fri, 04 Jan 2019 18:27:16 +0100	[thread overview]
Message-ID: <a2fe461c1d926efcbc1016c590e9ab12@ludovic-brenta.org> (raw)
In-Reply-To: <jwvbm60n9cg.fsf@iro.umontreal.ca>

Hello,

I'd like to chime in as one of a team of 25 people using emacs ada-mode
on a large software project for the past 20+ years.  We usually use one
"project" per emacs process only, so we're not concerned about 
supporting
multiple "projects" in an emacs process.  However we are very concerned
about compilation buffers containing absolute paths.  Our source files 
are
spread in about 50 directories, the full paths of which are routinely
longer than 120 characters.  Inside each directory are hundreds of 
source
files, the names of which can be another 40 characters each.  We use 
etags
and gnatfind to navigate quickly and efficiently between these files,
without ever needing to remember, type or see the full directory name.
This is especially true in a compilation buffer; RET simply jumps to the
correct file even if only its name is displayed.

So, we've also been hit by this bug when running grep but quickly worked
around it in our ~/.emacs like so:

(add-hook 'grep-mode-hook
           (lambda ()
             "In grep buffers, do not use the compilation-search-path to 
look for source files.  Make a local binding
to the variable that overrides the one from any Ada mode or other 
language project files."
             (set (make-local-variable 'compilation-search-path) 
'(nil))))

and we left it at that until now.

I do agree that the idea of a single, global, defcustom
compilation-search-path seems to make too many assumptions about the
various tools that can run in a compilation buffer, their current 
working
directory, which source file (if any) they were called from, etc.. so
maybe this idea should be revisited.  I do like the ideas so far:

- make a new, buffer-local, non-defcustom variable;
- copy its value into a buffer-local variable when creating a new
   compilation buffer;
- reuse the buffer-local variable of a compilation buffer when reusing 
the
   buffer (i.e. recompile).

-- 
Ludovic Brenta.





  parent reply	other threads:[~2019-01-04 17:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 23:46 bug#33618: 27.0.50; ada-mode breaks M-x grep Stefan Monnier
2018-12-05  0:02 ` Stefan Monnier
2018-12-05  6:41   ` Eli Zaretskii
2018-12-05 14:26     ` Stefan Monnier
2018-12-05 14:37       ` Eli Zaretskii
2018-12-05 14:41         ` Eli Zaretskii
2018-12-05 16:10         ` Stefan Monnier
2018-12-20 20:17 ` bug#33618: emacs ada-mode bug 33618 Stephen Leake
2018-12-21  0:08   ` Dmitry Gutov
2018-12-21 23:19 ` bug#33618: update Stephen Leake
2019-01-04 17:27 ` Ludovic Brenta [this message]
2019-04-20 16:47 ` bug#33618: better fix Stephen Leake
2019-04-20 17:24   ` Eli Zaretskii
2019-04-25 22:52 ` bug#33618: fixed in commit 1486eadf7c9469f873fcd04beafd03f21564d580 Stephen Leake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a2fe461c1d926efcbc1016c590e9ab12@ludovic-brenta.org \
    --to=ludovic@ludovic-brenta.org \
    --cc=33618@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).