Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								5fd2ae8981 
								
							 
						 
						
							
							
								
								'main': Add TODO.  
							
							 
							
							
							
						 
						
							2020-03-19 05:46:28 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								c27470a08d 
								
							 
						 
						
							
							
								
								'main': Let aliases be type-cached, and don't run type-checking twice (with slightly different settings) if path expansion returned the input unchanged.  
							
							 
							
							... 
							
							
							
							In particular, note that applying all but the last hunk of this diff
would cause «time» in command position to be highlighted as «command»
rather than «reserved».  (This is covered by tests.) 
							
						 
						
							2020-03-19 05:46:28 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								39977391de 
								
							 
						 
						
							
							
								
								'main': Highlight escaped reserved words properly.  Fixes   #701 .  
							
							 
							
							
							
						 
						
							2020-03-19 05:46:28 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								f284041305 
								
							 
						 
						
							
							
								
								'main': Check cheaper conditions first.  
							
							 
							
							
							
						 
						
							2020-03-19 05:46:25 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								08839bbd87 
								
							 
						 
						
							
							
								
								'main': Let the type determination ignore global aliases when it ignores regular ones.  
							
							 
							
							
							
						 
						
							2020-03-19 05:28:17 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								cfef4f3ae0 
								
							 
						 
						
							
							
								
								'main': Enable the zsh/parameter codepath of global aliases highlighting.  
							
							 
							
							
							
						 
						
							2020-03-19 05:13:46 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3c5f63d959 
								
							 
						 
						
							
							
								
								'main': Highlight global aliases  
							
							 
							
							
							
						 
						
							2020-03-19 05:05:37 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								fdf23e06c7 
								
							 
						 
						
							
							
								
								'main': Support the "close file descriptor" and "coproc" redirection syntaxes  
							
							 
							
							... 
							
							
							
							Part of issue #645 . 
							
						 
						
							2020-03-19 03:15:37 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								0f627fdf60 
								
							 
						 
						
							
							
								
								Merge remote-tracking branch 'danielsh/whitespace-historical'  
							
							 
							
							... 
							
							
							
							* danielsh/whitespace-historical:
  Fix historical instances of one-space indentation. 
							
						 
						
							2020-03-17 17:08:06 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								e165f18c75 
								
							 
						 
						
							
							
								
								'main': Fix a bug manifesting under zsh 5.2 and older.  
							
							 
							
							... 
							
							
							
							The escaped caret was taken for a negated character class.  This caused test-data/arith1.zsh
to XPass: the arithmetic expansion was consumed by the 'while' loop. 
							
						 
						
							2020-03-17 16:13:32 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								d237a60c9b 
								
							 
						 
						
							
							
								
								'main': Don't highlight arithmetic expansions as command substitutions.  
							
							 
							
							... 
							
							
							
							This is not perfect: we don't try to detect cases such as «$((ls); (ls))»,
