#!/usr/bin/perl -w

# Try 'dump-lisp ~/.emacs' or something like that

use Lisp::Reader  qw(lisp_read);
use Lisp::Printer qw(lisp_print);

use Getopt::Std;
use vars qw($opt_d $opt_s $opt_v);

unless (getopts("dsv")) {
    $0 =~ s,.*/,,;
    die "Usage: $0 [-d] [-s] [-v] <file>\n";
}

$Lisp::Reader::SYMBOLS_AS_STRINGS++ if $opt_s;
$Lisp::Reader::DEBUG++ if $opt_v;

my $file = shift || die "Usage: $0 <file>\n";
$lisp = `cat $file`;

my $form = lisp_read($lisp);

print $opt_d ? Lisp::Printer::dump($form) : lisp_print($form), "\n";

