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

From: Manuel Gómez <[email-masked]>
Date: Fri, 09 Dec 2011 19:18:17 +0100

speedbar.el is currently using ".ada" as a known extension. This is the 
extension used by some Ada compilers, but not GNAT (GCC Ada frontend), 
that uses ".ads" and ".adb". Given that Emacs comes with ada-mode, which 
is targeted by default to GNAT, it would make sense to change that to 
".ad[asb]", otherwise speedbar does not show the GNAT Ada files until 
customized.

This is a patch for this simple change:

--- speedbar.el~	2011-12-08 12:50:10.000000000 +0100
+++ speedbar.el	2011-12-08 12:49:21.000000000 +0100
@@ -692,7 +692,7 @@
    (append '(".[ch]\\(\\+\\+\\|pp\\|c\\|h\\|xx\\)?" 
".tex\\(i\\(nfo\\)?\\)?"
  	    ".el" ".emacs" ".l" ".lsp" ".p" ".java" ".f\\(90\\|77\\|or\\)?")
  	  (if speedbar-use-imenu-flag
-	      '(".ada" ".p[lm]" ".tcl" ".m" ".scm" ".pm" ".py" ".g"
+	      '(".ad[asb]" ".p[lm]" ".tcl" ".m" ".scm" ".pm" ".py" ".g"
  		;; html is not supported by default, but an imenu tags package
  		;; is available.  Also, html files are nice to be able to see.
  		".s?html"

In GNU Emacs 23.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1)
  of 2011-03-04 on allspice, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
configured using `configure  '--build=x86_64-linux-gnu' 
'--host=x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' 
'--libexecdir=/usr/lib' '--localstatedir=/var/lib' 
'--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' 
'--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' 
'--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 
'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 
'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: nil
   value of $LC_CTYPE: nil
   value of $LC_MESSAGES: nil
   value of $LC_MONETARY: nil
   value of $LC_NUMERIC: nil
   value of $LC_TIME: nil
   value of $LANG: es_ES.utf8
   value of $XMODIFIERS: nil
   locale-coding-system: utf-8-unix
   default-enable-multibyte-characters: t

Major mode: Dired by name

Minor modes in effect:
   tooltip-mode: t
   tool-bar-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
   global-auto-composition-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<mouse-2> <down-mouse-1> <mouse-2> <down-mouse-1> <mouse-2>
<down-mouse-1> <mouse-2> <help-echo> <help-echo> <help-echo>
<switch-frame> <down-mouse-1> <mouse-1> <help-echo>
<help-echo> <help-echo> <help-echo> <down-mouse-1>
<mouse-1> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <switch-frame> <help-echo>
<help-echo> <down-mouse-1> <mouse-movement> <mouse-2>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<down-mouse-1> <mouse-2> <down-mouse-1> <mouse-2> <down-mouse-1>
<mouse-2> <down-mouse-1> <mouse-2> <down-mouse-1> <mouse-2>
<down-mouse-1> <mouse-2> <switch-frame> <down-mouse-1>
<mouse-movement> <mouse-1> <switch-frame> <down-mouse-3>
<switch-frame> <switch-frame> <down-mouse-4> <mouse-4>
<double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <help-echo> <help-echo> <switch-frame>
<down-mouse-1> <mouse-movement> <mouse-1> C-x C-f m
g r <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <return> C-s P
=fa <backspace> <backspace> <help-echo> <down-mouse-5>
<mouse-5> <help-echo> <double-down-mouse-5> <double-mouse-5>
<help-echo> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-5>
<mouse-5> <help-echo> <down-mouse-5> <mouse-5> <help-echo>
<double-down-mouse-5> <double-mouse-5> <help-echo>
<triple-down-mouse-5> <triple-mouse-5> <help-echo>
<triple-down-mouse-5> <triple-mouse-5> <help-echo>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <help-echo> <triple-down-mouse-5>
<triple-mouse-5> <help-echo> <down-mouse-4> <mouse-4>
<double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <down-mouse-4> <mouse-4> <double-down-mouse-4>
<double-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<down-mouse-5> <mouse-5> <help-echo> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<help-echo> <help-echo> <switch-frame> <switch-frame>
<help-echo> <help-echo> <down-mouse-4> <mouse-4> <double-down-mouse-4>
<double-mouse-4> <help-echo> <triple-down-mouse-4>
<triple-mouse-4> <help-echo> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <help-echo>
<triple-down-mouse-4> <triple-mouse-4> <down-mouse-4>
<mouse-4> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <menu-bar> <help-menu> <send-emacs-bug
-report>

Recent messages:
byte-code: End of buffer
Mark set
Okie dokie..
Refreshing speedbar...done
byte-code: Beginning of buffer [4 times]
byte-code: End of buffer [3 times]
byte-code: Beginning of buffer [3 times]
byte-code: End of buffer
byte-code: Beginning of buffer [6 times]
byte-code: End of buffer
byte-code: End of buffer