pax_global_header00006660000000000000000000000064122103326530014507gustar00rootroot0000000000000052 comment=f0ddf577d918452858155eb2f8037a7fa0aa4f3e rail-1.2.11/000077500000000000000000000000001221033265300125205ustar00rootroot00000000000000rail-1.2.11/.gitignore000066400000000000000000000001241221033265300145050ustar00rootroot00000000000000*.elc rail-table-flim.el rail-table-semi.el rail-table-meadow.el rail-table-mule.el rail-1.2.11/ChangeLog000066400000000000000000000065071221033265300143020ustar00rootroot000000000000002013-08-16 Youhei SASAKI * Bump version: 1.2.11 Signed-off-by: Youhei SASAKI 2013-08-16 Youhei SASAKI * Update rail.rcp: add depends 'semi' Signed-off-by: Youhei SASAKI 2013-08-15 Tatsuya Kinoshita * Follow GNU-style ChangeLog 2013-07-08 Youhei SASAKI * Add el-get recipe Signed-off-by: Youhei SASAKI 2013-07-08 Youhei SASAKI * Bump Version: 1.2.10 Signed-off-by: Youhei SASAKI 2013-07-06 Youhei SASAKI * Merge pull request #2 from tats/feature/semi-epg Support SEMI-EPG, Thanks to Tatsuya Kinoshita! 2013-07-06 Tatsuya Kinoshita * Support SEMI-EPG 2013-06-13 Youhei SASAKI * Bump Version number Signed-off-by: Youhei SASAKI 2013-06-13 Youhei SASAKI * Merge pull request #1 from tats/bug/version Fix incorrect rail-version, Thanks to Tatsuya Kinoshita ! 2013-06-13 Tatsuya Kinoshita * Fix incorrect rail-version 2013-05-20 Youhei SASAKI * Remove Output Results: rail-table-{mule,meadow}.el Signed-off-by: Youhei SASAKI 2013-05-20 Youhei SASAKI * Update codename: MEADOW,SEMI Signed-off-by: Youhei SASAKI 2012-06-16 Youhei SASAKI * Update README.rdoc Signed-off-by: Youhei SASAKI 2012-06-16 Youhei SASAKI * Add FAQ.rdoc Signed-off-by: Youhei SASAKI 2012-06-16 Youhei SASAKI * Update {FLIM,SEMI}_VERSION Signed-off-by: Youhei SASAKI 2012-06-16 Youhei SASAKI * Remove Output Results: rail-table-{flim,semi}.el Signed-off-by: Youhei SASAKI 2011-07-11 Youhei SASAKI * add .gitignore Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * Add git2cl target Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * Add How to create .deb Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * fixup debian/upstream Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * change encoding: ISO-2022-jp to UTF-8 Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * Imported Upstream version 1.2.6 2011-06-28 Youhei SASAKI * change encoding: ISO-2022-jp to UTF-8 Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * fixup Hyperlink Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * Add README.rdoc, FAQ.rdoc Signed-off-by: Youhei SASAKI 2011-06-28 Youhei SASAKI * initial import Signed-off-by: Youhei SASAKI rail-1.2.11/FAQ.rdoc000066400000000000000000000041611221033265300140020ustar00rootroot00000000000000= rail*.el FAQ Authors:: Youhei SASAKI Date:: $Lastupdate: 2012/06/16 15:51:23$ Copyright:: 1999-2002 しまだみつのぶ. 2010-2012 Youhei SASAKI このファイルは, rail に関する FAQ です. 主に, install および運用に関して, よくありがちなエラーの対処方法を 記述致します. == (Q1) Mule2.3 で FLIM や SEMI の codename が文字化けする. == (A1) 下の手順で, FLIM および SEMI の再 install をお願いします. Mule2.3 では, -*- coding: iso-8859-4; -*- のような表現を解釈しません. そのため, ISO-8859-4 を含む FLIM/SEMI の codename が byte compile 時に 文字化けしてしまい, rail も解釈できない状況になっております. これを直すためには, FLIM/SEMI を, ISO-8859-4 code が文字化けしない ように byte compile する必要があります. 以下の手順で, (FLIM)mime-def.el と (SEMI)semi-def.el の文字コードを compound-text に変換して, FLIM と SEMI の再 byte-compile および install をお願いします. 1. mule 起動 2. (FLIMの場合) C-u C-x C-f mime-def.el (SEMIの場合) C-u C-x C-f semi-def.el 3. Mini-buffer に "Coding-system: " とでているので, ここで "*iso-8859-4*" と入力 4. 先頭の行末に, "-*- coding: iso-8859-4; -*-" といった 表現があれば, その行末部分をカット 5. (FLIMの場合) C-u C-x C-w mime-def.el (SEMIの場合) C-u C-x C-w semi-def.el 6. Mini-buffer に "Coding-system: " とでているので, ここで "*ctext*" と入力 7. 再インストール == (Q2) rail-1.2.1 および rail-1.2.2 を install 後, SEMI および User-Agent (semi-gnus/Wanderlust etc.) の install 時に error が発生するようになった == (A2) rail-1.2.{1|2} の bug です. 解決方法は次のとおり. 1. rail-1.2.3 以降をインストール 2. Emacs を, ~/.emacs に (load "mime-setup") がある状態で起動 3. すぐに, もしくは User-Agent を一旦起動してから Emacs を終了 4. SEMI/User-Agent を再 compile, install これで, error がでずに install できるはずです. rail-1.2.11/GPL-2000066400000000000000000000432541221033265300132340ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 2 of the License, 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; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. rail-1.2.11/MANIFEST.rail000066400000000000000000000007121221033265300145770ustar00rootroot00000000000000pkginfo/MANIFEST.rail lisp/rail/rail-common.elc lisp/rail/rail-mime-example-1-13.elc lisp/rail/rail-mime-example-1-14.elc lisp/rail/rail-mime-example.elc lisp/rail/rail-pj.elc lisp/rail/rail-table-flim.elc lisp/rail/rail-table-meadow.elc lisp/rail/rail-table-mule.elc lisp/rail/rail-table-semi.elc lisp/rail/rail-table-utf2000.elc lisp/rail/rail-table-xmas.elc lisp/rail/rail-user-agent.elc lisp/rail/rail-vars.elc lisp/rail/rail-xmas.elc lisp/rail/rail.elc rail-1.2.11/Makefile000066400000000000000000000042211221033265300141570ustar00rootroot00000000000000# # Makefile for rail # # $Lastupdate: 2013/07/08 16:28:22$ # LISPDIR = default PACKAGEDIR = default EMACS = emacs #EMACS = mule XEMACS = xemacs MANIFEST= contrib/MANIFEST.rail MULEVER = contrib/MULE_VERSION MW32VER = contrib/MEADOW_VERSION FLIMVER = contrib/FLIM_VERSION contrib/ADD_FLIM_VERSION SEMIVER = contrib/SEMI_VERSION contrib/ADD_SEMI_VERSION RAILVER = $(shell grep rail-version rail-vars.el | awk '{print $$3}') MAKE = make.el # # You shouldn't need to change anything after this point. # CAT = cat ECHO = echo TEST = test MKDIR = mkdir INSTALL = install PERL = perl INSTALL_DATA = $(INSTALL) -m644 LISPS = rail.el rail-user-agent.el MTABLES = rail-table-flim.el rail-table-semi.el TABLES = rail-table-mule.el rail-table-meadow.el $(MTABLES) all: rail install: install-rail # rail rail: table $(EMACS) -q -no-site-file -batch -l ./$(MAKE) -f compile-rail install-rail: rail $(EMACS) -q -no-site-file -batch -l ./$(MAKE) -f install-rail $(LISPDIR) # rail-*-table rebuild table: $(TABLES) rail-table-mule.el: $(MULEVER) $(EMACS) -batch -q -no-site-file -l ./rail-make-table.el -f rail-make-table-mule rail-table-meadow.el: $(MW32VER) $(EMACS) -batch -q -no-site-file -l ./rail-make-table.el -f rail-make-table-meadow rail-table-flim.el: $(FLIMVER) $(EMACS) -batch -q -no-site-file -l ./rail-make-table.el -f rail-make-table-flim rail-table-semi.el: $(SEMIVER) $(EMACS) -batch -q -no-site-file -l ./rail-make-table.el -f rail-make-table-semi # for XEmacs21 package package: $(TABLES) $(XEMACS) -q -no-site-file -batch -l ./$(MAKE) -f compile-rail install-package: package $(XEMACS) -q -no-site-file -batch -l ./$(MAKE) -f install-package $(PACKAGEDIR) # clean up clean: -rm -f *~ *.elc distclean: -rm -f *~ *.elc $(MTABLES) maintainer-clean: -rm -f *~ *.elc $(TABLES) cl: git2cl git2cl: @git log --date=short --pretty=format:"%ad %an <%ae>%n%n* %s%n%b%n" | \ sed -e 's/^\(.*\)$$/\t\1/g' | \ sed -e 's/^\t\([0-9]*-[0-9]*-[0-9]*.*\)$$/\1/g' | \ sed -e 's/^\t$$//g' | \ sed ':loop; N; $$!b loop; s/\n\n\n/\n\n/g' \ > ChangeLog # create tar.gz tar: @git archive --format=tar --prefix=rail-$(RAILVER)/ HEAD \ | gzip -9 > ../rail-$(RAILVER).tar.gz rail-1.2.11/README.rdoc000066400000000000000000000156401221033265300143340ustar00rootroot00000000000000= rail*.el ドキュメント Authors:: Youhei SASAKI Date:: $Lastupdate: 2012/06/16 15:25:00$ Copyright:: 1999-2002 しまだみつのぶ. 2010-2012 Youhei SASAKI License:: GPL-2+, @see GPL-2[https://raw.github.com/uwabami/rail/master/GPL-2] == RAIL とは? RAIL -- Replace Agent-string Internal Library レイルは, 以下の機能を提供しています: 1. tm に含まれる genjis.el 互換機能 (変数 mule-version の日本語化) 2. FLIM / SEMI / XEmacs / UTF-2000 Mule / Meadow のコードネームを 日本語化し, メッセージの User-Agent: フィールドに適用する 3. irchat-pj で, CTCP VERSION を受けたときに返す文字のうち, Mule / XEmacs / Meadow のコードネームを日本語化する また, 一部バージョンの Meadow で irchat-pj を利用している場合, 正しくバージョンが表示できないバグを修正する == インストール方法 基本的に make install するだけです. make して make install としてもかまいません. make EMACS=mule 等のようにすれば, (Emacs)実行ファイルを指定することができます. また, インストール場所を指定したい場合, make LISPDIR=/home/simm/site-lisp 等のようにすれば, 指定したパスにインストールされます. デフォルトの site-lisp 直下にインストールしたい場合は make LISPDIR=site-lisp のように, site-lisp を指定ください. XEmacs のパッケージとしてインストールする場合は make install-package としてください. インストールしたい XEmacs の実行ファイルは make XEMACS=xemacs-21.2-b28 install-package 等のようにすることで指定できます. 一般インストールと同じく, make package してから make install-package をしてもかまいません. MULE のコードネームが増えることはさほどないとは思いますが, FLIM や SEMI は, 随時コードネームが増加しております. より新しいコードネームを正しく変換するためには, [FLIM] FLIM(およびその派生形)のソースにある VERSION をcontrib/FLIM_VERSION にコピー [SEMI] SEMI(およびその派生形)のソースにある VERSION をcontrib/SEMI_VERSION にコピー したうえで, % make distclean % make # make install してください. make distclean 直後に make install してもかまいません. また, XEmacs パッケージとして作成する場合は make のかわりに make install-package します. == 使用方法 ~/.emacs のどこかに (require 'rail) と記述しておくだけです. 今まで ISO-8859-4 を使った User-Agent:フィールドが, 日本語表記に変更されます. irchat-pj の CTCP VERSION の結果も日本語化されます. また, rail.el は tm に含まれる genjis.el の互換機能も提供します. ~/.emacs の, (require 'rail) の記述の手前に (setq rail-emulate-genjis t) と書いておくことで, 変数 mule-version が日本語化されます. なお, rail-emulate-genjis が nil であっても User-Agent: に含まれる Mule の codename は日本語表記になります. User-Agent: はそのままで, genjis 機能だけ利用したい場合は, (setq rail-emulate-genjis t rail-user-agent-convert-statically nil rail-user-agent-convert-dynamically nil) とします. irchat-pj の CTCP VERSION をいじりたくない場合は, (setq rail-pj-convert nil) とします. コンパイル後に FLIM / SEMI / XEmacs / Meadow のバージョンを増やしたい,コードネームを別の表記にしたい場合等は, * rail-additional-flim-codename-alist (FLIM) * rail-additional-semi-codename-alist (SEMI) * rail-additional-xemacs-codename-alist (XEmacs) * rail-additional-meadow-codename-alist (Meadow) を設定してください. 設定方法は, それぞれの additional がつかない変数と同じですので, これらが定義されている rail-table-*.el を参照ください. なお, こちらで記述したものが優先されますので, デフォルトが気にいらない場合等, これらの変数を設定してください. == APEL 依存性 基本的に, rail のコードは APEL に依存しておりません. ただ, ほとんどの場合 FLIM や SEMI のコードネーム変換に利用されることでしょうから, そういう意味 では APEL 依存なのかもしれません. == バージョン番号 rail-1.2.0 のように, "." で区切られた3つの数字でバージョンを表しておりま す. ふたつめの数字 (上の例だと, 2) が偶数のものが安定バージョン, 奇数のも のが開発バージョンです. == 今後の予定 1. XEmacs や Meadow のコードネームデータベースの充実 2. mime-view 対応 3. SEMI 系以外の User-Agent 対応 == 意見・要望等 メールで uwabami@gfd-dennou.org[mailto:uwabami@gfd-dennou.org] までお願いします. == なんかうまく動かないんですが… まずは, 付属の FAQ.rdoc[https://raw.github.com/uwabami/rail/master/FAQ.rdoc]に目をとおしてください. もし FAQ.rdoc[https://raw.github.com/uwabami/rail/master/FAQ.rdoc]にないような現象が起こる場合, 上と同じく, メールで uwabami@gfd-dennou.org[mailto:uwabami@gfd-dennou.org] までお願いします. == 配布・改変について このプログラムは free software です. GNU General Public License のもとに, このプログラムを再配布したり改変したりしてもかまいません. 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. == HISTORY 本プログラムは 2002 年までしまだみつひろさんによって開発/管理されていまし た. 過去の開発履歴は old/CHANGELOG[https://raw.github.com/uwabami/rail/master/old/CHANGELOG] にあります. しまださんが開発から手を引かれたので, 2010 年から佐々木がひき とって細々と公開しています. 有用なプログラムを作成して下さったしまださん への感謝をここに記しておきます. 本プログラム群は気がついたタイミングで適宜アップデートしていきます. ご意 見や要望などありましたら, 遠慮なくご連絡下さい. rail-1.2.11/contrib/000077500000000000000000000000001221033265300141605ustar00rootroot00000000000000rail-1.2.11/contrib/ADD_FLIM_VERSION000066400000000000000000000001351221033265300165060ustar00rootroot00000000000000[additional FLIM Version names] -*- coding: ctext; -*- 1.0.0 ----- ----- rail-1.2.11/contrib/ADD_MEADOW_VERSION000066400000000000000000000001451221033265300167340ustar00rootroot00000000000000[additional Meadow Version names] -*- coding: ctext; -*- ;; codename $(B4A;z2r JR, $(B5~ET;T8rDL6I(B 1.1.0 T-Dji-A $(BEl;{(B 1.2.0 J-Dj-A $(B==>r(B 1.2.1 Kamitobaguchi $(B>eD;1)8}(B 1.2.2 Takeda $(BC]ED(B ; = $(B5~ET;T8rDL6I(B $(B1(4]@~(B 1.3.0 Fushimi $(BIz8+(B 1.4.0 Kintetsu-Tambabashi $(B6aE4C0GH66(B ; <=> $(B5~:e(B $(BC0GH66(B 1.4.1 Momoyama-Gory-Dmae-A $(BEm;38fNMA0(B 1.5.0 Mukaijima $(B8~Eg(B 1.6.0 Ogura $(B>.AR(B 1.7.0 Iseda $(B0K@*ED(B 1.8.0 -Dkubo-A $(BBg5WJ](B 1.8.1 Kutsukawa $(B5WDE@n(B 1.9.0 Terada $(B;{ED(B 1.9.1 Tonosh-D-A $(BIYLnAq(B 1.9.2 Shin-Tanabe $(B?7EDJU(B 1.10.0 K-Ddo-A $(B6=8M(B 1.10.1 Miyamaki $(B;0;3LZ(B 1.10.2 Kintetsu-Miyazu $(B6aE45\DE(B 1.10.3 Komada $(B9}ED(B 1.10.4 Shin-H-Dsono-A $(B?7=K1`(B ; <=> JR $(BJRD.@~(B $(B=K1`(B 1.10.5 Kizugawadai $(BLZDE@nBf(B 1.11.0 Yamadagawa $(B;3ED@n(B 1.11.1 Takanohara $(B9b$N86(B 1.11.2 Heij-D-A $(BJ?>k(B 1.11.3 Saidaiji $(B@>Bg;{(B ; = $(B6aE4(B $(BF`NI@~(B ;;------------------------------------------------------------------------- ;; Kinki Nippon Railway $(B6a5&F|K\E4F;(B http://www.kintetsu.co.jp/ ;; Ky-Dto Line-A $(B3`86@~(B ;;------------------------------------------------------------------------- (Saidaiji) ($(B@>Bg;{(B) 1.12.0 Amagatsuji $(BFt%vDT(B 1.12.1 Nishinoky-D-A $(B@>$N5~(B 1.12.2 Kuj-D-A $(B6e>r(B 1.12.3 Kintetsu-K-Driyama-A $(B6aE474;3(B 1.12.4 Tsutsui $(BE{0f(B 1.12.5 Hirahata $(BJ?C<(B ; = $(B6aE4(B $(BE7M}@~(B 1.12.6 Family-K-Denmae-A $(B%U%!%_%j!<8x1`A0(B 1.12.7 Y-Dzaki-A $(B7k:j(B 1.13.0 Iwami $(B@P8+(B 1.13.1 Tawaramoto $(BED86K\(B ; <=> $(B6aE4(B $(B@>ED86K\(B 1.13.2 Kasanui $(B3^K%(B 1.14.0 Ninokuchi $(B?7%N8}(B 1.14.1 Yagi $(BH,LZ(B ; = $(B6aE4(B $(BBg:e@~(B 1.14.2 Yagi-Nishiguchi $(BH,LZ@>8}(B 1.14.3 Unebigory-Dmae-A $(B@&K58fNMA0(B 1.14.4 Kashiharajingu-mae $(B3`86?@5\A0(B ; = $(B6aE4(B $(BFnBg:e@~!"5HLn@~(B ;;------------------------------------------------------------------------- ;; Keihan Electric Railway $(B5~:eEE5$E4F;(B http://www.keihan.co.jp/ ;; $(B3{El@~(B ;;------------------------------------------------------------------------- 1.14.5 Demachiyanagi $(B=PD.Lx(B ; <=> $(B1CEE(B 1.14.6 Marutamachi $(B4]B@D.(B 1.14.7 Sanj-D-A $(B;0>r(B ; = $(B5~ET;T8rDL6I(B $(BEl@>@~(B ;;------------------------------------------------------------------------- ;; Keihan Electric Railway $(B5~:eEE5$E4F;(B http://www.keihan.co.jp/ ;; $(B3{El@~(B ;;------------------------------------------------------------------------- (Sanj-D)-A ($(B;0>r(B) 1.14.8 Shij-D-A $(B;M>r(B 1.14.9 Goj-D-A $(B8^>r(B ------ Shichij-D-A $(B<7>r(B ------ T-Dfukuji-A $(BElJ!;{(B ; = JR-W $(BF`NI@~(B ------ Tobakaid-D-A $(BD;1)39F;(B ------ Fushimiinari $(BIz8+0p2Y(B ------ Fukakusa $(B? $(B6aE4(B $(B5~ET@~(B ------ Fushimimomoyama $(BIz8+Em;3(B ------ Ch-Dshojima-A $(BCf=qEg(B ; = $(B5~:e(B $(B1'<#@~(B ------ Yodo $(BMd(B ------ Yawatashi $(BH,H(;T(B ; <=> $(B5~:e(B $(B9]:w@~(B ($(BCK;3%1!<%V%k(B) ------ Hashimoto $(B66K\(B ------ Kuzuha $(B>@MU(B ------ Makino $(BKRLn(B ------ Goten-yama $(B8fEB;3(B ------ Hirakatashi $(BKgJ};T(B ; = $(B5~:e(B $(B8rLn@~(B ------ Hirakatak-Den-A $(BKgJ}8x1`(B ------ K-Dzenji-A $(B8wA1;{(B ------ K-Drien-A $(B9aN$1`(B ------ Neyagawashi $(B?220@n;T(B ------ Kayashima $(B3~Eg(B ------ -Dwada-A $(BBgOBED(B ------ Furukawabashi $(B8E@n66(B ------ Kadomashi $(BLg??;T(B ------ Nishisans-D-A $(B@>;0Aq(B ------ Moriguchishi $(B.O)(B ------ Sekime $(B4XL\(B ------ Noe $(BLn9>(B ------ Ky-Dbashi-A $(B5~66(B ; <=> JR, $(BBg:e;T8rDL6I(B ------ Temmabashi $(BE7K~66(B ; <=> $(BBg:e;T8rDL6I(B $(BC+D.@~(B ------ Kitahama $(BKLIM(B ; <=> $(BBg:e;T8rDL6I(B $(B:f6Z@~(B ------ Yodoyabashi $(BMd2066(B ; <=> $(BBg:e;T8rDL6I(B $(B8fF26Z@~(B [Chao Version names] ;;------------------------------------------------------------------------- ;; Kyoto Municipal Transfer Bureau ;; $(B5~ET;T8rDL6I(B ;; http://www.city.kyoto.jp/kotsu/main.htm ;; Karasuma Line $(B1(4]@~(B ;;------------------------------------------------------------------------- 1.2.0 Takeda $(BC]ED(B ; = $(B6aE4(B $(B5~ET@~(B 1.3.0 Kuinabashi $(B$/$$$J66(B 1.4.0 J-Dj-A $(B==>r(B 1.6.0 Kuj-D-A $(B6e>r(B 1.6.1 Ky-Dto-A $(B5~ET(B ; <=> JR, $(B6aE4(B 1.7.0 Goj-D-A $(B8^>r(B 1.8.0 Shij-D-A $(B;M>r(B ; <=> $(B:e5^(B $(B5~ET@~(B 1.9.0 Karasuma Oike $(B1(4]8fCS(B ; = $(B5~ET;T8rDL6I(B $(BEl@>@~(B 1.10.0 Marutamach $(B4]B@D.(B 1.11.0 Imadegawa $(B:#=P@n(B 1.11.1 Kuramaguchi $(B0HGO8}(B 1.11.2 Kita-Dji-A $(BKLBgO)(B 1.11.3 Kitayama $(BKL;3(B 1.11.4 Matugasaki $(B>>%v:j(B 1.11.5 Kokusaikaikan $(B9q:]2q4[(B ;;------------------------------------------------------------------------- ;; West Japan Railway $(B@>F|K\N95RE4F;(B http://www.westjr.co.jp/ ;; Nara Line $(BF`NI@~(B ;;------------------------------------------------------------------------- 1.12.0 [JR] Ky-Dto-A $(B5~ET(B ; <=> $(B6aE4(B, $(B5~ET;T8rDL6I(B 1.12.1 T-Dfukuji-A $(BElJ!;{(B ; <=> $(B5~:e(B $(BK\@~(B 1.12.2 Inari $(B0p2Y(B 1.13.0 JR Fujinomori JR $(BF#?9(B 1.14.0 Momoyama $(BEm;3(B 1.14.1 Rokujiz-D-A $(BO;COB"(B ------ Kohata $(BLZH((B ; <=> $(B5~:e(B $(B1'<#@~(B ------ -Dbaku-A $(B2+]!(B ; <=> $(B5~:e(B $(B1'<#@~(B ------ Uji $(B1'<#(B ------ Shinden $(B?7ED(B ------ J-Dy-A $(B>kM[(B ------ Nagaike $(BD9CS(B ------ Yamashiro-Aodani $(B;3>k@DC+(B ------ Yamashiro-Taga $(B;3>kB?2l(B ------ Tamamizu $(B6L?e(B ------ Tanakura $(BC*AR(B ------ Kamikoma $(B>e9}(B ------ Kidu $(BLZDE(B [CLIME Version names] ;;------------------------------------------------------------------------- ;; $(BBg:eEE5$50F;(B ;; $(BK!N4;{@~(B $(B!J5l(B $(BE7M}7ZJXoDF;(B $(BE7M}@~!K(B ;;------------------------------------------------------------------------- 1.13.0 Shin-H-Dryji-A $(B?7K!N4;{(B ; <=> $(B4X@>K\@~(B $(BK!N4;{(B 1.13.1 Ando $(B0BEH(B 1.13.2 Nukatabe $(B3[EDIt(B 1.13.3 Hirahata $(BJ?C<(B ; = $(BBg50(B $(BE7M}@~!"@&K5@~(B ;;------------------------------------------------------------------------- ;; Hokuriku Railway $(BKLN&E4F;(B ;; Nomi Line $(BG=H~@~(B $(B!J5l(B $(BG=H~EE5$E4F;!K(B ;; fj.rec.rail.historical: <9fn962$ft5$1@nwjp2.odn.ne.jp> $(B$h$j(B ;;------------------------------------------------------------------------- 1.13.4 Shin-Terai $(B?7;{0f(B ; <=> $(BKLN&K\@~(B $(B;{0f(B ------ Tameike $(BN/CS(B 1.13.5 Kaga-Fukuoka $(B2C2lJ!2,(B 1.13.6 Nakanosh-D-A $(BCf%N>1(B 1.14.0 Gokend-D-A $(B8^4VF2(B ------ Terai-Nishiguchi $(B;{0f@>8}(B ------ Jid-Dsha-Renraku-A $(B<+F0e3+H/(B ------ Tatsunokuchi $(BC$8}(B ------ Raimaru $(BMh4](B ------ Higama $(B2P3x(B ------ Iwauchi $(B4dFb(B ------ Mitsukuchi $(B;08}(B ------ Miyatake $(B5\C](B ------ Todashino $(BEtBf:{(B ------ Iwamoto $(B4dK\(B ------ Tenguyama $(BE76i;3(B ------ Hon-Tsurugi $(BK\DaMh(B ------ Tsurugi $(BDaMh(B [LIMIT Version names] ;;------------------------------------------------------------------------- ;; Kinki Nippon Railway $(B6a5&F|K\E4F;(B http://www.kintetsu.co.jp/ ;; Minami--Dsaka Line-A $(BFnBg:e@~(B ;;------------------------------------------------------------------------- 1.13.0 -Dsaka-Abenobashi-A $(BBg:e0$ItLn66(B ; <=> JR, $(BBg:e;T8rDL6I(B 1.13.1 Koboreguchi $(B2OKY8}(B 1.13.2 Kita-tanabe $(BKLEDJU(B 1.13.3 Imagawa $(B:#@n(B 1.13.4 Harinakano $(B?KCfLn(B 1.14.0 Yata $(BLpED(B 1.14.1 Kawachi-Amami $(B2OFbE7H~(B 1.14.2 Nunose $(BI[G&(B 1.14.3 Takaminosato $(B9b8+%NN$(B 1.14.4 Kawachi-Matsubara $(B2OFb>>86(B 1.14.5 Eganosh-D-A $(B7C2f%NAq(B 1.14.6 Takawashi $(B9bOI(B 1.14.7 Fujiidera $(BF#0f;{(B ------ Hajinosato $(BEZ;U$NN$(B ------ D-Dmyji-A $(BF;L@;{(B ; = $(B6aE4(B $(BF;L@;{@~(B ------ Furuichi $(B8E;T(B ; = $(B6aE4(B $(BD9Ln@~(B ------ Komagatani $(B6p%vC+(B ------ Kaminotaishi $(B>e%NB@;R(B ------ Nij-Dsan-A $(BFs>e;3(B ------ Nij-Djinjaguchi-A $(BFs>e?@k(B ------ Shakudo $(B<\EZ(B ; = $(B6aE4(B $(B8f=j@~(B ------ Takadashi $(B9bED;T(B ------ Ukiana $(BIb9&(B ------ B-Dj-A $(BK7>k(B ------ Kashiharajing-D-Nisiguchi-A $(B3`86?@5\@>8}(B ------ Kashiharajing-Dmae-A $(B3`86?@5\A0(B ; = $(B6aE4(B $(B3`86@~(B, $(B5HLn@~(B ;;------------------------------------------------------------------------- ;; Kinki Nippon Railway $(B6a5&F|K\E4F;(B http://www.kintetsu.co.jp/ ;; Yoshino Line $(B5HLn@~(B [$(B$G$b!"$3$l!"K\2H$,;H$&$s$d$m$J$!!D(B (^^;] ;;------------------------------------------------------------------------- (Kashiharajing-Dmae)-A ($(B3`86?@5\A0(B) ------ Okadera $(B2,;{(B ------ Asuka $(BHtD;(B ------ Tsubosakayama $(BTd:e;3(B ------ Ichio $(B;THx(B ------ Kuzu $(B3k(B ------ Yoshinoguchi $(B5HLn8}(B ; = JR $(BOB2N;3@~(B ------ Kusurimizu $(BLt?e(B ------ Fukugami $(BJ!?@(B ------ -Dada-A $(BBg0$B@(B ------ Shimoichiguchi $(B2<;T8}(B ------ Koshibe $(B1[It(B ------ Muda $(BO;ED(B ------ Yamato-Kamiichi $(BBgOB>e;T(B ------ Yoshinojing-D-A $(B5HLn?@5\(B ------ Yoshino $(B5HLn(B rail-1.2.11/contrib/MEADOW_VERSION000066400000000000000000000023701221033265300162660ustar00rootroot00000000000000[Meadow Version names] -*- coding: ctext; -*- ;; codename $(B4A;z2rT3w(B 63$(BCJ(B 2.00 KIKYOU $(B5K9<(B 67$(BCJ(B 2.10 ASAGAO $(BD+4i(B 36$(BCJ(B 3.00 KIKU $(B5F(B 10,39,67,131$(BCJ(B [Meadow Beta Version names] 0.50b1 KASURI $(Be3(B 0.50b2 KASURI $(Be3(B 1.03a3 FUDI-GASANE $(BF#=1(B 1.04a1 TSUTSUJI $(Bm6m1(B 1.05b1 TACHIBANA $(B5L(B 1.05b2 YAMA-TACHIBANA $(B;35L(B 1.06b1 HIINA $(B?w(B 27$(BCJ(B 1.06b2 FUTAAWI $(BFsMu(B 27$(BCJ(B 1.06b3 EBIZOME $(BIrF:@w(B 27$(BCJ(B 1.07b1 HACHISU $(BO!(B 66$(BCJ(B 1.12b1 SASHINUKI $(B;X4S(B 60$(BCJ(B 1.13b1 TANAHASHI $(BC*66(B 61$(BCJ(B 1.13b2 UKIHASHI $(BIb66(B 61$(BCJ(B 1.99a1 AWOFUCHI $(B@DJ%(B 1.99a2 TANINOHORA $(BC+$NF6(B 1.99a3 HATAITA $(BIIHD(B 1.99a4 KUROGANE $(BE4(B 1.99a5 TSUCHIKURE $(BEZ2t(B 1.99a6 IKADUCHI $(BMk(B 1.99a7 HAYACHI $(B<@Iw(B 1.99a8 FUSAU $(BIT>M1@(B 1.99a9 HOKOBOSHI $(BL7@1(B 1.99a10 HIDIKASA $(B9O3^1+(B 1.99a11 ARANORA $(B9SLn$i(B ------ KAKITSUBATA $(BEN$N%j%9%H(B $(B8;;aJ*8l!J;g<0It!K$N3F4,$N%?%$%H%k(B Volume Roman Hiragana Kanji Mule version Date ---------------------------------------------------------------------- 1 KIRITSUBO $(B$-$j$D$\(B $(B6MTd(B 1.0 93.8.1 2 HAHAKIGI $(B$O$O$-$.(B $(BVdLZ(B 1.1 94.2.8 3 UTSUSEMI $(B$&$D$;$_(B $(B6u@f(B 2.0 94.8.6 4 YUUGAO $(B$f$&$,$*(B $(BM<4i(B 2.1 94.11.2 5 WAKAMURASAKI $(B$o$+$`$i$5$-(B $(B>Iw(B 19 USUGUMU $(B$&$9$0$b(B $(BGv1@(B 20 ASAGAO $(B$"$5$,$*(B $(BD+4i(B 21 OTOME $(B$*$H$a(B $(B>/=w(B 22 TAMAKAZURA $(B$?$^$+$:$i(B $(B6Lr#(B 23 HATSUNE $(B$O$D$M(B $(B=i2;(B 24 KOCHOU $(B$3$A$g$&(B $(B8UD3(B 25 HOTARU $(B$[$?$k(B $(B7V(B 26 TOKONATSU $(B$H$3$J$D(B $(B>o2F(B 27 KAGARIBI $(B$+$,$j$S(B $(Bd@2P(B 28 NOWAKE $(B$N$o$-(B $(BLnJ,(B 29 MIYUKI $(B$_$f$-(B $(B9T9,(B 30 FUJIBAKAMA $(B$U$8$P$+$^(B $(BF#8S(B 31 MAKIBASHIRA $(B$^$-$P$7$i(B $(B??LZCl(B 32 UMEGAE $(B$&$a$,$((B $(BG_;^(B 33 FUJINOURABA $(B$U$8$N$&$i$P(B $(BF#N"MU(B 34 WAKANA-KAMI $(B$o$+$J(B-$(B$+$_(B $(Be(B 35 WAKANA-SHIMO $(B$o$+$J(B-$(B$7$b(B $(B $(B$8$c$$%P%9(B 0.115 Hinomiko $(BF|8f;R(B 0.115.1 Oyanagi $(B>.Lx(B 0.115.2 Inokuchi $(B0f8}(B 0.116 D-Dhji-A $(BF;K!;{(B 0.118 Sodani $(BA>C+(B 0.118.1 Shijima $(B;M==K|(B 0.118.2 Otomaru $(B254](B 1.0.0 Nukaj-Dtaku-mae-A $(B3[=;BpA0(B 1.0.1 Magae $(BGOBX(B 1.0.2 Nonoichi-K-Ddaimae-A $(BLn!9;T9)BgA0(B 1.1.0 Nonoichi $(BLn!9;T(B 1.1.1 Oshino $(B2!Ln(B 1.1.2 Shin-Nishikanazawa $(B?7@>6bBt(B ; <=> JR $(B@>6bBt(B 1.2.0 Nishiizumi $(B@>@t(B 1.2.1 Nomachi $(BLnD.(B ;;------------------------------------------------------------------------- ;; West Japan Railway $(B@>F|K\N95RE4F;(B http://www.westjr.co.jp/ ;; Hokuriku Line $(BKLN&K\@~(B ;;------------------------------------------------------------------------- 1.2.2 Naoetsu $(BD>9>DE(B ; = JR $(B?.1[K\@~(B 1.2.3 Tanihama $(BC+IM(B 1.2.4 Arimagawa $(BM-4V@n(B 1.3.0 Nadachi $(BL>N)(B 1.3.1 Tsutsuishi $(BE{@P(B 1.3.2 N-D-A $(BG=@8(B 1.3.3 Uramoto $(B1:K\(B 1.3.4 Kajiyashiki $(B3a20I_(B 1.4.0 Itoigawa $(B;e5{@n(B ; = JR $(BBg;e@~(B 1.4.1 -Dmi-A $(B@D3$(B 1.4.2 Oyashirazu $(B?FITCN(B 1.4.3 Ichiburi $(B;T?6(B 1.4.4 Ecch-D-Miyazaki-A $(B1[Cf5\:j(B 1.4.5 Tomari $(BGq(B 1.4.6 Ny-Dzen-A $(BF~A1(B 1.5.0 Nishi-Ny-Dzen-A $(B@>F~A1(B 1.5.1 Ikuji $(B@8CO(B 1.5.2 Kurobe $(B9uIt(B 1.5.3 Uozu $(B5{DE(B ; <=> $(BIY;3COJ}E4F;(B 1.5.4 Higashi-Namerikawa $(BEl3j@n(B 1.6.0 Namerikawa $(B3j@n(B ; <=> $(BIY;3COJ}E4F;(B 1.7.0 Mizuhashi $(B?e66(B 1.7.1 Higashi-Toyama $(BElIY;3(B 1.8.0 Toyama $(BIY;3(B ; = JR $(B9b;3K\@~!"IY;39A@~(B 1.8.1 Kureha $(B8b1)(B 1.8.2 Kosugi $(B>.?y(B 1.8.3 Ecch-D-Daimon-A $(B1[CfBgLg(B 1.8.4 Takaoka $(B9b2,(B ; = JR $(BI98+@~!">kC<@~(B 1.8.5 Nishi-Takaoka $(B@>9b2,(B 1.8.6 Fukuoka $(BJ!2,(B 1.9.0 Isurugi $(B@PF0(B 1.9.1 Kurikara $(B6fMx2@Me(B 1.10.0 Tsubata $(BDEH((B 1.10.1 Morimoto $(B?9K\(B 1.10.2 Higashi-Kanazawa $(BEl6bBt(B 1.11.0 Kanazawa $(B6bBt(B ; <=> $(BKLN&E4F;(B $(BKLE46bBt(B 1.12.0 Nishi-Kanazawa $(B@>6bBt(B ; <=> $(BKLN&E4F;(B $(B?7@>6bBt(B 1.12.1 [JR] Nonoichi [JR] $(BLn!9;T(B 1.13.0 Matt-D-A $(B>>G$(B 1.13.1 Kaga-Kasama $(B2C2l3^4V(B 1.13.2 Mikawa $(BH~@n(B 1.13.3 Komaiko $(B>.Iq;R(B 1.13.4 Terai $(B;{0f(B 1.13.5 Meih-D-A $(BL@Jv(B 1.13.6 Komatsu $(B>.>>(B 1.13.7 Awazu $(B0@DE(B 1.14.0 Iburihashi $(BF066(B 1.14.1 Kaga-Onsen $(B2C2l29@t(B 1.14.2 Daish-Dji-A $(BBg@;;{(B 1.14.3 Ushinoya $(B5m%NC+(B 1.14.4 Hosorogi $(B:YO$LZ(B 1.14.5 Awara-Onsen $(B028629@t(B 1.14.6 Maruoka $(B4]2,(B 1.14.7 Harue $(B=U9>(B ------- Morita $(B?9ED(B ------- Fukui $(BJ!0f(B : : : ------- Tsuruga $(BFX2l(B ; = JR $(B>.IM@~(B ------- Shin-Hikida $(B?7I%ED(B ------- -Dmi-Shiotsu-A $(B6a9>1vDE(B ; = JR $(B8P@>@~(B ------- Yogo $(BM>8b(B ------- Kinomoto $(BLZ%NK\(B ------- Takatsuki $(B9b7n(B ------- Kawake $(B2OLS(B ------- Torahime $(B8WI1(B ------- Nagahama $(BD9IM(B ------- Tamura $(BEDB<(B ------- Sakata $(B:dED(B (Maibara) ($(BJF86(B) ; = JR $(BEl3$F;K\@~(B [WEMI version names] ;;------------------------------------------------------------------------- ;; East Japan Railway $(BElF|K\N95RE4F;(B http://www.jreast.co.jp/ ;; T-Dkaid Line-A $(BEl3$F;K\@~(B ;;------------------------------------------------------------------------- 1.2.0 T-Dky-A $(BEl5~(B 1.2.1 Shinbashi $(B?766(B ; = JR $(B;3 $(B>.ED5^EEE4(B $(B9>%NEg@~!"9>%NEgEEE4(B 1.4.1 Tsujid-D-A $(BDTF2(B ; $(B!J!VDT!W(B= J90@B-4454:128b$(B!K(B 1.4.2 Chigasaki $(B3}%v:j(B ; = JR $(BAjLO@~(B 1.4.3 Hiratsuka $(BJ?DM(B 1.4.4 -Diso-A $(BBg0k(B 1.4.5 Ninomiya $(BFs5\(B 1.4.6 K-Dzu-A $(B9qI\DE(B ; = JR $(B8fEB>l@~(B 1.5.0 Kamonomiya $(B3{5\(B 1.5.1 Odawara $(B>.ED86(B ; <=> $(B>.ED5^!"H":,EP;3E4F;!"(B ; $(B0KF&H":,E4F;(B 1.5.2 Hayakawa $(BAa@n(B 1.5.3 Nebukawa $(B:,I\@n(B 1.5.4 Manazuru $(B??Da(B 1.6.0 Yugawara $(BEr2O86(B 1.7.0 Atami $(BG.3$(B ; = JR $(B0KEl@~(B ;;------------------------------------------------------------------------- ;; Central Japan Railway $(BEl3$N95RE4F;(B ;;------------------------------------------------------------------------- 1.7.1 Kan'nami $(BH!Fn(B 1.8.0 Mishima $(B;0Eg(B ; = $(B0KF&H":,E4F;(B 1.8.1 Numazu $(B>BDE(B ; = JR $(B8fEB>l@~(B 1.8.2 Katahama $(BJRIM(B 1.8.4 Hara $(B86(B 1.8.5 Higashi-Tagonoura $(BElED;R%N1:(B 1.8.6 Yoshiwara $(B5H86(B ; = $(B3YFnE4F;(B 1.9.0 Fuji $(BIY;N(B ; = JR $(B?H1d@~(B 1.9.1 Fujikawa $(BIY;N@n(B 1.10.0 Shin-Kambara $(B?73w86(B 1.10.1 Kambara $(B3w86(B 1.10.2 Yui $(BM3Hf(B 1.11.0 Okitsu $(B6=DE(B 1.12.0 Shimizu $(B@6?e(B 1.12.1 Kusanagi $(BApFe(B 1.13.0 Shizuoka $(B@E2,(B 1.13.1 Abekawa $(B0BG\@n(B 1.13.2 Mochimune $(BMQ=!(B 1.13.3 Yaizu $(B>FDE(B 1.13.4 Nishi-Yaizu $(B@>>FDE(B 1.13.5 Fijieda $(BF#;^(B 1.13.6 Rokug-D-A $(BO;9g(B 1.13.7 Shimada $(BEgED(B 1.14.0 Kanaya $(B6bC+(B ; = $(BBg0f@nE4F;(B ------ Kikugawa $(B5F@n(B ------ Kakegawa $(B3]@n(B ; = $(BE7N5IML>8PE4F;(B ------ Fukuroi $(BB^0f(B ------ Iwata $(BHXED(B ------ Toyodach-D-A $(BK-EDD.(B ------ Tenry-Dgawa-A $(BE7N5@n(B ------ Hamamatsu $(BIM>>(B ; = $(B1s=#E4F;(B ------ Takatsuka $(B9bDM(B ------ Maisaka $(BIq:e(B ------ Bentenjima $(BJ[E7Eg(B ------ Araimachi $(B?75oD.(B ------ Wasizu $(BOIDE(B ------ Shinjohara $(B?7=j86(B ; = $(BE7N5IML>8PE4F;(B ------ Futagawa $(BFs2O(B ------ Toyohashi $(BK-66(B ; = JR $(BHSED@~(B : : : ------ Kanayama $(B6b;3(B ; =$(B!J(BJR $(BCf1{K\@~!K(B ------ Ot-Dbashi-A $(BHxF,66(B ------ Nagoya $(BL>8E20(B ; = JR $(B4X@>K\@~!J!&Cf1{K\@~!K(B : : : ------ Gifu $(B4tIl(B ; = JR $(B9b;3K\@~(B : : : ------ Samegai $(B@C%v0f(B ;;------------------------------------------------------------------------- ;; West Japan Railway $(B@>F|K\N95RE4F;(B http://www.westjr.co.jp/ ;;------------------------------------------------------------------------- ------ Maibara $(BJF86(B ; = JR $(BKLN&K\@~(B : : : ------ Kusatsu $(BApDE(B ; = JR $(BApDE@~(B : : : ------ Yamashina $(B;32J(B ; = JR $(B8P@>@~(B ------ Ky-Dto-A $(B5~ET(B ; = JR $(BF`NI@~!&;31"K\@~(B ; <=> $(B6aE4(B $(B5~ET@~!"5~ET;T8rDL6I(B $(B1(4]@~(B : : : ------ -Dsaka-A $(BBg:e(B ; = JR $(BBg:e4D>u@~(B <=> JR $(BEl@>@~(B $(BKL?7CO(B ; <=> $(BBg:e;T8rDL6I!":e?@!":e5^(B $(BG_ED(B : : : ------ K-Dbe-A $(B?@8M(B ; = JR $(B;3M[K\@~(B [REMI version names] ;;------------------------------------------------------------------------- ;; West Japan Railway $(B@>F|K\N95RE4F;(B http://www.westjr.co.jp/ ;; Himi Line $(BI98+@~(B ;;------------------------------------------------------------------------- 1.4.0 Himi $(BI98+(B 1.5.0 Shimao $(BEgHx(B 1.6.0 Amaharashi $(B1+@2(B 1.8.0 Ecch-D-Kokubu-A $(B1[Cf9qJ,(B 1.8.1 Fushiki $(BIzLZ(B ; <=> $(B%&%i%8%*%9%C%H%C%/9RO)(B 1.8.2 N-Dmachi-A $(BG=D.(B 1.8.3 Ecch-D-Nakagawa-A $(B1[CfCf@n(B 1.8.4 Takaoka $(B9b2,(B ; = JR $(BKLN&K\@~!">kC<@~(B ;;------------------------------------------------------------------------- ;; Hokuetsu Express $(BKL1[5^9T(B ;; http://www.tiara.or.jp/~tokamaci/hokuhoku/hokuhoku.html ;; Hokuhoku Line $(B$[$/$[$/@~(B ;;------------------------------------------------------------------------- 1.13.0 Saigata $(B:T3c(B ; = JR $(B?.1[K\@~(B 1.13.1 Kubiki $(B$/$S$-(B 1.13.2 -Dike-Ikoinomori-A $(BBgCS$$$3$$$N?9(B 1.14.0 Uragawara $(B$&$i$,$o$i(B 1.14.1 Mushigawa-Dsugi-A $(BCn@nBg?y(B 1.14.2 Hokuhoku--Dshima-A $(B$[$/$[$/BgEg(B 1.14.3 Matsudai $(B$^$D$@$$(B [etc.] ;;------------------------------------------------------------------------- ;; West Japan Railway $(B@>F|K\N95RE4F;(B http://www.westjr.co.jp/ ;; Kosei Line $(B8P@>@~(B ;;------------------------------------------------------------------------- ------- (-Dmi-Shiotsu)-A ($(B6a9>1vDE(B) ; = JR $(BKLN&K\@~(B : : : ------- Nishi--Dtsu-A $(B@>BgDE(B (Yamashina) ($(B;32J(B) ; = JR $(BEl3$F;K\@~(B rail-1.2.11/contrib/rail-make-flim-codename-alist.perl000077500000000000000000000022741221033265300225260ustar00rootroot00000000000000#!/usr/bin/perl $count = 0; $maxln = 0; @elen = (); @ecode = (); @jcode = (); # Pass 1: get data from VERSION while (<>) { my $letter1 = substr( $_, 0, 1 ); if ( $letter1 eq "-" || $letter1 eq "0" || $letter1 != 0 ) { chomp; split "\t+"; $letter1 = substr( $_[1], 0, 1 ); next if ( $letter1 eq '-' || $letter1 eq '(' ); my $ecode = $_[1]; my $jcode = $_[2]; my $elen = length( $ecode ); if ( $ecode =~ m/\033/ ) { $elen -= 6; } chomp $jcode; push( @ecode, $ecode ); push( @jcode, $jcode ); push( @elen, $elen ); $maxln = ( $elen > $maxln ) ? $elen : $maxln; $count++; } } # Pass 2: make rail-table-flim.el print ";; -*- coding: iso-2022-8bit-ss2; -*-\n\n"; print "(defvar rail-flim-codename-alist\n"; for $i ( 0 .. $count - 1 ) { my $ecode = shift( @ecode ); my $jcode = shift( @jcode ); my $elen = shift( @elen ); if ( $i == 0 ) { print " '((\""; $first = 0; } else { print "\n (\""; } print $ecode, '"', ' ' x ( $maxln - $elen + 1 ), '. "', $jcode, '")'; } print "))\n\n(provide 'rail-table-flim)\n"; rail-1.2.11/contrib/rail-make-mule-version-alist.perl000077500000000000000000000017521221033265300224530ustar00rootroot00000000000000#!/usr/bin/perl $count = 0; $maxln = 0; @elen = (); @ecode = (); @jcode = (); # Pass 1: get data from etc/VERSION while (<>) { split; if ( $_[0] eq "**" || $_[0] != 0 ) { # maybe it is a bug on etc/VERSION, so fix it my $ecode = ( $_[1] eq "USUGUMU" ) ? "USUGUMO" : $_[1]; my $jcode = $_[3]; my $elen = length( $ecode ); chomp $jcode; push( @ecode, $ecode ); push( @jcode, $jcode ); push( @elen, $elen ); $maxln = ( $elen > $maxln ) ? $elen : $maxln; $count++; } } # Pass 2: make rail-table-mule.el print "(defvar rail-mule-codename-alist\n"; for $i ( 0 .. $count - 1 ) { my $ecode = shift( @ecode ); my $jcode = shift( @jcode ); my $elen = shift( @elen ); if ( $i == 0 ) { print " '((\""; $first = 0; } else { print "\n (\""; } print $ecode, '"', ' ' x ( $maxln - $elen + 1 ), '. "', $jcode, '")'; } print "))\n\n(provide 'rail-table-mule)\n"; rail-1.2.11/contrib/rail-make-semi-codename-alist.perl000077500000000000000000000024431221033265300225320ustar00rootroot00000000000000#!/usr/bin/perl $count = 0; $maxln = 0; @elen = (); @ecode = (); @jcode = (); # Pass 1: get data from VERSION while (<>) { my $letter1 = substr( $_, 0, 1 ); if ( $letter1 eq "-" || $letter1 eq "0" || $letter1 != 0 ) { chomp; # begin: Avoid *EMI* VERSION file bug s,^------- Tamura,------- Tamura,; # end split "\t+"; $letter1 = substr( $_[1], 0, 1 ); next if ( $letter1 eq '-' || $letter1 eq '(' ); my $ecode = $_[1]; my $jcode = $_[2]; my $elen = length( $ecode ); if ( $ecode =~ m/\033/ ) { $elen -= 6; } chomp $jcode; push( @ecode, $ecode ); push( @jcode, $jcode ); push( @elen, $elen ); $maxln = ( $elen > $maxln ) ? $elen : $maxln; $count++; } } # Pass 2: make rail-table-semi.el print ";; -*- coding: iso-2022-8bit-ss2; -*-\n\n"; print "(defvar rail-semi-codename-alist\n"; for $i ( 0 .. $count - 1 ) { my $ecode = shift( @ecode ); my $jcode = shift( @jcode ); my $elen = shift( @elen ); if ( $i == 0 ) { print " '((\""; $first = 0; } else { print "\n (\""; } print $ecode, '"', ' ' x ( $maxln - $elen + 1 ), '. "', $jcode, '")'; } print "))\n\n(provide 'rail-table-semi)\n"; rail-1.2.11/make.el000066400000000000000000000116061221033265300137630ustar00rootroot00000000000000(defvar rail-install-list '("rail-common.el" "rail-user-agent.el" "rail-mime-example-1-13.el" "rail-mime-example-1-14.el" "rail-mime-example.el" ("rail-mule.el" . (and (not (featurep 'xemacs)) (featurep 'mule))) ("rail-xmas.el" . (featurep 'xemacs)) "rail-table-mule.el" "rail-table-meadow.el" "rail-table-xmas.el" "rail-table-utf2000.el" "rail-table-flim.el" "rail-table-semi.el" "rail-pj.el" "rail-vars.el" "rail.el")) ;;################ (or (fboundp 'make-directory-internal) (defsubst make-directory-internal (dir) (call-process "mkdir" nil nil nil dir))) (defun make-directory-one (dir) (or (and (file-exists-p dir) (not (file-directory-p dir)) (error "Cannot make site-lisp directory: file \"%s\" exists." dir)) (file-exists-p dir) (make-directory-internal dir))) (defun get-bindir () (message (expand-file-name (concat data-directory (cond ((featurep 'xemacs) "../../../") ((or (featurep 'meadow) (eq 'windows-nt system-type)) "../") (t "../../../../")) "bin/")))) (defun get-site-lisp () (message (expand-file-name (concat data-directory (cond ((featurep 'xemacs) "../../xemacs/") ((or (featurep 'meadow) (eq 'windows-nt system-type)) "../") (t "../../")) "site-lisp/")))) (defun get-package-base () (if (boundp 'early-packages) (let ((dirs (append (if early-package-load-path early-packages) (if late-package-load-path late-packages) (if last-package-load-path last-packages))) dir) (while (not (file-exists-p (setq dir (car dirs)))) (setq dirs (cdr dirs))) (message dir)))) ;;################ (defun get-filename (file) (or (and (stringp file) (file-exists-p file) file) (and (consp file) (eval (cdr file)) (stringp (car file)) (car file)))) (defun compile-lisp (list) (mapcar '(lambda (cell) (let (file compiled) (and (setq file (get-filename cell)) (setq compiled (concat file "c")) (file-newer-than-file-p file compiled) (byte-compile-file file)))) list)) (defun install-lisp (src dst) (message "Install *.el files...") (mapcar '(lambda (list) (let ((file (get-filename list))) (and (stringp file) (message "%s -> %s" file dst) (copy-file file (concat dst (file-name-nondirectory file)) t t)))) rail-install-list) (message "done.") (message "Install *.elc files...") (mapcar '(lambda (file) (cond ((string-match ".*\\.elc$" file) (message "%s -> %s" file dst) (copy-file file (concat dst (file-name-nondirectory file)) t t) (delete-file file)))) (directory-files src)) (message "done.")) (defsubst install-current-lisp (dir) (install-lisp (expand-file-name "./") dir)) ;;################ (defun compile-rail () (and (catch 'found (mapcar '(lambda (item) (if (eq 'mime-def item) (throw 'found t))) features)) (require 'mime-def)) (let ((load-path (cons (expand-file-name ".") load-path))) (compile-lisp rail-install-list))) (defun install-rail () (compile-rail) (let* ((dir (or (car command-line-args-left) "default")) (path (cond ((string= "default" dir) (concat (get-site-lisp) "rail/")) ((string= "site-lisp" dir) (get-site-lisp)) ((string-match "/$" dir) dir) (t (concat dir "/"))))) (make-directory-one (substring path 0 (1- (length path)))) (install-current-lisp path))) (defun install-package () (compile-rail) (let* ((dir (or (car command-line-args-left) "default")) (path (cond ((string= "default" dir) (get-package-base)) ((string-match "/$" dir) dir) (t (concat dir "/")))) (lispbase (concat path "lisp/")) (lispdir (concat lispbase "rail/")) (etcbase (concat path "etc/")) (etcdir (concat etcbase "rail/")) (infodir (concat path "pkginfo/"))) (make-directory-one path) (make-directory-one lispbase) (make-directory-one lispdir) (make-directory-one etcbase) (make-directory-one etcdir) (make-directory-one infodir) (copy-file "MANIFEST.rail" (concat infodir "MANIFEST.rail") t t) (copy-file "00README" (concat etcdir "00README") t t) (install-current-lisp lispdir))) rail-1.2.11/old/000077500000000000000000000000001221033265300132765ustar00rootroot00000000000000rail-1.2.11/old/00FAQ000066400000000000000000000041151221033265300137710ustar00rootroot00000000000000-*- Text -*- Subject: rail*.el FAQ Author: しまだ みつのぶ Date: Fri, 03 Mar 2000 06:12:58 +0900 このファイルは, rail に関する FAQ です. 主に, install および運用に関して, よくありがちなエラーの対処方法を 記述致します. (Q1) Mule2.3 で FLIM や SEMI の codename が文字化けする. (A1) 下の手順で, FLIM および SEMI の再 install をお願いします. Mule2.3 では, -*- coding: iso-8859-4; -*- のような表現を解釈しません. そのため, ISO-8859-4 を含む FLIM/SEMI の codename が byte compile 時に 文字化けしてしまい, rail も解釈できない状況になっております. これを直すためには, FLIM/SEMI を, ISO-8859-4 code が文字化けしない ように byte compile する必要があります. 以下の手順で, (FLIM)mime-def.el と (SEMI)semi-def.el の文字コードを compound-text に変換して, FLIM と SEMI の再 byte-compile および install をお願いします. 1. mule 起動 2. (FLIMの場合) C-u C-x C-f mime-def.el (SEMIの場合) C-u C-x C-f semi-def.el 3. Mini-buffer に "Coding-system: " とでているので, ここで "*iso-8859-4*" と入力 4. 先頭の行末に, "-*- coding: iso-8859-4; -*-" といった 表現があれば, その行末部分をカット 5. (FLIMの場合) C-u C-x C-w mime-def.el (SEMIの場合) C-u C-x C-w semi-def.el 6. Mini-buffer に "Coding-system: " とでているので, ここで "*ctext*" と入力 7. 再インストール (Q2) rail-1.2.1 および rail-1.2.2 を install 後, SEMI および User-Agent (semi-gnus/Wanderlust etc.) の install 時に error が発生するようになった (A2) rail-1.2.{1|2} の bug です. 解決方法は次のとおり. 1. rail-1.2.3 以降をインストール 2. Emacs を, ~/.emacs に (load "mime-setup") がある状態で起動 3. すぐに, もしくは User-Agent を一旦起動してから Emacs を終了 4. SEMI/User-Agent を再 compile, install これで, error がでずに install できるはずです. rail-1.2.11/old/00README000066400000000000000000000143201221033265300143160ustar00rootroot00000000000000-*- Text -*- Subject: rail*.el ドキュメント Author: しまだ みつのぶ Date: Fri, 03 Mar 2000 05:59:40 +0900 ・RAIL とは? RAIL とは Replace Agent-string Internal Library の略であり, 以下の機能を有するものです. 1.tm に含まれる genjis.el 互換機能 (変数 mule-version の日本語化) 2.FLIM / SEMI / XEmacs / UTF-2000 Mule / Meadow のコードネームを 日本語化し, メッセージの User-Agent: フィールドに適用する 3.irchat-pj で, CTCP VERSION を受けたときに返す文字のうち, Mule / XEmacs / Meadow のコードネームを日本語化する また, 一部バージョンの Meadow で irchat-pj を利用している場合, 正しくバージョンが表示できないバグを修正する ・インストール方法 基本的に make install するだけです. make して make install と してもかまいません. make EMACS=mule 等のようにすれば, (Emacs)実行ファイルを指定することができます. また, インストール場所を指定したい場合, make LISPDIR=/home/simm/site-lisp 等のようにすれば, 指定したパスにインストールされます. デフォルトの site-lisp 直下にインストールしたい場合は make LISPDIR=site-lisp のように, site-lisp を指定ください. XEmacs のパッケージとしてインストールする場合は make install-package としてください. インストールしたい XEmacs の実行ファイルは make XEMACS=xemacs-21.2-b28 install-package 等のようにすることで指定できます. 一般インストールと同じく, make package してから make install-package をしてもかまいません. MULE のコードネームが増えることはさほどないとは思いますが, FLIM や SEMI は, 随時コードネームが増加しております. より新しいコードネームを正しく変換するためには, ・FLIM: FLIM(およびその派生形)のソースにある VERSION を contrib/FLIM_VERSION にコピー ・SEMI: SEMI(およびその派生形)のソースにある VERSION を contrib/SEMI_VERSION にコピー したうえで, % make distclean % make # make install してください. make distclean 直後に make install しても かまいません. また, XEmacs パッケージとして作成する場合は make のかわりに make install-package します. ・使用方法 ~/.emacs のどこかに (require 'rail) と記述しておくだけです. 今まで ISO-8859-4 を使った User-Agent: フィールドが, 日本語表記に変更されます. また, irchat-pj の CTCP VERSION の結果が日本語化されます. また, rail.el は tm に含まれる genjis.el の互換機能も提供します. ~/.emacs の, (require 'rail) の記述の手前に (setq rail-emulate-genjis t) と書いておくことで, 変数 mule-version が日本語化されます. なお, rail-emulate-genjis が nil であっても, User-Agent: に含まれる Mule の codename は日本語表記になります. User-Agent: はそのままで, genjis 機能だけ利用したい場合は, (setq rail-emulate-genjis t rail-user-agent-convert-statically nil rail-user-agent-convert-dynamically nil) とします. irchat-pj の CTCP VERSION をいじりたくない場合は, (setq rail-pj-convert nil) とします. コンパイル後に FLIM / SEMI / XEmacs / Meadow のバージョンを増やしたい, コードネームを別の表記にしたい場合等は, * rail-additional-flim-codename-alist (FLIM) * rail-additional-semi-codename-alist (SEMI) * rail-additional-xemacs-codename-alist (XEmacs) * rail-additional-meadow-codename-alist (Meadow) を設定してください. 設定方法は, それぞれの additional がつかない 変数と同じですので, これらが定義されている rail-table-*.el を 参照ください. なお, こちらで記述したものが優先されますので, デフォルトが 気にいらない場合等, これらの変数を設定してください. ・APEL 依存性 基本的に, rail のコードは APEL に依存しておりません. ただ, ほとんどの場合 FLIM や SEMI のコードネーム変換に利用される ことでしょうから, そういう意味では APEL 依存なのかもしれません. ・バージョン番号 rail-1.2.0 のように, "." で区切られた3つの数字でバージョンを 表しております. ふたつめの数字 (上の例だと, 2) が偶数のものが 安定バージョン, 奇数のものが開発バージョンです. # どこかでみたことあるルールだなぁ… (^^; ・今後の予定 1. XEmacs や Meadow のコードネームデータベースの充実 2. mime-view 対応 3. SEMI 系以外の User-Agent 対応 ・意見・要望等 メールで simm-emacs@fan.gr.jp までお願いします. なお, IRC 上でも受けつけております. 適当に見つけてください (^^; ・なんかうまく動かないんですが… まずは, 付属の 00FAQ に目をとおしてください. もし 00FAQ にない ような現象が起こる場合, 上と同じく, メールで simm-emacs@fan.gr.jp までお願いします. 私の見ていないメーリングリストでいろいろ言ってもはじまりません. ・配布・改変について このプログラムは free software です. GNU General Public License のもとに, このプログラムを再配布したり改変したりしてもかまいません. 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. rail-1.2.11/old/CHANGELOG000066400000000000000000000101671221033265300145150ustar00rootroot00000000000000-*- Change-Log -*- rail.el(1.2.6) Add: Meadow codenames and FLIM codenames -- Sun, 8 Dec 2002 00:36:57 +0900 rail.el(1.2.5) Add: contrib/MEADOW_VERSION (1.13b1) Bug fix: contrib/FLIM_VERSION for LIMIT-1.14.5 rail.el(1.2.4) Add: contrib/FLIM_VERSION for CHAO codename Add: convert ISO-8859-1 codename (original variable) into ISO-8859-4 -- Sun, 12 Mar 2000 23:37:13 +0900 rail.el(1.2.3) Bug fix: on some cases, after installing rail-1.2.1 / 1.2.2, fail to make SEMI and User-Agent Split: rail-mime-example-*.el from rail-user-agent.el Add: 00FAQ (Frequently Asked Questions) -- Fri, 03 Mar 2000 06:17:15 +0900 rail.el(1.2.2) Bug fix: rail-1.2.1 wasn't compatible with SEMI-1.13.* (thanks to Yoshimura.Makoto@ss.anritsu.co.jp !!) -- Wed, 01 Mar 2000 01:51:55 +0900 rail.el(1.2.1) Add: enable to replace SEMI codename in ~/.mime-example file. Bug fix: characterp (APEL depend) -> integerp (thanks to sugiyama@ae.advantest.co.jp !!) Bug fix: variable `codename' localized -- Thu, 24 Feb 2000 23:30:04 +0900 rail.el(1.2.0) Add: More REMI codename Add: code for fix irchat-pj bug even if don't convert codename. -- Thu, 24 Feb 2000 00:26:32 +0900 rail.el(1.1.5) Change: New implementation (rail-common.el/rail-user-agent.el/rail-vars.el) Bug fix: (irchat-pj bug) CTCP VERSION on irchat-pj with Meadow-beta -- Sun, 20 Feb 2000 00:35:33 +0900 rail.el(1.1.4) Bug fix: MIME-Version: header (SEMI codename) and XEmacs compatible. (thanks to Taiji.Can@atesoft.advantest.co.jp !!) -- Fri, 18 Feb 2000 01:07:20 +0900 rail.el(1.1.3) Add: "(SASHINUKI:60)"-like-formatted Meadow version compatible. Add: REMI/1.14.0 and WREMI/1.14.0 (Uragawara) compatible. Bug fix: xemacs-codename is nil when default (thanks to Taiji.Can@atesoft.advantest.co.jp !!) Bug fix: WREMI compatible (thanks to Taiji.Can@atesoft.advantest.co.jp !!) -- Fri, 11 Feb 2000 00:21:06 +0900 rail.el(1.1.2) Bug fix: On some environment, rail-replace-into-iso8859-4 makes error. (thanks to honda@itl.tnr.sharp.co.jp !!) -- Wed, 02 Feb 2000 00:33:32 +0900 rail.el(1.1.1) Bug fix: rail-user-agent-header-format (XEmacs & UTF-2000-MULE) -- Sat, 22 Jan 2000 01:06:56 +0900 rail.el(1.1.0) Change: New implementation Change: New table-maker (Thanks to kaoru@kaisei.org !!) -- Wed, 19 Jan 2000 21:37:18 +0900 rail.el(1.0.2) Extension: add LIMIT version -- Fri, 12 Nov 1999 02:50:41 +0900 rail.el(1.0.1) Bug Fix: variable "rail-mule-version-alist" -> "rail-mule-codename-alist" -- Fri, 29 Oct 1999 00:02:07 +0900 rail.el(1.0.0) Stable Release!! Add: Meadow-1.10 (TSUYU) compatible -- Thu, 28 Oct 1999 00:51:42 +0900 rail.el(0.8) Extension: UTF-2000 Mule compatible -- Sun, 17 Oct 1999 16:05:52 +0900 rail.el(0.7) Extension: irchat-pj compatible Extension: XEmacs / Meadow compatible Add: variable rail-translate-user-agent Modify: variable *-version-alist -> *-codename-alist -- Tue, 12 Oct 1999 23:18:29 +0900 rail.el(0.6) Add: variable "rail-additional-{flim|semi}-codename-alist" -> enable to add FLIM/SEMI codename by user-side. Bug fix: return English codename when not exist on table Bug fix: avoid SEMI_VERSION bug (item "Tamura") Extension: enable to "make install" without "make" Extension: enable to "make install-package" without "make package" -- Sun, 03 Oct 1999 00:12:49 +0900 rail.el(0.5) Extension: enable to rewrite "MIME-Version:" header -- Sun, 19 Sep 1999 02:10:38 +0900 rail.el(0.4) Obsolete: contrib/X_FLIM_VERSION and contrib/X_SEMI_VERSION -- Sat, 18 Sep 1999 23:10:16 +0900 rail.el(0.3) Bug fix: Makefile (package depends on $(TABLES)) Bug fix: enable to detect ISO-8859-4 code set on XEmacs -- Fri, 17 Sep 1999 00:10:21 +0900 rail.el(0.2) Bug fix: make.el (rail-main.el -> rail-user-agent.el) -> Thanks to negi@KU3G.org -- Thu, 16 Sep 1999 13:15:18 +0900 rail.el(0.1) Bug fix: PGPGPG detection Add: variable "rail-version" Filename change: rail-main.el -> rail-user-agent.el Extension: enable to load after (load "mime-setup") -- Thu, 16 Sep 1999 11:10:47 +0900 rail.el(0.0) Initial Release -- Thu, 16 Sep 1999 00:59:12 +0900 rail-1.2.11/rail-common.el000066400000000000000000000103661221033265300152650ustar00rootroot00000000000000;;; rail-common.el --- Replace Agent-string Internal Library -*- coding: iso-2022-7bit-ss2; -*- ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: i18n, internal, rail ;; 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: ;; ;;; Code: (require 'rail-vars) (defun rail-replace-character (string src dst) "Replace character src -> dst" (let ((len (length string)) (i 0)) (while (< i len) (if (eq src (aref string i)) (aset string i dst)) (setq i (1+ i))) string)) (defun rail-replace-into-iso8859-4 (string) "Replace ISO-8859-1 string into ISO-8859-4." (if rail-user-agent-replace-into-iso8859-4 (progn (rail-replace-character string ?~ ?.DN~) (rail-replace-character string ?.AN^ ?.DN^) (rail-replace-character string ?.ANo ?.DNo) (rail-replace-character string ?.ANO ?.DNO) (rail-replace-character string ?.ANr ?.DNr) (rail-replace-character string ?.ANR ?.DNR)))) (defmacro rail-assoc (string alist direction) "Do assoc or rassoc, according to direction. If direction is non-nil, returns (cdr (assoc string alist)). If direction is nil, returns (car (rassoc string alist))." (if (symbol-value direction) (list 'cdr (list 'assoc string alist)) (list 'car (list 'rassoc string alist)))) (defun rail-replace-codename-primitive (form &rest alist) "Replace codename according to pattern." (save-excursion (if (looking-at form) (let* ((beg (match-beginning 2)) (end (match-end 2)) (code (buffer-substring beg end)) (ccode (rail-assoc code (apply 'append alist) rail-convert-direction))) (goto-char beg) (delete-region beg end) (insert (or ccode code)))))) (defun rail-replace-codename-meadow (&optional char rchar) "Replace Meadow codename according to pattern." (save-excursion (let* ((delimiter (cond ((stringp char) (string-to-char char)) ((integerp char) char) (t ?:))) (new-delimiter (cond ((stringp rchar) (string-to-char rchar)) ((integerp rchar) rchar) (t delimiter)))) (if (looking-at (format rail-meadow-beta-version-header-format delimiter)) (let* ((b1 (match-beginning 2)) (e1 (match-end 2)) (b2 (match-beginning 3)) (e2 (match-end 3)) (num (buffer-substring b2 e2)) (flag (string-match "$BCJ(B" num)) (code (buffer-substring b1 e1)) (ccode (rail-assoc code (append rail-additional-meadow-codename-alist rail-meadow-codename-alist) rail-convert-direction))) (goto-char b1) (delete-region b1 e2) (insert (or ccode code) new-delimiter num) (if flag (or rail-convert-direction (delete-backward-char 1)) (and rail-convert-direction (insert "$BCJ(B")))) (rail-replace-codename-primitive rail-mule-version-header-format rail-additional-meadow-codename-alist rail-meadow-codename-alist))))) (defun rail-replace-codename (string flag &rest alist) "Replace mule-version, (Meadow-version), and utf-2000-version string." (let (buf result) (save-excursion (setq buf (get-buffer-create rail-temporary-buffer-name)) (if (set-buffer buf) (progn (erase-buffer) (insert string) (goto-char (point-min)) (if (not flag) (apply 'rail-replace-codename-primitive rail-mule-version-header-format alist) (search-forward "Meadow-" nil t) (rail-replace-codename-meadow)) (setq result (buffer-substring (point-min) (point-max)))) (kill-buffer buf))) (or result string))) (provide 'rail-common) ;;; rail-common.el ends here rail-1.2.11/rail-make-table.el000066400000000000000000000213461221033265300157770ustar00rootroot00000000000000;; rail-make-table.el -- rail-table-*.el generater ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: TAKAHASHI Kaoru ;; SHIMADA Mitsunobu ;; Keywords: MULE, Genji, FLIM, SEMI, Rail ;; This file is part of Rail ;; 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: ;; usage: ;; emacs -batch -l ./rail-make-table.el -f rail-make-table-semi ;; emacs -batch -l ./rail-make-table.el -f rail-make-table-flim ;; emacs -batch -l ./rail-make-table.el -f rail-make-table-mule ;;; Code: ;; define WHEN (or (fboundp 'when) (defmacro when (cond &rest body) "if COND yields non-nil, do BODY, else return nil." (list 'if cond (cons 'progn body)))) ;; customize variables (defvar rail-make-table-write-directory nil "Write \"rail-table-*.el\" directory. nil means current directory.") (defvar rail-make-table-read-directory "./contrib" "Read \"*_VERSION\" directory. nil means current directory.") ;; make-table functions (defun rail-make-table-flim () "Make `rail-flim-table.el'." (rail-make-table "flim" t)) (defun rail-make-table-semi () "Make `rail-semi-table.el'." (rail-make-table "semi" t)) (defun rail-make-table-mule () "Make `rail-mule-table.el'." (rail-make-table "mule" nil)) (defun rail-make-table-meadow () "Make `rail-meadow-table.el'." (rail-make-table "meadow" t)) ;; common functions (defun rail-make-table (identifier &optional add-flag) "Make rail-table-*.el." (rail-make-table-write identifier (rail-make-table-read identifier add-flag))) (defun rail-make-table-read (identifier &optional add-flag) "Read IDENTIFIER_VERSION. Return codename-alist. If non-nil ADD-FLAG, read ADD_IDENTIFIER_VERSION." (let (codename-alist) (setq codename-alist (rail-parse-file (concat (upcase identifier) "_VERSION") rail-make-table-read-directory)) (when add-flag (setq codename-alist (append (rail-parse-file (concat "ADD_" (upcase identifier) "_VERSION") rail-make-table-read-directory t) codename-alist))) codename-alist)) ; (defvar rail-make-table-coding-system-alist ; '(("flim" . "iso-2022-8bit-ss2") ; ("semi" . "iso-2022-8bit-ss2") ; ("mule" . "iso-2022-7bit") ; ("meadow" . "iso-2022-7bit")) ; "Coding-system for rail-table-*.el alist.") (defun rail-make-table-write (identifier value &optional docstring) "Make rail-table-IDENTIFIER.el." (let* (;;(coding (cdr (assoc identifier rail-make-table-coding-system-alist))) ;;(coding-system-for-write (intern-soft coding)) (coding-system-for-write 'ctext) (basename (concat "rail-table-" identifier ".el")) (file (expand-file-name basename rail-make-table-write-directory)) (temp-buffer (generate-new-buffer " *rail-make-table*"))) (unwind-protect (save-excursion (set-buffer temp-buffer) ;; insert ;(unless (string= "" coding) ; (insert (format ";; -*- coding: %s; -*-\n\n" coding))) (insert (format ";; -*- coding: ctext; -*-\n\n")) (rail-make-table-insert-defvar (concat "rail-" identifier "-codename-alist") value docstring) (insert (format "(provide 'rail-table-%s)\n" identifier)) ;; write (if (file-writable-p file) (if (get-file-buffer file) (error "%s is locked. Can't overwrite" file) (write-region (point-min) (point-max) file) file) (error "%s is write-protected" file))) (kill-buffer temp-buffer)))) (defun rail-make-table-insert-defvar (symbol-name value &optional docstring) "Insert defvar defnition." (insert (format "(defvar %s\n'(" symbol-name)) (rail-make-table-insert-dotpair (car value)) (mapcar #'rail-make-table-insert-dotpair (cdr value)) ;; last alist (delete-char -1) (insert ")") ;; insert docstring (if docstring (insert (format "\n%S)" docstring)) (insert ")")) (lisp-indent-line) (end-of-line) (insert "\n\n")) (defun rail-make-table-insert-dotpair (dotpair) "Insert alist in variable definition." (when (consp dotpair) (insert (format "(%-20S . %S)\n" (car dotpair) (cdr dotpair))) (forward-line -1) (lisp-indent-line) (forward-line 1))) ;;;; parser ;; flim, semi (defvar rail-parse-line-flim-regexp (concat "^\\([0-9b.]+\\|-+\\)\t+" ; version "\\([^\t\n]+\\)\t+\\([^\t\n]+\\)" ; en ja "\\(\t.*\\)?$") ; comment "FLIM, SEMI codename line regexp.") (defun rail-parse-line-flim () "Parse line in `(FLIM|SEMI)_VERSION', return en-code and ja-code pair. When invaild record, return nil." (let (en ja) (save-excursion (beginning-of-line) (save-match-data ;; VERSION file (SEMI) bug (when (looking-at "\\(-------\\) \\(Tamura\\)") ;(forward-char 7) ;(delete-char 1) ;(insert "\t") (replace-match "\\1\t\\2") (beginning-of-line)) ;; match (when (looking-at rail-parse-line-flim-regexp) (setq en (match-string 2)) (setq ja (match-string 3)) ;; abailable-p (if (or (null en) (null ja) (string-match "^-----" en) (string-match "^-----" ja) (string-match "^(.*)$" en) (string-match "^(.*)$" ja)) nil ; invalid (cons en ja))))))) ; else return dotpair (defalias 'rail-parse-line-semi 'rail-parse-line-flim) (defalias 'rail-parse-line-meadow 'rail-parse-line-flim) ;; mule (defvar rail-parse-line-mule-regexp (concat "^ +\\([0-9]+\\|\*\*\\)\t+" ; volume "\\([^\t\n]+\\)\t+\\([^\t\n]+\\)\t+\\([^\t\n]+\\)" ; en hira kanji ;;; "\\(\t+\\([^\t\n]+\\)\t+\\([^\t\n]+\\)?$" "\\(\t.*\\)?$") ; mule-version date "MULE codename line regexp.") (defun rail-parse-line-mule () "Parse line in `MULE_VERSION', return en-code and ja-code pair. When invaild record, return nil." ;; comment check (let (en ja) (save-excursion (beginning-of-line) (save-match-data (when (looking-at rail-parse-line-mule-regexp) (setq en (match-string 2)) (setq ja (match-string 4)) (cons en ja)))))) ;; region-parser (defun rail-parse-region (begin end parser) "Apply PARSER function each line in region. Return alist." (let (code-alist dotpair) (save-excursion (goto-char end) ; end -> begin (save-match-data (while (> (point) begin) (setq dotpair (funcall parser)) (when (consp dotpair) (add-to-list 'code-alist dotpair)) (forward-line -1)))) code-alist)) (defvar rail-parse-file-parser-alist '(("FLIM_VERSION" . rail-parse-line-flim) ("ADD_FLIM_VERSION" . rail-parse-line-flim) ("SEMI_VERSION" . rail-parse-line-semi) ("ADD_SEMI_VERSION" . rail-parse-line-semi) ("MEADOW_VERSION" . rail-parse-line-meadow) ("ADD_MEADOW_VERSION" . rail-parse-line-meadow) ("MULE_VERSION" . rail-parse-line-mule)) "Alist of file and parser pair.") (defvar rail-parse-file-coding-system-alist '(("FLIM_VERSION" . iso-2022-8bit-ss2) ("SEMI_VERSION" . iso-2022-8bit-ss2) ("MEADOW_VERSION" . iso-2022-jp) ("MULE_VERSION" . iso-2022-jp)) "Alist of file and coding-system pair.") (defun rail-parse-file (basename &optional directory noerror) "Parse *_VERSION. Return alist." (let* ((file (expand-file-name basename directory)) (parser (cdr (assoc basename rail-parse-file-parser-alist))) (coding-system-for-read (cdr (assoc basename rail-parse-file-coding-system-alist))) (temp-buffer (generate-new-buffer " *rail-parse*"))) (if (file-readable-p file) (unwind-protect (save-excursion (set-buffer temp-buffer) (insert-file-contents file) (rail-parse-region (point-min) (point-max) parser)) (kill-buffer temp-buffer)) ;; can't read (unless noerror (error "Can't read %s" file))))) (provide 'rail-make-table) ;;; rail-make-table.el ends here rail-1.2.11/rail-mime-example-1-13.el000066400000000000000000000034771221033265300167410ustar00rootroot00000000000000;;; rail-mime-example-1-13.el --- Replace Agent-string Internal Library ;; Copyright (C) 2000 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: ~/.mime-example, SEMI-1_13, Rail ;; 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: ;; ;;; Code: (require 'rail-mime-example) (defun rail-mime-example-1-13-setup () (cond ((and (fboundp 'mime-save-acting-situation-examples) (boundp 'emacs-major-version) (<= 20 emacs-major-version)) (defun rail-mime-save-acting-situation-examples () (let ((coding-system-for-write 'ctext)) (rail-mime-example-save-primitive 'rail-mime-save-acting-situation-examples-original))) (rail-mime-example-make-funcs 'mime-save-acting-situation-examples)) ((and (fboundp 'mime-save-acting-situation-examples) (boundp 'MULE)) (defun rail-mime-save-acting-situation-examples () (let ((flie-coding-system *ctext*)) (rail-mime-example-save-primitive 'rail-mime-save-acting-situation-examples-original))) (rail-mime-example-make-funcs 'mime-save-acting-situation-examples)))) (provide 'rail-mime-example-1-13) ;;; rail-mime-example-1-13.el ends here rail-1.2.11/rail-mime-example-1-14.el000066400000000000000000000051121221033265300167260ustar00rootroot00000000000000;;; rail-mime-example-1-14.el --- Replace Agent-string Internal Library ;; Copyright (C) 2000 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: ~/.mime-example, SEMI-1_14, Rail ;; 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: ;; ;;; Code: (require 'rail-mime-example) (defun rail-mime-example-1-14-setup () (cond ((and (fboundp 'mime-save-situation-examples) (boundp 'mime-situation-examples-file-coding-system) (boundp 'emacs-major-version) (<= 20 emacs-major-version)) (defun rail-mime-save-situation-examples () (let ((mime-situation-examples-file-coding-system 'ctext)) (rail-mime-example-save-primitive 'rail-mime-save-situation-examples-original))) (rail-mime-example-make-funcs 'mime-save-situation-examples)) ((and (fboundp 'mime-save-situation-examples) (boundp 'mime-situation-examples-file-coding-system) (boundp 'MULE)) (defun rail-mime-save-situation-examples () (let ((mime-situation-examples-file-coding-system *ctext*)) (rail-mime-example-save-primitive 'rail-mime-save-situation-examples-original))) (rail-mime-example-make-funcs 'mime-save-situation-examples)) ((and (fboundp 'mime-save-situation-examples) (boundp 'emacs-major-version) (<= 20 emacs-major-version)) (defun rail-mime-save-situation-examples () (let ((coding-system-for-write 'ctext)) (rail-mime-example-save-primitive 'rail-mime-save-situation-examples-original))) (rail-mime-example-make-funcs 'mime-save-situation-examples)) ((and (fboundp 'mime-save-situation-examples) (boundp 'MULE)) (defun rail-mime-save-situation-examples () (let ((flie-coding-system *ctext*)) (rail-mime-example-save-primitive 'rail-mime-save-situation-examples-original))) (rail-mime-example-make-funcs 'mime-save-situation-examples)))) (provide 'rail-mime-example-1-14) ;;; rail-mime-example-1-14.el ends here rail-1.2.11/rail-mime-example.el000066400000000000000000000037451221033265300163600ustar00rootroot00000000000000;;; rail-mime-example.el --- Replace Agent-string Internal Library ;; Copyright (C) 2000 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: ~/.mime-example, SEMI, Rail ;; 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: ;; ;;; Code: (defun rail-mime-example-save-primitive (func) (save-excursion (or (and rail-user-agent-convert-mime-example (set-buffer (get-buffer-create rail-temporary-buffer-name)) (progn (erase-buffer) (insert mime-view-version) (goto-char (point-min)) (and (looking-at rail-mime-view-version-format) (eq 'semi (cdr (assoc (buffer-substring (match-beginning 1) (match-end 1)) rail-product-name-alist))) (rail-replace-codename-primitive rail-mime-view-version-format rail-additional-semi-codename-alist rail-semi-codename-alist)) (let ((mime-view-version (buffer-substring (point-min) (point-max)))) (funcall func)) t)) (funcall func)))) (defun rail-mime-example-make-funcs (func) (let ((new (intern (concat "rail-" (prin1-to-string func)))) (old (intern (concat "rail-" (prin1-to-string func) "-original")))) (fset old (symbol-function func)) (fset func new))) (provide 'rail-mime-example) ;;; rail-mime-example.el ends here rail-1.2.11/rail-mule.el000066400000000000000000000041241221033265300147320ustar00rootroot00000000000000;;; rail-mule.el --- Replace Agent-string Internal Library ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: MULE, Meadow, Genji, Rail ;; 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: ;; ;;; Code: (require 'rail-vars) (require 'rail-common) (and rail-emulate-genjis (featurep 'mule) (boundp 'mule-version) (setq mule-version (rail-replace-codename mule-version nil rail-additional-mule-codename-alist rail-mule-codename-alist))) (and rail-mule-replace-meadow-version (featurep 'meadow) (not (fboundp 'rail-mule-original-Meadow-version)) (fset 'rail-mule-original-Meadow-version (symbol-function 'Meadow-version)) (defvar rail-mule-meadow-en-version (rail-mule-original-Meadow-version) "Meadow-version in ANK code") (defvar rail-mule-meadow-ja-version (rail-replace-codename rail-mule-meadow-en-version t rail-additional-meadow-codename-alist rail-meadow-codename-alist) "Meadow-verion in JISX0208 code") (defun rail-mule-meadow-version (&optional dummy) "return the Meadow's version in string. The optional argument DUMMY is not currently used." (if rail-convert-direction rail-mule-meadow-ja-version rail-mule-meadow-en-version)) (fset 'Meadow-version 'rail-mule-meadow-version)) (provide 'rail-mule) ;;; rail-mule.el ends here rail-1.2.11/rail-pj.el000066400000000000000000000075031221033265300144050ustar00rootroot00000000000000;;; rail-pj.el --- Replace Agent-string Internal Library ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: irchat-pj, Rail ;; 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: ;; compatible with irchat-pj 2.4.24.11 or later ;;; Code: (defun rail-pj-bugfix-version () "Bug fix for irchat-pj-version-string." (let (buf result) (save-excursion (setq buf (get-buffer-create rail-temporary-buffer-name)) (if (set-buffer buf) (progn (erase-buffer) (insert irchat-pj-version-string) ;; Meadow (goto-char (point-min)) (and (re-search-forward "Meadow\\s +" nil t) (re-search-forward ":[0-9]+)" nil t) (goto-char (match-beginning 0)) (progn (delete-char 1) (insert "/"))) ;; add "powered by rail-*" (goto-char (point-min)) (and (re-search-forward " :" nil t) (progn (goto-char (match-beginning 0)) (insert " powered by rail-" rail-version))) ;; result (setq irchat-pj-version-string (buffer-substring (point-min) (point-max))) (kill-buffer buf))) irchat-pj-version-string))) (defun rail-pj-replace-version () "Replace irchat-pj-version-string." (let (buf result) (save-excursion (setq buf (get-buffer-create rail-temporary-buffer-name)) (if (set-buffer buf) (progn (erase-buffer) (insert irchat-pj-version-string) ;; MULE (goto-char (point-min)) (and (re-search-forward "MULE\\s +" nil t) (rail-replace-codename-primitive rail-pj-mule-format rail-additional-mule-codename-alist rail-mule-codename-alist)) ;; Meadow (goto-char (point-min)) (and (re-search-forward "Meadow\\s +" nil t) (rail-replace-codename-meadow ?: ?/) (rail-replace-codename-meadow ?/)) ;; XEmacs (goto-char (point-min)) (and (re-search-forward "XEmacs\\s +" nil t) (rail-replace-codename-primitive rail-pj-xmas-format rail-additional-xmas-codename-alist rail-xmas-codename-alist)) ;; UTF-2000-Mule (goto-char (point-min)) (and (re-search-forward "UTF-2000-MULE" nil t) (looking-at rail-pj-utf-2000-format) (let* ((beg (match-beginning 0)) (end (match-end 0))) (goto-char beg) (delete-region beg end) (insert " " utf-2000-version) (goto-char beg) (forward-char 1) (rail-replace-codename-primitive rail-pj-utf-2000-retry-format rail-additional-utf2000-codename-alist rail-utf2000-codename-alist))) ;; add "powered by rail-*" (goto-char (point-min)) (and (re-search-forward " :" nil t) (progn (goto-char (match-beginning 0)) (insert " powered by rail-" rail-version))) ;; result (setq irchat-pj-version-string (buffer-substring (point-min) (point-max))) (kill-buffer buf))) irchat-pj-version-string))) (if rail-pj-convert (if (featurep 'irchat-pj-version-string) (rail-pj-replace-version) (add-hook 'irchat-pj-version-string-hook 'rail-pj-replace-version)) (if (featurep 'irchat-pj-version-string) (rail-pj-bugfix-version) (add-hook 'irchat-pj-version-string-hook 'rail-pj-bugfix-version))) (provide 'rail-pj) ;;; rail-pj.el ends here rail-1.2.11/rail-table-utf2000.el000066400000000000000000000016571221033265300161650ustar00rootroot00000000000000;; -*- coding: ctext; -*- (defvar rail-utf2000-codename-alist '(("JR-Namba" . "JR$(BFqGH(B") ("Imamiya" . "$(B:#5\(B") ("Shin-Imamiya" . "$(B?7:#5\(B") ("Tenn-Dji"-A . "$(BE72&;{(B") ("T-Dbushij-mae"-A . "$(BElIt;T>lA0(B") ("Hirano" . "$(BJ?Ln(B") ("Kami" . "$(B2CH~(B") ("Ky-Dhji"-A . "$(B5WJu;{(B") ("Yao" . "$(BH,Hx(B") ("Shiki" . "$(B;V5*(B") ("Kashiwara" . "$(BGp86(B") ("Takaida" . "$(B9b0fED(B") ("Kawachi-Katakami" . "$(B2OFb7x>e(B") ("Sang-D"-A . "$(B;06?(B") ("-Dji"-A . "$(B2&;{(B") ("H-Dryji"-A . "$(BK!N4;{(B") ("Yamato-Koizumi" . "$(BBgOB>.@t(B") ("K-Driyama"-A . "$(B74;3(B") ("Nara" . "$(BF`NI(B"))) (provide 'rail-table-utf2000) rail-1.2.11/rail-table-xmas.el000066400000000000000000000005711221033265300160270ustar00rootroot00000000000000;; -*- coding: iso-2022-jp; -*- (defvar rail-xmas-codename-alist '(("20 Minutes to Nikko" . "$(BF|8w$^$G(B20$(BJ,(B") ("Sakuragawa" . "$(B:y@n(B") ("Sumida" . "$(BKOED(B") ("Chiyoda" . "$(B@iBeED(B") ("Toshima" . "$(BK-Eg(B") ("Shinjuku" . "$(B?7=I(B"))) (provide 'rail-table-xmas) rail-1.2.11/rail-user-agent.el000066400000000000000000000145611221033265300160500ustar00rootroot00000000000000;;; rail-user-agent.el --- Replace Agent-string Internal Library ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: User-Agent, MIME-Version, FLIM, SEMI, Rail ;; 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: ;; Current version supports only MULE, FLIM, and SEMI. ;;; Code: (require 'rail-vars) (require 'rail-common) ;; search header (defun rail-user-agent-search-header (head) "Search header string and return region." (let ((case-fold-search t)) (save-excursion (goto-char (point-min)) (and (re-search-forward (format "^%s:\\s +" head) nil t) (let ((pt (point))) (if (catch 'header-end (while (not (eobp)) (forward-line 1) (or (looking-at "\\s ") (throw 'header-end t)))) (progn (forward-char -1) (cons pt (point))))))))) ;; replace MIME-Version: header dynamically (defun rail-user-agent-replace-mime-version-region (region) "Replace codename in MIME-Version: region." (and region (car region) (cdr region) (save-restriction (narrow-to-region (car region) (cdr region)) (goto-char (point-min)) (and (looking-at rail-mime-version-header-format) (rail-replace-codename-primitive rail-mime-version-header-format rail-additional-semi-codename-alist rail-semi-codename-alist)) (buffer-substring (point-min) (point-max))))) ;; replace User-Agent: header dynamically (defun rail-user-agent-replace-user-agent-region (region) "Replace codename in User-Agent: region." (and region (car region) (cdr region) (save-restriction (narrow-to-region (car region) (cdr region)) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \t\r\n") (if (not (looking-at "\\([^ \t\r\n/]+\\)/")) (skip-chars-forward "^ \t\r\n") (let ((kind (rail-assoc (upcase (buffer-substring (match-beginning 1) (match-end 1))) rail-product-name-alist t))) (if (not kind) (skip-chars-forward "^ \t\r\n") (goto-char (match-end 0)) (or (and (eq 'xmas kind) (looking-at rail-user-agent-header-xmas-format) (rail-replace-codename-primitive rail-user-agent-header-xmas-format rail-additional-xmas-codename-alist rail-xmas-codename-alist)) (let* ((skind (prin1-to-string kind)) (alist-a (intern (format "rail-additional-%s-codename-alist" skind))) (alist-b (intern (format "rail-%s-codename-alist" skind)))) (and (looking-at rail-user-agent-header-format) (boundp alist-a) (boundp alist-b) (rail-replace-codename-primitive rail-user-agent-header-format (symbol-value alist-a) (symbol-value alist-b))))) (and (eq 'meadow kind) (rail-replace-codename-meadow)))))) (buffer-substring (point-min) (point-max))))) ;; replace header with rail-user-agent-replace-{mime-version|user-agent}-region (defun rail-user-agent-translate-body (&optional buf) "Translate message body. It executes after mime-edit-translate-body." (and rail-user-agent-convert-dynamically (save-excursion (and buf (set-buffer buf)) (mapcar '(lambda (item) (rail-user-agent-replace-mime-version-region (rail-user-agent-search-header item))) rail-mime-version-header-item-list) (mapcar '(lambda (item) (rail-user-agent-replace-user-agent-region (rail-user-agent-search-header item))) rail-user-agent-header-item-list)))) ;; replace statically (defun rail-user-agent-replace-string () "Replace mime-edit-user-agent-value and mime-edit-mime-version-value." (and rail-user-agent-convert-statically (let (buf codename) (save-excursion (setq buf (get-buffer-create rail-temporary-buffer-name)) (if (set-buffer buf) (progn ;; mime-edit-mime-version-value (erase-buffer) (insert mime-edit-mime-version-value) (setq mime-edit-mime-version-value (rail-user-agent-replace-mime-version-region (cons (point-min) (point-max)))) ;; mime-edit-user-agent-value (erase-buffer) (insert mime-edit-user-agent-value) (setq mime-edit-user-agent-value (rail-user-agent-replace-user-agent-region (cons (point-min) (point-max)))) ;; end (kill-buffer buf)))))) ;; mime-library-product (and rail-user-agent-convert-statically rail-user-agent-replace-mime-library-product (boundp 'mime-library-product) (let ((codename (mime-product-code-name mime-library-product))) (aset mime-library-product 2 (or (rail-assoc codename (append rail-additional-flim-codename-alist rail-flim-codename-alist) rail-convert-direction) codename)))) ;; mime-user-interface-product (and rail-user-agent-convert-statically rail-user-agent-replace-mime-user-interface-product (boundp 'mime-user-interface-product) (let ((codename (mime-product-code-name mime-user-interface-product))) (aset mime-user-interface-product 2 (or (rail-assoc codename (append rail-additional-semi-codename-alist rail-semi-codename-alist) rail-convert-direction) codename))))) ;; add mime-edit-translate-buffer-hook (defun rail-user-agent-add-hook () "Add hook for rail-user-agent" (let ((list (memq 'mime-edit-translate-body mime-edit-translate-buffer-hook))) (or (memq 'rail-user-agent-translate-body mime-edit-translate-buffer-hook) (setcdr list (cons 'rail-user-agent-translate-body (cdr list)))))) ;; add mime-edit-load-hook (if (not (featurep 'mime-edit)) (add-hook 'mime-edit-load-hook '(lambda () (rail-user-agent-add-hook) (rail-user-agent-replace-string))) (rail-user-agent-add-hook) (rail-user-agent-replace-string)) (provide 'rail-user-agent) ;;; rail-user-agent.el ends here rail-1.2.11/rail-vars.el000066400000000000000000000145501221033265300147470ustar00rootroot00000000000000;;; rail-vars.el --- Replace Agent-string Internal Library ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: i18n, internal, rail ;; 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: ;; ;;; Code: (require 'rail-table-semi) (require 'rail-table-flim) (require 'rail-table-mule) (require 'rail-table-meadow) (require 'rail-table-utf2000) (require 'rail-table-xmas) (defvar rail-version "1.2.11" "Version number of rail.el") (defvar rail-temporary-buffer-name " *Rail*" "Temporary buffer to replace codename string") ;; replace candidates for replacement (defvar rail-product-name-alist '(("SEMI" . semi) ("SEMI-EPG" . semi) ("WEMI" . semi) ("REMI" . semi) ("WREMI" . semi) ("EMIKO" . semi) ("WEMIKO" . semi) ("FLIM" . flim) ("CLIME" . flim) ("CHAO" . flim) ("LIMIT" . flim) ("MULE" . mule) ("MEADOW" . meadow) ("UTF-2000-MULE" . utf2000) ("XEMACS" . xmas)) "Association-list of product name. Each pair is '(\"Name\" . kind)") ;; Mule / Meadow / UTF-2000-MULE version format (defvar rail-mule-version-header-format "\\([.0-9]+\\|[.0-9]+ Beta[0-9]*\\) (\\([^()]+\\))" "Format of mule-version, (Meadow-version), utf-2000-version string. This variable is used in `rail-replace-codename-primitive'.") ;; Meadow beta version format (defvar rail-meadow-beta-version-header-format "\\([.0-9]+\\|[.0-9]+ Beta[0-9]*\\)[ \t\r\n](\\([^()]+\\)%c\\([0-9]+$BCJ(B?\\))" "Format of (Meadow-version) string for Meadow-beta. This variable is used in rail-replace-codename.") ;; mime-view-version format (defvar rail-mime-view-version-format "\\([A-Za-z]+\\) MIME-View [.0-9]+ (\\([^()]*\\))" "`mime-view-version' format.") ;; MIME-Version: header format (defvar rail-mime-version-header-format "[.0-9]+ (generated by \\([A-Za-z]+\\) [.0-9]+ - \"\\([^()]*\\)\")" "MIME-Version: header pattern.") ;; User-Agent: header (defvar rail-mime-version-header-item-list '("MIME-Header") "Headers in which codename replaces. Each codename should be aligned like rail-mime-version-header-format.") ;; User-Agent: header format (defvar rail-user-agent-header-format "\\([.0-9]+\\|[.0-9]+ Beta[0-9]*\\)[ \t\r\n]+(\\([^()]+\\))" "User-Agent: header pattern. Each products are written like below. ex. LIMIT/1.13.4 (Harinakano) match-data 1: interface product name match-data 2: codename") ;; User-Agent: header format (for XEmacs beta) (defvar rail-user-agent-header-xmas-format "\\([.0-9]+\\)[ \t\r\n]+([^()]+)[ \t\r\n]+(\\([^()]+\\))" "User-Agent: header pattern for XEmacs. Each products are written like below. ex1. XEmacs/21.1 (20 Minutes to Nikko) ex2. XEmacs/21.2 (beta19) (Shinjuku) match-data 1: interface product name match-data 2: architecture or codename Used only when having beta or patch number.") ;; User-Agent: header (defvar rail-user-agent-header-item-list '("User-Agent" "X-Mailer" "X-Newsreader") "Headers in which codename replaces. Each codename should be aligned like `rail-user-agent-header-format'.") ;; CTCP VERSION format (defvar rail-pj-mule-format "\\([.0-9]+\\) (\\([^()]+\\))" "CTCP VERSION format for Mule version") (defvar rail-pj-meadow-format "\\([.0-9]+\\) (\\([^()]+\\))" "CTCP VERSION format for Meadow version") (defvar rail-pj-xmas-format "\\([-.0-9A-Za-z]+\\) \"\\([^\"]+\\)\"" "CTCP VERSION format for XEmacs version") (defvar rail-pj-utf-2000-format "[/ ][.0-9]+" "CTCP VERSION format for UTF-2000-MULE version") (defvar rail-pj-utf-2000-retry-format "\\([.0-9]+\\) (\\([^\"]+\\))" "CTCP VERSION format for UTF-2000-MULE version (Retry)") ;; customizable variables (defvar rail-additional-semi-codename-alist nil "Additional codename for SEMI.") (defvar rail-additional-flim-codename-alist nil "Additional codename for FLIM.") (defvar rail-additional-mule-codename-alist nil "Additional codename for Mule.") (defvar rail-additional-meadow-codename-alist nil "Additional codename for Meadow.") (defvar rail-additional-utf2000-codename-alist nil "Additional codename for UTF-2000 Mule.") (defvar rail-additional-xmas-codename-alist nil "Additional codename for XEmacs.") ;; replace original codename or not (defvar rail-user-agent-replace-mime-library-product t "If non-nil, replace FLIM codename.") (defvar rail-user-agent-replace-mime-user-interface-product t "If non-nil, replace SEMI codename.") (defvar rail-emulate-genjis t "If non-nil, replace MULE version.") (defvar rail-mule-replace-meadow-version t "If non-nil, replace (Meadow-version).") (defvar rail-xmas-replace-xemacs-codename t "If non-nil, replace `xemacs-codename'.") (defvar rail-xmas-replace-utf-2000-version t "If non-nil, replace `utf-2000-version'.") ;; for rail-pj (defvar rail-pj-convert t "Convert codename in CTCP VERSION string.") ;; for rail-user-agent (defvar rail-user-agent-convert-statically t "Convert codename statically. If non-nil, rail replaces `mime-edit-user-agent-value' and `mime-edit-mime-version-value'.") (defvar rail-user-agent-convert-dynamically t "Convert codename dynamically. If non-nli, rail replaces User-Agent: and MIME-Version: header after `mime-edit-translate-body'.") (defvar rail-user-agent-replace-into-iso8859-4 t "Convert ISO-8859-1 codename into ISO-8859-4. If nil, stop to convert via (rail-user-agent-replace-into-iso8859-4)") (defvar rail-user-agent-convert-mime-example t "Convert SEMI codename on .mime-example.") ;; conversion direction (defvar rail-convert-direction t "Define convert direction. If non-nil, rail replaces ISO-8859-4 into Japanese. If nil, rail replaces Japanese into ISO-8859-4.") (provide 'rail-vars) ;;; rail-vars.el ends here rail-1.2.11/rail-xmas.el000066400000000000000000000031401221033265300147350ustar00rootroot00000000000000;;; rail-xmas.el --- Replace Agent-string Internal Library ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: XEmacs, UTF-2000-MULE, Rail ;; 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: ;; ;;; Code: (require 'rail-vars) (require 'rail-common) (let (codename) (and rail-xmas-replace-xemacs-codename (featurep 'xemacs) (boundp 'xemacs-codename) (setq codename (rail-assoc xemacs-codename (append rail-additional-xmas-codename-alist rail-xmas-codename-alist) rail-convert-direction)) (setq xemacs-codename codename))) (and rail-xmas-replace-utf-2000-version (featurep 'utf-2000) (boundp 'utf-2000-version) (setq utf-2000-version (rail-replace-codename utf-2000-version nil rail-additional-utf2000-codename-alist rail-utf2000-codename-alist))) (provide 'rail-xmas) ;;; rail-xmas.el ends here rail-1.2.11/rail.el000066400000000000000000000044111221033265300137710ustar00rootroot00000000000000;;; rail.el --- Replace Agent-string Internal Library ;; Copyright (C) 1999 by Free Software Foundation, Inc. ;; Author: SHIMADA Mitsunobu ;; Keywords: MULE, XEmacs, Meadow, UTF-2000, Genji, FLIM, SEMI, Rail ;; 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: ;; Current version supports only MULE, FLIM, and SEMI. ;;; Code: (require 'rail-vars) (cond ((featurep 'xemacs) (require 'rail-xmas)) ((featurep 'mule) (require 'rail-mule))) ;; Replace ISO-8859-1 character into ISO-8859-4 (and rail-user-agent-replace-into-iso8859-4 (fboundp 'eval-after-load) (eval-after-load "mime-def" '(aset mime-library-product 2 (rail-replace-into-iso8859-4 (aref mime-library-product 2))))) (and rail-user-agent-replace-into-iso8859-4 (fboundp 'eval-after-load) (eval-after-load "semi-def" '(aset mime-user-interface-product 2 (rail-replace-into-iso8859-4 (aref mime-user-interface-product 2))))) ;; load rail-user-agent.el (if (featurep 'semi-def) (load "rail-user-agent") (add-hook 'mime-setup-load-hook '(lambda () (load "rail-user-agent")))) ;; load rail-mime-example-1-13.el for SEMI-1.13.* (and (fboundp 'eval-after-load) (eval-after-load "mime-play" (progn (load "rail-mime-example-1-13") '(rail-mime-example-1-13-setup)))) ;; load rail-mime-example-1-14.el for SEMI-1.14.* (and (fboundp 'eval-after-load) (eval-after-load "mime-view" (progn (load "rail-mime-example-1-14") '(rail-mime-example-1-14-setup)))) ;; for irchat-pj (require 'rail-pj) ;; That's all (provide 'rail) ;;; rail.el ends here rail-1.2.11/rail.rcp000066400000000000000000000004251221033265300141560ustar00rootroot00000000000000(:name rail :description "Elisp library, translates codenames with latin chars of FLIM/SEMI/Mule..." :type github :pkgname "uwabami/rail" :autoloads nil :depends (flim semi) :build `(("make" ,(concat " EMACS=" el-get-emacs))) )