mirror of
				https://github.com/flynx/Slang.git
				synced 2025-10-31 19:40:10 +00:00 
			
		
		
		
	fixed a bug in the Slang b2s word...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									0743ead8ef
								
							
						
					
					
						commit
						b14dae9bdf
					
				| @ -59,6 +59,11 @@ | ||||
| 	font-family: monospace; | ||||
| } | ||||
| 
 | ||||
| .word[builtin=yes] { | ||||
| 	font-style: italic; | ||||
| 	color: blue; | ||||
| } | ||||
| 
 | ||||
| #stack { | ||||
| 	opacity: 0.8; | ||||
| } | ||||
| @ -69,6 +74,9 @@ | ||||
| <script> | ||||
| 
 | ||||
| function stringifySlangCode(code){ | ||||
| 	if(code == null){ | ||||
| 		return code | ||||
| 	} | ||||
| 	if(typeof(code) == typeof('str') && /\s/.test(code)){ | ||||
| 		return '\''+code+'\'' | ||||
| 	} else if(code.constructor.name == 'Array'){ | ||||
| @ -163,10 +171,13 @@ function showAvailableWords(){ | ||||
| 		}) | ||||
| 		.map(function(e){ | ||||
| 			var code = NAMESPACE[e] | ||||
| 			var builtin = 'no' | ||||
| 			if(code.constructor.name == 'Array'){ | ||||
| 				code = stringifySlangCode(code) | ||||
| 			} else if(typeof(code) == typeof(function(){})){ | ||||
| 				builtin = 'yes' | ||||
| 			} | ||||
| 			return '<span title="'+code+'">'+e+'</span>' | ||||
| 			return '<span class="word" builtin="'+builtin+'" title="'+code+'">'+e+'</span>' | ||||
| 		}) | ||||
| 		.join(', ') | ||||
| } | ||||
|  | ||||
| @ -151,6 +151,7 @@ var NAMESPACE = { | ||||
| 	// ... [ ... ] -- ... ...
 | ||||
| 	'b2s': function(context){ | ||||
| 		var c = context.stack.pop() | ||||
| 		c = c === undefined ? [] : c | ||||
| 		context.stack.splice.apply(context.stack, [context.stack.length, 0].concat(c)) | ||||
| 	}, | ||||
| 	'print': function(context){ | ||||
| @ -294,6 +295,11 @@ var NAMESPACE = { | ||||
| 	'dup': function(context){ | ||||
| 		return context.stack[context.stack.length-1] | ||||
| 	}, | ||||
| 	// x -- x'
 | ||||
| 	// NOTE: this will do a deep copy...
 | ||||
| 	'clone': function(context){ | ||||
| 		return JSON.parse(JSON.stringify(context.stack.pop())) | ||||
| 	}, | ||||
| 	// x --
 | ||||
| 	'drop': function(context){ | ||||
| 		context.stack.pop() | ||||
| @ -497,6 +503,9 @@ var BOOTSTRAP = [ | ||||
| '--', | ||||
| '-- With that out of the way, let\'s start with the bootstrap...', | ||||
| '--', | ||||
| '-- make a new block instance shorthand...', | ||||
| ':: [] [ [ ] clone ]', | ||||
| '', | ||||
| ':: _swap ( x | y -- y | x ) [ 1 1 _swapN ]', | ||||
| ':: _push ( x |  -- | x ) [ 0 _swapN ]', | ||||
| ':: _pull (  | x -- x |  ) [ 0 swap _swapN ]', | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user