GNU bug report logs - #74085
Issues with emacs 30.0.91 on windows

Previous Next

Package: emacs;

Reported by: Champailler Stéphane <Stephane.Champailler <at> uliege.be>

Date: Tue, 29 Oct 2024 12:48:03 UTC

Severity: normal

Tags: notabug

Merged with 74084

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74085 in the body.
You can then email your comments to 74085 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#74085; Package emacs. (Tue, 29 Oct 2024 12:48:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Champailler Stéphane <Stephane.Champailler <at> uliege.be>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 29 Oct 2024 12:48:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Champailler Stéphane <Stephane.Champailler <at> uliege.be>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: RE: Issues with emacs 30.0.91 on windows
Date: Tue, 29 Oct 2024 10:33:58 +0000
After investigation, the long lasting packages list update are also present on 29.4 so I'd say it's something linked to my firewall/proxy. The second part related to lsp is well there though.

Best regards,

Stéphane
________________________________________
De : Champailler Stéphane <Stephane.Champailler <at> uliege.be>
Envoyé : mardi 29 octobre 2024 08:53
À : bug-gnu-emacs <at> gnu.org <bug-gnu-emacs <at> gnu.org>
Objet : Issues with emacs 30.0.91 on windows
 
Hello,

I have given a shot today at emacs 30.0.91 on windows (don't shoot at me 🙂)

I got some problems:
- M-x packages-list-package is slow, 1-2 minute to complete. I'm behind a company firewall. C-g is responsive still.
- M-x packages-list-package-no-fetch is slow too, about 1 minute to complete
- I have installed lsp-mode package (20241025.1627). When trying to start it, I get an error (see end of mail). This error doesn't show up in emacs 29.4.

I'm not a very savvy user of emacs (mostly text, python scripts and org-mode) but if you need more info, I can try to get that.

Hope it helps,
Stéphane


Debugger entered--Lisp error: (error "Shortdoc f function ‘f-older-p’: bad keyword ‘:noeval’")
  error("Shortdoc %s function `%s': bad keyword `%s'" f f-older-p :noeval)
  shortdoc--check(f ("Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '("foo/bar/baz" "foo/bar/qux" "foo/bar/mux")) :eval (f-common-parent '("/foo/bar/baz" "/foo/bar/qux" "/foo/bax/mux")) :eval (f-common-parent '("foo/bar/baz" "quack/bar/qux" "lack/bar/mux"))) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) (f-uniquify-alist :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" (f-exists-p :no-eval* (f-exists-p "path/to/file.txt") :no-eval* (f-exists-p "path/to/dir")) (f-directory-p :no-eval* (f-directory-p "path/to/file.txt") :no-eval* (f-directory-p "path/to/dir")) ...))
  #f(compiled-function (group &rest functions) "Add GROUP to the list of defined documentation groups.\nFUNCTIONS is a list of elements on the form:\n\n  (FUNC\n   :no-manual BOOL\n   :args ARGS\n   :eval EVAL\n   :no-eval EXAMPLE-FORM\n   :no-value EXAMPLE-FORM\n   :no-eval* EXAMPLE-FORM\n   :result RESULT-FORM\n   :result-string RESULT-STRING\n   :eg-result RESULT-FORM\n   :eg-result-string RESULT-STRING)\n\nFUNC is the function being documented.\n\nNO-MANUAL should be non-nil if FUNC isn't documented in the\nmanual.\n\nARGS is optional list of function FUNC's arguments.  FUNC's\nsignature is displayed automatically if ARGS is not present.\nSpecifying ARGS might be useful where you don't want to document\nsome of the uncommon arguments a function might have.\n\nWhile the `:no-manual' and `:args' property can be used for\nany (FUNC ..) form, all of the other properties shown above\ncannot be used simultaneously in such a form.\n\nHere are some common forms with examples of properties that go\ntogether:\n\n1. Document a form or string, and its evaluated return value.\n   (FUNC\n    :eval EVAL)\n\nIf EVAL is a string, it will be inserted as is, and then that\nstring will be `read' and evaluated.\n\n2. Document a form or string, but manually document its evaluation\n   result.  The provided form will not be evaluated.\n\n  (FUNC\n   :no-eval EXAMPLE-FORM\n   :result RESULT-FORM)   ;Use `:result-string' if value is in string form\n\nUsing `:no-value' is the same as using `:no-eval'.\n\nUse `:no-eval*' instead of `:no-eval' where the successful\nexecution of the documented form depends on some conditions.\n\n3. Document a form or string EXAMPLE-FORM.  Also manually\n   document an example result.  This result could be unrelated to\n   the documented form.\n\n  (FUNC\n   :no-eval EXAMPLE-FORM\n   :eg-result RESULT-FORM) ;Use `:eg-result-string' if value is in string form\n\nA FUNC form can have any number of `:no-eval' (or `:no-value'),\n`:no-eval*', `:result', `:result-string', `:eg-result' and\n`:eg-result-string' properties." #<bytecode 0xdb1d4fa4d0b2928>)(f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent ...) :eval (f-common-parent ...) :eval (f-common-parent ...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify ...) :eval (f-uniquify ...) :eval (f-uniquify ...) :eval (f-uniquify ...)) (f-uniquify-alist :eval (f-uniquify-alist ...) :eval (f-uniquify-alist ...) :eval (f-uniquify-alist ...) :eval (f-uniquify-alist ...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) ...)
  macroexpand-1((define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '("foo/bar/baz" "foo/bar/qux" "foo/bar/mux")) :eval (f-common-parent '("/foo/bar/baz" "/foo/bar/qux" "/foo/bax/mux")) :eval (f-common-parent '("foo/bar/baz" "quack/bar/qux" "lack/bar/mux"))) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) (f-uniquify-alist :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" ...) nil)
  macroexp-macroexpand((define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '("foo/bar/baz" "foo/bar/qux" "foo/bar/mux")) :eval (f-common-parent '("/foo/bar/baz" "/foo/bar/qux" "/foo/bax/mux")) :eval (f-common-parent '("foo/bar/baz" "quack/bar/qux" "lack/bar/mux"))) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) (f-uniquify-alist :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" ...) nil)
  macroexp--expand-all((define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '("foo/bar/baz" "foo/bar/qux" "foo/bar/mux")) :eval (f-common-parent '("/foo/bar/baz" "/foo/bar/qux" "/foo/bax/mux")) :eval (f-common-parent '("foo/bar/baz" "quack/bar/qux" "lack/bar/mux"))) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) (f-uniquify-alist :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/foo/quux")) :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/www/bar/quux")) :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" ...))
  macroexp--all-forms((progn (when (< emacs-major-version 29) (require 'shortdoc)) (define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '...) :eval (f-common-parent '...) :eval (f-common-parent '...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...)) (f-uniquify-alist :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" ...)) 1)
  macroexp--expand-all((progn (when (< emacs-major-version 29) (require 'shortdoc)) (define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '...) :eval (f-common-parent '...) :eval (f-common-parent '...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...)) (f-uniquify-alist :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" ...)))
  macroexp--all-forms((if (version<= "28.1" emacs-version) (progn (when (< emacs-major-version 29) (require 'shortdoc)) (define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '...) :eval (f-common-parent '...) :eval (f-common-parent '...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...)) (f-uniquify-alist :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" (f-exists-p :no-eval* (f-exists-p "path/to/file.txt") :no-eval* (f-exists-p "path/to/dir")) (f-directory-p :no-eval* (f-directory-p "path/to/file.txt") :no-eval* (f-directory-p "path/to/dir")) (f-file-p :no-eval* (f-file-p "path/to/file.txt") :no-eval* (f-file-p "path/to/dir")) (f-symlink-p :no-eval* (f-symlink-p "path/to/file.txt") :no-eval* (f-symlink-p "path/to/dir") :no-eval* (f-symlink-p "path/to/link")) (f-readable-p :no-eval* (f-readable-p "path/to/file.txt") :no-eval* (f-readable-p "path/to/dir")) (f-writable-p :no-eval* (f-writable-p "path/to/file.txt") :no-eval* (f-writable-p "path/to/dir")) ...))) 1)
  macroexp--expand-all((if (version<= "28.1" emacs-version) (progn (when (< emacs-major-version 29) (require 'shortdoc)) (define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '...) :eval (f-common-parent '...) :eval (f-common-parent '...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...)) (f-uniquify-alist :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" (f-exists-p :no-eval* (f-exists-p "path/to/file.txt") :no-eval* (f-exists-p "path/to/dir")) (f-directory-p :no-eval* (f-directory-p "path/to/file.txt") :no-eval* (f-directory-p "path/to/dir")) (f-file-p :no-eval* (f-file-p "path/to/file.txt") :no-eval* (f-file-p "path/to/dir")) (f-symlink-p :no-eval* (f-symlink-p "path/to/file.txt") :no-eval* (f-symlink-p "path/to/dir") :no-eval* (f-symlink-p "path/to/link")) (f-readable-p :no-eval* (f-readable-p "path/to/file.txt") :no-eval* (f-readable-p "path/to/dir")) (f-writable-p :no-eval* (f-writable-p "path/to/file.txt") :no-eval* (f-writable-p "path/to/dir")) ...))))
  macroexpand--all-toplevel((if (version<= "28.1" emacs-version) (progn (when (< emacs-major-version 29) (require 'shortdoc)) (define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '...) :eval (f-common-parent '...) :eval (f-common-parent '...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...)) (f-uniquify-alist :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" (f-exists-p :no-eval* (f-exists-p "path/to/file.txt") :no-eval* (f-exists-p "path/to/dir")) (f-directory-p :no-eval* (f-directory-p "path/to/file.txt") :no-eval* (f-directory-p "path/to/dir")) (f-file-p :no-eval* (f-file-p "path/to/file.txt") :no-eval* (f-file-p "path/to/dir")) (f-symlink-p :no-eval* (f-symlink-p "path/to/file.txt") :no-eval* (f-symlink-p "path/to/dir") :no-eval* (f-symlink-p "path/to/link")) (f-readable-p :no-eval* (f-readable-p "path/to/file.txt") :no-eval* (f-readable-p "path/to/dir")) (f-writable-p :no-eval* (f-writable-p "path/to/file.txt") :no-eval* (f-writable-p "path/to/dir")) ...))))
  internal-macroexpand-for-load((if (version<= "28.1" emacs-version) (progn (when (< emacs-major-version 29) (require 'shortdoc)) (define-short-documentation-group f "Paths" (f-join :eval (f-join "path") :eval (f-join "path" "to") :eval (f-join "/" "path" "to" "heaven") :eval (f-join "path" "/to" "file")) (f-split :eval (f-split "path") :eval (f-split "path/to") :eval (f-split "/path/to/heaven") :eval (f-split "~/back/to/earth")) (f-expand :no-eval (f-expand "name") :result-string "/default/directory/name" :no-eval (f-expand "name" "other/directory") :result-string "other/directory/name") (f-filename :eval (f-filename "path/to/file.ext") :eval (f-filename "path/to/directory")) (f-dirname :eval (f-dirname "path/to/file.ext") :eval (f-dirname "path/to/directory") :eval (f-dirname "/")) (f-common-parent :eval (f-common-parent '...) :eval (f-common-parent '...) :eval (f-common-parent '...)) (f-ext :eval (f-ext "path/to/file") :eval (f-ext "path/to/file.txt") :eval (f-ext "path/to/file.txt.org")) (f-no-ext :eval (f-no-ext "path/to/file") :eval (f-no-ext "path/to/file.txt") :eval (f-no-ext "path/to/file.txt.org")) (f-swap-ext :eval (f-swap-ext "path/to/file.ext" "org")) (f-base :eval (f-base "path/to/file.ext") :eval (f-base "path/to/directory")) (f-relative :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") :eval (f-relative "/default/directory/my/file.txt")) (f-short :no-eval (f-short "/Users/foo/Code/on/macOS") :result-string "~/Code/on/macOS" :no-eval (f-short "/home/foo/Code/on/linux") :result-string "~/Code/on/linux" :eval (f-short "/path/to/Code/bar")) (f-long :eval (f-long "~/Code/bar") :eval (f-long "/path/to/Code/bar")) (f-canonical :eval (f-canonical "/path/to/real/file") :no-eval (f-canonical "/link/to/file") :result-string "/path/to/real/file") (f-slash :no-eval (f-slash "/path/to/file") :result-string "/path/to/file" :no-eval (f-slash "/path/to/dir") :result-string "/path/to/dir/" :no-eval (f-slash "/path/to/dir/") :result-string "/path/to/dir/") (f-full :eval (f-full "~/path/to/file") :eval (f-full "~/path/to/dir") :eval (f-full "~/path/to/dir/")) (f-uniquify :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...) :eval (f-uniquify '...)) (f-uniquify-alist :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...) :eval (f-uniquify-alist '...)) "I/O" (f-read-bytes :no-eval* (f-read-bytes "path/to/binary/data")) (f-write-bytes :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) (f-append-bytes :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) (f-read-text :no-eval* (f-read-text "path/to/file.txt" 'utf-8) :no-eval* (f-read "path/to/file.txt" 'utf-8)) (f-write-text :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) (f-append-text :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) "Destructive" (f-mkdir :no-eval (f-mkdir "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir "other" "dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir "/" "some" "path") :result-string "creates /some/path" :no-eval (f-mkdir "~" "yet" "another" "dir") :result-string "creates ~/yet/another/dir") (f-mkdir-full-path :no-eval (f-mkdir-full-path "dir") :result-string "creates /default/directory/dir" :no-eval (f-mkdir-full-path "other/dir") :result-string "creates /default/directory/other/dir" :no-eval (f-mkdir-full-path "/some/path") :result-string "creates /some/path" :no-eval (f-mkdir-full-path "~/yet/another/dir") :result-string "creates ~/yet/another/dir") (f-delete :no-eval* (f-delete "dir") :no-eval* (f-delete "other/dir" t) :no-eval* (f-delete "path/to/file.txt")) (f-symlink :no-eval* (f-symlink "path/to/source" "path/to/link")) (f-move :no-eval* (f-move "path/to/file.txt" "new-file.txt") :no-eval* (f-move "path/to/file.txt" "other/path")) (f-copy :no-eval* (f-copy "path/to/file.txt" "new-file.txt") :no-eval* (f-copy "path/to/dir" "other/dir")) (f-copy-contents :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) (f-touch :no-eval* (f-touch "path/to/existing/file.txt") :no-eval* (f-touch "path/to/non/existing/file.txt")) "Predicates" (f-exists-p :no-eval* (f-exists-p "path/to/file.txt") :no-eval* (f-exists-p "path/to/dir")) (f-directory-p :no-eval* (f-directory-p "path/to/file.txt") :no-eval* (f-directory-p "path/to/dir")) (f-file-p :no-eval* (f-file-p "path/to/file.txt") :no-eval* (f-file-p "path/to/dir")) (f-symlink-p :no-eval* (f-symlink-p "path/to/file.txt") :no-eval* (f-symlink-p "path/to/dir") :no-eval* (f-symlink-p "path/to/link")) (f-readable-p :no-eval* (f-readable-p "path/to/file.txt") :no-eval* (f-readable-p "path/to/dir")) (f-writable-p :no-eval* (f-writable-p "path/to/file.txt") :no-eval* (f-writable-p "path/to/dir")) ...))) t)
  load-with-code-conversion("c:/Users/StephaneC/AppData/Roaming/.emacs.d/elpa/f-20230116.1032/f-shortdoc.el" "c:/Users/StephaneC/AppData/Roaming/.emacs.d/elpa/f-20230116.1032/f-shortdoc.el" nil t)
  require(f-shortdoc)
  byte-code("\301\302!\210\301\303!\210\304\305\10\"\203\23\0\301\306!\210\307\310\311\312#\210\307\310\313\314#\207" [emacs-version require s dash version<= "28.1" f-shortdoc put f-guard-error error-conditions (error f-guard-error) error-message "Destructive operation outside sandbox"] 4)
  require(f)
  load-with-code-conversion("c:/Users/StephaneC/AppData/Roaming/.emacs.d/elpa/lsp-mode-20241025.1627/lsp-mode.el" "c:/Users/StephaneC/AppData/Roaming/.emacs.d/elpa/lsp-mode-20241025.1627/lsp-mode.el" nil t)
  require(lsp-mode)
  load-with-code-conversion("c:/Users/StephaneC/AppData/Roaming/.emacs.d/elpa/lsp-mode-20241025.1627/lsp-completion.el" "c:/Users/StephaneC/AppData/Roaming/.emacs.d/elpa/lsp-mode-20241025.1627/lsp-completion.el" nil t)
  autoload-do-load((autoload "lsp-completion" "Toggle LSP completion support.\n\nThis is a minor mode.  If called interactively, toggle the\n`Lsp-Completion mode' mode.  If the prefix argument is positive, enable\nthe mode, and if it is zero or negative, disable the mode.\n\nIf called from Lisp, toggle the mode if ARG is `toggle'.  Enable the\nmode if ARG is nil, omitted, or is a positive number.  Disable the mode\nif ARG is a negative number.\n\nTo check whether the minor mode is enabled in the current buffer,\nevaluate the variable `lsp-completion-mode'.\n\nThe mode's hook is called both when the mode is enabled and when it is\ndisabled.\n\n(fn &optional ARG)" t nil) lsp-completion-mode)
  desktop-load-file(lsp-completion-mode)
  desktop-create-buffer(208 "c:/Users/StephaneC/works/accurapple/src/debug2.rs" "debug2.rs" rust-ts-mode (company-mode lsp-completion-mode flymake-mode lsp-diagnostics-mode lsp-headerline-breadcrumb-mode lsp-modeline-code-actions-mode lsp-modeline-diagnostics-mode lsp-modeline-workspace-status-mode lsp-lens-mode eldoc-mode lsp-managed-mode lsp-mode yascroll-bar-mode font-lock-mode) 706 (740 nil) nil nil ((buffer-display-time 26400 37288 837065 0) (buffer-file-coding-system . utf-8-dos)) ((mark-ring (706))))
  load-with-code-conversion("c:/Users/StephaneC/AppData/Roaming/.emacs.d/.emacs.desktop" "c:/Users/StephaneC/AppData/Roaming/.emacs.d/.emacs.desktop" t t)
  load("c:/Users/StephaneC/AppData/Roaming/.emacs.d/.emacs.desktop" t t t)
  desktop-read()
  #f(compiled-function () #<bytecode 0x4f954274f6df10d>)()
  run-hooks(after-init-hook delayed-warnings-hook)
  command-line()
  normal-top-level()

Forcibly Merged 74084 74085. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 02 Jan 2025 02:12:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74085; Package emacs. (Sat, 01 Mar 2025 01:29:02 GMT) Full text and rfc822 format available.

Message #10 received at 74085 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Champailler Stéphane <Stephane.Champailler <at> uliege.be>
Cc: "74084-done <at> debbugs.gnu.org" <74084 <at> debbugs.gnu.org>,
 Sebastián Monía <sebastian <at> sebasmonia.com>,
 74085 <at> debbugs.gnu.org
Subject: Re: bug#74085: Issues with emacs 30.0.91 on windows
Date: Fri, 28 Feb 2025 17:27:59 -0800
Champailler Stéphane <Stephane.Champailler <at> uliege.be> writes:

> For the list package slowness, yep, I think it's due to the proxy in my university. So forget about that
> one.
>
> For the LSP one, I have opened an issue on their github page:
> https://github.com/emacs-lsp/lsp-mode/issues/4603
>
> I'll try to make a small reproducible example later.
>
> Thank you for answering so fast to my email.
>
> (and I do use gnu/linux at home 🙂 since pfiiu,,, 1995 or so ! 🙂 )

It seems like this was an issue in a third-party package, so I'm closing
this bug now.

If this conclusion is incorrect and this is still an issue, please reply
to this email (use "Reply to all" in your email client) and we can
reopen the bug report.




bug closed, send any further explanations to 74085 <at> debbugs.gnu.org and Champailler Stéphane <Stephane.Champailler <at> uliege.be> Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 01 Mar 2025 03:33:02 GMT) Full text and rfc822 format available.

Added tag(s) notabug. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 01 Mar 2025 03:33:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 29 Mar 2025 11:24:43 GMT) Full text and rfc822 format available.

This bug report was last modified 94 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.