From 8ec11ad525ffc11b9e9c637d9ce4539252a3436f Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 23 Aug 2012 18:11:26 -0700 Subject: [PATCH] Fixes for Rust language changes --- src/servo/engine.rs | 9 +++++---- src/servo/macros.rs | 24 ++++++++++++------------ src/servo/parser/css_lexer.rs | 2 +- src/servo/parser/hubbub_html_parser.rs | 14 ++++++++------ 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/servo/engine.rs b/src/servo/engine.rs index 868ffd0edf0..79d1fc7609d 100644 --- a/src/servo/engine.rs +++ b/src/servo/engine.rs @@ -66,7 +66,7 @@ impl Engine { let mut request = request; loop { - select! { + select!( request => { LoadURL(url) -> next { // TODO: change copy to move once we have match move @@ -94,12 +94,12 @@ impl Engine { break } } - } + ) } } } -proto! EngineProto { +proto! EngineProto( Running:send { LoadURL(url) -> Running, Exit -> Exiting @@ -108,4 +108,5 @@ proto! EngineProto { Exiting:recv { Exited -> ! } -} +) + diff --git a/src/servo/macros.rs b/src/servo/macros.rs index 7538bc7698e..c98b701d033 100644 --- a/src/servo/macros.rs +++ b/src/servo/macros.rs @@ -1,14 +1,14 @@ { - macro_rules! move_ref { + macro_rules! move_ref( { $x:expr } => { unsafe { let y <- *ptr::addr_of(*$x); y } } - } + ) - macro_rules! move_val { + macro_rules! move_val( { $x:expr } => { unsafe { let y <- *ptr::addr_of(*$x); y } } - } + ) // select! - macro_rules! select_if { + macro_rules! select_if( { $index:expr, @@ -39,19 +39,19 @@ _ => fail } } else { - select_if!{ + select_if!( $index, $count + 1 $(, $ports => [ $(type_this $messages$(($(x $xs),+))dont_type_this* -> $nexts => { $es }),+ ])* - } + ) } }; - } + ) - macro_rules! select { + macro_rules! select( { $( $port:path => { $($message:path$(($($x: ident),+))dont_type_this* @@ -59,10 +59,10 @@ } )+ } => { let index = pipes::selecti([$(($port).header()),+]/_); - select_if!{index, 0 $(, $port => [ + select_if!(index, 0 $(, $port => [ $(type_this $message$(($(x $x),+))dont_type_this* -> $next => { $e }),+ - ])+} + ])+) } - } + ) } diff --git a/src/servo/parser/css_lexer.rs b/src/servo/parser/css_lexer.rs index e76149278b1..67e8c288750 100644 --- a/src/servo/parser/css_lexer.rs +++ b/src/servo/parser/css_lexer.rs @@ -259,7 +259,7 @@ fn spawn_css_lexer_from_string(-content : ~str) -> pipes::port { do task::spawn { let input_port = comm::port(); - input_port.send(Payload(str::bytes(content))); + input_port.send(Payload(str::to_bytes(content))); input_port.send(Done(ok(()))); lex_css_from_bytes(input_port, result_chan); diff --git a/src/servo/parser/hubbub_html_parser.rs b/src/servo/parser/hubbub_html_parser.rs index 95e623e435b..cd236efece6 100644 --- a/src/servo/parser/hubbub_html_parser.rs +++ b/src/servo/parser/hubbub_html_parser.rs @@ -145,6 +145,8 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa js_script_listener(js_chan, js_port, resource_task); }; + let (scope, url) = (@copy scope, @copy url); + // Build the root node. let root = scope.new_node(Element(ElementData(~"html", ~HTMLDivElement))); debug!("created new node"); @@ -153,11 +155,11 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa parser.set_document_node(reinterpret_cast(root)); parser.enable_scripting(true); parser.set_tree_handler(@hubbub::TreeHandler { - create_comment: |data| { + create_comment: |_data| { debug!("create comment"); - 0u + 0u // FIXME: causes segfaults }, - create_doctype: |doctype| { + create_doctype: |_doctype| { debug!("create doctype"); let new_node = scope.new_node(Element(ElementData(~"doctype", ~UnknownElement))); reinterpret_cast(new_node) @@ -202,7 +204,7 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa match (element.get_attr(~"rel"), element.get_attr(~"href")) { (some(rel), some(href)) if rel == ~"stylesheet" => { debug!("found CSS stylesheet: %s", href); - css_chan.send(CSSFileMessage(make_url(href, some(copy url)))); + css_chan.send(CSSFileMessage(make_url(href, some(copy *url)))); } _ => {} } @@ -268,7 +270,7 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa match element.get_attr(~"src") { some(src) => { debug!("found script: %s", src); - let new_url = make_url(src, some(copy url)); + let new_url = make_url(src, some(copy *url)); js_chan.send(JSFileMessage(new_url)); } none => {} @@ -283,7 +285,7 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa debug!("set tree handler"); let input_port = port(); - resource_task.send(Load(copy url, input_port.chan())); + resource_task.send(Load(copy *url, input_port.chan())); debug!("loaded page"); loop { match input_port.recv() {