Subject: Re: bug#17382: 24.3.90; Ediff mode is broken

From: Rafal Kowalski <[email-masked]>
Date: Fri, 02 May 2014 15:45:22 +0200

-> Glenn Morris writes:

> Rafal Kowalski wrote:
>> While ediffing two buffers with 4 different regions, got an error
>> related to an overlay in the 3rd chunk (see below).  Ediff was not able
>> to skip to the next region nor to exit the ediff session.

> I can't reproduce this. Can you give an example starting from `emacs -Q'?

Hi Glenn,

Yes, I can reproduce it from `emacs -Q'.  Here is the content of the bug
report copied out from Emacs so I am not going to open another bug
report?  BTW, is there a better way to follow up on an existing bug
report?  I've also attached the two files I've been using for the diff.

In GNU Emacs 24.3.90.1 (x86_64-apple-darwin13.1.0, NS apple-appkit-1265.19)
 of 2014-04-27 on obelix
Windowing system distributor `Apple', version 10.3.1265
Configured using:
 `configure --with-ns --without-gif'

Important settings:
  value of $LC_CTYPE: UTF-8
  locale-coding-system: utf-8-unix

Major mode: Ruby

Minor modes in effect:
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x C-f ~ / D e v <tab> s r <tab> <backspace> <backspace> 
M i n i <tab> s r <tab> s e <tab> <return> <up> <down> 
<up> <down> <up> C-x C-f c o n <tab> / e n <tab> v 
i <tab> s / d e <tab> <return> C-x 4 b C-g C-x 4 C-f 
i n i <tab> <backspace> <tab> <return> C-x o M-x e 
d i f f <tab> - b <tab> u <tab> <return> <return> <return> 
n n n q <switch-frame> <help-echo> <help-echo> <help-echo> 
y s-x <up> C-x o s-x M-x e m <tab> a <tab> <tab> b 
<tab> <s-backspace> <s-backspace> <M-backspace> <M-backspace> 
<M-backspace> <M-backspace> b u <tab> <tab> g <tab> 
<tab> <M-backspace> <M-backspace> r e p o <tab> r <tab> 
<return>

Recent messages:
Processing difference regions ... done
Region 1 in buffer B is empty [2 times]
Region 2 in buffer A is empty [2 times]
Refining difference region 3 ...
ediff-set-fine-diff-properties: Wrong type argument: listp, [#<overlay from 1504 to 1589 in development.rb> #<overlay from 1647 to 1656 in development.rb> #<overlay from 1657 to 1661 in development.rb>]
Quit this Ediff session? (y or n) y
kill-region: The mark is not set now, so there is no region [2 times]
Making completion list... [2 times]
<s-backspace> is undefined [2 times]
Making completion list... [3 times]

Load-path shadows:
/Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/gulp hides /Applications/Emacs.app/Contents/Resources/lisp/obsolete/gulp

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils ediff-merg ediff-wind ediff-diff
ediff-mult ediff-help ediff-init ediff-util ediff vc-git ruby-mode smie
help-mode easymenu dired time-date tooltip electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind cocoa
ns multi-tty emacs)

Memory information:
((conses 16 89524 5075)
 (symbols 48 19484 0)
 (miscs 40 56 152)
 (strings 32 16127 4860)
 (string-bytes 1 457981)
 (vectors 16 10943)
 (vector-slots 8 382838 4080)
 (floats 8 66 425)
 (intervals 56 536 0)
 (buffers 960 18))

development.rb:

--8<---------------cut here---------------start------------->8---
# coding: utf-8
MinishrimpServer::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # In the development environment your application's code is reloaded on
  # every request. This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Raise exception on mass assignment protection for Active Record models
  config.active_record.mass_assignment_sanitizer = :strict

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
  config.active_record.auto_explain_threshold_in_seconds = 0.5

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = true

  # config.assets.precompile += ['ckeditor/*', 'forem.css', 'forem.js']

  # Active Admin
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }

  # Email delivery method
  config.action_mailer.delivery_method = :letter_opener
end
--8<---------------cut here---------------start------------->8---

integration.rb
--8<---------------cut here---------------end--------------->8---
MinishrimpServer::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # In the development environment your application's code is reloaded on
  # every request. This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Raise exception on mass assignment protection for Active Record models
  config.active_record.mass_assignment_sanitizer = :strict

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
  config.active_record.auto_explain_threshold_in_seconds = 0.5

  # ckeditor
  # config.assets.precompile += Ckeditor.assets

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = true

  # Devise
  config.action_mailer.default_url_options = { :host => 'kowalski-consulting.ch:10306' }

  # Email delivery method
  config.action_mailer.delivery_method = :sendmail
end
--8<---------------cut here---------------end--------------->8---

cheers
-- 
-rafal

Too brief? Here's why! http://emailcharter.org