unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#70357: 30.0.50; loadup.el, load nadvice before seq
@ 2024-04-12 18:19 Gerd Möllmann
  2024-04-12 19:03 ` Eli Zaretskii
  2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-12 18:19 UTC (permalink / raw)
  To: 70357

[-- Attachment #1: Type: text/plain, Size: 586 bytes --]

I would like to propose loading nadvice before seq in loadup.el, for the
following reason:

If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
loaded, then the cl-generic machinery will want to warn about the fact
that certain method stuff in seq.elc is already compiled. This warning
wants to use somethign from nadvice, and ultimately a recursive load
(warnings.el requires icons.el, which uses seq, which leads to a
warning, etc).

I'm attaching an example log

(I guess one could get more prodictable behaviour if
bootstrap-emacs.pdmp would load only sources.)


[-- Attachment #2: recursive load --]
[-- Type: text/plain, Size: 66285 bytes --]

Loading emacs-lisp/seq...

Error: error ("Recursive load" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" "/Users/gerd/emacs/github/igc/lisp/loadup.el")
  display-warning(bytecomp "Symbol’s function definition is void: advice--cd*r" :error "*Compile-Log*")
  byte-compile--log-warning-for-byte-compile("Symbol’s function definition is void: advice--cd*r" 1 nil :error)
  byte-compile-log-warning("Symbol’s function definition is void: advice--cd*r" nil :error)
  byte-compile-report-error((void-function advice--cd*r))
  #[257 "\10\203\7\0\211 \207\302C\3031\32\0\304\305\306\4\"\307\305\310\5\"#0\207\1\242\31\311\1!)\207" [byte-compile-debug byte-compile-form-stack nil (error) handler-bind-1 make-closure #[0 "\300 \207" [V0] 1] (error) #[257 "\300\11\240\207" [V0 byte-compile-form-stack] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70582)] byte-compile-report-error] 8 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70562)](#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  bytecomp--displaying-warnings(#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  byte-compile((lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))))
  cl--generic-get-dispatcher((0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])))
  cl--generic-make-next-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))))
  cl--generic-make-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil))
  cl-generic-define-method(icons--create nil ((_type (eql 'image)) icon keywords) nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))
  eval-buffer(#<buffer  *load*-650736> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  require(icons)
  eval-buffer(#<buffer  *load*-83895> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  display-warning(bytecomp "Symbol’s function definition is void: advice--cd*r" :error "*Compile-Log*")
  byte-compile--log-warning-for-byte-compile("Symbol’s function definition is void: advice--cd*r" 1 nil :error)
  byte-compile-log-warning("Symbol’s function definition is void: advice--cd*r" nil :error)
  byte-compile-report-error((void-function advice--cd*r))
  #[257 "\10\203\7\0\211 \207\302C\3031\32\0\304\305\306\4\"\307\305\310\5\"#0\207\1\242\31\311\1!)\207" [byte-compile-debug byte-compile-form-stack nil (error) handler-bind-1 make-closure #[0 "\300 \207" [V0] 1] (error) #[257 "\300\11\240\207" [V0 byte-compile-form-stack] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70582)] byte-compile-report-error] 8 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70562)](#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  bytecomp--displaying-warnings(#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  byte-compile((lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))))
  cl--generic-get-dispatcher((0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])))
  cl--generic-make-next-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))))
  cl--generic-make-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil))
  cl-generic-define-method(icons--create nil ((_type (eql 'image)) icon keywords) nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))
  eval-buffer(#<buffer  *load*-308901> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  require(icons)
  eval-buffer(#<buffer  *load*-985275> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  display-warning(bytecomp "Symbol’s function definition is void: advice--cd*r" :error "*Compile-Log*")
  byte-compile--log-warning-for-byte-compile("Symbol’s function definition is void: advice--cd*r" 1 nil :error)
  byte-compile-log-warning("Symbol’s function definition is void: advice--cd*r" nil :error)
  byte-compile-report-error((void-function advice--cd*r))
  #[257 "\10\203\7\0\211 \207\302C\3031\32\0\304\305\306\4\"\307\305\310\5\"#0\207\1\242\31\311\1!)\207" [byte-compile-debug byte-compile-form-stack nil (error) handler-bind-1 make-closure #[0 "\300 \207" [V0] 1] (error) #[257 "\300\11\240\207" [V0 byte-compile-form-stack] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70582)] byte-compile-report-error] 8 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70562)](#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  bytecomp--displaying-warnings(#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  byte-compile((lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))))
  cl--generic-get-dispatcher((0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])))
  cl--generic-make-next-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))))
  cl--generic-make-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil))
  cl-generic-define-method(icons--create nil ((_type (eql 'image)) icon keywords) nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))
  eval-buffer(#<buffer  *load*-37254> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  require(icons)
  eval-buffer(#<buffer  *load*-434912> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  display-warning(bytecomp "Symbol’s function definition is void: advice--cd*r" :error "*Compile-Log*")
  byte-compile--log-warning-for-byte-compile("Symbol’s function definition is void: advice--cd*r" 1 nil :error)
  byte-compile-log-warning("Symbol’s function definition is void: advice--cd*r" nil :error)
  byte-compile-report-error((void-function advice--cd*r))
  #[257 "\10\203\7\0\211 \207\302C\3031\32\0\304\305\306\4\"\307\305\310\5\"#0\207\1\242\31\311\1!)\207" [byte-compile-debug byte-compile-form-stack nil (error) handler-bind-1 make-closure #[0 "\300 \207" [V0] 1] (error) #[257 "\300\11\240\207" [V0 byte-compile-form-stack] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70582)] byte-compile-report-error] 8 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70562)](#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  bytecomp--displaying-warnings(#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  byte-compile((lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg &rest args) (let nil (apply (with-memoization (gethash (or (gethash arg cl--generic-eql-used)) method-cache) (cl--generic-cache-miss generic '0 dispatches-left methods (append (funcall '#[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] (gethash arg cl--generic-eql-used)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg args))))))
  cl--generic-get-dispatcher((0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])))
  cl--generic-make-next-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))))
  cl--generic-make-function(#s(cl--generic icons--create ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method ((eql 'image) t t) nil nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))) nil))
  cl-generic-define-method(icons--create nil ((_type (eql 'image)) icon keywords) nil (closure (t) (_type icon keywords) (progn (let* ((file (if (file-name-absolute-p icon) icon (and (fboundp 'image-search-load-path) (image-search-load-path icon)))) (file-exists (and (stringp file) (file-readable-p file)))) (and file-exists (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize " " 'display (let ((props (append (let* ((height (and t (plist-get keywords :height)))) (if height (list :height (if (eq height 'line) (window-default-line-height) height)) nil)) (let* ((width (and t (plist-get keywords :width)))) (if width (list :width (if (eq width 'font) (default-font-width) width)) nil)) '(:scale 1) (let* ((rotation (and t (plist-get keywords :rotation)))) (if rotation (list :rotation rotation) nil)) (let* ((margin (and t (plist-get keywords :margin)))) (if margin (list :margin margin) nil)) (list :ascent (if (plist-member keywords :ascent) (plist-get keywords :ascent) 'center))))) (apply 'create-image file nil nil props))))))))
  eval-buffer(#<buffer  *load*-46075> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/icons.el" nil t)
  require(icons)
  eval-buffer(#<buffer  *load*> nil "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  load-with-code-conversion("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" "/Users/gerd/emacs/github/igc/lisp/emacs-lisp/warnings.el" nil t)
  display-warning(bytecomp "Symbol’s function definition is void: advice--cd*r" :error "*Compile-Log*")
  byte-compile--log-warning-for-byte-compile("Symbol’s function definition is void: advice--cd*r" 1 nil :error)
  byte-compile-log-warning("Symbol’s function definition is void: advice--cd*r" nil :error)
  byte-compile-report-error((void-function advice--cd*r))
  #[257 "\10\203\7\0\211 \207\302C\3031\32\0\304\305\306\4\"\307\305\310\5\"#0\207\1\242\31\311\1!)\207" [byte-compile-debug byte-compile-form-stack nil (error) handler-bind-1 make-closure #[0 "\300 \207" [V0] 1] (error) #[257 "\300\11\240\207" [V0 byte-compile-form-stack] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70582)] byte-compile-report-error] 8 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/bytecomp.elc" . 70562)](#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg0 arg &rest args) (let nil (apply (with-memoization (gethash (or (if arg (type-of arg) 'null)) method-cache) (cl--generic-cache-miss generic '1 dispatches-left methods (append (funcall 'cl--generic-type-specializers (if arg (type-of arg) 'null)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg0 arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  bytecomp--displaying-warnings(#[0 "\306\11!\307\211\310\311\312\"\307\211\211\211\211\211\211\n\13\f\15\307C\36\26\35\34\33\32\36\27\36\30\36\31\36\32\36\33\36\34\36\35\36\36\36\37\36 \36!\16\"\36\"\3009\203@\0\300K\202A\0\300\211\242\313=\307\1\203P\0\210\314\2A\262\3\315\3!\203h\0\316\317\3009\203a\0\300\202b\0\320\"\210\2\202\257\0\3009\204t\0\2\242\321=\203\205\0\2\242\321=\211\26\"\203\203\0\322\3!\262\3\210\314\323\3!\262\3\324\3\307\325#\262\3\211\203\234\0\325\3\16\"\"\262\3\1\203\245\0\313\3B\262\3\3009\203\256\0\300\3M\210\2)\266\203\16#\203\273\0\16\35\26$.\20\207" [(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg0 arg &rest args) (let nil (apply (with-memoization (gethash (or (if arg (type-of arg) 'null)) method-cache) (cl--generic-cache-miss generic '1 dispatches-left methods (append (funcall 'cl--generic-type-specializers (if arg (type-of arg) 'null)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg0 arg args))))) byte-compile-initial-macro-environment byte-compile-verbose byte-optimize byte-compile-dynamic-docstrings byte-compile-warnings copy-alist nil make-hash-table :test equal macro t compiled-function-p message "Function %s is already compiled" "provided" closure byte-compile--reify-function byte-compile-preprocess byte-compile-top-level eval current-load-list byte-compile-free-assignments byte-compile-free-references byte-compile-const-variables byte-compile-lexical-variables byte-compile-bound-variables byte-compile-function-environment overriding-plist-environment byte-compile--docstrings byte-compile--\#$ byte-compile--outbuffer byte-compile-macro-environment lexical-binding byte-native-compiling byte-to-native-plist-environment] 16])
  byte-compile((lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (arg0 arg &rest args) (let nil (apply (with-memoization (gethash (or (if arg (type-of arg) 'null)) method-cache) (cl--generic-cache-miss generic '1 dispatches-left methods (append (funcall 'cl--generic-type-specializers (if arg (type-of arg) 'null)) (funcall '#[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)] nil)))) arg0 arg args))))))
  cl--generic-get-dispatcher((1 #s(cl--generic-generalizer cl--generic-typeof-generalizer 10 #[385 "\300\2\301\4D\302BBB\207" [if type-of ('null)] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] cl--generic-type-specializers) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])))
  cl--generic-make-next-function(#s(cl--generic \(setf\ seq-elt\) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-typeof-generalizer 10 #[385 "\300\2\301\4D\302BBB\207" [if type-of ('null)] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] cl--generic-type-specializers) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method (t array t) nil nil #[771 "\1\1\4I\207" [] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1942)])) nil) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-typeof-generalizer 10 #[385 "\300\2\301\4D\302BBB\207" [if type-of ('null)] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] cl--generic-type-specializers) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method (t array t) nil nil #[771 "\1\1\4I\207" [] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1942)])))
  cl--generic-make-function(#s(cl--generic \(setf\ seq-elt\) ((2 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (1 #s(cl--generic-generalizer cl--generic-typeof-generalizer 10 #[385 "\300\2\301\4D\302BBB\207" [if type-of ('null)] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] cl--generic-type-specializers) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)])) (0 #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method (t array t) nil nil #[771 "\1\1\4I\207" [] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1942)])) nil))
  cl-generic-define-method(\(setf\ seq-elt\) nil (store (sequence array) n) nil #[771 "\1\1\4I\207" [] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1942)])
  byte-code("\300\301\302\303#\210\304\305\306\305\307\310#\311#\210\312\305\310\307\310\313%\210\312\314\310\315\310\316%\210\312\314\310\317\310\320%\210\304\321\306\321\322\310#\323#\210\312\321\310\322\310\324%\207" [put seq-setq edebug-form-spec (sexp form) defalias seq-elt cl-generic-define (sequence n) nil "Return the Nth element of SEQUENCE.\n\n(fn SEQUENCE N)" cl-generic-define-method #[514 "\1\1\234\207" [] 4 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1919)] \(setf\ seq-elt\) (store (sequence array) n) #[771 "\1\1\4I\207" [] 6 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1942)] (store (sequence cons) n) #[771 "\211\2\233\3\240\207" [] 5 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 1942)] seq-length (sequence) "Return the number of elements in SEQUENCE.\n\n(fn SEQUENCE)" #[257 "G\207" [] 2 ("/Users/gerd/emacs/github/igc/lisp/emacs-lisp/seq.elc" . 2034)]] 6)
  load("emacs-lisp/seq")
  load("loadup.el")

[-- Attachment #3: Type: text/plain, Size: 235 bytes --]


In GNU Emacs 30.0.50 (build 1, x86_64-apple-darwin23.4.0, NS
 appkit-2487.50 Version 14.4.1 (Build 23E224)) of 2024-04-12 built on
 Pro.fritz.box
Repository revision: 21775a936bd3838adaae38bd5c5ec776434736c1
Repository branch: master

^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-12 18:19 bug#70357: 30.0.50; loadup.el, load nadvice before seq Gerd Möllmann
@ 2024-04-12 19:03 ` Eli Zaretskii
  2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 23+ messages in thread
