From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Roehler Newsgroups: gmane.emacs.devel Subject: Re: footnote-style latin doesn't renumber Date: Wed, 18 Apr 2007 10:56:55 +0200 Message-ID: <4625DD57.40007@easy-emacs.de> References: <461C8F10.3090009@easy-emacs.de> <461CD911.7070000@gmx.at> <461DD6B6.3070403@easy-emacs.de> <461DEAE7.4090209@gmx.at> <461E6404.60309@easy-emacs.de> <461E9B39.7030305@gmx.at> <461F77F5.3080501@easy-emacs.de> <462097DC.1060707@gmx.at> <4625B55A.20607@easy-emacs.de> <87ejmirwym.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1176886499 18772 80.91.229.12 (18 Apr 2007 08:54:59 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 18 Apr 2007 08:54:59 +0000 (UTC) Cc: martin rudalics , Richard Stallman , emacs-devel To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 18 10:54:52 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1He5w6-0007VN-Rv for ged-emacs-devel@m.gmane.org; Wed, 18 Apr 2007 10:54:47 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1He60v-0000rf-6c for ged-emacs-devel@m.gmane.org; Wed, 18 Apr 2007 04:59:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1He60p-0000rM-Am for emacs-devel@gnu.org; Wed, 18 Apr 2007 04:59:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1He60n-0000qB-KE for emacs-devel@gnu.org; Wed, 18 Apr 2007 04:59:37 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1He60n-0000q5-Fx for emacs-devel@gnu.org; Wed, 18 Apr 2007 04:59:37 -0400 Original-Received: from moutng.kundenserver.de ([212.227.126.187]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1He5vv-000339-JJ; Wed, 18 Apr 2007 04:54:35 -0400 Original-Received: from [84.190.168.193] (helo=[192.168.178.25]) by mrelayeu.kundenserver.de (node=mrelayeu4) with ESMTP (Nemesis), id 0ML21M-1He5vl1D25-0000eD; Wed, 18 Apr 2007 10:54:27 +0200 User-Agent: Thunderbird 1.5.0.4 (X11/20060516) In-Reply-To: <87ejmirwym.fsf@uwakimon.sk.tsukuba.ac.jp> X-Provags-ID: V01U2FsdGVkX1/YNp0sU8LfZ9ubjG9nIPrbhh1S1H/vU0cKnwL ybU3QxHocMJxA4M7qeIFoHsNp82PuOV0apsxxktH59a4nksn7z eWtu7OEXFYWyU5uhxYaGQ== X-detected-kernel: Linux 2.6? (barebone, rare!) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:69561 Archived-At: Stephen J. Turnbull schrieb: > Andreas Roehler writes: > > > BTW Is footnote.el at the right place in /mail? IMO > > it's a text-mode. > > Historically it was developed for use with MUAs. It's clearly a > "minor" mode, but it conflicts with almost all interesting text major > modes because they are used to edit formats that provide their own > footnoting capabilities. Thus, "mail". YMMV, of course, but the case > for moving it seems pretty weak to me. > > As it's available with text-mode, it's no important question. Below a new footnote-init.el: Bugs fixed which occurred if `footnote-init' was called with buffer without footnotes. Have a nice day. Andreas Roehler ;;; footnote-init.el --- Reads in existing footnotes ;; Version 1.1 ;; Copyright (C) 2007 Andreas Roehler ;; Author: Andreas Roehler ;; Keywords: wp, mail, news ;; 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., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Commentary: Provides a `footnote-init' usable as ;;; footnote-mode-hook, which reads in existing ;;; footnodes. Customize `footnote-mode-hook' with this ;;; function should do the right thing when switching ;;; footnote-mode on. ;; Changes to previous version: Bugs fixed which ;; occurred if `footnote-init' was called with buffer ;; without footnotes. ;;; Code: (require 'footnote) (defvar footnote-regexp nil "`footnote-regexp' in effect after `footnote-init' is called Possible values are defined in footnote-style-alist: `footnote-numeric-regexp', footnote-english-lower-regexp etc. ") (defun footnote-init (&optional ispec) "Let's footnote take notice of already existing footnotes" (interactive "p") (unless footnote-mode (footnote-mode)) (let ((documents-footnote-style (footnote-what-style ispec))) (setq footnote-regexp (concat (nth 2 documents-footnote-style) "+")) (footnote-init-markers t) (Footnote-set-style (nth 0 documents-footnote-style)))) (defun footnote-what-style (&optional ispec) "Returns style in effect according footnote-style-alist: default is (numeric Footnote-numeric ,footnote-numeric-regexp)" (interactive "p") (let((length-fn-start-tag (length footnote-start-tag)) (length-fn-end-tag (length footnote-end-tag)) style-in-effect found) (save-excursion (goto-char (point-min)) (when (search-forward footnote-start-tag nil t 1) (goto-char (match-beginning 0)) (setq found (buffer-substring-no-properties (+ length-fn-start-tag (point)) (- (re-search-forward footnote-end-tag (line-end-position) t 1) length-fn-end-tag))) (dolist (styles footnote-style-alist) (when (string-match (nth 2 styles) found) (setq style-in-effect styles)))) (when ispec (message "Footnote style in effect: %s" style-in-effect))) style-in-effect)) (defun footnote-init-markers (&optional ispec) " " (interactive "p") (save-excursion (let ((count 0) (footnote-section-tag-pos (or (search-forward footnote-section-tag nil t 1) (re-search-forward footnote-section-tag-regexp nil t 1)))) (goto-char (point-min)) (when footnote-section-tag-pos (while (re-search-forward (concat footnote-start-tag footnote-regexp footnote-end-tag) footnote-section-tag-pos t 1) (setq count (1+ count)) (Footnote-insert-pointer-marker count (point))) (setq count 0) (while (re-search-forward (concat footnote-start-tag footnote-regexp footnote-end-tag) nil t 1) (setq count (1+ count)) (Footnote-insert-text-marker count (point))) (when ispec (message "footnote-pointer-marker-alist: %s\nfootnote-text-marker-alist: %s" footnote-pointer-marker-alist footnote-text-marker-alist)) footnote-pointer-marker-alist footnote-text-marker-alist)))) (provide 'footnote-init) ;;; footnote-init.el ends here