1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-24 00:40:35 -08:00
Commit graph

37826 commits

Author SHA1 Message Date
YAMAMOTO Mitsuharu
5e5ee391d9 Use Core Text types/functions/variables/enumerators directly
* src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
(CharacterCollection): Remove typedefs.  All uses replaced with
definitions.
(MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
(MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
(MAC_FONT_CASCADE_LIST_ATTRIBUTE)
(MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
(MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
(MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
(MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
definitions.
(MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
(MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
(MAC_FONT_FORMAT_BITMAP)
(MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
(MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
uses replaced with definitions.
(kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
(kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
(kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
compatibility enumerators for older versions.
(mac_font_descriptor_create_with_attributes)
(mac_font_descriptor_create_matching_font_descriptors)
(mac_font_descriptor_create_matching_font_descriptor)
(mac_font_descriptor_copy_attribute)
(mac_font_descriptor_supports_languages)
(mac_font_create_with_name, mac_font_get_size)
(mac_font_copy_family_name, mac_font_copy_character_set)
(mac_font_get_glyphs_for_characters, mac_font_get_ascent)
(mac_font_get_descent, mac_font_get_leading)
(mac_font_get_underline_position)
(mac_font_get_underline_thickness, mac_font_copy_graphics_font)
(mac_font_copy_non_synthetic_table): Remove macros.  All uses
replaced with definitions.
(mac_font_create_preferred_family_for_attributes)
(mac_font_get_advance_width_for_glyph)
(mac_font_get_bounding_rect_for_glyph)
(mac_font_create_available_families, mac_font_shape): Remove
macros for renamed functions.
(mac_nsctfont_copy_font_descriptor): Remove unused macro.
* src/macterm.m (mac_font_descriptor_supports_languages): Rename
from mac_ctfont_descriptor_supports_languages.
(mac_font_create_preferred_family_for_attributes): Rename from
mac_ctfont_create_preferred_family_for_attributes.
(mac_font_get_advance_width_for_glyph): Rename from
mac_ctfont_get_advance_width_for_glyph.  Use
kCTFontOrientationDefault also for older versions.
(mac_font_get_bounding_rect_for_glyph): Rename from
mac_ctfont_get_bounding_rect_for_glyph. Use
kCTFontOrientationDefault also for older versions.
(mac_font_create_available_families): Rename from
mac_ctfont_create_available_families.
(mac_font_equal_in_postscript_name): Rename from
mac_ctfont_equal_in_postscript_name.  All uses changed.
(mac_font_create_line_with_string_and_font): Rename from
mac_ctfont_create_line_with_string_and_font.  All uses changed.
(mac_font_shape): Rename from mac_ctfont_shape.
(mac_font_family_compare): Remove unused declaration.
2015-08-29 17:03:55 +09:00
Paul Eggert
ff441d3508 Fix minor text quoting problems in lisp top level
* lisp/apropos.el (apropos-describe-plist):
* lisp/cus-theme.el (customize-themes):
* lisp/dired.el (dired-log):
* lisp/help-fns.el (describe-variable):
* lisp/hexl.el (hexl-insert-multibyte-char):
* lisp/info.el (Info-finder-find-node):
* lisp/json.el (json-read-string):
* lisp/novice.el (disabled-command-function)
(disabled-command-function):
* lisp/startup.el (normal-mouse-startup-screen):
* lisp/woman.el (WoMan-log, WoMan-warn):
Respect text quoting style in doc string or diagnostic.
* lisp/replace.el (replace-character-fold):
* src/syntax.c (Fmodify_syntax_entry):
Escape an apostrophe in a docstring.
* lisp/tempo.el (tempo-define-template):
Remove confusing apostrophe from docstring.
* lisp/whitespace.el (whitespace-mark-x):
Use directed quotes in docstring.
2015-08-28 20:32:39 -07:00
Paul Eggert
6dbe056b9b Add test case for ‘format’ bug and refactor
* src/editfns.c (styled_format): Refactor internally, mostly by
moving declarations closer to uses.  This should not affect behavior.
* test/automated/textprop-tests.el (textprop-tests-format): New test.
2015-08-27 08:52:02 -07:00
Paul Eggert
f33c164123 Fix ‘format’ bug with property offsets
* src/editfns.c (styled_format): Fix recently-introduced ‘format’
bug in calculating string property offsets (Bug#21351).
2015-08-27 04:09:30 -07:00
Paul Eggert
60d1b18734 Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
* doc/lispref/internals.texi (Writing Emacs Primitives):
* etc/NEWS:
Document the change.
* src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
(nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
(Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
* src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
* src/eval.c (gcpro_level) [DEBUG_GCPRO]:
* src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
(GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
(GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
(BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
(GCPRO7, UNGCPRO, RETURN_UNGCPRO):
Remove.  All uses removed.  The code now assumes
GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
* src/bytecode.c (relocate_byte_stack):
Rename from unmark_byte_stack, since it now only relocates.
All callers changed.
* src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
with GCPROs removed.
* src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
* test/automated/finalizer-tests.el (finalizer-basic)
(finalizer-circular-reference, finalizer-cross-reference)
(finalizer-error):
* test/automated/generator-tests.el (cps-test-iter-close-finalizer):
Remove tests, as they depend on gc-precise.
2015-08-26 19:24:58 -07:00
Paul Eggert
582222b557 Fix quoting in ‘message_with_string’
* src/nsfont.m (nsfont_open): Use directed quotes in format; they
should work now.
* src/xdisp.c (message_to_stderr): New function, refactored from
part of ‘message3_nolog’.
(message3_nolog): Use it.
(message_with_string): Use it.  Don’t mishandle NUL bytes when
noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
Use ‘format-message’, not ‘format’, so that quotes are translated.
2015-08-26 13:12:26 -07:00
Eli Zaretskii
84a9787242 Mention false positives of file-accessible-directory on w32
* src/fileio.c (Ffile_accessible_directory_p): Doc fix.
(Bug#21346)
2015-08-26 18:44:09 +03:00
Paul Eggert
2731e821ab Treat error strings as help
* src/print.c (print_error_message): Translate quotes and command
keys in errmsg so that users see, e.g., "Symbol’s value as
variable is void: foo" when text-quoting-style is curved.
2015-08-26 08:26:38 -07:00
Paul Eggert
71781c31a4 format-message now curves ` and '
That way, the caller doesn’t have to use curved quotes to
get diagnostics that match the text-quoting-style preferences.
Suggested by Dmitry Gutov in:
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
This means we no longer need %qs, so remove that format.
While we’re at it, fix an unlikely bug and lessen the pressure
on the garbage collector by processing the string once rather
than twice in the usual case.
* doc/lispref/strings.texi (Formatting Strings):
* etc/NEWS: Document this.
* lisp/subr.el (format-message): Remove; now done in C.
* src/callint.c (Fcall_interactively):
* src/editfns.c (Fmessage, Fmessage_box):
Use Fformat_message instead of Finternal__text_restyle
followed by Fformat.
* src/doc.c (LSQM, RSQM): Remove; all uses changed to use
uLSQM and uRSQM.
(Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
when pure ASCII now suffices.  Fix unlikely bug when parsing
unibyte string containing non-ASCII bytes.  Use inline code
rather than memcpy, as it’s a tiny number of bytes.
(Finternal__text_restyle): Remove; no longer used.
(syms_of_doc): Don’t declare it.
* src/editfns.c (Fformat): Rewrite in terms of new function
‘styled_format’.
(Fformat_message): New function, moved here from subr.el.
(styled_format): New function, with the old guts of Fformat,
except it now optionally transliterates quotes, and it transliterates
traditional grave accent and apostrophe quoting as well.
Remove recently-added q flag; no longer needed or used.
(syms_of_editfns): Define format-message.
* src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
Remove; no longer need to be global symbols.
* src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
so that callers can use `%s'.
* src/image.c (image_size_error, xbm_load_image, xbm_load)
(xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
(gif_load, imagemagick_load_image, imagemagick_load, svg_load)
(svg_load_image, gs_load, x_kill_gs_process):
* src/lread.c (load_warn_old_style_backquotes):
* src/xfaces.c (load_pixmap):
* src/xselect.c (x_clipboard_manager_error_1):
Use `%s' instead of %qs in formats.
2015-08-25 19:00:20 -07:00
Paul Eggert
68280c5ee9 Treat ' like ’ even when not matching `
This is simpler and easier to explain, and should encourage better
typography.  Do this in Electric Quote mode and when translating
quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov	in:
https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
* doc/emacs/text.texi (Quotation Marks):
* doc/lispref/help.texi (Keys in Documentation):
* etc/NEWS:
Document this.
* lisp/electric.el (electric-quote-post-self-insert-function):
* src/doc.c (Fsubstitute_command_keys):
Always treat ' like ’ even when not matched by an open quote.
2015-08-24 23:57:21 -07:00
YAMAMOTO Mitsuharu
1229e61ab8 * src/macfont.m (macfont_create_family_with_symbol): Accept localized names. 2015-08-25 11:06:27 +09:00
Pip Cet
93da8ac5d7 Fix full-screen code when there is no window manager (Bug#21317)
* src/xterm.h (x_wm_supports): Declare external.
* src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
(do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
(x_check_fullscreen): Call `x_wm_set_size_hint', restore
`fullscreen' frame parameter.
* gtkutil.c (x_wm_set_size_hint): Set size hints when running
without a window manager.

Copyright-paperwork-exempt: yes
2015-08-24 09:41:35 +02:00
Paul Eggert
fbb5531fa1 More-conservative ‘format’ quote restyling
Instead of restyling curved quotes for every call to ‘format’,
create a new function ‘format-message’ that does the restyling,
and using the new function instead of ‘format’ only in contexts
where this seems appropriate.
Problem reported by Dmitry Gutov and Andreas Schwab in:
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
* doc/lispref/commands.texi (Using Interactive):
* doc/lispref/control.texi (Signaling Errors, Signaling Errors):
* doc/lispref/display.texi (Displaying Messages, Progress):
* doc/lispref/elisp.texi:
* doc/lispref/help.texi (Keys in Documentation):
* doc/lispref/minibuf.texi (Minibuffer Misc):
* doc/lispref/strings.texi (Formatting Strings):
* etc/NEWS:
Document the changes.
* lisp/abbrev.el (expand-region-abbrevs):
* lisp/apropos.el (apropos-library):
* lisp/calc/calc-ext.el (calc-record-message)
(calc-user-function-list):
* lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
* lisp/calc/calc-lang.el (math-read-big-balance):
* lisp/calc/calc-store.el (calc-edit-variable):
* lisp/calc/calc-units.el (math-build-units-table-buffer):
* lisp/calc/calc-yank.el (calc-edit-mode):
* lisp/calendar/icalendar.el (icalendar-export-region)
(icalendar--add-diary-entry):
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/semantic/complete.el (semantic-completion-message):
* lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
* lisp/cedet/semantic/wisent/comp.el (wisent-log):
* lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/dframe.el (dframe-message):
* lisp/dired-aux.el (dired-query):
* lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
* lisp/emacs-lisp/bytecomp.el (byte-compile-log)
(byte-compile-log-file, byte-compile-warn, byte-compile-form):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
(cconv-analyze-form):
* lisp/emacs-lisp/check-declare.el (check-declare-warn):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
* lisp/emacs-lisp/edebug.el (edebug-format):
* lisp/emacs-lisp/eieio-core.el (eieio-oref):
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
(eldoc-message):
* lisp/emacs-lisp/elint.el (elint-file, elint-log):
* lisp/emacs-lisp/find-func.el (find-function-library):
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
* lisp/emacs-lisp/package.el (package-compute-transaction)
(package-install-button-action, package-delete-button-action)
(package-menu--list-to-prompt):
* lisp/emacs-lisp/timer.el (timer-event-handler):
* lisp/emacs-lisp/warnings.el (lwarn, warn):
* lisp/emulation/viper-cmd.el:
(viper-toggle-parse-sexp-ignore-comments)
(viper-kill-buffer, viper-brac-function):
* lisp/emulation/viper-macs.el (viper-record-kbd-macro):
* lisp/facemenu.el (facemenu-add-new-face):
* lisp/faces.el (face-documentation, read-face-name)
(face-read-string, read-face-font, describe-face):
* lisp/files.el (find-alternate-file, hack-local-variables)
(hack-one-local-variable--obsolete, write-file)
(basic-save-buffer, delete-directory):
* lisp/format.el (format-write-file, format-find-file)
(format-insert-file):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--obsolete)
(help-fns--interactive-only, describe-function-1)
(describe-variable):
* lisp/help.el (describe-mode):
* lisp/info-xref.el (info-xref-output):
* lisp/info.el (Info-virtual-index-find-node)
(Info-virtual-index, info-apropos):
* lisp/international/kkc.el (kkc-error):
* lisp/international/mule-cmds.el:
(select-safe-coding-system-interactively)
(select-safe-coding-system, describe-input-method):
* lisp/international/mule-conf.el (code-offset):
* lisp/international/mule-diag.el (describe-character-set)
(list-input-methods-1):
* lisp/international/quail.el (quail-error):
* lisp/minibuffer.el (minibuffer-message):
* lisp/mpc.el (mpc--debug):
* lisp/msb.el (msb--choose-menu):
* lisp/net/ange-ftp.el (ange-ftp-message):
* lisp/net/gnutls.el (gnutls-message-maybe):
* lisp/net/newst-backend.el (newsticker--sentinel-work):
* lisp/net/newst-treeview.el (newsticker--treeview-load):
* lisp/net/nsm.el (nsm-query-user):
* lisp/net/rlogin.el (rlogin):
* lisp/net/soap-client.el (soap-warning):
* lisp/net/tramp.el (tramp-debug-message):
* lisp/nxml/nxml-outln.el (nxml-report-outline-error):
* lisp/nxml/nxml-parse.el (nxml-parse-error):
* lisp/nxml/rng-cmpct.el (rng-c-error):
* lisp/nxml/rng-match.el (rng-compile-error):
* lisp/nxml/rng-uri.el (rng-uri-error):
* lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
* lisp/org/org-ctags.el:
(org-ctags-ask-rebuild-tags-file-then-find-tag):
* lisp/proced.el (proced-log):
* lisp/progmodes/ebnf2ps.el (ebnf-log):
* lisp/progmodes/flymake.el (flymake-log):
* lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
* lisp/replace.el (occur-1):
* lisp/simple.el (execute-extended-command)
(undo-outer-limit-truncate, define-alternatives):
* lisp/startup.el (command-line):
* lisp/subr.el (error, user-error, add-to-list):
* lisp/tutorial.el (tutorial--describe-nonstandard-key)
(tutorial--find-changed-keys):
* src/callint.c (Fcall_interactively):
* src/editfns.c (Fmessage, Fmessage_box):
Restyle the quotes of format strings intended for use as a
diagnostic, when restyling seems appropriate.
* lisp/subr.el (format-message): New function.
* src/doc.c (Finternal__text_restyle): New function.
(syms_of_doc): Define it.
2015-08-23 22:39:06 -07:00
Paul Eggert
41cb0162c5 Fix minor glitches from ‘format’ reversion
* doc/lispref/strings.texi (Formatting Strings):
After reversion, ‘text-quoting-style’ is documented in ‘Keys in
Documentation’, not below.
* src/syntax.c (Finternal_describe_syntax_value):
Prefer AUTO_STRING to build_string where either will do, as
AUTO_STRING is a bit faster.
2015-08-23 13:51:52 -07:00
Eli Zaretskii
877e77e3ee Support exec-directory with non-ASCII characters on Windows
* src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
in the system's ANSI codepage, when it is used for invoking
cmdproxy.
2015-08-23 18:01:35 +03:00
Andreas Schwab
6b1765e05d Revert "Extend ‘format’ to translate curved quotes"
This reverts commit 244c801689.
2015-08-23 16:33:39 +02:00
Andreas Schwab
0b0c9565d0 Revert "Prefer ‘format’ to ‘substitute-command-keys’"
This reverts commit 6af5aad264.
2015-08-23 16:33:39 +02:00
Eli Zaretskii
b0fe29ed92 Fix invocation of programs via cmdproxy.exe
* src/w32proc.c (sys_spawnve): Use exec-directory, not
invocation-directory, for finding cmdproxy.exe.  When Emacs is
run from the source tree, look for cmdproxy.exe in the same source
tree.  (Bug#21323)
2015-08-22 22:14:56 +03:00
Eli Zaretskii
8583c215a2 A better fix for bug#21303
* src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
cleaner fix for Bug#21260 than the previous change.
2015-08-21 17:45:41 +03:00
Michael Albinus
21c2b4ac52 * src/gfilenotify.c (Fgfile_add_watch):
Handle errors from g_file_monitor.
2015-08-21 11:40:38 +02:00
Martin Rudalics
df9b29eda0 Sanitize frame geometry related functions
* src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
(Fx_frame_edges): Rename to Fns_frame_edges.
* src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
(Fx_frame_edges): Rename to Fw32_frame_edges.
(Fx_mouse_absolute_pixel_position): Rename to
Fw32_mouse_absolute_pixel_position.
(Fx_set_mouse_absolute_pixel_position): Rename to
Fw32_set_mouse_absolute_pixel_position.
* lisp/frame.el (x-frame-geometry, w32-frame-geometry)
(ns-frame-geometry, x-frame-edges, w32-frame-edges)
(ns-frame-edges, w32-mouse-absolute-pixel-position)
(x-mouse-absolute-pixel-position)
(w32-set-mouse-absolute-pixel-position)
(x-set-mouse-absolute-pixel-position): Declare.
(frame-geometry, mouse-absolute-pixel-position)
(set-mouse-absolute-pixel-position): New functions.
(frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
2015-08-21 11:00:59 +02:00
Eli Zaretskii
092e17b197 Fix MinGW64 build broken by latest w32uniscribe.c changes
* src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
(Bug#21260)
2015-08-21 11:46:07 +03:00
Paul Eggert
760701ebe1 Don't quote symbols 'like-this' in docstrings etc.
* admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
* lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
* lisp/allout.el (allout-add-resumptions, allout-mode):
* lisp/calculator.el (calculator-operators):
* lisp/cedet/data-debug.el (dd-propertize):
* lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
* lisp/cedet/semantic/analyze/debug.el:
(semantic-analyzer-debug-global-miss-text):
* lisp/cedet/semantic/lex-spp.el:
(semantic-lex-spp-replace-or-symbol-or-keyword):
* lisp/cedet/semantic/symref.el:
(semantic-symref-cleanup-recent-buffers-fcn):
* lisp/cedet/semantic/tag.el (semantic-tag-class):
* lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
* lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
* lisp/gnus/pop3.el (pop3-authentication-scheme):
* lisp/help-fns.el (describe-function-orig-buffer):
* lisp/imenu.el (imenu--history-list):
* lisp/mail/feedmail.el (feedmail-confirm-outgoing)
(feedmail-display-full-frame, feedmail-deduce-bcc-where)
(feedmail-queue-default-file-slug)
(feedmail-queue-buffer-file-name):
* lisp/net/mairix.el (mairix-searches-mode-map):
* lisp/net/newst-backend.el (newsticker-retrieval-method)
(newsticker-auto-mark-filter-list):
* lisp/obsolete/vi.el (vi-mode):
* lisp/progmodes/cc-engine.el (c-literal-type):
* lisp/progmodes/cpp.el (cpp-face):
* lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
* lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
* lisp/progmodes/pascal.el (pascal-auto-lineup):
* lisp/progmodes/prog-mode.el (prog-widen):
* lisp/progmodes/verilog-mode.el (verilog-regexp-words)
(verilog-auto-lineup, verilog-auto-reset-widths)
(verilog-auto-arg-format, verilog-auto-inst-template-numbers):
* lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
(flyspell-maybe-correct-doubling):
* lisp/textmodes/table.el (table-justify, table-justify-cell)
(table-justify-row, table-justify-column, table-insert-sequence)
(table--justify-cell-contents):
* lisp/url/url-auth.el (url-get-authentication):
* lisp/window.el (display-buffer-record-window):
* lisp/xml.el (xml-parse-file, xml-parse-region):
* src/gfilenotify.c (Fgfile_add_watch):
Don't quote symbols with apostrophes in doc strings.
Use asymmetric quotes instead.
* lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
Likewise for symbol in diagnostic.
* lisp/image.el (image-extension-data):
* lisp/register.el (frame-configuration-to-register):
* src/buffer.c (syms_of_buffer):
Remove bogus apostrophes after symbols.
* lisp/thumbs.el (thumbs-conversion-program):
Quote Lisp string values using double-quotes, not apostrophes.
2015-08-20 17:34:57 -07:00
Martin Rudalics
186297de6e In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
* src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
determine whether frame has a titlebar.
Suggested by Eli Zaretskii <eliz@gnu.org>
2015-08-20 08:22:53 +02:00
Eli Zaretskii
ae7cfd0baf Improve and future-proof OTF fonts support in w32uniscribe.c
* src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
about the expected results and why the new Uniscribe APIs are not
used in this function.
(ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
(ScriptGetFontFeatureTags_Proc): New function typedefs.
(uniscribe_new_apis): New static variable.
(uniscribe_check_features): New function, implements OTF features
verification while correctly accounting for features in the list
after the nil member, if any.
(uniscribe_check_otf_1): New function, retrieves the features
supported by the font for the requested script and language using
the Uniscribe APIs available from Windows Vista onwards.
(uniscribe_check_otf): If the new Uniscribe APIs are available,
use them in preference to reading the font data directly.  Call
uniscribe_check_features to verify that the requested features are
supported, replacing the original incomplete code.
(syms_of_w32uniscribe): Initialize function pointers for the new
Uniscribe APIs.  (Bug#21260)
(otf_features): Scan the script, langsys, and feature arrays back
to front, so that the result we return has them in alphabetical
order, like ftfont.c does.
* src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
New variable for debugging w32uniscribe.c code.
2015-08-19 18:04:22 +03:00
Martin Rudalics
19cdde4aea In nsimage.m include coding.h (Bug#21292)
* src/nsimage.m (top-level): Include coding.h (Bug#21292).
2015-08-19 11:26:37 +02:00
Martin Rudalics
f5a14da109 Move window edge functions to Elisp.
* 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.
2015-08-19 11:20:44 +02:00
Martin Rudalics
62661fe759 In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
* src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
builds can use the declaration from the system headers.
(GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
definition of TITLEBAR_INFO.
Suggested by Eli Zaretskii  <eliz@gnu.org>
2015-08-19 08:49:41 +02:00
Paul Eggert
87fbe1a6cb Use new q ‘format’ flag when fixing quotes in C
* src/image.c (image_size_error): New function.  All uses of
image_error with "Invalid image size ..."  changed to use it.
* src/image.c (image_size_error, xbm_load_image, xbm_load)
(xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
(jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
(imagemagick_load, svg_load, svg_load_image, gs_load)
(x_kill_gs_process):
* src/lread.c (load_warn_old_style_backquotes):
* src/xfaces.c (load_pixmap):
* src/xselect.c (x_clipboard_manager_error_1):
Use %qs, not uLSQM and uRSQM.
* src/syntax.c (Finternal_describe_syntax_value):
Prefer Fsubstitute_command_keys to Fformat, as this lets
us use AUTO_STRING.
* src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
as it's now guaranteed to be ASCII.
* src/xselect.c (x_clipboard_manager_error_2):
Avoid grave accent in low-level stderr diagnostic.
2015-08-18 23:14:08 -07:00
Paul Eggert
67de1b6fa7 New q flag for ‘format’
* doc/lispref/processes.texi (Sentinels):
Don't hardwire grave quoting style in example.
* doc/lispref/strings.texi (Formatting Strings):
* etc/NEWS:
Document new q flag.
* src/editfns.c (Fformat): Implement it.
2015-08-18 23:14:08 -07:00
Paul Eggert
aab8326b28 Fix multibyte confusion in diagnostics
* src/print.c (print_error_message):
Don't assume that the caller's name is unibyte.
* src/xdisp.c (vadd_to_log):
Don't assume that the formatted diagnostic is unibyte.
2015-08-18 16:24:57 -07:00
Paul Eggert
6367368616 Fix file name encodings in diagnostics
Also, close some minor races when opening image files, by opening
them once instead of multiple times.
* src/gtkutil.c (xg_get_image_for_pixmap):
* src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
(svg_load):
* src/nsimage.m (allocInitFromFile:):
* src/xfns.c (xg_set_icon):
Encode file name, since x_find_image_file no longer does that.
* src/image.c (x_find_image_fd): New function.
(x_find_image_file): Use it.  Do not encode resulting file name,
since callers sometimes need it decoded.
(slurp_file): File arg is now a fd, not a file name.
All callers changed.  This saves us having to open the file twice.
(xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
(svg_load):
Use x_find_image_fd and fdopen to save a file-open.
Report file name that failed.
* src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
2015-08-18 16:24:56 -07:00
Martin Rudalics
c29a51df2d Rewrite and add frame geometry related functions.
* src/frame.c (Fframe_position): New function.
(Fset_frame_position): Rename parameters and rewrite doc-string.
(syms_of_frame): Remove Qframe_position, Qframe_outer_size,
Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
Qtitle_bar_size.
* src/nsfns.m (frame_geometry): New function.
(Fx_frame_geometry): Call frame_geometry.
(Fx_frame_edges): New function.
* src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
(GetTitleBarInfo_Proc): Define these so we can use the
GetTitleBarInfo API.
(Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
(Fx_frame_geometry): Rewrite.
(Fx_frame_edges, Fx_mouse_absolute_pixel_position)
(Fx_set_mouse_absolute_pixel_position): New functions.
* src/xfns.c (frame_geometry): New function.
(Fx_frame_geometry): Call frame_geometry.
(Fx_frame_edges, Fx_mouse_absolute_pixel_position)
(Fx_set_mouse_absolute_pixel_position): New functions.
2015-08-18 16:45:27 +02:00
Paul Eggert
7a68ebe048 Clarify what happens to match data on failure
Problem reported by Ernesto Alfonso (Bug#21279).
* doc/lispref/searching.texi (Regexp Search, Simple Match Data):
Document more carefully what happens to match data after a failed
search.
* src/search.c (Fmatch_beginning, Fmatch_end): Document that
the return value is undefined if the last search failed.
(Fmatch_data): Simplify doc string line 1.
2015-08-17 23:47:46 -07:00
Paul Eggert
7f2b98d09d Curved quotes in --batch diagnostics in non-UTF-8
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.
2015-08-17 12:01:26 -07:00
Ilya Zakharevich
c1f34a993c Minor change in variable initialization on MS-Windows
* src/w32fns.c <after_dead_key>: Initialize to -1.
(deliver_wm_chars): If after_deadkey is zero, don't set after_dead
non-zero.
2015-08-17 20:15:30 +03:00
Ilya Zakharevich
94cf37c8de Fix a bug with LWindow key remapping on MS-Windows
* src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
2015-08-17 20:08:45 +03:00
Paul Eggert
59b5141dd7 Fix quoting in Fformat calls
* src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
(xpm_load, xpm_load_image, pbm_load, png_load_body)
(jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
(imagemagick_load, svg_load, svg_load_image, gs_load)
(x_kill_gs_process):
* src/lread.c (load_warn_old_style_backquotes):
* src/xfaces.c (load_pixmap):
* src/xselect.c (x_clipboard_manager_error_1):
Quote diagnostics according to user preference when calling
Fformat or its derivatives.
2015-08-15 17:19:17 -07:00
Glenn Morris
208cfda3aa * admin/admin.el (set-version, set-copyright): Remove deleted files.
; * src/emacs,c, lib-src/ntlib.c: Comment updates.
2015-08-15 10:40:06 -07:00
Eli Zaretskii
8db2b2a7d3 Remove files used by the old MS-Windows specific build procedure
* 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.
2015-08-15 10:56:51 +03:00
Paul Eggert
e26006404a Low-level diagnostics now use ‘text-quoting-style’
* src/doprnt.c (doprnt):
Format ` and ' as per ‘text-quoting-style’.
* src/xdisp.c (vmessage, message): Mention that the format should
not contain ` or '.
2015-08-14 15:55:58 -07:00
Paul Eggert
6af5aad264 Prefer ‘format’ to ‘substitute-command-keys’
* src/character.h (uLSQM, uRSQM): Move here ...
* src/doc.c (uLSQM, uRSQM): ... from here.
* src/doc.c (Fsubstitute_command_keys):
* src/syntax.c (Finternal_describe_syntax_value):
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/cl-extra.el (cl--describe-class):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode)
(help-fns--obsolete, help-fns--interactive-only)
(describe-function-1, describe-variable):
* lisp/help.el (describe-mode):
Prefer ‘format’ to ‘substitute-command-keys’ when either will do
to implement quoting style.  This generally makes the code simpler.
2015-08-14 15:55:58 -07:00
Paul Eggert
244c801689 Extend ‘format’ to translate curved quotes
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.
2015-08-14 15:55:57 -07:00
Stefan Monnier
e1e33f2016 * src/keyboard.c: Use false/true instead of 0/1 for booleans
* src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
2015-08-14 15:29:11 -04:00
Eli Zaretskii
9d053b34cb Don't miss warnings about removing string text properties while dumping
* src/alloc.c (purecopy): Warn about removing a string's text
properties even when the same string was already pure-copied
earlier.

* lisp/progmodes/elisp-mode.el (elisp--xref-format)
(elisp--xref-format-extra): Fix the commentary.
2015-08-14 13:34:18 +03:00
Paul Eggert
fbee6265a7 Make add_to_log varargs
* src/alloc.c (run_finalizer_handler):
* src/charset.c (load_charset_map_from_vector):
* src/nsimage.m (ns_load_image):
* src/xfaces.c (load_pixmap, load_color2):
Simplify, now that add_to_log has a variable number of args.
* src/image.c (image_error): Take a variable number of args.
Callers simplified.
* src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
* src/xdisp.c (format_nargs, vadd_to_log): New functions.
(add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
* src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
2015-08-13 13:48:58 -07:00
Eli Zaretskii
9c13a81a9e Improve warning about purecopy of strings with properties
* src/alloc.c (purecopy): Show the offending string with the
warning about removing its text properties.
2015-08-13 17:36:38 +03:00
David Kastrup
ad0b6dd05a Deal gracefully with up-events (Bug#19746)
* keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
(parse_modifiers_uncached): React gracefully to "up-" modifiers:
those may easily be injected by user-level Lisp code.
(read_key_sequence): Discard unbound up-events like unbound
down-events: they are even more likely only relevant for special
purposes.

While Emacs will not produce up-events on its own currently (those are
converted to drag or click events before being converted to
Lisp-readable structures), the input queue can be made to contain them
by synthesizing events to `unread-command-events'.  Emacs should deal
consistently with such events.
2015-08-12 19:21:29 +02:00
Eli Zaretskii
b367d7fc7b Fix display of thin lines whose newline has line-height property of t
* src/xdisp.c (append_space_for_newline): Don't try to fix ascent
and descent values of non-empty glyph rows, since they could have
forced low values deliberately.  (Bug#21243)
2015-08-12 18:55:38 +03:00
Paul Eggert
d6640d6e4c Give names to Unicode code points in C code
* src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
(ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
(NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
(RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
(LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
(LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
(OBJECT_REPLACEMENT_CHARACTER):
New named constants for Unicode code points.
* src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
* src/composite.c (char_composable_p):
* src/lread.c (readevalloop, read1):
* src/xdisp.c (get_next_display_element):
Use them.
* src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
Remove; now in character.h.
2015-08-11 15:53:56 -07:00