unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Wojciech Meyer <wojciech.meyer@googlemail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Wojciech Meyer <wojciech.meyer@googlemail.com>,
	joakim@verona.se, emacs-devel@gnu.org, juri@jurta.org,
	Eli Zaretskii <eliz@gnu.org>,
	deniz.a.m.dogan@gmail.com
Subject: Re: Refreshing Info nodes
Date: Sat, 11 Sep 2010 15:00:44 +0100	[thread overview]
Message-ID: <8739tgxtv7.fsf@gmail.com> (raw)
In-Reply-To: <jwvbp842zps.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Sat, 11 Sep 2010 15:19:20 +0200")

Again, thanks a lot for spending time on it. In the meantime I will fix
these problems, and send you back the new one.

Thanks,
Wojciech

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Now there was some problem with buffer local variable
>> `revert-buffer-function'. (in doc-view-mode) I corrected it I believe,
>> and this is the final version of patch.  Could anybody review that once
>> more, please?
>
> Some nitpicks:
>
>> +  ;; This is not interactive because you shouldn't be turning this
>> +  ;; mode on and off.  You can corrupt things that way.
>> +  ;;
>> +  ;; Now it's derived mode, so therefore it is interactive.
>
> These two pieces are contradictory, please clarify.  BTW, we should
> change archive-mode to use buffer-swap-text like we did for tar-mode,
> which should address this risk of corruption.
>
>> -(defun bookmark-bmenu-mode ()
>> +(define-derived-mode bookmark-bmenu-mode special-mode "Bookmark Menu"
>>    "Major mode for editing a list of bookmarks.
>>  Each line describes one of the bookmarks in Emacs.
>>  Letters do not insert themselves; instead, they are commands.
>> @@ -1645,9 +1642,6 @@
>>    (kill-all-local-variables)
>>    (use-local-map bookmark-bmenu-mode-map)
>
> Both kill-all-local-variables and use-local-map can be removed (actually
> kill-all-local-variables *has* to be removed since it undoes the previous
> call to special-mode).
>
>>    (setq truncate-lines t)
>> -  (setq buffer-read-only t)
>> -  (setq major-mode 'bookmark-bmenu-mode)
>> -  (setq mode-name "Bookmark Menu")
>>    (run-mode-hooks 'bookmark-bmenu-mode-hook))
>
> Why remove (setq buffer-read-only t) ?
> And why not remove the run-mode-hooks?
>
>> === modified file 'lisp/doc-view.el'
>> --- lisp/doc-view.el	2010-07-14 15:57:54 +0000
>> +++ lisp/doc-view.el	2010-08-29 15:08:39 +0000
>> @@ -333,7 +333,6 @@
>>      (define-key map (kbd "C-c C-t")   'doc-view-open-text)
>>      ;; Reconvert the current document.  Don't just use revert-buffer
>>      ;; because that resets the scale factor, the page number, ...
>> -    (define-key map (kbd "g")         'doc-view-revert-buffer)
>
> If you remove this line, you need to remove the above comment as well
> (after making sure that the problem it mentions don't apply any more).
>
>> +    (set (make-local-variable 'revert-buffer-function) 'doc-view-revert-buffer)
>>      (run-mode-hooks 'doc-view-mode-hook)))
>
> Here as well you should remove the run-mode-hooks.
>
>>  ;;;###autoload
>> -(defun image-mode ()
>> +(define-derived-mode image-mode special-mode "Image"
>>    "Major mode for image files.
>>  You can use \\<image-mode-map>\\[image-toggle-display]
>>  to toggle between display as an image and display as text."
>> -  (interactive)
>>    (condition-case err
>>        (progn
>>  	(unless (display-images-p)
>>  	  (error "Display does not support images"))
>  
>>  	(kill-all-local-variables)
>> -	(setq major-mode 'image-mode)
>
> IIRC define-derived-mode sets major-mode before running the body of the
> macro, so when you call `error' above, `major-mode' and `mode-name' have
> already been set and need to be reverted.
>
>> -(defun occur-mode ()
>> +(define-derived-mode occur-mode special-mode "Occur"
>>    "Major mode for output from \\[occur].
>>  \\<occur-mode-map>Move point to one of the items in this buffer, then use
>>  \\[occur-mode-goto-occurrence] to go to the occurrence that the item refers to.
>>  Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
>  
>>  \\{occur-mode-map}"
>> -  (interactive)
>>    (kill-all-local-variables)
>>    (use-local-map occur-mode-map)
>
> These last two should disappear as mentioned earlier.
>
>
>         Stefan



  reply	other threads:[~2010-09-11 14:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-13 17:51 Refreshing Info nodes Wojciech Meyer
2010-06-13 17:56 ` Deniz Dogan
2010-06-14 15:38   ` Juri Linkov
2010-06-14 18:34     ` Wojciech Meyer
2010-06-14 19:08     ` Stefan Monnier
2010-06-14 20:49       ` joakim
2010-06-14 21:59         ` Juri Linkov
2010-06-14 22:58           ` joakim
2010-06-15 21:35             ` Juri Linkov
2010-06-15 23:38               ` Wojciech Meyer
2010-06-16 13:39                 ` Stefan Monnier
2010-06-16 20:43                   ` Juri Linkov
2010-06-17  0:46                     ` Stefan Monnier
2010-06-17  8:29                       ` Juri Linkov
2010-08-28 20:38                   ` Wojciech Meyer
2010-08-28 20:50                     ` Eli Zaretskii
2010-08-28 22:17                       ` Wojciech Meyer
2010-08-29 15:18                         ` Wojciech Meyer
2010-09-11 13:19                           ` Stefan Monnier
2010-09-11 14:00                             ` Wojciech Meyer [this message]
2010-09-13  1:34                             ` Wojciech Meyer
2010-09-13 10:11                               ` Stefan Monnier
2010-09-13 10:22                                 ` Wojciech Meyer
2010-06-17  8:00                 ` Richard Stallman
2010-06-17  8:52                   ` Wojciech Meyer
2010-06-15  0:38           ` Stefan Monnier
2010-06-16 20:35             ` Juri Linkov
2010-06-17  0:49               ` Stefan Monnier
2010-06-15  3:00           ` Eli Zaretskii
2010-06-15  3:18             ` Drew Adams
2010-06-14 21:57       ` Juri Linkov
2010-06-15  0:42         ` Stefan Monnier
2010-06-16 20:33           ` Juri Linkov
2010-06-17  0:50             ` Stefan Monnier
2010-06-17 20:34               ` Juri Linkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8739tgxtv7.fsf@gmail.com \
    --to=wojciech.meyer@googlemail.com \
    --cc=deniz.a.m.dogan@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=joakim@verona.se \
    --cc=juri@jurta.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).