changeset 34034:243d06aee783

(tpu-version): New version. (tpu-search-overlay, tpu-replace-overlay): New initial range. (tpu-original-mode-line): Variable deleted. (tpu-mark-flag): New initial value. (tpu-set-mode-line): Don't redefine mode-line-format. Add tpu-mark-flag to minor-mode-alist. (tpu-update-mode-line): New mark flag logic. (tpu-get): Use find-file-wildcards. (tpu-search-highlight): Move overlay less, reset overlay properly. (tpu-unselect): Deactivate mark. (tpu-lm-replace): Reset overlay properly. (tpu-forward-line): Use forward-visible-line. (tpu-edt-on): Set transient mark mode. ispell autoloads deleted.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 30 Nov 2000 12:16:53 +0000
parents a1f20ca97c0b
children e557e0e621a5
files lisp/emulation/tpu-edt.el
diffstat 1 files changed, 29 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emulation/tpu-edt.el	Thu Nov 30 12:16:38 2000 +0000
+++ b/lisp/emulation/tpu-edt.el	Thu Nov 30 12:16:53 2000 +0000
@@ -1,10 +1,10 @@
 ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT
 
-;; Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 2000 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
-;; Version: 4.4
+;; Version: 4.5
 ;; Keywords: emulations
 
 ;; This file is part of GNU Emacs.
@@ -77,10 +77,11 @@
 ;;    In some cases, Emacs doesn't support text highlighting, so selected
 ;;    regions are not shown in inverse video.  Emacs uses the concept of "the
 ;;    mark".  The mark is set at one end of a selected region; the cursor is
-;;    at the other.  The letter "M" appears in the mode line when the mark is
-;;    set.  The native emacs command ^X^X (Control-X twice) exchanges the
-;;    cursor with the mark; this provides a handy way to find the location of
-;;    the mark.
+;;    at the other.  In cases where the selected region cannot be shown in
+;;    inverse video an at sign (@) appears in the mode line when mark is set.
+;;    The native emacs command ^X^X (Control-X twice) exchanges the cursor
+;;    with the mark; this provides a handy way to find the location of the
+;;    mark.
 
 ;;    In TPU the cursor can be either bound or free.  Bound means the cursor
 ;;    cannot wander outside the text of the file being edited.  Free means
@@ -275,7 +276,7 @@
 ;;;
 ;;;  Version Information
 ;;;
-(defconst tpu-version "4.4" "TPU-edt version number.")
+(defconst tpu-version "4.5" "TPU-edt version number.")
 
 
 ;;;
@@ -369,11 +370,11 @@
   "If non-nil, TPU-edt is searching in the forward direction.")
 (defvar tpu-search-last-string ""
   "Last text searched for by the TPU-edt search commands.")
