GithubHelp home page GithubHelp logo

elisp-bug-hunter's People

Contributors

colonelpanic8 avatar hhnr avatar malabarba avatar mgalgs avatar swsnr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elisp-bug-hunter's Issues

FAILED bug-hunter-reader-error-test

Hi,

First of all thanks for your work on elisp-bug-hunter!

With GNU Emacs 28.1 I'm getting the following error while running tests (sorry for the length of the output):

$ LC_ALL=C.UTF-8 emacs -batch -Q -l package --eval "(setq native-comp-eln-load-path '(\"/tmp/DV20RUarsG\"))" --eval "(add-to-list 'package-directory-list \"/usr/share/emacs/site-lisp/elpa\")" --eval "(add-to-list 'package-directory-list \"/usr/share/emacs/site-lisp/elpa-src\")" -f package-initialize -L . -l bug-hunter-test.el --eval \(ert-run-tests-batch-and-exit\) > test_result.txt
Package cl is deprecated
Running 6 tests (2022-10-07 17:28:21+0500, selector ‘t’)
Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/5
Testing: 2/5
Testing: 3/5
Testing: 4/5
Testing: 5/5
nil, line 12 pos 90:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 4/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 4/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 4/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
Testing: 4/0
Testing: 1/0
Testing: 2/0
Testing: 3/0
   passed  1/6  bug-hunter-looong-hunt (45.898280 sec)
"/home/dogsleg/freedom/packaging/elpa/elisp-bug-hunter/bug-hunter-test-dummy-file", line 2 pos 0:
  There's a # on this position, and that is not valid elisp syntax.



