Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;;; eejump.el -- jump quickly to predefined places. -*- lexical-binding: nil; -*- ;; Copyright (C) 2012-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 <[email protected]> ;; Maintainer: Eduardo Ochs <[email protected]> ;; Version: 20230127 ;; Keywords: e-scripts ;; ;; Latest version: <http://anggtwu.net/eev-current/eejump.el> ;; htmlized: <http://anggtwu.net/eev-current/eejump.el.html> ;; See also: <http://anggtwu.net/eev-current/eev-beginner.el.html> ;; <http://anggtwu.net/eev-intros/find-eev-intro.html> ;; <http://anggtwu.net/eev-intros/find-eev-quick-intro.html> ;; <http://anggtwu.net/eev-intros/find-eejump-intro.html> ;; (find-eev-intro) ;; (find-eev-quick-intro) ;; (find-eejump-intro) ;;; Commentary: ;; This file defines `eejump', that is bound to `M-j'. Its usage is ;; explained here: ;; ;; (find-eev-quick-intro "7.1. `eejump'") ;; (find-eev-quick-intro "7.2. The list of eejump targets") ;; ;; The functions `find-eejumps' - that is invoked when we type `M-j' ;; without an argument - and `eewrap-eejump' - invoked by `M-J' - are ;; defined in other files: ;; ;; (find-eev "eev-mode.el" "eev-mode-map-set" "M-j" "eejump") ;; (find-eev "eev-mode.el" "eev-mode-map-set" "M-J" "eewrap-eejump") ;; (find-eev "eev-blinks.el" "find-eejumps") ;; (find-eev "eev-wrap.el" "eewrap-eejump") ;; ;; See: ;; ;; (find-eev-quick-intro "7.3. Defining eejump targets") ;; (find-eev-quick-intro "7.3. Defining eejump targets" "M-J") ;; ;; `find-eejumps' is a relatively new idea, and before implementing it ;; `M-j' did something MUCH harder to explain. Suppose that ;; ;; * `eejump-12345' was not defined, ;; * `eejump-1234' was not defined, ;; * `eejump-123' was not defined, ;; * `eejump-12*' was defined in my .emacs as: ;; (defun eejump-12* () (find-efunction 'eejump-12*)) ;; ;; then typing `M-12345j' would run (find-efunction 'eejump-12*), that ;; would jump to the definition of a `eejump-12*' in my .emacs; I ;; would put all my definitions of eejumps with prefixes starting with ;; "12" close to it. This (old) intro still describes that behavior: ;; ;; (find-eejump-intro) ;; (find-eejump-intro "5. eejump blocks") ;; (define-key eev-mode-map "\M-j" 'eejump) ;; (defun eejump (arg) "Execute the one-liner associated to the numeric argument ARG. When called without an argument execute `find-eejumps', that shows a user-friendly header followed by a not-very-user-friendly list of all the one-liners that are currently associated to numbers. For example, if `M-2 \\[eejump]' executes `(find-emacs-keys-intro)' this is shown in the list as:\n (defun eejump-2 () (find-emacs-keys-intro))\n See: (find-eev-quick-intro \"7.1. `eejump'\") (find-eev-quick-intro \"7.2. The list of eejump targets\")" (interactive "P") (if (null arg) (find-eejumps) ; was: (eejump-*) (if (fboundp (intern (format "eejump-%d" arg))) (funcall (intern (format "eejump-%d" arg))) (eejump-str* (format "%d" arg))))) (defun eejump-str* (str) "An internal, recursive function used by `eejump'. See: (find-eejump-intro \"\\neejump\\n\")" (if (fboundp (intern (format "eejump-%s*" str))) (funcall (intern (format "eejump-%s*" str))) (eejump-str* (substring str 0 -1)))) (defun eejump-* () (find-efunction 'eejump-*)) (defun eejump-1 () (find-fline "~/TODO")) (defun eejump-21 () (find-2a nil '(eejump 1))) (defun eejump-31 () (find-2b nil '(eejump 1))) (defun eejump-2 () (find-emacs-keys-intro)) (defun eejump-3 () (find-windows-beginner-intro)) (defun eejump-5 () (find-eev-quick-intro)) (defun eejump-50 () (find-eev-intro)) (defun eejump-6 () (find-escripts-intro)) (defun eejump-7 () (find-elisp-intro)) (defun eejump-10 () (set-frame-font "5x7" t)) (defun eejump-11 () (set-frame-font "6x13" t)) (defun eejump-12 () (set-frame-font "10x20" t)) (defun eejump-55 () (find-fline "~/.emacs")) (defun eejump-555 () (find-eev "")) ;; Deleted: ;; (defun eejump-50 () (find-eev "eev-readme.el")) ;; (defun eejump-59 () (find-eev-update-links)) ;; (defun eejump-5* () (find-efunction 'eejump-5*)) ;; (defun eejump-6 () (find-freenode "#eev")) ;; (defun eejump-66 () (find-freenode-3a "#eev")) ;; (defun eejump-552 () (find-eev "eev-load.el")) ;; To see all current targets, run: ;; (find-eejumps) (provide 'eejump) ;; Local Variables: ;; coding: utf-8-unix ;; no-byte-compile: t ;; End: