1. 23 Apr, 2016 1 commit
    • Jö Fahlke's avatar
      Regexps for matching CMake output · 912e9159
      Jö Fahlke authored
      * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
      regexps for matching CMake output.
      * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
      CMake test cases.
      * etc/compilation.txt (CMake): Add CMake examples.
      Copyright-paperwork-exempt: yes
  2. 22 Apr, 2016 1 commit
  3. 21 Apr, 2016 1 commit
  4. 18 Apr, 2016 1 commit
    • Paul Eggert's avatar
      Minor fixups for external socket launching · 531c9a43
      Paul Eggert authored
      * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
      * doc/emacs/misc.texi (Emacs Server):
      * etc/NEWS: Spelling and doc fixes.
      * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
      Check for sd_is_socket returning positive, not zero.
      * src/process.c (external_sock_fd): Instead of initializing here ...
      (init_process_emacs): ... initialize it here, so that it does the
      right thing after dump/restore.
      (connect_network_socket): Simplify socket_to_use test.
  5. 17 Apr, 2016 1 commit
  6. 16 Apr, 2016 1 commit
    • Matthew Leach's avatar
      Add external socket launching support · e390b7b5
      Matthew Leach authored
      * src/process.c (connect_network_socket): Allow a pre-allocated socket
      descriptor to be used if passed to Emacs, avoiding the call to
      'socket' and 'bind'.
      (Fmake_network_process): Allow users to pass ':use-external-socket' in
      the parameter plist to use any sockets that have been passed to Emacs.
      (wait_reading_process_output): Call 'socket' and 'bind' every time.
      (syms_of_process): New symbol ':use-external-socket'.
      (set_external_socket_descriptor): New function.
      (external_sock_fd): New variable.
      * src/lisp.h: (set_external_socket_descriptor): New declaration.
      * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
      passed and call 'set_external_socket_descriptor' to set the external
      * src/Makefile.in: Add libsystemd library and C flags to the Emacs
      compilation options.
      * configure.ac: Add new default-on option "systemd" and check for
      libsystemd at configure time.
      * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
      calling 'make-network-process'.
      * etc/NEWS: Document new socket-passing functionality and the configure
      option to disable systemd interaction.
      * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
      functionality and provide systemd unit examples.
      * doc/lispref/processes.texi (Network Processes): Document new
      'make-network-process' option ':use-external-socket'.
  7. 12 Apr, 2016 2 commits
    • Paul Eggert's avatar
      Support OFFSET and (OFFSET ABBR) time zone rules · fdb1ba14
      Paul Eggert authored
      This simplifies Gnus and VC time zone support, by letting them
      feed the output of ‘current-time-zone’ and ‘decode time’ to
      primitives that accept time zone arguments.
      * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
      * etc/NEWS:
      * lisp/gnus/message.el (message-insert-formatted-citation-line):
      * lisp/org/org.el (org-timestamp-format):
      * src/editfns.c (Fformat_time_string, Fdecode_time):
      (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
      Document new behavior.
      * lisp/gnus/gmm-utils.el (gmm-format-time-string):
      * lisp/vc/add-log.el (add-log-iso8601-time-zone):
      Mark as obsolete, as it is now just an alias or narrow wrapper
      around format-time-string.
      * src/editfns.c (tzlookup): Also support integer OFFSET and
      list (OFFSET ABBR) as time zone rules.
      (Fencode_time): No longer need a special case for a cons ZONE.
      (Fcurrent_time_zone): If the time zone string is missing, compute
      it the same way the other new code does.
    • Paul Eggert's avatar
      Improve time zone documentation · ca509810
      Paul Eggert authored
      * doc/lispref/os.texi (Time Zone Rules):
      New section, mostly with material moved here from other sections.
      * doc/emacs/cmdargs.texi (General Variables):
      * doc/lispref/os.texi (Time Conversion, Time Parsing):
      Xref new section.
      * etc/NEWS, etc/PROBLEMS:
      * lisp/org/org.el (org-timestamp-format):
      * src/editfns.c (Fformat_time_string, Fdecode_time)
      (Fencode_time, Fcurrent_time_string, Fcurrent_time_zone)
      When documenting time zone rule strings, mention the TZ
      environment variable in preference to mentioning the
      sort-of-internal function set-time-zone-rule.
  8. 11 Apr, 2016 1 commit
  9. 10 Apr, 2016 1 commit
    • Eli Zaretskii's avatar
      Improve handling of non-ASCII characters in Git log messages · 668c7bc5
      Eli Zaretskii authored
      * lisp/vc/vc-git.el (vc-git-commits-coding-system): Now a defcustom.
      (vc-git-log-output-coding-system): New defcustom.
      (vc-git-print-log, vc-git-command, vc-git--call): Use
      'vc-git-log-output-coding-system' for reading stuff from Git.
      Don't override values of 'coding-system-for-read/write' if they
      are bound by caller -- this allows the user to force an encoding
      via "C-x RET c".
      (vc-git-checkin): On MS-Windows, pass the log message via a
      temporary file, to work around the limitations on passing
      non-ASCII characters via command-line arguments.  Force using the
      'locale-coding-system' for Git command-line arguments.  This fixes
      problems with non-ASCII commit log messages on MS-Windows.
      * etc/NEWS: Mention the new vc-git related defcustoms.
  10. 08 Apr, 2016 2 commits
    • Paul Pogonyshev's avatar
      New primitives sxhash-eq, sxhash-eql · a4aa94d0
      Paul Pogonyshev authored
      * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
      * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
      Add sxhash-equal, sxhash-eq, sxhash-eql.
      * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
      * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
    • Paul Eggert's avatar
      Comint and compile no longer set EMACS · a1f221bd
      Paul Eggert authored
      This mostly restores the change that I reverted on March 23,
      fixing most of Bug#20202.  The only part of the change that is
      still reverted is the change to M-x term, where compatibility with
      current Bash constrains us from moving too quickly (Bug#20484).
      Problem reported by Phillip Lord in: http://bugs.gnu.org/20484#108
      * etc/NEWS: Document this.
      * lisp/comint.el (comint-exec-1):
      * lisp/net/tramp-sh.el (tramp-remote-process-environment):
      * lisp/progmodes/compile.el (compilation-start):
      Don’t set EMACS=t in the subsidiary process.
  11. 06 Apr, 2016 2 commits
  12. 05 Apr, 2016 1 commit
    • Paul Eggert's avatar
      Enable GCC warnings in developer builds · 5baecbc0
      Paul Eggert authored
      However, do not fail; just issue the warnings.  Add an option
      --enable-gcc-warnings=warn-only to configure, to implement this.
      * INSTALL, etc/NEWS: Document this.
      * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
      (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
      Don’t treat --with-x-toolkit=no as a special case when configuring
  13. 04 Apr, 2016 2 commits
    • Tao Fang's avatar
      Allow URL using HTTPS proxies using CONNECT · 3c623c26
      Tao Fang authored
      * lisp/url/url-http.el (url-http-find-free-connection): Allow
      using proxies (bug#11788).
      (url-http-end-of-document-sentinel): Ditto.
      (url-http): The protocol may change from http to https and
      vice versa.
      (url-https-proxy-connect): Allow using CONNECT proxies for https.
    • Paul Eggert's avatar
      Port redirect-debugging-output to non-GNU/Linux · 6bccb19c
      Paul Eggert authored
      Problem reported by Kylie McClain for musl in:
      * etc/DEBUG, etc/NEWS: Mention this.
      * src/callproc.c (child_setup) [!MSDOS]:
      * src/dispnew.c (init_display):
      * src/emacs.c (main, Fdaemon_initialized):
      * src/minibuf.c (read_minibuf_noninteractive):
      * src/regex.c (xmalloc, xrealloc):
      Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
      to make file-descriptor manipulation easier to follow.
      * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
      now that we make sure stdin, stdout and stderr are open.  All uses
      (main): Make sure standard FDs are OK.  Prefer symbolic names like
      EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
      * src/lisp.h (init_standard_fds): New decl.
      Remove; no longer needed.
      (Fredirect_debugging_output): Define on all platforms, not just
      GNU/Linux.  Redirect file descriptor, not stream, so that the code
      works even if stderr is not an lvalue.  Report an error if the
      file arg is neither a string nor nil.
      (syms_of_print): Always define redirect-debugging-output.
      * src/sysdep.c (force_open, init_standard_fds): New functions.
  14. 03 Apr, 2016 3 commits
    • John Wiegley's avatar
      Revert "Add `r'/`l' grep command history commands" · 0695108b
      John Wiegley authored
      This reverts commit a32eea60.
    • Paul Eggert's avatar
      Fix doc for Universal Time · c4963f9a
      Paul Eggert authored
      * doc/lispref/os.texi (Time of Day, Time Conversion):
      Be more careful about distinguishing UTC (which is not valid for
      pre-1961 time stamps) and UT (which is).
      (Time Parsing): Remove stray obsolete paragraph about a
      UNIVERSAL argument for ‘format-time-string’.
    • Lars Magne Ingebrigtsen's avatar
      Add `r'/`l' grep command history commands · a32eea60
      Lars Magne Ingebrigtsen authored
      * doc/emacs/building.texi (Grep Searching): Mention the
      `r'/`l' commands.
      * lisp/progmodes/grep.el (grep-forward-history): New command.
      (grep-backward-history): Ditto.
      (grep--save-buffers): New function.
      (grep): Use it to record the history.
      (grep--command-history, grep--history-inhibit)
      (grep--history-place): New internal variables for the grep
      history (bug#22627).
  15. 02 Apr, 2016 1 commit
  16. 31 Mar, 2016 1 commit
    • Simen Heggestøyl's avatar
      Support completion of bang-rules in CSS mode · 750e1e19
      Simen Heggestøyl authored
      lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
      holding the list of bang-rules for the current mode.
      (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
      instead of computing them.
      (css--complete-bang-rule): New function for completing a bang-rule.
      (css-completion-at-point): Add support for completing bang-rules.
      (scss-font-lock-keywords): Change from a variable to a function in
      order to recompute `css--font-lock-keywords' when `css--bang-ids' has
      (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
  17. 29 Mar, 2016 1 commit
  18. 28 Mar, 2016 3 commits
  19. 26 Mar, 2016 1 commit
    • Paul Pogonyshev's avatar
      Implement 'func-arity' · 6f3243db
      Paul Pogonyshev authored
      * src/eval.c (Ffunc_arity, lambda_arity): New functions.
      * src/bytecode.c (get_byte_code_arity): New function.
      * src/lisp.h (get_byte_code_arity): Add prototype.
      * doc/lispref/functions.texi (What Is a Function): Document
      * etc/NEWS: Mention 'func-arity'.
      * test/src/fns-tests.el (fns-tests-func-arity): New test set.
  20. 25 Mar, 2016 3 commits
  21. 23 Mar, 2016 3 commits
    • Paul Eggert's avatar
      Comint, term, and compile now set EMACS · 73d213f2
      Paul Eggert authored
      This fixes directory tracking in ansi-term, at the expense of
      breaking some usages of 'configure'.  Setting EMACS is meant to be
      a somewhat temporary measure, until Bash 4.4 comes out and is
      common.  (Bug#20484).
      * etc/NEWS: Document this.
      * lisp/comint.el (comint-exec-1):
      * lisp/net/tramp-sh.el (tramp-remote-process-environment):
      * lisp/progmodes/compile.el (compilation-start):
      * lisp/term.el (term-exec-1):
      Go back to setting the EMACS environment variable, for backward
      compatibility to Bash 4.3 and earlier.
    • Paul Eggert's avatar
      * etc/NEWS: Use straight quotes. · 70c7a51d
      Paul Eggert authored
    • Simen Heggestøyl's avatar
      Support completion of attribute values in CSS mode · 269d5631
      Simen Heggestøyl authored
      * lisp/textmodes/css-mode.el (css-property-alist): New defconst
      holding CSS identifiers and the values they can have.
      (css-property-ids): Compute dynamically from `css-property-alist'.
      (css-value-class-alist): New defconst holding property value classes
      and their values.
      (css--property-value-cache): New variable providing a cache for
      (css--value-class-lookup): New function for computing a list of values
      in a value class.
      (css--property-values): New function for computing a list of possible
      values for a CSS property.
      (css--complete-property-value): New function for completing a property
      (css-completion-at-point): Add support for completing property values.
      * test/lisp/textmodes/css-mode-tests.el: New file.
  22. 22 Mar, 2016 4 commits
    • Paul Eggert's avatar
      ; Fix etc/NEWS typo in recent merge. · c4f4e643
      Paul Eggert authored
    • Eli Zaretskii's avatar
      Fix problems caused by new implementation of sub-word mode · 7dba1767
      Eli Zaretskii authored
      * lisp/subr.el (forward-word-strictly, backward-word-strictly):
      New functions.
      (word-move-empty-char-table): New variable.
      * etc/NEWS: Mention 'forward-word-strictly' and
      * doc/lispref/positions.texi (Word Motion): Document
      'find-word-boundary-function-table', 'forward-word-strictly', and
      'backward-word-strictly'.  (Bug#22560)
      * src/syntax.c (syms_of_syntax)
      <find-word-boundary-function-table>: Doc fix.
      * lisp/wdired.el (wdired-xcase-word):
      * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
      (texinfo-copy-section-title, texinfo-start-menu-description)
      (texinfo-copy-menu-title, texinfo-specific-section-type)
      (texinfo-insert-node-lines, texinfo-copy-next-section-title):
      * lisp/textmodes/texinfo.el (texinfo-clone-environment)
      * lisp/textmodes/texinfmt.el (texinfo-format-scan)
      (texinfo-anchor, texinfo-multitable-widths)
      * lisp/textmodes/tex-mode.el (latex-env-before-change):
      * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
      * lisp/skeleton.el (skeleton-insert):
      * lisp/simple.el (count-words):
      * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
      (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
      (vhdl-update-sensitivity-list, vhdl-template-block)
      (vhdl-template-break, vhdl-template-case, vhdl-template-default)
      (vhdl-template-default-indent, vhdl-template-for-loop)
      (vhdl-template-if-then-use, vhdl-template-bare-loop)
      (vhdl-template-nature, vhdl-template-procedural)
      (vhdl-template-process, vhdl-template-selected-signal-asst)
      (vhdl-template-type, vhdl-template-variable)
      (vhdl-template-while-loop, vhdl-beginning-of-block)
      (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
      * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
      (verilog-forward-sexp, verilog-beg-of-statement)
      (verilog-set-auto-endcomments, verilog-backward-token)
      * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
      * lisp/progmodes/simula.el (simula-context)
      (simula-backward-up-level, simula-forward-down-level)
      (simula-previous-statement, simula-next-statement)
      (simula-skip-comment-backward, simula-calculate-indent)
      (simula-find-if, simula-electric-keyword):
      * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
      * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
      (ruby-smie--forward-token, ruby-smie--backward-token)
      (ruby-singleton-class-p, ruby-calculate-indent)
      (ruby-forward-sexp, ruby-backward-sexp):
      * lisp/progmodes/ps-mode.el (ps-run-goto-error):
      * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
      * lisp/progmodes/pascal.el (pascal-indent-declaration):
      * lisp/progmodes/octave.el (octave-function-file-p):
      * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
      * lisp/progmodes/js.el (js--forward-function-decl):
      * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
      (idlwave-beginning-of-block, idlwave-end-of-block)
      (idlwave-block-jump-out, idlwave-determine-class):
      * lisp/progmodes/icon.el (icon-is-continuation-line)
      (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
      * lisp/progmodes/hideif.el (hide-ifdef-define):
      * lisp/progmodes/f90.el (f90-change-keywords):
      * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
      (cperl-linefeed, cperl-electric-terminator)
      (cperl-find-pods-heres, cperl-fix-line-spacing)
      * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
      * lisp/progmodes/cc-align.el (c-lineup-java-inher):
      * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
      (ada-adjust-case-skeleton, ada-create-case-exception)
      (ada-case-read-exceptions-from-file, ada-after-keyword-p)
      (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
      (ada-get-indent-if, ada-get-indent-block-start)
      (ada-get-indent-loop, ada-get-indent-type)
      (ada-search-prev-end-stmt, ada-check-defun-name)
      (ada-goto-decl-start, ada-goto-matching-start)
      (ada-goto-matching-end, ada-looking-at-semi-or)
      (ada-looking-at-semi-private, ada-in-paramlist-p)
      (ada-search-ignore-complex-boolean, ada-move-to-start)
      (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
      * lisp/net/quickurl.el (quickurl-grab-url):
      * lisp/mail/sendmail.el (mail-do-fcc):
      * lisp/mail/rmail.el (rmail-resend):
      * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
      * lisp/mail/mail-extr.el (mail-extract-address-components):
      * lisp/json.el (json-read-keyword):
      * lisp/files.el (insert-directory):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
      * lisp/completion.el (symbol-under-point, symbol-before-point)
      (symbol-before-point-for-complete, next-cdabbrev)
      * lisp/cedet/semantic/texi.el (semantic-up-context)
      * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
      use 'forward-word-strictly' and 'backward-word-strictly' instead
      of 'forward-word' and 'backward-word'.
      [This reapplies commit c1d32a65,
      which was inadvertently lost by merge commit
    • Eli Zaretskii's avatar
      Merge doc fixes for 'random' lost in previous merge · 05b62680
      Eli Zaretskii authored
      [This reapplies part of commit
      which was inadvertently lost by merge commit
    • Eli Zaretskii's avatar
      ; * etc/NEWS: Remove unneeded text. · fa5c69c0
      Eli Zaretskii authored
      [This reapplies commit 2bc07f7a,
      which was inadvertently lost by merge commit
  23. 20 Mar, 2016 2 commits
    • Alan Mackenzie's avatar
      Amend parse-partial-sexp correctly to handle two character comment delimiters · 9dcf5998
      Alan Mackenzie authored
      Do this by adding a new field to the parser state: the syntax of the last
      character scanned, should that be the first char of a (potential) two char
      construct, nil otherwise.
      This should make the parser state complete.
      Also document element 9 of the parser state.  Also refactor the code a bit.
      * src/syntax.c (struct lisp_parse_state): Add a new field.
      (internalize_parse_state): New function, extracted from scan_sexps_forward.
      (back_comment): Call internalize_parse_state.
      (forw_comment): Return the syntax of the last character scanned to the caller
      when that character might be the first of a two character construct.
      (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
      (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
      information via the address parameter `state'.  Remove the code which converts
      from external to internal form of `state'.  Access buffer contents only from
      `from' onwards.  Reformulate code at the top of the main loop correctly to
      recognize comment openers when starting in the middle of one.  Call
      forw_comment with extra argument (for return of syntax value of possible first
      char of a two char construct).
      (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
      doc string.  Clarify the doc string in general.  Call
      internalize_parse_state.  Take account of the new elements when consing up the
      output parser state.
      * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
      element 10.  Minor wording corrections (remove reference to "trivial
      (Low Level Parsing): Minor corrections.
      * etc/NEWS: Note new element 10, and documentation of element 9 of parser
    • Ernest Adrogué's avatar
      Add a Catalan language environment · 6e70769e
      Ernest Adrogué authored
      * international/mule-cmds.el (locale-language-names): Map locale
        language name `ca' to language environment `Catalan'.
      * language/european.el: Add definition of language environment for
        the Catalan language.
      * leim/quail/latin-pre.el: Add quail rule to the `catalan-prefix'
        input method to support input of middle dot characters through
        composition (bug#18279).
  24. 15 Mar, 2016 1 commit
    • Paul Eggert's avatar
      ASCII-only etc/NEWS etc. · 8475f3da
      Paul Eggert authored
      * etc/NEWS, nextstep/README: Revert the recently-added curved
      quotes, and stick to ASCII.  This typically involves replacing
      curved with straight quotes.  Since etc/NEWS is viewed so often by
      UTF-8-ignorant tools, rewrite its non-ASCII text to spell out
      Unicode, e.g., replace ‘‒’ with ‘U+2012 (FIGURE DASH)’.