1. 28 May, 2015 1 commit
    • Eli Zaretskii's avatar
      Fix display of glyphless characters with problematic fonts · c76605fa
      Eli Zaretskii authored
      * src/w32term.c (x_draw_glyph_string_background): Force redraw of
      glyph string background also when the font in use claims
      preposterously large global height value.  Helps to remove
      artifacts left from previous displays when glyphless characters
      are displayed as hex code in a box.
      * src/xterm.c (x_draw_glyph_string_background): Force redraw of
      glyph string background also when the font in use claims
      preposterously large global height value.  Helps to remove
      artifacts left from previous displays when glyphless characters
      are displayed as hex code in a box.
      * src/w32font.c (w32font_draw): Fix background drawing for
      glyphless characters that display as acronyms or hex codes in a
      * src/xftfont.c (xftfont_draw): Fix background drawing for
      glyphless characters that display as acronyms or hex codes in a
      * src/xdisp.c (produce_glyphless_glyph): Compute reasonable values
      for it->ascent and it->descent when the font claims preposterously
      large global values.
      (FONT_TOO_HIGH): Move from here...
      * src/dispextern.h (FONT_TOO_HIGH): ...to here.
  2. 27 May, 2015 9 commits
    • Eli Zaretskii's avatar
      Avoid very high screen lines with some fonts · 1d87cb3c
      Eli Zaretskii authored
      * src/xdisp.c (get_phys_cursor_geometry): Adjust the height of the
      cursor to avoid weird-looking hollow cursor with fonts that have
      large ascent values for some glyphs.  This avoids having the
      hollow cursor start too low.
      (append_space_for_newline): Adjust the ascent value of the newline
      glyph, so that the hollow cursor at end of line displays
      (FONT_TOO_HIGH): New macro.
      (x_produce_glyphs): Use it to detect fonts that claim a
      preposterously large height, in which case we use per-glyph ascent
      and descent values.  (Bug#20628)
    • Eli Zaretskii's avatar
      Support ZIP files that use Zip64 extensions · 17198162
      Eli Zaretskii authored
      * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
      format of central directory offsets used by Zip64 extensions.
    • Michael Albinus's avatar
      New test tramp-test30-make-auto-save-file-name · abf08238
      Michael Albinus authored
      * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
      (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
      (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
      (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
      (tramp-test34-recursive-load, tramp-test35-unload): Rename.
    • Michael Albinus's avatar
      Improve tramp-handle-make-auto-save-file-name · 3953c4be
      Michael Albinus authored
      * tramp.el (tramp-auto-save-directory): Add :tags.
      (tramp-handle-make-auto-save-file-name): Let native
      `make-auto-save-file-name' use `auto-save-file-name-transforms',
      if `tramp-auto-save-directory' is not set.
    • Glenn Morris's avatar
      ; Auto-commit of loaddefs files. · e70d8747
      Glenn Morris authored
    • Glenn Morris's avatar
      No longer set dired-directory in eshell. (Bug#16477) · 1b3fd89b
      Glenn Morris authored
      * lisp/eshell/esh-mode.el (eshell-mode):
      * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
    • Glenn Morris's avatar
    • Glenn Morris's avatar
      Make c-submit-bug-report file reports at debbugs.gnu.org. (Bug#15784) · ce32fb87
      Glenn Morris authored
      * lisp/progmodes/cc-mode.el (c-mode-help-address):
      Change to submit@debbugs.
      (c-mode-bug-package): New constant.
      (mail-position-on-field): Declare.
      (c-submit-bug-report): Insert X-Debbugs-Package header.
      * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
      Mention debbugs.gnu.org.
    • Glenn Morris's avatar
      * lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026) · d3155315
      Glenn Morris authored
      (rmail-summary-by-recipients, rmail-summary-by-topic)
      (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
      * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
      ; * etc/NEWS: Mention this.
  3. 26 May, 2015 6 commits
    • Paul Eggert's avatar
      Handle curved quotes in info files · 5e9756e4
      Paul Eggert authored
      * lisp/calc/calc-help.el (calc-describe-thing):
      * lisp/info.el (Info-find-index-name)
      (Info-try-follow-nearest-node, Info-fontify-node):
      * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
      In info files, process quotes ‘like this’ the same way we process
      quotes `like this'.  This catches a few places we missed earlier.
    • Dmitry Gutov's avatar
      xref-prompt-for-identifier: Use a list value · d86ef9fc
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
      value, to be interpreted as a list of commands.
      (xref--prompt-p): New function.
      (xref--read-identifier): Use it.
    • Eli Zaretskii's avatar
      Teach MS-Windows font back-end return per-glyph ascent/descent · 53bedd3a
      Eli Zaretskii authored
      * src/w32font.h (struct w32_metric_cache): Add ascent and descent
      * src/w32font.c (w32font_text_extents): Compute, cache, and
      accumulate per-glyph ascent and descent values, instead of copying
      global values from the font.  If the values are not available from
      the font data, i.e., non-TTF fonts, fall back on font-global values.
      (compute_metrics): Compute and return per-glyph ascent and descent
      values, if returned by GetGlyphOutlineW, falling back on
      font-global values.  (Bug#20628)
      * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
      height of rectangle to be drawn, to be compatible with
      XDrawRectangle.  Fixes glyphless-char display as hex codes in a
      box, when per-glyph ascent/descent values are used.
    • Artur Malabarba's avatar
      * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter · 45c92ddd
      Artur Malabarba authored
      (tabulated-list-print): Don't sort if sorter is nil
    • Michael Albinus's avatar
      Fix Bug#20621 · f43306ae
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
      are major modes which set `auto-save-mode' on their own rules;
      Tramp shall not overwrite such settings.
      Fixes: debbugs:20621
    • Glenn Morris's avatar
      * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork. · db87b14e
      Glenn Morris authored
      (desktop-load-file): Guess that "foobar" defines "foobar-mode".
      (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
      Doc updates.
      (vc-dir-mode): Remove unnecessary autoload.
      ; Ref: http://debbugs.gnu.org/19226#14
  4. 25 May, 2015 14 commits
    • Philipp Stephani's avatar
      * lisp/term/xterm.el: Add gui-get-selection support via OSC-52 · 816a2b36
      Philipp Stephani authored
      (xterm--extra-capabilities-type): Add `getSelection'.
      (xterm--query): Add `no-async' argument.
      (xterm--init-activate-get-selection): New function.
      (terminal-init-xterm): Use it.
      (xterm--init-modify-other-keys): Rename from
      (xterm--init-bracketed-paste-mode): Rename from
      (xterm--init-activate-set-selection): Rename from
      (xterm--selection-char): New function.
      (gui-backend-set-selection): Use it.  Use the &context to only apply
      this method in terminals where we enabled the feature.
      (gui-backend-get-selection): New method.
    • Daniel Colascione's avatar
      Add C-language keyword constants to C++ · 49c8458d
      Daniel Colascione authored
      * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
      keyword constants to C++.
    • Paul Eggert's avatar
      Make TAGS files more portable to MS-Windows · 1efdf7fe
      Paul Eggert authored
      * etc/NEWS: Document this.
      * lib-src/etags.c (readline_internal) [DOS_NT]:
      Don't treat CRs differently from GNUish hosts.
      * lisp/progmodes/etags.el (etags-goto-tag-location):
      Adjust STARTPOS to account for the skipped CRs in dos-style files.
    • Michael Albinus's avatar
    • Eli Zaretskii's avatar
      Fix a typo in last commit · ac59d538
      Eli Zaretskii authored
      * lib-src/etags.c (C_entries): Fix a typo.
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/CTAGS.good: Update due to the change in etags.c.
    • Eli Zaretskii's avatar
      Fix tagging of class members in C-like OO languages · 9c66c5a0
      Eli Zaretskii authored
      * lib-src/etags.c (longopts): Add new option --class-qualify and
      its shorthand -Q.
      (print_help): Add help text for --class-qualify.
      (main): Add handling of -Q.
      (consider_token, C_entries) <omethodparm>: Append argument types
      to Objective C methods only if --class-qualify was specified.
      Qualify C++, Objective C, and Java class members with their class
      names only if --class-qualify was specified.
      (C_entries): If --class-qualify was not specified, remove the
      namespace and class qualifiers from tag names of C++ methods.
      This allows to use etags.el as xref back-end without the
      tag-symbol-match-p method, which greatly increases the number of
      potentially false positives.  (Bug#20629)
      * doc/man/etags.1: Update to document the new --class-qualify
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/CTAGS.good: Update due to changes in etags.c.
    • Stefan Monnier's avatar
      (cl-generic-define-method): Side effects are evil (bug#20644) · 9b995d55
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
      cons-cells that might be used as keys in an `equal' hash-table.
    • Lars Magne Ingebrigtsen's avatar
      Make erc timestamps visible again · 969f3fb2
      Lars Magne Ingebrigtsen authored
      * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
      timestamps visible again (if requested).
    • Eli Zaretskii's avatar
      Fix last change in etags.c that broke tagging compresed files · adc846ad
      Eli Zaretskii authored
      * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
      quoting of decompression shell command for MS-Windows/MS-DOS.
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist · b15c6395
      Stefan Monnier authored
      Fixes: debbugs:20639
    • Michael Albinus's avatar
      Fix typo in 89035e24 · 6b442df4
      Michael Albinus authored
    • Orivej Desh's avatar
      Fix IPv6 addresses in Tramp · 93760219
      Orivej Desh authored
      * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
      Add sqare brackets around host name.
      Copyright-paperwork-exempt: yes
    • Michael Albinus's avatar
      Inhibit `epa-file-handler' in Tramp · 89035e24
      Michael Albinus authored
      Fixes: debbugs:20634
      * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
      (tramp-sh-handle-insert-file-contents-literally): Inhibit also
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring · dde09cdb
      Stefan Monnier authored
      (pcase-let): Document the behavior in case the pattern doesn't match.
  5. 24 May, 2015 8 commits
    • Artur Malabarba's avatar
      * lisp/emacs-lisp/tabulated-list.el: New optional print method · c205098b
      Artur Malabarba authored
      (tabulated-list-print): New optional argument, UPDATE.  If
      non-nil, the list is printed by only adding and deleting the
      changed entries, instead of erasing the whole buffer.  This method
      is much faster when few or no entries have changed.
      * doc/lispref/modes.texi (Tabulated List Mode): Document it.
      * etc/NEWS: Document it.
    • Artur Malabarba's avatar
      * lisp/emacs-lisp/tabulated-list.el: Improve printing · d3835098
      Artur Malabarba authored
      (tabulated-list--get-sorter): New function.
      (tabulated-list-print): Restore window-line when remember-pos is
      passed and optimize away the `nreverse'.
    • Paul Eggert's avatar
      Simpilify etags TEX mode scanning · 675c90a3
      Paul Eggert authored
      * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
      Remove static vars.
      (TeX_commands): Deduce escapes here instead.
      (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
      This removes the need for a reset_input call.
    • Paul Eggert's avatar
      Improve etags I/O error reporting · 379d77df
      Paul Eggert authored
      * lib-src/etags.c:
      Don't include sys/types.h and sys/stat.h; no longer needed.
      (infilename): New static var.
      (process_file_name): Don't call 'stat'.  Instead, just open the
      file for reading and report any errors.  Don't bother making
      a copy of the file argument; it's not needed.  Be more careful to
      use the failing errno when reporting an error.
      Quote the real name better (though no perfectly)
      when passing it to the shell.
      (reset_input): New function, which reports I/O errors.
      All uses of 'rewind' changed to use this function.
      (perhaps_more_input): New function, which also checks for
      I/O errors.  All uses of 'feof' changed to use this function.
      (analyze_regex): Report an error if fclose fails.
      (readline_internal): Report an error if getc fails.
      (etags_mktmp): Return an error if close fails.
    • Paul Eggert's avatar
      etags.c: avoid side effects in 'if' · 3441b0cc
      Paul Eggert authored
      * lib-src/etags.c (process_file_name, Perl_functions)
      (TEX_decode_env): Hoist side effects into previous statement.
    • Paul Eggert's avatar
      .gitignore tweaks · efa6f10a
      Paul Eggert authored
      * .gitignore: Ignore all *.stamp files.  Sort.
      Ignore [0-9]*.txt (commonly used name for git patches)
      and /vc-dwim-log-* (vc-dwim temporary).
    • Glenn Morris's avatar
      ; Auto-commit of ChangeLog files. · 319d65c7
      Glenn Morris authored
    • Eli Zaretskii's avatar
      Fix last change in etags.c, which failed the test suite · b98a2ef7
      Eli Zaretskii authored
      * lib-src/etags.c (intoken): Add '$' to the set, as it was there
      before the last change.
  6. 23 May, 2015 2 commits
    • Glenn Morris's avatar
      Remove charset map files from repository, generate in first bootstrap · 9f89ea1f
      Glenn Morris authored
      * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
      (all): Create the stamp file.
      (extraclean): Delete the stamp file.
      * src/Makefile.in (lispintdir, charsets): New variables.
      (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
      New rules.
      (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
      * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
      * etc/charsets/*.map: Remove from repository.
      ; * admin/charsets/mapconv: Fix typo in output comment.
      ; * etc/charsets/README: Small update.
      ; * .gitignore: Update for charset changes.
    • Paul Eggert's avatar
      Cleanup etags.c to use locale-independent code · fb11a5e1
      Paul Eggert authored
      Although this doesn't alter behavior (as etags doesn't use
      setlocale), the new version is more clearly locale-independent and
      the executable is a bit smaller on my platform.
      * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
      Include <c-ctype.h> instead of <ctype.h>.
      (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
      (begtk, midtk):
      Remove; no longer needed.
      (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
      All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
      c_islower, c_tolower, respectively.
      (notinname, begtoken, intoken, endtoken): Rewrite as functions
      instead of macros, and initialize the tables at compile-time
      rather than at run-time.