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")
# «.isend»			(to "isend")

# «.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")
# «.move-to-eev-mode»		(to "move-to-eev-mode")
# «.video-eev-quick-0»		(to "video-eev-quick-0")
# «.video-eev-quick-1»		(to "video-eev-quick-1")
# «.video-sympy-1»		(to "video-sympy-1")
# «.video-sympy-1-end»		(to "video-sympy-1-end")

# «.carmen-1»			(to "carmen-1")
# «.eev-emacs-package»		(to "eev-emacs-package")
# «.eev-pkg-build»		(to "eev-pkg-build")
# «.eev-pkg-signing»		(to "eev-pkg-signing")

# (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")




#####
#
# isend
# 2016apr19
#
#####

# «isend» (to ".isend")
# (find-es "emacs" "isend")
# https://github.com/ffevotte/isend-mode.el
# https://github.com/ffevotte/isend-mode.el.git
# (find-git-links "https://github.com/ffevotte/isend-mode.el.git" "isendmode")
# (code-c-d "isendmode" "~/usrc/isend-mode.el/")
# (find-isendmodefile "")

(add-to-list 'load-path "~/usrc/isend-mode.el/")
(require 'isend-mode)
(require 'isend)
;; (find-efunctiondescr 'isend-mode)


# http://lists.gnu.org/archive/html/emacs-orgmode/2016-04/msg00495.html Xor3
# http://lists.gnu.org/archive/html/emacs-orgmode/2016-04/msg00498.html Edrx






# 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




#####
#
# Move all keybindings to eev-mode
# 2014mar25
#
#####

# «move-to-eev-mode» (to ".move-to-eev-mode")
# http://article.gmane.org/gmane.emacs.eev.devel/148
# http://lists.gnu.org/archive/html/eev/2014-03/index.html




#####
#
# video: eev-quick-0
# 2016oct08
#
#####

# «video-eev-quick-0» (to ".video-eev-quick-0")
# (find-angg ".emacs" "size")
# http://angg.twu.net/eev-videos/video-eev-quick-0.mp4
# (find-twusfile "eev-videos/")
# (find-angg "eev-videos/")

# Use this to reset aleph's home:
# (find-adduser-links "aleph" "aleph")

** Shrink this emacs window,
** start the recording,
** open an xterm covering the emacs window,
** and when the xterm finishes stop the recording.
**
* (set-frame-size nil  70 20)
{
  avconv -f x11grab -s xga -i :1.0 -y /tmp/out.mp4 &
  sudo -u aleph -i xterm -geometry +0+0
  killall avconv
}
* (set-frame-size nil  80 35)

** Test the video
** (find-video "/tmp/out.mp4")
** (find-video "~/eev-videos/video-eev-quick-0.mp4")
** (find-fline "~/eev-videos/" "video-eev-quick-0.mp4")




#####
#
# video: eev-quick-1
# 2016oct08
#
#####

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

# Use this to reset aleph's home:
# (find-adduser-links "aleph" "aleph")

** Use this to create "~aleph/es"
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd
sudo -u aleph -i
cat > ~/es <<'%%%'
#!/bin/sh
cd ~/eev/ &&
emacs \
  -Q -D -fg bisque -bg black -fn fixed \
  -T emacs_bare -geometry 167x49+0+0 \
  -l eev-readme.el --eval="(find-eev-quick-intro)"
%%%
chmod 755 ~/es
# ~/es
exit

** Shrink this emacs window,
** start the recording,
** open an xterm covering the emacs window,
** and when the xterm finishes stop the recording.
**
* (set-frame-size nil  70 20)
{
  avconv -f x11grab -s xga -i :1.0 -y /tmp/out.mp4 &
  # sudo -u aleph -i xterm -geometry +0+0
    sudo -u aleph -i ~aleph/es
  killall avconv
}

** Test the video
** (find-video "/tmp/out.mp4")
** (find-video "~/eev-videos/video-eev-quick-0.mp4")





#####
#
# video: eev-ipython-1
# 2016oct08
#
#####

# «video-sympy-1» (to ".video-sympy-1")

* (defun end0 () (message (find-sh0 "killall avconv")))
* (defun end  () (interactive) (end0) (find-es "eev" "video-sympy-1-end"))
*
* (eepitch-shell2)
* (eepitch-kill)
* (eepitch-shell2)
* (size 167 59)
avconv -f x11grab -s xga -i :1.0 -y /tmp/out.mp4 &
* (find-wset "1_" '(find-es "sympy" "tutorial"))

** «video-sympy-1-end» (to ".video-sympy-1-end")
* (eek "C-x 1")
* (size  80 35)
* ;; Test the video
* (find-googlechrome "file:///tmp/out.mp4")
* (size 210 61)

** (find-video "~/eev-videos/video-eev-quick-0.mp4")
** (find-video "/tmp/out.mp4")

* (eepitch-shell2)
* (eepitch-kill)
* (eepitch-shell2)
cd /tmp/
Scp-np -v out.mp4  edrx@angg.twu.net:/home/edrx/public_html/eev-videos/
# http://angg.twu.net/eev-videos/out.mp4







#####
#
# Carmen Astrid
# 2014aug10
#
#####

# «carmen-1» (to ".carmen-1")

{
  rm -Rv ~/eev/
  mkdir  ~/eev/
  cd     ~/eev/
  rm -v eev2.tgz
  wget http://angg.twu.net/eev-current/eev2.tgz
  tar -xvzf eev2.tgz
}

{
  {
    echo '#!/bin/sh'
    echo 'cd ~/eev/ && emacs -l ./eev-readme.el --eval="(find-eval-intro)"'
  } > ~/e
  chmod 755 ~/e
}

# (find-man "wget")
# (find-man "rm")
# (find-man "mkdir")
# (find-man "tar")
# (find-man "tar" "-x, --extract")
# (find-man "tar" "-v, --verbose")
# (find-man "tar" "-z, --gzip, --gunzip")
# (find-man "tar" "-f, --file ARCHIVE")

(Re)generate: (find-eval-intro)




#####
#
# eev as an Emacs package (in ELPA or so)
# 2014oct11
#
#####

# «eev-emacs-package» (to ".eev-emacs-package")
# (find-es "emacs" "packages")
# (find-angg ".emacs" "eev-package")

;; (find-elnode "Packaging")
;; (find-elnode "Packaging Basics")
;; (find-elnode "Packaging Basics" "Long description")
;; (find-elnode "Multi-file Packages")
;; (find-elnode "Package Archives")
;; (find-elnode "Package Archives" "package-x")
;; (find-elnode "Library Headers")
;; (find-elnode "Library Headers" "Finder")

;; (find-enode "Packages")
;; (find-enode "Package Installation")

;; (find-es "emacs" "packages")
;; (find-sh "locate package-x")
;; (find-efile "emacs-lisp/package-x.el")
;; (find-ecvsfile "test/automated/package-x-test.el")
;; (find-ecvsfile "Makefile" "check:")

;; (find-epackage 'magit)
;; (find-epackage  'magit     "Invoking the magit-status function")
;; (find-magitfile "magit.el" "Invoking the magit-status function")




#####
#
# eev-pkg: build
# 2014oct11
#
#####

# «eev-pkg-build» (to ".eev-pkg-build")
# (find-eev "eev-pkg.el")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
* (setenv "DATE" (find-sh0 "date +%Y%m%d"))
* (code-c-d "eevpkg" (format "~/usrc/eev-%s/" (getenv "DATE")))

eev2-build-tgz
DATE=$(date +%Y%m%d)
echo $DATE
rm -Rv ~/usrc/eev-*
mkdir  ~/usrc/eev-$DATE/
cd     ~/usrc/eev-$DATE/
tar -C ~/usrc/eev-$DATE/ -xvzf /tmp/eev2.tgz

cp -v ~/eev-current/eev-pkg.el ~/usrc/eev-$DATE/

cp -v eev2-all.el eev.el
** Fix this by hand:
*  (find-eevpkgfile "eev.el" "(provide '")
cd     ~/usrc/
tar -cvf /tmp/eev-$DATE.tar eev-$DATE/*.el
laf /tmp/eev-$DATE.tar

Scp-np -v /tmp/eev-$DATE.tar $TWUS/packages-el/
Scp-np -v /tmp/eev-$DATE.tar $TWUP/packages-el/


* (eepitch-Twu)
* (eepitch-kill)
* (eepitch-Twu)
zsh
rm -v ~/public_html/packages-el/index.html
makepageindexhtmls

# http://angg.twu.net/packages-el/

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

Scp -v eev-20141011.tar \
  edrx@angg.twu.net:/home/edrx/slow_html/



#####
#
# eev pkg signing
# 2014oct11
#
#####

# «eev-pkg-signing» (to ".eev-pkg-signing")
gpg --sign --detach -- archive-contents
gpg --sign --detach -- eev-0.1.tar






# (find-epackage 'eev)
# (find-epackages)
# (package-install-file "/tmp/eev-20141011.tar")
# (find-epackages)

# (find-fline "~/.emacs.d/elpa/")
# (find-fline "~/.emacs.d/elpa/" "eev")
# (find-angg ".emacs" "eev-package")
# (find-eevpkgfile "")
# (find-eevpkgfile "eev-autoloads.el")

# (find-fline "~/.emacs.d/elpa/")
# (find-fline "~/.emacs.d/elpa/eev-20141011/")














#  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: