commit 80cc5d13d4ceee0fae75e28ee75f351425ada1a9 (HEAD, refs/remotes/origin/master) Author: Zachary Kanfer Date: Sat Sep 26 11:09:19 2015 +0300 New DWIM commands for changing letter-case * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim): New functions. (Bug#21501) Copyright-paperwork-exempt: yes diff --git a/lisp/simple.el b/lisp/simple.el index f80faae..8acb683 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -8424,6 +8424,38 @@ contains the list of implementations currently supported for this command." command-name))))))) +;;; Functions for changing capitalization that Do What I Mean +(defun upcase-dwim (arg) + "Upcase words in the region, if active; if not, upcase word at point. +If the region is active, this function calls `upcase-region'. +Otherwise, it calls `upcase-word', with prefix argument passed to it +to upcase ARG words." + (interactive "*p") + (if (use-region-p) + (upcase-region (region-beginning) (region-end)) + (upcase-word arg))) + +(defun downcase-dwim (arg) + "Downcase words in the region, if active; if not, downcase word at point. +If the region is active, this function calls `downcase-region'. +Otherwise, it calls `downcase-word', with prefix argument passed to it +to downcase ARG words." + (interactive "*p") + (if (use-region-p) + (downcase-region (region-beginning) (region-end)) + (downcase-word arg))) + +(defun capitalize-dwim (arg) + "Capitalize words in the region, if active; if not, capitalize word at point. +If the region is active, this function calls `capitalize-region'. +Otherwise, it calls `capitalize-word', with prefix argument passed to it +to capitalize ARG words." + (interactive "*p") + (if (use-region-p) + (capitalize-region (region-beginning) (region-end)) + (capitalize-word arg))) + + (provide 'simple) commit 7b532d3e26197e5d4d65d1442c34ce7e27cf9d0b Author: Eli Zaretskii Date: Sat Sep 26 10:25:58 2015 +0300 * etc/PROBLEMS: Document problems with pasting on MS-Windows diff --git a/etc/PROBLEMS b/etc/PROBLEMS index d07e7cf..1b48318 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -2036,6 +2036,14 @@ XKeymacs Version 3.47, deactivating XKeymacs when Emacs is active is not enough to avoid its messing with the keyboard input. Exiting XKeymacs completely is reported to solve the problem. +** Pasting from Windows clipboard into Emacs doesn't work. + +This was reported to be the result of an anti-virus software blocking +the clipboard-related operations when a Web browser is open, for +security reasons. The solution is to close the Web browser while +working in Emacs, or to add emacs.exe to the list of applications that +are allowed to use the clipboard when the Web browser is open. + ** Windows 95 and networking. To support server sockets, Emacs loads ws2_32.dll. If this file is commit e573d08ef15f0431ad8289b4242c49826f20efb6 Author: Eli Zaretskii Date: Sat Sep 26 09:50:58 2015 +0300 Make face realization be more frame-specific * src/frame.h (struct f): New flag face_change. * src/xfaces.c (Finternal_make_lisp_face) (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute) (update_face_from_frame_parameter): Set the face_change flag only for the frame whose faces are affected. * src/xdisp.c (init_iterator): If a frame's face_change flag is set, free faces only on that frame. (redisplay_internal): Disable "display optimization 1" if the frame's face_change flag is set. (redisplay_window): Don't allow skipping a window's redisplay if its frame's face_change flag is set. * src/frame.c (x_set_screen_gamma): Instead of calling Fclear_face_cache, call clear_face_cache and set windows_or_buffers_changed to a non-zero value. This avoids setting the global face_change flag that triggers face realization on all frames and thorough redisplay of all of them. * lisp/term/tty-colors.el (tty-register-default-colors): Don't clear face cache if the selected frame is a GUI frame. diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el index 98108ce..3bc1aa0 100644 --- a/lisp/term/tty-colors.el +++ b/lisp/term/tty-colors.el @@ -810,9 +810,11 @@ Value is the modified color alist for FRAME." (while colors (tty-color-define (car color) (cadr color) (cddr color)) (setq colors (cdr colors) color (car colors))) - ;; Modifying color mappings means realized faces don't - ;; use the right colors, so clear them. - (clear-face-cache))) + ;; Modifying color mappings means realized faces don't use the + ;; right colors, so clear them, if we modified colors on a TTY + ;; frame. + (or (display-graphic-p) + (clear-face-cache)))) (defun tty-color-canonicalize (color) "Return COLOR in canonical form. diff --git a/src/frame.c b/src/frame.c index 0e95749..121c55f 100644 --- a/src/frame.c +++ b/src/frame.c @@ -3539,7 +3539,8 @@ x_set_screen_gamma (struct frame *f, Lisp_Object new_value, Lisp_Object old_valu (f, bgcolor, Qnil); } - Fclear_face_cache (Qnil); + clear_face_cache (true); + windows_or_buffers_changed = 70; } diff --git a/src/frame.h b/src/frame.h index 546bede..af0dadb 100644 --- a/src/frame.h +++ b/src/frame.h @@ -335,6 +335,9 @@ struct frame /* Set to true after this frame was made by `make-frame'. */ bool_bf after_make_frame : 1; + /* Non-zero if this frame's faces need to be recomputed. */ + bool_bf face_change : 1; + /* Bitfield area ends here. */ /* Number of lines (rounded up) of tool bar. REMOVE THIS */ diff --git a/src/xdisp.c b/src/xdisp.c index bac74e2..2c38aa9 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -2661,10 +2661,18 @@ init_iterator (struct it *it, struct window *w, free realized faces now because they depend on face definitions that might have changed. Don't free faces while there might be desired matrices pending which reference these faces. */ - if (face_change && !inhibit_free_realized_faces) + if (!inhibit_free_realized_faces) { - face_change = false; - free_all_realized_faces (Qnil); + if (face_change) + { + face_change = false; + free_all_realized_faces (Qnil); + } + else if (XFRAME (w->frame)->face_change) + { + XFRAME (w->frame)->face_change = 0; + free_all_realized_faces (w->frame); + } } /* Perhaps remap BASE_FACE_ID to a user-specified alternative. */ @@ -13541,6 +13549,7 @@ redisplay_internal (void) && FRAME_VISIBLE_P (XFRAME (w->frame)) && !FRAME_OBSCURED_P (XFRAME (w->frame)) && !XFRAME (w->frame)->cursor_type_changed + && !XFRAME (w->frame)->face_change /* Make sure recorded data applies to current buffer, etc. */ && this_line_buffer == current_buffer && match_p @@ -15887,6 +15896,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p) && REDISPLAY_SOME_P () && !w->redisplay && !w->update_mode_line + && !f->face_change && !f->redisplay && !buffer->text->redisplay && BUF_PT (buffer) == w->last_point) diff --git a/src/xfaces.c b/src/xfaces.c index 94f3c4d..40713f1 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -687,7 +687,6 @@ clear_face_cache (bool clear_fonts_p) #endif /* HAVE_WINDOW_SYSTEM */ } - DEFUN ("clear-face-cache", Fclear_face_cache, Sclear_face_cache, 0, 1, 0, doc: /* Clear face caches on all frames. Optional THOROUGHLY non-nil means try to free unused fonts, too. */) @@ -2528,7 +2527,10 @@ Value is a vector of face attributes. */) free realized faces. */ if (NILP (Fget (face, Qface_no_inherit))) { - face_change = true; + if (f) + f->face_change = 1; + else + face_change = true; windows_or_buffers_changed = 54; } @@ -2576,6 +2578,7 @@ The value is TO. */) (Lisp_Object from, Lisp_Object to, Lisp_Object frame, Lisp_Object new_frame) { Lisp_Object lface, copy; + struct frame *f; CHECK_SYMBOL (from); CHECK_SYMBOL (to); @@ -2586,6 +2589,7 @@ The value is TO. */) strings etc. because 20.2 didn't do it either. */ lface = lface_from_face_name (NULL, from, true); copy = Finternal_make_lisp_face (to, Qnil); + f = NULL; } else { @@ -2596,6 +2600,7 @@ The value is TO. */) CHECK_LIVE_FRAME (new_frame); lface = lface_from_face_name (XFRAME (frame), from, true); copy = Finternal_make_lisp_face (to, new_frame); + f = XFRAME (new_frame); } vcopy (copy, 0, XVECTOR (lface)->contents, LFACE_VECTOR_SIZE); @@ -2607,7 +2612,10 @@ The value is TO. */) free realized faces. */ if (NILP (Fget (to, Qface_no_inherit))) { - face_change = true; + if (f) + f->face_change = 1; + else + face_change = true; windows_or_buffers_changed = 55; } @@ -2630,6 +2638,7 @@ FRAME 0 means change the face on all frames, and change the default /* Set one of enum font_property_index (> 0) if ATTR is one of font-related attributes other than QCfont and QCfontset. */ enum font_property_index prop_index = 0; + struct frame *f; CHECK_SYMBOL (face); CHECK_SYMBOL (attr); @@ -2650,6 +2659,7 @@ FRAME 0 means change the face on all frames, and change the default /* Set lface to the Lisp attribute vector of FACE. */ if (EQ (frame, Qt)) { + f = NULL; lface = lface_from_face_name (NULL, face, true); /* When updating face-new-frame-defaults, we put :ignore-defface @@ -2665,9 +2675,10 @@ FRAME 0 means change the face on all frames, and change the default { if (NILP (frame)) frame = selected_frame; + f = XFRAME (frame); CHECK_LIVE_FRAME (frame); - lface = lface_from_face_name (XFRAME (frame), face, false); + lface = lface_from_face_name (f, face, false); /* If a frame-local face doesn't exist yet, create one. */ if (NILP (lface)) @@ -2989,11 +3000,11 @@ FRAME 0 means change the face on all frames, and change the default else if (EQ (attr, QCfont)) { #ifdef HAVE_WINDOW_SYSTEM - if (EQ (frame, Qt) || FRAME_WINDOW_P (XFRAME (frame))) + if (EQ (frame, Qt) || FRAME_WINDOW_P (f)) { if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) { - struct frame *f; + struct frame *f1; old_value = LFACE_FONT (lface); if (! FONTP (value)) @@ -3013,28 +3024,29 @@ FRAME 0 means change the face on all frames, and change the default signal_error ("Invalid font or font-spec", value); } if (EQ (frame, Qt)) - f = XFRAME (selected_frame); + f1 = XFRAME (selected_frame); else - f = XFRAME (frame); + f1 = XFRAME (frame); /* FIXME: If frame is t, and selected frame is a tty frame, the font can't be realized. An improvement would be to loop over frames for a non-tty frame and use that. See discussion in Bug#18573. For a daemon, frame may be an initial frame (Bug#18869). */ - if (FRAME_WINDOW_P (f)) + if (FRAME_WINDOW_P (f1)) { if (! FONT_OBJECT_P (value)) { Lisp_Object *attrs = XVECTOR (lface)->contents; Lisp_Object font_object; - font_object = font_load_for_lface (f, attrs, value); + font_object = font_load_for_lface (f1, attrs, value); if (NILP (font_object)) signal_error ("Font not available", value); value = font_object; } - set_lface_from_font (f, lface, value, true); + set_lface_from_font (f1, lface, value, true); + f1->face_change = 1; } } else @@ -3045,7 +3057,7 @@ FRAME 0 means change the face on all frames, and change the default else if (EQ (attr, QCfontset)) { #ifdef HAVE_WINDOW_SYSTEM - if (EQ (frame, Qt) || FRAME_WINDOW_P (XFRAME (frame))) + if (EQ (frame, Qt) || FRAME_WINDOW_P (f)) { Lisp_Object tmp; @@ -3107,7 +3119,7 @@ FRAME 0 means change the face on all frames, and change the default && NILP (Fget (face, Qface_no_inherit)) && NILP (Fequal (old_value, value))) { - face_change = true; + f->face_change = true; windows_or_buffers_changed = 56; } @@ -3280,7 +3292,7 @@ update_face_from_frame_parameter (struct frame *f, Lisp_Object param, if (!NILP (face) && NILP (Fget (face, Qface_no_inherit))) { - face_change = true; + f->face_change = true; windows_or_buffers_changed = 57; } } commit 3fbc53b09c21d5657c62a4a295b5b70a6ea5d661 Author: Tassilo Horn Date: Sat Sep 26 07:23:21 2015 +0200 Remove font-latex specific check * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Use syntax-ppss data to identify verbatim contents. diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 16162e1..bf15b26 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -3419,10 +3419,7 @@ There might be text before point." (not (memq after-char '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\")))) ;; Don't compose inside verbatim blocks. - (let* ((face (get-text-property end 'face)) - (faces (if (consp face) face (list face)))) - (or (memq 'tex-verbatim faces) - (memq 'font-latex-verbatim-face faces))))))) + (eq 2 (nth 7 (syntax-ppss))))))) (run-hooks 'tex-mode-load-hook) commit 188f657a827b04d72376f8b483c7d4b678e96fac Author: Tassilo Horn Date: Fri Sep 25 23:02:28 2015 +0200 Fix false negatives in tex--prettify-symbols-compose-p. * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Fix some false negatives. diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 25ffb5e..16162e1 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -3409,16 +3409,20 @@ There might be text before point." (defun tex--prettify-symbols-compose-p (start end _match) (let* ((after-char (char-after end)) - (after-syntax (char-syntax after-char))) + (after-syntax (char-syntax after-char))) (not (or ;; Don't compose \alpha@foo. - (eq after-syntax ?_) - ;; Don't compose inside verbatim blocks! - (nth 8 (syntax-ppss)) - ;; The \alpha in \alpha2 may be composed but of course \alphax may not. + (eq after-char ?@) + ;; The \alpha in \alpha2 or \alpha-\beta may be composed but + ;; of course \alphax may not. (and (eq after-syntax ?w) - (or (< after-char ?0) - (> after-char ?9))))))) + (not (memq after-char + '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\")))) + ;; Don't compose inside verbatim blocks. + (let* ((face (get-text-property end 'face)) + (faces (if (consp face) face (list face)))) + (or (memq 'tex-verbatim faces) + (memq 'font-latex-verbatim-face faces))))))) (run-hooks 'tex-mode-load-hook) commit b1dfa84abea1c6357dc2adbd1b5f278ed0d910d0 Author: Eli Zaretskii Date: Fri Sep 25 22:22:31 2015 +0300 Reorder Windows version in Emacs manifests * nt/emacs-x64.manifest: * nt/emacs-x86.manifest: Reorder Windows version from lowest to highest. diff --git a/nt/emacs-x64.manifest b/nt/emacs-x64.manifest index 9481c7e..57ce333 100644 --- a/nt/emacs-x64.manifest +++ b/nt/emacs-x64.manifest @@ -20,16 +20,16 @@ - - - - + + + + diff --git a/nt/emacs-x86.manifest b/nt/emacs-x86.manifest index 0ead8da..1be75b1 100644 --- a/nt/emacs-x86.manifest +++ b/nt/emacs-x86.manifest @@ -20,16 +20,16 @@ - - - - + + + + commit a0b9ebfd256edafb7136569e70fd26bdbf53b736 Author: Eli Zaretskii Date: Fri Sep 25 22:01:54 2015 +0300 Update Emacs manifest files for Windows 10 * nt/emacs-x86.manifest: * nt/emacs-x64.manifest: Declare compatibility with Windows 10. diff --git a/nt/emacs-x64.manifest b/nt/emacs-x64.manifest index 3cf56dd..9481c7e 100644 --- a/nt/emacs-x64.manifest +++ b/nt/emacs-x64.manifest @@ -20,14 +20,16 @@ - - - - - - - - + + + + + + + + + + diff --git a/nt/emacs-x86.manifest b/nt/emacs-x86.manifest index d7053be..0ead8da 100644 --- a/nt/emacs-x86.manifest +++ b/nt/emacs-x86.manifest @@ -20,10 +20,12 @@ + + - + commit 00908ee96e77b09729721610b78adb5014c0aca6 Author: Eli Zaretskii Date: Fri Sep 25 20:29:27 2015 +0300 Avoid non-ASCII decoding errors in C src files * src/nsterm.m: * src/lisp.h: * src/editfns.c: * src/doprnt.c: Add 'coding' cookies -- these files include Unicode characters and should be decoded as UTF-8. diff --git a/src/doprnt.c b/src/doprnt.c index 7c5a6af..51f8fd7 100644 --- a/src/doprnt.c +++ b/src/doprnt.c @@ -1,4 +1,4 @@ -/* Output like sprintf to a buffer of specified size. +/* Output like sprintf to a buffer of specified size. -*- coding: utf-8 -*- Also takes args differently: pass one pointer to the end of the format string in addition to the format string itself. Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc. diff --git a/src/editfns.c b/src/editfns.c index e6f144e..12e5ca8 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -1,4 +1,4 @@ -/* Lisp functions pertaining to editing. +/* Lisp functions pertaining to editing. -*- coding: utf-8 -*- Copyright (C) 1985-1987, 1989, 1993-2015 Free Software Foundation, Inc. diff --git a/src/lisp.h b/src/lisp.h index 15fe40d..2d66617 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -1,4 +1,4 @@ -/* Fundamental definitions for GNU Emacs Lisp interpreter. +/* Fundamental definitions for GNU Emacs Lisp interpreter. -*- coding: utf-8 -*- Copyright (C) 1985-1987, 1993-1995, 1997-2015 Free Software Foundation, Inc. diff --git a/src/nsterm.m b/src/nsterm.m index 7c6b9dc..a5bf06a 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1,4 +1,4 @@ -/* NeXT/Open/GNUstep / MacOSX communication module. +/* NeXT/Open/GNUstep / MacOSX communication module. -*- coding: utf-8 -*- Copyright (C) 1989, 1993-1994, 2005-2006, 2008-2015 Free Software Foundation, Inc. commit feddb99afd5692ad7baf2e5675a35b88ff6987ae Author: Alan Mackenzie Date: Fri Sep 25 11:31:50 2015 +0000 Resurrect edebug-set-initial-mode, repurposing it to set the global mode. lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and amend to match current modes and functions. (edebug-set-initial-mode): Uncomment and change from setting a defun's `edebug-initial-mode''s property to setting the variable `edebug-initial-mode'. (top level): Create new binding C-x C-a C-m for `edebug-set-initial-mode'. doc/lispref/edebug.texi (Edebug Execution Modes): document `edebug-set-initial-mode' and its new key binding. (Edebug Options): Mention the new command in the pertinent place. etc/NEWS: Write entry for this change. diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index e086be3..96bb03b 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi @@ -285,10 +285,21 @@ When you enter a new Edebug level, Edebug will normally stop at the first instrumented function it encounters. If you prefer to stop only at a break point, or not at all (for example, when gathering coverage data), change the value of @code{edebug-initial-mode} from its default -@code{step} to @code{go} or @code{Go-nonstop}, or one of its other -values (@pxref{Edebug Options}). Note that you may reenter the same -Edebug level several times if, for example, an instrumented function -is called several times from one command. +@code{step} to @code{go}, or @code{Go-nonstop}, or one of its other +values (@pxref{Edebug Options}). You can do this readily with +@kbd{C-x C-a C-m} (@code{edebug-set-initial-mode}): + +@deffn Command edebug-set-initial-mode +@kindex C-x C-a C-m +This command, bound to @kbd{C-x C-a C-m}, sets +@code{edebug-initial-mode}. It prompts you for a key to indicate the +mode. You should enter one of the eight keys listed above, which sets +the corresponding mode. +@end deffn + +Note that you may reenter the same Edebug level several times if, for +example, an instrumented function is called several times from one +command. While executing or tracing, you can interrupt the execution by typing any Edebug command. Edebug stops the program at the next stop point and @@ -1565,7 +1576,8 @@ mode for Edebug when it is first activated. Possible values are @code{step}, @code{next}, @code{go}, @code{Go-nonstop}, @code{trace}, @code{Trace-fast}, @code{continue}, and @code{Continue-fast}. -The default value is @code{step}. +The default value is @code{step}. This variable can be set +interactively with @kbd{C-x C-a C-m} (@code{edebug-set-initial-mode}). @xref{Edebug Execution Modes}. @end defopt diff --git a/etc/NEWS b/etc/NEWS index 5cb1af9..e823905 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -460,6 +460,11 @@ typing RET. *** If `quick-calc' is called with a prefix argument, insert the result of the calculation into the current buffer. ++++ +** In Edebug, you can now set the initial mode with C-x C-a C-m. With +this you can tell Edebug not to stop at the start of the first +instrumented function. + ** ElDoc *** New minor mode `global-eldoc-mode' *** `eldoc-documentation-function' now defaults to `ignore' diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index e437c58..a3e3b56 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3216,57 +3216,45 @@ This is useful for exiting even if `unwind-protect' code may be executed." (setq edebug-execution-mode 'Go-nonstop) (top-level)) - ;;(defun edebug-exit-out () ;; "Go until the current function exits." ;; (interactive) ;; (edebug-set-mode 'exiting "Exit...")) - -;;; The following initial mode setting definitions are not used yet. - -'(defconst edebug-initial-mode-alist - '((edebug-Continue-fast . Continue-fast) - (edebug-Trace-fast . Trace-fast) - (edebug-continue . continue) - (edebug-trace . trace) - (edebug-go . go) - (edebug-step-through . step) - (edebug-Go-nonstop . Go-nonstop) - ) +(defconst edebug-initial-mode-alist + '((edebug-step-mode . step) + (edebug-next-mode . next) + (edebug-trace-mode . trace) + (edebug-Trace-fast-mode . Trace-fast) + (edebug-go-mode . go) + (edebug-continue-mode . continue) + (edebug-Continue-fast-mode . Continue-fast) + (edebug-Go-nonstop-mode . Go-nonstop)) "Association list between commands and the modes they set.") +(defvar edebug-mode-map) ; will be defined fully later. -'(defun edebug-set-initial-mode () - "Ask for the initial mode of the enclosing function. +(defun edebug-set-initial-mode () + "Set the initial execution mode of Edebug. The mode is requested via the key that would be used to set the mode in edebug-mode." (interactive) - (let* ((this-function (edebug-which-function)) - (keymap (if (eq edebug-mode-map (current-local-map)) - edebug-mode-map)) - (old-mode (or (get this-function 'edebug-initial-mode) - edebug-initial-mode)) + (let* ((old-mode edebug-initial-mode) (key (read-key-sequence (format - "Change initial edebug mode for %s from %s (%s) to (enter key): " - this-function - old-mode - (where-is-internal - (car (rassq old-mode edebug-initial-mode-alist)) - keymap 'firstonly - )))) - (mode (cdr (assq (key-binding key) edebug-initial-mode-alist))) - ) - (if (and mode - (or (get this-function 'edebug-initial-mode) - (not (eq mode edebug-initial-mode)))) + "Change initial edebug mode from %s (%c) to (enter key): " + old-mode + (aref (where-is-internal + (car (rassq old-mode edebug-initial-mode-alist)) + edebug-mode-map 'firstonly) + 0)))) + (mode (cdr (assq (lookup-key edebug-mode-map key) + edebug-initial-mode-alist)))) + (if mode (progn - (put this-function 'edebug-initial-mode mode) - (message "Initial mode for %s is now: %s" - this-function mode)) - (error "Key must map to one of the mode changing commands") - ))) + (setq edebug-initial-mode mode) + (message "Edebug's initial mode is now: %s" mode)) + (error "Key must map to one of the mode changing commands")))) ;;; Evaluation of expressions @@ -3425,7 +3413,9 @@ be installed in `emacs-lisp-mode-map'.") (define-key emacs-lisp-mode-map "\C-x\C-a\C-s" 'edebug-step-mode) (define-key emacs-lisp-mode-map "\C-x\C-a\C-n" 'edebug-next-mode) (define-key emacs-lisp-mode-map "\C-x\C-a\C-c" 'edebug-go-mode) - (define-key emacs-lisp-mode-map "\C-x\C-a\C-l" 'edebug-where)) + (define-key emacs-lisp-mode-map "\C-x\C-a\C-l" 'edebug-where) + ;; The following isn't a GUD binding. + (define-key emacs-lisp-mode-map "\C-x\C-a\C-m" 'edebug-set-initial-mode)) (defvar edebug-mode-map (let ((map (copy-keymap emacs-lisp-mode-map))) commit 0d31eeb796f3388ee4160b7fdff60004ce6847cf Author: Eli Zaretskii Date: Fri Sep 25 12:32:13 2015 +0300 Avoid non-ASCII decoding errors in Texinfo files * doc/misc/tramp.texi: * doc/lispref/strings.texi: * doc/lispref/positions.texi: * doc/lispref/help.texi: * doc/lispref/functions.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/emacs/text.texi: * doc/emacs/modes.texi: * doc/emacs/mini.texi: * doc/emacs/display.texi: * doc/emacs/custom.texi: * doc/emacs/basic.texi: Add 'coding' cookies -- these files use Unicode characters and should be decoded as UTF-8. * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII apostrophe unnecessarily. diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 40daf56..e5d34c6 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software @c Foundation, Inc. diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 0d11f12..76c7261 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software @c Foundation, Inc. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 7aef52d..a722ec4 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software @c Foundation, Inc. diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index 058f385..2493fda 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software @c Foundation, Inc. diff --git a/doc/emacs/modes.texi b/doc/emacs/modes.texi index 3bba577..4abbb59 100644 --- a/doc/emacs/modes.texi +++ b/doc/emacs/modes.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software @c Foundation, Inc. diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 2843eed..7f3afd7 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software @c Foundation, Inc. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 096b7be..22e50e9 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -1,4 +1,4 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- mode: texinfo; coding: utf-8 -*- @comment %**start of header @setfilename ../../info/eintr.info @c setfilename emacs-lisp-intro.info diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 0950a98..3ae3308 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -1283,7 +1283,7 @@ user-position}) does for the position parameters @code{top} and @cindex maximized frames @vindex fullscreen, a frame parameter @item fullscreen -This parameter specifies whether to maximize the frame’s width, height +This parameter specifies whether to maximize the frame's width, height or both. Its value can be @code{fullwidth}, @code{fullheight}, @code{fullboth}, or @code{maximized}. A @dfn{fullwidth} frame is as wide as possible, a @dfn{fullheight} frame is as tall as possible, and diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 895dca0..8835667 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- mode: texinfo; coding: utf-8 -*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software @c Foundation, Inc. diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index fe7c457..387587a 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- mode: texinfo; coding: utf-8 -*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software @c Foundation, Inc. diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index 92f98ab..72b76ce 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- mode: texinfo; coding: utf-8 -*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990-1995, 1998-2015 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index ac11dd9..143de82 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- mode: texinfo; coding: utf-8 -*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software @c Foundation, Inc. diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index aa78c73..d9cbf47 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- mode: texinfo; coding: utf-8 -*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2015 Free Software @c Foundation, Inc. diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 87c7c80..ac2e74e 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -1,4 +1,4 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- mode: texinfo; coding: utf-8 -*- @setfilename ../../info/tramp.info @c %**start of header @settitle TRAMP User Manual