diff options
| author | Kenichi Handa | 2010-09-16 11:11:13 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-09-16 11:11:13 +0900 |
| commit | 38d50547c2a8195bed0aaeafbbc4c0f277d4e416 (patch) | |
| tree | 388416c9f2cc4746d0d2d9e525a50a6c2f00f3d4 /etc | |
| parent | fa3f60399014127e711f3f438004950cba0bddb9 (diff) | |
| parent | 6139f995addcb8fce63deb30c7ed0e6f2b618b02 (diff) | |
| download | emacs-38d50547c2a8195bed0aaeafbbc4c0f277d4e416.tar.gz emacs-38d50547c2a8195bed0aaeafbbc4c0f277d4e416.zip | |
merge trunk
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/ChangeLog | 13 | ||||
| -rw-r--r-- | etc/NEWS | 58 | ||||
| -rw-r--r-- | etc/NEWS.23 | 2 | ||||
| -rw-r--r-- | etc/TODO | 502 | ||||
| -rw-r--r-- | etc/emacs.bash | 71 | ||||
| -rw-r--r-- | etc/emacs.csh | 31 | ||||
| -rw-r--r-- | etc/ms-kermit | 172 |
7 files changed, 563 insertions, 286 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog index 70e002f0f9e..84754efb148 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2010-09-13 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * NEWS: Some Tramp methods are discontinued. | ||
| 4 | |||
| 5 | 2010-09-11 Glenn Morris <rgm@gnu.org> | ||
| 6 | |||
| 7 | * emacs.bash, emacs.csh, ms-kermit: Remove obsolete files (use | ||
| 8 | emacsclient -a instead of the first two). | ||
| 9 | |||
| 10 | 2010-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 11 | |||
| 12 | * NEWS: Mention the new libxml2 functions. | ||
| 13 | |||
| 1 | 2010-08-25 Kenichi Handa <handa@m17n.org> | 14 | 2010-08-25 Kenichi Handa <handa@m17n.org> |
| 2 | 15 | ||
| 3 | * HELLO: Change designation sequences for Arabic text. | 16 | * HELLO: Change designation sequences for Arabic text. |
| @@ -113,21 +113,17 @@ The frame-parameter tool-bar-position controls this. It takes the values | |||
| 113 | top, left, right or bottom. The Options => Show/Hide menu has entries | 113 | top, left, right or bottom. The Options => Show/Hide menu has entries |
| 114 | for this. | 114 | for this. |
| 115 | 115 | ||
| 116 | ** ImageMagick support | 116 | ** ImageMagick support. |
| 117 | It is now possible to use the Imagemagick library to load many new | 117 | It is now possible to use the Imagemagick library to load many new |
| 118 | image formats in Emacs. | 118 | image formats in Emacs. To enable this, use the configure option |
| 119 | `--with-imagemagick'. | ||
| 119 | 120 | ||
| 120 | To enable, use the following configure option: | 121 | The new function `imagemagick-types' returns a list of image file |
| 121 | --with-imagemagick | 122 | extensions that your installation of ImageMagick supports. The |
| 123 | function `imagemagick-register-types' enables ImageMagick support for | ||
| 124 | these imaeg types, minus those listed in `imagemagick-types-inhibit'. | ||
| 122 | 125 | ||
| 123 | The new function (imagemagick-types) returns a list of image file | 126 | See the Emacs Lisp Reference Manual for more information. |
| 124 | extensions that your installation of imagemagick supports. | ||
| 125 | |||
| 126 | The function (imagemagick-register-types) will enable the imagemagick | ||
| 127 | support for the extensions in imagemagick-types minus the types listed | ||
| 128 | in imagemagick-types-inhibit. | ||
| 129 | |||
| 130 | See the Emacs Manual for more information. | ||
| 131 | 127 | ||
| 132 | ** The colors for selected text (the region face) are taken from the GTK | 128 | ** The colors for selected text (the region face) are taken from the GTK |
| 133 | theme when Emacs is built with GTK. | 129 | theme when Emacs is built with GTK. |
| @@ -321,10 +317,24 @@ For example, adding "(diff-mode . ((mode . whitespace)))" to your | |||
| 321 | variables `sql-product', `sql-user', `sql-server', `sql-database' and | 317 | variables `sql-product', `sql-user', `sql-server', `sql-database' and |
| 322 | `sql-port' can now be safely used as local variables. | 318 | `sql-port' can now be safely used as local variables. |
| 323 | 319 | ||
| 320 | *** `sql-dialect' is a synonym for `sql-product'. | ||
| 321 | |||
| 324 | *** Added ability to login with a port on MySQL. | 322 | *** Added ability to login with a port on MySQL. |
| 325 | The custom variable `sql-port' can be specified for connection to | 323 | The custom variable `sql-port' can be specified for connection to |
| 326 | MySQL servers. | 324 | MySQL servers. |
| 327 | 325 | ||
| 326 | *** Dynamic selection of product in an SQL interactive session. | ||
| 327 | If you use `sql-product-interactive' to start an SQL interactive | ||
| 328 | session it uses the current value of `sql-product'. Preceding the | ||
| 329 | invocation with C-u will force it to ask for the product before | ||
| 330 | creating the session. | ||
| 331 | |||
| 332 | *** Renaming a SQL interactive buffer when it is created. | ||
| 333 | Prefixing the SQL interactive commands (`sql-sqlite', `sql-postgres', | ||
| 334 | `sql-mysql', etc.) with C-u will force a new interactive session to be | ||
| 335 | started and will prompt for the new name. This will reduce the need | ||
| 336 | for `sql-rename-buffer' is most common use cases. | ||
| 337 | |||
| 328 | *** Command continuation prompts in SQL interactive mode are suppressed. | 338 | *** Command continuation prompts in SQL interactive mode are suppressed. |
| 329 | Multiple line commands in SQL interactive mode, generate command | 339 | Multiple line commands in SQL interactive mode, generate command |
| 330 | continuation prompts which needlessly confuse the output. These | 340 | continuation prompts which needlessly confuse the output. These |
| @@ -424,6 +434,11 @@ threads simultaneously. | |||
| 424 | *** It is possible now, to access alternative buses than the default | 434 | *** It is possible now, to access alternative buses than the default |
| 425 | system or session bus. | 435 | system or session bus. |
| 426 | 436 | ||
| 437 | ** Tramp | ||
| 438 | |||
| 439 | *** The following access methods are discontinued: "ssh1_old", | ||
| 440 | "ssh2_old", "scp1_old", "scp2_old" and "fish". | ||
| 441 | |||
| 427 | 442 | ||
| 428 | * New Modes and Packages in Emacs 24.1 | 443 | * New Modes and Packages in Emacs 24.1 |
| 429 | 444 | ||
| @@ -470,8 +485,19 @@ has now been removed. | |||
| 470 | 485 | ||
| 471 | * Lisp changes in Emacs 24.1 | 486 | * Lisp changes in Emacs 24.1 |
| 472 | 487 | ||
| 488 | ** New variable syntax-propertize-function to set syntax-table properties. | ||
| 489 | Replaces font-lock-syntactic-keywords which are now obsolete. | ||
| 490 | This allows syntax-table properties to be set independently from font-lock: | ||
| 491 | just call syntax-propertize to make sure the text is propertized. | ||
| 492 | Together with this new variable come a new hook | ||
| 493 | syntax-propertize-extend-region-functions, as well as two helper functions: | ||
| 494 | syntax-propertize-via-font-lock to reuse old font-lock-syntactic-keywords | ||
| 495 | as-is; and syntax-propertize-rules which provides a new way to specify | ||
| 496 | syntactic rules. | ||
| 497 | |||
| 473 | ** New hook post-self-insert-hook run at the end of self-insert-command. | 498 | ** New hook post-self-insert-hook run at the end of self-insert-command. |
| 474 | 499 | ||
| 500 | +++ | ||
| 475 | ** Syntax tables support a new "comment style c" additionally to style b. | 501 | ** Syntax tables support a new "comment style c" additionally to style b. |
| 476 | ** frame-local variables cannot be let-bound any more. | 502 | ** frame-local variables cannot be let-bound any more. |
| 477 | ** prog-mode is a new major-mode meant to be the parent of programming mode. | 503 | ** prog-mode is a new major-mode meant to be the parent of programming mode. |
| @@ -497,6 +523,14 @@ by the Graphic Control Extension of the image. | |||
| 497 | 523 | ||
| 498 | *** `image-extension-data' is renamed to `image-metadata'. | 524 | *** `image-extension-data' is renamed to `image-metadata'. |
| 499 | 525 | ||
| 526 | ** XML and HTML parsing | ||
| 527 | |||
| 528 | *** If Emacs is compiled with libxml2 support (which is the default), | ||
| 529 | two new Emacs Lisp-level functions are defined: `html-parse-string' | ||
| 530 | (which will parse "real world" HTML) and `xml-parse-string' (which | ||
| 531 | parses XML). Both return an Emacs Lisp parse tree. See the Emacs | ||
| 532 | Lisp Reference Manual for details. | ||
| 533 | |||
| 500 | ** Isearch | 534 | ** Isearch |
| 501 | 535 | ||
| 502 | *** New hook `isearch-update-post-hook' that runs in `isearch-update'. | 536 | *** New hook `isearch-update-post-hook' that runs in `isearch-update'. |
diff --git a/etc/NEWS.23 b/etc/NEWS.23 index 74291bab8ab..e63767d891c 100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 | |||
| @@ -40,6 +40,8 @@ This can be used in place of the default appt-message-warning-time. | |||
| 40 | 40 | ||
| 41 | * Lisp changes in Emacs 23.3 | 41 | * Lisp changes in Emacs 23.3 |
| 42 | 42 | ||
| 43 | ** The use of unintern without an obarray arg is declared obsolete. | ||
| 44 | |||
| 43 | ** New function byte-to-string, like char-to-string but for bytes. | 45 | ** New function byte-to-string, like char-to-string but for bytes. |
| 44 | 46 | ||
| 45 | 47 | ||
| @@ -625,6 +625,508 @@ http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02234.html | |||
| 625 | the window associated with that modeline. | 625 | the window associated with that modeline. |
| 626 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg02416.html | 626 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg02416.html |
| 627 | 627 | ||
| 628 | * Things to be done for specific packages or features | ||
| 629 | |||
| 630 | ** ImageMagick support | ||
| 631 | |||
| 632 | *** image-type-header-regexps priorities the jpeg loader over the | ||
| 633 | ImageMagick one. This is not wrong, but how should a user go about | ||
| 634 | prefering the ImageMagick loader? The user might like zooming etc in jpegs. | ||
| 635 | |||
| 636 | Try (setq image-type-header-regexps nil) for a quick hack to prefer | ||
| 637 | ImageMagick over the jpg loader. | ||
| 638 | |||
| 639 | *** For some reason its unbearably slow to look at a page in a large | ||
| 640 | image bundle using the :index feature. The ImageMagick "display" | ||
| 641 | command is also a bit slow, but nowhere near as slow as the Emacs | ||
| 642 | code. It seems ImageMagick tries to unpack every page when loading the | ||
| 643 | bundle. This feature is not the primary usecase in Emacs though. | ||
| 644 | |||
| 645 | ImageMagick 6.6.2-9 introduced a bugfix for single page djvu load. It | ||
| 646 | is now much faster to use the :index feature, but still not very fast. | ||
| 647 | |||
| 648 | *** Try to cache the num pages calculation. It can take a while to | ||
| 649 | calculate the number of pages, and if you need to do it for each page | ||
| 650 | view, page-flipping becomes uselessly slow. | ||
| 651 | |||
| 652 | *** Integrate with image-dired. | ||
| 653 | |||
| 654 | *** Integrate with docview. | ||
| 655 | |||
| 656 | *** Integrate with image-mode. | ||
| 657 | Some work has been done, e.g. M-x image-transform-fit-to-height will | ||
| 658 | fit the image to the height of the Emacs window. | ||
| 659 | |||
| 660 | *** Look for optimizations for handling images with low depth. | ||
| 661 | Currently the code seems to default to 24 bit RGB which is costly for | ||
| 662 | images with lower bit depth. | ||
| 663 | |||
| 664 | *** Decide what to do with some uncommitted imagemagick support | ||
| 665 | functions for image size etc. | ||
| 666 | |||
| 667 | *** Test with more systems. | ||
| 668 | Tested on Fedora 12, 14, and the libmagick that ships with it. | ||
| 669 | I also tried using an ImageMagick compiled from their SVN, in | ||
| 670 | parallel with the one packaged by Fedora, it worked well. | ||
| 671 | Ubuntu 8.04 was tested, but it seems it ships a broken ImageMagick. | ||
| 672 | |||
| 673 | ** nxml mode | ||
| 674 | |||
| 675 | *** High priority | ||
| 676 | |||
| 677 | **** Command to insert an element template, including all required | ||
| 678 | attributes and child elements. When there's a choice of elements | ||
| 679 | possible, we could insert a comment, and put an overlay on that | ||
| 680 | comment that makes it behave like a button with a pop-up menu to | ||
| 681 | select the appropriate choice. | ||
| 682 | |||
| 683 | **** Command to tag a region. With a schema should complete using legal | ||
| 684 | tags, but should work without a schema as well. | ||
| 685 | |||
| 686 | **** Provide a way to conveniently rename an element. With a schema should | ||
| 687 | complete using legal tags, but should work without a schema as well. | ||
| 688 | |||
| 689 | *** Outlining | ||
| 690 | |||
| 691 | **** Implement C-c C-o C-q. | ||
| 692 | |||
| 693 | **** Install pre/post command hook for moving out of invisible section. | ||
| 694 | |||
| 695 | **** Put a modify hook on invisible sections that expands them. | ||
| 696 | |||
| 697 | **** Integrate dumb folding somehow. | ||
| 698 | |||
| 699 | **** An element should be able to be its own heading. | ||
| 700 | |||
| 701 | **** Optimize to avoid complete buffer scan on each command. | ||
| 702 | |||
| 703 | **** Make it work with HTML-style headings (i.e. level indicated by | ||
| 704 | name of heading element rather than depth of section nesting). | ||
| 705 | |||
| 706 | **** Recognize root element as a section provided it has a title, even | ||
| 707 | if it doesn't match section-element-name-regex. | ||
| 708 | |||
| 709 | **** Support for incremental search automatically making hidden text visible. | ||
| 710 | |||
| 711 | **** Allow title to be an attribute. | ||
| 712 | |||
| 713 | **** Command that says to recognize the tag at point as a section/heading. | ||
| 714 | |||
| 715 | **** Explore better ways to determine when an element is a section | ||
| 716 | or a heading. | ||
| 717 | |||
| 718 | **** rng-next-error needs to either ignore invisible portion or reveal it | ||
| 719 | (maybe use isearch oriented text properties). | ||
| 720 | |||
| 721 | **** Errors within hidden section should be highlighted by underlining the | ||
| 722 | ellipsis. | ||
| 723 | |||
| 724 | **** Make indirect buffers work. | ||
| 725 | |||
| 726 | **** How should nxml-refresh outline recover from non well-formed tags? | ||
| 727 | |||
| 728 | **** Hide tags in title elements? | ||
| 729 | |||
| 730 | **** Use overlays instead of text properties for holding outline state? | ||
| 731 | Necessary for indirect buffers to work? | ||
| 732 | |||
| 733 | **** Allow an outline to go in the speedbar. | ||
| 734 | |||
| 735 | **** Split up outlining manual section into subsections. | ||
| 736 | |||
| 737 | **** More detail in the manual about each outlining command. | ||
| 738 | |||
| 739 | **** More menu entries for hiding/showing? | ||
| 740 | |||
| 741 | **** Indication of many lines have been hidden? | ||
| 742 | |||
| 743 | *** Locating schemas | ||
| 744 | |||
| 745 | **** Should rng-validate-mode give the user an opportunity to specify a | ||
| 746 | schema if there is currently none? Or should it at least give a hint | ||
| 747 | to the user how to specify a non-vacuous schema? | ||
| 748 | |||
| 749 | **** Support for adding new schemas to schema-locating files. | ||
| 750 | Add documentElement and namespace elements. | ||
| 751 | |||
| 752 | **** C-c C-w should be able to report current type id. | ||
| 753 | |||
| 754 | **** Implement doctypePublicId. | ||
| 755 | |||
| 756 | **** Implement typeIdBase. | ||
| 757 | |||
| 758 | **** Implement typeIdProcessingInstruction. | ||
| 759 | |||
| 760 | **** Support xml:base. | ||
| 761 | |||
| 762 | **** Implement group. | ||
| 763 | |||
| 764 | **** Find preferred prefix from schema-locating files. Get rid of | ||
| 765 | rng-preferred-prefix-alist. | ||
| 766 | |||
| 767 | **** Inserting document element with vacuous schema should complete using | ||
| 768 | document elements declared in schema locating files, and set schema | ||
| 769 | appropriately. | ||
| 770 | |||
| 771 | **** Add a ruleType attribute to the <include> element? | ||
| 772 | |||
| 773 | **** Allow processing instruction in prolog to contain the compact syntax | ||
| 774 | schema directly. | ||
| 775 | |||
| 776 | **** Use RDDL to locate a schema based on the namespace URI. | ||
| 777 | |||
| 778 | **** Should not prompt to add redundant association to schema locating file. | ||
| 779 | |||
| 780 | **** Command to reload current schema. | ||
| 781 | |||
| 782 | *** Schema-sensitive features | ||
| 783 | |||
| 784 | **** Should filter dynamic markup possibilities using schema validity, by | ||
| 785 | adding hook to nxml-mode. | ||
| 786 | |||
| 787 | **** Dynamic markup word should (at least optionally) be able to look in | ||
| 788 | other buffers that are using nxml-mode. | ||
| 789 | |||
| 790 | **** Should clicking on Invalid move to next error if already on an error? | ||
| 791 | |||
| 792 | **** Take advantage of a:documentation. Needs change to schema format. | ||
| 793 | |||
| 794 | **** Provide feasible validation (as in Jing) toggle. | ||
| 795 | |||
| 796 | **** Save the validation state as a property on the error overlay to enable | ||
| 797 | more detailed diagnosis. | ||
| 798 | |||
| 799 | **** Provide an Error Summary buffer showing all the validation errors. | ||
| 800 | |||
| 801 | **** Pop-up menu. What is useful? Tag a region (should be greyed out if | ||
| 802 | the region is not balanced). Suggestions based on error messages. | ||
| 803 | |||
| 804 | **** Have configurable list of namespace URIs so that we can provide | ||
| 805 | namespace URI completion on extension elements or with schema-less documents. | ||
| 806 | |||
| 807 | **** Allow validation to handle XInclude. | ||
| 808 | |||
| 809 | **** ID/IDREF support. | ||
| 810 | |||
| 811 | *** Completion | ||
| 812 | |||
| 813 | **** Make it work with icomplete. Only use a function to complete when | ||
| 814 | some of the possible names have undeclared namespaces. | ||
| 815 | |||
| 816 | **** How should C-return in mixed text work? | ||
| 817 | |||
| 818 | **** When there's a vacuous schema, C-return after < will insert the end-tag. | ||
| 819 | Is this a bug or a feature? | ||
| 820 | |||
| 821 | **** After completing start-tag, ensure we don't get unhelpful message | ||
| 822 | from validation | ||
| 823 | |||
| 824 | **** Syntax table for completion. | ||
| 825 | |||
| 826 | **** Should complete start-tag name with a space if namespace attributes | ||
| 827 | are required. | ||
| 828 | |||
| 829 | **** When completing start-tag name with no prefix and it doesn't match | ||
| 830 | should try to infer namespace from local name. | ||
| 831 | |||
| 832 | **** Should completion pay attention to characters after point? If so, how? | ||
| 833 | |||
| 834 | **** When completing start-tag name, add required atts if only one required | ||
| 835 | attribute. | ||
| 836 | |||
| 837 | **** When completing attribute name, add attribute value if only one value | ||
| 838 | is possible. | ||
| 839 | |||
| 840 | **** After attribute-value completion, insert space after close delimiter | ||
| 841 | if more attributes are required. | ||
| 842 | |||
| 843 | **** Complete on enumerated data values in elements. | ||
| 844 | |||
| 845 | **** When in context that allows only elements, should get tag | ||
| 846 | completion without having to type < first. | ||
| 847 | |||
| 848 | **** When immediately after start-tag name, and name is valid and not | ||
| 849 | prefix of any other name, should C-return complete on attribute names? | ||
| 850 | |||
| 851 | **** When completing attributes, more consistent to ignore all attributes | ||
| 852 | after point. | ||
| 853 | |||
| 854 | **** Inserting attribute value completions needs to be sensitive to what | ||
| 855 | delimiter is used so that it quotes the correct character. | ||
| 856 | |||
| 857 | **** Complete on encoding-names in XML decl. | ||
| 858 | |||
| 859 | **** Complete namespace declarations by searching for all namespaces | ||
| 860 | mentioned in the schema. | ||
| 861 | |||
| 862 | *** Well-formed XML support | ||
| 863 | |||
| 864 | **** Deal better with Mule-UCS | ||
| 865 | |||
| 866 | **** Deal with UTF-8 BOM when reading. | ||
| 867 | |||
| 868 | **** Complete entity names. | ||
| 869 | |||
| 870 | **** Provide some support for entity names for MathML. | ||
| 871 | |||
| 872 | **** Command to repeat the last tag. | ||
| 873 | |||
| 874 | **** Support for changing between character references and characters. | ||
| 875 | Need to check that context is one in which character references are | ||
| 876 | allowed. xmltok prolog parsing will need to distinguish parameter | ||
| 877 | literals from other kinds of literal. | ||
| 878 | |||
| 879 | **** Provide a comment command to bind to M-; that works better than the | ||
| 880 | normal one. | ||
| 881 | |||
| 882 | **** Make indenting in a multi-line comment work. | ||
| 883 | |||
| 884 | **** Structure view. Separate buffer displaying element tree. | ||
| 885 | Be able to navigate from structure view to document and vice-versa. | ||
| 886 | |||
| 887 | **** Flash matching >. | ||
| 888 | |||
| 889 | **** Smart selection command that selects increasingly large syntactically | ||
| 890 | coherent chunks of XML. If point is in an attribute value, first | ||
| 891 | select complete value; then if command is repeated, select value plus | ||
| 892 | delimiters, then select attribute name as well, then complete | ||
| 893 | start-tag, then complete element, then enclosing element, etc. | ||
| 894 | |||
| 895 | **** ispell integration. | ||
| 896 | |||
| 897 | **** Block-level items in mixed content should be indented, e.g: | ||
| 898 | <para>This is list: | ||
| 899 | <ul> | ||
| 900 | <li>item</li> | ||
| 901 | |||
| 902 | **** Provide option to indent like this: | ||
| 903 | <para>This is a paragraph | ||
| 904 | occupying multiple lines.</para> | ||
| 905 | |||
| 906 | **** Option to add make a / that closes a start-tag electrically insert a | ||
| 907 | space for the XHTML guys. | ||
| 908 | |||
| 909 | **** C-M-q should work. | ||
| 910 | |||
| 911 | *** Datatypes | ||
| 912 | |||
| 913 | **** Figure out workaround for CJK characters with regexps. | ||
| 914 | |||
| 915 | **** Does category C contain Cn? | ||
| 916 | |||
| 917 | **** Do ENTITY datatype properly. | ||
| 918 | |||
| 919 | *** XML Parsing Library | ||
| 920 | |||
| 921 | **** Parameter entity parsing option, nil (never), t (always), | ||
| 922 | unless-standalone (unless standalone="yes" in XML declaration). | ||
| 923 | |||
| 924 | **** When a file is currently being edited, there should be an option to | ||
| 925 | use its buffer instead of the on-disk copy. | ||
| 926 | |||
| 927 | *** Handling all XML features | ||
| 928 | |||
| 929 | **** Provide better support for editing external general parsed entities. | ||
| 930 | Perhaps provide a way to force ignoring undefined entities; maybe turn | ||
| 931 | this on automatically with <?xml encoding=""?> (with no version | ||
| 932 | pseudo-att). | ||
| 933 | |||
| 934 | **** Handle internal general entity declarations containing elements. | ||
| 935 | |||
| 936 | **** Handle external general entity declarations. | ||
| 937 | |||
| 938 | **** Handle default attribute declarations in internal subset. | ||
| 939 | |||
| 940 | **** Handle parameter entities (including DTD). | ||
| 941 | |||
| 942 | *** RELAX NG | ||
| 943 | |||
| 944 | **** Do complete schema checking, at least optionally. | ||
| 945 | |||
| 946 | **** Detect include/external loops during schema parse. | ||
| 947 | |||
| 948 | **** Coding system detection for schemas. Should use utf-8/utf-16 per the | ||
| 949 | spec. But also need to allow encodings other than UTF-8/16 to support | ||
| 950 | CJK charsets that Emacs cannot represent in Unicode. | ||
| 951 | |||
| 952 | *** Catching XML errors | ||
| 953 | |||
| 954 | **** Check public identifiers. | ||
| 955 | |||
| 956 | **** Check default attribute values. | ||
| 957 | |||
| 958 | *** Performance | ||
| 959 | |||
| 960 | **** Explore whether overlay-recenter can cure overlays performance problems. | ||
| 961 | |||
| 962 | **** Cache schemas. Need to have list of files and mtimes. | ||
| 963 | |||
| 964 | **** Make it possible to reduce rng-validate-chunk-size significantly, | ||
| 965 | perhaps to 500 bytes, without bad performance impact: don't do | ||
| 966 | redisplay on every chunk; pass continue functions on other uses of | ||
| 967 | rng-do-some-validation. | ||
| 968 | |||
| 969 | **** Cache after first tag. | ||
| 970 | |||
| 971 | **** Introduce a new name class that is a choice between names (so that | ||
| 972 | we can use member) | ||
| 973 | |||
| 974 | **** intern-choice should simplify after patterns with same 1st/2nd args | ||
| 975 | |||
| 976 | **** Large numbers of overlays slow things down dramatically. Represent | ||
| 977 | errors using text properties. This implies we cannot incrementally | ||
| 978 | keep track of the number of errors, in order to determine validity. | ||
| 979 | Instead, when validation completes, scan for any characters with an | ||
| 980 | error text property; this seems to be fast enough even with large | ||
| 981 | buffers. Problem with error at end of buffer, where there's no | ||
| 982 | character; need special variable for this. Need to merge face from | ||
| 983 | font-lock with the error face: use :inherit attribute with list of two | ||
| 984 | faces. How do we avoid making rng-valid depend on nxml-mode? | ||
| 985 | |||
| 986 | *** Error recovery | ||
| 987 | |||
| 988 | **** Don't stop at newline in looking for close of start-tag. | ||
| 989 | |||
| 990 | **** Use indentation to guide recovery from mismatched end-tags | ||
| 991 | |||
| 992 | **** Don't keep parsing when currently not well-formed but previously | ||
| 993 | well-formed | ||
| 994 | |||
| 995 | **** Try to recover from a bad start-tag by popping an open element if | ||
| 996 | there was a mismatched end-tag unaccounted for. | ||
| 997 | |||
| 998 | **** Try to recover from a bad start-tag open on the hypothesis that there | ||
| 999 | was an error in the namespace URI. | ||
| 1000 | |||
| 1001 | **** Better recovery from ill-formed XML declarations. | ||
| 1002 | |||
| 1003 | *** Useability improvements | ||
| 1004 | |||
| 1005 | **** Should print a "Parsing..." message during long movements. | ||
| 1006 | |||
| 1007 | **** Provide better position for reference to undefined pattern error. | ||
| 1008 | |||
| 1009 | **** Put Well-formed in the mode-line when validating against any-content. | ||
| 1010 | |||
| 1011 | **** Trim marking of illegal data for leading and trailing whitespace. | ||
| 1012 | |||
| 1013 | **** Show Invalid status as soon as we are sure it's invalid, rather than | ||
| 1014 | waiting for everything to be completely up to date. | ||
| 1015 | |||
| 1016 | **** When narrowed, Valid or Invalid status should probably consider only | ||
| 1017 | validity of narrowed region. | ||
| 1018 | |||
| 1019 | *** Bug fixes | ||
| 1020 | |||
| 1021 | **** Need to give an error for a document like: <foo/><![CDATA[ ]]> | ||
| 1022 | |||
| 1023 | **** Make nxml-forward-balanced-item work better for the prolog. | ||
| 1024 | |||
| 1025 | **** Make filling and indenting comments work in the prolog. | ||
| 1026 | |||
| 1027 | **** Should delete RNC Input buffers. | ||
| 1028 | |||
| 1029 | **** Figure out what regex use for NCName and use it consistently, | ||
| 1030 | |||
| 1031 | **** Should have not-well-formed tokens in ref. | ||
| 1032 | |||
| 1033 | **** Require version in XML declaration? Probably not because prevents | ||
| 1034 | use for external parsed entities. At least forbid standalone without version. | ||
| 1035 | |||
| 1036 | **** Reject schema that compiles to rng-not-allowed-ipattern. | ||
| 1037 | |||
| 1038 | **** Move point backwards on schema parse error so that it's on the right token. | ||
| 1039 | |||
| 1040 | *** Internal | ||
| 1041 | |||
| 1042 | **** Use rng-quote-string consistently. | ||
| 1043 | |||
| 1044 | **** Use parsing library for XML to texinfo conversion. | ||
| 1045 | |||
| 1046 | **** Rename xmltok.el to nxml-token.el. Use nxml-t- prefix instead of | ||
| 1047 | xmltok-. Change nxml-t-type to nxml-t-token-type, nxml-t-start to | ||
| 1048 | nxml-t-token-start. | ||
| 1049 | |||
| 1050 | **** Can we set fill-prefix to nil and rely on indenting? | ||
| 1051 | |||
| 1052 | **** xmltok should make available replacement text of entities containing | ||
| 1053 | elements | ||
| 1054 | |||
| 1055 | **** In rng-valid, instead of using modification-hooks and | ||
| 1056 | insert-behind-hooks on dependent overlays, use same technique as nxml-mode. | ||
| 1057 | |||
| 1058 | **** Port to XEmacs. Issues include: Unicode (XEmacs seems to be based on | ||
| 1059 | Mule-UCS); overlays/text properties vs extents; absence of | ||
| 1060 | fontification-functions hook. | ||
| 1061 | |||
| 1062 | *** Fontification | ||
| 1063 | |||
| 1064 | **** Allow face to depend on element qname, attribute qname, attribute | ||
| 1065 | value. Use list with pairs of (R . F), where R specifies regexps and | ||
| 1066 | F specifies faces. How can this list be made to depend on the document type? | ||
| 1067 | |||
| 1068 | *** Other | ||
| 1069 | |||
| 1070 | **** Support RELAX NG XML syntax (use XML parsing library). | ||
| 1071 | |||
| 1072 | **** Support W3C XML Schema (use XML parsing library). | ||
| 1073 | |||
| 1074 | **** Command to infer schema from current document (like trang). | ||
| 1075 | |||
| 1076 | *** Schemas | ||
| 1077 | |||
| 1078 | **** XSLT schema should take advantage of RELAX NG to express cooccurrence | ||
| 1079 | constraints on attributes (e.g. xsl:template). | ||
| 1080 | |||
| 1081 | *** Documentation | ||
| 1082 | |||
| 1083 | **** Move material from README to manual. | ||
| 1084 | |||
| 1085 | **** Document encodings. | ||
| 1086 | |||
| 1087 | *** Notes | ||
| 1088 | |||
| 1089 | **** How can we allow an error to be displayed on a different token from | ||
| 1090 | where it is detected? In particular, for a missing closing ">" we | ||
| 1091 | will need to display it at the beginning of the following token. At the | ||
| 1092 | moment, when we parse the following token the error overlay will get cleared. | ||
| 1093 | |||
| 1094 | **** How should rng-goto-next-error deal with narrowing? | ||
| 1095 | |||
| 1096 | **** Perhaps should merge errors having same start position even if they | ||
| 1097 | have different ends. | ||
| 1098 | |||
| 1099 | **** How to handle surrogates? One possibility is to be compatible with | ||
| 1100 | utf8.e: represent as sequence of 4 chars. But utf-16 is incompatible | ||
| 1101 | with this. | ||
| 1102 | |||
| 1103 | **** Should we distinguish well-formedness errors from invalidity errors? | ||
| 1104 | (I think not: we may want to recover from a bad start-tag by implying | ||
| 1105 | an end-tag.) | ||
| 1106 | |||
| 1107 | **** Seems to be a bug with Emacs, where a mouse movement that causes | ||
| 1108 | help-echo text to appear counts as pending input but does not cause | ||
| 1109 | idle timer to be restarted. | ||
| 1110 | |||
| 1111 | **** Use XML to represent this file. | ||
| 1112 | |||
| 1113 | **** I had a TODO which said simply "split-string". What did I mean? | ||
| 1114 | |||
| 1115 | **** Investigate performance on large files all on one line. | ||
| 1116 | |||
| 1117 | *** Issues for Emacs versions >= 22 | ||
| 1118 | |||
| 1119 | **** Take advantage of UTF-8 CJK support. | ||
| 1120 | |||
| 1121 | **** Supply a next-error-function. | ||
| 1122 | |||
| 1123 | **** Investigate this NEWS item "Emacs now tries to set up buffer coding | ||
| 1124 | systems for HTML/XML files automatically." | ||
| 1125 | |||
| 1126 | **** Take advantage of the pointer text property. | ||
| 1127 | |||
| 1128 | **** Leverage char-displayable-p. | ||
| 1129 | |||
| 628 | * Internal changes | 1130 | * Internal changes |
| 629 | 1131 | ||
| 630 | ** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction | 1132 | ** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction |
diff --git a/etc/emacs.bash b/etc/emacs.bash deleted file mode 100644 index 5cebee1227d..00000000000 --- a/etc/emacs.bash +++ /dev/null | |||
| @@ -1,71 +0,0 @@ | |||
| 1 | ### emacs.bash --- contact/resume an existing Emacs, or start a new one | ||
| 2 | |||
| 3 | ## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | ||
| 4 | ## Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | ## Author: Noah Friedman | ||
| 7 | |||
| 8 | ## This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | ## GNU Emacs is free software: you can redistribute it and/or modify | ||
| 11 | ## it under the terms of the GNU General Public License as published by | ||
| 12 | ## the Free Software Foundation, either version 3 of the License, or | ||
| 13 | ## (at your option) any later version. | ||
| 14 | |||
| 15 | ## GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | ## GNU General Public License for more details. | ||
| 19 | |||
| 20 | ## You should have received a copy of the GNU General Public License | ||
| 21 | ## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 22 | |||
| 23 | ### Commentary: | ||
| 24 | |||
| 25 | ## This file is obsolete. Use emacsclient -a instead. | ||
| 26 | |||
| 27 | ## This defines a bash command named `edit' which contacts/resumes an | ||
| 28 | ## existing emacs or starts a new one if none exists. | ||
| 29 | |||
| 30 | ## One way or another, any arguments are passed to emacs to specify files | ||
| 31 | ## (provided you have loaded `resume.el'). | ||
| 32 | |||
| 33 | ## This function assumes the emacs program is named `emacs' and is somewhere | ||
| 34 | ## in your load path. If either of these is not true, the most portable | ||
| 35 | ## (and convenient) thing to do is to make an alias called emacs which | ||
| 36 | ## refers to the real program, e.g. | ||
| 37 | ## | ||
| 38 | ## alias emacs=/usr/local/bin/gemacs | ||
| 39 | |||
| 40 | function edit () | ||
| 41 | { | ||
| 42 | local windowsys="${WINDOW_PARENT+sun}" | ||
| 43 | |||
| 44 | windowsys="${windowsys:-${DISPLAY+x}}" | ||
| 45 | |||
| 46 | if [ -n "${windowsys:+set}" ]; then | ||
| 47 | # Do not just test if these files are sockets. On some systems | ||
| 48 | # ordinary files or fifos are used instead. Just see if they exist. | ||
| 49 | if [ -e "${HOME}/.emacs_server" -o -e "/tmp/emacs${UID}/server" ]; then | ||
| 50 | emacsclient "$@" | ||
| 51 | return $? | ||
| 52 | else | ||
| 53 | echo "edit: starting emacs in background..." 1>&2 | ||
| 54 | fi | ||
| 55 | |||
| 56 | case "${windowsys}" in | ||
| 57 | x ) (emacs "$@" &) ;; | ||
| 58 | sun ) echo "unsupported window system"; return 1 ;; | ||
| 59 | esac | ||
| 60 | else | ||
| 61 | if jobs %emacs 2> /dev/null ; then | ||
| 62 | echo "$(pwd)" "$@" >| ${HOME}/.emacs_args && fg %emacs | ||
| 63 | else | ||
| 64 | emacs "$@" | ||
| 65 | fi | ||
| 66 | fi | ||
| 67 | } | ||
| 68 | |||
| 69 | |||
| 70 | # arch-tag: 1e1b74b9-bf2c-4b23-870f-9eebff7515cb | ||
| 71 | ### emacs.bash ends here | ||
diff --git a/etc/emacs.csh b/etc/emacs.csh deleted file mode 100644 index ef860727284..00000000000 --- a/etc/emacs.csh +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | ### emacs.csh | ||
| 2 | |||
| 3 | ## Add legal notice if non-trivial amounts of code are added. | ||
| 4 | |||
| 5 | ## Author: Michael DeCorte | ||
| 6 | |||
| 7 | ### Commentary: | ||
| 8 | |||
| 9 | ## This file is obsolete. Use emacsclient -a instead. | ||
| 10 | |||
| 11 | ## This defines a csh command named `edit' which resumes an | ||
| 12 | ## existing Emacs or starts a new one if none exists. | ||
| 13 | ## One way or another, any arguments are passed to Emacs to specify files | ||
| 14 | ## (provided you have loaded `resume.el'). | ||
| 15 | |||
| 16 | ## These are the possible values of $whichjob | ||
| 17 | ## 1 = new ordinary emacs (the -nw is so that it doesn't try to do X) | ||
| 18 | ## 2 = resume emacs | ||
| 19 | ## 3 = new emacs under X (-i is so that you get a reasonable icon) | ||
| 20 | ## 4 = resume emacs under X | ||
| 21 | set EMACS_PATTERN="^\[[0-9]\] . Stopped ............ $EMACS" | ||
| 22 | |||
| 23 | alias edit 'set emacs_command=("emacs -nw \!*" "fg %emacs" "emacs -i \!* &"\ | ||
| 24 | "emacsclient \!* &") ; \ | ||
| 25 | jobs >! $HOME/.jobs; grep "$EMACS_PATTERN" < $HOME/.jobs >& /dev/null; \ | ||
| 26 | @ isjob = ! $status; \ | ||
| 27 | @ whichjob = 1 + $isjob + $?DISPLAY * 2 + $?WINDOW_PARENT * 4; \ | ||
| 28 | test -S ~/.emacs_server && emacsclient \!* \ | ||
| 29 | || echo `pwd` \!* >! ~/.emacs_args && eval $emacs_command[$whichjob]' | ||
| 30 | |||
| 31 | # arch-tag: 433d58df-15b9-446f-ad37-f0393e3a23d4 | ||
diff --git a/etc/ms-kermit b/etc/ms-kermit deleted file mode 100644 index ba53add6a78..00000000000 --- a/etc/ms-kermit +++ /dev/null | |||
| @@ -1,172 +0,0 @@ | |||
| 1 | ;;; The code here is forced by the interface, and is not subject to | ||
| 2 | ;;; copyright, constituting the only possible expression of the algorithm | ||
| 3 | ;;; in this format. | ||
| 4 | |||
| 5 | ;;; This file is designed for an 8-bit connection. | ||
| 6 | ;;; Use the file ms-7bkermit if you have a 7-bit connection. | ||
| 7 | |||
| 8 | ;; Meta key mappings for EMACS | ||
| 9 | ;; By Robert Earl (rearl@watnxt3.ucr.edu) | ||
| 10 | ;; May 13, 1990 | ||
| 11 | ;; | ||
| 12 | ;; WARNING: | ||
| 13 | ;; requires an 8-bit path to host. many dialups and lans won't pass the | ||
| 14 | ;; eighth bit by default and may require a special command to turn this | ||
| 15 | ;; off. `screen' is known to mask the eighth bit of input as well. | ||
| 16 | |||
| 17 | set term controls 8-bit | ||
| 18 | set translation key off | ||
| 19 | |||
| 20 | ;; control keys | ||
| 21 | set key \3449 \128 ;; m-c-@ | ||
| 22 | set key \3358 \129 ;; m-c-a | ||
| 23 | set key \3376 \130 ;; m-c-b | ||
| 24 | set key \3374 \131 ;; m-c-c | ||
| 25 | set key \3360 \132 ;; m-c-d | ||
| 26 | set key \3346 \133 ;; m-c-e | ||
| 27 | set key \3361 \134 ;; m-c-f | ||
| 28 | set key \3362 \135 ;; m-c-g | ||
| 29 | set key \3342 \136 ;; m-bs | ||
| 30 | set key \3363 \136 ;; m-c-h (sends same code as above) | ||
| 31 | set key \2469 \137 ;; m-tab | ||
| 32 | set key \3351 \137 ;; m-c-i (same as above) | ||
| 33 | set key \3364 \138 ;; m-c-j | ||
| 34 | set key \3365 \139 ;; m-c-k | ||
| 35 | set key \3366 \140 ;; m-c-l | ||
| 36 | ;set key \3378 \141 ;; m-c-m | ||
| 37 | set key \2332 \141 ;; m-ret (sends same code as above) | ||
| 38 | set key \3377 \142 ;; m-c-n | ||
| 39 | set key \3352 \143 ;; m-c-o | ||
| 40 | set key \3353 \144 ;; m-c-p | ||
| 41 | set key \3344 \145 ;; m-c-q | ||
| 42 | set key \3347 \146 ;; m-c-r | ||
| 43 | set key \3359 \147 ;; m-c-s | ||
| 44 | set key \3348 \148 ;; m-c-t | ||
| 45 | set key \3350 \149 ;; m-c-u | ||
| 46 | set key \3375 \150 ;; m-c-v | ||
| 47 | set key \3345 \151 ;; m-c-w | ||
| 48 | set key \3373 \152 ;; m-c-x | ||
| 49 | set key \3349 \153 ;; m-c-y | ||
| 50 | set key \3372 \154 ;; m-c-z | ||
| 51 | |||
| 52 | ;; misc keys | ||
| 53 | ;set key \3354 \155 ;; m-c-[ | ||
| 54 | set key \2305 \155 ;; m-esc (sends same as above) | ||
| 55 | set key \3371 \156 ;; m-c-\ | ||
| 56 | set key \3355 \157 ;; m-c-] | ||
| 57 | set key \3453 \158 ;; m-c-^ | ||
| 58 | set key \3458 \159 ;; m-c-_ | ||
| 59 | |||
| 60 | ;; \160 is conspicuously missing here-- | ||
| 61 | ;; alt-spc doesn't generate a distinct scan code... | ||
| 62 | ;; neither do shift-spc and ctrl-spc. | ||
| 63 | ;; no idea why. | ||
| 64 | |||
| 65 | set key \2936 \161 ;; m-! | ||
| 66 | set key \2856 \162 ;; m-" | ||
| 67 | set key \2938 \163 ;; m-# | ||
| 68 | set key \2939 \164 ;; m-$ | ||
| 69 | set key \2940 \165 ;; m-% | ||
| 70 | set key \2942 \166 ;; m-& | ||
| 71 | set key \2344 \167 ;; m-' | ||
| 72 | set key \2944 \168 ;; m-( | ||
| 73 | set key \2945 \169 ;; m-) | ||
| 74 | set key \2943 \170 ;; m-* | ||
| 75 | set key \2947 \171 ;; m-+ | ||
| 76 | set key \2355 \172 ;; m-, | ||
| 77 | set key \2434 \173 ;; m-- | ||
| 78 | set key \2356 \174 ;; m-. | ||
| 79 | set key \2357 \175 ;; m-/ | ||
| 80 | |||
| 81 | ;; number keys | ||
| 82 | set key \2433 \176 ;; m-0 | ||
| 83 | set key \2424 \177 ;; m-1 | ||
| 84 | set key \2425 \178 | ||
| 85 | set key \2426 \179 | ||
| 86 | set key \2427 \180 | ||
| 87 | set key \2428 \181 | ||
| 88 | set key \2429 \182 | ||
| 89 | set key \2430 \183 | ||
| 90 | set key \2431 \184 | ||
| 91 | set key \2432 \185 ;; m-9 | ||
| 92 | |||
| 93 | set key \2855 \186 ;; m-: | ||
| 94 | set key \2343 \187 ;; m-; | ||
| 95 | set key \2867 \188 ;; m-< | ||
| 96 | set key \2435 \189 ;; m-= | ||
| 97 | set key \2868 \190 ;; m-> | ||
| 98 | set key \2869 \191 ;; m-? | ||
| 99 | set key \2937 \192 ;; m-@ | ||
| 100 | |||
| 101 | ;; shifted A-Z | ||
| 102 | set key \2846 \193 ;; m-A | ||
| 103 | set key \2864 \194 | ||
| 104 | set key \2862 \195 | ||
| 105 | set key \2848 \196 | ||
| 106 | set key \2834 \197 | ||
| 107 | set key \2849 \198 | ||
| 108 | set key \2850 \199 | ||
| 109 | set key \2851 \200 | ||
| 110 | set key \2839 \201 | ||
| 111 | set key \2852 \202 | ||
| 112 | set key \2853 \203 | ||
| 113 | set key \2854 \204 | ||
| 114 | set key \2866 \205 | ||
| 115 | set key \2865 \206 | ||
| 116 | set key \2840 \207 | ||
| 117 | set key \2841 \208 | ||
| 118 | set key \2832 \209 | ||
| 119 | set key \2835 \210 | ||
| 120 | set key \2847 \211 | ||
| 121 | set key \2836 \212 | ||
| 122 | set key \2838 \213 | ||
| 123 | set key \2863 \214 | ||
| 124 | set key \2833 \215 | ||
| 125 | set key \2861 \216 | ||
| 126 | set key \2837 \217 | ||
| 127 | set key \2860 \218 ;; m-Z | ||
| 128 | |||
| 129 | set key \2330 \219 ;; m-[ | ||
| 130 | set key \2347 \220 ;; m-\ | ||
| 131 | set key \2331 \221 ;; m-] | ||
| 132 | set key \2941 \222 ;; m-^ | ||
| 133 | set key \2946 \223 ;; m-_ | ||
| 134 | set key \2345 \224 ;; m-` | ||
| 135 | |||
| 136 | ;; lowercase a-z | ||
| 137 | set key \2334 \225 ;; m-a | ||
| 138 | set key \2352 \226 | ||
| 139 | set key \2350 \227 | ||
| 140 | set key \2336 \228 | ||
| 141 | set key \2322 \229 | ||
| 142 | set key \2337 \230 | ||
| 143 | set key \2338 \231 | ||
| 144 | set key \2339 \232 | ||
| 145 | set key \2327 \233 | ||
| 146 | set key \2340 \234 | ||
| 147 | set key \2341 \235 | ||
| 148 | set key \2342 \236 | ||
| 149 | set key \2354 \237 | ||
| 150 | set key \2353 \238 | ||
| 151 | set key \2328 \239 | ||
| 152 | set key \2329 \240 | ||
| 153 | set key \2320 \241 | ||
| 154 | set key \2323 \242 | ||
| 155 | set key \2335 \243 | ||
| 156 | set key \2324 \244 | ||
| 157 | set key \2326 \245 | ||
| 158 | set key \2351 \246 | ||
| 159 | set key \2321 \247 | ||
| 160 | set key \2349 \248 | ||
| 161 | set key \2325 \249 | ||
| 162 | set key \2348 \250 ;; m-z | ||
| 163 | |||
| 164 | ;; more shifted misc. keys | ||
| 165 | set key \2842 \251 ;; m-{ | ||
| 166 | set key \2859 \252 ;; m-| | ||
| 167 | set key \2843 \253 ;; m-} | ||
| 168 | set key \2857 \254 ;; m-~ | ||
| 169 | set key \2318 \255 ;; m-del | ||
| 170 | |||
| 171 | |||
| 172 | ;;; arch-tag: 93cefb0a-2b07-4d09-ae78-4d807b15645d | ||