[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole cc0493a 14/20: * hactypes.el (link-to-web-sea
From: |
Robert Weiner |
Subject: |
[elpa] externals/hyperbole cc0493a 14/20: * hactypes.el (link-to-web-search): Added so Hyperbole global and explicit buttons can execute web searches. |
Date: |
Tue, 9 Aug 2016 19:17:08 +0000 (UTC) |
branch: externals/hyperbole
commit cc0493ac37c3084835bf87a948fee916b6b64f56
Author: Bob Weiner <address@hidden>
Commit: Bob Weiner <address@hidden>
* hactypes.el (link-to-web-search): Added so Hyperbole global and explicit
buttons can execute web searches.
hsettings.el (hyperbole-read-web-search-arguments): Added and used in
hyperbole-web-search and link-to-web-search.
DEMO (Sample Explicit Buttons and Types):
man/hyperbole.texi (Action Types): Documented link-to-web-search.
* INSTALL, README, README.md, README.md.html: Added Browsing the Source
section with ftp tarball download information.
* hpath.el (hpath:delimited-possible-path): Added non-ascii quote
characters to possible delimiters.
(hpath:delete-trailer): Added quoting characters to deletion to
fix bug where remote pathname retrieval
would include a trailing quote mark.
* hargs.el (hargs:delimited): Added support for up to 2-line delimited
regions as long as point is on the first line.
Normalized any newline followed by whitespace to a single space in the
string returned.
Added (require 'hypb).
---
.hypb | Bin 2548 -> 2681 bytes
Changes | 15 +++++++
DEMO | 9 ++--
HY-ABOUT | 2 +-
HY-ANNOUNCE | 118 ++++++++++++++++++++++++++++++++++++++++++++++++----
HY-NEWS | 13 +++++-
HY-WHY.kotl | 34 ++++++++-------
INSTALL | 15 +++++++
Makefile | 2 +-
README.md | 15 ++++++-
README.md.html | 14 +++++++
hactypes.el | 10 ++++-
hargs.el | 13 +++---
hpath.el | 6 +--
hsettings.el | 32 +++++++-------
hversion.el | 2 +-
hyperbole.el | 4 +-
man/hyperbole.texi | 14 +++++--
man/version.texi | 2 +-
19 files changed, 260 insertions(+), 60 deletions(-)
diff --git a/.hypb b/.hypb
index 3d0e2d6..d5ddee3 100644
Binary files a/.hypb and b/.hypb differ
diff --git a/Changes b/Changes
index 3576069..7f9bb15 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,21 @@
2016-08-08 Bob Weiner <address@hidden>
+* hactypes.el (link-to-web-search): Added so Hyperbole global and explicit
buttons can execute web searches.
+ hsettings.el (hyperbole-read-web-search-arguments): Added and used in
hyperbole-web-search and link-to-web-search.
+ DEMO (Sample Explicit Buttons and Types):
+ man/hyperbole.texi (Action Types): Documented link-to-web-search.
+
+* INSTALL, README, README.md, README.md.html: Added Browsing the Source
section with ftp tarball download information.
+
+* hpath.el (hpath:delimited-possible-path): Added non-ascii quote characters
to possible delimiters.
+ (hpath:delete-trailer): Added quoting characters to deletion to fix
bug where remote pathname retrieval
+ would include a trailing quote mark.
+
+* hargs.el (hargs:delimited): Added support for up to 2-line delimited regions
as long as point is on the first line.
+ Normalized any newline followed by whitespace to a single space in the
string returned.
+ Added (require 'hypb).
+
* hys-org.el (defib org-mode, org-mode:help): Ensured trigger only in org-mode
and simplified logic.
(org-heading-at-p): Deleted and used org-at-heading-p instead.
diff --git a/DEMO b/DEMO
index db564aa..e7d4b3f 100644
--- a/DEMO
+++ b/DEMO
@@ -374,8 +374,8 @@ files and directories, then remote pathnames of the form:
will be recognized by Hyperbole.
Once you have Tramp configured for loading and are on the Internet, you can
-click on any of the following to browse the contents of the Hyperbole
-distribution:
+click on any of the following to jump to the ftp site of Hyperbole tarball
+distributions:
"/address@hidden:/pub/gnu/hyperbole/"
ftp.gnu.org:/pub/gnu/hyperbole/
@@ -677,7 +677,7 @@ remember a Hyperbole term? Check out the Hyperbole Manual
<(glossary)>.
Here is a <(keyboard macro)> button. It displays documentation for the
first Emacs Lisp function that follows it, e.g. (hbut:report). You can see
-that a button label can consist of a number of words, up to a set <(maximum
+that a button label may consist of many characters, up to a set <(maximum
length)>.
A <(shell command)> button can do many things, such as display the length of
@@ -695,6 +695,9 @@ advantage of this feature. Note how a separate window is
used when you
activate file link buttons. Most basic Hyperbole action types display their
results in this manner.
+You can create buttons that run specific web searches such as a Wikipedia
+query on an <(electric car)> with the `link-to-web-search' action type.
+
You can make a button an alias for another by using the `link-to-ebut'
action type. This <(factorial alias)> button does whatever the earlier
<(factorial)> button does.
diff --git a/HY-ABOUT b/HY-ABOUT
index 7eb38da..00cd435 100644
--- a/HY-ABOUT
+++ b/HY-ABOUT
@@ -1,7 +1,7 @@
ABOUT GNU HYPERBOLE
Designed and Written by Bob Weiner
https://www.gnu.org/software/hyperbole/
- Version 6.0.1
+ Version 6.0.2
GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is
an efficient and programmable hypertextual information management
diff --git a/HY-ANNOUNCE b/HY-ANNOUNCE
index ef6baa4..b3a88bb 100644
--- a/HY-ANNOUNCE
+++ b/HY-ANNOUNCE
@@ -1,8 +1,8 @@
- ANNOUNCE: GNU Hyperbole 6.0.1 for Emacs 24.4 to 25 is released
+ ANNOUNCE: GNU Hyperbole 6.0.2 for Emacs 24.4 to 25 is released
GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an
amazing programmable hypertextual information management system implemented as
-a GNU Emacs package. This is the first public release in 2016. Hyperbole has
+a GNU Emacs package. This is the second public release in 2016. Hyperbole has
been greatly expanded and modernized for use with the latest Emacs 25
releases; it supports GNU Emacs 24.4 or above. It contains an extensive set
of improvements that can greatly boost your day-to-day productivity with Emacs
@@ -96,6 +96,21 @@ The GNU Hyperbole project home page gives a more extensive
description:
"https://www.gnu.org/software/hyperbole/".
===========================================================================
+* Browsing the Source
+===========================================================================
+
+To explore the Hyperbole source code rather than installing it for use,
+download a tar.gz source archive from either:
+
+ ftp://ftp.gnu.org/gnu/hyperbole/
+
+or
+
+ http://ftpmirror.gnu.org/hyperbole/
+
+which will find the closest mirror of the GNU ftp site and show it to you.
+
+===========================================================================
* Package Installation
===========================================================================
@@ -338,19 +353,106 @@ wherever the Hyperbole package directory is on your
system; often this is:
-- Craig Smith
===========================================================================
-* What's New in GNU Hyperbole
+* What's New in GNU Hyperbole V6.0.2
===========================================================================
-NOTE: Version 6.0.1 is the first public release by the author, Bob Weiner,
-since version 4.18. All version 5 releases made this year were test releases,
-so you should look through all of the V5 news items to understand all that is
-new in V6 as well. In other words, all news items listed below are new for
-2016.
+ BUTTONS
+
+ - pathname Implicit Button Type: generalized to handle hash-style links to
+ HTML files, to Github Markdown # sections and to Emacs outline *
+ sections. So an Action Key press on any of the following links displays
+ the link referent:
+ "man/hyperbole.html#Questions-and-Answers"
+ "README.md#why-was-hyperbole-developed"
+ "DEMO#HTML Markdown and Emacs Outline Hash Links"
+ Even links split across 2 lines like this now work: "DEMO#Social Media
+ Hashtags and Usernames", as long as point is on the first line.
+
+ Within HTML and Markdown files, in-file hash links without any file name
+ prefix work as well.
+
+ HTML hash-links are case-sensitive; other hash-links are not. Hash links
+ typically use dashes in place of the spaces that referents may contain,
+ but if the link is enclosed in quotes, Hyperbole allows spaces to be used
+ as well. In fact, it is best practice to always enclose hash-style links
+ in quotes so Hyperbole can distinguish them from other similar looking
+ constructs, such as social media hashtags (see "(hyperbole)Social
Media").
+
+ Pathnames surrounded by literal non-ASCII quote marks now work as well.
+ For example, ‘http://ftp.gnu.org/gnu/hyperbole/’.
+
+ - New Implicit Button Type, markdown-internal-link, displays any in-file
+ Markdown link referent, aside from pathnames and urls. Together with
+ other types, all Markdown links can now be followed by the Action Key.
+
+ - social-reference Implicit Button Type: Disabled this type within quoted
+ strings (all modes) and within parentheses (markdown-mode), so in-file
+ hash link references are not matched as social hash tags. Made the list
+ of modes a variable, hibtypes-social-inhibit-modes.
+
+ - New link-to-web-search Action Type: Allows global and explicit buttons
+ to link to specific web term searches from `hyperbole-web-search-alist'.
+
+ - org-mode Implicit Button Type: Improved to invoke org-meta-return when
+ not on an Org link or outline heading.
+
+ DOCUMENTATION
+
+ - Added pointer to HyControl video and {C-c \} binding which invokes
+ HyControl window control.
+
+ - README File: New Org-mode user testimonial.
+
+ - DEMO File: Added description and exercise using the new Find/Web menu.
+
+ - Added README.md.html introduction with images combining README, INSTALL
+ and HY-ABOUT information.
+
+ - Full set of hand-written changes are now in the file "Changes". The
+ former name, ChangeLog, is now auto-generated from the version controlled
+ 'git log' but not as complete.
+
+ KEYS
+
+ - New variables, action-key-eol-function and assist-key-eol-function, used
+ to control what the Action and Assist Keys do at the end of a line.
+ Default behaviors remain as before but now one can set these to do
+ something other than scrolling, if desired. See "(hyperbole)Smart Key -
+ Smart Scrolling"
+
+ - When in HyControl, pressing {ESC} now quits in addition to {q}.
+
+ MENUS
+
+ - New submenu, Find/Web, for quick access to major web search engines.
+ The Find/Web menu looks like this:
+ Web> Amazon Bing Dictionary Elisp Facebook Google Hub(git) Images Maps
RFCs StackOverflow Twitter Wikipedia Youtube
+
+ Hyperbole binds the key {C-c /} for quick access to this menu, if it is
+ not already bound prior to Hyperbole's initialization. The
+ Cust/Web-Search menu, {C-h h c w}, sets the option,
+ hyperbole-web-search-browser-function, which determines whether web
+ search results are displayed within Emacs or with an external web
+ browser. A short video introduction to the Find/Web menu may be found at
+ https://youtu.be/8lMlJed0-OM.
+
+ Advanced users can change the search engines listed in the Find/Web menu
+ with M-x customize-variable RET hyperbole-web-search-alist RET. Changes
+ are automatically reflected in the Hyperbole menus once applied.
+ Remember each search engine name must begin with a unique letter and each
+ URL must have a %s format field indicating where to place the web search
+ term when a search is performed. See "(hyperbole)Web Search Engines".
===========================================================================
* V6.0.0 - V6.0.1
===========================================================================
+NOTE: Version 6.0.1 was the first public release by the author, Bob Weiner,
+since version 4.18. All version 5 releases made this year were test releases,
+so you should look through all of the V5 news items to understand all that is
+new in V6 as well. In other words, all news items listed below are new for
+2016.
+
BUTTONS
- New implicit button type for social media hashtag or username
diff --git a/HY-NEWS b/HY-NEWS
index ec5b863..e9ad7ce 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -11,11 +11,14 @@
- pathname Implicit Button Type: generalized to handle hash-style links to
HTML files, to Github Markdown # sections and to Emacs outline *
- sections. So an Action Key on any of the following links displays the
- link referent:
+ sections. So an Action Key press on any of the following links displays
+ the link referent:
"man/hyperbole.html#Questions-and-Answers"
"README.md#why-was-hyperbole-developed"
"DEMO#HTML Markdown and Emacs Outline Hash Links"
+ Even links split across 2 lines like this now work: "DEMO#Social Media
+ Hashtags and Usernames", as long as point is on the first line.
+
Within HTML and Markdown files, in-file hash links without any file name
prefix work as well.
@@ -26,6 +29,9 @@
in quotes so Hyperbole can distinguish them from other similar looking
constructs, such as social media hashtags (see "(hyperbole)Social
Media").
+ Pathnames surrounded by literal non-ASCII quote marks now work as well.
+ For example, ‘http://ftp.gnu.org/gnu/hyperbole/’.
+
- New Implicit Button Type, markdown-internal-link, displays any in-file
Markdown link referent, aside from pathnames and urls. Together with
other types, all Markdown links can now be followed by the Action Key.
@@ -35,6 +41,9 @@
hash link references are not matched as social hash tags. Made the list
of modes a variable, hibtypes-social-inhibit-modes.
+ - New link-to-web-search Action Type: Allows global and explicit buttons
+ to link to specific web term searches from `hyperbole-web-search-alist'.
+
- org-mode Implicit Button Type: Improved to invoke org-meta-return when
not on an Org link or outline heading.
diff --git a/HY-WHY.kotl b/HY-WHY.kotl
index 3bdf057..6f3f0d0 100644
--- a/HY-WHY.kotl
+++ b/HY-WHY.kotl
@@ -4,13 +4,17 @@
1. Create a library of documents, link them on-the-fly and retrieve
any one at the touch of a button containing its short id.
- 2. Display and edit local or remote files and directories simply by
+ 2. Utilize a single key to follow URLs with section links, Markdown
+ links, Emacs outline heading links, Org mode links, file and
+ directory links and program identifier references.
+
+ 3. Display and edit local or remote files and directories simply by
pressing on their names. Hyperbole will automatically embed
certain key variables in link pathnames so that as these links
are moved from site to site and the variable values change at
each site, the links automatically maintain proper linkages.
- 3. Full-text search for any contact-related information across
+ 4. Full-text search for any contact-related information across
thousands of contacts in under a second. The fastest contact
manager you have ever used, with hierarchical entries so you can
easily find everyone on a particular team or within an
@@ -18,42 +22,42 @@
while still seeing name, phone number and email information.
Edit entries with a single key press.
- 4. Hyperbole has some radically cool ways to select regions of
+ 5. Hyperbole has some radically cool ways to select regions of
structured text or source code and to copy or move them between
buffers with a single mouse drag or two key presses. These
selectable things include: delimited pairs of (), @address@hidden, <>, []
and quote marks, source code functions, source code comments and
matching tag pairs in HTML and SGML modes.
- 5. Use the fantastic, auto-numbered Koutliner with per-item links
+ 6. Use the fantastic, auto-numbered Koutliner with per-item links
and rapidly changeable views.
- 6. Rapid control over what is displayed where in multiple windows
- and frames with Hyperbole' HyControl module.
+ 7. Rapid control over what is displayed where in multiple windows
+ and frames with the Hyperbole HyControl system.
- 6a. Use a quick mouse key press to scroll any window line to the
+ 7a. Use a quick mouse key press to scroll any window line to the
top or bottom of a window, to see exactly what you want on
screen.
- 6b. For each frame, store a series of window configurations
+ 7b. For each frame, store a series of window configurations
(layouts) that each allow for working with a set of specific
buffers, rapidly moving among them.
- 6c. Easily adjust the height and width of windows as needed.
+ 7c. Easily adjust the height and width of windows as needed.
- 6d. Quick clicks on different areas of a buffer's modeline will
+ 7d. Quick clicks on different areas of a buffer's modeline will
rotate through your working list of buffers, changing what
each window displays. A popup menu gives you quick access to
Hyperbole commands plus frame, window and buffer selection
and management commands. GNU documentation manuals may be
shown and navigated with a single mouse key.
- 6e. A single mouse drag swaps what is displayed in each of two
+ 7e. A single mouse drag swaps what is displayed in each of two
windows, even across frames.
"ben" ;; kvspec:current
-16 ;; id-counter
+18 ;; id-counter
alpha ;; label-type
4 ;; label-min-width
". " ;; label-separator
@@ -61,9 +65,11 @@ alpha ;; label-type
;; depth-first kcell attributes
[[0
- (creator "address@hidden" create-time "20160613:15:02:38" id-counter 16 file
"/Users/bk/sw-dev/emacs/hyperbole-5.12/HY-WHY.kotl")]
+ (creator nil create-time "20160806:03:21:53" id-counter 18 file
"/Users/bk/sw-dev/emacs/hyperbole-6.0.1/HY-WHY.kotl")]
[1
(creator "address@hidden" create-time "20160524:15:04:17" no-fill t)]
+ [17
+ (creator "address@hidden" create-time "20160809:03:31:21" no-fill t)]
[2
(creator "address@hidden" create-time "20160524:15:04:24" no-fill t)]
[9
@@ -84,4 +90,4 @@ alpha ;; label-type
(creator "address@hidden" create-time "20160530:15:10:41" no-fill t)]
[12
(creator "address@hidden" create-time "20160530:15:14:46" no-fill t)]
- nil nil nil nil nil]
+ nil nil nil nil nil nil]
diff --git a/INSTALL b/INSTALL
index 3d316c9..47c2e9e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -12,6 +12,21 @@
# This file is part of GNU Hyperbole.
===========================================================================
+* Browsing the Source
+===========================================================================
+
+To explore the Hyperbole source code rather than installing it for use,
+download a tar.gz source archive from either:
+
+ ftp://ftp.gnu.org/gnu/hyperbole/
+
+or
+
+ http://ftpmirror.gnu.org/hyperbole/
+
+which will find the closest mirror of the GNU ftp site and show it to you.
+
+===========================================================================
* Installation
===========================================================================
diff --git a/Makefile b/Makefile
index ef5b751..a668fed 100644
--- a/Makefile
+++ b/Makefile
@@ -52,7 +52,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 = 6.0.1
+HYPB_VERSION = 6.0.2
# 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 19076b2..fd705ce 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# GNU Hyperbole - Version 6.0.1
+# GNU Hyperbole - Version 6.0.2
<!-- START doctoc generated TOC -->
**Table of Contents**
@@ -39,6 +39,19 @@ explains the many ways it differs from and is complementary
to Org mode.
![Hyperbole screenshot of the Koutliner, DEMO file and
HyRolo](man/im/hyperbole-cv.png)
+## Browsing the Source
+
+To explore the Hyperbole source code rather than installing it for use,
+download a tar.gz source archive from either:
+
+ - <ftp://ftp.gnu.org/gnu/hyperbole/>
+
+or
+
+ - <http://ftpmirror.gnu.org/hyperbole/>
+
+which will find the closest mirror of the GNU ftp site and show it to you.
+
## Installation
Once you have Emacs set up at your site, GNU Hyperbole may be
diff --git a/README.md.html b/README.md.html
index 65f8e48..d182443 100644
--- a/README.md.html
+++ b/README.md.html
@@ -451,6 +451,7 @@ pre[class*="language-"] {
<ul>
<li><a href="#summary">Summary</a></li>
+<li><a href="#browsing-the-source">Browsing the Source</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#invocation">Invocation</a></li>
<li><a href="#details">Details</a></li>
@@ -487,6 +488,19 @@ explains the many ways it differs from and is
complementary to Org mode.</p>
<p><img src="man/im/hyperbole-cv.png" alt="Hyperbole screenshot of the
Koutliner, DEMO file and HyRolo"></p>
+<h2 id="browsing-the-source">Browsing the Source</h2>
+
+<p>To explore the Hyperbole source code rather than installing it for use,
+ download a tar.gz source archive from either:</p>
+
+<ul><li><a
href="ftp://ftp.gnu.org/gnu/hyperbole/">ftp://ftp.gnu.org/gnu/hyperbole/</a></li></ul>
+
+<p>or</p>
+
+<ul><li><a
href="http://ftpmirror.gnu.org/hyperbole/">http://ftpmirror.gnu.org/hyperbole/</a></li></ul>
+
+<p>which will find the closest mirror of the GNU ftp site and show it to
you.</p>
+
<h2 id="installation">Installation</h2>
<p>Once you have Emacs set up at your site, GNU Hyperbole may be
diff --git a/hactypes.el b/hactypes.el
index af1a7b7..29cf6a7 100644
--- a/hactypes.el
+++ b/hactypes.el
@@ -16,7 +16,7 @@
;;; ************************************************************************
(eval-and-compile (mapc #'require '(hbut hpath hargs hmail)))
-(eval-when-compile (require 'comint))
+(eval-when-compile (mapc #'require '(comint hsettings)))
;;; ************************************************************************
;;; Standard Hyperbole action types
@@ -454,6 +454,14 @@ Returns t if found, nil if not."
nodename)))
(hact 'link-to-file buffer-file-name node-point)))
+(defact link-to-web-search (service-name search-term)
+ "Searches web SERVICE-NAME for SEARCH-TERM.
+Uses `hyperbole-web-search-alist' to match each service to its search url.
+Uses `hyperbole-web-search-browser-function' and the `browse-url'
+package to display search results."
+ (interactive (hyperbole-read-web-search-arguments))
+ (hyperbole-web-search service-name search-term))
+
(defact man-show (topic)
"Displays man page on TOPIC, which may be of the form <command>(<section>).
If using the Superman manual entry package, see the documentation for
diff --git a/hargs.el b/hargs.el
index 0aad223..61d0415 100644
--- a/hargs.el
+++ b/hargs.el
@@ -26,6 +26,7 @@
;;; ************************************************************************
(require 'hpath)
+(require 'hypb)
(require 'set)
;;; ************************************************************************
@@ -91,7 +92,7 @@ interactive form or takes no arguments."
(defun hargs:delimited (start-delim end-delim
&optional start-regexp-flag end-regexp-flag
list-positions-flag)
- "Returns a single line, delimited string that point is within, or nil.
+ "Returns a normalized, single line, delimited string that point is within,
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.
@@ -115,7 +116,8 @@ With optional LIST-POSITIONS-FLAG, return list of
(string-matched start-pos end
(funcall end-search-func end-delim opoint t))
(setq start nil))
(when start
- (end-of-line) (setq limit (1+ (point)))
+ (forward-line 2)
+ (setq limit (point))
(goto-char opoint)
(and (funcall end-search-func end-delim limit t)
(setq end (match-beginning 0))
@@ -126,9 +128,10 @@ With optional LIST-POSITIONS-FLAG, return list of
(string-matched start-pos end
(setq end (1- end))
t)
(< start end)
- (if list-positions-flag
- (list (buffer-substring start end) start end)
- (buffer-substring start end)))))))
+ (let ((string (hypb:replace-match-string "[\n\r]\\s-*"
(buffer-substring start end) " " t)))
+ (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/hpath.el b/hpath.el
index 609da6e..695a079 100644
--- a/hpath.el
+++ b/hpath.el
@@ -494,7 +494,7 @@ double quotes, open and close single quote, whitespace, or
Texinfo file referenc
With optional NON-EXIST, nonexistent local paths are allowed. Absolute
pathnames must begin with a `/' or `~'."
(or (hargs:delimited "\"" "\"")
;; Filenames in Info docs or Python files
- (hargs:delimited "[\`\']" "\'" t)
+ (hargs:delimited "[`'‘]" "[`'’]" t t)
;; Filenames in TexInfo docs
(hargs:delimited "@file{" "}")
;; Any existing whitespace delimited filename at point.
@@ -1217,10 +1217,10 @@ Returns \"anonymous\" if no default user is set."
(t "anonymous")))
(defun hpath:delete-trailer (string)
- "Return string minus any trailing .?#!*() characters."
+ "Return string minus any trailing .?#!*() or quoting characters."
(save-match-data
(if (and (stringp string) (> (length string) 0)
- (string-match "[.?#!*()]+\\'" string))
+ (string-match "[.?#!*()`'\"]+\\'" string))
(substring string 0 (match-beginning 0))
string)))
diff --git a/hsettings.el b/hsettings.el
index e5bfa79..37a26cc 100644
--- a/hsettings.el
+++ b/hsettings.el
@@ -107,6 +107,16 @@ down a windowful."
(hyperbole-menubar-menu)
(hyperbole-minibuffer-menu))
+(defun hyperbole-read-web-search-arguments (&optional service-name search-term)
+ "Read from the keyboard a list of (web-search-service-string
search-term-string) if not given as arguments."
+ (let ((completion-ignore-case t))
+ (while (or (not (stringp service-name)) (equal service-name ""))
+ (setq service-name (completing-read "Search service: "
hyperbole-web-search-alist
+ nil t)))
+ (while (or (not (stringp search-term)) (equal search-term ""))
+ (setq search-term (read-string (format "Search %s for: " service-name))))
+ (list service-name search-term)))
+
(defun hyperbole-web-search (&optional service-name search-term)
"Search web SERVICE-NAME for SEARCH-TERM.
Both arguments are optional and are prompted for when not given or when null.
@@ -114,20 +124,14 @@ Uses `hyperbole-web-search-alist' to match each service
to its search url.
Uses `hyperbole-web-search-browser-function' and the `browse-url'
package to display search results."
(interactive)
- (let ((completion-ignore-case t))
- (while (or (not (stringp service-name)) (equal service-name ""))
- (setq service-name (completing-read "Search service: "
hyperbole-web-search-alist
- nil t))))
- (while (or (not (stringp search-term)) (equal search-term ""))
- (setq search-term (read-string (format "Search %s for: " service-name))))
- (if (assoc service-name hyperbole-web-search-alist)
- (let ((browse-url-browser-function
- hyperbole-web-search-browser-function))
- (browse-url
- (format (cdr (assoc service-name hyperbole-web-search-alist))
- search-term)))
- (user-error "(Hyperbole): Invalid web search service `%s' or search term
`%s'"
- service-name search-term)))
+ (cl-multiple-value-bind (service-name search-term)
+ (hyperbole-read-web-search-arguments service-name search-term)
+ (if (assoc service-name hyperbole-web-search-alist)
+ (let ((browse-url-browser-function
+ hyperbole-web-search-browser-function))
+ (browse-url (format (cdr (assoc service-name
hyperbole-web-search-alist))
+ search-term)))
+ (user-error "(Hyperbole): Invalid web search service `%s'"
service-name))))
(defcustom hyperbole-web-search-browser-function browse-url-browser-function
"*Function of one url argument called by any Hyperbole Find/Web search."
diff --git a/hversion.el b/hversion.el
index 949d252..7242de6 100644
--- a/hversion.el
+++ b/hversion.el
@@ -23,7 +23,7 @@
;;; Public variables
;;; ************************************************************************
-(defconst hyperb:version "6.0.1" "GNU Hyperbole revision number.")
+(defconst hyperb:version "6.0.2" "GNU Hyperbole revision number.")
;;;###autoload
(defvar hyperb:microcruft-os-p
diff --git a/hyperbole.el b/hyperbole.el
index a3d4fab..7a952ca 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -6,8 +6,8 @@
;; Maintainer: Bob Weiner <address@hidden>
;; Mats Lidell <address@hidden>
;; Created: 06-Oct-92 at 11:52:51
-;; Released: 27-Jul-16
-;; Version: 6.0.1
+;; Released: 09-Aug-16
+;; Version: 6.0.2
;; Keywords: comm, convenience, files, frames, hypermedia, languages,
mail, matching, mouse, multimedia, outlines, tools, wp
;; Package: hyperbole
;; Package-Requires: ((emacs "24.4"))
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 15dd09a..c615436 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -152,7 +152,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
<PRE>
Edition 6.0.2
-Printed August 8, 2016.
+Printed August 9, 2016.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -176,7 +176,7 @@ Printed August 8, 2016.
@center The Everyday Hypertextual Information Manager
address@hidden Edition 6.0.2, August 8, 2016.
address@hidden Edition 6.0.2, August 9, 2016.
@sp 2
@noindent
@@ -443,7 +443,7 @@ Smart Keyboard Keys
@chapter Introduction
This edition of the GNU Hyperbole Manual is for use with any version
-6.01 or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 24.3
+6.0.2 or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 24.3
or higher. It will trigger an error if your Emacs is older.
This chapter summarizes the structure of the rest of the manual,
@@ -1566,6 +1566,14 @@ Returns @samp{t} if found, @samp{nil} if not.
@item link-to-texinfo-node
Displays the Texinfo node with NODENAME (a string) from the current buffer.
address@hidden actypes link-to-web-search
address@hidden link, web search
address@hidden web search link
address@hidden link-to-web-search
+Searches web SERVICE-NAME for SEARCH-TERM. Uses
@code{hyperbole-web-search-alist}
+to match each service to its search url. Uses
@code{hyperbole-web-search-browser-function}
+and the @code{browse-url} package to display search results.
+
@findex actypes man-show
@vindex sm-notify
@item man-show
diff --git a/man/version.texi b/man/version.texi
index 770e7c8..c78c2a1 100644
--- a/man/version.texi
+++ b/man/version.texi
@@ -1,4 +1,4 @@
address@hidden UPDATED August 8, 2016
address@hidden UPDATED August 9, 2016
@set UPDATED-MONTH AUG 2016
@set EDITION 6.0.2
@set VERSION 6.0.2
- [elpa] externals/hyperbole 7e1675e 05/20: * README.md: Added menu images and screenshots for easy access., (continued)
- [elpa] externals/hyperbole 7e1675e 05/20: * README.md: Added menu images and screenshots for easy access., Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 275331f 16/20: Updated package, release and elpa targets., Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 390a976 01/20: * hload-path.el (hyperb:dir): If the Emacs Package Manager has already added this, Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole df14034 20/20: Merge branch 'master' of http://git.savannah.gnu.org/r/hyperbole into externals/hyperbole, Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 12651d8 19/20: Upcased mistyped HYPB_VERSION in release target., Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole ad7a089 13/20: * hys-org.el (defib org-mode, org-mode:help): Ensured trigger only in org-mode and simplified logic., Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 77a075f 07/20: * README.md.html - Added., Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 71b8e73 08/20: 2016-08-05 Bob Weiner <address@hidden>, Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 62547e0 12/20: * hmouse-tag.el (smart-asm-include-file, smart-c-include-file): Simplified conditionals a bit., Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole 72833c9 15/20: Merge branch 'master' V6.0.2 of http://git.savannah.gnu.org/r/hyperbole into externals/hyperbole, Robert Weiner, 2016/08/09
- [elpa] externals/hyperbole cc0493a 14/20: * hactypes.el (link-to-web-search): Added so Hyperbole global and explicit buttons can execute web searches.,
Robert Weiner <=
- [elpa] externals/hyperbole 1f27deb 09/20: * hibtypes.el (annot-bib): Added markdown-mode to the excluded list to avoid conflict with its links., Robert Weiner, 2016/08/09