summary refs log tree commit diff stats
path: root/README
blob: 57fce50892600d77b3fca9f325504958090a6c75 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
ranger v.1.5.0
==============
ranger is a file manager with VI key bindings.  It provides a minimalistic yet
nice curses interface with a view on the directory hierarchy.  The secondary
task of ranger is to psychically guess which program you want to use for
opening particular files.

This file describes ranger and how to get it to run.  For instructions on the
usage, please read the man page.


About
-----
* Authors:     Check the copyright notices in each source file
* License:     GNU General Public License Version 3

* Website:     http://ranger.nongnu.org/
* Download:    http://ranger.nongnu.org/ranger-stable.tar.gz
* GIT Clone:   http://git.sv.gnu.org/r/ranger.git
* Bug reports: https://savannah.nongnu.org/bugs/?group=ranger&func=additem


Design Goals
------------
* An easily maintainable file manager in a high level language
* A quick way to switch directories and browse the file system
* Keep it small but useful, do one thing and do it well
* Console based, with smooth integration into the unix shell


Features
--------
* UTF-8 Support  (if your python copy supports it)
* Multi-column display (Miller Columns)
* Preview of the selected file/directory
* Common file operations (create/chmod/copy/delete/...)
* Renaming multiple files at once
* VIM-like console and hotkeys
* Automatically determine file types and run them with correct programs
* Change the directory of your shell after exiting ranger
* Tabs, Bookmarks, Mouse support


Dependencies
------------
* Python (tested with version 2.6, 2.7, 3.1, 3.2) with the curses module

Optional:
* The "file" program
* A pager ("less" by default)
* The python module "chardet", in case of encoding detection problems

For scope.sh: (enhanced file previews)
* img2txt (from caca-utils) for previewing images
* highlight for syntax highlighting of code
* atool for previews of archives
* lynx or elinks for previews of html pages


Installing
----------

Use the package manager of your operating system to install ranger.

To install ranger manually:
    sudo make install

This translates roughly to:
    sudo ./setup.py install --optimize=1 --record=install_log.txt

This also saves a list of all installed files to install_log.txt, which you can
use to uninstall ranger.


Getting Started
---------------
ranger can be started without installing:  Just run ranger.py.  If you want to
install it anyway, the INSTALL file contains instructions.

After starting ranger, you can use the Arrow Keys (or hjkl) to navigate, Enter
to open a file or type Q to quit.  The column on the right shows a preview of
the current file.  The second from the right is the main column and the others
show parent directories.

