unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Emanuel Berg <incal@dataswamp.org>
To: emacs-devel@gnu.org
Subject: Re: [External] : Emacs website, Lisp, and other
Date: Thu, 15 Aug 2024 18:03:18 +0200	[thread overview]
Message-ID: <87ttfl4vuh.fsf@dataswamp.org> (raw)
In-Reply-To: 871q2qb0ft.fsf@dataswamp.org

source:
  https://dataswamp.org/~incal/emacs-init/meta.el [also yanked last]

data:
  https://dataswamp.org/~incal/emacs-data/meta-funs.txt

cool feature:
  note the aligned tables for arbitrary data - that are also
  minimized

Fun Emacs!

;; (meta--funs 10)

 1. gnus     2364
 2. erc      1302
 3. slime    1092
 4. w3m       663
 5. comp      622
 6. c         592
 7. tramp     482
 8. cl        442
 9. markdown  438
10. eshell    340

;; (meta--funs 100)

  1. gnus        2364
  2. erc         1302
  3. slime       1092
  4. w3m          663
  5. comp         622
  6. c            592
  7. tramp        482
  8. cl           442
  9. markdown     438
 10. eshell       340
 11. dired        327
 12. epg          321
 13. message      291
 14. byte         277
 15. url          240
 16. make         225
 17. package      224
 18. widget       220
 19. window       219
 20. custom       211
 21. mm           202
 22. set          195
 23. bibtex       179
 24. xref         172
 25. mail         168
 26. x            161
 27. isearch      160
 28. tab          157
 29. image        154
 30. Info         147
 31. shr          147
 32. comint       145
 33. js           139
 34. help         137
 35. file         132
 36. archive      131
 37. eww          129
 38. mml          125
 39. nnimap       125
 40. ad           110
 41. find         107
 42. doc          102
 43. completion   101
 44. treesit       99
 45. vc            98
 46. copy          98
 47. diff          95
 48. mouse         93
 49. sldb          92
 50. sh            91
 51. eieio         90
 52. ffap          88
 53. display       87
 54. ispell        85
 55. read          82
 56. project       81
 57. minibuffer    80
 58. dbus          80
 59. frame         79
 60. compilation   79
 61. lisp          78
 62. smie          77
 63. checkdoc      76
 64. tex           74
 65. font          73
 66. nntp          70
 67. auth          70
 68. makefile      69
 69. backtrace     69
 70. sgml          68
 71. rx            67
 72. shell         66
 73. browse        64
 74. outline       62
 75. pcomplete     62
 76. epa           62
 77. menu          61
 78. pr            61
 79. article       60
 80. json          59
 81. common        59
 82. nnheader      58
 83. describe      58
 84. elisp         58
 85. kmacro        57
 86. seq           57
 87. string        57
 88. internal      55
 89. nnmail        54
 90. nnml          52
 91. Man           51
 92. delete        50
 93. face          50
 94. get           47
 95. global        47
 96. nnfolder      46
 97. css           46
 98. insert        45
 99. kill          45
100. org           44

;; (meta--funs 1000)  [see URL for this]

;;; -*- lexical-binding: t -*-
;;
;; this file:
;;   https://dataswamp.org/~incal/emacs-init/meta.el

