(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "INTERLISP")
(FILECREATED "28-Oct-87 19:53:12" {ERINYES}<LISPUSERS>LYRIC>TEDITDORADOKEYS.\;2 22990  

      |changes| |to:|  (FNS \\TEDIT.FIND \\TEDIT.DK.ABORT \\TEDIT.DK.FIND \\TEDIT.DK.SUBSTITUTE 
                            \\TEDIT.DK.INSERT-PARENS \\TEDIT.DK.INSERT-NEUTRAL-DOUBLEQUOTES 
                            \\TEDIT.DK.INSERT-REAL-DOUBLEQUOTES)
                       (VARS TEDITDORADOKEYSCOMS)

      |previous| |date:| "28-Oct-87 10:35:15" {ERINYES}<LISPUSERS>LYRIC>TEDITDORADOKEYS.\;1)


; Copyright (c) 1987 by Xerox Corporation.  All rights reserved.

(PRETTYCOMPRINT TEDITDORADOKEYSCOMS)

(RPAQQ TEDITDORADOKEYSCOMS 
       ((FILES TEDITDECLS TEDITFNKEYS)
        (COMS 
          
          (* |;;| 
         "These functions were fixed after Lyric went out so they'll ignore the meta key being down.")

              (FNS \\TEDIT.BOLD.SEL.OFF \\TEDIT.BOLD.SEL.ON \\TEDIT.CENTER.SEL \\TEDIT.CENTER.SEL.REV 
                   \\TEDIT.DEFAULTS.CARET \\TEDIT.DEFAULTSSEL \\TEDIT.SETDEFAULT.FROM.SEL 
                   \\TEDIT.FIND \\TEDIT.ITALIC.SEL.OFF \\TEDIT.ITALIC.SEL.ON \\TEDIT.LARGERSEL 
                   \\TEDIT.LCASE.SEL \\TEDIT.SHOWCARETLOOKS \\TEDIT.SMALLERSEL \\TEDIT.SUBSCRIPTSEL 
                   \\TEDIT.SUPERSCRIPTSEL \\TEDIT.UCASE.SEL \\TEDIT.UNDERLINE.SEL.OFF 
                   \\TEDIT.UNDERLINE.SEL.ON \\TEDIT.STRIKEOUT.SEL.ON \\TEDIT.STRIKEOUT.SEL.OFF))
        (COMS 
          
          (* |;;| "Specialized functions for this module")

              (FNS \\TEDIT.DK.ABORT \\TEDIT.DK.FIND \\TEDIT.DK.SUBSTITUTE \\TEDIT.DK.INSERT-PARENS 
                   \\TEDIT.DK.INSERT-NEUTRAL-DOUBLEQUOTES \\TEDIT.DK.INSERT-REAL-DOUBLEQUOTES))
        (VARS (\\TEDIT.DORADO.KEYS '(("1,a" FN \\TEDIT.DK.ABORT)
                                     ("1,A" FN \\TEDIT.DK.ABORT)
                                     ("1,U" UNDO)
                                     ("1,u" UNDO)
                                     ("1,f" FN \\TEDIT.DK.FIND)
                                     ("1,F" FN \\TEDIT.DK.FIND)
                                     (ESC REDO)
                                     ("1,n" NEXT)
                                     ("1,N" NEXT)
                                     ("1,S" FN \\TEDIT.DK.SUBSTITUTE)
                                     ("1,s" FN \\TEDIT.DK.SUBSTITUTE)
                                     ("1,x" EXPAND)
                                     ("1,X" EXPAND)
                                     ("1,c" FN \\TEDIT.CENTER.SEL)
                                     ("1,C" FN \\TEDIT.CENTER.SEL.REV)
                                     ("1,b" FN \\TEDIT.BOLD.SEL.ON)
                                     ("1,B" FN \\TEDIT.BOLD.SEL.OFF)
                                     ("1,i" FN \\TEDIT.ITALIC.SEL.ON)
                                     ("1,I" FN \\TEDIT.ITALIC.SEL.OFF)
                                     ("1,=" FN \\TEDIT.STRIKEOUT.SEL.ON)
                                     ("1,+" FN \\TEDIT.STRIKEOUT.SEL.OFF)
                                     ("1,-" FN \\TEDIT.UNDERLINE.SEL.ON)
                                     ("1,←" FN \\TEDIT.UNDERLINE.SEL.OFF)
                                     ("1,↑" FN \\TEDIT.SUBSCRIPTSEL)
                                     ("1,|" FN \\TEDIT.SUPERSCRIPTSEL)
                                     ("1,SPACE" FN \\TEDIT.DEFAULTSSEL)
                                     ("1,?" FN \\TEDIT.SHOWCARETLOOKS)
                                     ("1,(" FN \\TEDIT.DK.INSERT-PARENS)
                                     ("1,\"" FN \\TEDIT.DK.INSERT-NEUTRAL-DOUBLEQUOTES)
                                     ("1,'" FN \\TEDIT.DK.INSERT-REAL-DOUBLEQUOTES))))
        (P (FOR ENTRY IN \\TEDIT.DORADO.KEYS DO (SELECTQ (CADR ENTRY)
                                                       (FN (TEDIT.SETFUNCTION (CAR ENTRY)
                                                                  (CADDR ENTRY)))
                                                       (TEDIT.SETSYNTAX (CAR ENTRY)
                                                              (CADR ENTRY)))))))
