[elpa] externals/buffer-env a15b608a3e: Avoid race condition when reading process output
branch: externals/buffer-env commit a15b608a3ef14db902803405f792b13f367ed24d Author: Augusto Stoffel Commit: Augusto Stoffel Avoid race condition when reading process output Fixes #22. --- buffer-env.el | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/buffer-env.el b/buffer-env.el index ba5bfa4b1a..dcc0dcd711 100644 --- a/buffer-env.el +++ b/buffer-env.el @@ -212,8 +212,11 @@ When called interactively, ask for a FILE." :sentinel #'ignore :buffer (current-buffer) :stderr errbuf))) + ;; Give subprocess a chance to finish + ;; before setting up a progress reporter (sit-for 0) - (when (process-live-p proc) + (if (not (process-live-p proc)) + (accept-process-output proc) (let* ((msg (format-message "[buffer-env] Running `%s'..." file)) (reporter (make-progress-reporter msg))) (while (or (accept-process-output proc 1)
[elpa] externals/tramp e9e0062d8a: Tramp ELPA version 2.6.1.3 released
branch: externals/tramp commit e9e0062d8aaa245a24e2c246346cde97e48407d0 Author: Michael Albinus Commit: Michael Albinus Tramp ELPA version 2.6.1.3 released --- README | 6 ++-- test/tramp-tests.el | 79 ++--- texi/tramp.texi | 40 ++- texi/trampver.texi | 2 +- tramp-sh.el | 2 ++ tramp-sshfs.el | 4 +-- tramp.el| 42 trampver.el | 6 ++-- 8 files changed, 131 insertions(+), 50 deletions(-) diff --git a/README b/README index ae059c78fa..e22daa5819 100644 --- a/README +++ b/README @@ -22,11 +22,11 @@ installed with, you must recompile the package: • Remove all byte-compiled Tramp files - $ rm -f ~/.emacs.d/elpa/tramp-2.6.1.2/tramp*.elc + $ rm -f ~/.emacs.d/elpa/tramp-2.6.1.3/tramp*.elc • Start Emacs with Tramp’s source files - $ emacs -L ~/.emacs.d/elpa/tramp-2.6.1.2 -l tramp + $ emacs -L ~/.emacs.d/elpa/tramp-2.6.1.3 -l tramp This should not give you the error. @@ -40,7 +40,7 @@ Mitigation of a bug in Emacs 29.1 * Due to a bug in Emacs 29.1, you must apply the following change prior -installation or upgrading Tramp 2.6.1.2 from GNU ELPA: +installation or upgrading Tramp 2.6.1.3 from GNU ELPA: (when (string-equal emacs-version "29.1") (with-current-buffer diff --git a/test/tramp-tests.el b/test/tramp-tests.el index 6021eda8df..0648fe9e80 100644 --- a/test/tramp-tests.el +++ b/test/tramp-tests.el @@ -5313,7 +5313,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'." ;; `make-process' supports file name handlers since Emacs 27. We ;; cannot use `tramp--test-always' during compilation of the macro. (when (let ((file-name-handler-alist '(("" . (lambda (&rest _) t) - (ignore-errors (make-process :file-handler t))) + (ignore-errors (make-process :name "" :command "" :file-handler t))) `(ert-deftest ,(intern (concat (symbol-name test) "-direct-async")) () ;; This is the docstring. However, it must be expanded to a ;; string inside the macro. No idea. @@ -5354,7 +5354,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'." (let ((default-directory ert-remote-temporary-file-directory) (tmp-name (tramp--test-make-temp-name nil quoted)) kill-buffer-query-functions command proc) - (with-no-warnings (should-not (make-process))) + (should-not (apply #'make-process nil)) ; Use `apply' to avoid warnings. ;; Simple process. (unwind-protect @@ -7384,13 +7384,13 @@ This requires restrictions of file name syntax." ;; of process output. So we unset it temporarily. (setenv "PS1") (with-temp-buffer - (should (zerop (process-file "printenv" nil t nil))) - (goto-char (point-min)) - (should -(re-search-forward - (tramp-compat-rx - bol (literal envvar) - "=" (literal (getenv envvar)) eol + (when (zerop (process-file "printenv" nil t nil)) + (goto-char (point-min)) + (should + (re-search-forward + (tramp-compat-rx +bol (literal envvar) +"=" (literal (getenv envvar)) eol) ;; Cleanup. (ignore-errors (kill-buffer buffer)) @@ -7843,7 +7843,7 @@ process sentinels. They shall not disturb each other." (shell-command-to-string "read -s -p Password: pass" (let ((pass "secret") - (mock-entry (copy-sequence (assoc "mock" tramp-methods))) + (mock-entry (copy-tree (assoc "mock" tramp-methods))) mocked-input tramp-methods) ;; We must mock `read-string', in order to avoid interactive ;; arguments. @@ -7890,6 +7890,65 @@ process sentinels. They shall not disturb each other." (let ((auth-sources `(,netrc-file))) (should (file-exists-p ert-remote-temporary-file-directory) +(ert-deftest tramp-test46-read-otp-password () + "Check Tramp one-time password handling." + :tags '(:expensive-test) + (skip-unless (tramp--test-mock-p)) + ;; Not all read commands understand argument "-s" or "-p". + (skip-unless + (string-empty-p +(let ((shell-file-name "sh")) + (shell-command-to-string "read -s -p Password: pass" + + (let ((pass "secret") + (mock-entry (copy-tree (assoc "mock" tramp-methods))) + mocked-input tramp-methods) +;; We must mock `read-string', in order to avoid interactive +;; arguments. +(cl-letf* (((symbol-function #'read-string) + (lambda (&rest _args) (pop mocked-input + (setcdr + (assq 'tramp-login-args mock-entry) + `((("-c")
[elpa] externals/cursory 1b271486e2: Add cursory-set-preset-hook
branch: externals/cursory commit 1b271486e28a299ad489d151a92eaa1788c7dd41 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Add cursory-set-preset-hook --- README.org | 6 ++ cursory.el | 9 - 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 6b02f30c85..55b8c3649c 100644 --- a/README.org +++ b/README.org @@ -85,6 +85,12 @@ The user option ~cursory-presets~ holds the presets. The command minibuffer completion when there are multiple presets, else sets the single preset outright. +#+vindex: cursory-set-preset-hook +The ~cursory-set-preset~ comman calls the ~cursory-set-preset-hook~ +as its final step. Use this to run other functions after changing the +cursor (e.g. a function that checks the style Cursory used to apply an +appropriate color). [ This hook is part of {{{development-version}}}. ] + Presets consist of an arbitrary symbol broadly described the style set followed by a list of properties that govern the cursor type in the active and inactive windows, as well as cursor blinking variables. diff --git a/cursory.el b/cursory.el index 23c013036b..97b92d7251 100644 --- a/cursory.el +++ b/cursory.el @@ -253,6 +253,12 @@ Saving is done by the `cursory-store-latest-preset' function." :package-version '(cursory . "0.1.0") :group 'cursory) +(defcustom cursory-set-preset-hook nil + "Normal hook that runs after `cursory-set-preset'." + :type 'hook + :package-version '(cursory . "1.1.0") + :group 'cursory) + (defvar cursory--style-hist '() "Minibuffer history of `cursory--set-cursor-prompt'.") @@ -332,7 +338,8 @@ current buffer." blink-cursor-delay delay) ;; We only want to save global values in `cursory-store-latest-preset'. (add-to-history 'cursory--style-hist (format "%s" preset))) -(blink-cursor-mode (plist-get styles :blink-cursor-mode))) +(blink-cursor-mode (plist-get styles :blink-cursor-mode)) +(run-hooks 'cursory-set-preset-hook)) (user-error "Cannot determine styles of preset `%s'" preset))) ;;;###autoload
[elpa] externals/org 85ebb6d422: * lisp/ob-org.el: Document all the function arguments
branch: externals/org commit 85ebb6d422f0508032c29bfea5329210d0e48b1b Author: Ihor Radchenko Commit: Ihor Radchenko * lisp/ob-org.el: Document all the function arguments (org-babel-expand-body:org): Add docstring. (org-babel-execute:org): Explain all the arguments and describe what execution of Org body means. --- lisp/ob-org.el | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/ob-org.el b/lisp/ob-org.el index 1bf02b461c..30edd994e4 100644 --- a/lisp/ob-org.el +++ b/lisp/ob-org.el @@ -45,6 +45,8 @@ "Default header inserted during export of org blocks.") (defun org-babel-expand-body:org (body params) + "Expand Org BODY according to PARAMS. +$VAR instances are replaced by VAR values defined in PARAMS." (dolist (var (org-babel--get-vars params)) (setq body (replace-regexp-in-string (regexp-quote (format "$%s" (car var))) @@ -53,7 +55,9 @@ body) (defun org-babel-execute:org (body params) - "Execute a block of Org code with. + "Execute a Org BODY according to PARAMS. +The BODY is returned expanded as is or exported, if PARAMS define +latex/html/ascii result type. This function is called by `org-babel-execute-src-block'." (let ((result-params (split-string (or (cdr (assq :results params)) ""))) (body (org-babel-expand-body:org
[elpa] externals/pulsar 0e32311b88 2/3: Add evil-mode commands to pulsar-pulse-functions
branch: externals/pulsar commit 0e32311b8871e42ccc839d3a362e60e216034b91 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Add evil-mode commands to pulsar-pulse-functions --- pulsar.el | 4 1 file changed, 4 insertions(+) diff --git a/pulsar.el b/pulsar.el index e4c5834022..6291a94275 100644 --- a/pulsar.el +++ b/pulsar.el @@ -84,6 +84,10 @@ Extension of `pulse.el'." scroll-up-command scroll-down-command goto-line +evil-goto-first-line +evil-goto-line +evil-scroll-up +evil-scroll-down next-buffer previous-buffer windmove-right
[elpa] externals/pulsar 9849b0fd76 1/3: Add goto-line to pulsar-pulse-functions
branch: externals/pulsar commit 9849b0fd766f3142c582e2ed77f58b7f6a2af518 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Add goto-line to pulsar-pulse-functions --- pulsar.el | 1 + 1 file changed, 1 insertion(+) diff --git a/pulsar.el b/pulsar.el index 06affcb141..e4c5834022 100644 --- a/pulsar.el +++ b/pulsar.el @@ -83,6 +83,7 @@ Extension of `pulse.el'." backward-page scroll-up-command scroll-down-command +goto-line next-buffer previous-buffer windmove-right
[elpa] externals/pulsar updated (6e4157f4e3 -> 1f145cc9a2)
elpasync pushed a change to branch externals/pulsar. from 6e4157f4e3 Document pulsar-pulse-region new 9849b0fd76 Add goto-line to pulsar-pulse-functions new 0e32311b88 Add evil-mode commands to pulsar-pulse-functions new 1f145cc9a2 Sort pulsar-pulse-functions A-Z Summary of changes: pulsar.el | 53 + 1 file changed, 29 insertions(+), 24 deletions(-)
[elpa] externals/pulsar 1f145cc9a2 3/3: Sort pulsar-pulse-functions A-Z
branch: externals/pulsar commit 1f145cc9a2b7f201d1b6c2a402eb01d3cd0e4a29 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Sort pulsar-pulse-functions A-Z --- pulsar.el | 54 +++--- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pulsar.el b/pulsar.el index 6291a94275..17ed105a4e 100644 --- a/pulsar.el +++ b/pulsar.el @@ -72,45 +72,45 @@ Extension of `pulse.el'." User options (defcustom pulsar-pulse-functions - '(recenter-top-bottom -move-to-window-line-top-bottom -reposition-window + '(backward-page bookmark-jump -other-window -delete-window delete-other-windows -forward-page -backward-page -scroll-up-command -scroll-down-command -goto-line +delete-window evil-goto-first-line evil-goto-line -evil-scroll-up evil-scroll-down -next-buffer -previous-buffer -windmove-right -windmove-left -windmove-up -windmove-down -windmove-swap-states-right -windmove-swap-states-left -windmove-swap-states-up -windmove-swap-states-down -tab-new -tab-close -tab-next +evil-scroll-up +forward-page +goto-line handle-switch-frame +move-to-window-line-top-bottom +next-buffer +org-backward-heading-same-level +org-forward-heading-same-level org-next-visible-heading org-previous-visible-heading -org-forward-heading-same-level -org-backward-heading-same-level +other-window outline-backward-same-level outline-forward-same-level outline-next-visible-heading outline-previous-visible-heading -outline-up-heading) +outline-up-heading +previous-buffer +recenter-top-bottom +reposition-window +scroll-down-command +scroll-up-command +tab-close +tab-new +tab-next +windmove-down +windmove-left +windmove-right +windmove-swap-states-down +windmove-swap-states-left +windmove-swap-states-right +windmove-swap-states-up +windmove-up) "Functions that call `pulsar-pulse-line' after invocation. This only takes effect when `pulsar-mode' (buffer-local) or `pulsar-global-mode' is enabled."
[nongnu] elpa/cider b39d8fa13c: `cider-connect`: also look for Babashka nrepl servers (#3489)
branch: elpa/cider commit b39d8fa13cf6e9dd6effeb6987e874b8ac9a082f Author: vemv Commit: GitHub `cider-connect`: also look for Babashka nrepl servers (#3489) --- cider.el | 72 ++-- 1 file changed, 48 insertions(+), 24 deletions(-) diff --git a/cider.el b/cider.el index 291bfed51d..88352d8fc0 100644 --- a/cider.el +++ b/cider.el @@ -1912,31 +1912,55 @@ Use `cider-ps-running-lein-nrepls-command' and (defun cider--running-non-lein-nrepl-paths () "Retrieve (directory, port) pairs of running nREPL servers other than Lein ones." (unless (eq system-type 'windows-nt) -(let ((non-lein-nrepl-pids - (thread-last (split-string - (shell-command-to-string "ps u | grep java | grep -v leiningen | grep nrepl.cmdline") - "\n") -(mapcar (lambda (s) - (nth 1 (split-string s " " -(seq-filter #'identity +(let* ((bb-indicator "--nrepl-server") + (non-lein-nrepl-pids +(thread-last (split-string + (shell-command-to-string + ;; some of the `ps u` lines we intend to catch: + ;; 15411 0.0 0.0 37915744 16084 s000 S+ 3:02PM 0:00.02 bb --nrepl-server + ;; 13835 0.1 11.2 37159036 7528432 s009 S+ 2:47PM 6:41.29 java -cp src -m nrepl.cmdline + (format "ps u | grep -E 'java|%s' | grep -E 'nrepl.cmdline|%s' | grep -v -E 'leiningen|grep'" + bb-indicator + bb-indicator)) + "\n") + (mapcar (lambda (s) + (nth 1 (split-string s " " + (seq-filter #'identity (when non-lein-nrepl-pids -(mapcar (lambda (pid) - (let* ((directory (thread-last (split-string (shell-command-to-string (concat "lsof -a -d cwd -n -Fn -p " pid)) - "\n") - (seq-map (lambda (s) -(when (string-prefix-p "n" s) - (replace-regexp-in-string "^n" "" s - (seq-filter #'identity) - car)) - (port (thread-last (split-string (shell-command-to-string (concat "lsof -n -Fn -i -a -p " pid)) - "\n") -(seq-map (lambda (s) - (when (string-prefix-p "n" s) - (replace-regexp-in-string ".*:" "" s -(seq-filter #'identity) -car))) -(list directory port))) -non-lein-nrepl-pids) +(thread-last non-lein-nrepl-pids + (mapcar (lambda (pid) + (let* ( + ;; -a: This flag is used to combine conditions with AND instead of OR + ;; -d: Lists only the file descriptors that match the given + ;; -n: Inhibits the conversion of network numbers to host names. + ;; -Fn: output file entry information as separate lines, with 'n' designating network info. + ;; -p: specifies the . + (directory (thread-last (split-string (shell-command-to-string (concat "lsof -a -d cwd -n -Fn -p " pid)) + "\n") + (seq-map (lambda (s) + (when (string-prefix-p "n" s) + (replace-regexp-in-string "^n" "" s + (seq-filter #'identity) + car)) + ;; -a: This flag is used to combine conditions with AND instead of OR + ;; -n: Inhibits the conversion of network numbers to host names. + ;; -P: (important!) Ensure ports are shown as numbers, even if they have a well-known name. + ;; -Fn: output file entry information as separate lines, w
[elpa] externals/cape 01af6c1f9f: cape-keyword: Update Python keywords (#93)
branch: externals/cape commit 01af6c1f9fbf19b753ed2a69f9cd716864fa4c8d Author: Mattias Bengtsson Commit: GitHub cape-keyword: Update Python keywords (#93) Python 3.10 added three new "soft"[1] keywords: "match", "case" and "_". Add "match" and "case" but skip "_" since a one-character keyword is of low use in completion. 1: https://docs.python.org/3/reference/lexical_analysis.html#soft-keywords --- cape-keyword.el | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cape-keyword.el b/cape-keyword.el index 51eb0d5b78..ec445a2c27 100644 --- a/cape-keyword.el +++ b/cape-keyword.el @@ -259,10 +259,10 @@ "in" "infix" "infixl" "infixr" "instance" "let" "module" "newtype" "of" "then" "type" "where") (python-mode ;; https://docs.python.org/3/reference/lexical_analysis.html#keywords - "False" "None" "True" "and" "as" "assert" "break" "class" "continue" "def" - "del" "elif" "else" "except" "exec" "finally" "for" "from" "global" "if" - "import" "in" "is" "lambda" "nonlocal" "not" "or" "pass" "print" "raise" - "return" "try" "while" "with" "yield") + "False" "None" "True" "and" "as" "assert" "break" "case ""class" "continue" + "def" "del" "elif" "else" "except" "exec" "finally" "for" "from" "global" + "if" "import" "in" "is" "lambda" "match ""nonlocal" "not" "or" "pass" + "print" "raise" "return" "try" "while" "with" "yield") (ruby-mode "BEGIN" "END" "alias" "and" "begin" "break" "case" "class" "def" "defined?" "do" "else" "elsif" "end" "ensure" "false" "for" "if" "in" "module" "next"
[elpa] externals/cursory 024fe6ba3a: Document cursory-set-preset-hook in cursory-set-preset command
branch: externals/cursory commit 024fe6ba3aadafe033ac9243971e98b6ce915519 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Document cursory-set-preset-hook in cursory-set-preset command --- cursory.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cursory.el b/cursory.el index 97b92d7251..2a309cdebe 100644 --- a/cursory.el +++ b/cursory.el @@ -351,7 +351,9 @@ STYLE is a symbol that represents the car of a list in With optional LOCAL as a prefix argument, set the `cursory-presets' only for the current buffer. This does not -cover the `blink-cursor-mode', which is always global." +cover the `blink-cursor-mode', which is always global. + +Call `cursory-set-preset-hook' as a final step." (interactive (list (cursory--set-cursor-prompt)
[elpa] externals/fontaine 1ae260fb1d: Make fontaine-set-preset-hook a defcustom
branch: externals/fontaine commit 1ae260fb1d8150d456aacc1a5ab905c575120f03 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Make fontaine-set-preset-hook a defcustom Before, it was hard for users to discover it. --- README.org | 4 fontaine.el | 13 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 6434b4e33d..a7f49ddcba 100644 --- a/README.org +++ b/README.org @@ -130,6 +130,10 @@ applies the effects to the given object, while the latter means the current frame and thus is the same as interactively supplying the prefix argument. +#+vindex: fontaine-set-preset-hook +As a final step, ~fontaine-set-preset~ calls the ~fontaine-set-preset-hook~. +[ This is part of {{{development-version}}}. ] + #+findex: fontaine-set-face-font #+vindex: fontaine-font-families The command ~fontaine-set-face-font~ prompts with completion for a face diff --git a/fontaine.el b/fontaine.el index 8938fe71f2..8648a8c5bc 100644 --- a/fontaine.el +++ b/fontaine.el @@ -362,6 +362,12 @@ combine the other two lists." :package-version '(fontaine . "0.2.0") :group 'fontaine) +(defcustom fontaine-set-preset-hook nil + "Hook that runs after setting fonts with `fontaine-set-preset'." + :type 'hook + :package-version '(fontaine . "1.1.0") + :group 'fontaine) + General utilities (defun fontaine--frame (frame) @@ -517,9 +523,6 @@ ARGS are its routines." (fontaine--presets-no-fallback) nil t nil 'fontaine--font-display-hist def -(defvar fontaine-set-preset-hook nil - "Hook that runs after setting fonts.") - (defvar fontaine-current-preset nil "Current font set in `fontaine-presets'. This is the preset last used by `fontaine-set-preset'. Also see @@ -542,7 +545,9 @@ argument (\\[universal-argument]), FRAME is interpreted as non-nil. Set `fontaine-current-preset' to PRESET. Also see the command -`fontaine-apply-current-preset'." +`fontaine-apply-current-preset'. + +Call `fontaine-set-preset-hook' as a final step." (interactive (list (if (= (length fontaine-presets) 1)
[nongnu] elpa/parseedn updated (5772dc9cb5 -> c8f07926a6)
elpasync pushed a change to branch elpa/parseedn. from 5772dc9cb5 Stop requiring `a` as a package dependency new f84068fd37 Add support for namespaced maps new 6522c7222e Remove all `:ast` values new 803c26fcf2 Extract the logic of building the map to separate defuns new 2323052e7b Revamp badges new c8f07926a6 1.2.0 Summary of changes: CHANGELOG.md | 7 ++ README.md | 6 +- parseedn.el| 62 +++ test/parseedn-test-data.el | 256 + 4 files changed, 83 insertions(+), 248 deletions(-)
[nongnu] elpa/parseedn c8f07926a6 5/5: 1.2.0
branch: elpa/parseedn commit c8f07926a688bfe995fde4460103915d401a1aff Author: vemv Commit: vemv 1.2.0 --- CHANGELOG.md | 7 +++ parseedn.el | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c575c16c2..e267449336 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# 1.2.0 (2023-09-29) + +- [#12](https://github.com/clojure-emacs/parseedn/issues/12): Allow empty vectors to be printed. +- [#14](https://github.com/clojure-emacs/parseedn/pull/14): avoid C stack overflows. +- [#15](https://github.com/clojure-emacs/parseedn/pull/15): correctly process empty hashmaps. +- [#17](https://github.com/clojure-emacs/parseedn/pull/17): Add support for namespaced maps. + # 1.1.0 (2022-02-07) - [#11](https://github.com/clojure-emacs/parseedn/pull/11) Support a default-data-reader for tagged literals diff --git a/parseedn.el b/parseedn.el index 82b249432e..a9cec1e5d0 100644 --- a/parseedn.el +++ b/parseedn.el @@ -6,7 +6,7 @@ ;; URL: http://www.github.com/clojure-emacs/parseedn ;; Keywords: lisp clojure edn parser ;; Package-Requires: ((emacs "26") (parseclj "1.1.0") (map "2")) -;; Version: 1.1.0 +;; Version: 1.2.0 ;; This file is not part of GNU Emacs.
[nongnu] elpa/parseedn 6522c7222e 2/5: Remove all `:ast` values
branch: elpa/parseedn commit 6522c7222e4b8adac2df22950d1fab590a9ea1ec Author: Iñaki Arenaza Commit: vemv Remove all `:ast` values parseedn-read never sees the full value of the `:ast` keys as defined in `parseedn-test-data.el`. In fact, it doesn't know about it at all. The only functions that see anything related to the `:ast` values are `parseedn-reduce-leaf` and `parseedn-reduce-branch`. But they are called back from `parseclj` when needed, to "reduce" (transform the current AST node definition into the associated Emacs Lisp data type). As commented in https://github.com/clojure-emacs/parseedn/pull/17#discussion_r1321814637, they very likely are remnants of when parseedn and parseclj were the same library. --- test/parseedn-test-data.el | 290 - 1 file changed, 20 insertions(+), 270 deletions(-) diff --git a/test/parseedn-test-data.el b/test/parseedn-test-data.el index 212e8df199..399405dd93 100644 --- a/test/parseedn-test-data.el +++ b/test/parseedn-test-data.el @@ -36,295 +36,95 @@ (a-list :tags '(:edn-roundtrip) :source "(1 2 3)" -:edn '((1 2 3)) -:ast '((:node-type . :root) - (:position . 1) - (:children . (((:node-type . :list) - (:position . 1) - (:children . (((:node-type . :number) - (:position . 2) - (:form . "1") - (:value . 1)) -((:node-type . :number) - (:position . 4) - (:form . "2") - (:value . 2)) -((:node-type . :number) - (:position . 6) - (:form . "3") - (:value . 3) +:edn '((1 2 3))) "empty-list" (a-list :source "()" -:edn '(()) -:ast '((:node-type . :root) - (:position . 1) - (:children . (((:node-type . :list) - (:position . 1) - (:children . nil)) +:edn '(())) "size-1" (a-list :tags '(:edn-roundtrip) :source "(1)" -:edn '((1)) -:ast '((:node-type . :root) - (:position . 1) - (:children . (((:node-type . :list) - (:position . 1) - (:children . (((:node-type . :number) - (:position . 2) - (:form . "1") - (:value . 1) +:edn '((1))) "leafs" (a-list :source "(nil true false hello-world)" -:edn '((nil t nil hello-world)) -:ast '((:node-type . :root) - (:position . 1) - (:children . (((:node-type . :list) - (:position . 1) - (:children . (((:node-type . :nil) - (:position . 2) - (:form . "nil") - (:value . nil)) -((:node-type . :true) - (:position . 6) - (:form . "true") - (:value . t)) -((:node-type . :false) - (:position . 11) - (:form . "false") - (:value . nil)) -((:node-type . :symbol) - (:position . 17) - (:form . "hello-world") - (:value . hello-world) +:edn '((nil t nil hello-world))) "qualified-symbol" (a-list :tags '(:edn-roundtrip) :source "clojure.string/join" -:edn '(clojure.string/join) -:ast '((:node-type . :root) - (:position . 1) - (:children . (((:node-type . :symbol) - (:position . 1) - (:form . "clojure.string/join") - (:value . clojure.string/join)) +:edn '(clojure.string/join)) "nested-lists" (a-list :source "((.9 abc (true) (hello)))" -
[nongnu] elpa/parseedn f84068fd37 1/5: Add support for namespaced maps
branch: elpa/parseedn commit f84068fd37ccb498cb0884a0c03279dc285c2474 Author: Iñaki Arenaza Commit: vemv Add support for namespaced maps parseclj already added support for namespaced maps in 2018 (in commit b40670a56147214f0486763529897cb688a09692). As Alex Miller said in https://github.com/edn-format/edn/issues/78 > Clojure introduced namespace map syntax in Clojure 1.9. The Clojure > edn reader was also updated to support the non-autoresolved parts of > namespace map syntax (edn doesn't do anything autoresolved like > ::foo or #::foo{}). > > The edn spec should be updated to a new version that includes the > namespace map syntax such as #:foo{:bar 1} (syntax alternative for > {:foo/bar 1}). So it's pretty clear that the intention is for edn spec to support namespaced maps (the reference implementation in Clojure already does!). In addition to the use case mentioned in issue #16, not supporting this seems to cause trouble in CIDER when integrating with shadow-cljs (https://github.com/clojure-emacs/cider/issues/3437) Fixes: #16 --- parseedn.el| 18 +++-- test/parseedn-test-data.el | 50 ++ 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/parseedn.el b/parseedn.el index 99dd703007..0532268fb9 100644 --- a/parseedn.el +++ b/parseedn.el @@ -113,10 +113,24 @@ on available options." ((eq :lbracket token-type) (apply #'vector children)) ((eq :set token-type) (list 'edn-set children)) ((eq :lbrace token-type) (let* ((kvs (seq-partition children 2)) -(hash-map (make-hash-table :test 'equal :size (length kvs +(hash-map (make-hash-table :test 'equal :size (length kvs))) +(prefixed-map? (eq :map-prefix (parseclj-lex-token-type (car stack +(map-prefix (when prefixed-map? + ;; map-prefix forms are always "#:" + (substring (parseclj-lex-token-form (car stack)) 2 (seq-do (lambda (pair) - (puthash (car pair) (cadr pair) hash-map)) + (let* ((k (if (not prefixed-map?) + (car pair) + (let ((key-name (substring (symbol-name (car pair)) 1))) + (if (string-match-p "/" key-name) + ;; keyword is already qualified, we must not add the prefix. + (car pair) + (intern (concat ":" map-prefix "/" key-name)) +(v (cadr pair))) + (puthash k v hash-map))) kvs) + (when prefixed-map? + (setq stack (cdr stack))) hash-map)) ((eq :tag token-type) (let* ((tag (intern (substring (alist-get :form opening-token) 1))) (reader (alist-get tag tag-readers)) diff --git a/test/parseedn-test-data.el b/test/parseedn-test-data.el index 7fe31ac7c8..212e8df199 100644 --- a/test/parseedn-test-data.el +++ b/test/parseedn-test-data.el @@ -245,6 +245,56 @@ (:form . "123") (:value . 123) + "prefixed-map-1" + (a-list +:source "#:foo.bar{:baz 1 :other.ns.prefix/qux 2}" +:edn (list (a-hash-table :foo.bar/baz 1 :other.ns.prefix/qux 2)) +:ast '((:node-type . :root) + (:position . 1) + (:children . (((:map-prefix + (:token-type . :map-prefix) + (:form . "#:foo.bar") + (:pos . 1)) + (:node-type . :map) + (:position . 10) + (:children . (((:node-type . :keyword) + (:position . 11) + (:form . ":baz") + (:value . :baz)) +((:node-type . :number) + (:position . 16) + (:form . "1") +
[nongnu] elpa/parseedn 2323052e7b 4/5: Revamp badges
branch: elpa/parseedn commit 2323052e7bc5c27db48bd43e2bab0da86b7bf8cc Author: vemv Commit: vemv Revamp badges --- README.md | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7ae173c260..d3e03aa00f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -[](https://travis-ci.org/clojure-emacs/parseedn) +[](https://circleci.com/gh/clojure-emacs/parseedn) +[](http://melpa.org/#/parseedn) +[](http://stable.melpa.org/#/parseedn) # EDN parser for Emacs Lisp @@ -72,7 +74,7 @@ PEG parser generator library. ## License -© 2017-2021 Arne Brasseur +© 2017-2023 Arne Brasseur Distributed under the terms of the GNU General Public License 3.0 or later. See [LICENSE](LICENSE).
[nongnu] elpa/parseedn 803c26fcf2 3/5: Extract the logic of building the map to separate defuns
branch: elpa/parseedn commit 803c26fcf2989e95078d4ba86b8a652a1e020064 Author: Iñaki Arenaza Commit: vemv Extract the logic of building the map to separate defuns Before adding the code to support prefixed maps, the branch reduction function looked more concise and higher-level. After adding the support it seemed like it mixed levels of abstraction. Extracting the nitty-gritty details of how to build the maps (especially in the prefixed map case) should help in keeping the levels of abstraction separated. --- parseedn.el | 74 +++-- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/parseedn.el b/parseedn.el index 0532268fb9..82b249432e 100644 --- a/parseedn.el +++ b/parseedn.el @@ -92,6 +92,33 @@ on available options." stack (cons (parseclj-lex--leaf-token-value token) stack))) +(defun parseedn--build-prefixed-map (prefix-token kvs) + "Build a map that has a prefix for non-qualified keywords. +PREFIX-TOKEN is the AST token for the map prefix. +KVS is a list of key, value pairs." + (let* ((hash-map (make-hash-table :test 'equal :size (length kvs))) + ;; map-prefix forms are always "#:" + (map-prefix (substring (parseclj-lex-token-form prefix-token) 2))) +(seq-do (lambda (pair) + (let* ((key-name (substring (symbol-name (car pair)) 1)) + (k (if (string-match-p "/" key-name) +;; keyword is already qualified, we must not add the prefix. +(car pair) + (intern (concat ":" map-prefix "/" key-name + (v (cadr pair))) +(puthash k v hash-map))) +kvs) +hash-map)) + +(defun parseedn--build-non-prefixed-map (kvs) + "Build a non-prefixed map out of KVS. +KVS is a list of pairs (key value)" + (let ((hash-map (make-hash-table :test 'equal :size (length kvs +(seq-do (lambda (pair) + (puthash (car pair) (cadr pair) hash-map)) +kvs) +hash-map)) + (defun parseedn-reduce-branch (stack opening-token children options) "Reduce STACK with an sequence containing a collection of other elisp values. Ignores discard tokens. @@ -106,42 +133,27 @@ on available options." (token-type (parseclj-lex-token-type opening-token))) (if (eq token-type :discard) stack - (cons - (cond -((eq :root token-type) children) -((eq :lparen token-type) children) -((eq :lbracket token-type) (apply #'vector children)) -((eq :set token-type) (list 'edn-set children)) -((eq :lbrace token-type) (let* ((kvs (seq-partition children 2)) -(hash-map (make-hash-table :test 'equal :size (length kvs))) -(prefixed-map? (eq :map-prefix (parseclj-lex-token-type (car stack -(map-prefix (when prefixed-map? - ;; map-prefix forms are always "#:" - (substring (parseclj-lex-token-form (car stack)) 2 - (seq-do (lambda (pair) - (let* ((k (if (not prefixed-map?) - (car pair) - (let ((key-name (substring (symbol-name (car pair)) 1))) - (if (string-match-p "/" key-name) - ;; keyword is already qualified, we must not add the prefix. - (car pair) - (intern (concat ":" map-prefix "/" key-name)) -(v (cadr pair))) - (puthash k v hash-map))) - kvs) - (when prefixed-map? - (setq stack (cdr stack))) - hash-map)) -((eq :tag token-type) (let* ((tag (intern (substring (alist-get :form opening-token) 1))) - (reader (alist-get tag tag-readers)) - (default-reader (alist-get :default tag-readers parseedn-default-data-reader-fn))) + (cond + ((eq :root token-type) (cons children stack)) + ((eq :lparen token-type) (cons children stack)) + ((eq :lbracket token-type) (cons (apply #'vector children) stack)) + ((eq :set token-type) (cons (list 'edn-set children) stack)) + ((eq :lbrace token-type) (let* ((kvs (seq-partition children 2)) +
[nongnu] elpa/cider updated (b39d8fa13c -> 0477ca056f)
elpasync pushed a change to branch elpa/cider. from b39d8fa13c `cider-connect`: also look for Babashka nrepl servers (#3489) new 67cedbb587 Bump `parseedn` new 0477ca056f Improve the reliability of `cider--shadow-get-builds` Summary of changes: CHANGELOG.md | 1 + cider.el | 14 ++ 2 files changed, 11 insertions(+), 4 deletions(-)
[nongnu] elpa/cider 0477ca056f 2/2: Improve the reliability of `cider--shadow-get-builds`
branch: elpa/cider commit 0477ca056f2ff3ae9253f2ab1fb047959708120c Author: vemv Commit: Bozhidar Batsov Improve the reliability of `cider--shadow-get-builds` --- cider.el | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/cider.el b/cider.el index 06502d7ae7..6d6ea5c4a8 100644 --- a/cider.el +++ b/cider.el @@ -1043,11 +1043,17 @@ The default options of `browser-repl' and `node-repl' are also included." (defun cider--shadow-get-builds () "Extract build names from the shadow-cljs.edn config file in the project root." (let ((shadow-edn (concat (clojure-project-dir) "shadow-cljs.edn"))) -(when (file-exists-p shadow-edn) +(when (file-readable-p shadow-edn) (with-temp-buffer (insert-file-contents shadow-edn) -(let ((hash (car (parseedn-read '((shadow/env . identity)) - (cider--shadow-parse-builds hash)) +(condition-case err +(let ((hash (car (parseedn-read '((shadow/env . identity) + (env . identity)) + (cider--shadow-parse-builds hash)) + (error + (user-error "Found an error while reading %s with message: %s" + shadow-edn + (error-message-string err (defun cider-shadow-select-cljs-init-form () "Generate the init form for a shadow-cljs select-only REPL.
[nongnu] elpa/cider 67cedbb587 1/2: Bump `parseedn`
branch: elpa/cider commit 67cedbb58783b77192f0fc8887b71d481b9b884d Author: vemv Commit: Bozhidar Batsov Bump `parseedn` https://github.com/clojure-emacs/parseedn/blob/v1.2.0/CHANGELOG.md#120-2023-09-29 --- CHANGELOG.md | 1 + cider.el | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b7b74dde0..428b9103b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ - Improve `nrepl-dict` error reporting. - Bump the injected `piggieback` to [0.5.3](https://github.com/nrepl/piggieback/blob/0.5.3/CHANGES.md#053-2021-10-26). - Bump the `clojure-mode` required version, and use `clojure-find-ns` more safely, which fixes issues such as #[2849](https://github.com/clojure-emacs/cider/issues/2849). +- Bump the `parseedn` require version, and wrap its usage with a more informative `user-error`. - Bump the injected `cider-nrepl` to [0.38.1](https://github.com/clojure-emacs/cider-nrepl/blob/v0.38.1/CHANGELOG.md#0381-2023-09-21). - Improves indentation, font-locking and other metadata support for ClojureScript. - Updates [Orchard](https://github.com/clojure-emacs/orchard/blob/v0.14.2/CHANGELOG.md) diff --git a/cider.el b/cider.el index 88352d8fc0..06502d7ae7 100644 --- a/cider.el +++ b/cider.el @@ -12,7 +12,7 @@ ;; Maintainer: Bozhidar Batsov ;; URL: http://www.github.com/clojure-emacs/cider ;; Version: 1.8.0-snapshot -;; Package-Requires: ((emacs "26") (clojure-mode "5.16.2") (parseedn "1.0.6") (queue "0.2") (spinner "1.7") (seq "2.22") (sesman "0.3.2") (transient "0.4.1")) +;; Package-Requires: ((emacs "26") (clojure-mode "5.16.2") (parseedn "1.2.0") (queue "0.2") (spinner "1.7") (seq "2.22") (sesman "0.3.2") (transient "0.4.1")) ;; Keywords: languages, clojure, cider ;; This program is free software: you can redistribute it and/or modify
[elpa] externals/gpr-query updated (ada0d0afce -> bae92cd621)
stephen_leake pushed a change to branch externals/gpr-query. from ada0d0afce Release 1.0.3 new 258710222a Resolve conflicts, finish merge new f46f941e96 * ELPA.make (docs): Add html new bae92cd621 Minor fixes Summary of changes: .elpaignore| 7 +++ .gitignore | 2 ++ ELPA.make | 5 - NEWS | 2 ++ README | 2 +- gpr-query.el | 4 ++-- gpr-query.texi | 10 +- install.sh | 6 +- notes.text | 49 + 9 files changed, 21 insertions(+), 66 deletions(-)
[elpa] externals/gpr-query f46f941e96 2/3: * ELPA.make (docs): Add html
branch: externals/gpr-query commit f46f941e96beec785dc14c0c26a24acb5edd1221 Author: Stephen Leake Commit: Stephen Leake * ELPA.make (docs): Add html --- .gitignore | 2 ++ ELPA.make | 7 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4eac78d3ce..2f96d82e64 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ bin/ config/ *.elc obj/ +gpr-query.html +gpr-query.info diff --git a/ELPA.make b/ELPA.make index 1476d451dd..4006863f26 100644 --- a/ELPA.make +++ b/ELPA.make @@ -1,4 +1,4 @@ -# For compiling gpr-query Ada code in elpa or devel worktree +4# For compiling gpr-query Ada code in elpa or devel worktree #export Standard_Common_Build := Debug @@ -6,7 +6,7 @@ all : build byte-compile autoloads docs -docs : gpr-query.info +docs : gpr-query.info gpr-query.html build : config/emacs_gpr_query_config.gpr force gprbuild -p -j8 emacs_gpr_query.gpr @@ -37,6 +37,9 @@ autoloads : force %.info : %.texi makeinfo $< -o $@ +%.html : %.texi + makeinfo --html --no-split $< -o $@ + clean : force rm -rf gpr-query.info obj gpr_query$(EXE_EXT)
[elpa] externals/gpr-query bae92cd621 3/3: Minor fixes
branch: externals/gpr-query commit bae92cd6218601504f2ff1a508ef79d1bf03b29a Author: Stephen Leake Commit: Stephen Leake Minor fixes * ELPA.make: Fix typo. * gpr-query.el: Use with-no-warnings. * install.sh: Delete old comment, fix install command. --- ELPA.make| 2 +- gpr-query.el | 2 +- install.sh | 6 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/ELPA.make b/ELPA.make index 4006863f26..37595957e9 100644 --- a/ELPA.make +++ b/ELPA.make @@ -1,4 +1,4 @@ -4# For compiling gpr-query Ada code in elpa or devel worktree +# For compiling gpr-query Ada code in elpa or devel worktree #export Standard_Common_Build := Debug diff --git a/gpr-query.el b/gpr-query.el index 89bbe8f3da..b40222cd3e 100644 --- a/gpr-query.el +++ b/gpr-query.el @@ -754,7 +754,7 @@ FILE is from gpr-query." ;; WORKAROUND: in emacs 28 xref-location changed from defclass to ;; cl-defstruct. (require 'eieio) -(with-suppressed-warnings ;; "unknown slot" in emacs 28 +(with-no-warnings ;; "unknown slot" in emacs 28 (progn (defun xref-item-summary (item) (oref item summary)) (defun xref-item-location (item) (oref item location)) diff --git a/install.sh b/install.sh index b6d6c25113..f12b5a1f0f 100755 --- a/install.sh +++ b/install.sh @@ -4,10 +4,6 @@ # See build.sh for build (must be run before install). # $1 : optional -# -# If you don't have write permission in the GNAT installation -# directory, you need to use --prefix=, or run with root -# privileges. if [ x$1 = x ]; then PREFIX=$HOME/.local @@ -19,7 +15,7 @@ fi echo "installing gpr-query executables to" $PREFIX/bin if type alr; then -cp emacs_gpr_query/bin/* $PREFIX/bin +cp emacs_gpr_query*/bin/* $PREFIX/bin elif type gprbuild; then cp bin/* $PREFIX/bin
[elpa] externals/gpr-query 258710222a 1/3: Resolve conflicts, finish merge
branch: externals/gpr-query commit 258710222a85130a46c4b7ed927c797265ca63f4 Author: Stephen Leake Commit: Stephen Leake Resolve conflicts, finish merge --- .elpaignore| 7 +++ NEWS | 2 ++ README | 2 +- gpr-query.el | 2 +- gpr-query.texi | 10 +- notes.text | 49 + 6 files changed, 13 insertions(+), 59 deletions(-) diff --git a/.elpaignore b/.elpaignore index ce56bc2095..d295b43551 100644 --- a/.elpaignore +++ b/.elpaignore @@ -1 +1,8 @@ alire.toml +Alire.make +ELPA.make +emacs_gpr_query_config_devel.gpr +emacs_gpr_query_config_release.gpr +gpr-query.prj +prj.el +notes.text diff --git a/NEWS b/NEWS index ffbe0eb981..bd06436b64 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,8 @@ Please send gpr-query bug reports to bug-gnu-em...@gnu.org, with ** Fix Alire build +** ELPA packaging fix. + * gpr-query 1.0.2 5 Jan 2023 diff --git a/README b/README index 72eb0d377f..eec20eae4a 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -Emacs gpr-query version 1.0.2 +Emacs gpr-query version 1.0.3 gpr-query provides an emacs xref backend using the cross-reference information output by the AdaCore GNAT compiler. diff --git a/gpr-query.el b/gpr-query.el index 3d02a15c5c..89bbe8f3da 100644 --- a/gpr-query.el +++ b/gpr-query.el @@ -8,7 +8,7 @@ ;; Author: Stephen Leake ;; Maintainer: Stephen Leake ;; Version: 1.0.3 -;; package-requires: ((emacs "25.3") (wisi "4.2.2") (gnat-compiler "1.0.2")) +;; package-requires: ((emacs "25.3") (wisi "4.2.0") (gnat-compiler "1.0.1")) ;; This file is part of GNU Emacs. diff --git a/gpr-query.texi b/gpr-query.texi index c5205f69e8..92fcafaca7 100644 --- a/gpr-query.texi +++ b/gpr-query.texi @@ -23,21 +23,13 @@ developing GNU and promoting software freedom.'' * gpr-query: (gpr-query). Minor mode providing cross-reference information from the GNAT compiler. @end direntry -@titlepage -@sp 10 -@title gpr-query Version 1.0.2 -@page -@vskip 0pt plus 1filll -@insertcopying -@end titlepage - @contents @ifnottex @node Top, Overview, (dir), (dir) @top Top -gpr-query Version 1.0.2 +gpr-query Version 1.0.3 @end ifnottex @menu diff --git a/notes.text b/notes.text index da08dd3230..c7c3834743 100644 --- a/notes.text +++ b/notes.text @@ -13,61 +13,14 @@ o.e.gpr-query: release, in use current work release process -keep status in ~/projects.text - -check for ELPA patches by others -(dvc-state-one "/Projects/elpa/packages/gpr-query") -(dvc-pull "/Projects/elpa") -(dvc-sync-review "/Projects/elpa") -update -clean, quit sync -cd c:/Projects/elpa -git log -2 -- packages/gpr-query -if changes: -(dvc-log "/Projects/elpa/packages//") -apply changes to current - -check emacs buglist -https://debbugs.gnu.org/cgi/pkgreport.cgi?package=gpr-query -to update a bug: n...@debbugs.gnu.org -subject: from bug title, for people who rely on that. -if fixed in devel sources, add 'pending' tag: -cont...@debbugs.gnu.org -tags nnn + pending +See ada-mode notes; only gpr-query specific details listed here. tested in ada-mode; it uses the same test sources for multiple xref backends. -compare: -(ediff-directories "/Projects/elpa_release/gpr-query" "/Projects/elpa/packages/gpr-query" nil) -NEWS -copyright date -add release date -add new features - -ELPA.make all - -Check copyright on files in elpa -../../GNUMakefile check/gpr-query -if any gpr-query files added to output, fix them (add or change to FSF) - bump version -Gnu ELPA requires single digits between dots in versions - -bump if _any_ changes other than autoloads, so ELPA package handler knows to update -bump third digit for bug fixes, minor features, no user-incompatible changes -bump second digit for major features, mostly backward-compatible -or if third digit gets to 10 - -bump first digit for really major elisp user-visible changes: - gpr-query.el -Version: - NEWS -if not done above - gpr-query.texi -@title @node top README
[elpa] externals/gpr-query 9619300ce2 2/2: Resolve conflicts, finish merge
branch: externals/gpr-query commit 9619300ce22062e2677b0536e7b69dca182f316e Merge: d50f92fe46 bae92cd621 Author: Stephen Leake Commit: Stephen Leake Resolve conflicts, finish merge --- .elpaignore| 7 +++ .gitignore | 2 ++ ELPA.make | 5 - NEWS | 2 ++ gpr-query.texi | 8 install.sh | 6 +- notes.text | 34 +- 7 files changed, 17 insertions(+), 47 deletions(-) diff --git a/.elpaignore b/.elpaignore index ce56bc2095..d295b43551 100644 --- a/.elpaignore +++ b/.elpaignore @@ -1 +1,8 @@ alire.toml +Alire.make +ELPA.make +emacs_gpr_query_config_devel.gpr +emacs_gpr_query_config_release.gpr +gpr-query.prj +prj.el +notes.text diff --git a/.gitignore b/.gitignore index 4eac78d3ce..2f96d82e64 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ bin/ config/ *.elc obj/ +gpr-query.html +gpr-query.info diff --git a/ELPA.make b/ELPA.make index ab49dfabe8..fc651b1f8b 100644 --- a/ELPA.make +++ b/ELPA.make @@ -6,7 +6,7 @@ all : build byte-compile autoloads docs -docs : gpr-query.info +docs : gpr-query.info gpr-query.html build : config/emacs_gpr_query_config.gpr force gprbuild -p -j8 emacs_gpr_query.gpr @@ -38,6 +38,9 @@ autoloads : force %.info : %.texi makeinfo $< -o $@ +%.html : %.texi + makeinfo --html --no-split $< -o $@ + clean : force rm -rf gpr-query.info obj gpr_query$(EXE_EXT) diff --git a/NEWS b/NEWS index c012ed1d03..6e7c7fc87e 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ Please send gpr-query bug reports to bug-gnu-em...@gnu.org, with ** Fix Alire build +** ELPA packaging fix. + * gpr-query 1.0.2 5 Jan 2023 diff --git a/gpr-query.texi b/gpr-query.texi index f7e6a68638..0f5f23d873 100644 --- a/gpr-query.texi +++ b/gpr-query.texi @@ -23,14 +23,6 @@ developing GNU and promoting software freedom.'' * gpr-query: (gpr-query). Minor mode providing cross-reference information from the GNAT compiler. @end direntry -@titlepage -@sp 10 -@title gpr-query Version 1.0.4 -@page -@vskip 0pt plus 1filll -@insertcopying -@end titlepage - @contents @ifnottex diff --git a/install.sh b/install.sh index b6d6c25113..f12b5a1f0f 100755 --- a/install.sh +++ b/install.sh @@ -4,10 +4,6 @@ # See build.sh for build (must be run before install). # $1 : optional -# -# If you don't have write permission in the GNAT installation -# directory, you need to use --prefix=, or run with root -# privileges. if [ x$1 = x ]; then PREFIX=$HOME/.local @@ -19,7 +15,7 @@ fi echo "installing gpr-query executables to" $PREFIX/bin if type alr; then -cp emacs_gpr_query/bin/* $PREFIX/bin +cp emacs_gpr_query*/bin/* $PREFIX/bin elif type gprbuild; then cp bin/* $PREFIX/bin diff --git a/notes.text b/notes.text index 1032e52798..d265c98158 100644 --- a/notes.text +++ b/notes.text @@ -13,27 +13,7 @@ o.e.gpr-query: release, in use current work release process -keep status in ~/projects.text - -check for ELPA patches by others -(dvc-state-one "/Projects/elpa/packages/gpr-query") -(dvc-pull "/Projects/elpa") -(dvc-sync-review "/Projects/elpa") -update -clean, quit sync -cd c:/Projects/elpa -git log -2 -- packages/gpr-query -if changes: -(dvc-log "/Projects/elpa/packages//") -apply changes to current - -check emacs buglist -https://debbugs.gnu.org/cgi/pkgreport.cgi?package=gpr-query -to update a bug: n...@debbugs.gnu.org -subject: from bug title, for people who rely on that. -if fixed in devel sources, add 'pending' tag: -cont...@debbugs.gnu.org -tags nnn + pending +See ada-mode notes; only gpr-query specific details listed here. tested in ada-mode; it uses the same test sources for multiple xref backends. @@ -51,24 +31,12 @@ Check copyright on files in elpa if any gpr-query files added to output, fix them (add or change to FSF) bump version -Gnu ELPA requires single digits between dots in versions - -bump if _any_ changes other than autoloads, so ELPA package handler knows to update -bump third digit for bug fixes, minor features, no user-incompatible changes -bump second digit for major features, mostly backward-compatible -or if third digit gets to 10 - -bump first digit for really major elisp user-visible changes: - gpr-query.el Version: package-requires: NEWS -if not done above - gpr-query.texi -@title @node top README
[elpa] externals/gpr-query d50f92fe46 1/2: Release version 1.0.4
branch: externals/gpr-query commit d50f92fe46828b6b675770dba3004c1ea6ab0b50 Author: Stephen Leake Commit: Stephen Leake Release version 1.0.4 * ELPA.make (INSTALL_DIR): Fix computation of --prefix arg. * NEWS: Version 1.0.4. * README: * gpr-query.el: * gpr-query.texi: --- ELPA.make | 3 ++- NEWS | 7 ++- README | 2 +- gpr-query.el | 6 +++--- gpr-query.texi | 4 ++-- notes.text | 6 +- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ELPA.make b/ELPA.make index 1476d451dd..ab49dfabe8 100644 --- a/ELPA.make +++ b/ELPA.make @@ -11,8 +11,9 @@ docs : gpr-query.info build : config/emacs_gpr_query_config.gpr force gprbuild -p -j8 emacs_gpr_query.gpr +INSTALL_DIR := $(wildcard ~/.local) install : bin/gpr_query$(EXE_EXT) - gprinstall -f -p -P emacs_gpr_query.gpr --prefix=~/.local --install-name=gpr_query + gprinstall -v -f -p -P emacs_gpr_query.gpr --prefix=$(INSTALL_DIR) --install-name=gpr_query ifeq ($(shell uname),Linux) EMACS_EXE ?= emacs diff --git a/NEWS b/NEWS index ffbe0eb981..c012ed1d03 100644 --- a/NEWS +++ b/NEWS @@ -1,11 +1,16 @@ GNU Emacs gpr-query NEWS -- history of user-visible changes. -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. Please send gpr-query bug reports to bug-gnu-em...@gnu.org, with 'gpr-query' in the subject. If possible, use M-x report-emacs-bug. +* gpr-query 1.0.4 +15 Sep 2023 + +** Minor fixes, require wisi 4.3.0. + * gpr-query 1.0.3 28 Jan 2023 diff --git a/README b/README index 72eb0d377f..1c28ffe674 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -Emacs gpr-query version 1.0.2 +Emacs gpr-query version 1.0.4 gpr-query provides an emacs xref backend using the cross-reference information output by the AdaCore GNAT compiler. diff --git a/gpr-query.el b/gpr-query.el index 3d02a15c5c..b2f6e831d6 100644 --- a/gpr-query.el +++ b/gpr-query.el @@ -7,8 +7,8 @@ ;; Author: Stephen Leake ;; Maintainer: Stephen Leake -;; Version: 1.0.3 -;; package-requires: ((emacs "25.3") (wisi "4.2.2") (gnat-compiler "1.0.2")) +;; Version: 1.0.4 +;; package-requires: ((emacs "25.3") (wisi "4.3.0") (gnat-compiler "1.0.3")) ;; This file is part of GNU Emacs. @@ -754,7 +754,7 @@ FILE is from gpr-query." ;; WORKAROUND: in emacs 28 xref-location changed from defclass to ;; cl-defstruct. (require 'eieio) -(with-suppressed-warnings ;; "unknown slot" in emacs 28 +(with-no-warnings ;; "unknown slot" in emacs 28 (progn (defun xref-item-summary (item) (oref item summary)) (defun xref-item-location (item) (oref item location)) diff --git a/gpr-query.texi b/gpr-query.texi index c5205f69e8..f7e6a68638 100644 --- a/gpr-query.texi +++ b/gpr-query.texi @@ -25,7 +25,7 @@ developing GNU and promoting software freedom.'' @titlepage @sp 10 -@title gpr-query Version 1.0.2 +@title gpr-query Version 1.0.4 @page @vskip 0pt plus 1filll @insertcopying @@ -37,7 +37,7 @@ developing GNU and promoting software freedom.'' @node Top, Overview, (dir), (dir) @top Top -gpr-query Version 1.0.2 +gpr-query Version 1.0.4 @end ifnottex @menu diff --git a/notes.text b/notes.text index da08dd3230..1032e52798 100644 --- a/notes.text +++ b/notes.text @@ -38,7 +38,7 @@ check emacs buglist tested in ada-mode; it uses the same test sources for multiple xref backends. compare: -(ediff-directories "/Projects/elpa_release/gpr-query" "/Projects/elpa/packages/gpr-query" nil) +(ediff-directories "/Projects/elpa_release/packages/gpr-query" "/Projects/elpa/packages/gpr-query" nil) NEWS copyright date add release date @@ -62,6 +62,7 @@ bump version gpr-query.el Version: +package-requires: NEWS if not done above @@ -74,9 +75,12 @@ bump version first line alire.toml +bump only if Ada code changed version depends-on versions +build.sh 'alr get' version ; must match alire.toml. + (dvc-state-one ".") On Debian (alr publish --tar broken on Windows (alr version 1.2.1))
[elpa] externals/jinx abc82a2f0b: README: Mention NixOS
branch: externals/jinx commit abc82a2f0bc52cec34c8ed205cfb7509b43c78fc Author: Daniel Mendler Commit: Daniel Mendler README: Mention NixOS --- README.org | 1 + 1 file changed, 1 insertion(+) diff --git a/README.org b/README.org index 9fe8938f44..109d22e4db 100644 --- a/README.org +++ b/README.org @@ -52,6 +52,7 @@ operating system and Linux distribution you have to install different packages: - Debian, Ubuntu: =libenchant-2-dev=, =pkgconf= - Arch, Gentoo: =enchant=, =pkgconf= - Guix: =emacs-jinx= or =enchant=, =pkgconf= +- NixOS: =jinx= from =elpa-packages.nix= - Void, Fedora: =enchant2-devel=, =pkgconf= - FreeBSD, OpenBSD, Mac: =enchant2=, =pkgconf=
[nongnu] elpa/dart-mode updated (2c7bebed15 -> 722e7a2d6b)
elpasync pushed a change to branch elpa/dart-mode. from 2c7bebed15 refactor(dart-mode.el): Clean up a little new aa4c7e6a35 style: Revert commentary new 722e7a2d6b style: Apply commentary changes suggested by @tarsius Summary of changes: dart-mode.el | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-)
[nongnu] elpa/dart-mode 722e7a2d6b 2/2: style: Apply commentary changes suggested by @tarsius
branch: elpa/dart-mode commit 722e7a2d6b885542a14bf27b9d0b0b5898aba78a Author: Jen-Chieh Shen Commit: GitHub style: Apply commentary changes suggested by @tarsius --- dart-mode.el | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dart-mode.el b/dart-mode.el index f537e167cd..1b511e7195 100644 --- a/dart-mode.el +++ b/dart-mode.el @@ -25,9 +25,8 @@ ;;; Commentary: -;; Major mode for editing Dart files. - -;; Provides basic syntax highlighting and indentation. +;; This package implements a major-mode for the Dart language, +;; providing basic syntax highlighting and indentation support. ;;; Code:
[nongnu] elpa/dart-mode aa4c7e6a35 1/2: style: Revert commentary
branch: elpa/dart-mode commit aa4c7e6a3542a02ceca11cb7cf927fa91b5ebb50 Author: Jen-Chieh Shen Commit: GitHub style: Revert commentary --- dart-mode.el | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dart-mode.el b/dart-mode.el index f4d2d276db..f537e167cd 100644 --- a/dart-mode.el +++ b/dart-mode.el @@ -24,11 +24,10 @@ ;; option. ;;; Commentary: -;; + ;; Major mode for editing Dart files. -;; + ;; Provides basic syntax highlighting and indentation. -;; ;;; Code:
[nongnu] elpa/xah-fly-keys 6b1b63c17d 2/2: Several changes:
branch: elpa/xah-fly-keys commit 6b1b63c17d929bbd08053deaddd61fcf2c1fbe6b Author: Xah Lee Commit: Xah Lee Several changes: • xah-change-bracket-pairs critical bug fix. error due to last commit. • xah-run-current-go-file if buffer is not file, now do nothing. (was prompt for save.) new behavior follow user interface principle of no unexpected prompt. • xah-run-current-file-map fixed a bug. before, this was defconst, now its defvar. • xah-open-file-at-cursor if file not exist, just create it, do not ask. --- xah-fly-keys.el | 220 1 file changed, 111 insertions(+), 109 deletions(-) diff --git a/xah-fly-keys.el b/xah-fly-keys.el index 5e5aa48b46..8a9d54d252 100644 --- a/xah-fly-keys.el +++ b/xah-fly-keys.el @@ -4,7 +4,7 @@ ;; Author: Xah Lee ( http://xahlee.info/ ) ;; Maintainer: Xah Lee -;; Version: 24.11.20230928111028 +;; Version: 24.12.20230929141252 ;; Created: 2013-09-10 ;; Package-Requires: ((emacs "29")) ;; Keywords: convenience, emulations, vim, ergoemacs @@ -905,7 +905,7 @@ followed by 2 spaces. ,it means replace by empty string. URL `http://xahlee.info/emacs/emacs/elisp_change_brackets.html' -Version: 2020-11-01 2023-03-31 2023-08-25 2023-09-19" +Version: 2020-11-01 2023-03-31 2023-08-25 2023-09-29" (interactive (let ((xbrackets '( @@ -953,9 +953,8 @@ Version: 2020-11-01 2023-03-31 2023-08-25 2023-09-19" "heavy pointing angle ornament ❰ ❱" "none " ))) - - (list - (let ((completion-ignore-case t)) + (let ((completion-ignore-case t)) + (list (completing-read "Replace this:" xbrackets nil t nil nil (car xbrackets)) (completing-read "To:" xbrackets nil t nil nil (car (last xbrackets))) (let (xp1 xp2 xleft xright xtoL xtoR) @@ -2435,79 +2434,86 @@ This is useful for transforming certain url into file path (your website url), s (defun xah-open-file-at-cursor () "Open the file path under cursor. -If there is selection, use it for path. -If the path starts with “http://”, open the URL in browser. -Input path can be {relative, full path, URL}. -Path may have a trailing “:‹n›” that indicates line number, or “:‹n›:‹m›” with line and column number. If so, jump to that line number. -If path does not have a file extension, automatically try with “.el” for elisp files. + +• If there is selection, use it for path. +• Path can be {relative, full path, URL}. +• If the path starts with 「https*://」, open the URL in browser. +• Path may have a trailing 「:‹n›」 that indicates line number, or 「:‹n›:‹m›」 with line and column number. If so, jump to that line number. + +If path does not have a file extension, automatically try with .el for elisp files. See also `xah-open-file-at-cursor-pre-hook'. This command is similar to `find-file-at-point' but without prompting for confirmation. URL `http://xahlee.info/emacs/emacs/emacs_open_file_path_fast.html' -Version: 2020-10-17 2021-10-16 2023-02-23 2023-03-22" - (interactive) - (let* ((xinput - (if (region-active-p) - (buffer-substring-no-properties (region-beginning) (region-end)) -(let ((xp0 (point)) xp1 xp2 - (xpathStops "^ \t\n\"`'‘’“”|()[]{}「」<>〔〕〈〉《》【】〖〗«»‹›❮❯❬❭〘〙·。\\")) - (skip-chars-backward xpathStops) - (setq xp1 (point)) - (goto-char xp0) - (skip-chars-forward xpathStops) - (setq xp2 (point)) - (goto-char xp0) - (buffer-substring-no-properties xp1 xp2 - xinput2 xpath - ) -(setq xinput2 - (if (> (length xah-open-file-at-cursor-pre-hook) 0) - (let ((xx (run-hook-with-args-until-success 'xah-open-file-at-cursor-pre-hook xinput))) -(if xx xx xinput)) -xinput)) -(setq xpath (replace-regexp-in-string "^/C:/" "/" (replace-regexp-in-string "^file://" "" (replace-regexp-in-string ":\\'" "" xinput2 +Version: 2020-10-17 2023-03-22 2023-09-29" + (interactive) + (let (xinput xinput2 xpath) +(setq + xinput + (if (region-active-p) + (buffer-substring-no-properties (region-beginning) (region-end)) + (let ((xp0 (point)) xp1 xp2 + (xpathStops "^ \t\n\"`'‘’“”|()[]{}「」<>〔〕〈〉《》【】〖〗«»‹›❮❯❬❭〘〙·。\\")) + (skip-chars-backward xpathStops) + (setq xp1 (point)) + (goto-char xp0) + (skip-chars-forward xpathStops) + (setq xp2 (point)) + (goto-char xp0) + (buffer-substring-no-properties xp1 xp2))) + xinput2 + (if (> (length xah-open-file-at-cursor-pre-hook) 0) + (let ((xprehook (run-hook-with-args-until-success 'xah-open-file-at-cursor-pre-hook xinput))) + (if xprehook xprehook xinput)) + xinput) + xpath + (replace-regexp-in-string "^/C:/" "/" (replace-regexp-in-string "^file://" "" (replace-regexp-in-string ":\\'" "" xin
[nongnu] elpa/xah-fly-keys 60a90f3545 1/2: vc-print-root-log key changed. vc commands keys gonna be completely overhauled soon.
branch: elpa/xah-fly-keys commit 60a90f35456159cbbd4f4819589ae5cbce8f5836 Author: Xah Lee Commit: Xah Lee vc-print-root-log key changed. vc commands keys gonna be completely overhauled soon. --- xah-fly-keys.el | 24 +--- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/xah-fly-keys.el b/xah-fly-keys.el index 8004a9d776..5e5aa48b46 100644 --- a/xah-fly-keys.el +++ b/xah-fly-keys.el @@ -4,9 +4,9 @@ ;; Author: Xah Lee ( http://xahlee.info/ ) ;; Maintainer: Xah Lee -;; Version: 24.11.20230921082343 +;; Version: 24.11.20230928111028 ;; Created: 2013-09-10 -;; Package-Requires: ((emacs "27.1")) +;; Package-Requires: ((emacs "29")) ;; Keywords: convenience, emulations, vim, ergoemacs ;; License: GPL v3. ;; Homepage: http://xahlee.info/emacs/misc/xah-fly-keys.html @@ -2321,13 +2321,15 @@ Version: 2017-11-01 2022-04-05" xbuf )) -(defvar xah-recently-closed-buffers nil "a Alist of recently closed buffers. Each element is (bufferName . filePath). The max number to track is controlled by the variable `xah-recently-closed-buffers-max'.") +(declare-function minibuffer-keyboard-quit "delsel" ()) +(declare-function org-edit-src-save "org-src" ()) (defcustom xah-recently-closed-buffers-max 40 "The maximum length for `xah-recently-closed-buffers'." :type 'integer) -(declare-function minibuffer-keyboard-quit "delsel" ()) -(declare-function org-edit-src-save "org-src" ()) +(defvar xah-recently-closed-buffers nil "A Alist of recently closed buffers. +Each element is (bufferName . filePath). +The max number to track is controlled by the variable `xah-recently-closed-buffers-max'.") (defun xah-add-to-recently-closed (&optional BufferName BufferFileName) "Add to `xah-recently-closed-buffers'. @@ -2339,7 +2341,7 @@ Version: 2023-03-02" (setq xah-recently-closed-buffers (butlast xah-recently-closed-buffers 1 (defvar xah-temp-dir-path nil "Path to temp dir used by xah commands. -by default, the value is (concat user-emacs-directory \"temp/\"). +by default, the value is dir named temp at `user-emacs-directory'. Version: 2023-03-21") (setq xah-temp-dir-path @@ -2350,14 +2352,14 @@ Version: 2023-03-21") (defun xah-close-current-buffer () "Close the current buffer with possible backup of modified file. -If the buffer is not a file, save it to `xah-temp-dir-path' named untitled_‹datetime›_‹randomhex›.txt -If the buffer a file and not modified, kill it. -If the buffer a file and modified, make the modified version into a backup in the same dir. +• If the buffer a file and not modified, kill it. +• If the buffer a file and modified, do nothing. Print a message. +• If the buffer is not a file, first save it to `xah-temp-dir-path' named untitled_‹datetime›_‹randomhex›.txt. If the buffer is a file, add the path to the list `xah-recently-closed-buffers'. URL `http://xahlee.info/emacs/emacs/elisp_close_buffer_open_last_closed.html' -Version: 2016-06-19 2023-09-08 2023-09-09 2023-09-13" +Version: 2016-06-19 2023-09-13 2023-09-27" (interactive) (widen) (cond @@ -3417,6 +3419,7 @@ Version: 2022-10-31" ("z f" . vc-revert) ; u ("z g" . vc-push); git push, P ("z h" . vc-diff); git diff, = + ("z l" . vc-print-root-log) ; L ("z m" . vc-dir) ; git status, C-x v d ("z n" . vc-print-log) ; git log, l ("z r" . vc-merge) ; m @@ -3425,7 +3428,6 @@ Version: 2022-10-31" ("z 1" . vc-create-tag); s ("z 2" . vc-insert-headers); h - ("z 3" . vc-print-root-log); L ("z 4" . vc-retrieve-tag) ; r ("z 5" . vc-revision-other-window) ; ~ ("z 6" . vc-switch-backend); b
[nongnu] elpa/xah-fly-keys updated (45c68854ce -> 6b1b63c17d)
elpasync pushed a change to branch elpa/xah-fly-keys. from 45c68854ce last version supporting emacs 27. new versions requires emacs 29. new 60a90f3545 vc-print-root-log key changed. vc commands keys gonna be completely overhauled soon. new 6b1b63c17d Several changes: • xah-change-bracket-pairs critical bug fix. error due to last commit. • xah-run-current-go-file if buffer is not file, now do nothing. (was prompt for save.) new behavior follow user interface principle of no unexpected prompt. • xah-run-current-file-map fixed a bug. before, this was defconst, now its defvar. • xah-open-file-at-cursor if file not exist, just create it, do not ask. Summary of changes: xah-fly-keys.el | 242 1 file changed, 123 insertions(+), 119 deletions(-)
[elpa] externals/company updated (7c24dc8668 -> f3ee625daa)
elpasync pushed a change to branch externals/company. from 7c24dc8668 Merge pull request #1395 from yugaego/ci new f5a1ab9c4f Make sure to hide the (auto) doc buffer at the end new f3ee625daa Don't show the (auto) doc buffer when no doc Summary of changes: company.el | 22 +- 1 file changed, 9 insertions(+), 13 deletions(-)
[elpa] externals/company f3ee625daa 2/2: Don't show the (auto) doc buffer when no doc
branch: externals/company commit f3ee625daadbff704b620a25c7cdd216a28f2eb5 Author: Dmitry Gutov Commit: Dmitry Gutov Don't show the (auto) doc buffer when no doc https://github.com/company-mode/company-mode/discussions/1404 --- company.el | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/company.el b/company.el index ab2f0bec72..73f596c987 100644 --- a/company.el +++ b/company.el @@ -2227,7 +2227,9 @@ For more details see `company-insertion-on-trigger' and (progn (company-call-frontends 'post-command) (when company-auto-update-doc - (company-show-doc-buffer))) + (condition-case nil + (company-show-doc-buffer) +(user-error nil (let ((delay (company--idle-delay))) (and (numberp delay) (not defining-kbd-macro) @@ -2862,11 +2864,7 @@ from the candidates list.") (selection (or company-selection 0))) (let* ((selected (nth selection company-candidates)) (doc-buffer (or (company-call-backend 'doc-buffer selected) - (if company-auto-update-doc - (company-doc-buffer - (format "%s: No documentation available" - selected)) - (user-error "No documentation available" + (user-error "No documentation available"))) start) (when (consp doc-buffer) (setq start (cdr doc-buffer)
[elpa] externals/company f5a1ab9c4f 1/2: Make sure to hide the (auto) doc buffer at the end
branch: externals/company commit f5a1ab9c4f388eff598b326a8a7dd1cdaf245e8c Author: Dmitry Gutov Commit: Dmitry Gutov Make sure to hide the (auto) doc buffer at the end #1402 --- company.el | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/company.el b/company.el index 212ff13a86..ab2f0bec72 100644 --- a/company.el +++ b/company.el @@ -1360,9 +1360,6 @@ To toggle the value of this variable, call `company-show-doc-buffer' with a prefix argument.") (defun company-call-frontends (command) - (when (and company-auto-update-doc - (memq command '(update show))) -(company-show-doc-buffer)) (cl-loop for frontend in company-frontends collect (condition-case-unless-debug err (funcall frontend command) @@ -2227,7 +2224,10 @@ For more details see `company-insertion-on-trigger' and (let (company-idle-delay) ; Against misbehavior while debugging. (company--perform))) (if company-candidates - (company-call-frontends 'post-command) + (progn +(company-call-frontends 'post-command) +(when company-auto-update-doc + (company-show-doc-buffer))) (let ((delay (company--idle-delay))) (and (numberp delay) (not defining-kbd-macro) @@ -2883,10 +2883,8 @@ automatically show the documentation buffer for each selection." (interactive "P") (when toggle-auto-update (setq company-auto-update-doc (not company-auto-update-doc))) - (if company-auto-update-doc - (company--show-doc-buffer) -(company--electric-do - (company--show-doc-buffer + (company--electric-do +(company--show-doc-buffer))) (put 'company-show-doc-buffer 'company-keep t) (defun company-show-location ()