changeset 52930:069cb76731fd

(octave-comment-start): Simplify. (octave-mode-syntax-table): Add % as a comment starter. (octave-point): Remove. (octave-in-comment-p, octave-in-string-p) (octave-not-in-string-or-comment-p, calculate-octave-indent) (octave-blink-matching-block-open, octave-auto-fill): Use line-(beginning|end)-position instead.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 24 Oct 2003 18:58:28 +0000
parents 0def32311484
children 3f44b2120fba
files lisp/progmodes/octave-mod.el
diffstat 1 files changed, 12 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/octave-mod.el	Fri Oct 24 12:19:56 2003 +0000
+++ b/lisp/progmodes/octave-mod.el	Fri Oct 24 18:58:28 2003 +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.