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/>.
#
#######





# «.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")
# «.eev-repository.tar»		(to "eev-repository.tar")
# «.sources.list»		(to "sources.list")
# «.what-the-deb»		(to "what-the-deb")
# «.backtick-eev-mode»		(to "backtick-eev-mode")

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





#####
#
# 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-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.20091125/
ln -s             eev-0.1.20091125 ~/usrc/eev/eev-0.1
cd     ~/usrc/eev/eev-0.1.20091125/

mkdir -p etc/emacs/site-start.d/
mkdir -p usr/share/emacs/site-lisp/eev/
mkdir -p usr/bin/
mkdir -p usr/share/eev/

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-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
mv -iv debian/control debian/control.orig

      ~/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

# (find-fline "~/usrc/eev/")
# (find-fline "~/usrc/eev/eev-0.1/usr/")
# (find-man "1 dpkg-buildpackage")
# dpkg-buildpackage -us -uc    -rfakeroot     |& tee odb
  dpkg-buildpackage -us -uc -b -rfakeroot     |& tee odb

# (find-fline "~/usrc/eev/eev-0.1/usr/")
# (find-fline "~/usrc/eev/eev-0.1/debian/eev/usr/bin/")
# (find-sh "cd ~/usrc/eev/eev-0.1/debian/eev/ && find")
# (find-sh "cd ~/usrc/eev/eev-0.1/debian/eev/ && find | sort")


#*
# «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/
laf
apt-ftparchive packages .
apt-ftparchive packages . \
  | tee        dists/./main/binary-i386/Packages \
  | gzip -c9 > dists/./main/binary-i386/Packages.gz

# «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
#
# Make a tarball of the repository:
cd ~/usrc/eev/
tar -cvf eev-repository.tar eev_* dists

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

* (fvwm-sloppy-focus)
* (eebgTWU)
* (fvwm-click-to-focus)
zsh
cd ~/slow_html/debian/
tar -xvf eev-repository.tar
#
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
aptrm eev
y
apti  eev
y

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










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










#  Local Variables:
#  coding:               raw-text-unix
#  ee-delimiter-hash:    "\n#*\n"
#  ee-delimiter-percent: "\n%*\n"
#  ee-anchor-format:     "«%s»"
#  End: