Changeset 6831
- Timestamp:
- 09/08/05 03:37:15 (3 years ago)
- Files:
-
- 2 modified
-
lib/pugs/hack.pod (modified) (2 diffs)
-
util/cperl6-mode.el (modified) (25 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lib/pugs/hack.pod
r6829 r6831 279 279 =head2 Editing 280 280 281 There is a F<util/perl6.vim> Vim syntax file. There is no Emacs mode yet, 282 but perl-mode works better than cperl-mode. 281 There is a F<util/perl6.vim> Vim syntax file. There is an 282 F<util/cperl6-mode.el> Emacs mode. If you don't use it, then perl-mode 283 works better than cperl-mode. 283 284 284 285 Where applicable, conventions documented in Damian Conway's "Perl Best … … 298 299 indent-tabs-mode: nil 299 300 301 If you use Emacs with cperl6-mode, you can set these code conventions 302 in your config file with: 303 304 (add-hook 'cperl6-mode-hook 305 '(lambda () (cperl6-set-style "Pugs"))) 306 300 307 If you use BBEdit, you can configure it to auto-expand tabs like this: 301 308 -
util/cperl6-mode.el
r6801 r6831 14 14 ;;; (append '(("\\.[pP]6$" . cperl6-mode)) 15 15 ;;; auto-mode-alist )) 16 ;;; (add-hook 'cperl6-mode-hook 17 ;;; '(lambda () (cperl6-set-style "Pugs"))) 16 18 ;;; 17 19 ;;; BUGS: 18 20 ;;; 19 ;;; - Doesn't work, when activated manually after oldcperl-mode was20 ;;; a lready activated, which mostly happens per default for .pm/.pl21 ;;; - Highlighting doesn't work, once original cperl-mode was 22 ;;; activated, which mostly happens per default for .pm/.pl 21 23 ;;; files. 22 24 ;;; 23 25 ;;; Workaround: activate this mode automatically as soon as possible: 24 26 ;;; 25 ;;; * Autoload according to file suffix, use this in your emacs config file:27 ;;; * Either, autoload according to file suffix, use this in your emacs config file: 26 28 ;;; 27 29 ;;; (setq auto-mode-alist 28 30 ;;; (append '(("\\.[pP]6$" . cperl6-mode)) auto-mode-alist )) 29 31 ;;; 30 ;;; * Set local variables at the end of your files:32 ;;; * Or set local variables at the end of your files: 31 33 ;;; 32 34 ;;; ### Local Variables: … … 34 36 ;;; ### End: 35 37 ;;; 36 ;;; * Set local variables at first line your files:38 ;;; * Or set local variables at first line your files: 37 39 ;;; 38 40 ;;; ### -*- mode: cperl6; -*- 39 41 ;;; 40 ;;; - This mode is not complete yet. I could need help.42 ;;; - Parenthesized rx// modifiers don't work: like rx:nth(3) or rx:perl5<i> 41 43 ;;; 42 44 ;;; … … 54 56 ;;; handled Perl6 syntax annoys you mostly. 55 57 ;;; 58 ;;; - There are open problems, please help if you have Emacs Lisp skills. 59 ;;; 56 60 ;;; ------------------------------------------------------------------------------- 57 61 … … 113 117 ;;; Commentary: 114 118 115 ;; $Id: cperl6-mode.el,v 1. 6 2005/09/06 07:30:50ss5 Exp $119 ;; $Id: cperl6-mode.el,v 1.8 2005/09/08 00:59:43 ss5 Exp $ 116 120 117 121 ;;; If your Emacs does not default to `cperl6-mode' on Perl files: … … 1147 1151 ;;;; Forked as "cperl6-mode" 1148 1152 ;;;; 1149 ;;;; New font-lock keywords/syntax:1153 ;;;; Highlighting new keywords/builtins: 1150 1154 ;;;; class 1151 1155 ;;;; has 1152 1156 ;;;; say 1153 1157 ;;;; returns 1154 ;;;; multi sub 1155 ;;;; multi submethod 1156 ;;;; gather 1157 ;;;; take 1158 ;;;; multi sub, multi submethod 1159 ;;;; given, when, default 1160 ;;;; gather, take 1158 1161 ;;;; try 1162 ;;;; err 1163 ;;;; zip, uniq, reduce, sum, max, min, kv, pairs, type, pick 1164 ;;;; Int, Num, Real, Str, Bit, Ref, Scalar, Array, Hash, Rule, Code 1159 1165 ;;;; 1160 ;;;; Indentation recognizes sub traits (returns Type, is rw, etc.) 1166 ;;;; Indentation: 1167 ;;;; recognize sub traits (returns Type, is rw, etc.) 1168 ;;;; recognize more special blocks: 1169 ;;;; FIRST, ENTER, LEAVE, KEEP, UNDO, NEXT, LAST, PRE, POST, CATCH, CONTROL, 1170 ;;;; given, when, default, gather 1171 ;;;; 1172 ;;;; Recognize if/elsif/unless/while/until/given/when/for/loop-conditions without parens. 1173 ;;;; (currently rather trivial heuristic) 1161 1174 ;;;; 1162 1175 ;;;; New rx// quote operator for regular expressions, 1163 ;;;; (todo: currently parenthesized modifiers don't work: nth(3) or perl5<i>)1164 1176 ;;;; 1165 1177 ;;;; m// and s/// similar to new rx// 1166 1178 ;;;; 1167 ;;;; Recognize if/elsif/unless-conditions without parens. 1168 ;;;; (currently rather trivial heuristic) 1179 ;;;; `Pugs' style added. 1180 ;;;; 1181 ;;;; Now only the @ and % sigils match arrays and hashes, 1182 ;;;; not the bracket or brace after it. 1169 1183 ;;;; 1170 1184 … … 2380 2394 ["CPerl" (cperl6-set-style "CPerl") t] 2381 2395 ["PerlStyle" (cperl6-set-style "PerlStyle") t] 2396 ["Pugs" (cperl6-set-style "Pugs") t] 2382 2397 ["GNU" (cperl6-set-style "GNU") t] 2383 2398 ["C++" (cperl6-set-style "C++") t] … … 3630 3645 (looking-at 3631 3646 "sub[ \t]+[a-zA-Z0-9_:]+[ \t\n\f]*\\(([^()]*)[ \t\n\f]*\\)?[#{]"))))))) 3632 (progn ; ss5 ; todo: why "No save-excursion!"? , see above3647 (progn ; ss5 ; todo: why "No save-excursion!"? 3633 3648 (beginning-of-line) 3634 ;; if ... {...} ; "if/elsif/unless" without parens; just look at beginning of line3635 (looking-at "\\s *}?\\s *\\(\\(els\\(e\\s +\\|\\)\\)?if\\|un less\\)\\>"))3649 ;; "if/elsif/unless/while/until/given/when/for/loop" without parens; just look at beginning of line 3650 (looking-at "\\s *}?\\s *\\(\\(els\\(e\\s +\\|\\)\\)?if\\|un\\(less\\|til\\)\\|given\\|wh\\(ile\\|en\\)\\|for\\|loop\\)\\>")) 3636 3651 )) 3637 3652 … … 4456 4471 ;; 1+6+2+1+1+2+1+1+1+1=17 extra () before this: 4457 4472 "\\|" 4458 "\\<\\(\\(rx\\|[ms]\\)\\s *\\(:\\([igcpw]\\|ignorecase\\|global\\|continue\\|pos\\|once\\|words\\|bytes\\|codes\\|graphs\\|langs\\|\\|[0-9]+\\(st\\|nd\\|rd\\|th\\|x\\)\\|ov\\|overlap\\|ex\\|exhaustive\\|rw\\| perl5\\(<i>\\)?\\)\\s *\\)*\\)\\>:?" ; ss5: rx4473 "\\<\\(\\(rx\\|[ms]\\)\\s *\\(:\\([igcpw]\\|ignorecase\\|global\\|continue\\|pos\\|once\\|words\\|bytes\\|codes\\|graphs\\|langs\\|\\|[0-9]+\\(st\\|nd\\|rd\\|th\\|x\\)\\|ov\\|overlap\\|ex\\|exhaustive\\|rw\\|P5\\|perl5\\(<i>\\)?\\)\\s *\\)*\\)\\>:?" ; ss5: rx 4459 4474 ;; 1+6+2+1+1+2+1+1+1+1+5=22 extra () before this: ; ss5 4460 4475 … … 4740 4755 '(?$ ?@ ?& ?%))) 4741 4756 (looking-at 4742 "\\(while\\|if\\|unless\\| until\\|and\\|or\\|not\\|xor\\|split\\|grep\\|map\\|print\\)\\>")))))4757 "\\(while\\|if\\|unless\\|when\\|until\\|and\\|or\\|not\\|xor\\|split\\|grep\\|map\\|print\\)\\>"))))) 4743 4758 (and (eq (preceding-char) ?.) 4744 4759 (eq (char-after (- (point) 2)) ?.)) … … 4865 4880 (or 4866 4881 ;;(string-match "^\\(m\\|qr\\|rx\\)$" argument) ; ss5 4867 (string-match "^\\(\\(qr\\|rx\\|[ms]\\)\\s *\\(:\\([igcpw]\\|ignorecase\\|global\\|continue\\|pos\\|once\\|words\\|bytes\\|codes\\|graphs\\|langs\\|\\|[0-9]+\\(st\\|nd\\|rd\\|th\\|x\\)\\|ov\\|overlap\\|ex\\|exhaustive\\|rw\\| perl5\\(<i>\\)?\\)\\s *\\)*\\)$" argument) ; ss5: rx4882 (string-match "^\\(\\(qr\\|rx\\|[ms]\\)\\s *\\(:\\([igcpw]\\|ignorecase\\|global\\|continue\\|pos\\|once\\|words\\|bytes\\|codes\\|graphs\\|langs\\|\\|[0-9]+\\(st\\|nd\\|rd\\|th\\|x\\)\\|ov\\|overlap\\|ex\\|exhaustive\\|rw\\|P5\\|perl5\\(<i>\\)?\\)\\s *\\)*\\)$" argument) ; ss5: rx 4868 4883 (and (eq 0 (length argument)) 4869 4884 (not (eq ?\< (char-after b))))))) … … 4932 4947 (setq tmpend tb)))) 4933 4948 ((match-beginning 13) ; sub with prototypes 4949 ;; ss5: todo: 1. rausnehmen; 2. durch $%@-highlighting ersetzen HIER WEITER 4934 4950 (setq b (match-beginning 0)) 4935 4951 (if (memq (char-after (1- b)) … … 4943 4959 ;; Mark as string 4944 4960 (cperl6-commentify (match-beginning 13) (match-end 13) t)) 4945 (goto-char (match-end 0)))) 4961 (goto-char (match-end 0))) 4962 ) 4946 4963 ;; 1+6+2+1+1+2=13 extra () before this: 4947 4964 ;; "\\$\\(['{]\\)" … … 5140 5157 (or 5141 5158 ;;(string-match "^\\(m\\|qr\\|rx\\)$" argument) ; ss5: rx 5142 (string-match "^\\(\\(rx\\|[ms]\\)\\s *\\(:\\([igcpw]\\|ignorecase\\|global\\|continue\\|pos\\|once\\|words\\|bytes\\|codes\\|graphs\\|langs\\|\\|[0-9]+\\(st\\|nd\\|rd\\|th\\|x\\)\\|ov\\|overlap\\|ex\\|exhaustive\\|rw\\| perl5\\(<i>\\)?\\)\\s *\\)*\\)$" argument) ; ss55159 (string-match "^\\(\\(rx\\|[ms]\\)\\s *\\(:\\([igcpw]\\|ignorecase\\|global\\|continue\\|pos\\|once\\|words\\|bytes\\|codes\\|graphs\\|langs\\|\\|[0-9]+\\(st\\|nd\\|rd\\|th\\|x\\)\\|ov\\|overlap\\|ex\\|exhaustive\\|rw\\|P5\\|perl5\\(<i>\\)?\\)\\s *\\)*\\)$" argument) ; ss5 5143 5160 (and (eq 0 (length argument)) 5144 5161 (not (eq ?\< (char-after b))))))) … … 5258 5275 (save-excursion 5259 5276 (forward-sexp -1) 5260 (or (looking-at "\\(else\\|grep\\|map\\| BEGIN\\|END\\|CHECK\\|INIT\\)\\>")5277 (or (looking-at "\\(else\\|grep\\|map\\|given\\|when\\|default\\|loop\\|for\\|BEGIN\\|END\\|CHECK\\|INIT\\|FIRST\\|ENTER\\|LEAVE\\|KEEP\\|UNDO\\|NEXT\\|LAST\\|PRE\\|POST\\|CATCH\\|CONTROL\\)\\>") 5261 5278 ;; sub f {} 5262 5279 (progn … … 5269 5286 (forward-sexp -2) 5270 5287 ;; return Type {} / is rw {} / is cached {} / ... 5271 (looking-at "\\(returns\\|of\\|is[ \t]\\(rw\\|cached\\|signature\\|parsed\\|inline\\|tighter\\|looser\\|equiv\\ )\\|will[ \t]do\\)\\>"))5288 (looking-at "\\(returns\\|of\\|is[ \t]\\(rw\\|cached\\|signature\\|parsed\\|inline\\|tighter\\|looser\\|equiv\\|export\\)\\|will[ \t]do\\)\\>")) 5272 5289 ) 5273 5290 (cperl6-after-expr-p lim)) 5274 5291 (save-excursion ; ss5 5275 5292 (beginning-of-line) 5276 ;; if ... {...} ; "if/elsif/unless" without parens; just look at beginning of line5277 (looking-at "\\s *}?\\s *\\(\\(els\\(e\\s +\\|\\)\\)?if\\|un less\\)\\>"))5293 ;; "if/elsif/unless/while/until/given/when/for/loop" without parens; just look at beginning of line 5294 (looking-at "\\s *}?\\s *\\(\\(els\\(e\\s +\\|\\)\\)?if\\|un\\(less\\|til\\)\\|given\\|wh\\(ile\\|en\\)\\|loop\\|for\\)\\>")) 5278 5295 )) 5279 5296 (error nil)))) … … 6011 6028 (mapconcat 6012 6029 'identity 6013 '("if" "until" "while" "elsif" "else" "unless" "for" 6014 "foreach" "continue" "exit" "die" "last" "goto" " has" "next"6030 '("if" "until" "while" "elsif" "else" "unless" "for" "loop" 6031 "foreach" "continue" "exit" "die" "last" "goto" "given" "when" "default" "has" "next" 6015 6032 "redo" "return" "returns" "local" "exec" 6016 6033 "\\(multi[ \t]+\\)?sub\\(method\\)?" "do" "dump" "use" 6017 6034 "require" "package" "class" "eval" "try" "my" 6018 "BEGIN" "END" "CHECK" "INIT") 6035 "BEGIN" "END" "CHECK" "INIT" "FIRST" "ENTER" "LEAVE" "KEEP" 6036 "UNDO" "NEXT" "LAST" "PRE" "POST" "CATCH" "CONTROL") 6019 6037 "\\|") ; Flow control 6020 6038 "\\)\\>") 2) ; was "\\)[ \n\t;():,\|&]" … … 6024 6042 (concat 6025 6043 "\\(^\\|[^$@%&\\]\\)\\<\\(" 6026 ;; "CORE" "__FILE__" "__LINE__" "abs" "accept" "alarm" 6044 ;; "CORE" "__FILE__" "__LINE__" "abs" "accept" "alarm" "as" 6027 6045 ;; "and" "atan2" "bind" "binmode" "bless" "caller" 6028 6046 ;; "chdir" "chmod" "chown" "chr" "chroot" "close" … … 6043 6061 ;; "link" "listen" "localtime" "lock" "log" "lstat" "lt" 6044 6062 ;; "mkdir" "msgctl" "msgget" "msgrcv" "msgsnd" "ne" 6045 ;; "not" "oct" "open" "opendir" "or" "ord" "pack" "p ipe"6063 ;; "not" "oct" "open" "opendir" "or" "ord" "pack" "perl" "pipe" 6046 6064 ;; "quotemeta" "rand" "read" "readdir" "readline" 6047 6065 ;; "readlink" "readpipe" "recv" "ref" "rename" "require" … … 6057 6075 ;; "umask" "unlink" "unpack" "utime" "values" "vec" 6058 6076 ;; "wait" "waitpid" "wantarray" "warn" "write" "x" "xor" 6059 "a\\(bs\\|ccept\\|tan2\\|larm\\|nd\\ )\\|"6077 "a\\(bs\\|ccept\\|tan2\\|larm\\|nd\\|s\\)\\|" 6060 6078 "b\\(in\\(d\\|mode\\)\\|less\\)\\|" 6061 6079 "c\\(h\\(r\\(\\|oot\\)\\|dir\\|mod\\|own\\)\\|aller\\|rypt\\|" 6062 6080 "lose\\(\\|dir\\)\\|mp\\|o\\(s\\|n\\(tinue\\|nect\\)\\)\\)\\|" 6063 6081 "CORE\\|d\\(ie\\|bm\\(close\\|open\\)\\|ump\\)\\|" 6064 "e\\( x\\(p\\|it\\|ec\\)\\|q\\|nd\\(p\\(rotoent\\|went\\)\\|"6082 "e\\(rr\\|x\\(p\\|it\\|ec\\)\\|q\\|nd\\(p\\(rotoent\\|went\\)\\|" 6065 6083 "hostent\\|servent\\|netent\\|grent\\)\\|of\\)\\|" 6066 6084 "f\\(ileno\\|cntl\\|lock\\|or\\(k\\|mline\\)\\)\\|" … … 6075 6093 "\\(\\|ngth\\)\\|o\\(c\\(altime\\|k\\)\\|g\\)\\)\\|m\\(sg\\(rcv\\|snd\\|" 6076 6094 "ctl\\|get\\)\\|kdir\\)\\|n\\(e\\|ot\\)\\|o\\(pen\\(\\|dir\\)\\|" 6077 "r\\(\\|d\\)\\|ct\\)\\|p\\(ipe\\|ack\\ )\\|quotemeta\\|"6095 "r\\(\\|d\\)\\|ct\\)\\|p\\(ipe\\|ack\\|erl\\)\\|quotemeta\\|" 6078 6096 "r\\(index\\|and\\|mdir\\|e\\(quire\\|ad\\(pipe\\|\\|lin" 6079 6097 "\\(k\\|e\\)\\|dir\\)\\|set\\|cv\\|verse\\|f\\|winddir\\|name" … … 6089 6107 "x\\(\\|or\\)\\|__\\(FILE__\\|LINE__\\|PACKAGE__\\)" 6090 6108 "\\)\\>") 2 'font-lock-type-face) 6109 (list 6110 (concat 6111 "\\(^\\|[^$@%&\\]\\)\\<\\(" 6112 ;; the builtin types 6113 ;; Int, Num, Real, Str, Bit, Ref, Scalar, Array, Hash, Rule, Code 6114 "Int\\|Num\\|Real\\|Str\\|Bit\\|Ref\\|Scalar\\|Array\\|Hash\\|Rule\\|Code" 6115 "\\)\\>") 2 'font-lock-type-face) 6091 6116 ;; In what follows we use `other' style 6092 6117 ;; for nonoverwritable builtins … … 6098 6123 ;; "chop" "class" "defined" "delete" "do" "each" "else" "elsif" 6099 6124 ;; "eval" "exists" "for" "foreach" "format" "gather" "goto" 6100 ;; "grep" "has" "if" "keys" " last" "local" "map" "my" "next"6101 ;; "no" "pa ckage" "pop" "pos" "print" "printf" "push"6102 ;; "q" "qq" "qw" "qx" "redo" "re turn" "say" "scalar" "shift"6103 ;; "sort" "splice" "split" "study" "sub" " take" "tie" "tr"6104 ;; "undef" "un less" "unshift" "untie" "until" "use"6105 ;; "while" "y" 6125 ;; "grep" "has" "if" "keys" "kv" "last" "local" "map" "my" "next" 6126 ;; "no" "pairs" "package" "pop" "pos" "pick" "print" "printf" "push" 6127 ;; "q" "qq" "qw" "qx" "redo" "reduce" "return" "say" "scalar" "shift" 6128 ;; "sort" "splice" "split" "study" "sub" "sum" "take" "tie" "tr" 6129 ;; "undef" "uniq" "unless" "unshift" "untie" "until" "use" 6130 ;; "while" "y" "zip" 6106 6131 "AUTOLOAD\\|BEGIN\\|CHECK\\|c\\(lass\\|ho\\(p\\|mp\\)\\)\\|d\\(e\\(fined\\|lete\\)\\|" 6107 6132 "o\\)\\|DESTROY\\|e\\(ach\\|val\\|xists\\|ls\\(e\\|if\\)\\)\\|" 6108 "END\\|for\\(\\|each\\|mat\\)\\|g\\(ather\\|rep\\|oto\\)\\|has\\|INIT\\|if\\|k eys\\|"6109 "l\\(ast\\|ocal\\)\\|m\\(a p\\|y\\)\\|n\\(ext\\|o\\)\\|our\\|"6110 "p\\(a ckage\\|rint\\(\\|f\\)\\|ush\\|o\\(p\\|s\\)\\)\\|"6111 "q\\(\\|q\\|w\\|x\\|r\\)\\|re\\(turn\\|d o\\)\\|s\\(ay\\|pli\\(ce\\|t\\)\\|"6112 "calar\\|tudy\\|u b\\|hift\\|ort\\)\\|t\\(ake\\|r\\|ie\\|ry\\)\\|"6113 "u\\(se\\|n\\( shift\\|ti\\(l\\|e\\)\\|def\\|less\\)\\)\\|"6114 "while\\|y\\| __\\(END\\|DATA\\)__" ;__DATA__ added manually6133 "END\\|for\\(\\|each\\|mat\\)\\|g\\(ather\\|rep\\|oto\\)\\|has\\|INIT\\|if\\|k\\(eys\\|v\\)\\|" 6134 "l\\(ast\\|ocal\\)\\|m\\(a\\(p\\|x\\)\\|in\\|y\\)\\|n\\(ext\\|o\\)\\|our\\|" 6135 "p\\(a\\(ckage\\|irs\\)\\|ick\\|rint\\(\\|f\\)\\|ush\\|o\\(p\\|s\\)\\)\\|" 6136 "q\\(\\|q\\|w\\|x\\|r\\)\\|re\\(turn\\|d\\(o\\|uce\\)\\)\\|s\\(ay\\|pli\\(ce\\|t\\)\\|" 6137 "calar\\|tudy\\|u\\(b\\|m\\)\\|hift\\|ort\\)\\|t\\(ake\\|r\\|ie\\|ry\\|ype\\)\\|" 6138 "u\\(se\\|n\\(iq\\|shift\\|ti\\(l\\|e\\)\\|def\\|less\\)\\)\\|" 6139 "while\\|y\\|zip\\|__\\(END\\|DATA\\)__" ;__DATA__ added manually 6115 6140 "\\|[sm]" ; Added manually 6116 6141 "\\)\\>") 2 'cperl6-nonoverridable-face) … … 6178 6203 cperl6-array-face) 6179 6204 t) ; arrays and hashes 6180 ("\\(\\([$@]+\\)[a-zA-Z_:][a-zA-Z0-9_:]*\\)[ \t]*\\([[{]\\)" 6181 1 6182 (if (= (- (match-end 2) (match-beginning 2)) 1) 6183 (if (eq (char-after (match-beginning 3)) ?{) 6184 cperl6-hash-face 6185 cperl6-array-face) ; arrays and hashes 6186 font-lock-variable-name-face) ; Just to put something 6187 t) 6205 ;; ss5: no more whitespace before subscripts allowed in Perl6 6206 ; ("\\(\\([$@]+\\)[a-zA-Z_:][a-zA-Z0-9_:]*\\)[ \t]*\\([[{]\\)" 6207 ; 1 6208 ; (if (= (- (match-end 2) (match-beginning 2)) 1) 6209 ; (if (eq (char-after (match-beginning 3)) ?{) 6210 ; cperl6-hash-face 6211 ; cperl6-array-face) ; arrays and hashes 6212 ; font-lock-variable-name-face) ; Just to put something 6213 ; t) 6188 6214 ;;("\\([smy]\\|tr\\)\\([^a-z_A-Z0-9]\\)\\(\\([^\n\\]*||\\)\\)\\2") 6189 6215 ;;; Too much noise from \s* @s[ and friends … … 6539 6565 (cperl6-brace-offset . 0) 6540 6566 (cperl6-continued-brace-offset . 0) 6567 (cperl6-label-offset . -4) 6568 (cperl6-extra-newline-before-brace . nil) 6569 (cperl6-merge-trailing-else . t) 6570 (cperl6-continued-statement-offset . 4)) 6571 ("Pugs" 6572 (indent-tabs-mode . nil) 6573 (cperl6-indent-level . 4) 6574 (cperl6-brace-offset . 0) 6575 (cperl6-continued-brace-offset . -4) 6541 6576 (cperl6-label-offset . -4) 6542 6577 (cperl6-extra-newline-before-brace . nil) … … 8650 8685 8651 8686 ;;(defvar cperl6-version 8652 ;; (let ((v "$Revision: 1. 6$"))8687 ;; (let ((v "$Revision: 1.8 $")) 8653 8688 ;; (string-match ":\\s *\\([0-9.]+\\)" v) 8654 8689 ;; (substring v (match-beginning 1) (match-end 1)))
