diff options
| author | John Wiegley | 2016-03-03 23:53:08 -0800 |
|---|---|---|
| committer | John Wiegley | 2016-03-03 23:53:08 -0800 |
| commit | 692caf1e8d1657fbe4809294df6791c2879a7bb1 (patch) | |
| tree | 0c6357b6325adbf0d675851d7a655ce9636b51e7 /etc | |
| parent | 018bdf7528d0d4bb0560d86b84c21ae9fed1206a (diff) | |
| parent | b13cab683c6060e002906fc944680aaa5f4ac123 (diff) | |
| download | emacs-692caf1e8d1657fbe4809294df6791c2879a7bb1.tar.gz emacs-692caf1e8d1657fbe4809294df6791c2879a7bb1.zip | |
Merge from origin/emacs-25
b13cab6 Add a eww command to toggle paragraph direction
4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
9e078e5 Fix char signedness issue in bidi code
064adf6 * lib-src/pop.c (socket_connection): Fix format string.
14060a9 Avoid inflooping in thing-at-point-looking-at
098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
indent change.
b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix. (Bug#22813).
d2dd614 Remove unneeded workaround in xftfont.c
9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
06a872b Fix redisplay on a TTY after 'make-frame'
95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
Fixes bug#5560.
7d206fc Input method polish-slash should not use keyboard translation
8be32cf Fix an assertion
040e0d6 Fix 'toggle-save-place'
5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 19 | ||||
| -rw-r--r-- | etc/PROBLEMS | 10 | ||||
| -rw-r--r-- | etc/TODO | 243 |
3 files changed, 259 insertions, 13 deletions
| @@ -588,13 +588,14 @@ additionally need to add `getSelection' to `xterm-extra-capabilities'. | |||
| 588 | *** `xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it). | 588 | *** `xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it). |
| 589 | 589 | ||
| 590 | --- | 590 | --- |
| 591 | ** To turn on `save-place' mode globally, you must call `(save-place-mode 1)'. | 591 | ** The way to turn on and off `save-place' mode has changed. |
| 592 | In order to have the last place in every file saved it is no longer | 592 | It is no longer sufficient to load the saveplace library and set |
| 593 | sufficient to load the saveplace library and set the default value of | 593 | `save-place' non-nil. Instead, use the two new minor modes: |
| 594 | `save-place' to non-nil. You must explicitly call the function | 594 | `save-place-mode' turns on saving last place in every file, and |
| 595 | `save-place-mode' with a positive argument instead. The `save-place' | 595 | `save-place-local-mode' does that only for the file in whose buffer it |
| 596 | variable is now an obsolete alias for `save-place-mode', which | 596 | is invoked. The `save-place' variable is now an obsolete alias for |
| 597 | replaces it. | 597 | `save-place-mode', which replaces it, and `toggle-save-place' is an |
| 598 | obsolete alias for the new `save-place-local-mode' command. | ||
| 598 | 599 | ||
| 599 | ** ERC | 600 | ** ERC |
| 600 | 601 | ||
| @@ -865,6 +866,10 @@ customize the `shr-use-colors' variable. | |||
| 865 | textual parts of a web page and display only that, leaving menus and | 866 | textual parts of a web page and display only that, leaving menus and |
| 866 | the like off the page. | 867 | the like off the page. |
| 867 | 868 | ||
| 869 | +++ | ||
| 870 | *** A new command `D' (`eww-toggle-paragraph-direction') allows you to | ||
| 871 | toggle the paragraph direction between left-to-right and right-to-left. | ||
| 872 | |||
| 868 | --- | 873 | --- |
| 869 | *** Images that are being loaded are now marked with grey | 874 | *** Images that are being loaded are now marked with grey |
| 870 | "placeholder" images of the size specified by the HTML. They are then | 875 | "placeholder" images of the size specified by the HTML. They are then |
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 7d780371d46..0491935b10c 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -600,6 +600,16 @@ you have a personal configuration file (normally ~/.aspell.conf), it | |||
| 600 | can cause this error. Remove that file, execute 'ispell-kill-ispell' | 600 | can cause this error. Remove that file, execute 'ispell-kill-ispell' |
| 601 | in Emacs, and then try spell-checking again. | 601 | in Emacs, and then try spell-checking again. |
| 602 | 602 | ||
| 603 | *** Emacs eats all file descriptors when using kqueue file notifications. | ||
| 604 | |||
| 605 | When you have a large number of buffers running auto-revert-mode, and | ||
| 606 | Emacs is configured to use the kqueue file notification library, it | ||
| 607 | uses an own file descriptor for every watched file. On systems with a | ||
| 608 | small limit of file descriptors allowed per process, like OS X, you | ||
| 609 | could run out of file descriptors. You won't be able to open new files. | ||
| 610 | |||
| 611 | Set auto-revert-use-notify to nil in order to avoid this problem. | ||
| 612 | |||
| 603 | * Runtime problems related to font handling | 613 | * Runtime problems related to font handling |
| 604 | 614 | ||
| 605 | ** Characters are displayed as empty boxes or with wrong font under X. | 615 | ** Characters are displayed as empty boxes or with wrong font under X. |
| @@ -675,15 +675,242 @@ from the emacsclient process. | |||
| 675 | 675 | ||
| 676 | ** NeXTstep port | 676 | ** NeXTstep port |
| 677 | 677 | ||
| 678 | *** Missing features | ||
| 679 | |||
| 680 | This sections contains features found in other official Emacs ports. | ||
| 681 | |||
| 682 | **** Support for "xwidget" | ||
| 683 | |||
| 684 | Emacs 25 has support for "xwidgets", a system to include operating | ||
| 685 | system components into an Emacs buffer. The components range from | ||
| 686 | simple buttons to "webkit" (effectively, a web browser). | ||
| 687 | |||
| 688 | Currently, "xwidget" only works for the "gtk+" framework but it is | ||
| 689 | designed to be compatible with multiple Emacs ports. | ||
| 690 | |||
| 691 | **** Respect `frame-inhibit-implied-resize' | ||
| 692 | |||
| 693 | When the variable `frame-inhibit-implied-resize' is non-nil, frames | ||
| 694 | should not be resized when operations like changing font or toggling | ||
| 695 | the tool bar is performed. | ||
| 696 | |||
| 697 | Unfortunately, the tool bar (and possible other operations) always | ||
| 698 | resize the frame. | ||
| 699 | |||
| 700 | **** Support `proced' (implement `process-attributes') | ||
| 701 | |||
| 702 | Unfortunately, a user-level process like Emacs does not have the | ||
| 703 | privileges to get information about other processes under OS X. | ||
| 704 | |||
| 705 | There are other ways to do this: | ||
| 706 | |||
| 707 | 1) Spawn "ps" and parse the output ("ps" has superuser privileges). | ||
| 708 | |||
| 709 | 2) Sign Emacs as part of the distribution process. | ||
| 710 | |||
| 711 | 3) Ask the user to self-sign Emacs, if this feature is of interest. | ||
| 712 | |||
| 713 | Anders Lindgren <andlind@gmail.com> has implemented | ||
| 714 | `process-attributes' for OS X, which currently only work when | ||
| 715 | running Emacs as root. | ||
| 716 | |||
| 717 | See this article by Bozhidar Batsov for an overview of Proced: | ||
| 718 | http://emacsredux.com/blog/2013/05/02/manage-processes-with-proced/ | ||
| 719 | |||
| 720 | **** Tooltip properties | ||
| 721 | |||
| 722 | Tooltip properties like the background color and font are hard-wired, | ||
| 723 | even though Emacs allows a user to customize such features. | ||
| 724 | |||
| 725 | *** New features | ||
| 726 | |||
| 727 | This section contains features unique to Nextstep and/or OS X. | ||
| 728 | |||
| 729 | **** PressAndHold for writing accented character | ||
| 730 | |||
| 731 | On OS X, many application support the press and hold pattern to | ||
| 732 | invoke a menu of accented characters. (See example at | ||
| 733 | https://support.apple.com/en-us/HT201586 .) | ||
| 734 | |||
| 735 | Currently, this doesn't work in Emacs. | ||
| 736 | |||
| 737 | Note that "ns-win.el" explicitly disables this. | ||
| 738 | |||
| 739 | Note: This feature might not be allowed to be implemented until also | ||
| 740 | implemented in Emacs for a free system. | ||
| 741 | |||
| 742 | **** Floating scroll bars | ||
| 743 | |||
| 744 | In modern OS X applications, the scroll bar often floats over the | ||
| 745 | content, and is invisible unless actually used. This makes the user | ||
| 746 | interface less cluttered and more area could be used to contain text. | ||
| 747 | |||
| 748 | With floating scroll bars, the user interface would look like it does | ||
| 749 | when they are disabled today. However, they will be made visible when | ||
| 750 | a scroll action is initiated, e.g. by putting two fingers on a | ||
| 751 | trackpad. | ||
| 752 | |||
| 753 | Note: This feature might not be allowed to be implemented until also | ||
| 754 | implemented in Emacs for a free system. | ||
| 755 | |||
| 756 | *** Features from the "mac" port | ||
| 757 | |||
| 758 | This section contains features available in the "mac" Emacs port. | ||
| 759 | |||
| 760 | As the "mac" port (as of this writing) isn't an official Emacs port, | ||
| 761 | it might contain features not following the FSF rule "must exist on | ||
| 762 | free systems". | ||
| 763 | |||
| 764 | The "mac" port is based on the Emacs 22 C-based Carbon interface. | ||
| 765 | It has been maintained in parallel to the official Cocoa-based NS | ||
| 766 | interface. The Carbon interface has been enhanced, and a number of the | ||
| 767 | features of that interface could be implemented NS. | ||
| 768 | |||
| 769 | **** Smooth scrolling -- maybe not a good idea | ||
| 770 | |||
| 771 | Today, by default, scrolling with a trackpad makes the text move in | ||
| 772 | steps of five lines. (Scrolling with SHIFT scrolls one line at a time.) | ||
| 773 | |||
| 774 | The "mac" port provides smooth, pixel-based, scrolling. This is a very | ||
| 775 | popular features. However, there are drawbacks to this method: what | ||
| 776 | happens if only a fraction of a line is visible at the top of a | ||
| 777 | window, is the partially visible text considered part of the window or | ||
| 778 | not? (Technically, what should `window-start' return.) | ||
| 779 | |||
| 780 | An alternative would be to make one-line scrolling the default on NS | ||
| 781 | (or in Emacs in general). | ||
| 782 | |||
| 783 | Note: This feature might not be allowed to be implemented until also | ||
| 784 | implemented in Emacs for a free system. | ||
| 785 | |||
| 786 | **** Mouse gestures | ||
| 787 | |||
| 788 | The "mac" port defines the gestures `swipe-left/right/up/down', | ||
| 789 | `magnify-up/down', and `rotate-left/right'. | ||
| 790 | |||
| 791 | It also binds the magnification commands to change the font | ||
| 792 | size. (This should be not be done in a specific interface, instead | ||
| 793 | Emacs should do this binding globally.) | ||
| 794 | |||
| 795 | Note: This feature might not be allowed to be implemented until also | ||
| 796 | implemented in Emacs for a free system. | ||
| 797 | |||
| 798 | **** Synthesize bold fonts | ||
| 799 | |||
| 800 | *** Open issues | ||
| 801 | |||
| 802 | This section contains issues where there is an ongoing debate. | ||
| 803 | |||
| 804 | **** Key bindings of CMD and ALT | ||
| 805 | |||
| 806 | Currently in the "ns" port, ALT is bound to Meta and CMD is bound to | ||
| 807 | Super -- allowing the user to use typical OS X commands like CMD-A to | ||
| 808 | mark everything. | ||
| 809 | |||
| 810 | Unfortunately, when using an international keyboard, you can't type | ||
| 811 | normal characters like "(" etc. | ||
| 812 | |||
| 813 | There are many alternative key bindings. One solution is to bind CMD | ||
| 814 | to Meta and pass ALT to the system. In fact, this is what Emacs did up | ||
| 815 | to, and including, version 22. Also, this is how the "mac" port binds | ||
| 816 | the keys. | ||
| 817 | |||
| 818 | One could envision asymmetrical variants as well, however, this is | ||
| 819 | inappropriate for the default setting. | ||
| 820 | |||
| 821 | See the discussion on emacs-devel: | ||
| 822 | https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01575.html | ||
| 823 | https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00008.html | ||
| 824 | |||
| 825 | *** Internal development features | ||
| 826 | |||
| 827 | **** Regression test system (or at least a checklist) | ||
| 828 | |||
| 829 | Today, after each change to the user interface, Emacs must be manually | ||
| 830 | tested. Often, small details are overlooked ("Oh, I didn't test | ||
| 831 | toggling the tool-bar in one of the full screen modes, when multiple | ||
| 832 | frame were open -- silly me.") | ||
| 833 | |||
| 834 | It would be an enormous help if this could be tested automatically. | ||
| 835 | Many features are generic, however, the NS interface provides a number | ||
| 836 | of unique features. | ||
| 837 | |||
| 838 | **** Existing packages | ||
| 839 | |||
| 840 | Note that there is a generic UI test named frame-test.el, see | ||
| 841 | http://debbugs.gnu.org/21415#284 . | ||
| 842 | The NS interface passes this, with the exception of two toolbar-related errors. | ||
| 843 | |||
| 844 | **** Anders frame test | ||
| 845 | |||
| 846 | Anders Lindgren <andlind@gmail.com> has implemented some (very basic) | ||
| 847 | tests for full screen, toolbar, and auto-hiding the menu bar. | ||
| 848 | |||
| 849 | **** Make sure all build variants work | ||
| 850 | |||
| 851 | Emacs can be build in a number of different ways. For each feature, | ||
| 852 | consider if is really is "NS" specific, or if it should be applied to | ||
| 853 | all build versions. | ||
| 854 | |||
| 855 | - With the "NS" interface. This is the normal way to build Emacs on OS X. | ||
| 856 | |||
| 857 | - With the "X11" interface. On OS X, this is mainly of interest to | ||
| 858 | developers of Emacs to get a "reference" interface implementations. | ||
| 859 | However, it might be of interest for people working remotely, as X11 | ||
| 860 | applications can be used over a network connection. | ||
| 861 | |||
| 862 | - Console only. | ||
| 863 | |||
| 678 | *** Bugs | 864 | *** Bugs |
| 679 | 865 | ||
| 866 | **** Incorrect translation of Super modifier with Ctrl or Meta on OS X | ||
| 867 | |||
| 868 | When pressing `M-s-a', Emacs replies "M-s-å is undefined". What | ||
| 869 | happened is a mix of Emacs view that Meta and Super has been pressed, | ||
| 870 | and OS X view that ALT-a should yield "å". | ||
| 871 | |||
| 872 | The bug reports suggests two different patched, unfortunately, none | ||
| 873 | work properly. For example: | ||
| 874 | |||
| 875 | Use a Swedish keyboard layout | ||
| 876 | |||
| 877 | (setq ns-alternate-modifier nil) | ||
| 878 | |||
| 879 | "CMD-ALT-9" | ||
| 880 | |||
| 881 | Today, this correctly yields that s-] is undefined. With the either | ||
| 882 | of the two patches, Emacs responds that s-9 was pressed. | ||
| 883 | |||
| 884 | More investigation is needed to fix this problem. | ||
| 885 | |||
| 886 | Links: | ||
| 887 | - http://debbugs.gnu.org/19977 | ||
| 888 | - http://debbugs.gnu.org/21330 | ||
| 889 | - http://debbugs.gnu.org/21551 | ||
| 890 | |||
| 891 | **** Toggling the toolbar in fullheight or maximized modes | ||
| 892 | |||
| 893 | The toolbar, in the NS interface, is not considered part of the text | ||
| 894 | area. When it is toggled, the Emacs frame change height accordingly. | ||
| 895 | |||
| 896 | Unfortunately, this also occurs when the frame is in fullheight or | ||
| 897 | maximized modes (N.B. this is not the same as "fullscreen"). The | ||
| 898 | effect is that the full frame size either increases (stretching down | ||
| 899 | below the lower edge of the screen) or decreases (leaving space | ||
| 900 | between the lower edge of the frame and the lower edge of the screen). | ||
| 901 | |||
| 902 | A better solution would be for the frame to retain its size, | ||
| 903 | i.e. change the text area. | ||
| 904 | |||
| 905 | This is related to the `frame-inhibit-implied-resize' issue. | ||
| 906 | |||
| 680 | **** The event loop does not redraw. | 907 | **** The event loop does not redraw. |
| 681 | A problem is that redraw don't happen during resize, | 908 | A problem is that redraw don't happen during resize, |
| 682 | because we can't break out from the NSapp loop during resize. | 909 | because we can't break out from the NSapp loop during resize. |
| 683 | There was a special trick to detect mouse press in the lower right | 910 | There was a special trick to detect mouse press in the lower right |
| 684 | corner and track mouse movements, but this did not work well, and was | 911 | corner and track mouse movements, but this did not work well, and was |
| 685 | not scalable to the new Lion "resize on every window edge" behavior. | 912 | not scalable to the new Lion "resize on every window edge" behavior. |
| 686 | [As of trunk r109635, 2012-08-15, the event loop no longer polls.] | 913 | [As of trunk r109635, 2012-08-15, the event loop no longer polls.] |
| 687 | 914 | ||
| 688 | **** (mouse-avoidance-mode 'banish) then minimize Emacs, will pop window back | 915 | **** (mouse-avoidance-mode 'banish) then minimize Emacs, will pop window back |
| 689 | up on top of all others (probably fixed in bug#17439) | 916 | up on top of all others (probably fixed in bug#17439) |
| @@ -1329,3 +1556,7 @@ GNU General Public License for more details. | |||
| 1329 | 1556 | ||
| 1330 | You should have received a copy of the GNU General Public License | 1557 | You should have received a copy of the GNU General Public License |
| 1331 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 1558 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 1559 | |||
| 1560 | ;; Local Variables: | ||
| 1561 | ;; coding: utf-8 | ||
| 1562 | ;; End: | ||