diff options
| author | Robert Pluim | 2025-01-23 11:17:12 +0100 |
|---|---|---|
| committer | Robert Pluim | 2025-01-23 11:27:10 +0100 |
| commit | 67480c159ed3a4b3c8a93f6dbe0317617cf6ee26 (patch) | |
| tree | 79d3f59f9b5e2ace52dc6e1a13786046e10dcb1d | |
| parent | 076cd69fc2e6edcc1d667266f0cf2f7743de0df5 (diff) | |
| download | emacs-67480c159ed3a4b3c8a93f6dbe0317617cf6ee26.tar.gz emacs-67480c159ed3a4b3c8a93f6dbe0317617cf6ee26.zip | |
Add shortdoc for map.el functions
* lisp/emacs-lisp/shortdoc.el (map): New shortdoc group.
| -rw-r--r-- | lisp/emacs-lisp/shortdoc.el | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el index 230df47821c..321ff22a12d 100644 --- a/lisp/emacs-lisp/shortdoc.el +++ b/lisp/emacs-lisp/shortdoc.el | |||
| @@ -174,6 +174,137 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'), | |||
| 174 | (if (eq .rose 'red) | 174 | (if (eq .rose 'red) |
| 175 | .lily))))) | 175 | .lily))))) |
| 176 | 176 | ||
| 177 | (define-short-documentation-group map | ||
| 178 | "Map Basics" | ||
| 179 | (mapp | ||
| 180 | :eval (mapp (list 'bar 1 'foo 2 'baz 3)) | ||
| 181 | :eval (mapp (list '(bar . 1) '(foo . 2) '(baz . 3))) | ||
| 182 | :eval (mapp [bar foo baz]) | ||
| 183 | :eval (mapp "this is a string") | ||
| 184 | :eval (mapp #s(hash-table data (bar 1 foo 2 baz 3))) | ||
| 185 | :eval (mapp '()) | ||
| 186 | :eval (mapp nil) | ||
| 187 | :eval (mapp (make-char-table 'shortdoc-test))) | ||
| 188 | (map-empty-p | ||
| 189 | :args (map) | ||
| 190 | :eval (map-empty-p nil) | ||
| 191 | :eval (map-empty-p []) | ||
| 192 | :eval (map-empty-p '())) | ||
| 193 | (map-elt | ||
| 194 | :args (map key) | ||
| 195 | :eval (map-elt (list 'bar 1 'foo 2 'baz 3) 'foo) | ||
| 196 | :eval (map-elt (list '(bar . 1) '(foo . 2) '(baz . 3)) 'foo) | ||
| 197 | :eval (map-elt [bar foo baz] 1) | ||
| 198 | :eval (map-elt #s(hash-table data (bar 1 foo 2 baz 3)) 'foo)) | ||
| 199 | (map-contains-key | ||
| 200 | :args (map key) | ||
| 201 | :eval (map-contains-key (list 'bar 1 'foo 2 'baz 3) 'foo) | ||
| 202 | :eval (map-contains-key (list '(bar . 1) '(foo . 2) '(baz . 3)) 'foo) | ||
| 203 | :eval (map-contains-key [bar foo baz] 1) | ||
| 204 | :eval (map-contains-key #s(hash-table data (bar 1 foo 2 baz 3)) 'foo)) | ||
| 205 | (map-put! | ||
| 206 | (map key value) | ||
| 207 | :eval | ||
| 208 | "(let ((map (list 'bar 1 'baz 3))) | ||
| 209 | (map-put! map 'foo 2) | ||
| 210 | map)" | ||
| 211 | ;; This signals map-not-inplace when used in shortdoc.el :-( | ||
| 212 | ;; :eval | ||
| 213 | ;; "(let ((map (list '(bar . 1) '(baz . 3)))) | ||
| 214 | ;; (map-put! map 'foo 2) | ||
| 215 | ;; map)" | ||
| 216 | :eval | ||
| 217 | "(let ((map [bar bot baz])) | ||
| 218 | (map-put! map 1 'foo) | ||
| 219 | map)" | ||
| 220 | :eval | ||
| 221 | "(let ((map #s(hash-table data (bar 1 baz 3)))) | ||
| 222 | (map-put! map 'foo 2) | ||
| 223 | map)") | ||
| 224 | (map-insert | ||
| 225 | :args (map key value) | ||
| 226 | :eval (map-insert (list 'bar 1 'baz 3 'foo 7) 'foo 2) | ||
| 227 | :eval (map-insert (list '(bar . 1) '(baz . 3) '(foo . 7)) 'foo 2) | ||
| 228 | :eval (map-insert [bar bot baz] 1 'foo) | ||
| 229 | :eval (map-insert #s(hash-table data (bar 1 baz 3 foo 7)) 'foo 2)) | ||
| 230 | (map-delete | ||
| 231 | :args (map key) | ||
| 232 | :eval (map-delete (list 'bar 1 'foo 2 'baz 3) 'foo) | ||
| 233 | :eval (map-delete (list '(bar . 1) '(foo . 2) '(baz . 3)) 'foo) | ||
| 234 | :eval (map-delete [bar foo baz] 1) | ||
| 235 | :eval (map-delete #s(hash-table data (bar 1 foo 2 baz 3)) 'foo)) | ||
| 236 | (map-keys | ||
| 237 | :eval (map-keys (list 'bar 1 'foo 2 'baz 3)) | ||
| 238 | :eval (map-keys (list '(bar . 1) '(foo . 2) '(baz . 3))) | ||
| 239 | :eval (map-keys [bar foo baz]) | ||
| 240 | :eval (map-keys #s(hash-table data (bar 1 foo 2 baz 3)))) | ||
| 241 | (map-values | ||
| 242 | :args (map) | ||
| 243 | :eval (map-keys (list 'bar 1 'foo 2 'baz 3)) | ||
| 244 | :eval (map-keys (list '(bar . 1) '(foo . 2) '(baz . 3))) | ||
| 245 | :eval (map-keys [bar foo baz]) | ||
| 246 | :eval (map-keys #s(hash-table data (bar 1 foo 2 baz 3)))) | ||
| 247 | (map-pairs | ||
| 248 | :eval (map-pairs (list 'bar 1 'foo 2 'baz 3)) | ||
| 249 | :eval (map-pairs (list '(bar . 1) '(foo . 2) '(baz . 3))) | ||
| 250 | :eval (map-pairs [bar foo baz]) | ||
| 251 | :eval (map-pairs #s(hash-table data (bar 1 foo 2 baz 3)))) | ||
| 252 | (map-length | ||
| 253 | :args (map) | ||
| 254 | :eval (map-length (list 'bar 1 'foo 2 'baz 3)) | ||
| 255 | :eval (map-length (list '(bar . 1) '(foo . 2) '(baz . 3))) | ||
| 256 | :eval (map-length [bar foo baz]) | ||
| 257 | :eval (map-length #s(hash-table data (bar 1 foo 2 baz 3)))) | ||
| 258 | (map-copy | ||
| 259 | :args (map) | ||
| 260 | :eval (map-copy (list 'bar 1 'foo 2 'baz 3)) | ||
| 261 | :eval (map-copy (list '(bar . 1) '(foo . 2) '(baz . 3))) | ||
| 262 | :eval (map-copy [bar foo baz]) | ||
| 263 | :eval (map-copy #s(hash-table data (bar 1 foo 2 baz 3)))) | ||
| 264 | "Doing things to maps and their contents" | ||
| 265 | (map-apply | ||
| 266 | :args (function map) | ||
| 267 | :eval (map-apply #'+ (list '(1 . 2) '(3 . 4)))) | ||
| 268 | (map-do | ||
| 269 | :args (function map) | ||
| 270 | :eval | ||
| 271 | "(let ((map (list '(1 . 1) '(2 . 3))) | ||
| 272 | acc) | ||
| 273 | (map-do (lambda (k v) (push (+ k v) acc)) map) | ||
| 274 | (nreverse acc))") | ||
| 275 | (map-keys-apply | ||
| 276 | :eval (map-keys-apply #'1+ (list '(1 . 2) '(3 . 4)))) | ||
| 277 | (map-values-apply | ||
| 278 | :args (function map) | ||
| 279 | :eval (map-values-apply #'1+ (list '(1 . 2) '(3 . 4)))) | ||
| 280 | (map-filter | ||
| 281 | :eval (map-filter (lambda (k _) (cl-oddp k)) (list '(1 . 2) '(4 . 6))) | ||
| 282 | :eval (map-filter (lambda (k v) (cl-evenp (+ k v))) (list '(1 . 2) '(4 . 6)))) | ||
| 283 | (map-remove | ||
| 284 | :eval (map-remove (lambda (k _) (cl-oddp k)) (list '(1 . 2) '(4 . 6))) | ||
| 285 | :eval (map-remove (lambda (k v) (cl-evenp (+ k v))) (list '(1 . 2) '(4 . 6)))) | ||
| 286 | (map-some | ||
| 287 | :eval (map-some (lambda (k _) (cl-oddp k)) (list '(1 . 2) '(4 . 6))) | ||
| 288 | :eval (map-some (lambda (k v) (cl-evenp (+ k v))) (list '(1 . 2) '(4 . 6)))) | ||
| 289 | (map-every-p | ||
| 290 | :eval (map-every-p (lambda (k _) (cl-oddp k)) (list '(1 . 2) '(4 . 6))) | ||
| 291 | :eval (map-every-p (lambda (k v) (cl-evenp (+ k v))) (list '(1 . 3) '(4 . 6)))) | ||
| 292 | "Combining and changing maps" | ||
| 293 | (map-merge | ||
| 294 | :eval (map-merge 'alist '(1 2 3 4) #s(hash-table data (5 6 7 8))) | ||
| 295 | :eval (map-merge 'list '(1 2 3 4) #s(hash-table data (5 6 7 8))) | ||
| 296 | :eval (map-merge 'plist '(1 2 3 4) #s(hash-table data (5 6 7 8))) | ||
| 297 | :eval (map-merge 'hash-table '(1 2 3 4) #s(hash-table data (5 6 7 8)))) | ||
| 298 | (map-merge-with | ||
| 299 | :eval (map-merge-with 'alist #'max '(1 2 3 4) #s(hash-table data (1 1 3 5))) | ||
| 300 | :eval (map-merge-with 'alist #'min '(1 2 3 4) #s(hash-table data (1 1 3 5))) | ||
| 301 | :eval (map-merge-with 'hash-table #'min '(1 2 3 4) #s(hash-table data (1 1 3 5)))) | ||
| 302 | (map-into | ||
| 303 | :args (map type) | ||
| 304 | :eval (map-into #s(hash-table data '(5 6 7 8)) 'list) | ||
| 305 | :eval (map-into '((5 . 6) (7 . 8)) 'plist) | ||
| 306 | :eval (map-into '((5 . 6) (7 . 8)) 'hash-table))) | ||
| 307 | |||
| 177 | (define-short-documentation-group string | 308 | (define-short-documentation-group string |
| 178 | "Making Strings" | 309 | "Making Strings" |
| 179 | (make-string | 310 | (make-string |