From fdce47a4847409e65299075e7ef5dc59762e4efd Mon Sep 17 00:00:00 2001 From: Bob Weiner Date: Mon, 22 Apr 2019 09:26:39 -0400 Subject: Add Gitlab to DEMO; MSWindows path handling; company-mode Smart Keys --- Changes | 21 ++ DEMO | 77 +++++-- HY-ABOUT | 2 +- HY-NEWS | 67 +++--- Makefile | 2 +- README.md | 12 +- README.md.html | 612 ------------------------------------------------- _hypb | Bin 2234 -> 4188 bytes hargs.el | 19 +- hmh.el | 2 +- hmouse-drv.el | 48 ++-- hmouse-mod.el | 2 +- hpath.el | 4 +- hsys-www.el | 2 +- htz.el | 2 +- hui-jmenu.el | 2 +- hui-mouse.el | 2 +- hui-select.el | 2 +- hui-window.el | 4 +- hui-xe-but.el | 2 +- hui.el | 2 +- hversion.el | 8 +- hvm.el | 2 +- hyperbole-pkg.el | 2 +- hyperbole.el | 2 +- hyrolo-logic.el | 2 +- kotl/kotl-autoloads.el | 45 +++- man/hkey-help.txt | 2 + man/hyperbole.html | 378 +++++++++++++++++++----------- man/hyperbole.info | Bin 490392 -> 494732 bytes man/hyperbole.pdf | Bin 1264179 -> 1266810 bytes man/hyperbole.texi | 86 +++++-- man/version.texi | 8 +- set.el | 2 +- 34 files changed, 560 insertions(+), 863 deletions(-) diff --git a/Changes b/Changes index b6d9a4f..703b1bb 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,24 @@ +2019-04-22 Bob Weiner + +* hversion.el: Pushed BW changes for 7.0.2c test update. + +* hargs.el (hargs:delimited): Added exclude-regexp argument. +* hpath.el (hpath:delimited-possible-path): Used above new argument + to prevent matching to strings that include string quotes. + +2019-04-21 Bob Weiner + +* man/hkey-help.txt: Added Company-mode and Treemacs entries. + +* hui-window.el (hmouse-alist-add-window-handlers): Renamed from hui-window--register. + +* man/hyperbole.texi (Smart Key - Company Mode): Added. + +2019-03-11 Bob Weiner + +* man/hyperbole.texi (Implicit Buttons, gitlab-reference): + DEMO (Gitlab (Remote) References): Added these sections. + 2019-02-16 Bob Weiner * hui-window.el (smart-window-of-coords): Handled null coords parameter. diff --git a/DEMO b/DEMO index c8c8315..1caa3ad 100644 --- a/DEMO +++ b/DEMO @@ -65,7 +65,7 @@ and returns here. See also the later section, <(Smart Mouse Keys)>. -Now let's look at many of the things you can do with the Smart Keys. +Now let's look at some of the things you can do with the Smart Keys. ** Table of Contents Browsing @@ -139,7 +139,6 @@ You can change which browser is used with {C-h h c w}, the Cust/Web-Search menu. Advanced users can change the search engines listed by editing the option, <(hyperbole-web-search-alist)>. - ** Help Buffers Since the Smart Keys do so many things, it is helpful to see what they will @@ -175,17 +174,17 @@ A unique feature of Hyperbole is the Koutliner; it is for outlining thoughts, developing requirements or listing tasks and hyperlinking them to other documents. -The Hyperbole Koutliner produces structured, autonumbered documents composed -of hierarchies of cells. Each cell has two identifiers, a relative -autonumber indicating its present position within the outline and a permanent -identifier suitable for use within hyperlink references to the cell. +The Hyperbole Koutliner produces multi-level, autonumbered hierarchies of +cells. Each cell has two identifiers, a relative autonumber indicating its +present position within the outline and a permanent identifier suitable for +use within hyperlink references to the cell. A demonstration of the Koutliner is found on the Hyperbole Kotl/Example menu entry. {C-h h k e}, gives you an editable copy of Hyperbole's example Koutliner file. This explains the Koutliner commands and lets you try them out as you learn. Additional documentation can be found in -"(hyperbole)Koutliner". "(hyperbole)Koutliner Keys" summarizes in -alphabetical order the Koutliner commands which are bound to keys. +"(hyperbole)Koutliner". "(hyperbole)Koutliner Keys" summarizes, in +alphabetical order, the Koutliner commands which are bound to keys. * HyControl @@ -258,10 +257,11 @@ action key here: {.1 % .23 @}. You can even write something like this to do the whole thing in one sequence. First, let's quit out of HyControl Frames mode with {q}. Then go back to one -window with {C-x 1}. Now we can execute a single sequence from any buffer that -creates our 2x3 window grid: {C-h h s f .1 % .23 @ q}. Pretty amazing, -right? You can separate each command by any number of spaces or even jam them -all together: {C-hhsf.1%.23@q}. +window with {C-x 1}. Now we can execute a single sequence from any buffer +that creates our 2x3 window grid: {C-h h s f .1 % .23 @ q}. Pretty amazing, +right? You can separate each command by any number of spaces or even jam +them all together: {C-hhsf.1%.23@q}. Use SPC (separated by spaces) to +include a space as part of the key sequence. A zero argument to the {@} command is special. It means you want to display buffers with a particular major mode first, e.g. c-mode. You will be @@ -417,12 +417,13 @@ them. ** Key Sequence Buttons -Any Emacs key sequence delimited with curly braces is an implicit button. -Press the Action Key with {C-u C-p} for example and the point should move -four lines upward. An Assist Key press on the key sequence displays the -documentation for its command binding, i.e. what it does. Key sequences -together with the arguments their commands prompt for also may be given, -e.g. {M-x apropos RET hyperbole RET}. Click in the braces to try it out. +Any Emacs key sequence (or multiple sequences) delimited by curly braces is +an implicit button. Press the Action Key with {C-u C-p} for example and the +point should move four lines upward. An Assist Key press on the key sequence +displays the documentation for its command binding, i.e. what it does. Key +sequences together with the arguments their commands prompt for also may be +given, e.g. {M-x apropos RET hyperbole RET}. Click in the braces to try it +out. Hyperbole minibuffer menu items may also be activated as key sequences. For example, {C-h h d i} displays the online browsable Info version of the @@ -684,6 +685,46 @@ user, project and commit hash code are all included. The second and third versions require the setup of default values, as explained in the commentary near the top of "hib-social.el". +Similarly, the same file above explains how to link to pull requests, +issues, branches and tags. + +** Gitlab (Remote) References + +For software developers who use Gitlab for publishing and version control, +Gitlab links are similar to social media links but reference specific Gitlab +web pages. See "#Github (Remote) References" for the basic syntax of such +links but substitute 'gl' instead of 'gh'. + +Gitlab offers many more types of reference links than Github, here they are: + + gl#gitlab-org/gitlab-ce/activity Summarize user's project activity + gl#gitlab-org/gitlab-ce/analytics Display user project's cycle_analytics + gl#gitlab-org/gitlab-ce/boards Display user project's kanban-type issue boards + + Once you set the default user and project variables, you can leave + them off any reference links: + + (setq hibtypes-gitlab-default-user "gitlab-org") + (setq hibtypes-gitlab-default-project "gitlab-ce") + + gl#jobs Display default project's computing jobs + gl#labels Display default project's issue categories + gl#members Display default project's staff list + gl#contributors Show contributor push frequency charts + gl#merge_requests or gl#pulls Display default project's pull requests + gl#milestones Display default project's milestones status + gl#pages Display default project's web pages + gl#pipelines List build and test sequences + gl#pipeline_charts Graphical view of pipeline run results across time + gl#schedules Display schedules for project pipelines + gl#snippets Project snippets, diffs and text with discussion + + gl#groups List all available groups of projects + gl#projects List all available projects + + gl#milestone=38 Show a specific project milestone + gl#snippet/1689487 Show a specific project snippet + ** Git (Local) References Similarly, again for software developers, git references work on local diff --git a/HY-ABOUT b/HY-ABOUT index 72ada9c..a0b484b 100644 --- a/HY-ABOUT +++ b/HY-ABOUT @@ -3,7 +3,7 @@ Designed and Written by Bob Weiner Maintained by Mats Lidell and Bob Weiner https://www.gnu.org/software/hyperbole/ - Version 7.0.2b + Version 7.0.2c GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an efficient and programmable hypertextual information management diff --git a/HY-NEWS b/HY-NEWS index a80e1b2..5ddaff2 100644 --- a/HY-NEWS +++ b/HY-NEWS @@ -28,24 +28,25 @@ SMART (ACTION AND ASSIST) KEYS - MSWindows Paths: Hyperbole now recognizes typical MSWindows paths (both - local and remote). They may be used within links and implicit path buttons - just like POSIX paths, whether running Emacs under a POSIX system or - MSWindows. If under POSIX, a remote MSWindows path must be accessed through - a mount point to the network share. Hyperbole caches such mount points when - it is loaded. Use {M-x hpath:cache-mswindows-mount-points RET} to update them - if more mounts are made later. See also the NEW COMMANDS section herein for - how to convert a path between POSIX and MSWINDOWS/DOS formats. + local and remote). They may be used within links and implicit path + buttons just like POSIX paths, whether running Emacs under a POSIX + system or MSWindows. If under POSIX, a remote MSWindows path must be + accessed through a mount point to the network share. Hyperbole caches + such mount points when it is loaded. Use {M-x + hpath:cache-mswindows-mount-points RET} to update them if more mounts + are made later. See also the NEW COMMANDS section herein for how to + convert a path between POSIX and MSWINDOWS/DOS formats. - GitLab and Github Links: Added Gitlab implicit links with equivalent - functionality to those of Github. Added "people" reference support - to list people who are part of a formal organization as well as a - "staff" alias. Added "contributors" reference support to list project + functionality to those of Github. Added "people" reference support to + list people who are part of a formal organization as well as a "staff" + alias. Added "contributors" reference support to list project contributors as well. Improved Github implicit issue links: gh#gh-34 and gh#issue/34 now properly reference an issue in the current project. - - Ripgrep: Added new ripgrep-msg implicit button type which jumps to - the source referenced by ripgrep (rg) output. Ripgrep by - default outputs pathnames only once beforeall matching lines + - Ripgrep: Added new ripgrep-msg implicit button type which jumps + to the source referenced by ripgrep (rg) output. By default, + ripgrep outputs pathnames only once before all matching lines within that path. Ripgrep may also be used with the Hyperbole `hypb:rgrep' command by setting 'hypb:rgrep-command'. See "https://github.com/BurntSushi/ripgrep". @@ -55,28 +56,37 @@ - Org Mode: When in an *Org Help* buffer, the Smart Keys now defer to org-mode to handle jumps to its own locations for compatibility. + Similarly, in org-mode buffers when not on an org link or heading, + Hyperbole defers to org-meta-return. - - Drag-based Kill, Copy and Yank: Added support for dragging across frames. + - Drag-based Kill, Copy and Yank: Added support for dragging across + frames. - Python Identifiers: If a Jedi server is running and the Action Key is pressed on a Python identifier, Hyperbole will use Jedi to find the - definition even within nested module references, e.g. a.b.c. Also improved - basic identifier definition finding. + definition even within nested module references, e.g. a.b.c. Also + improved basic identifier definition finding. - Company Mode Completion: Support for the Emacs company-mode completion - package. After a user loads company-mode, the Action Key when pressed on - a source code identifier will run 'smart-company-to-definition' and the - Assist Key will run 'smart-company-help'. + package. An Action Key press on a company-mode completion item will + display the definition of that item and an Assist Key press will + display its documentation, if any. - Treemacs Mode: Now supports standard Hyperbole end-of-line proportional scrolling. - - ChangeLog Mode: Smart Keys now work on Emacs Lisp references in changelogs. + - ChangeLog Mode: Smart Keys now work on Emacs Lisp references in + changelogs. - - Improved String Matching: For lines that begin with part of a string that - started on another line, Hyperbole now presumes that point is within a string - rather than between two strings, even though the delimiters on the line - make this ambiguous. This provides more accurate string recognition. + - Improved String Matching: For lines that begin with part of a string + that started on another line, Hyperbole now presumes that point is + within a string rather than between two strings, even though the + delimiters on the line make this ambiguous. This provides more + accurate string recognition. + + - Improved Path Matching: For quote delimited paths, other quote marks + are excluded from matches, so if checking for a doubly quoted path, + single quotes are not allowed in the string. HYCONTROL @@ -97,8 +107,8 @@ - MSWindows and POSIX Path Toggling: In "hpath.el", added (hpath:substitute-posix-or-mswindows-at-point) and (hpath:substitute-posix-or-mswindows) commands to toggle the - format of a path at point or in a string between POSIX and MSWindows - styles. + format of a path at point or in a string between POSIX and + MSWindows styles. PROGRAMMING @@ -125,6 +135,11 @@ - Popup Menus: Documented how to invoke the Koutliner and HyRolo popup menus in Emacs. See "(hyperbole)Menu Commands". + - DEMO: Added section on "DEMO#Gitlab (Remote) References". + + - Update Hyperbole Manual with new features. + + =========================================================================== * V7.0.2 =========================================================================== diff --git a/Makefile b/Makefile index 6fd8ad1..61f1976 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ # This ver setup won't work under any make except GNU make, so set it manually. #HYPB_VERSION = "`head -3 hversion.el | tail -1 | sed -e 's/.*|\(.*\)|.*/\1/'`" -HYPB_VERSION = 7.0.2b +HYPB_VERSION = 7.0.2c # Emacs executable used to byte-compile .el files into .elc's. # Possibilities include: emacs, infodock, xemacs, etc. diff --git a/README.md b/README.md index 19d283c..0de878c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GNU Hyperbole 7.0.2b - The Everyday Hypertextual Information Manager +# GNU Hyperbole 7.0.2c - The Everyday Hypertextual Information Manager **Table of Contents** @@ -497,8 +497,16 @@ Keys). products I have ever come across. It is certainly the one which has made the biggest improvement in my personal productivity. + My Hyperbole button file is my start page in Emacs. It's a quickly + searchable index with links to countless resources. We also have a + library of implicit buttons that enable rapid navigation from references + in our code to our issue tracking system, so clicking a reference like + Client6502 opens the relevant conversation. Hyperbole provides a really + useful set of power tools. If Emacs is your preferred productivity + environment, it's definitely worth getting familiar with it. + -- Chris Nuzum - Co-founder, Traction Software, Inc. + Co-founder, Traction Softwarea, Inc. ------- diff --git a/README.md.html b/README.md.html index 4a45809..e69de29 100644 --- a/README.md.html +++ b/README.md.html @@ -1,612 +0,0 @@ -

