From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andy Moreton Newsgroups: gmane.emacs.devel Subject: Re: Gnus using lexical-binding Date: Sat, 30 Jan 2021 16:10:57 +0000 Message-ID: <86k0ruqub2.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14504"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.91 (windows-nt) To: emacs-devel@gnu.org Cancel-Lock: sha1:0Dr1OnEbxD6GX3MmDp31PMBEaWs= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jan 30 17:12:14 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l5sr8-0003hQ-5y for ged-emacs-devel@m.gmane-mx.org; Sat, 30 Jan 2021 17:12:14 +0100 Original-Received: from localhost ([::1]:50644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l5sr7-0003n4-5u for ged-emacs-devel@m.gmane-mx.org; Sat, 30 Jan 2021 11:12:13 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57942) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l5sq6-0003Ew-6o for emacs-devel@gnu.org; Sat, 30 Jan 2021 11:11:10 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:49150) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l5sq4-0005bG-L1 for emacs-devel@gnu.org; Sat, 30 Jan 2021 11:11:09 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1l5sq2-0002RH-3K for emacs-devel@gnu.org; Sat, 30 Jan 2021 17:11:06 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:263620 Archived-At: 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 () #)() 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)