An easy way to customize ranger is running "ranger --copy-config=all"
and editing the new files in ~/.config/ranger/.
='#n288'>288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533




















































































































































































































































































































































































































































































































































                                                                                                                                           
c{0: 0 (((1 channel-address)) <- ((init-channel)) ((1 literal))) -- nil
c{0: 1 (((2 integer)) <- ((copy)) ((34 literal))) -- nil
c{0: 2 (((3 tagged-value)) <- ((save-type)) ((2 integer))) -- nil
c{0: 3 (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value))) -- nil
c{0: 4 (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address))) -- nil
c{0: 5 (((5 integer)) <- ((get)) ((1 channel-address) (deref)) ((first-full offset))) -- nil
c{0: 6 (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value))) -- nil
c{0: 7 (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address))) -- nil
c{0: 8 (((6 integer)) <- ((get)) ((1 channel-address) (deref)) ((first-full offset))) -- nil
c{1: 0 ✓ (((1 channel-address)) <- ((init-channel)) ((1 literal)))
c{1: 1 ✓ (((2 integer)) <- ((copy)) ((34 literal)))
c{1: 2 ✓ (((3 tagged-value)) <- ((save-type)) ((2 integer)))
c{1: 3 ✓ (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value)))
c{1: 4 ✓ (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
c{1: 5 ✓ (((5 integer)) <- ((get)) ((1 channel-address) (deref)) ((first-full offset)))
c{1: 6 ✓ (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value)))
c{1: 7 ✓ (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
c{1: 8 ✓ (((6 integer)) <- ((get)) ((1 channel-address) (deref)) ((first-full offset)))
cn0: convert-names in main
cn0: (((1 channel-address)) <- ((init-channel)) ((1 literal))) nil nil
cn0: checking arg ((1 literal))
cn0: checking oarg ((1 channel-address))
maybe-add: ((1 channel-address))
cn0: (((2 integer)) <- ((copy)) ((34 literal))) nil nil
cn0: checking arg ((34 literal))
cn0: checking oarg ((2 integer))
maybe-add: ((2 integer))
cn0: (((3 tagged-value)) <- ((save-type)) ((2 integer))) nil nil
cn0: checking arg ((2 integer))
maybe-add: ((2 integer))
cn0: checking oarg ((3 tagged-value))
maybe-add: ((3 tagged-value))
cn0: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value))) nil nil
cn0: checking arg ((1 channel-address))
maybe-add: ((1 channel-address))
cn0: checking arg ((3 tagged-value))
maybe-add: ((3 tagged-value))
cn0: checking oarg ((1 channel-address) (deref))
maybe-add: ((1 channel-address) (deref))
cn0: (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address))) nil nil
cn0: checking arg ((1 channel-address))
maybe-add: ((1 channel-address))
cn0: checking oarg _
cn0: checking oarg ((1 channel-address) (deref))
maybe-add: ((1 channel-address) (deref))
cn0: (((5 integer)) <- ((get)) ((1 channel-address) (deref)) ((first-full offset))) nil nil
cn0: field-access first-full in 1channel-addressderef of type channel
cn0: new field; computing location
cn0: field location 0
cn0: checking arg ((1 channel-address) (deref))
maybe-add: ((1 channel-address) (deref))
cn0: checking arg ((first-full offset))
cn0: checking oarg ((5 integer))
maybe-add: ((5 integer))
cn0: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value))) ((first-full 0)) ((first-full t))
cn0: checking arg ((1 channel-address))
maybe-add: ((1 channel-address))
cn0: checking arg ((3 tagged-value))
maybe-add: ((3 tagged-value))
cn0: checking oarg ((1 channel-address) (deref))
maybe-add: ((1 channel-address) (deref))
cn0: (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address))) ((first-full 0)) ((first-full t))
cn0: checking arg ((1 channel-address))
maybe-add: ((1 channel-address))
cn0: checking oarg _
cn0: checking oarg ((1 channel-address) (deref))
maybe-add: ((1 channel-address) (deref))
cn0: (((6 integer)) <- ((get)) ((1 channel-address) (deref)) ((first-full offset))) ((first-full 0)) ((first-full t))
cn0: field-access first-full in 1channel-addressderef of type channel
cn0: checking arg ((1 channel-address) (deref))
maybe-add: ((1 channel-address) (deref))
cn0: checking arg ((first-full offset))
cn0: checking oarg ((6 integer))
maybe-add: ((6 integer))
cn1: (((1 channel-address)) <- ((init-channel)) ((1 literal)))
cn1: (((2 integer)) <- ((copy)) ((34 literal)))
cn1: (((3 tagged-value)) <- ((save-type)) ((2 integer)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value)))
cn1: (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
cn1: (((5 integer)) <- ((get)) ((1 channel-address) (deref)) ((0 offset)))
cn1: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value)))
cn1: (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
cn1: (((6 integer)) <- ((get)) ((1 channel-address) (deref)) ((0 offset)))
schedule: main
run: main 0: (((1 channel-address)) <- ((init-channel)) ((1 literal)))
run: init-channel/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: init-channel/main 0: 1000 => ((default-space space-address))
run: init-channel/main 1: (((1 channel-address)) <- ((new)) ((channel literal)))
run: init-channel/main 1: 1031 => ((1 channel-address))
mem: ((1 channel-address)): 1002 <= 1031
run: init-channel/main 2: (((2 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: init-channel/main 2: 1031 => ((2 integer-address))
mem: ((2 integer-address)): 1003 <= 1031
run: init-channel/main 3: (((2 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: init-channel/main 3: 0 => ((2 integer-address) (deref))
mem: ((2 integer-address) (deref)): 1031 <= 0
run: init-channel/main 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: init-channel/main 4: 1032 => ((3 integer-address))
mem: ((3 integer-address)): 1004 <= 1032
run: init-channel/main 5: (((3 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: init-channel/main 5: 0 => ((3 integer-address) (deref))
mem: ((3 integer-address) (deref)): 1032 <= 0
run: init-channel/main 6: (((4 integer)) <- ((next-input)))
arg: nil 0 (1)
run: init-channel/main 6: 1 => ((4 integer))
mem: ((4 integer)): 1005 <= 1
run: init-channel/main 7: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 1
run: init-channel/main 7: 2 => ((4 integer))
mem: ((4 integer)): 1005 <= 2
run: init-channel/main 8: (((5 tagged-value-array-address-address)) <- ((get-address)) ((1 channel-address) (deref)) ((2 offset)))
run: init-channel/main 8: 1033 => ((5 tagged-value-array-address-address))
mem: ((5 tagged-value-array-address-address)): 1006 <= 1033
run: init-channel/main 9: (((5 tagged-value-array-address-address) (deref)) <- ((new)) ((tagged-value-array literal)) ((4 integer)))
mem: ((4 integer)) => 2
run: init-channel/main 9: 1034 => ((5 tagged-value-array-address-address) (deref))
mem: ((5 tagged-value-array-address-address) (deref)): 1033 <= 1034
run: init-channel/main 10: (((reply)) ((1 channel-address)))
mem: ((1 channel-address)) => 1031
run: main 0: 1031 => ((1 channel-address))
mem: ((1 channel-address)): 1 <= 1031
run: main 1: (((2 integer)) <- ((copy)) ((34 literal)))
run: main 1: 34 => ((2 integer))
mem: ((2 integer)): 2 <= 34
run: main 2: (((3 tagged-value)) <- ((save-type)) ((2 integer)))
mem: ((2 integer)) => 34
run: main 2: #(tagged record (integer 34)) => ((3 tagged-value))
mem: ((3 tagged-value)): 3 <= integer
mem: ((3 tagged-value)): 4 <= 34
run: main 3: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value)))
mem: ((1 channel-address)) => 1031
mem: ((3 tagged-value)) => #(tagged record (integer 34 . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1039 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1031 #(tagged record (integer 34 . nil)))
run: write/main 1: 1031 => ((1 channel-address))
mem: ((1 channel-address)): 1041 <= 1031
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1031 #(tagged record (integer 34 . nil)))
run: write/main 2: #(tagged record (integer 34 . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1042 <= integer
mem: ((2 tagged-value)): 1043 <= 34
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 0 1034 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1070 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 0 1034 . nil)))
run: full?/write/main 1: #(tagged record (0 0 1034 . nil)) => ((1 channel))
mem: ((1 channel)): 1072 <= 0
mem: ((1 channel)): 1073 <= 0
mem: ((1 channel)): 1074 <= 1034
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1073 integer) (raw)) => 0
run: full?/write/main 2: 0 => ((4 integer))
mem: ((4 integer)): 1075 <= 0
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 0
run: full?/write/main 3: 1 => ((4 integer))
mem: ((4 integer)): 1075 <= 1
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (0 0 1034 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1101 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 0 1034 . nil)))
run: capacity/full?/write/main 1: #(tagged record (0 0 1034 . nil)) => ((1 channel))
mem: ((1 channel)): 1103 <= 0
mem: ((1 channel)): 1104 <= 0
mem: ((1 channel)): 1105 <= 1034
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1105 tagged-value-array-address) (raw)) => 1034
run: capacity/full?/write/main 2: 1034 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1106 <= 1034
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1034 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1107 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1076 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 2
run: full?/write/main 5: t => ((6 boolean))
mem: ((6 boolean)): 1077 <= t
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => t
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1072 integer) (raw)) => 0
run: full?/write/main 8: 0 => ((7 integer))
mem: ((7 integer)): 1078 <= 0
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 0
mem: ((4 integer)) => 1
run: full?/write/main 9: nil => ((8 boolean))
mem: ((8 boolean)): 1079 <= nil
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => nil
run: write/main 3: nil => ((4 boolean))
mem: ((4 boolean)): 1044 <= nil
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => nil
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1033 tagged-value-array-address) (raw)) => 1034
run: write/main 7: 1034 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1046 <= 1034
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1032 => ((7 integer-address))
mem: ((7 integer-address)): 1047 <= 1032
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 0
array-len: ((1034 tagged-value-array) (raw))
mem: ((1034 integer) (raw)) => 2
run: write/main 9: 1035 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1048 <= 1035
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (integer 34 . nil))
run: write/main 10: #(tagged record (integer 34 . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1035 <= integer
mem: ((8 tagged-value-address) (deref)): 1036 <= 34
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 0
run: write/main 11: 1 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1032 <= 1
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1034 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1049 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 1
mem: ((9 integer)) => 2
run: write/main 13: t => ((10 boolean))
mem: ((10 boolean)): 1050 <= t
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => t
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 1 1034 . nil))
run: main 3: #(tagged record (0 1 1034 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1031 <= 0
mem: ((1 channel-address) (deref)): 1032 <= 1
mem: ((1 channel-address) (deref)): 1033 <= 1034
run: main 4: (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1031
run: read/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/main 0: 1132 => ((default-space space-address))
run: read/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1031)
run: read/main 1: 1031 => ((1 channel-address))
mem: ((1 channel-address)): 1134 <= 1031
run: read/main 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (0 1 1034 . nil))
run: empty?/read/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/main 0: 1163 => ((default-space space-address))
run: empty?/read/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (0 1 1034 . nil)))
run: empty?/read/main 1: #(tagged record (0 1 1034 . nil)) => ((1 channel))
mem: ((1 channel)): 1165 <= 0
mem: ((1 channel)): 1166 <= 1
mem: ((1 channel)): 1167 <= 1034
run: empty?/read/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1165 integer) (raw)) => 0
run: empty?/read/main 2: 0 => ((4 integer))
mem: ((4 integer)): 1168 <= 0
run: empty?/read/main 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1166 integer) (raw)) => 1
run: empty?/read/main 3: 1 => ((5 integer))
mem: ((5 integer)): 1169 <= 1
run: empty?/read/main 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 0
mem: ((5 integer)) => 1
run: empty?/read/main 4: nil => ((6 boolean))
mem: ((6 boolean)): 1170 <= nil
run: empty?/read/main 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => nil
run: read/main 2: nil => ((2 boolean))
mem: ((2 boolean)): 1135 <= nil
run: read/main 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => nil
run: read/main 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/main 6: 1031 => ((4 integer-address))
mem: ((4 integer-address)): 1137 <= 1031
run: read/main 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1033 tagged-value-array-address) (raw)) => 1034
run: read/main 7: 1034 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 1138 <= 1034
run: read/main 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 0
array-len: ((1034 tagged-value-array) (raw))
mem: ((1034 integer) (raw)) => 2
mem: ((1035 tagged-value) (raw)) => #(tagged record (integer 34 . nil))
run: read/main 8: #(tagged record (integer 34 . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 1139 <= integer
mem: ((6 tagged-value)): 1140 <= 34
run: read/main 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 0
run: read/main 9: 1 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1031 <= 1
run: read/main 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1034 integer) (raw)) => 2
run: read/main 10: 2 => ((8 integer))
mem: ((8 integer)): 1141 <= 2
run: read/main 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 1
mem: ((8 integer)) => 2
run: read/main 11: t => ((9 boolean))
mem: ((9 boolean)): 1142 <= t
run: read/main 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => t
run: read/main 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (integer 34 . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 1 1034 . nil))
run: main 4: #(tagged record (integer 34 . nil)) => _
run: main 4: #(tagged record (1 1 1034 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1031 <= 1
mem: ((1 channel-address) (deref)): 1032 <= 1
mem: ((1 channel-address) (deref)): 1033 <= 1034
run: main 5: (((5 integer)) <- ((get)) ((1 channel-address) (deref)) ((0 offset)))
mem: ((1031 integer) (raw)) => 1
run: main 5: 1 => ((5 integer))
mem: ((5 integer)): 5 <= 1
run: main 6: (((1 channel-address) (deref)) <- ((write)) ((1 channel-address)) ((3 tagged-value)))
mem: ((1 channel-address)) => 1031
mem: ((3 tagged-value)) => #(tagged record (integer 34 . nil))
run: write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: write/main 0: 1194 => ((default-space space-address))
run: write/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1031 #(tagged record (integer 34 . nil)))
run: write/main 1: 1031 => ((1 channel-address))
mem: ((1 channel-address)): 1196 <= 1031
run: write/main 2: (((2 tagged-value)) <- ((next-input)))
arg: nil 1 (1031 #(tagged record (integer 34 . nil)))
run: write/main 2: #(tagged record (integer 34 . nil)) => ((2 tagged-value))
mem: ((2 tagged-value)): 1197 <= integer
mem: ((2 tagged-value)): 1198 <= 34
run: write/main 3: (((4 boolean)) <- ((full?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 1 1034 . nil))
run: full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: full?/write/main 0: 1225 => ((default-space space-address))
run: full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 1 1034 . nil)))
run: full?/write/main 1: #(tagged record (1 1 1034 . nil)) => ((1 channel))
mem: ((1 channel)): 1227 <= 1
mem: ((1 channel)): 1228 <= 1
mem: ((1 channel)): 1229 <= 1034
run: full?/write/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1228 integer) (raw)) => 1
run: full?/write/main 2: 1 => ((4 integer))
mem: ((4 integer)): 1230 <= 1
run: full?/write/main 3: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal)))
mem: ((4 integer)) => 1
run: full?/write/main 3: 2 => ((4 integer))
mem: ((4 integer)): 1230 <= 2
run: full?/write/main 4: (((5 integer)) <- ((capacity)) ((1 channel)))
mem: ((1 channel)) => #(tagged record (1 1 1034 . nil))
run: capacity/full?/write/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: capacity/full?/write/main 0: 1256 => ((default-space space-address))
run: capacity/full?/write/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 1 1034 . nil)))
run: capacity/full?/write/main 1: #(tagged record (1 1 1034 . nil)) => ((1 channel))
mem: ((1 channel)): 1258 <= 1
mem: ((1 channel)): 1259 <= 1
mem: ((1 channel)): 1260 <= 1034
run: capacity/full?/write/main 2: (((4 tagged-value-array-address)) <- ((get)) ((1 channel)) ((2 offset)))
mem: ((1260 tagged-value-array-address) (raw)) => 1034
run: capacity/full?/write/main 2: 1034 => ((4 tagged-value-array-address))
mem: ((4 tagged-value-array-address)): 1261 <= 1034
run: capacity/full?/write/main 3: (((5 integer)) <- ((length)) ((4 tagged-value-array-address) (deref)))
array-len: ((4 tagged-value-array-address) (deref))
mem: ((1034 integer) (raw)) => 2
run: capacity/full?/write/main 3: 2 => ((5 integer))
mem: ((5 integer)): 1262 <= 2
run: capacity/full?/write/main 4: (((reply)) ((5 integer)))
mem: ((5 integer)) => 2
run: full?/write/main 4: 2 => ((5 integer))
mem: ((5 integer)): 1231 <= 2
run: full?/write/main 5: (((6 boolean)) <- ((less-than)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 2
mem: ((5 integer)) => 2
run: full?/write/main 5: nil => ((6 boolean))
mem: ((6 boolean)): 1232 <= nil
run: full?/write/main 6: (((jump-if)) ((6 boolean)) ((1 offset)))
mem: ((6 boolean)) => nil
run: full?/write/main 7: (((4 integer)) <- ((copy)) ((0 literal)))
run: full?/write/main 7: 0 => ((4 integer))
mem: ((4 integer)): 1230 <= 0
run: full?/write/main 8: (((7 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1227 integer) (raw)) => 1
run: full?/write/main 8: 1 => ((7 integer))
mem: ((7 integer)): 1233 <= 1
run: full?/write/main 9: (((8 boolean)) <- ((equal)) ((7 integer)) ((4 integer)))
mem: ((7 integer)) => 1
mem: ((4 integer)) => 0
run: full?/write/main 9: nil => ((8 boolean))
mem: ((8 boolean)): 1234 <= nil
run: full?/write/main 10: (((reply)) ((8 boolean)))
mem: ((8 boolean)) => nil
run: write/main 3: nil => ((4 boolean))
mem: ((4 boolean)): 1199 <= nil
run: write/main 4: (((jump-unless)) ((4 boolean)) ((2 offset)))
mem: ((4 boolean)) => nil
run: write/main 7: (((6 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1033 tagged-value-array-address) (raw)) => 1034
run: write/main 7: 1034 => ((6 tagged-value-array-address))
mem: ((6 tagged-value-array-address)): 1201 <= 1034
run: write/main 8: (((7 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset)))
run: write/main 8: 1032 => ((7 integer-address))
mem: ((7 integer-address)): 1202 <= 1032
run: write/main 9: (((8 tagged-value-address)) <- ((index-address)) ((6 tagged-value-array-address) (deref)) ((7 integer-address) (deref)))
mem: ((7 integer-address) (deref)) => 1
array-len: ((1034 tagged-value-array) (raw))
mem: ((1034 integer) (raw)) => 2
run: write/main 9: 1037 => ((8 tagged-value-address))
mem: ((8 tagged-value-address)): 1203 <= 1037
run: write/main 10: (((8 tagged-value-address) (deref)) <- ((copy)) ((2 tagged-value)))
mem: ((2 tagged-value)) => #(tagged record (integer 34 . nil))
run: write/main 10: #(tagged record (integer 34 . nil)) => ((8 tagged-value-address) (deref))
mem: ((8 tagged-value-address) (deref)): 1037 <= integer
mem: ((8 tagged-value-address) (deref)): 1038 <= 34
run: write/main 11: (((7 integer-address) (deref)) <- ((add)) ((7 integer-address) (deref)) ((1 literal)))
mem: ((7 integer-address) (deref)) => 1
run: write/main 11: 2 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1032 <= 2
run: write/main 12: (((9 integer)) <- ((length)) ((6 tagged-value-array-address) (deref)))
array-len: ((6 tagged-value-array-address) (deref))
mem: ((1034 integer) (raw)) => 2
run: write/main 12: 2 => ((9 integer))
mem: ((9 integer)): 1204 <= 2
run: write/main 13: (((10 boolean)) <- ((less-than)) ((7 integer-address) (deref)) ((9 integer)))
mem: ((7 integer-address) (deref)) => 2
mem: ((9 integer)) => 2
run: write/main 13: nil => ((10 boolean))
mem: ((10 boolean)): 1205 <= nil
run: write/main 14: (((jump-if)) ((10 boolean)) ((1 offset)))
mem: ((10 boolean)) => nil
run: write/main 15: (((7 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: write/main 15: 0 => ((7 integer-address) (deref))
mem: ((7 integer-address) (deref)): 1032 <= 0
run: write/main 16: (((reply)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (1 0 1034 . nil))
run: main 6: #(tagged record (1 0 1034 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1031 <= 1
mem: ((1 channel-address) (deref)): 1032 <= 0
mem: ((1 channel-address) (deref)): 1033 <= 1034
run: main 7: (_ ((1 channel-address) (deref)) <- ((read)) ((1 channel-address)))
mem: ((1 channel-address)) => 1031
run: read/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: read/main 0: 1287 => ((default-space space-address))
run: read/main 1: (((1 channel-address)) <- ((next-input)))
arg: nil 0 (1031)
run: read/main 1: 1031 => ((1 channel-address))
mem: ((1 channel-address)): 1289 <= 1031
run: read/main 2: (((2 boolean)) <- ((empty?)) ((1 channel-address) (deref)))
mem: ((1 channel-address) (deref)) => #(tagged record (1 0 1034 . nil))
run: empty?/read/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: empty?/read/main 0: 1318 => ((default-space space-address))
run: empty?/read/main 1: (((1 channel)) <- ((next-input)))
arg: nil 0 (#(tagged record (1 0 1034 . nil)))
run: empty?/read/main 1: #(tagged record (1 0 1034 . nil)) => ((1 channel))
mem: ((1 channel)): 1320 <= 1
mem: ((1 channel)): 1321 <= 0
mem: ((1 channel)): 1322 <= 1034
run: empty?/read/main 2: (((4 integer)) <- ((get)) ((1 channel)) ((0 offset)))
mem: ((1320 integer) (raw)) => 1
run: empty?/read/main 2: 1 => ((4 integer))
mem: ((4 integer)): 1323 <= 1
run: empty?/read/main 3: (((5 integer)) <- ((get)) ((1 channel)) ((1 offset)))
mem: ((1321 integer) (raw)) => 0
run: empty?/read/main 3: 0 => ((5 integer))
mem: ((5 integer)): 1324 <= 0
run: empty?/read/main 4: (((6 boolean)) <- ((equal)) ((4 integer)) ((5 integer)))
mem: ((4 integer)) => 1
mem: ((5 integer)) => 0
run: empty?/read/main 4: nil => ((6 boolean))
mem: ((6 boolean)): 1325 <= nil
run: empty?/read/main 5: (((reply)) ((6 boolean)))
mem: ((6 boolean)) => nil
run: read/main 2: nil => ((2 boolean))
mem: ((2 boolean)): 1290 <= nil
run: read/main 3: (((jump-unless)) ((2 boolean)) ((2 offset)))
mem: ((2 boolean)) => nil
run: read/main 6: (((4 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset)))
run: read/main 6: 1031 => ((4 integer-address))
mem: ((4 integer-address)): 1292 <= 1031
run: read/main 7: (((5 tagged-value-array-address)) <- ((get)) ((1 channel-address) (deref)) ((2 offset)))
mem: ((1033 tagged-value-array-address) (raw)) => 1034
run: read/main 7: 1034 => ((5 tagged-value-array-address))
mem: ((5 tagged-value-array-address)): 1293 <= 1034
run: read/main 8: (((6 tagged-value)) <- ((index)) ((5 tagged-value-array-address) (deref)) ((4 integer-address) (deref)))
mem: ((4 integer-address) (deref)) => 1
array-len: ((1034 tagged-value-array) (raw))
mem: ((1034 integer) (raw)) => 2
mem: ((1037 tagged-value) (raw)) => #(tagged record (integer 34 . nil))
run: read/main 8: #(tagged record (integer 34 . nil)) => ((6 tagged-value))
mem: ((6 tagged-value)): 1294 <= integer
mem: ((6 tagged-value)): 1295 <= 34
run: read/main 9: (((4 integer-address) (deref)) <- ((add)) ((4 integer-address) (deref)) ((1 literal)))
mem: ((4 integer-address) (deref)) => 1
run: read/main 9: 2 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1031 <= 2
run: read/main 10: (((8 integer)) <- ((length)) ((5 tagged-value-array-address) (deref)))
array-len: ((5 tagged-value-array-address) (deref))
mem: ((1034 integer) (raw)) => 2
run: read/main 10: 2 => ((8 integer))
mem: ((8 integer)): 1296 <= 2
run: read/main 11: (((9 boolean)) <- ((less-than)) ((4 integer-address) (deref)) ((8 integer)))
mem: ((4 integer-address) (deref)) => 2
mem: ((8 integer)) => 2
run: read/main 11: nil => ((9 boolean))
mem: ((9 boolean)): 1297 <= nil
run: read/main 12: (((jump-if)) ((9 boolean)) ((1 offset)))
mem: ((9 boolean)) => nil
run: read/main 13: (((4 integer-address) (deref)) <- ((copy)) ((0 literal)))
run: read/main 13: 0 => ((4 integer-address) (deref))
mem: ((4 integer-address) (deref)): 1031 <= 0
run: read/main 14: (((reply)) ((6 tagged-value)) ((1 channel-address) (deref) (same-as-arg 0)))
mem: ((6 tagged-value)) => #(tagged record (integer 34 . nil))
mem: ((1 channel-address) (deref) (same-as-arg 0)) => #(tagged record (0 0 1034 . nil))
run: main 7: #(tagged record (integer 34 . nil)) => _
run: main 7: #(tagged record (0 0 1034 . nil)) => ((1 channel-address) (deref))
mem: ((1 channel-address) (deref)): 1031 <= 0
mem: ((1 channel-address) (deref)): 1032 <= 0
mem: ((1 channel-address) (deref)): 1033 <= 1034
run: main 8: (((6 integer)) <- ((get)) ((1 channel-address) (deref)) ((0 offset)))
mem: ((1031 integer) (raw)) => 0
run: main 8: 0 => ((6 integer))
mem: ((6 integer)): 6 <= 0
schedule: done with routine nil