From: Eli Zaretskii @ 2024-04-12 19:03 UTC (permalink / raw)
  To: Gerd Möllmann, Stefan Monnier; +Cc: 70357

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Date: Fri, 12 Apr 2024 20:19:40 +0200
> 
> I would like to propose loading nadvice before seq in loadup.el, for the
> following reason:
> 
> If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
> loaded, then the cl-generic machinery will want to warn about the fact
> that certain method stuff in seq.elc is already compiled. This warning
> wants to use somethign from nadvice, and ultimately a recursive load
> (warnings.el requires icons.el, which uses seq, which leads to a
> warning, etc).
> 
> I'm attaching an example log
> 
> (I guess one could get more prodictable behaviour if
> bootstrap-emacs.pdmp would load only sources.)

Stefan, WDYT about this?





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-12 18:19 bug#70357: 30.0.50; loadup.el, load nadvice before seq Gerd Möllmann
  2024-04-12 19:03 ` Eli Zaretskii
@ 2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-13  4:01   ` Gerd Möllmann
                     ` (2 more replies)
  1 sibling, 3 replies; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-12 20:43 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 70357

> I would like to propose loading nadvice before seq in loadup.el, for the
> following reason:

I'm not opposed to reordering, but ... have you tried?  AFAICT, `nadvice`
requires `oclosure` which requires `cl-lib` which uses `seq`, so it
might be tricky.

> If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
> loaded, then the cl-generic machinery will want to warn about the fact
> that certain method stuff in seq.elc is already compiled. This warning
> wants to use somethign from nadvice, and ultimately a recursive load
> (warnings.el requires icons.el, which uses seq, which leads to a
> warning, etc).

As a general rule, it's better (long term) to try and fix those circular
dependencies by breaking the cycle.

Maybe we could tweak `cl-generic` so it calls the byte-compiler in a way
that silences all the warnings?
Also, I'm not sure loading `icons` is necessary batch mode, so maybe we
could make that conditional.


        Stefan






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-13  4:01   ` Gerd Möllmann
  2024-04-13  5:22   ` Gerd Möllmann
  2024-04-13  6:19   ` Eli Zaretskii
  2 siblings, 0 replies; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-13  4:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 70357

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> I would like to propose loading nadvice before seq in loadup.el, for the
>> following reason:
>
> I'm not opposed to reordering, but ... have you tried?  AFAICT, `nadvice`
> requires `oclosure` which requires `cl-lib` which uses `seq`, so it
> might be tricky.

