Mercurial > emacs
changeset 15230:307b7c77a5e5
(pascal-end-of-statement, pascal-calculate-indent):
Set parse-sexp-ignore-comments to t before parsing.
(pascal-indent-case): Save position of cursor, and restores it
after reindenting the code.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 13 May 1996 16:25:13 +0000 |
parents | a270351f6e0c |
children | afc59ce2842a |
files | lisp/progmodes/pascal.el |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/pascal.el Mon May 13 15:24:25 1996 +0000 +++ b/lisp/progmodes/pascal.el Mon May 13 16:25:13 1996 +0000 @@ -612,7 +612,8 @@ (defun pascal-end-of-statement () "Move forward to end of current statement." (interactive) - (let ((nest 0) pos + (let ((parse-sexp-ignore-comments t) + (nest 0) pos (regexp (concat "\\(" pascal-beg-block-re "\\)\\|\\(" pascal-end-block-re "\\)"))) (if (not (looking-at "[ \t\n]")) (forward-sexp -1)) @@ -784,7 +785,8 @@ "Calculate the indent of the current Pascal line. Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)." (save-excursion - (let* ((oldpos (point)) + (let* ((parse-sexp-ignore-comments t) + (oldpos (point)) (state (save-excursion (parse-partial-sexp (point-min) (point)))) (nest 0) (par 0) (complete (looking-at "[ \t]*end\\>")) (elsed (looking-at "[ \t]*else\\>")) @@ -895,8 +897,8 @@ (defun pascal-indent-case () "Indent within case statements." - (skip-chars-forward ": \t") - (let ((end (prog2 + (let ((savepos (point-marker)) + (end (prog2 (end-of-line) (point-marker) (re-search-backward "\\<case\\>" nil t))) @@ -930,7 +932,7 @@ (insert " ")) (setq oldpos (point)) (pascal-end-of-statement)) - (goto-char oldpos))) + (goto-char savepos))) (defun pascal-indent-paramlist (&optional arg) "Indent current line in parameterlist.