Mercurial > emacs
view test/cedet/tests/testusing.hh @ 105601:68686d39c93a
Replace completion-base-size by completion-base-position to fix bugs
such as (bug#4699).
* simple.el (completion-base-position): New var.
(completion-base-size): Mark as obsolete.
(choose-completion): Make it work for mouse events as well.
Pass the new base-position to choose-completion-string.
(choose-completion-guess-base-position): New function, extracted from
choose-completion-delete-max-match.
(choose-completion-delete-max-match): Use it. Make obsolete.
(choose-completion-string): Use the new base-position info.
(completion-root-regexp): Delete.
(completion-setup-function): Preserve completion-base-position.
Eliminate obsolete base-size manipulation.
* minibuffer.el (display-completion-list): Don't mess with base-size.
(minibuffer-completion-help): Set completion-base-position instead.
* mouse.el (mouse-choose-completion): Redefine as a mere alias to
choose-completion.
* textmodes/bibtex.el (bibtex-complete):
* emacs-lisp/crm.el (crm--choose-completion-string):
Adjust to new calling convention.
* complete.el (partial-completion-mode): Use minibufferp to avoid
bumping into incompatible change to choose-completion-string-functions.
* ido.el (ido-choose-completion-string): Make its calling convention
more permissive.
* comint.el (comint-dynamic-list-input-ring-select): Remove obsolete
base-size manipulation.
(comint-dynamic-list-input-ring): Use dotimes and push.
* iswitchb.el (iswitchb-completion-help): Remove dead-code call to
fundamental-mode. Use `or'.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 15 Oct 2009 01:50:17 +0000 |
parents | 7f4c7f5c0eba |
children |
line wrap: on
line source
// test usings header file. namespace moose { class Point; class MyClass; } namespace moose { class Point; class MyClass { public: MyClass() : fVal(0) { } ~MyClass() {}; /** * fVal Accessors * @{ */ int getVal() const { return fVal; } void setVal(int Val) const { fVal = Val; } /** * @} */ private: int fVal; }; } namespace deer { class Pickle; }; // Code from Zhiqiu Kong #ifndef BREAD_H #define BREAD_H namespace bread_name { class bread { public: void geta(); private: int m_a; int m_b; }; } #endif // Code from David Engster // Creating alias types through 'using' trickery namespace somestuff { class OneClass { public: void aFunc(); int anInt; }; struct aStruct { int foo; int bar; }; } namespace otherstuff { // make otherstuff::OneClass an alias for somestuff::OneClass using somestuff::OneClass; } namespace morestuff { // make morestuff an alias namespace for somestuff using namespace somestuff; // but hide aStruct with own type struct aStruct { int anotherFoo; int anotherBar; }; } // We can also create an alias for an alias namespace evenmorestuff { using otherstuff::OneClass; } // Now with nested namespaces namespace outer { namespace inner { struct StructNested { int one; int two; }; struct AnotherStruct { int three; int four; }; } } // Elevate the first struct into 'outer' // so that we can access it via 'outer::StructNested' namespace outer { using outer::inner::StructNested; } // Create an alias for a nested namespace namespace outerinner { // equivalent to 'namespace outerinner = outer::inner;' using namespace outer::inner; } // arch-tag: f7e59fad-100b-47d3-ae8b-a8390a026ade