summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/shortdoc.el
Commit message (Collapse)AuthorAgeFilesLines
* ; * lisp/vc/vc-git.el (vc-git--out-str): Doc fix.Eli Zaretskii2024-03-181-1/+1
|
* Add a proper type for obarraysMattias Engdegård2024-02-231-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new opaque type replaces the previous use of vectors for obarrays. `obarray-make` now returns objects of this type. Functions that take obarrays continue to accept vectors for compatibility, now just using their first slot to store an actual obarray object. obarray-size and obarray-default-size now obsolete. * lisp/obarray.el (obarray-default-size, obarray-size): Declare obsolete. (obarray-make, obarrayp, obarray-clear): Remove from here. * src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here. * src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY) (make_lisp_obarray, obarray_size, check_obarray) (obarray_iter_t, make_obarray_iter, obarray_iter_at_end) (obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New. (reduce_emacs_uint_to_hash_hash): Moved here. * src/lread.c (check_obarray): Renamed and reworked as... (checked_obarray_slow): ...this. (intern_sym, Funintern, oblookup, map_obarray) (Finternal__obarray_buckets): Adapt to new type. (obarray_index, allocate_obarray, make_obarray, grow_obarray) (obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New. * etc/emacs_lldb.py (Lisp_Object): * lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)): * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): * lisp/emacs-lisp/comp.el (comp-known-predicates): * src/alloc.c (cleanup_vector, process_mark_stack): * src/data.c (Ftype_of, syms_of_data): * src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): * src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike): * src/print.c (print_vectorlike_unreadable): * test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test): * test/lisp/obarray-tests.el (obarrayp-test) (obarrayp-unchecked-content-test, obarray-make-default-test) (obarray-make-with-size-test): Adapt to new type.
* Check shortdoc keywords and fix one mistakeMattias Engdegård2024-02-191-1/+13
| | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc--check) (define-short-documentation-group): Check that used keywords exist. * lisp/emacs-lisp/shortdoc.el (list): Fix a typo.
* Don't pretend that hash-table-size is usefulMattias Engdegård2024-01-131-4/+1
| | | | | | | * lisp/emacs-lisp/shortdoc.el (hash-table): Remove hash-table-size entry. * doc/lispref/hash.texi (Other Hash): * src/fns.c (Fhash_table_size): Make it clear that hash-table-size is probably not worth using.
* Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-11-181-1/+1
|\| | | | | | | | | | | 32a32853ce9 Typofix in the doc/lispref/modes.texi f98637b51b5 ; Fix 'add-face-text-property' shortdoc 3fff22eb20c Fix spell-checking email message with citations
| * ; Fix 'add-face-text-property' shortdocEshel Yaron2023-11-141-1/+1
| | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (text-properties): Add missing ':no-eval' keyword. (Bug#67138)
* | Add let-alist to alist shortdoc groupStefan Kangas2023-08-021-8/+8
| | | | | | | | * lisp/emacs-lisp/shortdoc.el (alist): Add let-alist.
* | ; * lisp/emacs-lisp/shortdoc.el (list): Move misplaced `remq` entryMattias Engdegård2023-08-021-2/+2
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-07-081-3/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 600b90ed568 Mark failing icalendar test as unstable (bug#56241) f8a918c9778 ; * src/coding.c (Fcoding_system_put): Improve doc string. 40f84e906f6 ; * doc/lispref/keymaps.texi (Key Binding Commands): Fix ... 502a7800319 ; Improve documentation of 'vertical-motion' in ELisp manual 0d90873fa41 ; * src/indent.c (Fvertical_motion): Doc fix. 9b38773a20b ; * lisp/dired.el (dired-no-confirm): Doc fix. (Bug#64493) a30ebe7a556 ; Improve documentation of key-binding commands c3fefb2b3ae Improve natnump shortdoc 244d4c837ab correct info documentation of benchmark-call 67def1f5502 * lisp/progmodes/grep.el (rgrep): Fix docstring. 8da2091362d ; Fix documentation of minibuffer-completion commands aa030698cef ; Fix typos in documented names of keymap-* functions a9b46bb25df Include a help-echo for flymake's modeline counters 37ed3d15f38 Avoid errors in completion due to 'completion-regexp-list' 15ff8761777 ; * lisp/register.el (register-val-describe): Doc fix. fe7b909c16c ; Fix two typos in recent changes in the manual 7a74b8c3277 C Mode: Don't fontify foo globally as type due to "struct... 823bf6bdb1a * lisp/rect.el (rectangle--duplicate-right): Fix rectangl... e339d0080d3 ; * test/lisp/misc-tests.el (ert): require misc to avoid ... # Conflicts: # lisp/rect.el
| * Improve natnump shortdocRobert Pluim2023-07-041-3/+4
| | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (number): Make it clear that zero satisfies 'natnump'. Move 'natnump' next to 'cl-plusp' to highlight the difference between them.
* | Merge from origin/emacs-29Eli Zaretskii2023-06-241-2/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d0147ff9e50 * lisp/emacs-lisp/shortdoc.el: More and better `substring... fa06249a9fb Fix "C-x RET r" when the new encoding is UTF 679e9d7c56e ; Mention MinGW64 GCC 13.1 problems in PROBLEMS fdc1a12ed1a Fix "vc-print-log does not erase buffer" and associated p... d507aa7336b Add selector_expression indentation rule 1f664a0af75 Add "nixd" LSP server to Eglot e962cf4ba72 Fix building --with-native-compilation=aot from release t... 4ca371e9cc7 Fix bug#64152 (Minibuffer sometimes goes "modal") a0ccf1859cc Disable target-async by default in gdb-mi.el 2bad5829ff7 Revert "Fix parsing of dn line if WITHDN is non-nil" 7637e361d3b Don't truncate filenames with "emacs.el" in them 2591eb1190a Improve documentation of 'minibuffer-message' 6f211bc57b9 Eglot: again fix positions of coinciding inlay hint overl... a24e9e3fee5 ; Update ChangeLog.4 and etc/AUTHORS.
| * * lisp/emacs-lisp/shortdoc.el: More and better `substring` examples.Mattias Engdegård2023-06-241-2/+4
| | | | | | | | Suggested by Juri Linkov.
* | Declare more mutating functionsMattias Engdegård2023-05-201-5/+7
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (mutating-fns): Add assoc-delete-all, assq-delete-all and rassq-delete-all. * lisp/emacs-lisp/shortdoc.el (alist, list): Don't mutate constants in examples illustrating use of assoc-delete-all, assq-delete-all and rassq-delete-all.
* | Improved copy-tree documentation and test (bug#63509)Mattias Engdegård2023-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Move entry since it's an incompatible change. * lisp/emacs-lisp/shortdoc.el (vector): Make the example relevant. * lisp/subr.el (copy-tree): Rename second argument, since 'vector-like' is a term with a specific meaning in Emacs but not the one intended here. * doc/lispref/lists.texi (Building Lists): Rename second argument, and make it clear that the input must be acyclic. * doc/lispref/records.texi (Record Functions): Be more precise: `copy-sequence` is used to copy records, `copy-tree` copies trees made of records etc. * test/lisp/subr-tests.el (subr--copy-tree): Extend and strengthen the test considerably, using the print-circle trick to detect structure sharing precisely.
* | Make 'copy-tree' work with recordsJoseph Turner2023-05-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/lists.texi (Building Cons Cells and Lists): Document new behavior of 'copy-tree'. * doc/lispref/records.texi (Record Functions): Cross-reference to lists.texi. * etc/NEWS: Mention change. (Bug#63509) * lisp/emacs-lisp/shortdoc.el: Add 'copy-tree' example to vector group. * lisp/subr.el (copy-tree): Recurse into records as well as vectors when optional second argument is non-nil. Rename second argument from VECP to VECTOR-LIKE-P. * test/lisp/subr-tests.el: Test new behavior.
* | Fix pluralization in shortdoc-help-fns-examples-functionDaniel Martín2023-03-121-5/+30
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-help-fns-examples-function): Implement a better logic to pluralize "Example", by counting the number of arrow characters in the example string. (Bug#61877) * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-help-fns-examples-function-test): Add a test.
* | ; Fix last changeEli Zaretskii2023-03-121-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-help-fns-examples-function) (shortdoc-function-examples): Fix compilation warning and add an empty line before the examples. * lisp/emacs-lisp/shortdoc.el (shortdoc--insert-group-in-buffer) (shortdoc-function-examples) (shortdoc-help-fns-examples-function): * etc/NEWS: * doc/lispref/help.texi (Documentation Groups): * doc/emacs/help.texi (Name Help): Improve documentation of the last change. (Bug#61877)
* | Add functions to query Emacs Lisp examples registered in shortdocDaniel Martín2023-03-121-36/+86
|/ | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Add a new shortdoc-example text property so that ELisp examples can be searched for later. (shortdoc--insert-group-in-buffer): New function extracted from the buffer insertion code in 'shortdoc-display-group'. (shortdoc-display-group): Implement in terms of 'shortdoc--insert-group-in-buffer'. (shortdoc-function-examples): New function that returns an alist of Emacs Lisp examples from shortdoc. (shortdoc-help-fns-examples-function): New function to insert Emacs Lisp function examples in *Help* buffers, if added to 'help-fns-describe-function-functions'. * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-function-examples-test): Test it. * doc/emacs/help.texi (Name Help): Document in the user manual. * doc/lispref/help.texi (Documentation Groups): Document it. * etc/NEWS: Advertise it. (Bug#61877)
* Add 'process-status' to process shortdocRobert Pluim2023-02-211-0/+3
| | | | * lisp/emacs-lisp/shortdoc.el (process): Add 'process-status'.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Fix misspelled functions in shortdoc groupsStefan Kangas2022-12-311-4/+4
| | | | | | | * lisp/emacs-lisp/shortdoc.el (file, list): Fix misspelled function names: 'file-writable-p' and 'seq-reduce'. * test/lisp/emacs-lisp/shortdoc-tests.el (subr-x): Require. (shortdoc-all-functions-fboundp): New test.
* Add more functions to "string" shortdocXi Lu2022-12-241-0/+9
| | | | | * lisp/emacs-lisp/shortdoc.el: Add 'string-or-null-p', 'char-or-string-p', 'char-uppercase-p'. (Bug#60279)
* ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous commitMattias Engdegård2022-12-141-4/+4
|
* Better shortdoc examplesMattias Engdegård2022-12-141-32/+106
| | | | | | | | * lisp/emacs-lisp/shortdoc.el (symbol, comparison): New. (string, list, number): Remove or change examples that do not have well-defined results, such as `eq` on strings or floats. Edit other examples for better illustrating each respective operation.
* Shortdoc: read and evaluate strings after :evalMattias Engdegård2022-12-141-7/+9
| | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): If the parameter of :eval is a string then read, evaluate and print the result. This was always the intention and is documented behaviour.
* * lisp/outline.el (outline-search-function): New variable (bug#53981).Juri Linkov2022-11-211-4/+14
| | | | | | | | | | | | | | | | | | | | | | (outline-font-lock-keywords, outline-font-lock-face) (outline-minor-mode-highlight-buffer, outline-next-preface) (outline-next-heading, outline-previous-heading) (outline-back-to-heading, outline-on-heading-p, outline-demote) (outline-map-region, outline-next-visible-heading) (outline-hide-sublevels, outline-up-heading): Use outline-search-function when it's non-nil as an alternative to searching outline-regexp. (outline-search-level, outline-search-text-property): New functions. * lisp/apropos.el (apropos-mode): Set outline-search-function instead of unreliable outline-regexp. (apropos-print): Add text property outline-level. * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Add text property outline-level on text separate from final newlines. (shortdoc-display-group): Add a narrow newline to not show text properties of the final line when the outline is hidden. (shortdoc--display-function): Add text property outline-level. (shortdoc-mode): Set buffer-local outline-search-function and outline-level.
* * lisp/emacs-lisp/shortdoc.el (sequence): Don't use cl-lib (bug#59319)Juanma Barranquero2022-11-171-4/+4
|
* Mention seq-keep in shortdocLars Ingebrigtsen2022-10-081-0/+2
| | | | * lisp/emacs-lisp/shortdoc.el (sequence): Mention seq-keep.
* ; Clarify wording of some doc strings in shortdoc.elEli Zaretskii2022-09-251-4/+4
| | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-next, shortdoc-previous) (shortdoc-next-section, shortdoc-previous-section): Clarify wording.
* Improve shortdoc documentationStefan Kangas2022-09-251-8/+17
| | | | | | | | | * doc/emacs/help.texi (Name Help): * doc/lispref/help.texi (Documentation Groups): Refer to 'shortdoc' convenience alias instead of 'shortdoc-display-group'. * lisp/emacs-lisp/shortdoc.el: Add Commentary. (shortdoc-next, shortdoc-previous) (shortdoc-next-section, shortdoc-previous-section): Doc fixes.
* Fix shortdoc movement commandsStefan Kangas2022-09-251-1/+1
| | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Don't skip over current function or section when searching.
* Add new command 'shortdoc-copy-function-as-kill'Stefan Kangas2022-09-251-1/+16
| | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-copy-function-as-kill): New command. (shortdoc-mode-map): Bind above new command to "w".
* Bind "N"/"P" to next/prev section in shortdocStefan Kangas2022-09-251-0/+2
| | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-mode-map): Bind "N" and "P" to 'shortdoc-next-section' and 'shortdoc-previous-section'.
* Rename file-name-directoryLars Ingebrigtsen2022-09-241-5/+5
| | | | | | | * lisp/emacs-lisp/shortdoc.el (file-name): * doc/lispref/files.texi (Directory Names): Adjust. * lisp/files.el (file-name-parent-directory): Rename from `file-name-directory' (bug#58039).
* * lisp/emacs-lisp/shortdoc.el (file-name): Improve examples.Stefan Kangas2022-09-241-4/+2
|
* Add new function `seq-positions'Damien Cassou2022-09-041-0/+4
| | | | | | | | | | | * doc/lispref/sequences.texi (Sequence Functions): Document it. * lisp/emacs-lisp/seq.el (seq-positions): New function. * lisp/emacs-lisp/shortdoc.el (sequence): Mention it. * test/lisp/emacs-lisp/seq-tests.el (test-seq-positions): Test it (bug#57548).
* Add new function `seq-remove-at-position'Damien Cassou2022-09-041-0/+3
| | | | | | | | | | | * doc/lispref/sequences.texi (Sequence Functions): Document it. * lisp/emacs-lisp/seq.el (seq-remove-at-position): New function. * lisp/emacs-lisp/shortdoc.el (sequence): Mention it. * test/lisp/emacs-lisp/seq-tests.el (test-seq-remove-at-position): Test it.
* ; * lisp/emacs-lisp/shortdoc.el (buffer): Improve sorting.Stefan Kangas2022-08-221-2/+2
|
* Mention delete-line in shortdocLars Ingebrigtsen2022-08-211-0/+2
| | | | * lisp/emacs-lisp/shortdoc.el (buffer): Mention delete-line.
* * lisp/emacs-lisp/shortdoc.el (buffer): Add missing functionsMattias Engdegård2022-08-211-0/+5
| | | | | Add preceding-char and char-before because following-char and char-after were already there.
* Rename newly-added eol/bol functions to pos-eol/pos-bolLars Ingebrigtsen2022-08-211-4/+4
| | | | | | | * lisp/emacs-lisp/shortdoc.el (buffer): * doc/lispref/positions.texi (Text Lines): Adjust. * src/editfns.c (Fpos_bol): Rename from Fpos. (Fpos_eol): Rename from Feol.
* Add new functions eol and bolLars Ingebrigtsen2022-08-191-0/+12
| | | | | | | | | | | | | * doc/lispref/positions.texi (Text Lines): Document them * lisp/emacs-lisp/shortdoc.el: Mention them, and also the buffer/line predicates. * src/editfns.c (bol): New function. (Fbol): New defun. (Fline_beginning_position): Use `bol'. (eol): New function. (Feol): New defun. (Fline_end_position): Use `eol'.
* Omit some (current-time) callsPaul Eggert2022-08-011-1/+1
| | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-write-junit-test-summary-report): * lisp/emacs-lisp/shortdoc.el (file): * lisp/find-lisp.el (find-lisp-find-dired-insert-file): * lisp/progmodes/hideif.el (hide-ifdefs): * lisp/tar-mode.el (tar-subfile-save-buffer): Prefer nil or omitted arg to (current-time) where this is better or more-efficient.
* string-equal-ignore-case: new functionSam Steingold2022-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/cedet/semantic/complete.el (semantic-collector-calculate-completions): Use `string-prefix-p' instead of explicit `compare-strings'. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add `string-equal-ignore-case'. * lisp/emacs-lisp/cl-extra.el (cl-equalp): Use `string-equal-ignore-case'. * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Likewise. * lisp/emacs-lisp/shortdoc.el (string): Add `string-equal-ignore-case'. * lisp/files.el (file-truename): Use `string-equal-ignore-case'. (file-relative-name): Likewise. * lisp/gnus/gnus-art.el (article-hide-boring-headers): Use `string-equal-ignore-case' instead of `gnus-string-equal'. * lisp/gnus/gnus-util.el (gnus-string-equal): Remove, use `string-equal-ignore-case' instead. * lisp/international/mule-cmds.el (describe-language-environment): Use `string-equal-ignore-case'. (locale-charset-match-p): Likewise. * lisp/man.el (Man-softhyphen-to-minus): Use `string-prefix-p'. * lisp/minibuffer.el (completion--string-equal-p): Remove, use `string-equal-ignore-case' instead. (completion--twq-all): Use `string-equal-ignore-case'. (completion--do-completion): Likewise. * lisp/net/browse-url.el (browse-url-default-windows-browser): Use `string-prefix-p' instead of explicit `compare-strings'. * lisp/org/ob-core.el (org-babel-results-keyword): Use `string-equal-ignore-case' instead of explicit `compare-strings'. (org-babel-insert-result): Likewise. * lisp/org/org-compat.el (string-equal-ignore-case): Define unless defined already. (org-mode-flyspell-verify): Use `string-equal-ignore-case'. * lisp/org/org-lint.el (org-lint-duplicate-custom-id): Likewise. * lisp/org/ox.el (org-export-resolve-radio-link): Use `string-equal-ignore-case' and `string-clean-whitespace'. * lisp/progmodes/flymake-proc.el (flymake-proc--check-patch-master-file-buffer): Use `string-prefix-p' instead of explicit `compare-strings'. * lisp/progmodes/idlwave.el (idlwave-class-or-superclass-with-tag): Use `string-equal-ignore-case' instead of explicit `compare-strings'. * lisp/subr.el (member-ignore-case): Use `string-equal-ignore-case'. (string-equal-ignore-case): Compare strings ignoring case. * lisp/textmodes/bibtex.el (bibtex-string=): Remove. (bibtex-format-entry, bibtex-font-lock-url, bibtex-autofill-entry) (bibtex-print-help-message, bibtex-validate, bibtex-validate-globally) (bibtex-clean-entry, bibtex-completion-at-point-function, (bibtex-url): Use `string-equal-ignore-case' instead of `bibtex-string='. * lisp/textmodes/sgml-mode.el (sgml-get-context): Use `string-equal-ignore-case' instead of explicit `compare-strings'. (sgml-calculate-indent): Likewise * test/lisp/subr-tests.el (string-comparison-test): Add tests for `string-equal-ignore-case'.
* Gently discourage use of `lsh` (bug#56641)Mattias Engdegård2022-07-201-3/+0
| | | | | | | | * lisp/subr.el (lsh): Note the general preference for `ash`. * lisp/emacs-lisp/shortdoc.el (number): Remove entry for `lsh`. It was identical to that for `ash` which is misleading. Shortdoc is very helpful for finding the right function to use, and `lsh` is just for compatibility at this point.
* Add `take` and `ntake` (bug#56521)Mattias Engdegård2022-07-171-0/+4
| | | | | | | | | | | | | | These are useful list primitives, complementary to `nthcdr`. * src/fns.c (Ftake, Fntake): New. (syms_of_fns): Defsubr them. * doc/lispref/lists.texi (List Elements): * lisp/emacs-lisp/shortdoc.el (list): Document. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns): Declare `take` pure and side-effect-free. * test/src/fns-tests.el (fns-tests--take-ref, fns--take-ntake): New test. * etc/NEWS: Announce.
* Remove some ineffectual calls to purecopyStefan Kangas2022-07-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/dired.el (dired-chown-program, dired-trivial-filenames): * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): * lisp/help-fns.el (help-fns--mention-shortdoc-groups): * lisp/mail/mail-extr.el (mail-extr-full-name-prefixes) (mail-extr-all-letters-but-separators, mail-extr-all-letters) (mail-extr-first-letters, mail-extr-last-letters) (mail-extr-bad-dot-pattern, mail-extr-full-name-suffix-pattern) (mail-extr-alternative-address-pattern) (mail-extr-trailing-comment-start-pattern) (mail-extr-name-pattern, mail-extr-telephone-extension-pattern) (mail-extr-ham-call-sign-pattern, mail-extr-normal-name-pattern) (mail-extr-two-name-pattern) (mail-extr-listserv-list-name-pattern) (mail-extr-stupid-vms-date-stamp-pattern) (mail-extr-hz-embedded-gb-encoded-chinese-pattern) (mail-extr-x400-encoded-address-pattern) (mail-extr-x400-encoded-address-field-pattern-format) (mail-extr-x400-encoded-address-surname-pattern) (mail-extr-x400-encoded-address-given-name-pattern) (mail-extr-x400-encoded-address-full-name-pattern): Remove ineffectual calls to purecopy.
* Add file-parent-directory functionDaanturo2022-07-041-0/+7
| | | | | | | * doc/lispref/files.texi: Document the function. * etc/NEWS: Add its entry. * lisp/emacs-lisp/shortdoc.el: Add it to 'file-name' group. * lisp/files.el: implementation (bug#56355).