home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / bbs / gnu / emacs-18.59-src.lha / GNU / src / amiga / emacs-18.59 / lisp / medit.elc < prev    next >
Emacs Compiled Lisp  |  1991-01-10  |  2.7 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs v18 byte-compiled Lisp data default
99% file data default
100% gt2 Kopftext: '(require (quote mim-mode)) default (weak)
100% detectItEasy Format: plain text[LF] default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 28 72 65 71 75 69 72 | 65 20 28 71 75 6f 74 65 |.(requir|e (quote|
|00000010| 20 6d 69 6d 2d 6d 6f 64 | 65 29 29 0a 0a 28 64 65 | mim-mod|e))..(de|
|00000020| 66 63 6f 6e 73 74 20 6d | 65 64 69 74 2d 7a 61 70 |fconst m|edit-zap|
|00000030| 2d 66 69 6c 65 20 28 63 | 6f 6e 63 61 74 20 22 2f |-file (c|oncat "/|
|00000040| 74 6d 70 2f 22 20 28 67 | 65 74 65 6e 76 20 22 55 |tmp/" (g|etenv "U|
|00000050| 53 45 52 22 29 20 22 2e | 6d 65 64 69 74 2e 6d 75 |SER") ".|medit.mu|
|00000060| 64 22 29 20 22 5c 0a 46 | 69 6c 65 20 6e 61 6d 65 |d") "\.F|ile name|
|00000070| 20 66 6f 72 20 64 61 74 | 61 20 73 65 6e 74 20 74 | for dat|a sent t|
|00000080| 6f 20 4d 44 4c 20 62 79 | 20 4d 65 64 69 74 2e 22 |o MDL by| Medit."|
|00000090| 29 0a 0a 28 64 65 66 63 | 6f 6e 73 74 20 6d 65 64 |)..(defc|onst med|
|000000a0| 69 74 2d 62 75 66 66 65 | 72 20 22 2a 4d 45 44 49 |it-buffe|r "*MEDI|
|000000b0| 54 2a 22 20 22 5c 0a 4e | 61 6d 65 20 6f 66 20 62 |T*" "\.N|ame of b|
|000000c0| 75 66 66 65 72 20 69 6e | 20 77 68 69 63 68 20 4d |uffer in| which M|
|000000d0| 65 64 69 74 20 61 63 63 | 75 6d 75 6c 61 74 65 73 |edit acc|umulates|
|000000e0| 20 64 61 74 61 20 74 6f | 20 73 65 6e 64 20 74 6f | data to| send to|
|000000f0| 20 4d 44 4c 2e 22 29 0a | 0a 28 64 65 66 63 6f 6e | MDL.").|.(defcon|
|00000100| 73 74 20 6d 65 64 69 74 | 2d 73 61 76 65 2d 66 69 |st medit|-save-fi|
|00000110| 6c 65 73 20 74 20 22 5c | 0a 49 66 20 6e 6f 6e 2d |les t "\|.If non-|
|00000120| 6e 69 6c 2c 20 4d 65 64 | 69 74 20 6f 66 66 65 72 |nil, Med|it offer|
|00000130| 73 20 74 6f 20 73 61 76 | 65 20 66 69 6c 65 73 20 |s to sav|e files |
|00000140| 6f 6e 20 72 65 74 75 72 | 6e 20 74 6f 20 4d 44 4c |on retur|n to MDL|
|00000150| 2e 22 29 0a 0a 28 64 65 | 66 75 6e 20 6d 65 64 69 |.")..(de|fun medi|
|00000160| 74 2d 73 61 76 65 2d 64 | 65 66 69 6e 65 20 6e 69 |t-save-d|efine ni|
|00000170| 6c 20 22 5c 0a 4d 61 72 | 6b 20 74 68 65 20 70 72 |l "\.Mar|k the pr|
|00000180| 65 76 69 6f 75 73 20 6f | 72 20 73 75 72 72 6f 75 |evious o|r surrou|
|00000190| 6e 64 69 6e 67 20 74 6f | 70 6c 65 76 65 6c 20 6f |nding to|plevel o|
|000001a0| 62 6a 65 63 74 20 74 6f | 20 62 65 20 73 65 6e 74 |bject to| be sent|
|000001b0| 20 62 61 63 6b 20 74 6f | 20 4d 44 4c 2e 22 20 28 | back to| MDL." (|
|000001c0| 69 6e 74 65 72 61 63 74 | 69 76 65 29 20 28 62 79 |interact|ive) (by|
|000001d0| 74 65 2d 63 6f 64 65 20 | 22 c2 88 8a c3 20 88 60 |te-code |".... .`|
|000001e0| 18 c4 c5 21 88 c6 09 08 | 60 23 88 08 62 88 c7 c8 |...!....|`#..b...|
|000001f0| 08 c9 20 88 60 5c 22 21 | 29 29 87 22 20 5b 73 74 |.. .`\"!|))." [st|
|00000200| 61 72 74 20 6d 65 64 69 | 74 2d 62 75 66 66 65 72 |art medi|t-buffer|
|00000210| 20 6e 69 6c 20 62 65 67 | 69 6e 6e 69 6e 67 2d 6f | nil beg|inning-o|
|00000220| 66 2d 44 45 46 49 4e 45 | 20 66 6f 72 77 61 72 64 |f-DEFINE| forward|
|00000230| 2d 6d 69 6d 2d 6f 62 6a | 65 63 74 20 31 20 61 70 |-mim-obj|ect 1 ap|
|00000240| 70 65 6e 64 2d 74 6f 2d | 62 75 66 66 65 72 20 6d |pend-to-|buffer m|
|00000250| 65 73 73 61 67 65 20 62 | 75 66 66 65 72 2d 73 75 |essage b|uffer-su|
|00000260| 62 73 74 72 69 6e 67 20 | 65 6e 64 2d 6f 66 2d 6c |bstring |end-of-l|
|00000270| 69 6e 65 5d 20 38 29 29 | 0a 0a 28 64 65 66 75 6e |ine] 8))|..(defun|
|00000280| 20 6d 65 64 69 74 2d 73 | 61 76 65 2d 72 65 67 69 | medit-s|ave-regi|
|00000290| 6f 6e 20 28 73 74 61 72 | 74 20 65 6e 64 29 20 22 |on (star|t end) "|
|000002a0| 5c 0a 4d 61 72 6b 20 74 | 68 65 20 63 75 72 72 65 |\.Mark t|he curre|
|000002b0| 6e 74 20 72 65 67 69 6f | 6e 20 74 6f 20 62 65 20 |nt regio|n to be |
|000002c0| 73 65 6e 74 20 74 6f 20 | 62 61 63 6b 20 74 6f 20 |sent to |back to |
|000002d0| 4d 44 4c 2e 22 20 28 69 | 6e 74 65 72 61 63 74 69 |MDL." (i|nteracti|
|000002e0| 76 65 20 22 72 22 29 20 | 28 62 79 74 65 2d 63 6f |ve "r") |(byte-co|
|000002f0| 64 65 20 22 c3 88 c4 08 | 09 0a 23 88 c5 c6 21 87 |de "....|..#...!.|
|00000300| 22 20 5b 6d 65 64 69 74 | 2d 62 75 66 66 65 72 20 |" [medit|-buffer |
|00000310| 73 74 61 72 74 20 65 6e | 64 20 6e 69 6c 20 61 70 |start en|d nil ap|
|00000320| 70 65 6e 64 2d 74 6f 2d | 62 75 66 66 65 72 20 6d |pend-to-|buffer m|
|00000330| 65 73 73 61 67 65 20 22 | 43 75 72 72 65 6e 74 20 |essage "|Current |
|00000340| 72 65 67 69 6f 6e 20 73 | 61 76 65 64 20 66 6f 72 |region s|aved for|
|00000350| 20 4d 44 4c 2e 22 5d 20 | 34 29 29 0a 0a 28 64 65 | MDL."] |4))..(de|
|00000360| 66 75 6e 20 6d 65 64 69 | 74 2d 73 61 76 65 2d 62 |fun medi|t-save-b|
|00000370| 75 66 66 65 72 20 6e 69 | 6c 20 22 5c 0a 4d 61 72 |uffer ni|l "\.Mar|
|00000380| 6b 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 62 75 |k the cu|rrent bu|
|00000390| 66 66 65 72 20 74 6f 20 | 62 65 20 73 65 6e 74 20 |ffer to |be sent |
|000003a0| 62 61 63 6b 20 74 6f 20 | 4d 44 4c 2e 22 20 28 69 |back to |MDL." (i|
|000003b0| 6e 74 65 72 61 63 74 69 | 76 65 29 20 28 62 79 74 |nteracti|ve) (byt|
|000003c0| 65 2d 63 6f 64 65 20 22 | c1 88 c2 08 65 64 23 88 |e-code "|....ed#.|
|000003d0| c3 c4 21 87 22 20 5b 6d | 65 64 69 74 2d 62 75 66 |..!." [m|edit-buf|
|000003e0| 66 65 72 20 6e 69 6c 20 | 61 70 70 65 6e 64 2d 74 |fer nil |append-t|
|000003f0| 6f 2d 62 75 66 66 65 72 | 20 6d 65 73 73 61 67 65 |o-buffer| message|
|00000400| 20 22 43 75 72 72 65 6e | 74 20 62 75 66 66 65 72 | "Curren|t buffer|
|00000410| 20 73 61 76 65 64 20 66 | 6f 72 20 4d 44 4c 2e 22 | saved f|or MDL."|
|00000420| 5d 20 34 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 65 |] 4))..(|defun me|
|00000430| 64 69 74 2d 7a 61 70 2d | 64 65 66 69 6e 65 2d 74 |dit-zap-|define-t|
|00000440| 6f 2d 6d 64 6c 20 6e 69 | 6c 20 22 5c 0a 52 65 74 |o-mdl ni|l "\.Ret|
|00000450| 75 72 6e 20 74 6f 20 4d | 44 4c 20 77 69 74 68 20 |urn to M|DL with |
|00000460| 73 75 72 72 6f 75 6e 64 | 69 6e 67 20 6f 72 20 70 |surround|ing or p|
|00000470| 72 65 76 69 6f 75 73 20 | 74 6f 70 6c 65 76 65 6c |revious |toplevel|
|00000480| 20 4d 44 4c 20 6f 62 6a | 65 63 74 2e 22 20 28 62 | MDL obj|ect." (b|
|00000490| 79 74 65 2d 63 6f 64 65 | 20 22 c0 20 88 c1 20 88 |yte-code| ". .. .|
|000004a0| c2 20 87 22 20 5b 69 6e | 64 65 74 61 72 63 74 69 |. ." [in|detarcti|
|000004b0| 76 65 20 6d 65 64 69 74 | 2d 73 61 76 65 2d 64 65 |ve medit|-save-de|
|000004c0| 66 75 6e 20 6d 65 64 69 | 74 2d 67 6f 2d 74 6f 2d |fun medi|t-go-to-|
|000004d0| 6d 64 6c 5d 20 34 29 29 | 0a 0a 28 64 65 66 75 6e |mdl] 4))|..(defun|
|000004e0| 20 6d 65 64 69 74 2d 7a | 61 70 2d 72 65 67 69 6f | medit-z|ap-regio|
|000004f0| 6e 2d 6d 64 6c 20 28 73 | 74 61 72 74 20 65 6e 64 |n-mdl (s|tart end|
|00000500| 29 20 22 5c 0a 52 65 74 | 75 72 6e 20 74 6f 20 4d |) "\.Ret|urn to M|
|00000510| 44 4c 20 77 69 74 68 20 | 63 75 72 72 65 6e 74 20 |DL with |current |
|00000520| 72 65 67 69 6f 6e 2e 22 | 20 28 69 6e 74 65 72 61 |region."| (intera|
|00000530| 63 74 69 76 65 29 20 28 | 62 79 74 65 2d 63 6f 64 |ctive) (|byte-cod|
|00000540| 65 20 22 c2 88 c3 08 09 | 5c 22 88 c4 20 87 22 20 |e ".....|\".. ." |
|00000550| 5b 73 74 61 72 74 20 65 | 6e 64 20 6e 69 6c 20 6d |[start e|nd nil m|
|00000560| 65 64 69 74 2d 73 61 76 | 65 2d 72 65 67 69 6f 6e |edit-sav|e-region|
|00000570| 20 6d 65 64 69 74 2d 67 | 6f 2d 74 6f 2d 6d 64 6c | medit-g|o-to-mdl|
|00000580| 5d 20 33 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 65 |] 3))..(|defun me|
|00000590| 64 69 74 2d 7a 61 70 2d | 62 75 66 66 65 72 20 6e |dit-zap-|buffer n|
|000005a0| 69 6c 20 22 5c 0a 52 65 | 74 75 72 6e 20 74 6f 20 |il "\.Re|turn to |
|000005b0| 4d 44 4c 20 77 69 74 68 | 20 63 75 72 72 65 6e 74 |MDL with| current|
|000005c0| 20 62 75 66 66 65 72 2e | 22 20 28 69 6e 74 65 72 | buffer.|" (inter|
|000005d0| 61 63 74 69 76 65 29 20 | 28 62 79 74 65 2d 63 6f |active) |(byte-co|
|000005e0| 64 65 20 22 c0 88 c1 20 | 88 c2 20 87 22 20 5b 6e |de "... |.. ." [n|
|000005f0| 69 6c 20 6d 65 64 69 74 | 2d 73 61 76 65 2d 62 75 |il medit|-save-bu|
|00000600| 66 66 65 72 20 6d 65 64 | 69 74 2d 67 6f 2d 74 6f |ffer med|it-go-to|
|00000610| 2d 6d 64 6c 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |-mdl] 3)|)..(defu|
|00000620| 6e 20 6d 65 64 69 74 2d | 67 6f 74 6f 2d 6d 64 6c |n medit-|goto-mdl|
|00000630| 20 6e 69 6c 20 22 5c 0a | 52 65 74 75 72 6e 20 66 | nil "\.|Return f|
|00000640| 72 6f 6d 20 45 6d 61 63 | 73 20 74 6f 20 73 75 70 |rom Emac|s to sup|
|00000650| 65 72 69 6f 72 20 4d 44 | 4c 2c 20 73 65 6e 64 69 |erior MD|L, sendi|
|00000660| 6e 67 20 73 61 76 65 64 | 20 63 6f 64 65 2e 0a 4f |ng saved| code..O|
|00000670| 70 74 69 6f 6e 61 6c 6c | 79 2c 20 6f 66 66 65 72 |ptionall|y, offer|
|00000680| 73 20 74 6f 20 73 61 76 | 65 20 63 68 61 6e 67 65 |s to sav|e change|
|00000690| 64 20 66 69 6c 65 73 2e | 22 20 28 69 6e 74 65 72 |d files.|" (inter|
|000006a0| 61 63 74 69 76 65 29 20 | 28 62 79 74 65 2d 63 6f |active) |(byte-co|
|000006b0| 64 65 20 22 c3 88 c5 09 | 21 18 08 83 28 00 8a 08 |de "....|!...(...|
|000006c0| 71 88 c6 08 21 83 1c 00 | c7 65 64 0a 23 82 1d 00 |q...!...|.ed.#...|
|000006d0| c3 88 c8 c3 21 88 c9 20 | 29 82 29 00 c3 88 0c 83 |....!.. |).).....|
|000006e0| 33 00 ca 20 82 34 00 c3 | 88 cb 20 29 87 22 20 5b |3.. .4..|.. )." [|
|000006f0| 62 75 66 66 65 72 20 6d | 65 64 69 74 2d 62 75 66 |buffer m|edit-buf|
|00000700| 66 65 72 20 6d 65 64 69 | 74 2d 7a 61 70 2d 66 69 |fer medi|t-zap-fi|
|00000710| 6c 65 20 6e 69 6c 20 6d | 65 64 69 74 2d 73 61 76 |le nil m|edit-sav|
|00000720| 65 2d 66 69 6c 65 73 20 | 67 65 74 2d 62 75 66 66 |e-files |get-buff|
|00000730| 65 72 20 62 75 66 66 65 | 72 2d 6d 6f 64 69 66 69 |er buffe|r-modifi|
|00000740| 65 64 2d 70 20 77 72 69 | 74 65 2d 72 65 67 69 6f |ed-p wri|te-regio|
|00000750| 6e 20 73 65 74 2d 62 75 | 66 66 65 72 2d 6d 6f 64 |n set-bu|ffer-mod|
|00000760| 69 66 69 65 64 2d 70 20 | 65 72 61 73 65 2d 62 75 |ified-p |erase-bu|
|00000770| 66 66 65 72 20 73 61 76 | 65 2d 73 6f 6d 65 2d 62 |ffer sav|e-some-b|
|00000780| 75 66 66 65 72 73 20 73 | 75 73 70 65 6e 64 2d 65 |uffers s|uspend-e|
|00000790| 6d 61 63 73 5d 20 38 29 | 29 0a 0a 28 64 65 66 63 |macs] 8)|)..(defc|
|000007a0| 6f 6e 73 74 20 6d 65 64 | 69 74 2d 6d 6f 64 65 2d |onst med|it-mode-|
|000007b0| 6d 61 70 20 6e 69 6c 29 | 0a 0a 28 69 66 20 28 6e |map nil)|..(if (n|
|000007c0| 6f 74 20 6d 65 64 69 74 | 2d 6d 6f 64 65 2d 6d 61 |ot medit|-mode-ma|
|000007d0| 70 29 20 28 70 72 6f 67 | 6e 20 28 73 65 74 71 20 |p) (prog|n (setq |
|000007e0| 6d 65 64 69 74 2d 6d 6f | 64 65 2d 6d 61 70 20 28 |medit-mo|de-map (|
|000007f0| 63 6f 70 79 2d 61 6c 69 | 73 74 20 6d 69 6d 2d 6d |copy-ali|st mim-m|
|00000800| 6f 64 65 2d 6d 61 70 29 | 29 20 28 64 65 66 69 6e |ode-map)|) (defin|
|00000810| 65 2d 6b 65 79 20 6d 65 | 64 69 74 2d 6d 6f 64 65 |e-key me|dit-mode|
|00000820| 2d 6d 61 70 20 22 1b 7a | 22 20 28 71 75 6f 74 65 |-map ".z|" (quote|
|00000830| 20 6d 65 64 69 74 2d 73 | 61 76 65 2d 64 65 66 69 | medit-s|ave-defi|
|00000840| 6e 65 29 29 20 28 64 65 | 66 69 6e 65 2d 6b 65 79 |ne)) (de|fine-key|
|00000850| 20 6d 65 64 69 74 2d 6d | 6f 64 65 2d 6d 61 70 20 | medit-m|ode-map |
|00000860| 22 1b 1a 22 20 28 71 75 | 6f 74 65 20 6d 65 64 69 |".." (qu|ote medi|
|00000870| 74 2d 73 61 76 65 2d 62 | 75 66 66 65 72 29 29 20 |t-save-b|uffer)) |
|00000880| 28 64 65 66 69 6e 65 2d | 6b 65 79 20 6d 65 64 69 |(define-|key medi|
|00000890| 74 2d 6d 6f 64 65 2d 6d | 61 70 20 22 18 7a 22 20 |t-mode-m|ap ".z" |
|000008a0| 28 71 75 6f 74 65 20 6d | 65 64 69 74 2d 67 6f 74 |(quote m|edit-got|
|000008b0| 6f 2d 6d 64 6c 29 29 20 | 28 64 65 66 69 6e 65 2d |o-mdl)) |(define-|
|000008c0| 6b 65 79 20 6d 65 64 69 | 74 2d 6d 6f 64 65 2d 6d |key medi|t-mode-m|
|000008d0| 61 70 20 22 18 73 22 20 | 28 71 75 6f 74 65 20 6d |ap ".s" |(quote m|
|000008e0| 65 64 69 74 2d 7a 61 70 | 2d 62 75 66 66 65 72 29 |edit-zap|-buffer)|
|000008f0| 29 29 29 0a 0a 28 64 65 | 66 63 6f 6e 73 74 20 6d |)))..(de|fconst m|
|00000900| 65 64 69 74 2d 6d 6f 64 | 65 2d 68 6f 6f 6b 20 28 |edit-mod|e-hook (|
|00000910| 61 6e 64 20 28 62 6f 75 | 6e 64 70 20 28 71 75 6f |and (bou|ndp (quo|
|00000920| 74 65 20 6d 69 6d 2d 6d | 6f 64 65 2d 68 6f 6f 6b |te mim-m|ode-hook|
|00000930| 29 29 20 6d 69 6d 2d 6d | 6f 64 65 2d 68 6f 6f 6b |)) mim-m|ode-hook|
|00000940| 29 20 22 5c 0a 22 29 0a | 0a 28 73 65 74 71 20 6d |) "\.").|.(setq m|
|00000950| 69 6d 2d 6d 6f 64 65 2d | 68 6f 6f 6b 20 28 71 75 |im-mode-|hook (qu|
|00000960| 6f 74 65 20 28 6c 61 6d | 62 64 61 20 6e 69 6c 20 |ote (lam|bda nil |
|00000970| 28 6d 65 64 69 74 2d 6d | 6f 64 65 29 29 29 29 0a |(medit-m|ode)))).|
|00000980| 0a 28 64 65 66 75 6e 20 | 6d 65 64 69 74 2d 6d 6f |.(defun |medit-mo|
|00000990| 64 65 20 28 26 6f 70 74 | 69 6f 6e 61 6c 20 73 74 |de (&opt|ional st|
|000009a0| 61 74 65 29 20 22 5c 0a | 4d 61 6a 6f 72 20 6d 6f |ate) "\.|Major mo|
|000009b0| 64 65 20 66 6f 72 20 65 | 64 69 74 69 6e 67 20 74 |de for e|diting t|
|000009c0| 65 78 74 20 61 6e 64 20 | 72 65 74 75 72 6e 69 6e |ext and |returnin|
|000009d0| 67 20 69 74 20 74 6f 20 | 61 20 73 75 70 65 72 69 |g it to |a superi|
|000009e0| 6f 72 20 4d 44 4c 2e 0a | 4c 69 6b 65 20 4d 69 6d |or MDL..|Like Mim|
|000009f0| 20 6d 6f 64 65 2c 20 70 | 6c 75 73 20 74 68 65 73 | mode, p|lus thes|
|00000a00| 65 20 73 70 65 63 69 61 | 6c 20 63 6f 6d 6d 61 6e |e specia|l comman|
|00000a10| 64 73 3a 0a 5c 5c 7b 6d | 65 64 69 74 2d 6d 6f 64 |ds:.\\{m|edit-mod|
|00000a20| 65 2d 6d 61 70 7d 22 20 | 28 69 6e 74 65 72 61 63 |e-map}" |(interac|
|00000a30| 74 69 76 65 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |tive) (b|yte-code|
|00000a40| 20 22 c3 88 c4 08 21 88 | c5 c6 21 88 c7 89 11 88 | "....!.|..!.....|
|00000a50| c8 89 12 87 22 20 5b 6d | 65 64 69 74 2d 6d 6f 64 |...." [m|edit-mod|
|00000a60| 65 2d 6d 61 70 20 6d 61 | 6a 6f 72 2d 6d 6f 64 65 |e-map ma|jor-mode|
|00000a70| 20 6d 6f 64 65 2d 6e 61 | 6d 65 20 6e 69 6c 20 75 | mode-na|me nil u|
|00000a80| 73 65 2d 6c 6f 63 61 6c | 2d 6d 61 70 20 72 75 6e |se-local|-map run|
|00000a90| 2d 68 6f 6f 6b 73 20 6d | 65 64 69 74 2d 6d 6f 64 |-hooks m|edit-mod|
|00000aa0| 65 2d 68 6f 6f 6b 20 6d | 65 64 69 74 2d 6d 6f 64 |e-hook m|edit-mod|
|00000ab0| 65 20 22 4d 65 64 69 74 | 22 5d 20 34 29 29 0a 0a |e "Medit|"] 4))..|
|00000ac0| 28 6d 69 6d 2d 6d 6f 64 | 65 29 0a |(mim-mod|e). |
+--------+-------------------------+-------------------------+--------+--------+