[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev 2f8da348eb 3/5: Added "eev-kl-here.el".
From: |
ELPA Syncer |
Subject: |
[elpa] externals/eev 2f8da348eb 3/5: Added "eev-kl-here.el". |
Date: |
Sat, 23 Dec 2023 21:57:47 -0500 (EST) |
branch: externals/eev
commit 2f8da348eb2a4eb2dd7a148ac33ef3639419fab2
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>
Added "eev-kl-here.el".
---
ChangeLog | 4 ++
VERSION | 4 +-
eev-kl-here.el | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
eev-qrl.el | 2 +-
4 files changed, 135 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0b454f1608..73975260aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2023-12-23 Eduardo Ochs <eduardoochs@gmail.com>
+ * eev-kl-here.el: added a provide.
+
+ * eev-qrl.el: added a provide.
+
* eev-intro.el (find-templates-intro): rewrote the section "5.
Debugging the meat".
diff --git a/VERSION b/VERSION
index 7af5ae1501..8c3567ec48 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Sun Dec 24 01:23:55 GMT 2023
-Sat Dec 23 22:23:55 -03 2023
+Sun Dec 24 01:34:33 GMT 2023
+Sat Dec 23 22:34:33 -03 2023
diff --git a/eev-kl-here.el b/eev-kl-here.el
new file mode 100644
index 0000000000..de434aa093
--- /dev/null
+++ b/eev-kl-here.el
@@ -0,0 +1,128 @@
+;;; eev-kl-here.el -- Kill link to here. -*- lexical-binding: nil; -*-
+
+;; Copyright (C) 2023 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 <http://www.gnu.org/licenses/>.
+;;
+;; Author: Eduardo Ochs <eduardoochs@gmail.com>
+;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
+;; Version: 20231223
+;; Keywords: e-scripts
+;;
+;; Latest version: <http://anggtwu.net/eev-current/eev-kl-here.el>
+;; htmlized: <http://anggtwu.net/eev-current/eev-kl-here.el.html>
+;; See also: <http://anggtwu.net/eev-current/eev-beginner.el.html>
+;; <http://anggtwu.net/eev-intros/find-kla-intro.html>
+;; (find-kla-intro)
+
+;;; Commentary:
+
+;;; This file implements some commands that look like the ones in
+;;; `eev-kla.el' but that try to be smart in a way similar to
+;;; `find-here-links'. Everything here is VERY experimental.
+
+;; Index:
+;; «.generate-sexps» (to "generate-sexps")
+;; «.kill-sexps» (to "kill-sexps")
+;; «.aliases» (to "aliases")
+
+(require 'eev-kla) ; (find-eev "eev-kla.el")
+(require 'eev-hlinks) ; (find-eev "eev-hlinks.el")
+
+
+
+
+
+;;; ____
+;;; / ___| _____ ___ __ ___
+;;; \___ \ / _ \ \/ / '_ \/ __|
+;;; ___) | __/> <| |_) \__ \
+;;; |____/ \___/_/\_\ .__/|___/
+;;; |_|
+;;
+;; «generate-sexps» (to ".generate-sexps")
+;; See: (find-eev "eev-kla.el" "generate-sexps")
+;; (find-eev "eev-hlinks.el" "hprog")
+;; (find-efunction 'ee-find-info-links)
+;; (find-efunction 'ee-find-intro-links)
+;;
+(defun ee-find-einfo-link (str)
+ "An internal function used by `ee-kl-sexp-klin'."
+ (let ((pos-spec-list (if str (list str))))
+ (if (ee-info-shortp)
+ `(,(ee-info-shortf) ,(ee-info-node) ,@pos-spec-list)
+ `(find-node ,(ee-info-fullnode) ,@pos-spec-list))))
+
+(defun ee-find-eintro-link (str)
+ "An internal function used by `ee-kl-sexp-klin'."
+ (let* ((stem (ee-intro-stem))
+ (find-xxx-intro (ee-intern "find-%s-intro" stem))
+ (pos-spec-list (if str (list str))))
+ `(,find-xxx-intro ,@pos-spec-list)))
+
+(defun ee-kl-sexp-klin (&optional str)
+ "<K>ill <l>ink to a <in>fo or <in>tro - make sexp."
+ (cond ((ee-info-bufferp) (ee-find-einfo-link str))
+ ((ee-intro-bufferp) (ee-find-eintro-link str))
+ (t (error "Not in info or in an intro!"))))
+
+
+;; Todo: adapt:
+;; (find-eev "eev-hlinks.el" "ee-hprog-find-here-links")
+;; (find-eev "eev-hlinks.el" "ee-hlang-run")
+
+
+;;; _ ___ _ _
+;;; | |/ (_) | |___
+;;; | ' /| | | / __|
+;;; | . \| | | \__ \
+;;; |_|\_\_|_|_|___/
+;;;
+;; «kill-sexps» (to ".kill-sexps")
+;; Commands that push sexps into the kill ring.
+;; See: (find-eev "eev-kla.el" "kill-sexps")
+;;
+(defun eeklin ()
+ "<K>ill <l>ink to <in>fo or <in>tro."
+ (interactive)
+ (ee-kl-kill (ee-kl-sexp-klin nil)))
+
+(defun eeklins ()
+ "<K>ill <l>ink to <in>fo or <in>tro and a <s>tring."
+ (interactive)
+ (ee-kl-kill (ee-kl-sexp-klin (ee-kl-region))))
+
+
+;;; _ _ _
+;;; / \ | (_) __ _ ___ ___ ___
+;;; / _ \ | | |/ _` / __|/ _ \/ __|
+;;; / ___ \| | | (_| \__ \ __/\__ \
+;;; /_/ \_\_|_|\__,_|___/\___||___/
+;;;
+;; «aliases» (to ".aliases")
+;; See: (find-eev "eev-kla.el" "aliases")
+;; (find-kla-intro "4. Aliases")
+;; I use these aliases:
+;; (defalias 'klin 'eeklin)
+;; (defalias 'klins 'eeklins)
+
+
+(provide 'eev-kl-here)
+
+;; Local Variables:
+;; coding: utf-8-unix
+;; no-byte-compile: t
+;; End:
diff --git a/eev-qrl.el b/eev-qrl.el
index 1f3ab7ca5f..fb88ab04f0 100644
--- a/eev-qrl.el
+++ b/eev-qrl.el
@@ -100,7 +100,7 @@
(defalias 'qrl 'ee-qrl)
-
+(provide 'eev-qrl)
;; Local Variables:
;; coding: utf-8-unix