-(defvar tpu-search-overlay (make-overlay 0 0)
+(defvar tpu-search-overlay (make-overlay 1 1)
   "Search highlight overlay.")
 (overlay-put tpu-search-overlay 'face 'bold)
 
-(defvar tpu-replace-overlay (make-overlay 0 0)
+(defvar tpu-replace-overlay (make-overlay 1 1)
   "Replace highlight overlay.")
 (overlay-put tpu-replace-overlay 'face 'highlight)
 
@@ -426,40 +427,21 @@
 ;;;
 ;;;  Mode Line - Modify the mode line to show the following
 ;;;
-;;;     o  If the mark is set.
+;;;     o  Mark state.
 ;;;     o  Direction of motion.
 ;;;     o  Active rectangle mode.
+;;;     o  Active auto indent mode.
 ;;;
-(defvar tpu-original-mode-line mode-line-format)
 (defvar tpu-original-mm-alist minor-mode-alist)
 
-(defvar tpu-mark-flag " ")
+(defvar tpu-mark-flag "")
 (make-variable-buffer-local 'tpu-mark-flag)
 
 (defun tpu-set-mode-line (for-tpu)
-  "Set the mode for TPU-edt, or reset it to default Emacs."
+  "Set ``minor-mode-alist'' for TPU-edt, or reset it to default Emacs."
   (cond ((not for-tpu)
-	 (setq mode-line-format tpu-original-mode-line)
-	 (setq minor-mode-alist tpu-original-mm-alist))
+         (setq minor-mode-alist tpu-original-mm-alist))
 	(t
-	 (setq-default mode-line-format
-		       (list (purecopy "-")
-			     'mode-line-mule-info
-			     'mode-line-modified
-			     'mode-line-frame-identification
-			     'mode-line-buffer-identification
-			     (purecopy "  ")
-			     'global-mode-string
-			     (purecopy "  ")
-			     'tpu-mark-flag
-			     (purecopy " %[(")
-			     'mode-name 'mode-line-process 'minor-mode-alist
-			     (purecopy "%n")
-			     (purecopy ")%]--")
-			     (purecopy '(line-number-mode "L%l--"))
-			     (purecopy '(column-number-mode "C%c--"))
-			     (purecopy '(-3 . "%p"))
-			     (purecopy "-%-")))
 	 (or (assq 'tpu-newline-and-indent-p minor-mode-alist)
 	     (setq minor-mode-alist
 		   (cons '(tpu-newline-and-indent-p
@@ -472,11 +454,15 @@
 	 (or (assq 'tpu-direction-string minor-mode-alist)
 	     (setq minor-mode-alist
 		   (cons '(tpu-direction-string tpu-direction-string)
+			 minor-mode-alist)))
+	 (or (assq 'tpu-mark-flag minor-mode-alist)
+	     (setq minor-mode-alist
+		   (cons '(tpu-mark-flag tpu-mark-flag)
 			 minor-mode-alist))))))
 
 (defun tpu-update-mode-line nil
   "Make sure mode-line in the current buffer reflects all changes."
-  (setq tpu-mark-flag (if (tpu-mark) "M" " "))
+  (setq tpu-mark-flag (if transient-mark-mode "" (if (tpu-mark) " @" "  ")))
   (cond (tpu-emacs19-p (force-mode-line-update))
 	(t (set-buffer-modified-p (buffer-modified-p)) (sit-for 0))))
 
@@ -757,7 +743,7 @@
 (defun tpu-get (file)
   "TPU-like get file"
   (interactive "FFile to get: ")
-  (find-file file))
+  (find-file file find-file-wildcards))
 
 (defun tpu-what-line nil
   "Tells what line the point is on,
@@ -1130,7 +1116,8 @@
   (if (tpu-check-match)
       (move-overlay tpu-search-overlay
                     (tpu-match-beginning) (tpu-match-end) (current-buffer))
-    (move-overlay tpu-search-overlay 0 0 (current-buffer))))
+    (unless (= (overlay-start tpu-search-overlay) (overlay-end tpu-search-overlay))
+      (move-overlay tpu-search-overlay 1 1 (current-buffer)))))
 
 (defun tpu-search nil
   "Search for a string or regular expression.
@@ -1292,6 +1279,7 @@
 (defun tpu-unselect (&optional quiet)
   "Removes the mark to unselect the current region."
   (interactive "P")
+  (deactivate-mark)
   (setq mark-ring nil)
   (tpu-set-mark nil)
   (tpu-update-mode-line)
@@ -1619,7 +1607,7 @@
 		   (tpu-unset-match)
 		   (setq doit nil)))))))
 
-    (move-overlay tpu-replace-overlay 0 0 (current-buffer))
+    (move-overlay tpu-replace-overlay 1 1 (current-buffer))
     (message "Replaced %s occurrence%s." strings (if (not (= 1 strings)) "s" ""))))
 
 (defun tpu-emacs-replace (&optional dont-ask)
@@ -1805,7 +1793,7 @@
 Accepts a prefix argument for the number of lines to move."
   (interactive "p")
   (backward-char 1)
-  (forward-line (- 1 num)))
+  (forward-visible-line (- 1 num)))
 
 (defun tpu-end-of-line (num)
   "Move to the next end of line in the current direction.
@@ -2490,15 +2478,9 @@
     ;; we use picture-mode functions
     (require 'picture)
     (tpu-set-control-keys)
-    (cond (tpu-emacs19-p
-	   (and window-system (tpu-load-xkeys nil))
-	   (tpu-arrow-history))
-	  (t
-	   ;; define ispell functions
-	   (autoload 'ispell-word "ispell" "Check spelling of word at or before point" t)
-	   (autoload 'ispell-complete-word "ispell" "Complete word at or before point" t)
-	   (autoload 'ispell-buffer "ispell" "Check spelling of entire buffer" t)
-	   (autoload 'ispell-region "ispell" "Check spelling of region" t)))
+    (and window-system (tpu-load-xkeys nil))
+    (tpu-arrow-history)
+    (transient-mark-mode t)
     (add-hook 'post-command-hook 'tpu-search-highlight)
     (tpu-set-mode-line t)
     (tpu-advance-direction)