Mercurial > emacs
changeset 106128:ed77a6edfaa1
* hfy-cmap.el (hfy-rgb-file): Use locate-file.
(htmlfontify-load-rgb-file): Remove unnused var `ff'.
Use with-current-buffer and string-to-number.
(hfy-fallback-colour-values): Use assoc-string.
* htmlfontify.el (hfy-face-to-css): Remove unused var `style'.
(hfy-face-at): Remove unused var `found-face'.
(hfy-compile-stylesheet): Remove unused var `css'.
(hfy-fontify-buffer): Remove unused vars `in-style', `invis-button',
and `orig-buffer'.
(hfy-buffer, hfy-copy-and-fontify-file, hfy-parse-tags-buffer):
Use with-current-buffer.
(hfy-text-p): Use expand-file-name and fewer setq.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 19 Nov 2009 20:47:40 +0000 |
parents | e9b00d8b4756 |
children | 6dab1818bdd4 |
files | lisp/ChangeLog lisp/hfy-cmap.el lisp/htmlfontify.el |
diffstat | 3 files changed, 42 insertions(+), 44 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Nov 19 20:22:03 2009 +0000 +++ b/lisp/ChangeLog Thu Nov 19 20:47:40 2009 +0000 @@ -1,3 +1,18 @@ +2009-11-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * hfy-cmap.el (hfy-rgb-file): Use locate-file. + (htmlfontify-load-rgb-file): Remove unnused var `ff'. + Use with-current-buffer and string-to-number. + (hfy-fallback-colour-values): Use assoc-string. + * htmlfontify.el (hfy-face-to-css): Remove unused var `style'. + (hfy-face-at): Remove unused var `found-face'. + (hfy-compile-stylesheet): Remove unused var `css'. + (hfy-fontify-buffer): Remove unused vars `in-style', `invis-button', + and `orig-buffer'. + (hfy-buffer, hfy-copy-and-fontify-file, hfy-parse-tags-buffer): + Use with-current-buffer. + (hfy-text-p): Use expand-file-name and fewer setq. + 2009-11-19 Vivek Dasmohapatra <vivek@etla.org> * htmlfontify.el, hfy-cmap.el: New files.
--- a/lisp/hfy-cmap.el Thu Nov 19 20:22:03 2009 +0000 +++ b/lisp/hfy-cmap.el Thu Nov 19 20:47:40 2009 +0000 @@ -798,12 +798,7 @@ (defun hfy-rgb-file () "Return a fully qualified path to the X11 style rgb.txt file." - (catch 'rgb-file - (mapcar - (lambda (DIR) - (let ((rgb-file (concat DIR "/rgb.txt"))) - (if (file-readable-p rgb-file) - (throw 'rgb-file rgb-file) nil)) ) hfy-rgb-load-path) nil)) + (locate-file "rgb.txt" hfy-rgb-load-path)) (defconst hfy-rgb-regex "^\\s-*\\([0-9]+\\)\\s-+\\([0-9]+\\)\\s-+\\([0-9]+\\)\\s-+\\(.+\\)\\s-*$") @@ -818,36 +813,31 @@ (read-file-name "rgb.txt \(equivalent\) file: " "" nil t (hfy-rgb-file)))) (let ((rgb-buffer nil) (end-of-rgb 0) - (rgb-txt nil) - (ff 255.0)) + (rgb-txt nil)) (if (and (setq rgb-txt (or file (hfy-rgb-file))) (file-readable-p rgb-txt)) - (save-excursion - (setq rgb-buffer (find-file-noselect rgb-txt 'nowarn)) - (set-buffer rgb-buffer) - (goto-char (point-min)) + (with-current-buffer + (setq rgb-buffer (find-file-noselect rgb-txt 'nowarn)) + (goto-char (point-min)) (htmlfontify-unload-rgb-file) (while (/= end-of-rgb 1) (if (looking-at hfy-rgb-regex) (setq hfy-rgb-txt-colour-map (cons (list (match-string 4) - (string-to-int (match-string 1)) - (string-to-int (match-string 2)) - (string-to-int (match-string 3))) + (string-to-number (match-string 1)) + (string-to-number (match-string 2)) + (string-to-number (match-string 3))) hfy-rgb-txt-colour-map)) ) (setq end-of-rgb (forward-line))) - (kill-buffer rgb-buffer)) - ) - ) - ) + (kill-buffer rgb-buffer))))) (defun htmlfontify-unload-rgb-file () (interactive) (setq hfy-rgb-txt-colour-map nil)) (defun hfy-fallback-colour-values (colour-string) - (cdr (assoc-ignore-case colour-string (or hfy-rgb-txt-colour-map - hfy-fallback-colour-map))) ) + (cdr (assoc-string colour-string (or hfy-rgb-txt-colour-map + hfy-fallback-colour-map))) ) (provide 'hfy-cmap) ;;; hfy-cmap.el ends here
--- a/lisp/htmlfontify.el Thu Nov 19 20:22:03 2009 +0000 +++ b/lisp/htmlfontify.el Thu Nov 19 20:47:40 2009 +0000 @@ -813,6 +813,7 @@ TAG is an Emacs font attribute key (eg :underline). VAL is ignored." (list + ;; FIXME: Why not '("text-decoration" . "underline")? --Stef (cond ((eq tag :underline ) (cons "text-decoration" "underline" )) ((eq tag :overline ) (cons "text-decoration" "overline" )) ((eq tag :strike-through) (cons "text-decoration" "line-through"))))) @@ -1085,7 +1086,6 @@ ;;(message "hfy-face-to-css");;DBUG (let ((css-list nil) (css-text nil) - (style nil) (seen nil)) ;;(message "(hfy-face-to-style %S)" fn) (setq css-list (hfy-face-to-style fn)) @@ -1206,7 +1206,6 @@ (face-name (hfy-p-to-face (text-properties-at p))) ;; (face-name (hfy-get-face-at p)) (prop-seen nil) - (found-face nil) (extra-props nil) (text-props (text-properties-at p))) ;;(message "face-name: %S" face-name) @@ -1315,7 +1314,6 @@ (t p))) (if (memq p prop-seen) nil ;; noop (setq prop-seen (cons p prop-seen) - found-face t extra-props (cons p (cons v extra-props)))) )))))) overlay-data) ;;(message "+ %d: %s; %S" p face-name extra-props) @@ -1340,7 +1338,6 @@ ;; Make the font stack stay: ;;(hfy-tmpfont-stack nil) (fn nil) - (css nil) (style nil)) (save-excursion (goto-char pt) @@ -1459,13 +1456,12 @@ (let* ((name (concat (buffer-name) hfy-extn)) (src (buffer-file-name)) (buf (get-buffer-create name))) - (save-excursion - (set-buffer buf) - (if src (setq buffer-file-name (concat src hfy-extn)) - (if (string-match "^.*/\\([^/]*\\)$" name) - (setq buffer-file-name - (concat default-directory "/" (match-string 1 name))) - (setq buffer-file-name (concat default-directory "/" name) ))) + (with-current-buffer buf + (setq buffer-file-name + (if src (concat src hfy-extn) + (expand-file-name (if (string-match "^.*/\\([^/]*\\)$" name) + (match-string 1 name) + name)))) buf))) (defun hfy-lookup (face style) @@ -1602,10 +1598,7 @@ SRCDIR, if set, is the directory being htmlfontified. FILE, if set, is the file name." (if srcdir (setq srcdir (directory-file-name srcdir))) - (let* ( (in-style nil) - (invis-buttons nil) - (orig-buffer (current-buffer)) - (html-buffer (hfy-buffer)) + (let* ( (html-buffer (hfy-buffer)) (css-sheet nil) (css-map nil) (invis-ranges nil) @@ -1848,9 +1841,8 @@ (defun hfy-text-p (srcdir file) "Is SRCDIR/FILE text? Uses `hfy-istext-command' to determine this." - (let (cmd rsp) - (setq cmd (format hfy-istext-command (concat srcdir "/" file)) - rsp (shell-command-to-string cmd)) + (let* ((cmd (format hfy-istext-command (expand-file-name file srcdir))) + (rsp (shell-command-to-string cmd))) (if (string-match "text" rsp) t nil))) ;; open a file, check fontification, if fontified, write a fontified copy @@ -1867,9 +1859,8 @@ (source nil) (html nil)) (cd srcdir) - (save-excursion - (setq source (find-file-noselect file)) - (set-buffer source) + (with-current-buffer (setq source (find-file-noselect file)) + ;; FIXME: Shouldn't this use expand-file-name? --Stef (setq target (concat dstdir "/" file)) (hfy-make-directory (hfy-dirname target)) (if (not (hfy-opt 'skip-refontification)) (hfy-force-fontification)) @@ -1942,6 +1933,8 @@ first character of TAG.\n See also: `hfy-relstub', `hfy-index-file'`'." ;;(message "hfy-href-stub");;DBUG + ;; FIXME: Why not use something like + ;; (file-relative-name (if ...) (file-name-directory this-file)) ? --Stef (concat (hfy-relstub this-file) (if (= 1 (length def-files)) (car def-files) @@ -1965,6 +1958,7 @@ (defun hfy-word-regex (string) "Return a regex that matches STRING as the first `match-string', with non word characters on either side." + ;; FIXME: Should this use [^$[:alnum:]_] instead? --Stef (concat "[^$A-Za-z_0-9]\\(" (regexp-quote string) "\\)[^A-Za-z_0-9]")) ;; mark all tags for hyperlinking, except the tags at @@ -2092,8 +2086,7 @@ (clrhash cache-hash) ;; cache the TAG => ((file line point) (file line point) ... ) entries: - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (goto-char (point-min)) (while (and (looking-at "^\x0c") (= 0 (forward-line 1)))