Mercurial > emacs
changeset 14776:d392e3ffa1bb
(pascal-declaration-end): Now locates the end of a parameterlist correctly.
(electric-pascal-tab): Never indented a line when
pascal-tab-always-indent was set to nil.
(pascal-indent-case): Now locates the end of a case-statement correctly.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 07 Mar 1996 05:53:10 +0000 |
parents | f4cc1bc9ec2c |
children | 658f41757279 |
files | lisp/progmodes/pascal.el |
diffstat | 1 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/pascal.el Wed Mar 06 19:20:09 1996 +0000 +++ b/lisp/progmodes/pascal.el Thu Mar 07 05:53:10 1996 +0000 @@ -244,7 +244,8 @@ "[:=]\\|\\(\\<record\\>\\)\\|\\(\\<end\\>\\)" (save-excursion (end-of-line 2) (point)) t)) (cond ((match-beginning 1) (setq nest (1+ nest))) - ((match-beginning 2) (setq nest (1- nest))))))) + ((match-beginning 2) (setq nest (1- nest))) + ((looking-at "[^(\n]+)") (setq nest 0)))))) (defun pascal-declaration-beg () @@ -427,7 +428,11 @@ (save-excursion (beginning-of-line) (pascal-indent-line)) - (insert "\t")) + (if (save-excursion + (skip-chars-backward " \t") + (bolp)) + (pascal-indent-line) + (insert "\t"))) (pascal-indent-command))) @@ -903,10 +908,12 @@ "^[ \t]*[^ \t,:]+[ \t]*\\(,[ \t]*[^ \t,:]+[ \t]*\\)*:" (marker-position end) 'move) (forward-char -1)) - (delete-horizontal-space) - (if (> (current-column) ind) - (setq ind (current-column))) - (pascal-end-of-statement)) + (if (< (point) (marker-position end)) + (progn + (delete-horizontal-space) + (if (> (current-column) ind) + (setq ind (current-column))) + (pascal-end-of-statement)))) (goto-char beg) (setq oldpos (marker-position end)) ;; Indent all case statements