emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/eev 3120922 1/9: Changed the declaration of `ee-anchor-


From: Stefan Monnier
Subject: [elpa] externals/eev 3120922 1/9: Changed the declaration of `ee-anchor-format'.
Date: Thu, 25 Apr 2019 09:40:23 -0400 (EDT)

branch: externals/eev
commit 31209226ea26fbf568ccb43c34ed64b3248a3265
Author: Eduardo Ochs <address@hidden>
Commit: Eduardo Ochs <address@hidden>

    Changed the declaration of `ee-anchor-format'.
---
 eev-anchors.el   |   4 +-
 eev-blinks.el    |   1 -
 eev-code.el      |   1 -
 eev-edit.el      |   1 -
 eev-elinks.el    |   1 -
 eev-env.el       |   1 -
 eev-eval.el      |   1 -
 eev-intro.el     | 121 +++++++++++++++++++++++++++++++++++--------------------
 eev-mode.el      |   1 -
 eev-plinks.el    |   1 -
 eev-prepared.el  |   1 -
 eev-template0.el |   1 -
 eev-tlinks.el    |   1 -
 13 files changed, 80 insertions(+), 56 deletions(-)

diff --git a/eev-anchors.el b/eev-anchors.el
index cd5d1ae..81710af 100644
--- a/eev-anchors.el
+++ b/eev-anchors.el
@@ -76,7 +76,8 @@
 ;;;                                                                            
 
 (defvar ee-anchor-format "«%s»" "See `ee-goto-anchor'.")
