help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to add property for a buffer object


From: York Zhao
Subject: Re: How to add property for a buffer object
Date: Wed, 12 Sep 2012 14:49:40 -0400

>> > You can use `get' and `put' on the symbol that is the value
>> > of variable `major-mode'.
>>
>> I don't think this would help because I need to attach
>> something to the buffer, not all the buffers in the major-mode.
>
> Or you could keep track of which buffers in the mode you care about this way.
> IOW, work with a list of buffers instead of setting and getting a property for
> each of those buffers.

Yes I could do this, but this will be a lot more work than if we could set
property directly to buffer object.

> That's about it, IIRC.  But usually other Lisp objects that you might want to
> assign a property to are somehow associated with one or more of those things, 
> so
> you can just assign the property to the associated thing (e.g., to a symbol).

> For a buffer, as an alternative to a buffer-local variable or a list of 
> affected
> buffers, you could put a property on a symbol whose name is the same as the
> buffer name.  Or you could put a text property on a string that is `string=' 
> to
> the buffer name.

But I think you will have to make a symbol for the buffer, and delete the symbol
when the buffer gets killed, right? Again, a lot more work.

> Or if you can depend on some of the buffer text remaining the
> same, you could put a text property on some buffer position (e.g. 
> (point-min)).

I think this is feasible.

>> The major problem with `refill-mode' however, is that it intercepts
>> the "fill-function" therefor was not able to handle refilling
>> properly in org-mode, especially, it would mess up org tables.
>> Also, if you have `refill-mode' turned on, you will never be able
>> to break a paragraph into two by hitting <RET> while
>> the point is in the middle of the paragraph.
>
> Sounds like there should be a bug report or enhancement request in there
> somewhere. ;-)  `M-x report-emacs-bug'.

I will probably send the bug, but I some times sort of lack the motivation to
report bug to a large project, as I'm not sure how long their "TODO" list is,
and I'm afraid that once it gets into somebody's "TODO" list, chances are that
it will never be touched :-).

>> On the other hand, the `auto-fill-mode' never "auto-fill" when
>> inserting text in the middle of a line, because of this, I have
>> to hit "M-q" all the time. Do you know of any other way
>> to really handle "auto-fill" property?
>
> No, I'm probably not the right one to ask.  But hopefully someone else will 
> have
> a suggestion.  I use `M-q' and `C-M-q' (e.g. in Lisp code).
>
> There are also other fill commands, which operate on multiple paragraphs in 
> the
> region: `fill-region', `fill-individual-paragraphs', and
> `fill-nonuniform-paragraphs'.  When one of them does what you want, you might 
> be
> able to use it in place of several uses of `M-q'.

I think you missed my point here. I don't have problem with "M-q", it actually
works perfectly. But my problem is that I have to hit "M-q" all the time. What
I'm looking for is something like "refill-mode" so that I don't have to always
hit "M-q" while inserting or deleting text in the middle of a line. My fingers
hurt a lot so I always try to hit as less keys as possible.


Thanks,
York



reply via email to

[Prev in Thread] Current Thread [Next in Thread]