which look like arithmetic expansions but are in fact command substitutions.
Fixes part of #607 .
Introduces #704 . 
							
						 
						
							2020-03-17 15:05:32 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								e79ce6afd0 
								
							 
						 
						
							
							
								
								'main': Document additional meanings of the 'S' $braces_stack flag.  
							
							 
							
							
							
						 
						
							2020-03-17 14:12:00 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								fb69f4ca81 
								
							 
						 
						
							
							
								
								'main': When the redirection operator '>&' or '<&' is followed by a positive integer, do not consider that as a filename; it's always a file descriptor.  
							
							 
							
							... 
							
							
							
							Fixes  #694 . 
							
						 
						
							2020-03-17 04:00:43 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								1024ae8177 
								
							 
						 
						
							
							
								
								'main': Add $last_arg for "lookbehind".  
							
							 
							
							
							
						 
						
							2020-03-17 03:58:15 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								5720d87052 
								
							 
						 
						
							
							
								
								noop: Clarify comment.  
							
							 
							
							
							
						 
						
							2020-03-17 03:48:40 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								2339ee33b9 
								
							 
						 
						
							
							
								
								'main': Honour the MULTIOS option when applying the 'globbing' style.  
							
							 
							
							... 
							
							
							
							Fixes  #583 . 
							
						 
						
							2020-03-17 03:32:58 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								61945185ff 
								
							 
						 
						
							
							
								
								'main': Document what $in_redirection is currently used for.  
							
							 
							
							
							
						 
						
							2020-03-17 03:18:27 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								936bc251a8 
								
							 
						 
						
							
							
								
								'main': The optimized cmdsubst input syntax doesn't glob.  
							
							 
							
							... 
							
							
							
							Fixes  #582 . 
							
						 
						
							2020-03-17 03:11:52 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								b454b596ed 
								
							 
						 
						
							
							
								
								Fix historical instances of one-space indentation.  
							
							 
							
							... 
							
							
							
							No functional change. 
							
						 
						
							2020-03-17 00:48:16 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3174e375f4 
								
							 
						 
						
							
							
								
								'main': Fix highlighting of null execs.  
							
							 
							
							... 
							
							
							
							Fixes  #676 . 
							
						 
						
							2020-03-16 21:50:04 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								f56e3fad23 
								
							 
						 
						
							
							
								
								'main': Optimize the path_prefix check.  
							
							 
							
							... 
							
							
							
							Computing ${#array} is O(N), whereas checking 0 is O(1). 
							
						 
						
							2020-03-16 20:45:56 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								2cc2583f8f 
								
							 
						 
						
							
							
								
								Merge the first three commits of PR  #669  
							
							 
							
							... 
							
							
							
							* commit 'b1f36d9c5f45b879fbd2f64195167a60d9f3cb9e':
  'main': Add a comment.
  'main': Fix the $CDPATH from the previous commit.
  'main': Add a test for a $CDPATH bug. 
							
						 
						
							2020-03-16 19:32:59 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								20d250d618 
								
							 
						 
						
							
							
								
								'main': Support the non-precommand flags of sudo(8) and ssh-agent(1).  
							
							 
							
							... 
							
							
							
							Uses the infrastructure added in the previous commit.
Fixes  #678 . 
							
						 
						
							2020-03-16 19:22:54 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								c73153c6e8 
								
							 
						 
						
							
							
								
								'main': Add infrastructure for precommand options that are not to be followed by a command word (issue  #678 ).  
							
							 
							
							
							
						 
						
							2020-03-16 19:20:31 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								63bcd85dfa 
								
							 
						 
						
							
							
								
								'main': Don't use «foo && bar || baz» where a trenary is more appropriate.  
							
							 
							
							... 
							
							
							
							This prevents the baz pattern match from being attempted whenever the
bar pattern match was tried and failed. 
							
						 
						
							2020-03-16 19:14:51 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								4bbd2a3bc6 
								
							 
						 
						
							
							
								
								'main': Prepare to add additional fields to $precommand_options values.  
							
							 
							
							... 
							
							
							
							No functional change. 
							
						 
						
							2020-03-16 19:07:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								74c7ffc9b5 
								
							 
						 
						
							
							
								
								'main': Factor out common logic to after the case/esac.  
							
							 
							
							
							
						 
						
							2020-03-15 18:30:53 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								8feb06a022 
								
							 
						 
						
							
							
								
								'main': Support parameter elision in command position.  
							
							 
							
							
							
						 
						
							2020-03-15 18:25:13 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								fdf682a2f9 
								
							 
						 
						
							
							
								
								'main': Expand comment.  
							
							 
							
							
							
						 
						
							2020-03-15 18:14:39 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								9134cdf8d6 
								
							 
						 
						
							
							
								
								'main': Allow newlines in command position.  
							
							 
							
							... 
							
							
							
							Fixes  #501 .
Fixes  #616  (the original form; not the form in
test-data/alias-comment1.zsh which is now considered o be #677  (see
previous commit for details)).
Fixes a latent bug in test-data/always2.zsh.
No user-visible effect, and therefore, no changelog entry. 
							
						 
						
							2020-03-15 15:38:07 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								54e1828d5c 
								
							 
						 
						
							
							
								
								'main': Clarify documentation of the :sudo_opt: and :sudo_arg: states.  
							
							 
							
							
							
						 
						
							2020-03-15 14:56:43 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								81267ca313 
								
							 
						 
						
							
							
								
								'main': Highlight pipes inside array assignments as errors  
							
							 
							
							... 
							
							
							
							Fixes  #651 . 
							
						 
						
							2020-03-15 14:27:15 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								bfd44f5c3f 
								
							 
						 
						
							
							
								
								noop: Add comments.  
							
							 
							
							
							
						 
						
							2020-03-15 14:22:05 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3ca93f864f 
								
							 
						 
						
							
							
								
								'main': Highlight literal semicolons in array assignments as errors.  
							
							 
							
							... 
							
							
							
							Fixes the test added in the penultimate (grandparent) commit. 
							
						 
						
							2020-03-15 14:19:38 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								a4525a0826 
								
							 
						 
						
							
							
								
								'main': Add infrastructure for treating literal newlines differently to semicolons.  
							
							 
							
							... 
							
							
							
							Used by the next commit. 
							
						 
						
							2020-03-15 14:19:38 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								1a752da1c2 
								
							 
						 
						
							
							
								
								Highlight redirections by default, and add that to the examples in README.  
							
							 
							
							... 
							
							
							
							Fixes  #646 . 
							
						 
						
							2020-02-28 22:49:02 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								edfc7dfd9b 
								
							 
						 
						
							
							
								
								'main': Fix issue  #577 .  
							
							 
							
							
							
						 
						
							2020-02-28 22:36:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3cea1434ae 
								
							 
						 
						
							
							
								
								Bump copyright years.  
							
							 
							
							
							
						 
						
							2020-02-25 17:34:35 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								f729726300 
								
							 
						 
						
							
							
								
								'main': Do not look for metacharacters in parameter expansions.  
							
							 
							
							... 
							
							
							
							Fixes the bug the previous commit added a test for. 
							
						 
						
							2020-02-22 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								2f4f81cab7 
								
							 
						 
						
							
							
								
								'main': Parameter expansions may not contain assignments.  
							
							 
							
							... 
							
							
							
							In «a="b=c"; $a», the '=' sign in the expansion of $a is not active.
