Writing GNU Emacs Extensions. Editor Customizations and Creations with Lisp - Helion
ISBN: 978-14-493-9973-3
stron: 240, Format: ebook
Data wydania: 2016-03-18
Księgarnia: Helion
Cena książki: 101,15 zł (poprzednio: 117,62 zł)
Oszczędzasz: 14% (-16,47 zł)
Yes, it is possible to be all things to all people, if you're talking about the Emacs editor. As a user, you can make any kind of customization you want, from choosing the keystrokes that invoke your favorite commands to creating a whole new work environment that looks like nothing ever developed before. It's all in Emacs Lisp -- and in this short but fast-paced book.GNU Emacs is more than an editor; it's a programming environment, a communications package, and many other things. To provide such a broad range of functions, it offers a full version of the Lisp programming language -- something much more powerful than the little macro languages provided in other editors (including older versions of Emacs). GNU Emacs is a framework in which you can create whole new kinds of editors or just alter aspects of the many functions it already provides.In this book, Bob Glickstein delves deep into the features that permit far-reaching Emacs customizations. He teaches you the Lisp language and discusses Emacs topics (such as syntax tables and macro templates) in easy-to-digest portions. Examples progress in complexity from simple customizations to extensive major modes.You will learn how to write interactive commands, use hooks and advice, perform error recovery, manipulate windows, buffers, and keymaps, exploit and alter Emacs's main loop, and more. Each topic is explored through realistic examples and a series of successive refinements that illustrate not only the Emacs Lisp language, but the development process as well, making learning pleasant and natural.
Osoby które kupowały "Writing GNU Emacs Extensions. Editor Customizations and Creations with Lisp", wybierały także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
Spis treści
Writing GNU Emacs Extensions. Editor Customizations and Creations with Lisp eBook -- spis treści
- Writing GNU Emacs Extensions
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- What Is Emacs?
- Conventions Used in This Book
- Typographic Conventions
- Emacs Commands
- Examples
- Organization of This Book
- Obtaining the Example Programs
- FTP
- Acknowledgments
- 1. Customizing Emacs
- Backspace and Delete
- Lisp
- Keys and Strings
- The META Key
- Binding Keystrokes to Commands
- Denoting Keys in Strings
- To What Is C-h Bound?
- To What Should C-h Be Bound?
- Evaluating Lisp Expressions
- Apropos
- 2. Simple New Commands
- Traversing Windows
- Defining other-window-backward
- Parameterizing other-window-backward
- Making the Argument Optional
- Condensing the Code
- Logical Expressions
- The Best other-window-backward
- Line-at-a-Time Scrolling
- Other Cursor and Text Motion Commands
- Clobbering Symbolic Links
- Hooks
- Anonymous Functions
- Handling the Symlink
- Advised Buffer Switching
- Addendum: Raw Prefix Argument
- Traversing Windows
- 3. Cooperating Commands
- The Symptom
- A Cure
- Declaring Variables
- Saving and Restoring Point
- Window Appearance
- Detecting Errors
- Generalizing the Solution
- Using this-command
- Symbol Properties
- Markers
- Addendum: Efficiency Consideration
- 4. Searching and Modifying Buffers
- Inserting the Current Time
- User Options and Docstrings
- More Asterisk Magic
- Writestamps
- Updating Writestamps
- Generalizing Writestamps
- Regular Expressions
- Regexp Quoting
- Limited Searching
- More Regexp Power
- Modifystamps
- Simple Approach #1
- Simple Approach #2
- Clever Approach
- A Subtle Bug
- Inserting the Current Time
- 5. Lisp Files
- Creating a Lisp File
- Loading the File
- Finding Lisp Files
- Interactive Loading
- Programmatic Loading
- Explicit loading
- Conditional loading
- Autoloading
- Compiling the File
- eval-after-load
- Local Variables Lists
- Addendum: Security Consideration
- 6. Lists
- The Simple View of Lists
- List Details
- Recursive List Functions
- Iterative List Functions
- Other Useful List Functions
- Destructive List Operations
- Circular Lists?!
- 7. Minor Mode
- Paragraph Filling
- Modes
- Defining a Minor Mode
- Mode Meat
- Nave First Try
- Constraining refill
- Minor Adjustments
- Eliminating Unwanted Filling
- Trailing Whitespace
- 8. Evaluation and Error Recovery
- limited-save-excursion
- eval
- Macro Functions
- Backquote and Unquote
- Return Value
- Failing Gracefully
- Point Marker
- 9. A Major Mode
- My Quips File
- Major Mode Skeleton
- Changing the Definition of a Paragraph
- Quip Commands
- Keymaps
- Narrowing
- Derived Modes
- 10. A Comprehensive Example
- New York Times Rules
- Data Representation
- Vectors
- Matrix Package
- Crossword Variant of Matrix
- Using Cons Cells
- One-Letter Words
- User Interface
- Display
- Cursor Positioning
- Updating the Display
- User Commands
- Grid-changing commands
- Navigation
- Setting Up the Mode
- Keybindings
- Mouse Commands
- Menu Commands
- Tracking Unauthorized Changes
- Parsing the Buffer
- Word Finder
- First Try
- Second Try
- Asynchronous egrep
- Choosing Words
- Ambiguous Alignment
- Last Word
- A. Conclusion
- B. Lisp Quick Reference
- Basics
- Data Types
- Numbers
- Characters
- Strings
- Symbols
- Lists
- Vectors
- Sequences and Arrays
- Control Structures
- Variables
- Sequencing
- Conditionals
- Looping
- Function Call
- Literal Data
- Code Objects
- Functions
- Macro Functions
- C. Debugging and Profiling
- Evaluation
- The Debugger
- Edebug
- The Profiler
- D. Sharing Your Code
- Preparing Source Files
- Documentation
- Copyright
- Posting
- E. Obtaining and Building Emacs
- Availability of Packages
- Unpacking, Building, and Installing Emacs
- Unpacking
- Building and Installing
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly