]> git.eshelyaron.com Git - emacs.git/commitdiff
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
authorRichard M. Stallman <rms@gnu.org>
Tue, 10 May 2005 09:12:40 +0000 (09:12 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 10 May 2005 09:12:40 +0000 (09:12 +0000)
(ada-mode): Add ada-adjust-case-skeleton to skeleton-end-hook.

lisp/progmodes/ada-mode.el

index 818e58dd891abfc5e3d08def556d613b58dec029..d31978b5ec9693c1b06cc57bb402ccddc2926608 100644 (file)
@@ -1364,6 +1364,11 @@ If you use ada-xref.el:
         (add-hook 'local-write-file-hooks
                   (lambda () (untabify (point-min) (point-max))))))
 
+  (set (make-local-variable 'skeleton-further-elements)
+       '((< '(backward-delete-char-untabify
+             (min ada-indent (current-column))))))
+  (add-hook 'skeleton-end-hook  'ada-adjust-case-skeleton nil t)
+
   (run-hooks 'ada-mode-hook)
 
   ;;  To be run after the hook, in case the user modified
@@ -1393,6 +1398,13 @@ If you use ada-xref.el:
   (if ada-auto-case
       (ada-activate-keys-for-case)))
 
+(defun ada-adjust-case-skeleton ()
+  "Adjust the case of the text inserted by a skeleton."
+  (save-excursion
+    (let ((aa-end (point)))
+      (ada-adjust-case-region
+       (progn (goto-char (symbol-value 'beg)) (forward-word -1) (point))
+       (goto-char aa-end)))))
 
 ;;  transient-mark-mode and mark-active are not defined in XEmacs
 (defun ada-region-selected ()