Hi Drew, thanks very much for your exact description. I have Emacs 28.2 > A guess is that you just didn't add the directory > where you have the source files to your value of > variable `load-path'. Emacs can't know where to > find libraries if you don't tell it. and as an Emacs newbie I didn't know that I have to add it to my load-path. (I thought it will do it by itself). I am learning. So when I started emacs it loads icicles but it gives me some missing dependencies and I installed all of them through your given wiki page. Now Icicles is running, every time I start emacs, but those given messages I don't know what to do with them Loading /home/gfp/.config/emacs/custom.el (source)...done Loading /home/gfp/.config/emacs/elpa/icicles-2022.1.26/icicles-mac.el (source)...done .config/emacs/elpa/icicles-2022.1.26/hexrgb.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘incf’ is an obsolete alias (as of 27.1); use ‘cl-incf’ instead. [2 times] .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘callf’ is an obsolete alias (as of 27.1); use ‘cl-callf’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘incf’ is an obsolete alias (as of 27.1); use ‘cl-incf’ instead. [2 times] .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘callf’ is an obsolete alias (as of 27.1); use ‘cl-callf’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. [3 times] .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘callf’ is an obsolete alias (as of 27.1); use ‘cl-callf’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-opt.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. [2 times] Loading /home/gfp/.config/emacs/elpa/icicles-2022.1.26/icicles-mac.el (source)...done .config/emacs/elpa/icicles-2022.1.26/icicles-fn.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [5 times] .config/emacs/elpa/icicles-2022.1.26/icicles-fn.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-fn.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [5 times] .config/emacs/elpa/icicles-2022.1.26/icicles-fn.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. [2 times] Loading /home/gfp/.config/emacs/elpa/icicles-2022.1.26/icicles-mac.el (source)...done .config/emacs/elpa/icicles-2022.1.26/icicles-mcmd.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [4 times] .config/emacs/elpa/icicles-2022.1.26/icicles-mcmd.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-mcmd.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [8 times] .config/emacs/elpa/icicles-2022.1.26/icicles-mcmd.el: Warning: ‘flet’ is an obsolete macro (as of 24.3); use either ‘cl-flet’ or ‘cl-letf’. .config/emacs/elpa/icicles-2022.1.26/icicles-mcmd.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [6 times] Loading /home/gfp/.config/emacs/elpa/icicles-2022.1.26/icicles-mac.el (source)...done .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘pushnew’ is an obsolete alias (as of 27.1); use ‘cl-pushnew’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. [2 times] .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [2 times] .config/emacs/elpa/icicles-2022.1.26/icicles-cmd1.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. Loading /home/gfp/.config/emacs/elpa/icicles-2022.1.26/icicles-mac.el (source)...done .config/emacs/elpa/icicles-2022.1.26/icicles-cmd2.el: Warning: ‘pushnew’ is an obsolete alias (as of 27.1); use ‘cl-pushnew’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-cmd2.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. [4 times] .config/emacs/elpa/icicles-2022.1.26/icicles-cmd2.el: Warning: ‘incf’ is an obsolete alias (as of 27.1); use ‘cl-incf’ instead. [3 times] .config/emacs/elpa/icicles-2022.1.26/icicles-cmd2.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [2 times] .config/emacs/elpa/icicles-2022.1.26/icicles-cmd2.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead. [2 times] Loading /home/gfp/.config/emacs/elpa/icicles-2022.1.26/icicles-mac.el (source)...done .config/emacs/elpa/icicles-2022.1.26/icicles-mode.el: Warning: ‘pushnew’ is an obsolete alias (as of 27.1); use ‘cl-pushnew’ instead. .config/emacs/elpa/icicles-2022.1.26/icicles-mode.el: Warning: ‘case’ is an obsolete alias (as of 27.1); use ‘cl-case’ instead. [2 times] For information about GNU Emacs and the GNU system, type C-h C-a. Package yow is deprecated Package cl is deprecated Beginning of buffer [2 times] -- Kind regards Gottfried You don't say exactly what you did. Or what Emacs version you have. A guess is that you just didn't add the directory where you have the source files to your value of variable `load-path'. Emacs can't know where to find libraries if you don't tell it. [ Caveat: I don't have or use Emacs 29, which includes native compilation, so I can't help you there - except to say that you can, I expect, still follow the regular directions (see below). If it for some reason needs the macros file (`icicles-mac.el') loaded first, then do that. ] ___ Normally all you need to do is add the directory where you have the Icicles files to the value of your `load-path' variable: (add-to-list 'load-path "/wherever/you/have/Icicles/files/") Then (require 'icicles) or `M-x load-library icicles'. This is described here: https://www.emacswiki.org/emacs/Icicles#ObtainingAndInstalling ___ Of course, it's better to byte-compile the files, if you want to do more than just give Icicles a quick try. You can byte-compile Icicles after you've loaded it (source files). Or you can do it anytime. But you must always have loaded `icicles-mac.el', to be able to byte-compile any of the source files (including `icicles-mac.el' itself). This is described here: https://www.emacswiki.org/emacs/Icicles_-_Libraries#byte-compile E.g., just Dired the directory with the files, mark them, and `B' to byte-compile them. (After having loaded `icicles-mac.el'.) You can see other reminders of the need to first load `icicles-mac.el' in the source files. E.g.: ;; ****************** ;; NOTE: Whenever you update Icicles (i.e., download ;; new versions of Icicles source files), I recommend ;; that you do the following: ;; ;; 1. Delete all existing byte-compiled Icicles ;; files (icicles*.elc). ;; 2. Load Icicles (`load-library' or `require'). ;; 3. Byte-compile the source files. ;; ;; In particular, always load `icicles-mac.el' (not ;; `icicles-mac.elc') before you byte-compile new ;; versions of the files, in case there have been any ;; changes to Lisp macros (in `icicles-mac.el'). ;; ****************** (This isn't special to Icicles; it's just standard Lisp practice.) ___ FYI: This is the code in `icicles.el' that loads the other files when you load it: ;;; Load other Icicles files (eval-when-compile (or (condition-case nil ;; Use load-library to ensure latest .elc. (load-library "icicles-mac") (error nil)) ;; Require, so can load separately if not on `load-path'. (require 'icicles-mac))) (require 'icicles-face) (require 'icicles-opt) ;; Requires face (require 'icicles-var) ;; Requires opt (require 'icicles-fn) ;; Requires mac, opt, var (require 'icicles-mcmd) ;; Requires mac, opt, var, fn (require 'icicles-cmd1) ;; Requires mac, opt, var, fn, mcmd (require 'icicles-cmd2) ;; Requires mac, opt, var, fn, mcmd, cmd1 (require 'icicles-mode) ;; Requires mac, face, opt, cmd1, cmd2 ___ HTH. If you have some follow-up, I think you can drop the ccing of help-gnu-emacs@gnu.org.