Merge from origin/emacs-25
78f9af7
; ChangeLog fixes162e549
* admin/authors.el (authors-ignored-files): Additions.2b31a0c
In x_set_window_size restore do_pending_window_change calls401857e
Fix Alt-modified keys on some European MS-Windows keyboardsa77cf24
Document 'help-go-forward'1ba947f
Revert "Allow to customize names of executables used by grep.el"570e0fa
Revert "Don't use 'find-program'"645f4ef
Revert "Use 'grep-find-program' in check-declare.el"aa03257
Clarify documentation of 'dired-mark-files-containing-regexp'ce0d8c7
Make tmm-menubar work in correct order againb8d5a8f
Remove the Meta-CVS VC backend
This commit is contained in:
commit
f7794460e8
16 changed files with 101 additions and 50 deletions
|
@ -279,7 +279,7 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"ChangeLog.nextstep" "Emacs.clr" "spec.txt"
|
||||
"gfdl.1"
|
||||
"texi/Makefile.in"
|
||||
"lwlib/autodeps.mk"
|
||||
"autodeps.mk"
|
||||
"oldXMenu/autodeps.mk"
|
||||
"src/autodeps.mk"
|
||||
"Imakefile" "icons/sink.ico" "aixcc.lex"
|
||||
|
@ -371,7 +371,7 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"lib/qset-acl.c" "lib/qcopy-acl.c" "lib/file-has-acl.c"
|
||||
;; files from old MS Windows build procedures
|
||||
"makefile.w32-in"
|
||||
"admin/unidata/makefile.w32-in"
|
||||
"unidata/makefile.w32-in"
|
||||
"lib/makefile.w32-in"
|
||||
"leim/makefile.w32-in"
|
||||
"src/makefile.w32-in"
|
||||
|
@ -691,7 +691,8 @@ Changes to files in this list are not listed.")
|
|||
"mh-exec.el" "mh-init.el" "mh-customize.el"
|
||||
"net/zone-mode.el" "xesam.el"
|
||||
"term/mac-win.el" "sup-mouse.el"
|
||||
"term/vt102.el" "term/vt201.el" "term/vt220.el" "term/vt300.el"
|
||||
"term/apollo.el"
|
||||
"term/vt102.el" "term/vt125.el" "term/vt201.el" "term/vt220.el" "term/vt300.el"
|
||||
"term/vt320.el" "term/vt400.el" "term/vt420.el"
|
||||
"url-https.el"
|
||||
"org-mac-message.el" "org-mew.el" "org-w3m.el" "org-vm.el" "org-wl.el"
|
||||
|
|
|
@ -550,7 +550,13 @@ Mark (with @samp{*}) all files whose @emph{contents} contain a match for
|
|||
the regular expression @var{regexp}
|
||||
(@code{dired-mark-files-containing-regexp}). This command is like
|
||||
@kbd{% m}, except that it searches the file contents instead of the file
|
||||
name.
|
||||
name. Note that if a file is visited in an Emacs buffer, this command
|
||||
will look in the buffer without revisiting the file, so the results
|
||||
might be inconsistent with the file on disk if its contents has changed
|
||||
since it was last visited. If you don't want this, you may wish
|
||||
reverting the files you have visited in your buffers, or turning on
|
||||
the @code{auto-revert} mode in those buffers, before invoking this
|
||||
command. @xref{Reverting}.
|
||||
|
||||
@item C-/
|
||||
@itemx C-x u
|
||||
|
|
|
@ -410,6 +410,8 @@ Follow a hyperlink that you click on.
|
|||
@item C-c C-c
|
||||
Show all documentation about the symbol at point
|
||||
(@code{help-follow-symbol}).
|
||||
@item C-c C-f
|
||||
Go forward to the next help topic (@code{help-go-forward}).
|
||||
@item C-c C-b
|
||||
Go back to the previous help topic (@code{help-go-back}).
|
||||
@end table
|
||||
|
@ -417,15 +419,18 @@ Go back to the previous help topic (@code{help-go-back}).
|
|||
@cindex hyperlink
|
||||
@findex help-follow
|
||||
@findex help-go-back
|
||||
@findex help-go-forward
|
||||
@kindex RET @r{(Help mode)}
|
||||
@kindex C-c C-b @r{(Help mode)}
|
||||
@kindex C-c C-f @r{(Help mode)}
|
||||
When a function name, variable name, or face name (@pxref{Faces})
|
||||
appears in the documentation in the help buffer, it is normally an
|
||||
underlined @dfn{hyperlink}. To view the associated documentation,
|
||||
move point there and type @key{RET} (@code{help-follow}), or click on
|
||||
the hyperlink with @kbd{Mouse-1} or @kbd{Mouse-2}. Doing so replaces
|
||||
the contents of the help buffer; to retrace your steps, type @kbd{C-c
|
||||
C-b} (@code{help-go-back}).
|
||||
C-b} (@code{help-go-back}). While retracing your steps, you can go
|
||||
forward by using @kbd{C-c C-b} (@code{help-go-forward}).
|
||||
|
||||
@cindex URL, viewing in help
|
||||
@cindex help, viewing web pages
|
||||
|
|
|
@ -2061,7 +2061,6 @@ Jonathan Arnold has written an
|
|||
@cindex mercurial, version control integration with Emacs
|
||||
@cindex hg, version control integration with Emacs
|
||||
@cindex monotone, version control integration with Emacs
|
||||
@cindex mcvs, version control integration with Emacs
|
||||
|
||||
If you are using a graphical revision control tool already, check if
|
||||
it comes with command-line tools. Many such GUI tools are just
|
||||
|
|
3
etc/NEWS
3
etc/NEWS
|
@ -1418,6 +1418,9 @@ customization group.
|
|||
"Copyright-paperwork-exempt: yes". Set 'log-edit-rewrite-tiny-change'
|
||||
nil to disable this.
|
||||
|
||||
+++
|
||||
*** vc-mcvs.el has been removed.
|
||||
|
||||
---
|
||||
** VHDL mode now supports VHDL'08.
|
||||
|
||||
|
|
|
@ -6835,7 +6835,7 @@
|
|||
console as well (bug#18629).
|
||||
* w32-common-fns.el: Remove.
|
||||
* loadup.el: Don't load w32-common-fns.el.
|
||||
* w32-fns.elc: Don't require w32-common-fns.
|
||||
* w32-fns.el: Don't require w32-common-fns.
|
||||
|
||||
* icomplete.el: Move Iswitchb autoload here. Much simpler.
|
||||
* obsolete/iswitchb.el (iswitchb-mode): Use normal autoload cookie.
|
||||
|
|
|
@ -3357,7 +3357,12 @@ object files--just `.o' will mark more than you might think."
|
|||
(defun dired-mark-files-containing-regexp (regexp &optional marker-char)
|
||||
"Mark all files with contents containing REGEXP for use in later commands.
|
||||
A prefix argument means to unmark them instead.
|
||||
`.' and `..' are never marked."
|
||||
`.' and `..' are never marked.
|
||||
|
||||
Note that if a file is visited in an Emacs buffer, this command will
|
||||
look in the buffer without revisiting the file, so the results might
|
||||
be inconsistent with the file on disk if its contents has changed
|
||||
since it was last visited."
|
||||
(interactive
|
||||
(list (read-regexp (concat (if current-prefix-arg "Unmark" "Mark")
|
||||
" files containing (regexp): ")
|
||||
|
|
|
@ -339,7 +339,7 @@ Returns non-nil if any false statements are found."
|
|||
errlist files)
|
||||
(message "%s" m)
|
||||
(message "%s" m2)
|
||||
(setq files (process-lines grep-find-program root
|
||||
(setq files (process-lines find-program root
|
||||
"-name" "*.el"
|
||||
"-exec" grep-program
|
||||
"-l" "^[ \t]*(declare-function" "{}" ";"))
|
||||
|
|
|
@ -427,34 +427,21 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
|
|||
This gets tacked on the end of the generated expressions.")
|
||||
|
||||
;;;###autoload
|
||||
(defcustom grep-program (purecopy "grep")
|
||||
(defvar grep-program (purecopy "grep")
|
||||
"The default grep program for `grep-command' and `grep-find-command'.
|
||||
This variable's value takes effect when `grep-compute-defaults' is called."
|
||||
:type 'string
|
||||
:version "25.1"
|
||||
:group 'grep)
|
||||
This variable's value takes effect when `grep-compute-defaults' is called.")
|
||||
|
||||
;;;###autoload
|
||||
(defcustom grep-find-program (purecopy "find")
|
||||
(defvar find-program (purecopy "find")
|
||||
"The default find program.
|
||||
This is used by commands like `grep-find-command', `find-dired'
|
||||
and others."
|
||||
:type 'string
|
||||
:version "25.1"
|
||||
:group 'grep)
|
||||
|
||||
(define-obsolete-variable-alias 'find-program 'grep-find-program "25.1")
|
||||
and others.")
|
||||
|
||||
;;;###autoload
|
||||
(defcustom grep-xargs-program (purecopy "xargs")
|
||||
(defvar xargs-program (purecopy "xargs")
|
||||
"The default xargs program for `grep-find-command'.
|
||||
See `grep-find-use-xargs'.
|
||||
This variable's value takes effect when `grep-compute-defaults' is called."
|
||||
:type 'string
|
||||
:version "25.1"
|
||||
:group 'grep)
|
||||
|
||||
(define-obsolete-variable-alias 'xargs-program 'grep-xargs-program "25.1")
|
||||
This variable's value takes effect when `grep-compute-defaults' is called.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar grep-find-use-xargs nil
|
||||
|
@ -624,14 +611,13 @@ This function is called from `compilation-filter-hook'."
|
|||
(unless grep-find-use-xargs
|
||||
(setq grep-find-use-xargs
|
||||
(cond
|
||||
((grep-probe grep-find-program
|
||||
((grep-probe find-program
|
||||
`(nil nil nil ,null-device "-exec" "echo"
|
||||
"{}" "+"))
|
||||
'exec-plus)
|
||||
((and
|
||||
(grep-probe grep-find-program
|
||||
`(nil nil nil ,null-device "-print0"))
|
||||
(grep-probe grep-xargs-program `(nil nil nil "-0" "echo")))
|
||||
(grep-probe find-program `(nil nil nil ,null-device "-print0"))
|
||||
(grep-probe xargs-program `(nil nil nil "-0" "echo")))
|
||||
'gnu)
|
||||
(t
|
||||
'exec))))
|
||||
|
@ -642,11 +628,10 @@ This function is called from `compilation-filter-hook'."
|
|||
;; after the pipe symbol be quoted if they use
|
||||
;; forward slashes as directory separators.
|
||||
(format "%s . -type f -print0 | \"%s\" -0 %s"
|
||||
grep-find-program grep-xargs-program
|
||||
grep-command))
|
||||
find-program xargs-program grep-command))
|
||||
((memq grep-find-use-xargs '(exec exec-plus))
|
||||
(let ((cmd0 (format "%s . -type f -exec %s"
|
||||
grep-find-program grep-command))
|
||||
find-program grep-command))
|
||||
(null (if grep-use-null-device
|
||||
(format "%s " null-device)
|
||||
"")))
|
||||
|
@ -658,8 +643,7 @@ This function is called from `compilation-filter-hook'."
|
|||
(1+ (length cmd0)))))
|
||||
(t
|
||||
(format "%s . -type f -print | \"%s\" %s"
|
||||
grep-find-program grep-xargs-program
|
||||
grep-command)))))
|
||||
find-program xargs-program grep-command)))))
|
||||
(unless grep-find-template
|
||||
(setq grep-find-template
|
||||
(let ((gcmd (format "%s <C> %s <R>"
|
||||
|
@ -669,17 +653,17 @@ This function is called from `compilation-filter-hook'."
|
|||
"")))
|
||||
(cond ((eq grep-find-use-xargs 'gnu)
|
||||
(format "%s <D> <X> -type f <F> -print0 | \"%s\" -0 %s"
|
||||
grep-find-program grep-xargs-program gcmd))
|
||||
find-program xargs-program gcmd))
|
||||
((eq grep-find-use-xargs 'exec)
|
||||
(format "%s <D> <X> -type f <F> -exec %s {} %s%s"
|
||||
grep-find-program gcmd null
|
||||
find-program gcmd null
|
||||
(shell-quote-argument ";")))
|
||||
((eq grep-find-use-xargs 'exec-plus)
|
||||
(format "%s <D> <X> -type f <F> -exec %s %s{} +"
|
||||
grep-find-program gcmd null))
|
||||
find-program gcmd null))
|
||||
(t
|
||||
(format "%s <D> <X> -type f <F> -print | \"%s\" %s"
|
||||
grep-find-program grep-xargs-program gcmd))))))))
|
||||
find-program xargs-program gcmd))))))))
|
||||
|
||||
;; Save defaults for this host.
|
||||
(setq grep-host-defaults-alist
|
||||
|
|
|
@ -162,7 +162,7 @@ end it with `/'. DIR must be one of `project-roots' or
|
|||
DIRS is a list of absolute directories; it should be some
|
||||
subset of the project roots and external roots.
|
||||
|
||||
The default implementation uses `grep-find-program'. PROJECT is used
|
||||
The default implementation uses `find-program'. PROJECT is used
|
||||
to find the list of ignores for each directory."
|
||||
;; FIXME: Uniquely abbreviate the roots?
|
||||
(require 'xref)
|
||||
|
@ -171,7 +171,7 @@ to find the list of ignores for each directory."
|
|||
(lambda (dir)
|
||||
(let ((command
|
||||
(format "%s %s %s -type f -print0"
|
||||
grep-find-program
|
||||
find-program
|
||||
dir
|
||||
(xref--find-ignores-arguments
|
||||
(project-ignores project dir)
|
||||
|
|
16
lisp/tmm.el
16
lisp/tmm.el
|
@ -72,13 +72,15 @@ to invoke `tmm-menubar' instead, customize the variable
|
|||
(tmm-get-keybind [menu-bar]))
|
||||
(setq menu-bar `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end)))
|
||||
(if x-position
|
||||
(let ((column 0))
|
||||
(let ((column 0)
|
||||
prev-key)
|
||||
(catch 'done
|
||||
(map-keymap
|
||||
(lambda (key binding)
|
||||
(when (> column x-position)
|
||||
(setq menu-bar-item key)
|
||||
(setq menu-bar-item prev-key)
|
||||
(throw 'done nil))
|
||||
(setq prev-key key)
|
||||
(pcase binding
|
||||
((or `(,(and (pred stringp) name) . ,_) ;Simple menu item.
|
||||
`(menu-item ,name ,_cmd ;Extended menu item.
|
||||
|
@ -187,7 +189,6 @@ Its value should be an event that has a binding in MENU."
|
|||
((vectorp elt)
|
||||
(dotimes (i (length elt))
|
||||
(tmm-get-keymap (cons i (aref elt i)) not-menu))))))
|
||||
(setq tmm-km-list (nreverse tmm-km-list))
|
||||
;; Choose an element of tmm-km-list; put it in choice.
|
||||
(if (and not-menu (= 1 (length tmm-km-list)))
|
||||
;; If this is the top-level of an x-popup-menu menu,
|
||||
|
@ -239,10 +240,17 @@ Its value should be an event that has a binding in MENU."
|
|||
(if default-item
|
||||
(car (nth index-of-default tmm-km-list))
|
||||
(minibuffer-with-setup-hook #'tmm-add-prompt
|
||||
;; tmm-km-list is reversed, because history
|
||||
;; needs it in LIFO order. But completion
|
||||
;; needs it in non-reverse order, so that the
|
||||
;; menu items are displayed as completion
|
||||
;; candidates in the order they are shown on
|
||||
;; the menu bar. So pass completing-read the
|
||||
;; reversed copy of the list.
|
||||
(completing-read
|
||||
(concat gl-str
|
||||
" (up/down to change, PgUp to menu): ")
|
||||
(tmm--completion-table tmm-km-list) nil t nil
|
||||
(tmm--completion-table (reverse tmm-km-list)) nil t nil
|
||||
(cons 'tmm--history
|
||||
(- (* 2 history-len) index-of-default))))))))
|
||||
(setq choice (cdr (assoc out tmm-km-list)))
|
||||
|
|
|
@ -542,7 +542,7 @@ If called interactively, visit the version at point."
|
|||
(setq en (point))
|
||||
(or (log-view-current-entry nil t)
|
||||
(throw 'beginning-of-buffer nil))
|
||||
(cond ((memq backend '(SCCS RCS CVS MCVS SVN))
|
||||
(cond ((memq backend '(SCCS RCS CVS SVN))
|
||||
(forward-line 2))
|
||||
((eq backend 'Hg)
|
||||
(forward-line 4)
|
||||
|
|
|
@ -122,7 +122,7 @@ An empty list disables VC altogether."
|
|||
:group 'vc)
|
||||
|
||||
;; Note: we don't actually have a darcs back end yet.
|
||||
;; Also, Meta-CVS (corresponding to MCVS) and Arch are unsupported.
|
||||
;; Also, Arch is unsupported, and the Meta-CVS back end has been removed.
|
||||
;; The Arch back end will be retrieved and fixed if it is ever required.
|
||||
(defcustom vc-directory-exclusion-list (purecopy '("SCCS" "RCS" "CVS" "MCVS"
|
||||
".src" ".svn" ".git" ".hg" ".bzr"
|
||||
|
|
36
src/w32fns.c
36
src/w32fns.c
|
@ -3543,6 +3543,42 @@ deliver_wm_chars (int do_translate, HWND hwnd, UINT msg, UINT wParam,
|
|||
wParam));
|
||||
if ((r & 0xFF) == wParam)
|
||||
bitmap = r>>8; /* *b is reachable via simple interface */
|
||||
else
|
||||
{
|
||||
/* VkKeyScanW() (essentially) returns the FIRST key with
|
||||
the specified character; so here the pressed key is the
|
||||
SECONDARY key producing the character.
|
||||
|
||||
Essentially, we have no information about the "role" of
|
||||
modifiers on this key: which contribute into the
|
||||
produced character (so "are consumed"), and which are
|
||||
"extra" (must attache to bindable events).
|
||||
|
||||
The default above would consume ALL modifiers, so the
|
||||
character is reported "as is". However, on many layouts
|
||||
the ordering of the keys (in the layout table) is not
|
||||
thought out well, so the "secondary" keys are often those
|
||||
which the users would prefer to use with Alt-CHAR.
|
||||
(Moreover - with e.g. Czech-QWERTY - the ASCII
|
||||
punctuation is accessible from two equally [nu]preferable
|
||||
AltGr-keys.)
|
||||
|
||||
SO: Heuristic: if the reported char is ASCII, AND Meta
|
||||
modifier is a candidate, behave as if Meta is present
|
||||
(fallback to the legacy branch; bug#23251).
|
||||
|
||||
(This would break layouts
|
||||
- delivering ASCII characters
|
||||
- on SECONDARY keys
|
||||
- with not Shift/AltGr-like modifier combinations.
|
||||
All 3 conditions together must be pretty exotic
|
||||
cases - and a workaround exists: use "primary" keys!) */
|
||||
if (*b < 0x80
|
||||
&& (wmsg.dwModifiers
|
||||
& (alt_modifier | meta_modifier
|
||||
| super_modifier | hyper_modifier)))
|
||||
return 0;
|
||||
}
|
||||
if (*type_CtrlAlt == 'a') /* Simple Alt seen */
|
||||
{
|
||||
if ((bitmap & ~1) == 0) /* 1: KBDSHIFT */
|
||||
|
|
|
@ -6245,6 +6245,8 @@ x_set_window_size (struct frame *f, bool change_gravity,
|
|||
}
|
||||
|
||||
unblock_input ();
|
||||
|
||||
do_pending_window_change (false);
|
||||
}
|
||||
|
||||
/* Mouse warping. */
|
||||
|
|
|
@ -10742,6 +10742,8 @@ x_set_window_size (struct frame *f, bool change_gravity,
|
|||
cancel_mouse_face (f);
|
||||
|
||||
unblock_input ();
|
||||
|
||||
do_pending_window_change (false);
|
||||
}
|
||||
|
||||
/* Move the mouse to position pixel PIX_X, PIX_Y relative to frame F. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue