;;; eev-beginner.el -- load eev, turn eev-mode on, open a tutorial.
;; Copyright (C) 2019-2021 Free Software Foundation, Inc.
;;
;; This file is part of GNU eev.
;;
;; GNU eev is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; GNU eev is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see .
;;
;; Author: Eduardo Ochs
;; Maintainer: Eduardo Ochs
;; Version: 20210506
;; Keywords: e-scripts
;;
;; Latest version:
;; htmlized:
;;
;; (find-eev-quick-intro)
;;; Commentary:
;; This file loads all modules of eev, turns eev-mode on, and opens
;; the main tutorial - i.e., runs `(find-eev-quick-intro)'. It is used
;; by the two most common ways of installing eev:
;;
;; 1) If you install eev as an emacs package via `M-x list-packages'
;; then no eev modules will be loaded UNTIL you run `M-x
;; eev-beginner', which loads everything, starts eev-mode, and
;; opens the main tutorial. Note that `eev-beginner' is the ONLY
;; autoloaded function in eev! See:
;;
;; (find-eev-quick-intro "1. Installing eev")
;; (find-eev-intro "1. `eev-mode'")
;; (find-eev-intro "1. `eev-mode'" "If you load eev")
;;
;; 2) Some people start playing with Emacs+eev by copying and pasting
;; a certain script to a shell in a terminal and executing it,
;; following the instructions here:
;;
;; (find-eev-quick-intro "1. Installing eev")
;; (find-eev-quick-intro "1. Installing eev" "tarball")
;; (find-eev-install-intro "5.1. Using the tarball")
;;
;; That script creates an executable file called "~/eev" whose contents
;; are something like this:
;;
;; #!/bin/sh
;; cd ~/eev2/ && emacs -l eev-beginner.el --eval="(find-eev-quick-intro)" $*
;;
;; Running "~/eev" on a shell starts Emacs and makes it load this
;; file - that loads all the other modules of eev - and then makes
;; Emacs evaluate the sexp `(find-eev-quick-intro)', that opens the
;; main tutorial.
;;
;; The idea is that even after installing eev:
;;
;; 1) it should be trivial to try eev in "beginner mode",
;;
;; 2) it should be trivial to start an Emacs without anything from
;; eev, or with at most with one "autoload" from eev - see:
;;
;; (find-enode "Lisp Libraries" "autoloaded")
;;
;; Some people are very finicky about packages that make global
;; changes when loaded. Loading all modules of eev causes the (almost
;; insignificant?) global changes described here,
;;
;; (find-eev-intro "1. " "the only" "things that happen")
;;
;; that aren't reverted by deactivating eev-mode with `M-x eev-mode',
;; and eev defines some functions with the prefix `find-', as
;; explained here:
;;
;; (find-eev-intro "4. The prefix `find-'")
;;
;; I've tried to make eev friendly to several kinds of people,
;; including total beginners and very finicky old-timers, and this
;; file - "eev-beginner.el" - seems to provide a good solution.
;;
;; The instructions for making Emacs load eev at startup are here:
;;
;; (find-eev-install-intro "2. The expert setup")
;; NOTE: older versions of eev loaded "eev-readme.el" instead of
;; "eev-beginner.el". Compare:
;;
;; (find-eev "eev-readme.el")
;; (find-eev "eev-load.el")
;; 2019mar13: Commented this out.
;; 2019mar29: Uncommented - it seems that emacs25 needs this.
(add-to-list 'load-path default-directory)
;; Load all the main modules of eev.
;; Do not load some advanced modules that require extra setup.
;; See the comments here: (find-eev "eev-load.el")
(require 'eev-load)
;; Turn eev-mode on.
;; See: (find-eev-intro "1. `eev-mode'")
(eev-mode 1)
;; Open the main tutorial.
(find-eev-quick-intro)
;; `eev-beginner' is the only autoload of eev at this moment.
;; See: (find-elnode "Autoload" "magic autoload comment")
;; (find-eev "eev-load.el" "autoloads")
;;;###autoload
(defun eev-beginner ()
"Load all basic modules of eev, turn eev-mode on, and open a tutorial."
(interactive)
(require 'eev-load)
(eev-mode 1)
(find-eev-quick-intro))
(provide 'eev-beginner)
;; Local Variables:
;; coding: utf-8-unix
;; no-byte-compile: t
;; End: