-;;; linum.el --- display line numbers in the left margin
+;;; linum.el --- display line numbers in the left margin -*- lexical-binding: t -*-
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
;; Author: Markus Triska <markus.triska@gmx.at>
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
;; Keywords: convenience
;; Version: 0.9x
"Show line numbers in the left margin."
:group 'convenience)
-;;;###autoload
(defcustom linum-format 'dynamic
"Format used to display line numbers.
Either a format string like \"%7d\", `dynamic' to adapt the width
argument and should evaluate to a string to be shown on that line.
See also `linum-before-numbering-hook'."
:group 'linum
- :type 'sexp)
+ :type '(choice (string :tag "Format string")
+ (const :tag "Dynamic width" dynamic)
+ (function :tag "Function")))
(defface linum
'((t :inherit (shadow default)))
;;;###autoload
(define-minor-mode linum-mode
- "Toggle display of line numbers in the left margin."
+ "Toggle display of line numbers in the left margin (Linum mode).
+With a prefix argument ARG, enable Linum mode if ARG is positive,
+and disable it otherwise. If called from Lisp, enable the mode
+if ARG is omitted or nil.
+
+Linum mode is a buffer-local minor mode."
:lighter "" ; for desktop.el
(if linum-mode
(progn
(run-hooks 'linum-before-numbering-hook)
;; Create an overlay (or reuse an existing one) for each
;; line visible in this window, if necessary.
- (while (and (not (eobp)) (<= (point) limit))
+ (while (and (not (eobp)) (< (point) limit))
(let* ((str (if fmt
(propertize (format fmt line) 'face 'linum)
(funcall linum-format line)))
(setq line (1+ line)))
(set-window-margins win width (cdr (window-margins win)))))
-(defun linum-after-change (beg end len)
+(defun linum-after-change (beg end _len)
;; update overlays on deletions, and after newlines are inserted
(when (or (= beg end)
(= end (point-max))
(string-match-p "\n" (buffer-substring-no-properties beg end)))
(linum-update-current)))
-(defun linum-after-scroll (win start)
+(defun linum-after-scroll (win _start)
(linum-update (window-buffer win)))
;; (defun linum-after-size (frame)