Mercurial > emacs
diff lisp/progmodes/octave-mod.el @ 89909:68c22ea6027c
Sync to HEAD
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 16 Apr 2004 12:51:06 +0000 |
parents | 375f2633d815 |
children | 01137c1fdbe9 |
line wrap: on
line diff
--- a/lisp/progmodes/octave-mod.el Thu Apr 15 01:08:34 2004 +0000 +++ b/lisp/progmodes/octave-mod.el Fri Apr 16 12:51:06 2004 +0000 @@ -1,6 +1,6 @@ ;;; octave-mod.el --- editing Octave source files under Emacs -;; Copyright (C) 1997 Free Software Foundation, Inc. +;; Copyright (C) 1997, 2003 Free Software Foundation, Inc. ;; Author: Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at> ;; Author: John Eaton <jwe@bevo.che.wisc.edu> @@ -94,7 +94,7 @@ (defvar octave-comment-char ?# "Character to start an Octave comment.") (defvar octave-comment-start - (concat (make-string 1 octave-comment-char) " ") + (string octave-comment-char ?\ ) "String to insert to start a new Octave in-line comment.") (defvar octave-comment-start-skip "\\s<+\\s-*" "Regexp to match the start of an Octave comment up to its body.") @@ -287,10 +287,7 @@ ["Lookup Octave Index" octave-help t]) "Menu for Octave mode.") -(defvar octave-mode-syntax-table nil - "Syntax table in use in octave-mode buffers.") -(if octave-mode-syntax-table - () +(defvar octave-mode-syntax-table (let ((table (make-syntax-table))) (modify-syntax-entry ?\r " " table) (modify-syntax-entry ?+ "." table) @@ -309,10 +306,11 @@ (modify-syntax-entry ?\" "\"" table) (modify-syntax-entry ?. "w" table) (modify-syntax-entry ?_ "w" table) - (modify-syntax-entry ?\% "." table) + (modify-syntax-entry ?\% "<" table) (modify-syntax-entry ?\# "<" table) (modify-syntax-entry ?\n ">" table) - (setq octave-mode-syntax-table table))) + table) + "Syntax table in use in `octave-mode' buffers.") (defcustom octave-auto-indent nil "*Non-nil means indent line after a semicolon or space in Octave mode." @@ -565,33 +563,21 @@ (interactive) (describe-function major-mode)) -(defun octave-point (position) - "Returns the value of point at certain positions." - (save-excursion - (cond - ((eq position 'bol) (beginning-of-line)) - ((eq position 'eol) (end-of-line)) - ((eq position 'boi) (back-to-indentation)) - ((eq position 'bonl) (forward-line 1)) - ((eq position 'bopl) (forward-line -1)) - (t (error "unknown buffer position requested: %s" position))) - (point))) - (defsubst octave-in-comment-p () "Returns t if point is inside an Octave comment, nil otherwise." (interactive) (save-excursion - (nth 4 (parse-partial-sexp (octave-point 'bol) (point))))) + (nth 4 (parse-partial-sexp (line-beginning-position) (point))))) (defsubst octave-in-string-p () "Returns t if point is inside an Octave string, nil otherwise." (interactive) (save-excursion - (nth 3 (parse-partial-sexp (octave-point 'bol) (point))))) + (nth 3 (parse-partial-sexp (line-beginning-position) (point))))) (defsubst octave-not-in-string-or-comment-p () "Returns t iff point is not inside an Octave string or comment." - (let ((pps (parse-partial-sexp (octave-point 'bol) (point)))) + (let ((pps (parse-partial-sexp (line-beginning-position) (point)))) (not (or (nth 3 pps) (nth 4 pps))))) (defun octave-in-block-p () @@ -682,7 +668,7 @@ (back-to-indentation) (setq icol (current-column)) (let ((bot (point)) - (eol (octave-point 'eol))) + (eol (line-end-position))) (while (< (point) eol) (if (octave-not-in-string-or-comment-p) (cond @@ -1017,7 +1003,7 @@ (buffer-substring-no-properties (match-beginning 0) pos) pos (+ pos 1) - eol (octave-point 'eol) + eol (line-end-position) bb-arg (save-excursion (save-restriction @@ -1123,7 +1109,7 @@ (if (save-excursion (skip-syntax-backward " <") (bolp)) - (re-search-forward "[ \t]" (octave-point 'eol) + (re-search-forward "[ \t]" (line-end-position) 'move)) ;; If we're not in a comment line and just ahead the ;; continuation string, don't break here. @@ -1535,4 +1521,5 @@ (provide 'octave-mod) +;;; arch-tag: 05f1ce09-be87-4c00-803e-4919ffa26c23 ;;; octave-mod.el ends here