-(put   'ee-anchor-format 'safe-local-variable 'stringp)
+;;;###autoload
+(put   'ee-anchor-format 'safe-local-variable #'stringp)
 
 ;; A paranoid setting would be:
 ;; (defvar ee-anchor-format nil "See `ee-goto-anchor'.")
@@ -165,6 +166,5 @@ See `ee-goto-anchor'."
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-blinks.el b/eev-blinks.el
index f3bad84..752fdc0 100644
--- a/eev-blinks.el
+++ b/eev-blinks.el
@@ -950,6 +950,5 @@ Hint: install the Debian package \"unicode-data\".")
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-code.el b/eev-code.el
index be2f727..e7bd337 100644
--- a/eev-code.el
+++ b/eev-code.el
@@ -350,6 +350,5 @@ Note: the POS-SPEC-LIST arguments are currently not used."
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-edit.el b/eev-edit.el
index 4f0dc62..6a37593 100644
--- a/eev-edit.el
+++ b/eev-edit.el
@@ -226,6 +226,5 @@ then just delete the current line."
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-elinks.el b/eev-elinks.el
index 9ba2af3..5423656 100644
--- a/eev-elinks.el
+++ b/eev-elinks.el
@@ -1436,6 +1436,5 @@ Use this when point is over a manpage name and you want 
links to that page."
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-env.el b/eev-env.el
index 7da01ff..2e5af38 100644
--- a/eev-env.el
+++ b/eev-env.el
@@ -139,6 +139,5 @@ See the source for details, examples, and tests."
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-eval.el b/eev-eval.el
index 80d0ab2..945cd93 100644
--- a/eev-eval.el
+++ b/eev-eval.el
@@ -217,6 +217,5 @@ See: (find-eval-intro)"
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-intro.el b/eev-intro.el
index f5a92ca..06600b4 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -1961,28 +1961,49 @@ incompatible with our convention of creating a script 
called
 
 5. Eev as an ELPA/MELPA package
 ===============================
-In march 2019 I prepared a first version of an \"emacs package\"
-for eev to make it installable by `M-x list-packages' - see:
+In march 2019 I prepared a first version of an emacs package for
+eev to make it installable by `M-x list-packages' - see:
 
   (find-enode    \"Packages\")
   (find-efaqnode \"Packages that do not come with Emacs\")
 
-and sent it to the emacs-devel mailing list. Apparently it could
-go into GNU ELPA, but the developers requested several changes in
-the code, and some of them go against some important design
-decisions. I will discuss them here.
+and submitted it to the emacs-devel mailing list:
+
+  http://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00433.html
+
+Stefan Monnier answered, and the rest of the discussion happened
+off-list. Apparently eev could go into GNU ELPA, but some changes
+and clean-ups were needed. I implemented most of what he
+proposed/requested, but three of the things that he asked for
+would demand changes that would make eev far less elegant and far
+less useful for beginners... in rough terms, the code should 1)
+be byte-compilable, 2) be compatible with lexical binding, and 3)
+have all the autoloads. My reasons for not complying - or for not
+complying NOW - are explained in the subsections below.
+
+I will try to submit eev to MELPA in the next few days - in
+mid-april 2019. I have the feeling that the issues blocking it
+from going into ELPA will take a few years to be solved.
+
+Btw: except for Stefan's e-mails ***100%*** the feedback that I
+received about eev in the last three years came from beginners.
+I am not willing to make changes that will make eev
+beginner-UNfriendly.
+
 
 
 
 5.1. Byte-compilation
 ---------------------
-All eev source files have a \"no-byte-compile: t\" in their local
-variables section. See:
+In standard packages all elisp files should be byte-compilable
+unless there is a very strong reason - but all eev source files
+have a \"no-byte-compile: t\" in their local variables section.
+See:
 
   (find-eevgrep \"grep --color -nH -e no-byte-compile: *.el\")
   (find-elnode \"Byte Compilation\" \"no-byte-compile: t\")
 
-Here is the reason. Each call to a `code-*' function defines some
+Here is why. Each call to a `code-*' function defines some
 functions dynamically - for example, `(code-c-d \"e\" ...)'
 defines `find-efile' - and the best way to inspect a function
 defined in this way is by using `find-functionpp'. Try:
@@ -2018,46 +2039,59 @@ have a reasonable corpus of functions for which
 `find-efunctionpp' shows something readable, which is good to
 help them understand the innards of Emacs.
 
-My view is that we have a \"new\" Emacs, that enforces
-byte-compilation and uses several data structures that are
-relatively opaque, built on top on an \"old\" Emacs that uses lots
-of simpler data structures, but in which many things are messier
-and more error-prone. I would love to add to eev functions to
-inspect these new data structures, but the \"old\" Emacs is the one
-that made me fell in love with Free Software and that made me
-spend years trying to convert people... and one of the underlying
-messages of eev is \"look, you can still use these simpler
-things\". Maybe I'm using \"simpler\" in a sense that is not very
-usual, so let me quote a paragraph from an article that I wrote
-about implementing a Forth in Lua:
-
-  \"I've met many people over the years who have been Forth
-  enthusiasts in the past, and we often end up discussing what
-  made Forth so thrilling to use at that time - and what we can
-  do to adapt its ideas to the computers of today. My personal
-  impression is that Forth's main points were not the ones that I
-  listed at the beginning of this section, and that I said that
-  were easy to quantify; rather, what was most important was that
-  nothing was hidden, there were no complex data structures
-  around with \"don't-look-at-this\" parts (think on garbage
-  collection in Lua, for example, and Lua's tables - beginners
-  need to be convinced to see these things abstractly, as the
-  concrete details of the implementation are hard), and
-  everything - code, data, dictionaries, stacks - were just
-  linear sequences of bytes, that could be read and modified
-  directly if we wished to. We had total freedom, defining new
-  words was quick, and experiments were quick to make; that gave
-  us a sense of power that was totally different from, say, the
-  one that a Python user feels today because he has huge
-  libraries at his fingertips.\"
+Here is an excerpt of one of my e-mails to Stefan:
+
+  I have the impression - please correct me if I'm wrong - that
+  you're proposing to replace the `find-efunctionpp' by something
+  more modern. My view is that we have a \"new\" Emacs, that
+  enforces byte-compilation and uses several data structures that
+  are relatively opaque, built on top on an \"old\" Emacs that
+  uses lots of simpler data structures, but in which many things
+  are messier and more error-prone. I would love to add to eev
+  functions to inspect these new data structures, but the \"old\"
+  Emacs is the one that made me fell in love with Free Software
+  and that made me spend years trying to convert people... and
+  one of the underlying messages of eev is \"look, you can still
+  use these simpler things\". Maybe I'm using \"simpler\" in a
+  sense that is not very usual, so let me quote a paragraph from
+  an article that I wrote about implementing a Forth in Lua:
+
+    \"I've met many people over the years who have been Forth
+    enthusiasts in the past, and we often end up discussing what
+    made Forth so thrilling to use at that time - and what we can
+    do to adapt its ideas to the computers of today. My personal
+    impression is that Forth's main points were not the ones that
+    I listed at the beginning of this section, and that I said
+    that were easy to quantify; rather, what was most important
+    was that nothing was hidden, there were no complex data
+    structures around with \"don't-look-at-this\" parts (think on
+    garbage collection in Lua, for example, and Lua's tables -
+    beginners need to be convinced to see these things
+    abstractly, as the concrete details of the implementation are
+    hard), and everything - code, data, dictionaries, stacks -
+    were just linear sequences of bytes, that could be read and
+    modified directly if we wished to. We had total freedom,
+    defining new words was quick, and experiments were quick to
+    make; that gave us a sense of power that was totally
+    different from, say, the one that a Python user feels today
+    because he has huge libraries at his fingertips.\"
 
     (From: http://angg.twu.net/miniforth-article.html)
 
 
 
+
 5.2. Dynamic binding
 --------------------
-See the comments in:
+Dependency on dynamic binding should be avoided - see:
+
+  (find-elnode \"Dynamic Binding\")
+  (find-elnode \"Dynamic Binding Tips\")
+  (find-elnode \"Lexical Binding\")
+
+but the main function that eev uses for template strings is
+intrinsically incompatible with lexical binding. See the comments
+in its source file:
 
   (find-eev \"eev-template0.el\")
 
@@ -2066,7 +2100,8 @@ See the comments in:
 5.3. Autoloads
 --------------
 I decided to mark only one function in eev as autoloadable -
-instead of hundreds. See the comments in:
+instead of hundreds - and this is very non-standard. See the
+comments in:
 
   (find-eev \"eev-load.el\")
 
diff --git a/eev-mode.el b/eev-mode.el
index a3f7ad4..c448857 100644
--- a/eev-mode.el
+++ b/eev-mode.el
@@ -315,6 +315,5 @@ Other commands:
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-plinks.el b/eev-plinks.el
index cb92f4c..2a5e31a 100644
--- a/eev-plinks.el
+++ b/eev-plinks.el
@@ -287,6 +287,5 @@
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-prepared.el b/eev-prepared.el
index bdf77f4..1dd80e9 100644
--- a/eev-prepared.el
+++ b/eev-prepared.el
@@ -250,6 +250,5 @@ See `eev' for more about $EE and the temporary script file."
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-template0.el b/eev-template0.el
index 52339e2..d8a2d48 100644
--- a/eev-template0.el
+++ b/eev-template0.el
@@ -126,6 +126,5 @@ Example:  (ee-template0 \"{<} a{(+ 2 3)} {>}\")
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:
diff --git a/eev-tlinks.el b/eev-tlinks.el
index 178b512..fc56a44 100644
--- a/eev-tlinks.el
+++ b/eev-tlinks.el
@@ -1874,6 +1874,5 @@ dofile \"{fname0}\"
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
-;; ee-anchor-format:  "«%s»"
 ;; no-byte-compile:   t
 ;; End:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]