Therefore, prevent the expansion of $a from being considered an
assignment.  Update test expectations accordingly. 
							
						 
						
							2020-02-22 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								1a55dc8fc2 
								
							 
						 
						
							
							
								
								'main': Pass parameters through the multi-word machinery, as we already do for aliases.  
							
							 
							
							... 
							
							
							
							Fixes  #674 . 
							
						 
						
							2020-02-22 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								52ea5c686a 
								
							 
						 
						
							
							
								
								'main': precommands += chronic, ifne (from moreutils)  
							
							 
							
							... 
							
							
							
							Fixes  #681 . 
							
						 
						
							2020-02-17 10:20:13 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								77c6bf2019 
								
							 
						 
						
							
							
								
								'main': precommands: Remove argumentless options that can't be followed by a command word.  
							
							 
							
							... 
							
							
							
							Suggested-by: Matthew Martin
(in e2e97dde9c (r36941988) ) 
							
						 
						
							2020-01-24 00:37:56 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								e2e97dde9c 
								
							 
						 
						
							
							
								
								'main': Support tabbed(1) from suckless-tools  
							
							 
							
							
							
						 
						
							2020-01-22 04:44:27 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								cb166dcc77 
								
							 
						 
						
							
							
								
								'main': Restore 0.6.0's behaviour for unknown options.  
							
							 
							
							... 
							
							
							
							See discussion on #664 . 
							
						 
						
							2020-01-14 23:08:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								5012d771f3 
								
							 
						 
						
							
							
								
								'main': Don't highlight unknown precommand flags as errors.  
							
							 
							
							... 
							
							
							
							We cannot now for sure whether the flag is misspelled or simply unknown to us,
so err on the side of caution.  This fixes an unreleased regression.  Fixes  #658 .
Issue #641  was originally filed about this problem, but is left open to track
further enhancements. 
							
						 
						
							2020-01-14 23:08:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								b1f36d9c5f 
								
							 
						 
						
							
							
								
								'main': Add a comment.  
							
							 
							
							
							
						 
						
							2020-01-12 19:48:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								08edf8db7f 
								
							 
						 
						
							
							
								
								'main': Fix the $CDPATH from the previous commit.  
							
							 
							
							
							
						 
						
							2020-01-12 19:37:53 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								c3293ba0d8 
								
							 
						 
						
							
							
								
								'main': Update comments after last commit.  No functional change.  
							
							 
							
							
							
						 
						
							2020-01-12 18:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								21cdd6bc5e 
								
							 
						 
						
							
							
								
								'main': Simplify alias handling.  
							
							 
							
							... 
							
							
							
							$last_alias isn't needed; there's no reason to treat loops of length 2
(alias a=b b=a) differently to loops of length 1 (alias a=a), length 3
(alias a=b b=c c=a), or length N.
The «(( $+seen_alias[$arg] ))» check is redundant as of the last commit:
the enclosing condition ensures that $res is "alias", which implies that
«(( $+seen_alias[$arg] ))» is false. 
							
						 
						
							2020-01-12 18:34:49 +00:00