Test bug-hunter-reader-error-test backtrace:
  signal(ert-test-failed (((should (equal (bug-hunter-file file nil) [
  ert-fail(((should (equal (bug-hunter-file file nil) [(invalid-read-s
  (if (unwind-protect (setq value-46 (apply fn-44 args-45)) (setq form
  (let (form-description-48) (if (unwind-protect (setq value-46 (apply
  (let ((value-46 'ert-form-evaluation-aborted-47)) (let (form-descrip
  (let* ((fn-44 #'equal) (args-45 (condition-case err (let ((signal-ho
  (let ((file (expand-file-name "bug-hunter-test-dummy-file" default-d
  (let ((lexical-binding nil)) (let ((file (expand-file-name "bug-hunt
  (lambda nil (let ((lexical-binding nil)) (let ((file (expand-file-na
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name bug-hunter-reader-error-test :documen
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [... ... ... 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("-l" "package" "--eval" "(setq native-comp-eln-load-
  command-line()
  normal-top-level()
Test bug-hunter-reader-error-test condition:
    (ert-test-failed
     ((should
       (equal
	(bug-hunter-file file nil)
	[... 2 0]))
      :form
      (equal
       [(invalid-read-syntax "#" 2 1)
	2 0]
       [(invalid-read-syntax "#")
	2 0])
      :value nil :explanation
      (array-elt 0
		 (proper-lists-of-different-length 4 2
						   (invalid-read-syntax "#" 2 1)
						   (invalid-read-syntax "#")
						   first-mismatch-at 2))))
   FAILED  2/6  bug-hunter-reader-error-test (0.002568 sec)
Doing some initial tests...
...skipping...
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
...skipping...
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
...skipping...
Initial tests done. Hunting for the cause...
Testing: 1/2
Testing: 2/2
nil, line 5 pos 2:
  The following error was signaled here:
    (void-variable not-defined)
  Caused by the following expression:
    not-defined



Doing some initial tests...
Initial tests done. Hunting for the cause...
Testing: 1/2
Testing: 2/2
nil, line 2 pos 11:
  The assertion returned the following value here:
    t
  Caused by the following expression:
    (setq test2 2)




   passed  3/6  bug-hunter-test (2.856719 sec)
Doing some initial tests...
   passed  4/6  bug-hunter-test-interactive (0.934679 sec)
Doing some initial tests...
   passed  5/6  bug-hunter-test-nobug (0.430918 sec)
   passed  6/6  bug-hunter-test-volcano (0.000171 sec)

Ran 6 tests, 5 results as expected, 1 unexpected (2022-10-07 17:29:11+0500, 50.553653 sec)

1 unexpected results:
   FAILED  bug-hunter-reader-error-test

I guess it can be related to #32

Not compatible with borg package manager

I use the borg package manager and I need to call it's initialize function first thing so it adds all my packages to the load path.

Is there a way to specify a "preamble" that get's executed on every iteration of the bug hunter?
E.g. I would need to always call this:

(setq user-init-file (or load-file-name buffer-file-name))
(setq user-emacs-directory (file-name-directory user-init-file))
(add-to-list 'load-path (expand-file-name "lib/borg" user-emacs-directory))
(require 'borg)
(borg-initialize)

Maybe slightly related is #11

elisp-completion-at-point is not defined when pressing TAB

To reproduce: M-x bug-hunter-init-file RET a TAB produces in the minibuffer "completion--capf-wrapper: Symbol's function definition is void: elisp-completion-at-point".

Similarly, there's a byte-compile warning about elisp-completion-at-point not being defined.

Looking at the Emacs source code, this was added in 25.1. Earlier Emacsen use lisp-completion-at-point.

Thank you!

I'm sorry if this is spam, but thank you so much! I have been fighting a bug all afternoon in my config.org and your tool just saved me I don't know how much extra time and frustration. Please add a way for people to donate. I would gladly do so soon as I can. <3

Instructions for assertion-hunting a hang

I've got an interactive hang from ido-switch-buffer, for which I need to hit C-q. But I've been unable to create an assertion that invokes that command and returns true only if C-q is hit. How to do that would be super-valuable in the README.

source files not found

I installed elisp-bug-hunter in a prelude emacs config and tried to hunt bugs in prelude packages.
But bug-hunter-file and bug-hunter-init-file dont't find directories and package files.

How can I debug this? Which code is causing this, elisp-bug-hunter or https://github.com/bbatsov/prelude?

Interactive mode with terminal emacs

The interactive mode doesn't really work with the terminal emacs (emacs compiled with --without-x), because the new instance can't load in the same terminal. Perhaps it could be made to work by starting a server and giving the user a command to connect to it with emacsclient in another terminal tab. At the very least, you might want to detect this and warn that it won't work.

bug-hunter is assuming there's an assertion in interactive mode

I am trying to debug a literate-style init file. I have followed the README instructions, given the name of the tangled init file, selected interactive mode with 'i', after testing in the new emacs instance and answering that the problem is not present with 'n', I get the following message:

Test failed.
The assertion returned nil after loading the entire file.
Remember, the assertion must be an expression that returns
non-nil in your current (problematic) Emacs state, AND that
returns nil on a clean Emacs instance.
If you're unsure how to write an assertion, you can try the interactive
hunt instead, or see some examples in the Readme:
    https://github.com/Malabarba/elisp-bug-hunter
interactive

That is, it looks like it assumed I am using an assertion instead of interactive.
I am using emacs version 28.0.50.

Bug hunter hangs upon testing init file

I am doing some tests with elisp-bug-hunter. I am using Emacs 25.0.50.1, built today on Debian sid.

This is the excerpt from my init.el where I put the error:

;; Require files under ~/.emacs.d/lisp
(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory))
(require 'custom-functions)
(require 'custom-style)
(require 'custom-editing)
(require 'custom-files)
(require 'custom-completion)
(require 'custom-formatting)
(require 'custom-languages)
(require 'custom-latex)
(require 'custom-vers-control)
(require 'custom-net)
(require 'custom-org)
(require 'custom-programming)
(require 'custom-project)
require 'custom-shells
(require 'custom-utilities)
(require 'custom-keybindings)

;;; init.el ends here

I basically removed opening and closing parens from one line near the end of the file.

Upon restarting Emacs I issued M-x bug-hunter-init-file RET RET. Process is stuck, showing these lines in the buffer:

Doing initial tests...
Initial tests done. Hunting for the cause...

Echo area showed this message: Testing: 5/6

Bisect custom-set-variables

I, and I imagine many others, have a rather large custom-set-variables at the end of my .emacs. When bug-hunter finds that the issue is in that, I still have to go in and figure out which one of those causes the problem, either by doing a manual bisection or by splitting it into several custom-set-variable calls and running bug-hunter again, either of which is annoying (maybe there's some paredit magic that makes this trivial, I don't know).

Given that this is common and it's pretty likely to be the source of init file bugs, and that you know in advance that these things are generally independent of one another, it seems reasonable that bug-hunter-init-file should split custom-set-variables automatically.

Bisect use-package

Like #13, some times use-package sentences may span several lines and when narrowing the cause of the bug one has to go through the content of the offending use-package statement.

just a thank you :)

Hi!

just wanted to post a quick thank you for this life saver!

im a relatively neewb and always had to spend hours dissecting my config , using bug0unter solved my issues in 2 minutes!! amazing!
i really think this should be included in default emacs

thx again for this amazing addition to emacs

z

Add descriptive terms for search engines like "bisect" and "debug"

I used this package several weeks ago, but just now when I needed to find it again, I couldn't find it with Google. I searched for lots of things like "emacs debug init github", "emacs bisect init github", which you would think would bring it up...but none of them did.

When I finally found it again, I looked through the readme and saw that neither "bisect" nor "debug" are in the readme. They really should be. :) "bisect init file" and "debug init file" ought to be in there as phrases, as well as "config" and ".emacs" and "init.el", etc. I have a feeling that many people who could use this package aren't finding it. :/

bug-hunter fail on mac os x

Executing bug-hunter-init-file on mac os x 10.6 (snow leopard) fails with the message:

Test failed.
Detected a signaled error even on emacs -Q. I'm sorry, but there
is something seriously wrong with your Emacs installation.
There's nothing more I can do here.

Executing the function bug-hunter--run-form in the debugger I found that the execution of Emacs in batch mode fails with the error:

Cannot open load file: no such file or directory, /var/folders/4q/4qVsrHdBERiEtwG6swW+-k+++TI/-Tmp-/bug-hunter19558tbe

even if executing the same command from the shell works fine, with or without escaping the '+' characters.
If I remove the call to shell-quote-argument at line 233 everything works fine.

The elpa.git branch diverged

The code here diverged from that in elpa.git:

% make fetch/bug-hunter
emacs --no-site-lisp --batch -l admin/elpa-admin.el -f elpaa-batch-fetch-and-show "bug-hunter"
Fetching updates for bug-hunter...
Upstream of bug-hunter has DIVERGED!

  Local changes:
Depuis https://github.com/Malabarba/elisp-bug-hunter
 * [nouvelle référence]               -> upstream/bug-hunter/main
3eaaa92f98  [email protected]..  * bug-hunter-test.el: Fix up copyright
5c99abeb26  [email protected]..  Fix some quoting problems in doc strings

  Upstream changes:
31a2da8fd5  artur@endlessp..  Don't say idempotent, I'm not sure what I meant when I wrote it

Any chance you could

git fetch git://git.sv.gnu.org/emacs/elpa.git externals/bug-hunter
git merge 3eaaa92f98

?

Bug-hunter finds error but it shouldn't (false positive)

Hi!
I've tried to search for help on the Emacs SE but with no fortune. Here's the problem:

When I launch Bug-hunter (M-x bug-hunter-init-file), I am asked which type of debug I want, and I choose interactive (i), then I am presented with the initial menu. Upon pressing 6 to start, A new Emacs frame opens up, but here's the catch! It gives an error in the echo area (let: Cannot open load file: No such file or directory, windsize). The Emacs session I got is basic (as if I launched it with -q). When I close it, I answer n (since the error is not present), and I got this:

Test failed.
The assertion returned nil after loading the entire file.
Remember, the assertion must be an expression that returns
non-nil in your current (problematic) Emacs state, AND that
returns nil on a clean Emacs instance.
If you're unsure how to write an assertion, you can try the interactive
hunt instead, or see some examples in the Readme:
    https://github.com/Malabarba/elisp-bug-hunter
interactive
^L

What am I doing wrong?

Note that, if I try to automatically debug my init-file, I got an error on

  The following error was signaled here:
    (file-missing "Cannot open load file" "No such file or directory" "windsize")
  Caused by the following expression:
    (require 'windsize)

like if windsize causes an error. However, in my init file all works good (checking with --debug-init), and btw if I try to remove that line it seems that, one after the other, all require are errors. Is this normal?

no file or directory "/home/jorge/emacsd"

Attempted to hut a bug on my init.el file but somehow the package tries to do something with a directory called ~/emacsd instead of ~/.emacs.d; something is magically deleting the dots...

Here is the backtrace:

Debugger entered--Lisp error: (file-missing "Searching for program" "No existe el fichero o el directorio" "/home/jorge/emacsd")
  call-process("/home/jorge/emacsd" nil #<buffer *Bug-Hunter Command*<2>> nil "-Q" "-l" "/tmp/bug-hunterJhQWV9")
  apply(call-process "/home/jorge/emacsd" nil #<buffer *Bug-Hunter Command*<2>> nil ("-Q" "-l" "/tmp/bug-hunterJhQWV9"))
  bug-hunter--run-emacs("/tmp/bug-hunterJhQWV9" "-Q")
  bug-hunter--run-form-interactively((let ((server-name (make-temp-file "bug-hunter-temp-server-file"))) (delete-file server-name) (if site-run-file (load site-run-file t t)) (run-hooks 'before-init-hook) (define-coding-system-alias 'cp65001 'utf-8) (when (eq window-system 'ns) (setenv "DICPATH" (concat (getenv "HOME") "/Library/Spelling"))) (setf straight-use-package-by-default t straight-repository-branch "develop") (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/raxod502/s..." 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) (setf straight-check-for-modifications '(check-on-save find-when-checking)) (straight-use-package '(org-plus-contrib :repo "https://code.orgmode.org/bzg/org-mode.git" :local-repo "org" :files (:defaults "contrib/lisp/*.el") :includes (org))) (setq inhibit-startup-screen t) (setq network-security-level 'medium) (defun find-config nil "Abre el archivo de configuración de Emacs" (interactive) (find-file "~/.emacs.d/README.org")) (global-set-key (kbd "C-c I") 'find-config) (straight-use-package 'use-package) (setf straight-use-package-by-default t) (use-package use-package-hydra) (use-package hydra :config (require 'hydra-examples)) (use-package diminish) (use-package bind-key) (use-package f) (use-package exec-path-from-shell) (when (eq system-type 'darwin) (setf exec-path (append exec-path '("/Library/TeX/texbin")))) (unless (memq system-type '(ms-dos windos-nt cygwin)) (require 'exec-path-from-shell) (exec-path-from-shell-initialize)) (when (eq system-type 'darwin) (setenv "PATH" "Library/TeX/texbin/:$PATH" t)) (when (file-exists-p "/usr/share/emacs/site-lisp/mu4e") (add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e")) (eval-when-compile (require 'use-package)) (require 'diminish) (require 'bind-key) (defun shackra-org-confirm-babel-evaluate (lang body) (not (or (string= lang "emacs-lisp") (string= lang "ditaa")))) (setf org-confirm-babel-evaluate #'shackra-org-confirm-babel-evaluate) (put 'narrow-to-region 'disabled nil) (put 'narrow-to-page 'disabled nil) (setf user-full-name "Jorge Javier Araya Navarro" user-mail-address "[email protected]" calendar-location-name "Siquirres, CR" calendar-latitude 9.935607 calendar-longitude -84.1833856 calendar-christian-all-holidays-flag t calendar-date-style 'european) (setf custom-file (expand-file-name (format "custom-%s.el" (format-time-string "%s")) (temporary-file-directory))) (load-file (expand-file-name "codigo elisp adicional.el" user-emacs-directory)) (use-package noflet) (setf tramp-default-method "ssh") (setf tramp-encoding-shell "/bin/zsh") (use-package bug-hunter) (use-package better-defaults :init (setq-default cursor-type 'box) (set-default 'indicate-empty-lines t) (setq-default truncate-lines t) (if (boundp 'buffer-file-coding-system) (setq-default buffer-file-coding-system 'utf-8) (setf buffer-file-coding-system 'utf-8)) :custom (blink-cursor-blinks 1) (blink-cursor-interval 1) (x-underline-at-descent-line t) (save-interprogram-paste-before-kill t) (bookmark-save-flag 1) (inhibit-startup-message t) (initial-scratch-message nil) (line-spacing 0) (make-backup-files nil) (global-auto-revert-non-file-buffers t) (auto-revert-verbose nil) (echo-keystrokes 0.1) (shift-select-mode nil) (fill-column 80) (blink-matching-paren t) (history-length 1000) (x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)) (enable-recursive-minibuffers t) (gc-cons-percentage 0.125) (ediff-diff-options "-w") (ediff-split-window-function 'split-window-horizontally) (buffer-file-coding-system 'utf-8) (x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)) :config (transient-mark-mode 1) (blink-cursor-mode) (ido-mode nil) (tooltip-mode -1) (recentf-mode 1) (savehist-mode 1) (fset 'yes-or-no-p 'y-or-n-p) (global-auto-revert-mode 1) (column-number-mode 1) (global-subword-mode 1) (global-font-lock-mode 1) (delete-selection-mode 1) ...) (defun fira-code-mode--make-alist (list) "Generate prettify-symbols alist from LIST." (let ((idx -1)) (mapcar (lambda (s) (setq idx ...) (let* ... ... ...)) list))) ...))
  bug-hunter--run-and-test(((define-coding-system-alias 'cp65001 'utf-8) (when (eq window-system 'ns) (setenv "DICPATH" (concat (getenv "HOME") "/Library/Spelling"))) (setf straight-use-package-by-default t straight-repository-branch "develop") (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.e..." user-emacs-directory)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/raxo..." ... ...) (goto-char ...) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) (setf straight-check-for-modifications '(check-on-save find-when-checking)) (straight-use-package '(org-plus-contrib :repo "https://code.orgmode.org/bzg/org-mode...." :local-repo "org" :files (:defaults "contrib/lisp/*.el") :includes (org))) (setq inhibit-startup-screen t) (setq network-security-level 'medium) (defun find-config nil "Abre el archivo de configuración de Em..." (interactive) (find-file "~/.emacs.d/README.org")) (global-set-key (kbd "C-c I") 'find-config) (straight-use-package 'use-package) (setf straight-use-package-by-default t) (use-package use-package-hydra) (use-package hydra :config (require 'hydra-examples)) (use-package diminish) (use-package bind-key) (use-package f) (use-package exec-path-from-shell) (when (eq system-type 'darwin) (setf exec-path (append exec-path '...))) (unless (memq system-type '(ms-dos windos-nt cygwin)) (require 'exec-path-from-shell) (exec-path-from-shell-initialize)) (when (eq system-type 'darwin) (setenv "PATH" "Library/TeX/texbin/:$PATH" t)) (when (file-exists-p "/usr/share/emacs/site-lisp/mu4e") (add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e")) (eval-when-compile (require 'use-package)) (require 'diminish) (require 'bind-key) (defun shackra-org-confirm-babel-evaluate (lang body) (not (or (string= lang "emacs-lisp") (string= lang "ditaa")))) (setf org-confirm-babel-evaluate #'shackra-org-confirm-babel-evaluate) (put 'narrow-to-region 'disabled nil) (put 'narrow-to-page 'disabled nil) (setf user-full-name "Jorge Javier Araya Navarro" user-mail-address "[email protected]" calendar-location-name "Siquirres, CR" calendar-latitude 9.935607 calendar-longitude -84.1833856 calendar-christian-all-holidays-flag t calendar-date-style 'european) (setf custom-file (expand-file-name (format "custom-%s.el" (format-time-string "%s")) (temporary-file-directory))) (load-file (expand-file-name "codigo elisp adicional.el" user-emacs-directory)) (use-package noflet) (setf tramp-default-method "ssh") (setf tramp-encoding-shell "/bin/zsh") (use-package bug-hunter) (use-package better-defaults :init (setq-default cursor-type 'box) (set-default 'indicate-empty-lines t) (setq-default truncate-lines t) (if (boundp 'buffer-file-coding-system) (setq-default buffer-file-coding-system 'utf-8) (setf buffer-file-coding-system 'utf-8)) :custom (blink-cursor-blinks 1) (blink-cursor-interval 1) (x-underline-at-descent-line t) (save-interprogram-paste-before-kill t) (bookmark-save-flag 1) (inhibit-startup-message t) (initial-scratch-message nil) (line-spacing 0) (make-backup-files nil) (global-auto-revert-non-file-buffers t) (auto-revert-verbose nil) (echo-keystrokes 0.1) (shift-select-mode nil) (fill-column 80) (blink-matching-paren t) (history-length 1000) (x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)) (enable-recursive-minibuffers t) (gc-cons-percentage 0.125) (ediff-diff-options "-w") (ediff-split-window-function 'split-window-horizontally) (buffer-file-coding-system 'utf-8) (x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)) :config (transient-mark-mode 1) (blink-cursor-mode) (ido-mode nil) (tooltip-mode -1) (recentf-mode 1) (savehist-mode 1) ...) ...) interactive)
  bug-hunter-hunt((((define-coding-system-alias 'cp65001 'utf-8) 4 2) ((when (eq window-system 'ns) (setenv "DICPATH" (concat ... "/Library/Spelling"))) 7 2) ((setf straight-use-package-by-default t straight-repository-branch "develop") 10 2) ((defvar bootstrap-version) 13 2) ((let ((bootstrap-file ...) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer ... ... ...)) (load bootstrap-file nil 'nomessage)) 14 2) ((setf straight-check-for-modifications '(check-on-save find-when-checking)) 26 2) ((straight-use-package '(org-plus-contrib :repo "https://code.orgmode.org/bzg/org-mode...." :local-repo "org" :files ... :includes ...)) 28 2) ((setq inhibit-startup-screen t) 35 2) ((setq network-security-level 'medium) 38 2) ((defun find-config nil "Abre el archivo de configuración de Em..." (interactive) (find-file "~/.emacs.d/README.org")) 41 2) ((global-set-key (kbd "C-c I") 'find-config) 46 2) ((straight-use-package 'use-package) 49 2) ((setf straight-use-package-by-default t) 53 2) ((use-package use-package-hydra) 55 2) ((use-package hydra :config (require 'hydra-examples)) 57 2) ((use-package diminish) 59 2) ((use-package bind-key) 61 2) ((use-package f) 63 2) ((use-package exec-path-from-shell) 65 2) ((when (eq system-type 'darwin) (setf exec-path (append exec-path ...))) 68 2) ((unless (memq system-type '...) (require 'exec-path-from-shell) (exec-path-from-shell-initialize)) 71 2) ((when (eq system-type 'darwin) (setenv "PATH" "Library/TeX/texbin/:$PATH" t)) 76 2) ((when (file-exists-p "/usr/share/emacs/site-lisp/mu4e") (add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e")) 80 2) ((eval-when-compile (require 'use-package)) 83 2) ((require 'diminish) 85 2) ((require 'bind-key) 86 2) ((defun shackra-org-confirm-babel-evaluate (lang body) (not (or ... ...))) 88 2) ((setf org-confirm-babel-evaluate #'shackra-org-confirm-babel-evaluate) 90 2) ((put 'narrow-to-region 'disabled nil) 92 2) ((put 'narrow-to-page 'disabled nil) 93 2) ((setf user-full-name "Jorge Javier Araya Navarro" user-mail-address "[email protected]" calendar-location-name "Siquirres, CR" calendar-latitude 9.935607 calendar-longitude -84.1833856 calendar-christian-all-holidays-flag t calendar-date-style 'european) 94 2) ((setf custom-file (expand-file-name (format "custom-%s.el" ...) (temporary-file-directory))) 101 2) ((load-file (expand-file-name "codigo elisp adicional.el" user-emacs-directory)) 102 2) ((use-package noflet) 103 2) ((setf tramp-default-method "ssh") 104 2) ((setf tramp-encoding-shell "/bin/zsh") 105 2) ((use-package bug-hunter) 106 2) ((use-package better-defaults :init (setq-default cursor-type 'box) (set-default 'indicate-empty-lines t) (setq-default truncate-lines t) (if (boundp ...) (setq-default buffer-file-coding-system ...) (setf buffer-file-coding-system ...)) :custom (blink-cursor-blinks 1) (blink-cursor-interval 1) (x-underline-at-descent-line t) (save-interprogram-paste-before-kill t) (bookmark-save-flag 1) (inhibit-startup-message t) (initial-scratch-message nil) (line-spacing 0) (make-backup-files nil) (global-auto-revert-non-file-buffers t) (auto-revert-verbose nil) (echo-keystrokes 0.1) (shift-select-mode nil) (fill-column 80) (blink-matching-paren t) (history-length 1000) (x-select-request-type '...) (enable-recursive-minibuffers t) (gc-cons-percentage 0.125) (ediff-diff-options "-w") (ediff-split-window-function 'split-window-horizontally) (buffer-file-coding-system 'utf-8) (x-select-request-type '...) :config (transient-mark-mode 1) (blink-cursor-mode) (ido-mode nil) (tooltip-mode -1) (recentf-mode 1) (savehist-mode 1) ...) 107 2) ...) interactive)
  bug-hunter-file("/home/jorge/.emacs.d/init.el" interactive)
  bug-hunter-init-file(interactive)
  #<subr funcall-interactively>(bug-hunter-init-file interactive)
  apply(#<subr funcall-interactively> (bug-hunter-init-file interactive))
  funcall-interactively(bug-hunter-init-file interactive)
  #<subr call-interactively>(bug-hunter-init-file record nil)
  apply(#<subr call-interactively> (bug-hunter-init-file record nil))
  explain-pause--wrap-call-interactively(#<subr call-interactively> bug-hunter-init-file record nil)
  apply(explain-pause--wrap-call-interactively #<subr call-interactively> (bug-hunter-init-file record nil))
  call-interactively(bug-hunter-init-file record nil)
  command-execute(bug-hunter-init-file record)
  counsel-M-x-action("bug-hunter-init-file")
  #f(compiled-function (x) #<bytecode -0x1ddfbf095879c63>)("bug-hunter-init-file")
  funcall(#f(compiled-function (x) #<bytecode -0x1ddfbf095879c63>) "bug-hunter-init-file")
  (if ivy-marked-candidates (ivy--call-marked action) (funcall action x))
  (unwind-protect (if ivy-marked-candidates (ivy--call-marked action) (funcall action x)) (ivy-recursive-restore))
  (prog1 (unwind-protect (if ivy-marked-candidates (ivy--call-marked action) (funcall action x)) (ivy-recursive-restore)) (if (or (eq ivy-exit 'done) (minibuffer-window-active-p (selected-window)) (null (active-minibuffer-window))) nil (select-window (active-minibuffer-window))))
  (cond ((null action) current) (t (select-window (ivy--get-window ivy-last)) (set-buffer (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 13))) (prog1 (unwind-protect (if ivy-marked-candidates (ivy--call-marked action) (funcall action x)) (ivy-recursive-restore)) (if (or (eq ivy-exit 'done) (minibuffer-window-active-p (selected-window)) (null (active-minibuffer-window))) nil (select-window (active-minibuffer-window))))))
  (let* ((action (if (functionp ivy-inhibit-action) ivy-inhibit-action (and (not ivy-inhibit-action) (ivy--get-action ivy-last)))) (current (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 23))) (x (ivy--call-cand current)) (res (cond ((null action) current) (t (select-window (ivy--get-window ivy-last)) (set-buffer (progn (or ... ...) (aref ivy-last 13))) (prog1 (unwind-protect (if ivy-marked-candidates ... ...) (ivy-recursive-restore)) (if (or ... ... ...) nil (select-window ...))))))) (if ivy-inhibit-action res current))
  ivy-call()
  (let* ((ivy-recursive-last (and (active-minibuffer-window) ivy-last)) (ivy--display-function (if (or ivy-recursive-last (not (window-minibuffer-p))) (progn (ivy-alist-setting ivy-display-functions-alist caller))))) (setq update-fn (or update-fn (ivy-alist-setting ivy-update-fns-alist caller))) (setq unwind (or unwind (ivy-alist-setting ivy-unwind-fns-alist caller))) (setq ivy-last (make-ivy-state :prompt (ivy--update-prompt prompt) :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn (if (eq update-fn 'auto) #'(lambda nil (let (...) (save-current-buffer ...))) update-fn) :sort sort :action (ivy--compute-extra-actions action caller) :multi-action multi-action :frame (selected-frame) :window (selected-window) :buffer (current-buffer) :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn (ivy-alist-setting ivy--display-transformers-alist caller) :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ((fun #'ivy--minibuffer-setup) setup-hook) (setq setup-hook #'(lambda nil (remove-hook 'minibuffer-setup-hook setup-hook) (funcall fun))) (unwind-protect (progn (add-hook 'minibuffer-setup-hook setup-hook) (let* ((hist ...) (minibuffer-completion-table collection) (minibuffer-completion-predicate predicate) (ivy-height ...) (resize-mini-windows ...)) (if (and ivy-auto-select-single-candidate ivy--all-candidates ...) (progn ... ...) (condition-case err ... ...)) (if (eq ivy-exit ...) (progn ...)))) (remove-hook 'minibuffer-setup-hook setup-hook))) (let ((session (or (plist-get extra-props :session) (if (or ... ... ...) nil caller)))) (if session (progn (progn (or (and ... t) (signal ... ...)) (let* (...) (aset v 27 ...))) (ivy--alist-set 'ivy--sessions session ivy-last)))) (ivy--cleanup)) (ivy-call))
  (progn (let ((init-fn (ivy-alist-setting ivy-init-fns-alist caller))) (if init-fn (progn (funcall init-fn)))) (if (equal overriding-local-map '(keymap)) (progn (keyboard-quit))) (setq caller (or caller this-command)) (let* ((ivy-recursive-last (and (active-minibuffer-window) ivy-last)) (ivy--display-function (if (or ivy-recursive-last (not (window-minibuffer-p))) (progn (ivy-alist-setting ivy-display-functions-alist caller))))) (setq update-fn (or update-fn (ivy-alist-setting ivy-update-fns-alist caller))) (setq unwind (or unwind (ivy-alist-setting ivy-unwind-fns-alist caller))) (setq ivy-last (make-ivy-state :prompt (ivy--update-prompt prompt) :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn (if (eq update-fn 'auto) #'(lambda nil (let ... ...)) update-fn) :sort sort :action (ivy--compute-extra-actions action caller) :multi-action multi-action :frame (selected-frame) :window (selected-window) :buffer (current-buffer) :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn (ivy-alist-setting ivy--display-transformers-alist caller) :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ((fun #'ivy--minibuffer-setup) setup-hook) (setq setup-hook #'(lambda nil (remove-hook ... setup-hook) (funcall fun))) (unwind-protect (progn (add-hook 'minibuffer-setup-hook setup-hook) (let* (... ... ... ... ...) (if ... ... ...) (if ... ...))) (remove-hook 'minibuffer-setup-hook setup-hook))) (let ((session (or (plist-get extra-props :session) (if ... nil caller)))) (if session (progn (progn (or ... ...) (let* ... ...)) (ivy--alist-set 'ivy--sessions session ivy-last)))) (ivy--cleanup)) (ivy-call)))
  (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '(:predicate :require-match :initial-input :history :preselect :def :keymap :update-fn :sort :action :multi-action :unwind :re-builder :matcher :dynamic-collection :extra-props :caller :allow-other-keys)) (setq --cl-keys-- (cdr (cdr --cl-keys--)))) ((car (cdr (memq ... --cl-rest--))) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:predicate :requir..." (car --cl-keys--)))))) (progn (let ((init-fn (ivy-alist-setting ivy-init-fns-alist caller))) (if init-fn (progn (funcall init-fn)))) (if (equal overriding-local-map '(keymap)) (progn (keyboard-quit))) (setq caller (or caller this-command)) (let* ((ivy-recursive-last (and (active-minibuffer-window) ivy-last)) (ivy--display-function (if (or ivy-recursive-last (not ...)) (progn (ivy-alist-setting ivy-display-functions-alist caller))))) (setq update-fn (or update-fn (ivy-alist-setting ivy-update-fns-alist caller))) (setq unwind (or unwind (ivy-alist-setting ivy-unwind-fns-alist caller))) (setq ivy-last (make-ivy-state :prompt (ivy--update-prompt prompt) :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn (if (eq update-fn 'auto) #'(lambda nil ...) update-fn) :sort sort :action (ivy--compute-extra-actions action caller) :multi-action multi-action :frame (selected-frame) :window (selected-window) :buffer (current-buffer) :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn (ivy-alist-setting ivy--display-transformers-alist caller) :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ((fun #'ivy--minibuffer-setup) setup-hook) (setq setup-hook #'(lambda nil ... ...)) (unwind-protect (progn (add-hook ... setup-hook) (let* ... ... ...)) (remove-hook 'minibuffer-setup-hook setup-hook))) (let ((session (or ... ...))) (if session (progn (progn ... ...) (ivy--alist-set ... session ivy-last)))) (ivy--cleanup)) (ivy-call))))
  (let* ((predicate (car (cdr (plist-member --cl-rest-- ':predicate)))) (require-match (car (cdr (plist-member --cl-rest-- ':require-match)))) (initial-input (car (cdr (plist-member --cl-rest-- ':initial-input)))) (history (car (cdr (plist-member --cl-rest-- ':history)))) (preselect (car (cdr (plist-member --cl-rest-- ':preselect)))) (def (car (cdr (plist-member --cl-rest-- ':def)))) (keymap (car (cdr (plist-member --cl-rest-- ':keymap)))) (update-fn (car (cdr (plist-member --cl-rest-- ':update-fn)))) (sort (car (cdr (plist-member --cl-rest-- ':sort)))) (action (car (cdr (plist-member --cl-rest-- ':action)))) (multi-action (car (cdr (plist-member --cl-rest-- ':multi-action)))) (unwind (car (cdr (plist-member --cl-rest-- ':unwind)))) (re-builder (car (cdr (plist-member --cl-rest-- ':re-builder)))) (matcher (car (cdr (plist-member --cl-rest-- ':matcher)))) (dynamic-collection (car (cdr (plist-member --cl-rest-- ':dynamic-collection)))) (extra-props (car (cdr (plist-member --cl-rest-- ':extra-props)))) (caller (car (cdr (plist-member --cl-rest-- ':caller))))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '...) (setq --cl-keys-- (cdr ...))) ((car (cdr ...)) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:predicate :requir..." (car --cl-keys--)))))) (progn (let ((init-fn (ivy-alist-setting ivy-init-fns-alist caller))) (if init-fn (progn (funcall init-fn)))) (if (equal overriding-local-map '(keymap)) (progn (keyboard-quit))) (setq caller (or caller this-command)) (let* ((ivy-recursive-last (and (active-minibuffer-window) ivy-last)) (ivy--display-function (if (or ivy-recursive-last ...) (progn ...)))) (setq update-fn (or update-fn (ivy-alist-setting ivy-update-fns-alist caller))) (setq unwind (or unwind (ivy-alist-setting ivy-unwind-fns-alist caller))) (setq ivy-last (make-ivy-state :prompt (ivy--update-prompt prompt) :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn (if (eq update-fn ...) #'... update-fn) :sort sort :action (ivy--compute-extra-actions action caller) :multi-action multi-action :frame (selected-frame) :window (selected-window) :buffer (current-buffer) :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn (ivy-alist-setting ivy--display-transformers-alist caller) :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ((fun ...) setup-hook) (setq setup-hook #'...) (unwind-protect (progn ... ...) (remove-hook ... setup-hook))) (let ((session ...)) (if session (progn ... ...))) (ivy--cleanup)) (ivy-call)))))
  (closure (ffap-machine-p-known cl-struct-ivy-state-tags t) (prompt collection &rest --cl-rest--) "Read a string in the minibuffer, with completion.\n..." (let* ((predicate (car (cdr (plist-member --cl-rest-- ...)))) (require-match (car (cdr (plist-member --cl-rest-- ...)))) (initial-input (car (cdr (plist-member --cl-rest-- ...)))) (history (car (cdr (plist-member --cl-rest-- ...)))) (preselect (car (cdr (plist-member --cl-rest-- ...)))) (def (car (cdr (plist-member --cl-rest-- ...)))) (keymap (car (cdr (plist-member --cl-rest-- ...)))) (update-fn (car (cdr (plist-member --cl-rest-- ...)))) (sort (car (cdr (plist-member --cl-rest-- ...)))) (action (car (cdr (plist-member --cl-rest-- ...)))) (multi-action (car (cdr (plist-member --cl-rest-- ...)))) (unwind (car (cdr (plist-member --cl-rest-- ...)))) (re-builder (car (cdr (plist-member --cl-rest-- ...)))) (matcher (car (cdr (plist-member --cl-rest-- ...)))) (dynamic-collection (car (cdr (plist-member --cl-rest-- ...)))) (extra-props (car (cdr (plist-member --cl-rest-- ...)))) (caller (car (cdr (plist-member --cl-rest-- ...))))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond (... ...) (... ...) (t ...)))) (progn (let ((init-fn ...)) (if init-fn (progn ...))) (if (equal overriding-local-map '...) (progn (keyboard-quit))) (setq caller (or caller this-command)) (let* ((ivy-recursive-last ...) (ivy--display-function ...)) (setq update-fn (or update-fn ...)) (setq unwind (or unwind ...)) (setq ivy-last (make-ivy-state :prompt ... :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn ... :sort sort :action ... :multi-action multi-action :frame ... :window ... :buffer ... :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn ... :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ... ... ...) (let ... ...) (ivy--cleanup)) (ivy-call))))))("M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file viper-deactivate-input-method-action ad-Orig-outline-end-of-subtree js--expression-in-sgml-indent-line chart-axis--eieio-childp lsp-solargraph-references delphi-column-of Pop-from-Ring org-publish-sanitize-plist eieio-class-tag--ede-target :examined c-standard-font-lock-fontify-region-function bibtex-SuppCollection --cl-block-epl-requirement-name-- Grep-Files checkdoc-package-keywords-flag gdscript-indent-shift-right checkdoc-output-mode-map org-man-fixed-width :current-file org-odt-end-table transient:docker-compose-run:-T \' tramp-rename-files lispy-braces-barf-to-point-or-jump-nostring :exclude-subtypes gnus-registry-user-format-function-M muletibetan-2 batch-update-authors todo-categories-mode log-edit-set-header doom-modeline-format--personal tramp-gw-open-connection ...] :predicate (closure ((externs) (initial-input) smex-ido-cache smex-initialized-p amx-cache amx-initialized info-lookup-mode find-tag-marker-ring company-prefix company-common company-candidates t) (sym) (and (commandp sym) (not (get sym 'byte-obsolete-info)) (not (get sym 'no-counsel-M-x)))) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t)
  apply((closure (ffap-machine-p-known cl-struct-ivy-state-tags t) (prompt collection &rest --cl-rest--) "Read a string in the minibuffer, with completion.\n..." (let* ((predicate (car (cdr (plist-member --cl-rest-- ...)))) (require-match (car (cdr (plist-member --cl-rest-- ...)))) (initial-input (car (cdr (plist-member --cl-rest-- ...)))) (history (car (cdr (plist-member --cl-rest-- ...)))) (preselect (car (cdr (plist-member --cl-rest-- ...)))) (def (car (cdr (plist-member --cl-rest-- ...)))) (keymap (car (cdr (plist-member --cl-rest-- ...)))) (update-fn (car (cdr (plist-member --cl-rest-- ...)))) (sort (car (cdr (plist-member --cl-rest-- ...)))) (action (car (cdr (plist-member --cl-rest-- ...)))) (multi-action (car (cdr (plist-member --cl-rest-- ...)))) (unwind (car (cdr (plist-member --cl-rest-- ...)))) (re-builder (car (cdr (plist-member --cl-rest-- ...)))) (matcher (car (cdr (plist-member --cl-rest-- ...)))) (dynamic-collection (car (cdr (plist-member --cl-rest-- ...)))) (extra-props (car (cdr (plist-member --cl-rest-- ...)))) (caller (car (cdr (plist-member --cl-rest-- ...))))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond (... ...) (... ...) (t ...)))) (progn (let ((init-fn ...)) (if init-fn (progn ...))) (if (equal overriding-local-map '...) (progn (keyboard-quit))) (setq caller (or caller this-command)) (let* ((ivy-recursive-last ...) (ivy--display-function ...)) (setq update-fn (or update-fn ...)) (setq unwind (or unwind ...)) (setq ivy-last (make-ivy-state :prompt ... :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn ... :sort sort :action ... :multi-action multi-action :frame ... :window ... :buffer ... :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn ... :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ... ... ...) (let ... ...) (ivy--cleanup)) (ivy-call)))))) ("M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file viper-deactivate-input-method-action ad-Orig-outline-end-of-subtree js--expression-in-sgml-indent-line chart-axis--eieio-childp lsp-solargraph-references delphi-column-of Pop-from-Ring org-publish-sanitize-plist eieio-class-tag--ede-target :examined c-standard-font-lock-fontify-region-function bibtex-SuppCollection --cl-block-epl-requirement-name-- Grep-Files checkdoc-package-keywords-flag gdscript-indent-shift-right checkdoc-output-mode-map org-man-fixed-width :current-file org-odt-end-table transient:docker-compose-run:-T \' tramp-rename-files lispy-braces-barf-to-point-or-jump-nostring :exclude-subtypes gnus-registry-user-format-function-M muletibetan-2 batch-update-authors todo-categories-mode log-edit-set-header doom-modeline-format--personal tramp-gw-open-connection ...] :predicate (closure ((externs) (initial-input) smex-ido-cache smex-initialized-p amx-cache amx-initialized info-lookup-mode find-tag-marker-ring company-prefix company-common company-candidates t) (sym) (and (commandp sym) (not (get sym 'byte-obsolete-info)) (not (get sym 'no-counsel-M-x)))) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t))
  #f(advice-wrapper :filter-args (closure (ffap-machine-p-known cl-struct-ivy-state-tags t) (prompt collection &rest --cl-rest--) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS is a plist that can be used to store\ncollection-specific session-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session.\n\n(fn PROMPT COLLECTION &key PREDICATE REQUIRE-MATCH INITIAL-INPUT HISTORY PRESELECT DEF KEYMAP UPDATE-FN SORT ACTION MULTI-ACTION UNWIND RE-BUILDER MATCHER DYNAMIC-COLLECTION EXTRA-PROPS CALLER)" (let* ((predicate (car (cdr (plist-member --cl-rest-- ':predicate)))) (require-match (car (cdr (plist-member --cl-rest-- ':require-match)))) (initial-input (car (cdr (plist-member --cl-rest-- ':initial-input)))) (history (car (cdr (plist-member --cl-rest-- ':history)))) (preselect (car (cdr (plist-member --cl-rest-- ':preselect)))) (def (car (cdr (plist-member --cl-rest-- ':def)))) (keymap (car (cdr (plist-member --cl-rest-- ':keymap)))) (update-fn (car (cdr (plist-member --cl-rest-- ':update-fn)))) (sort (car (cdr (plist-member --cl-rest-- ':sort)))) (action (car (cdr (plist-member --cl-rest-- ':action)))) (multi-action (car (cdr (plist-member --cl-rest-- ':multi-action)))) (unwind (car (cdr (plist-member --cl-rest-- ':unwind)))) (re-builder (car (cdr (plist-member --cl-rest-- ':re-builder)))) (matcher (car (cdr (plist-member --cl-rest-- ':matcher)))) (dynamic-collection (car (cdr (plist-member --cl-rest-- ':dynamic-collection)))) (extra-props (car (cdr (plist-member --cl-rest-- ':extra-props)))) (caller (car (cdr (plist-member --cl-rest-- ':caller))))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '(:predicate :require-match :initial-input :history :preselect :def :keymap :update-fn :sort :action :multi-action :unwind :re-builder :matcher :dynamic-collection :extra-props :caller :allow-other-keys)) (setq --cl-keys-- (cdr (cdr --cl-keys--)))) ((car (cdr (memq ':allow-other-keys --cl-rest--))) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:predicate :require-match :initial-input :history :preselect :def :keymap :update-fn :sort :action :multi-action :unwind :re-builder :matcher :dynamic-collection :extra-props :caller)" (car --cl-keys--)))))) (progn (let ((init-fn (ivy-alist-setting ivy-init-fns-alist caller))) (if init-fn (progn (funcall init-fn)))) (if (equal overriding-local-map '(keymap)) (progn (keyboard-quit))) (setq caller (or caller this-command)) (let* ((ivy-recursive-last (and (active-minibuffer-window) ivy-last)) (ivy--display-function (if (or ivy-recursive-last (not (window-minibuffer-p))) (progn (ivy-alist-setting ivy-display-functions-alist caller))))) (setq update-fn (or update-fn (ivy-alist-setting ivy-update-fns-alist caller))) (setq unwind (or unwind (ivy-alist-setting ivy-unwind-fns-alist caller))) (setq ivy-last (make-ivy-state :prompt (ivy--update-prompt prompt) :collection collection :predicate predicate :require-match require-match :initial-input initial-input :history history :preselect preselect :keymap keymap :update-fn (if (eq update-fn 'auto) #'(lambda nil (let ((save-selected-window--state (internal--before-with-selected-window (ivy--get-window ivy-last)))) (save-current-buffer (unwind-protect (progn (select-window (car save-selected-window--state) 'norecord) (funcall (ivy--get-action ivy-last) (if (consp (car-safe (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 2)))) (assoc (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 23)) (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 2))) (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 23))))) (internal--after-with-selected-window save-selected-window--state))))) update-fn) :sort sort :action (ivy--compute-extra-actions action caller) :multi-action multi-action :frame (selected-frame) :window (selected-window) :buffer (current-buffer) :unwind unwind :re-builder re-builder :matcher matcher :dynamic-collection dynamic-collection :display-transformer-fn (ivy-alist-setting ivy--display-transformers-alist caller) :directory default-directory :extra-props extra-props :caller caller :def def)) (ivy--reset-state ivy-last) (unwind-protect (let ((fun #'ivy--minibuffer-setup) setup-hook) (setq setup-hook #'(lambda nil (remove-hook 'minibuffer-setup-hook setup-hook) (funcall fun))) (unwind-protect (progn (add-hook 'minibuffer-setup-hook setup-hook) (let* ((hist (or history 'ivy-history)) (minibuffer-completion-table collection) (minibuffer-completion-predicate predicate) (ivy-height (ivy--height caller)) (resize-mini-windows (if (display-graphic-p) nil 'grow-only))) (if (and ivy-auto-select-single-candidate ivy--all-candidates (null (cdr ivy--all-candidates))) (progn (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (let* ((v ivy-last)) (aset v 23 (car ivy--all-candidates)))) (setq ivy-exit 'done)) (condition-case err (read-from-minibuffer prompt (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 5)) (make-composed-keymap keymap ivy-minibuffer-map) nil hist) (error (if (equal err '(error "Selecting deleted buffer")) nil (signal (car err) (cdr err)))))) (if (eq ivy-exit 'done) (progn (ivy--update-history hist))))) (remove-hook 'minibuffer-setup-hook setup-hook))) (let ((session (or (plist-get extra-props :session) (if (or (minibufferp) (null (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (aref ivy-last 15))) (eq (ivy--get-action ivy-last) #'identity)) nil caller)))) (if session (progn (progn (or (and (memq (type-of ivy-last) cl-struct-ivy-state-tags) t) (signal 'wrong-type-argument (list 'ivy-state ivy-last))) (let* ((v ivy-last)) (aset v 27 (plist-put extra-props :ivy-data (list ':all-candidates ivy--all-candidates ':text ivy-text))))) (ivy--alist-set 'ivy--sessions session ivy-last)))) (ivy--cleanup)) (ivy-call)))))) ivy-prescient--enable-sort-commands)("M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file ...] :predicate (closure ... ... ...) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap ... ...) :initial-input nil :caller counsel-M-x)
  apply(#f(advice-wrapper :filter-args (closure (ffap-machine-p-known cl-struct-ivy-state-tags t) (prompt collection &rest --cl-rest--) "Read a string in the minibuffer, with completion.\n..." (let* ((predicate (car (cdr ...))) (require-match (car (cdr ...))) (initial-input (car (cdr ...))) (history (car (cdr ...))) (preselect (car (cdr ...))) (def (car (cdr ...))) (keymap (car (cdr ...))) (update-fn (car (cdr ...))) (sort (car (cdr ...))) (action (car (cdr ...))) (multi-action (car (cdr ...))) (unwind (car (cdr ...))) (re-builder (car (cdr ...))) (matcher (car (cdr ...))) (dynamic-collection (car (cdr ...))) (extra-props (car (cdr ...))) (caller (car (cdr ...)))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ... ... ...))) (progn (let (...) (if init-fn ...)) (if (equal overriding-local-map ...) (progn ...)) (setq caller (or caller this-command)) (let* (... ...) (setq update-fn ...) (setq unwind ...) (setq ivy-last ...) (ivy--reset-state ivy-last) (unwind-protect ... ... ...) (ivy-call)))))) ivy-prescient--enable-sort-commands) ("M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file viper-deactivate-input-method-action ad-Orig-outline-end-of-subtree js--expression-in-sgml-indent-line chart-axis--eieio-childp lsp-solargraph-references delphi-column-of Pop-from-Ring org-publish-sanitize-plist eieio-class-tag--ede-target :examined c-standard-font-lock-fontify-region-function bibtex-SuppCollection --cl-block-epl-requirement-name-- Grep-Files checkdoc-package-keywords-flag gdscript-indent-shift-right checkdoc-output-mode-map org-man-fixed-width :current-file org-odt-end-table transient:docker-compose-run:-T \' tramp-rename-files lispy-braces-barf-to-point-or-jump-nostring :exclude-subtypes gnus-registry-user-format-function-M muletibetan-2 batch-update-authors todo-categories-mode log-edit-set-header doom-modeline-format--personal tramp-gw-open-connection ...] :predicate (closure ((externs) (initial-input) smex-ido-cache smex-initialized-p amx-cache amx-initialized info-lookup-mode find-tag-marker-ring company-prefix company-common company-candidates t) (sym) (and (commandp sym) (not (get sym 'byte-obsolete-info)) (not (get sym 'no-counsel-M-x)))) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-posframe--read(#f(advice-wrapper :filter-args (closure (ffap-machine-p-known cl-struct-ivy-state-tags t) (prompt collection &rest --cl-rest--) "Read a string in the minibuffer, with completion.\n..." (let* ((predicate (car (cdr ...))) (require-match (car (cdr ...))) (initial-input (car (cdr ...))) (history (car (cdr ...))) (preselect (car (cdr ...))) (def (car (cdr ...))) (keymap (car (cdr ...))) (update-fn (car (cdr ...))) (sort (car (cdr ...))) (action (car (cdr ...))) (multi-action (car (cdr ...))) (unwind (car (cdr ...))) (re-builder (car (cdr ...))) (matcher (car (cdr ...))) (dynamic-collection (car (cdr ...))) (extra-props (car (cdr ...))) (caller (car (cdr ...)))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ... ... ...))) (progn (let (...) (if init-fn ...)) (if (equal overriding-local-map ...) (progn ...)) (setq caller (or caller this-command)) (let* (... ...) (setq update-fn ...) (setq unwind ...) (setq ivy-last ...) (ivy--reset-state ivy-last) (unwind-protect ... ... ...) (ivy-call)))))) ivy-prescient--enable-sort-commands) "M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file viper-deactivate-input-method-action ad-Orig-outline-end-of-subtree js--expression-in-sgml-indent-line chart-axis--eieio-childp lsp-solargraph-references delphi-column-of Pop-from-Ring org-publish-sanitize-plist eieio-class-tag--ede-target :examined c-standard-font-lock-fontify-region-function bibtex-SuppCollection --cl-block-epl-requirement-name-- Grep-Files checkdoc-package-keywords-flag gdscript-indent-shift-right checkdoc-output-mode-map org-man-fixed-width :current-file org-odt-end-table transient:docker-compose-run:-T \' tramp-rename-files lispy-braces-barf-to-point-or-jump-nostring :exclude-subtypes gnus-registry-user-format-function-M muletibetan-2 batch-update-authors todo-categories-mode log-edit-set-header doom-modeline-format--personal tramp-gw-open-connection ...] :predicate (closure ((externs) (initial-input) smex-ido-cache smex-initialized-p amx-cache amx-initialized info-lookup-mode find-tag-marker-ring company-prefix company-common company-candidates t) (sym) (and (commandp sym) (not (get sym 'byte-obsolete-info)) (not (get sym 'no-counsel-M-x)))) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(ivy-posframe--read #f(advice-wrapper :filter-args (closure (ffap-machine-p-known cl-struct-ivy-state-tags t) (prompt collection &rest --cl-rest--) "Read a string in the minibuffer, with completion.\n..." (let* ((predicate (car (cdr ...))) (require-match (car (cdr ...))) (initial-input (car (cdr ...))) (history (car (cdr ...))) (preselect (car (cdr ...))) (def (car (cdr ...))) (keymap (car (cdr ...))) (update-fn (car (cdr ...))) (sort (car (cdr ...))) (action (car (cdr ...))) (multi-action (car (cdr ...))) (unwind (car (cdr ...))) (re-builder (car (cdr ...))) (matcher (car (cdr ...))) (dynamic-collection (car (cdr ...))) (extra-props (car (cdr ...))) (caller (car (cdr ...)))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ... ... ...))) (progn (let (...) (if init-fn ...)) (if (equal overriding-local-map ...) (progn ...)) (setq caller (or caller this-command)) (let* (... ...) (setq update-fn ...) (setq unwind ...) (setq ivy-last ...) (ivy--reset-state ivy-last) (unwind-protect ... ... ...) (ivy-call)))))) ivy-prescient--enable-sort-commands) ("M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file viper-deactivate-input-method-action ad-Orig-outline-end-of-subtree js--expression-in-sgml-indent-line chart-axis--eieio-childp lsp-solargraph-references delphi-column-of Pop-from-Ring org-publish-sanitize-plist eieio-class-tag--ede-target :examined c-standard-font-lock-fontify-region-function bibtex-SuppCollection --cl-block-epl-requirement-name-- Grep-Files checkdoc-package-keywords-flag gdscript-indent-shift-right checkdoc-output-mode-map org-man-fixed-width :current-file org-odt-end-table transient:docker-compose-run:-T \' tramp-rename-files lispy-braces-barf-to-point-or-jump-nostring :exclude-subtypes gnus-registry-user-format-function-M muletibetan-2 batch-update-authors todo-categories-mode log-edit-set-header doom-modeline-format--personal tramp-gw-open-connection ...] :predicate (closure ((externs) (initial-input) smex-ido-cache smex-initialized-p amx-cache amx-initialized info-lookup-mode find-tag-marker-ring company-prefix company-common company-candidates t) (sym) (and (commandp sym) (not (get sym 'byte-obsolete-info)) (not (get sym 'no-counsel-M-x)))) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-read("M-x " [## soap-bound-operation-soap-headers diary-included-files epg-context-signers org-babel-C-utility-header-to-C tex-chktex-program package-lint--sane-prefixes vc-git-stash-snapshot iimage-locate-file notify-method webmail-encode-8bit magit-reflog-commit octave-close-block gnus-sync lsp-folding-range-limit company-box--add-icon gnus-delete-overlay flymake-ler-set-full-file viper-deactivate-input-method-action ad-Orig-outline-end-of-subtree js--expression-in-sgml-indent-line chart-axis--eieio-childp lsp-solargraph-references delphi-column-of Pop-from-Ring org-publish-sanitize-plist eieio-class-tag--ede-target :examined c-standard-font-lock-fontify-region-function bibtex-SuppCollection --cl-block-epl-requirement-name-- Grep-Files checkdoc-package-keywords-flag gdscript-indent-shift-right checkdoc-output-mode-map org-man-fixed-width :current-file org-odt-end-table transient:docker-compose-run:-T \' tramp-rename-files lispy-braces-barf-to-point-or-jump-nostring :exclude-subtypes gnus-registry-user-format-function-M muletibetan-2 batch-update-authors todo-categories-mode log-edit-set-header doom-modeline-format--personal tramp-gw-open-connection ...] :predicate (closure ((externs) (initial-input) smex-ido-cache smex-initialized-p amx-cache amx-initialized info-lookup-mode find-tag-marker-ring company-prefix company-common company-candidates t) (sym) (and (commandp sym) (not (get sym 'byte-obsolete-info)) (not (get sym 'no-counsel-M-x)))) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  (let ((externs (counsel--M-x-externs))) (ivy-read (counsel--M-x-prompt) (or externs obarray) :predicate (if externs #'(lambda (x) (not (get (intern x) 'no-counsel-M-x))) #'(lambda (sym) (and (commandp sym) (not (get sym ...)) (not (get sym ...))))) :require-match t :history 'counsel-M-x-history :action #'counsel-M-x-action :keymap counsel-describe-map :initial-input initial-input :caller 'counsel-M-x))
  counsel-M-x()
  #<subr funcall-interactively>(counsel-M-x)
  apply(#<subr funcall-interactively> counsel-M-x)
  funcall-interactively(counsel-M-x)
  #<subr call-interactively>(counsel-M-x nil nil)
  apply(#<subr call-interactively> (counsel-M-x nil nil))
  explain-pause--wrap-call-interactively(#<subr call-interactively> counsel-M-x nil nil)
  apply(explain-pause--wrap-call-interactively #<subr call-interactively> (counsel-M-x nil nil))
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

What to do when hitting an unrelated issue when bisecting?

The instructions don't really say what to do when hitting an unrelated issue when bisecting, which is likely due to the nature of bisection (undefined variables and whatnot). I figured out, at least in my specific instance, that choosing n is the correct thing (otherwise it will just tell you what "causes" the unrelated issue, in my case, enabling some mode which defines a variable).

I also don't know if it's possible to implement a "skip" option like git bisect (I'm not really sure what exactly that would do).

elisp-bug-hunter uses the word 'frame' in a way that is inconsistent with its accepted definition

The definition I am referring to is
http://www.gnu.org/software/emacs/manual/html_node/emacs/Frames.html
The text I am referring to is contained in bug-hunter--interactive-explanation
which has the following definition

(defconst bug-hunter--interactive-explanation
  "You have asked to do an interactive hunt, here's how it goes.
1) I will start a new Emacs frame.
2) You will try to reproduce your problem on the new frame.
3) When you’re done, close that frame.
4) I will ask you if you managed to reproduce the problem.
5) We will repeat steps up to %s times, so hang tight!")

Bug hunter is not really starting new frames, but entirely new emacs instances (which makes complete sense as a pristine lisp interpreter is needed to properly test the configuration). Saying that you are merely starting a new frame is confusing to users who understand the distinction between frames and instances and should probably be avoided

Debugger entered--Lisp error: (invalid-read-syntax "#")

I tried to run bug-hunter on this assertion

(not (string= (format-spec "%s" '((?s . "foo"))) "foo"))

on my init.el and I got

Debugger entered--Lisp error: (invalid-read-syntax "#")
  (read #<buffer *Bug-Hunter Command*<2>>)
  (bug-hunter--run-form (condition-case [...]
  (bug-hunter--run-and-test ((setq package-enable-at-startup nil) [...]
  (bug-hunter-hunt (((setq package-enable-at-startup nil) [...]
  (bug-hunter-file "/home/cassou/.emacs.d/init.el" (not (string= (format-spec "%s" (quote ((115 . "foo")))) "foo")))
  (bug-hunter-init-file (not (string= (format-spec "%s" (quote ((115 . "foo")))) "foo"))) [...]

Assertion returns t in emacs -Q only in bug-hunter

For some reason, when I try to do an assertion with the expression (featurep 'tex-site) I get the error:

Assertion returned non-nil even on emacs -Q:Remember, the assertion must be an expression that returns
non-nil in your current (problematic) Emacs state, AND that...

However, in an actual emacs -Q session (featurep 'tex-site) does actually return nil.

I can't seem to reproduce this with other features oddly enough. I'm not sure what's different here.

Re bug-hunter-init-file, emacs -q -l is not exactly identical to emacs

I'm facing a bug which happens only if the configuration is loaded the regular way, but not with emacs -q -l ~/.emacs.d/init.el. The details are not really important, but this specific property makes bug-hunter-init-file unusable, since even loading the full file with -q -l init.el doesn't trigger the bug.

The following screenshot shows the difference between the two invocations. Left is emacs -q -l ~/.emacs.d/init.el temp/test.org, right is emacs temp/test.org.

2018-06-23-191002_3840x2160_scrot

I'm not sure yet what the root cause is, but I suspect elisp-bug-hunter would be closer from "regular" emacs invocation if it did offer the option to override $HOME instead of using -q -l

thanks!

Does bug-hunter not properly escape "?

I'm trying to find a bug in my init file where opening an org-mode file with a particular set of OPTIONS fails, and am using this assertion:

(with-temp-buffer
  (require 'org)
  (insert "\"#+OPTIONS: H:1 num:t\"")
  (condition-case nil (progn (org-mode) (org-end-of-line) nil) (error t)))

This expression succeeds when run manually on an emacs -Q, and fails in the current instance (and a freshly-booted emacs). The error message that bug-hunter gives me shows me this assertion though:


Doing some initial tests...
Test failed.
Assertion returned non-nil even on emacs -Q:Remember, the assertion must be an expression that returns
non-nil in your current (problematic) Emacs state, AND that
returns nil on a clean Emacs instance.
If you're unsure how to write an assertion, you can try the interactive
hunt instead, or see some examples in the Readme:
    https://github.com/Malabarba/elisp-bug-hunter
(with-temp-buffer (require (quote org)) (insert #+OPTIONS: H:1 num:t) (condition-case nil (progn (org-mode) (org-end-of-line) nil) (error t)))

I'm not sure if this is just a bug in printing the error, or if it's actually related to the assertion failing when run by bug-hunter & succeeding when run manually.

How to debug a user-error when calling helm-imenu

Hello, wanted to try this very, very, very promising package!

However, got some troubles.

Tried M-x bug-hunter-file RET emacs-leuven.el (my init file, on GitHub)

Then tried the assertion (progn (find-file "~/test.java") (helm-imenu))
(see emacs-helm/helm#1547 for test.java, if you're interested)

But:

  • the bug hunter told me my assertion wasn't good enough (not returning nil in normal cases); though, I wonder how I should rewrite it; and it told me to try the interactive version
  • in the interactive version, I got a frame launched, in which the problem does not appear (!) and which I couldn't close... So, I was blocked at that point.

How could I debug this helm-imenu problem?

Best regards!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.