diff options
| author | Paul Eggert | 2011-06-25 11:31:36 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-06-25 11:31:36 -0700 |
| commit | 948b98fd3c17e56b5fa606eedbe6487091f2b66d (patch) | |
| tree | 470d98f5aa36d512902da3db4d9f35b3c0fe6f07 | |
| parent | 7a7ef429182915745380c3074771d9f747dab964 (diff) | |
| parent | 11fdef7d0cf3ef1ce30d1cd09ca9ca9a2b099d20 (diff) | |
| download | emacs-948b98fd3c17e56b5fa606eedbe6487091f2b66d.tar.gz emacs-948b98fd3c17e56b5fa606eedbe6487091f2b66d.zip | |
Merge from trunk.
| -rw-r--r-- | INSTALL.BZR | 10 | ||||
| -rw-r--r-- | doc/emacs/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/emacs/misc.texi | 5 | ||||
| -rw-r--r-- | doc/lispref/ChangeLog | 6 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/keymaps.texi | 14 | ||||
| -rw-r--r-- | doc/man/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/man/emacsclient.1 | 3 | ||||
| -rw-r--r-- | etc/NEWS | 4 | ||||
| -rw-r--r-- | lib-src/ChangeLog | 9 | ||||
| -rw-r--r-- | lib-src/emacsclient.c | 21 | ||||
| -rw-r--r-- | lisp/ChangeLog | 41 | ||||
| -rw-r--r-- | lisp/allout.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/re-builder.el | 3 | ||||
| -rw-r--r-- | lisp/loadhist.el | 17 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 2 | ||||
| -rw-r--r-- | lisp/net/ange-ftp.el | 1 | ||||
| -rw-r--r-- | lisp/net/browse-url.el | 2 | ||||
| -rw-r--r-- | lisp/proced.el | 10 | ||||
| -rw-r--r-- | lisp/progmodes/cperl-mode.el | 12 | ||||
| -rw-r--r-- | lisp/progmodes/python.el | 11 | ||||
| -rw-r--r-- | lisp/server.el | 20 | ||||
| -rw-r--r-- | lisp/ses.el | 5 | ||||
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/dispnew.c | 1 |
25 files changed, 167 insertions, 51 deletions
diff --git a/INSTALL.BZR b/INSTALL.BZR index 93229ec7a79..664aab1c765 100644 --- a/INSTALL.BZR +++ b/INSTALL.BZR | |||
| @@ -68,10 +68,12 @@ etc.) before "make bootstrap" or "make"; the rest of the procedure is | |||
| 68 | applicable to those systems as well. | 68 | applicable to those systems as well. |
| 69 | 69 | ||
| 70 | Because the Bazaar version of Emacs is a work in progress, it will | 70 | Because the Bazaar version of Emacs is a work in progress, it will |
| 71 | sometimes fail to build. Please wait a day or so (and check the bug | 71 | sometimes fail to build. Please wait a day or so (and check the |
| 72 | and development mailing list archives) before reporting such problems. | 72 | archives of the emacs-buildstatus, emacs-devel, and bug-gnu-emacs |
| 73 | In most cases, the problem is known about and is just waiting for | 73 | mailing lists) before reporting such problems. In most cases, the |
| 74 | someone to fix it. | 74 | problem is known about and is just waiting for someone to fix it. |
| 75 | This is especially true for Lisp compilation errors, which are almost | ||
| 76 | never platform-specific. | ||
| 75 | 77 | ||
| 76 | 78 | ||
| 77 | 79 | ||
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8853eb099d6..ab0abcd43d3 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-06-25 Andreas Rottmann <a.rottmann@gmx.at> | ||
| 2 | |||
| 3 | * misc.texi (emacsclient Options): Mention --frame-parameters. | ||
| 4 | |||
| 1 | 2011-06-09 Glenn Morris <rgm@gnu.org> | 5 | 2011-06-09 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * custom.texi (Specifying File Variables): | 7 | * custom.texi (Specifying File Variables): |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 290e5dc53bf..f83ac38469a 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -1623,6 +1623,11 @@ text-only terminal frame (@pxref{Frames}). If you omit a filename | |||
| 1623 | argument while supplying the @samp{-c} option, the new frame displays | 1623 | argument while supplying the @samp{-c} option, the new frame displays |
| 1624 | the @samp{*scratch*} buffer (@pxref{Buffers}). | 1624 | the @samp{*scratch*} buffer (@pxref{Buffers}). |
| 1625 | 1625 | ||
| 1626 | @item -F | ||
| 1627 | @itemx --frame-parameters=@var{alist} | ||
| 1628 | Set the parameters for a newly-created graphical frame | ||
| 1629 | (@pxref{Frame Parameters}). | ||
| 1630 | |||
| 1626 | @item -d @var{display} | 1631 | @item -d @var{display} |
| 1627 | @itemx --display=@var{display} | 1632 | @itemx --display=@var{display} |
| 1628 | Tell Emacs to open the given files on the X display @var{display} | 1633 | Tell Emacs to open the given files on the X display @var{display} |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b6b02686caf..7946e4b91ff 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2011-06-25 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * keymaps.texi (Searching Keymaps): | ||
| 4 | * display.texi (Overlay Properties): Fix errors in 2011-05-29 | ||
| 5 | change. Suggested by Johan Bockgård. | ||
| 6 | |||
| 1 | 2011-06-15 Chong Yidong <cyd@stupidchicken.com> | 7 | 2011-06-15 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 8 | ||
| 3 | * text.texi (Special Properties): Clarify role of font-lock-face. | 9 | * text.texi (Special Properties): Clarify role of font-lock-face. |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 199a20cc2cd..069b3c91d7b 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -1441,9 +1441,9 @@ specify a particular attribute for certain text. @xref{Face | |||
| 1441 | Attributes}. | 1441 | Attributes}. |
| 1442 | 1442 | ||
| 1443 | @item | 1443 | @item |
| 1444 | A cons cell, either of the form @code{(fg-color . @var{color-name})} | 1444 | A cons cell, of the form @code{(foreground-color . @var{color-name})} |
| 1445 | or @code{(bg-color . @var{color-name})}. These elements specify just | 1445 | or @code{(background-color . @var{color-name})}. These elements |
| 1446 | the foreground color or just the background color. | 1446 | specify just the foreground color or just the background color. |
| 1447 | 1447 | ||
| 1448 | @code{(foreground-color . @var{color-name})} has the same effect as | 1448 | @code{(foreground-color . @var{color-name})} has the same effect as |
| 1449 | @code{(:foreground @var{color-name})}; likewise for the background. | 1449 | @code{(:foreground @var{color-name})}; likewise for the background. |
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index d55cb299771..cf1db5b7fce 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi | |||
| @@ -723,13 +723,13 @@ them: | |||
| 723 | (@var{find-in} overriding-terminal-local-map)) | 723 | (@var{find-in} overriding-terminal-local-map)) |
| 724 | (overriding-local-map | 724 | (overriding-local-map |
| 725 | (@var{find-in} overriding-local-map)) | 725 | (@var{find-in} overriding-local-map)) |
| 726 | (or (@var{find-in} (get-char-property (point) 'keymap)) | 726 | ((or (@var{find-in} (get-char-property (point) 'keymap)) |
| 727 | (@var{find-in-any} emulation-mode-map-alists) | 727 | (@var{find-in-any} emulation-mode-map-alists) |
| 728 | (@var{find-in-any} minor-mode-overriding-map-alist) | 728 | (@var{find-in-any} minor-mode-overriding-map-alist) |
| 729 | (@var{find-in-any} minor-mode-map-alist) | 729 | (@var{find-in-any} minor-mode-map-alist) |
| 730 | (if (get-text-property (point) 'local-map) | 730 | (if (get-text-property (point) 'local-map) |
| 731 | (@var{find-in} (get-char-property (point) 'local-map)) | 731 | (@var{find-in} (get-char-property (point) 'local-map)) |
| 732 | (@var{find-in} (current-local-map))))) | 732 | (@var{find-in} (current-local-map)))))) |
| 733 | (@var{find-in} (current-global-map))) | 733 | (@var{find-in} (current-global-map))) |
| 734 | @end lisp | 734 | @end lisp |
| 735 | 735 | ||
diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 06ff5782003..88f70e410c8 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-06-25 Andreas Rottmann <a.rottmann@gmx.at> | ||
| 2 | |||
| 3 | * emacsclient.1: Mention --frame-parameters. | ||
| 4 | |||
| 1 | 2011-03-07 Chong Yidong <cyd@stupidchicken.com> | 5 | 2011-03-07 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 6 | ||
| 3 | * Version 23.3 released. | 7 | * Version 23.3 released. |
diff --git a/doc/man/emacsclient.1 b/doc/man/emacsclient.1 index cae4d76634b..4843053666a 100644 --- a/doc/man/emacsclient.1 +++ b/doc/man/emacsclient.1 | |||
| @@ -58,6 +58,9 @@ daemon mode and emacsclient will try to connect to it. | |||
| 58 | .B -c, \-\-create-frame | 58 | .B -c, \-\-create-frame |
| 59 | create a new frame instead of trying to use the current Emacs frame | 59 | create a new frame instead of trying to use the current Emacs frame |
| 60 | .TP | 60 | .TP |
| 61 | .B \-F, \-\-frame-parameters=ALIST | ||
| 62 | set the parameters of a newly-created frame. | ||
| 63 | .TP | ||
| 61 | .B \-d, \-\-display=DISPLAY | 64 | .B \-d, \-\-display=DISPLAY |
| 62 | tell the server to display the files on the given display. | 65 | tell the server to display the files on the given display. |
| 63 | .TP | 66 | .TP |
| @@ -84,6 +84,10 @@ client frame in parent X window ID, via XEmbed. This works like the | |||
| 84 | +++ | 84 | +++ |
| 85 | *** New emacsclient argument -q/--quiet suppresses some status messages. | 85 | *** New emacsclient argument -q/--quiet suppresses some status messages. |
| 86 | 86 | ||
| 87 | +++ | ||
| 88 | *** New emacsclient argument --frame-parameters can be used to set the | ||
| 89 | frame parameters of a newly-created graphical frame. | ||
| 90 | |||
| 87 | *** If emacsclient shuts down as a result of Emacs signalling an | 91 | *** If emacsclient shuts down as a result of Emacs signalling an |
| 88 | error, its exit status is 1. | 92 | error, its exit status is 1. |
| 89 | 93 | ||
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index ec123e85036..b7a95fe8043 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-06-25 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * emacsclient.c (decode_options) <opt>: Add `F:'. | ||
| 4 | (print_help_and_exit): Mention --frame-parameters. | ||
| 5 | |||
| 6 | 2011-06-25 Andreas Rottmann <a.rottmann@gmx.at> | ||
| 7 | |||
| 8 | * emacsclient.c (longopts, decode_options, main): Add frame-parameters. | ||
| 9 | |||
| 1 | 2011-06-10 Paul Eggert <eggert@cs.ucla.edu> | 10 | 2011-06-10 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 11 | ||
| 3 | * movemail.c: Fix race condition and related bugs (Bug#8836). | 12 | * movemail.c: Fix race condition and related bugs (Bug#8836). |
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index c334fb6a196..2daed7eb9da 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c | |||
| @@ -160,6 +160,10 @@ const char *server_file = NULL; | |||
| 160 | /* PID of the Emacs server process. */ | 160 | /* PID of the Emacs server process. */ |
| 161 | int emacs_pid = 0; | 161 | int emacs_pid = 0; |
| 162 | 162 | ||
| 163 | /* If non-NULL, a string that should form a frame parameter alist to | ||
| 164 | be used for the new frame */ | ||
| 165 | const char *frame_parameters = NULL; | ||
| 166 | |||
| 163 | static void print_help_and_exit (void) NO_RETURN; | 167 | static void print_help_and_exit (void) NO_RETURN; |
| 164 | static void fail (void) NO_RETURN; | 168 | static void fail (void) NO_RETURN; |
| 165 | 169 | ||
| @@ -175,6 +179,7 @@ struct option longopts[] = | |||
| 175 | { "nw", no_argument, NULL, 't' }, | 179 | { "nw", no_argument, NULL, 't' }, |
| 176 | { "create-frame", no_argument, NULL, 'c' }, | 180 | { "create-frame", no_argument, NULL, 'c' }, |
| 177 | { "alternate-editor", required_argument, NULL, 'a' }, | 181 | { "alternate-editor", required_argument, NULL, 'a' }, |
| 182 | { "frame-parameters", required_argument, NULL, 'F' }, | ||
| 178 | #ifndef NO_SOCKETS_IN_FILE_SYSTEM | 183 | #ifndef NO_SOCKETS_IN_FILE_SYSTEM |
| 179 | { "socket-name", required_argument, NULL, 's' }, | 184 | { "socket-name", required_argument, NULL, 's' }, |
| 180 | #endif | 185 | #endif |
| @@ -526,9 +531,9 @@ decode_options (int argc, char **argv) | |||
| 526 | { | 531 | { |
| 527 | int opt = getopt_long_only (argc, argv, | 532 | int opt = getopt_long_only (argc, argv, |
| 528 | #ifndef NO_SOCKETS_IN_FILE_SYSTEM | 533 | #ifndef NO_SOCKETS_IN_FILE_SYSTEM |
| 529 | "VHneqa:s:f:d:tc", | 534 | "VHneqa:s:f:d:F:tc", |
| 530 | #else | 535 | #else |
| 531 | "VHneqa:f:d:tc", | 536 | "VHneqa:f:d:F:tc", |
| 532 | #endif | 537 | #endif |
| 533 | longopts, 0); | 538 | longopts, 0); |
| 534 | 539 | ||
| @@ -599,6 +604,10 @@ decode_options (int argc, char **argv) | |||
| 599 | print_help_and_exit (); | 604 | print_help_and_exit (); |
| 600 | break; | 605 | break; |
| 601 | 606 | ||
| 607 | case 'F': | ||
| 608 | frame_parameters = optarg; | ||
| 609 | break; | ||
| 610 | |||
| 602 | default: | 611 | default: |
| 603 | message (TRUE, "Try `%s --help' for more information\n", progname); | 612 | message (TRUE, "Try `%s --help' for more information\n", progname); |
| 604 | exit (EXIT_FAILURE); | 613 | exit (EXIT_FAILURE); |
| @@ -665,6 +674,7 @@ The following OPTIONS are accepted:\n\ | |||
| 665 | -nw, -t, --tty Open a new Emacs frame on the current terminal\n\ | 674 | -nw, -t, --tty Open a new Emacs frame on the current terminal\n\ |
| 666 | -c, --create-frame Create a new frame instead of trying to\n\ | 675 | -c, --create-frame Create a new frame instead of trying to\n\ |
| 667 | use the current Emacs frame\n\ | 676 | use the current Emacs frame\n\ |
| 677 | -F, --frame-parameters Set the parameters of a new frame\n\ | ||
| 668 | -e, --eval Evaluate the FILE arguments as ELisp expressions\n\ | 678 | -e, --eval Evaluate the FILE arguments as ELisp expressions\n\ |
| 669 | -n, --no-wait Don't wait for the server to return\n\ | 679 | -n, --no-wait Don't wait for the server to return\n\ |
| 670 | -q, --quiet Don't display messages on success\n\ | 680 | -q, --quiet Don't display messages on success\n\ |
| @@ -1630,6 +1640,13 @@ main (int argc, char **argv) | |||
| 1630 | send_to_emacs (emacs_socket, " "); | 1640 | send_to_emacs (emacs_socket, " "); |
| 1631 | } | 1641 | } |
| 1632 | 1642 | ||
| 1643 | if (frame_parameters && !current_frame) | ||
| 1644 | { | ||
| 1645 | send_to_emacs (emacs_socket, "-frame-parameters "); | ||
| 1646 | quote_argument (emacs_socket, frame_parameters); | ||
| 1647 | send_to_emacs (emacs_socket, " "); | ||
| 1648 | } | ||
| 1649 | |||
| 1633 | /* If using the current frame, send tty information to Emacs anyway. | 1650 | /* If using the current frame, send tty information to Emacs anyway. |
| 1634 | In daemon mode, Emacs may need to occupy this tty if no other | 1651 | In daemon mode, Emacs may need to occupy this tty if no other |
| 1635 | frame is available. */ | 1652 | frame is available. */ |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index efb5e0ffad7..2a8188f8f5e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,44 @@ | |||
| 1 | 2011-06-25 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * net/ange-ftp.el (ange-ftp-insert-file-contents): Let-bind | ||
| 4 | buffer-file-type before setting its value, to avoid disastrous | ||
| 5 | global effects on decoding files for DOS/Windows systems. | ||
| 6 | (Bug#8780) | ||
| 7 | |||
| 8 | 2011-06-25 Juanma Barranquero <lekktu@gmail.com> | ||
| 9 | |||
| 10 | * allout.el (allout-unload-function): Pass -1 to `allout-mode'. | ||
| 11 | |||
| 12 | * ses.el (ses-unload-function): | ||
| 13 | * emacs-lisp/re-builder.el (re-builder-unload-function): Simplify. | ||
| 14 | |||
| 15 | * proced.el (proced-unload-function): | ||
| 16 | * progmodes/cperl-mode.el (cperl-mode-unload-function): Remove. | ||
| 17 | |||
| 18 | 2011-06-25 Andreas Rottmann <a.rottmann@gmx.at> | ||
| 19 | |||
| 20 | * server.el (server-create-window-system-frame): Add parameters arg. | ||
| 21 | (server-process-filter): Doc fix. Handle frame-parameters. | ||
| 22 | |||
| 23 | 2011-06-25 Juanma Barranquero <lekktu@gmail.com> | ||
| 24 | |||
| 25 | Fix bug#8730, bug#8781. | ||
| 26 | |||
| 27 | * loadhist.el (unload--set-major-mode): New function. | ||
| 28 | (unload-feature): Use it. | ||
| 29 | |||
| 30 | * progmodes/python.el (python-after-info-look): Add autoload cookie. | ||
| 31 | (python-unload-function): New function. | ||
| 32 | |||
| 33 | 2011-06-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 34 | |||
| 35 | * mail/rmail.el (rmail-show-message-1): Use restore-buffer-modified-p. | ||
| 36 | |||
| 37 | 2011-06-25 Giuseppe Scrivano <gscrivano@gnu.org> | ||
| 38 | |||
| 39 | * net/browse-url.el (browse-url-firefox-program): Add icecat to | ||
| 40 | the candidates list. | ||
| 41 | |||
| 1 | 2011-06-24 Juanma Barranquero <lekktu@gmail.com> | 42 | 2011-06-24 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 43 | ||
| 3 | * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable. | 44 | * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable. |
diff --git a/lisp/allout.el b/lisp/allout.el index 8cdf24176b0..1d4d4a20e11 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -2085,7 +2085,7 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." | |||
| 2085 | (save-current-buffer | 2085 | (save-current-buffer |
| 2086 | (dolist (buffer (buffer-list)) | 2086 | (dolist (buffer (buffer-list)) |
| 2087 | (set-buffer buffer) | 2087 | (set-buffer buffer) |
| 2088 | (when (allout-mode-p) (allout-mode)))) | 2088 | (when (allout-mode-p) (allout-mode -1)))) |
| 2089 | ;; continue standard unloading | 2089 | ;; continue standard unloading |
| 2090 | nil) | 2090 | nil) |
| 2091 | 2091 | ||
diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el index 5ce18d020c9..ebbd6ff1fdf 100644 --- a/lisp/emacs-lisp/re-builder.el +++ b/lisp/emacs-lisp/re-builder.el | |||
| @@ -714,8 +714,7 @@ If SUBEXP is non-nil mark only the corresponding sub-expressions." | |||
| 714 | (remove-hook 'after-change-functions 'reb-auto-update t) | 714 | (remove-hook 'after-change-functions 'reb-auto-update t) |
| 715 | (remove-hook 'kill-buffer-hook 'reb-kill-buffer t) | 715 | (remove-hook 'kill-buffer-hook 'reb-kill-buffer t) |
| 716 | (when (reb-mode-buffer-p) | 716 | (when (reb-mode-buffer-p) |
| 717 | (reb-delete-overlays) | 717 | (reb-delete-overlays)))) |
| 718 | (funcall (or (default-value 'major-mode) 'fundamental-mode))))) | ||
| 719 | ;; continue standard unloading | 718 | ;; continue standard unloading |
| 720 | nil) | 719 | nil) |
| 721 | 720 | ||
diff --git a/lisp/loadhist.el b/lisp/loadhist.el index 8e00c33cd81..943eac42b02 100644 --- a/lisp/loadhist.el +++ b/lisp/loadhist.el | |||
| @@ -143,6 +143,19 @@ documentation of `unload-feature' for details.") | |||
| 143 | (define-obsolete-variable-alias 'unload-hook-features-list | 143 | (define-obsolete-variable-alias 'unload-hook-features-list |
| 144 | 'unload-function-defs-list "22.2") | 144 | 'unload-function-defs-list "22.2") |
| 145 | 145 | ||
| 146 | (defun unload--set-major-mode () | ||
| 147 | (save-current-buffer | ||
| 148 | (dolist (buffer (buffer-list)) | ||
| 149 | (set-buffer buffer) | ||
| 150 | (let ((proposed major-mode)) | ||
| 151 | ;; Look for an antecessor mode not defined in the feature we're processing | ||
| 152 | (while (and proposed (rassq proposed unload-function-defs-list)) | ||
| 153 | (setq proposed (get proposed 'derived-mode-parent))) | ||
| 154 | (unless (eq proposed major-mode) | ||
| 155 | ;; Two cases: either proposed is nil, and we want to switch to fundamental | ||
| 156 | ;; mode, or proposed is not nil and not major-mode, and so we use it. | ||
| 157 | (funcall (or proposed 'fundamental-mode))))))) | ||
| 158 | |||
| 146 | ;;;###autoload | 159 | ;;;###autoload |
| 147 | (defun unload-feature (feature &optional force) | 160 | (defun unload-feature (feature &optional force) |
| 148 | "Unload the library that provided FEATURE. | 161 | "Unload the library that provided FEATURE. |
| @@ -222,6 +235,10 @@ something strange, such as redefining an Emacs function." | |||
| 222 | (not (get (cdr y) 'autoload))) | 235 | (not (get (cdr y) 'autoload))) |
| 223 | (setq auto-mode-alist | 236 | (setq auto-mode-alist |
| 224 | (rassq-delete-all (cdr y) auto-mode-alist))))) | 237 | (rassq-delete-all (cdr y) auto-mode-alist))))) |
| 238 | |||
| 239 | ;; Change major mode in all buffers using one defined in the feature being unloaded. | ||
| 240 | (unload--set-major-mode) | ||
| 241 | |||
| 225 | (when (fboundp 'elp-restore-function) ; remove ELP stuff first | 242 | (when (fboundp 'elp-restore-function) ; remove ELP stuff first |
| 226 | (dolist (elt unload-function-defs-list) | 243 | (dolist (elt unload-function-defs-list) |
| 227 | (when (symbolp elt) | 244 | (when (symbolp elt) |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 04ff457dcfb..640f1dfff29 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -2674,7 +2674,7 @@ The current mail message becomes the message displayed." | |||
| 2674 | (let ((modiff (buffer-modified-p))) | 2674 | (let ((modiff (buffer-modified-p))) |
| 2675 | (rmail-set-attribute rmail-unseen-attr-index nil) | 2675 | (rmail-set-attribute rmail-unseen-attr-index nil) |
| 2676 | (unless modiff | 2676 | (unless modiff |
| 2677 | (set-buffer-modified-p nil))) | 2677 | (restore-buffer-modified-p modiff))) |
| 2678 | ;; bracket the message in the mail | 2678 | ;; bracket the message in the mail |
| 2679 | ;; buffer and determine the coding system the transfer encoding. | 2679 | ;; buffer and determine the coding system the transfer encoding. |
| 2680 | (rmail-swap-buffers-maybe) | 2680 | (rmail-swap-buffers-maybe) |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 0493ead7bbf..1282f86d503 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -3278,6 +3278,7 @@ system TYPE.") | |||
| 3278 | (name (ange-ftp-quote-string (nth 2 parsed))) | 3278 | (name (ange-ftp-quote-string (nth 2 parsed))) |
| 3279 | (temp (ange-ftp-make-tmp-name host)) | 3279 | (temp (ange-ftp-make-tmp-name host)) |
| 3280 | (binary (ange-ftp-binary-file filename)) | 3280 | (binary (ange-ftp-binary-file filename)) |
| 3281 | (buffer-file-type buffer-file-type) | ||
| 3281 | (abbr (ange-ftp-abbreviate-filename filename)) | 3282 | (abbr (ange-ftp-abbreviate-filename filename)) |
| 3282 | (coding-system-used last-coding-system-used) | 3283 | (coding-system-used last-coding-system-used) |
| 3283 | size) | 3284 | size) |
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index d9e6827d2df..ac12030471e 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -322,7 +322,7 @@ Defaults to the value of `browse-url-mozilla-arguments' at the time | |||
| 322 | :group 'browse-url) | 322 | :group 'browse-url) |
| 323 | 323 | ||
| 324 | (defcustom browse-url-firefox-program | 324 | (defcustom browse-url-firefox-program |
| 325 | (let ((candidates '("firefox" "iceweasel"))) | 325 | (let ((candidates '("firefox" "iceweasel" "icecat"))) |
| 326 | (while (and candidates (not (executable-find (car candidates)))) | 326 | (while (and candidates (not (executable-find (car candidates)))) |
| 327 | (setq candidates (cdr candidates))) | 327 | (setq candidates (cdr candidates))) |
| 328 | (or (car candidates) "firefox")) | 328 | (or (car candidates) "firefox")) |
diff --git a/lisp/proced.el b/lisp/proced.el index 4436129ce16..11598d7350f 100644 --- a/lisp/proced.el +++ b/lisp/proced.el | |||
| @@ -1869,16 +1869,6 @@ buffer. You can use it to recover marks." | |||
| 1869 | (message "Change in Proced buffer undone. | 1869 | (message "Change in Proced buffer undone. |
| 1870 | Killed processes cannot be recovered by Emacs.")) | 1870 | Killed processes cannot be recovered by Emacs.")) |
| 1871 | 1871 | ||
| 1872 | (defun proced-unload-function () | ||
| 1873 | "Unload the Proced library." | ||
| 1874 | (save-current-buffer | ||
| 1875 | (dolist (buf (buffer-list)) | ||
| 1876 | (set-buffer buf) | ||
| 1877 | (when (eq major-mode 'proced-mode) | ||
| 1878 | (funcall (or (default-value 'major-mode) 'fundamental-mode))))) | ||
| 1879 | ;; continue standard unloading | ||
| 1880 | nil) | ||
| 1881 | |||
| 1882 | (provide 'proced) | 1872 | (provide 'proced) |
| 1883 | 1873 | ||
| 1884 | ;;; proced.el ends here | 1874 | ;;; proced.el ends here |
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 2cce5e13fb0..8eb2d01c097 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -8971,18 +8971,6 @@ do extra unwind via `cperl-unwind-to-safe'." | |||
| 8971 | (substring v (match-beginning 1) (match-end 1))) | 8971 | (substring v (match-beginning 1) (match-end 1))) |
| 8972 | "Version of IZ-supported CPerl package this file is based on.") | 8972 | "Version of IZ-supported CPerl package this file is based on.") |
| 8973 | 8973 | ||
| 8974 | (defun cperl-mode-unload-function () | ||
| 8975 | "Unload the Cperl mode library." | ||
| 8976 | (let ((new-mode (if (eq (symbol-function 'perl-mode) 'cperl-mode) | ||
| 8977 | 'fundamental-mode | ||
| 8978 | 'perl-mode))) | ||
| 8979 | (dolist (buf (buffer-list)) | ||
| 8980 | (with-current-buffer buf | ||
| 8981 | (when (eq major-mode 'cperl-mode) | ||
| 8982 | (funcall new-mode))))) | ||
| 8983 | ;; continue standard unloading | ||
| 8984 | nil) | ||
| 8985 | |||
| 8986 | (provide 'cperl-mode) | 8974 | (provide 'cperl-mode) |
| 8987 | 8975 | ||
| 8988 | ;;; cperl-mode.el ends here | 8976 | ;;; cperl-mode.el ends here |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 3d243f14f07..4d2f15c69d8 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -1868,6 +1868,7 @@ instance. Assumes an inferior Python is running." | |||
| 1868 | 1868 | ||
| 1869 | (declare-function info-lookup-maybe-add-help "info-look" (&rest arg)) | 1869 | (declare-function info-lookup-maybe-add-help "info-look" (&rest arg)) |
| 1870 | 1870 | ||
| 1871 | ;;;###autoload | ||
| 1871 | (defun python-after-info-look () | 1872 | (defun python-after-info-look () |
| 1872 | "Set up info-look for Python. | 1873 | "Set up info-look for Python. |
| 1873 | Used with `eval-after-load'." | 1874 | Used with `eval-after-load'." |
| @@ -2731,6 +2732,16 @@ comint believe the user typed this string so that | |||
| 2731 | (defun python-sentinel (_proc _msg) | 2732 | (defun python-sentinel (_proc _msg) |
| 2732 | (setq overlay-arrow-position nil)) | 2733 | (setq overlay-arrow-position nil)) |
| 2733 | 2734 | ||
| 2735 | (defun python-unload-function () | ||
| 2736 | "Unload the Python library." | ||
| 2737 | (remove-hook 'comint-output-filter-functions 'python-pdbtrack-track-stack-file) | ||
| 2738 | (setq minor-mode-alist (assq-delete-all 'python-pdbtrack-is-tracking-p | ||
| 2739 | minor-mode-alist)) | ||
| 2740 | (dolist (error '("^No symbol" "^Can't shift all lines enough")) | ||
| 2741 | (setq debug-ignored-errors (delete error debug-ignored-errors))) | ||
| 2742 | ;; continue standard unloading | ||
| 2743 | nil) | ||
| 2744 | |||
| 2734 | (provide 'python) | 2745 | (provide 'python) |
| 2735 | (provide 'python-21) | 2746 | (provide 'python-21) |
| 2736 | 2747 | ||
diff --git a/lisp/server.el b/lisp/server.el index 04d35695c57..42da7a210c5 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -736,7 +736,8 @@ Server mode runs a process that accepts commands from the | |||
| 736 | 736 | ||
| 737 | frame)) | 737 | frame)) |
| 738 | 738 | ||
| 739 | (defun server-create-window-system-frame (display nowait proc parent-id) | 739 | (defun server-create-window-system-frame (display nowait proc parent-id |
| 740 | &optional parameters) | ||
| 740 | (add-to-list 'frame-inherited-parameters 'client) | 741 | (add-to-list 'frame-inherited-parameters 'client) |
| 741 | (if (not (fboundp 'make-frame-on-display)) | 742 | (if (not (fboundp 'make-frame-on-display)) |
| 742 | (progn | 743 | (progn |
| @@ -751,7 +752,8 @@ Server mode runs a process that accepts commands from the | |||
| 751 | ;; killing emacs on that frame. | 752 | ;; killing emacs on that frame. |
| 752 | (let* ((params `((client . ,(if nowait 'nowait proc)) | 753 | (let* ((params `((client . ,(if nowait 'nowait proc)) |
| 753 | ;; This is a leftover, see above. | 754 | ;; This is a leftover, see above. |
| 754 | (environment . ,(process-get proc 'env)))) | 755 | (environment . ,(process-get proc 'env)) |
| 756 | ,@parameters)) | ||
| 755 | (display (or display | 757 | (display (or display |
| 756 | (frame-parameter nil 'display) | 758 | (frame-parameter nil 'display) |
| 757 | (getenv "DISPLAY") | 759 | (getenv "DISPLAY") |
| @@ -832,6 +834,9 @@ The following commands are accepted by the server: | |||
| 832 | `-current-frame' | 834 | `-current-frame' |
| 833 | Forbid the creation of new frames. | 835 | Forbid the creation of new frames. |
| 834 | 836 | ||
| 837 | `-frame-parameters ALIST' | ||
| 838 | Set the parameters of the created frame. | ||
| 839 | |||
| 835 | `-nowait' | 840 | `-nowait' |
| 836 | Request that the next frame created should not be | 841 | Request that the next frame created should not be |
| 837 | associated with this client. | 842 | associated with this client. |
| @@ -940,6 +945,7 @@ The following commands are accepted by the client: | |||
| 940 | commands | 945 | commands |
| 941 | dir | 946 | dir |
| 942 | use-current-frame | 947 | use-current-frame |
| 948 | frame-parameters ;parameters for newly created frame | ||
| 943 | tty-name ; nil, `window-system', or the tty name. | 949 | tty-name ; nil, `window-system', or the tty name. |
| 944 | tty-type ; string. | 950 | tty-type ; string. |
| 945 | files | 951 | files |
| @@ -960,6 +966,13 @@ The following commands are accepted by the client: | |||
| 960 | ;; -current-frame: Don't create frames. | 966 | ;; -current-frame: Don't create frames. |
| 961 | (`"-current-frame" (setq use-current-frame t)) | 967 | (`"-current-frame" (setq use-current-frame t)) |
| 962 | 968 | ||
| 969 | ;; -frame-parameters: Set frame parameters | ||
| 970 | (`"-frame-parameters" | ||
| 971 | (let ((alist (pop args-left))) | ||
| 972 | (if coding-system | ||
| 973 | (setq alist (decode-coding-string alist coding-system))) | ||
| 974 | (setq frame-parameters (car (read-from-string alist))))) | ||
| 975 | |||
| 963 | ;; -display DISPLAY: | 976 | ;; -display DISPLAY: |
| 964 | ;; Open X frames on the given display instead of the default. | 977 | ;; Open X frames on the given display instead of the default. |
| 965 | (`"-display" | 978 | (`"-display" |
| @@ -1075,7 +1088,8 @@ The following commands are accepted by the client: | |||
| 1075 | (if display (server-select-display display))) | 1088 | (if display (server-select-display display))) |
| 1076 | ((eq tty-name 'window-system) | 1089 | ((eq tty-name 'window-system) |
| 1077 | (server-create-window-system-frame display nowait proc | 1090 | (server-create-window-system-frame display nowait proc |
| 1078 | parent-id)) | 1091 | parent-id |
| 1092 | frame-parameters)) | ||
| 1079 | ;; When resuming on a tty, tty-name is nil. | 1093 | ;; When resuming on a tty, tty-name is nil. |
| 1080 | (tty-name | 1094 | (tty-name |
| 1081 | (server-create-tty-frame tty-name tty-type proc)))) | 1095 | (server-create-tty-frame tty-name tty-type proc)))) |
diff --git a/lisp/ses.el b/lisp/ses.el index 2fc85d27df9..b52d3e23c73 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -3006,11 +3006,6 @@ current column and continues until the next nonblank column." | |||
| 3006 | (dolist (fun '(copy-region-as-kill yank)) | 3006 | (dolist (fun '(copy-region-as-kill yank)) |
| 3007 | (ad-remove-advice fun 'around (intern (concat "ses-" (symbol-name fun)))) | 3007 | (ad-remove-advice fun 'around (intern (concat "ses-" (symbol-name fun)))) |
| 3008 | (ad-update fun)) | 3008 | (ad-update fun)) |
| 3009 | (save-current-buffer | ||
| 3010 | (dolist (buf (buffer-list)) | ||
| 3011 | (set-buffer buf) | ||
| 3012 | (when (eq major-mode 'ses-mode) | ||
| 3013 | (funcall (or (default-value 'major-mode) 'fundamental-mode))))) | ||
| 3014 | ;; continue standard unloading | 3009 | ;; continue standard unloading |
| 3015 | nil) | 3010 | nil) |
| 3016 | 3011 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 792208f7c29..78ab05728c6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -3,6 +3,11 @@ | |||
| 3 | Use gnulib's dup2 module instead of rolling our own. | 3 | Use gnulib's dup2 module instead of rolling our own. |
| 4 | * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this. | 4 | * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this. |
| 5 | 5 | ||
| 6 | 2011-06-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 7 | |||
| 8 | * dispnew.c (scrolling_window): Before scrolling, turn off a | ||
| 9 | mouse-highlight in the window being scrolled. | ||
| 10 | |||
| 6 | 2011-06-24 Juanma Barranquero <lekktu@gmail.com> | 11 | 2011-06-24 Juanma Barranquero <lekktu@gmail.com> |
| 7 | 12 | ||
| 8 | Move DEFSYM to lisp.h and use everywhere. | 13 | Move DEFSYM to lisp.h and use everywhere. |
diff --git a/src/dispnew.c b/src/dispnew.c index c33442d5048..8691c921853 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -4543,6 +4543,7 @@ scrolling_window (struct window *w, int header_line_p) | |||
| 4543 | /* Copy on the display. */ | 4543 | /* Copy on the display. */ |
| 4544 | if (r->current_y != r->desired_y) | 4544 | if (r->current_y != r->desired_y) |
| 4545 | { | 4545 | { |
| 4546 | rif->clear_window_mouse_face (w); | ||
| 4546 | rif->scroll_run_hook (w, r); | 4547 | rif->scroll_run_hook (w, r); |
| 4547 | 4548 | ||
| 4548 | /* Invalidate runs that copy from where we copied to. */ | 4549 | /* Invalidate runs that copy from where we copied to. */ |