summaryrefslogtreecommitdiff
path: root/lisp/textmodes/artist.el
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2015-12-29 21:40:28 -0800
committerJohn Wiegley <johnw@newartisans.com>2015-12-29 21:40:28 -0800
commit9f2f14a0725211b13a744573344636b57b9c98b9 (patch)
tree7190e0fb3d4aa06018d8cf997f06b806fb09a9c8 /lisp/textmodes/artist.el
parentd259328fb87db8cc67d52771efcfa653e52c5b71 (diff)
parente823c34072bf045800d91e12c7ddb61fa23c6e30 (diff)
downloademacs-9f2f14a0725211b13a744573344636b57b9c98b9.tar.gz
Merge emacs-25 into master (using imerge)
Diffstat (limited to 'lisp/textmodes/artist.el')
-rw-r--r--lisp/textmodes/artist.el28
1 files changed, 27 insertions, 1 deletions
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index a29418e6f84..373ab14e3fb 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -2873,10 +2873,36 @@ Returns a list of strings."
(error "Failed to read available fonts: %s (%d)" stderr exit-code))
(artist-string-split stdout ".flf\n")))
+(defun artist-figlet-get-font-list-windows ()
+ "Read in fonts on MS-Windows by collecting output of the `figlet' program.
+Returns a list of strings."
+ (let* ((ls-cmd "figlet -I2")
+ (result (artist-system shell-file-name nil
+ (list shell-command-switch ls-cmd)))
+ (exit-code (elt result 0))
+ (stdout (elt result 1))
+ (stderr (elt result 2)))
+ (if (not (= exit-code 0))
+ (error "Failed to read available fonts: %s (%d)" stderr exit-code))
+ (let ((dir-list (artist-string-split stdout "\n"))
+ result)
+ (mapc
+ (lambda (dir)
+ (let ((default-directory dir))
+ (setq result (append (file-expand-wildcards "*.flf") result))))
+ dir-list)
+ (mapcar
+ (lambda (file)
+ (replace-regexp-in-string "\.flf\\'" "" file))
+ result))))
+
(defun artist-figlet-choose-font ()
"Read any extra arguments for figlet."
(interactive)
- (let* ((avail-fonts (artist-figlet-get-font-list))
+ (let* ((avail-fonts
+ (if (memq system-type '(windows-nt ms-dos))
+ (artist-figlet-get-font-list-windows)
+ (artist-figlet-get-font-list)))
(font (completing-read (concat "Select font (default "
artist-figlet-default-font
"): ")