Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#######
#
# E-scripts on eev itself: demos, hints, packing, works in progress, etc.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/eev.e>
#           or at <http://angg.twu.net/e/eev.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######





# «.mailing-list»		(to "mailing-list")
# «.byte-compilation-bug»	(to "byte-compilation-bug")
# «.debian-package»		(to "debian-package")
# «.cdbs»			(to "cdbs")
# «.dh-make»			(to "dh-make")
# «.dh-make-2»			(to "dh-make-2")
# «.inspect-the-DEBIAN-dir»	(to "inspect-the-DEBIAN-dir")
# «.eev-deb-unpacked»		(to "eev-deb-unpacked")
# «.eev-repository.tar»		(to "eev-repository.tar")
# «.upload-the-deb»		(to "upload-the-deb")
# «.sources.list»		(to "sources.list")
# «.dpkg-i»			(to "dpkg-i")
# «.what-the-deb»		(to "what-the-deb")
# «.backtick-eev-mode»		(to "backtick-eev-mode")
# «.code-c-d-docs»		(to "code-c-d-docs")
# «.README.Debian»		(to "README.Debian")
# «.vnc2swf»			(to "vnc2swf")
# «.byzanz»			(to "byzanz")

# «.eev2.tgz»			(to "eev2.tgz")
# «.eev2-video-1.sh»		(to "eev2-video-1.sh")
# «.eev2-build-tgz»		(to "eev2-build-tgz")
# «.eev2-test-unpack»		(to "eev2-test-unpack")
# «.eev2-test»			(to "eev2-test")
# «.eev2-hmtlize-intros»	(to "eev2-hmtlize-intros")
# «.eev2-add-new-intro»		(to "eev2-add-new-intro")
# «.eev2-add-new-file»		(to "eev2-add-new-file")
# «.eev2-upload»		(to "eev2-upload")
# «.eev2-video-2.sh»		(to "eev2-video-2.sh")
# «.eev2-video3-eepitch»	(to "eev2-video3-eepitch")
# «.eev2-announcements»		(to "eev2-announcements")

# (find-angg "TEXINFO/eev-article.texi")
# (find-eevex "")
# (find-eevex "lua.e" "quick-presentation")





#####
#
# Mailing list
# 2012apr06
#
#####

# «mailing-list»  (to ".mailing-list")

# http://lists.gnu.org/archive/html/eev/        archives
# http://lists.nongnu.org/mailman/listinfo/eev  subscription
# http://dir.gmane.org/gmane.emacs.eev.devel    gmane
# http://news.gmane.org/gmane.emacs.eev.devel




#####
#
# Michael Heerdegen's bug
# 2008sep04
#
#####

# «byte-compilation-bug»  (to ".byte-compilation-bug")

Hi Michael!