-GNU Hyperbole 7.0.2b - The Everyday Hypertextual Information Manager

- -

Table of Contents

- - -

Hyperbole screenshot of the Koutliner, DEMO file and HyRolo

-

-Summary

-

GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, -is an easy-to-use, yet powerful and programmable hypertextual information -management system implemented as a GNU Emacs package. It offers rapid views -and interlinking of all kinds of textual information, utilizing Emacs for -editing. It can dramatically increase your productivity and greatly reduce -the number of keyboard/mouse keys you'll need to work efficiently.

-

Hyperbole lets you:

-
    -
  1. -

    Quickly create hyperlink buttons either from the keyboard or by dragging -between a source and destination window with a mouse button depressed. -Later, activate buttons by pressing/clicking on them or by giving the -name of the button.

    -
  2. -
  3. -

    Activate many kinds of implicit buttons recognized by context -within text buffers, e.g. URLs, grep output lines, and git commits. -A single key or mouse button automatically does the right thing in -dozens of contexts; just press and go.

    -
  4. -
  5. -

    Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6, -that all renumber automatically as any node or tree is moved in the -outline. Each node also has a permanent hyperlink anchor that you can -reference from any other node;

    -
  6. -
  7. -

    Manage all your contacts quickly with hierarchical categories and -embed hyperlinks within each entry. Or create an archive of documents -with hierarchical entries and use the same search mechanism to quickly -find any matching entry;

    -
  8. -
  9. -

    Use single keys to easily manage your Emacs windows or frames and -quickly retrieve saved window and frame configurations;

    -
  10. -
  11. -

    Search for things in your current buffers, in a directory tree or -across major web search engines with the touch of a few keys.

    -
  12. -
