diff --git a/elpa/dash-20240103.1301/dash-autoloads.el b/elpa/dash-20240510.1327/dash-autoloads.el similarity index 98% rename from elpa/dash-20240103.1301/dash-autoloads.el rename to elpa/dash-20240510.1327/dash-autoloads.el index ecceffa..45df59a 100644 --- a/elpa/dash-20240103.1301/dash-autoloads.el +++ b/elpa/dash-20240510.1327/dash-autoloads.el @@ -50,15 +50,13 @@ or call the function `global-dash-fontify-mode'.") (custom-autoload 'global-dash-fontify-mode "dash" nil) (autoload 'global-dash-fontify-mode "dash" "\ Toggle Dash-Fontify mode in all buffers. -With prefix ARG, enable Global Dash-Fontify mode if ARG is positive; otherwise, -disable it. +With prefix ARG, enable Global Dash-Fontify mode if ARG is positive; otherwise, disable it. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. -Dash-Fontify mode is enabled in all buffers where `dash--turn-on-fontify-mode' -would do it. +Dash-Fontify mode is enabled in all buffers where `dash--turn-on-fontify-mode' would do it. See `dash-fontify-mode' for more information on Dash-Fontify mode. @@ -67,6 +65,7 @@ See `dash-fontify-mode' for more information on Dash-Fontify mode. Register the Dash Info manual with `info-lookup-symbol'. This allows Dash symbols to be looked up with \\[info-lookup-symbol]." t) (register-definition-prefixes "dash" '("!cdr" "!cons" "--" "->" "-a" "-butlast" "-c" "-d" "-e" "-f" "-gr" "-i" "-juxt" "-keep" "-l" "-m" "-no" "-o" "-p" "-r" "-s" "-t" "-u" "-value-to-list" "-when-let" "-zip" "dash-")) + ;;; End of scraped data diff --git a/elpa/dash-20240103.1301/dash-pkg.el b/elpa/dash-20240510.1327/dash-pkg.el similarity index 71% rename from elpa/dash-20240103.1301/dash-pkg.el rename to elpa/dash-20240510.1327/dash-pkg.el index 3b67254..6b4ebef 100644 --- a/elpa/dash-20240103.1301/dash-pkg.el +++ b/elpa/dash-20240510.1327/dash-pkg.el @@ -1,6 +1,6 @@ -(define-package "dash" "20240103.1301" "A modern list library for Emacs" +(define-package "dash" "20240510.1327" "A modern list library for Emacs" '((emacs "24")) - :commit "e32a70ca636bad42232b6c79f1491dc86802a721" :authors + :commit "1de9dcb83eacfb162b6d9a118a4770b1281bcd84" :authors '(("Magnar Sveen" . "magnars@gmail.com")) :maintainers '(("Magnar Sveen" . "magnars@gmail.com")) diff --git a/elpa/dash-20240103.1301/dash.el b/elpa/dash-20240510.1327/dash.el similarity index 99% rename from elpa/dash-20240103.1301/dash.el rename to elpa/dash-20240510.1327/dash.el index e2d4298..ed2a859 100644 --- a/elpa/dash-20240103.1301/dash.el +++ b/elpa/dash-20240510.1327/dash.el @@ -2108,7 +2108,7 @@ last item in second form, etc." Insert X at the position signified by the symbol `it' in the first form. If there are more forms, insert the first form at the position -signified by `it' in in second form, etc." +signified by `it' in the second form, etc." (declare (debug (form body))) `(-as-> ,x it ,@forms)) @@ -3298,6 +3298,8 @@ Return the sorted list. LIST is NOT modified by side effects. COMPARATOR is called with two elements of LIST, and should return non-nil if the first element should sort before the second." (declare (important-return-value t)) + ;; Not yet worth changing to (sort list :lessp comparator); + ;; still seems as fast or slightly faster. (sort (copy-sequence list) comparator)) (defmacro --sort (form list) diff --git a/elpa/dash-20240103.1301/dash.info b/elpa/dash-20240510.1327/dash.info similarity index 99% rename from elpa/dash-20240103.1301/dash.info rename to elpa/dash-20240510.1327/dash.info index be163e2..4a66021 100644 --- a/elpa/dash-20240103.1301/dash.info +++ b/elpa/dash-20240510.1327/dash.info @@ -2427,7 +2427,7 @@ readability. Insert X at the position signified by the symbol ‘it’ in the first form. If there are more forms, insert the first form at the - position signified by ‘it’ in in second form, etc. + position signified by ‘it’ in the second form, etc. (--> "def" (concat "abc" it "ghi")) ⇒ "abcdefghi" @@ -4892,53 +4892,53 @@ Node: Threading macros84441 Ref: ->84666 Ref: ->>85154 Ref: -->85657 -Ref: -as->86213 -Ref: -some->86667 -Ref: -some->>87052 -Ref: -some-->87499 -Ref: -doto88066 -Node: Binding88619 -Ref: -when-let88826 -Ref: -when-let*89287 -Ref: -if-let89816 -Ref: -if-let*90182 -Ref: -let90805 -Ref: -let*96895 -Ref: -lambda97832 -Ref: -setq98638 -Node: Side effects99439 -Ref: -each99633 -Ref: -each-while100160 -Ref: -each-indexed100780 -Ref: -each-r101372 -Ref: -each-r-while101814 -Ref: -dotimes102458 -Node: Destructive operations103011 -Ref: !cons103229 -Ref: !cdr103433 -Node: Function combinators103626 -Ref: -partial103830 -Ref: -rpartial104348 -Ref: -juxt104996 -Ref: -compose105448 -Ref: -applify106055 -Ref: -on106485 -Ref: -flip107257 -Ref: -rotate-args107781 -Ref: -const108410 -Ref: -cut108752 -Ref: -not109232 -Ref: -orfn109776 -Ref: -andfn110569 -Ref: -iteratefn111356 -Ref: -fixfn112058 -Ref: -prodfn113632 -Node: Development114783 -Node: Contribute115072 -Node: Contributors116084 -Node: FDL118177 -Node: GPL143497 -Node: Index181246 +Ref: -as->86214 +Ref: -some->86668 +Ref: -some->>87053 +Ref: -some-->87500 +Ref: -doto88067 +Node: Binding88620 +Ref: -when-let88827 +Ref: -when-let*89288 +Ref: -if-let89817 +Ref: -if-let*90183 +Ref: -let90806 +Ref: -let*96896 +Ref: -lambda97833 +Ref: -setq98639 +Node: Side effects99440 +Ref: -each99634 +Ref: -each-while100161 +Ref: -each-indexed100781 +Ref: -each-r101373 +Ref: -each-r-while101815 +Ref: -dotimes102459 +Node: Destructive operations103012 +Ref: !cons103230 +Ref: !cdr103434 +Node: Function combinators103627 +Ref: -partial103831 +Ref: -rpartial104349 +Ref: -juxt104997 +Ref: -compose105449 +Ref: -applify106056 +Ref: -on106486 +Ref: -flip107258 +Ref: -rotate-args107782 +Ref: -const108411 +Ref: -cut108753 +Ref: -not109233 +Ref: -orfn109777 +Ref: -andfn110570 +Ref: -iteratefn111357 +Ref: -fixfn112059 +Ref: -prodfn113633 +Node: Development114784 +Node: Contribute115073 +Node: Contributors116085 +Node: FDL118178 +Node: GPL143498 +Node: Index181247  End Tag Table diff --git a/elpa/dash-20240103.1301/dir b/elpa/dash-20240510.1327/dir similarity index 100% rename from elpa/dash-20240103.1301/dir rename to elpa/dash-20240510.1327/dir diff --git a/elpa/exec-path-from-shell-2.1/exec-path-from-shell-autoloads.el b/elpa/exec-path-from-shell-2.2/exec-path-from-shell-autoloads.el similarity index 100% rename from elpa/exec-path-from-shell-2.1/exec-path-from-shell-autoloads.el rename to elpa/exec-path-from-shell-2.2/exec-path-from-shell-autoloads.el diff --git a/elpa/exec-path-from-shell-2.1/exec-path-from-shell-pkg.el b/elpa/exec-path-from-shell-2.2/exec-path-from-shell-pkg.el similarity index 68% rename from elpa/exec-path-from-shell-2.1/exec-path-from-shell-pkg.el rename to elpa/exec-path-from-shell-2.2/exec-path-from-shell-pkg.el index 1b8fe10..0d42820 100644 --- a/elpa/exec-path-from-shell-2.1/exec-path-from-shell-pkg.el +++ b/elpa/exec-path-from-shell-2.2/exec-path-from-shell-pkg.el @@ -1,7 +1,6 @@ -(define-package "exec-path-from-shell" "2.1" "Get environment variables such as $PATH from the shell" - '((emacs "24.1") - (cl-lib "0.6")) - :commit "03fc0a38af9e396c98f5a30c392cf757b3a34feb" :authors +(define-package "exec-path-from-shell" "2.2" "Get environment variables such as $PATH from the shell" + '((emacs "24.4")) + :commit "72ede29a0e0467b3b433e8edbee3c79bab005884" :authors '(("Steve Purcell" . "steve@sanityinc.com")) :maintainers '(("Steve Purcell" . "steve@sanityinc.com")) diff --git a/elpa/exec-path-from-shell-2.1/exec-path-from-shell.el b/elpa/exec-path-from-shell-2.2/exec-path-from-shell.el similarity index 78% rename from elpa/exec-path-from-shell-2.1/exec-path-from-shell.el rename to elpa/exec-path-from-shell-2.2/exec-path-from-shell.el index 60e7853..a6e9abb 100644 --- a/elpa/exec-path-from-shell-2.1/exec-path-from-shell.el +++ b/elpa/exec-path-from-shell-2.2/exec-path-from-shell.el @@ -5,8 +5,8 @@ ;; Author: Steve Purcell ;; Keywords: unix, environment ;; URL: https://github.com/purcell/exec-path-from-shell -;; Package-Version: 2.1 -;; Package-Requires: ((emacs "24.1") (cl-lib "0.6")) +;; Package-Version: 2.2 +;; Package-Requires: ((emacs "24.4")) ;; This file is not part of GNU Emacs. @@ -76,6 +76,7 @@ ;; Satisfy the byte compiler (eval-when-compile (require 'eshell)) (require 'cl-lib) +(require 'json) (defgroup exec-path-from-shell nil "Make Emacs use shell-defined values for $PATH etc." @@ -135,9 +136,13 @@ The default value denotes an interactive login shell." (when exec-path-from-shell-debug (apply 'message msg args))) +(defun exec-path-from-shell--nushell-p (shell) + "Return non-nil if SHELL is nu." + (string-match-p "nu$" shell)) + (defun exec-path-from-shell--standard-shell-p (shell) "Return non-nil iff SHELL supports the standard ${VAR-default} syntax." - (not (string-match "\\(fish\\|nu\\|t?csh\\)$" shell))) + (not (string-match-p "\\(fish\\|nu\\|t?csh\\)$" shell))) (defmacro exec-path-from-shell--warn-duration (&rest body) "Evaluate BODY and warn if execution duration exceeds a time limit. @@ -166,7 +171,7 @@ in place of any % placeholders in STR. ARGS are not automatically shell-escaped, so they may contain $ etc." (let* ((printf-bin (or (executable-find "printf") "printf")) (printf-command - (concat printf-bin + (concat (shell-quote-argument printf-bin) " '__RESULT\\000" str "\\000__RESULT' " (mapconcat #'exec-path-from-shell--double-quote args " "))) (shell (exec-path-from-shell--shell)) @@ -188,6 +193,44 @@ shell-escaped, so they may contain $ etc." (match-string 1) (error "Expected printf output from shell, but got: %S" (buffer-string)))))) +(defun exec-path-from-shell-getenvs--nushell (names) + "Use nushell to get the value of env vars with the given NAMES. + +Execute the shell according to `exec-path-from-shell-arguments'. +The result is a list of (NAME . VALUE) pairs." + (let* ((shell (exec-path-from-shell--shell)) + (expr (format "[ %s ] | to json" + (string-join + (mapcar (lambda (name) + (format "$env.%s?" (exec-path-from-shell--double-quote name))) + names) + ", "))) + (shell-args (append exec-path-from-shell-arguments (list "-c" expr)))) + (with-temp-buffer + (exec-path-from-shell--debug "Invoking shell %s with args %S" shell shell-args) + (let ((exit-code (exec-path-from-shell--warn-duration + (apply #'call-process shell nil t nil shell-args)))) + (exec-path-from-shell--debug "Shell printed: %S" (buffer-string)) + (unless (zerop exit-code) + (error "Non-zero exit code from shell %s invoked with args %S. Output was:\n%S" + shell shell-args (buffer-string)))) + (goto-char (point-min)) + (let ((json-array-type 'list) + (json-null :null)) + (let ((values (json-read-array)) + result) + (while values + (let ((value (car values))) + (push (cons (car names) + (unless (eq :null value) + (if (listp value) + (string-join value path-separator) + value))) + result)) + (setq values (cdr values) + names (cdr names))) + result))))) + (defun exec-path-from-shell-getenvs (names) "Get the environment variables with NAMES from the user's shell. @@ -195,22 +238,24 @@ Execute the shell according to `exec-path-from-shell-arguments'. The result is a list of (NAME . VALUE) pairs." (when (file-remote-p default-directory) (error "You cannot run exec-path-from-shell from a remote buffer (Tramp, etc.)")) - (let* ((random-default (md5 (format "%s%s%s" (emacs-pid) (random) (current-time)))) - (dollar-names (mapcar (lambda (n) (format "${%s-%s}" n random-default)) names)) - (values (split-string (exec-path-from-shell-printf - (mapconcat #'identity (make-list (length names) "%s") "\\000") - dollar-names) "\0"))) - (let (result) - (while names - (prog1 - (let ((value (car values))) - (push (cons (car names) - (unless (string-equal random-default value) - value)) - result)) - (setq values (cdr values) - names (cdr names)))) - result))) + (if (exec-path-from-shell--nushell-p (exec-path-from-shell--shell)) + (exec-path-from-shell-getenvs--nushell names) + (let* ((random-default (md5 (format "%s%s%s" (emacs-pid) (random) (current-time)))) + (dollar-names (mapcar (lambda (n) (format "${%s-%s}" n random-default)) names)) + (values (split-string (exec-path-from-shell-printf + (mapconcat #'identity (make-list (length names) "%s") "\\000") + dollar-names) "\0"))) + (let (result) + (while names + (prog1 + (let ((value (car values))) + (push (cons (car names) + (unless (string-equal random-default value) + value)) + result)) + (setq values (cdr values) + names (cdr names)))) + result)))) (defun exec-path-from-shell-getenv (name) "Get the environment variable NAME from the user's shell. diff --git a/init.el b/init.el index dc51a9c..1c8f5b1 100644 --- a/init.el +++ b/init.el @@ -1372,15 +1372,7 @@ Note that this workaround is incomplete, as explained in this comment." :commands (global-git-commit-mode) :ensure t :init (setq git-commit-style-convention-checks '(non-empty-second-line - overlong-summary-line) - git-commit-known-pseudo-headers '("Signed-off-by" - "Acked-by" - "Modified-by" - "Cc" - "Suggested-by" - "Reported-by" - "Tested-by" - "Reviewed-by")) + overlong-summary-line)) :config (add-hook 'git-commit-mode-hook #'(lambda () (setq fill-column 72))))