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

[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



reply via email to

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