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
next prev parent 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).