(FILESLOAD TEDITDECLS TEDITFNKEYS)



(* |;;| "These functions were fixed after Lyric went out so they'll ignore the meta key being down.")

(DEFINEQ

(\\TEDIT.BOLD.SEL.OFF
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL CHARCODE)                  (* \; "Edited 20-Oct-87 10:42 by jds")

    (\\TEDIT.BOLD.CARET.OFF TEXTSTREAM TEXTOBJ SEL)
    (TEDIT.LOOKS TEXTSTREAM '(WEIGHT MEDIUM) SEL)))

(\\TEDIT.BOLD.SEL.ON
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 10:42 by jds")

    (\\TEDIT.BOLD.CARET.ON TEXTSTREAM TEXTOBJ SEL)
    (TEDIT.LOOKS TEXTSTREAM '(WEIGHT BOLD) SEL)))

(\\TEDIT.CENTER.SEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 24-Sep-87 10:07 by jds")
          
          (* |;;| "makes the current paragraph centered")

    (PROG (LOOKS OLDQUAD NEWQUAD NEWQUADS PARASEL (SAVECH# (|fetch| CH# |of| SEL))
                 (SAVEDCH (|fetch| DCH |of| SEL)))
          (|for| PARA |in| (\\PARAS.IN.SEL SEL TEXTOBJ)
             |do| (SETQ LOOKS (TEDIT.GET.PARALOOKS TEXTSTREAM PARA))
                  (SETQ OLDQUAD (LISTGET LOOKS 'QUAD))
                  (SETQ NEWQUAD (CADR (MEMB OLDQUAD (CONSTANT '(LEFT JUSTIFIED CENTERED LEFT)))))
                  (LISTPUT LOOKS 'QUAD NEWQUAD)
                  (SETQ PARASEL (TEDIT.SETSEL TEXTSTREAM PARA 1))
                  (TEDIT.PARALOOKS TEXTSTREAM LOOKS PARASEL)
                  (|push| NEWQUADS NEWQUAD))
          (TEDIT.SETSEL TEXTSTREAM SAVECH# SAVEDCH)
          (COND
             (TEDIT.FNKEY.VERBOSE (TEDIT.PROMPTPRINT TEXTSTREAM (DREVERSE NEWQUADS)
                                         T))))))

(\\TEDIT.CENTER.SEL.REV
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 24-Sep-87 10:07 by jds")
          
          (* |;;| "acts like center.sel but cycles in the opposite direction")

    (PROG (LOOKS OLDQUAD NEWQUAD NEWQUADS PARASEL (SAVECH# (|fetch| CH# |of| SEL))
                 (SAVEDCH (|fetch| DCH |of| SEL)))
          (|for| PARA |in| (\\PARAS.IN.SEL SEL TEXTOBJ)
             |do| (SETQ LOOKS (TEDIT.GET.PARALOOKS TEXTSTREAM PARA))
                  (SETQ OLDQUAD (LISTGET LOOKS 'QUAD))
                  (SETQ NEWQUAD (CADR (MEMB OLDQUAD (CONSTANT '(LEFT CENTERED JUSTIFIED LEFT)))))
                  (LISTPUT LOOKS 'QUAD NEWQUAD)
                  (SETQ PARASEL (TEDIT.SETSEL TEXTSTREAM PARA 1))
                  (TEDIT.PARALOOKS TEXTSTREAM LOOKS PARASEL)
                  (|push| NEWQUADS NEWQUAD))
          (TEDIT.SETSEL TEXTSTREAM SAVECH# SAVEDCH)
          (COND
             (TEDIT.FNKEY.VERBOSE (TEDIT.PROMPTPRINT TEXTSTREAM (DREVERSE NEWQUADS)
                                         T))))))

(\\TEDIT.DEFAULTS.CARET
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* |jds| "21-Sep-85 11:24")
    (PROGN (TEDIT.CARETLOOKS TEXTSTREAM (|create| CHARLOOKS |using| TEDIT.DEFAULT.CHARLOOKS))
           (\\TEDIT.SHOWCARETLOOKS TEXTSTREAM TEXTOBJ SEL))))

(\\TEDIT.DEFAULTSSEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:12 by jds")
                                                             (* |acts| |on| |the| |selection|)
    (TEDIT.LOOKS TEXTSTREAM (|create| CHARLOOKS |using| TEDIT.DEFAULT.CHARLOOKS)
           SEL)))

(\\TEDIT.SETDEFAULT.FROM.SEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* |jds| " 8-Nov-85 15:22")
                                                             (* |Set| |the| |defaults| |from| |the| 
                                                             |current| |selection.|)
    (PROG ((LOOKS (TEDIT.GET.LOOKS TEXTSTREAM SEL)))
          (SETQ TEDIT.DEFAULT.CHARLOOKS (\\TEDIT.PARSE.CHARLOOKS.LIST LOOKS)))))

(\\TEDIT.FIND
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 28-Oct-87 19:35 by jds")
          
          (* |;;| "ENCAPSULATION FOR FIND KEY")
          
          (* |;;| "just calls the normal tedit.find starting at the right of the current selection")

    (PROG (TARGET (TEXTOBJ (TEXTOBJ TEXTSTREAM))
                 SEL CH W)                                   (* \; 
                                                      "Case sensitive search, with * and # wildcards")

          (SETQ W (CAR (|fetch| \\WINDOW |of| TEXTOBJ)))
          (SETQ TARGET (TEDIT.GETINPUT TEXTOBJ "Text to find: " (WINDOWPROP W 'TEDIT.LAST.FIND.STRING
                                                                       )
                              (CHARCODE (EOL LF ESC))))
          (COND
             (TARGET (SETQ SEL (|fetch| SEL |of| TEXTOBJ))
                    (\\SHOWSEL SEL NIL NIL)
                    (TEDIT.PROMPTPRINT TEXTOBJ "Searching..." T)
                    (SETQ CH (TEDIT.FIND TEXTOBJ (MKSTRING TARGET)
                                    NIL NIL T))
                    (COND
                       (CH                                   (* \; "We found the target text.")

                           (TEDIT.PROMPTPRINT TEXTOBJ "Done.")
                           (|replace| CH# |of| SEL |with| (CAR CH))
                                                             (* \; 
                                                             "Set up SELECTION to be the found text")

                           (|replace| CHLIM |of| SEL |with| (ADD1 (CADR CH)))
                           (|replace| DCH |of| SEL |with| (ADD1 (IDIFFERENCE (CADR CH)
                                                                       (CAR CH))))
                           (|replace| POINT |of| SEL |with| 'RIGHT)
                           (|replace| CARETLOOKS |of| TEXTOBJ |with| (\\TEDIT.GET.INSERT.CHARLOOKS
                                                                      TEXTOBJ SEL))
                           (TEDIT.RESET.EXTEND.PENDING.DELETE SEL)
                                                             (* \; "And never pending a deletion.")

                           (\\FIXSEL SEL TEXTOBJ)
                           (TEDIT.NORMALIZECARET TEXTOBJ)
                           (\\SHOWSEL SEL NIL T)
                           (WINDOWPROP W 'TEDIT.LAST.FIND.STRING TARGET)
                                                             (* \; "And get it into the window")

                           )
                       (T (TEDIT.PROMPTPRINT TEXTOBJ "(not found)")
                          (\\SHOWSEL SEL NIL T)))))
          (|replace| \\INSERTNEXTCH |of| TEXTOBJ |with| -1))))

(\\TEDIT.ITALIC.SEL.OFF
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL CHARCODE)                  (* \; "Edited 20-Oct-87 10:43 by jds")

    (\\TEDIT.ITALIC.CARET.OFF TEXTSTREAM TEXTOBJ SEL)
    (TEDIT.LOOKS TEXTSTREAM '(SLOPE REGULAR) SEL)))

(\\TEDIT.ITALIC.SEL.ON
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 10:43 by jds")

    (TEDIT.LOOKS TEXTSTREAM '(SLOPE ITALIC) SEL)))

(\\TEDIT.LARGERSEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* |jds| "21-Sep-85 08:58")
    (COND
       ((SHIFTDOWNP 'META)
        (\\TEDIT.LARGER.CARET TEXTSTREAM TEXTOBJ SEL))
       (T (TEDIT.LOOKS TEXTSTREAM (LIST 'SIZEINCREMENT 2)
                 SEL)))))

(\\TEDIT.LCASE.SEL
  (LAMBDA (STREAM TEXTOBJ SEL)                               (* \; "Edited  3-Sep-87 10:49 by jds")
          
          (* |;;| "LOWER-CASEs the selection")

    (PROG ((STR (TEDIT.SEL.AS.STRING STREAM SEL))
           (POS (|fetch| CH# |of| SEL))
           (LEN (|fetch| DCH |of| SEL))
           (POINT (|fetch| POINT |of| SEL)))
          (TEDIT.DELETE STREAM SEL)
          (TEDIT.INSERT STREAM (L-CASE STR))
          (TEDIT.SETSEL STREAM POS LEN POINT)
          (TEDIT.NORMALIZECARET TEXTOBJ)
          (|replace| (TEDITHISTORYEVENT THACTION) |of| (|fetch| (TEXTOBJ TXTHISTORY) |of| TEXTOBJ)
             |with| '|LowerCase|))))

(\\TEDIT.SHOWCARETLOOKS
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* |gbn| "30-Jan-85 16:06")
          
          (* * |comment|)

    (PROG ((LOOKS (|fetch| CARETLOOKS |of| TEXTOBJ)))
          (TEDIT.PROMPTPRINT TEXTSTREAM (CONCAT (\\TK.DESCRIBEFONT (|fetch| CLFONT |of| LOOKS))
                                               (COND
                                                  ((AND (|fetch| CLOFFSET |of| LOOKS)
                                                        (NEQ (|fetch| CLOFFSET |of| LOOKS)
                                                             0))
                                                   (CONCAT " offset " (|fetch| CLOFFSET |of| LOOKS)))
                                                  (T ""))
                                               (COND
                                                  ((|fetch| CLOLINE |of| LOOKS)
                                                   " overlined")
                                                  (T ""))
                                               (COND
                                                  ((|fetch| CLULINE |of| LOOKS)
                                                   " underlined")
                                                  (T "")))
                 T)
          (RETURN))))

(\\TEDIT.SMALLERSEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* |jds| "21-Sep-85 08:58")
    (COND
       ((SHIFTDOWNP 'META)
        (\\TEDIT.SMALLER.CARET TEXTSTREAM TEXTOBJ SEL))
       (T (TEDIT.LOOKS TEXTSTREAM (LIST 'SIZEINCREMENT -2)
                 SEL)))))

(\\TEDIT.SUBSCRIPTSEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:12 by jds")

    (TEDIT.LOOKS TEXTSTREAM (LIST 'OFFSETINCREMENT -2)
           SEL)))

(\\TEDIT.SUPERSCRIPTSEL
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:13 by jds")

    (TEDIT.LOOKS TEXTSTREAM (LIST 'OFFSETINCREMENT 2)
           SEL)))

(\\TEDIT.UCASE.SEL
  (LAMBDA (STREAM TEXTOBJ SEL)                               (* \; "Edited  3-Sep-87 10:53 by jds")
                                                             (* \; "uppercasifies the selection")

    (PROG ((STR (TEDIT.SEL.AS.STRING STREAM SEL))
           (POS (|fetch| CH# |of| SEL))
           (LEN (|fetch| DCH |of| SEL))
           (POINT (|fetch| POINT |of| SEL)))
          (TEDIT.DELETE STREAM SEL)
          (TEDIT.INSERT STREAM (U-CASE STR))
          (TEDIT.SETSEL STREAM POS LEN POINT)
          (TEDIT.NORMALIZECARET TEXTOBJ)
          (|replace| (TEDITHISTORYEVENT THACTION) |of| (|fetch| (TEXTOBJ TXTHISTORY) |of| TEXTOBJ)
             |with| '|UpperCase|))))

(\\TEDIT.UNDERLINE.SEL.OFF
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:26 by jds")

    (TEDIT.LOOKS TEXTSTREAM '(UNDERLINE OFF) SEL)))

(\\TEDIT.UNDERLINE.SEL.ON
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:27 by jds")

    (TEDIT.LOOKS TEXTSTREAM '(UNDERLINE ON) SEL)))

(\\TEDIT.STRIKEOUT.SEL.ON
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:27 by jds")

    (TEDIT.LOOKS TEXTSTREAM '(STRIKEOUT ON) SEL)))

(\\TEDIT.STRIKEOUT.SEL.OFF
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 20-Oct-87 11:27 by jds")

    (TEDIT.LOOKS TEXTSTREAM '(STRIKEOUT OFF) SEL)))
)



(* |;;| "Specialized functions for this module")

(DEFINEQ

(\\TEDIT.DK.ABORT
  (LAMBDA (TEXTOBJ)
    (TEDIT.GET TEXTOBJ)))

(\\TEDIT.DK.FIND
  (LAMBDA (TEXTSTREAM TEXTOBJ SEL)                           (* \; "Edited 28-Oct-87 18:25 by jds")
          
          (* |;;| "FIND command for TEDITDORADOKEYS:  Offers you the current selected text if there is not any other cached text to offer.  Otherwise, behaves just like the FIND button of the 1186.")

    (PROG (TARGET (TEXTOBJ (TEXTOBJ TEXTSTREAM))
                 SEL CH W)
          
          (* |;;| "Case sensitive search, with * and # wildcards")

          (SETQ W (CAR (MKLIST (|fetch| \\WINDOW |of| TEXTOBJ))))
          (SETQ TARGET (TEDIT.GETINPUT TEXTOBJ "Text to find: " (OR (WINDOWPROP W '
                                                                           TEDIT.LAST.FIND.STRING)
                                                                    (TEDIT.SEL.AS.STRING TEXTSTREAM 
                                                                           SEL))
                              (CHARCODE (EOL LF ESC))))
          (COND
             (TARGET (SETQ SEL (|fetch| SEL |of| TEXTOBJ))
                    (\\SHOWSEL SEL NIL NIL)
                    (TEDIT.PROMPTPRINT TEXTOBJ "Searching..." T)
                    (SETQ CH (TEDIT.FIND TEXTOBJ (MKSTRING TARGET)
                                    NIL NIL T))
                    (COND
                       (CH                                   (* \; "We found the target text.")

                           (TEDIT.PROMPTPRINT TEXTOBJ "Done.")
                           (|replace| CH# |of| SEL |with| (CAR CH))
                                                             (* \; 
                                                             "Set up SELECTION to be the found text")

                           (|replace| CHLIM |of| SEL |with| (ADD1 (CADR CH)))
                           (|replace| DCH |of| SEL |with| (ADD1 (IDIFFERENCE (CADR CH)
                                                                       (CAR CH))))
                           (|replace| POINT |of| SEL |with| 'RIGHT)
                           (|replace| CARETLOOKS |of| TEXTOBJ |with| (\\TEDIT.GET.INSERT.CHARLOOKS
                                                                      TEXTOBJ SEL))
                           (TEDIT.RESET.EXTEND.PENDING.DELETE SEL)
                                                             (* \; "And never pending a deletion.")

                           (\\FIXSEL SEL TEXTOBJ)
                           (TEDIT.NORMALIZECARET TEXTOBJ)
                           (\\SHOWSEL SEL NIL T)
                           (WINDOWPROP W 'TEDIT.LAST.FIND.STRING TARGET)
                                                             (* \; "And get it into the window")

                           )
                       (T (TEDIT.PROMPTPRINT TEXTOBJ "(not found)")
                          (\\SHOWSEL SEL NIL T)))))
          (|replace| \\INSERTNEXTCH |of| TEXTOBJ |with| -1))))

(\\TEDIT.DK.SUBSTITUTE
  (LAMBDA (TEXTSTREAM)                                       (* \; "Edited 28-Oct-87 19:35 by jds")
          
          (* |;;| "KEYBOARD SUBSTITUTE INTERFACE for TEDITDORADOKEYS")

    (TEDIT.SUBSTITUTE TEXTSTREAM)))

(\\TEDIT.DK.INSERT-PARENS
  (LAMBDA (TEXTOBJ TEXTSTREAM SEL)                           (* \; "Edited 28-Oct-87 19:42 by jds")

    (LET ((CH1 (|fetch| CH# |of| SEL))
          (CHLIM (|fetch| CHLIM |of| SEL)))
         (TEDIT.INSERT TEXTSTREAM ")" CHLIM)
         (TEDIT.INSERT TEXTSTREAM "(" CH1)
         (TEDIT.SETSEL TEXTSTREAM CH1 (+ 2 (- CHLIM CH1))))))

(\\TEDIT.DK.INSERT-NEUTRAL-DOUBLEQUOTES
  (LAMBDA (TEXTOBJ TEXTSTREAM SEL)                           (* \; "Edited 28-Oct-87 19:45 by jds")
          
          (* |;;| "Insert ASCII double-quotes (\") around the selection")

    (LET ((CH1 (|fetch| CH# |of| SEL))
          (CHLIM (|fetch| CHLIM |of| SEL)))
         (TEDIT.INSERT TEXTSTREAM "\"" CHLIM)
         (TEDIT.INSERT TEXTSTREAM "\"" CH1)
         (TEDIT.SETSEL TEXTSTREAM CH1 (+ 2 (- CHLIM CH1))))))

(\\TEDIT.DK.INSERT-REAL-DOUBLEQUOTES
  (LAMBDA (TEXTOBJ TEXTSTREAM SEL)                           (* \; "Edited 28-Oct-87 19:44 by jds")
          
          (* |;;| "Insert NS double quotes around the selection.")

    (LET ((CH1 (|fetch| CH# |of| SEL))
          (CHLIM (|fetch| CHLIM |of| SEL)))
         (TEDIT.INSERT TEXTSTREAM (CHARCODE 0\,252)
                CHLIM)
         (TEDIT.INSERT TEXTSTREAM (CHARCODE 0\,272)
                CH1)
         (TEDIT.SETSEL TEXTSTREAM CH1 (+ 2 (- CHLIM CH1))))))
)

(RPAQQ \\TEDIT.DORADO.KEYS (("1,a" FN \\TEDIT.DK.ABORT)
                            ("1,A" FN \\TEDIT.DK.ABORT)
                            ("1,U" UNDO)
                            ("1,u" UNDO)
                            ("1,f" FN \\TEDIT.DK.FIND)
                            ("1,F" FN \\TEDIT.DK.FIND)
                            (ESC REDO)
                            ("1,n" NEXT)
                            ("1,N" NEXT)
                            ("1,S" FN \\TEDIT.DK.SUBSTITUTE)
                            ("1,s" FN \\TEDIT.DK.SUBSTITUTE)
                            ("1,x" EXPAND)
                            ("1,X" EXPAND)
                            ("1,c" FN \\TEDIT.CENTER.SEL)
                            ("1,C" FN \\TEDIT.CENTER.SEL.REV)
                            ("1,b" FN \\TEDIT.BOLD.SEL.ON)
                            ("1,B" FN \\TEDIT.BOLD.SEL.OFF)
                            ("1,i" FN \\TEDIT.ITALIC.SEL.ON)
                            ("1,I" FN \\TEDIT.ITALIC.SEL.OFF)
                            ("1,=" FN \\TEDIT.STRIKEOUT.SEL.ON)
                            ("1,+" FN \\TEDIT.STRIKEOUT.SEL.OFF)
                            ("1,-" FN \\TEDIT.UNDERLINE.SEL.ON)
                            ("1,←" FN \\TEDIT.UNDERLINE.SEL.OFF)
                            ("1,↑" FN \\TEDIT.SUBSCRIPTSEL)
                            ("1,|" FN \\TEDIT.SUPERSCRIPTSEL)
                            ("1,SPACE" FN \\TEDIT.DEFAULTSSEL)
                            ("1,?" FN \\TEDIT.SHOWCARETLOOKS)
                            ("1,(" FN \\TEDIT.DK.INSERT-PARENS)
                            ("1,\"" FN \\TEDIT.DK.INSERT-NEUTRAL-DOUBLEQUOTES)
                            ("1,'" FN \\TEDIT.DK.INSERT-REAL-DOUBLEQUOTES)))
(FOR ENTRY IN \\TEDIT.DORADO.KEYS DO (SELECTQ (CADR ENTRY)
                                            (FN (TEDIT.SETFUNCTION (CAR ENTRY)
                                                       (CADDR ENTRY)))
                                            (TEDIT.SETSYNTAX (CAR ENTRY)
                                                   (CADR ENTRY))))
(PUTPROPS TEDITDORADOKEYS COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE\: DONTCOPY
  (FILEMAP (NIL (4289 15977 (\\TEDIT.BOLD.SEL.OFF 4299 . 4537) (\\TEDIT.BOLD.SEL.ON 4539 . 4773) (
\\TEDIT.CENTER.SEL 4775 . 5845) (\\TEDIT.CENTER.SEL.REV 5847 . 6942) (\\TEDIT.DEFAULTS.CARET 6944 . 
7236) (\\TEDIT.DEFAULTSSEL 7238 . 7576) (\\TEDIT.SETDEFAULT.FROM.SEL 7578 . 8035) (\\TEDIT.FIND 8037
 . 10898) (\\TEDIT.ITALIC.SEL.OFF 10900 . 11142) (\\TEDIT.ITALIC.SEL.ON 11144 . 11330) (
\\TEDIT.LARGERSEL 11332 . 11627) (\\TEDIT.LCASE.SEL 11629 . 12345) (\\TEDIT.SHOWCARETLOOKS 12347 . 
13730) (\\TEDIT.SMALLERSEL 13732 . 14030) (\\TEDIT.SUBSCRIPTSEL 14032 . 14239) (\\TEDIT.SUPERSCRIPTSEL
 14241 . 14449) (\\TEDIT.UCASE.SEL 14451 . 15207) (\\TEDIT.UNDERLINE.SEL.OFF 15209 . 15400) (
\\TEDIT.UNDERLINE.SEL.ON 15402 . 15591) (\\TEDIT.STRIKEOUT.SEL.ON 15593 . 15782) (
\\TEDIT.STRIKEOUT.SEL.OFF 15784 . 15975)) (16035 20829 (\\TEDIT.DK.ABORT 16045 . 16112) (
\\TEDIT.DK.FIND 16114 . 19143) (\\TEDIT.DK.SUBSTITUTE 19145 . 19402) (\\TEDIT.DK.INSERT-PARENS 19404
 . 19791) (\\TEDIT.DK.INSERT-NEUTRAL-DOUBLEQUOTES 19793 . 20285) (\\TEDIT.DK.INSERT-REAL-DOUBLEQUOTES 
20287 . 20827)))))
STOP