Yes, I've tried, and it workds for me (tm). I find it a mess (the whole
thing), but I needed something to get this out of my way so that I can
continue with what I actually want to do. The usual situation...

(Cl-lib using seq is good :-). Made my day :-) :-).).





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-13  4:01   ` Gerd Möllmann
@ 2024-04-13  5:22   ` Gerd Möllmann
  2024-04-13  6:19   ` Eli Zaretskii
  2 siblings, 0 replies; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-13  5:22 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 70357

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> As a general rule, it's better (long term) to try and fix those circular
> dependencies by breaking the cycle.
>
> Maybe we could tweak `cl-generic` so it calls the byte-compiler in a way
> that silences all the warnings?
> Also, I'm not sure loading `icons` is necessary batch mode, so maybe we
> could make that conditional.

BTW, do we have a tool that gives us a dependency graph?





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-13  4:01   ` Gerd Möllmann
  2024-04-13  5:22   ` Gerd Möllmann
@ 2024-04-13  6:19   ` Eli Zaretskii
  2024-04-13  7:07     ` Gerd Möllmann
  2 siblings, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2024-04-13  6:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: gerd.moellmann, 70357

> Cc: 70357@debbugs.gnu.org
> Date: Fri, 12 Apr 2024 16:43:56 -0400
> From:  Stefan Monnier via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> > If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
> > loaded, then the cl-generic machinery will want to warn about the fact
> > that certain method stuff in seq.elc is already compiled. This warning
> > wants to use somethign from nadvice, and ultimately a recursive load
> > (warnings.el requires icons.el, which uses seq, which leads to a
> > warning, etc).
> 
> As a general rule, it's better (long term) to try and fix those circular
> dependencies by breaking the cycle.
> 
> Maybe we could tweak `cl-generic` so it calls the byte-compiler in a way
> that silences all the warnings?
> Also, I'm not sure loading `icons` is necessary batch mode, so maybe we
> could make that conditional.

Me, I don't think I understand the situation well enough.  How come
this doesn't happen each time Emacs is built, for example?  IOW,
there's something in the situation that triggers this that doesn't
happen "usually", and I don't understand from the description what
that its.  This first sentence:

> If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
> loaded, then the cl-generic machinery will want to warn about the fact
> that certain method stuff in seq.elc is already compiled.

lost me: why is that warning being emitted, if all we need is to load
seq.el during loadup?





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13  6:19   ` Eli Zaretskii
@ 2024-04-13  7:07     ` Gerd Möllmann
  2024-04-13  7:31       ` Eli Zaretskii
  2024-04-13 12:44       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-13  7:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70357, Stefan Monnier

Eli Zaretskii <eliz@gnu.org> writes:

>> Cc: 70357@debbugs.gnu.org
>> Date: Fri, 12 Apr 2024 16:43:56 -0400
>> From:  Stefan Monnier via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> 
>> > If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
>> > loaded, then the cl-generic machinery will want to warn about the fact
>> > that certain method stuff in seq.elc is already compiled. This warning
>> > wants to use somethign from nadvice, and ultimately a recursive load
>> > (warnings.el requires icons.el, which uses seq, which leads to a
>> > warning, etc).
>> 
>> As a general rule, it's better (long term) to try and fix those circular
>> dependencies by breaking the cycle.
>> 
>> Maybe we could tweak `cl-generic` so it calls the byte-compiler in a way
>> that silences all the warnings?
>> Also, I'm not sure loading `icons` is necessary batch mode, so maybe we
>> could make that conditional.
>
> Me, I don't think I understand the situation well enough.  How come
> this doesn't happen each time Emacs is built, for example?  IOW,
> there's something in the situation that triggers this that doesn't
> happen "usually", and I don't understand from the description what
> that its.  This first sentence:
>
>> If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
>> loaded, then the cl-generic machinery will want to warn about the fact
>> that certain method stuff in seq.elc is already compiled.
>
> lost me: why is that warning being emitted, if all we need is to load
> seq.el during loadup?