-

The common thread in all these features is making retrieval, -management and display of information fast and easy. That is -Hyperbole's purpose. It may be broad but it works amazingly well. If -it is textual information, Hyperbole can work with it. In contrast to -Org mode, Hyperbole works across all Emacs modes and speeds your work -by turning all kinds of references into clickable hyperlinks and -allowing you to create new hyperlinks by dragging between two windows. -The Hyperbole wiki page -explains the many ways it differs from and is complementary to Org -mode.

-

Hyperbole allows hypertext buttons to be embedded within unstructured -and structured files, mail messages and news articles. It offers -intuitive keyboard and mouse-based control of information display -within multiple windows. It also provides point-and-click access to -World-Wide Web URLs, Info manuals, ftp archives, etc.

-

Hyperbole includes easy-to-use, powerful hypertextual button types -without the need to learn a markup language. Hyperbole's button types -are written in Lisp and can be wholly independent of the web, i.e. web -links are one type of Hyperbole link, not fundamental to its link -architecture. However, Hyperbole is a great assistant when editing -HTML or Javascript or when browsing web pages and links.

-

Hyperbole is something to be experienced and interacted with, not -understood from reading alone. If you like an Emacs package to do -only one thing than Hyperbole is not for you, but if you would -rather learn fewer packages and get more work done faster, then -Hyperbole is for you.

-

Hyperbole works well on GNU Emacs 24.4 or above. It is designed and -written by Bob Weiner. It is maintained by him and Mats Lidell. Its -main distribution site is: https://www.gnu.org/software/hyperbole/. -If any term in here is new or unfamiliar to you, you can look it up in the -Hyperbole Glossary.

-

Hyperbole is available for download and installation -through the GNU Emacs package manager.

-

-Mailing Lists

- -

-Ftp and Git Repository Downloads

-

To inspect the Hyperbole source code online rather than installing it for -use (which will also give you the source code), open a web page to:

- -

Alternatively, you may download a tar.gz source archive from either:

- -

which will find the closest mirror of the GNU ftp site and show it to you.

-

If you want to follow along with Hyperbole development and maintain a -copy/clone of the current version-controlled git tree, use a -command listed here -to clone the Hyperbole project tree.

-

-Installation

-

Once you have Emacs set up at your site, GNU Hyperbole may be -installed by using the Emacs Package Manager. If you are not -familiar with it, see the Packages section of the GNU Emacs Manual, -Emacs Packages.

-

If you have Hyperbole 5.10 or higher already installed and simply want to -upgrade it, invoke the Emacs Package Manager with {M-x list-packages RET}, -then use the {U} key followed by the {x} key to upgrade all out-of-date -packages, Hyperbole among them. Then skip the text below and move on to -the next section, Invocation.

-

Otherwise, to download and install the Hyperbole package, you should -add several lines to your personal Emacs initialization file, -typically "~/.emacs". For further details, see Emacs Init -File.

-

Below are the lines to add:

