1. 30 Jan, 2011 7 commits
    • Paul Eggert's avatar
      gnulib: import mktime and move-if-change fixes from gnulib · 3de84ad9
      Paul Eggert authored
      * configure: Regenerate from the following.
      
      2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
      
      mktime: clarify long_int width checking
      * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
      the top level, to make it clearer that the assumption about
      long_int width is being checked.  See
      <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
      
      2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
      
      TYPE_MAXIMUM: avoid theoretically undefined behavior
      * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
      negative number, which the C Standard says has undefined behavior.
      In practice this is not a problem, but might as well do it by the book.
      Reported by Rich Felker and Eric Blake; see
      <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
      * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
      * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
      
      mktime: #undef mktime before #defining it
      * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
      
      mktime: systematically normalize tm_isdst comparisons
      * lib/mktime.c (isdst_differ): New function.
      (__mktime_internal): Use it systematically for all isdst comparisons.
      This completes the fix for libc BZ #6723, and removes the need for
      normalizing tm_isdst.  See
      <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
      (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
      
      mktime: fix some integer overflow issues and sidestep the rest
      
      This was prompted by a bug report by Benjamin Lindner for MinGW
      <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
      His bug is due to signed integer overflow (0 - INT_MIN), and I
      I scanned through mktime.c looking for other integer overflow
      problems, fixing all the bugs I found.
      
      Although the C Standard says the resulting code is still not safe
      in the presence of integer overflow, in practice it should be good
      enough for all real-world two's-complement implementations, except
      for debugging environments that deliberately trap on integer
      overflow (e.g., gcc -ftrapv).
      
      * lib/mktime.c (WRAPV): New macro.
      (SHR): Also check that long_int and time_t shift right in the
      usual way, before using the fast-but-unportable method.
      (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
      used.  The code already assumed two's complement, so there's
      no need to test for alternatives.  All uses removed.
      (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
      the C standard.  Problem reported by Rich Felker in
      <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
      (twos_complement_arithmetic): Also check long_int and time_t.
      (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
      (guess_time_tm, ranged_convert, __mktime_internal): Use them.
      (__mktime_internal): Avoid integer overflow with unary subtraction
      in two instances where -1 - X is an adequate replacement for -X,
      since the calculations are approximate.
      
      2011-01-29  Eric Blake  <eblake@redhat.com>
      
      mktime: avoid infinite loop
      * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
      type; behavior is still undefined but portable to all known targets.
      Reported by Rich Felker.
      
      2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
      
      mktime: avoid problems on NetBSD 5 / i386
      * lib/mktime.c (long_int): New type.  This works around a problem
      on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
      but time_t is 64 bits, and where I expect the existing code is
      wrong in some cases.
      (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
      (ydhms_diff): Bring back the compile-time check for wide-enough
      year and yday.
      
      mktime: fix misspelling in comment
      * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
      This merges all recent glibc changes of importance.
      
      2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
      
      move-if-change: cope with concurrent mv of identical file.
      * move-if-change (CMPPROG): Accept environment
      variable as an override for `cmp'.
      (usage): Document CMPPROG.
      Adjust comparison to drop stdout.  Cope with failure of mv if
      the target file exists and is identical to the source, for
      parallel builds.
      Report from H.J. Lu against binutils in PR binutils/12283.
      3de84ad9
    • Andreas Schwab's avatar
      Regenerate ldefs-boot.el · 09aa1eb8
      Andreas Schwab authored
      09aa1eb8
    • Jim Meyering's avatar
      8aec9916
    • Lars Ingebrigtsen's avatar
    • Lars Ingebrigtsen's avatar
      nnmail.el (nnmail-article-group): Check for a direct fancy split method. · fe72c8fa
      Lars Ingebrigtsen authored
      gnus.texi (Client-Side IMAP Splitting): Add a complete nnimap fancy splitting example.
      fe72c8fa
    • Lars Ingebrigtsen's avatar
    • Andreas Schwab's avatar
      * src/font.c (PROP_MATCH): Remove parameter N and use strlen instead. · 4ec88040
      Andreas Schwab authored
      All uses changed.
      (PROP_SAVE): Likewise.
      4ec88040
  2. 29 Jan, 2011 11 commits
    • Chong Yidong's avatar
      Refresh Dired and VC-dir buffers after vc-pull and vc-merge. · a2b6e5d6
      Chong Yidong authored
      * vc/vc-dispatcher.el (vc-set-async-update): New function for
      updating Dired or VC-dir buffers after async command completes.
      
      * vc/vc-bzr.el (vc-bzr-async-command): Return the process buffer.
      (vc-bzr-pull, vc-bzr-merge-branch): Use vc-set-async-update.
      
      * vc/vc-git.el (vc-git-merge-branch): Add FETCH_HEAD to branch
      completions if it exists.  Use vc-set-async-update.
      (vc-git-pull): Use vc-set-async-update.
      
      * vc/vc-hg.el (vc-hg-pull): Fix default-contents arg to
      read-shell-command.  Use vc-set-async-update.
      (vc-hg-merge-branch): Use vc-set-async-update.
      a2b6e5d6
    • Chong Yidong's avatar
    • Eli Zaretskii's avatar
      Fix doc/*/makefile.w32-in according to... · bf3dae7e
      Eli Zaretskii authored
      Fix doc/*/makefile.w32-in according to 2011-01-23T10:22:21Z!wl@gnu.org-2011-01-23T10:38:14Z!wl@gnu.org.
      
       doc/lispref/makefile.w32-in (texinfodir): New variable.
       (usermanualdir): Remove as redundant with $(emacsdir).
       (MAKEINFO): Remove options, leave only program name.
       (MAKEINFO_OPTS): New variable.
       (texinputdir, $(infodir)/elisp): Use $(MAKEINFO_OPTS).
       doc/emacs/makefile.w32-in (MAKEINFO): Remove options, leave only program name.
       (MAKEINFO_OPTS): New variable.
       (ENVADD, $(infodir)/emacs): Use $(MAKEINFO_OPTS).
       (emacs.html): New target.
       (clean): Remove emacs.html.
       doc/misc/makefile.w32-in (MAKEINFO): Remove options, leave only program name.
       (MAKEINFO_OPTS): New variable.
       (ENVADD, $(infodir)/emacs): Use $(MAKEINFO_OPTS).
       ($(infodir)/info, $(infodir)/ccmode, $(infodir)/ada-mode)
       ($(infodir)/pcl-cvs, $(infodir)/eshell, $(infodir)/cl)
       ($(infodir)/dbus, $(infodir)/dired-x, $(infodir)/ediff)
       ($(infodir)/flymake, $(infodir)/forms, $(infodir)/gnus)
       ($(infodir)/message, $(infodir)/emacs-mime, $(infodir)/sieve)
       ($(infodir)/pgg, $(infodir)/mh-e, $(infodir)/reftex)
       ($(infodir)/remember, $(infodir)/sasl, $(infodir)/sc)
       ($(infodir)/vip, $(infodir)/viper, $(infodir)/widget)
       ($(infodir)/efaq, $(infodir)/autotype, $(infodir)/calc)
       ($(infodir)/idlwave, $(infodir)/eudc, $(infodir)/ebrowse)
       ($(infodir)/woman, $(infodir)/speedbar, $(infodir)/tramp)
       ($(infodir)/ses, $(infodir)/smtpmail, $(infodir)/org)
       ($(infodir)/url, $(infodir)/newsticker, $(infodir)/nxml-mode)
       ($(infodir)/rcirc, $(infodir)/erc, $(infodir)/ert)
       ($(infodir)/epa, $(infodir)/mairix-el, $(infodir)/auth)
       ($(infodir)/eieio, $(infodir)/ede, $(infodir)/semantic)
       ($(infodir)/edt): Use $(MAKEINFO_OPTS).
      bf3dae7e
    • Eli Zaretskii's avatar
      Fix the bootstrap on MS-Windows. · 1e338cfc
      Eli Zaretskii authored
       makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Fix the bootstrap.
      1e338cfc
    • Eli Zaretskii's avatar
      Fix the MS-Windows build broken by 2011-01-17T19:01:01Z!eggert@cs.ucla.edu and... · f915f0f7
      Eli Zaretskii authored
      Fix the MS-Windows build broken by 2011-01-17T19:01:01Z!eggert@cs.ucla.edu and emacs-23/2010-05-21T19:51:48Z!acm@muc.de.
      
       lib/makefile.w32-in:
       lib/getopt_.h: New files.
       src/s/ms-w32.h (HAVE_MKTIME): Remove.
       src/makefile.w32-in (LOCAL_FLAGS): Add -I../lib.
       (GNULIB): New variable.
       (LIBS): Add $(GNULIB).
       $(TEMACS): Depend on $(GNULIB).
       <top-level>: Fix font-lock disrupted by a lone `"'.
       src/makefile.w32-in (LOCAL_FLAGS): Add -I../lib.
       (GETOPTOBJS, GETOPTDEPS): Remove targets.
       (MOVEMAILOBJS): Replace $(GETOPTOBJS) with ../lib/$(BLD)/libgnu.$(A).
       ($(BLD)/movemail.exe): Depend on ../lib/getopt.h.
       (ECLIENTOBJS, ETAGSOBJ, CTAGSOBJ, EBROWSEOBJ): Replace getopt.o
       and getopt1.o with ../lib/$(BLD)/libgnu.$(A).
       (clean): Don't remove getopt.h.
       (getopt.h, $(BLD)/getopt.$(O), $(BLD)/getopt1.$(O)): Remove targets.
       ($(BLD)/ctags.$(O), $(BLD)/etags.$(O)): Replace getopt.h with
       $(EMACS_ROOT)/lib/getopt.h.
       nt/makefile.w32-in (all-other-dirs-nmake, all-other-dirs-gmake)
       (bootstrap-nmake, bootstrap-gmake, bootstrap-clean-nmake)
       (bootstrap-clean-gmake, clean-other-dirs-nmake)
       (clean-other-dirs-gmake, cleanall-other-dirs-nmake)
       (cleanall-other-dirs-gmake, distclean-other-dirs-nmake)
       (distclean-other-dirs-gmake, maintainer-clean-other-dirs-nmake)
       (maintainer-clean-other-dirs-gmake): Recurse into ../lib as well.
       nt/configure.bat: Create lib/makefile.
       nt/config.nt (HAVE_MKTIME, BROKEN_MKTIME): Remove.
       (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
       (HAVE_DECL_LOCALTIME_R, HAVE_WCHAR_T, PACKAGE, VERSION, inline)
       (_GL_UNUSED, _UNUSED_PARAMETER_): Add definitions, for gnulib.
      f915f0f7
    • Jan Djärv's avatar
      Handle nul-character in copy/paste (Bug#7934). · 497a1925
      Jan Djärv authored
      * nsselect.m (ns_string_from_pasteboard): Get length of string
      and use make_string instead of build_string.
      (ns_string_to_pasteboard_internal): Use initWithBytesNoCopy
      instead of stringWithUTF8String  (Bug#7934).
      497a1925
    • Daiki Ueno's avatar
      Don't throw an error when any of encryption subkeys are expired. · 8907f7b9
      Daiki Ueno authored
      * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Don't
      presume KEYEXPIRED and KEYREVOKED to be a fatal error status
      (Bug#7931).
      8907f7b9
    • Jan Djärv's avatar
      Handle floating point errors in ns-fonts (Bug#7887). · 481ae085
      Jan Djärv authored
      * nsfont.m (nsfont_open): Ensure that fonts with inexact
      descenders would not become one pixel too tall (Bug#7887).
      481ae085
    • Stefan Monnier's avatar
      * lisp/progmodes/compile.el: Avoid an N² behavior in grep. · e52f87a1
      Stefan Monnier authored
      (compilation--previous-directory): New fun.
      (compilation--previous-directory-cache): New var.
      (compilation--remove-properties): Flush it.
      (compilation-directory-properties, compilation-error-properties):
      Use the new fun to speed up looking for the current directory.
      e52f87a1
    • Chong Yidong's avatar
      Rudimentary support for vc-pull and vc-merge in Git and Mercurial. · 659114fd
      Chong Yidong authored
      * lisp/vc/vc.el (vc-pull): Make vc-update an alias for this, instead of
      the other way around.
      
      * lisp/vc/vc-git.el (vc-git-branches, vc-git-pull)
      (vc-git-merge-branch): New functions.
      (vc-git-history): New var.
      
      * lisp/vc/vc-hg.el (vc-hg-history): New var.
      (vc-hg-pull): Perform default pull if called via Lisp by vc-pull.
      (vc-hg-merge-branch): New function.
      659114fd
    • Lars Ingebrigtsen's avatar
      gnus-art.el (article-update-date-lapsed): Try a better way to really keep... · bc68bd39
      Lars Ingebrigtsen authored
      gnus-art.el (article-update-date-lapsed): Try a better way to really keep point at the "same place".
      bc68bd39
  3. 28 Jan, 2011 22 commits
    • Chong Yidong's avatar
      Convert vc-bzr-async-command into a general vc-do-async-command facility. · 9bfe5783
      Chong Yidong authored
      * vc/vc-dispatcher.el (vc-do-async-command): New function.
      
      * vc/vc-bzr.el (vc-bzr-async-command): Convert into a wrapper for
      vc-do-async-command.
      
      * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Callers changed.
      9bfe5783
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 54b6f6ed
      Gnus developers authored
      gnus-win.el: Remove dead function gnus-window-configuration-element.
       (gnus-all-windows-visible-p): Remove old compatibility code.
       (gnus-window-top-edge): Add docstring.
      gnus-sum.el (gnus-select-newsgroup): Don't try to alter the active data if the group is unactivated.
      54b6f6ed
    • Stefan Monnier's avatar
      9ffae6d0
    • Stefan Monnier's avatar
      * lisp/progmodes/compile.el: Don't use font-lock any more. · 55fb9013
      Stefan Monnier authored
      (compilation-error-regexp-alist-alist): Change handling of makepp
      so it preserves the warning/error distinction on subsequent files.
      Simplify various rules.
      (compilation-directory-properties): Use font-lock-face.
      Add a compilation-message property.
      (compilation-internal-error-properties): Use font-lock-face.
      Don't set the compilation-debug property here.
      (compilation--put-prop, compilation--remove-properties)
      (compilation--parse-region, compilation--ensure-parse)
      (compilation--ensure-parse): New functions.
      (compilation-parse-errors): New function, largely inspired of
      compilation-mode-font-lock-keywords.  Set compilation-debug here.
      (compilation--parsed): New var.
      (compilation--flush-parse): Use compilation--ensure-parse.
      (compilation-start): Don't call font-lock.
      (compilation-turn-on-font-lock): Remove.
      (compilation-setup): Don't set font-lock-extra-managed-props not change
      other font-lock settings, other than keywords.
      Don't activate font-lock-mode.
      Set change-major-mode-hook and before-change-functions.
      (compilation--unsetup): Remove properties and hooks.
      (compilation-next-single-property-change): New function.
      (compilation-next-error): Use it to parse when needed.
      (compile-goto-error): Parse buffer as needed.
      (compilation--compat-error-properties): Don't need a dummy `face'
      property any more.
      55fb9013
    • Stefan Monnier's avatar
      * lisp/progmodes/compile.el: Use accessors for clarity and fix omake hack. · 8fe52384
      Stefan Monnier authored
      (compilation-process-setup-function): Fix docstring's false promises.
      (compilation-error-regexp-alist-alist): Catch omake's continuous
      recompilation message and avoid reuse of old markers.
      (compilation-parse-errors-function): Declare obsolete.
      (compilation-buffer-modtime): Remove.
      (compilation--make-cdrloc, compilation--loc->col)
      (compilation--loc->line, compilation--loc->file-struct)
      (compilation--loc->marker, compilation--loc->visited)
      (compilation--make-file-struct, compilation--file-struct->file-spec)
      (compilation--file-struct->formats)
      (compilation--file-struct->loc-tree): New macros.  Use them.
      (compilation--message): New defstruct.  Use them.
      (compilation-next-error-function): Don't mess with timestamps to try
      and guess when to reparse.
      8fe52384
    • Leo Liu's avatar
      Fix help-mode highlighting of advice warning (Bug#6304). · b1ea593c
      Leo Liu authored
      * emacs-lisp/advice.el (ad-make-advised-docstring): Don't apply
      highlighting to the "this function is advisted" message.
      
      * help-mode.el (help-mode-finish): Apply highlighting here, to
      avoid clobbering by substitute-command-keys (Bug#6304).
      b1ea593c
    • Chong Yidong's avatar
      Fix for woman escape sequence processing (Bug#7843). · 40e22d80
      Chong Yidong authored
      * lisp/woman.el (woman0-roff-buffer): Process roff escape sequences
      occurring prior to the first request.
      40e22d80
    • Stefan Monnier's avatar
      * lisp/textmodes/tex-mode.el: Get rid of compilation-parse-errors-function · 5e853d01
      Stefan Monnier authored
      (tex-old-error-file-name): New function,
      extracted from tex-compilation-parse-errors.
      (tex-compilation-parse-errors): Remove.
      (tex-error-regexp-alist): New var.
      (tex-shell): Use it to avoid compilation-parse-errors-function.
      5e853d01
    • Stefan Monnier's avatar
      Minor cleanup for compile.el and grep.el. · 07b741a7
      Stefan Monnier authored
      * lisp/progmodes/compile.el: Cleanup text-properties namespace by using
      `compilation-message' instead of `message', `compilation-directory'
      instead of `directory', and `compilation-debug' instead of `debug'.
      (compilation-last-buffer, compilation-parsing-end)
      (compilation-error-list, compilation-old-error-list): Move to the
      compatibility part of the code.
      (compilation-error-properties): If `file' is a function, let it return
      a file name.
      (compilation-mode-font-lock-keywords): Be more conservative with the
      omake "^ *" pattern prefix, to try and minimize the risk of
      pathologically slow regexp matching.
      (compilation-start): Use inhibit-read-only.
      (compilation--unsetup): New function.
      (compilation-shell-minor-mode, compilation-minor-mode): Use it.
      (compilation-filter): Minor tweaks.
      (compilation-next-error-function): Try and avoid abusing variable names.
      (compilation--flush-file-structure): New fun.
      (compilation-fake-loc): Use it for cleaner behavior when file is reused.
      (debug-ignored-errors): Add "Moved past last ...".
      (compilation--compat-error-properties)
      (compilation--compat-parse-errors): Rename by doubling the "-".
      
      * lisp/progmodes/grep.el (grep-regexp-alist): Tighten regexp.
      (grep-mode-font-lock-keywords): Remove regexp that seems like
      a left-over from before we used compile.el.
      (grep-mode-font-lock-keywords): Call syntax-ppss-flush-cache when
      modifying the buffer within with-silent-modifications.
      07b741a7
    • Chong Yidong's avatar
      Fix text pos part of lispy positions for right fringe clicks (Bug#7839). · 6b918613
      Chong Yidong authored
      * src/keyboard.c (make_lispy_position): For clicks on right fringe or
      margin, compute text position using the X coordinate relative to
      the left of the text area (Bug#7839).
      6b918613
    • Stefan Monnier's avatar
      Port features from the previous prolog.el to the new one. · 01c63f4c
      Stefan Monnier authored
      * lisp/progmodes/prolog.el (prolog-system): Add GNU and ECLiPSe options.
      (prolog-program-name, prolog-program-switches, prolog-consult-string)
      (prolog-compile-string, prolog-prompt-regexp): Get rid of the <foo>-i
      variable and use a function to compute the value dynamically.
      (prolog-prompt-regexp): Add regexp for GNU Prolog.
      (prolog-continued-prompt-regexp): Remove, unused.
      (prolog-find-value-by-system): Try and use the value of prolog-system
      in the *prolog* buffer if it helps.
      (prolog-mode-keybindings-common): Bind C-c C-z unconditionally...
      (prolog-zip-on): ..and check prolog-system and version here instead.
      (prolog-inferior-self-insert-command): New command.
      (prolog-inferior-mode-map): Use it.
      (prolog-inferior-error-regexp-alist): New var.
      (prolog-inferior-mode): Use it, along with compilation-shell-minor-mode.
      (prolog-input-filter): Use derived-mode-p.
      (prolog-inferior-guess-flavor): New function.
      (prolog-ensure-process): Use it.  Use make-comint-in-buffer rather than
      make-comint to avoid running comint-mode twice.
      (prolog-inferior-buffer): New fun.
      (prolog-old-process-region, prolog-old-process-file):
      Don't call prolog-bsts here...
      (prolog-build-prolog-command): ...do it here instead.
      (prolog-old-process-region, prolog-old-process-file):
      Use compilation-fake-loc and compilation-forget-errors.
      (prolog-consult-compile-region): Use bolp.
      01c63f4c
    • Chong Yidong's avatar
      2f224f0b
    • Chong Yidong's avatar
      Update autoloads. · 2e804fc7
      Chong Yidong authored
      2e804fc7
    • Kenichi Handa's avatar
      merge trunk · 10339fa9
      Kenichi Handa authored
      10339fa9
    • Kenichi Handa's avatar
      9e269017
    • Julien Danjou's avatar
    • Stefan Monnier's avatar
    • Lars Ingebrigtsen's avatar
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      68b5f855
    • Lars Ingebrigtsen's avatar
      gnus-art.el (article-make-date-line): Limit the length a bit more. · d6f13ac8
      Lars Ingebrigtsen authored
      gnus.texi (Article Date): Document gnus-article-update-lapsed-header.
      d6f13ac8
    • Daiki Ueno's avatar
      mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers... · bb760c5d
      Daiki Ueno authored
      mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers higher precedence over mml2015-sign-with-sender.
      bb760c5d