From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eduardo Ochs Newsgroups: gmane.emacs.devel Subject: Re: list of elisp primitives ? Date: Thu, 26 Dec 2019 18:17:23 -0300 Message-ID: References: <627F3815-987E-4E82-8118-EE559CA7721F@traduction-libre.org> <5E53A27C-7C86-4275-AC12-9799C3CB1956@traduction-libre.org> <701C773A-96C5-47FD-B75F-92947976E57B@traduction-libre.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="219412"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Emacs developers To: Jean-Christophe Helary Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 26 22:17:49 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1ikaVv-000uuI-JH for ged-emacs-devel@m.gmane.org; Thu, 26 Dec 2019 22:17:47 +0100 Original-Received: from localhost ([::1]:56730 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ikaVu-0006Hy-8X for ged-emacs-devel@m.gmane.org; Thu, 26 Dec 2019 16:17:46 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55097) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ikaVm-0006FL-BG for emacs-devel@gnu.org; Thu, 26 Dec 2019 16:17:40 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ikaVk-0001bo-TL for emacs-devel@gnu.org; Thu, 26 Dec 2019 16:17:38 -0500 Original-Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:56160) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ikaVk-0001bh-N2 for emacs-devel@gnu.org; Thu, 26 Dec 2019 16:17:36 -0500 Original-Received: by mail-pj1-x102c.google.com with SMTP id d5so3821254pjz.5 for ; Thu, 26 Dec 2019 13:17:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=K3HOAWvCtkfkBA/+Mbe401rwf9/fPOsuNbS7lSIHxlc=; b=KDSHoFHqQ+xfyD9h392wS5Yq81RTW+KvmWsRcBsHb13AMzDeD7hjjliidi1NEKE7ZY Zz2gIwaB+V1fdoay0NUFZher0qRaGR6H98sKRQArgqloN5ubXfYu6qNsBId3e9NZfcjV zo41+kLKMyzdcOibpvps+rNZxvWqivwFdH6zD+gB3OOegF9jzSJDw1uR7JSOEXkqCcQO fnOe5zMJnJ+0d4xBhSsAVWTNBrdyUc7fkq56pP/mO3Rbf1dEXGXUkBSRQzFmtXb9VqGl wNiQEmcZyX1Y9LEZ3d/R1zNIFvYE8u9b4rAbu8TrV26VHo/Csh773tT1h2cYVwN06QaU 3cgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=K3HOAWvCtkfkBA/+Mbe401rwf9/fPOsuNbS7lSIHxlc=; b=XZOJ9FP7PK+y7yGBVy8ABr1SOO6WCvChMy01mDpFf5CWqCLY18UFsASet2WFffycAp jLuASmGuith1o9k1ZtYwHEtG826XGz6OZTDnCeBSxqTrrQXKGII4s0lWqQ7XdTMmHRW5 uMqYg/x8589TaU4fNWvteZCgcixcjT9GvLyM2vO7oZibMo+OWYubCRP8CZEXjP5KFRff UTCPCG913Zi861aPH65tT8Eogt9OhCdBNzIb+2WigyRxTsKds3m8ReyfIcxWgD8B9MBe b8dCxanKSnyOXPFQI54SZk4t0PZedm1riGgLVkjPTPrD8auMJPTUU22NbdAqVUeNfzpa SiKg== X-Gm-Message-State: APjAAAWnhEdksVTTbcaAge+4FtOf70jgBQA/Zh5hpB3/RpxFK35UAz27 ktY/do8D5TISMAGi+Ie/8UrBAyq+t4wSv2o3YogeeYFB X-Google-Smtp-Source: APXvYqzYESO9CKhVcOU6EmVP0tbqHLL+CAA0m53//SMox4t9mu3asBDwddbJrAnJH44nCQCapsoDJ9D4JAxAjI8NWS0= X-Received: by 2002:a17:90a:fa10:: with SMTP id cm16mr22321714pjb.129.1577395055088; Thu, 26 Dec 2019 13:17:35 -0800 (PST) In-Reply-To: <701C773A-96C5-47FD-B75F-92947976E57B@traduction-libre.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::102c X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:243680 Archived-At: Hi Jean-Christophe, On Thu, 26 Dec 2019 at 14:40, Jean-Christophe Helary wrote: > > Mind you, I too am trying to find my way around and it's not easy. > My pet peeve is "discoverability" and for now despite the info/doc > integration, I'm still very much struggling. Emacs _tries_ to be an "high-discoverability environment"... if you are trying to discover things but you feel that you are still struggling then I think that at the very least we need to show you our favourite tools and listen to your feedback... I am the author of this package: http://elpa.gnu.org/packages/eev.html http://angg.twu.net/#eev and one of my favourite parts of it is its "eev-ish" variant of Emacs's `C-h f'. If you type `C-h f' with the point on the name of a function - for example, on: kill-buffer you get a temporary buffer called "*Help*" that lots of information and some hyperlinks - but if you copy these hyperlinks to other buffers they won't work. If you type `M-h M-f' on the "format" above with eev-mode on you will get a tempory read-write buffer with these sexps: # (find-efunction-links 'kill-buffer) # (eek "M-h M-f kill-buffer") # (find-eev-quick-intro "4.2. `find-ekey-links' and friends") # (find-efunctiondescr 'kill-buffer) # (find-efunction 'kill-buffer) # (find-efunctionpp 'kill-buffer) # (find-efunctiond 'kill-buffer) # (Info-goto-emacs-command-node 'kill-buffer) # (find-enode "Command Index" "* kill-buffer:") # (find-elnode "Index" "* kill-buffer:") # (where-is 'kill-buffer) # (symbol-file 'kill-buffer 'defun) # (find-fline (symbol-file 'kill-buffer 'defun)) # (find-epp (assoc (symbol-file 'kill-buffer 'defun) load-history)) # (find-estring (mapconcat 'identity (mapcar 'car load-history) "\n")) # (find-estring (documentation 'kill-buffer)) # (find-estring (documentation 'kill-buffer t)) # (describe-function 'kill-buffer) This may look daunting at first but all these sexps are safe to play with and if you copy them to your notes they will still work as elisp hyperlinks - they are plain text without text properties, they don't use things like these: (info "(elisp)Buttons") The idea behind this is: we _usually_ don't need to learn elisp functions in depth, and neither memorize things - if we learn how to navigate the code and docs and how to copy elisp hyperlinks to our notes then we can learn a lot about Emacs _superficially_ as we browse it by curiosity... and then if and when we want to learn something in more depth - to create our own extensions, say - we will already have some familiarity with the territory, and lots of links to things that we found interesting at the other times we've been there. I would love to see other people's suggestions. In the last months I learned several help keys that I don't know that existed, and - hint, hint! - I really hope that at some point someone will give pointers on how to learn edebug, or things similar to it... edebug and friends look like great tools for understanding convoluted code in elisp. Cheers =), Eduardo Ochs, "who lives in a cave with its walls covered by sexps". http://angg.twu.net/#eev http://angg.twu.net/emacsconf2019.html P.S.: ah, before I forget: http://angg.twu.net/eev-intros/find-here-links-intro.html (It mentions several recent features.)