emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[ELPA-diffs] ELPA branch, master, updated. 42134e17d38e51ec156b518b3afca


From: Stefan Monnier
Subject: [ELPA-diffs] ELPA branch, master, updated. 42134e17d38e51ec156b518b3afca3b9e173efae
Date: Fri, 03 Jan 2014 03:49:25 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "ELPA".

The branch, master has been updated
       via  42134e17d38e51ec156b518b3afca3b9e173efae (commit)
      from  3f86b0cfe9d7141152fec007bee70b9420e5c7ec (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 42134e17d38e51ec156b518b3afca3b9e173efae
Author: Stefan Monnier <address@hidden>
Date:   Thu Jan 2 22:49:10 2014 -0500

    * nlinum.el: Add global-nlinum-mode and nlinum-format-function.

diff --git a/packages/nlinum/nlinum.el b/packages/nlinum/nlinum.el
index 1c9e4e8..40d6214 100644
--- a/packages/nlinum/nlinum.el
+++ b/packages/nlinum/nlinum.el
@@ -1,10 +1,10 @@
 ;;; nlinum.el --- Show line numbers in the margin  -*- lexical-binding: t -*-
 
-;; Copyright (C) 2012  Free Software Foundation, Inc.
+;; Copyright (C) 2012, 2014  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <address@hidden>
 ;; Keywords: convenience
-;; Version: 1.1
+;; Version: 1.2
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -24,6 +24,12 @@
 ;; This is like linum-mode, but uses jit-lock to be (hopefully)
 ;; more efficient.
 
+;;; News:
+
+;; v1.2:
+;; - New global mode `global-nlinum-mode'.
+;; - New config var `nlinum-format-function'.
+
 ;;; Code:
 
 (require 'linum)                        ;For its face.
@@ -63,7 +69,7 @@ Linum mode is a buffer-local minor mode."
   (dolist (win (get-buffer-window-list nil nil t))
     (with-selected-window win (nlinum--setup-window))))
 
-(defun nlinum--new-width ()
+(defun nlinum--flush ()
   (nlinum--setup-windows)
   ;; (kill-local-variable 'nlinum--ol-counter)
   (remove-overlays (point-min) (point-max) 'nlinum t)
@@ -143,6 +149,15 @@ Linum mode is a buffer-local minor mode."
     (setq nlinum--line-number-cache (cons (point) pos))
     pos))
 
+(defvar nlinum-format-function
+  (lambda (line)
+    (let* ((fmt (format "%%%dd" nlinum--width))
+           (str (propertize (format fmt line) 'face 'linum)))
+      str))
+  "Function to build the string representing the line number.
+Takes one argument (the line number) and returns a string whose width
+should be at least equal to `nlinum--width'.")
+
 (defun nlinum--region (start limit)
   (save-excursion
     ;; Text may contain those nasty intangible properties, but
@@ -151,23 +166,20 @@ Linum mode is a buffer-local minor mode."
       (goto-char start)
       (unless (bolp) (forward-line 1))
       (remove-overlays (point) limit 'nlinum t)
-      (let ((line (nlinum--line-number-at-pos))
-            (fmt (format "%%%dd" nlinum--width)))
+      (let ((line (nlinum--line-number-at-pos)))
         (while
             (and (not (eobp)) (< (point) limit)
                  (let* ((ol (make-overlay (point) (1+ (point))))
-                        (str (format fmt line))
+                        (str (funcall nlinum-format-function line))
                         (width (string-width str)))
                    (when (< nlinum--width width)
                      (setq nlinum--width width)
-                     (nlinum--new-width))
+                     (nlinum--flush))
                    (overlay-put ol 'nlinum t)
                    (overlay-put ol 'evaporate t)
                    (overlay-put ol 'before-string
                                 (propertize " " 'display
-                                            `((margin left-margin)
-                                              ,(propertize str
-                                                           'face 'linum))))
+                                            `((margin left-margin) ,str)))
                    ;; (setq nlinum--ol-counter (1- nlinum--ol-counter))
                    ;; (when (= nlinum--ol-counter 0)
                    ;;   (run-with-idle-timer 0.5 nil #'nlinum--flush-overlays
@@ -176,7 +188,10 @@ Linum mode is a buffer-local minor mode."
                    (zerop (forward-line 1))))))))
   ;; (setq nlinum--desc (format "-%d" (nlinum--ol-count)))
   nil)
-                 
-        
+
+;;;###autoload
+(define-globalized-minor-mode global-nlinum-mode nlinum-mode
+  (lambda () (unless (minibufferp) (nlinum-mode))))
+
 (provide 'nlinum)
 ;;; nlinum.el ends here

-----------------------------------------------------------------------

Summary of changes:
 packages/nlinum/nlinum.el |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
ELPA



reply via email to

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