.emacs-my
changeset 1324 f6fc0d332bbc
parent 1323 08ca6cc08d2c
child 1325 d083de233368
equal deleted inserted replaced
1323:08ca6cc08d2c 1324:f6fc0d332bbc
  2883  htmlize-convert-nonascii-to-entities nil)
  2883  htmlize-convert-nonascii-to-entities nil)
  2884 
  2884 
  2885 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2885 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2886 (message "html")
  2886 (message "html")
  2887 
  2887 
  2888 (defun html-charref-escape-region (start end)
  2888 (defun my-html-charref-escape-region (start end)
  2889   (interactive "r")
  2889   (interactive "r")
  2890   (save-excursion
  2890   (save-excursion
  2891     (save-restriction
  2891     (save-restriction
  2892       (narrow-to-region start end)
  2892       (narrow-to-region start end)
  2893       (goto-char (point-min))
  2893       (goto-char (point-min))
  2896       (replace-string "<" "&lt;")
  2896       (replace-string "<" "&lt;")
  2897       (goto-char (point-min))
  2897       (goto-char (point-min))
  2898       (replace-string ">" "&gt;")
  2898       (replace-string ">" "&gt;")
  2899       )))
  2899       )))
  2900 
  2900 
  2901 (defun html-charref-from-char (char)
  2901 (defun my-html-charref-from-char (char)
  2902   (format "&#%d;" char)
  2902   (format "&#%d;" char)
  2903   )
  2903   )
  2904 
  2904 
  2905 (defun html-charref-from-string (string)
  2905 (defun my-html-charref-from-string (string)
  2906   (let ((res ""))
  2906   (let ((res ""))
  2907     (mapc
  2907     (mapc
  2908      (lambda (char) (setq res (concat res (html-charref-from-char char))))
  2908      (lambda (char) (setq res (concat res (my-html-charref-from-char char))))
  2909      string)
  2909      string)
  2910     res
  2910     res
  2911     ) )
  2911     ) )
  2912 
  2912 
  2913 (defun html-charref-escape-region2 (begin end &optional prefix)
  2913 (defun my-html-charref-escape-region2 (begin end &optional prefix)
  2914   (interactive "r\nP")
  2914   (interactive "r\nP")
  2915   (if prefix
  2915   (if prefix
  2916       (save-excursion
  2916       (save-excursion
  2917         (goto-char begin)
  2917         (goto-char begin)
  2918         (insert (html-charref-from-string (delete-and-extract-region begin end))))
  2918         (insert (my-html-charref-from-string (delete-and-extract-region begin end))))
  2919     (html-charref-from-string (buffer-substring begin end))
  2919     (my-html-charref-from-string (buffer-substring begin end))
  2920     ))
  2920     ))
  2921 
  2921 
  2922 (defun html-charref-to-string (html)
  2922 (defun my-html-charref-to-string (html)
  2923   (let ((res "") (pos 0))
  2923   (let (str)
  2924     (while (string-match "&#\\([[:digit:]]+\\);" html pos)
  2924     (with-temp-buffer
  2925       (setq res (concat res (string (string-to-int (substring html (match-beginning 1) (match-end 1)) 10))))
  2925       (insert html)
  2926       (setq pos (match-end 0))
  2926       (goto-char (point-min))
  2927       )
  2927       (while (search-forward-regexp "&\\(?:#\\([[:digit:]]+\\)\\|\\(lt\\|gt\\|amp\\)\\);" nil t)
  2928     res
  2928         (setq str (or (match-string 1) (match-string 2)))
  2929     ) )
  2929         (cond
  2930 
  2930          ((equal str "lt")
  2931 (defun html-charref-unescape-region (begin end &optional prefix)
  2931           (replace-match "<" t t))
       
  2932          ((equal str "gt")
       
  2933           (replace-match ">" t t))
       
  2934          ((equal str "amp")
       
  2935           (replace-match "&" t t))
       
  2936          ((> (string-to-number str) 0)
       
  2937           (replace-match (string (string-to-number str 10)) t t))))
       
  2938       (buffer-string))))
       
  2939 
       
  2940 (defun my-html-charref-unescape-region (begin end &optional prefix)
  2932   (interactive "r\nP")
  2941   (interactive "r\nP")
  2933   (if prefix
  2942   (if prefix
  2934       (save-excursion
  2943       (save-excursion
  2935         (goto-char begin)
  2944         (goto-char begin)
  2936         (insert (html-charref-to-string (delete-and-extract-region begin end))))
  2945         (insert (my-html-charref-to-string (delete-and-extract-region begin end))))
  2937     (html-charref-to-string (buffer-substring begin end))
  2946     (my-html-charref-to-string (buffer-substring begin end))
  2938     ))
  2947     ))
  2939 
  2948 
  2940 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2949 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2941 (message "nxml")
  2950 (message "nxml")
  2942 
  2951