From 0d342f0aee3f2f800e486c0051dabe718a7b2841 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Wed, 23 Mar 2011 11:14:27 +0100 Subject: I don't like nxhtml --- emacs.d/nxhtml/util/idn.el | 151 --------------------------------------------- 1 file changed, 151 deletions(-) delete mode 100644 emacs.d/nxhtml/util/idn.el (limited to 'emacs.d/nxhtml/util/idn.el') diff --git a/emacs.d/nxhtml/util/idn.el b/emacs.d/nxhtml/util/idn.el deleted file mode 100644 index 21f7a4c..0000000 --- a/emacs.d/nxhtml/util/idn.el +++ /dev/null @@ -1,151 +0,0 @@ -;;; idn.el --- Recommended Identifier Profiles for IDN -;; -;; Author: Lennart Borgman (lennart O borgman A gmail O com) -;; Created: 2010-03-24 Wed -;; Version: 0.1 -;; Last-Updated: 2010-03-26 Fri -;; URL: -;; Keywords: -;; Compatibility: -;; -;; Features that might be required by this library: -;; - ;; `nxhtml-base'. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Commentary: -;; -;; Functions for handling IDN chars defined by -;; `http://www.unicode.org/reports/tr39/'. -;; -;; See `idn-is-recommended'. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Change log: -;; -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 3, or -;; (at your option) any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth -;; Floor, Boston, MA 02110-1301, USA. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Code: - -;; Fix-me: You have to change this if you are not using nXhtml: -(require 'nxhtml-base) -(defvar uts39-datadir (expand-file-name "etc/uts39/" nxhtml-install-dir)) - -(defun idn-init (bv) - (save-match-data - (let* ((idnchars-file (expand-file-name "idnchars.txt" uts39-datadir)) - (idnchars-old (find-buffer-visiting idnchars-file)) - (idnchars-buf (or idnchars-old - (if (not (file-exists-p idnchars-file)) - (message "Can't find file %S" idnchars-file) - (find-file-noselect idnchars-file)))) - here - (range-patt (rx bol - (group (repeat 4 (any xdigit))) - (optional ".." - (group (repeat 4 (any xdigit)))))) - (num-idn 0)) - (when idnchars-buf - (with-current-buffer idnchars-buf - (setq here (point)) - (save-restriction - (widen) - (goto-char (point-min)) - (while (re-search-forward range-patt nil t) - (let* ((str-beg (match-string 0)) - (str-end (match-string 2)) - (beg (string-to-number str-beg 16)) - (end (or (when str-end (string-to-number str-end 16)) - beg))) - ;;(message "str-beg=%S str-end=%S" str-beg str-end) - (dotimes (ii (1+ (- end beg))) - (let ((num (+ ii beg))) - ;;(message "setting idn-char %s #%4x" num num) - (setq num-idn (1+ num-idn)) - (aset bv num t)))))) - (goto-char here)) - (unless idnchars-old (kill-buffer idnchars-buf)) - (message "Found %d IDN chars" num-idn) - t)))) - -(defconst idn-char-vector - (let ((bv (make-bool-vector (* 256 256) nil))) - (when (idn-init bv) - ;; (string-to-number "002D" 16) - ;; Make a quick sanity check: - (unless (and (not (aref bv 44)) - (aref bv 45)) - (message "idn-char-vector: Bad idn data in file idnchars.txt")) - bv)) - "Boolean vector with recommended IDN chars.") - - -;;(idn-is-recommended 0) -;;(idn-is-recommended 65535) -(defsubst idn-is-recommended (char) - "Return t if character CHAR is a recommended IDN char. -See URL `http://www.unicode.org/reports/tr39/'. - -Data is initialized from the file idnchars.txt in the directory -`uts39-datadir'. This file is fetched from the above URL." - (aref idn-char-vector char)) - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Below are some help functions that can be commented out. - -;;(global-set-key [f9] 'idn-char-at-point) -(defun idn-char-at-point (pos) - "Tell if char at POS is an recommended IDN char. -Default POS is current point." - (interactive "d") - (let* ((this-char (char-after pos)) - (recommended (idn-is-recommended this-char))) - (message "IDN char at point: %s (#%000x)" recommended this-char))) - -(defun idn-list-chars () - "Show all IDN chars. -For more info see `idn-is-recommended'. - -Note: This may crash Emacs currently, at least on w32." - (interactive) - (with-output-to-temp-buffer (help-buffer) - (help-setup-xref (list #'idn-list-chars) (interactive-p)) - (with-current-buffer (help-buffer) - (insert - "Recommended Identifier Characters for IDN:\n\n") - (let ((col 0) - (cnt 0)) - (dotimes (nn (length idn-char-vector)) - (when (aref idn-char-vector nn) - (setq cnt (1+ cnt)) - (setq col (mod (1+ col) 20)) - (when (= col 0) (insert "\n ")) - (insert " " (char-to-string nn)))) - (insert "\n\n" - (format "There were %d IDN chars defined in `idn-char-vector'." cnt)) - )))) - -(provide 'idn) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; idn.el ends here -- cgit v1.2.3-54-g00ecf