loadup.el loads seq.elc in my case, not seq.el, and I think that's the
difference.

My mental model is, Stefan please correct me, that cl-generic calls the
compiler on method functions, effective method function, and such.

If seq.el, the source file, is loaded from loadup, these functions are
not yet compiled. If seq.elc is loaded, the functions are apparently
already compiled, and a warning is emitted.







^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13  7:07     ` Gerd Möllmann
@ 2024-04-13  7:31       ` Eli Zaretskii
  2024-04-13  7:39         ` Gerd Möllmann
  2024-04-13 12:44       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2024-04-13  7:31 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 70357, monnier

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>,  70357@debbugs.gnu.org
> Date: Sat, 13 Apr 2024 09:07:43 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
> >> loaded, then the cl-generic machinery will want to warn about the fact
> >> that certain method stuff in seq.elc is already compiled.
> >
> > lost me: why is that warning being emitted, if all we need is to load
> > seq.el during loadup?
> 
> loadup.el loads seq.elc in my case, not seq.el, and I think that's the
> difference.

But loadup always loads seq.elc, except when seq.el is newer, so what
am I still missing here?

> My mental model is, Stefan please correct me, that cl-generic calls the
> compiler on method functions, effective method function, and such.
> 
> If seq.el, the source file, is loaded from loadup, these functions are
> not yet compiled. If seq.elc is loaded, the functions are apparently
> already compiled, and a warning is emitted.

How to create this situation?





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13  7:31       ` Eli Zaretskii
@ 2024-04-13  7:39         ` Gerd Möllmann
  2024-04-13  9:29           ` Eli Zaretskii
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-13  7:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70357, monnier

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: Stefan Monnier <monnier@iro.umontreal.ca>,  70357@debbugs.gnu.org
>> Date: Sat, 13 Apr 2024 09:07:43 +0200
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> If a seq.elc exists, and we dump bootstrap-emacs.pdmp, and seq.el gets
>> >> loaded, then the cl-generic machinery will want to warn about the fact
>> >> that certain method stuff in seq.elc is already compiled.
>> >
>> > lost me: why is that warning being emitted, if all we need is to load
>> > seq.el during loadup?
>> 
>> loadup.el loads seq.elc in my case, not seq.el, and I think that's the
>> difference.
>
> But loadup always loads seq.elc, except when seq.el is newer, so what
> am I still missing here?

I can't answer that. Maybe it's the --temacs=pbootstrap that is used for
dumping? But that's just a guess, I don't know what that does. At least
that seems to be a difference.

>
>> My mental model is, Stefan please correct me, that cl-generic calls the
>> compiler on method functions, effective method function, and such.
>> 
>> If seq.el, the source file, is loaded from loadup, these functions are
>> not yet compiled. If seq.elc is loaded, the functions are apparently
>> already compiled, and a warning is emitted.
>
> How to create this situation?

I get that regularly when I make changes in some .c file, build in src,
which builds a new temacs, and so on, and all while seq.elc exists.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13  7:39         ` Gerd Möllmann
@ 2024-04-13  9:29           ` Eli Zaretskii
  0 siblings, 0 replies; 23+ messages in thread
From: Eli Zaretskii @ 2024-04-13  9:29 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 70357, monnier

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: monnier@iro.umontreal.ca,  70357@debbugs.gnu.org
> Date: Sat, 13 Apr 2024 09:39:10 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> If seq.el, the source file, is loaded from loadup, these functions are
> >> not yet compiled. If seq.elc is loaded, the functions are apparently
> >> already compiled, and a warning is emitted.
> >
> > How to create this situation?
> 
> I get that regularly when I make changes in some .c file, build in src,
> which builds a new temacs, and so on, and all while seq.elc exists.

Strange.  I just tried to reproduce this, but couldn't.  I did
"touch src/data.c", then "make", and I see no problem.  Moreover,
loadup says

  Loading emacs-lisp/seq...

both when it dumps bootstrap-emacs and when it dumps emacs, and that
means it loads seq.elc, not seq.el.

So there's something else here we are missing, I suppose.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13  7:07     ` Gerd Möllmann
  2024-04-13  7:31       ` Eli Zaretskii
@ 2024-04-13 12:44       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-14  2:30         ` Michael Heerdegen via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-14 14:14         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 2 replies; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-13 12:44 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: Eli Zaretskii, 70357

>> Me, I don't think I understand the situation well enough.  How come
>> this doesn't happen each time Emacs is built, for example?  IOW,
>> there's something in the situation that triggers this that doesn't
>> happen "usually", and I don't understand from the description what
>> that its.  This first sentence:

The bootstrap is quite delicate, in part because depending on which file
is already compiled and which one is not, the execution can be different
(usually the difference is itself caused by hacks needed to get the
bootstrap working).

I did not look in enough detail to see the specific problem.
E.g. I don't know what is the actual warning that we're trying to emit.


        Stefan






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13 12:44       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-14  2:30         ` Michael Heerdegen via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-14  6:26           ` Gerd Möllmann
  2024-04-14 14:14         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 23+ messages in thread
From: Michael Heerdegen via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-14  2:30 UTC (permalink / raw)
  To: 70357; +Cc: gerd.moellmann, eliz, monnier

Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs@gnu.org> writes:

> I did not look in enough detail to see the specific problem.  E.g. I
> don't know what is the actual warning that we're trying to emit.

It says

  byte-compile-report-error((void-function advice--cd*r))

This should be the occurrence in `byte-compile--function-signature', no?
And nadvice.el maybe not loaded?

AFAIU this could be the cause of the circle and its recursion.


Michael.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-14  2:30         ` Michael Heerdegen via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-14  6:26           ` Gerd Möllmann
  2024-04-14  7:30             ` Eli Zaretskii
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-14  6:26 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: 70357, eliz, monnier

Michael Heerdegen <michael_heerdegen@web.de> writes:

> Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
> text editors" <bug-gnu-emacs@gnu.org> writes:
>
>> I did not look in enough detail to see the specific problem.  E.g. I
>> don't know what is the actual warning that we're trying to emit.
>
> It says
>
>   byte-compile-report-error((void-function advice--cd*r))

Right, that's where I got the idea from that loading nadvice first might
help.

