emacs-devel
[Top][All Lists]
Advanced

[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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]