branch: elpa/telephone-line
commit 59005be15bed5fc630bf9be405f8f2afd635f861
Author: Daniel Bordak <[email protected]>
Commit: Daniel Bordak <[email protected]>
Add arg list to defsegment
Broke backwards compat! defsegments need an empty arglist now.
---
telephone-line-segments.el | 56 ++++++++++++++++++++++++++--------------------
telephone-line-utils.el | 19 +++++-----------
2 files changed, 38 insertions(+), 37 deletions(-)
diff --git a/telephone-line-segments.el b/telephone-line-segments.el
index 211a39d713..a22a7e1b6e 100644
--- a/telephone-line-segments.el
+++ b/telephone-line-segments.el
@@ -24,27 +24,30 @@
(require 'telephone-line-utils)
-(telephone-line-defsegment telephone-line-vc-segment
- vc-mode)
+(telephone-line-defsegment telephone-line-vc-segment ()
+ vc-mode
+ :compiled t)
-(defun telephone-line-process-segment (face)
+(telephone-line-defsegment telephone-line-process-segment ()
mode-line-process)
-(telephone-line-defsegment telephone-line-position-segment
+(telephone-line-defsegment telephone-line-position-segment ()
(if (eq major-mode 'paradox-menu-mode)
;;Paradox fills this with position info.
(string-trim (format-mode-line mode-line-front-space))
- mode-line-position))
+ mode-line-position)
+ :compiled t)
-(telephone-line-defsegment* telephone-line-airline-position-segment
+(telephone-line-defsegment telephone-line-airline-position-segment ()
(if (eq major-mode 'paradox-menu-mode)
(string-trim (format-mode-line mode-line-front-space))
'((-3 "%p") " %4l:%3c")))
-(telephone-line-defsegment telephone-line-misc-info-segment
- mode-line-misc-info)
+(telephone-line-defsegment telephone-line-misc-info-segment ()
+ mode-line-misc-info
+ :compiled t)
-(telephone-line-defsegment* telephone-line-buffer-segment
+(telephone-line-defsegment telephone-line-buffer-segment ()
`(""
mode-line-mule-info
mode-line-modified
@@ -53,16 +56,19 @@
mode-line-frame-identification
,(telephone-line-raw mode-line-buffer-identification t)))
-(telephone-line-defsegment telephone-line-simple-major-mode-segment
- "%[%m%]")
+(telephone-line-defsegment telephone-line-simple-major-mode-segment ()
+ "%[%m%]"
+ :compiled t)
-(telephone-line-defsegment telephone-line-simple-minor-mode-segment
- minor-mode-alist)
+(telephone-line-defsegment telephone-line-simple-minor-mode-segment ()
+ minor-mode-alist
+ :compiled t)
-(telephone-line-defsegment telephone-line-narrow-segment
- "%n")
+(telephone-line-defsegment telephone-line-narrow-segment ()
+ "%n"
+ :compiled t)
-(telephone-line-defsegment-plist telephone-line-major-mode-segment
+(telephone-line--defsegment-plist telephone-line-major-mode-segment ()
(let ((recursive-edit-help-echo "Recursive edit, type C-M-c to get out"))
`((:propertize "%[" help-echo ,recursive-edit-help-echo)
(:propertize ("" mode-name)
@@ -74,7 +80,7 @@ mouse-3: Toggle minor modes"
local-map ,mode-line-major-mode-keymap)
(:propertize "%]" help-echo ,recursive-edit-help-echo))))
-(telephone-line-defsegment-plist telephone-line-minor-mode-segment
+(telephone-line--defsegment-plist telephone-line-minor-mode-segment ()
`((:propertize ("" minor-mode-alist)
mouse-face mode-line-highlight
help-echo "Minor mode\n\
@@ -88,12 +94,13 @@ mouse-3: Toggle minor modes"
local-map ,(make-mode-line-mouse-map
'mouse-2 #'mode-line-widen))))
-(telephone-line-defsegment* telephone-line-erc-modified-channels-segment
+(telephone-line-defsegment telephone-line-erc-modified-channels-segment ()
(when (boundp 'erc-modified-channels-object)
- (string-trim erc-modified-channels-object)))
+ (string-trim erc-modified-channels-object))
+ :compiled t)
(eval-after-load 'evil
- '(telephone-line-defsegment* telephone-line-evil-tag-segment
+ '(telephone-line-defsegment telephone-line-evil-tag-segment ()
(let ((tag (cond
((not (evil-visual-state-p)) (upcase (symbol-name
evil-state)))
((eq evil-visual-selection 'block)
@@ -106,7 +113,7 @@ mouse-3: Toggle minor modes"
tag))))
(eval-after-load 'xah-fly-keys
- '(telephone-line-defsegment* telephone-line-xah-fly-keys-segment
+ '(telephone-line-defsegment telephone-line-xah-fly-keys-segment ()
(let ((tag (if xah-fly-insert-state-q
"INSERT" "COMMAND")))
(if telephone-line-evil-use-short-tag
@@ -114,7 +121,7 @@ mouse-3: Toggle minor modes"
tag))))
(eval-after-load 'ryo-modal
- '(telephone-line-defsegment* telephone-line-ryo-modal-segment
+ '(telephone-line-defsegment telephone-line-ryo-modal-segment ()
(let ((tag (if ryo-modal-mode
"RYO" "EMACS")))
(if telephone-line-evil-use-short-tag
@@ -122,8 +129,9 @@ mouse-3: Toggle minor modes"
tag))))
(eval-after-load 'workgroups2
- '(telephone-line-defsegment telephone-line-workgroups2-segment
- (wg-mode-line-string)))
+ '(telephone-line-defsegment telephone-line-workgroups2-segment ()
+ (wg-mode-line-string)
+ :compiled t))
(provide 'telephone-line-segments)
;;; telephone-line-segments.el ends here
diff --git a/telephone-line-utils.el b/telephone-line-utils.el
index 9becfdb01b..c42b2a875e 100644
--- a/telephone-line-utils.el
+++ b/telephone-line-utils.el
@@ -227,22 +227,16 @@ color1 and color2."
(clrhash (oref obj image-cache)))
;;;###autoload
-(defmacro telephone-line-defsegment (name body)
+(cl-defmacro telephone-line-defsegment (name args body &key compiled)
"Create function NAME by wrapping BODY with telephone-line padding and
propertization."
(declare (indent defun))
`(defun ,name (face)
- (telephone-line-raw ,body face)))
+ (telephone-line-raw ,body ,compiled)))
-;;;###autoload
-(defmacro telephone-line-defsegment* (name body)
- "Create function NAME by wrapping BODY with telephone-line padding and
propertization.
-Segment is not precompiled."
- (declare (indent defun))
- `(defun ,name (face)
- (telephone-line-raw ,body)))
+(defalias 'telephone-line-defsegment* #'telephone-line-defsegment)
;;;###autoload
-(defmacro telephone-line-defsegment-plist (name plists)
+(defmacro telephone-line--defsegment-plist (name args plists)
(declare (indent defun))
`(defun ,name (face)
(telephone-line-raw
@@ -264,9 +258,8 @@ Return nil for blank/empty strings."
(defun telephone-line--activate-font-lock-keywords ()
"Activate font-lock keywords for some symbols defined in telephone-line."
(font-lock-add-keywords 'emacs-lisp-mode
- '("\\<telephone-line-defsegment*\\>"
- "\\<telephone-line-defsegment-plist\\>"
- "\\<telephone-line-defsegment\\>")))
+ '("\\<telephone-line--defsegment-plist\\>"
+ "\\<telephone-line-defsegment\\>")))
(unless (fboundp 'elisp--font-lock-flush-elisp-buffers)
;; In Emacsā„25, (via elisp--font-lock-flush-elisp-buffers and a few others)