mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-12 06:21:02 -08:00
Merge from mainline.
This commit is contained in:
commit
2889df585a
17 changed files with 139 additions and 58 deletions
|
|
@ -1,3 +1,16 @@
|
|||
2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
Avoid dubious uses of save-excursions.
|
||||
* positions.texi (Excursions): Recommend the use of
|
||||
save-current-buffer if applicable.
|
||||
* text.texi (Clickable Text): Fix the example code which used
|
||||
save-excursion in a naive way which sometimes preserves point and
|
||||
sometimes not.
|
||||
* variables.texi (Creating Buffer-Local):
|
||||
* os.texi (Session Management):
|
||||
* display.texi (GIF Images):
|
||||
* control.texi (Cleanups): Use (save|with)-current-buffer.
|
||||
|
||||
2010-01-02 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* modes.texi (Example Major Modes): Fix indentation. (Bug#5195)
|
||||
|
|
@ -8375,7 +8388,7 @@
|
|||
;; End:
|
||||
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -1255,9 +1255,8 @@ make sure to kill it before finishing:
|
|||
|
||||
@smallexample
|
||||
@group
|
||||
(save-excursion
|
||||
(let ((buffer (get-buffer-create " *temp*")))
|
||||
(set-buffer buffer)
|
||||
(let ((buffer (get-buffer-create " *temp*")))
|
||||
(with-current-buffer buffer
|
||||
(unwind-protect
|
||||
@var{body-form}
|
||||
(kill-buffer buffer))))
|
||||
|
|
@ -1269,7 +1268,7 @@ You might think that we could just as well write @code{(kill-buffer
|
|||
(current-buffer))} and dispense with the variable @code{buffer}.
|
||||
However, the way shown above is safer, if @var{body-form} happens to
|
||||
get an error after switching to a different buffer! (Alternatively,
|
||||
you could write another @code{save-excursion} around @var{body-form},
|
||||
you could write a @code{save-current-buffer} around @var{body-form},
|
||||
to ensure that the temporary buffer becomes current again in time to
|
||||
kill it.)
|
||||
|
||||
|
|
|
|||
|
|
@ -4394,8 +4394,7 @@ every 0.1 seconds.
|
|||
(when (= idx max)
|
||||
(setq idx 0))
|
||||
(let ((img (create-image file nil :image idx)))
|
||||
(save-excursion
|
||||
(set-buffer buffer)
|
||||
(with-current-buffer buffer
|
||||
(goto-char (point-min))
|
||||
(unless first-time (delete-char 1))
|
||||
(insert-image img))
|
||||
|
|
|
|||
|
|
@ -2182,7 +2182,7 @@ Emacs is restarted by the session manager.
|
|||
|
||||
@group
|
||||
(defun save-yourself-test ()
|
||||
(insert "(save-excursion
|
||||
(insert "(save-current-buffer
|
||||
(switch-to-buffer \"*scratch*\")
|
||||
(insert \"I am restored\"))")
|
||||
nil)
|
||||
|
|
|
|||
|
|
@ -806,7 +806,9 @@ after the completion of the excursion.
|
|||
|
||||
The forms for saving and restoring the configuration of windows are
|
||||
described elsewhere (see @ref{Window Configurations}, and @pxref{Frame
|
||||
Configurations}).
|
||||
Configurations}). When only the identity of the current buffer needs
|
||||
to be saved and restored, it is preferable to use
|
||||
@code{save-current-buffer} instead.
|
||||
|
||||
@defspec save-excursion body@dots{}
|
||||
@cindex mark excursion
|
||||
|
|
@ -817,10 +819,10 @@ buffer and the values of point and the mark in it, evaluates
|
|||
point and the mark. All three saved values are restored even in case of
|
||||
an abnormal exit via @code{throw} or error (@pxref{Nonlocal Exits}).
|
||||
|
||||
The @code{save-excursion} special form is the standard way to switch
|
||||
buffers or move point within one part of a program and avoid affecting
|
||||
the rest of the program. It is used more than 4000 times in the Lisp
|
||||
sources of Emacs.
|
||||
The @code{save-excursion} special form is the standard way to move
|
||||
point within one part of a program and avoid affecting the rest of the
|
||||
program. It is used more than 4000 times in the Lisp sources
|
||||
of Emacs.
|
||||
|
||||
@code{save-excursion} does not save the values of point and the mark for
|
||||
other buffers, so changes in other buffers remain in effect after
|
||||
|
|
|
|||
|
|
@ -3524,13 +3524,12 @@ following command:
|
|||
(defun dired-mouse-find-file-other-window (event)
|
||||
"In Dired, visit the file or directory name you click on."
|
||||
(interactive "e")
|
||||
(let (window pos file)
|
||||
(save-excursion
|
||||
(setq window (posn-window (event-end event))
|
||||
pos (posn-point (event-end event)))
|
||||
(if (not (windowp window))
|
||||
(error "No file chosen"))
|
||||
(set-buffer (window-buffer window))
|
||||
(let ((window (posn-window (event-end event)))
|
||||
(pos (posn-point (event-end event)))
|
||||
file)
|
||||
(if (not (windowp window))
|
||||
(error "No file chosen"))
|
||||
(with-current-buffer (window-buffer window)
|
||||
(goto-char pos)
|
||||
(setq file (dired-get-file-for-visit)))
|
||||
(if (file-directory-p file)
|
||||
|
|
|
|||
|
|
@ -1240,8 +1240,7 @@ foo
|
|||
|
||||
@group
|
||||
;; @r{In buffer @samp{b2}, the value hasn't changed.}
|
||||
(save-excursion
|
||||
(set-buffer "b2")
|
||||
(with-current-buffer "b2"
|
||||
foo)
|
||||
@result{} 5
|
||||
@end group
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* gnus.texi (Posting Styles): Use with-current-buffer.
|
||||
* calc.texi (Defining Simple Commands): Prefer save-current-buffer.
|
||||
|
||||
2010-01-02 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* eieio.texi (Naming Conventions): Correction to xref on elisp
|
||||
|
|
@ -6512,7 +6517,7 @@
|
|||
;; End:
|
||||
|
||||
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -31968,7 +31968,7 @@ the function with code that looks roughly like this:
|
|||
@smallexample
|
||||
(let ((calc-command-flags nil))
|
||||
(unwind-protect
|
||||
(save-excursion
|
||||
(save-current-buffer
|
||||
(calc-select-buffer)
|
||||
@emph{body of function}
|
||||
@emph{renumber stack}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
@copying
|
||||
Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
|
@ -13449,8 +13449,7 @@ So here's a new example:
|
|||
(body "You are fired.\n\nSincerely, your boss.")
|
||||
(organization "Important Work, Inc"))
|
||||
("nnml:.*"
|
||||
(From (save-excursion
|
||||
(set-buffer gnus-article-buffer)
|
||||
(From (with-current-buffer gnus-article-buffer
|
||||
(message-fetch-field "to"))))
|
||||
("^nn.+:"
|
||||
(signature-file "~/.mail-signature"))))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,22 @@
|
|||
2010-01-05 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* language/indian.el (malayalam-composable-pattern): Fix ZWNJ and
|
||||
ZWJ.
|
||||
|
||||
2010-01-05 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* vc-bzr.el (vc-bzr-diff): Obey vc-disable-async-diff.
|
||||
|
||||
2010-01-04 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* vc-bzr.el (vc-bzr-state-heuristic): Make it work for lightweight
|
||||
checkouts. (Bug#618)
|
||||
(vc-bzr-log-view-mode): Also highlight the author.
|
||||
(vc-bzr-shelve-map): Change binding for vc-bzr-shelve-apply-at-point.
|
||||
(vc-bzr-shelve-menu-map):
|
||||
(vc-bzr-dir-extra-headers): Improve menu and tooltip text.
|
||||
(vc-bzr-shelve-apply): Make prompt more explicit.
|
||||
|
||||
2010-01-02 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* net/browse-url.el (browse-url-encode-url): Don't escape commas.
|
||||
|
|
|
|||
|
|
@ -153,8 +153,8 @@ South Indian language Malayalam is supported in this language environment."))
|
|||
("a" . "\u0903") ; vowel modifier (post)
|
||||
("S" . "\u0951") ; stress sign (above)
|
||||
("s" . "\u0952") ; stress sign (below)
|
||||
("J" . "\u200D") ; ZWJ
|
||||
("N" . "\u200C") ; ZWNJ
|
||||
("J" . "\u200D") ; ZWJ
|
||||
("X" . "[\u0900-\u097F]")))) ; all coverage
|
||||
(indian-compose-regexp
|
||||
(concat
|
||||
|
|
@ -195,8 +195,8 @@ South Indian language Malayalam is supported in this language environment."))
|
|||
("b" . "[\u0D62-\u0D63]") ; belowbase matra
|
||||
("a" . "[\u0D02-\u0D03]") ; abovebase sign
|
||||
("H" . "\u0D4D") ; virama sign
|
||||
("N" . "\u200D") ; ZWJ
|
||||
("J" . "\u200C") ; ZWNJ
|
||||
("N" . "\u200C") ; ZWNJ
|
||||
("J" . "\u200D") ; ZWJ
|
||||
("X" . "[\u0D00-\u0D7F]")))) ; all coverage
|
||||
(indian-compose-regexp
|
||||
(concat
|
||||
|
|
|
|||
|
|
@ -176,13 +176,13 @@ Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and
|
|||
"\0"
|
||||
"[^\0]*\0" ;id?
|
||||
"\\([^\0]*\\)\0" ;"a/f/d", a=removed?
|
||||
"[^\0]*\0" ;sha1 (empty if conflicted)?
|
||||
"\\([^\0]*\\)\0" ;size?
|
||||
"\\([^\0]*\\)\0" ;sha1 (empty if conflicted)?
|
||||
"\\([^\0]*\\)\0" ;size?p
|
||||
"[^\0]*\0" ;"y/n", executable?
|
||||
"[^\0]*\0" ;?
|
||||
"\\([^\0]*\\)\0" ;"a/f/d" a=added?
|
||||
"\\([^\0]*\\)\0" ;sha1 again?
|
||||
"[^\0]*\0" ;size again?
|
||||
"\\([^\0]*\\)\0" ;size again?
|
||||
"[^\0]*\0" ;"y/n", executable again?
|
||||
"[^\0]*\0" ;last revid?
|
||||
;; There are more fields when merges are pending.
|
||||
|
|
@ -194,11 +194,20 @@ Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and
|
|||
;; conflict markers).
|
||||
(cond
|
||||
((eq (char-after (match-beginning 1)) ?a) 'removed)
|
||||
((eq (char-after (match-beginning 3)) ?a) 'added)
|
||||
((and (eq (string-to-number (match-string 2))
|
||||
((eq (char-after (match-beginning 4)) ?a) 'added)
|
||||
((or (and (eq (string-to-number (match-string 3))
|
||||
(nth 7 (file-attributes file)))
|
||||
(equal (match-string 4)
|
||||
(equal (match-string 5)
|
||||
(vc-bzr-sha1 file)))
|
||||
(and
|
||||
;; It looks like for lightweight
|
||||
;; checkouts \2 is empty and we need to
|
||||
;; look for size in \6.
|
||||
(eq (match-beginning 2) (match-end 2))
|
||||
(eq (string-to-number (match-string 6))
|
||||
(nth 7 (file-attributes file)))
|
||||
(equal (match-string 5)
|
||||
(vc-bzr-sha1 file))))
|
||||
'up-to-date)
|
||||
(t 'edited))
|
||||
'unregistered))))
|
||||
|
|
@ -475,7 +484,7 @@ REV non-nil gets an error."
|
|||
(4 'change-log-list nil lax))))
|
||||
(append `((,log-view-message-re . 'log-view-message-face))
|
||||
;; log-view-font-lock-keywords
|
||||
'(("^ *committer: \
|
||||
'(("^ *\\(?:committer\\|author\\): \
|
||||
\\([^<(]+?\\)[ ]*[(<]\\([[:alnum:]_.+-]+@[[:alnum:]_.-]+\\)[>)]"
|
||||
(1 'change-log-name)
|
||||
(2 'change-log-email))
|
||||
|
|
@ -523,7 +532,8 @@ REV non-nil gets an error."
|
|||
(defun vc-bzr-diff (files &optional rev1 rev2 buffer)
|
||||
"VC bzr backend for diff."
|
||||
;; `bzr diff' exits with code 1 if diff is non-empty.
|
||||
(apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") 'async files
|
||||
(apply #'vc-bzr-command "diff" (or buffer "*vc-diff*")
|
||||
(if vc-disable-async-diff 1 'async) files
|
||||
"--diff-options" (mapconcat 'identity
|
||||
(vc-switches 'bzr 'diff)
|
||||
" ")
|
||||
|
|
@ -732,7 +742,7 @@ stream. Standard error output is discarded."
|
|||
(define-key map "\C-k" 'vc-bzr-shelve-delete-at-point)
|
||||
;; (define-key map "=" 'vc-bzr-shelve-show-at-point)
|
||||
;; (define-key map "\C-m" 'vc-bzr-shelve-show-at-point)
|
||||
(define-key map "A" 'vc-bzr-shelve-apply-at-point)
|
||||
(define-key map "P" 'vc-bzr-shelve-apply-at-point)
|
||||
map))
|
||||
|
||||
(defvar vc-bzr-shelve-menu-map
|
||||
|
|
@ -740,9 +750,9 @@ stream. Standard error output is discarded."
|
|||
(define-key map [de]
|
||||
'(menu-item "Delete shelf" vc-bzr-shelve-delete-at-point
|
||||
:help "Delete the current shelf"))
|
||||
(define-key map [ap]
|
||||
'(menu-item "Apply shelf" vc-bzr-shelve-apply-at-point
|
||||
:help "Apply the current shelf"))
|
||||
(define-key map [po]
|
||||
'(menu-item "Apply and remove shelf (pop)" vc-bzr-shelve-apply-at-point
|
||||
:help "Apply the current shelf and remove it"))
|
||||
;; (define-key map [sh]
|
||||
;; '(menu-item "Show shelve" vc-bzr-shelve-show-at-point
|
||||
;; :help "Show the contents of the current shelve"))
|
||||
|
|
@ -800,7 +810,7 @@ stream. Standard error output is discarded."
|
|||
(propertize x
|
||||
'face 'font-lock-variable-name-face
|
||||
'mouse-face 'highlight
|
||||
'help-echo "mouse-3: Show shelve menu\nA: Apply shelf\nC-k: Delete shelf"
|
||||
'help-echo "mouse-3: Show shelve menu\nP: Apply and remove shelf (pop)\nC-k: Delete shelf"
|
||||
'keymap vc-bzr-shelve-map))
|
||||
shelve "\n"))
|
||||
(concat
|
||||
|
|
@ -830,8 +840,8 @@ stream. Standard error output is discarded."
|
|||
;; (pop-to-buffer (current-buffer)))
|
||||
|
||||
(defun vc-bzr-shelve-apply (name)
|
||||
"Apply shelve NAME."
|
||||
(interactive "sApply shelf: ")
|
||||
"Apply shelve NAME and remove it afterwards."
|
||||
(interactive "sApply (and remove) shelf: ")
|
||||
(vc-bzr-command "unshelve" "*vc-bzr-shelve*" 0 nil "--apply" name)
|
||||
(vc-resynch-buffer (vc-bzr-root default-directory) t t))
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,28 @@
|
|||
(xg_frame_resized, xg_frame_set_char_size): Call
|
||||
xg_clear_under_internal_border.
|
||||
(xg_update_scrollbar_pos): Clear under old scroll bar position.
|
||||
2010-01-05 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* keyboard.c (read_key_sequence): Catch keyboard switch after
|
||||
making a new tty frame (Bug#5095).
|
||||
|
||||
2010-01-05 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* fontset.c (fontset_find_font): Fix getting the frame pointer.
|
||||
|
||||
2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to
|
||||
Lisp_Object, preferring to convert a lisp_Object to a void* instead.
|
||||
(Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
|
||||
|
||||
2010-01-03 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* dbusbind.c (xd_add_watch): Improve debug message.
|
||||
(xd_remove_watch): Improve debug message. If DATA is the session
|
||||
bus, unset D-Bus session environment.
|
||||
(Fdbus_init_bus): Pass the bus as argument to
|
||||
dbus_connection_set_watch_functions. (Bug#5283)
|
||||
|
||||
2010-01-01 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
|
|
@ -155,7 +177,7 @@
|
|||
2009-12-15 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* dbusbind.c (xd_retrieve_arg): Reorder declarations in order to
|
||||
avoid compiler warnings. (Bug #5217).
|
||||
avoid compiler warnings. (Bug #5217)
|
||||
|
||||
2009-12-14 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
|
|
@ -5330,7 +5352,7 @@
|
|||
(XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
|
||||
(xd_read_queued_messages): Catch Qdbus_error from the macros.
|
||||
(all): Replace xsignal1, xsignal2, xsignal3 by the respective
|
||||
macro. (Bug#1186).
|
||||
macro. (Bug#1186)
|
||||
|
||||
2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
|
||||
|
||||
|
|
@ -21224,7 +21246,7 @@ See ChangeLog.10 for earlier changes.
|
|||
;; add-log-time-zone-rule: t
|
||||
;; End:
|
||||
|
||||
Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -761,14 +761,14 @@ xd_add_watch (watch, data)
|
|||
if (dbus_watch_get_flags (watch) & DBUS_WATCH_READABLE)
|
||||
{
|
||||
#if HAVE_DBUS_WATCH_GET_UNIX_FD
|
||||
/* TODO: Reverse these on Win32, which prefers the opposite. */
|
||||
/* TODO: Reverse these on Win32, which prefers the opposite. */
|
||||
int fd = dbus_watch_get_unix_fd(watch);
|
||||
if (fd == -1)
|
||||
fd = dbus_watch_get_socket(watch);
|
||||
#else
|
||||
int fd = dbus_watch_get_fd(watch);
|
||||
#endif
|
||||
XD_DEBUG_MESSAGE ("%d", fd);
|
||||
XD_DEBUG_MESSAGE ("fd %d", fd);
|
||||
|
||||
if (fd == -1)
|
||||
return FALSE;
|
||||
|
|
@ -781,7 +781,8 @@ xd_add_watch (watch, data)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Remove connection file descriptor from input_wait_mask. */
|
||||
/* Remove connection file descriptor from input_wait_mask. DATA is
|
||||
the used bus, either QCdbus_system_bus or QCdbus_session_bus. */
|
||||
void
|
||||
xd_remove_watch (watch, data)
|
||||
DBusWatch *watch;
|
||||
|
|
@ -791,18 +792,25 @@ xd_remove_watch (watch, data)
|
|||
if (dbus_watch_get_flags (watch) & DBUS_WATCH_READABLE)
|
||||
{
|
||||
#if HAVE_DBUS_WATCH_GET_UNIX_FD
|
||||
/* TODO: Reverse these on Win32, which prefers the opposite. */
|
||||
/* TODO: Reverse these on Win32, which prefers the opposite. */
|
||||
int fd = dbus_watch_get_unix_fd(watch);
|
||||
if (fd == -1)
|
||||
fd = dbus_watch_get_socket(watch);
|
||||
#else
|
||||
int fd = dbus_watch_get_fd(watch);
|
||||
#endif
|
||||
XD_DEBUG_MESSAGE ("%d", fd);
|
||||
XD_DEBUG_MESSAGE ("fd %d", fd);
|
||||
|
||||
if (fd == -1)
|
||||
return;
|
||||
|
||||
/* Unset session environment. */
|
||||
if ((data != NULL) && (data == (void*) XHASH (QCdbus_session_bus)))
|
||||
{
|
||||
XD_DEBUG_MESSAGE ("unsetenv DBUS_SESSION_BUS_ADDRESS");
|
||||
unsetenv ("DBUS_SESSION_BUS_ADDRESS");
|
||||
}
|
||||
|
||||
/* Remove the file descriptor from input_wait_mask. */
|
||||
delete_keyboard_wait_descriptor (fd);
|
||||
}
|
||||
|
|
@ -825,11 +833,12 @@ This is an internal function, it shall not be used outside dbus.el. */)
|
|||
/* Open a connection to the bus. */
|
||||
connection = xd_initialize (bus);
|
||||
|
||||
/* Add the watch functions. */
|
||||
/* Add the watch functions. We pass also the bus as data, in order
|
||||
to distinguish between the busses in xd_remove_watch. */
|
||||
if (!dbus_connection_set_watch_functions (connection,
|
||||
xd_add_watch,
|
||||
xd_remove_watch,
|
||||
NULL, NULL, NULL))
|
||||
NULL, (void*) XHASH (bus), NULL))
|
||||
XD_SIGNAL1 (build_string ("Cannot add watch functions"));
|
||||
|
||||
/* Return. */
|
||||
|
|
|
|||
|
|
@ -533,8 +533,8 @@ fontset_find_font (fontset, c, face, id, fallback)
|
|||
{
|
||||
Lisp_Object vec, font_group;
|
||||
int i, charset_matched = 0, found_index;
|
||||
FRAME_PTR f = (FRAMEP (FONTSET_FRAME (fontset)))
|
||||
? XFRAME (selected_frame) : XFRAME (FONTSET_FRAME (fontset));
|
||||
FRAME_PTR f = (FRAMEP (FONTSET_FRAME (fontset))
|
||||
? XFRAME (FONTSET_FRAME (fontset)) : XFRAME (selected_frame));
|
||||
Lisp_Object rfont_def;
|
||||
|
||||
font_group = fontset_get_font_group (fontset, fallback ? -1 : c);
|
||||
|
|
|
|||
|
|
@ -9502,7 +9502,13 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
key = read_char (NILP (prompt), nmaps,
|
||||
(Lisp_Object *) submaps, last_nonmenu_event,
|
||||
&used_mouse_menu, NULL);
|
||||
if (INTEGERP (key) && XINT (key) == -2) /* wrong_kboard_jmpbuf */
|
||||
if ((INTEGERP (key) && XINT (key) == -2) /* wrong_kboard_jmpbuf */
|
||||
/* When switching to a new tty (with a new keyboard),
|
||||
read_char returns the new buffer, rather than -2
|
||||
(Bug#5095). This is because `terminal-init-xterm'
|
||||
calls read-char, which eats the wrong_kboard_jmpbuf
|
||||
return. Any better way to fix this? -- cyd */
|
||||
|| (interrupted_kboard != current_kboard))
|
||||
{
|
||||
int found = 0;
|
||||
struct kboard *k;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue