GNU bug report logs - #5477
23.1.91; diary-unhide-everything sometimes doesn't

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Mon, 25 Jan 2010 22:10:02 UTC

Severity: normal

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: bug-gnu-emacs <at> gnu.org (Emacs bug Tracking System)
To: Glenn Morris <rgm <at> gnu.org>
Cc: emacs-bug-tracker <at> debbugs.gnu.org
Subject: bug#5477: marked as done (23.1.91; diary-unhide-everything
 sometimes doesn't)
Date: Tue, 26 Jan 2010 21:15:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 26 Jan 2010 16:14:09 -0500
with message-id <navdeod0wu.fsf <at> fencepost.gnu.org>
and subject line Re: bug#5477: 23.1.91; diary-unhide-everything sometimes doesn't
has caused the Emacs bug report #5477,
regarding 23.1.91; diary-unhide-everything sometimes doesn't
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact bug-gnu-emacs <at> gnu.org
immediately.)


-- 
5477: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5477
Emacs Bug Tracking System
Contact bug-gnu-emacs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stephen Berman <stephen.berman <at> gmx.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.1.91; diary-unhide-everything sometimes doesn't
Date: Mon, 25 Jan 2010 22:38:31 +0100
If diary-list-entries applies to a narrowed buffer, it widens it before
making it invisible (due to bug#5093).  However, it can happen that
narrowing is restored before diary-unhide-everything applies, with the
result that only the narrowed portion of the buffer becomes visible
again.  The simplest reproducible recipe I could find may seem
contrived, but it makes strictly legitimate use of Emacs libraries (I
have more complex local changes to Todo mode that also suffer from it):

1. Save the following text as ~/.todo-do:

    -*- mode: todo; todo-categories: ("test" "Todo"); -*-
     --- test
     January 25, 2010 19:47 steve: another item
    --- End
     ---------------------------------------------------------------------------
     --- Todo
     January 25, 2010 19:48 steve: todo item
    --- End
     ---------------------------------------------------------------------------

   What matters is that there are at least two Todo categories and
   todo-prefix is not interpretable by diary-lib, e.g. here it is just
   the empty string (the following space is required by Todo mode).

2. emacs -Q
3. M-x todo-show, answer y to apply the local variable list.  A "search
   failed" error occurs because the value of todo-prefix is (still) the
   default "*/*".  So kill the Todo buffer, do M-x customize-variable
   RET todo-prefix, make it match the string in the above ~/.todo-do
   file (the empty string), save for the current session, and call
   todo-show again.  The Todo buffer shows the item in category "test",
   and pressing + or - will show the item in category "Todo". 
4. Save the following as ~/diary:

    #include "~/.todo-do"
    
    Jan 25, 2010 diary item

5. M-: (add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)
6. M-x calendar, then type `d' on Jan 25 (the actual date is probably
   irrelevant).
=> Now todo-show only displays one category (whichever was current
before doing the step 6), the other category is invisible.

The patch below fixes this bug.

In GNU Emacs 23.1.91.2 (i686-pc-linux-gnu, GTK+ Version 2.18.1)
 of 2010-01-25 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10605000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t


2010-01-25  Stephen Berman  <stephen.berman <at> gmx.net>

	* diary-lib.el (diary-unhide-everything): Widen before removing
        overlays (bug#XXXX). 


*** /tmp/ediff16825Y0s	2010-01-25 22:16:53.000000000 +0100
--- /data/steve/bzr/emacs/quickfixes/lisp/calendar/diary-lib.el	2010-01-25 22:13:51.000000000 +0100
***************
*** 804,810 ****
  (defun diary-unhide-everything ()
    "Show all invisible text in the diary."
    (kill-local-variable 'diary-selective-display)
!   (remove-overlays (point-min) (point-max) 'invisible 'diary)
    (kill-local-variable 'mode-line-format))
  
  (defvar original-date)                  ; bound in diary-list-entries
--- 804,813 ----
  (defun diary-unhide-everything ()
    "Show all invisible text in the diary."
    (kill-local-variable 'diary-selective-display)
!   (save-excursion
!     (save-restriction
!       (widen)
!       (remove-overlays (point-min) (point-max) 'invisible 'diary)))
    (kill-local-variable 'mode-line-format))
  
  (defvar original-date)                  ; bound in diary-list-entries



[Message part 3 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 5477-done <at> debbugs.gnu.org
Subject: Re: bug#5477: 23.1.91; diary-unhide-everything sometimes doesn't
Date: Tue, 26 Jan 2010 16:14:09 -0500
Thanks, I will install this later.

I'm closing this now to test some debbugs changes I have made.


This bug report was last modified 15 years and 175 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.