>
> This should be the occurrence in `byte-compile--function-signature', no?
> And nadvice.el maybe not loaded?
>
> AFAIU this could be the cause of the circle and its recursion.

What Stefan said about the different behaviour when some files are
compiled and others are not, is, I guess, what I see here. Sometimes
things work, sometimes they don't. Eli's attempt to reproduce the
problem also shows that, I think. Hence my thought if it wouldn't be an
idea to ignore .elcs when dumping bootstrap-emacs.pdmp. It doesn't help
with circular dependencies, but at least it is easier to reproduce when
it happens.






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-14  6:26           ` Gerd Möllmann
@ 2024-04-14  7:30             ` Eli Zaretskii
  2024-04-14 12:48               ` Gerd Möllmann
  0 siblings, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2024-04-14  7:30 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: michael_heerdegen, 70357, monnier

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
>  text editors" <bug-gnu-emacs@gnu.org>,  Stefan Monnier
>  <monnier@iro.umontreal.ca>,  Eli Zaretskii <eliz@gnu.org>,
>   70357@debbugs.gnu.org
> Date: Sun, 14 Apr 2024 08:26:04 +0200
> 
> What Stefan said about the different behaviour when some files are
> compiled and others are not, is, I guess, what I see here. Sometimes
> things work, sometimes they don't. Eli's attempt to reproduce the
> problem also shows that, I think. Hence my thought if it wouldn't be an
> idea to ignore .elcs when dumping bootstrap-emacs.pdmp. It doesn't help
> with circular dependencies, but at least it is easier to reproduce when
> it happens.

If we load only *.el files into bootstrap-emacs, then bootstrap-emacs
will be much slower.  And since it is used to compile many Lisp files,
the net effect will be to make the build (not just bootstrap, but
_every_ build) slower.  This is a serious disadvantage from where I
stand.  So I hope we can find a better way of fixing this.  Especially
since the problem seems to be marginal and rare, so punishing everyone
because of it doesn't sound TRT to me.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-14  7:30             ` Eli Zaretskii
@ 2024-04-14 12:48               ` Gerd Möllmann
  0 siblings, 0 replies; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-14 12:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: michael_heerdegen, 70357, monnier

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
>>  text editors" <bug-gnu-emacs@gnu.org>,  Stefan Monnier
>>  <monnier@iro.umontreal.ca>,  Eli Zaretskii <eliz@gnu.org>,
>>   70357@debbugs.gnu.org
>> Date: Sun, 14 Apr 2024 08:26:04 +0200
>> 
>> What Stefan said about the different behaviour when some files are
>> compiled and others are not, is, I guess, what I see here. Sometimes
>> things work, sometimes they don't. Eli's attempt to reproduce the
>> problem also shows that, I think. Hence my thought if it wouldn't be an
>> idea to ignore .elcs when dumping bootstrap-emacs.pdmp. It doesn't help
>> with circular dependencies, but at least it is easier to reproduce when
>> it happens.
>
> If we load only *.el files into bootstrap-emacs, then bootstrap-emacs
> will be much slower.  And since it is used to compile many Lisp files,
> the net effect will be to make the build (not just bootstrap, but
> _every_ build) slower.  This is a serious disadvantage from where I
> stand.  So I hope we can find a better way of fixing this.  Especially
> since the problem seems to be marginal and rare, so punishing everyone
> because of it doesn't sound TRT to me.

Well, it's only 10% of the files that are compiled with bootstrap-emacs
(148 vs. 1464 which are compiled with emacs.pdmp). Anyway, I have a
workaround now in my local repo.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-13 12:44       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-14  2:30         ` Michael Heerdegen via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-14 14:14         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-15  3:11           ` Gerd Möllmann
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-14 14:14 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: Eli Zaretskii, 70357

> I did not look in enough detail to see the specific problem.
> E.g. I don't know what is the actual warning that we're trying to emit.

Oh, I see the origin of the problem: `cl-generic` calls `byte-compile`
too early during the bootstrap.  Normally, this is avoided with:

    (defvar cl--generic-compiler
      ;; Don't byte-compile the dispatchers if cl-generic itself is not
      ;; compiled.  Otherwise the byte-compiler and all the code on
      ;; which it depends needs to be usable before cl-generic is loaded,
      ;; which imposes a significant burden on the bootstrap.
      (if (not (compiled-function-p (lambda (x) (+ x 1))))
          (lambda (exp) (eval exp t))
        ;; But do byte-compile the dispatchers once bootstrap is passed:
        ;; the performance difference is substantial (like a 5x speedup on
        ;; the `eieio' elisp-benchmark)).
        ;; To avoid loading the byte-compiler during the final preload,
        ;; see `cl--generic-prefill-dispatchers'.
        #'byte-compile))

but in your case `cl-generic.el` has been compiled, so the `if` test
decides to use the byte-compiler.  I haven't figured out why this
doesn't bite more often nor why it bites in this specific case (I
haven't been able to reproduce the problem).

A quick fix could be the patch below.


        Stefan


diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index fb3278c08ab..c402f91d67c 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1492,7 +1492,8 @@ byte-compile--function-signature
   (and (eq 'macro (car-safe f)) (setq f (cdr f)))
   ;; Advice wrappers have "catch all" args, so fetch the actual underlying
   ;; function to find the real arguments.
-  (setq f (advice--cd*r f))
+  (when (fboundp 'advice--cd*r) ;;nil during early bootstrap.
+    (setq f (advice--cd*r f)))
   (if (eq (car-safe f) 'declared)
       (byte-compile-arglist-signature (nth 1 f))
     (condition-case nil






^ permalink raw reply related	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-14 14:14         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-15  3:11           ` Gerd Möllmann
  2024-04-15  6:16             ` Gerd Möllmann
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-15  3:11 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 70357

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> A quick fix could be the patch below.

Thanks Stefan. I'm now using your change locally to see if anything
doesn't work (but I don't expect that).





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-15  3:11           ` Gerd Möllmann
@ 2024-04-15  6:16             ` Gerd Möllmann
  2024-04-15  7:01               ` Gerd Möllmann
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-15  6:16 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 70357

[-- Attachment #1: Type: text/plain, Size: 1407 bytes --]

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>> A quick fix could be the patch below.
>
> Thanks Stefan. I'm now using your change locally to see if anything
> doesn't work (but I don't expect that).

I have something, but I'm 100% unsure if this has anything to do with
your patch, not the least because I never got so far in the build
before.

This is with MPS-based GC, and a build from git clean -xdf.
bootstrap-emacs.pdmp is built, some Lisp is compiled, and emacs.pdmp is
about to be dumped.

