emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 1279f93: Revert "Avoid defvarring prefix-less varia


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 1279f93: Revert "Avoid defvarring prefix-less variables"
Date: Sat, 13 Feb 2016 03:00:44 +0000

branch: master
commit 1279f93176495759bfecf4070d0e3593e30baa50
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Revert "Avoid defvarring prefix-less variables"
    
    This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
    
    The defvars are needed if we're doing lexical-binding
---
 lisp/gnus/gnus-group.el |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index b702e2f..3b37f3c 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -1612,6 +1612,8 @@ if it is a string, only list groups matching REGEXP."
 (defun gnus-group-update-eval-form (group list)
   "Eval `car' of each element of LIST, and return the first that return t.
 Some value are bound so the form can use them."
+  (defvar group-age) (defvar ticked) (defvar score) (defvar level)
+  (defvar mailp) (defvar total) (defvar unread)
   (when list
     (let* ((entry (gnus-group-entry group))
            (unread (if (numberp (car entry)) (car entry) 0))
@@ -1631,6 +1633,25 @@ Some value are bound so the form can use them."
            (score (or (gnus-info-score info) 0))
            (ticked (gnus-range-length (cdr (assq 'tick marked))))
            (group-age (gnus-group-timestamp-delta group)))
+      ;; FIXME: 
http://thread.gmane.org/gmane.emacs.gnus.general/65451/focus=65465
+      ;; ======================================================================
+      ;; From: Richard Stallman
+      ;; Subject: Re: Rewriting gnus-group-highlight-line (was: [...])
+      ;; Cc: address@hidden
+      ;; Date: Sat, 27 Oct 2007 19:41:20 -0400
+      ;; Message-ID: <address@hidden>
+      ;;
+      ;; [...]
+      ;; The kludge is that the alist elements contain expressions that refer
+      ;; to local variables with short names.  Perhaps write your own tiny
+      ;; evaluator that handles just `and', `or', and numeric comparisons
+      ;; and just a few specific variables.
+      ;; ======================================================================
+      ;;
+      ;; Similar for other evaluated variables.  Grep for risky-local-variable
+      ;; to find them!  -- rsteib
+      ;;
+      ;; Eval the cars of the lists until we find a match.
       (while (and list
                   (not (eval (caar list))))
         (setq list (cdr list)))
@@ -1641,8 +1662,8 @@ Some value are bound so the form can use them."
 GROUP is current group, and the line to highlight starts at BEG
 and ends at END."
   (let ((face (cdar (gnus-group-update-eval-form
-                    group
-                    gnus-group-highlight))))
+                      group
+                      gnus-group-highlight))))
     (unless (eq face (gnus-get-text-property-excluding-characters-with-faces 
beg 'face))
       (let ((inhibit-read-only t))
         (gnus-put-text-property-excluding-characters-with-faces



reply via email to

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