[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gnus using lexical-binding
From: |
Andy Moreton |
Subject: |
Re: Gnus using lexical-binding |
Date: |
Sat, 30 Jan 2021 16:10:57 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1.91 (windows-nt) |
On Fri 29 Jan 2021, Stefan Monnier wrote:
> I'm working on converting all the lisp/gnus files to use
> lexical-binding. I have a first version of the code ready and pushed to
> `scratch/lexical-gnus`. It works for me, but please test it because my
> use of Gnus only exercises a small fraction of its functionality
> and packages.
>
> And please, after testing it, tell me how it went, regardless if you
> encountered problems or not.
Fails starting gnus for me. Setting `debug-on-error' gives backtrace:
Debugger entered--Lisp error: (void-variable gnus-tmp-level)
(format "%c%c%d%c %6s %7d %s%c" gnus-tmp-marked-mark gnus-tmp-subscribed
gnus-tmp-level gnus-tmp-process-marked (cond ((eq number t) "*") ((numberp
number) (int-to-string (+ number (gnus-range-length (cdr (assq ...
gnus-tmp-marked))) (gnus-range-length (cdr (assq ... gnus-tmp-marked)))))) (t
number)) gnus-tmp-number-total gnus-group-indentation gnus-tmp-summary-live)
(insert (format "%c%c%d%c %6s %7d %s%c" gnus-tmp-marked-mark
gnus-tmp-subscribed gnus-tmp-level gnus-tmp-process-marked (cond ((eq number t)
"*") ((numberp number) (int-to-string (+ number (gnus-range-length (cdr ...))
(gnus-range-length (cdr ...))))) (t number)) gnus-tmp-number-total
gnus-group-indentation gnus-tmp-summary-live))
(let (gnus-position) (insert (format "%c%c%d%c %6s %7d %s%c"
gnus-tmp-marked-mark gnus-tmp-subscribed gnus-tmp-level gnus-tmp-process-marked
(cond ((eq number t) "*") ((numberp number) (int-to-string (+ number
(gnus-range-length ...) (gnus-range-length ...)))) (t number))
gnus-tmp-number-total gnus-group-indentation gnus-tmp-summary-live)) (setq
gnus-position (point)) (insert (format "%-55s" (let* ((val (eval (if ... ...
gnus-tmp-qualified-group))) (need (- 55 (string-width val)))) (if (> need 0)
(concat nil val (make-string need 32)) val)))) (insert-char 32 (max (- 75
(current-column)) 0)) (add-text-properties (point) (progn (insert
gnus-tmp-news-server) (point)) (cons 'face (cons (list 'italic 'default)
'(gnus-face t)))) (insert "\n") (if gnus-position (put-text-property
gnus-position (1+ gnus-position) 'gnus-position t)))
eval((let (gnus-position) (insert (format "%c%c%d%c %6s %7d %s%c"
gnus-tmp-marked-mark gnus-tmp-subscribed gnus-tmp-level gnus-tmp-process-marked
(cond ((eq number t) "*") ((numberp number) (int-to-string (+ number ... ...)))
(t number)) gnus-tmp-number-total gnus-group-indentation
gnus-tmp-summary-live)) (setq gnus-position (point)) (insert (format "%-55s"
(let* ((val (eval ...)) (need (- 55 ...))) (if (> need 0) (concat nil val
(make-string need 32)) val)))) (insert-char 32 (max (- 75 (current-column)) 0))
(add-text-properties (point) (progn (insert gnus-tmp-news-server) (point))
(cons 'face (cons (list 'italic 'default) '(gnus-face t)))) (insert "\n") (if
gnus-position (put-text-property gnus-position (1+ gnus-position)
'gnus-position t))) t)
gnus-group-insert-group-line("nndraft:drafts" 1 nil 0 (nndraft ""))
gnus-topic-prepare-topic((("misc" visible nil nil)) 1 5 nil nil 1 nil)
gnus-topic-prepare-topic((("Topics" visible nil nil) (("Cygwin" visible nil
nil)) (("Emacs" visible nil nil)) (("Windows" visible nil nil)) (("Linux"
visible nil nil)) (("IETF" visible nil nil)) (("Network" visible nil nil))
(("Developer" visible nil nil) (("Build Tools" visible nil nil)) (("GCC"
visible nil nil)) (("LLVM" visible nil nil)) (("Libc" visible nil nil)))
(("Languages" visible nil nil) (("C++" visible nil nil)) (("Rust" visible nil
nil)) (("Python" visible nil nil)) (("Lua" visible nil nil)) (("Javascript"
visible nil nil)) (("Scheme" visible nil nil)) (("Common Lisp" visible nil
nil)) (("Haskell" visible nil nil))) (("Hardware" visible nil nil)) (("Blogs"
visible nil nil)) (("misc" visible nil nil))) 0 5 nil nil 1 nil)
gnus-group-prepare-topics(5 nil nil)
gnus-group-list-groups(nil)
#f(compiled-function () #<bytecode 0x991f1d1e36f151a>)()
gnus-1(nil nil nil)
gnus(nil)
funcall-interactively(gnus nil)
call-interactively(gnus record nil)
command-execute(gnus record)
execute-extended-command(nil "gnus" "gnus")
funcall-interactively(execute-extended-command nil "gnus" "gnus")
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
- Gnus using lexical-binding, Stefan Monnier, 2021/01/29
- Re: Gnus using lexical-binding, Basil L. Contovounesios, 2021/01/30
- Re: Gnus using lexical-binding,
Andy Moreton <=
- Re: Gnus using lexical-binding, Stefan Monnier, 2021/01/30
- Re: Gnus using lexical-binding, Andy Moreton, 2021/01/30
- Re: Gnus using lexical-binding, Stefan Monnier, 2021/01/30
- Re: Gnus using lexical-binding, Andy Moreton, 2021/01/30
- Re: Gnus using lexical-binding, Stefan Monnier, 2021/01/30
- Re: Gnus using lexical-binding, Andy Moreton, 2021/01/30
- Re: Gnus using lexical-binding, Basil L. Contovounesios, 2021/01/31
Re: Gnus using lexical-binding, David Engster, 2021/01/31