X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d607b96bc2824116a8fe0e5840ce49da7ce4514f..58635e4de85621d4f16befe15b1df44a637bd078:/lisp/progmodes/ada-prj.el diff --git a/lisp/progmodes/ada-prj.el b/lisp/progmodes/ada-prj.el index c726c06d1d..dd05ab8f31 100644 --- a/lisp/progmodes/ada-prj.el +++ b/lisp/progmodes/ada-prj.el @@ -1,7 +1,6 @@ ;;; ada-prj.el --- GUI editing of project files for the ada-mode -;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 1998-2011 Free Software Foundation, Inc. ;; Author: Emmanuel Briot ;; Maintainer: Stephen Leake @@ -228,7 +227,7 @@ If FILE-NAME is nil, ask the user for the name." ;; the user to select a directory (let ((use-dialog-box nil)) (unless file-name - (set 'file-name (read-file-name "Root directory: " nil nil t)))) + (set 'file-name (read-directory-name "Root directory: " nil nil t)))) (set 'ada-prj-current-values (plist-put ada-prj-current-values @@ -514,11 +513,18 @@ If FILENAME is given, edit that file." (set (make-local-variable 'ada-prj-ada-buffer) ada-buffer) - (use-local-map (copy-keymap custom-mode-map)) - (local-set-key "\C-x\C-s" 'ada-prj-save) - - (make-local-variable 'widget-keymap) - (define-key widget-keymap "\C-x\C-s" 'ada-prj-save) + (use-local-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map custom-mode-map) + (define-key map "\C-x\C-s" 'ada-prj-save) + map)) + + ;; FIXME: Not sure if this works!! + (set (make-local-variable 'widget-keymap) + (let ((map (make-sparse-keymap))) + (set-keymap-parent map widget-keymap) + (define-key map "\C-x\C-s" 'ada-prj-save) + map)) (set (make-local-variable 'ada-old-cross-prefix) (ada-xref-get-project-field 'cross-prefix))