-
(require 'package)
-(setq package-enable-at-startup nil) ;; Prevent double loading of libraries
-(package-initialize)
-(unless (package-installed-p 'hyperbole)
-  (package-refresh-contents)
-  (package-install 'hyperbole))
-(require 'hyperbole)
-
-
-

Now save the file and then restart Emacs. Hyperbole will then be -downloaded and compiled for use with your version of Emacs; give it a -minute or two. You may see a bunch of compilation warnings but these -can be safely ignored.

-

-Invocation

-

Once Hyperbole has been installed for use at your site and loaded into your -Emacs session, it is ready for use. You will see a Hyperbole menu on your -menubar and {C-h h} will display a Hyperbole menu in the minibuffer for -quick keyboard-based selection.

-

You can invoke Hyperbole commands in one of three ways:

-

use the Hyperbole menu on your menubar;

-

Hyperbole Menubar Menu

-

type {C-h h} or {M-x hyperbole RET} to bring up the Hyperbole main menu -in the minibuffer window, for fast keyboard or mouse-based selection; -select an item from this menu by typing the item's first letter; use {q} -to quit from the menu.

-

use a specific Hyperbole command such as an Action Key click {M-RET} on -a pathname to display the associated file or directory.

-

Use {C-h h d d} for an interactive demonstration of standard Hyperbole -button capabilities.

-

Hyperbole screenshot of the DEMO

-

{C-h h k e} offers an interactive demonstration of the Koutliner, -Hyperbole's multi-level autonumbered hypertextual outliner.

-

Hyperbole screenshot of the Koutliner

-

To try out HyControl, Hyperbole's interactive frame and window control -system, use {C-h h s w} for window control or {C-h h s f} for frame -control. {t} switches between window and frame control once in one of -them. Hyperbole also binds {C-c } for quick access to HyControl's -window control menu if it was not already bound prior to Hyperbole's -initialization. A long video demonstrating many of HyControl's -features is available at https://youtu.be/M3-aMh1ccJk.

-

The above are the best interactive ways to learn about Hyperbole. -Hyperbole also includes the Hyperbole Manual, a full reference manual, -not a simple introduction. It is included in the "man/" subdirectory -of the Hyperbole package directory in four forms:

-

hyperbole.info - online Info browser version
-hyperbole.html - web HTML version
-hyperbole.pdf - printable version
-hyperbole.texi - source form

-

The Hyperbole package installation places the Info version of this manual -where needed and adds an entry for Hyperbole into the Info directory under -the Emacs category. {C-h h d i} will let you browse the manual. For web -browsing, point your browser at "${hyperb:dir}/man/hyperbole.html", -wherever the Hyperbole package directory is on your system; often this is: -"~/.emacs.d/elpa/hyperbole-${hyperb:version}/".

-

-Hyperbole Components

-

Hyperbole consists of five parts:

-
    -
  1. -

    Buttons and Smart Keys: A set of hyperbutton types which supply -core hypertext and other behaviors. Buttons may be added to -documents (explicit buttons) with a simple drag between windows, -no markup language needed. Implicit buttons are patterns -automatically recognized within text that perform actions, -e.g. bug#24568 displays the bug status information for that bug -number.

    -

    These actions may be links or arbitrary Lisp expressions. So -for example, you could create your own button type of -Wikipedia searches that jumped to the named Wikipedia page -whenever point was within text of the form [wp]. -You define the pattern so {} might do the same -thing if you preferred. And this works within any Emacs -buffer you want it to, regardless of major or minor mode.

    -

    Buttons are accessed by clicking on them or referenced by name -(global buttons), so they can be activated regardless of what is -on screen. Users can make simple changes to button types and -those familiar with Emacs Lisp can prototype and deliver new -types quickly with just a few lines of code.

    -

    Hyperbole includes two special `Smart Keys', the Action Key -and the Assist Key, that perform an extensive array of -context-sensitive operations across emacs usage, including -activating and showing help for Hyperbole buttons. In many -popular Emacs modes, they allow you to perform common, sometimes -complex operations without having to use a different key for each -operation. Just press a Smart Key and the right thing happens;

    -
  2. -
  3. -

    Contact and Text Finder: an interactive textual information -management interface, including fast, flexible file and text -finding commands. A powerful, hierarchical contact manager, -HyRolo, which anyone can use is also included. It is easy to -learn to use since it introduces only a few new mechanisms and -has a menu interface, which may be operated from the keyboard or -the mouse.

    -

    HyRolo Menubar Menu

    -
  4. -
  5. -

    Screen Control: Hyperbole includes HyControl, the fastest, -easiest-to-use window and frame control available for GNU -Emacs. With just a few keystrokes, you can shift from -increasing a window's height by 5 lines to moving a frame by -220 pixels or immediately moving it to a screen corner. Text -in each window or frame may be enlarged or shrunk (zoomed) for -easy viewing, plus many other features;

    -

    The broader vision for HyControl is to support persistent -window and frame configurations as link targets. Then a user -will be able to create the views of information he wants and -store them as links for rapid display. Work remains to -implement this feature but it helps explain the connection of -HyControl to the rest of Hyperbole;

    -
  6. -
  7. -

    The Koutliner: an advanced outliner with multi-level -autonumbering and permanent ids attached to each outline node for -use as hypertext link anchors, per node properties and flexible -view specifications that can be embedded within links or used -interactively;

    -
  8. -
  9. -

    Programming Library: a set of programming library classes for -system developers who want to integrate Hyperbole with another -user interface or as a back-end to a distinct system. (All of -Hyperbole is written in Emacs Lisp for ease of modification. -Hyperbole has been engineered for real-world usage and is well -structured).

    -
  10. -
-

We find Hyperbole's parts are more powerful as one package, i.e. the -sum is greater than the parts, so we don't offer them separately. -Hyperbole is free software, however, so you may modify it as you see -fit.

-

-Hyperbole Buttons

-

A Hyperbole hypertext user works with buttons; he may create, modify, move -or delete buttons. Each button performs a specific action, such as linking -to a file or executing a shell command.

-

There are three categories of Hyperbole buttons:

-
    -
  1. -

    Explicit Buttons -created by Hyperbole, accessible from within a single document;

    -
  2. -
  3. -

    Global Buttons -created by Hyperbole, accessible anywhere within a user's -network of documents;

    -
  4. -
  5. -

    Implicit Buttons -buttons created and managed by other programs or embedded -within the structure of a document, accessible from within a -single document. Hyperbole recognizes implicit buttons by -contextual patterns given in their type specifications.

    -
  6. -
-

Hyperbole buttons may be clicked upon with a mouse to activate them or to -describe their actions. Thus, a user can always check how a button will act -before activating it. Buttons may also be activated from a keyboard. (In -fact, virtually all Hyperbole operations, including menu usage, may be -performed from any standard terminal interface, so one can use it on distant -machines that provide limited display access).

-

Hyperbole does not enforce any particular hypertext or information -management model, but instead allows you to organize your information in -large or small chunks as you see fit, organizing each bit as time allows. -The Hyperbole Koutliner and HyRolo tools organize textual hierarchies and -may also contain links to external information sources.

-

-Important Features

-

Some of Hyperbole's most important features include:

-
    -
  • -

    Buttons may link to information or may execute commands, such as -computing a complex value or communicating with external programs;

    -
  • -
  • -

    Buttons are quick and easy to create with no programming nor -markup needed. One simply drags between a button source location -and a link destination to create or to modify a link button. The -same result can be achieved from the keyboard.

    -
  • -
  • -

    Buttons may be embedded within email messages and activated from -Emacs mail readers; hyperlinks may include variables so that they -work at different locations where the variable settings differ;

    -
  • -
  • -

    Koutlines allow rapid browsing, editing and movement of chunks of -information organized into trees (hierarchies) and offer links -that include viewspecs which determine how documents are to be -displayed, e.g. show just the first two lines of all levels in a -Koutline;

    -
  • -
  • -

    Other hypertext and information retrieval systems may be -encapsulated under a Hyperbole user interface very easily.

    -
  • -
-

-Hyperbole Uses

-

Typical Hyperbole applications include:

-
    -
  • -

    Personal Information Management
    -Overlapping link paths provide a variety of views into an -information space. A single key press activates buttons -regardless of their types, making navigation easy.

    -

    A search facility locates buttons in context and permits quick -selection.

    -
  • -
  • -

    Documentation Browsing
    -Embedding cross-references in a favorite documentation format.

    -

    Addition of a point-and-click interface to existing documentation.

    -

    Linkage of code and design documents. Jumping to the definition -of an identifier from its use within code or its reference within -documentation.

    -
  • -
  • -

    Brainstorming
    -Capture of ideas and then quick reorganization with the Hyperbole -Koutliner. Link to related ideas, eliminating the need to copy -and paste information into a single place.

    -
  • -
  • -

    Help/Training Systems
    -Creation of tutorials with embedded buttons that show students how -things work while explaining the concepts, e.g. an introduction -to UNIX commands. This technique can be much more effective than -descriptions alone.

    -
  • -
  • -

    Archive Managers
    -Supplementation of programs that manage archives from incoming -information stream, having them add topic-based buttons that -link to the archive holdings. Users can then search and create -their own links to archive entries.

    -
  • -
-

-Files

-

See the HY-ABOUT file for a description and overview of Hyperbole.

-

See the HY-NEWS file for a summary of new features in this release.

-

See the INSTALL file for installation and invocation instructions.

-

See the HY-COPY and COPYING files for license information.

-

See the MANIFEST file for summaries of Hyperbole distribution files.

-

See DEMO for a demonstration of standard Hyperbole button capabilities. -This is the best way to initially interactively learn about Hyperbole after -installing it.

-

Various forms of the Hyperbole are below the "man/" subdirectory.

-

-Programmer Quick Reference

-

MANIFEST summarizes most of the files in the distribution.

-

See DEMO for a demonstration of standard Hyperbole button -capabilities. This is the best way to initially interactively learn -about Hyperbole. The Hyperbole Manual is a reference manual, not a -simple introduction.

-

Naming conventions:

-
    -
  • -

    All Hyperbole-specific code files begin with an 'h', aside from the -Koutliner files which are in the kotl/ subdirectory and begin with a 'k'.

    -
  • -
  • -

    Hyperbole user-interface files begin with 'hui-' or 'hmous'.

    -
  • -
  • -

    Files that define implicit button types begin with 'hib'.

    -
  • -
  • -

    Encapsulations of foreign systems begin with 'hsys-'.

    -
  • -
-

Most of the standard Emacs user interface for Hyperbole is located in -hui.el. Most of the Hyperbole application programming -interface can be found in hbut.el. hbdata.el -encapsulates the button attribute storage implemented by Hyperbole. -hmail.el provides a basic abstract interface for -integrating mail readers other than Rmail into Hyperbole.

-

See the [Hyperbole Questions and Answers](man/hyperbole.html#Questions -and Answers) appendix in the Hyperbole manual for information on how -to alter the default context-sensitive Hyperbole key bindings (Smart -Keys).

-

-User Quotes

-

*** MAN I love Hyperbole!!! Wow! ***

-
                    -- Ken Olstad  
-                       Cheyenne Software, Inc.
-
-
-

I love koutlines.

-
                    -- Bob Glickstein  
-                       Z-Code Software Corporation
-
-
-

One of the nicest things about Hyperbole is that it's available -everywhere. Org-mode is a mode and its features are only available in -Org files. For instance if you dropped into eshell' or ansi-term' and -did `ls', you can move point to any of the directory's contents, do M-RET -(or Shift-Button2) and jump to that file. And that's just one example. -Note that this means that all Hyperbole functionality is available in -Org files as well. To me, except for the Hyperbole outliner, that means -complementary not conflicting. It's Hyperbole and org-mode, not -Hyperbole vs. org-mode.

-

Additionally, off the bat, I found it very well documented and for me -that's a proxy for the quality of a package. The maintainers are quite -responsive. There's plenty more functionality that I haven't uncovered yet -but due to the ease of installation and the quality of the documentation, -digging into it is actually fun.

-
                    -- Aditya Siram  
-
-
-

For me, Emacs isn't Emacs without Hyperbole. I have depended on Hyperbole -daily since 1992, when I first started using it to manage my development -environment. It didn't take long before I could summon almost any -information I needed directly from within my editing environment with an -implicit button. Since I almost never have to slow down to look for -things--one context-dependent button usually produces exactly what I need ---I am able to maintain focus on the task I am working on and complete it -more quickly. With its gestural interface, seamless integration with other -Emacs packages and incredibly useful set of core features. I think that -Hyperbole is one of the best designed and most easily extensible software -products I have ever come across. It is certainly the one which has made -the biggest improvement in my personal productivity.

-
                    -- Chris Nuzum  
-                       Co-founder, Traction Software, Inc.
-
-
-

I've found Hyperbole (in conjunction with XEmacs) to be very useful -for signal processing algorithm development.

-

For me, it has almost completely obsoleted the engineering notebook: -I keep a set of files with ideas, algorithms, and results, linked -together and to the implementation in C++ files. Using XEmacs' -support for embedding graphics, I've written a mode that accepts -image tags (formatted like HTML), and reads in GIF files to display -plots. I have another program that converts the file to HTML (not -perfect, but adequate), so I can put any aspect of development on -our internal web for others to see.

-
                    -- Farzin Guilak  
-                       Protocol Systems, Inc., Engineer
-
-
-

I am blind and have been using Hyperbole since 1992. I used to use a PC as -a talking terminal attached to a UNIX system, but then I developed -Emacspeak which lets me use Emacs and Hyperbole from standard UNIX -workstations with an attached voice synthesizer.

-

My main uses are:

-
    -
  1. -

    Global and implicit buttons for jumping to ftp sites.

    -
  2. -
  3. -

    The contact manager with Emacspeak support.

    -
  4. -
  5. -

    Explicit buttons as part of comments made about a structured document. -Each button jumps to the document section referred to by the comment. -This is very, very useful.

    -
  6. -
  7. -

    The Hyperbole Koutliner, which I find a very useful tool. I've -implemented Emacspeak extensions to support it.

    -
                  -- TV Raman  
    -                 Google Inc.
    -
    -
  8. -
-
-

I've been a grateful Hyperbole user for a few years now. Hyperbole's -flexibility and ease of use is a marvel.

-

Mainly, I write easy little implicit button types (and corresponding action -types) to make my life easier. For example, I have an implicit button type -to bury certain buffers when I click at their bottoms, one that recognizes -a bug report record in various contexts and edits it, one that links pieces -of test output in a log file to the corresponding test case source code -(EXTREMELY helpful in interpreting test output), others that support our -homegrown test framework, one that handles tree dired mode the way I'd -like, one that completely handles wico menus (I've also overloaded the -wconfig actions triggered by diagonal mouse drags with wicos actions), and -a couple that support interaction with BBDB.

-

Other than that, I keep a global button file with 30 or so explicit buttons -that do various little things, and I index saved mail messages by putting -explicit link-to-mail buttons in an outline file.

-
                    -- Ken Olstad  
-                       Cheyenne Software, Inc.
-
-
-

In general, Hyperbole is an embeddable, highly extensible hypertext -tool. As such, I find it very useful. As it stands now, Hyperbole is -particularly helpful for organizing ill-structured or loosely coupled -information, in part because there are few tools geared for this purpose. -Hyperbole also possesses a lot of potential in supporting a wider -spectrum of structuredness, ranging from unstructured to highly -structured environments, as well as structural changes over time.

-

Major Uses:

-
    -
  • -

    Menu interface to our own collaborative support environment called -CoReView: This interface brings together all top-level user commands -into a single partitioned screen, and allows the end user to interact -with the system using simple mouse-clicking instead of the meta-x key.

    -
  • -
  • -

    Gateway to internet resources: this includes links to major Internet -archive sites of various types of information. Links are made at both -directory and file levels.

    -
  • -
  • -

    Alternative directory organizer: The hierarchical nature of the Unix -file system sometimes makes it difficult to find things quickly and -easily using directory navigational tools such as dired. Hyperbole -enables me to create various "profile" views of my directory tree, with -entries in these views referring to files anywhere in the hierarchy.

    -
  • -
  • -

    Organizing and viewing online documentation: using Hyperbole along with -Hyper-man and Info makes it truly easy to look up online documentation.

    -
  • -
  • -

    Other desktop organization tasks: including links to various mail -folders, saved newsgroup conversation threads, online note-taker, -emacs-command invocations, etc.

    -
                    -- Dadong Wan  
    -                   University of Hawaii
    -
    -
  • -
-
-

Hyperbole is the first hyper-link system I've run across that is -actually part of the environment I use regularly, namely Emacs. The -complete flexibility of the links is both impressive and expected -- the -idea of making the link itself programmable is clever, and given that one -assumes the full power of Emacs. Being able to send email with buttons -in it is a very powerful capability. Using ange-ftp mode, one can make -file references "across the world" as easily as normal file references.

-
                    -- Mark Eichin  
-                       Cygnus Support
-
-
-

I just wanted to say how much I enjoy using the Hyperbole Koutliner. -It is a great way to quickly construct very readable technical documents -that I can pass around to others. Thanks for the great work.

-
                    -- Jeff Fried  
-                       Informix
-
-
-

The Hyperbole system provides a nice interface to exploring corners of -Unix that I didn't know existed before.

-
                    -- Craig Smith  
-
-

-Why was Hyperbole developed?

-

Hyperbole was originally designed to aid in research aimed at Personalized -Information production/retrieval Environments (PIEs). Hyperbole was a -PIE Manager that provided services to PIE Tools. PIEmail, a mail reader was -the only PIE Tool developed as part of this research but Hyperbole has -greatly expanded since then and has long been a production quality toolset.

-

An examination of many hypertext environments as background research did -not turn up any that seemed suitable for the research envisioned, mainly -due to the lack of rich, portable programmer and user environments. We also -tired of trying to manage our own distributed information pools with standard -UNIX tools. And so Hyperbole was conceived and raved about until it -got its name.

-

Since then Hyperbole has proved indispensible at improving information -access and organization in daily use over many years. Why not start -improving your information handling efficiency today?

-

-- The End --

- diff --git a/_hypb b/_hypb index a3c7217..65fd41d 100644 Binary files a/_hypb and b/_hypb differ diff --git a/hargs.el b/hargs.el index f87628e..57b78a6 100644 --- a/hargs.el +++ b/hargs.el @@ -99,12 +99,14 @@ interactive form or takes no arguments." (subst-char-in-string ?\^@ ?: string t))) (defun hargs:delimited (start-delim end-delim - &optional start-regexp-flag end-regexp-flag list-positions-flag) + &optional start-regexp-flag end-regexp-flag + list-positions-flag exclude-regexp) "Returns a normalized, single line, delimited string that point is within the first line of, or nil. START-DELIM and END-DELIM are strings that specify the argument delimiters. With optional START-REGEXP-FLAG non-nil, START-DELIM is treated as a regular expression. END-REGEXP-FLAG is similar. -With optional LIST-POSITIONS-FLAG, return list of (string-matched start-pos end-pos)." +With optional LIST-POSITIONS-FLAG, return list of (string-matched start-pos end-pos). +With optional EXCLUDE-REGEXP, any matched string is ignored if it this regexp." (let* ((opoint (point)) (limit (if start-regexp-flag opoint (+ opoint (1- (length start-delim))))) @@ -156,12 +158,13 @@ With optional LIST-POSITIONS-FLAG, return list of (string-matched start-pos end- (< start end) (>= end opoint) (let ((string (hargs:buffer-substring start end))) - (setq string (hypb:replace-match-string "[\n\r\f]\\s-*" string " " t)) - (unless hyperb:microsoft-os-p - (setq string (hpath:mswindows-to-posix string))) - (if list-positions-flag - (list string start end) - string))))))) + (unless (and (stringp exclude-regexp) (string-match exclude-regexp string) ) + (setq string (hypb:replace-match-string "[\n\r\f]\\s-*" string " " t)) + (unless hyperb:microsoft-os-p + (setq string (hpath:mswindows-to-posix string))) + (if list-positions-flag + (list string start end) + string)))))))) (defun hargs:get (interactive-entry &optional default prior-arg) "Prompts for an argument, if need be, from INTERACTIVE-ENTRY, a string. diff --git a/hmh.el b/hmh.el index 38ac5c9..919903b 100644 --- a/hmh.el +++ b/hmh.el @@ -1,4 +1,4 @@ -;;; hmh.el --- GNU Hyperbole buttons in mail reader: Mh +;;; hmh.el --- GNU Hyperbole buttons in mail reader: Mh ;; ;; Author: Bob Weiner ;; diff --git a/hmouse-drv.el b/hmouse-drv.el index eb21235..0000049 100644 --- a/hmouse-drv.el +++ b/hmouse-drv.el @@ -238,13 +238,8 @@ Any ARGS will be passed to `hmouse-function'." hkey-value nil)))) ;;; Smart Key Commands -(defun action-key () - "Use one key to perform functions that vary by context. -If no matching context is found, the default function set with -the `action-key-default-function' variable is run. Return t -unless the `action-key-default-function' variable is not bound to -a valid function." - (interactive) +(defun action-key-clear-variables () + "Clear all Action Key variables." ;; Clear all these variables so there can be no confusion between ;; mouse presses and keyboard presses. (setq action-key-depress-prev-point nil @@ -254,7 +249,29 @@ a valid function." action-key-release-position nil action-key-release-args nil action-key-release-window nil - action-key-release-prev-point nil) + action-key-release-prev-point nil)) + +(defun assist-key-clear-variables () + "Clear all Assist Key variables." + ;; Clear all these variables so there can be no confusion between + ;; mouse presses and keyboard presses. + (setq assist-key-depress-prev-point nil + assist-key-depress-position nil + assist-key-depress-args nil + assist-key-depress-window nil + assist-key-release-position nil + assist-key-release-args nil + assist-key-release-window nil + assist-key-release-prev-point nil)) + +(defun action-key () + "Use one key to perform functions that vary by context. +If no matching context is found, the default function set with +the `action-key-default-function' variable is run. Return t +unless the `action-key-default-function' variable is not bound to +a valid function." + (interactive) + (action-key-clear-variables) (prog1 (action-key-internal) (run-hooks 'action-key-depress-hook 'action-key-release-hook))) @@ -275,16 +292,7 @@ the `assist-key-default-function' variable is run. Return non-nil unless `assist-key-default-function' variable is not bound to a valid function." (interactive) - ;; Clear all these variables so there can be no confusion between - ;; mouse presses and keyboard presses. - (setq assist-key-depress-prev-point nil - assist-key-depress-position nil - assist-key-depress-args nil - assist-key-depress-window nil - assist-key-release-position nil - assist-key-release-args nil - assist-key-release-window nil - assist-key-release-prev-point nil) + (assist-key-clear-variables) (prog1 (assist-key-internal) (run-hooks 'assist-key-depress-hook 'assist-key-release-hook))) @@ -719,6 +727,10 @@ Return non-nil iff a non-nil predicate is found." With optional ASSIST-FLAG non-nil, display help for the Assist Key command. Return non-nil iff associated help documentation is found." (interactive "P") + (unless (or action-key-depressed-flag action-key-help-flag) + (action-key-clear-variables)) + (unless (or assist-key-depressed-flag assist-key-help-flag) + (assist-key-clear-variables)) (let ((hkey-forms hmouse-alist) hkey-form pred-value call calls cmd-sym doc) (while (and (null pred-value) (setq hkey-form (car hkey-forms))) diff --git a/hmouse-mod.el b/hmouse-mod.el index 0c3df2b..4417e2f 100644 --- a/hmouse-mod.el +++ b/hmouse-mod.el @@ -1,4 +1,4 @@ -;;; hmouse-mod.el --- Action Key acts as CONTROL modifier and Assist Key as META modifier. +;;; hmouse-mod.el --- Action Key acts as CONTROL modifier and Assist Key as META modifier. ;; ;; Author: Bob Weiner ;; diff --git a/hpath.el b/hpath.el index cd7d80a..ebc17b0 100644 --- a/hpath.el +++ b/hpath.el @@ -704,9 +704,9 @@ With optional INCLUDE-POSITIONS, returns a triplet list of (path start-pos end-pos) or nil." ;; Prevents MSWindows to Posix path substitution (let ((hyperb:microsoft-os-p t)) - (or (hargs:delimited "\"" "\"" nil nil include-positions) + (or (hargs:delimited "\"" "\"" nil nil include-positions "[`'’]") ;; Filenames in Info docs or Python files - (hargs:delimited "[`'‘]" "[`'’]" t t include-positions) + (hargs:delimited "[`'‘]" "[`'’]" t t include-positions "\"") ;; Filenames in TexInfo docs (hargs:delimited "@file{" "}" nil nil include-positions) ;; Any existing whitespace delimited filename at point. diff --git a/hsys-www.el b/hsys-www.el index c46b138..663a7c1 100644 --- a/hsys-www.el +++ b/hsys-www.el @@ -1,4 +1,4 @@ -;;; hsys-www.el --- GNU Hyperbole support for Emacs World-Wide Web (WWW) browsing +;;; hsys-www.el --- GNU Hyperbole support for Emacs World-Wide Web (WWW) browsing ;; ;; Author: Bob Weiner ;; diff --git a/htz.el b/htz.el index f467077..3341d6b 100644 --- a/htz.el +++ b/htz.el @@ -1,4 +1,4 @@ -;;; htz.el --- Timezone-based time and date support for GNU Hyperbole +;;; htz.el --- Timezone-based time and date support for GNU Hyperbole ;; ;; Author: Masanobu Umeda / Bob Weiner ;; diff --git a/hui-jmenu.el b/hui-jmenu.el index 5ff0543..59b4861 100644 --- a/hui-jmenu.el +++ b/hui-jmenu.el @@ -1,4 +1,4 @@ -;;; hui-jmenu.el --- Popup menus for jumping to and managing buffers, frames, and windows +;;; hui-jmenu.el --- Popup menus for jumping to and managing buffers, frames, and windows ;; ;; Author: Bob Weiner ;; diff --git a/hui-mouse.el b/hui-mouse.el index ae34581..8f4f94b 100644 --- a/hui-mouse.el +++ b/hui-mouse.el @@ -631,7 +631,7 @@ If assist-key is pressed: ;;; ************************************************************************ ;; These functions are called from hkey-alist when keyboard Smart Keys -;; are used but for mouse keys, they are bound to local keys in +;; are used. For mouse keys, they are bound to local keys in ;; company-mode's minor mode map. (defun smart-company-to-definition (event) diff --git a/hui-select.el b/hui-select.el index a12365e..895ad21 100644 --- a/hui-select.el +++ b/hui-select.el @@ -1,4 +1,4 @@ -;;; hui-select.el --- Select larger and larger syntax-driven regions in a buffer. +;;; hui-select.el --- Select larger and larger syntax-driven regions in a buffer. ;; ;; Author: Bob Weiner ;; diff --git a/hui-window.el b/hui-window.el index 26a94b0..703e490 100644 --- a/hui-window.el +++ b/hui-window.el @@ -173,7 +173,7 @@ drag release window.") ;;; Add window handling to hmouse-alist dispatch table. (defvar hmouse-alist) -(defun hui-window--register () +(defun hmouse-alist-add-window-handlers () (unless (assoc #'(hmouse-inactive-minibuffer-p) hmouse-alist) (setq hmouse-alist (append @@ -241,7 +241,7 @@ drag release window.") ;; ) hmouse-alist)))) -(with-eval-after-load 'hui-mouse (hui-window--register)) +(with-eval-after-load 'hui-mouse (hmouse-alist-add-window-handlers)) ;;; ************************************************************************ ;;; Public functions diff --git a/hui-xe-but.el b/hui-xe-but.el index 7e216ac..458a52a 100644 --- a/hui-xe-but.el +++ b/hui-xe-but.el @@ -1,4 +1,4 @@ -;;; hui-xe-but.el --- XEmacs button highlighting and flashing support +;;; hui-xe-but.el --- XEmacs button highlighting and flashing support ;; ;; Author: Bob Weiner ;; diff --git a/hui.el b/hui.el index 011e13a..f0d1d48 100644 --- a/hui.el +++ b/hui.el @@ -1,4 +1,4 @@ -;;; hui.el --- GNU Hyperbole button and hyperlink user interface +;;; hui.el --- GNU Hyperbole button and hyperlink user interface ;; ;; Author: Bob Weiner ;; diff --git a/hversion.el b/hversion.el index b883001..5329608 100644 --- a/hversion.el +++ b/hversion.el @@ -23,17 +23,17 @@ ;;; Public variables ;;; ************************************************************************ -(defconst hyperb:version "7.0.2b" "GNU Hyperbole revision number.") +(defconst hyperb:version "7.0.2c" "GNU Hyperbole revision number.") ;;;###autoload (defvar hyperb:microsoft-os-p (memq system-type '(ms-windows windows-nt ms-dos win32)) - "T iff Hyperbole is running under a Microsoft OS.") + "Non-nil iff Hyperbole is running under a Microsoft OS but not under Windows Subsystem for Linux (WSL). +Use `hyperb:wsl-os-p' to test if running under WSL.") ;;;###autoload (defvar hyperb:wsl-os-p - (and (memq system-type '(gnu/linux)) - (executable-find "wsl.exe")) + (and (eq system-type 'gnu/linux) (executable-find "wsl.exe") t) "T iff Hyperbole is running under Microsoft Windows Subsystem for Linux (WSL).") ;;;###autoload diff --git a/hvm.el b/hvm.el index 50417dd..8351d0e 100644 --- a/hvm.el +++ b/hvm.el @@ -1,4 +1,4 @@ -;;; hvm.el --- GNU Hyperbole buttons in mail reader: Vm +;;; hvm.el --- GNU Hyperbole buttons in mail reader: Vm ;; ;; Author: Bob Weiner ;; diff --git a/hyperbole-pkg.el b/hyperbole-pkg.el index 3a94cb7..5ca5087 100644 --- a/hyperbole-pkg.el +++ b/hyperbole-pkg.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t -*- -(define-package "hyperbole" "7.0.2b" "GNU Hyperbole: The Everyday Hypertextual Information Manager" +(define-package "hyperbole" "7.0.2c" "GNU Hyperbole: The Everyday Hypertextual Information Manager" '((emacs "24.4")) :url "http://www.gnu.org/software/hyperbole" :keywords '("comm" "convenience" "files" "frames" "hypermedia" "languages" diff --git a/hyperbole.el b/hyperbole.el index 4aa427d..dd431c4 100644 --- a/hyperbole.el +++ b/hyperbole.el @@ -6,7 +6,7 @@ ;; Maintainer: Bob Weiner and Mats Lidell ;; Created: 06-Oct-92 at 11:52:51 ;; Released: 21-Jan-19 -;; Version: 7.0.3 +;; Version: 7.0.2c ;; Keywords: comm, convenience, files, frames, hypermedia, languages, mail, matching, mouse, multimedia, outlines, tools, wp ;; Package: hyperbole ;; Package-Requires: ((emacs "24.4")) diff --git a/hyrolo-logic.el b/hyrolo-logic.el index e257df8..d532b6c 100644 --- a/hyrolo-logic.el +++ b/hyrolo-logic.el @@ -1,4 +1,4 @@ -;;; hyrolo-logic.el --- Logic functions for GNU Hyperbole Rolo files +;;; hyrolo-logic.el --- Logic functions for GNU Hyperbole Rolo files ;; ;; Author: Bob Weiner ;; diff --git a/kotl/kotl-autoloads.el b/kotl/kotl-autoloads.el index 3b33e73..bf3492d 100644 --- a/kotl/kotl-autoloads.el +++ b/kotl/kotl-autoloads.el @@ -5,7 +5,7 @@ ;;; Code: -;;;### (autoloads nil "kexport" "kexport.el" (23052 37373 0 0)) +;;;### (autoloads nil "kexport" "kexport.el" (0 0 0 0)) ;;; Generated autoloads from kexport.el (autoload 'kexport:html "kexport" "\ @@ -18,6 +18,8 @@ STILL TODO: \(fn EXPORT-FROM OUTPUT-TO &optional SOFT-NEWLINES-FLAG)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kexport" '("kexport:"))) + ;;;*** ;;;### (autoloads nil "kfile" "kfile.el" (22415 50714 78447 943000)) @@ -41,7 +43,14 @@ View an existing kotl version-2 file FILE-NAME in a read-only mode. ;;;*** -;;;### (autoloads nil "kimport" "kimport.el" (23051 38597 0 0)) +;;;### (autoloads nil "kfill" "kfill.el" (0 0 0 0)) +;;; Generated autoloads from kfill.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kfill" '("fill-paragraph" "kfill:" "prior-fill-prefix" "set-fill-prefix"))) + +;;;*** + +;;;### (autoloads nil "kimport" "kimport.el" (0 0 0 0)) ;;; Generated autoloads from kimport.el (defvar kimport:mode-alist '((t . kimport:text) (outline-mode . kimport:star-outline)) "\ @@ -126,6 +135,8 @@ The variable, `paragraph-start,' is used to determine paragraphs. \(fn IMPORT-FROM OUTPUT-TO &optional CHILDREN-P)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kimport" '("kimport:"))) + ;;;*** ;;;### (autoloads nil "klink" "klink.el" (22481 28335 0 0)) @@ -140,7 +151,14 @@ See documentation for `kcell:ref-to-id' for valid cell-ref formats. ;;;*** -;;;### (autoloads nil "kotl-mode" "kotl-mode.el" (22989 19633 0 0)) +;;;### (autoloads nil "kmenu" "kmenu.el" (0 0 0 0)) +;;; Generated autoloads from kmenu.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kmenu" '("id-" "kotl-"))) + +;;;*** + +;;;### (autoloads nil "kotl-mode" "kotl-mode.el" (0 0 0 0)) ;;; Generated autoloads from kotl-mode.el (autoload 'kotl-mode "kotl-mode" "\ @@ -189,11 +207,26 @@ Signal an error if current buffer is not a Hyperbole outline, else return t. \(fn)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kotl-mode" '("delete-selection-pre-hook" "kotl-mode" "yank-"))) + +;;;*** + +;;;### (autoloads nil "kview" "kview.el" (0 0 0 0)) +;;; Generated autoloads from kview.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kview" '("kcell-view:" "kview:"))) + +;;;*** + +;;;### (autoloads nil "kvspec" "kvspec.el" (0 0 0 0)) +;;; Generated autoloads from kvspec.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "kvspec" '("kvspec:"))) + ;;;*** -;;;### (autoloads nil nil ("kcell.el" "kfill.el" "klabel.el" "kmenu.el" -;;;;;; "knode.el" "kprop-em.el" "kprop-xe.el" "kproperty.el" "kview.el" -;;;;;; "kvspec.el") (22989 23220 0 0)) +;;;### (autoloads nil nil ("kcell.el" "klabel.el" "knode.el" "kprop-em.el" +;;;;;; "kprop-xe.el" "kproperty.el") (0 0 0 0)) ;;;*** diff --git a/man/hkey-help.txt b/man/hkey-help.txt index 2ba4cad..492d75c 100644 --- a/man/hkey-help.txt +++ b/man/hkey-help.txt @@ -73,6 +73,8 @@ Mouse-only Control Hyperbole Key Press/Click in Special Modes Region Active Yanks region at release Kills and yanks at release + Company Mode Completion Displays definition Displays documentation + Treemacs Displays item Display item Emacs Push Button Activates button Button help Thing Begin or End Mark thing region Mark & kill thing region Page Directory Listing Jumps to page <- same diff --git a/man/hyperbole.html b/man/hyperbole.html index 44b27b4..9ea74f5 100644 --- a/man/hyperbole.html +++ b/man/hyperbole.html @@ -1,7 +1,7 @@