(require 'cl-lib)

(defun meta--count-list (l)
  (cl-loop
    with res
    with done
    for e in l
    do (unless (member e done)
         (push (list (cl-count e l :test #'equal) e) res)
         (push e done))
    finally return (cl-sort res #'>= :key #'car)))

(defun meta--result-list (l)
  (cl-loop
    with biggest = (length (number-to-string (caar l)))
    with num-len = (length (number-to-string (length l)))
    with longest = (apply #'max (cl-mapcar (lambda (e) (length (cadr e))) l))
    for (n lib) in l
    for i from 1
    for str = (concat str
                (format (concat (format "%%%dd. " num-len)
                                (format "%%-%ds " longest)
                                (format "%%%dd"   biggest)
                                "\n")
                        i lib n))
    finally (insert "\n" str)))

(defun meta--funs (&optional n)
  (or n (setq n 20))
  (let ((num 0)
        (libs)
        (str)
        (dash)
        (par))
    (mapatoms (lambda (e) (when (functionp e)
                            (setq str  (symbol-name e))
                            (setq dash (string-match "-" str))
                            (setq par  (string-match "(" str))
                            (unless par
                              (cl-incf num)
                              (when dash
                                (push (substring str 0 dash) libs))))))
    (with-help-window "*meta*"
      (insert (format "functions: %d\n" num))
      (meta--result-list (cl-subseq (meta--count-list libs) 0 n)))))

;; (meta--funs   10)
;; (meta--funs  100)
;; (meta--funs 1000)

(provide 'meta)

-- 
underground experts united
https://dataswamp.org/~incal




  reply	other threads:[~2024-08-15 16:03 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-04 22:27 Emacs website, Lisp, and other Jeremy Bryant
2024-08-04 22:55 ` Emanuel Berg
2024-08-05  4:29   ` Emanuel Berg
2024-08-05  9:23   ` Christopher Dimech
2024-08-05 10:43     ` Emanuel Berg
2024-08-05 11:37       ` divya
2024-08-05 11:56         ` Christopher Dimech
2024-08-05 12:33         ` Eli Zaretskii
2024-08-05 11:45       ` Christopher Dimech
2024-08-05 12:56       ` Dr. Arne Babenhauserheide
2024-08-05 13:16         ` Dr. Arne Babenhauserheide
2024-08-05 14:46           ` Christopher Dimech
2024-08-05 21:28             ` Dr. Arne Babenhauserheide
2024-08-05 14:55         ` Eli Zaretskii
2024-08-05 12:28     ` Eli Zaretskii
2024-08-05 16:27       ` 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Emanuel Berg
2024-08-05 16:38         ` Eli Zaretskii
2024-08-05 17:03           ` Emanuel Berg
2024-08-05 18:32             ` 10 problems with Elisp, part 10 Dr. Arne Babenhauserheide
2024-08-05 20:20               ` Emanuel Berg
2024-08-06  7:14                 ` Dr. Arne Babenhauserheide
2024-08-06  7:21                   ` Org mode API (was: 10 problems with Elisp, part 10) Ihor Radchenko
2024-08-06  8:23                     ` Org mode API Dr. Arne Babenhauserheide
2024-08-10 16:55                       ` Ihor Radchenko
2024-08-06 11:54                   ` 10 problems with Elisp, part 10 Eli Zaretskii
2024-08-08  2:01                     ` Richard Stallman
2024-08-09 22:39                       ` Emanuel Berg
2024-08-13  1:28                         ` Richard Stallman
2024-08-09 22:46                     ` Emanuel Berg
2024-08-10  5:41                       ` Emanuel Berg
2024-08-10  6:09                         ` Eli Zaretskii
2024-08-13  1:28                       ` Richard Stallman
2024-08-05 18:58             ` 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Christopher Dimech
2024-08-05 19:30               ` 10 problems with Elisp, part 10 Dr. Arne Babenhauserheide
2024-08-05 20:02                 ` Christopher Dimech
2024-08-08  2:01                   ` Richard Stallman
2024-08-06  2:28                 ` Eli Zaretskii
2024-08-05 17:13         ` 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Yuri Khan
2024-08-06  6:39         ` Emanuel Berg
2024-08-06 11:16         ` Richard Stallman
2024-08-06 22:08           ` Emanuel Berg
2024-08-05 11:56 ` Emacs website, Lisp, and other Eli Zaretskii
2024-08-06 19:09   ` Jeremy Bryant
2024-08-06 19:50     ` Christopher Dimech
2024-08-06 20:35       ` [External] : " Drew Adams
2024-08-06 22:10         ` Dr. Arne Babenhauserheide
2024-08-06 22:48           ` Christopher Dimech
2024-08-06 23:09           ` Drew Adams
2024-08-06 23:21             ` Christopher Dimech
2024-08-07  1:09               ` Dr. Arne Babenhauserheide
2024-08-06 22:26         ` Christopher Dimech
2024-08-07  5:45         ` Emanuel Berg
2024-08-15  3:53           ` Madhu
2024-08-15  5:50             ` Emanuel Berg
2024-08-15  9:17               ` Madhu
2024-08-15  9:57                 ` Emanuel Berg
2024-08-15  6:17             ` Emanuel Berg
2024-08-15  7:10               ` Eli Zaretskii
2024-08-15  8:06               ` Emanuel Berg
2024-08-15  9:27                 ` Emanuel Berg
2024-08-15 16:03                   ` Emanuel Berg [this message]
2024-08-07 11:13     ` Eli Zaretskii
2024-08-07 12:03       ` Andrea Corallo
2024-08-07 12:16       ` Christopher Dimech
2024-08-08  2:01         ` Richard Stallman
2024-08-08  6:51           ` Joel Reicher
2024-08-07 12:31     ` Christopher Dimech

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ttfl4vuh.fsf@dataswamp.org \
    --to=incal@dataswamp.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).