From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: [kose@meadowy.org: iimage minor mode] Date: Mon, 16 Feb 2004 14:52:54 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1076961689 31236 80.91.224.253 (16 Feb 2004 20:01:29 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 16 Feb 2004 20:01:29 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Feb 16 21:01:25 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Asovl-0006wB-00 for ; Mon, 16 Feb 2004 21:01:25 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1Asovk-00055T-00 for ; Mon, 16 Feb 2004 21:01:24 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1Asov0-0002lw-2B for emacs-devel@quimby.gnus.org; Mon, 16 Feb 2004 15:00:38 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AsorK-0000fM-VG for emacs-devel@gnu.org; Mon, 16 Feb 2004 14:56:50 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1Asoqf-0000Gw-IO for emacs-devel@gnu.org; Mon, 16 Feb 2004 14:56:41 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1Asoqe-0000GB-IX for emacs-devel@gnu.org; Mon, 16 Feb 2004 14:56:08 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.24) id 1AsonW-0008Sy-Ne; Mon, 16 Feb 2004 14:52:54 -0500 Original-To: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:19990 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:19990 Would people please look at this and think about whether this is a useful addition to Emacs? ------- Start of forwarded message ------- X-Injected-Via-Gmane: http://gmane.org/ To: gnu-emacs-sources@gnu.org From: =?ISO-2022-JP?B?GyRCPi40WBsoQiAbJEI1SEInGyhC?= (KOSEKI Yoshinori) Date: Sat, 14 Feb 2004 20:29:44 +0900 Organization: a citizen of the NetLaputa. X-Gmane-NNTP-Posting-Host: flh1aam097.kng.mesh.ad.jp Cancel-Lock: sha1:4v8DZRKTgcMzmspEy4HY15pcxPc= Subject: iimage minor mode Sender: gnu-emacs-sources-bounces+rms=gnu.org@gnu.org Iimage is a minor mode that display a images, when image-filename exists in buffer. http://www.netlaputa.ne.jp/~kose/Emacs/iimage.html ;;; iimage.el --- Inline image minor mode. ;; Copyright (C) 2004 KOSEKI Yoshinori. ;; Author: KOSEKI Yoshinori ;; Keywords: multimedia ;; This file 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 2, or (at your option) ;; any later version. ;; This file 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 GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; Iimage is a minor mode that display a images, when image-filename ;; exists in buffer. ;; http://www.netlaputa.ne.jp/~kose/Emacs/iimage.html ;; ;; Add to your `~/.emacs': ;; (autoload 'iimage-mode "iimage" "SUpport Inline image minor mode." t) ;; ;; ** Display images in *Info* buffer. ;; ;; (add-hook 'info-mode-hook 'turn-on-iimage-mode) ;; ;; .texinfo: @file{file://foo.png} ;; .info: `file://foo.png' ;; ;; ** Display images in Wiki buffer. ;; ;; (add-hook 'wiki-mode-hook 'turn-on-iimage-mode) ;; ;; wiki-file: [[foo.png]] ;;; Code: (eval-when-compile (require 'image-file)) (defconst iimage-version "1.0") (defvar iimage-mode nil) (defvar iimage-mode-map nil) ;; Set up key map. (unless iimage-mode-map (setq iimage-mode-map (make-sparse-keymap)) (define-key iimage-mode-map "\C-l" 'iimage-recenter)) (defun iimage-recenter (&optional arg) "Re-draw images and recenter." (interactive "P") (iimage-mode-buffer 0) (iimage-mode-buffer 1) (recenter arg)) (defvar iimage-mode-image-filename-regex (concat "[-+./_0-9a-zA-Z]+\\." (regexp-opt (nconc (mapcar #'upcase image-file-name-extensions) image-file-name-extensions) t))) (defvar iimage-mode-image-regex-alist `((,(concat "\\(`?file://\\|\\[\\[\\|<\\|`\\)?" "\\(" iimage-mode-image-filename-regex "\\)" "\\(\\]\\]\\|>\\|'\\)?") . 2)) "*Alist of filename REGEXP vs NUM. Each element looks like (REGEXP . NUM). NUM specifies which parenthesized expression in the regexp. image filename regex exsamples: file://foo.png `file://foo.png' \\[\\[foo.gif]] foo.JPG ") (defun turn-on-iimage-mode () "Unconditionally turn on iimage mode." (interactive) (iimage-mode 1)) (defun turn-off-iimage-mode () "Unconditionally turn off iimage mode." (interactive) (iimage-mode 0)) (defun iimage-mode-buffer (arg) "Display/Undisplay Images. With numeric ARG, display the images if and only if ARG is positive." (interactive) (let ((ing (if (numberp arg) (> arg 0) iimage-mode)) (modp (buffer-modified-p (current-buffer))) file buffer-read-only) (save-excursion (goto-char (point-min)) (dolist (pair iimage-mode-image-regex-alist) (while (re-search-forward (car pair) nil t) (if (and (setq file (match-string (cdr pair))) (setq file (expand-file-name file default-directory)) (file-exists-p file)) (if ing (add-text-properties (match-beginning 0) (match-end 0) (list 'display (create-image file))) (remove-text-properties (match-beginning 0) (match-end 0) '(display))))))) (set-buffer-modified-p modp))) (define-minor-mode iimage-mode "Toggle inline image minor mode." nil " iImg" iimage-mode-map (run-hooks 'iimage-mode-hook) (iimage-mode-buffer iimage-mode)) (provide 'iimage) ;;; iimage.el ends here - -- ??????@???????????? kose@meadowy.org _______________________________________________ Gnu-emacs-sources mailing list Gnu-emacs-sources@gnu.org http://mail.gnu.org/mailman/listinfo/gnu-emacs-sources ------- End of forwarded message -------