Thanks a lot for your report - I've been able to reproduce the bug at
my machine... here's the e-script that I used, by the way:

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
rm -v /tmp/test.elc
cat > /tmp/test.el <<'%%%'
(setq y (+ 1 2))
%%%
cat > /tmp/loadeev.el <<'%%%'
(progn
  (add-to-list 'load-path "~/eev-current/")
  (require 'eev-all)
  (eev-mode 1))
(eev-mode 0)
(byte-compile-file "/tmp/test.el")
%%%
~/bigsrc/emacs/src/emacs -Q loadeev.el

The "loadeev.el" file gives me an easy way to choose which sexps to
execute.

I know very little about byte-compilation too (really!), but I have
some ideas for what to do to track down this bug... I'll try them over
the next days. Anyway: strangely, if I run the sexp

  (byte-compile-file "/tmp/test.el")

with M-5 M-e - this is a way to eval a sexp with debug-on-error
temporarily turned on - the byte-compiler does not stop when the "End
of file during parsing" error occurs...

  Cheers, & thanks again,
    Eduardo Ochs
    eduardoochs@gmail.com
    http://angg.twu.net/


P.S.: did you notice that byte-compiling test.el always gives a
warning?

  Compiling file /tmp/test.el at Thu Sep  4 22:48:58 2008
  test.el:1:7:Warning: assignment to free variable `y'
  test.el:1:3:Error: End of file during parsing

Assignment to non-defvar'ed variables is frowned upon...






#####
#
# New ideas for a Debian package for eev
# 2009jul26
#
#####

# «debian-package»  (to ".debian-package")
# «cdbs»  (to ".cdbs")
# (find-angg ".emacs" "debian-devel-docs")

# (find-efile "progmodes/ps-mode.el" ":prefix \"ps-run-\"")
# (find-fline "/usr/share/doc/emacsen-common/debian-emacs-policy.gz")
# (find-fline "/usr/share/emacs/")
# (find-fline "/etc/emacs/site-start.d/")
# (find-sitelispfile "maxima/")

# (find-status   "cdbs")
# (find-vldifile "cdbs.list")
# (find-udfile   "cdbs/")
# (find-udw3m "cdbs/cdbs-doc.html")
# (find-udw3m "cdbs/cdbs-doc.html" "\nSwitching the Package to CDBS\n\n")
# (find-udw3m "cdbs/cdbs-doc.html" "DEB_DESTDIR")
# (find-udw3m "cdbs/cdbs-doc.html" "build/myprog::")
# (find-fline "/usr/share/cdbs/1/")

# (find-sh "grep -niH -e cdbs ~/usrc/*/*/debian/*")
# (find-fline "~/usrc/camlp5/camlp5-5.10/debian/rules")

#*
# (eev-bounded)

rm -Rv ~/usrc/eev/
mkdir  ~/usrc/eev/
mkdir  ~/usrc/eev/eev-0.1/
mkdir  ~/usrc/eev/eev-0.1/debian/
cat >  ~/usrc/eev/eev-0.1/debian/rules <<'%%%'
#!/usr/bin/make -f
include /usr/share/cdbs/1/class/makefile.mk
include /usr/share/cdbs/1/rules/debhelper.mk
DEB_PACKAGES = eev
PKGNAME = eev
configure/$(PKGNAME):: debian/configure-stamp
debian/configure-stamp:
	./configure $(CONFIGURE_FLAGS)
	touch debian/configure-stamp
clean::
	rm -f debian/configure-stamp
build/$(PKGNAME)::
	$(MAKE) -C doc/
	echo foo > doc/foo
%%%

# (find-anggfile "mktclapp-3.9/debian/changelog")
# (find-fline "~/usrc/eev/eev-0.1/debian/changelog")
# (find-maintgtext "dh_make -e your.maintainer@address")
# (find-man "8 dh_make")

# (find-status   "dh-make")
# (find-vldifile "dh-make.list")
# (find-udfile   "dh-make/")

cat > ~/usrc/eev/eev-0.1/debian/changelog <<'%%%'
%%%

# (find-



cat  > ~/usrc/eev/eev-0.1/debian/control <<'%%%'
Source: eev
Section: editors
Priority: optional
Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
Uploaders: Eduardo Ochs <eduardoochs@gmail.com>
Standards-Version: 3.7.3
Build-Depends:

Package: eev
Architecture: any
Depends: emacsen-common
Recommends: maxima
Suggests: bash
Description: Eev.
 Long description.
%%%

cd     ~/usrc/eev/eev-0.1/
dpkg-buildpackage -us -uc -b -rfakeroot     |& tee odb

#*
# (find-fline "~/usrc/eev/eev-0.1/")
# (find-fline "~/usrc/eev/eev-0.1/debian/")




#####
#
# dh-make (first attempt, obsolete)
# 2009aug03
#
#####

# «dh-make»  (to ".dh-make")
# (find-eev "debian/control.sh")
# (find-eev "debian/90eev.el")
# (find-maintgtext "dh_make -e your.maintainer@address")
# (find-man "8 dh_make")
# (find-fline "/var/cache/apt/archives/")
# (find-fline "/var/cache/apt/archives/debian-el_29.3-2_all.deb")
#*
rm -Rv ~/usrc/eev/
mkdir  ~/usrc/eev/
mkdir  ~/usrc/eev/eev-0.1/
cd     ~/usrc/eev/eev-0.1/

mkdir -p etc/emacs/site-start.d/
mkdir -p usr/share/emacs/site-lisp/eev/
cat    > etc/emacs/site-start.d/90eev.el <<'%%%'
;; (find-angg ".emacs" "eev-block")
;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/eev")
;; (require 'eev-all)      ; (find-eev "eev-all.el")
;; (eev-mode 1)
(message "The debianized eev package would be loaded.")
%%%
cat    > usr/share/emacs/site-lisp/eev/foo.el <<'%%%'
(message "Foo!")
%%%
cat    > Makefile <<'%%%'
clean:
%%%

# (find-udw3m "cdbs/cdbs-doc.html" "DEB_DESTDIR")
# (find-udw3m "cdbs/cdbs-doc.html" "build/myprog::")
# (find-udw3m "cdbs/cdbs-doc.html" "install/foo::")
# (find-maintgtext "")
# (find-maintgtext "4.4. `rules' file")

# (find-man "8 dh_make")
echo | \
DEBFULLNAME="Eduardo Ochs" \
  dh_make --email eduardoochs@gmail.com \
          --copyright=gpl \
          --cdbs \
          --native

rm -v debian/README.Debian debian/*.EX debian/*.ex

cat >> debian/rules <<'%%%'
build/eev::
install/eev::
	echo "In install: $(DEB_DESTDIR)"
	cp -Rv etc/ usr/ debian/eev/
%%%

mv -iv debian/control debian/control.orig
cat >  debian/control <<'%%%'
Source: eev
Section: editors
Priority: extra
Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
Build-Depends: cdbs, debhelper (>= 7)
Standards-Version: 3.7.3
Homepage: http://angg.twu.net/

Package: eev
Architecture: all
Depends: emacs
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>
%%%

dpkg-buildpackage -us -uc -b -rfakeroot     |& tee odb

#*
# (find-fline "~/usrc/eev/eev-0.1/")
# (find-fline "~/usrc/eev/eev-0.1/odb")
# (find-fline "~/usrc/eev/eev-0.1/debian/")
# (find-fline "~/usrc/eev/eev-0.1/debian/control")
# (find-sh "cd ~/usrc/eev/eev-0.1/debian/eev/ && find")
# (find-fline "~/usrc/eev/eev-0.1/debian/dirs")

# (find-fline   "~/usrc/eev/eev_0.1_i386.deb")
# (find-sh "ar t ~/usrc/eev/eev_0.1_i386.deb")
# (find-sh "ar p ~/usrc/eev/eev_0.1_i386.deb control.tar.gz | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_i386.deb data.tar.gz    | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_i386.deb debian-binary")

# (find-fline   "~/usrc/eev/eev_0.1_all.deb")
# (find-sh "ar t ~/usrc/eev/eev_0.1_all.deb")
# (find-sh "ar p ~/usrc/eev/eev_0.1_all.deb control.tar.gz | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_all.deb data.tar.gz    | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_all.deb debian-binary")

# (find-man "1 ar")


# (find-maintgtext "5.4. dirs")
# cat > debian/dirs <<'%%%'
# /usr/share/emacs/site-lisp/eev
# etc/emacs/site-start.d
# %%%




#####
#
# Building a Debian package for eev with dh-make (attempt 2)
# 2009aug16 / 2009nov25
#
#####

# «dh-make-2»  (to ".dh-make-2")
# (find-angg ".emacs" "eevbuild")
# (find-dhmake-links "eev" "eevbuild" "20110612")

# (find-eev "debian/README.Debian" nil "How the .deb is built")
# (find-eevsh "ls *.el")
# (find-eev "debian/")
# (find-eev "debian/emacs-eev")
# (find-eev "debian/90eev.el")
# (find-eev "debian/Makefile")
# (find-eev "debian/rules")
# (find-eev "debian/control.sh")
# (find-eev "debian/README.Debian")
# (find-maintgtext "5.1. README.Debian")
# (find-es "lenny" "apt-ftparchive")
# (find-angg ".emacs" "date")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
#*
rm -Rv ~/usrc/eev/
mkdir  ~/usrc/eev/
mkdir  ~/usrc/eev/eev-0.1.20110612/
ln -s             eev-0.1.20110612 ~/usrc/eev/eev-0.1
cd     ~/usrc/eev/eev-0.1.20110612/

# Copy the files from (find-eev "debian/")
# to their correct positions in the build dir of the deb package.

# Create the directories,
mkdir -p etc/emacs/site-start.d/
mkdir -p usr/share/emacs/site-lisp/eev/
mkdir -p usr/bin/
mkdir -p usr/share/eev/

# Copy the files.
cp -v  ~/eev-current/debian/Makefile   .
cp -v  ~/eev-current/debian/emacs-eev  usr/bin/
cp -v  ~/eev-current/eev-rctool        usr/bin/
cp -v  ~/eev-current/debian/90eev.el   etc/emacs/site-start.d/
cp -av ~/eev-current/eev*.el           usr/share/emacs/site-lisp/eev/
cp -v  ~/eev-current/debian/eev_16.xpm usr/share/eev/
cp -v  ~/eev-current/debian/eev_32.xpm usr/share/eev/

# (find-udw3m "cdbs/cdbs-doc.html" "DEB_DESTDIR")
# (find-udw3m "cdbs/cdbs-doc.html" "build/myprog::")
# (find-udw3m "cdbs/cdbs-doc.html" "install/foo::")
# (find-man "1 dpkg-architecture" "linux-any")

# (find-maintgtext "")
# (find-maintgtext "4.4. `rules' file")

# (find-man "8 dh_make")
echo | \
DEBFULLNAME="Eduardo Ochs" \
  dh_make --email eduardoochs@gmail.com \
          --copyright=gpl \
          --cdbs \
          --native
rm -v debian/README.Debian
rm -v debian/*.EX
rm -v debian/*.ex
mv -iv debian/control debian/control.orig

# (find-eevbuilddfile "")
# (find-eevbuilddfile "rules")

      ~/eev-current/debian/control.sh    >  debian/control
cp -v ~/eev-current/debian/README.Debian    debian/README.Debian
cat   ~/eev-current/debian/rules         >> debian/rules
cp -v ~/eev-current/debian/eev.menu         debian/eev.menu
cp -v ~/eev-current/debian/eev.desktop      debian/eev.desktop

# (find-eev "debian/control.sh")
# (find-eev "debian/README.Debian")
# (find-eev "debian/rules")

# (find-eevbuildfile  "")
# (find-eevbuilddfile "")
# (find-eevbuilddfile "control")
# (find-man "1 dpkg-buildpackage")
# dpkg-buildpackage -us -uc    -rfakeroot     |& tee odb
  dpkg-buildpackage -us -uc -b -rfakeroot     |& tee odb
# (find-eevbuildfile "odb")

# «eev-deb-unpacked»  (to ".eev-deb-unpacked")
rm -Rv ~/usrc/eev/eev-unpacked/
mkdir  ~/usrc/eev/eev-unpacked/
mkdir  ~/usrc/eev/eev-unpacked/DEBIAN/
cd     ~/usrc/eev/
ar p eev_*_all.deb control.tar.gz | tar -C eev-unpacked/DEBIAN/ -xvzf -
ar p eev_*_all.deb data.tar.gz    | tar -C eev-unpacked/        -xvzf -

# (find-eevbuildufile "")
# (find-eevbuildufile "DEBIAN/")
# (find-eevbuildufile "DEBIAN/control")

# «inspect-the-DEBIAN-dir»  (to ".inspect-the-DEBIAN-dir")
# (find-eevbuildddsh "find * | sort")
# (find-eevbuildush  "find * | sort")

cd     ~/usrc/eev/
sudo dpkg -i eev*.deb
sudo dselect update

# (find-status   "eev")
# (find-vldifile "eev.list")
# (find-udfile   "eev/")

# (find-eev "debian/README.Debian")
# (find-angg "debian/README")

#*
# «apt-ftparchive»  (to ".apt-ftparchive")
# (find-es "lenny" "apt-ftparchive")
# (find-man "1 apt-ftparchive")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd     ~/usrc/eev/
mkdir -p dists/./main/binary-i386/
mkdir -p dists/./main/binary-amd64/
laf
apt-ftparchive packages .
apt-ftparchive packages . \
  | tee        dists/./main/binary-i386/Packages \
  | gzip -c9 > dists/./main/binary-i386/Packages.gz
apt-ftparchive packages . \
  | tee        dists/./main/binary-amd64/Packages \
  | gzip -c9 > dists/./main/binary-amd64/Packages.gz

find * | sort

# «eev-repository.tar»  (to ".eev-repository.tar")
# (find-sh "cd ~/usrc/eev/; find eev_* dists")
# (find-sh "cd ~/usrc/eev/; find eev_* dists -type f")
#   eev_0.1_all.deb
#   eev_0.1_i386.changes
#   dists/main/binary-i386/Packages.gz
#   dists/main/binary-i386/Packages
#   (find-twusfile "debian/dists/main/binary-i386/")
#   (find-twusfile "debian/dists/main/binary-i386/Packages")
#   (find-twusfile "debian/dists/main/binary-amd64/Packages")
#
# Make a tarball of the repository:
cd ~/usrc/eev/
tar -cvf eev-repository.tar eev_*_all.deb dists eev-unpacked/

# «upload-the-deb»  (to ".upload-the-deb")
# Copy it to twu and unpack it there:
# (find-fline "~/usrc/eev/")
# (find-fline "~/usrc/eev/eev-repository.tar")
# (find-twufile  "tmp/")
# (find-twusfile  "debian/")
# (find-twusfile  "debian/eev-repository.tar")
# (ee-cp "~/usrc/eev/eev-repository.tar" (ee-twufile "tmp/eev-repository.tar") 'over)
# (find-es "page" "makepagefromtar-at-twu")

* (fvwm-sloppy-focus)
* (eebgTWU)
* (fvwm-click-to-focus)
zsh
cd     ~/slow_html/debian/
rm -Rv ~/slow_html/debian/eev-unpacked/
laf
tar -xvf ~/tmp/eev-repository.tar
laf
laf  dists/
find dists/main/   | sort
find eev-unpacked/ | sort
#
cd; tar -xvf edrx.tar; rezshrc
{makepagefromtar; makepageindexhtmls} |& tee ~/ompft



# «sources.list»  (to ".sources.list")
# Patch the /etc/apt/sources.list file (by hand):
# (find-fline "/etc/apt/sources.list")
# (find-man "5 sources.list")
# (find-es "eev" "sources.list")
# deb file:/home/edrx/usrc/eev . main
# deb http://angg.twu.net/debian . main
#
#

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# Install the eev deb in the clean way:
sudo apt-get update
sudo dselect update

# (find-available "eev")
aptrm eev
y
apti  eev
y


# «dpkg-i»  (to ".dpkg-i")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# The dirty way:
cd     ~/usrc/eev/
sudo dpkg -i *.deb

# (find-sh "sudo dselect update")
# (find-available "eev")
# (find-status   "eev")
# (find-vldifile "eev.list")
# (find-udfile   "eev/")



# Test: log as aleph, run emacs-eev, type M-h M-e.
# (find-man "1 ssh" "-X" "Enables X11 forwarding.")
# (eev "ssh -X aleph@localhost xterm")

# To do: fix math glyphs,
#   http://angg.twu.net/debian/
#   http://angg.twu.net/debian/README
#   .dsc package.





#####
#
# What the debian package should do
# 2009aug03
#
#####

# «what-the-deb»  (to ".what-the-deb")
# (find-man "1 readlink")
# (find-node "(coreutils)")
# (find-node "(coreutils)readlink invocation")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
w emacs
laf /usr/bin/emacs
laf /etc/alternatives/emacs
laf /usr/bin/emacs22-x
laf /usr/bin/emacs22

# (find-angg ".zshrc" "ae")

cat > usr/bin/emacs-eev <<'%%%'
#!/bin/sh
exec emacs -fg bisque -bg black $*
%%%

# (find-enode "Action Arguments" "`--funcall=FUNCTION'")

# Mode: add "eev"
# (find-eevfile "eev.el" "define-minor-mode eev-mode")
# (find-elnode "Index" "* define-minor-mode:")
# (find-elnode "Defining Minor Modes" "`:lighter LIGHTER'")

Two packages: emacs-eev and emacs-eev-puro
  emacs-eev should be minimal (sort of)
  emacs-eev-puro should depend on maxima and such stuff

Icon pointing to /usr/bin/emacs-eev:
# (find-angg "elisp/myxpm.el")
# (find-eevfile "eev-icon.png")





#####
#
# Backticking the definition of eev-mode
# 2009aug18
#
#####

# «backtick-eev-mode»  (to ".backtick-eev-mode")
# (find-es "emacs" "define-minor-mode")
# To be done. Big mess at the moment.

# (find-elnode "Defining Minor Modes")
# (find-elnode "Defining Minor Modes" "hungry-mode")

# (find-evardescr 'minor-mode-list)
# (find-eapropos "hung")
# (find-eapropos "hung")
# (find-eapropos "mode-line")
# (find-eapropos "mode-line-modes")
# (find-evardescr 'mode-line-modes)
# (find-evardescr 'minor-mode-alist)
# (find-evardescr 'minor-mode-alist "hungry-mode")

# (find-efunction 'hungry-mode)
# (find-efunctionpp 'hungry-mode)

(setq hungry-mode-lighter " Hungry")
(setq hungry-mode-lighter " Hung")
(setq hungry-mode-lighter nil)
(define-minor-mode hungry-mode 
  :init-value 0
  :lighter hungry-mode-lighter
  :group 'hunger)

(hungry-mode 1)
(hungry-mode 0)

# (find-eevfile "eev.el" "define-minor-mode eev-mode")

# (find-eevfile "debian/90eev.el")




#####
#
# Adding documentation to functions generated by code-c-d and friends
# 2010jul30
#
#####

# «code-c-d-docs»  (to ".code-c-d-docs")
# (find-efunction 'find-code-c-d-new)
# (find-efunction 'code-c-d)

Just a vague idea at the moment...





#####
#
# Old stuff removed from the README.Debian
# 2010sep28
#
#####

# «README.Debian»  (to ".README.Debian")
# (find-eev "debian/README.Debian")


# «.exploring-the-deb»		(to "exploring-the-deb")
# «.what-the-deb-does»		(to "what-the-deb-does")
# «.how-the-deb-is-built»	(to "how-the-deb-is-built")
# «.upstream»			(to "upstream")
# «.repository»			(to "repository")

# «exploring-the-deb»  (to ".exploring-the-deb")
# «what-the-deb-does»  (to ".what-the-deb-does")
# «how-the-deb-is-built»  (to ".how-the-deb-is-built")


Exploring the .deb (without installing it)
==========================================
This package is so trivial at this moment that it would be pointless -
and misleading - to create a source debian package for it. The best
way to inspect the .deb, then, is to unpack it directly:

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
  rm -Rv ~/usrc/eev-deb/
  mkdir  ~/usrc/eev-deb/
  cd     ~/usrc/eev-deb/
  cp -v  ~/usrc/eev/eev_0.1_all.deb .

  ar t eev_0.1_all.deb
  ar p eev_0.1_all.deb debian-binary
  ar p eev_0.1_all.deb control.tar.gz | tar -tvzf -
  ar p eev_0.1_all.deb data.tar.gz    | tar -tvzf -

  mkdir DEBIAN/
  ar p eev_0.1_all.deb control.tar.gz | tar -C DEBIAN/ -xvzf -
  ar p eev_0.1_all.deb data.tar.gz    | tar -xvzf -
  #
  # (find-sh "cd ~/usrc/eev-deb/ && find | sort")
  # (find-fline "~/usrc/eev-deb/")



What the .deb does
==================
See:

In short: nothing! 8-)
Well, not exactly, but the .deb is incredibly non-invasive: the
"find-sh ... find | sort" above reports these files:


There are no installation scripts - no eev.{pre,post}{inst,rm} files in:
  (find-fline "/var/lib/dpkg/info/" "eev")
and the only thing that runs automatically in some sense is this file,
  (find-eev       "debian/90eev.el")
  /etc/emacs/site-start.d/90eev.el
that only contains one definition, for `eev-activate-initial' (see below).
If you start Emacs with
  (find-eev "debian/emacs-eev")
  /usr/bin/emacs-eev
rather than with "emacs", the "--funcall=eev-activate-initial"
argument in the emacs-eev script runs the `eev-activate-initial'
function in 90eev.el, which is:

  (defun eev-activate-initial ()
    (interactive)
    (add-to-list 'load-path "/usr/share/emacs/site-lisp/eev")
    (setq eev-lighter " eev")
    (require 'eev-all)      ; (find-eev "eev-all.el")
    (eev-mode 1))

it is that function that adds the /usr/share/emacs/site-lisp/eev/
directory to the load-path, loads the eev modules and turns on
eev-mode. So: if you invoke Emacs using the `emacs-eev' script you get
an Emacs with eev loaded - from /usr/share/emacs/site-lisp/eev/ - and
turned on; if you invoke the standard `emacs' there are no changes at
all - not even in the load-path!

  (find-debemacspoltext)

How the .deb is built
=====================
Currently, by this script:
  (find-es "eev" "dh-make-2")

# «upstream»  (to ".upstream")

Upstream
========
The correct way to obtain the *most current* eev source tree is to
fetch this tarball:
  http://angg.twu.net/edrx.tgz
It contains the sources that are used to generate the pages at
<http://angg.twu.net/>. That tarball is updated about twice a week.
The "official" eev-current tarball, at
  http://angg.twu.net/eev-current.tar.gz
is updated less often.

The .deb package is very alpha-ish now, and it is changing very often.


# «repository»  (to ".repository")

The repository
==============
It should be possible to install the .deb in your machine with apt by
adding this line to your /etc/apt/sources.list file,

  deb http://angg.twu.net/debian . main

and then doing the usual "apt-get update; apt-get install eev"
sequence.

The repository is generated with these commands:

  (find-es "eev" "eev-repository.tar")

actually they generate a tarball that you can install anywhere - e.g.,
on a local server (this is what I plan to do for the local undergrad
lab at my university). See:

  (find-es "eev" "sources.list")
  (find-fline "/etc/apt/sources.list")




#####
#
# vnc2swf
# 2010nov14
#
#####

# «vnc2swf»  (to ".vnc2swf")
# (find-es "vnc" "vnc2swf")
# (find-eev "anim/")
# (find-eev "examples/anim.e" "compile-vnc2swf")



#####
#
# byzanz
# 2010nov14
#
#####

# «byzanz»  (to ".byzanz")
# (find-eev "examples/anim.e" "movie1_A0")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti byzanz
# (find-status   "byzanz")
# (find-vldifile "byzanz.list")
# (find-udfile   "byzanz/")

# (find-man "1 byzanz-record")
# (find-man "1 byzanz-record" "--display=DISPLAY")
# (find-man "1 byzanz-record" "    byzanz ")
# (find-man "1 byzanz-playback")

# (find-sh "byzanz-record --help")
# (find-sh "byzanz-record --help-all")




# Kill the running vncserver
vncserver -kill :2
killall -9 Xrealvnc
rm -fv /tmp/.X2-lock
rm -fv /tmp/.X11-unix/X2

rm -Rv ~/.vnc/     ;# goodbye, old vnc password, goodbye
vncserver -geometry 600x400 -depth 16 :2
password
password

export DISPLAY=:0.0
my_vnc2swf -nostatus /tmp/channels.swf :2
password





#####
#
# eev2.tgz
# 2012nov03
#
#####

# «eev2.tgz» (to ".eev2.tgz")
# (find-angg ".zshrc" "eev2-files")
# (find-angg ".zshrc" "eev2-files" "eev2-test ()")
# (find-zsh "eev2-test")
# (find-eev "Makefile" "tarball" "VERSION")
# (find-eevsh "grep ^.require eev2-all.el")
# (find-eevsh "grep ^.require eev2-all.el | awk '{print $2}'")
# (find-eevsh "grep ^.require eev2-all.el | awk '{print substr($2, 2, length($2)-2)}'")
# (find-eevsh "grep ^.require eev2-all.el | awk '{print substr($2, 2, length($2)-2) \".el\"}'")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/eev-current/
(TZ=GMT date; date) > VERSION
A=( eepitch.el eev-wrap.el eev-flash.el eev-eval.el eev-multiwindow.el
    eev-mode.el eev-blinks.el eev-plinks.el eev-elinks.el
    eev-tlinks.el eev-code.el eev-env.el eev-brxxx.el eev-pdflike.el
    eev-audiovideo.el eev-anchors.el eev-intro.el eev-edit.el
    eejump.el eev-prepared.el eev-bounded.el eev-channels.el eev-rcirc.el )
tar -cvzf /tmp/eev2.tgz VERSION eev-readme.el eev2-all.el $A
laf       /tmp/eev2.tgz

# Test:
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv /tmp/eev/
mkdir  /tmp/eev/
cd     /tmp/eev/
tar -xvzf ../eev2.tgz
FvwmCommand "CursorMove +0 +100" &&
  emacs -Q -fn 6x13 -fg bisque -bg black eev-readme.el





#####
#
# eev2 videos: 1.sh
# 2012nov03
#
#####

# «eev2-video-1.sh» (to ".eev2-video-1.sh")
# (find-angg "eev-videos/1.sh")

* (find-sh0 "~/eev-videos/1.sh down xterm 80x30+0+0 ffmpeg 530x550+0+0")
# (find-fline    "/tmp/" "out.mp4")
# (find-sh0 "killall    ffmpeg")
# (find-sh0 "killall -9 ffmpeg")
* (find-mplayer0 "/tmp/out.mp4")

# (find-zsh "eev2-build-tgz")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
Scp -v /tmp/eev2.tgz edrx@angg.twu.net:slow_html/eev-current/
Scp -v /tmp/eev2.tgz edrx@angg.twu.net:public_html/eev-current/

* (eepitch-shell2)
* (eepitch-kill)
* (eepitch-shell2)
cd ~/eev-videos/
Scp -v 2* edrx@angg.twu.net:slow_html/eev-videos/



rm -Rv /tmp/eev/
mkdir  /tmp/eev/
cd     /tmp/eev/
wget http://angg.twu.net/eev-current/eev2.tgz && tar -xvzf eev2.tgz
# tar -C /tmp/eev/ -xvzf /tmp/eev2.tgz
emacs -Q -fn 6x13 -fg bisque -bg black eev-readme.el
# (find-fline "/tmp/eev/")
# (find-fline "/tmp/eev/eev-readme.el")



# (find-fline "/tmp/eev2-current.tar.gz")
# (find-eev "eev-readme.el")
# (find-eev-intro "\nInstalling eev\n")
# (find-efunction 'find-eev-intro "\nInstalling eev\n")



# (find-eevgrep "grep -nH -e ee-format *.el")
# (find-eevgrep "grep -nH -e find-function-read *.el")
# (find-eevgrep "grep -nH -e ee-buffer-name *.el")
# (find-eevgrep "grep -nH -e Info-goto-node *.el")
# (find-efunctiondescr 'Info-goto-node)
# (find-efunction      'Info-goto-node)
# (find-efunctiondescr 'info)
# (find-efunction      'info)

ee-buffer-name


(ee-no-properties (format-mode-line mode-line-format))



# (find-angg ".zshrc" "emacs-default")

cd /tmp/
cat > eev2-load.el <<'%%%'
(progn
 (menu-bar-mode 0)
 (tool-bar-mode 0)
 (scroll-bar-mode -1)
 (add-to-list 'load-path "~/eev-current/")
 (require 'eev2-all)
 (eev-mode 1)
 )
%%%

emacs-default-X -geometry 80x37+10+10 -Q eev2-load.el




#####
#
# eev2: pack, unpack, test
# 2012nov08
#
#####

# (find-angg ".zshrc" "eev2-files")
# «eev2-build-tgz»   (to ".eev2-build-tgz")
# «eev2-test-unpack» (to ".eev2-test-unpack")
# «eev2-test»        (to ".eev2-test")

# (find-eev "eev-readme.el")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -v /tmp/eev2.tgz
eev2-build-tgz
laf   /tmp/eev2.tgz
eev2-test

# (eek "M-h M-k C-x r l  ;; bookmark-bmenu-list")






#####
#
# eev2: htmlize intros
# 2012nov03
#
#####

# «eev2-hmtlize-intros» (to ".eev2-hmtlize-intros")
# (find-angg "eev-intros/README")
# (load    "~/eev-intros/README")
# file:///home/edrx/TH/L/eev-intros/
# file:///home/edrx/TH/L/eev-intros/find-eev-intro.html
#    http://angg.twu.net/eev-intros/
#    http://angg.twu.net/eev-intros/find-eev-intro.html



#####
#
# eev2: scripts to add a new intro
# 2012nov03
#
#####

# «eev2-add-new-intro» (to ".eev2-add-new-intro")
# (find-eev "eev-intro.el")
# (find-eev "eev-intro.el" ".find-eev-intro")
# (find-eev "eev-intro.el"  "find-eev-intro" "0. (find-eev-intro)")
# (find-angg "eev-intros/README")
# (find-blogme3 "angglisp.lua" "find_xxx_intros")
# (find-blogme3file "anggmake.lua" "eev-intros/find-eev-intro")
# (load    "~/eev-intros/README")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
makeL

# file:///home/edrx/TH/L/eev-intros/
# file:///home/edrx/TH/L/eev-intros/find-eev-intro.html





#####
#
# eev2: scripts to add a new file
# 2012nov03
#
#####

# «eev2-add-new-file» (to ".eev2-add-new-file")




#####
#
# eev2: upload
# 2012nov08
#
#####

# «eev2-upload» (to ".eev2-upload")
# «eev2-video-2.sh» (to ".eev2-video-2.sh")
# (find-angg ".zshrc" "eev2-files")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
eev2-build-tgz
~/eev-videos/2.sh record

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
eev2-build-tgz
eev2-upload -v
rm -v /tmp/eev2.tgz
~/eev-videos/2.sh record

# (find-angg "eev-videos/2.sh")

# http://www.emacswiki.org/emacs/EmacsForDebian








#####
#
# Video 3: eepitch
#
#####

# «eev2-video3-eepitch» (to ".eev2-video3-eepitch")
# (defun eejump-9 () (find-screencast-links  "108c 37c"))
# (find-eev-video-links "3pt-eepitch-preliminar")
# (find-eev "eepitch.el")

(defun eep2 (s1 s2)
  (eval s1) (eepitch-kill)
  (eval s2) (eepitch-kill)
  (find-wset "13o2_o_o"
	     `(ee-here ',s1)
	     `(ee-here ',s2)))







        A short video about eepitch
        ===========================
        Eduardo Ochs, 2012nov18
        http://angg.twu.net/#eev
  


* (eep2 '(eepitch-shell) '(eepitch-lua51))
* (eepitch-lua51)
readfile = function (fname)
    local f = assert(io.open(fname, "r"))
    local bigstr = f:read("*a")
    f:close()
    return bigstr
  end

* (eepitch-shell)
echo Hello... > /tmp/o
* (eepitch-lua51)
print(readfile("/tmp/o"))
* (eepitch-shell)
echo ...bye >> /tmp/o
* (eepitch-lua51)
print(readfile("/tmp/o"))





* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cat > /tmp/o <<'%%%'
Hello
  hello
    hello
%%%


* (eepitch-shell)
* (eepitch-kill)
* (eepitch-lua51)
* (eepitch-kill)
*














#####
#
# eev2: announcements
# 2012nov12
#
#####

# «eev2-announcements» (to ".eev2-announcements")
# http://lists.gnu.org/archive/html/eev/2012-11/msg00000.html
# http://www.emacswiki.org/EevMode
# http://angg.twu.net/#eev
# http://angg.twu.net/eev-videos/README.html

# http://www.youtube.com/watch?v=_B_4vhsmRRI Marco Baringer
# rfm: ok
# #emacs: ok

# FB
# BCCPURO
# kvsa







#  Local Variables:
#  coding:               raw-text-unix
#  modes:                (fundamental-mode emacs-lisp-mode)
#  ee-delimiter-hash:    "\n#*\n"
#  ee-delimiter-percent: "\n%*\n"
#  ee-anchor-format:     "«%s»"
#  End: