* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
from tex-prettify-symbols-alist.
(tex--prettify-symbols-compose-p): New function.
(tex-common-initialization): Use them as prettify-symbols-alist
and prettify-symbols-compose-predicate.
* lisp/progmodes/prog-mode.el
(prettify-symbols-default-compose-p): New function.
(prettify-symbols-compose-predicate): New variable.
(prettify-symbols--compose-symbol): Use it.
Fixes debbugs#21275.
In Emacs >= 25, let electric-pair-mode take precedence over
delete-selection-mode.
delsel.el (delete-selection-uses-region-p): New function, previously a
lambda expression in a property value for `self-insert-command'.
(top-level) Set the `delete-selection' property of `self-insert-command'
to `delete-selection-uses-region-p'.
progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p'
when the latter function exists.
* lisp/tutorial.el (tutorial--describe-nonstandard-key):
When generating help for custom key bindings, use the user-preferred
quoting style rather than hardcoding the grave style.
Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
clause of `isearch-search-fun-default'. That lax variable does not
refer to lax-whitespacing. Related to (bug#21777).
This reverts commit a5bdb872ed.
* character-fold.el (character-fold-search): Set to nil
Default to nil for now, until someone implements proper
lax-whitespacing with char-fold searching.
* src/window.c (Fwindow_edges, Fwindow_pixel_edges)
(Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
(Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
Move to window.el.
(calc_absolute_offset): Remove.
* lisp/frame.el (frame-edges): New function.
* lisp/window.el (window-edges, window-pixel-edges)
(window-absolute-pixel-edges): Move here from window.c.
(window-body-edges, window-body-pixel-edges)
(window-absolute-body-pixel-edges): Move here from window.c and
rename "inside" to "body". Keep old names as aliases.
(window-absolute-pixel-position): New function.
* lisp/net/pinentry.el (pinentry-debug): New variable.
(pinentry-debug-buffer): New variable.
(pinentry--process-filter): Send input to the debug buffer, if
`pinentry-debug' is set.
* doc/emacs/programs.texi (Matching): Mention the
`blink-matching-paren' value `jump-offscreen'.
* lisp/simple.el (blink-matching-paren): New possible value.
(blink-matching-paren-on-screen): Clarify the docstring.
(blink-matching-open): Handle `jump-offscreen' (bug#21286).
* lisp/net/pinentry.el (pinentry-use-secrets): New user option.
(pinentry--allow-external-password-cache): New local variable.
(pinentry--key-info): New local variable.
(secrets-enabled, secrets-search-items, secrets-get-secret):
Declare.
(pinentry--send-passphrase): New function, split from
`pinentry--process-filter'.
(pinentry--process-filter): Use secrets.el to retrieve passphrase
from login keyring.
* lisp/net/pinentry.el (pinentry): New custom group.
(pinentry-popup-prompt-window): New user option.
(pinentry-prompt-window-height): New user option.
(pinentry--prompt-buffer): New variable.
(pinentry-prompt-mode-map): New variable.
(pinentry-prompt-mode): New function.
(pinentry--prompt): New function.
(pinentry--process-filter): Use `pinentry--prompt' instead of
`read-passwd' and `y-or-n-p'.
When run with --batch, check that curved quotes are compatible with
the system locale before outputting them in diagnostics.
Problem reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
* lisp/startup.el (command-line): Set internal--text-quoting-flag
after the standard display table is initialized.
* src/doc.c (default_to_grave_quoting_style): New function.
(text_quoting_style): Use it.
(text_quoting_flag): New static var, visible to Lisp as
internal--text-quoting-flag.
* src/emacs.c: Include <wchar.h> if available.
(using_utf8): New function.
(main): Use it to initialize text_quoting_flag.
* src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
Don't define, as it's not needed and it clashes with wchar.h.
* lisp/international/fontset.el (otf-script-alist): Add some
missing script tags.
(setup-default-fontset): Include settings for v2 versions of the
script tags used by some modern OTF/TTF fonts.
* lisp/term/x-win.el: Convert to UTF-8. This doesn't affect
runtime behavior, and the file is multilingual so compile-time
appearance shouldn't be an issue.
* admin/notes/unicode: Document this.
* losp/progmodes/verilog-mode.el: Fix some non-automated indent
issues and comments, bug943. (verilog-type-font-keywords): Cycle
delay operators like ##1 and ##[0:$] are now highlighted in their
entirety similarly to the # delay-control operator. Likewise, the
followed-by operators #-# and #=# are no longer partially
highlighed. (verilog-backward-syntactic-ws-quick,
verilog-skip-backward-comments): Minor performance improvements to
buffer traversal functions for reduced latency. (verilog-calc-1,
verilog-in-deferred-immediate-final-p): When the keyword 'final'
follows 'assert/assume/cover', then it is part of a deferred
immediate assertion item and should not be treated as a final
construct for indentation. Reported by Yuri Sugihara.
(verilog-do-indent): Virtual task/function/class definition lines
should not be considered as declarations. Reported by Enzo Chi.
(verilog-do-indent): Do not falsely indent to '=' of
property/sequence operators on subsequent lines of a multi-line
statement. (verilog-assignment-operator-re): Fix '!==' operator
and add support for '<->', ':/', '#-#', and '#=#' operators.
(verilog-calculate-indent, verilog-label-be): Enable
case-sensitive regular expression parsing when looking for
keywords. (verilog-calc-1): Detect 'pure virtual method'
declarations which exist in abstract classes. Reported by Enzo
Chi and Kaushal Modi. (verilog-backward-ws&directives): When
moving back to the start of a line and the preceeding line ended
with an escaped-newline, then jump up one line. This properly
consumes a multi-line pre-processor directive. Reported by
Kaushal Modi. (verilog-dpi-import-export-re,
verilog-extended-complete-re, verilog-calc-1): Teach verilog-mode
to properly indent after a DPI import/export statement that
resides outside of a module. Reported by Kaushal Modi.
(verilog-extended-complete-re): Update regexp to match both
"DPI-C" and "DPI". Reported by Kaushal Modi.
* lisp/allout.el (outlineify-sticky):
* lisp/files.el (hack-one-local-variable--obsolete):
* lisp/help-fns.el (help-fns--obsolete, describe-variable):
Use substitute-command-keys on some doc strings so that
they don't use hard-coded key bindings or quoting styles.
This will be used by cedet/mode-local.el `describe-mode-local-override'
on `help-fns-describe-function-functions' in upstream CEDET.
* lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
`describe-function'.
(describe-function): Bind it, save it on the help xref stack.
* admin/authors.el (authors-canonical-author-name):
Fix typo by using "\\`" not "\`" in string RE.
* lisp/obsolete/complete.el (PC-complete-as-file-name):
* lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
* lisp/progmodes/verilog-mode.el (verilog-mode-map):
Use plain "`", not the equivalent-but-confusing "\`", in strings.
* lisp/textmodes/texinfmt.el: Fix comment likewise.
* nt/configure.bat: Remove everything except the blurb about the
new build procedure.
* make-dist: Remove references to makefile.w32-in in various
directories, and to files in nt/ that were deleted.
* etc/NEWS: Mention the fact that the files were dropped.
This is a followup to the recent doc string change, and deals with
diagnostics and the like. This patch is more conservative than
the doc string change, in that the behavior of ‘format’ changes
only if its first arg contains curved quotes and the user prefers
straight or grave quotes. (Come to think of it, perhaps we should
be similarly conservative with doc strings too, but that can wait.)
The upside of this conservatism is that existing usage is almost
surely unaffected. The downside is that we'll eventually have to
change Emacs's format strings to use curved quotes in places where
the user might want curved quotes, but that's a simple and
mechanical translation that I'm willing to do later. (Bug#21222)
* doc/lispref/help.texi (Keys in Documentation):
Move description of text-quoting-style from here ...
* doc/lispref/strings.texi (Formatting Strings):
... to here, and describe new behavior of ‘format’.
* etc/NEWS: Describe new behavior.
* lisp/calc/calc-help.el (calc-describe-thing):
* lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
* lisp/info.el (Info-find-index-name):
Use ‘concat’ rather than ‘format’ to avoid misinterpretation
of recently-added curved quotes.
* src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
Move from here ...
* src/lisp.h: ... to here.
* src/doc.c (text_quoting_style): New function.
(Fsubstitute_command_keys): Use it.
* src/editfns.c (Fformat): Implement new behavior.
* src/lisp.h (enum text_quoting_style): New enum.
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
(tramp-sh-handle-set-file-times):
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
(tramp-adb-handle-set-file-times): Flush the file properties of
the directory.