]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/ada-prj.el
Merge from emacs-23
[gnu-emacs] / lisp / progmodes / ada-prj.el
index 1bae7b4a15e9bee0210e5018034c09d4f40e6244..83c42071b52bd3278d4b937fd16b13945f8c17f5 100644 (file)
@@ -6,6 +6,7 @@
 ;; Author: Emmanuel Briot <briot@gnat.com>
 ;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
 ;; Keywords: languages, ada, project file
+;; Package: ada-mode
 
 ;; This file is part of GNU Emacs.
 
@@ -195,21 +196,17 @@ One item per line should be found in the file."
       (widen)
       (goto-char (point-min))
       (while (not (eobp))
-       (set 'line (buffer-substring-no-properties
-                   (point) (save-excursion (end-of-line) (point))))
+       (set 'line (buffer-substring-no-properties (point) (point-at-eol)))
        (add-to-list 'list line)
-       (forward-line 1)
-       )
+       (forward-line 1))
       (kill-buffer nil)
       (set-buffer buffer)
       (set 'ada-prj-current-values
           (plist-put ada-prj-current-values
                      symbol
                      (append (plist-get ada-prj-current-values symbol)
-                             (reverse list))))
-      )
-    (ada-prj-display-page 2)
-  ))
+                             (reverse list)))))
+    (ada-prj-display-page 2)))
 
 (defun ada-prj-subdirs-of (dir)
   "Return a list of all the subdirectories of DIR, recursively."
@@ -517,11 +514,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)
+      (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))
 
-      (make-local-variable 'widget-keymap)
-      (define-key widget-keymap "\C-x\C-s" 'ada-prj-save)
+      ;; 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))
@@ -567,8 +571,7 @@ Parameters WIDGET-MODIFIED, EVENT match :notify for the widget."
       ;;  variables
       (momentary-string-display
        (concat "*****Help*****\n" text "\n**************\n")
-       (save-excursion (forward-line) (beginning-of-line) (point)))
-      )))
+       (point-at-bol 2)))))
 
 (defun ada-prj-show-value (widget widget-modified event)
   "Show the current field value in WIDGET.
@@ -680,5 +683,4 @@ AFTER-TEXT is inserted just after the widget."
 
 (provide 'ada-prj)
 
-;; arch-tag: 65978c77-816e-49c6-896e-6905605d1b4c
 ;;; ada-prj.el ends here