When loading ns-win (compiled), I get

  *** MPS GC start: Generation 0 of a chain has reached capacity: start a minor collection.
  Loading term/ns-win...

  Error: error ("Missing cl-generic dispatcher in the prefilled cache!
  Missing for: ((&context . window-system) cl--generic-eql-generalizer cl--generic-t-generalizer)
  You might need to add: (cl--generic-prefill-dispatchers (&context . window-system) (eql 'x))")
    signal(error ("Missing cl-generic dispatcher in the prefilled cache!\nMissing for: ((&context . window-system) cl--generic-eql-generalizer cl--generic-t-generalizer)\nYou might need to add: (cl--generic-prefill-dispatchers (&context . window-system) (eql 'x))"))

I'm attaching the full backtrace.

As I said, I have no idea yet what that means. I'll try a build without
MPS a bit later.


[-- Attachment #2: build.log --]
[-- Type: text/plain, Size: 14735 bytes --]

Loading international/ucs-normalize...
*** MPS GC start: Generation 0 of a chain has reached capacity: start a minor collection.
Loading term/ns-win...

Error: error ("Missing cl-generic dispatcher in the prefilled cache!
Missing for: ((&context . window-system) cl--generic-eql-generalizer cl--generic-t-generalizer)
You might need to add: (cl--generic-prefill-dispatchers (&context . window-system) (eql 'x))")
  signal(error ("Missing cl-generic dispatcher in the prefilled cache!\nMissing for: ((&context . window-system) cl--generic-eql-generalizer cl--generic-t-generalizer)\nYou might need to add: (cl--generic-prefill-dispatchers (&context . window-system) (eql 'x))"))
  error("Missing cl-generic dispatcher in the prefilled cache!\nMissing for: %S\nYou might need to add: %S" ((&context . window-system) cl--generic-eql-generalizer cl--generic-t-generalizer) (cl--generic-prefill-dispatchers (&context . window-system) (eql 'x)))
  cl--generic-get-dispatcher(((&context . window-system) #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("emacs-lisp/cl-generic.elc" . 6963)])))
  cl--generic-make-next-function(#s(cl--generic window-system-initialization (((&context . window-system) #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method (((&context . window-system) eql 'ns)) nil nil #[256 "\10\203\10\0\306\307!\210\310\11!\21\311 \210\3121\34\0\313\n\314\"0\210\202&\0\315\316\317\320\4\"\321#\266\2\322\323 \206-\0\324\13\314#\210\325\326!\203X\0\327\24\330\15\331\332\16;B#\210\330\15\333\334#\210\330\15\335\336#\210\330\15\337\340\341\340!B#\210\342 \211\203\201\0\211@\211@\343=\203p\0\344\1A!\266\2\202}\0\345\15\346\3@!\344\4A!#\266\2A\202Z\0\210\347\350\351\"\314=\203\231\0\347\350\352\"\314=\203\231\0\353\354\355\"\210\356\347\350\357\"\203\245\0\360\202\246\0\361!\210\16<\362=\203\264\0\353\363\364\"\210\365\350\366\367#\210\370 \210\353\371\372\"\210\314\211\20\207" [ns-initialized command-line-args ns-standard-fontset-spec x-command-line-resources menu-bar-final-items global-map cl--assertion-failed (not ns-initialized) x-handle-args create-default-fontset (error) create-fontset-from-fontset-spec t display-warning initialization format "Creation of the standard fontset failed: %s" :error x-open-connection system-name "" featurep gnustep (buffer services hide-app quit) bindings--define-key [menu-bar help-menu] "Info" [menu-bar quit] (menu-item "Quit" save-buffers-kill-emacs :help "Save unsaved buffers, then exit") [menu-bar hide-app] (menu-item "Hide" ns-do-hide-emacs :help "Hide Emacs") [menu-bar services] "Services" make-sparse-keymap ns-list-services undefined ns-define-service define-key vector get-lisp-resource nil "NXAutoLaunch" "HideOnAutoLaunch" add-hook after-init-hook ns-do-hide-emacs menu-bar-mode "Menus" 1 -1 darwin before-init-hook #[0 "\302\20\303\211\21\207" [locale-coding-system default-process-coding-system utf-8-unix (utf-8-unix . utf-8-unix)] 2] ns-set-resource "ApplePressAndHoldEnabled" "NO" x-apply-session-resources suspend-hook ns-suspend-error menu-bar-help-menu system-type] 8 ("term/ns-win.elc" . 18449)]) #s(cl--generic-method nil nil nil #[256 "\300\207" [nil] 2 ("startup.elc" . 26535)])) nil) (((&context . window-system) #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method (((&context . window-system) eql 'ns)) nil nil #[256 "\10\203\10\0\306\307!\210\310\11!\21\311 \210\3121\34\0\313\n\314\"0\210\202&\0\315\316\317\320\4\"\321#\266\2\322\323 \206-\0\324\13\314#\210\325\326!\203X\0\327\24\330\15\331\332\16;B#\210\330\15\333\334#\210\330\15\335\336#\210\330\15\337\340\341\340!B#\210\342 \211\203\201\0\211@\211@\343=\203p\0\344\1A!\266\2\202}\0\345\15\346\3@!\344\4A!#\266\2A\202Z\0\210\347\350\351\"\314=\203\231\0\347\350\352\"\314=\203\231\0\353\354\355\"\210\356\347\350\357\"\203\245\0\360\202\246\0\361!\210\16<\362=\203\264\0\353\363\364\"\210\365\350\366\367#\210\370 \210\353\371\372\"\210\314\211\20\207" [ns-initialized command-line-args ns-standard-fontset-spec x-command-line-resources menu-bar-final-items global-map cl--assertion-failed (not ns-initialized) x-handle-args create-default-fontset (error) create-fontset-from-fontset-spec t display-warning initialization format "Creation of the standard fontset failed: %s" :error x-open-connection system-name "" featurep gnustep (buffer services hide-app quit) bindings--define-key [menu-bar help-menu] "Info" [menu-bar quit] (menu-item "Quit" save-buffers-kill-emacs :help "Save unsaved buffers, then exit") [menu-bar hide-app] (menu-item "Hide" ns-do-hide-emacs :help "Hide Emacs") [menu-bar services] "Services" make-sparse-keymap ns-list-services undefined ns-define-service define-key vector get-lisp-resource nil "NXAutoLaunch" "HideOnAutoLaunch" add-hook after-init-hook ns-do-hide-emacs menu-bar-mode "Menus" 1 -1 darwin before-init-hook #[0 "\302\20\303\211\21\207" [locale-coding-system default-process-coding-system utf-8-unix (utf-8-unix . utf-8-unix)] 2] ns-set-resource "ApplePressAndHoldEnabled" "NO" x-apply-session-resources suspend-hook ns-suspend-error menu-bar-help-menu system-type] 8 ("term/ns-win.elc" . 18449)]) #s(cl--generic-method nil nil nil #[256 "\300\207" [nil] 2 ("startup.elc" . 26535)])))
  cl--generic-make-function(#s(cl--generic window-system-initialization (((&context . window-system) #s(cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\2\301BB\207" [gethash (cl--generic-eql-used)] 5 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\1\242\300=\205\11\0\1A\207" [eql] 4 ("emacs-lisp/cl-generic.elc" . 6963)]) #s(cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 ("emacs-lisp/cl-generic.elc" . 6938)] #[385 "\300\207" [(t)] 3 ("emacs-lisp/cl-generic.elc" . 6963)]))) (#s(cl--generic-method (((&context . window-system) eql 'ns)) nil nil #[256 "\10\203\10\0\306\307!\210\310\11!\21\311 \210\3121\34\0\313\n\314\"0\210\202&\0\315\316\317\320\4\"\321#\266\2\322\323 \206-\0\324\13\314#\210\325\326!\203X\0\327\24\330\15\331\332\16;B#\210\330\15\333\334#\210\330\15\335\336#\210\330\15\337\340\341\340!B#\210\342 \211\203\201\0\211@\211@\343=\203p\0\344\1A!\266\2\202}\0\345\15\346\3@!\344\4A!#\266\2A\202Z\0\210\347\350\351\"\314=\203\231\0\347\350\352\"\314=\203\231\0\353\354\355\"\210\356\347\350\357\"\203\245\0\360\202\246\0\361!\210\16<\362=\203\264\0\353\363\364\"\210\365\350\366\367#\210\370 \210\353\371\372\"\210\314\211\20\207" [ns-initialized command-line-args ns-standard-fontset-spec x-command-line-resources menu-bar-final-items global-map cl--assertion-failed (not ns-initialized) x-handle-args create-default-fontset (error) create-fontset-from-fontset-spec t display-warning initialization format "Creation of the standard fontset failed: %s" :error x-open-connection system-name "" featurep gnustep (buffer services hide-app quit) bindings--define-key [menu-bar help-menu] "Info" [menu-bar quit] (menu-item "Quit" save-buffers-kill-emacs :help "Save unsaved buffers, then exit") [menu-bar hide-app] (menu-item "Hide" ns-do-hide-emacs :help "Hide Emacs") [menu-bar services] "Services" make-sparse-keymap ns-list-services undefined ns-define-service define-key vector get-lisp-resource nil "NXAutoLaunch" "HideOnAutoLaunch" add-hook after-init-hook ns-do-hide-emacs menu-bar-mode "Menus" 1 -1 darwin before-init-hook #[0 "\302\20\303\211\21\207" [locale-coding-system default-process-coding-system utf-8-unix (utf-8-unix . utf-8-unix)] 2] ns-set-resource "ApplePressAndHoldEnabled" "NO" x-apply-session-resources suspend-hook ns-suspend-error menu-bar-help-menu system-type] 8 ("term/ns-win.elc" . 18449)]) #s(cl--generic-method nil nil nil #[256 "\300\207" [nil] 2 ("startup.elc" . 26535)])) nil))
  cl-generic-define-method(window-system-initialization nil (&context (window-system ns) &optional _display) nil #[256 "\10\203\10\0\306\307!\210\310\11!\21\311 \210\3121\34\0\313\n\314\"0\210\202&\0\315\316\317\320\4\"\321#\266\2\322\323 \206-\0\324\13\314#\210\325\326!\203X\0\327\24\330\15\331\332\16;B#\210\330\15\333\334#\210\330\15\335\336#\210\330\15\337\340\341\340!B#\210\342 \211\203\201\0\211@\211@\343=\203p\0\344\1A!\266\2\202}\0\345\15\346\3@!\344\4A!#\266\2A\202Z\0\210\347\350\351\"\314=\203\231\0\347\350\352\"\314=\203\231\0\353\354\355\"\210\356\347\350\357\"\203\245\0\360\202\246\0\361!\210\16<\362=\203\264\0\353\363\364\"\210\365\350\366\367#\210\370 \210\353\371\372\"\210\314\211\20\207" [ns-initialized command-line-args ns-standard-fontset-spec x-command-line-resources menu-bar-final-items global-map cl--assertion-failed (not ns-initialized) x-handle-args create-default-fontset (error) create-fontset-from-fontset-spec t display-warning initialization format "Creation of the standard fontset failed: %s" :error x-open-connection system-name "" featurep gnustep (buffer services hide-app quit) bindings--define-key [menu-bar help-menu] "Info" [menu-bar quit] (menu-item "Quit" save-buffers-kill-emacs :help "Save unsaved buffers, then exit") [menu-bar hide-app] (menu-item "Hide" ns-do-hide-emacs :help "Hide Emacs") [menu-bar services] "Services" make-sparse-keymap ns-list-services undefined ns-define-service define-key vector get-lisp-resource nil "NXAutoLaunch" "HideOnAutoLaunch" add-hook after-init-hook ns-do-hide-emacs menu-bar-mode "Menus" 1 -1 darwin before-init-hook #[0 "\302\20\303\211\21\207" [locale-coding-system default-process-coding-system utf-8-unix (utf-8-unix . utf-8-unix)] 2] ns-set-resource "ApplePressAndHoldEnabled" "NO" x-apply-session-resources suspend-hook ns-suspend-error menu-bar-help-menu system-type] 8 ("term/ns-win.elc" . 18449)])
  byte-code("\300\301\302\303\302\304%\210\305\306\307\"\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\207" [cl-generic-define-method window-system-initialization nil (&context (window-system ns) &optional _display) #[256 "\10\203\10\0\306\307!\210\310\11!\21\311 \210\3121\34\0\313\n\314\"0\210\202&\0\315\316\317\320\4\"\321#\266\2\322\323 \206-\0\324\13\314#\210\325\326!\203X\0\327\24\330\15\331\332\16;B#\210\330\15\333\334#\210\330\15\335\336#\210\330\15\337\340\341\340!B#\210\342 \211\203\201\0\211@\211@\343=\203p\0\344\1A!\266\2\202}\0\345\15\346\3@!\344\4A!#\266\2A\202Z\0\210\347\350\351\"\314=\203\231\0\347\350\352\"\314=\203\231\0\353\354\355\"\210\356\347\350\357\"\203\245\0\360\202\246\0\361!\210\16<\362=\203\264\0\353\363\364\"\210\365\350\366\367#\210\370 \210\353\371\372\"\210\314\211\20\207" [ns-initialized command-line-args ns-standard-fontset-spec x-command-line-resources menu-bar-final-items global-map cl--assertion-failed (not ns-initialized) x-handle-args create-default-fontset (error) create-fontset-from-fontset-spec t display-warning initialization format "Creation of the standard fontset failed: %s" :error x-open-connection system-name "" featurep gnustep (buffer services hide-app quit) bindings--define-key [menu-bar help-menu] "Info" [menu-bar quit] (menu-item "Quit" save-buffers-kill-emacs :help "Save unsaved buffers, then exit") [menu-bar hide-app] (menu-item "Hide" ns-do-hide-emacs :help "Hide Emacs") [menu-bar services] "Services" make-sparse-keymap ns-list-services undefined ns-define-service define-key vector get-lisp-resource nil "NXAutoLaunch" "HideOnAutoLaunch" add-hook after-init-hook ns-do-hide-emacs menu-bar-mode "Menus" 1 -1 darwin before-init-hook #[0 "\302\20\303\211\21\207" [locale-coding-systemMissing cl-generic dispatcher in the prefilled cache!
Missing for: ((&context . window-system) cl--generic-eql-generalizer cl--generic-t-generalizer)
You might need to add: (cl--generic-prefill-dispatchers (&context . window-system) (eql 'x))
 default-process-coding-system utf-8-unix (utf-8-unix . utf-8-unix)] 2] ns-set-resource "ApplePressAndHoldEnabled" "NO" x-apply-session-resources suspend-hook ns-suspend-error menu-bar-help-menu system-type] 8 ("term/ns-win.elc" . 18449)] add-to-list display-format-alist (".*" . ns) handle-args-function (args &context (window-system ns)) #[257 "\300\1!\207" [x-handle-args] 3 ("term/ns-win.elc" . 18537)] frame-creation-function (params &context (window-system ns)) #[257 "\300\1!\207" [x-create-frame-with-faces] 3 ("term/ns-win.elc" . 18554)]] 6)
  load("term/ns-win")
  (progn (load "international/mule-util") (load "international/ucs-normalize") (load "term/ns-win"))
  (if (featurep 'charprop) (progn (load "international/mule-util") (load "international/ucs-normalize") (load "term/ns-win")))
  (when (featurep 'charprop) (load "international/mule-util") (load "international/ucs-normalize") (load "term/ns-win"))
  (progn (load "term/common-win") (when (featurep 'charprop) (load "international/mule-util") (load "international/ucs-normalize") (load "term/ns-win")))
  (if (featurep 'ns) (progn (load "term/common-win") (when (featurep 'charprop) (load "international/mule-util") (load "international/ucs-normalize") (load "term/ns-win"))))
  load("loadup.el")
gmake[2]: *** [Makefile:685: emacs.pdmp] Error 255
gmake[1]: *** [Makefile:554: src] Error 2
***
*** "make all" failed with exit status 2.
***
*** You could try to:
*** - run "make bootstrap", which might fix the problem
*** - run "make V=1", which displays the full commands invoked by make,
***   to further investigate the problem
***
gmake[1]: *** [Makefile:418: advice-on-failure] Error 2
gmake: *** [Makefile:374: all] Error 2

real	5:48.60
user	16:52.93
sys	50.872
/Users/gerd/bin/make-emacs --cache-file /var/folders/1d/k_6t25f94sl83szqbf8gpkrh0000gn/T//config.cache.igc --enable-checking --with-native-compilation=no --with-mps=debug CC=clang CFLAGS=-g -O0 complete.

Compilation finished at Mon Apr 15 08:04:40, duration 0:05:49

^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-15  6:16             ` Gerd Möllmann
@ 2024-04-15  7:01               ` Gerd Möllmann
  2024-04-15  7:55                 ` Gerd Möllmann
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-15  7:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 70357

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> As I said, I have no idea yet what that means. I'll try a build without
> MPS a bit later.

Works without MPS :-|. Only 347293 problems remaining...





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-15  7:01               ` Gerd Möllmann
@ 2024-04-15  7:55                 ` Gerd Möllmann
  2024-04-15  8:01                   ` Gerd Möllmann
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-15  7:55 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 70357

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>> As I said, I have no idea yet what that means. I'll try a build without
>> MPS a bit later.
>
> Works without MPS :-|. Only 347293 problems remaining...

And the reason seems to be that in the non-MPS build purify-flag is nil,
while it isn't in the MPS build. That was too easy. Only (1- 347293)
problems remaining :-).





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-15  7:55                 ` Gerd Möllmann
@ 2024-04-15  8:01                   ` Gerd Möllmann
  2024-04-15 12:11                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-15  8:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 70357

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>>
>>> As I said, I have no idea yet what that means. I'll try a build without
>>> MPS a bit later.
>>
>> Works without MPS :-|. Only 347293 problems remaining...
>
> And the reason seems to be that in the non-MPS build purify-flag is nil,
> while it isn't in the MPS build. That was too easy. Only (1- 347293)
> problems remaining :-).

Erm, which begs the question if this answers the FIXME, maybe?
Depending on what the "final" dump is...

    (when (and purify-flag ;FIXME: Is this a reliable test of the final dump?
               (eq cl--generic-compiler #'byte-compile))
      ;; We don't want to preload the byte-compiler!!
      (error






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-15  8:01                   ` Gerd Möllmann
@ 2024-04-15 12:11                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-04-15 12:47                       ` Gerd Möllmann
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-15 12:11 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: Eli Zaretskii, 70357

> Erm, which begs the question if this answers the FIXME, maybe?
> Depending on what the "final" dump is...
>
>     (when (and purify-flag ;FIXME: Is this a reliable test of the final dump?

Yeah, that question is rhetorical.
Especially given that we want to get rid of the pure space anyway.


        Stefan






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#70357: 30.0.50; loadup.el, load nadvice before seq
  2024-04-15 12:11                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-15 12:47                       ` Gerd Möllmann
  0 siblings, 0 replies; 23+ messages in thread
From: Gerd Möllmann @ 2024-04-15 12:47 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, 70357

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Erm, which begs the question if this answers the FIXME, maybe?
>> Depending on what the "final" dump is...
>>
>>     (when (and purify-flag ;FIXME: Is this a reliable test of the final dump?
>
> Yeah, that question is rhetorical.
> Especially given that we want to get rid of the pure space anyway.

👍

I've BTW used one of your patches to get rid of pure space when I added
packages to my local Emacs, which is what the MPS stuff is built on.
Didn't want to ride a dead horse ;-).





^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-04-15 12:47 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-12 18:19 bug#70357: 30.0.50; loadup.el, load nadvice before seq Gerd Möllmann
2024-04-12 19:03 ` Eli Zaretskii
2024-04-12 20:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-13  4:01   ` Gerd Möllmann
2024-04-13  5:22   ` Gerd Möllmann
2024-04-13  6:19   ` Eli Zaretskii
2024-04-13  7:07     ` Gerd Möllmann
2024-04-13  7:31       ` Eli Zaretskii
2024-04-13  7:39         ` Gerd Möllmann
2024-04-13  9:29           ` Eli Zaretskii
2024-04-13 12:44       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-14  2:30         ` Michael Heerdegen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-14  6:26           ` Gerd Möllmann
2024-04-14  7:30             ` Eli Zaretskii
2024-04-14 12:48               ` Gerd Möllmann
2024-04-14 14:14         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15  3:11           ` Gerd Möllmann
2024-04-15  6:16             ` Gerd Möllmann
2024-04-15  7:01               ` Gerd Möllmann
2024-04-15  7:55                 ` Gerd Möllmann
2024-04-15  8:01                   ` Gerd Möllmann
2024-04-15 12:11                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-15 12:47                       ` Gerd Möllmann

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).