Subject: Re: bug#10256: 23.1; Speedbar does not display GNAT Ada files by default

From: Juanma Barranquero <[email-masked]>
Date: Sat, 10 Dec 2011 15:17:55 +0100

On Sat, Dec 10, 2011 at 08:55, Glenn Morris <[email-masked]> wrote:

> I think in future this variable should derive from auto-mode-alist in
> some way. Eg (car (rassoc 'ada-mode auto-mode-alist)) is equivalent to
> the current ada setting. Or there should be a subroutine of
> set-auto-mode that returns the mode for a given filename. Otherwise
> speedbar-supported-extension-expressions is likely to be out-of-date (eg
> the Fortran entries are). speedbar should define the _modes_ it can
> support, rather than file extensions.

Good idea.

> There are other ada entries in auto-mode-alist, are these relevant?
>
>  ("\\.ad[bs].dg\\'" . ada-mode)

These are "expanded sources", generated by GNAT:

`-gnatD[=nn]'
     When used in conjunction with `-gnatG', this switch causes the
     expanded source, as described above for `-gnatG' to be written to
     files with names `xxx.dg', where `xxx' is the normal file name,
     instead of to the standard output file. For example, if the source
     file name is `hello.adb', then a file `hello.adb.dg' will be
     written.  The debugging information generated by the `gcc' `-g'
     switch will refer to the generated `xxx.dg' file. This allows you
     to do source level debugging using the generated code which is
     sometimes useful for complex code, for example to find out exactly
     which part of a complex construction raised an exception. This
     switch also suppress generation of cross-reference information (see
     `-gnatx') since otherwise the cross-reference information would
     refer to the `.dg' file, which would cause confusion since this is
     not the original source file.

    Juanma