From 86604af6826780d6cdfa6e90006133dacc5af6f2 Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Sat, 10 Jan 2009 01:15:57 +0100 Subject: [PATCH 1/4] FUEL: Display of parsing words lists in help browser fixed. --- misc/fuel/fuel-markup.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/misc/fuel/fuel-markup.el b/misc/fuel/fuel-markup.el index 69d1de8814..9e5e1c8af2 100644 --- a/misc/fuel/fuel-markup.el +++ b/misc/fuel/fuel-markup.el @@ -373,10 +373,10 @@ (let ((heading `($heading ,(match-string-no-properties 0))) (rows)) (forward-line) - (when (looking-at "Word *Stack effect$") - (push '("Word" "Stack effect") rows) + (when (looking-at "Word *\\(Stack effect\\|Syntax\\)$") + (push (list "Word" (match-string-no-properties 1)) rows) (forward-line)) - (while (looking-at "\\(.+?\\)\\( +\\(( .*\\)\\)?$") + (while (looking-at "\\(.+?\\)\\( +\\(.+\\)\\)?$") (let ((word `($link ,(match-string-no-properties 1) ,(match-string-no-properties 1) word)) From 8e6be0ccefe7b2e22ded906f263161a6c29675fe Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Sat, 10 Jan 2009 02:09:25 +0100 Subject: [PATCH 2/4] FUEL: Numeric literals' font-lock fixed. --- misc/fuel/fuel-syntax.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/fuel/fuel-syntax.el b/misc/fuel/fuel-syntax.el index 49e7788b2f..0d85cf897e 100644 --- a/misc/fuel/fuel-syntax.el +++ b/misc/fuel/fuel-syntax.el @@ -85,7 +85,7 @@ "^M: +\\([^ ]+\\) +\\([^ ]+\\)") (defconst fuel-syntax--number-regex - "\\(\\+\\|-\\)?\\([0-9]+\\.?[0-9]*\\|\\.[0-9]+\\)\\([eE]\\(\\+\\|-\\)?[0-9]+\\)?") + "\\_<\\(\\+\\|-\\)?\\([0-9]+\\.?[0-9]*\\|\\.[0-9]+\\)\\([eE]\\(\\+\\|-\\)?[0-9]+\\)?\\_>") (defconst fuel-syntax--word-definition-regex (fuel-syntax--second-word-regex From 36dcb21857fbab76e4026311d334e762f11f17b4 Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Sat, 10 Jan 2009 06:40:01 +0100 Subject: [PATCH 3/4] FUEL: Font lock for integers, floats and ratios. --- misc/fuel/fuel-font-lock.el | 6 +++++- misc/fuel/fuel-syntax.el | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/misc/fuel/fuel-font-lock.el b/misc/fuel/fuel-font-lock.el index 45fd0758d5..bcddf82d18 100644 --- a/misc/fuel/fuel-font-lock.el +++ b/misc/fuel/fuel-font-lock.el @@ -55,6 +55,8 @@ ((comment comment "comments") (constructor type "constructors ()") (constant constant "constants and literal values") + (number constant "integers and floats") + (ratio constant "ratios") (declaration keyword "declaration words") (parsing-word keyword "parsing words") (setter-word function-name "setter words (>>foo)") @@ -80,7 +82,9 @@ (,fuel-syntax--alias-definition-regex (1 'factor-font-lock-word) (2 'factor-font-lock-word)) (,fuel-syntax--int-constant-def-regex 2 'factor-font-lock-constant) - (,fuel-syntax--number-regex . 'factor-font-lock-constant) + (,fuel-syntax--integer-regex . 'factor-font-lock-number) + (,fuel-syntax--float-regex . 'factor-font-lock-number) + (,fuel-syntax--ratio-regex . 'factor-font-lock-ratio) (,fuel-syntax--type-definition-regex 2 'factor-font-lock-type-name) (,fuel-syntax--method-definition-regex (1 'factor-font-lock-type-name) (2 'factor-font-lock-word)) diff --git a/misc/fuel/fuel-syntax.el b/misc/fuel/fuel-syntax.el index 0d85cf897e..93274c5160 100644 --- a/misc/fuel/fuel-syntax.el +++ b/misc/fuel/fuel-syntax.el @@ -84,8 +84,14 @@ (defconst fuel-syntax--method-definition-regex "^M: +\\([^ ]+\\) +\\([^ ]+\\)") -(defconst fuel-syntax--number-regex - "\\_<\\(\\+\\|-\\)?\\([0-9]+\\.?[0-9]*\\|\\.[0-9]+\\)\\([eE]\\(\\+\\|-\\)?[0-9]+\\)?\\_>") +(defconst fuel-syntax--integer-regex + "\\_<-?[0-9]+\\_>") + +(defconst fuel-syntax--ratio-regex + "\\_<-?\\([0-9]+\\+\\)?[0-9]+/-?[0-9]+\\_>") + +(defconst fuel-syntax--float-regex + "\\_<-?[0-9]+\\.[0-9]*\\([eE]-?[0-9]+\\)?\\_>") (defconst fuel-syntax--word-definition-regex (fuel-syntax--second-word-regex From 65e6a6ca848fc2eadd96165480829c3f0a6b589c Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Sat, 10 Jan 2009 15:44:03 +0100 Subject: [PATCH 4/4] FUEL: Bug in quotation pprint fixed. --- extra/fuel/fuel.factor | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/extra/fuel/fuel.factor b/extra/fuel/fuel.factor index 50f02f1a1a..07454a73f0 100644 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@ -69,13 +69,15 @@ M: integer fuel-pprint pprint ; inline M: string fuel-pprint pprint ; inline -M: sequence fuel-pprint - "(" write [ " " write ] [ fuel-pprint ] interleave ")" write ; inline +: fuel-pprint-sequence ( seq open close -- ) + [ write ] dip swap [ " " write ] [ fuel-pprint ] interleave write ; inline + +M: sequence fuel-pprint "(" ")" fuel-pprint-sequence ; inline + +M: quotation fuel-pprint "[" "]" fuel-pprint-sequence ; inline M: tuple fuel-pprint tuple>array fuel-pprint ; inline -M: quotation fuel-pprint pprint ; inline - M: continuation fuel-pprint drop ":continuation" write ; inline M: restart fuel-pprint name>> fuel-pprint ; inline